buildGroup method

List<TransactionWithSigner> buildGroup()

Finalize the transaction group and returned the finalized transactions.

The composer's status will be at least BUILT after executing this method.

Implementation

List<TransactionWithSigner> buildGroup() {
  final compareTo = status.index - AtcStatus.BUILT.index;
  if (compareTo >= 0) {
    return transactions;
  }

  if (transactions.isEmpty) {
    throw ArgumentError(
        'should not build transaction group with 0 transaction in composer');
  }

  if (transactions.length > 1) {
    final groupTxns = transactions.map((t) => t.transaction).toList();
    final groupId = AtomicTransfer.computeGroupId(groupTxns);
    for (var tws in transactions) {
      tws.transaction.group = groupId;
    }
  }

  _status = AtcStatus.BUILT;
  return transactions;
}