Expand description
Support for running multiple fork backends.
The design is similar to the single SharedBackend, BackendHandler but supports multiple
concurrently active pairs at once.
Re-exportsΒ§
use super::CreateFork;πuse super::Fork;πuse super::bal;πuse crate::FoundryBlock;πuse crate::opts::ForkContext;πuse alloy_eips::BlockNumHash;πuse alloy_eips::eip7928::BlockAccessList;πuse alloy_evm::EvmEnv;πuse alloy_network::AnyNetwork;πuse alloy_network::Network;πuse alloy_primitives::map::HashMap;πuse foundry_config::Config;πuse foundry_fork_db::BackendHandler;πuse foundry_fork_db::BlockchainDb;πuse foundry_fork_db::ForkBlock;πuse foundry_fork_db::ForkBlockEnv;πuse foundry_fork_db::cache::BlockchainDbMeta;πuse futures::FutureExt;πuse futures::StreamExt;πuse futures::channel::mpsc::Receiver;πuse futures::channel::mpsc::Sender;πuse futures::channel::mpsc::channel;πuse futures::stream::Fuse;πuse futures::task::Context;πuse futures::task::Poll;πuse revm::primitives::hardfork::SpecId;πuse std::fmt;πuse std::fmt::Write;πuse std::pin::Pin;πuse std::sync::Arc;πuse std::sync::atomic::AtomicBool;πuse std::sync::atomic::AtomicUsize;πuse std::sync::atomic::Ordering;πuse std::sync::mpsc::Sender as OneshotSender;πuse std::sync::mpsc::channel as oneshot_channel;πuse std::time::Duration;π
StructsΒ§
- Created
Fork π - Tracks the created Fork
- ForkId
- The unique identifier for a specific fork, this could be the name of the network a custom descriptive name.
- Fork
Result - Backend, environment, and identity returned after creating or rolling a fork.
- Multi
Fork - The Sender half of multi fork pair.
Can send requests to the
MultiForkHandlerto create forks. - Multi
Fork Handler - The type that manages connections in the background.
- Shut
Down πMulti Fork - A type thatβs used to signaling the
MultiForkHandlerwhen itβs time to shut down.
EnumsΒ§
FunctionsΒ§
- create_
backend π - Creates the backend of a resolved fork.
- create_
fork π - Creates a new fork.
Type AliasesΒ§
- Create
Future π - Create
Sender π - GetEvm
EnvSender π