Skip to main content

with_cloned_context

Function with_cloned_context 

pub fn with_cloned_context<CTX>(
    ecx: &mut CTX,
    f: impl FnOnce(&mut <CTX as ContextTr>::Db, EvmEnv<<CTX as FoundryContextExt>::Spec, <CTX as ContextTr>::Block>, JournalInner<JournalEntry>) -> Result<(EvmEnv<<CTX as FoundryContextExt>::Spec, <CTX as ContextTr>::Block>, JournalInner<JournalEntry>), EVMError<DatabaseError>>,
) -> Result<(), EVMError<DatabaseError>>
where CTX: FoundryContextExt,
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.