Skip to main content

TransactionBuilder

Struct TransactionBuilder 

Source
pub struct TransactionBuilder { /* private fields */ }
Expand description

A builder for constructing transactions.

§Example

use aptos_sdk::transaction::{TransactionBuilder, EntryFunction};
use aptos_sdk::types::{AccountAddress, ChainId};

let payload = EntryFunction::apt_transfer(
    AccountAddress::from_hex("0x123").unwrap(),
    1000,
).unwrap();

let txn = TransactionBuilder::new()
    .sender(AccountAddress::ONE)
    .sequence_number(0)
    .payload(payload.into())
    .chain_id(ChainId::testnet())
    .build()
    .unwrap();

Implementations§

Source§

impl TransactionBuilder

Source

pub fn new() -> Self

Creates a new transaction builder with default values.

Source

pub fn sender(self, sender: AccountAddress) -> Self

Sets the sender address.

Source

pub fn sequence_number(self, sequence_number: u64) -> Self

Sets the sequence number.

Source

pub fn payload(self, payload: TransactionPayload) -> Self

Sets the transaction payload.

Source

pub fn max_gas_amount(self, max_gas_amount: u64) -> Self

Sets the maximum gas amount.

Source

pub fn gas_unit_price(self, gas_unit_price: u64) -> Self

Sets the gas unit price in octas.

Source

pub fn expiration_timestamp_secs(self, expiration_timestamp_secs: u64) -> Self

Sets the expiration timestamp in seconds since Unix epoch.

Source

pub fn expiration_from_now(self, seconds: u64) -> Self

Sets the expiration time relative to now.

Uses saturating arithmetic to handle edge cases like system time going backwards.

Source

pub fn chain_id(self, chain_id: ChainId) -> Self

Sets the chain ID.

Source

pub fn build(self) -> AptosResult<RawTransaction>

Builds the raw transaction.

§Errors

Returns an error if any required field is missing:

  • sender is required
  • sequence_number is required
  • payload is required
  • chain_id is required
Source

pub fn build_and_sign<A: Account>( self, account: &A, ) -> AptosResult<SignedTransaction>

Available on crate feature ed25519 only.

Builds and signs the transaction with the given account.

§Errors

Returns an error if the transaction cannot be built or signed.

Trait Implementations§

Source§

impl Clone for TransactionBuilder

Source§

fn clone(&self) -> TransactionBuilder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for TransactionBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for TransactionBuilder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more