refresh method

  1. @override
bool refresh({
  1. required Coin balance,
  2. required List<ShelleyAddress> usedAddresses,
  3. required List<RawTransaction> transactions,
  4. required Map<String, CurrencyAsset> assets,
  5. required List<StakeAccount> stakeAccounts,
})
override

Implementation

@override
bool refresh({
  required Coin balance,
  required List<ShelleyAddress> usedAddresses,
  required List<RawTransaction> transactions,
  required Map<String, CurrencyAsset> assets,
  required List<StakeAccount> stakeAccounts,
}) {
  bool change = false;
  if (_assets.length != assets.length) {
    change = true;
    _assets = assets;
  }
  if (_balance != balance) {
    change = true;
    _balance = balance;
  }
  if (_usedAddresses.length != usedAddresses.length) {
    change = true;
    _usedAddresses = usedAddresses;
  }
  if (_transactions.length != transactions.length) {
    change = true;
    //swap raw transactions for wallet-centric transactions:
    _transactions = transactions
        .map((t) => WalletTransactionImpl(
            rawTransaction: t, addressSet: _usedAddresses.toSet()))
        .toList();
  }
  if (_stakeAccounts.length != stakeAccounts.length) {
    change = true;
    _stakeAccounts = stakeAccounts;
  }
  return change;
}