pub enum TransactionPayload {
Script(Script),
EntryFunction(EntryFunction),
Multisig(Multisig),
Payload(TransactionPayloadInner),
// some variants omitted
}Expand description
The payload of a transaction, specifying what action to take.
Note: Variant indices must match Aptos core for BCS compatibility:
- 0: Script
- 1:
ModuleBundle(deprecated) - 2:
EntryFunction - 3: Multisig
- 4:
Payload(unified executable + extra-config format; used for orderless transactions)
Variants§
Script(Script)
Execute a script with bytecode (variant 0).
EntryFunction(EntryFunction)
Call an entry function on a module (variant 2).
Multisig(Multisig)
Multisig transaction payload (variant 3).
Payload(TransactionPayloadInner)
Unified payload format carrying an executable plus extra configuration (variant 4).
This is the format the chain uses for orderless transactions, where
replay protection is provided by a nonce (in the extra config) instead of
a sequence number. See TransactionPayloadInner.
Implementations§
Source§impl TransactionPayload
impl TransactionPayload
Sourcepub fn into_orderless(self, nonce: u64) -> AptosResult<Self>
pub fn into_orderless(self, nonce: u64) -> AptosResult<Self>
Wraps an EntryFunction or Script payload as an orderless
Payload with the given replay-protection
nonce.
The resulting payload must be sent in a RawTransaction whose
sequence_number is u64::MAX, which is how the chain distinguishes
nonce-based (orderless) replay protection from sequence-number-based
replay protection.
§Errors
Returns AptosError::Transaction
if the payload is not an EntryFunction or Script (multisig, module
bundle, and already-wrapped Payload variants are not supported as
orderless executables).
Trait Implementations§
Source§impl Clone for TransactionPayload
impl Clone for TransactionPayload
Source§fn clone(&self) -> TransactionPayload
fn clone(&self) -> TransactionPayload
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransactionPayload
impl Debug for TransactionPayload
Source§impl<'de> Deserialize<'de> for TransactionPayload
impl<'de> Deserialize<'de> for TransactionPayload
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for TransactionPayload
Source§impl From<EntryFunction> for TransactionPayload
impl From<EntryFunction> for TransactionPayload
Source§fn from(entry_function: EntryFunction) -> Self
fn from(entry_function: EntryFunction) -> Self
Source§impl From<Script> for TransactionPayload
impl From<Script> for TransactionPayload
Source§impl PartialEq for TransactionPayload
impl PartialEq for TransactionPayload
Source§impl Serialize for TransactionPayload
impl Serialize for TransactionPayload
impl StructuralPartialEq for TransactionPayload
Auto Trait Implementations§
impl Freeze for TransactionPayload
impl RefUnwindSafe for TransactionPayload
impl Send for TransactionPayload
impl Sync for TransactionPayload
impl Unpin for TransactionPayload
impl UnsafeUnpin for TransactionPayload
impl UnwindSafe for TransactionPayload
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.