[][src]Trait ethereumvm::Precompiled

pub trait Precompiled: Sync {
    fn step(&self, _: &[u8]) -> Rc<Vec<u8>> { ... }
fn gas(&self, _: &[u8]) -> Gas { ... }
fn gas_and_step(
        &self,
        data: &[u8],
        gas_limit: Gas
    ) -> Result<(Gas, Rc<Vec<u8>>), RuntimeError> { ... } }

Represent a precompiled contract.

Provided methods

fn step(&self, _: &[u8]) -> Rc<Vec<u8>>

Step a precompiled contract based on the gas required.

fn gas(&self, _: &[u8]) -> Gas

Gas needed for a given computation.

fn gas_and_step(
    &self,
    data: &[u8],
    gas_limit: Gas
) -> Result<(Gas, Rc<Vec<u8>>), RuntimeError>

Combine step and gas together, given the gas limit.

Loading content...

Implementors

impl Precompiled for ECRECPrecompiled[src]

impl Precompiled for IDPrecompiled[src]

impl Precompiled for RIP160Precompiled[src]

impl Precompiled for SHA256Precompiled[src]

Loading content...