mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-02-22 23:07:59 +01:00
refactor: Make XOnlyPubKey tolerate constexpr std::arrays
Length was already asserted inside of base_blob-ctor.
This commit is contained in:
parent
403d86f1cc
commit
2b5e6eff36
2 changed files with 1 additions and 7 deletions
|
@ -193,12 +193,6 @@ int ecdsa_signature_parse_der_lax(secp256k1_ecdsa_signature* sig, const unsigned
|
||||||
static const std::vector<unsigned char> NUMS_H_DATA{ParseHex("50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0")};
|
static const std::vector<unsigned char> NUMS_H_DATA{ParseHex("50929b74c1a04954b78b4b6035e97a5e078a5a0f28ec96d547bfee9ace803ac0")};
|
||||||
const XOnlyPubKey XOnlyPubKey::NUMS_H{NUMS_H_DATA};
|
const XOnlyPubKey XOnlyPubKey::NUMS_H{NUMS_H_DATA};
|
||||||
|
|
||||||
XOnlyPubKey::XOnlyPubKey(Span<const unsigned char> bytes)
|
|
||||||
{
|
|
||||||
assert(bytes.size() == 32);
|
|
||||||
std::copy(bytes.begin(), bytes.end(), m_keydata.begin());
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<CKeyID> XOnlyPubKey::GetKeyIDs() const
|
std::vector<CKeyID> XOnlyPubKey::GetKeyIDs() const
|
||||||
{
|
{
|
||||||
std::vector<CKeyID> out;
|
std::vector<CKeyID> out;
|
||||||
|
|
|
@ -254,7 +254,7 @@ public:
|
||||||
bool IsNull() const { return m_keydata.IsNull(); }
|
bool IsNull() const { return m_keydata.IsNull(); }
|
||||||
|
|
||||||
/** Construct an x-only pubkey from exactly 32 bytes. */
|
/** Construct an x-only pubkey from exactly 32 bytes. */
|
||||||
explicit XOnlyPubKey(Span<const unsigned char> bytes);
|
constexpr explicit XOnlyPubKey(std::span<const unsigned char> bytes) : m_keydata{bytes} {}
|
||||||
|
|
||||||
/** Construct an x-only pubkey from a normal pubkey. */
|
/** Construct an x-only pubkey from a normal pubkey. */
|
||||||
explicit XOnlyPubKey(const CPubKey& pubkey) : XOnlyPubKey(Span{pubkey}.subspan(1, 32)) {}
|
explicit XOnlyPubKey(const CPubKey& pubkey) : XOnlyPubKey(Span{pubkey}.subspan(1, 32)) {}
|
||||||
|
|
Loading…
Add table
Reference in a new issue