Expand description
Collection of traits and trait implementations for common database operations.
§Feature Flags
test-utils
: Export utilities for testing
Re-exports§
pub use providers::DatabaseProvider;
pub use providers::DatabaseProviderRO;
pub use providers::DatabaseProviderRW;
pub use providers::HistoricalStateProvider;
pub use providers::HistoricalStateProviderRef;
pub use providers::LatestStateProvider;
pub use providers::LatestStateProviderRef;
pub use providers::ProviderFactory;
pub use providers::StaticFileAccess;
pub use providers::StaticFileWriter;
Modules§
- Bundle state module. This module contains all the logic related to bundle state.
- Commonly used error types used when interacting with storage.
- Various noop implementations for traits.
- Provider trait implementations.
- serde_
bincode_ compat serde
andserde-bincode-compat
Bincode-compatible serde implementations for commonly used types for (EVM) block execution. - test_
utils test-utils
Common test helpers for mocking the Provider. - Writer standalone type.
Structs§
- A helper type for ethereum block inputs that consists of a block and the total difficulty.
- The output of an ethereum block.
- Used to hold receipts and their attachment.
- A Stream of
CanonStateNotification
. - A chain of blocks and their final state.
- All blocks in the chain
- Represents a changed account
- Wrapper type for
blocks
display inChain
- Ethereum storage implementation.
- Represents the outcome of block execution, including post-execution changes and reverts.
- Represents a gap to sync: from
local_head
totarget
Enums§
- A helper enum that represents the origin of the requested block.
- A notification that is sent when a new block is imported, or an old block is reverted.
- Result of a split chain.
- The target block where the chain should be split.
- Re-export
OriginalValuesKnown
Option for [BundleState
] when converting it to the plain state. - Re-export provider error. Bundled errors variants thrown by various providers.
- An enum that represents the storage location for a piece of data.
- Enum to control transaction hash inclusion.
Traits§
- Account reader
- Account reader
- Trait that implements how block bodies are written to the storage.
- Fork data needed for execution on it.
- BlockExecution Writer
- Client trait for fetching block hashes by number.
- Client trait for transforming [
BlockId
] into block numbers or hashes. - Client trait for getting important block numbers (such as the latest block number), converting block hashes to numbers, and fetching a block hash from its block number.
- Api trait for fetching
Block
related data. - Trait extension for
BlockReader
, for types that implementBlockId
conversion. - Block Writer
- Blockchain trait provider that gives access to the blockchain state that is not yet committed (pending).
- A type that can track updates related to fork choice updates.
- A type that allows to register chain related event subscriptions.
- A trait for reading the current chainspec.
- Functionality to read the last known chain blocks from the database.
- Functionality to write the last known chain blocks to the database.
- Trait that implements how chain-specific types are written to the storage.
- AccountChange reader
- Database provider.
- Database provider factory.
- A provider type that knows chain specific information required to configure a [
CfgEnvWithHandlerCfg
]. - Provides data required for post-block execution.
- Provides comprehensive post-execution state data required for further execution.
- Helper trait to unify all provider traits for simplicity.
- Helper trait to unify all provider traits required to support
eth
RPC server behaviour, for simplicity. - Hashing Writer
- Client trait for fetching
Header
related data. - Client trait for determining the current headers sync gap.
- History Writer
- The trait for fetching prune checkpoint related data.
- The trait for updating prune checkpoint related data.
- Client trait for fetching [Receipt] data .
- Trait extension for
ReceiptProvider
, for types that implementBlockId
conversion. - Writer trait for writing [
Receipt
] data. - The trait for fetching stage checkpoint related data.
- The trait for updating stage checkpoint related data.
- A trait specifically for writing state changes or reverts
- A type that can generate state proof on top of a given post state.
- An abstraction for a type that provides state data.
- Light wrapper that returns
StateProvider
implementations that correspond to the givenBlockNumber
, the latest state, or the pending state. - This just receives state, or
ExecutionOutcome
, from the provider - A type that can compute the state root of a given post state.
- A helper trait for
ExecutionOutcome
to write state and receipts to storage. - Static file provider factory.
- The trait for fetching provider statistics.
- Storage ChangeSet reader
- Storage reader
- A type that can compute the storage root for a given account.
- Storage Trie Writer
- Client trait for fetching [TransactionSigned] related data.
- Client trait for fetching additional [TransactionSigned] related data.
- Helper trait to combine all the traits we need for the
BlockchainProvider
- Trie Writer
- Trait implemented for database providers that can be converted into a historical state provider.
- Client trait for fetching [Withdrawal] related data.
Type Aliases§
- Types used inside
RevertsInit
to initialize revms reverts. - Type used to initialize revms bundle state.
- Type alias for a sender that sends
CanonStateNotification
- Type alias for a receiver that receives
CanonStateNotification
- Re-export provider error. Provider result type.
- Type used to initialize revms reverts.
- Type alias of boxed
StateProvider
.