buildTransaction method

Future<AptosRawTransaction> buildTransaction({
  1. required AptosAddress sender,
  2. required AptosTransactionPayload transactionPayload,
  3. AptosApiBuildTransactionParams? params,
})

Builds a raw transaction with the provided parameters.

  • sender: The sender's address.
  • transactionPayload: The transaction payload to be executed on-chain.
  • params (optional): Custom transaction settings like gas fees, expiration time, sequence number, etc.

Implementation

Future<AptosRawTransaction> buildTransaction({
  required AptosAddress sender,
  required AptosTransactionPayload transactionPayload,
  AptosApiBuildTransactionParams? params,
}) async {
  final BigInt expire = params?.transactionExpireTime ??
      BigInt.from(DateTime.now()
              .add(const Duration(minutes: 2))
              .millisecondsSinceEpoch ~/
          1000);

  return AptosRawTransaction(
    sender: sender,
    sequenceNumber:
        params?.sequenceNumber ?? await getAccountSequence(sender),
    transactionPayload: transactionPayload,
    maxGasAmount: params?.maxGasAmount ?? AptosConstants.defaultMaxGasAmount,
    gasUnitPrice: params?.gasUnitPrice ?? await getGasPrice(),
    expirationTimestampSecs: expire,
    chainId: params?.chainId ?? await getChainId(),
  );
}