Block Proof
The Block Proof is a proof that the block is valid. It is used to verify the block of the execution layer.
This Proof is used for the following RPC-Methods:
EthBlockProof
the stateRoot proof is used as part of different other types since it contains all relevant proofs to validate the stateRoot of the execution layer
The Type is defined in src/chains/eth/ssz/verify_proof_types.h.
class EthBlockProof(Container):
executionPayload : Union [ # the merkle prooof from the executionPayload.state down to the blockBodyRoot hash
DenepExecutionPayload, # DenepExecutionPayload
GnosisExecutionPayload] # GnosisExecutionPayload
proof : List [bytes32, 256] # the merkle prooof from the executionPayload.state down to the blockBodyRoot hash
header : BeaconBlockHeader # the header of the beacon block
historic_proof : Union [ # optional historic proof. If non null, the block is verified by this proof and the signature confirm the future block.
None, # no block-proof for latest
EthHistoricBlockProof, # proof for a historic block using the state_root
EthHeadersBlockProof] # proof block giving headers
sync_committee_bits : BitVector [512] # the bits of the validators that signed the block
sync_committee_signature : ByteVector [96] # the signature of the sync committee
Referenced Types
GnosisExecutionPayload
EthBlockNumberProof
for eth_blockNumber
we need to proof the blocknumber and the timestamp of the latest block.
The Type is defined in src/chains/eth/ssz/verify_proof_types.h.
class EthBlockNumberProof(Container):
blockNumber : Uint64 # the block number of the latest block
timestamp : Uint64 # the timestamp of the latest block
proof : List [bytes32, 256] # the multi merkle prooof from the executionPayload.blockNumber and executionPayload.timestamp down to the blockBodyRoot hash
header : BeaconBlockHeader # the header of the beacon block
historic_proof : Union [ # optional historic proof. If non null, the block is verified by this proof and the signature confirm the future block.
None, # no block-proof for latest
EthHistoricBlockProof, # proof for a historic block using the state_root
EthHeadersBlockProof] # proof block giving headers
sync_committee_bits : BitVector [512] # the bits of the validators that signed the block
sync_committee_signature : ByteVector [96] # the signature of the sync committee
Referenced Types
EthBlockData
display the block data , which is based on the execution payload
The Type is defined in src/chains/eth/ssz/verify_data_types.h.
class EthBlockData(Container):
number : Uint64 # the blocknumber
hash : Bytes32 # the blockhash
transactions : Union [ # the transactions
List [bytes32, 4096], # the transactions hashes
List [EthTxData, 4096]] # the transactions data
logsBloom : ByteVector [256] # the logsBloom
receiptsRoot : Bytes32 # the receiptsRoot
extraData : Bytes[32] # the extraData
withdrawalsRoot : Bytes32 # the withdrawalsRoot
baseFeePerGas : Uint256 # the baseFeePerGas
nonce : ByteVector [8] # the nonce
miner : Address # the miner
withdrawals : List [DenepWithdrawal, 4096] # the withdrawals
excessBlobGas : Uint64 # the excessBlobGas
difficulty : Uint64 # the difficulty
gasLimit : Uint64 # the gasLimit
gasUsed : Uint64 # the gasUsed
timestamp : Uint64 # the timestamp
mixHash : Bytes32 # the mixHash
parentHash : Bytes32 # the parentHash
uncles : List [bytes32, 4096] # the transactions hashes
parentBeaconBlockRoot : Bytes32 # the parentBeaconBlockRoot
sha3Uncles : Bytes32 # the sha3Uncles of the uncles
transactionsRoot : Bytes32 # the transactionsRoot
stateRoot : Bytes32 # the stateRoot
blobGasUsed : Uint64 # the gas used for the blob transactions
Referenced Types
Last updated