Transaction Proof
represents the account and storage values, including the Merkle proof, of the specified account.
The payload of the transaction is used to create its SSZ Hash Tree Root.
The SSZ Merkle Proof from the Transactions of the ExecutionPayload to the BlockBodyRoot. (Total Depth: 29)
BeaconBlockHeader is passed because also need the slot in order to find out which period and which sync committee is used.
Signature of the SyncCommittee (taken from the following block) is used to verify the SignData where the blockhash is part of the message and the Domain is calculated from the fork and the Genesis Validator Root.

This Proof is used for the following RPC-Methods:
EthTransactionProof
the main proof data for a single transaction.
The Type is defined in src/chains/eth/ssz/verify_proof_types.h.
class EthTransactionProof(Container):
transaction : Bytes[1073741824] # the raw transaction payload
transactionIndex : Uint32 # the index of the transaction in the block
blockNumber : Uint64 # the number of the execution block containing the transaction
blockHash : Bytes32 # the blockHash of the execution block containing the transaction
baseFeePerGas : Uint64 # the baseFeePerGas
proof : List [bytes32, 64] # the multi proof of the transaction, blockNumber and blockHash
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
EthAccessListData
Entry in the access list of a transaction or call.
The Type is defined in src/chains/eth/ssz/verify_data_types.h.
class EthAccessListData(Container):
address : Address
storageKeys : List [bytes32, 256]
EthAuthorizationListData
Entry in the authorization list of a transaction or call.
The Type is defined in src/chains/eth/ssz/verify_data_types.h.
class EthAuthorizationListData(Container):
address : Address # the codebase to be used for the authorization
chainId : Uint32 # the chainId of the transaction
nonce : Uint64 # nonce of the transaction
r : Bytes32 # the r value of the transaction
s : Bytes32 # the s value of the transaction
yParity : Uint8 # the yParity of the transaction
EthTxData
the transaction data as result of an eth_getTransactionByHash rpc-call. Supports all transaction types including Optimism Deposited Transactions (0x7E)
The Type is defined in src/chains/eth/ssz/verify_data_types.h.
class EthTxData(Container):
_optmask : OptMask[4] # the bitmask defining the fields to be included
blockHash : Bytes32 # the blockHash of the execution block containing the transaction
blockNumber : Uint64 # the number of the execution block containing the transaction
hash : Bytes32 # the blockHash of the execution block containing the transaction
transactionIndex : Uint32 # the index of the transaction in the block
type : Uint8 # the type of the transaction
nonce : Uint64 # the nonce of the transaction
input : Bytes[1073741824] # the raw transaction payload
r : Bytes32 # the r value of the transaction
s : Bytes32 # the s value of the transaction
chainId : Uint32 # the s value of the transaction
v : Uint8 # the v value of the transaction
gas : Uint64 # the gas limnit
from : Address # the sender of the transaction
to : Bytes[20] # the target of the transaction
value : Uint256 # the value of the transaction
gasPrice : Uint64 # the gas price of the transaction
maxFeePerGas : Uint64 # the maxFeePerGas of the transaction
maxPriorityFeePerGas : Uint64 # the maxPriorityFeePerGas of the transaction
accessList : List [EthAccessListData, 256] # the access list of the transaction
authorizationList : List [EthAuthorizationListData, 256] # the access list of the transaction
blobVersionedHashes : List [bytes32, 16] # the blobVersionedHashes of the transaction
yParity : Uint8 # the yParity of the transaction
sourceHash : Bytes32 # unique identifier for deposit origin (OP Stack only)
mint : Uint256 # ETH value to mint on L2 (OP Stack only) - rendered as uint
isSystemTx : Boolean # system transaction flag as bytes (OP Stack only) - rendered as uint
depositReceiptVersion : Uint8 # deposit receipt version (OP Stack only) - rendered as uint
Referenced Types
Last updated