message: [Model] Cached cold staking delegations, counting every p2cs record and not only delegation records + update cachedDelegations list using object reference.
diff: @@ -160,7 +160,8 @@ public:
  }
  // Check for delegations
  - if (record.type == TransactionRecord::P2CSDelegation || record.type == TransactionRecord::P2CSDelegationSent) {
  + if (record.type == TransactionRecord::P2CSDelegation || record.type == TransactionRecord::P2CSDelegationSent
  + || record.type == TransactionRecord::StakeDelegated || record.type == TransactionRecord::StakeHot) {
  checkForDelegations(record, wallet, cachedDelegations);
  }
  }
  @@ -177,7 +178,7 @@ public:
  static void checkForDelegations(const TransactionRecord& record, const CWallet* wallet, QList<CSDelegation>& cachedDelegations) {
  CSDelegation delegation(false, record.address);
  - delegation.isSpendable = record.type == TransactionRecord::P2CSDelegationSent;
  + delegation.isSpendable = record.type == TransactionRecord::P2CSDelegationSent || record.type == TransactionRecord::StakeDelegated;
  // Append only stakeable utxo and not every output of the record
  const QString& hashTxId = record.getTxID();
  @@ -208,7 +209,7 @@ public:
  if (index == -1) {
  cachedDelegations.append(delegation);
  } else {
  - CSDelegation del = cachedDelegations[index];
  + CSDelegation& del = cachedDelegations[index];
  del.delegatedUtxo.unite(delegation.delegatedUtxo);
  del.cachedTotalAmount += delegation.cachedTotalAmount;
  }
  @@ -291,7 +292,8 @@ public:
  if (!hasZcTxes) hasZcTxes = HasZcTxesIfNeeded(rec);
  // Check for delegations
  - if (rec.type == TransactionRecord::P2CSDelegation || rec.type == TransactionRecord::P2CSDelegationSent) {
  + if (rec.type == TransactionRecord::P2CSDelegation || rec.type == TransactionRecord::P2CSDelegationSent
  + || rec.type == TransactionRecord::StakeDelegated || rec.type == TransactionRecord::StakeHot) {
  checkForDelegations(rec, wallet, cachedDelegations);
  }
  