Problem
The hardcoded benchmark block 413567 has several issues:
- embeds 1.1MB of binary data in the repository
- mined in 2016, predates SegWit v0, Taproot, and modern script types
- benchmarks cannot test different transaction patterns or script mixes
- updating to a newer block (e.g., #32457) would still add binary bloat and would remain inflexible
Fix
Added configurable bench/block_generator.{h,cpp} that builds fully valid blocks at runtime providing blocks or raw serialized stream.
Note that HexStrBench was simplified to work with random data - it doesn’t need to be block-related.
This supersedes #32457 by eliminating the need for any hardcoded block data while enabling flexible benchmark scenarios.