pub(crate) trait DatabaseExt: JournalTr {
// Required methods
fn method_that_takes_inspector_as_argument<InspectorT, BlockT, TxT, CfgT, InstructionProviderT, PrecompileT>(
&mut self,
env: Env<BlockT, TxT, CfgT>,
inspector: InspectorT,
) -> Result<()>
where InspectorT: Inspector<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, EthInterpreter>,
BlockT: Block,
TxT: Transaction,
CfgT: Cfg,
InstructionProviderT: InstructionProvider<Context = Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, InterpreterTypes = EthInterpreter> + Default,
PrecompileT: PrecompileProvider<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, Output = InterpreterResult> + Default;
fn method_that_constructs_inspector<BlockT, TxT, CfgT, InstructionProviderT, PrecompileT>(
&mut self,
env: Env<BlockT, TxT, CfgT>,
) -> Result<()>
where BlockT: Block,
TxT: Transaction,
CfgT: Cfg,
InstructionProviderT: InstructionProvider<Context = Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, InterpreterTypes = EthInterpreter> + Default,
PrecompileT: PrecompileProvider<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, Output = InterpreterResult> + Default;
}
Expand description
Used in Foundry to provide extended functionality to cheatcodes.
The methods are called from the Cheatcodes
inspector.
Required Methods§
Sourcefn method_that_takes_inspector_as_argument<InspectorT, BlockT, TxT, CfgT, InstructionProviderT, PrecompileT>(
&mut self,
env: Env<BlockT, TxT, CfgT>,
inspector: InspectorT,
) -> Result<()>where
InspectorT: Inspector<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, EthInterpreter>,
BlockT: Block,
TxT: Transaction,
CfgT: Cfg,
InstructionProviderT: InstructionProvider<Context = Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, InterpreterTypes = EthInterpreter> + Default,
PrecompileT: PrecompileProvider<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, Output = InterpreterResult> + Default,
fn method_that_takes_inspector_as_argument<InspectorT, BlockT, TxT, CfgT, InstructionProviderT, PrecompileT>(
&mut self,
env: Env<BlockT, TxT, CfgT>,
inspector: InspectorT,
) -> Result<()>where
InspectorT: Inspector<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, EthInterpreter>,
BlockT: Block,
TxT: Transaction,
CfgT: Cfg,
InstructionProviderT: InstructionProvider<Context = Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, InterpreterTypes = EthInterpreter> + Default,
PrecompileT: PrecompileProvider<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, Output = InterpreterResult> + Default,
Mimics DatabaseExt::transact
See commit_transaction
for the generics
Sourcefn method_that_constructs_inspector<BlockT, TxT, CfgT, InstructionProviderT, PrecompileT>(
&mut self,
env: Env<BlockT, TxT, CfgT>,
) -> Result<()>where
BlockT: Block,
TxT: Transaction,
CfgT: Cfg,
InstructionProviderT: InstructionProvider<Context = Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, InterpreterTypes = EthInterpreter> + Default,
PrecompileT: PrecompileProvider<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, Output = InterpreterResult> + Default,
fn method_that_constructs_inspector<BlockT, TxT, CfgT, InstructionProviderT, PrecompileT>(
&mut self,
env: Env<BlockT, TxT, CfgT>,
) -> Result<()>where
BlockT: Block,
TxT: Transaction,
CfgT: Cfg,
InstructionProviderT: InstructionProvider<Context = Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, InterpreterTypes = EthInterpreter> + Default,
PrecompileT: PrecompileProvider<Context<BlockT, TxT, CfgT, InMemoryDB, Backend>, Output = InterpreterResult> + Default,
Mimics DatabaseExt::roll_fork_to_transaction
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.