pub trait ProcessorExternalities {
    // Required methods
    fn new(context: ProcessorContext) -> Self;
    fn into_ext_info(self, memory: &impl Memory) -> Result<ExtInfo, MemoryError>;
    fn lazy_pages_init_for_program(
        mem: &mut impl Memory,
        prog_id: ProgramId,
        memory_infix: MemoryInfix,
        stack_end: Option<WasmPage>,
        globals_config: GlobalsAccessConfig,
        lazy_pages_costs: LazyPagesCosts
    );
    fn lazy_pages_post_execution_actions(mem: &mut impl Memory);
    fn lazy_pages_status() -> Status;
}
Expand description

Trait to which ext must have to work in processor wasm executor. Currently used only for lazy-pages support.

Required Methods§

source

fn new(context: ProcessorContext) -> Self

Create new

source

fn into_ext_info(self, memory: &impl Memory) -> Result<ExtInfo, MemoryError>

Convert externalities into info.

source

fn lazy_pages_init_for_program( mem: &mut impl Memory, prog_id: ProgramId, memory_infix: MemoryInfix, stack_end: Option<WasmPage>, globals_config: GlobalsAccessConfig, lazy_pages_costs: LazyPagesCosts )

Protect and save storage keys for pages which has no data

source

fn lazy_pages_post_execution_actions(mem: &mut impl Memory)

Lazy pages program post execution actions

source

fn lazy_pages_status() -> Status

Returns lazy pages status

Object Safety§

This trait is not object safe.

Implementors§

source§

impl ProcessorExternalities for Ext

Empty implementation for non-substrate (and non-lazy-pages) using