davide3011
478e8fc306
build(secp256k1): upgrade to bitcoin-core v24.2 with taproot modules
Synchronize secp256k1 library to bitcoin-core/secp256k1 as of Bitcoin Core
v24.2, enabling cryptographic primitives required for Taproot (BIP340/341).
Changes:
- Upgrade src/secp256k1 from bitcoin v24.2 tag
- Enable experimental modules via configure.ac:
* --enable-module-extrakeys (BIP340 x-only public keys)
* --enable-module-schnorrsig (BIP340 Schnorr signatures)
* --enable-module-recovery (ECDSA pubkey recovery, pre-existing)
- Update MSVC build configuration with corresponding preprocessor defines
- Regenerate autotools build files via autogen.sh
Module verification:
- ENABLE_MODULE_EXTRAKEYS: provides secp256k1_xonly_pubkey APIs
- ENABLE_MODULE_SCHNORRSIG: provides secp256k1_schnorrsig APIs
- ENABLE_MODULE_RECOVERY: provides secp256k1_ecdsa_recover APIs
Build targets:
- Linux/Unix: verified with autotools + quick-build.sh
- Windows MSVC: configuration updated (requires Windows build verification)
Testing:
- Static library compiled successfully (1.6M)
- All header files present (extrakeys.h, schnorrsig.h)
- Regtest functional tests passed:
* Transaction signing/verification
* ECDSA operations
* Block mining and validation
- No regressions on existing ECDSA functionality
This commit provides the cryptographic foundation for subsequent Taproot
implementation (BIP340/341/342) without modifying consensus or wallet logic.