Module Evm_node_lib_dev.Transaction_object

type t

A transaction object value to be returned to users through the RPC server.

The EVM kernel always stores legacy transaction objects, even for transactions using a more recent format (like EIP-1559).

from_store_transaction_object obj does not attempt to reconstruct obj to be compliant with its original format, but instead returned the stored data as if it was legacy.

block_from_legacy block folds over the transactions of block, assuming they are indeed legacy (see from_store_transaction_object).

hash t returns the hash of the transaction

block_number t returns the block number in which the transaction was included, if available

input t returns the data payload of the transaction

to_ t returns the recipient address of the transaction, if available (None for contract creation)

reconstruct blueprint_payload obj reconstructs the full transaction object from the raw transaction of obj stored in blueprint_payload.

Fails if blueprint_payload is inconsistent (does not contain the raw transaction, is corrupted, etc.).

reconstruct_block blueprint_payload block folds over the transactions of block to reconstruct them (see reconstruct).

rereconstruct blueprint_payload obj can be used to retry to reconstruct obj using blueprint_payload, exactly as reconstruct would, in case obj was created with from_store_transaction_object.

  • rereconstruct blueprint_payload (reconstruct blueprint_payload obj) is a no-op.
  • rereconstruct blueprint_payload (from_store_transaction_object obj) is equivalent to reconstruct blueprint_payload obj

rereconstruct_block can be used to retry to reconstruct a block, exactly as reconstruct_block would, in case block was created with block_from_legacy.

See rereconstruct.