15 #include "validation.h" 18 typedef std::vector<unsigned char>
valtype;
22 unsigned int nResult = 0;
23 for (
const valtype& pubkey : pubkeys)
34 bool isInvalid =
false;
35 return IsMine(keystore, scriptPubKey, isInvalid, sigversion);
40 bool isInvalid =
false;
41 return IsMine(keystore, dest, isInvalid, sigversion);
47 return IsMine(keystore, script, isInvalid, sigversion);
54 std::vector<valtype> vSolutions;
56 if (!
Solver(scriptPubKey, whichType, vSolutions)) {
105 if (keystore.
GetCScript(scriptID, subscript)) {
120 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.
unspendable OP_RETURN script that carries data
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.
CKeyID GetID() const
Get the KeyID of this public key (hash of its serialization)
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)
bool AreAssetsDeployed()
RVN START.
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)
Generate a Raven scriptPubKey for the given CTxDestination.
virtual bool GetPubKey(const CKeyID &address, CPubKey &vchPubKeyOut) const =0
bool Solver(const CScript &scriptPubKey, txnouttype &typeRet, std::vector< std::vector< unsigned char > > &vSolutionsRet)
Parse a scriptPubKey and identify script type for standard scripts.
CRIPEMD160 & Write(const unsigned char *data, size_t len)
virtual bool HaveWatchOnly(const CScript &dest) const =0
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.
std::vector< unsigned char > valtype
A reference to a CScript: the Hash160 of its serialization (see script.h)
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])
unspendable OP_RAVEN_ASSET script that carries data
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.
bool IsCompressed() const
Check whether this is a compressed public key.