diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/key.cpp | 10 | ||||
-rw-r--r-- | src/key.h | 14 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/key.cpp b/src/key.cpp index 2bd6396298..8f31146311 100644 --- a/src/key.cpp +++ b/src/key.cpp @@ -457,3 +457,13 @@ void ECC_Stop() { secp256k1_context_destroy(ctx); } } + +ECC_Context::ECC_Context() +{ + ECC_Start(); +} + +ECC_Context::~ECC_Context() +{ + ECC_Stop(); +} @@ -245,4 +245,18 @@ void ECC_Stop(); /** Check that required EC support is available at runtime. */ bool ECC_InitSanityCheck(); +/** + * RAII class initializing and deinitializing global state for elliptic curve support. + * Only one instance may be initialized at a time. + * + * In the future global ECC state could be removed, and this class could contain + * state and be passed as an argument to ECC key functions. + */ +class ECC_Context +{ +public: + ECC_Context(); + ~ECC_Context(); +}; + #endif // BITCOIN_KEY_H |