This diff adds an option to the block assembler to use the finalized transactions radix avalanche_preconsensus_mine_radix_tree
for building the block template. This code is actually unreachable outside of tests so there is no change in behavior.
A follow-up diff will add a flag and a functional test for the feature. For now the tests are made of:
- A benchmark to demonstrate the performance gain of this approach (about 15x faster on my machine)
- Unit tests in the form of the actual miner tests running with preconsensus to check for regression. There are a few behavioral changes in the miner tests (e.g. due to CTOR, which is NOT enforced in the tests) but this is kept minimal.