From d11a58a2d39b90dfe27d3a696b3977b87d7c8113 Mon Sep 17 00:00:00 2001 From: Gavin Andresen Date: Wed, 4 Jan 2012 17:31:21 -0500 Subject: [PATCH] Remove not-used-anywhere scriptPrereq from SignSignature() --- src/script.cpp | 11 ++++------- src/script.h | 2 +- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/script.cpp b/src/script.cpp index 3487280..d0fb830 100644 --- a/src/script.cpp +++ b/src/script.cpp @@ -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()); 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. // 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)) return false; - txin.scriptSig = scriptPrereq + txin.scriptSig; - // Test solution int nUnused = 0; - if (scriptPrereq.empty()) - if (!VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, nUnused, 0, true)) - return false; + if (!VerifyScript(txin.scriptSig, txout.scriptPubKey, txTo, nIn, nUnused, 0, true)) + return false; return true; } diff --git a/src/script.h b/src/script.h index 0080f5b..64171c7 100644 --- a/src/script.h +++ b/src/script.h @@ -574,7 +574,7 @@ bool IsStandard(const CScript& scriptPubKey); bool IsMine(const CKeyStore& keystore, const CScript& scriptPubKey); bool ExtractAddress(const CScript& scriptPubKey, CBitcoinAddress& addressRet); bool ExtractAddresses(const CScript& scriptPubKey, txnouttype& typeRet, std::vector& 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); #endif -- 1.7.1