15 typedef std::vector<unsigned char>
valtype;
19 unsigned int nResult = 0;
20 for (
const valtype& pubkey : pubkeys)
31 bool isInvalid =
false;
32 return IsMine(keystore, scriptPubKey, isInvalid, sigversion);
37 bool isInvalid =
false;
38 return IsMine(keystore, dest, isInvalid, sigversion);
44 return IsMine(keystore, script, isInvalid, sigversion);
51 std::vector<valtype> vSolutions;
53 if (!
Solver(scriptPubKey, whichType, vSolutions)) {
103 if (keystore.
GetCScript(scriptID, subscript)) {
119 if (keystore.
GetCScript(scriptID, subscript)) {
134 std::vector<valtype> keys(vSolutions.begin()+1, vSolutions.begin()+vSolutions.size()-1);
136 for (
size_t i = 0; i < keys.size(); i++) {
137 if (keys[i].
size() != 33) {
143 if (
HaveKeys(keys, keystore) == keys.size())
boost::variant< CNoDestination, CKeyID, CScriptID > CTxDestination
A txout script template with a specific destination.
bool Solver(const CScript &scriptPubKey, txnouttype &typeRet, std::vector< std::vector< unsigned char > > &vSolutionsRet, bool contractConsensus)
Return public keys or hashes from scriptPubKey, for 'standard' transaction types. ...
std::vector< unsigned char > valtype
isminetype IsMine(const CKeyStore &keystore, const CScript &scriptPubKey, SigVersion sigversion)
bool ProduceSignature(const BaseSignatureCreator &creator, const CScript &fromPubKey, SignatureData &sigdata)
Produce a script signature using a generic signature creator.
virtual bool HaveCScript(const CScriptID &hash) const =0
Indicates that we don't know how to create a scriptSig that would solve this if we were given the app...
unsigned int HaveKeys(const std::vector< valtype > &pubkeys, const CKeyStore &keystore)
isminetype
IsMine() return codes.
virtual bool HaveKey(const CKeyID &address) const =0
Check whether a key corresponding to a given address is present in the store.
An encapsulated public key.
CScript GetScriptForDestination(const CTxDestination &dest)
virtual bool GetPubKey(const CKeyID &address, CPubKey &vchPubKeyOut) const =0
CRIPEMD160 & Write(const unsigned char *data, size_t len)
bool IsCompressed() const
Check whether this is a compressed public key.
virtual bool HaveWatchOnly(const CScript &dest) const =0
uint8_t const size_t const size
Serialized script, used inside transaction inputs and outputs.
A virtual base class for key stores.
A reference to a CKey: the Hash160 of its serialized public key.
A reference to a CScript: the Hash160 of its serialization (see script.h)
std::vector< unsigned char > valtype
Indicates that we know how to create a scriptSig that would solve this if we were given the appropria...
void Finalize(unsigned char hash[OUTPUT_SIZE])
CKeyID GetID() const
Get the KeyID of this public key (hash of its serialization)
virtual bool GetCScript(const CScriptID &hash, CScript &redeemScriptOut) const =0
A hasher class for RIPEMD-160.
A signature creator that just produces 72-byte empty signatures.