[][src]Struct ethereumvm::UntrustedTransaction

pub struct UntrustedTransaction {
    pub caller: AccountCommitment,
    pub gas_price: Gas,
    pub gas_limit: Gas,
    pub action: TransactionAction,
    pub value: U256,
    pub input: Rc<Vec<u8>>,
}

Represents an Ethereum transaction.

About SYSTEM transaction

SYSTEM transaction in Ethereum is something that cannot be executed by the user, and is enforced by the blockchain rules. The SYSTEM transaction does not have a caller. When executed in EVM, however, the CALLER opcode would return 0xffffffffffffffffffffffffffffffffffffffff. As a result, when executing a message call or a contract creation, nonce are not changed. A SYSTEM transaction must have gas_price set to zero. Because the transaction reward is always zero, a SYSTEM transaction will also not invoke creation of the beneficiary address if it does not exist before.

Fields

caller: AccountCommitment

The caller. Must be attached with its commitment,

gas_price: Gas

Transaction gas price.

gas_limit: Gas

Transaction gas limit.

action: TransactionAction

Action CALL/CREATE of the transaction.

value: U256

Value sent with this transaction.

input: Rc<Vec<u8>>

Transaction input.

Methods

impl UntrustedTransaction[src]

pub fn to_valid<P: Patch>(
    &self,
    patch: &P
) -> Result<ValidTransaction, PreExecutionError>
[src]

Convert to a valid transaction.

Trait Implementations

impl Clone for UntrustedTransaction[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for UntrustedTransaction[src]

Auto Trait Implementations

Blanket Implementations

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

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

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.

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

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

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

impl<T> Same<T> for T

type Output = T

Should always be Self