Enum solana_evm_loader_program::instructions::EvmInstruction[][src]

pub enum EvmInstruction {
    EvmTransaction {
        evm_tx: Transaction,
    },
    SwapNativeToEther {
        lamports: u64,
        evm_address: Address,
    },
    FreeOwnership {},
    EvmBigTransaction(EvmBigTransaction),
    EvmAuthorizedTransaction {
        from: Address,
        unsigned_tx: UnsignedTransaction,
    },
}

Variants

EvmTransaction

Execute native EVM transaction.

Outer args: account_key[0] - [writable]. EVM state account, used for lock. account_key[1] - [readable]. Optional argument, used in case tokens swaps from EVM back to native.

Fields of EvmTransaction

evm_tx: Transaction
SwapNativeToEther

Transfer native lamports to ethereum.

Outer args: account_key[0] - [writable]. EVM state account, used for lock. account_key[1] - [writable, signer]. Owner account that’s allowed to manage withdrawal of his account by transfering ownership.

Inner args: amount - count of lamports to be transfered. ether_key - recevier etherium address.

Fields of SwapNativeToEther

lamports: u64evm_address: Address
FreeOwnership

Transfer user account ownership back to system program.

Outer args: account_key[0] - [writable]. EVM state account, used for lock. account_key[1] - [writable, signer]. Owner account that’s allowed to manage withdrawal of his account by transfering ownership.

Fields of FreeOwnership

EvmBigTransaction(EvmBigTransaction)

Allocate / push data / execute Big Transaction

Outer args: account_key[0] - [writable]. EVM state account. used for lock. account_key[1] - [writable]. Big Transaction data storage.

EvmAuthorizedTransaction

Execute native EVM transaction.

Outer args: account_key[0] - [writable]. EVM state account, used for lock. account_key[1] - [writable, signer]. Co.

Inner args: from - is an address calculated using program_evm_address. unsigned_tx - is an evm transaction, that should be called, without EVM signature verification, instead solana signature verification should be called.

Fields of EvmAuthorizedTransaction

from: Addressunsigned_tx: UnsignedTransaction

Trait Implementations

impl Debug for EvmInstruction[src]

impl<'de> Deserialize<'de> for EvmInstruction[src]

impl Eq for EvmInstruction[src]

impl Ord for EvmInstruction[src]

impl PartialEq<EvmInstruction> for EvmInstruction[src]

impl PartialOrd<EvmInstruction> for EvmInstruction[src]

impl Serialize for EvmInstruction[src]

impl StructuralEq for EvmInstruction[src]

impl StructuralPartialEq for EvmInstruction[src]

Auto Trait Implementations

impl RefUnwindSafe for EvmInstruction

impl Send for EvmInstruction

impl Sync for EvmInstruction

impl Unpin for EvmInstruction

impl UnwindSafe for EvmInstruction

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> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

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

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

impl<T> MaybeDebug for T where
    T: Debug
[src]

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

type Output = T

Should always be Self

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> Typeable for T where
    T: Any

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]