sui_execution::verifier

Trait Verifier

Source
pub trait Verifier {
    // Required methods
    fn meter(&self, config: MeterConfig) -> Box<dyn Meter>;
    fn meter_compiled_modules(
        &mut self,
        protocol_config: &ProtocolConfig,
        modules: &[CompiledModule],
        meter: &mut dyn Meter,
    ) -> SuiResult<()>;

    // Provided method
    fn meter_module_bytes(
        &mut self,
        protocol_config: &ProtocolConfig,
        module_bytes: &[Vec<u8>],
        meter: &mut dyn Meter,
    ) -> SuiResult<()> { ... }
}

Required Methods§

Source

fn meter(&self, config: MeterConfig) -> Box<dyn Meter>

Create a new bytecode verifier meter.

Source

fn meter_compiled_modules( &mut self, protocol_config: &ProtocolConfig, modules: &[CompiledModule], meter: &mut dyn Meter, ) -> SuiResult<()>

Run the bytecode verifier with a meter limit

This function only fails if the verification does not complete within the limit. If the modules fail to verify but verification completes within the meter limit, the function succeeds.

Provided Methods§

Source

fn meter_module_bytes( &mut self, protocol_config: &ProtocolConfig, module_bytes: &[Vec<u8>], meter: &mut dyn Meter, ) -> SuiResult<()>

Implementors§