Module handlers

Module handlers 

Source
Expand description

Handler traits and types for the expression evaluator.

This module defines the handler traits that allow the expression evaluator to interact with different data sources and execution contexts. The handler pattern enables flexible evaluation of Solidity-like expressions against various backends such as debug snapshots, EVM state, or simulation environments.

§Handler Types

§Usage

Handlers are typically used through EvaluatorHandlers, which aggregates all handler types and can be configured with different implementations:

let handlers = EvaluatorHandlers::new()
    .with_variable_handler(Box::new(my_variable_handler))
    .with_function_call_handler(Box::new(my_function_handler));

Modules§

debug
Debug handler implementations for testing and simulation Debug handler implementations for testing and simulation.
edb
EDB handler implementations for real debug snapshots EDB handler implementations for the expression evaluator.

Structs§

EvaluatorHandlers
Combined handlers struct for the expression evaluator.

Traits§

BlockHandler
Handler trait for block global variables.
FunctionCallHandler
Handler trait for function calls and built-in functions.
MappingArrayHandler
Handler trait for mapping and array access operations.
MemberAccessHandler
Handler trait for member access operations.
MsgHandler
Handler trait for msg global variables.
TxHandler
Handler trait for tx global variables.
ValidationHandler
Handler trait for final expression validation.
VariableHandler
Handler trait for variable value resolution.