From c608426d03167ff44a90ab6864c3b57eddb5512d Mon Sep 17 00:00:00 2001 From: tersec Date: Sat, 3 Jun 2023 18:47:55 +0000 Subject: [PATCH] add/change Deneb fields per https://github.com/ethereum/execution-apis/pull/417 (#616) --- eth/common/eth_types.nim | 4 +++- eth/p2p/discovery.nim | 2 +- eth/trie/nibbles.nim | 2 +- tests/rlp/test_common.nim | 3 ++- tests/rlp/test_rlp_codec.nim | 15 ++++++++++----- 5 files changed, 17 insertions(+), 9 deletions(-) diff --git a/eth/common/eth_types.nim b/eth/common/eth_types.nim index 73fc487..96122bd 100644 --- a/eth/common/eth_types.nim +++ b/eth/common/eth_types.nim @@ -99,6 +99,7 @@ type address* : EthAddress amount* : uint64 + # https://eips.ethereum.org/EIPS/eip-4844#header-extension BlockHeader* = object parentHash*: Hash256 ommersHash*: Hash256 @@ -118,7 +119,8 @@ type # `baseFee` is the get/set of `fee` fee*: Option[UInt256] # EIP-1559 withdrawalsRoot*: Option[Hash256] # EIP-4895 - excessDataGas*: Option[UInt256] # EIP-4844 + dataGasUsed*: Option[uint64] # EIP-4844 + excessDataGas*: Option[uint64] # EIP-4844 BlockBody* = object transactions*: seq[Transaction] diff --git a/eth/p2p/discovery.nim b/eth/p2p/discovery.nim index ea42c7b..3788975 100644 --- a/eth/p2p/discovery.nim +++ b/eth/p2p/discovery.nim @@ -87,7 +87,7 @@ proc recoverMsgPublicKey(msg: openArray[byte]): DiscResult[PublicKey] = proc unpack(msg: openArray[byte]): tuple[cmdId: CommandId, payload: seq[byte]] {.raises: [DiscProtocolError].} = - # Check against possible RangeError + # Check against possible RangeDefect if msg[HEAD_SIZE].int < CommandId.low.ord or msg[HEAD_SIZE].int > CommandId.high.ord: raise newException(DiscProtocolError, "Unsupported packet id") diff --git a/eth/trie/nibbles.nim b/eth/trie/nibbles.nim index 3e9928b..10332ad 100644 --- a/eth/trie/nibbles.nim +++ b/eth/trie/nibbles.nim @@ -11,7 +11,7 @@ proc initNibbleRange*(bytes: openArray[byte]): NibblesSeq = proc `{}`(r: NibblesSeq, pos: int): byte {.inline.} = ## This is a helper for a more raw access to the nibbles. ## It works with absolute positions. - if pos > r.iend: raise newException(RangeError, "index out of range") + if pos > r.iend: raise newException(RangeDefect, "index out of range") return if (pos and 1) != 0: (r.bytes[pos div 2] and 0xf) else: (r.bytes[pos div 2] shr 4) diff --git a/tests/rlp/test_common.nim b/tests/rlp/test_common.nim index 05ecf23..886911a 100644 --- a/tests/rlp/test_common.nim +++ b/tests/rlp/test_common.nim @@ -116,7 +116,8 @@ proc suite2() = doTest h # EIP-4844 - h.excessDataGas = some 1234.u256 + h.dataGasUsed = some 1234'u64 + h.excessDataGas = some 1234'u64 doTest h suite1() diff --git a/tests/rlp/test_rlp_codec.nim b/tests/rlp/test_rlp_codec.nim index 25ac586..4819e30 100644 --- a/tests/rlp/test_rlp_codec.nim +++ b/tests/rlp/test_rlp_codec.nim @@ -64,14 +64,16 @@ suite "BlockHeader roundtrip test": test "Header + none(baseFee) + some(withdrawalsRoot) + some(excessDataGas)": let h = BlockHeader( withdrawalsRoot: some(Hash256()), - excessDataGas: some(1.u256) + dataGasUsed: some(1'u64), + excessDataGas: some(1'u64) ) expect AssertionDefect: roundTrip(h) test "Header + none(baseFee) + none(withdrawalsRoot) + some(excessDataGas)": let h = BlockHeader( - excessDataGas: some(1.u256) + dataGasUsed: some(1'u64), + excessDataGas: some(1'u64) ) expect AssertionDefect: roundTrip(h) @@ -79,7 +81,8 @@ suite "BlockHeader roundtrip test": test "Header + some(baseFee) + none(withdrawalsRoot) + some(excessDataGas)": let h = BlockHeader( fee: some(2.u256), - excessDataGas: some(1.u256) + dataGasUsed: some(1'u64), + excessDataGas: some(1'u64) ) expect AssertionDefect: roundTrip(h) @@ -95,7 +98,8 @@ suite "BlockHeader roundtrip test": let h = BlockHeader( fee: some(2.u256), withdrawalsRoot: some(Hash256()), - excessDataGas: some(1.u256) + dataGasUsed: some(1'u64), + excessDataGas: some(1'u64) ) roundTrip(h) @@ -173,7 +177,8 @@ type nonce*: BlockNonce fee*: Opt[UInt256] withdrawalsRoot*: Opt[Hash256] - excessDataGas*: Opt[UInt256] + dataGasUsed*: Opt[GasInt] + excessDataGas*: Opt[GasInt] BlockBodyOpt* = object transactions*: seq[Transaction]