wallet: fix another facet of "did I get some monero" information leak

We get new pool txes before processing any tx, pool or not.
This ensures that if we're asked for a password, this does not
cause a measurable delay in the txpool query after the last
block query.
This commit is contained in:
moneromooo-monero 2019-10-15 18:10:29 +00:00
parent d5472bd87b
commit fd35e2304a
No known key found for this signature in database
GPG key ID: 686F07454D6CEFC3
4 changed files with 50 additions and 15 deletions

View file

@ -2438,7 +2438,10 @@ namespace tools
if (req.pool)
{
m_wallet->update_pool_state();
std::vector<std::pair<cryptonote::transaction, bool>> process_txs;
m_wallet->update_pool_state(process_txs);
if (!process_txs.empty())
m_wallet->process_pool_state(process_txs);
std::list<std::pair<crypto::hash, tools::wallet2::pool_payment_details>> payments;
m_wallet->get_unconfirmed_payments(payments, account_index, subaddr_indices);
@ -2518,7 +2521,10 @@ namespace tools
}
}
m_wallet->update_pool_state();
std::vector<std::pair<cryptonote::transaction, bool>> process_txs;
m_wallet->update_pool_state(process_txs);
if (!process_txs.empty())
m_wallet->process_pool_state(process_txs);
std::list<std::pair<crypto::hash, tools::wallet2::pool_payment_details>> pool_payments;
m_wallet->get_unconfirmed_payments(pool_payments, req.account_index);