AtomicTransfer class

An Atomic Transfer means that transactions that are part of the transfer either all succeed or all fail.

Atomic transfers allow complete strangers to trade assets without the need for a trusted intermediary, all while guaranteeing that each party will receive what they agreed to.

On Algorand, atomic transfers are implemented as irreducible batch operations, where a group of transactions are submitted as a unit and all transactions in the batch either pass or fail.

This also eliminates the need for more complex solutions like hashed timelock contracts that are implemented on other blockchains. An atomic transfer on Algorand is confirmed in less than 5 seconds, just like any other transaction.

Transactions can contain Algos or Algorand Standard Assets and may also be governed by Algorand Smart Contracts.

Constructors

AtomicTransfer()

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

computeGroupId(List<RawTransaction> transactions) Uint8List
Compute the group id of the transactions.
group(List<RawTransaction> transactions, [Address? address]) List<RawTransaction>
Group a list of transactions and assign them with a group id.

Constants

MAX_TRANSACTION_GROUP_SIZE → const int
The maximum allowed number of transactions in an atomic transfer.
TG_PREFIX → const String
The prefix for a transaction group.