#pragma once #include namespace xrpl { template secp256k1_context const* secp256k1Context() { struct holder { secp256k1_context* impl; holder() : impl(secp256k1_context_create(SECP256K1_CONTEXT_VERIFY | SECP256K1_CONTEXT_SIGN)) { } ~holder() { secp256k1_context_destroy(impl); } }; static holder const h; return h.impl; } } // namespace xrpl