key: add GetSecp256k1SignContext access function

This is needed in order to move the `CreateMuSig2{Nonce,PartialSig}`
functions to the musig.cpp modules, see next two commits.
This commit is contained in:
w0xlt
2026-01-16 17:55:20 +01:00
committed by Sebastian Falbesoner
parent 82733e61de
commit f36d89f436
2 changed files with 10 additions and 0 deletions

View File

@@ -568,6 +568,11 @@ bool ECC_InitSanityCheck() {
return key.VerifyPubKey(pubkey);
}
secp256k1_context* GetSecp256k1SignContext()
{
return secp256k1_context_sign;
}
/** Initialize the elliptic curve support. May not be called twice without calling ECC_Stop first. */
static void ECC_Start() {
assert(secp256k1_context_sign == nullptr);

View File

@@ -16,6 +16,8 @@
#include <stdexcept>
#include <vector>
struct secp256k1_context_struct;
typedef struct secp256k1_context_struct secp256k1_context;
/**
* CPrivKey is a serialized private key, with all parameters included
@@ -315,6 +317,9 @@ private:
/** Check that required EC support is available at runtime. */
bool ECC_InitSanityCheck();
/** Access the secp256k1 context used for signing and MuSig2 nonce generation. */
secp256k1_context* GetSecp256k1SignContext();
/**
* RAII class initializing and deinitializing global state for elliptic curve support.
* Only one instance may be initialized at a time.