pub trait BackendExternalities: Externalities + CountersOwner {
// Required methods
fn into_ext_info(self, memory: &impl Memory) -> Result<ExtInfo, MemoryError>;
fn gas_amount(&self) -> GasAmount;
fn pre_process_memory_accesses(
reads: &[MemoryInterval],
writes: &[MemoryInterval],
gas_counter: &mut u64,
) -> Result<(), ProcessAccessError>;
}
Expand description
Extended externalities that can manage gas counters.
Required Methods§
fn into_ext_info(self, memory: &impl Memory) -> Result<ExtInfo, MemoryError>
fn gas_amount(&self) -> GasAmount
Sourcefn pre_process_memory_accesses(
reads: &[MemoryInterval],
writes: &[MemoryInterval],
gas_counter: &mut u64,
) -> Result<(), ProcessAccessError>
fn pre_process_memory_accesses( reads: &[MemoryInterval], writes: &[MemoryInterval], gas_counter: &mut u64, ) -> Result<(), ProcessAccessError>
Pre-process memory access if need.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.