b9e41907

By: Greg Pfeil <greg@technomadic.org>

qa: make wallet.py's balance checks deterministic

`wallet.py` read the wallet's transparent balance shortly after mining
and allowed a five-block tolerance for it to catch up. The balance
converges asynchronously for several seconds after the wallet reaches
the chain tip, and while it is converging it can be most of the chain
behind, so the tolerance was far too small and the check raced. Locally
this reproduces as 55 and 66 coinbases where 96 to 101 were expected;
CI has reported 43.

No `getwalletstatus` field says when the balance view is complete --
`fully_synced_height` reaches the tip well before it does -- so wait for
the balance itself to reach the expected amount, as the other
convergence helpers in this suite already do. The assertions are then
exact and the tolerance is gone.

Verified against the zaino backend: five consecutive passes, where the
previous version failed twice in two.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
GitHub
configure