transactionIsBalanced method

Result<bool, String> transactionIsBalanced({
  1. required BlockchainCache cache,
  2. Coin fee = 0,
})

just return true or false if the transaction is balanced.

Implementation

Result<bool, String> transactionIsBalanced({
  required BlockchainCache cache,
  Coin fee = 0,
}) {
  final result = sumCurrencyIO(cache: cache, fee: fee);
  if (result.isErr()) return Err(result.unwrapErr());
  final sums = result.unwrap();
  final isAllZeros = sums.values.every((sum) => sum == coinZero);
  return Ok(isAllZeros);
}