14 #include <boost/foreach.hpp> 22 unsigned int nResult = 0;
23 BOOST_FOREACH(
const valtype& pubkey, pubkeys)
35 return IsMine(keystore, script);
40 vector<valtype> vSolutions;
42 if (!
Solver(scriptPubKey, whichType, vSolutions)) {
68 if (keystore.
GetCScript(scriptID, subscript)) {
82 vector<valtype> keys(vSolutions.begin()+1, vSolutions.begin()+vSolutions.size()-1);
83 if (
HaveKeys(keys, keystore) == keys.size())
boost::variant< CNoDestination, CKeyID, CScriptID > CTxDestination
isminetype IsMine(const CKeyStore &keystore, const CTxDestination &dest)
virtual bool GetCScript(const CScriptID &hash, CScript &redeemScriptOut) const =0
CKeyID GetID() const
Get the KeyID of this public key (hash of its serialization)
CScript GetScriptForDestination(const CTxDestination &dest)
virtual bool HaveWatchOnly(const CScript &dest) const =0
vector< unsigned char > valtype
unsigned int HaveKeys(const vector< valtype > &pubkeys, const CKeyStore &keystore)
vector< unsigned char > valtype
virtual bool HaveKey(const CKeyID &address) const =0
Check whether a key corresponding to a given address is present in the store.
Indicates that we know how to create a scriptSig that would solve this if we were given the appropria...
bool ProduceSignature(const BaseSignatureCreator &creator, const CScript &fromPubKey, CScript &scriptSig)
bool Solver(const CScript &scriptPubKey, txnouttype &typeRet, vector< vector< unsigned char > > &vSolutionsRet)
Indicates that we don't know how to create a scriptSig that would solve this if we were given the app...