From 30a3cc2462a7083c710f7314dfdaed5c3915312d Mon Sep 17 00:00:00 2001 From: Colin LeMahieu Date: Fri, 15 Mar 2024 23:31:57 +0000 Subject: [PATCH] Rewrite wallet::search_receivable in terms of receivable iterators --- nano/node/wallet.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/nano/node/wallet.cpp b/nano/node/wallet.cpp index 6d7b6cd7a..927d22f52 100644 --- a/nano/node/wallet.cpp +++ b/nano/node/wallet.cpp @@ -1182,15 +1182,14 @@ bool nano::wallet::search_receivable (store::transaction const & wallet_transact // Don't search pending for watch-only accounts if (!nano::wallet_value (i->second).key.is_zero ()) { - for (auto j (wallets.node.store.pending.begin (block_transaction, nano::pending_key (account, 0))), k (wallets.node.store.pending.end ()); j != k && nano::pending_key (j->first).account == account; ++j) + for (auto i = wallets.node.ledger.receivable_upper_bound (block_transaction, account, 0), n = wallets.node.ledger.receivable_end (); i != n; ++i) { - nano::pending_key key (j->first); - auto hash (key.hash); - nano::pending_info pending (j->second); - auto amount (pending.amount.number ()); + auto const & [key, info] = *i; + auto hash = key.hash; + auto amount = info.amount.number (); if (wallets.node.config.receive_minimum.number () <= amount) { - wallets.node.logger.info (nano::log::type::wallet, "Found a receivable block {} for account {}", hash.to_string (), pending.source.to_account ()); + wallets.node.logger.info (nano::log::type::wallet, "Found a receivable block {} for account {}", hash.to_string (), info.source.to_account ()); if (wallets.node.ledger.block_confirmed (block_transaction, hash)) {