aboutsummaryrefslogtreecommitdiff
path: root/src/test/scriptnum_tests.cpp
AgeCommit message (Collapse)Author
2017-01-12Avoid integer overflows in scriptnum testsPieter Wuille
2015-12-13Bump copyright headers to 2015MarcoFalke
2015-11-25Replace scriptnum_test's normative ScriptNum implementationWladimir J. van der Laan
Compare against the scriptnum from Bitcoin Core 0.10 instead of OpenSSL. Closes #7086.
2015-05-09Make CScriptNum() take nMaxNumSize as an argumentPeter Todd
While the existing numeric opcodes are all limited to 4-byte bignum arguments, new opcodes will need different limits.
2015-03-12tests: add a BasicTestingSetup and apply to all testsWladimir J. van der Laan
Make sure that chainparams and logging is properly initialized. Doing this for every test may be overkill, but this initialization is so simple that that does not matter. This should fix the travis issues.
2014-12-16Remove references to X11 licenceMichael Ford
2014-10-25Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4)Pieter Wuille
Also use the new flag as a standard rule, and replace the IsCanonicalPush standardness check with it (as it is more complete).
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-04-22script: Add test for CScriptNumCory Fields
Because this class replaces some usages of CBigNum, tests have been added to verify that they function the same way. The only difference in their usage is the handling of out-of-range numbers. While operands are constrained to [-0x7FFFFFFF,0x7FFFFFFF], the results may overflow. The overflowing result is technically unbounded, but in practice it can be no bigger than the result of an operation on two operands. This implementation limits them to the size of an int64. CBigNum was unaware of this constraint, so it allowed for unbounded results, which were then checked before use. CScriptNum asserts if an arithmetic operation will overflow an int64_t, since scripts are not able to reach those numbers anyway. Additionally, CScriptNum will throw an exception when constructed from a vector containing more than 4 bytes This mimics the previous CastToBigNum behavior.