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
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
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.
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.
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: Address
unsigned_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][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> MaybeDebug for T where
T: Debug,
[src]
T: Debug,
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][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<T> Typeable for T where
T: Any,
[+]
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,