diff options
| author | Pieter Wuille <[email protected]> | 2014-09-11 19:15:29 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2014-09-16 19:14:32 +0200 |
| commit | 0be990ba34110184c8a5a2c04094311dab5cd84c (patch) | |
| tree | 2eb24931c396ae0dc0c57fee42f345c581bd58c6 /src/script/standard.h | |
| parent | Merge pull request #4928 (diff) | |
| download | discoin-0be990ba34110184c8a5a2c04094311dab5cd84c.tar.xz discoin-0be990ba34110184c8a5a2c04094311dab5cd84c.zip | |
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 6c17a9394..ead79b82a 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 |