wallet: validationinterface: only handle active chain notifications
validation: Send correct notification during snapshot completion
If AssumeUtxo background sync is completed in this
ActivateBestChain() call, the GetRole() function
returns "normal" instead of "background" for this chainstate.
This would make the wallet (which ignores BlockConnected
notifcation for the background chainstate) process it, change
m_last_block_processed_height, and display an incorrect
balance.
This is a partial backport of core#27596 and core#31556
https://github.com/bitcoin/bitcoin/pull/31556/commits/226d03dd610dd65938554bcf0abfe79f7ca7fb4d
https://github.com/bitcoin/bitcoin/pull/27596/commits/fbe0a7d7ca680358237b6c2369b3fd2b43221113
The chainstate role must be passed down the function stack to ActivateBestChainStep and ConnectTip because of the change made in D16539: the BlockConnected signal is send directly by ConnectTip rather than being queued to be sent later in ActiveBestChain