After the implementation of ZIP 236, `TestBlockValidity` would fail to
correctly handle blocks newly created by the miner because the value
allocated to the lockbox was not computed in the path to calling
`ContextualCheckBlock`. This refactors the computation of the lockbox
value and other pool values such that it is always performed prior to
invoking `CheckBlock`.
Secondarily, the `coinbase_funding_streams` test was previously
inadvertently creating a silent chain fork by applying different funding
stream rules on the node on which the block was created relative to the
second node used in the test.
Author: Kris Nuttycombe <kris@nutty.land>
Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org>
These features were deprecated at least 3 minor releases ago. I found
one mistake which was that `z_validateaddress` had not been placed
behind the `addrtype` deprecated feature; this has been fixed.
Add funding streams to consensus parameters.
Add funding stream payments to coinbase txns generated by the miner.
* Reduce valueBalance for shielded outputs to funding streams.
* Ensure we produce binding signatures in any case where shielded
outputs go to either a funding stream or the miner.