Suhas Daftuar
78c6bedb9c
Add test for DER-encoding edge case
...
The fix to NegateSignatureS caused a test which had been failing
in IsValidSignatureEncoding to then fail in IsLowDERSignature.
Add new test so the original check remains exercised.
2015-02-10 13:25:41 -05:00
Suhas Daftuar
6f50dbd2fd
Fix NegateSignatureS to not duplicate last byte of S
...
NegateSignatureS is called with a signature without a hashtype, so
do not save the last byte and append it after S negation.
Updates the two tests which were affected by this bug.
2015-02-10 13:23:57 -05:00
Cory Fields
7f991e364e
c++11: These look like user-defined literals.
...
Add a space to keep the compiler happy
2015-02-03 23:31:00 -05:00
Wladimir J. van der Laan
fcf646c9b0
Merge pull request #5286
...
44e9a6b
Update the 'test_IsStandard' unit test (Flavien Charlon)
a930658
Change the default maximum OP_RETURN size to 80 bytes (Flavien Charlon)
2015-02-03 13:12:44 +01:00
Wladimir J. van der Laan
41e6e4caba
Merge pull request #5713
...
bf6cdeb
Increase coverage of DERSIG edge cases (Pieter Wuille)
819bcf9
Add RPC test for DERSIG BIP switchover logic (Pieter Wuille)
5a47811
BIP66 changeover logic (Pieter Wuille)
092e9fe
Example unit tests from BIP66 (Pieter Wuille)
80ad135
Change IsDERSignature to BIP66 implementation (Pieter Wuille)
2015-02-03 10:34:53 +01:00
Pieter Wuille
9fddceda44
Avoid storing a reference passed to SignatureChecker constructors
2015-02-02 20:19:46 -08:00
Pieter Wuille
858809a33e
Use separate SignatureChecker for CMutableTransaction
2015-02-02 20:19:12 -08:00
Pieter Wuille
bf6cdebdc5
Increase coverage of DERSIG edge cases
2015-02-01 17:51:25 -04:00
Pieter Wuille
092e9fe5fb
Example unit tests from BIP66
2015-02-01 17:47:21 -04:00
Pavel Janík
5262fde0ec
Remove whitespaces before double colon in errors and logs
2015-01-31 17:38:28 -05:00
Manuel Araoz
d6bed1514c
remove sig_canonical.json and sig_noncanonical.json
2015-01-31 17:36:44 -05:00
Wladimir J. van der Laan
6b5f5294bb
Merge pull request #5506
...
7873633
Squashed 'src/secp256k1/' changes from bccaf86..50cc6ab (Pieter Wuille)
1a9576d
Use libsecp256k1's RFC6979 implementation (Pieter Wuille)
2015-01-26 13:04:29 +01:00
Wladimir J. van der Laan
8204e19abe
Merge pull request #4805
...
44bc988
[Wallet] Do not flush the wallet in AddToWalletIfInvolvingMe(..) (Cozz Lovan)
2015-01-26 12:19:12 +01:00
Peter Todd
2fa9a8ec86
Make empty byte arrays pass CheckSignatureEncoding()
...
Makes it possible to compactly provide a delibrately invalid signature
for use with CHECK(MULTI)SIG. For instance with BIP19 if m != n invalid
signatures need to be provided in the scriptSig; prior to this change
those invalid signatures would need to be large DER-encoded signatures.
Note that we may want to further expand on this change in the future by
saying that only OP_0 is a "valid" invalid signature; BIP19 even with
this change is inherently malleable as the invalid signatures can be any
validly encoded DER signature.
2015-01-09 06:03:22 -05:00
Wladimir J. van der Laan
c6a5ad4819
Fix tests after #5413
...
Pull #5413 was not rebased after deterministic signing was merged
(#5227 ), so the testcases had to be regenerated using UPDATE_JSON_TESTS.
2015-01-08 12:53:05 +01:00
Wladimir J. van der Laan
c5e0aef5c4
Merge pull request #5604
...
d58c5d6
tests: run sanity checks in tests too (Cory Fields)
2015-01-08 12:07:06 +01:00
Wladimir J. van der Laan
48e1765e27
Merge pull request #5143
...
da918ac
Make SCRIPT_VERIFY_CLEANSTACK a standardness requirement (Pieter Wuille)
b6e03cc
Add SCRIPT_VERIFY_CLEANSTACK (BIP62 rule 6) (Pieter Wuille)
ae4151b
No semantic change: reuse stack variable in P2SH evaluation (Pieter Wuille)
2015-01-08 12:01:22 +01:00
Wladimir J. van der Laan
37b185c4af
Merge pull request #5611
...
f0b8afc
tests: fix spurious windows test failures after 012598880c
(Cory Fields)
2015-01-07 15:02:52 +01:00
Cory Fields
f0b8afc88b
tests: fix spurious windows test failures after 012598880c
...
on rare occasions, rand() was returning duped values, causing duplicate
transactions.
BuildMerkleTree happily used these, but CPartialMerkleTree caught them and
returned a null merkle root.
Rather than taking changes with rand(), use the loop counter to guarantee
unique values.
At sipa's request, also remove the remaining uses of rand().
2015-01-06 20:18:12 -05:00
Wladimir J. van der Laan
729ba31749
Merge pull request #5513
...
856e862
namespace: drop most boost namespaces and a few header cleanups (Cory Fields)
9b1ab86
namespace: drop boost::assign altogether here (Cory Fields)
a324199
namespace: remove boost namespace pollution (Cory Fields)
2015-01-06 20:32:45 +01:00
Wladimir J. van der Laan
a89b8371d6
Merge pull request #5564
...
de236f5
clarify obscure uses of EvalScript() (Pavel Vasin)
2015-01-06 11:51:18 +01:00
Cory Fields
d58c5d6f21
tests: run sanity checks in tests too
...
If these are going to fail in bitcoind, they should fail in the tests as well.
2015-01-05 22:34:47 -05:00
Pieter Wuille
1a9576de9d
Use libsecp256k1's RFC6979 implementation
2015-01-06 00:28:44 +01:00
Wladimir J. van der Laan
6bd0dc2a84
arith_uint256: remove initialization from byte vector
...
Remove initialization from vector (as this is only used in the tests).
Also implement SetHex and GetHex in terms of uint256, to avoid
duplicate code as well as avoid endianness issues (as they
work in term of bytes).
2015-01-05 15:45:36 +01:00
Wladimir J. van der Laan
30007fda76
Remove now-unused methods from arith_uint256 and base_uint
...
- Methods that access the guts of arith_uint256 are removed,
as these are incompatible between endians. Use uint256 instead
- Serialization is no longer needed as arith_uint256's are never
read or written
- GetHash is never used on arith_uint256
2015-01-05 15:45:36 +01:00
Wladimir J. van der Laan
edc720479d
Remove arith_uint160
...
We never do 160-bit arithmetic.
2015-01-05 15:45:36 +01:00
Wladimir J. van der Laan
dba2e9141a
Add tests for new uint256
2015-01-05 15:45:35 +01:00
Wladimir J. van der Laan
bfc6070342
uint256->arith_uint256 blob256->uint256
...
Introduce new opaque implementation of `uint256`, move old
"arithmetic" implementation to `arith_uint256.
2015-01-05 15:45:35 +01:00
Wladimir J. van der Laan
734f85c4f0
Use arith_uint256 where necessary
...
Also add conversion from/to uint256 where needed.
2015-01-05 15:45:35 +01:00
Wladimir J. van der Laan
34cdc41128
String conversions uint256 -> uint256S
...
If uint256() constructor takes a string, uint256(0) will become
dangerous when uint256 does not take integers anymore (it will go
through std::string(const char*) making a NULL string, and the explicit
keyword is no help).
2015-01-05 15:45:35 +01:00
Wladimir J. van der Laan
2eae3157f6
Replace uint256(1) with static constant
...
SignatureHash and its test function SignatureHashOld
return uint256(1) as a special error signaling value.
Return a local static constant with the same value instead.
2015-01-05 15:45:34 +01:00
Wladimir J. van der Laan
4f1524966a
Replace direct use of 0 with SetNull and IsNull
...
Replace x=0 with .SetNull(),
x==0 with IsNull(), x!=0 with !IsNull().
Replace uses of uint256(0) with uint256().
2015-01-05 15:45:34 +01:00
Cory Fields
856e862f4a
namespace: drop most boost namespaces and a few header cleanups
...
A few boost::asio were left around because they're very wordy otherwise.
2015-01-02 15:12:03 -05:00
Cory Fields
9b1ab860ff
namespace: drop boost::assign altogether here
...
Standard functions are even simpler
2015-01-02 15:12:03 -05:00
Wladimir J. van der Laan
f55c5e9749
Merge pull request #5349
...
0125988
Implement test for merkle tree malleability in CPartialMerkleTree (Pieter Wuille)
2015-01-02 18:06:52 +01:00
Wladimir J. van der Laan
e6df2bb48f
Remove redundant copyright notices from README files
...
The normative place for these for the entire project is COPYING,
and the main README already has a MIT license section.
2015-01-02 10:46:23 +01:00
Jeff Garzik
39d6b5fd42
Merge #5528 from
...
branch 'bitcoin-tx-copy-paste' of git://github.com/ers35/bitcoin into merge-5528
2014-12-31 08:57:55 -05:00
Pavel Vasin
de236f57c6
clarify obscure uses of EvalScript()
...
The 3rd argument of EvalScript() is the unsigned int flags, not a bool.
2014-12-30 10:01:16 +03:00
Eric R. Schulz
2c14d1532f
bitcoin-tx: Add test case for signing a tx
2014-12-24 01:56:28 +00:00
Everett Forth
7c5dd60306
Adding RPC tests for the following wallet related calls: getbalance,
...
listsinceblock, listtransactions, listlockunspent, listaccounts
listaddressgroupings
2014-12-23 02:27:17 -08:00
sandakersmann
f914f1a746
Added "Core" to copyright headers
...
Github-Pull: #5494
Rebased-From: 15de949bb9277e442302bdd8dee299a8d6deee60
2014-12-19 19:55:32 +01:00
Wladimir J. van der Laan
111a7d45f1
Merge pull request #5470
...
78253fc
Remove references to X11 licence (Michael Ford)
2014-12-19 19:23:23 +01:00
Wladimir J. van der Laan
886eb57507
Merge pull request #5421
...
cac15be
Test unexecuted OP_CODESEPARATOR (Peter Todd)
2014-12-19 17:54:21 +01:00
Philip Kaufmann
27df4123c4
make all catch() arguments const
...
- I saw this on http://en.cppreference.com/w/cpp/language/try_catch and
thought it would be a good idea
- also unify used format to better be able to search for exception
uses in our codebase
2014-12-17 09:39:24 +01:00
Michael Ford
78253fcbad
Remove references to X11 licence
2014-12-16 15:56:50 +08:00
Manuel Araoz
87e8e1ca8b
minor fix on script test data docs
2014-12-16 00:55:21 -03:00
Pieter Wuille
012598880c
Implement test for merkle tree malleability in CPartialMerkleTree
...
This is a check that is mentioned in BIP 37, but never implemented in the
reference code. As Bitcoin Core so far never decodes partial merkle trees,
this is not a problem. But perhaps others use the code as a reference.
2014-12-11 17:22:15 +01:00
Wladimir J. van der Laan
4f85383cb3
Merge pull request #5409
...
65b0328
newlines in strings are invalid JSON (Ryan X. Charles)
2014-12-09 10:07:35 +01:00
Pavel Janík
a26bf478ea
Add a new test for FormatParagraph (string longer than the default width).
2014-12-06 22:49:07 +01:00
Matt Corallo
afd4b94b6d
Move CMerkleBlock and CPartialMerkleTree to their own file
2014-12-05 01:57:40 -08:00