markSpentTransactions method

List<RawTransactionImpl> markSpentTransactions(
  1. List<RawTransactionImpl> transactions
)

Implementation

List<RawTransactionImpl> markSpentTransactions(
    List<RawTransactionImpl> transactions) {
  final Set<String> txIdSet = transactions.map((tx) => tx.txId).toSet();
  Set<String> spentTransactinos = {};
  for (final tx in transactions) {
    for (final input in tx.inputs) {
      if (txIdSet.contains(input.txHash)) {
        spentTransactinos.add(input.txHash);
      }
    }
  }
  return transactions
      .map((tx) => spentTransactinos.contains(tx.txId)
          ? tx.toStatus(TransactionStatus.spent)
          : tx)
      .toList();
}