#include <pubkey.h>
|
| static constexpr size_t | size () |
| |
Definition at line 220 of file pubkey.h.
◆ XOnlyPubKey() [1/4]
| XOnlyPubKey::XOnlyPubKey |
( |
| ) |
|
|
default |
Construct an empty x-only pubkey.
◆ XOnlyPubKey() [2/4]
◆ XOnlyPubKey() [3/4]
| XOnlyPubKey::XOnlyPubKey |
( |
Span< const unsigned char > |
bytes | ) |
|
|
explicit |
Construct an x-only pubkey from exactly 32 bytes.
Definition at line 177 of file pubkey.cpp.
◆ XOnlyPubKey() [4/4]
| XOnlyPubKey::XOnlyPubKey |
( |
const CPubKey & |
pubkey | ) |
|
|
inlineexplicit |
Construct an x-only pubkey from a normal pubkey.
Definition at line 245 of file pubkey.h.
◆ begin() [1/2]
| const unsigned char* XOnlyPubKey::begin |
( |
| ) |
const |
|
inline |
◆ begin() [2/2]
| unsigned char* XOnlyPubKey::begin |
( |
| ) |
|
|
inline |
◆ CheckTapTweak()
| bool XOnlyPubKey::CheckTapTweak |
( |
const XOnlyPubKey & |
internal, |
|
|
const uint256 & |
merkle_root, |
|
|
bool |
parity |
|
) |
| const |
Verify that this is a Taproot tweaked output point, against a specified internal key, Merkle root, and parity.
Definition at line 210 of file pubkey.cpp.
◆ ComputeTapTweakHash()
| uint256 XOnlyPubKey::ComputeTapTweakHash |
( |
const uint256 * |
merkle_root | ) |
const |
Compute the Taproot tweak as specified in BIP341, with *this as internal key:
- if merkle_root == nullptr: H_TapTweak(xonly_pubkey)
- otherwise: H_TapTweak(xonly_pubkey || *merkle_root)
Note that the behavior of this function with merkle_root != nullptr is consensus critical.
Definition at line 199 of file pubkey.cpp.
◆ CreateTapTweak()
| std::optional< std::pair< XOnlyPubKey, bool > > XOnlyPubKey::CreateTapTweak |
( |
const uint256 * |
merkle_root | ) |
const |
Construct a Taproot tweaked output point with this point as internal key.
Definition at line 218 of file pubkey.cpp.
◆ data()
| const unsigned char* XOnlyPubKey::data |
( |
| ) |
const |
|
inline |
◆ end() [1/2]
| const unsigned char* XOnlyPubKey::end |
( |
| ) |
const |
|
inline |
◆ end() [2/2]
| unsigned char* XOnlyPubKey::end |
( |
| ) |
|
|
inline |
◆ IsFullyValid()
| bool XOnlyPubKey::IsFullyValid |
( |
| ) |
const |
Determine if this pubkey is fully valid.
This is true for approximately 50% of all possible 32-byte arrays. If false, VerifySchnorr and CreatePayToContract will always fail.
Definition at line 183 of file pubkey.cpp.
◆ IsNull()
| bool XOnlyPubKey::IsNull |
( |
| ) |
const |
|
inline |
Test whether this is the 0 key (the result of default construction).
This implies !IsFullyValid().
Definition at line 239 of file pubkey.h.
◆ operator!=()
| bool XOnlyPubKey::operator!= |
( |
const XOnlyPubKey & |
other | ) |
const |
|
inline |
◆ operator<()
| bool XOnlyPubKey::operator< |
( |
const XOnlyPubKey & |
other | ) |
const |
|
inline |
◆ operator=()
◆ operator==()
| bool XOnlyPubKey::operator== |
( |
const XOnlyPubKey & |
other | ) |
const |
|
inline |
◆ operator[]()
| const unsigned char& XOnlyPubKey::operator[] |
( |
int |
pos | ) |
const |
|
inline |
◆ size()
| static constexpr size_t XOnlyPubKey::size |
( |
| ) |
|
|
inlinestatic |
◆ VerifySchnorr()
| bool XOnlyPubKey::VerifySchnorr |
( |
const uint256 & |
msg, |
|
|
Span< const unsigned char > |
sigbytes |
|
) |
| const |
Verify a Schnorr signature against this public key.
sigbytes must be exactly 64 bytes.
Definition at line 189 of file pubkey.cpp.
◆ m_keydata
The documentation for this class was generated from the following files: