5 #ifndef BITCOIN_ADDRESSTYPE_H
6 #define BITCOIN_ADDRESSTYPE_H
128 using CTxDestination = std::variant<CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, WitnessUnknown>;
CScriptID ToScriptID(const ScriptHash &script_hash)
std::variant< CNoDestination, PubKeyDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, WitnessUnknown > CTxDestination
A txout script categorized into standard templates.
bool ExtractDestination(const CScript &scriptPubKey, CTxDestination &addressRet)
Parse a scriptPubKey for the destination.
bool IsValidDestination(const CTxDestination &dest)
Check whether a CTxDestination corresponds to one with an address.
CScript GetScriptForDestination(const CTxDestination &dest)
Generate a Bitcoin scriptPubKey for the given CTxDestination.
CKeyID ToKeyID(const PKHash &key_hash)
A reference to a CKey: the Hash160 of its serialized public key.
friend bool operator<(const CNoDestination &a, const CNoDestination &b)
friend bool operator==(const CNoDestination &a, const CNoDestination &b)
CNoDestination(const CScript &script)
const CScript & GetScript() const
An encapsulated public key.
Serialized script, used inside transaction inputs and outputs.
A reference to a CScript: the Hash160 of its serialization.
PKHash(const uint160 &hash)
friend bool operator<(const PubKeyDestination &a, const PubKeyDestination &b)
const CPubKey & GetPubKey() const LIFETIMEBOUND
PubKeyDestination(const CPubKey &pubkey)
friend bool operator==(const PubKeyDestination &a, const PubKeyDestination &b)
ScriptHash(const WitnessV0KeyHash &hash)=delete
ScriptHash(const uint160 &hash)
ScriptHash(const PKHash &hash)=delete
CTxDestination subtype to encode any future Witness version.
WitnessUnknown(int version, const std::vector< unsigned char > &program)
WitnessUnknown(unsigned int version, const std::vector< unsigned char > &program)
friend bool operator<(const WitnessUnknown &w1, const WitnessUnknown &w2)
unsigned int GetWitnessVersion() const
const std::vector< unsigned char > & GetWitnessProgram() const LIFETIMEBOUND
std::vector< unsigned char > m_program
friend bool operator==(const WitnessUnknown &w1, const WitnessUnknown &w2)
WitnessV0KeyHash(const uint160 &hash)
WitnessV0ScriptHash(const uint256 &hash)
WitnessV1Taproot(const XOnlyPubKey &xpk)