mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-11-10 05:57:59 +01:00
29173d6c6cubsan: add minisketch exceptions (Cory Fields)54b5e1aeabAdd thin Minisketch wrapper to pick best implementation (Pieter Wuille)ee9dc71c1bAdd basic minisketch tests (Pieter Wuille)0659f12b13Add minisketch dependency (Gleb Naumenko)0eb7928ab8Add MSVC build configuration for libminisketch (Pieter Wuille)8bc166d5b1build: add minisketch build file and include it (Cory Fields)b2904ceb85build: add configure checks for minisketch (Cory Fields)b6487dc4efSquashed 'src/minisketch/' content from commit 89629eb2c7 (fanquake) Pull request description: This takes over #21859, which has [recently switched](https://github.com/bitcoin/bitcoin/pull/21859#issuecomment-921899200) to my integration branch. A few more build issues came up (and have been fixed) since, and after discussing with sipa it was decided I would open a PR to shepherd any final changes through. > This adds a `src/minisketch` subtree, taken from the master branch of https://github.com/sipa/minisketch, to prepare for Erlay implementation (see #21515). It gets configured for just supporting 32-bit fields (the only ones we're interested in in the context of Erlay), and some code on top is added: > * A very basic unit test (just to make sure compilation & running works; actual correctness checking is done through minisketch's own tests). > * A wrapper in `minisketchwrapper.{cpp,h}` that runs a benchmark to determine which field implementation to use. Only changes since my last update to the branch in the previous PR have been rebasing on master and fixing an issue with a header in an introduced file. ACKs for top commit: naumenkogs: ACK29173d6c6cTree-SHA512: 1217d3228db1dd0de12c2919314e1c3626c18a416cf6291fec99d37e34fb6eec8e28d9e9fb935f8590273b8836cbadac313a15f05b4fd9f9d3024c8ce2c80d02