diff --git a/examples/example_jsonrpc_get_blockchain_info.py b/examples/example_jsonrpc_get_blockchain_info.py index 8950ab9..aff6472 100644 --- a/examples/example_jsonrpc_get_blockchain_info.py +++ b/examples/example_jsonrpc_get_blockchain_info.py @@ -4,9 +4,7 @@ async def main() -> None: client_url = "https://testnet1.pactus.org/jsonrpc" - client = PactusOpenRPCClient( - headers={}, - client_url=client_url) + client = PactusOpenRPCClient(headers={}, client_url=client_url, timeout=300) res = await client.pactus.blockchain.get_blockchain_info() diff --git a/examples/example_jsonrpc_get_node_info.py b/examples/example_jsonrpc_get_node_info.py index 39f0b1a..c283457 100644 --- a/examples/example_jsonrpc_get_node_info.py +++ b/examples/example_jsonrpc_get_node_info.py @@ -4,9 +4,7 @@ async def main() -> None: client_url = "https://testnet1.pactus.org/jsonrpc" - client = PactusOpenRPCClient( - headers={}, - client_url=client_url) + client = PactusOpenRPCClient(headers={}, client_url=client_url, timeout=300) res = await client.pactus.network.get_node_info() diff --git a/examples/example_key_generation.py b/examples/example_key_generation.py index 19e7306..952176a 100644 --- a/examples/example_key_generation.py +++ b/examples/example_key_generation.py @@ -1,6 +1,6 @@ import argparse -from pactus.crypto import CryptoConfig +from pactus.crypto.hrp import HRP from pactus.crypto.address import AddressType from pactus.crypto.bls.private_key import PrivateKey as BLSPrivateKey from pactus.crypto.ed25519.private_key import PrivateKey as Ed25519PrivateKey @@ -28,7 +28,7 @@ def main() -> None: args = parser.parse_args() if args.testnet: - CryptoConfig.use_testnet() + HRP.use_testnet() match AddressType(args.address_type): case AddressType.VALIDATOR: diff --git a/examples/example_transfer_transaction_bls.py b/examples/example_transfer_transaction_bls.py index e590ee7..18f1b4c 100644 --- a/examples/example_transfer_transaction_bls.py +++ b/examples/example_transfer_transaction_bls.py @@ -1,4 +1,4 @@ -from pactus.crypto import CryptoConfig +from pactus.crypto.hrp import HRP from pactus.crypto.address import Address from pactus.crypto.bls.private_key import PrivateKey from pactus.transaction.transaction import Transaction @@ -6,7 +6,7 @@ def main() -> None: - CryptoConfig.use_testnet() + HRP.use_testnet() lock_time = 1_735_096 memo = "This is a test transaction" diff --git a/examples/example_transfer_transaction_ed25519.py b/examples/example_transfer_transaction_ed25519.py index f2b190b..614797d 100644 --- a/examples/example_transfer_transaction_ed25519.py +++ b/examples/example_transfer_transaction_ed25519.py @@ -1,4 +1,4 @@ -from pactus.crypto import CryptoConfig +from pactus.crypto.hrp import HRP from pactus.crypto.address import Address from pactus.crypto.ed25519.private_key import PrivateKey from pactus.transaction.transaction import Transaction @@ -6,7 +6,7 @@ def main() -> None: - CryptoConfig.use_testnet() + HRP.use_testnet() lock_time = 1_735_096 memo = "This is a test transaction" diff --git a/pactus/crypto/__init__.py b/pactus/crypto/__init__.py index e0b7006..e69de29 100644 --- a/pactus/crypto/__init__.py +++ b/pactus/crypto/__init__.py @@ -1,3 +0,0 @@ -from .crypto import CryptoConfig - -__all__ = ["CryptoConfig"] diff --git a/pactus/crypto/address.py b/pactus/crypto/address.py index 77c80e7..d1a95c7 100644 --- a/pactus/crypto/address.py +++ b/pactus/crypto/address.py @@ -2,7 +2,7 @@ from enum import Enum -from pactus.crypto import CryptoConfig +from pactus.crypto.hrp import HRP from pactus.utils import utils # Address format: hrp + `1` + type + data + checksum @@ -34,7 +34,7 @@ def from_string(cls, text: str) -> Address: return bytes([0]) hrp, typ, data = utils.decode_to_base256_with_type(text) - if hrp != CryptoConfig.ADDRESS_HRP: + if hrp != HRP.ADDRESS_HRP: msg = f"Invalid HRP: {hrp}" raise ValueError(msg) @@ -57,7 +57,7 @@ def string(self) -> str: return TREASURY_ADDRESS_STRING return utils.encode_from_base256_with_type( - CryptoConfig.ADDRESS_HRP, + HRP.ADDRESS_HRP, self.data[0], self.data[1:], ) diff --git a/pactus/crypto/bls/private_key.py b/pactus/crypto/bls/private_key.py index f2dc5b4..48830a6 100644 --- a/pactus/crypto/bls/private_key.py +++ b/pactus/crypto/bls/private_key.py @@ -3,7 +3,7 @@ import secrets from math import ceil, log2 -from pactus.crypto import CryptoConfig +from pactus.crypto.hrp import HRP from pactus.utils import utils from .bls12_381.bls_sig_g1 import sign @@ -17,12 +17,12 @@ class PrivateKey: - def __init__(self, scalar: any) -> None: - self.scalar = scalar + def __init__(self, scalar: int) -> None: + self.scalar = scalar % curve_order @classmethod def from_bytes(cls, buffer: bytes) -> PrivateKey: - return cls(int.from_bytes(buffer, "big") % curve_order) + return cls(int.from_bytes(buffer, "big")) @classmethod def key_gen(cls, ikm: bytes = [], key_info: bytes = b"") -> PrivateKey: @@ -47,7 +47,7 @@ def random(cls) -> PrivateKey: def from_string(cls, text: str) -> PrivateKey: hrp, typ, data = utils.decode_to_base256_with_type(text) - if hrp != CryptoConfig.PRIVATE_KEY_HRP: + if hrp != HRP.PRIVATE_KEY_HRP: msg = f"Invalid hrp: {hrp}" raise ValueError(msg) @@ -67,7 +67,7 @@ def raw_bytes(self) -> bytes: def string(self) -> str: return utils.encode_from_base256_with_type( - CryptoConfig.PRIVATE_KEY_HRP, + HRP.PRIVATE_KEY_HRP, SIGNATURE_TYPE_BLS, self.raw_bytes(), ) diff --git a/pactus/crypto/bls/public_key.py b/pactus/crypto/bls/public_key.py index 91335ed..5eae147 100644 --- a/pactus/crypto/bls/public_key.py +++ b/pactus/crypto/bls/public_key.py @@ -4,8 +4,8 @@ from ripemd.ripemd160 import ripemd160 -from pactus.crypto import CryptoConfig from pactus.crypto.address import Address, AddressType +from pactus.crypto.hrp import HRP from pactus.utils import utils from .bls12_381.bls_sig_g1 import aggregate_pubs, verify @@ -23,7 +23,7 @@ def __init__(self, point_g2: any) -> None: def from_string(cls, text: str) -> PublicKey: hrp, typ, data = utils.decode_to_base256_with_type(text) - if hrp != CryptoConfig.PUBLIC_KEY_HRP: + if hrp != HRP.PUBLIC_KEY_HRP: msg = f"Invalid hrp: {hrp}" raise ValueError(msg) @@ -51,7 +51,7 @@ def raw_bytes(self) -> bytes: def string(self) -> str: return utils.encode_from_base256_with_type( - CryptoConfig.PUBLIC_KEY_HRP, + HRP.PUBLIC_KEY_HRP, SIGNATURE_TYPE_BLS, self.raw_bytes(), ) diff --git a/pactus/crypto/ed25519/private_key.py b/pactus/crypto/ed25519/private_key.py index e37bafe..ca86184 100644 --- a/pactus/crypto/ed25519/private_key.py +++ b/pactus/crypto/ed25519/private_key.py @@ -2,7 +2,7 @@ from cryptography.hazmat.primitives.asymmetric import ed25519 -from pactus.crypto import CryptoConfig +from pactus.crypto.hrp import HRP from pactus.utils import utils from .public_key import PublicKey @@ -29,7 +29,7 @@ def random(cls) -> PrivateKey: def from_string(cls, text: str) -> PrivateKey: hrp, typ, data = utils.decode_to_base256_with_type(text) - if hrp != CryptoConfig.PRIVATE_KEY_HRP: + if hrp != HRP.PRIVATE_KEY_HRP: msg = f"Invalid hrp: {hrp}" raise ValueError(msg) @@ -49,7 +49,7 @@ def raw_bytes(self) -> bytes: def string(self) -> str: return utils.encode_from_base256_with_type( - CryptoConfig.PRIVATE_KEY_HRP, + HRP.PRIVATE_KEY_HRP, SIGNATURE_TYPE_ED25519, self.raw_bytes(), ) diff --git a/pactus/crypto/ed25519/public_key.py b/pactus/crypto/ed25519/public_key.py index 54f3488..0a413fa 100644 --- a/pactus/crypto/ed25519/public_key.py +++ b/pactus/crypto/ed25519/public_key.py @@ -6,8 +6,8 @@ from cryptography.hazmat.primitives.asymmetric import ed25519 from ripemd.ripemd160 import ripemd160 -from pactus.crypto import CryptoConfig from pactus.crypto.address import Address, AddressType +from pactus.crypto.hrp import HRP from pactus.utils import utils from .signature import SIGNATURE_TYPE_ED25519, Signature @@ -23,7 +23,7 @@ def __init__(self, pub: ed25519.Ed25519PublicKey) -> None: def from_string(cls, text: str) -> PublicKey: hrp, typ, data = utils.decode_to_base256_with_type(text) - if hrp != CryptoConfig.PUBLIC_KEY_HRP: + if hrp != HRP.PUBLIC_KEY_HRP: msg = f"Invalid hrp: {hrp}" raise ValueError(msg) @@ -44,7 +44,7 @@ def raw_bytes(self) -> bytes: def string(self) -> str: return utils.encode_from_base256_with_type( - CryptoConfig.PUBLIC_KEY_HRP, + HRP.PUBLIC_KEY_HRP, SIGNATURE_TYPE_ED25519, self.raw_bytes(), ) diff --git a/pactus/crypto/crypto.py b/pactus/crypto/hrp.py similarity index 92% rename from pactus/crypto/crypto.py rename to pactus/crypto/hrp.py index 5f29562..877856a 100644 --- a/pactus/crypto/crypto.py +++ b/pactus/crypto/hrp.py @@ -1,4 +1,4 @@ -class CryptoConfig: +class HRP: ADDRESS_HRP = "pc" PUBLIC_KEY_HRP = "public" PRIVATE_KEY_HRP = "secret" diff --git a/pactus/transaction/__init__.py b/pactus/transaction/__init__.py index 31c1c0a..e69de29 100644 --- a/pactus/transaction/__init__.py +++ b/pactus/transaction/__init__.py @@ -1,3 +0,0 @@ -from .transaction import Transaction - -__all__ = ["Transaction"]