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.
60 KiB
60 KiB