Skip to main content

with_cloned_context

Function with_cloned_context 

pub fn with_cloned_context<CTX>(
    ecx: &mut CTX,
    f: impl FnOnce(&mut dyn DatabaseExt<<CTX as ContextTr>::Block, <CTX as ContextTr>::Tx, <<CTX as ContextTr>::Cfg as Cfg>::Spec, Error = DatabaseError>, EvmEnv<<<CTX as ContextTr>::Cfg as Cfg>::Spec, <CTX as ContextTr>::Block>, <CTX as ContextTr>::Tx, JournalInner<JournalEntry>) -> Result<(EvmEnv<<<CTX as ContextTr>::Cfg as Cfg>::Spec, <CTX as ContextTr>::Block>, JournalInner<JournalEntry>), EVMError<DatabaseError>>,
) -> Result<(), EVMError<DatabaseError>>
where CTX: EthCheatCtx,
Expand description

Clones the current context (env + journal), passes the database, cloned env, and cloned journal inner to the callback. The callback builds whatever EVM it needs, runs its operations, and returns (result, modified_env, modified_journal). Modified state is written back after the callback returns.