This patch addresses my own review comments from the review of PR 34667 and adds some more changes that I find helpful:
- It was observed in the review of the earlier PR that there is a tendency for the test code to cause the topups not being done that defeats the purpose of the test. Combine that with the earlier issue where the block filter was not being updated ever since this test was written, I think it’s helpful that some robustness is added in the test via asserting debug logs that the topup is being indeed done.
- I think it’s also helpful to highlight when the top is being done exactly, which is when the wallet detects the concerned transaction for the first time, that is when the transaction is first broadcast. So this patch separates the transaction broadcast and block generation flows to highlight this. This also helps in generation all the blocks in one loop instead of being staggered.
- Separation of the flows also allows us to unload the wallet before blocks generation, which is not being done at all in the test currently.
- The transaction sending to the non-ranged descriptor derives its address kind of out of band because it doesn’t use the wallet that already has imported it. This patch addresses it.
- One extra block is also generated containing only non-wallet transactions.
- There are some other minor changes done that made sense after all the above changes but I can remove them if others find them not helpful.