Trait sputnikvm::Precompiled
[−]
[src]
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>
&self,
data: &[u8],
gas_limit: Gas
) -> Result<(Gas, Rc<Vec<u8>>), RuntimeError>
Combine step and gas together, given the gas limit.
Implementors
impl Precompiled for IDPrecompiled
impl Precompiled for RIP160Precompiled
impl Precompiled for SHA256Precompiled
impl Precompiled for ECRECPrecompiled