Changeset View
Changeset View
Standalone View
Standalone View
src/script/sign.h
Show All 15 Lines | |||||
class CTransaction; | class CTransaction; | ||||
/** Virtual base class for signature creators. */ | /** Virtual base class for signature creators. */ | ||||
class BaseSignatureCreator { | class BaseSignatureCreator { | ||||
protected: | protected: | ||||
const CKeyStore *keystore; | const CKeyStore *keystore; | ||||
public: | public: | ||||
BaseSignatureCreator(const CKeyStore *keystoreIn) : keystore(keystoreIn) {} | explicit BaseSignatureCreator(const CKeyStore *keystoreIn) | ||||
: keystore(keystoreIn) {} | |||||
const CKeyStore &KeyStore() const { return *keystore; }; | const CKeyStore &KeyStore() const { return *keystore; }; | ||||
virtual ~BaseSignatureCreator() {} | virtual ~BaseSignatureCreator() {} | ||||
virtual const BaseSignatureChecker &Checker() const = 0; | virtual const BaseSignatureChecker &Checker() const = 0; | ||||
/** Create a singular (non-script) signature. */ | /** Create a singular (non-script) signature. */ | ||||
virtual bool CreateSig(std::vector<uint8_t> &vchSig, const CKeyID &keyid, | virtual bool CreateSig(std::vector<uint8_t> &vchSig, const CKeyID &keyid, | ||||
const CScript &scriptCode) const = 0; | const CScript &scriptCode) const = 0; | ||||
}; | }; | ||||
Show All 28 Lines | MutableTransactionSignatureCreator(const CKeyStore *keystoreIn, | ||||
: TransactionSignatureCreator(keystoreIn, &tx, nInIn, amountIn, | : TransactionSignatureCreator(keystoreIn, &tx, nInIn, amountIn, | ||||
sigHashTypeIn), | sigHashTypeIn), | ||||
tx(*txToIn) {} | tx(*txToIn) {} | ||||
}; | }; | ||||
/** A signature creator that just produces 72-byte empty signatures. */ | /** A signature creator that just produces 72-byte empty signatures. */ | ||||
class DummySignatureCreator : public BaseSignatureCreator { | class DummySignatureCreator : public BaseSignatureCreator { | ||||
public: | public: | ||||
DummySignatureCreator(const CKeyStore *keystoreIn) | explicit DummySignatureCreator(const CKeyStore *keystoreIn) | ||||
: BaseSignatureCreator(keystoreIn) {} | : BaseSignatureCreator(keystoreIn) {} | ||||
const BaseSignatureChecker &Checker() const override; | const BaseSignatureChecker &Checker() const override; | ||||
bool CreateSig(std::vector<uint8_t> &vchSig, const CKeyID &keyid, | bool CreateSig(std::vector<uint8_t> &vchSig, const CKeyID &keyid, | ||||
const CScript &scriptCode) const override; | const CScript &scriptCode) const override; | ||||
}; | }; | ||||
struct SignatureData { | struct SignatureData { | ||||
CScript scriptSig; | CScript scriptSig; | ||||
Show All 31 Lines |