mirror of https://github.com/status-im/nim-eth.git
add/change Deneb fields per https://github.com/ethereum/execution-apis/pull/417 (#616)
This commit is contained in:
parent
55b9da0bea
commit
c608426d03
|
@ -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]
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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()
|
||||
|
|
|
@ -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]
|
||||
|
|
Loading…
Reference in New Issue