EthereumBlock : StorageDescriptor < [ ] , { base_fee_per_gas : FixedSizeArray < 4 , bigint > ; blob_gas_used : FixedSizeArray < 4 , bigint > ; difficulty : FixedSizeArray < 4 , bigint > ; excess_blob_gas : FixedSizeArray < 4 , bigint > ; extra_data : Binary ; gas_limit : FixedSizeArray < 4 , bigint > ; gas_used : FixedSizeArray < 4 , bigint > ; hash : FixedSizeBinary < 32 > ; logs_bloom : FixedSizeBinary < 256 > ; miner : FixedSizeBinary < 20 > ; mix_hash : FixedSizeBinary < 32 > ; nonce : FixedSizeBinary < 8 > ; number : FixedSizeArray < 4 , bigint > ; parent_beacon_block_root ?: FixedSizeBinary < 32 > ; parent_hash : FixedSizeBinary < 32 > ; receipts_root : FixedSizeBinary < 32 > ; requests_hash ?: FixedSizeBinary < 32 > ; sha_3_uncles : FixedSizeBinary < 32 > ; size : FixedSizeArray < 4 , bigint > ; state_root : FixedSizeBinary < 32 > ; timestamp : FixedSizeArray < 4 , bigint > ; total_difficulty ?: FixedSizeArray < 4 , bigint > ; transactions : Enum < { Hashes : FixedSizeBinary < 32 > [] ; TransactionInfos : { block_hash : FixedSizeBinary < 32 > ; block_number : FixedSizeArray < 4 , bigint > ; from : FixedSizeBinary < 20 > ; hash : FixedSizeBinary < 32 > ; transaction_index : FixedSizeArray < 4 , bigint > ; transaction_signed : Enum < { Transaction1559Signed : { r : FixedSizeArray < 4 , bigint > ; s : FixedSizeArray < 4 , bigint > ; transaction_1559_unsigned : { access_list : (...)[] ; chain_id : FixedSizeArray < (...), (...)> ; gas : FixedSizeArray < (...), (...)> ; gas_price : FixedSizeArray < (...), (...)> ; input : Binary ; max_fee_per_gas : FixedSizeArray < (...), (...)> ; max_priority_fee_per_gas : FixedSizeArray < (...), (...)> ; nonce : FixedSizeArray < (...), (...)> ; "r#type" : number ; to ?: (...) | (...); value : FixedSizeArray < (...), (...)> ; } ; v ?: ...; y_parity : FixedSizeArray < 4 , bigint > ; } ; Transaction2930Signed : { r : FixedSizeArray < 4 , bigint > ; s : FixedSizeArray < 4 , bigint > ; transaction_2930_unsigned : { access_list : (...)[] ; chain_id : FixedSizeArray < (...), (...)> ; gas : FixedSizeArray < (...), (...)> ; gas_price : FixedSizeArray < (...), (...)> ; input : Binary ; nonce : FixedSizeArray < (...), (...)> ; "r#type" : number ; to ?: (...) | (...); value : FixedSizeArray < (...), (...)> ; } ; v ?: ...; y_parity : FixedSizeArray < 4 , bigint > ; } ; Transaction4844Signed : { r : FixedSizeArray < 4 , bigint > ; s : FixedSizeArray < 4 , bigint > ; transaction_4844_unsigned : { access_list : (...)[] ; blob_versioned_hashes : (...)[] ; chain_id : FixedSizeArray < (...), (...)> ; gas : FixedSizeArray < (...), (...)> ; input : Binary ; max_fee_per_blob_gas : FixedSizeArray < (...), (...)> ; max_fee_per_gas : FixedSizeArray < (...), (...)> ; max_priority_fee_per_gas : FixedSizeArray < (...), (...)> ; nonce : FixedSizeArray < (...), (...)> ; "r#type" : number ; to : FixedSizeBinary < (...)> ; value : FixedSizeArray < (...), (...)> ; } ; y_parity : FixedSizeArray < 4 , bigint > ; } ; Transaction7702Signed : { r : FixedSizeArray < 4 , bigint > ; s : FixedSizeArray < 4 , bigint > ; transaction_7702_unsigned : { access_list : (...)[] ; authorization_list : (...)[] ; chain_id : FixedSizeArray < (...), (...)> ; gas : FixedSizeArray < (...), (...)> ; gas_price : FixedSizeArray < (...), (...)> ; input : Binary ; max_fee_per_gas : FixedSizeArray < (...), (...)> ; max_priority_fee_per_gas : FixedSizeArray < (...), (...)> ; nonce : FixedSizeArray < (...), (...)> ; "r#type" : number ; to : FixedSizeBinary < (...)> ; value : FixedSizeArray < (...), (...)> ; } ; v ?: ...; y_parity : FixedSizeArray < 4 , bigint > ; } ; TransactionLegacySigned : { r : FixedSizeArray < 4 , bigint > ; s : FixedSizeArray < 4 , bigint > ; transaction_legacy_unsigned : { chain_id ?: (...) | (...); gas : FixedSizeArray < (...), (...)> ; gas_price : FixedSizeArray < (...), (...)> ; input : Binary ; nonce : FixedSizeArray < (...), (...)> ; "r#type" : number ; to ?: (...) | (...); value : FixedSizeArray < (...), (...)> ; } ; v : FixedSizeArray < 4 , bigint > ; } ; } , > ; } [] ; } , > ; transactions_root : FixedSizeBinary < 32 > ; uncles : FixedSizeBinary < 32 > [] ; withdrawals : { address : FixedSizeBinary < 20 > ; amount : FixedSizeArray < 4 , bigint > ; index : FixedSizeArray < 4 , bigint > ; validator_index : FixedSizeArray < 4 , bigint > ; } [] ; withdrawals_root : FixedSizeBinary < 32 > ; } , false , never , >
Defined in Storage/Revive.ts:91
The current Ethereum block that is stored in the
on_finalizemethod.Note
This could be further optimized into the future to store only the minimum information needed to reconstruct the Ethereum block at the RPC level.
Since the block is convenient to have around, and the extra details are capped by a few hashes and the vector of transaction hashes, we store the block here.