Hi Bitcoin Core maintainers.
This PR is a remastered version of fuzzing harnesses developed during a Bitcoin Core audit. It includes 1 fuzzing harnesses:
connect_block: Test the ConnectBlock() function responsible of validating the block and all its transaction with consensus rules. Thanks tojustCheckparameter no side effect is performed on the internal state enabling relatively fast fuzzing.
Besides pre-mining blocks, the harness initialization intends to bring a bit more of diversity by introducing additional transactions in blocks (otherwise only coinbases), and put some transactions in the mempool so that they can be ‘picked’ and put in a block by means of input mutation.
Note: Some additional harnesses are added in another PR: #34895
Authored by @RobinDavid and @nsurbay