From 14aab2c13fc2b7c1c172a21c5209c5e01fa3e50a Mon Sep 17 00:00:00 2001 From: tersec Date: Wed, 12 Jan 2022 14:50:30 +0000 Subject: [PATCH] update 10 modules from using merge to bellatrix (#3272) --- beacon_chain/eth1/eth1_monitor.nim | 20 ++-- .../gossip_processing/gossip_validation.nim | 6 +- beacon_chain/networking/eth2_network.nim | 6 +- beacon_chain/sync/sync_protocol.nim | 4 +- .../bellatrix/test_fixture_rewards.nim | 4 +- .../test_fixture_state_transition_epoch.nim | 4 +- .../bellatrix/test_fixture_transition.nim | 13 ++- .../test_fixture_fork_choice.nim | 8 +- tests/test_beacon_chain_db.nim | 18 ++-- tests/test_beacon_time.nim | 2 + tests/test_eth1_monitor.nim | 102 +++++++++--------- 11 files changed, 97 insertions(+), 90 deletions(-) diff --git a/beacon_chain/eth1/eth1_monitor.nim b/beacon_chain/eth1/eth1_monitor.nim index 8a29863a9..995fa22e3 100644 --- a/beacon_chain/eth1/eth1_monitor.nim +++ b/beacon_chain/eth1/eth1_monitor.nim @@ -1,5 +1,5 @@ # beacon_chain -# Copyright (c) 2018-2021 Status Research & Development GmbH +# Copyright (c) 2018-2022 Status Research & Development GmbH # Licensed and distributed under either of # * MIT license (license terms in the root directory or at https://opensource.org/licenses/MIT). # * Apache v2 license (license terms in the root directory or at https://www.apache.org/licenses/LICENSE-2.0). @@ -17,7 +17,7 @@ import eth/async_utils, stew/[objects, byteutils, shims/hashes], # Local modules: ../spec/[eth2_merkleization, forks, helpers], - ../spec/datatypes/[base, phase0, merge], + ../spec/datatypes/[base, phase0, bellatrix], ../networking/network_metadata, ../consensus_object_pools/block_pools_types, ".."/[beacon_chain_db, beacon_node_status], @@ -324,11 +324,11 @@ template asBlockHash(x: Eth2Digest): BlockHash = BlockHash(x.data) func asConsensusExecutionPayload*(rpcExecutionPayload: ExecutionPayloadV1): - merge.ExecutionPayload = - template getTransaction(t: TypedTransaction): merge.Transaction = - merge.Transaction.init(t.distinctBase) + bellatrix.ExecutionPayload = + template getTransaction(t: TypedTransaction): bellatrix.Transaction = + bellatrix.Transaction.init(t.distinctBase) - merge.ExecutionPayload( + bellatrix.ExecutionPayload( parent_hash: rpcExecutionPayload.parentHash.asEth2Digest, feeRecipient: ExecutionAddress(data: rpcExecutionPayload.feeRecipient.distinctBase), @@ -346,12 +346,12 @@ func asConsensusExecutionPayload*(rpcExecutionPayload: ExecutionPayloadV1): base_fee_per_gas: Eth2Digest(data: rpcExecutionPayload.baseFeePerGas.toBytesLE), block_hash: rpcExecutionPayload.blockHash.asEth2Digest, - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init( + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init( mapIt(rpcExecutionPayload.transactions, it.getTransaction))) -func asEngineExecutionPayload*(executionPayload: merge.ExecutionPayload): +func asEngineExecutionPayload*(executionPayload: bellatrix.ExecutionPayload): ExecutionPayloadV1 = - template getTypedTransaction(t: merge.Transaction): TypedTransaction = + template getTypedTransaction(t: bellatrix.Transaction): TypedTransaction = TypedTransaction(t.distinctBase) engine_api.ExecutionPayloadV1( @@ -469,7 +469,7 @@ proc getBlockByNumber(p: Web3DataProviderRef, p.web3.provider.eth_getBlockByNumber(hexNumber, false) proc getPayload*(p: Web3DataProviderRef, - payloadId: merge.PayloadID): Future[engine_api.ExecutionPayloadV1] = + payloadId: bellatrix.PayloadID): Future[engine_api.ExecutionPayloadV1] = p.web3.provider.engine_getPayloadV1(FixedBytes[8] payloadId) proc executePayload*(p: Web3DataProviderRef, diff --git a/beacon_chain/gossip_processing/gossip_validation.nim b/beacon_chain/gossip_processing/gossip_validation.nim index 5ce413227..927a65f59 100644 --- a/beacon_chain/gossip_processing/gossip_validation.nim +++ b/beacon_chain/gossip_processing/gossip_validation.nim @@ -12,7 +12,7 @@ import chronicles, chronos, metrics, stew/results, # Internals - ../spec/datatypes/[phase0, altair, merge], + ../spec/datatypes/[phase0, altair, bellatrix], ../spec/[ beaconstate, state_transition_block, forks, helpers, network, signatures], ../consensus_object_pools/[ @@ -187,7 +187,7 @@ template validateBeaconBlockBellatrix( # https://github.com/ethereum/consensus-specs/blob/v1.1.7/specs/merge/p2p-interface.md#beacon_block template validateBeaconBlockBellatrix( - signed_beacon_block: merge.SignedBeaconBlock): untyped = + signed_beacon_block: bellatrix.SignedBeaconBlock): untyped = # If the execution is enabled for the block -- i.e. # is_execution_enabled(state, block.body) then validate the following: let executionEnabled = @@ -234,7 +234,7 @@ template validateBeaconBlockBellatrix( proc validateBeaconBlock*( dag: ChainDAGRef, quarantine: ref Quarantine, signed_beacon_block: phase0.SignedBeaconBlock | altair.SignedBeaconBlock | - merge.SignedBeaconBlock, + bellatrix.SignedBeaconBlock, wallTime: BeaconTime, flags: UpdateFlags): Result[void, ValidationError] = # In general, checks are ordered from cheap to expensive. Especially, crypto # verification could be quite a bit more expensive than the rest. This is an diff --git a/beacon_chain/networking/eth2_network.nim b/beacon_chain/networking/eth2_network.nim index d37a1e2d4..5af07c32f 100644 --- a/beacon_chain/networking/eth2_network.nim +++ b/beacon_chain/networking/eth2_network.nim @@ -27,7 +27,7 @@ import eth/[keys, async_utils], eth/p2p/p2p_protocol_dsl, eth/net/nat, eth/p2p/discoveryv5/[enr, node, random2], ".."/[version, conf, beacon_clock], - ../spec/datatypes/[phase0, altair, merge], + ../spec/datatypes/[phase0, altair, bellatrix], ../spec/[eth2_ssz_serialization, network, helpers, forks], ../validators/keystore_management, ./eth2_discovery, ./peer_pool, ./libp2p_json_serialization @@ -1840,7 +1840,7 @@ template gossipMaxSize(T: untyped): uint32 = const maxSize = static: when isFixedSize(T): fixedPortionSize(T) - elif T is merge.SignedBeaconBlock: + elif T is bellatrix.SignedBeaconBlock: GOSSIP_MAX_SIZE_MERGE # TODO https://github.com/status-im/nim-ssz-serialization/issues/20 for # Attestation, AttesterSlashing, and SignedAggregateAndProof, which all @@ -2212,7 +2212,7 @@ proc broadcastBeaconBlock*(node: Eth2Node, blck: altair.SignedBeaconBlock) = let topic = getBeaconBlocksTopic(node.forkDigests.altair) node.broadcast(topic, blck) -proc broadcastBeaconBlock*(node: Eth2Node, blck: merge.SignedBeaconBlock) = +proc broadcastBeaconBlock*(node: Eth2Node, blck: bellatrix.SignedBeaconBlock) = let topic = getBeaconBlocksTopic(node.forkDigests.bellatrix) node.broadcast(topic, blck) diff --git a/beacon_chain/sync/sync_protocol.nim b/beacon_chain/sync/sync_protocol.nim index 481103d03..cfd217d51 100644 --- a/beacon_chain/sync/sync_protocol.nim +++ b/beacon_chain/sync/sync_protocol.nim @@ -10,7 +10,7 @@ import options, tables, sets, macros, chronicles, chronos, stew/ranges/bitranges, libp2p/switch, - ../spec/datatypes/[phase0, altair, merge], + ../spec/datatypes/[phase0, altair, bellatrix], ../spec/[helpers, forks, network], ".."/[beacon_clock], ../networking/eth2_network, @@ -80,7 +80,7 @@ proc readChunkPayload*(conn: Connection, peer: Peer, else: return err(res.error) elif contextBytes == peer.network.forkDigests.bellatrix: - let res = await readChunkPayload(conn, peer, merge.SignedBeaconBlock) + let res = await readChunkPayload(conn, peer, bellatrix.SignedBeaconBlock) if res.isOk: return ok ForkedSignedBeaconBlock.init(res.get) else: diff --git a/tests/consensus_spec/bellatrix/test_fixture_rewards.nim b/tests/consensus_spec/bellatrix/test_fixture_rewards.nim index 337a773c5..6754aae0f 100644 --- a/tests/consensus_spec/bellatrix/test_fixture_rewards.nim +++ b/tests/consensus_spec/bellatrix/test_fixture_rewards.nim @@ -14,7 +14,7 @@ import stew/results, # Beacon chain internals ../../beacon_chain/spec/[beaconstate, validator, helpers, state_transition_epoch], - ../../beacon_chain/spec/datatypes/[altair, merge], + ../../beacon_chain/spec/datatypes/[altair, bellatrix], # Test utilities ../../testutil, ../fixtures_utils @@ -40,7 +40,7 @@ proc runTest(rewardsDir, identifier: string) = let state = newClone( - parseTest(testDir/"pre.ssz_snappy", SSZ, merge.BeaconState)) + parseTest(testDir/"pre.ssz_snappy", SSZ, bellatrix.BeaconState)) flagDeltas = [ parseTest(testDir/"source_deltas.ssz_snappy", SSZ, Deltas), parseTest(testDir/"target_deltas.ssz_snappy", SSZ, Deltas), diff --git a/tests/consensus_spec/bellatrix/test_fixture_state_transition_epoch.nim b/tests/consensus_spec/bellatrix/test_fixture_state_transition_epoch.nim index b8432cc68..72d8a55ef 100644 --- a/tests/consensus_spec/bellatrix/test_fixture_state_transition_epoch.nim +++ b/tests/consensus_spec/bellatrix/test_fixture_state_transition_epoch.nim @@ -12,7 +12,7 @@ import os, strutils, # Beacon chain internals ../../../beacon_chain/spec/[beaconstate, presets, state_transition_epoch], - ../../../beacon_chain/spec/datatypes/[altair, merge], + ../../../beacon_chain/spec/datatypes/[altair, bellatrix], # Test utilities ../../testutil, ../fixtures_utils, @@ -29,7 +29,7 @@ template runSuite( let unitTestName = testDir.rsplit(DirSep, 1)[1] test testName & " - " & unitTestName & preset(): # BeaconState objects are stored on the heap to avoid stack overflow - type T = merge.BeaconState + type T = bellatrix.BeaconState var preState {.inject.} = newClone(parseTest(testDir/"pre.ssz_snappy", SSZ, T)) let postState = newClone(parseTest(testDir/"post.ssz_snappy", SSZ, T)) var cache {.inject, used.} = StateCache() diff --git a/tests/consensus_spec/bellatrix/test_fixture_transition.nim b/tests/consensus_spec/bellatrix/test_fixture_transition.nim index 594254f2c..4f76f0c40 100644 --- a/tests/consensus_spec/bellatrix/test_fixture_transition.nim +++ b/tests/consensus_spec/bellatrix/test_fixture_transition.nim @@ -16,7 +16,7 @@ import faststreams, streams, # Beacon chain internals ../../../beacon_chain/spec/[state_transition, forks, helpers], - ../../../beacon_chain/spec/datatypes/[altair, merge], + ../../../beacon_chain/spec/datatypes/[altair, bellatrix], # Test utilities ../../testutil, ../fixtures_utils @@ -56,21 +56,26 @@ proc runTest(testName, testDir, unitTestName: string) = let numBlocks = toSeq(walkPattern(testPath/"blocks_*.ssz_snappy")).len for i in 0 ..< numBlocks: if i <= transitionInfo.fork_block: - let blck = parseTest(testPath/"blocks_" & $i & ".ssz_snappy", SSZ, altair.SignedBeaconBlock) + let blck = parseTest( + testPath/"blocks_" & $i & ".ssz_snappy", SSZ, + altair.SignedBeaconBlock) let success = state_transition( cfg, fhPreState[], blck, cache, info, flags = {skipStateRootValidation}, noRollback) doAssert success, "Failure when applying block " & $i else: - let blck = parseTest(testPath/"blocks_" & $i & ".ssz_snappy", SSZ, merge.SignedBeaconBlock) + let blck = parseTest( + testPath/"blocks_" & $i & ".ssz_snappy", SSZ, + bellatrix.SignedBeaconBlock) let success = state_transition( cfg, fhPreState[], blck, cache, info, flags = {skipStateRootValidation}, noRollback) doAssert success, "Failure when applying block " & $i - let postState = newClone(parseTest(testPath/"post.ssz_snappy", SSZ, merge.BeaconState)) + let postState = newClone(parseTest( + testPath/"post.ssz_snappy", SSZ, bellatrix.BeaconState)) when false: reportDiff(fhPreState.data, postState) doAssert getStateRoot(fhPreState[]) == postState[].hash_tree_root() diff --git a/tests/consensus_spec/test_fixture_fork_choice.nim b/tests/consensus_spec/test_fixture_fork_choice.nim index 46465a673..7eac6fc5d 100644 --- a/tests/consensus_spec/test_fixture_fork_choice.nim +++ b/tests/consensus_spec/test_fixture_fork_choice.nim @@ -17,7 +17,7 @@ import ../../beacon_chain/spec/[helpers, forks], ../../beacon_chain/spec/datatypes/[ base, - phase0, altair, merge], + phase0, altair, bellatrix], ../../beacon_chain/fork_choice/[fork_choice, fork_choice_types], ../../beacon_chain/[beacon_chain_db, beacon_clock], ../../beacon_chain/consensus_object_pools/[ @@ -132,7 +132,7 @@ proc loadOps(path: string, fork: BeaconBlockFork): seq[Operation] = of BeaconBlockFork.Bellatrix: let blk = parseTest( path/filename & ".ssz_snappy", - SSZ, merge.SignedBeaconBlock + SSZ, bellatrix.SignedBeaconBlock ) result.add Operation(kind: opOnBlock, blk: ForkedSignedBeaconBlock.init(blk)) @@ -179,7 +179,7 @@ proc stepOnBlock( elif signedBlock is altair.SignedBeaconBlock: type TrustedBlock = altair.TrustedSignedBeaconBlock else: - type TrustedBlock = merge.TrustedSignedBeaconBlock + type TrustedBlock = bellatrix.TrustedSignedBeaconBlock let blockAdded = dag.addHeadBlock(verifier, signedBlock) do ( blckRef: BlockRef, signedBlock: TrustedBlock, epochRef: EpochRef @@ -286,7 +286,7 @@ proc runTest(path: string, fork: BeaconBlockFork) = # path, db, # # The tests always use phase 0 block for anchor - https://github.com/ethereum/consensus-specs/pull/2323 # # TODO: support merge genesis state - # merge.BeaconState, phase0.BeaconBlock + # bellatrix.BeaconState, phase0.BeaconBlock # ) var taskpool = Taskpool.new() diff --git a/tests/test_beacon_chain_db.nim b/tests/test_beacon_chain_db.nim index f4bfb23b8..f4324d428 100644 --- a/tests/test_beacon_chain_db.nim +++ b/tests/test_beacon_chain_db.nim @@ -12,7 +12,7 @@ import unittest2, ../beacon_chain/[beacon_chain_db, interop], ../beacon_chain/spec/[beaconstate, forks, state_transition], - ../beacon_chain/spec/datatypes/[phase0, altair, merge], + ../beacon_chain/spec/datatypes/[phase0, altair, bellatrix], ../beacon_chain/consensus_object_pools/blockchain_dag, eth/db/kvstore, # test utilies @@ -36,9 +36,9 @@ proc getAltairStateRef(db: BeaconChainDB, root: Eth2Digest): return res proc getMergeStateRef(db: BeaconChainDB, root: Eth2Digest): - merge.NilableBeaconStateRef = + bellatrix.NilableBeaconStateRef = # load beaconstate the way the block pool does it - into an existing instance - let res = (merge.BeaconStateRef)() + let res = (bellatrix.BeaconStateRef)() if db.getState(root, res[], noRollback): return res @@ -56,9 +56,9 @@ func withDigest(blck: altair.TrustedBeaconBlock): root: hash_tree_root(blck) ) -func withDigest(blck: merge.TrustedBeaconBlock): - merge.TrustedSignedBeaconBlock = - merge.TrustedSignedBeaconBlock( +func withDigest(blck: bellatrix.TrustedBeaconBlock): + bellatrix.TrustedSignedBeaconBlock = + bellatrix.TrustedSignedBeaconBlock( message: blck, root: hash_tree_root(blck) ) @@ -173,7 +173,7 @@ suite "Beacon chain DB" & preset(): var db = BeaconChainDB.new("", inMemory = true) let - signedBlock = withDigest((merge.TrustedBeaconBlock)()) + signedBlock = withDigest((bellatrix.TrustedBeaconBlock)()) root = hash_tree_root(signedBlock.message) db.putBlock(signedBlock) @@ -304,7 +304,7 @@ suite "Beacon chain DB" & preset(): test "sanity check Merge states, reusing buffers" & preset(): var db = makeTestDB(SLOTS_PER_EPOCH) - let stateBuffer = (merge.BeaconStateRef)() + let stateBuffer = (bellatrix.BeaconStateRef)() for state in testStatesBellatrix: let root = state[].mergeData.root @@ -378,7 +378,7 @@ suite "Beacon chain DB" & preset(): dag = init(ChainDAGRef, defaultRuntimeConfig, db, validatorMonitor, {}) state = (ref ForkedHashedBeaconState)( kind: BeaconStateFork.Bellatrix, - mergeData: merge.HashedBeaconState(data: merge.BeaconState( + mergeData: bellatrix.HashedBeaconState(data: bellatrix.BeaconState( slot: 10.Slot))) root = Eth2Digest() diff --git a/tests/test_beacon_time.nim b/tests/test_beacon_time.nim index 16960e6db..1d1167f3e 100644 --- a/tests/test_beacon_time.nim +++ b/tests/test_beacon_time.nim @@ -1,3 +1,5 @@ +{.used.} + import unittest2, diff --git a/tests/test_eth1_monitor.nim b/tests/test_eth1_monitor.nim index 3d8f85966..a38b087db 100644 --- a/tests/test_eth1_monitor.nim +++ b/tests/test_eth1_monitor.nim @@ -4,7 +4,7 @@ import unittest2, chronos, web3/ethtypes, ssz_serialization/types as sszTypes, - ../beacon_chain/spec/datatypes/merge, + ../beacon_chain/spec/datatypes/bellatrix, ../beacon_chain/spec/[digest, presets], ../beacon_chain/eth1/eth1_monitor, ./testutil @@ -56,7 +56,7 @@ suite "Eth1 monitor": # bytes. fee_recipient and logs_bloom, both, are uniformly random. extra # bytes are random, with 0, 1, and 32 lengths' probabilities increased. const executionPayloads = [ - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x760d4d1fced29500a422c401a646ee5bb5d65a07efa1492856a72cff9948a434"), fee_recipient: ExecutionAddress.fromHex("0x315f583fa44fc6684553d3c88c3d26e9ed7123d8"), state_root: Eth2Digest.fromHex("0xa6975bac699618cc22c05b1ba8f47cbd162475669474316d7a79ea84bce3c690"), @@ -70,9 +70,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[55'u8, 184'u8, 18'u8, 128'u8, 63'u8, 61'u8, 26'u8, 79'u8, 3'u8, 225'u8, 167'u8, 15'u8, 240'u8, 167'u8, 180'u8, 141'u8, 205'u8, 10'u8, 246'u8, 70'u8, 248'u8, 35'u8, 19'u8, 45'u8, 252'u8, 187'u8, 168'u8, 42'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xaf8acbd8a0f0f8eeced9a1014333cdddbd2090d663a06cd919cf17529e9d7862"), block_hash: Eth2Digest.fromHex("0x86b46255725b39af70a9e1a3096287d9772ccc635408fe06c34cc8b680977ff5"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x2cb54ddf357864102f4ab6bce57317a75cee972f303449bf7047f4e0e5809127"), fee_recipient: ExecutionAddress.fromHex("0x92af67d9604b945fd2cbaccd29598e2b47ef5d2d"), state_root: Eth2Digest.fromHex("0xc64221514816a2f87a29c2c474abf99547820b2a12e6e5956f160dd54579e521"), @@ -86,9 +86,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[254'u8, 188'u8, 92'u8, 24'u8, 153'u8, 206'u8, 74'u8, 108'u8, 96'u8, 100'u8, 148'u8, 84'u8, 151'u8, 74'u8, 73'u8, 167'u8, 65'u8, 177'u8, 253'u8, 62'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xb1c4b2bffcb38aaa1f98b483441aa212c9dd951d4706dd505a973fd5fd84796f"), block_hash: Eth2Digest.fromHex("0x8b150d453d802fdbb19be0132621a5e8061e70cfe6668ee6a63e4ff217434999"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[142'u8, 197'u8, 221'u8, 83'u8, 32'u8, 126'u8, 145'u8, 86'u8, 28'u8, 39'u8, 112'u8, 240'u8, 168'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[175'u8, 191'u8, 143'u8, 78'u8, 162'u8, 249'u8, 87'u8, 193'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[84'u8, 168'u8, 190'u8, 157'u8, 39'u8, 143'u8, 147'u8, 156'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[142'u8, 197'u8, 221'u8, 83'u8, 32'u8, 126'u8, 145'u8, 86'u8, 28'u8, 39'u8, 112'u8, 240'u8, 168'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[175'u8, 191'u8, 143'u8, 78'u8, 162'u8, 249'u8, 87'u8, 193'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[84'u8, 168'u8, 190'u8, 157'u8, 39'u8, 143'u8, 147'u8, 156'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xac5a7347865f503e1578d1b47271c8e60027b5ba24b0da8e7c3733bcdbeda220"), fee_recipient: ExecutionAddress.fromHex("0x8b7fa656e67f6af2074ec3f16930ad742a69f189"), state_root: Eth2Digest.fromHex("0xeb50f351f6945df8983cf4037ee264dcb2ceef3313ae452248571811d8a3a8cf"), @@ -102,9 +102,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[220'u8, 149'u8, 177'u8, 36'u8, 228'u8, 88'u8, 47'u8, 149'u8, 211'u8, 213'u8, 170'u8, 40'u8, 207'u8, 145'u8, 137'u8, 64'u8, 153'u8, 22'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xfc82d0e46d05b21aedab6f368183611d2885b28c52842f28f621ef6c631b6e6a"), block_hash: Eth2Digest.fromHex("0xa8c6b2dcc2496f0230e796f8a69642126955ae6209a0d0c2dee2c925212f447e"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[138'u8, 17'u8, 34'u8, 168'u8, 105'u8, 179'u8, 196'u8, 21'u8, 253'u8, 242'u8, 106'u8, 30'u8, 40'u8, 190'u8, 179'u8, 93'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[138'u8, 17'u8, 34'u8, 168'u8, 105'u8, 179'u8, 196'u8, 21'u8, 253'u8, 242'u8, 106'u8, 30'u8, 40'u8, 190'u8, 179'u8, 93'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xd3be9b45bfe67229afb47461ca2970505586cab8eb8e00f280ceb07a9d47866f"), fee_recipient: ExecutionAddress.fromHex("0xde645d4a77f0a386a45c52357948e1d7eac5e780"), state_root: Eth2Digest.fromHex("0x69b70e0188e7b88e38df90853b2dfd2e4c7181e83d82d77ab81c57d161216b92"), @@ -118,9 +118,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[139'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x1eb821a0ee3f9d2e5b49c64177db9ffc96ec6b06249cefa8c51d0ce7e664a3ae"), block_hash: Eth2Digest.fromHex("0x99479be6429eac4a945ca8171d3d3ce42d7b5af298292e833e20462438e06229"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[99'u8, 198'u8, 91'u8, 86'u8, 23'u8, 222'u8, 121'u8, 250'u8, 12'u8, 135'u8, 133'u8, 37'u8, 61'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[81'u8, 173'u8, 241'u8, 145'u8, 54'u8, 3'u8, 36'u8, 121'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[99'u8, 198'u8, 91'u8, 86'u8, 23'u8, 222'u8, 121'u8, 250'u8, 12'u8, 135'u8, 133'u8, 37'u8, 61'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[81'u8, 173'u8, 241'u8, 145'u8, 54'u8, 3'u8, 36'u8, 121'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x06504beb0dc3bae44ef75678d29ec5138d87da68d307ca7d43e259cede60fda6"), fee_recipient: ExecutionAddress.fromHex("0x527ce602a0be18c0944dc27b2864c711a91f89a6"), state_root: Eth2Digest.fromHex("0xad3bbef5d22bdc2429da09eb85137c881f85fe6e6b3ea207e5eaeb399c755055"), @@ -134,9 +134,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[11'u8, 46'u8, 127'u8, 104'u8, 141'u8, 79'u8, 55'u8, 48'u8, 242'u8, 12'u8, 142'u8, 2'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x6241db2a44a58a2c1aac93c4aa18aed5add30d1937c31078542bb544bf9ba2df"), block_hash: Eth2Digest.fromHex("0xdc1756667e7c3f1615650cbbaae1117a6bac817c6579cf3f7afbc93277eb3ea1"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[13'u8, 24'u8, 248'u8, 26'u8, 141'u8, 177'u8, 236'u8, 2'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[213'u8, 208'u8, 242'u8, 46'u8, 0'u8, 31'u8, 219'u8, 213'u8, 197'u8, 218'u8, 148'u8, 236'u8, 43'u8, 152'u8, 123'u8, 96'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[84'u8, 163'u8, 60'u8, 195'u8, 40'u8, 68'u8, 185'u8, 20'u8, 244'u8, 82'u8, 34'u8, 181'u8, 26'u8, 201'u8, 2'u8, 108'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[13'u8, 24'u8, 248'u8, 26'u8, 141'u8, 177'u8, 236'u8, 2'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[213'u8, 208'u8, 242'u8, 46'u8, 0'u8, 31'u8, 219'u8, 213'u8, 197'u8, 218'u8, 148'u8, 236'u8, 43'u8, 152'u8, 123'u8, 96'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[84'u8, 163'u8, 60'u8, 195'u8, 40'u8, 68'u8, 185'u8, 20'u8, 244'u8, 82'u8, 34'u8, 181'u8, 26'u8, 201'u8, 2'u8, 108'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xb5d4a5eae3a1ea004ed573b0b8f8a22c847616758c0faf1e7e9589f16e55415c"), fee_recipient: ExecutionAddress.fromHex("0xf7ac0877fd8bcadde1e050f6c7ddad13688ec071"), state_root: Eth2Digest.fromHex("0x7472f824376a723894f8d539743c7f93b69839772f28cf6a83e2102fde99c3c9"), @@ -150,9 +150,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[31'u8, 7'u8, 1'u8, 212'u8, 152'u8, 82'u8, 167'u8, 57'u8, 116'u8, 147'u8, 97'u8, 109'u8, 219'u8, 207'u8, 151'u8, 116'u8, 43'u8, 218'u8, 91'u8, 253'u8, 14'u8, 182'u8, 102'u8, 57'u8, 153'u8, 72'u8, 172'u8, 208'u8, 0'u8, 64'u8, 97'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xf1daaa067663bf3277b9149aab162f4e330f988f0be8f83a556743a57ae5c8fd"), block_hash: Eth2Digest.fromHex("0x5d462b4b243c6292b6a3b32f4e05849c0613d0a61954734c524f75f8df66cf8d"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x2629683cfc70198038837270bde3c60176c2a4aeeced0d4a4f14dc99a380c377"), fee_recipient: ExecutionAddress.fromHex("0xd234af1937861b66ca84c334824763fb54347677"), state_root: Eth2Digest.fromHex("0xf79f02d52d7f2a4be99eebba3dfb3bce74136ea739da515703d095a66ce203d5"), @@ -166,9 +166,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[57'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x6c98d9ff36f1032fd55d8a6038d7b1f7c4e5f7c884b73f626fe43e687beeb46d"), block_hash: Eth2Digest.fromHex("0x2c95101857b07bdda0502741da8cd9160ec0474929d132e9159098576f9a7c35"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[75'u8, 85'u8, 130'u8, 87'u8, 90'u8, 172'u8, 176'u8, 44'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[207'u8, 150'u8, 64'u8, 87'u8, 15'u8, 18'u8, 3'u8, 236'u8, 232'u8, 87'u8, 174'u8, 192'u8, 29'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[23'u8, 37'u8, 57'u8, 158'u8, 137'u8, 222'u8, 53'u8, 111'u8, 63'u8, 13'u8, 69'u8, 110'u8, 175'u8, 108'u8, 16'u8, 207'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[75'u8, 85'u8, 130'u8, 87'u8, 90'u8, 172'u8, 176'u8, 44'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[207'u8, 150'u8, 64'u8, 87'u8, 15'u8, 18'u8, 3'u8, 236'u8, 232'u8, 87'u8, 174'u8, 192'u8, 29'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[23'u8, 37'u8, 57'u8, 158'u8, 137'u8, 222'u8, 53'u8, 111'u8, 63'u8, 13'u8, 69'u8, 110'u8, 175'u8, 108'u8, 16'u8, 207'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x190544155dd98bf86d3ed5ee94d01afd3a8e67b8476f94d90604706da0a7d340"), fee_recipient: ExecutionAddress.fromHex("0x799d176d73d5d6d54d66941ad6cef8208677371c"), state_root: Eth2Digest.fromHex("0x07e626b9c44b0ff14586d17acf79cb136ccc5d37fd7135da33cec516af168f43"), @@ -182,9 +182,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[95'u8, 124'u8, 151'u8, 79'u8, 76'u8, 171'u8, 74'u8, 213'u8, 207'u8, 202'u8, 63'u8, 2'u8, 182'u8, 32'u8, 115'u8, 65'u8, 90'u8, 186'u8, 34'u8, 63'u8, 241'u8, 191'u8, 88'u8, 10'u8, 197'u8, 52'u8, 33'u8, 98'u8, 78'u8, 210'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x3c1ba8cf82268c828c1a7f249328741ae21f35a7659365efd7496df94dbb85e9"), block_hash: Eth2Digest.fromHex("0xc2b2bc39ed0cf5764800d3c91401828ed32d0eea58f9d336c32f9e6f7200ac8d"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x86d7b430f69b215ab5ae863998ce41f01a5016376c8bec7f5b7a6e16a2326d92"), fee_recipient: ExecutionAddress.fromHex("0x73068946d757f5d145a38fe9de817b8b1e9d6c43"), state_root: Eth2Digest.fromHex("0x312b4af4d3ca5960dda2f99531819f5c32624753cc0756c05d242f65dd605d92"), @@ -198,9 +198,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[199'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x9fc9f32819a67c4aebae259b0648e2b82f526ce8eef8fee33961f9fc69653b2b"), block_hash: Eth2Digest.fromHex("0x1ac3f16da76520977c5e5d86f0c261d76e18413c202e8a46241951b3a80ca601"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[223'u8, 37'u8, 18'u8, 125'u8, 208'u8, 57'u8, 114'u8, 113'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[137'u8, 181'u8, 143'u8, 219'u8, 145'u8, 77'u8, 39'u8, 126'u8, 173'u8, 30'u8, 59'u8, 70'u8, 205'u8, 51'u8, 16'u8, 213'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[223'u8, 37'u8, 18'u8, 125'u8, 208'u8, 57'u8, 114'u8, 113'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[137'u8, 181'u8, 143'u8, 219'u8, 145'u8, 77'u8, 39'u8, 126'u8, 173'u8, 30'u8, 59'u8, 70'u8, 205'u8, 51'u8, 16'u8, 213'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xc51bf481df9be981c6656081e3854ffcf27551e2b4fdaed4ab12b355f247f4e1"), fee_recipient: ExecutionAddress.fromHex("0xd79098c25eed05c9f6d55e95f5f6f58c1472fb28"), state_root: Eth2Digest.fromHex("0x1a6b1eb78e5ac155d4be247a3b48d8d8d8574a16fa846681553037629b97ffd0"), @@ -214,9 +214,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[183'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x1443705192ff4dc1a819be4f22b8dcd6e7802337e62082880b1090f44a27d0e2"), block_hash: Eth2Digest.fromHex("0x68da52444eb5322f3a0bda6bdc9a3a11a540dbd22026bb2d24862bbc32af9460"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[212'u8, 80'u8, 176'u8, 133'u8, 132'u8, 119'u8, 233'u8, 131'u8, 195'u8, 118'u8, 54'u8, 94'u8, 129'u8, 206'u8, 47'u8, 107'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[231'u8, 31'u8, 192'u8, 94'u8, 136'u8, 120'u8, 228'u8, 222'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[114'u8, 23'u8, 239'u8, 220'u8, 169'u8, 188'u8, 213'u8, 179'u8, 223'u8, 129'u8, 189'u8, 50'u8, 158'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[212'u8, 80'u8, 176'u8, 133'u8, 132'u8, 119'u8, 233'u8, 131'u8, 195'u8, 118'u8, 54'u8, 94'u8, 129'u8, 206'u8, 47'u8, 107'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[231'u8, 31'u8, 192'u8, 94'u8, 136'u8, 120'u8, 228'u8, 222'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[114'u8, 23'u8, 239'u8, 220'u8, 169'u8, 188'u8, 213'u8, 179'u8, 223'u8, 129'u8, 189'u8, 50'u8, 158'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x8b3e7e8d447527b9d00693389928260e7ea9da6855efd99369182bd9c213988a"), fee_recipient: ExecutionAddress.fromHex("0xb45716c9aeddeb030c0b94202fcb97bd75a039b6"), state_root: Eth2Digest.fromHex("0x8114b285e5f3277c04a66e660fef3b86295d6ca859dfa216df3309c0a7242f2d"), @@ -230,9 +230,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[235'u8, 229'u8, 162'u8, 249'u8, 154'u8, 135'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xbe93cc3dc2bb7e012db659df49e57653bf6ff21354c64eeb69c0002e9f933035"), block_hash: Eth2Digest.fromHex("0x46cb3f590b2fbce372e67968a0d2ff4ce1b2c530fcc26b7a24ed6db054f52035"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[16'u8, 66'u8, 215'u8, 40'u8, 223'u8, 195'u8, 43'u8, 228'u8, 225'u8, 244'u8, 34'u8, 14'u8, 117'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[92'u8, 46'u8, 215'u8, 218'u8, 71'u8, 99'u8, 115'u8, 119'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[16'u8, 66'u8, 215'u8, 40'u8, 223'u8, 195'u8, 43'u8, 228'u8, 225'u8, 244'u8, 34'u8, 14'u8, 117'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[92'u8, 46'u8, 215'u8, 218'u8, 71'u8, 99'u8, 115'u8, 119'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xa4854e346d2e9a921cc6b3c4ce9fc739c99795cf10002924089f9886f8624d59"), fee_recipient: ExecutionAddress.fromHex("0xa88781cf69a1eed63bcc3a32b6f9aba35d4f5b5e"), state_root: Eth2Digest.fromHex("0xdc06d9210fd2738b0fa9df6d68e4ffbfef0dd7d7d8093fdbcd97ff845318cf6b"), @@ -246,9 +246,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[217'u8, 40'u8, 125'u8, 94'u8, 156'u8, 71'u8, 79'u8, 66'u8, 117'u8, 228'u8, 173'u8, 189'u8, 115'u8, 41'u8, 153'u8, 226'u8, 130'u8, 21'u8, 108'u8, 194'u8, 206'u8, 218'u8, 141'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x436767990abff9288346859c6b85b8a972421619eab2253483385c8151cb2016"), block_hash: Eth2Digest.fromHex("0xca4f05c33836d82aee8230ef660016b993bca4aaf9a7b6cad96c2a0193eb026c"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[156'u8, 143'u8, 203'u8, 250'u8, 238'u8, 137'u8, 34'u8, 245'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[64'u8, 44'u8, 165'u8, 9'u8, 1'u8, 211'u8, 27'u8, 108'u8, 166'u8, 61'u8, 119'u8, 11'u8, 222'u8, 85'u8, 48'u8, 185'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[165'u8, 95'u8, 221'u8, 213'u8, 229'u8, 134'u8, 185'u8, 221'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[156'u8, 143'u8, 203'u8, 250'u8, 238'u8, 137'u8, 34'u8, 245'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[64'u8, 44'u8, 165'u8, 9'u8, 1'u8, 211'u8, 27'u8, 108'u8, 166'u8, 61'u8, 119'u8, 11'u8, 222'u8, 85'u8, 48'u8, 185'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[165'u8, 95'u8, 221'u8, 213'u8, 229'u8, 134'u8, 185'u8, 221'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x5e7b12465e0461e5dfa59a3254282378c55961b0e411023ce89d968bbdc33e9c"), fee_recipient: ExecutionAddress.fromHex("0xbd1a1396ab49631cc933770944996b294da97d43"), state_root: Eth2Digest.fromHex("0x74e6ccfb15da8afb94eebf28cb3ba3f9ce63e3354097f2f2527fe1cf978e76bf"), @@ -262,9 +262,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[177'u8, 36'u8, 79'u8, 26'u8, 164'u8, 59'u8, 182'u8, 88'u8, 223'u8, 22'u8, 79'u8, 197'u8, 109'u8, 53'u8, 53'u8, 134'u8, 244'u8, 84'u8, 146'u8, 158'u8, 234'u8, 252'u8, 188'u8, 175'u8, 69'u8, 51'u8, 118'u8, 101'u8, 242'u8, 0'u8, 51'u8, 103'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x997e6c8ffbd1ea95e875612109843c6cdfd0c6bcaffa1e06ba303b3012b3c371"), block_hash: Eth2Digest.fromHex("0x9a7f83cf6a64e153fc3316244fabd972a49ebf5dfb173d7e611bf3447a175c41"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[137'u8, 103'u8, 164'u8, 112'u8, 136'u8, 91'u8, 170'u8, 241'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[137'u8, 103'u8, 164'u8, 112'u8, 136'u8, 91'u8, 170'u8, 241'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xa8f90a617f1f230506d200c6026bd60e38f599930ed04f90cdc320a6d45bb022"), fee_recipient: ExecutionAddress.fromHex("0x3531157eaf2c185bd8720f3edfaf76829632f07d"), state_root: Eth2Digest.fromHex("0xa16f8936e945ecd45a4ae107e46acd8530e438fa1bc8eb85aef62afaca1656da"), @@ -278,9 +278,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[60'u8, 109'u8, 153'u8, 55'u8, 17'u8, 196'u8, 17'u8, 96'u8, 202'u8, 173'u8, 16'u8, 189'u8, 165'u8, 107'u8, 68'u8, 230'u8, 238'u8, 62'u8, 199'u8, 211'u8, 244'u8, 83'u8, 88'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x3adad83f48e34c6220dce41ecc0b09f9bb1ae4bda4466935c70e7c6cd54e185e"), block_hash: Eth2Digest.fromHex("0x9183524f908425608c1e3a80d7c4ac2c539903af4b3a2f1b22c3283281706aba"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xc914f63464f3f1588a32d3751900d415bbf1fe002c42068650f5c7c588b1935c"), fee_recipient: ExecutionAddress.fromHex("0x61523b6add59cc65d3c5b75c6f749fa601e157de"), state_root: Eth2Digest.fromHex("0xe84ecb995f6c7e753355c8d2e24694441c528b65ef9b1d8c6f4e9d98d409342b"), @@ -294,9 +294,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[]), base_fee_per_gas: Eth2Digest.fromHex("0xe2df33500d1162994934e9fa65fd5db641b0be2b61a6c302c7b9019f86042338"), block_hash: Eth2Digest.fromHex("0xce58ef51926a6eb4cf2997c4ec771b54907737ae8fe9522fc316c97a1c7ee6d7"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x086322b79160568c7d096747ef351338ddc93f252dab1df3ef65aaf24723d2c3"), fee_recipient: ExecutionAddress.fromHex("0x03c6998b5a3ff1c98538c2333d279f2b1cc59f7f"), state_root: Eth2Digest.fromHex("0x446d99a7e9fd2c327fbd445dbfb3b3e3a895cdfa6f208496dd09c0f84f7ac0fd"), @@ -310,9 +310,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[]), base_fee_per_gas: Eth2Digest.fromHex("0xfbe348f0c77be2ddbd3ec038e3aad88107625dc6e96b1fb3bbfdba8c737a3d7e"), block_hash: Eth2Digest.fromHex("0xc545e833aa2ee5d708e041f4dcb44bda654372b3f5f660c683d12230303da729"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[89'u8, 59'u8, 131'u8, 146'u8, 186'u8, 180'u8, 208'u8, 76'u8, 69'u8, 40'u8, 29'u8, 211'u8, 97'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[208'u8, 136'u8, 157'u8, 0'u8, 120'u8, 231'u8, 99'u8, 33'u8, 31'u8, 210'u8, 80'u8, 203'u8, 24'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[89'u8, 59'u8, 131'u8, 146'u8, 186'u8, 180'u8, 208'u8, 76'u8, 69'u8, 40'u8, 29'u8, 211'u8, 97'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[208'u8, 136'u8, 157'u8, 0'u8, 120'u8, 231'u8, 99'u8, 33'u8, 31'u8, 210'u8, 80'u8, 203'u8, 24'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xcfba7f4aa4ff01d3d9de84dbe1761c79627a10c3188fb0a7c8adfa0d489e6441"), fee_recipient: ExecutionAddress.fromHex("0x106b3bcaae4ff58dd837768be35c29c48571e4a4"), state_root: Eth2Digest.fromHex("0xe6242399020361e70cb6b89701001fa8326251e6bae3b4ca1978eded8831d9a7"), @@ -326,9 +326,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[152'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xd8b104041bdc4c76a9735e2b4b45f0f3612e8962f672aaf511f06a94b48562c8"), block_hash: Eth2Digest.fromHex("0x8ca67fec04b7e3bc5a01f5bb265b93b4488b58ec2ac7f2c3ced030311de2762e"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[152'u8, 232'u8, 136'u8, 228'u8, 253'u8, 248'u8, 85'u8, 92'u8, 103'u8, 38'u8, 106'u8, 166'u8, 148'u8, 8'u8, 37'u8, 245'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[58'u8, 215'u8, 97'u8, 99'u8, 152'u8, 126'u8, 14'u8, 252'u8, 64'u8, 87'u8, 242'u8, 60'u8, 210'u8, 217'u8, 75'u8, 189'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[152'u8, 232'u8, 136'u8, 228'u8, 253'u8, 248'u8, 85'u8, 92'u8, 103'u8, 38'u8, 106'u8, 166'u8, 148'u8, 8'u8, 37'u8, 245'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[58'u8, 215'u8, 97'u8, 99'u8, 152'u8, 126'u8, 14'u8, 252'u8, 64'u8, 87'u8, 242'u8, 60'u8, 210'u8, 217'u8, 75'u8, 189'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x063bc56b731eeeff8bf1c33d88523a04a14fa0c745eb3c750139842d88244982"), fee_recipient: ExecutionAddress.fromHex("0x415b1cd5b42709a3724ab2f6f50a6dab7399d7ca"), state_root: Eth2Digest.fromHex("0xf261abf37066b8dc5c868946346c98aae445adbb48e6dd05969fbb49267a276e"), @@ -342,9 +342,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[73'u8, 163'u8, 138'u8, 201'u8, 62'u8, 1'u8, 37'u8, 90'u8, 157'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x8a42339ef76757729ef6c4536b3b59255b18d7085d8ba786275b2076fc55b3c6"), block_hash: Eth2Digest.fromHex("0xb3f6ec11b285a105833f5b68b67e8e23c85c28df2362a13a76db705f110fce8c"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xb31c41d39ef7e9a9b905cc93d82264415024d7daef48d886f1b3bc0fd6545edb"), fee_recipient: ExecutionAddress.fromHex("0x5ad4b6c0d6b986e775f3a9ae2be73a330ba9f87c"), state_root: Eth2Digest.fromHex("0x01dbc857a3d8994cf10cd1be3b2018be0e26ba54a5456e10a6e5729328a0b5f5"), @@ -358,9 +358,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[56'u8, 176'u8, 67'u8, 30'u8, 11'u8, 27'u8, 136'u8, 121'u8, 86'u8, 17'u8, 4'u8, 121'u8, 11'u8, 222'u8, 158'u8, 78'u8, 56'u8, 66'u8, 243'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xfbaacdba879288838ff725df19b7a31148ec5a24e7989441544d6dec1c980034"), block_hash: Eth2Digest.fromHex("0x04616c0808df7a1bc177bc48cb6ed865125fbbac2fa3e3c36f33a5f1c48a23fd"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0xf6cba3ced37c08da230babbf9d1e360661e5a21ac235fefa75cbe756f15809de"), fee_recipient: ExecutionAddress.fromHex("0x0c080349793b7f43fb3ee9101889e7d32e02c01d"), state_root: Eth2Digest.fromHex("0x6a33580fc482e9783d66bee9276f42b74a2cbc2b7434fc408a6ba9df77db0ceb"), @@ -374,9 +374,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[28'u8, 8'u8, 171'u8, 122'u8, 126'u8, 38'u8, 142'u8, 246'u8, 162'u8, 197'u8, 241'u8, 216'u8, 158'u8, 184'u8, 73'u8, 191'u8, 208'u8, 5'u8, 79'u8, 231'u8, 254'u8, 55'u8, 126'u8, 97'u8, 184'u8, 78'u8, 36'u8, 80'u8, 160'u8, 124'u8, 188'u8, 176'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x0ea1185e0ac50d1e2cc0be7229c846528380def25f7d8860cf366e6edd793be0"), block_hash: Eth2Digest.fromHex("0xb471874aa6e8987deee40902d59537fed8af3e9b6ae2f8b476ddb051629b3b09"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[231'u8, 215'u8, 225'u8, 83'u8, 163'u8, 187'u8, 111'u8, 141'u8, 246'u8, 57'u8, 238'u8, 163'u8, 25'u8, 91'u8, 114'u8, 111'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[93'u8, 42'u8, 101'u8, 80'u8, 160'u8, 252'u8, 158'u8, 121'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[164'u8, 98'u8, 105'u8, 179'u8, 25'u8, 33'u8, 130'u8, 239'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[231'u8, 215'u8, 225'u8, 83'u8, 163'u8, 187'u8, 111'u8, 141'u8, 246'u8, 57'u8, 238'u8, 163'u8, 25'u8, 91'u8, 114'u8, 111'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[93'u8, 42'u8, 101'u8, 80'u8, 160'u8, 252'u8, 158'u8, 121'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[164'u8, 98'u8, 105'u8, 179'u8, 25'u8, 33'u8, 130'u8, 239'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x62ce6a6d68578309c4730f96f98a809d4b4225fc3d37a285daf26288b10f9590"), fee_recipient: ExecutionAddress.fromHex("0x8c892b06f1e9c877c310b6eccefb20fcf5e00227"), state_root: Eth2Digest.fromHex("0x578f93b83206e3239c69f51cc8e59cd89087260cda9f0efc892aa2ffb2bf386e"), @@ -390,9 +390,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[227'u8, 111'u8, 127'u8, 243'u8, 191'u8, 237'u8, 88'u8, 146'u8, 146'u8, 236'u8, 162'u8, 237'u8, 164'u8, 177'u8, 249'u8, 52'u8, 1'u8, 26'u8, 187'u8, 208'u8, 244'u8, 234'u8, 113'u8, 199'u8, 30'u8, 209'u8, 197'u8, 63'u8, 126'u8, 104'u8, 143'u8, 30'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x6bcd9684e1bc8f4fc5d089e0bf5fed35a8bf3039808d030bb9eb1ff7147180b5"), block_hash: Eth2Digest.fromHex("0x9e2505de9f245873565b553e7215abff698bdfcee1dbd93e40eb295dd84e7f45"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[140'u8, 134'u8, 173'u8, 70'u8, 168'u8, 181'u8, 221'u8, 210'u8, 25'u8, 142'u8, 168'u8, 139'u8, 77'u8, 134'u8, 203'u8, 219'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[140'u8, 134'u8, 173'u8, 70'u8, 168'u8, 181'u8, 221'u8, 210'u8, 25'u8, 142'u8, 168'u8, 139'u8, 77'u8, 134'u8, 203'u8, 219'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x4f8251c361a23171de8648d1e96c91fea2cc5a691dcd884e3a957dc8f6a8802a"), fee_recipient: ExecutionAddress.fromHex("0x7da9175abaf6e4e400e0ee516fd3ab07dd659f2a"), state_root: Eth2Digest.fromHex("0x1bd3a5da4c266dd396b8209288e68be066176ebe64cd4c17c4c6cdccaf03577e"), @@ -406,9 +406,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[136'u8, 133'u8, 189'u8, 60'u8, 229'u8, 217'u8, 70'u8, 145'u8, 136'u8, 97'u8, 175'u8, 23'u8, 183'u8, 73'u8]), base_fee_per_gas: Eth2Digest.fromHex("0xe1307a28a2868b4d934aefdde7bbd09b0644b5c422d2c680770775cb44623512"), block_hash: Eth2Digest.fromHex("0x11e23850b143b8b4dd8394ee1f2cebf073068502d04dde00000925cf23ff55cc"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x0c67b44b492590ffb9e6d2a63c84714821be7526ce1c337c06276e33a62b7b93"), fee_recipient: ExecutionAddress.fromHex("0x1d16dbe66ead2ba8afb8594acaf8d536be08dac3"), state_root: Eth2Digest.fromHex("0xeeb40e334aff8512435b5908a8dd3c06993cadca8bc44e9a6c28c6003162c6a9"), @@ -422,9 +422,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[223'u8, 228'u8, 253'u8, 3'u8, 38'u8, 218'u8, 253'u8, 87'u8, 206'u8, 243'u8, 168'u8, 113'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x972a01f27d586035ce5fb233118e52652ebbf89f6d39558a41b27c8840c849b1"), block_hash: Eth2Digest.fromHex("0x9280fa96a569e7c25b2dfc12a141d3edd24acf2fbfa19ee72e5a1fd5dba25a11"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[116'u8, 179'u8, 195'u8, 80'u8, 193'u8, 73'u8, 187'u8, 64'u8, 41'u8, 251'u8, 55'u8, 90'u8, 161'u8, 30'u8, 221'u8, 210'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[116'u8, 179'u8, 195'u8, 80'u8, 193'u8, 73'u8, 187'u8, 64'u8, 41'u8, 251'u8, 55'u8, 90'u8, 161'u8, 30'u8, 221'u8, 210'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x7a9d6ab34c0314959d5bdceb0bd80f142e59e5e2addedcd178612303897e7a8a"), fee_recipient: ExecutionAddress.fromHex("0x3425bc529b4791f5fdb7dd365501199b2f81e578"), state_root: Eth2Digest.fromHex("0x4eb1a9a3c4b9392325a14f3f8efbc0b3cc3bfc2d7e9992377abd84af6c556db5"), @@ -438,9 +438,9 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[34'u8, 35'u8, 209'u8, 45'u8, 117'u8]), base_fee_per_gas: Eth2Digest.fromHex("0x7b5b4e48b3daadecb9724a74d426a86ffb5c5f8abd43469b4e3fe2a728b5a645"), block_hash: Eth2Digest.fromHex("0xc71c294b5562af30b9e2b03e76cec0cc6d8b50694219404aaed2ace8f756a22e"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[178'u8, 142'u8, 115'u8, 217'u8, 56'u8, 74'u8, 150'u8, 16'u8, 244'u8, 148'u8, 19'u8, 33'u8, 89'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[195'u8, 248'u8, 42'u8, 129'u8, 151'u8, 119'u8, 232'u8, 235'u8, 245'u8, 240'u8, 113'u8, 157'u8, 235'u8, 158'u8, 160'u8, 222'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[16'u8, 27'u8, 72'u8, 107'u8, 18'u8, 210'u8, 127'u8, 78'u8])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[178'u8, 142'u8, 115'u8, 217'u8, 56'u8, 74'u8, 150'u8, 16'u8, 244'u8, 148'u8, 19'u8, 33'u8, 89'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[195'u8, 248'u8, 42'u8, 129'u8, 151'u8, 119'u8, 232'u8, 235'u8, 245'u8, 240'u8, 113'u8, 157'u8, 235'u8, 158'u8, 160'u8, 222'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[16'u8, 27'u8, 72'u8, 107'u8, 18'u8, 210'u8, 127'u8, 78'u8])]) ), - (merge.ExecutionPayload)( + (bellatrix.ExecutionPayload)( parent_hash: Eth2Digest.fromHex("0x806a868f0f31e8f519fa6339ad18c414dba17feb03aaf6ca3775b152bac64f3b"), fee_recipient: ExecutionAddress.fromHex("0xa2bcc8b793c4a5d4e0f68251d2f22e1ff4366d2c"), state_root: Eth2Digest.fromHex("0x6979ac9545f31eaf7ed8bd227cd7cbd1017492b892bcc118f7417ea87d50d412"), @@ -454,7 +454,7 @@ suite "Eth1 monitor": extra_data: List[byte, MAX_EXTRA_DATA_BYTES].init(@[]), base_fee_per_gas: Eth2Digest.fromHex("0xaac988479abbe95e03cc214e7b99795c4ec117bfe4da06e4624e94b262b015e2"), block_hash: Eth2Digest.fromHex("0x14137d373f6e6110b3fe3c1d743a4f84547ad3d59d0b42598b794ff601e97e38"), - transactions: List[merge.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[10'u8, 28'u8, 79'u8, 238'u8, 85'u8, 206'u8, 161'u8, 222'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[144'u8, 222'u8, 190'u8, 14'u8, 247'u8, 119'u8, 95'u8, 48'u8, 238'u8, 50'u8, 180'u8, 12'u8, 216'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[])]) + transactions: List[bellatrix.Transaction, MAX_TRANSACTIONS_PER_PAYLOAD].init(@[List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[10'u8, 28'u8, 79'u8, 238'u8, 85'u8, 206'u8, 161'u8, 222'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[144'u8, 222'u8, 190'u8, 14'u8, 247'u8, 119'u8, 95'u8, 48'u8, 238'u8, 50'u8, 180'u8, 12'u8, 216'u8]), List[byte, Limit MAX_BYTES_PER_TRANSACTION].init(@[])]) )] for executionPayload in executionPayloads: