[backport#18587] gui: Avoid wallet tryGetBalances calls in WalletModel…


[backport#18587] gui: Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged

d3a56be77a9d112cde4baef4314882170b9f228f Revert "gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged" (Russell Yanofsky)
bf0a510981ddc28c754881ca21c50ab18e5f2b59 gui: Avoid wallet tryGetBalances calls before TransactionChanged or BlockTip notifications (Russell Yanofsky)
2bc9b92ed8b7736ad67876398a0bb8287f57e9b3 Cancel wallet balance timer when shutdown requested (Russell Yanofsky)
83f69fab3a1ae97c5cff8ba1e6fd191b0fa264bb Switch transaction table to use wallet height not node height (Russell Yanofsky)

Pull request description:

Main commit `gui: Avoid wallet tryGetBalances calls` is one-line change to `WalletModel::pollBalanceChanged` that returns early if there hasn't been a new `TransactionChanged` or `BlockTip` notification since the previous poll call. This is the same behavior that was implemented in #18160, now implemented in a simpler way.

The other commits are a straight revert of #18160, and two tweaks to avoid relying on `WalletModel::m_client_model` lifetime which were causing travis failures with earlier versions of this PR.

Motivation for this change is to be able to revert #18160 and cut down on unnecessary cross-process calls that happen when #18160 is combined with #10102

This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

Backport of Core PR18587

Test Plan:

ninja all check-check-functional

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Differential Revision: https://reviews.bitcoinabc.org/D9168


Jonas Schnelli <dev@jonasschnelli.ch>Authored on May 20 2020, 09:09
majcostaCommitted on Feb 5 2021, 18:11
majcostaPushed on Feb 5 2021, 18:11
Restricted Project
Differential Revision
D9168: [backport#18587] gui: Avoid wallet tryGetBalances calls in WalletModel::pollBalanceChanged
rABC1bc6f8147fa8: doc: elaborate on release notes wrt netmasks