Skip to main content

Module base

Module base 

Source
Available on crate feature base only.
Expand description

Base block preparation and transaction execution for the in-memory backend.

Re-exportsΒ§

use super::Backend; πŸ”’
use crate::eth::backend::db::AnvilCacheDB; πŸ”’
use crate::eth::backend::db::Db; πŸ”’
use crate::eth::backend::db::StateRef; πŸ”’
use crate::eth::backend::executor::BlockExecutionKind; πŸ”’
use crate::eth::backend::executor::ExecutedPoolTransactions; πŸ”’
use crate::eth::backend::time::PendingBlockTimestamp; πŸ”’
use crate::eth::backend::time::TimeManager; πŸ”’
use crate::eth::error::BlockchainError; πŸ”’
use crate::eth::pool::transactions::PoolTransaction; πŸ”’
use alloy_eips::Decodable2718; πŸ”’
use alloy_eips::Encodable2718; πŸ”’
use alloy_evm::EthEvmFactory; πŸ”’
use alloy_evm::Evm; πŸ”’
use alloy_evm::EvmEnv; πŸ”’
use alloy_evm::EvmFactory; πŸ”’
use alloy_network::Network; πŸ”’
use alloy_primitives::Address; πŸ”’
use alloy_primitives::B256; πŸ”’
use alloy_primitives::TxKind; πŸ”’
use alloy_primitives::U256; πŸ”’
use anvil_core::eth::transaction::PendingTransaction; πŸ”’
use base_common_chains::ChainConfig; πŸ”’
use base_common_consensus::Predeploys; πŸ”’
use base_common_evm::BaseContext; πŸ”’
use base_common_evm::BaseEvmFactory; πŸ”’
use base_common_evm::BaseHaltReason; πŸ”’
use base_common_evm::BaseSpecId; πŸ”’
use base_common_evm::BaseTime; πŸ”’
use base_common_evm::BaseTransaction; πŸ”’
use base_common_evm::BaseUpgrade; πŸ”’
use base_common_evm::L1BlockInfo; πŸ”’
use base_common_genesis::RollupConfig; πŸ”’
use base_common_rpc_types::EIP8130_PRE_ZENITH_RPC_ERROR; πŸ”’
use base_consensus_upgrades::Jovian; πŸ”’
use base_protocol::BaseTimeUpdateTx; πŸ”’
use base_protocol::L1BlockInfoJovian; πŸ”’
use base_protocol::L1BlockInfoTx; πŸ”’
use foundry_evm::backend::DatabaseError; πŸ”’
use foundry_evm::hardfork::FoundryHardfork; πŸ”’
use foundry_primitives::FoundryTxEnvelope; πŸ”’
use revm::DatabaseRef; πŸ”’
use revm::Inspector; πŸ”’
use revm::context::TxEnv; πŸ”’
use revm::context::result::ExecutionResult; πŸ”’
use revm::context::result::HaltReason; πŸ”’
use revm::context::result::Output; πŸ”’
use revm::context::result::ResultAndState; πŸ”’
use revm::database::EmptyDB; πŸ”’
use revm::database_interface::WrapDatabaseRef; πŸ”’
use std::sync::Arc; πŸ”’

FunctionsΒ§

ensure_l1_block_predeploy πŸ”’
Installs the canonical L1Block runtime when a local chain has no deployment.
next_millis_part πŸ”’
Advances the persisted BaseTime phase, independently of the absolute block number.
prepare_block_timestamp πŸ”’
Prepares the whole-second carry and explicit time controls for a Denim child block.
system_transactions πŸ”’
Builds the L1-info and BaseTime deposits from the candidate’s parent database.
validate_system_transactions πŸ”’
Rejects a candidate whose mandatory prefix was skipped or reverted during execution.