Commit graph

460 commits

Author SHA1 Message Date
Andrew Poelstra
dcd3f9fd69 Merge 59ce537a49 into merged_master (Bitcoin PR #16152) 2020-11-09 21:20:07 +00:00
Andrew Poelstra
3a0de44d90 Merge 0822b44d8a into merged_master (Bitcoin PR #15282) 2020-11-09 21:20:06 +00:00
Andrew Poelstra
046cf94f99 Merge d9bafca20c into merged_master (Bitcoin PR #15982) 2020-11-06 15:20:15 +00:00
Andrew Poelstra
bbc59975b0 Merge 4858d36163 into merged_master (Elements PR #639) 2020-11-06 15:20:11 +00:00
Andrew Poelstra
0eedc2c45b Merge 63b9efa73d into merged_master (Bitcoin PR #16042) 2020-10-29 22:39:10 +00:00
Andrew Poelstra
b8e90ed29c Merge df7addc4c6 into merged_master (Bitcoin PR #15990) 2020-10-29 18:38:42 +00:00
Andrew Poelstra
c3cd785c26 Merge 3503a69ba2 into merged_master (Bitcoin PR #15963) 2020-10-29 17:09:46 +00:00
Andrew Poelstra
13b3e5bcc3 Merge c459c5f701 into merged_master (Bitcoin PR #15664) 2020-10-29 04:36:59 +00:00
Andrew Poelstra
0929a00ac5 Merge 8ec7121a45 into merged_master (Bitcoin PR #15927) 2020-10-29 02:32:33 +00:00
Andrew Poelstra
30390b2eba Merge ce6762030f into merged_master (Bitcoin PR #15897) 2020-10-29 02:05:13 +00:00
Andrew Poelstra
f3ba240a58 Merge f73a3c618b into merged_master (Bitcoin PR #15895) 2020-10-28 22:34:16 +00:00
Andrew Poelstra
7655f06251 Merge 08bd21a3bd into merged_master (Bitcoin PR #15826) 2020-10-28 20:54:52 +00:00
Andrew Poelstra
041d9ca6c3 Merge 0e9cb2d24d into merged_master (Bitcoin PR #15773) 2020-10-28 15:28:06 +00:00
Andrew Poelstra
8b4b800d49 Merge f9f6c11a74 into merged_master (Bitcoin PR #15771) 2020-10-28 02:12:01 +00:00
Andrew Poelstra
c8a4572c1f Merge f3ecf3025f into merged_master (Bitcoin PR #15772) 2020-10-28 02:02:37 +00:00
Andrew Poelstra
b10d0a931c Merge 327d2746fb into merged_master (Bitcoin PR #15495) 2020-10-28 00:55:06 +00:00
Andrew Poelstra
66d440750b Merge 68520597cc into merged_master (Bitcoin PR #15631) 2020-10-28 00:11:06 +00:00
Andrew Poelstra
7d93f137a0 Merge c033c4b5ce into merged_master (Bitcoin PR #13541) 2020-10-28 00:09:04 +00:00
Andrew Poelstra
67d718b048 Merge a74d588f21 into merged_master (Bitcoin PR #14954) 2020-10-27 22:32:24 +00:00
Andrew Poelstra
91b410a694 Merge 8f470ecc53 into merged_master (Bitcoin PR #15419) 2020-10-27 18:04:26 +00:00
fanquake
59ce537a49
Merge #16152: Disable bloom filtering by default.
bead32e31e Add release notes for DEFAULT_BLOOM change (Matt Corallo)
f27309f55c Move DEFAULT_PEERBLOOMFILTERS from validation.h to net_processing.h (Matt Corallo)
5efcb77283 Disable bloom filtering by default. (Matt Corallo)

Pull request description:

  BIP 37 bloom filters have been well-known to be a significant DoS
  target for some time. However, in order to provide continuity for
  SPV clients relying on it, the NODE_BLOOM service flag was added,
  and left as a default, to ensure sufficient nodes exist with such a
  flag.

  NODE_BLOOM is, at this point, well-established and, as long as
  there exist 0.18 nodes with default config (which I'd anticipate
  will be true for many years), will be available from some peers. By
  that time, the continued slowdown of BIP 37-based filtering will
  likely have rendered it useless (though this is already largely the
  case). Further, BIP 37 was deliberately never updated to support
  witness-based filtering as newer wallets are expected to migrate to
  some yet-to-be-network-exposed filters.

ACKs for top commit:
  jnewbery:
    ACK bead32e31e
  kallewoof:
    ACK bead32e31e

Tree-SHA512: ecd901898e8efe1a7c82b471af0acc2373c2282ac633eb58d9aae7c35deda1999d0f79fb0485e6cecbda7246aeda00206cd82c7fa36866e2ac64705ba93f9390
2019-07-19 17:33:56 +08:00
Steven Roose
8f250ab788
TEST: Replace hard-coded hex tx with classes 2019-07-01 18:06:01 +01:00
MarcoFalke
d9bafca20c
Merge #15982: tests: Make msg_block a witness block
fa1d766717 tests: Make msg_block a witness block (MarcoFalke)
fa52eb55c9 test: Remove True argument to CBlock::serialize (MarcoFalke)

Pull request description:

  Unnamed arguments are confusing as to what they mean without looking up the function signature.

  Since segwit is active by default in regtest, and all blocks are serialized with witness (#15664), remove the argument `with_witness=True` from all calls to `CBlock::serialize` and `BlockTransactions::serialize`.

ACKs for commit fa1d76:
  laanwj:
    code-review ACK fa1d766717

Tree-SHA512: 2c550646f99c9ca86a223ca988c61a730f5e6646807adeaa7174fb2424a32cea3fef8bcd3e0b12e162e7ff192877d0c02fd0654df6ee1a9b821b065707c2dcbc
2019-06-17 11:18:10 -04:00
Matt Corallo
5efcb77283 Disable bloom filtering by default.
BIP 37 bloom filters have been well-known to be a significant DoS
target for some time. However, in order to provide continuity for
SPV clients relying on it, the NODE_BLOOM service flag was added,
and left as a default, to ensure sufficient nodes exist with such a
flag.

NODE_BLOOM is, at this point, well-established and, as long as
there exist 0.18 nodes with default config (which I'd anticipate
will be true for many years), will be available from some peers. By
that time, the continued slowdown of BIP 37-based filtering will
likely have rendered it useless (though this is already largely the
case). Further, BIP 37 was deliberately never updated to support
witness-based filtering as newer wallets are expected to migrate to
some yet-to-be-network-exposed filters.
2019-06-06 10:01:13 -04:00
Steven Roose
0a6f0551d2
Rename -con_connect_coinbase to -con_connect_genesis_outputs 2019-06-05 10:02:41 +01:00
Steven Roose
de81c0d97e
MERGE-FIX: Fix linter (mostly RPC help)
I also moved some RPC methods that were not at the end of the file with
the other ELEMENTS RPC methods. This makes the diff on my machine look
crazy. Let's hope GitHub has more intelligent diffs..
2019-05-27 17:40:16 +01:00
Steven Roose
efe4e8ff04
MERGE-FIX: Fix functional tests 2019-05-24 17:11:47 +01:00
MarcoFalke
fa47330397
test: Speed up cache creation 2019-05-17 13:21:48 -04:00
MarcoFalke
fa6ad7a5ec
test: Bump MAX_NODES to 12 2019-05-17 12:19:27 -04:00
Steven Roose
f4889a5253
UPSTREAM MERGE BROKEN: Merge upstream commit '519b0bc5dc' into master 2019-05-17 16:17:09 +01:00
Wladimir J. van der Laan
df7addc4c6
Merge #15990: Add tests and documentation for blocksonly
fa8ced32a6 doc: Mention blocksonly in reduce-traffic.md, unhide option (MarcoFalke)
fa320de79f test: Add test for p2p_blocksonly (MarcoFalke)
fa3872e7b4 test: Format predicate source as multiline on error (MarcoFalke)
fa1dce7329 net: Rename ::fRelayTxes to ::g_relay_txes (MarcoFalke)

Pull request description:

  This is de-facto no longer hidden

ACKs for commit fa8ced:
  jamesob:
    utACK fa8ced32a6

Tree-SHA512: 474fbdee6cbd035ed9068a066b6056c1f909ec7520be0417820fcd1672ab3069b53f55c5147968978d9258fd3a3933fe1a9ef8e4f6e14fb6ebbd79701a0a1245
2019-05-16 19:05:24 +02:00
Steven Roose
4ed0bb36b4
Fix dead-code linter issues 2019-05-14 20:59:06 +01:00
Steven Roose
ee0e510f30
MERGE-FIX: Fix other functional tests 2019-05-14 15:09:22 +01:00
Steven Roose
5492cefcc6
MERGE-FIX: Fix fedpeg and pak tests for 0.18.0 2019-05-14 15:09:20 +01:00
Steven Roose
1a2a93a5ff
MERGE-FIX: General fixes for functional tests 2019-05-14 15:09:19 +01:00
MarcoFalke
3503a69ba2
Merge #15963: [tests] Make random seed logged and settable
a407b6fdf3 [tests] Make random seed logged and settable (John Newbery)

Pull request description:

  This allows tests which use randomness to be reproducibly run on failure.

ACKs for commit a407b6:
  jonatack:
    re-ACK a407b6fdf3
  jb55:
    great! utACK a407b6fdf3

Tree-SHA512: e1e89e6e76d11ddec71a8f0f077227e4b46303f80461b170900d3f95d4dcc4187b0d1decfd63562ea970aaaf530ef032a3e64ed1669aac29033d95161855fda3
2019-05-14 09:00:58 -04:00
MarcoFalke
fa320de79f
test: Add test for p2p_blocksonly 2019-05-13 10:44:42 -04:00
MarcoFalke
fa3872e7b4
test: Format predicate source as multiline on error 2019-05-10 07:29:54 -04:00
John Newbery
a407b6fdf3 [tests] Make random seed logged and settable
This allows tests which use randomness to be reproducibly run on failure.
2019-05-09 11:28:04 -04:00
MarcoFalke
fa1d766717
tests: Make msg_block a witness block
This diff has been generated with the following script, but is better
reviewed without looking at the script.

 # -BEGIN VERIFY SCRIPT-
echo "Use msg_witness_block everywhere, except for tests that require msg_block"
 # This could be a separate commit, but it is combined with the
 # following scripts to reduce the overall diff
sed -i -e 's/msg_block/msg_witness_block/g' ./test/functional/{feature_assumevalid,feature_cltv,feature_dersig,feature_versionbits_warning,p2p_fingerprint,p2p_sendheaders,p2p_unrequested_blocks,example_test,rpc_blockchain}.py

echo "Rename msg_block to msg_no_witness_block"
 # Rename msg_block to msg_no_witness_block in all tests (not the
 # framework)
sed -i -e 's/msg_block/msg_no_witness_block/g' $(git grep -l msg_block ./test/functional/*.py)
 # Derive msg_no_witness_block from msg_block
 # Make msg_block a witness block in messages.py
patch -p1 --fuzz 0 << EOF
diff --git a/test/functional/test_framework/messages.py b/test/functional/test_framework/messages.py
index 00190e4cbd..e454ed5987 100755
--- a/test/functional/test_framework/messages.py
+++ b/test/functional/test_framework/messages.py
@@ -1133 +1133 @@ class msg_block:
-        return self.block.serialize(with_witness=False)
+        return self.block.serialize()
@@ -1155 +1155 @@ class msg_generic:
-class msg_witness_block(msg_block):
+class msg_no_witness_block(msg_block):
@@ -1158,2 +1158 @@ class msg_witness_block(msg_block):
-        r = self.block.serialize()
-        return r
+        return self.block.serialize(with_witness=False)
@@ -1445 +1444 @@ class msg_blocktxn:
-        r += self.block_transactions.serialize(with_witness=False)
+        r += self.block_transactions.serialize()
@@ -1452 +1451 @@ class msg_blocktxn:
-class msg_witness_blocktxn(msg_blocktxn):
+class msg_no_witness_blocktxn(msg_blocktxn):
@@ -1456,3 +1455 @@ class msg_witness_blocktxn(msg_blocktxn):
-        r = b""
-        r += self.block_transactions.serialize()
-        return r
+        return self.block_transactions.serialize(with_witness=False)
EOF
 # Conclude rename of msg_block to msg_no_witness_block
sed -i -e 's/msg_witness_block/msg_block/g' $(git grep -l msg_witness_block)
 # -END VERIFY SCRIPT-
2019-05-08 11:53:02 -04:00
MarcoFalke
fa52eb55c9
test: Remove True argument to CBlock::serialize
Unnamed arguments are confusing as to what they mean without looking up
the function signature.

Since segwit is active by default in regtest, and all blocks are
serialized with witness (#15664, c459c5f), remove the argument
`with_witness=True` from all calls to `CBlock::serialize` and
`BlockTransactions::serialize`.

This diff has been created with a script, but is better reviewed without
a scripted diff.

sed -i --regexp-extended -e 's/block(_?[2a-z]*)\.serialize\([a-z_]*=?True/block\1.serialize(/g' $(git grep -l serialize ./test)
2019-05-08 10:06:21 -04:00
MarcoFalke
c459c5f701
Merge #15664: change default Python block serialization to witness
124ea38e39 change default Python block serialization to witness (Gregory Sanders)

Pull request description:

ACKs for commit 124ea3:
  stevenroose:
    ACK 124ea38e39

Tree-SHA512: 52877934f8a3c761cb89a618daffe73e86b008d9d32d48721392b7626aaa10d3b9aa26e4c59337729e0a2d01fc48648eef5ec3d72de531a685a2cf4f4d7579ab
2019-05-08 09:42:14 -04:00
John Newbery
7b29ec277b [tests] Comment for why logging config is set as command-line args. 2019-05-03 12:47:27 -04:00
Steven Roose
7f894ae00b
UPSTREAM MERGE BROKEN: Merge commit 'f617e05c38' into master 2019-05-01 19:18:18 +01:00
John Newbery
ba534ccd56 [tests] log thread names by default in functional tests 2019-04-30 15:06:26 -05:00
MarcoFalke
ce6762030f
Merge #15897: QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one
9f9db39041 QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one (Luke Dashjr)

Pull request description:

  While this doesn't currently trigger any problems, the network protocol does expect headers to be sent connectable in normal circumstances, and if too many are sent out of order will disconnect the peer.

ACKs for commit 9f9db3:

Tree-SHA512: 25b88718e4ba3d31aed2de7ece23fab9a0737fd6536c5e618ea8eb5a3a217dab0dffaebc4892df7993bcea7efb7c4fb5085fabebe99535b8f7fdde3c19df54ff
2019-04-29 15:03:51 -04:00
MarcoFalke
f73a3c618b
Merge #15895: QA: Avoid re-reading config.ini unnecessarily
a014373d81 QA: Avoid re-reading config.ini unnecessarily (Luke Dashjr)

Pull request description:

  BitcoinTestFramework.main already loads and stores config.ini on the object itself; just access that instead of re-reading the file to check for features

ACKs for commit a01437:
  practicalswift:
    utACK a014373d81
  hebasto:
    utACK a014373d81

Tree-SHA512: 36e3dda36cf4fae243feb1655da2891d1b78c86319be9bd9809c20054fa0cb75749370b05aa9d589a4dcab6322d8cdf4e874c5175144ed23ba63b2ed338538ca
2019-04-26 07:49:43 -04:00
Luke Dashjr
9f9db39041 QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one 2019-04-25 20:47:07 +00:00
Luke Dashjr
a014373d81 QA: Avoid re-reading config.ini unnecessarily
BitcoinTestFramework.main already loads and stores config.ini on the object itself; just access that instead of re-reading the file to check for features
2019-04-25 20:41:17 +00:00
John Newbery
b67978529a Add comments to Python ECDSA implementation 2019-04-18 13:23:26 -07:00