aboutsummaryrefslogtreecommitdiff
path: root/src/script/standard.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/standard.h')
-rw-r--r--src/script/standard.h105
1 files changed, 0 insertions, 105 deletions
diff --git a/src/script/standard.h b/src/script/standard.h
index 9555cc2b61..097ab92652 100644
--- a/src/script/standard.h
+++ b/src/script/standard.h
@@ -18,7 +18,6 @@
static const bool DEFAULT_ACCEPT_DATACARRIER = true;
-class CKeyID;
class CScript;
/**
@@ -41,96 +40,6 @@ enum class TxoutType {
WITNESS_UNKNOWN, //!< Only for Witness versions not already defined above
};
-class CNoDestination {
-public:
- friend bool operator==(const CNoDestination &a, const CNoDestination &b) { return true; }
- friend bool operator<(const CNoDestination &a, const CNoDestination &b) { return true; }
-};
-
-struct PKHash : public BaseHash<uint160>
-{
- PKHash() : BaseHash() {}
- explicit PKHash(const uint160& hash) : BaseHash(hash) {}
- explicit PKHash(const CPubKey& pubkey);
- explicit PKHash(const CKeyID& pubkey_id);
-};
-CKeyID ToKeyID(const PKHash& key_hash);
-
-struct WitnessV0KeyHash;
-struct ScriptHash : public BaseHash<uint160>
-{
- ScriptHash() : BaseHash() {}
- // These don't do what you'd expect.
- // Use ScriptHash(GetScriptForDestination(...)) instead.
- explicit ScriptHash(const WitnessV0KeyHash& hash) = delete;
- explicit ScriptHash(const PKHash& hash) = delete;
-
- explicit ScriptHash(const uint160& hash) : BaseHash(hash) {}
- explicit ScriptHash(const CScript& script);
- explicit ScriptHash(const CScriptID& script);
-};
-CScriptID ToScriptID(const ScriptHash& script_hash);
-
-struct WitnessV0ScriptHash : public BaseHash<uint256>
-{
- WitnessV0ScriptHash() : BaseHash() {}
- explicit WitnessV0ScriptHash(const uint256& hash) : BaseHash(hash) {}
- explicit WitnessV0ScriptHash(const CScript& script);
-};
-
-struct WitnessV0KeyHash : public BaseHash<uint160>
-{
- WitnessV0KeyHash() : BaseHash() {}
- explicit WitnessV0KeyHash(const uint160& hash) : BaseHash(hash) {}
- explicit WitnessV0KeyHash(const CPubKey& pubkey);
- explicit WitnessV0KeyHash(const PKHash& pubkey_hash);
-};
-CKeyID ToKeyID(const WitnessV0KeyHash& key_hash);
-
-struct WitnessV1Taproot : public XOnlyPubKey
-{
- WitnessV1Taproot() : XOnlyPubKey() {}
- explicit WitnessV1Taproot(const XOnlyPubKey& xpk) : XOnlyPubKey(xpk) {}
-};
-
-//! CTxDestination subtype to encode any future Witness version
-struct WitnessUnknown
-{
- unsigned int version;
- unsigned int length;
- unsigned char program[40];
-
- friend bool operator==(const WitnessUnknown& w1, const WitnessUnknown& w2) {
- if (w1.version != w2.version) return false;
- if (w1.length != w2.length) return false;
- return std::equal(w1.program, w1.program + w1.length, w2.program);
- }
-
- friend bool operator<(const WitnessUnknown& w1, const WitnessUnknown& w2) {
- if (w1.version < w2.version) return true;
- if (w1.version > w2.version) return false;
- if (w1.length < w2.length) return true;
- if (w1.length > w2.length) return false;
- return std::lexicographical_compare(w1.program, w1.program + w1.length, w2.program, w2.program + w2.length);
- }
-};
-
-/**
- * A txout script template with a specific destination. It is either:
- * * CNoDestination: no destination set
- * * PKHash: TxoutType::PUBKEYHASH destination (P2PKH)
- * * ScriptHash: TxoutType::SCRIPTHASH destination (P2SH)
- * * WitnessV0ScriptHash: TxoutType::WITNESS_V0_SCRIPTHASH destination (P2WSH)
- * * WitnessV0KeyHash: TxoutType::WITNESS_V0_KEYHASH destination (P2WPKH)
- * * WitnessV1Taproot: TxoutType::WITNESS_V1_TAPROOT destination (P2TR)
- * * WitnessUnknown: TxoutType::WITNESS_UNKNOWN destination (P2W???)
- * A CTxDestination is the internal data type encoded in a bitcoin address
- */
-using CTxDestination = std::variant<CNoDestination, PKHash, ScriptHash, WitnessV0ScriptHash, WitnessV0KeyHash, WitnessV1Taproot, WitnessUnknown>;
-
-/** Check whether a CTxDestination is a CNoDestination. */
-bool IsValidDestination(const CTxDestination& dest);
-
/** Get the name of a TxoutType as a string */
std::string GetTxnOutputType(TxoutType t);
@@ -151,20 +60,6 @@ constexpr bool IsPushdataOp(opcodetype opcode)
*/
TxoutType Solver(const CScript& scriptPubKey, std::vector<std::vector<unsigned char>>& vSolutionsRet);
-/**
- * Parse a standard scriptPubKey for the destination address. Assigns result to
- * the addressRet parameter and returns true if successful. Currently only works for P2PK,
- * P2PKH, P2SH, P2WPKH, and P2WSH scripts.
- */
-bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet);
-
-/**
- * Generate a Bitcoin scriptPubKey for the given CTxDestination. Returns a P2PKH
- * script for a CKeyID destination, a P2SH script for a CScriptID, and an empty
- * script for CNoDestination.
- */
-CScript GetScriptForDestination(const CTxDestination& dest);
-
/** Generate a P2PK script for the given pubkey. */
CScript GetScriptForRawPubKey(const CPubKey& pubkey);