pub trait ExecutorStrategyRunner:
Debug
+ Send
+ Sync
+ ExecutorStrategyExt {
// Required methods
fn new_backend_strategy(
&self,
ctx: &(dyn ExecutorStrategyContext + 'static),
) -> BackendStrategy;
fn new_cheatcodes_strategy(
&self,
ctx: &(dyn ExecutorStrategyContext + 'static),
) -> CheatcodeInspectorStrategy;
fn set_balance(
&self,
executor: &mut Executor,
address: Address,
amount: Uint<256, 4>,
) -> Result<(), BackendError>;
fn get_balance(
&self,
executor: &mut Executor,
address: Address,
) -> Result<Uint<256, 4>, BackendError>;
fn set_nonce(
&self,
executor: &mut Executor,
address: Address,
nonce: u64,
) -> Result<(), BackendError>;
fn get_nonce(
&self,
executor: &mut Executor,
address: Address,
) -> Result<u64, BackendError>;
fn call(
&self,
ctx: &(dyn ExecutorStrategyContext + 'static),
backend: &mut CowBackend<'_>,
env: &mut Env,
executor_env: &Env,
inspector: &mut InspectorStack,
) -> Result<ExecResultAndState<ExecutionResult>, Report>;
fn transact(
&self,
ctx: &mut (dyn ExecutorStrategyContext + 'static),
backend: &mut Backend,
env: &mut Env,
executor_env: &Env,
inspector: &mut InspectorStack,
) -> Result<ExecResultAndState<ExecutionResult>, Report>;
}Expand description
Stateless strategy runner for ExecutorStrategy.
Required Methods§
Sourcefn new_backend_strategy(
&self,
ctx: &(dyn ExecutorStrategyContext + 'static),
) -> BackendStrategy
fn new_backend_strategy( &self, ctx: &(dyn ExecutorStrategyContext + 'static), ) -> BackendStrategy
Creates a new BackendStrategy.
Sourcefn new_cheatcodes_strategy(
&self,
ctx: &(dyn ExecutorStrategyContext + 'static),
) -> CheatcodeInspectorStrategy
fn new_cheatcodes_strategy( &self, ctx: &(dyn ExecutorStrategyContext + 'static), ) -> CheatcodeInspectorStrategy
Creates a new CheatcodesStrategy.
Sourcefn set_balance(
&self,
executor: &mut Executor,
address: Address,
amount: Uint<256, 4>,
) -> Result<(), BackendError>
fn set_balance( &self, executor: &mut Executor, address: Address, amount: Uint<256, 4>, ) -> Result<(), BackendError>
Set the balance of an account.
Sourcefn get_balance(
&self,
executor: &mut Executor,
address: Address,
) -> Result<Uint<256, 4>, BackendError>
fn get_balance( &self, executor: &mut Executor, address: Address, ) -> Result<Uint<256, 4>, BackendError>
Gets the balance of an account
Sourcefn set_nonce(
&self,
executor: &mut Executor,
address: Address,
nonce: u64,
) -> Result<(), BackendError>
fn set_nonce( &self, executor: &mut Executor, address: Address, nonce: u64, ) -> Result<(), BackendError>
Set the nonce of an account.
Sourcefn get_nonce(
&self,
executor: &mut Executor,
address: Address,
) -> Result<u64, BackendError>
fn get_nonce( &self, executor: &mut Executor, address: Address, ) -> Result<u64, BackendError>
Returns the nonce of an account.
Sourcefn call(
&self,
ctx: &(dyn ExecutorStrategyContext + 'static),
backend: &mut CowBackend<'_>,
env: &mut Env,
executor_env: &Env,
inspector: &mut InspectorStack,
) -> Result<ExecResultAndState<ExecutionResult>, Report>
fn call( &self, ctx: &(dyn ExecutorStrategyContext + 'static), backend: &mut CowBackend<'_>, env: &mut Env, executor_env: &Env, inspector: &mut InspectorStack, ) -> Result<ExecResultAndState<ExecutionResult>, Report>
Execute a transaction and WITHOUT applying state changes.
Sourcefn transact(
&self,
ctx: &mut (dyn ExecutorStrategyContext + 'static),
backend: &mut Backend,
env: &mut Env,
executor_env: &Env,
inspector: &mut InspectorStack,
) -> Result<ExecResultAndState<ExecutionResult>, Report>
fn transact( &self, ctx: &mut (dyn ExecutorStrategyContext + 'static), backend: &mut Backend, env: &mut Env, executor_env: &Env, inspector: &mut InspectorStack, ) -> Result<ExecResultAndState<ExecutionResult>, Report>
Execute a transaction and apply state changes.