Changeset View
Changeset View
Standalone View
Standalone View
src/script/sign.h
Show All 37 Lines | class TransactionSignatureCreator : public BaseSignatureCreator { | ||||
uint32_t nHashType; | uint32_t nHashType; | ||||
const TransactionSignatureChecker checker; | const TransactionSignatureChecker checker; | ||||
public: | public: | ||||
TransactionSignatureCreator(const CKeyStore *keystoreIn, | TransactionSignatureCreator(const CKeyStore *keystoreIn, | ||||
const CTransaction *txToIn, unsigned int nInIn, | const CTransaction *txToIn, unsigned int nInIn, | ||||
const Amount amountIn, | const Amount amountIn, | ||||
uint32_t nHashTypeIn = SIGHASH_ALL); | uint32_t nHashTypeIn = SIGHASH_ALL); | ||||
const BaseSignatureChecker &Checker() const { return checker; } | const BaseSignatureChecker &Checker() const override { return checker; } | ||||
bool CreateSig(std::vector<uint8_t> &vchSig, const CKeyID &keyid, | bool CreateSig(std::vector<uint8_t> &vchSig, const CKeyID &keyid, | ||||
const CScript &scriptCode) const; | const CScript &scriptCode) const override; | ||||
}; | }; | ||||
class MutableTransactionSignatureCreator : public TransactionSignatureCreator { | class MutableTransactionSignatureCreator : public TransactionSignatureCreator { | ||||
CTransaction tx; | CTransaction tx; | ||||
public: | public: | ||||
MutableTransactionSignatureCreator(const CKeyStore *keystoreIn, | MutableTransactionSignatureCreator(const CKeyStore *keystoreIn, | ||||
const CMutableTransaction *txToIn, | const CMutableTransaction *txToIn, | ||||
unsigned int nInIn, const Amount amount, | unsigned int nInIn, const Amount amount, | ||||
uint32_t nHashTypeIn) | uint32_t nHashTypeIn) | ||||
: TransactionSignatureCreator(keystoreIn, &tx, nInIn, amount, | : TransactionSignatureCreator(keystoreIn, &tx, nInIn, amount, | ||||
nHashTypeIn), | nHashTypeIn), | ||||
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) | DummySignatureCreator(const CKeyStore *keystoreIn) | ||||
: BaseSignatureCreator(keystoreIn) {} | : BaseSignatureCreator(keystoreIn) {} | ||||
const BaseSignatureChecker &Checker() const; | 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; | const CScript &scriptCode) const override; | ||||
}; | }; | ||||
struct SignatureData { | struct SignatureData { | ||||
CScript scriptSig; | CScript scriptSig; | ||||
SignatureData() {} | SignatureData() {} | ||||
explicit SignatureData(const CScript &script) : scriptSig(script) {} | explicit SignatureData(const CScript &script) : scriptSig(script) {} | ||||
}; | }; | ||||
Show All 27 Lines |