From 134ee7f3e7f23e8d1c953d9bc5ada4665e0cc598 Mon Sep 17 00:00:00 2001 From: Alex Barnsley <8069294+alexbarnsley@users.noreply.github.com> Date: Thu, 6 Mar 2025 13:11:12 +0000 Subject: [PATCH 1/2] refactor: add chain id --- crypto/configuration/network.py | 7 ++++++- crypto/networks/mainnet.py | 1 + crypto/networks/testnet.py | 1 + crypto/transactions/builder/base.py | 2 +- tests/configuration/test_network.py | 8 +++++--- 5 files changed, 14 insertions(+), 5 deletions(-) diff --git a/crypto/configuration/network.py b/crypto/configuration/network.py index 8aec94a..de55315 100644 --- a/crypto/configuration/network.py +++ b/crypto/configuration/network.py @@ -7,11 +7,13 @@ class NetworkType(TypedDict): epoch: datetime version: int wif: int + chain_id: int network: NetworkType = { 'epoch': Testnet.epoch, 'version': Testnet.version, 'wif': Testnet.wif, + 'chain_id': Testnet.chain_id, } def set_network(network_object: Union[Type[Mainnet], Type[Testnet]]) -> None: @@ -26,6 +28,7 @@ def set_network(network_object: Union[Type[Mainnet], Type[Testnet]]) -> None: 'epoch': network_object.epoch, 'version': network_object.version, 'wif': network_object.wif, + 'chain_id': network_object.chain_id, } def get_network() -> NetworkType: @@ -36,13 +39,14 @@ def get_network() -> NetworkType: """ return network -def set_custom_network(epoch: datetime, version: int, wif: int) -> None: +def set_custom_network(epoch: datetime, version: int, wif: int, chain_id: int) -> None: """Set custom network Args: epoch (datetime): chains epoch time version (int): chains version wif (int): chains wif + chain_id (int): chain id """ global network @@ -50,4 +54,5 @@ def set_custom_network(epoch: datetime, version: int, wif: int) -> None: 'epoch': epoch, 'version': version, 'wif': wif, + 'chain_id': chain_id } diff --git a/crypto/networks/mainnet.py b/crypto/networks/mainnet.py index d352edc..88c87ef 100644 --- a/crypto/networks/mainnet.py +++ b/crypto/networks/mainnet.py @@ -4,3 +4,4 @@ class Mainnet(object): epoch = datetime(2017, 3, 21, 13, 00, 00) version = 30 wif = 186 + chain_id = 10000 diff --git a/crypto/networks/testnet.py b/crypto/networks/testnet.py index a279eac..737da80 100644 --- a/crypto/networks/testnet.py +++ b/crypto/networks/testnet.py @@ -4,3 +4,4 @@ class Testnet(object): epoch = datetime(2017, 3, 21, 13, 00, 00) version = 30 wif = 186 + chain_id = 10000 diff --git a/crypto/transactions/builder/base.py b/crypto/transactions/builder/base.py index c9f12ee..133dc58 100644 --- a/crypto/transactions/builder/base.py +++ b/crypto/transactions/builder/base.py @@ -11,7 +11,7 @@ def __init__(self, data: dict): 'senderPublicKey': '', 'gasPrice': '5', 'nonce': '1', - 'network': get_network()['version'], + 'network': get_network()['chain_id'], 'gasLimit': 1_000_000, 'data': '', diff --git a/tests/configuration/test_network.py b/tests/configuration/test_network.py index d0a963d..0c73327 100644 --- a/tests/configuration/test_network.py +++ b/tests/configuration/test_network.py @@ -9,7 +9,7 @@ def test_get_network(): result = get_network() assert result['version'] == 30 - + assert result['chain_id'] == 10000 def test_set_network(): # mainnet @@ -17,22 +17,24 @@ def test_set_network(): result = get_network() assert result['version'] == 30 assert result['wif'] == 186 + assert result['chain_id'] == 10000 # testnet set_network(Testnet) result = get_network() assert result['version'] == 30 assert result['wif'] == 186 + assert result['chain_id'] == 10000 set_network(Testnet) # set back to Testnet so other tests don't fail - def test_set_custom_network(): epoch_time = datetime(2017, 1, 1, 13, 00, 00) - set_custom_network(epoch_time, 11, 130) + set_custom_network(epoch_time, 11, 130, 10000) result = get_network() assert result['version'] == 11 assert result['wif'] == 130 assert result['epoch'] == epoch_time + assert result['chain_id'] == 10000 set_network(Testnet) # set back to Testnet so other tests don't fail From c25d05a362caaad286e7842a5ccb4cf975c7cae8 Mon Sep 17 00:00:00 2001 From: Alex Barnsley <8069294+alexbarnsley@users.noreply.github.com> Date: Thu, 6 Mar 2025 13:13:58 +0000 Subject: [PATCH 2/2] remove version --- crypto/configuration/network.py | 7 +------ crypto/networks/mainnet.py | 1 - crypto/networks/testnet.py | 1 - tests/configuration/test_network.py | 6 +----- 4 files changed, 2 insertions(+), 13 deletions(-) diff --git a/crypto/configuration/network.py b/crypto/configuration/network.py index de55315..285fd5d 100644 --- a/crypto/configuration/network.py +++ b/crypto/configuration/network.py @@ -5,13 +5,11 @@ class NetworkType(TypedDict): epoch: datetime - version: int wif: int chain_id: int network: NetworkType = { 'epoch': Testnet.epoch, - 'version': Testnet.version, 'wif': Testnet.wif, 'chain_id': Testnet.chain_id, } @@ -26,7 +24,6 @@ def set_network(network_object: Union[Type[Mainnet], Type[Testnet]]) -> None: network = { 'epoch': network_object.epoch, - 'version': network_object.version, 'wif': network_object.wif, 'chain_id': network_object.chain_id, } @@ -39,12 +36,11 @@ def get_network() -> NetworkType: """ return network -def set_custom_network(epoch: datetime, version: int, wif: int, chain_id: int) -> None: +def set_custom_network(epoch: datetime, wif: int, chain_id: int) -> None: """Set custom network Args: epoch (datetime): chains epoch time - version (int): chains version wif (int): chains wif chain_id (int): chain id """ @@ -52,7 +48,6 @@ def set_custom_network(epoch: datetime, version: int, wif: int, chain_id: int) - network = { 'epoch': epoch, - 'version': version, 'wif': wif, 'chain_id': chain_id } diff --git a/crypto/networks/mainnet.py b/crypto/networks/mainnet.py index 88c87ef..d9a2297 100644 --- a/crypto/networks/mainnet.py +++ b/crypto/networks/mainnet.py @@ -2,6 +2,5 @@ class Mainnet(object): epoch = datetime(2017, 3, 21, 13, 00, 00) - version = 30 wif = 186 chain_id = 10000 diff --git a/crypto/networks/testnet.py b/crypto/networks/testnet.py index 737da80..d879ab8 100644 --- a/crypto/networks/testnet.py +++ b/crypto/networks/testnet.py @@ -2,6 +2,5 @@ class Testnet(object): epoch = datetime(2017, 3, 21, 13, 00, 00) - version = 30 wif = 186 chain_id = 10000 diff --git a/tests/configuration/test_network.py b/tests/configuration/test_network.py index 0c73327..260b1be 100644 --- a/tests/configuration/test_network.py +++ b/tests/configuration/test_network.py @@ -8,21 +8,18 @@ def test_get_network(): result = get_network() - assert result['version'] == 30 assert result['chain_id'] == 10000 def test_set_network(): # mainnet set_network(Mainnet) result = get_network() - assert result['version'] == 30 assert result['wif'] == 186 assert result['chain_id'] == 10000 # testnet set_network(Testnet) result = get_network() - assert result['version'] == 30 assert result['wif'] == 186 assert result['chain_id'] == 10000 @@ -30,9 +27,8 @@ def test_set_network(): def test_set_custom_network(): epoch_time = datetime(2017, 1, 1, 13, 00, 00) - set_custom_network(epoch_time, 11, 130, 10000) + set_custom_network(epoch_time, 130, 10000) result = get_network() - assert result['version'] == 11 assert result['wif'] == 130 assert result['epoch'] == epoch_time assert result['chain_id'] == 10000