bool verify_signature(const ec_point& public_key, hash_digest hash, const endorsement& signature) { init.init(); return 1 == secp256k1_ecdsa_verify(hash.data(), hash.size(), signature.data(), signature.size(), public_key.data(), public_key.size() ); }
bool verify_signature(const ec_point& public_key, hash_digest hash, const data_chunk& signature) { std::reverse(hash.begin(), hash.end()); init.init(); return 1 == secp256k1_ecdsa_verify( hash.data(), hash.size(), signature.data(), signature.size(), public_key.data(), public_key.size() ); }
bool verify_public_key(const ec_point& public_key) { init.init(); return secp256k1_ecdsa_pubkey_verify(public_key.data(), public_key.size()) == 1; }
bool ec_multiply(ec_point& a, const ec_secret& b) { init.init(); return secp256k1_ecdsa_pubkey_tweak_mul(a.data(), a.size(), b.data()) == 1; }
bool ec_add(ec_point& a, const ec_secret& b) { init.init(); return secp256k1_ec_pubkey_tweak_add(a.data(), a.size(), b.data()) == 1; }
bool ec_tweak_add(ec_point& a, const ec_secret& b) { init.init(); return secp256k1_ec_pubkey_tweak_add(init.getContext(), a.data(), a.size(), b.data()); }