Skip to content
Snippets Groups Projects
Commit f0f4ad70 authored by Krzysztof Mochocki's avatar Krzysztof Mochocki Committed by Jakub Ziebinski
Browse files

Move constants to separate file

parent 8d97c352
No related branches found
No related tags found
1 merge request!230Implementation of the python wax interface
from __future__ import annotations
from datetime import timedelta
from math import floor, log10
from typing import Final
from typing import TYPE_CHECKING, Final
if TYPE_CHECKING:
from wax._private.models.basic import ChainId
PUBLIC_KEY_ADDRESS_PREFIX: Final[str] = "STM"
DEFAULT_TRANSACTION_EXPIRATION_TIME: Final[timedelta] = timedelta(minutes=1)
MAINNET_CHAIN_ID: Final[ChainId] = "beeab0de00000000000000000000000000000000000000000000000000000000"
DEFAULT_CHAIN_ID: Final[ChainId] = MAINNET_CHAIN_ID
HIVE_PERCENT_PRECISION: Final[int] = 100
HIVE_PERCENT_PRECISION_DOT_PLACES: Final[int] = floor(log10(HIVE_PERCENT_PRECISION))
HIVE_TIME_FORMAT: Final[str] = "%Y-%m-%dT%H:%M:%S"
......@@ -2,12 +2,12 @@ from __future__ import annotations
import json
from copy import deepcopy
from datetime import timedelta
from typing import TYPE_CHECKING, TypeAlias
from google.protobuf.json_format import MessageToJson, Parse
from typing_extensions import Self
from wax._private.core.constants import DEFAULT_TRANSACTION_EXPIRATION_TIME
from wax._private.models.hive_date_time import HiveDateTime
from wax._private.models.required_authorities import TransactionRequiredAuthorities
from wax._private.result_tools import (
......@@ -33,6 +33,8 @@ from wax.interfaces import ITransaction, JsonTransaction, ProtoTransaction
from wax.proto.transaction_pb2 import transaction as proto_transaction
if TYPE_CHECKING:
from datetime import timedelta
from beekeepy._interface.abc.synchronous.wallet import UnlockedWallet
from wax import IWaxBaseInterface
from wax._private.models.basic import AccountName, Hex, PublicKey, SigDigest, Signature, TransactionId
......@@ -47,7 +49,7 @@ class Transaction(ITransaction):
self,
api: IWaxBaseInterface,
tapos_block_id: TaposBlockId | ProtoTransaction,
expiration_time: timedelta = timedelta(minutes=30),
expiration_time: timedelta = DEFAULT_TRANSACTION_EXPIRATION_TIME,
head_block_time: HiveDateTime | None = None,
) -> None:
self._api = api
......
from __future__ import annotations
from dataclasses import dataclass, field
from typing import TYPE_CHECKING
from wax._private.models.basic import ChainId
from wax._private.core.constants import DEFAULT_CHAIN_ID
if TYPE_CHECKING:
from wax._private.models.basic import ChainId
@dataclass
class WaxOptions:
chain_id: ChainId = field(
default_factory=lambda: ChainId("18dcf0a285365fc58b71f18b3d3fec954aa0c141c44e4e5cb4cf777b9eab274e")
)
"""Allows configuration of wax itself."""
def __init__(self, chain_id: ChainId = DEFAULT_CHAIN_ID) -> None:
"""
Constructs WaxOptions.
Args:
chain_id: chain id used for signing. Defaults to mainnet chain id.
"""
self.chain_id = chain_id
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment