aboutsummaryrefslogtreecommitdiff
path: root/src/test/script_tests.cpp
AgeCommit message (Collapse)Author
2014-09-26Add automatic script test generation, and actual checksig testsPieter Wuille
2014-09-22Use actually valid transactions for script testsPieter Wuille
2014-09-17Merge pull request #4555Wladimir J. van der Laan
6dcfda2 Don't pass nHashType to EvalScript nor CheckSig (jtimon) 2b23a87 Don't pass nHashType to VerifyScript (jtimon) ce3649fb Remove CScriptCheck::nHashType (was always 0) (jtimon) 358562b Remove unused function main:VerifySignature (jtimon)
2014-09-16Move CTxDestination from script/script to script/standardPieter Wuille
2014-09-12Don't pass nHashType to EvalScript nor CheckSigjtimon
2014-09-12Don't pass nHashType to VerifyScriptjtimon
2014-09-08Make script_{valid,invalid}.json validation flags configurablePieter Wuille
2014-09-08Separate script/signjtimon
2014-09-08Move CScript class and dependencies to script/scriptjtimon
2014-09-08Rename script.h/.cpp to scriptutils.h/.cpp (plus remove duplicated includes)jtimon
2014-08-24Test IsPushOnly() with invalid pushPeter Todd
2014-08-01Declare SignatureHash() in script.hjtimon
2014-07-29Move ParseScript() helper, becoming accessible outside src/test/Jeff Garzik
2014-06-21Add CMutableTransaction and make CTransaction immutable.Pieter Wuille
In addition, introduce a cached hash inside CTransaction, to prevent recalculating it over and over again.
2014-05-09Merge pull request #3860 from petertodd/test-checkmulti-n-m-zeroGavin Andresen
Test CHECKMULTISIG with m == 0 and/or n == 0
2014-03-18Add licenses for tests and test dataWladimir J. van der Laan
- Add license headers to source files (years based on commit dates) in `src/test` as well as `qa` - Add `README.md` to `src/test/data` specifying MIT license Fixes #3848
2014-03-12Fix script test handling of empty scriptsPeter Todd
Previously an empty script would evaluate to OP_0
2014-02-11Add HasCanonicalPushes(), and use it in IsStandardTxPieter Wuille
2013-11-10Cleanup code using forward declarations.Brandon Dahler
Use misc methods of avoiding unnecesary header includes. Replace int typedefs with int##_t from stdint.h. Replace PRI64[xdu] with PRI[xdu]64 from inttypes.h. Normalize QT_VERSION ifs where possible. Resolve some indirect dependencies as direct ones. Remove extern declarations from .cpp files.
2013-10-22Revert "Switch to using raw_utf8"Jeff Garzik
This reverts commit 2ecb7555a9df1e843fd25f588819e4ca1d94b266.
2013-10-22Merge pull request #2740 from constantined/constantinedGavin Andresen
UTF-8 support for JSON-RPC
2013-09-28Inline signature serializerPieter Wuille
Instead of building a full copy of a CTransaction being signed, and then modifying bits and pieces until its fits the form necessary for computing the signature hash, use a wrapper serializer that only serializes the necessary bits on-the-fly. This makes it easier to see which data is actually being hash, reduces load on the heap, and also marginally improves performances (around 3-4us/sigcheck here). The performance improvements are much larger for large transactions, though. The old implementation of SignatureHash is moved to a unit tests, to test whether the old and new algorithm result in the same value for randomly-constructed transactions.
2013-09-16included-tests: generate binary data from test files for inclusion into test ↵Cory Fields
binaries This change moves test data into the binaries rather than reading them from the disk at runtime. Advantages: - Tests become distributable - Cross-compile friendly. Build on one machine and execute in an arbitrary location on another. - Easier testing for backports. Users can verify that tests pass without having to track down corresponding test data. - More trustworthy test results and easier quality assurance as tests make fewer assumptions about their environment. - Tests could theoretically run at client/daemon startup and exit on failure. Disadvantages: - Required 'hexdump' build-dependency. This is a standard bsd tool that should be usable everywhere. It is likely already installed on all build-machines. - Tests can no longer be fudged after build by altering test-data.
2013-09-10Bugfix: Since test_bitcoin is being built and run inside src/test/, try ↵Luke Dashjr
using relative directories from that point
2013-08-25Document and test OP_RESERVED weirdnessPeter Todd
Seems it was forgotten about when IsPushOnly() and the unittests were written. A particular oddity is that OP_RESERVED doesn't count towards the >201 opcode limit unlike every other named opcode.
2013-07-23Switch to using raw_utf8constantined
2013-05-30CSecret/CKey -> CKey/CPubKey split/refactorPieter Wuille
2012-11-15Introduce script verification flagsPieter Wuille
These flags select features to be enabled/disabled during script evaluation/checking, instead of several booleans passed along. Currently these flags are defined: * SCRIPT_VERIFY_P2SH: enable BIP16-style subscript evaluation * SCRIPT_VERIFY_STRICTENC: enforce strict adherence to pubkey/sig encoding standards.
2012-10-21change blockchain -> block chain (spelling)Philip Kaufmann
- Wiki says "block chain" is correct ;) - remove some unneeded spaces I found in the source, while fixing the spelling
2012-09-21Check for canonical public keys and signaturesPieter Wuille
Only enabled inside tests for now.
2012-07-05Implement raw transaction RPC callsGavin Andresen
Implement listunspent / getrawtransaction / createrawtransaction / signrawtransaction, to support creation and signing-on-multiple-device multisignature transactions.
2012-05-24Lots more Script unit test cases.Gavin Andresen
2012-05-24More CScript unit tests.Gavin Andresen
2012-04-26Define TEST_DATA_DIR so unit tests can be run from any current working directoryGavin Andresen
2012-04-21Data-drive script evaluation unit tests.Gavin Andresen
2012-02-20Fix tests after 38067c18Pieter Wuille
2012-01-13Replace OP_EVAL (BIP 12) with Pay-to-script-hash (BIP 16).Gavin Andresen
2011-12-19Use block times for 'hard' OP_EVAL switchover, and refactored EvalScriptGavin Andresen
so it takes a flag for how to interpret OP_EVAL. Also increased IsStandard size of scriptSigs to 500 bytes, so a 3-of-3 multisig transaction IsStandard.
2011-12-19OP_EVAL implementationGavin Andresen
OP_EVAL is a new opcode that evaluates an item on the stack as a script. It enables a new type of bitcoin address that needs an arbitrarily complex script to redeem.
2011-12-19Rework unit tests so test_bitcoin.cpp does not #include them allGavin Andresen
2011-08-26CHECKMULTISIG unit tests.Gavin Andresen
2011-08-08Add a file for script testsVegard Nossum