From 1ca7a51a3c66a39531bc7747844fb970c3c1db7b Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 02:38:55 +1200 Subject: [PATCH 01/14] Addition of algomodule for Hemis as well as addition of Hemis --- electrumx/lib/coins.py | 77 ++++++++++++++++++++++++++++++++++++- electrumx/server/session.py | 25 ++++++++++++ requirements.txt | 1 + 3 files changed, 102 insertions(+), 1 deletion(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index ef25c74c9..302e52a1c 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -50,7 +50,7 @@ import electrumx.server.daemon as daemon from electrumx.server.session import (ElectrumX, DashElectrumX, SmartCashElectrumX, AuxPoWElectrumX, - NameIndexElectrumX, NameIndexAuxPoWElectrumX) + NameIndexElectrumX, NameIndexAuxPoWElectrumX, HemisElectrumX) @dataclass @@ -4239,3 +4239,78 @@ class FerriteTestnet(Ferrite): 'enode2.ferritecoin.org s t', 'enode3.ferritecoin.org s t', ] +class Hemis(Coin): + NAME = "Hemis" + SHORTNAME = "HMS" + NET = "mainnet" + XPUB_VERBYTES = bytes.fromhex("A0F2F5F3") + XPRV_VERBYTES = bytes.fromhex("A0F3F1FB") + GENESIS_HASH = '000000956c582b70df5d2c9b4b83d05b5331978e40d639739bdc96c29e156ce7' + P2PKH_VERBYTE = bytes.fromhex("28") + P2SH_VERBYTE = bytes.fromhex("0D") + WIF_BYTE = bytes.fromhex("D4") + DESERIALIZER = lib_tx.DeserializerPIVX + TX_COUNT_HEIGHT = 569399 + TX_COUNT = 2157510 + TX_PER_BLOCK = 1 + STATIC_BLOCK_HEADERS = False + RPC_PORT = 49165 + REORG_LIMIT = 100 + EXPANDED_HEADER = 112 + SAPLING_START_HEIGHT = 502 + BLOCK_VERSION = 11 + SESSIONCLS = HemisElectrumX + + @classmethod + def static_header_len(cls, height): + '''Given a header height return its length.''' + print("Debugging - Processing block height:", height) + if height <= 499: + return cls.BASIC_HEADER_SIZE + elif height == 500: + return cls.EXPANDED_HEADER + elif height == 501: + return cls.BASIC_HEADER_SIZE + else: + return cls.EXPANDED_HEADER + + @classmethod + def header_hash(cls, header): + '''Given a header return the hash.''' + version, = struct.unpack('=0.23.0,<0.24 attrs plyvel aiohttp>=3.3,<4 +algomodule \ No newline at end of file From c41934b9b9509c6d6878af3c142ae531543a9d5f Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 03:24:36 +1200 Subject: [PATCH 02/14] Add tests/blocks/hemis_mainnet_300000.json --- tests/blocks/hemis_mainnet_300000.json | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 tests/blocks/hemis_mainnet_300000.json diff --git a/tests/blocks/hemis_mainnet_300000.json b/tests/blocks/hemis_mainnet_300000.json new file mode 100644 index 000000000..0e9523145 --- /dev/null +++ b/tests/blocks/hemis_mainnet_300000.json @@ -0,0 +1,25 @@ +{ + "hash": "c07c17b024bc7436112ae15b67567d9b4f36c18681c22621f3c9c5d6915336b9", + "confirmations": 35683, + "size": 485, + "height": 300000, + "version": 11, + "merkleroot": "d9e4c5799c9117edd741905eb4dc446632cc086aac9b335cb4d59be1791ae4cc", + "acc_checkpoint": "0000000000000000000000000000000000000000000000000000000000000000", + "finalsaplingroot": "3e49b5f954aa9d3545bc6c37744661eea48d7c34e3000d82b7f0010c30f4c2fb", + "tx": [ + "e49a0ef015323b1dfda41043c908c1ddb6fcf328dc247d356ed4a3ee25920501", + "8e21adfbab34795cc3cf6b1e68f0fbb668e543516d158996411e76be83acfb33" + ], + "time": 1724105355, + "mediantime": 1724105010, + "nonce": 0, + "bits": "1b3da7c3", + "difficulty": 1062.925321539171, + "chainwork": "00000000000000000000000000000000000000000000000011d7a4eb61d88179", + "previousblockhash": "52348e3dd43969f222dad3aba6406fe0b031532482bdd553a1901ee075be5221", + "nextblockhash": "55e4c9dac5fdc6784931004ff140f6eba204c32006df44fd58ccdd96e90c0b8b", + "stakeModifier": "c4b8c37b4b2e63838eeadf03962dbb740073ed5202cbf4da3633a3720fdd82c9", + "hashProofOfStake": "00011838f8d02c19af00f40369d8ceb8a3e5af6e987440207b0fa317eab82e2f", + "chainlock": false +} \ No newline at end of file From 4caa97c5ed722d8b0857b4907baf9656b7e2c923 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 03:26:33 +1200 Subject: [PATCH 03/14] Correction of port. --- electrumx/lib/coins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 302e52a1c..265d65685 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -4254,7 +4254,7 @@ class Hemis(Coin): TX_COUNT = 2157510 TX_PER_BLOCK = 1 STATIC_BLOCK_HEADERS = False - RPC_PORT = 49165 + RPC_PORT = 51473 REORG_LIMIT = 100 EXPANDED_HEADER = 112 SAPLING_START_HEIGHT = 502 From 324578ae4873770da13577310f332914f171ee52 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 03:32:21 +1200 Subject: [PATCH 04/14] Correcting lint errors. --- electrumx/lib/coins.py | 6 +++++- electrumx/server/session.py | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 265d65685..2f1fe66d7 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -4239,6 +4239,8 @@ class FerriteTestnet(Ferrite): 'enode2.ferritecoin.org s t', 'enode3.ferritecoin.org s t', ] + + class Hemis(Coin): NAME = "Hemis" SHORTNAME = "HMS" @@ -4284,6 +4286,7 @@ def header_hash(cls, header): else: return super().header_hash(header) + class HemisTestnet(Hemis): SHORTNAME = "tHMS" NET = "testnet" @@ -4313,4 +4316,5 @@ def static_header_len(cls, height): elif height == 501: return cls.BASIC_HEADER_SIZE else: - return cls.EXPANDED_HEADER \ No newline at end of file + return cls.EXPANDED_HEADER + \ No newline at end of file diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 163e8bac4..e0a35505c 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1885,6 +1885,7 @@ async def name_get_value_proof(self, scripthash, cp_height=0): class NameIndexAuxPoWElectrumX(NameIndexElectrumX, AuxPoWElectrumX): pass + class HemisElectrumX(ElectrumX): async def block_headers(self, start_height, count, cp_height=0): '''Return count concatenated block headers as hex for the main chain; @@ -1908,4 +1909,5 @@ async def block_headers(self, start_height, count, cp_height=0): last_height = start_height + count - 1 result.updaate(await self._merkle_proof(cp_height, last_height)) self.bump_cost(cost) - return result \ No newline at end of file + return result + \ No newline at end of file From 12c667a047020f67367f9a06d447413958604c83 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 03:34:31 +1200 Subject: [PATCH 05/14] Try that one again.. --- electrumx/lib/coins.py | 2 +- electrumx/server/session.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 2f1fe66d7..1dac901f9 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -4317,4 +4317,4 @@ def static_header_len(cls, height): return cls.BASIC_HEADER_SIZE else: return cls.EXPANDED_HEADER - \ No newline at end of file + diff --git a/electrumx/server/session.py b/electrumx/server/session.py index e0a35505c..21e9d2e4f 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1910,4 +1910,4 @@ async def block_headers(self, start_height, count, cp_height=0): result.updaate(await self._merkle_proof(cp_height, last_height)) self.bump_cost(cost) return result - \ No newline at end of file + From 8290fdfe04b44d7239b8a790e2332bf0c99effa0 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 03:35:11 +1200 Subject: [PATCH 06/14] Third times the charm. --- electrumx/lib/coins.py | 1 - electrumx/server/session.py | 1 - 2 files changed, 2 deletions(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 1dac901f9..cbf7c5030 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -4317,4 +4317,3 @@ def static_header_len(cls, height): return cls.BASIC_HEADER_SIZE else: return cls.EXPANDED_HEADER - diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 21e9d2e4f..465fc4fb7 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1910,4 +1910,3 @@ async def block_headers(self, start_height, count, cp_height=0): result.updaate(await self._merkle_proof(cp_height, last_height)) self.bump_cost(cost) return result - From 526f3c1a24b97e2b036ebe075b67532e5661c988 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 09:58:28 +1200 Subject: [PATCH 07/14] Hopefully fixed.. --- tests/blocks/hemis_mainnet_300000.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/blocks/hemis_mainnet_300000.json b/tests/blocks/hemis_mainnet_300000.json index 0e9523145..baad4a718 100644 --- a/tests/blocks/hemis_mainnet_300000.json +++ b/tests/blocks/hemis_mainnet_300000.json @@ -21,5 +21,6 @@ "nextblockhash": "55e4c9dac5fdc6784931004ff140f6eba204c32006df44fd58ccdd96e90c0b8b", "stakeModifier": "c4b8c37b4b2e63838eeadf03962dbb740073ed5202cbf4da3633a3720fdd82c9", "hashProofOfStake": "00011838f8d02c19af00f40369d8ceb8a3e5af6e987440207b0fa317eab82e2f", - "chainlock": false + "chainlock": false, + "block": "0b0000002152be75e01e90a153d5bd82245331b0e06f40a6abd3da22f26939d43d8e3452cce41a79e19bd5b45c339bac6a08cc326644dcb45e9041d7ed17919c79c5e4d98bc2c366c3a73d1b00000000fbc2f4300c01f0b7820d00e3347c8da4ee614674376cbc45359daa54f9b5493e0201000000010000000000000000000000000000000000000000000000000000000000000000ffffffff0503e0930400ffffffff010000000000000000000000000001000000010c9c71dad0ab4c258f8b85af6a31e806cddec7ab9d8deba6f81efd58bbebf8de010000006b483045022100cc52ae93c117c81506bfad96fdebd7b990caf520784c36cb2264f5b02e3efbf102200a610bc6f055d8c79b16d82ceb26afbb2c5d4be5d6dc096b7cebb8f3234dfbc2012103454f1ac69a5e256b0d9d32e2d444cc6103bba25110292fa59829ed282e3ada4affffffff03000000000000000000a696be69030000001976a914f1067cb2e9bf79374a00abefcdcdbdfba82f928a88ac0fe68911000000001976a91415f2fe51d779d6d0e9eec72801e885073442c55d88ac00000000473045022100f4cc127138256e67789fbdae2e634ce9e2adb5b8f56312ea0a9814507e480f9902201775bd235d6304e4622a81d89d36247b984a6ff314e3f5aa8153dcdaf21294e3" } \ No newline at end of file From 1409fbef42952308a8cc05ec20b6a7832a0dc30f Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Sun, 15 Sep 2024 10:26:38 +1200 Subject: [PATCH 08/14] Noticed i shouldnt put algomodule in requirements.txt --- .cirrus.yml | 1 + requirements.txt | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/.cirrus.yml b/.cirrus.yml index 47c02b06e..4f2538a12 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -32,6 +32,7 @@ unittests_task: - pip install git+https://github.com/bitcoinplusorg/x13-hash - pip install xevan_hash - pip install quark_hash + - pip install algomodule - pip install groestlcoin_hash - pip install x16r_hash - pip install pycryptodomex diff --git a/requirements.txt b/requirements.txt index 96dd26187..031bc9c15 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,4 +2,3 @@ aiorpcX[ws]>=0.23.0,<0.24 attrs plyvel aiohttp>=3.3,<4 -algomodule \ No newline at end of file From 73a44b48ef58ff436bbf7e0e849a73412784a493 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Tue, 17 Sep 2024 04:42:43 +1200 Subject: [PATCH 09/14] Corrected Typo and Removed Prints --- electrumx/lib/coins.py | 2 -- electrumx/server/session.py | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index cbf7c5030..5c9543107 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -4266,7 +4266,6 @@ class Hemis(Coin): @classmethod def static_header_len(cls, height): '''Given a header height return its length.''' - print("Debugging - Processing block height:", height) if height <= 499: return cls.BASIC_HEADER_SIZE elif height == 500: @@ -4308,7 +4307,6 @@ class HemisTestnet(Hemis): @classmethod def static_header_len(cls, height): '''Given a header height return its length.''' - print("Debugging - Processing block height:", height) if height <= 499: return cls.BASIC_HEADER_SIZE elif height == 500: diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 465fc4fb7..00f057b61 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1907,6 +1907,6 @@ async def block_headers(self, start_height, count, cp_height=0): if count and cp_height: cost += 1.0 last_height = start_height + count - 1 - result.updaate(await self._merkle_proof(cp_height, last_height)) + result.update(await self._merkle_proof(cp_height, last_height)) self.bump_cost(cost) return result From cd30f024fb081f3903c5f7417519bd5c56cd3cfd Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Tue, 17 Sep 2024 04:54:22 +1200 Subject: [PATCH 10/14] Doesnt need HemisElectrumX --- electrumx/lib/coins.py | 3 +-- electrumx/server/session.py | 26 -------------------------- 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 5c9543107..5a88266bd 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -50,7 +50,7 @@ import electrumx.server.daemon as daemon from electrumx.server.session import (ElectrumX, DashElectrumX, SmartCashElectrumX, AuxPoWElectrumX, - NameIndexElectrumX, NameIndexAuxPoWElectrumX, HemisElectrumX) + NameIndexElectrumX, NameIndexAuxPoWElectrumX) @dataclass @@ -4261,7 +4261,6 @@ class Hemis(Coin): EXPANDED_HEADER = 112 SAPLING_START_HEIGHT = 502 BLOCK_VERSION = 11 - SESSIONCLS = HemisElectrumX @classmethod def static_header_len(cls, height): diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 00f057b61..75f83f3ee 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1884,29 +1884,3 @@ async def name_get_value_proof(self, scripthash, cp_height=0): class NameIndexAuxPoWElectrumX(NameIndexElectrumX, AuxPoWElectrumX): pass - - -class HemisElectrumX(ElectrumX): - async def block_headers(self, start_height, count, cp_height=0): - '''Return count concatenated block headers as hex for the main chain; - starting at start_height. - start_height and count must be non-negative integers. At most - MAX_CHUNK_SIZE headers will be returned. - ''' - start_height = non_negative_integer(start_height) - count = non_negative_integer(count) - cp_height = non_negative_integer(cp_height) - cost = count / 50 - - max_size = self.MAX_CHUNK_SIZE - count = min(count, max_size) - result = {'headers': [], 'count': count, 'max': max_size} - for x in range(0, count): - raw_header_hex = (await self.session_mgr.raw_header(start_height + x)).hex() - result['headers'].append(raw_header_hex) - if count and cp_height: - cost += 1.0 - last_height = start_height + count - 1 - result.update(await self._merkle_proof(cp_height, last_height)) - self.bump_cost(cost) - return result From 0a5a0466fdbf700e5fbc027ac4957a338b04be80 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Tue, 17 Sep 2024 04:54:22 +1200 Subject: [PATCH 11/14] Doesnt need HemisElectrumX --- electrumx/lib/coins.py | 3 +-- electrumx/server/session.py | 26 -------------------------- 2 files changed, 1 insertion(+), 28 deletions(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 5c9543107..5a88266bd 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -50,7 +50,7 @@ import electrumx.server.daemon as daemon from electrumx.server.session import (ElectrumX, DashElectrumX, SmartCashElectrumX, AuxPoWElectrumX, - NameIndexElectrumX, NameIndexAuxPoWElectrumX, HemisElectrumX) + NameIndexElectrumX, NameIndexAuxPoWElectrumX) @dataclass @@ -4261,7 +4261,6 @@ class Hemis(Coin): EXPANDED_HEADER = 112 SAPLING_START_HEIGHT = 502 BLOCK_VERSION = 11 - SESSIONCLS = HemisElectrumX @classmethod def static_header_len(cls, height): diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 00f057b61..75f83f3ee 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1884,29 +1884,3 @@ async def name_get_value_proof(self, scripthash, cp_height=0): class NameIndexAuxPoWElectrumX(NameIndexElectrumX, AuxPoWElectrumX): pass - - -class HemisElectrumX(ElectrumX): - async def block_headers(self, start_height, count, cp_height=0): - '''Return count concatenated block headers as hex for the main chain; - starting at start_height. - start_height and count must be non-negative integers. At most - MAX_CHUNK_SIZE headers will be returned. - ''' - start_height = non_negative_integer(start_height) - count = non_negative_integer(count) - cp_height = non_negative_integer(cp_height) - cost = count / 50 - - max_size = self.MAX_CHUNK_SIZE - count = min(count, max_size) - result = {'headers': [], 'count': count, 'max': max_size} - for x in range(0, count): - raw_header_hex = (await self.session_mgr.raw_header(start_height + x)).hex() - result['headers'].append(raw_header_hex) - if count and cp_height: - cost += 1.0 - last_height = start_height + count - 1 - result.update(await self._merkle_proof(cp_height, last_height)) - self.bump_cost(cost) - return result From b33cc9514fd427a2d53c22a0ecfb244807f11d15 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Tue, 17 Sep 2024 04:58:49 +1200 Subject: [PATCH 12/14] Return HemisElectrumX --- electrumx/lib/coins.py | 3 ++- electrumx/server/session.py | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 5a88266bd..5c9543107 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -50,7 +50,7 @@ import electrumx.server.daemon as daemon from electrumx.server.session import (ElectrumX, DashElectrumX, SmartCashElectrumX, AuxPoWElectrumX, - NameIndexElectrumX, NameIndexAuxPoWElectrumX) + NameIndexElectrumX, NameIndexAuxPoWElectrumX, HemisElectrumX) @dataclass @@ -4261,6 +4261,7 @@ class Hemis(Coin): EXPANDED_HEADER = 112 SAPLING_START_HEIGHT = 502 BLOCK_VERSION = 11 + SESSIONCLS = HemisElectrumX @classmethod def static_header_len(cls, height): diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 75f83f3ee..465fc4fb7 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1884,3 +1884,29 @@ async def name_get_value_proof(self, scripthash, cp_height=0): class NameIndexAuxPoWElectrumX(NameIndexElectrumX, AuxPoWElectrumX): pass + + +class HemisElectrumX(ElectrumX): + async def block_headers(self, start_height, count, cp_height=0): + '''Return count concatenated block headers as hex for the main chain; + starting at start_height. + start_height and count must be non-negative integers. At most + MAX_CHUNK_SIZE headers will be returned. + ''' + start_height = non_negative_integer(start_height) + count = non_negative_integer(count) + cp_height = non_negative_integer(cp_height) + cost = count / 50 + + max_size = self.MAX_CHUNK_SIZE + count = min(count, max_size) + result = {'headers': [], 'count': count, 'max': max_size} + for x in range(0, count): + raw_header_hex = (await self.session_mgr.raw_header(start_height + x)).hex() + result['headers'].append(raw_header_hex) + if count and cp_height: + cost += 1.0 + last_height = start_height + count - 1 + result.updaate(await self._merkle_proof(cp_height, last_height)) + self.bump_cost(cost) + return result From 0e9ab33e44e13cb7a2020e019a3a065d890c2355 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Tue, 17 Sep 2024 05:03:26 +1200 Subject: [PATCH 13/14] Accidentally messed up push.. --- electrumx/lib/coins.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/electrumx/lib/coins.py b/electrumx/lib/coins.py index 5a88266bd..bbf31225c 100644 --- a/electrumx/lib/coins.py +++ b/electrumx/lib/coins.py @@ -50,7 +50,7 @@ import electrumx.server.daemon as daemon from electrumx.server.session import (ElectrumX, DashElectrumX, SmartCashElectrumX, AuxPoWElectrumX, - NameIndexElectrumX, NameIndexAuxPoWElectrumX) + NameIndexElectrumX, NameIndexAuxPoWElectrumX, HemisElectrumX) @dataclass @@ -4261,6 +4261,7 @@ class Hemis(Coin): EXPANDED_HEADER = 112 SAPLING_START_HEIGHT = 502 BLOCK_VERSION = 11 + SESSIONCLS = HemisElectrumX @classmethod def static_header_len(cls, height): @@ -4302,6 +4303,7 @@ class HemisTestnet(Hemis): REORG_LIMIT = 1000 STATIC_BLOCK_HEADERS = False EXPANDED_HEADER = 112 + SESSIONCLS = HemisElectrumX @classmethod def static_header_len(cls, height): From bc4a3d6603fb48bfdb8e431e8abc219169a89234 Mon Sep 17 00:00:00 2001 From: Ariel Marshall-Smith Date: Tue, 17 Sep 2024 05:05:04 +1200 Subject: [PATCH 14/14] Accidental WhiteSpace --- electrumx/server/session.py | 1 - 1 file changed, 1 deletion(-) diff --git a/electrumx/server/session.py b/electrumx/server/session.py index 21e9d2e4f..465fc4fb7 100644 --- a/electrumx/server/session.py +++ b/electrumx/server/session.py @@ -1910,4 +1910,3 @@ async def block_headers(self, start_height, count, cp_height=0): result.updaate(await self._merkle_proof(cp_height, last_height)) self.bump_cost(cost) return result -