diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2014-09-11 19:15:29 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2014-09-16 19:14:32 +0200 |
commit | 0be990ba34110184c8a5a2c04094311dab5cd84c (patch) | |
tree | 2eb24931c396ae0dc0c57fee42f345c581bd58c6 /src/script/standard.h | |
parent | ab3834baae2e48708de2be74217eaf9da9081fc3 (diff) |
Move CTxDestination from script/script to script/standard
Diffstat (limited to 'src/script/standard.h')
-rw-r--r-- | src/script/standard.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/script/standard.h b/src/script/standard.h index 6c17a9394e..ead79b82a2 100644 --- a/src/script/standard.h +++ b/src/script/standard.h @@ -45,6 +45,20 @@ enum txnouttype TX_NULL_DATA, }; +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; } +}; + +/** A txout script template with a specific destination. It is either: + * * CNoDestination: no destination set + * * CKeyID: TX_PUBKEYHASH destination + * * CScriptID: TX_SCRIPTHASH destination + * A CTxDestination is the internal data type encoded in a CBitcoinAddress + */ +typedef boost::variant<CNoDestination, CKeyID, CScriptID> CTxDestination; + const char* GetTxnOutputType(txnouttype t); bool Solver(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<std::vector<unsigned char> >& vSolutionsRet); @@ -53,4 +67,7 @@ bool IsStandard(const CScript& scriptPubKey, txnouttype& whichType); bool ExtractDestination(const CScript& scriptPubKey, CTxDestination& addressRet); bool ExtractDestinations(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<CTxDestination>& addressRet, int& nRequiredRet); +CScript GetScriptForDestination(const CTxDestination& dest); +CScript GetScriptForMultisig(int nRequired, const std::vector<CPubKey>& keys); + #endif // H_BITCOIN_SCRIPT_STANDARD |