diff options
| author | Pieter Wuille <[email protected]> | 2016-08-16 15:35:45 +0200 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2016-08-16 15:35:45 +0200 |
| commit | d2c5d044d00ec805957ab246a7863d83ca075805 (patch) | |
| tree | 154dd70f87cf7a91adeaa7658257c4faacf03e62 /src/script/bitcoinconsensus.cpp | |
| parent | Merge #8516: [trivial] remove no-longer-used InitError logic (diff) | |
| download | discoin-d2c5d044d00ec805957ab246a7863d83ca075805.tar.xz discoin-d2c5d044d00ec805957ab246a7863d83ca075805.zip | |
Precompute sighashes
Original version by Nicolas Dorier. Precomputing version by Pieter Wuille.
Diffstat (limited to 'src/script/bitcoinconsensus.cpp')
| -rw-r--r-- | src/script/bitcoinconsensus.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/script/bitcoinconsensus.cpp b/src/script/bitcoinconsensus.cpp index 62fd9031f..01a8babb6 100644 --- a/src/script/bitcoinconsensus.cpp +++ b/src/script/bitcoinconsensus.cpp @@ -84,8 +84,8 @@ static int verify_script(const unsigned char *scriptPubKey, unsigned int scriptP // Regardless of the verification result, the tx did not error. set_error(err, bitcoinconsensus_ERR_OK); - - return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), nIn < tx.wit.vtxinwit.size() ? &tx.wit.vtxinwit[nIn].scriptWitness : NULL, flags, TransactionSignatureChecker(&tx, nIn, amount), NULL); + CachedHashes cachedHashes(tx); + return VerifyScript(tx.vin[nIn].scriptSig, CScript(scriptPubKey, scriptPubKey + scriptPubKeyLen), nIn < tx.wit.vtxinwit.size() ? &tx.wit.vtxinwit[nIn].scriptWitness : NULL, flags, TransactionSignatureChecker(&tx, nIn, amount, cachedHashes), NULL); } catch (const std::exception&) { return set_error(err, bitcoinconsensus_ERR_TX_DESERIALIZE); // Error deserializing } |