Struct sputnikvm::ValidTransaction [] [src]

pub struct ValidTransaction {
    pub caller: Option<Address>,
    pub gas_price: Gas,
    pub gas_limit: Gas,
    pub action: TransactionAction,
    pub value: U256,
    pub input: Rc<Vec<u8>>,
    pub nonce: U256,
}

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 of this transaction. If caller is None, then this is a SYSTEM transaction.

Gas price of this transaction.

Gas limit of this transaction.

Transaction action.

Value of this transaction.

Data or init associated with this transaction.

Nonce of the transaction.

Methods

impl ValidTransaction
[src]

[src]

Create a valid transaction from a block transaction. Caller is always Some.

impl ValidTransaction
[src]

[src]

To address of the transaction.

[src]

Intrinsic gas to be paid in prior to this transaction execution.

[src]

Convert this transaction into a context. Note that this will change the account state.

[src]

When the execution of a transaction begins, this preclaimed value is deducted from the account.

Trait Implementations

impl Debug for ValidTransaction
[src]

[src]

Formats the value using the given formatter.

impl Clone for ValidTransaction
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more