Enum evm_gasometer::GasCost[][src]

pub enum GasCost {
    Zero,
    Base,
    VeryLow,
    Low,
    Invalid,
    ExtCodeSize,
    Balance,
    BlockHash,
    ExtCodeHash,
    Call {
        value: U256,
        gas: U256,
        target_exists: bool,
    },
    CallCode {
        value: U256,
        gas: U256,
        target_exists: bool,
    },
    DelegateCall {
        gas: U256,
        target_exists: bool,
    },
    StaticCall {
        gas: U256,
        target_exists: bool,
    },
    Suicide {
        value: U256,
        target_exists: bool,
        already_removed: bool,
    },
    SStore {
        original: H256,
        current: H256,
        new: H256,
    },
    Sha3 {
        len: U256,
    },
    Log {
        n: u8,
        len: U256,
    },
    ExtCodeCopy {
        len: U256,
    },
    VeryLowCopy {
        len: U256,
    },
    Exp {
        power: U256,
    },
    Create,
    Create2 {
        len: U256,
    },
    SLoad,
}

Gas cost.

Variants

Zero

Zero gas cost.

Base

Base gas cost.

VeryLow

Very low gas cost.

Low

Low gas cost.

Invalid

Fail the gasometer.

ExtCodeSize

Gas cost for EXTCODESIZE.

Balance

Gas cost for BALANCE.

BlockHash

Gas cost for BLOCKHASH.

ExtCodeHash

Gas cost for EXTBLOCKHASH.

Call

Gas cost for CALL.

Fields of Call

value: U256

Call value.

gas: U256

Call gas.

target_exists: bool

Whether the target exists.

CallCode

Gas cost for `CALLCODE.

Fields of CallCode

value: U256

Call value.

gas: U256

Call gas.

target_exists: bool

Whether the target exists.

DelegateCall

Gas cost for DELEGATECALL.

Fields of DelegateCall

gas: U256

Call gas.

target_exists: bool

Whether the target exists.

StaticCall

Gas cost for STATICCALL.

Fields of StaticCall

gas: U256

Call gas.

target_exists: bool

Whether the target exists.

Suicide

Gas cost for SUICIDE.

Fields of Suicide

value: U256

Value.

target_exists: bool

Whether the target exists.

already_removed: bool

Whether the target has already been removed.

SStore

Gas cost for SSTORE.

Fields of SStore

original: H256

Original value.

current: H256

Current value.

new: H256

New value.

Sha3

Gas cost for SHA3.

Fields of Sha3

len: U256

Length of the data.

Log

Gas cost for LOG.

Fields of Log

n: u8

Topic length.

len: U256

Data length.

ExtCodeCopy

Gas cost for EXTCODECOPY.

Fields of ExtCodeCopy

len: U256

Length.

VeryLowCopy

Gas cost for some copy opcodes that is documented as VERYLOW.

Fields of VeryLowCopy

len: U256

Length.

Exp

Gas cost for EXP.

Fields of Exp

power: U256

Power of EXP.

Create

Gas cost for CREATE.

Create2

Gas cost for CREATE2.

Fields of Create2

len: U256

Length.

SLoad

Gas cost for SLOAD.

Trait Implementations

impl Clone for GasCost[src]

impl Copy for GasCost[src]

impl Debug for GasCost[src]

Auto Trait Implementations

impl RefUnwindSafe for GasCost

impl Send for GasCost

impl Sync for GasCost

impl Unpin for GasCost

impl UnwindSafe for GasCost

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.