This means that the following fields in the current Candid definition of a Block are wrongly declared mandatory and should be made optional:
totalDifficulty
difficulty
baseFeePerGas
The current Candid definition of a Block should be changed to follow the Ethereum JSON-RPC specification. This will ensure that older blocks can be retrieved by the EVM-RPC canister. E.g., currently trying to retrieve block 0 will fail because the field baseFeePerGas is missing, since it was only introduced after block 12_965_000 (London upgrade).
According to the Ethereum JSON-RPC specification only the following fields in a
Block
record are requiredhash
parentHash
sha3Uncles
miner
stateRoot
transactionsRoot
receiptsRoot
logsBloom
number
gasLimit
gasUsed
timestamp
extraData
mixHash
nonce
size
transactions
uncles
This means that the following fields in the current Candid definition of a
Block
are wrongly declared mandatory and should be made optional:totalDifficulty
difficulty
baseFeePerGas
The current Candid definition of a
Block
should be changed to follow the Ethereum JSON-RPC specification. This will ensure that older blocks can be retrieved by the EVM-RPC canister. E.g., currently trying to retrieve block0
will fail because the fieldbaseFeePerGas
is missing, since it was only introduced after block12_965_000
(London upgrade).