Remove not-used-anywhere scriptPrereq from SignSignature()
This commit is contained in:
parent
f290a649f9
commit
d11a58a2d3
|
@ -1525,7 +1525,7 @@ bool VerifyScript(const CScript& scriptSig, const CScript& scriptPubKey, const C
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType, CScript scriptPrereq)
|
bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType)
|
||||||
{
|
{
|
||||||
assert(nIn < txTo.vin.size());
|
assert(nIn < txTo.vin.size());
|
||||||
CTxIn& txin = txTo.vin[nIn];
|
CTxIn& txin = txTo.vin[nIn];
|
||||||
|
@ -1534,18 +1534,15 @@ bool SignSignature(const CKeyStore &keystore, const CTransaction& txFrom, CTrans
|
||||||
|
|
||||||
// Leave out the signature from the hash, since a signature can't sign itself.
|
// Leave out the signature from the hash, since a signature can't sign itself.
|
||||||
// The checksig op will also drop the signatures from its hash.
|
// The checksig op will also drop the signatures from its hash.
|
||||||
uint256 hash = SignatureHash(scriptPrereq + txout.scriptPubKey, txTo, nIn, nHashType);
|
uint256 hash = SignatureHash(txout.scriptPubKey, txTo, nIn, nHashType);
|
||||||
|
|
||||||
if (!Solver(keystore, txout.scriptPubKey, hash, nHashType, txin.scriptSig))
|
if (!Solver(keystore, txout.scriptPubKey, hash, nHashType, txin.scriptSig))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
txin.scriptSig = scriptPrereq + txin.scriptSig;
|
|
||||||
|
|
||||||
// Test solution
|
// Test solution
|
||||||
int nUnused = 0;
|
int nUnused = 0;
|
||||||
if (scriptPrereq.empty())
|
if (!VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, nUnused, 0, true))
|
||||||
if (!VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, nUnused, 0, true))
|
return false;
|
||||||
return false;
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -574,7 +574,7 @@ bool IsStandard(const CScript& scriptPubKey);
|
||||||
bool IsMine(const CKeyStore& keystore, const CScript& scriptPubKey);
|
bool IsMine(const CKeyStore& keystore, const CScript& scriptPubKey);
|
||||||
bool ExtractAddress(const CScript& scriptPubKey, CBitcoinAddress& addressRet);
|
bool ExtractAddress(const CScript& scriptPubKey, CBitcoinAddress& addressRet);
|
||||||
bool ExtractAddresses(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<CBitcoinAddress>& addressRet, int& nRequiredRet);
|
bool ExtractAddresses(const CScript& scriptPubKey, txnouttype& typeRet, std::vector<CBitcoinAddress>& addressRet, int& nRequiredRet);
|
||||||
bool SignSignature(const CKeyStore& keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType=SIGHASH_ALL, CScript scriptPrereq=CScript());
|
bool SignSignature(const CKeyStore& keystore, const CTransaction& txFrom, CTransaction& txTo, unsigned int nIn, int nHashType=SIGHASH_ALL);
|
||||||
bool VerifySignature(const CTransaction& txFrom, const CTransaction& txTo, unsigned int nIn, int& nSigOpCountRet, int nHashType=0, bool fStrictOpEval=true);
|
bool VerifySignature(const CTransaction& txFrom, const CTransaction& txTo, unsigned int nIn, int& nSigOpCountRet, int nHashType=0, bool fStrictOpEval=true);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue