Skip to main content

Module executor

Module executor 

Source

Re-exportsΒ§

use crate::eth::backend::cheats::CheatsManager; πŸ”’
use crate::eth::error::InvalidTransactionError; πŸ”’
use crate::eth::pool::transactions::PoolTransaction; πŸ”’
use crate::eth::pool::transactions::TxMarker; πŸ”’
use crate::mem::inspector::AnvilInspector; πŸ”’
use crate::mem::inspector::InspectorTxConfig; πŸ”’
use alloy_consensus::Eip658Value; πŸ”’
use alloy_consensus::Receipt; πŸ”’
use alloy_consensus::ReceiptWithBloom; πŸ”’
use alloy_consensus::Transaction; πŸ”’
use alloy_consensus::TransactionEnvelope; πŸ”’
use alloy_consensus::TransactionEnvelope; πŸ”’
use alloy_consensus::TxReceipt; πŸ”’
use alloy_consensus::transaction::Either; πŸ”’
use alloy_consensus::transaction::Recovered; πŸ”’
use alloy_eips::Encodable2718; πŸ”’
use alloy_eips::eip2935; πŸ”’
use alloy_eips::eip4788; πŸ”’
use alloy_eips::eip6110::DEPOSIT_REQUEST_TYPE; πŸ”’
use alloy_eips::eip7685::Requests; πŸ”’
use alloy_eips::eip7702::RecoveredAuthority; πŸ”’
use alloy_eips::eip7702::RecoveredAuthorization; πŸ”’
use alloy_evm::Evm; πŸ”’
use alloy_evm::FromRecoveredTx; πŸ”’
use alloy_evm::FromTxWithEncoded; πŸ”’
use alloy_evm::RecoveredTx; πŸ”’
use alloy_evm::block::BalIndexedDatabase; πŸ”’
use alloy_evm::block::BlockExecutionError; πŸ”’
use alloy_evm::block::BlockExecutionResult; πŸ”’
use alloy_evm::block::BlockExecutor; πŸ”’
use alloy_evm::block::BlockValidationError; πŸ”’
use alloy_evm::block::ExecutableTx; πŸ”’
use alloy_evm::block::GasOutput; πŸ”’
use alloy_evm::block::StateDB; πŸ”’
use alloy_evm::block::SystemCaller; πŸ”’
use alloy_evm::block::TxResult; πŸ”’
use alloy_evm::eth::EthTxResult; πŸ”’
use alloy_evm::eth::eip6110::parse_deposits_from_receipts; πŸ”’
use alloy_evm::eth::receipt_builder::ReceiptBuilder; πŸ”’
use alloy_evm::eth::receipt_builder::ReceiptBuilderCtx; πŸ”’
use alloy_evm::eth::spec::EthExecutorSpec; πŸ”’
use alloy_evm::precompiles::PrecompilesMap; πŸ”’
use alloy_hardforks::EthereumHardfork; πŸ”’
use alloy_hardforks::EthereumHardforks; πŸ”’
use alloy_hardforks::ForkCondition; πŸ”’
use alloy_primitives::Address; πŸ”’
use alloy_primitives::B256; πŸ”’
use alloy_primitives::Bytes; πŸ”’
use alloy_primitives::Log; πŸ”’
use alloy_primitives::U256; πŸ”’
use alloy_primitives::map::HashSet; πŸ”’
use anvil_core::eth::transaction::MaybeImpersonatedTransaction; πŸ”’
use anvil_core::eth::transaction::PendingTransaction; πŸ”’
use anvil_core::eth::transaction::TransactionInfo; πŸ”’
use foundry_evm::core::env::FoundryTransaction; πŸ”’
use foundry_evm::core::evm::IntoInstructionResult; πŸ”’
use foundry_primitives::FoundryReceiptEnvelope; πŸ”’
use foundry_primitives::FoundryTxEnvelope; πŸ”’
use foundry_primitives::FoundryTxType; πŸ”’
use revm::Database; πŸ”’
use revm::DatabaseCommit; πŸ”’
use revm::context::Block as RevmBlock; πŸ”’
use revm::context_interface::result::ExecutionResult; πŸ”’
use revm::context_interface::result::Output; πŸ”’
use revm::context_interface::result::ResultAndState; πŸ”’
use revm::interpreter::InstructionResult; πŸ”’
use revm::primitives::hardfork::SpecId; πŸ”’
use revm::state::AccountInfo; πŸ”’
use revm::state::EvmState; πŸ”’
use std::fmt; πŸ”’
use std::fmt::Debug; πŸ”’
use std::fmt::Debug; πŸ”’
use std::mem::take; πŸ”’
use std::sync::Arc; πŸ”’
use tempo_precompiles::NONCE_PRECOMPILE_ADDRESS; πŸ”’
use tempo_precompiles::nonce::NonceManager; πŸ”’
use base_common_consensus::Eip8130Receipt; πŸ”’ base
use base_common_evm::Eip8130PhaseStatuses; πŸ”’ base
use foundry_evm::hardfork::FoundryHardfork; πŸ”’ base or optimism

ModulesΒ§

optimism πŸ”’ base or optimism
OP-stack receipt construction for the Anvil block executor.

StructsΒ§

ActiveEthereumSpec πŸ”’
A hardfork specification whose configured Ethereum fork is active from genesis.
AnvilBlockExecutor
Block executor for Anvil that implements [BlockExecutor].
AnvilTxResult
Result of executing a transaction in AnvilBlockExecutor.
EthereumBlockTransitions πŸ”’
Ethereum-only consensus transition configuration for an Anvil block executor.
ExecutedPoolTransactions
Result of executing pool transactions against a block executor.
FoundryReceiptBuilder
Receipt builder for transaction types that do not require network-specific metadata.
PoolTxGasConfig
Gas-related configuration for pool transaction execution.

EnumsΒ§

BlockExecutionKind πŸ”’
Determines whether an executor produces a complete block or a historical transaction prefix.

FunctionsΒ§

append_deposit_requests πŸ”’
apply_ethereum_post_execution_changes πŸ”’
Collects deposits before draining the withdrawal and consolidation request queues.
apply_ethereum_pre_execution_changes πŸ”’
Applies canonical Ethereum block-start transitions in consensus order.
block_blob_gas_limit πŸ”’
Returns the block’s blob gas budget.
build_tx_env_for_pending
Builds the EVM transaction env from a pending pool transaction.
execute_pool_transaction πŸ”’
Executes a pool candidate through the block executor’s ordinary transaction entry point.
execute_pool_transactions
Executes pool transactions against a block executor, handling validation, execution, commit, inspector drain, and result collection.