Skip to content

qa: Limit -maxconnections in tests #31537

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Dec 30, 2024

Conversation

hebasto
Copy link
Member

@hebasto hebasto commented Dec 18, 2024

On systems such as NetBSD, the bitcoind typically prints the following warning:

Warning: Reducing -maxconnections from 125 to 96, because of system limitations.

This breaks the functional test framework (see #23968).

This PR limits the -maxconnections to mitigate the issue and enable functional tests on NetBSD.

Fixes #23968.

Here is CI log from the bitcoin-core-nightly repository: https://github.com/hebasto/bitcoin-core-nightly/actions/runs/12415868523/job/34663207030

@DrahtBot
Copy link
Contributor

DrahtBot commented Dec 18, 2024

The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

Code Coverage & Benchmarks

For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/31537.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK mzumsande, tdb3, maflcko, achow101

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

@bitcoin bitcoin deleted a comment Dec 19, 2024
@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

Why not #23968 (comment)?

@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

Generally, I don't like modifying real code and real behavior to accommodate a test-only use-case.

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

Why not #23968 (comment)?

I think you can just globally reduce the -maxconnections=... for all tests in the config file. There is a constant MAX_NODES=12 or so

This was my starting point.

Unfortunately, the command ./build/test/functional/test_runner.py -j 40 begins failing due to connection issues, even on Ubuntu.

Generally, I don't like modifying real code and real behavior to accommodate a niche test-only use-case.

I don't mean to argue, but here are a few points to consider:

  • Running bitcoind -regtest doesn’t seem particularly "real".
  • We already use a similar approach:
$ git grep -A 2 "!= ChainType::REGTEST"
src/init.cpp:        if (chainparams.GetChainType() != ChainType::REGTEST) {
src/init.cpp-            return InitError(Untranslated("-test=<option> can only be used with regtest"));
src/init.cpp-        }
--
src/init.cpp:        if (read_stale_estimates && (chainparams.GetChainType() != ChainType::REGTEST)) {
src/init.cpp-            return InitError(strprintf(_("acceptstalefeeestimates is not supported on %s chain."), chainparams.GetChainTypeString()));
src/init.cpp-        }
--
src/rpc/net.cpp:    if (Params().GetChainType() != ChainType::REGTEST) {
src/rpc/net.cpp-        throw std::runtime_error("addconnection is for regression testing (-regtest mode) only.");
src/rpc/net.cpp-    }
  • The notion of "niche" slightly contradicts the concept of "software for all".

@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

Running bitcoind -regtest doesn’t seem particularly "real".

The point of test networks is to be as close to mainnet behavior as possible. With each differently tested behavior, they become a little bit more useless.

We already use a similar approach:

No? Those are checks to limit test-only hooks to tests only. Obviously the goal should be to not have any test-only hooks, or as little as possible, but this seems unrelated to the changes here.

The notion of "niche" slightly contradicts the concept of "software for all".

Fair enough, please remove "niche" from my sentence. The rest still holds.

This was my starting point.

Unfortunately, the command ./build/test/functional/test_runner.py -j 40 begins failing due to connection issues, even on Ubuntu.

Can you share the diff you had, and the error message?

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

This was my starting point.
Unfortunately, the command ./build/test/functional/test_runner.py -j 40 begins failing due to connection issues, even on Ubuntu.

Can you share the diff you had, and the error message?

Sure thing!

Here is the diff:

--- a/test/functional/test_framework/test_node.py
+++ b/test/functional/test_framework/test_node.py
@@ -117,6 +117,9 @@ class TestNode():
             "-debugexclude=leveldb",
             "-debugexclude=rand",
             "-uacomment=testnode%d" % i,  # required for subversion uniqueness across peers
+            # Limit max connections to mitigate failures on some systems caused by the warning:
+            # "Warning: Reducing -maxconnections from 125 to <N> due to system limitations".
+            f"-maxconnections={MAX_NODES}",
         ]
         if self.descriptors is None:
             self.args.append("-disablewallet")

And here is the log:

Test Log
$ ./build/test/functional/test_runner.py -j 40
Temporary test directory at /tmp/test_runner_₿_🏃_20241219_102032
1/315 - wallet_conflicts.py --legacy-wallet skipped (BDB has not been compiled.)
2/315 - wallet_avoidreuse.py --legacy-wallet skipped (BDB has not been compiled.)
3/315 - rpc_psbt.py --legacy-wallet skipped (BDB has not been compiled.)
4/315 - wallet_fundrawtransaction.py --legacy-wallet skipped (BDB has not been compiled.)
5/315 - wallet_bumpfee.py --legacy-wallet skipped (BDB has not been compiled.)
6/315 - wallet_import_rescan.py --legacy-wallet skipped (BDB has not been compiled.)
7/315 - feature_segwit.py --legacy-wallet skipped (BDB has not been compiled.)
8/315 - wallet_address_types.py --legacy-wallet skipped (BDB has not been compiled.)
9/315 - wallet_basic.py --legacy-wallet skipped (BDB has not been compiled.)
10/315 - wallet_multiwallet.py --legacy-wallet skipped (BDB has not been compiled.)
11/315 - wallet_backup.py --legacy-wallet skipped (BDB has not been compiled.)
12/315 - wallet_groups.py --legacy-wallet skipped (BDB has not been compiled.)
13/315 - feature_abortnode.py passed, Duration: 3 s
14/315 - p2p_tx_download.py failed, Duration: 4 s

stdout:
2024-12-19T10:20:33.505000Z TestFramework (INFO): PRNG seed is: 4281860298104529415
2024-12-19T10:20:33.536000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_download_287
2024-12-19T10:20:35.841000Z TestFramework (INFO): Check that expiry will select another peer for download
2024-12-19T10:20:35.984000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_tx_download.py", line 277, in run_test
    self.test_expiry_fallback()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_tx_download.py", line 152, in test_expiry_fallback
    peer1 = self.nodes[0].add_p2p_connection(TestP2PConn())
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 732, in add_p2p_connection
    p2p_conn.wait_until(lambda: not p2p_conn.on_connection_send_msg)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 307, in wait_until_helper_internal
    if predicate():
       ^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 591, in test_function
    assert self.is_connected
           ^^^^^^^^^^^^^^^^^
AssertionError
2024-12-19T10:20:36.096000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:20:36.271000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_download_287
2024-12-19T10:20:36.272000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_download_287/test_framework.log
2024-12-19T10:20:36.275000Z TestFramework (ERROR): 
2024-12-19T10:20:36.276000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_download_287' to consolidate all logs
2024-12-19T10:20:36.277000Z TestFramework (ERROR): 
2024-12-19T10:20:36.277000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:20:36.280000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:20:36.280000Z TestFramework (ERROR): 


stderr:


15/315 - rpc_bind.py --nonloopback passed, Duration: 2 s
16/315 - rpc_bind.py --ipv4 passed, Duration: 3 s
17/315 - rpc_bind.py --ipv6 passed, Duration: 3 s
18/315 - wallet_listtransactions.py --legacy-wallet skipped (BDB has not been compiled.)
19/315 - feature_segwit.py --descriptors --v2transport passed, Duration: 8 s
20/315 - feature_assumevalid.py passed, Duration: 7 s
21/315 - feature_segwit.py --descriptors --v1transport passed, Duration: 10 s
22/315 - wallet_avoidreuse.py --descriptors passed, Duration: 10 s
23/315 - wallet_multiwallet.py --descriptors passed, Duration: 11 s
24/315 - wallet_multiwallet.py --usecli passed, Duration: 12 s
25/315 - wallet_dump.py --legacy-wallet skipped (BDB has not been compiled.)
26/315 - rpc_signer.py passed, Duration: 2 s
27/315 - wallet_groups.py --descriptors passed, Duration: 14 s
28/315 - wallet_importmulti.py --legacy-wallet skipped (BDB has not been compiled.)
29/315 - feature_maxtipage.py passed, Duration: 16 s
30/315 - feature_bip68_sequence.py passed, Duration: 17 s
31/315 - wallet_signer.py --descriptors passed, Duration: 3 s
32/315 - rpc_txoutproof.py passed, Duration: 2 s
33/315 - wallet_listtransactions.py --descriptors passed, Duration: 13 s
34/315 - wallet_listreceivedby.py --legacy-wallet skipped (BDB has not been compiled.)
35/315 - wallet_abandonconflict.py --legacy-wallet skipped (BDB has not been compiled.)
36/315 - mempool_persist.py --descriptors passed, Duration: 20 s
37/315 - feature_reindex_readonly.py passed, Duration: 1 s
38/315 - rpc_createmultisig.py passed, Duration: 12 s
39/315 - wallet_labels.py --legacy-wallet skipped (BDB has not been compiled.)
40/315 - wallet_bumpfee.py --descriptors passed, Duration: 23 s
41/315 - p2p_headers_sync_with_minchainwork.py passed, Duration: 22 s
42/315 - feature_csv_activation.py passed, Duration: 20 s
43/315 - wallet_abandonconflict.py --descriptors passed, Duration: 5 s
44/315 - wallet_hd.py --legacy-wallet skipped (BDB has not been compiled.)
45/315 - mempool_updatefromblock.py passed, Duration: 25 s
46/315 - wallet_listreceivedby.py --descriptors passed, Duration: 6 s
47/315 - wallet_blank.py --legacy-wallet skipped (BDB has not been compiled.)
48/315 - feature_reindex.py passed, Duration: 6 s
49/315 - p2p_compactblocks_blocksonly.py passed, Duration: 2 s
50/315 - wallet_keypool_topup.py --legacy-wallet skipped (BDB has not been compiled.)
51/315 - wallet_labels.py --descriptors passed, Duration: 4 s
52/315 - wallet_blank.py --descriptors passed, Duration: 1 s
53/315 - interface_zmq.py skipped (bitcoind has not been built with zmq enabled.)
54/315 - wallet_gethdkeys.py --descriptors passed, Duration: 1 s
55/315 - rpc_invalid_address_message.py passed, Duration: 1 s
56/315 - wallet_miniscript.py --descriptors passed, Duration: 19 s
57/315 - wallet_createwalletdescriptor.py --descriptors passed, Duration: 2 s
58/315 - rpc_validateaddress.py passed, Duration: 2 s
59/315 - feature_bind_extra.py passed, Duration: 1 s
60/315 - wallet_hd.py --descriptors passed, Duration: 4 s
61/315 - mempool_resurrect.py passed, Duration: 1 s
62/315 - tool_wallet.py --legacy-wallet skipped (BDB has not been compiled.)
63/315 - p2p_dns_seeds.py passed, Duration: 28 s
64/315 - tool_wallet.py --legacy-wallet --bdbro skipped (BDB has not been compiled.)
65/315 - tool_signet_miner.py --legacy-wallet skipped (BDB has not been compiled.)
66/315 - tool_wallet.py --legacy-wallet --bdbro --swap-bdb-endian skipped (BDB has not been compiled.)
67/315 - wallet_txn_doublespend.py --mineblock passed, Duration: 3 s
68/315 - wallet_txn_clone.py passed, Duration: 2 s
69/315 - wallet_txn_clone.py --segwit passed, Duration: 2 s
70/315 - tool_signet_miner.py --descriptors passed, Duration: 3 s
71/315 - feature_config_args.py passed, Duration: 28 s
72/315 - mempool_spend_coinbase.py passed, Duration: 1 s
73/315 - wallet_fast_rescan.py --descriptors passed, Duration: 9 s
74/315 - wallet_avoid_mixing_output_types.py --descriptors passed, Duration: 1 s
75/315 - interface_bitcoin_cli.py --legacy-wallet passed, Duration: 8 s
76/315 - rpc_misc.py passed, Duration: 4 s
77/315 - wallet_createwallet.py --legacy-wallet skipped (BDB has not been compiled.)
78/315 - wallet_taproot.py --descriptors passed, Duration: 34 s
79/315 - interface_rest.py passed, Duration: 4 s
80/315 - p2p_block_sync.py --v1transport passed, Duration: 2 s
81/315 - p2p_block_sync.py --v2transport passed, Duration: 2 s
82/315 - wallet_watchonly.py --legacy-wallet skipped (BDB has not been compiled.)
83/315 - wallet_reindex.py --legacy-wallet skipped (BDB has not been compiled.)
84/315 - mempool_limit.py passed, Duration: 21 s
85/315 - interface_bitcoin_cli.py --descriptors passed, Duration: 10 s
86/315 - wallet_watchonly.py --usecli --legacy-wallet skipped (BDB has not been compiled.)
87/315 - wallet_createwallet.py --descriptors passed, Duration: 2 s
88/315 - interface_http.py passed, Duration: 1 s
89/315 - interface_usdt_coinselection.py skipped (bitcoind has not been built with USDT tracepoints enabled.)
90/315 - wallet_createwallet.py --usecli passed, Duration: 3 s
91/315 - interface_usdt_mempool.py skipped (bitcoind has not been built with USDT tracepoints enabled.)
92/315 - interface_usdt_utxocache.py skipped (bitcoind has not been built with USDT tracepoints enabled.)
93/315 - wallet_reindex.py --descriptors passed, Duration: 2 s
94/315 - interface_usdt_net.py skipped (bitcoind has not been built with USDT tracepoints enabled.)
95/315 - interface_usdt_validation.py skipped (bitcoind has not been built with USDT tracepoints enabled.)
96/315 - rpc_whitelist.py passed, Duration: 1 s
97/315 - wallet_signrawtransactionwithwallet.py --legacy-wallet skipped (BDB has not been compiled.)
98/315 - interface_rpc.py passed, Duration: 2 s
99/315 - tool_wallet.py --descriptors passed, Duration: 11 s
100/315 - wallet_signrawtransactionwithwallet.py --descriptors passed, Duration: 1 s
101/315 - wallet_transactiontime_rescan.py --legacy-wallet skipped (BDB has not been compiled.)
102/315 - rpc_signrawtransactionwithkey.py passed, Duration: 1 s
103/315 - wallet_reorgsrestore.py passed, Duration: 4 s
104/315 - feature_proxy.py passed, Duration: 4 s
105/315 - p2p_disconnect_ban.py --v1transport passed, Duration: 2 s
106/315 - feature_assumeutxo.py passed, Duration: 43 s
107/315 - feature_posix_fs_permissions.py passed, Duration: 1 s
108/315 - p2p_disconnect_ban.py --v2transport passed, Duration: 2 s
109/315 - rpc_rawtransaction.py --legacy-wallet passed, Duration: 5 s
110/315 - rpc_decodescript.py passed, Duration: 1 s
111/315 - wallet_transactiontime_rescan.py --descriptors passed, Duration: 5 s
112/315 - rpc_deprecated.py passed, Duration: 1 s
113/315 - wallet_change_address.py --legacy-wallet skipped (BDB has not been compiled.)
114/315 - wallet_disable.py passed, Duration: 1 s
115/315 - p2p_getdata.py passed, Duration: 1 s
116/315 - p2p_addrfetch.py passed, Duration: 1 s
117/315 - rpc_users.py passed, Duration: 10 s
118/315 - mempool_ephemeral_dust.py passed, Duration: 53 s
119/315 - rpc_blockchain.py --v1transport passed, Duration: 10 s
120/315 - rpc_blockchain.py --v2transport passed, Duration: 10 s
121/315 - wallet_keypool.py --legacy-wallet skipped (BDB has not been compiled.)
122/315 - feature_fee_estimation.py passed, Duration: 55 s
123/315 - p2p_nobloomfilter_messages.py passed, Duration: 1 s
124/315 - wallet_keypool.py --descriptors passed, Duration: 3 s
125/315 - wallet_descriptor.py --descriptors passed, Duration: 4 s
126/315 - p2p_filter.py passed, Duration: 4 s
127/315 - rpc_setban.py --v1transport passed, Duration: 3 s
128/315 - p2p_segwit.py failed, Duration: 62 s

stdout:
2024-12-19T10:20:33.205000Z TestFramework (INFO): PRNG seed is: 8606628062404686502
2024-12-19T10:20:33.206000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_segwit_304
2024-12-19T10:21:34.307000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:34.323000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_segwit.py", line 245, in run_test
    self.test_node = self.nodes[0].add_p2p_connection(TestP2PConn(), services=P2P_SERVICES)
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:34.488000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:34.723000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_segwit_304
2024-12-19T10:21:34.723000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_segwit_304/test_framework.log
2024-12-19T10:21:34.727000Z TestFramework (ERROR): 
2024-12-19T10:21:34.728000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_segwit_304' to consolidate all logs
2024-12-19T10:21:34.728000Z TestFramework (ERROR): 
2024-12-19T10:21:34.729000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:34.731000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:34.731000Z TestFramework (ERROR): 


stderr:


129/315 - rpc_setban.py --v2transport passed, Duration: 4 s
130/315 - wallet_change_address.py --descriptors passed, Duration: 18 s
131/315 - mining_prioritisetransaction.py passed, Duration: 3 s
132/315 - feature_maxuploadtarget.py failed, Duration: 63 s

stdout:
2024-12-19T10:20:33.206000Z TestFramework (INFO): PRNG seed is: 668448119338177021
2024-12-19T10:20:33.210000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/feature_maxuploadtarget_303
2024-12-19T10:21:35.697000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:35.720000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/feature_maxuploadtarget.py", line 85, in run_test
    p2p_conns.append(self.nodes[0].add_p2p_connection(TestP2PConn(), supports_v2_p2p=False))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:35.922000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:36.193000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/feature_maxuploadtarget_303
2024-12-19T10:21:36.195000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/feature_maxuploadtarget_303/test_framework.log
2024-12-19T10:21:36.203000Z TestFramework (ERROR): 
2024-12-19T10:21:36.205000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/feature_maxuploadtarget_303' to consolidate all logs
2024-12-19T10:21:36.205000Z TestFramework (ERROR): 
2024-12-19T10:21:36.206000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:36.215000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:36.215000Z TestFramework (ERROR): 


stderr:


133/315 - wallet_fundrawtransaction.py --descriptors failed, Duration: 63 s

stdout:
2024-12-19T10:20:33.492000Z TestFramework (INFO): PRNG seed is: 4072770712602179212
2024-12-19T10:20:33.502000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_fundrawtransaction_296
2024-12-19T10:21:35.622000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:35.640000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 131, in main
    self.setup()
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 315, in setup
    self.setup_network()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_fundrawtransaction.py", line 60, in setup_network
    self.connect_nodes(0, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:35.772000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:36.069000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_fundrawtransaction_296
2024-12-19T10:21:36.069000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_fundrawtransaction_296/test_framework.log
2024-12-19T10:21:36.075000Z TestFramework (ERROR): 
2024-12-19T10:21:36.077000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_fundrawtransaction_296' to consolidate all logs
2024-12-19T10:21:36.077000Z TestFramework (ERROR): 
2024-12-19T10:21:36.078000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:36.085000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:36.085000Z TestFramework (ERROR): 


stderr:


134/315 - p2p_blockfilters.py failed, Duration: 62 s

stdout:
2024-12-19T10:20:35.013000Z TestFramework (INFO): PRNG seed is: 6588141688071710032
2024-12-19T10:20:35.017000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_blockfilters_271
2024-12-19T10:21:36.011000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:36.025000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_blockfilters.py", line 55, in run_test
    peer_0 = self.nodes[0].add_p2p_connection(FiltersClient())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:36.155000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:36.414000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_blockfilters_271
2024-12-19T10:21:36.414000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_blockfilters_271/test_framework.log
2024-12-19T10:21:36.418000Z TestFramework (ERROR): 
2024-12-19T10:21:36.419000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_blockfilters_271' to consolidate all logs
2024-12-19T10:21:36.419000Z TestFramework (ERROR): 
2024-12-19T10:21:36.420000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:36.422000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:36.422000Z TestFramework (ERROR): 


stderr:


135/315 - wallet_backup.py --descriptors failed, Duration: 64 s

stdout:
2024-12-19T10:20:33.477000Z TestFramework (INFO): PRNG seed is: 3400419582716605001
2024-12-19T10:20:33.481000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_backup_291
2024-12-19T10:21:35.752000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:35.772000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 131, in main
    self.setup()
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 315, in setup
    self.setup_network()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_backup.py", line 70, in setup_network
    self.connect_nodes(1, 3)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:35.995000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:36.177000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_backup_291
2024-12-19T10:21:36.177000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_backup_291/test_framework.log
2024-12-19T10:21:36.179000Z TestFramework (ERROR): 
2024-12-19T10:21:36.181000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_backup_291' to consolidate all logs
2024-12-19T10:21:36.181000Z TestFramework (ERROR): 
2024-12-19T10:21:36.181000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:36.183000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:36.183000Z TestFramework (ERROR): 


stderr:


136/315 - wallet_basic.py --descriptors failed, Duration: 64 s

stdout:
2024-12-19T10:20:33.397000Z TestFramework (INFO): PRNG seed is: 588124134047335101
2024-12-19T10:20:33.425000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_basic_279
2024-12-19T10:21:36.002000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:36.013000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 131, in main
    self.setup()
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 315, in setup
    self.setup_network()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_basic.py", line 52, in setup_network
    self.connect_nodes(0, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:36.132000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:36.316000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_basic_279
2024-12-19T10:21:36.317000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_basic_279/test_framework.log
2024-12-19T10:21:36.321000Z TestFramework (ERROR): 
2024-12-19T10:21:36.322000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_basic_279' to consolidate all logs
2024-12-19T10:21:36.322000Z TestFramework (ERROR): 
2024-12-19T10:21:36.322000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:36.325000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:36.325000Z TestFramework (ERROR): 


stderr:


137/315 - p2p_invalid_block.py --v1transport passed, Duration: 2 s
138/315 - p2p_invalid_block.py --v2transport passed, Duration: 2 s
139/315 - wallet_conflicts.py --descriptors passed, Duration: 66 s
140/315 - wallet_address_types.py --descriptors failed, Duration: 66 s

stdout:
2024-12-19T10:20:33.553000Z TestFramework (INFO): PRNG seed is: 4585099818545530530
2024-12-19T10:20:33.568000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_address_types_282
2024-12-19T10:21:36.417000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:36.429000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 131, in main
    self.setup()
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 315, in setup
    self.setup_network()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_address_types.py", line 95, in setup_network
    self.connect_nodes(i, j)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:36.525000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:37.600000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_address_types_282
2024-12-19T10:21:37.625000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_address_types_282/test_framework.log
2024-12-19T10:21:37.788000Z TestFramework (ERROR): 
2024-12-19T10:21:37.835000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_address_types_282' to consolidate all logs
2024-12-19T10:21:37.899000Z TestFramework (ERROR): 
2024-12-19T10:21:37.899000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:37.904000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:37.904000Z TestFramework (ERROR): 


stderr:


141/315 - rpc_packages.py failed, Duration: 64 s

stdout:
2024-12-19T10:20:35.055000Z TestFramework (INFO): PRNG seed is: 6658117427304650098
2024-12-19T10:20:35.057000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_packages_267
2024-12-19T10:20:36.262000Z TestFramework (INFO): Create some transactions
2024-12-19T10:20:36.272000Z TestFramework (INFO): Test multiple independent transactions in a package
2024-12-19T10:20:36.273000Z TestFramework (INFO): Test an otherwise valid package with an extra garbage tx appended
2024-12-19T10:20:36.274000Z TestFramework (INFO): Check testmempoolaccept tells us when some transactions completed validation successfully
2024-12-19T10:20:36.276000Z TestFramework (INFO): Check testmempoolaccept reports txns in packages that exceed max feerate
2024-12-19T10:20:36.281000Z TestFramework (INFO): Check that testmempoolaccept requires packages to be sorted by dependency
2024-12-19T10:20:36.284000Z TestFramework (INFO): Testmempoolaccept a chain of 25 transactions
2024-12-19T10:20:36.419000Z TestFramework (INFO): Testmempoolaccept a package in which a transaction has two children within the package
2024-12-19T10:20:36.431000Z TestFramework (INFO): Testmempoolaccept with entire package, should work with children in either order
2024-12-19T10:20:36.446000Z TestFramework (INFO): Testmempoolaccept a package in which a transaction has multiple parents within the package
2024-12-19T10:20:36.920000Z TestFramework (INFO): Test duplicate transactions in the same package
2024-12-19T10:20:36.922000Z TestFramework (INFO): Test conflicting transactions in the same package
2024-12-19T10:20:36.941000Z TestFramework (INFO): Test that packages cannot conflict with mempool transactions, even if a valid BIP125 RBF
2024-12-19T10:20:36.951000Z TestFramework (INFO): Submitpackage only allows valid hex inputs
2024-12-19T10:20:36.958000Z TestFramework (INFO): Submitpackage valid packages with 1 child and some number of parents (or none)
2024-12-19T10:21:38.612000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:38.627000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_packages.py", line 91, in run_test
    self.test_submitpackage()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_packages.py", line 383, in test_submitpackage
    self.test_submit_child_with_parents(num_parents, True)
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_packages.py", line 331, in test_submit_child_with_parents
    peer = node.add_p2p_connection(P2PTxInvStore())
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:38.836000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:39.017000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_packages_267
2024-12-19T10:21:39.017000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_packages_267/test_framework.log
2024-12-19T10:21:39.020000Z TestFramework (ERROR): 
2024-12-19T10:21:39.021000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_packages_267' to consolidate all logs
2024-12-19T10:21:39.021000Z TestFramework (ERROR): 
2024-12-19T10:21:39.021000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:39.024000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:39.024000Z TestFramework (ERROR): 


stderr:


142/315 - feature_framework_unit_tests.py passed, Duration: 11 s
143/315 - wallet_txn_doublespend.py --legacy-wallet skipped (BDB has not been compiled.)
144/315 - p2p_orphan_handling.py failed, Duration: 66 s

stdout:
2024-12-19T10:20:33.203000Z TestFramework (INFO): PRNG seed is: 2305709717835287779
2024-12-19T10:20:33.209000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_orphan_handling_281
2024-12-19T10:20:35.838000Z TestFramework (INFO): Test missing parents that arrive during delay are not requested
2024-12-19T10:21:36.162000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:36.325000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_orphan_handling.py", line 638, in run_test
    self.test_arrival_timing_orphan()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_orphan_handling.py", line 55, in wrapper
    func(self)
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_orphan_handling.py", line 164, in test_arrival_timing_orphan
    peer_normal = node.add_p2p_connection(PeerTxRelayer())
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:36.480000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:36.643000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_orphan_handling_281
2024-12-19T10:21:36.644000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_orphan_handling_281/test_framework.log
2024-12-19T10:21:36.723000Z TestFramework (ERROR): 
2024-12-19T10:21:36.726000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_orphan_handling_281' to consolidate all logs
2024-12-19T10:21:36.727000Z TestFramework (ERROR): 
2024-12-19T10:21:36.727000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:36.731000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:36.731000Z TestFramework (ERROR): 


stderr:


145/315 - p2p_sendheaders.py failed, Duration: 62 s

stdout:
2024-12-19T10:20:37.182000Z TestFramework (INFO): PRNG seed is: 5449830841575039004
2024-12-19T10:20:37.186000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_sendheaders_260
2024-12-19T10:20:37.521000Z TestFramework.p2p (WARNING): Connection lost to 127.0.0.1:14120 due to [Errno 104] Connection reset by peer
2024-12-19T10:21:38.608000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:38.621000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_sendheaders.py", line 226, in run_test
    inv_node = self.nodes[0].add_p2p_connection(BaseNode())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:38.831000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:39.026000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_sendheaders_260
2024-12-19T10:21:39.027000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_sendheaders_260/test_framework.log
2024-12-19T10:21:39.029000Z TestFramework (ERROR): 
2024-12-19T10:21:39.030000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_sendheaders_260' to consolidate all logs
2024-12-19T10:21:39.031000Z TestFramework (ERROR): 
2024-12-19T10:21:39.031000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:39.032000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:39.032000Z TestFramework (ERROR): 


stderr:


146/315 - wallet_backwards_compatibility.py --legacy-wallet skipped (BDB has not been compiled.)
147/315 - p2p_feefilter.py failed, Duration: 63 s

stdout:
2024-12-19T10:20:36.767000Z TestFramework (INFO): PRNG seed is: 2617212402014049251
2024-12-19T10:20:36.771000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_feefilter_262
2024-12-19T10:20:37.331000Z TestFramework (INFO): Check that peers without forcerelay permission (default) get a feefilter message
2024-12-19T10:20:37.338000Z TestFramework.p2p (WARNING): Connection lost to 127.0.0.1:14144 due to [Errno 104] Connection reset by peer
2024-12-19T10:21:38.603000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:38.617000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_feefilter.py", line 62, in run_test
    self.test_feefilter_forcerelay()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_feefilter.py", line 68, in test_feefilter_forcerelay
    self.nodes[0].add_p2p_connection(FeefilterConn()).assert_feefilter_received(True)
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:38.825000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:39.015000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_feefilter_262
2024-12-19T10:21:39.015000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_feefilter_262/test_framework.log
2024-12-19T10:21:39.018000Z TestFramework (ERROR): 
2024-12-19T10:21:39.019000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_feefilter_262' to consolidate all logs
2024-12-19T10:21:39.019000Z TestFramework (ERROR): 
2024-12-19T10:21:39.019000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:39.021000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:39.021000Z TestFramework (ERROR): 


stderr:


148/315 - wallet_backwards_compatibility.py --descriptors skipped (previous releases not available or disabled)
149/315 - wallet_txn_doublespend.py --descriptors passed, Duration: 2 s
150/315 - rpc_invalidateblock.py passed, Duration: 1 s
151/315 - mining_getblocktemplate_longpoll.py passed, Duration: 69 s
152/315 - rpc_getblockfilter.py passed, Duration: 2 s
153/315 - feature_utxo_set_hash.py passed, Duration: 2 s
154/315 - p2p_node_network_limited.py --v1transport failed, Duration: 70 s

stdout:
2024-12-19T10:20:32.923000Z TestFramework (INFO): PRNG seed is: 8400077473418387617
2024-12-19T10:20:32.930000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_307
2024-12-19T10:20:33.929000Z TestFramework (INFO): Check that node has signalled expected services.
2024-12-19T10:20:33.949000Z TestFramework (INFO): Check that the localservices is as expected.
2024-12-19T10:20:33.950000Z TestFramework (INFO): Mine enough blocks to reach the NODE_NETWORK_LIMITED range.
2024-12-19T10:20:36.704000Z TestFramework (INFO): Make sure we can max retrieve block at tip-288.
2024-12-19T10:20:36.757000Z TestFramework (INFO): Requesting block at height 2 (tip-289) must fail (ignored).
2024-12-19T10:21:42.225000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:42.321000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_node_network_limited.py", line 155, in run_test
    self.connect_nodes(1, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:42.480000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:42.914000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_307
2024-12-19T10:21:42.915000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_307/test_framework.log
2024-12-19T10:21:42.923000Z TestFramework (ERROR): 
2024-12-19T10:21:42.927000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_307' to consolidate all logs
2024-12-19T10:21:42.927000Z TestFramework (ERROR): 
2024-12-19T10:21:42.927000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:42.930000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:42.931000Z TestFramework (ERROR): 


stderr:


155/315 - wallet_multisig_descriptor_psbt.py --descriptors passed, Duration: 4 s
156/315 - mempool_package_onemore.py passed, Duration: 1 s
157/315 - p2p_node_network_limited.py --v2transport failed, Duration: 71 s

stdout:
2024-12-19T10:20:32.968000Z TestFramework (INFO): PRNG seed is: 8500554574524781643
2024-12-19T10:20:32.976000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_306
2024-12-19T10:20:33.996000Z TestFramework (INFO): Check that node has signalled expected services.
2024-12-19T10:20:34.016000Z TestFramework (INFO): Check that the localservices is as expected.
2024-12-19T10:20:34.038000Z TestFramework (INFO): Mine enough blocks to reach the NODE_NETWORK_LIMITED range.
2024-12-19T10:20:36.811000Z TestFramework (INFO): Make sure we can max retrieve block at tip-288.
2024-12-19T10:20:36.873000Z TestFramework (INFO): Requesting block at height 2 (tip-289) must fail (ignored).
2024-12-19T10:21:42.330000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:42.354000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_node_network_limited.py", line 155, in run_test
    self.connect_nodes(1, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:42.506000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:42.932000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_306
2024-12-19T10:21:42.932000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_306/test_framework.log
2024-12-19T10:21:42.938000Z TestFramework (ERROR): 
2024-12-19T10:21:42.939000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_node_network_limited_306' to consolidate all logs
2024-12-19T10:21:42.940000Z TestFramework (ERROR): 
2024-12-19T10:21:42.940000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:42.942000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:42.942000Z TestFramework (ERROR): 


stderr:


158/315 - wallet_txn_clone.py --mineblock passed, Duration: 4 s
159/315 - p2p_v2_transport.py passed, Duration: 7 s
160/315 - wallet_importprunedfunds.py --legacy-wallet skipped (BDB has not been compiled.)
161/315 - p2p_timeouts.py --v1transport failed, Duration: 61 s

stdout:
2024-12-19T10:20:43.647000Z TestFramework (INFO): PRNG seed is: 6809485369884442701
2024-12-19T10:20:43.649000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_253
2024-12-19T10:21:44.048000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:44.060000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_timeouts.py", line 55, in run_test
    no_version_node = self.nodes[0].add_p2p_connection(TestP2PConn(), send_version=False, wait_for_verack=False)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:44.194000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:44.476000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_253
2024-12-19T10:21:44.476000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_253/test_framework.log
2024-12-19T10:21:44.484000Z TestFramework (ERROR): 
2024-12-19T10:21:44.487000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_253' to consolidate all logs
2024-12-19T10:21:44.487000Z TestFramework (ERROR): 
2024-12-19T10:21:44.487000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:44.493000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:44.493000Z TestFramework (ERROR): 


stderr:


162/315 - mempool_package_limits.py passed, Duration: 2 s
163/315 - p2p_timeouts.py --v2transport failed, Duration: 61 s

stdout:
2024-12-19T10:20:44.227000Z TestFramework (INFO): PRNG seed is: 1227293911262548152
2024-12-19T10:20:44.228000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_252
2024-12-19T10:21:44.809000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:44.821000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_timeouts.py", line 55, in run_test
    no_version_node = self.nodes[0].add_p2p_connection(TestP2PConn(), send_version=False, wait_for_verack=False)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:44.940000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:45.292000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_252
2024-12-19T10:21:45.292000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_252/test_framework.log
2024-12-19T10:21:45.303000Z TestFramework (ERROR): 
2024-12-19T10:21:45.306000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_timeouts_252' to consolidate all logs
2024-12-19T10:21:45.307000Z TestFramework (ERROR): 
2024-12-19T10:21:45.307000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:45.309000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:45.309000Z TestFramework (ERROR): 


stderr:


164/315 - feature_versionbits_warning.py passed, Duration: 2 s
165/315 - wallet_importprunedfunds.py --descriptors passed, Duration: 2 s
166/315 - feature_blocksxor.py passed, Duration: 3 s
167/315 - mempool_truc.py passed, Duration: 9 s
168/315 - rpc_getblockfrompeer.py passed, Duration: 7 s
169/315 - p2p_net_deadlock.py --v1transport passed, Duration: 2 s
170/315 - wallet_signmessagewithaddress.py passed, Duration: 1 s
171/315 - rpc_signmessagewithprivkey.py passed, Duration: 1 s
172/315 - wallet_balance.py --legacy-wallet skipped (BDB has not been compiled.)
173/315 - p2p_net_deadlock.py --v2transport passed, Duration: 2 s
174/315 - rpc_psbt.py --descriptors failed, Duration: 76 s

stdout:
2024-12-19T10:20:33.255000Z TestFramework (INFO): PRNG seed is: 8503525724375028872
2024-12-19T10:20:33.256000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_psbt_298
2024-12-19T10:20:36.107000Z TestFramework (INFO): Test for invalid maximum transaction weights
2024-12-19T10:20:36.196000Z TestFramework (INFO): Test that a funded PSBT is always faithful to max_tx_weight option
2024-12-19T10:20:37.965000Z TestFramework (INFO): Test walletcreatefundedpsbt fee rate of 10000 sat/vB and 0.1 BTC/kvB produces a total fee at or slightly below -maxtxfee (~0.05290000)
2024-12-19T10:20:37.981000Z TestFramework (INFO): Test min fee rate checks with walletcreatefundedpsbt are bypassed, e.g. a fee_rate under 1 sat/vB is allowed
2024-12-19T10:20:37.995000Z TestFramework (INFO): Test min fee rate checks with walletcreatefundedpsbt are bypassed and that funding non-standard 'zero-fee' transactions is valid
2024-12-19T10:20:38.040000Z TestFramework (INFO): Test invalid fee rate settings
2024-12-19T10:20:38.073000Z TestFramework (INFO): - raises RPC error if both feeRate and fee_rate are passed
2024-12-19T10:20:38.075000Z TestFramework (INFO): - raises RPC error if both feeRate and estimate_mode passed
2024-12-19T10:20:38.076000Z TestFramework (INFO): - raises RPC error if both feeRate and conf_target are passed
2024-12-19T10:20:38.077000Z TestFramework (INFO): - raises RPC error if both fee_rate and conf_target are passed
2024-12-19T10:20:38.078000Z TestFramework (INFO): - raises RPC error if both fee_rate and estimate_mode are passed
2024-12-19T10:20:38.079000Z TestFramework (INFO): - raises RPC error with invalid estimate_mode settings
2024-12-19T10:20:38.087000Z TestFramework (INFO): - raises RPC error with invalid conf_target settings
2024-12-19T10:20:38.098000Z TestFramework (INFO): Test walletcreatefundedpsbt with too-high fee rate produces total fee well above -maxtxfee and raises RPC error
2024-12-19T10:20:38.111000Z TestFramework (INFO): Test various PSBT operations
2024-12-19T10:20:41.687000Z TestFramework (INFO): Check that non-witness UTXOs are removed for segwit v1+ inputs
2024-12-19T10:20:43.025000Z TestFramework (INFO): Check that PSBT is correctly marked as incomplete after invalid modification
2024-12-19T10:20:44.155000Z TestFramework (INFO): Crafting PSBT using an unconfirmed input
2024-12-19T10:20:44.166000Z TestFramework (INFO): Fail to craft a new PSBT that sends more funds with add_inputs = False
2024-12-19T10:20:44.169000Z TestFramework (INFO): Fail to craft a new PSBT with minconf above highest one
2024-12-19T10:20:44.172000Z TestFramework (INFO): Fail to broadcast a new PSBT with maxconf 0 due to BIP125 rules to verify it actually chose unconfirmed outputs
2024-12-19T10:20:44.183000Z TestFramework (INFO): Craft a replacement adding inputs with highest confs possible
2024-12-19T10:20:46.394000Z TestFramework (INFO): PSBT spending unspendable outputs should have error message and Creator as next
2024-12-19T10:20:46.395000Z TestFramework (INFO): PSBT with invalid values should have error message and Creator as next
2024-12-19T10:20:46.398000Z TestFramework (INFO): PSBT with signed, but not finalized, inputs should have Finalizer as next
2024-12-19T10:20:46.403000Z TestFramework (INFO): Test that we can fund psbts with external inputs specified
2024-12-19T10:20:47.742000Z TestFramework (INFO): Test signing inputs that the wallet has keys for but is not watching the scripts
2024-12-19T10:20:47.935000Z TestFramework (INFO): Test that walletprocesspsbt both updates and signs a non-updated psbt containing Taproot inputs
2024-12-19T10:20:47.986000Z TestFramework (INFO): Test walletprocesspsbt raises if an invalid sighashtype is passed
2024-12-19T10:20:47.987000Z TestFramework (INFO): Test decoding PSBT with per-input preimage types
2024-12-19T10:20:47.990000Z TestFramework (INFO): Test that combining PSBTs with different transactions fails
2024-12-19T10:20:47.994000Z TestFramework (INFO): Test that PSBT inputs are being checked via script execution
2024-12-19T10:20:47.999000Z TestFramework (INFO): Test we don't crash when making a 0-value funded transaction at 0 fee without forcing an input selection
2024-12-19T10:20:48.003000Z TestFramework (INFO): Test descriptorprocesspsbt updates and signs a psbt with descriptors
2024-12-19T10:21:48.596000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:21:48.611000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_psbt.py", line 1011, in run_test
    self.connect_nodes(1, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:21:48.724000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:48.965000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_psbt_298
2024-12-19T10:21:48.965000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_psbt_298/test_framework.log
2024-12-19T10:21:48.967000Z TestFramework (ERROR): 
2024-12-19T10:21:48.968000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_psbt_298' to consolidate all logs
2024-12-19T10:21:48.969000Z TestFramework (ERROR): 
2024-12-19T10:21:48.970000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:48.972000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:48.972000Z TestFramework (ERROR): 


stderr:


175/315 - rpc_generate.py passed, Duration: 1 s
176/315 - p2p_eviction.py passed, Duration: 5 s
177/315 - feature_nulldummy.py passed, Duration: 1 s
178/315 - feature_rbf.py passed, Duration: 8 s
179/315 - p2p_ibd_stalling.py --v1transport passed, Duration: 4 s
180/315 - wallet_import_with_label.py --legacy-wallet skipped (BDB has not been compiled.)
181/315 - mempool_expiry.py passed, Duration: 1 s
182/315 - wallet_upgradewallet.py --legacy-wallet skipped (BDB has not been compiled.)
183/315 - p2p_outbound_eviction.py passed, Duration: 7 s
184/315 - wallet_crosschain.py passed, Duration: 1 s
185/315 - feature_taproot.py passed, Duration: 79 s
186/315 - wallet_implicitsegwit.py --legacy-wallet skipped (BDB has not been compiled.)
187/315 - feature_signet.py passed, Duration: 2 s
188/315 - rpc_named_arguments.py passed, Duration: 1 s
189/315 - wallet_simulaterawtx.py --legacy-wallet skipped (BDB has not been compiled.)
190/315 - p2p_invalid_messages.py failed, Duration: 71 s

stdout:
2024-12-19T10:20:41.656000Z TestFramework (INFO): PRNG seed is: 4700652696975561340
2024-12-19T10:20:41.657000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_messages_255
2024-12-19T10:20:41.919000Z TestFramework (INFO): Test message with header split across two buffers is received
2024-12-19T10:20:42.179000Z TestFramework (INFO): Test duplicate version message is ignored
2024-12-19T10:20:42.335000Z TestFramework (INFO): Test message with invalid magic bytes disconnects peer
2024-12-19T10:20:42.490000Z TestFramework (INFO): Test message with invalid checksum logs an error
2024-12-19T10:20:42.698000Z TestFramework (INFO): Test message with oversized payload disconnects peer
2024-12-19T10:20:42.820000Z TestFramework.p2p (WARNING): Connection lost to 127.0.0.1:14060 due to [Errno 32] Broken pipe
2024-12-19T10:20:42.872000Z TestFramework (INFO): Test message with invalid message type logs an error
2024-12-19T10:20:43.134000Z TestFramework (INFO): Test addrv2: empty
2024-12-19T10:20:43.341000Z TestFramework (INFO): Test addrv2: no addresses
2024-12-19T10:20:43.446000Z TestFramework (INFO): Test addrv2: too long address
2024-12-19T10:20:43.656000Z TestFramework (INFO): Test addrv2: unrecognized network
2024-12-19T10:20:43.716000Z TestFramework (INFO): Test inv message of size 50001 is logged as misbehaving
2024-12-19T10:20:47.565000Z TestFramework (INFO): Test getdata message of size 50001 is logged as misbehaving
2024-12-19T10:20:51.255000Z TestFramework (INFO): Test headers message of size 2001 is logged as misbehaving
2024-12-19T10:20:51.522000Z TestFramework (INFO): Test headers message with invalid proof-of-work is logged as misbehaving and disconnects peer
2024-12-19T10:20:51.784000Z TestFramework (INFO): Test headers message with non-continuous headers sequence is logged as misbehaving
2024-12-19T10:20:52.023000Z TestFramework (INFO): Test node stays up despite many large junk messages
2024-12-19T10:21:52.247000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:52.262000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_messages.py", line 79, in run_test
    self.test_resource_exhaustion()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_messages.py", line 335, in test_resource_exhaustion
    conn2 = self.nodes[0].add_p2p_connection(P2PDataStore(), supports_v2_p2p=False)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:52.392000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:52.692000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_messages_255
2024-12-19T10:21:52.693000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_messages_255/test_framework.log
2024-12-19T10:21:52.698000Z TestFramework (ERROR): 
2024-12-19T10:21:52.702000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_messages_255' to consolidate all logs
2024-12-19T10:21:52.703000Z TestFramework (ERROR): 
2024-12-19T10:21:52.703000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:52.706000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:52.706000Z TestFramework (ERROR): 


stderr:


191/315 - p2p_ibd_stalling.py --v2transport passed, Duration: 7 s
192/315 - p2p_mutated_blocks.py passed, Duration: 2 s
193/315 - wallet_listsinceblock.py --legacy-wallet skipped (BDB has not been compiled.)
194/315 - rpc_orphans.py failed, Duration: 62 s

stdout:
2024-12-19T10:20:51.732000Z TestFramework (INFO): PRNG seed is: 7094986868152313699
2024-12-19T10:20:51.733000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_orphans_245
2024-12-19T10:20:52.055000Z TestFramework (INFO): Check that orphaned transactions are returned with getorphantxs
2024-12-19T10:20:52.055000Z TestFramework (INFO): Create two 1P1C packages, but only broadcast the children
2024-12-19T10:20:52.272000Z TestFramework (INFO): Check that neither parent is in the mempool
2024-12-19T10:20:52.274000Z TestFramework (INFO): Check the size of the orphanage
2024-12-19T10:20:52.274000Z TestFramework (INFO): Check that undefined verbosity is disallowed
2024-12-19T10:20:52.276000Z TestFramework (INFO): Check that both children are in the orphanage
2024-12-19T10:20:52.278000Z TestFramework (INFO): Broadcast parent 1
2024-12-19T10:20:52.332000Z TestFramework (INFO): Check that parent 1 and child 1 are in the mempool
2024-12-19T10:20:52.333000Z TestFramework (INFO): Check that orphanage only contains child 2
2024-12-19T10:20:52.386000Z TestFramework (INFO): Check that all parents and children are now in the mempool
2024-12-19T10:20:52.389000Z TestFramework (INFO): Check that the orphanage is empty
2024-12-19T10:20:52.390000Z TestFramework (INFO): Confirm the transactions (clears mempool)
2024-12-19T10:20:52.399000Z TestFramework (INFO): Check the transaction details returned from getorphantxs
2024-12-19T10:20:52.399000Z TestFramework (INFO): Create two orphans, from different peers
2024-12-19T10:21:52.532000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:52.552000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_orphans.py", line 30, in run_test
    self.test_orphan_details()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_orphans.py", line 96, in test_orphan_details
    peer_1 = node.add_p2p_connection(P2PInterface())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:52.682000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:52.836000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_orphans_245
2024-12-19T10:21:52.836000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_orphans_245/test_framework.log
2024-12-19T10:21:52.846000Z TestFramework (ERROR): 
2024-12-19T10:21:52.847000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_orphans_245' to consolidate all logs
2024-12-19T10:21:52.847000Z TestFramework (ERROR): 
2024-12-19T10:21:52.847000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:52.849000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:52.850000Z TestFramework (ERROR): 


stderr:


195/315 - feature_startupnotify.py passed, Duration: 1 s
196/315 - wallet_encryption.py --legacy-wallet skipped (BDB has not been compiled.)
197/315 - wallet_simulaterawtx.py --descriptors passed, Duration: 1 s
198/315 - wallet_listdescriptors.py --descriptors passed, Duration: 1 s
199/315 - rpc_uptime.py passed, Duration: 1 s
200/315 - feature_notifications.py passed, Duration: 15 s
201/315 - feature_dersig.py passed, Duration: 1 s
202/315 - wallet_resendwallettransactions.py --legacy-wallet skipped (BDB has not been compiled.)
203/315 - feature_cltv.py passed, Duration: 2 s
204/315 - wallet_fallbackfee.py --legacy-wallet skipped (BDB has not been compiled.)
205/315 - wallet_balance.py --descriptors passed, Duration: 8 s
206/315 - rpc_dumptxoutset.py passed, Duration: 1 s
207/315 - p2p_compactblocks.py failed, Duration: 61 s

stdout:
2024-12-19T10:20:55.236000Z TestFramework (INFO): PRNG seed is: 1162481102626331584
2024-12-19T10:20:55.237000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_236
2024-12-19T10:21:55.717000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:21:55.749000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_compactblocks.py", line 906, in run_test
    self.additional_segwit_node = self.nodes[0].add_p2p_connection(TestP2PConn())
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:21:55.951000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:21:56.205000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_236
2024-12-19T10:21:56.206000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_236/test_framework.log
2024-12-19T10:21:56.216000Z TestFramework (ERROR): 
2024-12-19T10:21:56.220000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_236' to consolidate all logs
2024-12-19T10:21:56.221000Z TestFramework (ERROR): 
2024-12-19T10:21:56.221000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:21:56.262000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:21:56.262000Z TestFramework (ERROR): 


stderr:


208/315 - mempool_package_rbf.py passed, Duration: 14 s
209/315 - mempool_accept.py passed, Duration: 7 s
210/315 - wallet_fallbackfee.py --descriptors passed, Duration: 1 s
211/315 - rpc_estimatefee.py passed, Duration: 1 s
212/315 - feature_discover.py passed, Duration: 3 s
213/315 - rpc_getblockstats.py passed, Duration: 1 s
214/315 - feature_bind_port_externalip.py skipped (To run this test make sure that 1.1.1.1 (a routable address) is assigned to one of the interfaces on this machine and rerun with --ihave1111)
215/315 - wallet_send.py --legacy-wallet skipped (BDB has not been compiled.)
216/315 - wallet_sendall.py --legacy-wallet skipped (BDB has not been compiled.)
217/315 - wallet_create_tx.py --legacy-wallet skipped (BDB has not been compiled.)
218/315 - wallet_sendmany.py --legacy-wallet skipped (BDB has not been compiled.)
219/315 - wallet_inactive_hdchains.py --legacy-wallet skipped (BDB has not been compiled.)
220/315 - p2p_leak_tx.py --v2transport passed, Duration: 14 s
221/315 - wallet_sendmany.py --descriptors passed, Duration: 1 s
222/315 - wallet_rescan_unconfirmed.py --descriptors passed, Duration: 1 s
223/315 - p2p_fingerprint.py passed, Duration: 1 s
224/315 - wallet_coinbase_category.py --legacy-wallet skipped (BDB has not been compiled.)
225/315 - p2p_leak_tx.py --v1transport passed, Duration: 15 s
226/315 - wallet_encryption.py --descriptors passed, Duration: 6 s
227/315 - feature_port.py passed, Duration: 3 s
228/315 - wallet_spend_unconfirmed.py passed, Duration: 2 s
229/315 - wallet_coinbase_category.py --descriptors passed, Duration: 1 s
230/315 - wallet_create_tx.py --descriptors passed, Duration: 3 s
231/315 - feature_filelock.py passed, Duration: 1 s
232/315 - feature_bind_port_discover.py skipped (To run this test make sure that 1.1.1.1 and 2.2.2.2 (routable addresses) are assigned to the interfaces on this machine and rerun with --ihave1111and2222)
233/315 - feature_uacomment.py passed, Duration: 3 s
234/315 - feature_loadblock.py passed, Duration: 1 s
235/315 - wallet_sendall.py --descriptors passed, Duration: 4 s
236/315 - p2p_message_capture.py passed, Duration: 1 s
237/315 - wallet_keypool_topup.py --descriptors failed, Duration: 64 s

stdout:
2024-12-19T10:20:58.239000Z TestFramework (INFO): PRNG seed is: 9017622523913228764
2024-12-19T10:20:58.240000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_keypool_topup_229
2024-12-19T10:21:00.666000Z TestFramework (INFO): Make backup of wallet
2024-12-19T10:22:01.315000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:01.344000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_keypool_topup.py", line 46, in run_test
    self.connect_nodes(0, i)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:01.510000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:01.963000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_keypool_topup_229
2024-12-19T10:22:01.964000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_keypool_topup_229/test_framework.log
2024-12-19T10:22:01.968000Z TestFramework (ERROR): 
2024-12-19T10:22:01.970000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_keypool_topup_229' to consolidate all logs
2024-12-19T10:22:01.970000Z TestFramework (ERROR): 
2024-12-19T10:22:01.970000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:01.979000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:01.979000Z TestFramework (ERROR): 


stderr:


238/315 - feature_fastprune.py passed, Duration: 1 s
239/315 - feature_includeconf.py passed, Duration: 3 s
240/315 - mempool_compatibility.py skipped (previous releases not available or disabled)
241/315 - wallet_assumeutxo.py --descriptors passed, Duration: 4 s
242/315 - wallet_importdescriptors.py --descriptors passed, Duration: 15 s
243/315 - p2p_unrequested_blocks.py passed, Duration: 4 s
244/315 - feature_addrman.py passed, Duration: 4 s
245/315 - rpc_deriveaddresses.py passed, Duration: 1 s
246/315 - rpc_getchaintips.py failed, Duration: 63 s

stdout:
2024-12-19T10:21:02.765000Z TestFramework (INFO): PRNG seed is: 3223891740563167566
2024-12-19T10:21:02.768000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_getchaintips_209
2024-12-19T10:21:03.827000Z TestFramework (INFO): Test getchaintips behavior with two chains of different length
2024-12-19T10:21:03.827000Z TestFramework (INFO): Split the network and build two chains of different lengths.
2024-12-19T10:21:05.009000Z TestFramework (INFO): Join the network halves and check that we now have two tips
2024-12-19T10:22:05.094000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:05.151000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_getchaintips.py", line 53, in run_test
    self.join_network()
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 712, in join_network
    self.connect_nodes(1, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:05.330000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:05.745000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_getchaintips_209
2024-12-19T10:22:05.746000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_getchaintips_209/test_framework.log
2024-12-19T10:22:05.751000Z TestFramework (ERROR): 
2024-12-19T10:22:05.754000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_getchaintips_209' to consolidate all logs
2024-12-19T10:22:05.754000Z TestFramework (ERROR): 
2024-12-19T10:22:05.754000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:05.757000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:05.757000Z TestFramework (ERROR): 


stderr:


247/315 - feature_asmap.py passed, Duration: 5 s
248/315 - rpc_deriveaddresses.py --usecli passed, Duration: 1 s
249/315 - feature_minchainwork.py passed, Duration: 11 s
250/315 - p2p_ping.py passed, Duration: 2 s
251/315 - feature_framework_miniwallet.py passed, Duration: 5 s
252/315 - rpc_getdescriptoractivity.py passed, Duration: 1 s
253/315 - feature_unsupported_utxo_db.py skipped (previous releases not available or disabled)
254/315 - p2p_opportunistic_1p1c.py failed, Duration: 95 s

stdout:
2024-12-19T10:20:33.259000Z TestFramework (INFO): PRNG seed is: 3353993874296864034
2024-12-19T10:20:33.260000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_opportunistic_1p1c_308
2024-12-19T10:20:34.715000Z TestFramework (INFO): Fill the mempool until eviction is triggered and the mempoolminfee rises
2024-12-19T10:20:38.347000Z TestFramework (INFO): Check opportunistic 1p1c logic when parent (txid != wtxid) is received before child
2024-12-19T10:20:41.937000Z TestFramework (INFO): Check opportunistic 1p1c logic when parent (txid == wtxid) is received before child
2024-12-19T10:20:45.768000Z TestFramework (INFO): Check opportunistic 1p1c logic when child is received before parent
2024-12-19T10:20:45.768000Z TestFramework (INFO): Check that opportunistic 1p1c logic works when child is received before parent
2024-12-19T10:20:53.258000Z TestFramework (INFO): Check opportunistic 1p1c logic when 2 candidate children exist (parent txid != wtxid)
2024-12-19T10:20:53.562000Z TestFramework (INFO): Check that tx caches low fee parent + low fee child package rejections
2024-12-19T10:20:59.471000Z TestFramework (INFO): Check opportunistic 1p1c logic when 2 candidate children exist (parent txid == wtxid)
2024-12-19T10:20:59.791000Z TestFramework (INFO): Check that tx caches low fee parent + low fee child package rejections
2024-12-19T10:21:05.671000Z TestFramework (INFO): Check opportunistic 1p1c logic with consensus-invalid orphan causes disconnect of the correct peer
2024-12-19T10:22:05.975000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:07.707000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_opportunistic_1p1c.py", line 408, in run_test
    self.test_orphan_consensus_failure()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_opportunistic_1p1c.py", line 44, in wrapper
    func(self, *args, **kwargs)
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_opportunistic_1p1c.py", line 230, in test_orphan_consensus_failure
    parent_sender = node.add_p2p_connection(P2PInterface())
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:07.839000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:07.998000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_opportunistic_1p1c_308
2024-12-19T10:22:07.998000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_opportunistic_1p1c_308/test_framework.log
2024-12-19T10:22:08.002000Z TestFramework (ERROR): 
2024-12-19T10:22:08.003000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_opportunistic_1p1c_308' to consolidate all logs
2024-12-19T10:22:08.003000Z TestFramework (ERROR): 
2024-12-19T10:22:08.003000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:08.006000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:08.006000Z TestFramework (ERROR): 


stderr:


255/315 - rpc_scanblocks.py passed, Duration: 2 s
256/315 - feature_block.py passed, Duration: 96 s
257/315 - mempool_reorg.py failed, Duration: 62 s

stdout:
2024-12-19T10:21:06.318000Z TestFramework (INFO): PRNG seed is: 5666888298434392909
2024-12-19T10:21:06.319000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/mempool_reorg_203
2024-12-19T10:21:06.758000Z TestFramework (INFO): Add 4 coinbase utxos to the miniwallet
2024-12-19T10:21:06.764000Z TestFramework (INFO): Create three transactions spending from coinbase utxos: spend_1, spend_2, spend_3
2024-12-19T10:21:06.764000Z TestFramework (INFO): Create another transaction which is time-locked to two blocks in the future
2024-12-19T10:21:06.766000Z TestFramework (INFO): Check that the time-locked transaction is too immature to spend
2024-12-19T10:21:06.766000Z TestFramework (INFO): Broadcast and mine spend_2 and spend_3
2024-12-19T10:21:06.770000Z TestFramework (INFO): Generate a block
2024-12-19T10:21:06.775000Z TestFramework (INFO): Check that time-locked transaction is still too immature to spend
2024-12-19T10:21:06.775000Z TestFramework (INFO): Create spend_2_1 and spend_3_1
2024-12-19T10:21:06.775000Z TestFramework (INFO): Broadcast and mine spend_3_1
2024-12-19T10:21:06.776000Z TestFramework (INFO): Generate a block
2024-12-19T10:21:06.781000Z TestFramework (INFO): The time-locked transaction can now be spent
2024-12-19T10:21:06.782000Z TestFramework (INFO): Add spend_1 and spend_2_1 to the mempool
2024-12-19T10:21:07.790000Z TestFramework (INFO): invalidate the last block
2024-12-19T10:21:07.792000Z TestFramework (INFO): The time-locked transaction is now too immature and has been removed from the mempool
2024-12-19T10:21:07.792000Z TestFramework (INFO): spend_3_1 has been re-orged out of the chain and is back in the mempool
2024-12-19T10:21:07.792000Z TestFramework (INFO): Use invalidateblock to re-org back and make all those coinbase spends immature/invalid
2024-12-19T10:21:07.801000Z TestFramework (INFO): Check that the mempool is empty
2024-12-19T10:21:07.805000Z TestFramework (INFO): Test that transactions from disconnected blocks are available for relay immediately
2024-12-19T10:22:08.181000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:08.195000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/mempool_reorg.py", line 193, in run_test
    self.test_reorg_relay()
  File "/home/hebasto/git/bitcoin/build/test/functional/mempool_reorg.py", line 64, in test_reorg_relay
    self.connect_nodes(0, 1)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:08.329000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:08.567000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/mempool_reorg_203
2024-12-19T10:22:08.568000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/mempool_reorg_203/test_framework.log
2024-12-19T10:22:08.573000Z TestFramework (ERROR): 
2024-12-19T10:22:08.574000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/mempool_reorg_203' to consolidate all logs
2024-12-19T10:22:08.575000Z TestFramework (ERROR): 
2024-12-19T10:22:08.575000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:08.578000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:08.578000Z TestFramework (ERROR): 


stderr:


258/315 - mempool_datacarrier.py passed, Duration: 1 s
259/315 - mempool_sigoplimit.py passed, Duration: 5 s
260/315 - wallet_timelock.py passed, Duration: 1 s
261/315 - mempool_dust.py passed, Duration: 6 s
262/315 - feature_init.py passed, Duration: 12 s
263/315 - feature_blocksdir.py passed, Duration: 1 s
264/315 - feature_logging.py passed, Duration: 3 s
265/315 - p2p_i2p_ports.py passed, Duration: 1 s
266/315 - wallet_startup.py passed, Duration: 2 s
267/315 - p2p_i2p_sessions.py passed, Duration: 1 s
268/315 - rpc_scantxoutset.py passed, Duration: 5 s
269/315 - feature_remove_pruned_files_on_startup.py passed, Duration: 2 s
270/315 - rpc_getdescriptorinfo.py passed, Duration: 1 s
271/315 - mempool_unbroadcast.py passed, Duration: 10 s
272/315 - feature_presegwit_node_upgrade.py passed, Duration: 2 s
273/315 - rpc_mempool_info.py passed, Duration: 1 s
274/315 - p2p_sendtxrcncl.py passed, Duration: 7 s
275/315 - rpc_help.py passed, Duration: 1 s
276/315 - feature_help.py passed, Duration: 0 s
277/315 - wallet_migration.py skipped (previous releases not available or disabled)
Remaining jobs: [p2p_1p1c_network.py, p2p_addrv2_relay.py, p2p_compactblocks_hb.py --v1transport, p2p_compactblocks_hb.py --v2transport, p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, wallet_send.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, feature_coinstatsindex.py, wallet_orphanedreward.py, p2p_permissions.py, feature_settings.py, p2p_handshake.py, p2p_handshake.py --v2transport, feature_dirsymlinks.py, feature_shutdown.py, p2p_ibd_txrelay.py, p2p_seednode.py]
278/315 - p2p_1p1c_network.py failed, Duration: 69 s

stdout:
2024-12-19T10:21:04.473000Z TestFramework (INFO): PRNG seed is: 406857049621540462
2024-12-19T10:21:04.473000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_1p1c_network_207
2024-12-19T10:21:06.327000Z TestFramework (INFO): Fill mempools with large transactions to raise mempool minimum feerates
2024-12-19T10:21:06.327000Z TestFramework (INFO): Fill the mempool until eviction is triggered and the mempoolminfee rises
2024-12-19T10:22:12.942000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:12.964000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_1p1c_network.py", line 140, in run_test
    self.peers = [self.nodes[i].add_p2p_connection(P2PInterface()) for i in range(self.num_nodes)]
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:13.130000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:13.599000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_1p1c_network_207
2024-12-19T10:22:13.600000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_1p1c_network_207/test_framework.log
2024-12-19T10:22:13.602000Z TestFramework (ERROR): 
2024-12-19T10:22:13.603000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_1p1c_network_207' to consolidate all logs
2024-12-19T10:22:13.603000Z TestFramework (ERROR): 
2024-12-19T10:22:13.604000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:13.605000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:13.606000Z TestFramework (ERROR): 


stderr:


279/315 - wallet_send.py --descriptors passed, Duration: 17 s
280/315 - feature_dirsymlinks.py passed, Duration: 1 s
Remaining jobs: [p2p_addrv2_relay.py, p2p_compactblocks_hb.py --v1transport, p2p_compactblocks_hb.py --v2transport, p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, feature_coinstatsindex.py, wallet_orphanedreward.py, p2p_permissions.py, feature_settings.py, p2p_handshake.py, p2p_handshake.py --v2transport, feature_shutdown.py, p2p_ibd_txrelay.py, p2p_seednode.py]
281/315 - p2p_addrv2_relay.py failed, Duration: 61 s

stdout:
2024-12-19T10:21:13.256000Z TestFramework (INFO): PRNG seed is: 8172781775672703175
2024-12-19T10:21:13.257000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_addrv2_relay_176
2024-12-19T10:21:13.521000Z TestFramework (INFO): Check disconnection when sending sendaddrv2 after verack
2024-12-19T10:21:13.724000Z TestFramework (INFO): Create connection that sends addrv2 messages
2024-12-19T10:21:13.827000Z TestFramework (INFO): Check that addrv2 message content is relayed and added to addrman
2024-12-19T10:22:13.894000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:13.908000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_addrv2_relay.py", line 90, in run_test
    addr_receiver = self.nodes[0].add_p2p_connection(AddrReceiver())
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:14.063000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:14.273000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_addrv2_relay_176
2024-12-19T10:22:14.274000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_addrv2_relay_176/test_framework.log
2024-12-19T10:22:14.281000Z TestFramework (ERROR): 
2024-12-19T10:22:14.283000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_addrv2_relay_176' to consolidate all logs
2024-12-19T10:22:14.283000Z TestFramework (ERROR): 
2024-12-19T10:22:14.283000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:14.291000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:14.291000Z TestFramework (ERROR): 


stderr:


282/315 - feature_shutdown.py passed, Duration: 1 s
Remaining jobs: [p2p_compactblocks_hb.py --v1transport, p2p_compactblocks_hb.py --v2transport, p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, feature_coinstatsindex.py, wallet_orphanedreward.py, p2p_permissions.py, feature_settings.py, p2p_handshake.py, p2p_handshake.py --v2transport, p2p_ibd_txrelay.py, p2p_seednode.py]
283/315 - p2p_compactblocks_hb.py --v1transport failed, Duration: 61 s

stdout:
2024-12-19T10:21:13.254000Z TestFramework (INFO): PRNG seed is: 8808881126400123570
2024-12-19T10:21:13.254000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_175
2024-12-19T10:21:13.792000Z TestFramework (INFO): Testing reserved high-bandwidth mode slot for outbound peer...
2024-12-19T10:22:13.937000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:13.949000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_compactblocks_hb.py", line 50, in run_test
    self.connect_nodes(i, 0)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:14.060000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:14.378000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_175
2024-12-19T10:22:14.378000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_175/test_framework.log
2024-12-19T10:22:14.381000Z TestFramework (ERROR): 
2024-12-19T10:22:14.382000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_175' to consolidate all logs
2024-12-19T10:22:14.382000Z TestFramework (ERROR): 
2024-12-19T10:22:14.383000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:14.384000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:14.384000Z TestFramework (ERROR): 


stderr:


284/315 - feature_settings.py passed, Duration: 3 s
Remaining jobs: [p2p_compactblocks_hb.py --v2transport, p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, feature_coinstatsindex.py, wallet_orphanedreward.py, p2p_permissions.py, p2p_handshake.py, p2p_handshake.py --v2transport, p2p_ibd_txrelay.py, p2p_seednode.py]
285/315 - p2p_compactblocks_hb.py --v2transport failed, Duration: 62 s

stdout:
2024-12-19T10:21:13.254000Z TestFramework (INFO): PRNG seed is: 9154402767753201011
2024-12-19T10:21:13.254000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_174
2024-12-19T10:21:13.790000Z TestFramework (INFO): Testing reserved high-bandwidth mode slot for outbound peer...
2024-12-19T10:22:13.923000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:13.941000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_compactblocks_hb.py", line 50, in run_test
    self.connect_nodes(i, 0)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:14.062000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:14.368000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_174
2024-12-19T10:22:14.368000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_174/test_framework.log
2024-12-19T10:22:14.372000Z TestFramework (ERROR): 
2024-12-19T10:22:14.373000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_compactblocks_hb_174' to consolidate all logs
2024-12-19T10:22:14.373000Z TestFramework (ERROR): 
2024-12-19T10:22:14.373000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:14.375000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:14.375000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, feature_coinstatsindex.py, wallet_orphanedreward.py, p2p_permissions.py, p2p_handshake.py, p2p_handshake.py --v2transport, p2p_ibd_txrelay.py, p2p_seednode.py]
286/315 - feature_coinstatsindex.py passed, Duration: 7 s
Remaining jobs: [p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, wallet_orphanedreward.py, p2p_permissions.py, p2p_handshake.py, p2p_handshake.py --v2transport, p2p_ibd_txrelay.py, p2p_seednode.py]
287/315 - p2p_handshake.py passed, Duration: 4 s
Remaining jobs: [p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, wallet_orphanedreward.py, p2p_permissions.py, p2p_handshake.py --v2transport, p2p_ibd_txrelay.py, p2p_seednode.py]
288/315 - p2p_handshake.py --v2transport passed, Duration: 4 s
Remaining jobs: [p2p_addr_relay.py, p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, wallet_orphanedreward.py, p2p_permissions.py, p2p_ibd_txrelay.py, p2p_seednode.py]
289/315 - p2p_addr_relay.py failed, Duration: 61 s

stdout:
2024-12-19T10:21:17.775000Z TestFramework (INFO): PRNG seed is: 5965490529401427418
2024-12-19T10:21:17.775000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_addr_relay_163
2024-12-19T10:21:18.054000Z TestFramework (INFO): Send an addr message that is too large
2024-12-19T10:21:18.261000Z TestFramework (INFO): Test address relay
2024-12-19T10:21:18.261000Z TestFramework (INFO): Check that addr message content is relayed and added to addrman
2024-12-19T10:22:18.432000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:18.444000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_addr_relay.py", line 97, in run_test
    self.relay_tests()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_addr_relay.py", line 157, in relay_tests
    receivers.append(self.nodes[0].add_p2p_connection(AddrReceiver(test_addr_contents=True)))
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:18.542000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:18.672000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_addr_relay_163
2024-12-19T10:22:18.672000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_addr_relay_163/test_framework.log
2024-12-19T10:22:18.676000Z TestFramework (ERROR): 
2024-12-19T10:22:18.677000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_addr_relay_163' to consolidate all logs
2024-12-19T10:22:18.677000Z TestFramework (ERROR): 
2024-12-19T10:22:18.677000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:18.679000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:18.679000Z TestFramework (ERROR): 


stderr:


290/315 - wallet_orphanedreward.py passed, Duration: 10 s
Remaining jobs: [p2p_getaddr_caching.py, rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_permissions.py, p2p_ibd_txrelay.py, p2p_seednode.py]
291/315 - p2p_getaddr_caching.py failed, Duration: 64 s

stdout:
2024-12-19T10:21:17.768000Z TestFramework (INFO): PRNG seed is: 765357135374143925
2024-12-19T10:21:17.769000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_getaddr_caching_162
2024-12-19T10:21:18.046000Z TestFramework (INFO): Fill peer AddrMan with a lot of records
2024-12-19T10:21:21.708000Z TestFramework (INFO): Send many addr requests within short time to receive same response
2024-12-19T10:22:21.877000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:21.887000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_getaddr_caching.py", line 73, in run_test
    addr_receiver_onion1 = self.nodes[0].add_p2p_connection(AddrReceiver(), dstport=self.onion_port1)
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:21.978000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:22.113000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_getaddr_caching_162
2024-12-19T10:22:22.118000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_getaddr_caching_162/test_framework.log
2024-12-19T10:22:22.123000Z TestFramework (ERROR): 
2024-12-19T10:22:22.126000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_getaddr_caching_162' to consolidate all logs
2024-12-19T10:22:22.126000Z TestFramework (ERROR): 
2024-12-19T10:22:22.126000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:22.128000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:22.128000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [rpc_net.py --v1transport, rpc_net.py --v2transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_permissions.py, p2p_ibd_txrelay.py, p2p_seednode.py]
292/315 - rpc_net.py --v2transport failed, Duration: 64 s

stdout:
2024-12-19T10:21:21.292000Z TestFramework (INFO): PRNG seed is: 3345641376036499380
2024-12-19T10:21:21.292000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_net_158
2024-12-19T10:21:21.818000Z TestFramework (INFO): Test getconnectioncount
2024-12-19T10:21:21.818000Z TestFramework (INFO): Test getpeerinfo
2024-12-19T10:21:24.835000Z TestFramework (INFO): Check getpeerinfo output before a version message was sent
2024-12-19T10:22:24.898000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:24.912000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_net.py", line 83, in run_test
    self.test_getpeerinfo()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_net.py", line 135, in test_getpeerinfo
    no_version_peer = self.nodes[0].add_p2p_connection(P2PInterface(), send_version=False, wait_for_verack=False)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:25.009000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:25.199000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_net_158
2024-12-19T10:22:25.200000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_net_158/test_framework.log
2024-12-19T10:22:25.203000Z TestFramework (ERROR): 
2024-12-19T10:22:25.204000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_net_158' to consolidate all logs
2024-12-19T10:22:25.204000Z TestFramework (ERROR): 
2024-12-19T10:22:25.204000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:25.207000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:25.207000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [rpc_net.py --v1transport, p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_permissions.py, p2p_ibd_txrelay.py, p2p_seednode.py]
293/315 - rpc_net.py --v1transport failed, Duration: 65 s

stdout:
2024-12-19T10:21:20.774000Z TestFramework (INFO): PRNG seed is: 6607443239094280726
2024-12-19T10:21:20.775000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_net_159
2024-12-19T10:21:21.305000Z TestFramework (INFO): Test getconnectioncount
2024-12-19T10:21:21.305000Z TestFramework (INFO): Test getpeerinfo
2024-12-19T10:21:25.327000Z TestFramework (INFO): Check getpeerinfo output before a version message was sent
2024-12-19T10:22:25.380000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:25.395000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_net.py", line 83, in run_test
    self.test_getpeerinfo()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_net.py", line 135, in test_getpeerinfo
    no_version_peer = self.nodes[0].add_p2p_connection(P2PInterface(), send_version=False, wait_for_verack=False)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:25.492000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:25.674000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_net_159
2024-12-19T10:22:25.674000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_net_159/test_framework.log
2024-12-19T10:22:25.679000Z TestFramework (ERROR): 
2024-12-19T10:22:25.680000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_net_159' to consolidate all logs
2024-12-19T10:22:25.680000Z TestFramework (ERROR): 
2024-12-19T10:22:25.681000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:25.683000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:25.683000Z TestFramework (ERROR): 


stderr:


294/315 - p2p_seednode.py passed, Duration: 12 s
Remaining jobs: [p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_permissions.py, p2p_ibd_txrelay.py]
295/315 - p2p_permissions.py passed, Duration: 19 s
Remaining jobs: [p2p_blocksonly.py, p2p_invalid_locator.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
296/315 - p2p_invalid_locator.py failed, Duration: 61 s

stdout:
2024-12-19T10:21:35.343000Z TestFramework (INFO): PRNG seed is: 6868415259647834486
2024-12-19T10:21:35.344000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_locator_147
2024-12-19T10:21:35.668000Z TestFramework (INFO): Test max locator size
2024-12-19T10:21:35.668000Z TestFramework (INFO): Wait for disconnect when sending 102 hashes in locator
2024-12-19T10:21:35.908000Z TestFramework (INFO): Wait for response when sending 101 hashes in locator
2024-12-19T10:21:36.099000Z TestFramework (INFO): Wait for disconnect when sending 102 hashes in locator
2024-12-19T10:22:36.203000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:36.216000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_locator.py", line 25, in run_test
    exceed_max_peer = node.add_p2p_connection(P2PInterface())
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:36.309000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:36.489000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_locator_147
2024-12-19T10:22:36.489000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_locator_147/test_framework.log
2024-12-19T10:22:36.493000Z TestFramework (ERROR): 
2024-12-19T10:22:36.494000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_locator_147' to consolidate all logs
2024-12-19T10:22:36.494000Z TestFramework (ERROR): 
2024-12-19T10:22:36.494000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:36.497000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:36.498000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_blocksonly.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_encrypted.py, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
297/315 - p2p_v2_encrypted.py failed, Duration: 62 s

stdout:
2024-12-19T10:21:36.877000Z TestFramework (INFO): PRNG seed is: 5539366018202123681
2024-12-19T10:21:36.878000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_encrypted_141
2024-12-19T10:21:37.963000Z TestFramework (INFO): Check inbound connection to v2 TestNode from v2 P2PConnection is v2
2024-12-19T10:21:38.187000Z TestFramework (INFO): Check inbound connection to v2 TestNode from v1 P2PConnection is v1
2024-12-19T10:22:38.214000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:38.216000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_v2_encrypted.py", line 62, in run_test
    peer2 = node0.add_p2p_connection(P2PInterface(), wait_for_verack=True, supports_v2_p2p=False)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:38.290000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:38.398000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_encrypted_141
2024-12-19T10:22:38.398000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_encrypted_141/test_framework.log
2024-12-19T10:22:38.401000Z TestFramework (ERROR): 
2024-12-19T10:22:38.402000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_encrypted_141' to consolidate all logs
2024-12-19T10:22:38.402000Z TestFramework (ERROR): 
2024-12-19T10:22:38.402000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:38.403000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:38.403000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_blocksonly.py, p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, p2p_v2_misbehaving.py, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
298/315 - p2p_blocksonly.py failed, Duration: 67 s

stdout:
2024-12-19T10:21:32.282000Z TestFramework (INFO): PRNG seed is: 6733257200175180093
2024-12-19T10:21:32.282000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_blocksonly_149
2024-12-19T10:21:32.631000Z TestFramework (INFO): Tests with node running in -blocksonly mode
2024-12-19T10:21:32.733000Z TestFramework (INFO): Check that txs from P2P are rejected and result in disconnect
2024-12-19T10:21:32.837000Z TestFramework (INFO): Check that tx invs also violate the protocol
2024-12-19T10:21:33.096000Z TestFramework (INFO): Check that txs from rpc are not rejected and relayed to other peers
2024-12-19T10:21:37.911000Z TestFramework (INFO): Restarting node 0 with relay permission and blocksonly
2024-12-19T10:22:38.930000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:38.944000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_blocksonly.py", line 24, in run_test
    self.blocksonly_mode_tests()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_blocksonly.py", line 55, in blocksonly_mode_tests
    second_peer = self.nodes[0].add_p2p_connection(P2PInterface())
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:39.033000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:39.116000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_blocksonly_149
2024-12-19T10:22:39.116000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_blocksonly_149/test_framework.log
2024-12-19T10:22:39.119000Z TestFramework (ERROR): 
2024-12-19T10:22:39.121000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_blocksonly_149' to consolidate all logs
2024-12-19T10:22:39.121000Z TestFramework (ERROR): 
2024-12-19T10:22:39.121000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:39.122000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:39.122000Z TestFramework (ERROR): 


stderr:


299/315 - p2p_v2_misbehaving.py failed, Duration: 62 s

stdout:
2024-12-19T10:21:37.802000Z TestFramework (INFO): PRNG seed is: 6265640442793936335
2024-12-19T10:21:37.803000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_misbehaving_140
2024-12-19T10:21:38.380000Z TestFramework (INFO): Sending ellswift bytes in parts to ensure that response from responder is received only when
2024-12-19T10:21:38.381000Z TestFramework (INFO): ellswift bytes have a mismatch from the 16 bytes(network magic followed by "version\x00\x00\x00\x00\x00")
2024-12-19T10:21:38.381000Z TestFramework (INFO): Sending first 4 bytes of ellswift which match network magic
2024-12-19T10:21:38.381000Z TestFramework (INFO): If a response is received, assertion failure would happen in our custom data_received() function
2024-12-19T10:21:38.449000Z TestFramework (INFO): Sending remaining ellswift and garbage which are different from V1_PREFIX. Since a response is
2024-12-19T10:21:38.449000Z TestFramework (INFO): expected now, our custom data_received() function wouldn't result in assertion failure
2024-12-19T10:21:38.505000Z TestFramework (INFO): successful disconnection since modified ellswift was sent as response
2024-12-19T10:22:38.520000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:38.520000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_v2_misbehaving.py", line 134, in run_test
    self.test_v2disconnection()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_v2_misbehaving.py", line 181, in test_v2disconnection
    peer2 = node0.add_p2p_connection(P2PInterface())
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:38.587000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:38.693000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_misbehaving_140
2024-12-19T10:22:38.694000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_misbehaving_140/test_framework.log
2024-12-19T10:22:38.697000Z TestFramework (ERROR): 
2024-12-19T10:22:38.698000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_v2_misbehaving_140' to consolidate all logs
2024-12-19T10:22:38.698000Z TestFramework (ERROR): 
2024-12-19T10:22:38.698000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:38.700000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:38.700000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, example_test.py, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
300/315 - example_test.py failed, Duration: 64 s

stdout:
2024-12-19T10:21:37.789000Z TestFramework (INFO): PRNG seed is: 8853551087659750533
2024-12-19T10:21:37.789000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/example_test_139
2024-12-19T10:21:39.806000Z TestFramework (INFO): Starting test!
2024-12-19T10:21:39.806000Z TestFramework (INFO): Calling a custom function
2024-12-19T10:21:39.806000Z TestFramework (INFO): Calling a custom method
2024-12-19T10:21:39.806000Z TestFramework (INFO): Running custom_method
2024-12-19T10:21:39.806000Z TestFramework (INFO): Create some blocks
2024-12-19T10:21:39.809000Z TestFramework (INFO): Wait for node1 to reach current tip (height 11) using RPC
2024-12-19T10:21:39.819000Z TestFramework (INFO): Connect node2 and node1
2024-12-19T10:21:39.927000Z TestFramework (INFO): Wait for node2 to receive all the blocks from node1
2024-12-19T10:21:40.936000Z TestFramework (INFO): Add P2P connection to node2
2024-12-19T10:22:40.947000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:40.947000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/example_test.py", line 205, in run_test
    peer_receiving = self.nodes[2].add_p2p_connection(BaseNode())
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:41.014000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:41.170000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/example_test_139
2024-12-19T10:22:41.170000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/example_test_139/test_framework.log
2024-12-19T10:22:41.171000Z TestFramework (ERROR): 
2024-12-19T10:22:41.172000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/example_test_139' to consolidate all logs
2024-12-19T10:22:41.172000Z TestFramework (ERROR): 
2024-12-19T10:22:41.172000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:41.173000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:41.173000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, mempool_packages.py, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
301/315 - mempool_packages.py failed, Duration: 61 s

stdout:
2024-12-19T10:21:41.990000Z TestFramework (INFO): PRNG seed is: 842800863434375743
2024-12-19T10:21:41.991000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/mempool_packages_125
2024-12-19T10:22:42.916000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:42.930000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/mempool_packages.py", line 45, in run_test
    peer_inv_store = self.nodes[0].add_p2p_connection(P2PTxInvStore()) # keep track of invs
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:43.027000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:43.270000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/mempool_packages_125
2024-12-19T10:22:43.270000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/mempool_packages_125/test_framework.log
2024-12-19T10:22:43.275000Z TestFramework (ERROR): 
2024-12-19T10:22:43.276000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/mempool_packages_125' to consolidate all logs
2024-12-19T10:22:43.276000Z TestFramework (ERROR): 
2024-12-19T10:22:43.276000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:43.279000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:43.279000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_invalid_tx.py --v1transport, p2p_invalid_tx.py --v2transport, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
302/315 - p2p_invalid_tx.py --v1transport failed, Duration: 67 s

stdout:
2024-12-19T10:21:36.407000Z TestFramework (INFO): PRNG seed is: 368742712986730014
2024-12-19T10:21:36.408000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_144
2024-12-19T10:21:36.799000Z TestFramework (INFO): Create a new block with an anyone-can-spend coinbase.
2024-12-19T10:21:36.901000Z TestFramework (INFO): Mature the block.
2024-12-19T10:21:37.247000Z TestFramework (INFO): Testing invalid transaction: OutputMissing
2024-12-19T10:21:37.408000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:37.655000Z TestFramework (INFO): Testing invalid transaction: InputMissing
2024-12-19T10:21:37.757000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:37.859000Z TestFramework (INFO): Testing invalid transaction: SizeTooSmall
2024-12-19T10:21:37.912000Z TestFramework (INFO): Testing invalid transaction: BadInputOutpointIndex
2024-12-19T10:21:37.917000Z TestFramework (INFO): Testing invalid transaction: DuplicateInput
2024-12-19T10:21:38.019000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:38.133000Z TestFramework (INFO): Testing invalid transaction: PrevoutNullInput
2024-12-19T10:21:38.235000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:38.338000Z TestFramework (INFO): Testing invalid transaction: NonexistentInput
2024-12-19T10:21:38.389000Z TestFramework (INFO): Testing invalid transaction: SpendTooMuch
2024-12-19T10:21:38.491000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:38.594000Z TestFramework (INFO): Testing invalid transaction: CreateNegative
2024-12-19T10:21:38.696000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:38.799000Z TestFramework (INFO): Testing invalid transaction: CreateTooLarge
2024-12-19T10:21:38.902000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.005000Z TestFramework (INFO): Testing invalid transaction: CreateSumTooLarge
2024-12-19T10:21:39.106000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.209000Z TestFramework (INFO): Testing invalid transaction: InvalidOPIFConstruction
2024-12-19T10:21:39.327000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.439000Z TestFramework (INFO): Testing invalid transaction: TooManySigops
2024-12-19T10:21:39.499000Z TestFramework (INFO): Testing invalid transaction: NonStandardAndInvalid
2024-12-19T10:21:39.627000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.729000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_CAT
2024-12-19T10:21:39.832000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.934000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_SUBSTR
2024-12-19T10:21:40.075000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.178000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_LEFT
2024-12-19T10:21:40.290000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.406000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_RIGHT
2024-12-19T10:21:40.607000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.711000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_INVERT
2024-12-19T10:21:40.813000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.945000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_AND
2024-12-19T10:21:41.047000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.150000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_OR
2024-12-19T10:21:41.251000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.354000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_XOR
2024-12-19T10:21:41.456000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.559000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_2MUL
2024-12-19T10:21:41.660000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.763000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_2DIV
2024-12-19T10:21:41.865000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.968000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_MUL
2024-12-19T10:21:42.069000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.172000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_DIV
2024-12-19T10:21:42.276000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.402000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_MOD
2024-12-19T10:21:42.506000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.630000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_LSHIFT
2024-12-19T10:21:42.744000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.847000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_RSHIFT
2024-12-19T10:21:42.948000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:22:43.265000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:43.266000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_tx.py", line 87, in run_test
    self.reconnect_p2p(num_connections=2)
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_tx.py", line 45, in reconnect_p2p
    self.bootstrap_p2p(**kwargs)
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_tx.py", line 37, in bootstrap_p2p
    self.nodes[0].add_p2p_connection(P2PDataStore())
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:43.350000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:43.506000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_144
2024-12-19T10:22:43.507000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_144/test_framework.log
2024-12-19T10:22:43.507000Z TestFramework (ERROR): 
2024-12-19T10:22:43.509000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_144' to consolidate all logs
2024-12-19T10:22:43.509000Z TestFramework (ERROR): 
2024-12-19T10:22:43.510000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:43.512000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:43.512000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_invalid_tx.py --v2transport, rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
303/315 - p2p_invalid_tx.py --v2transport failed, Duration: 68 s

stdout:
2024-12-19T10:21:36.874000Z TestFramework (INFO): PRNG seed is: 6488359649956152224
2024-12-19T10:21:36.875000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_143
2024-12-19T10:21:38.254000Z TestFramework (INFO): Create a new block with an anyone-can-spend coinbase.
2024-12-19T10:21:38.362000Z TestFramework (INFO): Mature the block.
2024-12-19T10:21:38.491000Z TestFramework (INFO): Testing invalid transaction: OutputMissing
2024-12-19T10:21:38.597000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:38.700000Z TestFramework (INFO): Testing invalid transaction: InputMissing
2024-12-19T10:21:38.802000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:38.905000Z TestFramework (INFO): Testing invalid transaction: SizeTooSmall
2024-12-19T10:21:38.958000Z TestFramework (INFO): Testing invalid transaction: BadInputOutpointIndex
2024-12-19T10:21:39.011000Z TestFramework (INFO): Testing invalid transaction: DuplicateInput
2024-12-19T10:21:39.113000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.216000Z TestFramework (INFO): Testing invalid transaction: PrevoutNullInput
2024-12-19T10:21:39.327000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.440000Z TestFramework (INFO): Testing invalid transaction: NonexistentInput
2024-12-19T10:21:39.492000Z TestFramework (INFO): Testing invalid transaction: SpendTooMuch
2024-12-19T10:21:39.617000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.729000Z TestFramework (INFO): Testing invalid transaction: CreateNegative
2024-12-19T10:21:39.832000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:39.935000Z TestFramework (INFO): Testing invalid transaction: CreateTooLarge
2024-12-19T10:21:40.037000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.140000Z TestFramework (INFO): Testing invalid transaction: CreateSumTooLarge
2024-12-19T10:21:40.243000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.348000Z TestFramework (INFO): Testing invalid transaction: InvalidOPIFConstruction
2024-12-19T10:21:40.451000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:40.656000Z TestFramework (INFO): Testing invalid transaction: TooManySigops
2024-12-19T10:21:40.765000Z TestFramework (INFO): Testing invalid transaction: NonStandardAndInvalid
2024-12-19T10:21:40.868000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.075000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_CAT
2024-12-19T10:21:41.180000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.302000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_SUBSTR
2024-12-19T10:21:41.405000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.509000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_LEFT
2024-12-19T10:21:41.612000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.715000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_RIGHT
2024-12-19T10:21:41.818000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:41.921000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_INVERT
2024-12-19T10:21:42.024000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.128000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_AND
2024-12-19T10:21:42.232000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.346000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_OR
2024-12-19T10:21:42.455000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.560000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_XOR
2024-12-19T10:21:42.662000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:42.843000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_2MUL
2024-12-19T10:21:42.946000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:43.049000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_2DIV
2024-12-19T10:21:43.152000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:43.255000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_MUL
2024-12-19T10:21:43.358000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:43.478000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_DIV
2024-12-19T10:21:43.582000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:43.740000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_MOD
2024-12-19T10:21:43.860000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:43.964000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_LSHIFT
2024-12-19T10:21:44.067000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:21:44.171000Z TestFramework (INFO): Testing invalid transaction: DisabledOpcode_OP_RSHIFT
2024-12-19T10:21:44.274000Z TestFramework (INFO): Reconnecting to peer
2024-12-19T10:22:44.543000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:44.546000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_tx.py", line 87, in run_test
    self.reconnect_p2p(num_connections=2)
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_tx.py", line 45, in reconnect_p2p
    self.bootstrap_p2p(**kwargs)
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_invalid_tx.py", line 37, in bootstrap_p2p
    self.nodes[0].add_p2p_connection(P2PDataStore())
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:44.620000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:44.727000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_143
2024-12-19T10:22:44.727000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_143/test_framework.log
2024-12-19T10:22:44.727000Z TestFramework (ERROR): 
2024-12-19T10:22:44.727000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_invalid_tx_143' to consolidate all logs
2024-12-19T10:22:44.727000Z TestFramework (ERROR): 
2024-12-19T10:22:44.728000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:44.729000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:44.729000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [rpc_preciousblock.py, p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
304/315 - rpc_preciousblock.py failed, Duration: 62 s

stdout:
2024-12-19T10:21:43.538000Z TestFramework (INFO): PRNG seed is: 6695351401639318617
2024-12-19T10:21:43.545000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/rpc_preciousblock_119
2024-12-19T10:21:44.058000Z TestFramework (INFO): Ensure submitblock can in principle reorg to a competing chain
2024-12-19T10:21:44.090000Z TestFramework (INFO): Mine blocks A-B-C on Node 0
2024-12-19T10:21:44.093000Z TestFramework (INFO): Mine competing blocks E-F-G on Node 1
2024-12-19T10:21:44.096000Z TestFramework (INFO): Connect nodes and check no reorg occurs
2024-12-19T10:21:44.217000Z TestFramework (INFO): Make Node0 prefer block G
2024-12-19T10:21:44.219000Z TestFramework (INFO): Make Node0 prefer block C again
2024-12-19T10:21:44.222000Z TestFramework (INFO): Make Node1 prefer block C
2024-12-19T10:21:44.225000Z TestFramework (INFO): Make Node1 prefer block G again
2024-12-19T10:21:44.227000Z TestFramework (INFO): Make Node0 prefer block G again
2024-12-19T10:21:44.229000Z TestFramework (INFO): Make Node1 prefer block C again
2024-12-19T10:21:44.231000Z TestFramework (INFO): Mine another block (E-F-G-)H on Node 0 and reorg Node 1
2024-12-19T10:21:44.235000Z TestFramework (INFO): Node1 should not be able to prefer block C anymore
2024-12-19T10:21:44.236000Z TestFramework (INFO): Mine competing blocks I-J-K-L on Node 2
2024-12-19T10:21:44.242000Z TestFramework (INFO): Connect nodes and check no reorg occurs
2024-12-19T10:22:44.452000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:44.463000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/rpc_preciousblock.py", line 100, in run_test
    self.connect_nodes(0, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:44.557000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:44.730000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/rpc_preciousblock_119
2024-12-19T10:22:44.730000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/rpc_preciousblock_119/test_framework.log
2024-12-19T10:22:44.733000Z TestFramework (ERROR): 
2024-12-19T10:22:44.734000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/rpc_preciousblock_119' to consolidate all logs
2024-12-19T10:22:44.735000Z TestFramework (ERROR): 
2024-12-19T10:22:44.735000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:44.737000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:44.737000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_initial_headers_sync.py, mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
305/315 - p2p_initial_headers_sync.py failed, Duration: 61 s

stdout:
2024-12-19T10:21:48.588000Z TestFramework (INFO): PRNG seed is: 2221359148088719678
2024-12-19T10:21:48.588000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_initial_headers_sync_103
2024-12-19T10:21:48.846000Z TestFramework (INFO): Adding a peer to node0
2024-12-19T10:21:48.949000Z TestFramework (INFO): Connecting two more peers to node0
2024-12-19T10:22:49.006000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:49.008000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_initial_headers_sync.py", line 52, in run_test
    peer2 = self.nodes[0].add_p2p_connection(P2PInterface())
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:49.070000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:49.178000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_initial_headers_sync_103
2024-12-19T10:22:49.178000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_initial_headers_sync_103/test_framework.log
2024-12-19T10:22:49.179000Z TestFramework (ERROR): 
2024-12-19T10:22:49.179000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_initial_headers_sync_103' to consolidate all logs
2024-12-19T10:22:49.179000Z TestFramework (ERROR): 
2024-12-19T10:22:49.179000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:49.179000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:49.179000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [mining_basic.py, wallet_listsinceblock.py --descriptors, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
306/315 - wallet_listsinceblock.py --descriptors failed, Duration: 61 s

stdout:
2024-12-19T10:21:53.053000Z TestFramework (INFO): PRNG seed is: 5438878311015146931
2024-12-19T10:21:53.054000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_listsinceblock_86
2024-12-19T10:22:53.965000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:53.969000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_listsinceblock.py", line 37, in run_test
    self.connect_nodes(1, 2)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:54.033000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:54.289000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_listsinceblock_86
2024-12-19T10:22:54.289000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_listsinceblock_86/test_framework.log
2024-12-19T10:22:54.289000Z TestFramework (ERROR): 
2024-12-19T10:22:54.289000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_listsinceblock_86' to consolidate all logs
2024-12-19T10:22:54.289000Z TestFramework (ERROR): 
2024-12-19T10:22:54.289000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:54.289000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:54.289000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [mining_basic.py, p2p_leak.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
307/315 - p2p_leak.py failed, Duration: 61 s

stdout:
2024-12-19T10:21:53.570000Z TestFramework (INFO): PRNG seed is: 2883581377813439959
2024-12-19T10:21:53.570000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_leak_84
2024-12-19T10:21:54.103000Z TestFramework (INFO): Check that the node doesn't send unexpected messages before handshake completion
2024-12-19T10:22:54.204000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:22:54.207000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_leak.py", line 119, in run_test
    no_verack_idle_peer = self.nodes[0].add_p2p_connection(NoVerackIdlePeer(), wait_for_verack=False)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:22:54.259000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:54.411000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_leak_84
2024-12-19T10:22:54.411000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_leak_84/test_framework.log
2024-12-19T10:22:54.411000Z TestFramework (ERROR): 
2024-12-19T10:22:54.411000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_leak_84' to consolidate all logs
2024-12-19T10:22:54.411000Z TestFramework (ERROR): 
2024-12-19T10:22:54.411000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:54.411000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:54.411000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [mining_basic.py, wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
308/315 - mining_basic.py failed, Duration: 67 s

stdout:
2024-12-19T10:21:50.591000Z TestFramework (INFO): PRNG seed is: 6837230502918132550
2024-12-19T10:21:50.592000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/mining_basic_95
2024-12-19T10:21:51.494000Z TestFramework (INFO): Create some old blocks
2024-12-19T10:21:56.482000Z TestFramework (INFO): test blockversion
2024-12-19T10:22:56.893000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
'''
2024-12-19T10:22:56.897000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/mining_basic.py", line 195, in run_test
    self.mine_chain()
  File "/home/hebasto/git/bitcoin/build/test/functional/mining_basic.py", line 80, in mine_chain
    self.connect_nodes(0, 1)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 652, in connect_nodes
    self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 804, in wait_until
    return wait_until_helper_internal(test_function, timeout=timeout, timeout_factor=self.options.timeout_factor, check_interval=check_interval)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        self.wait_until(lambda: find_conn(from_connection, to_connection_subver, inbound=False) is not None)
''' not true after 60 seconds
2024-12-19T10:22:56.948000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:22:57.103000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/mining_basic_95
2024-12-19T10:22:57.103000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/mining_basic_95/test_framework.log
2024-12-19T10:22:57.103000Z TestFramework (ERROR): 
2024-12-19T10:22:57.103000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/mining_basic_95' to consolidate all logs
2024-12-19T10:22:57.103000Z TestFramework (ERROR): 
2024-12-19T10:22:57.103000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:22:57.103000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:22:57.103000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [wallet_resendwallettransactions.py --descriptors, p2p_dos_header_tree.py, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
309/315 - p2p_dos_header_tree.py failed, Duration: 61 s

stdout:
2024-12-19T10:22:00.128000Z TestFramework (INFO): PRNG seed is: 5024634466508106491
2024-12-19T10:22:00.129000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_dos_header_tree_48
2024-12-19T10:22:00.448000Z TestFramework (INFO): Read headers data
2024-12-19T10:22:00.456000Z TestFramework (INFO): Feed all non-fork headers, including and up to the first checkpoint
2024-12-19T10:23:00.460000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:00.462000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_dos_header_tree.py", line 50, in run_test
    peer_checkpoint = self.nodes[0].add_p2p_connection(P2PInterface())
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:00.515000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:00.667000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_dos_header_tree_48
2024-12-19T10:23:00.667000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_dos_header_tree_48/test_framework.log
2024-12-19T10:23:00.667000Z TestFramework (ERROR): 
2024-12-19T10:23:00.668000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_dos_header_tree_48' to consolidate all logs
2024-12-19T10:23:00.668000Z TestFramework (ERROR): 
2024-12-19T10:23:00.668000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:00.668000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:00.668000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [wallet_resendwallettransactions.py --descriptors, p2p_add_connections.py, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
310/315 - p2p_add_connections.py failed, Duration: 62 s

stdout:
2024-12-19T10:22:00.626000Z TestFramework (INFO): PRNG seed is: 7252087089577276914
2024-12-19T10:22:00.627000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_add_connections_47
2024-12-19T10:22:00.935000Z TestFramework (INFO): Add 8 outbounds to node 0
2024-12-19T10:22:00.936000Z TestFramework (INFO): outbound: 0
2024-12-19T10:22:01.086000Z TestFramework (INFO): outbound: 1
2024-12-19T10:22:01.237000Z TestFramework (INFO): outbound: 2
2024-12-19T10:22:01.389000Z TestFramework (INFO): outbound: 3
2024-12-19T10:22:01.540000Z TestFramework (INFO): outbound: 4
2024-12-19T10:22:01.707000Z TestFramework (INFO): outbound: 5
2024-12-19T10:22:01.844000Z TestFramework (INFO): outbound: 6
2024-12-19T10:22:01.995000Z TestFramework (INFO): outbound: 7
2024-12-19T10:22:02.146000Z TestFramework (INFO): Add 2 block-relay-only connections to node 0
2024-12-19T10:22:02.152000Z TestFramework (INFO): block-relay-only: 0
2024-12-19T10:22:02.252000Z TestFramework (INFO): block-relay-only: 1
2024-12-19T10:22:02.403000Z TestFramework (INFO): Add 2 block-relay-only connections to node 1
2024-12-19T10:22:02.403000Z TestFramework (INFO): block-relay-only: 0
2024-12-19T10:22:02.504000Z TestFramework (INFO): block-relay-only: 1
2024-12-19T10:22:02.655000Z TestFramework (INFO): Add 5 inbound connections to node 1
2024-12-19T10:22:02.655000Z TestFramework (INFO): inbound: 0
2024-12-19T10:22:02.757000Z TestFramework (INFO): inbound: 1
2024-12-19T10:23:02.770000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:02.771000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_add_connections.py", line 59, in run_test
    self.nodes[1].add_p2p_connection(P2PInterface())
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:02.825000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:02.979000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_add_connections_47
2024-12-19T10:23:02.979000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_add_connections_47/test_framework.log
2024-12-19T10:23:02.979000Z TestFramework (ERROR): 
2024-12-19T10:23:02.979000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_add_connections_47' to consolidate all logs
2024-12-19T10:23:02.979000Z TestFramework (ERROR): 
2024-12-19T10:23:02.979000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:02.979000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:02.979000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [wallet_resendwallettransactions.py --descriptors, mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
311/315 - wallet_resendwallettransactions.py --descriptors failed, Duration: 69 s

stdout:
2024-12-19T10:21:55.071000Z TestFramework (INFO): PRNG seed is: 4366808801431761122
2024-12-19T10:21:55.071000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/wallet_resendwallettransactions_76
2024-12-19T10:21:55.482000Z TestFramework (INFO): Create a new transaction and wait until it's broadcast
2024-12-19T10:23:04.121000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:04.128000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/wallet_resendwallettransactions.py", line 48, in run_test
    peer_second = node.add_p2p_connection(P2PTxInvStore())
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:04.188000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:04.291000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/wallet_resendwallettransactions_76
2024-12-19T10:23:04.291000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/wallet_resendwallettransactions_76/test_framework.log
2024-12-19T10:23:04.291000Z TestFramework (ERROR): 
2024-12-19T10:23:04.291000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/wallet_resendwallettransactions_76' to consolidate all logs
2024-12-19T10:23:04.291000Z TestFramework (ERROR): 
2024-12-19T10:23:04.291000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:04.291000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:04.291000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [mempool_accept_wtxid.py, p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
312/315 - mempool_accept_wtxid.py failed, Duration: 62 s

stdout:
2024-12-19T10:22:04.138000Z TestFramework (INFO): PRNG seed is: 1932365637525448299
2024-12-19T10:22:04.139000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/mempool_accept_wtxid_36
2024-12-19T10:22:04.398000Z TestFramework (INFO): Start with empty mempool and 101 blocks
2024-12-19T10:22:04.460000Z TestFramework (INFO): Submit parent with multiple script branches to mempool
2024-12-19T10:22:04.567000Z TestFramework (INFO): Submit child_one to the mempool
2024-12-19T10:22:06.076000Z TestFramework (INFO): Connect another peer that hasn't seen child_one before
2024-12-19T10:23:06.082000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:06.082000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/mempool_accept_wtxid.py", line 116, in run_test
    peer_wtxid_relay_2 = node.add_p2p_connection(P2PTxInvStore())
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:06.134000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:06.235000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/mempool_accept_wtxid_36
2024-12-19T10:23:06.235000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/mempool_accept_wtxid_36/test_framework.log
2024-12-19T10:23:06.236000Z TestFramework (ERROR): 
2024-12-19T10:23:06.236000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/mempool_accept_wtxid_36' to consolidate all logs
2024-12-19T10:23:06.236000Z TestFramework (ERROR): 
2024-12-19T10:23:06.236000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:06.236000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:06.236000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_tx_privacy.py, feature_anchors.py, p2p_ibd_txrelay.py]
313/315 - p2p_tx_privacy.py failed, Duration: 61 s

stdout:
2024-12-19T10:22:06.125000Z TestFramework (INFO): PRNG seed is: 7109786947866862370
2024-12-19T10:22:06.126000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_privacy_30
2024-12-19T10:23:07.014000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:07.014000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_tx_privacy.py", line 58, in run_test
    spy = self.nodes[0].add_p2p_connection(P2PTxSpy(), wait_for_verack=False)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:07.065000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:07.166000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_privacy_30
2024-12-19T10:23:07.166000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_privacy_30/test_framework.log
2024-12-19T10:23:07.166000Z TestFramework (ERROR): 
2024-12-19T10:23:07.166000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_tx_privacy_30' to consolidate all logs
2024-12-19T10:23:07.166000Z TestFramework (ERROR): 
2024-12-19T10:23:07.166000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:07.166000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:07.166000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [feature_anchors.py, p2p_ibd_txrelay.py]
314/315 - feature_anchors.py failed, Duration: 61 s

stdout:
2024-12-19T10:22:08.192000Z TestFramework (INFO): PRNG seed is: 6516900980546436267
2024-12-19T10:22:08.193000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/feature_anchors_23
2024-12-19T10:22:08.472000Z TestFramework (INFO): When node starts, check if anchors.dat doesn't exist
2024-12-19T10:22:08.472000Z TestFramework (INFO): Add 2 block-relay-only connections to node
2024-12-19T10:22:08.774000Z TestFramework (INFO): Add 5 inbound connections to node
2024-12-19T10:23:08.887000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:08.887000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/feature_anchors.py", line 41, in run_test
    self.nodes[0].add_p2p_connection(P2PInterface())
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:08.940000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:09.043000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/feature_anchors_23
2024-12-19T10:23:09.043000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/feature_anchors_23/test_framework.log
2024-12-19T10:23:09.043000Z TestFramework (ERROR): 
2024-12-19T10:23:09.043000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/feature_anchors_23' to consolidate all logs
2024-12-19T10:23:09.043000Z TestFramework (ERROR): 
2024-12-19T10:23:09.043000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:09.043000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:09.043000Z TestFramework (ERROR): 


stderr:


Remaining jobs: [p2p_ibd_txrelay.py]
315/315 - p2p_ibd_txrelay.py failed, Duration: 61 s

stdout:
2024-12-19T10:22:13.627000Z TestFramework (INFO): PRNG seed is: 5957140379836657743
2024-12-19T10:22:13.628000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_102032/p2p_ibd_txrelay_1
2024-12-19T10:22:13.941000Z TestFramework (INFO): Check that nodes set minfilter to MAX_MONEY while still in IBD
2024-12-19T10:22:13.942000Z TestFramework (INFO): Check that nodes don't send getdatas for transactions while still in IBD
2024-12-19T10:23:13.961000Z TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
'''
2024-12-19T10:23:13.961000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_framework.py", line 135, in main
    self.run_test()
  File "/home/hebasto/git/bitcoin/build/test/functional/p2p_ibd_txrelay.py", line 51, in run_test
    peer_inver = self.nodes[0].add_p2p_connection(P2PDataStore())
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/test_node.py", line 728, in add_p2p_connection
    p2p_conn.wait_until(lambda: p2p_conn.is_connected, check_connected=False)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/p2p.py", line 594, in wait_until
    wait_until_helper_internal(test_function, timeout=timeout, lock=p2p_lock, timeout_factor=self.timeout_factor, check_interval=check_interval)
  File "/home/hebasto/git/bitcoin/test/functional/test_framework/util.py", line 317, in wait_until_helper_internal
    raise AssertionError("Predicate {} not true after {} seconds".format(predicate_source, timeout))
AssertionError: Predicate ''''
        def test_function():
            if check_connected:
                assert self.is_connected
            return test_function_in()
''' not true after 60 seconds
2024-12-19T10:23:14.012000Z TestFramework (INFO): Stopping nodes
2024-12-19T10:23:14.166000Z TestFramework (WARNING): Not cleaning up dir /tmp/test_runner_₿_🏃_20241219_102032/p2p_ibd_txrelay_1
2024-12-19T10:23:14.166000Z TestFramework (ERROR): Test failed. Test logging available at /tmp/test_runner_₿_🏃_20241219_102032/p2p_ibd_txrelay_1/test_framework.log
2024-12-19T10:23:14.166000Z TestFramework (ERROR): 
2024-12-19T10:23:14.166000Z TestFramework (ERROR): Hint: Call /home/hebasto/git/bitcoin/test/functional/combine_logs.py '/tmp/test_runner_₿_🏃_20241219_102032/p2p_ibd_txrelay_1' to consolidate all logs
2024-12-19T10:23:14.166000Z TestFramework (ERROR): 
2024-12-19T10:23:14.166000Z TestFramework (ERROR): If this failure happened unexpectedly or intermittently, please file a bug and provide a link or upload of the combined log.
2024-12-19T10:23:14.166000Z TestFramework (ERROR): https://github.com/bitcoin/bitcoin/issues
2024-12-19T10:23:14.166000Z TestFramework (ERROR): 


stderr:



TEST                                                     | STATUS    | DURATION

feature_abortnode.py                                     | ✓ Passed  | 3 s
feature_addrman.py                                       | ✓ Passed  | 4 s
feature_asmap.py                                         | ✓ Passed  | 5 s
feature_assumeutxo.py                                    | ✓ Passed  | 43 s
feature_assumevalid.py                                   | ✓ Passed  | 7 s
feature_bind_extra.py                                    | ✓ Passed  | 1 s
feature_bip68_sequence.py                                | ✓ Passed  | 17 s
feature_block.py                                         | ✓ Passed  | 96 s
feature_blocksdir.py                                     | ✓ Passed  | 1 s
feature_blocksxor.py                                     | ✓ Passed  | 3 s
feature_cltv.py                                          | ✓ Passed  | 2 s
feature_coinstatsindex.py                                | ✓ Passed  | 7 s
feature_config_args.py                                   | ✓ Passed  | 28 s
feature_csv_activation.py                                | ✓ Passed  | 20 s
feature_dersig.py                                        | ✓ Passed  | 1 s
feature_dirsymlinks.py                                   | ✓ Passed  | 1 s
feature_discover.py                                      | ✓ Passed  | 3 s
feature_fastprune.py                                     | ✓ Passed  | 1 s
feature_fee_estimation.py                                | ✓ Passed  | 55 s
feature_filelock.py                                      | ✓ Passed  | 1 s
feature_framework_miniwallet.py                          | ✓ Passed  | 5 s
feature_framework_unit_tests.py                          | ✓ Passed  | 11 s
feature_help.py                                          | ✓ Passed  | 0 s
feature_includeconf.py                                   | ✓ Passed  | 3 s
feature_init.py                                          | ✓ Passed  | 12 s
feature_loadblock.py                                     | ✓ Passed  | 1 s
feature_logging.py                                       | ✓ Passed  | 3 s
feature_maxtipage.py                                     | ✓ Passed  | 16 s
feature_minchainwork.py                                  | ✓ Passed  | 11 s
feature_notifications.py                                 | ✓ Passed  | 15 s
feature_nulldummy.py                                     | ✓ Passed  | 1 s
feature_port.py                                          | ✓ Passed  | 3 s
feature_posix_fs_permissions.py                          | ✓ Passed  | 1 s
feature_presegwit_node_upgrade.py                        | ✓ Passed  | 2 s
feature_proxy.py                                         | ✓ Passed  | 4 s
feature_rbf.py                                           | ✓ Passed  | 8 s
feature_reindex.py                                       | ✓ Passed  | 6 s
feature_reindex_readonly.py                              | ✓ Passed  | 1 s
feature_remove_pruned_files_on_startup.py                | ✓ Passed  | 2 s
feature_segwit.py --descriptors --v1transport            | ✓ Passed  | 10 s
feature_segwit.py --descriptors --v2transport            | ✓ Passed  | 8 s
feature_settings.py                                      | ✓ Passed  | 3 s
feature_shutdown.py                                      | ✓ Passed  | 1 s
feature_signet.py                                        | ✓ Passed  | 2 s
feature_startupnotify.py                                 | ✓ Passed  | 1 s
feature_taproot.py                                       | ✓ Passed  | 79 s
feature_uacomment.py                                     | ✓ Passed  | 3 s
feature_utxo_set_hash.py                                 | ✓ Passed  | 2 s
feature_versionbits_warning.py                           | ✓ Passed  | 2 s
interface_bitcoin_cli.py --descriptors                   | ✓ Passed  | 10 s
interface_bitcoin_cli.py --legacy-wallet                 | ✓ Passed  | 8 s
interface_http.py                                        | ✓ Passed  | 1 s
interface_rest.py                                        | ✓ Passed  | 4 s
interface_rpc.py                                         | ✓ Passed  | 2 s
mempool_accept.py                                        | ✓ Passed  | 7 s
mempool_datacarrier.py                                   | ✓ Passed  | 1 s
mempool_dust.py                                          | ✓ Passed  | 6 s
mempool_ephemeral_dust.py                                | ✓ Passed  | 53 s
mempool_expiry.py                                        | ✓ Passed  | 1 s
mempool_limit.py                                         | ✓ Passed  | 21 s
mempool_package_limits.py                                | ✓ Passed  | 2 s
mempool_package_onemore.py                               | ✓ Passed  | 1 s
mempool_package_rbf.py                                   | ✓ Passed  | 14 s
mempool_persist.py --descriptors                         | ✓ Passed  | 20 s
mempool_resurrect.py                                     | ✓ Passed  | 1 s
mempool_sigoplimit.py                                    | ✓ Passed  | 5 s
mempool_spend_coinbase.py                                | ✓ Passed  | 1 s
mempool_truc.py                                          | ✓ Passed  | 9 s
mempool_unbroadcast.py                                   | ✓ Passed  | 10 s
mempool_updatefromblock.py                               | ✓ Passed  | 25 s
mining_getblocktemplate_longpoll.py                      | ✓ Passed  | 69 s
mining_prioritisetransaction.py                          | ✓ Passed  | 3 s
p2p_addrfetch.py                                         | ✓ Passed  | 1 s
p2p_block_sync.py --v1transport                          | ✓ Passed  | 2 s
p2p_block_sync.py --v2transport                          | ✓ Passed  | 2 s
p2p_compactblocks_blocksonly.py                          | ✓ Passed  | 2 s
p2p_disconnect_ban.py --v1transport                      | ✓ Passed  | 2 s
p2p_disconnect_ban.py --v2transport                      | ✓ Passed  | 2 s
p2p_dns_seeds.py                                         | ✓ Passed  | 28 s
p2p_eviction.py                                          | ✓ Passed  | 5 s
p2p_filter.py                                            | ✓ Passed  | 4 s
p2p_fingerprint.py                                       | ✓ Passed  | 1 s
p2p_getdata.py                                           | ✓ Passed  | 1 s
p2p_handshake.py                                         | ✓ Passed  | 4 s
p2p_handshake.py --v2transport                           | ✓ Passed  | 4 s
p2p_headers_sync_with_minchainwork.py                    | ✓ Passed  | 22 s
p2p_i2p_ports.py                                         | ✓ Passed  | 1 s
p2p_i2p_sessions.py                                      | ✓ Passed  | 1 s
p2p_ibd_stalling.py --v1transport                        | ✓ Passed  | 4 s
p2p_ibd_stalling.py --v2transport                        | ✓ Passed  | 7 s
p2p_invalid_block.py --v1transport                       | ✓ Passed  | 2 s
p2p_invalid_block.py --v2transport                       | ✓ Passed  | 2 s
p2p_leak_tx.py --v1transport                             | ✓ Passed  | 15 s
p2p_leak_tx.py --v2transport                             | ✓ Passed  | 14 s
p2p_message_capture.py                                   | ✓ Passed  | 1 s
p2p_mutated_blocks.py                                    | ✓ Passed  | 2 s
p2p_net_deadlock.py --v1transport                        | ✓ Passed  | 2 s
p2p_net_deadlock.py --v2transport                        | ✓ Passed  | 2 s
p2p_nobloomfilter_messages.py                            | ✓ Passed  | 1 s
p2p_outbound_eviction.py                                 | ✓ Passed  | 7 s
p2p_permissions.py                                       | ✓ Passed  | 19 s
p2p_ping.py                                              | ✓ Passed  | 2 s
p2p_seednode.py                                          | ✓ Passed  | 12 s
p2p_sendtxrcncl.py                                       | ✓ Passed  | 7 s
p2p_unrequested_blocks.py                                | ✓ Passed  | 4 s
p2p_v2_transport.py                                      | ✓ Passed  | 7 s
rpc_bind.py --ipv4                                       | ✓ Passed  | 3 s
rpc_bind.py --ipv6                                       | ✓ Passed  | 3 s
rpc_bind.py --nonloopback                                | ✓ Passed  | 2 s
rpc_blockchain.py --v1transport                          | ✓ Passed  | 10 s
rpc_blockchain.py --v2transport                          | ✓ Passed  | 10 s
rpc_createmultisig.py                                    | ✓ Passed  | 12 s
rpc_decodescript.py                                      | ✓ Passed  | 1 s
rpc_deprecated.py                                        | ✓ Passed  | 1 s
rpc_deriveaddresses.py                                   | ✓ Passed  | 1 s
rpc_deriveaddresses.py --usecli                          | ✓ Passed  | 1 s
rpc_dumptxoutset.py                                      | ✓ Passed  | 1 s
rpc_estimatefee.py                                       | ✓ Passed  | 1 s
rpc_generate.py                                          | ✓ Passed  | 1 s
rpc_getblockfilter.py                                    | ✓ Passed  | 2 s
rpc_getblockfrompeer.py                                  | ✓ Passed  | 7 s
rpc_getblockstats.py                                     | ✓ Passed  | 1 s
rpc_getdescriptoractivity.py                             | ✓ Passed  | 1 s
rpc_getdescriptorinfo.py                                 | ✓ Passed  | 1 s
rpc_help.py                                              | ✓ Passed  | 1 s
rpc_invalid_address_message.py                           | ✓ Passed  | 1 s
rpc_invalidateblock.py                                   | ✓ Passed  | 1 s
rpc_mempool_info.py                                      | ✓ Passed  | 1 s
rpc_misc.py                                              | ✓ Passed  | 4 s
rpc_named_arguments.py                                   | ✓ Passed  | 1 s
rpc_rawtransaction.py --legacy-wallet                    | ✓ Passed  | 5 s
rpc_scanblocks.py                                        | ✓ Passed  | 2 s
rpc_scantxoutset.py                                      | ✓ Passed  | 5 s
rpc_setban.py --v1transport                              | ✓ Passed  | 3 s
rpc_setban.py --v2transport                              | ✓ Passed  | 4 s
rpc_signer.py                                            | ✓ Passed  | 2 s
rpc_signmessagewithprivkey.py                            | ✓ Passed  | 1 s
rpc_signrawtransactionwithkey.py                         | ✓ Passed  | 1 s
rpc_txoutproof.py                                        | ✓ Passed  | 2 s
rpc_uptime.py                                            | ✓ Passed  | 1 s
rpc_users.py                                             | ✓ Passed  | 10 s
rpc_validateaddress.py                                   | ✓ Passed  | 2 s
rpc_whitelist.py                                         | ✓ Passed  | 1 s
tool_signet_miner.py --descriptors                       | ✓ Passed  | 3 s
tool_wallet.py --descriptors                             | ✓ Passed  | 11 s
wallet_abandonconflict.py --descriptors                  | ✓ Passed  | 5 s
wallet_assumeutxo.py --descriptors                       | ✓ Passed  | 4 s
wallet_avoid_mixing_output_types.py --descriptors        | ✓ Passed  | 1 s
wallet_avoidreuse.py --descriptors                       | ✓ Passed  | 10 s
wallet_balance.py --descriptors                          | ✓ Passed  | 8 s
wallet_blank.py --descriptors                            | ✓ Passed  | 1 s
wallet_bumpfee.py --descriptors                          | ✓ Passed  | 23 s
wallet_change_address.py --descriptors                   | ✓ Passed  | 18 s
wallet_coinbase_category.py --descriptors                | ✓ Passed  | 1 s
wallet_conflicts.py --descriptors                        | ✓ Passed  | 66 s
wallet_create_tx.py --descriptors                        | ✓ Passed  | 3 s
wallet_createwallet.py --descriptors                     | ✓ Passed  | 2 s
wallet_createwallet.py --usecli                          | ✓ Passed  | 3 s
wallet_createwalletdescriptor.py --descriptors           | ✓ Passed  | 2 s
wallet_crosschain.py                                     | ✓ Passed  | 1 s
wallet_descriptor.py --descriptors                       | ✓ Passed  | 4 s
wallet_disable.py                                        | ✓ Passed  | 1 s
wallet_encryption.py --descriptors                       | ✓ Passed  | 6 s
wallet_fallbackfee.py --descriptors                      | ✓ Passed  | 1 s
wallet_fast_rescan.py --descriptors                      | ✓ Passed  | 9 s
wallet_gethdkeys.py --descriptors                        | ✓ Passed  | 1 s
wallet_groups.py --descriptors                           | ✓ Passed  | 14 s
wallet_hd.py --descriptors                               | ✓ Passed  | 4 s
wallet_importdescriptors.py --descriptors                | ✓ Passed  | 15 s
wallet_importprunedfunds.py --descriptors                | ✓ Passed  | 2 s
wallet_keypool.py --descriptors                          | ✓ Passed  | 3 s
wallet_labels.py --descriptors                           | ✓ Passed  | 4 s
wallet_listdescriptors.py --descriptors                  | ✓ Passed  | 1 s
wallet_listreceivedby.py --descriptors                   | ✓ Passed  | 6 s
wallet_listtransactions.py --descriptors                 | ✓ Passed  | 13 s
wallet_miniscript.py --descriptors                       | ✓ Passed  | 19 s
wallet_multisig_descriptor_psbt.py --descriptors         | ✓ Passed  | 4 s
wallet_multiwallet.py --descriptors                      | ✓ Passed  | 11 s
wallet_multiwallet.py --usecli                           | ✓ Passed  | 12 s
wallet_orphanedreward.py                                 | ✓ Passed  | 10 s
wallet_reindex.py --descriptors                          | ✓ Passed  | 2 s
wallet_reorgsrestore.py                                  | ✓ Passed  | 4 s
wallet_rescan_unconfirmed.py --descriptors               | ✓ Passed  | 1 s
wallet_send.py --descriptors                             | ✓ Passed  | 17 s
wallet_sendall.py --descriptors                          | ✓ Passed  | 4 s
wallet_sendmany.py --descriptors                         | ✓ Passed  | 1 s
wallet_signer.py --descriptors                           | ✓ Passed  | 3 s
wallet_signmessagewithaddress.py                         | ✓ Passed  | 1 s
wallet_signrawtransactionwithwallet.py --descriptors     | ✓ Passed  | 1 s
wallet_simulaterawtx.py --descriptors                    | ✓ Passed  | 1 s
wallet_spend_unconfirmed.py                              | ✓ Passed  | 2 s
wallet_startup.py                                        | ✓ Passed  | 2 s
wallet_taproot.py --descriptors                          | ✓ Passed  | 34 s
wallet_timelock.py                                       | ✓ Passed  | 1 s
wallet_transactiontime_rescan.py --descriptors           | ✓ Passed  | 5 s
wallet_txn_clone.py                                      | ✓ Passed  | 2 s
wallet_txn_clone.py --mineblock                          | ✓ Passed  | 4 s
wallet_txn_clone.py --segwit                             | ✓ Passed  | 2 s
wallet_txn_doublespend.py --descriptors                  | ✓ Passed  | 2 s
wallet_txn_doublespend.py --mineblock                    | ✓ Passed  | 3 s
feature_bind_port_discover.py                            | ○ Skipped | 0 s
feature_bind_port_externalip.py                          | ○ Skipped | 0 s
feature_segwit.py --legacy-wallet                        | ○ Skipped | 1 s
feature_unsupported_utxo_db.py                           | ○ Skipped | 0 s
interface_usdt_coinselection.py                          | ○ Skipped | 0 s
interface_usdt_mempool.py                                | ○ Skipped | 1 s
interface_usdt_net.py                                    | ○ Skipped | 1 s
interface_usdt_utxocache.py                              | ○ Skipped | 0 s
interface_usdt_validation.py                             | ○ Skipped | 1 s
interface_zmq.py                                         | ○ Skipped | 0 s
mempool_compatibility.py                                 | ○ Skipped | 0 s
rpc_psbt.py --legacy-wallet                              | ○ Skipped | 1 s
tool_signet_miner.py --legacy-wallet                     | ○ Skipped | 0 s
tool_wallet.py --legacy-wallet                           | ○ Skipped | 0 s
tool_wallet.py --legacy-wallet --bdbro                   | ○ Skipped | 1 s
tool_wallet.py --legacy-wallet --bdbro --swap-bdb-endian | ○ Skipped | 1 s
wallet_abandonconflict.py --legacy-wallet                | ○ Skipped | 0 s
wallet_address_types.py --legacy-wallet                  | ○ Skipped | 1 s
wallet_avoidreuse.py --legacy-wallet                     | ○ Skipped | 0 s
wallet_backup.py --legacy-wallet                         | ○ Skipped | 2 s
wallet_backwards_compatibility.py --descriptors          | ○ Skipped | 1 s
wallet_backwards_compatibility.py --legacy-wallet        | ○ Skipped | 0 s
wallet_balance.py --legacy-wallet                        | ○ Skipped | 0 s
wallet_basic.py --legacy-wallet                          | ○ Skipped | 1 s
wallet_blank.py --legacy-wallet                          | ○ Skipped | 0 s
wallet_bumpfee.py --legacy-wallet                        | ○ Skipped | 1 s
wallet_change_address.py --legacy-wallet                 | ○ Skipped | 0 s
wallet_coinbase_category.py --legacy-wallet              | ○ Skipped | 0 s
wallet_conflicts.py --legacy-wallet                      | ○ Skipped | 0 s
wallet_create_tx.py --legacy-wallet                      | ○ Skipped | 1 s
wallet_createwallet.py --legacy-wallet                   | ○ Skipped | 0 s
wallet_dump.py --legacy-wallet                           | ○ Skipped | 0 s
wallet_encryption.py --legacy-wallet                     | ○ Skipped | 0 s
wallet_fallbackfee.py --legacy-wallet                    | ○ Skipped | 0 s
wallet_fundrawtransaction.py --legacy-wallet             | ○ Skipped | 1 s
wallet_groups.py --legacy-wallet                         | ○ Skipped | 1 s
wallet_hd.py --legacy-wallet                             | ○ Skipped | 0 s
wallet_implicitsegwit.py --legacy-wallet                 | ○ Skipped | 0 s
wallet_import_rescan.py --legacy-wallet                  | ○ Skipped | 1 s
wallet_import_with_label.py --legacy-wallet              | ○ Skipped | 0 s
wallet_importmulti.py --legacy-wallet                    | ○ Skipped | 0 s
wallet_importprunedfunds.py --legacy-wallet              | ○ Skipped | 0 s
wallet_inactive_hdchains.py --legacy-wallet              | ○ Skipped | 0 s
wallet_keypool.py --legacy-wallet                        | ○ Skipped | 0 s
wallet_keypool_topup.py --legacy-wallet                  | ○ Skipped | 0 s
wallet_labels.py --legacy-wallet                         | ○ Skipped | 0 s
wallet_listreceivedby.py --legacy-wallet                 | ○ Skipped | 0 s
wallet_listsinceblock.py --legacy-wallet                 | ○ Skipped | 0 s
wallet_listtransactions.py --legacy-wallet               | ○ Skipped | 0 s
wallet_migration.py                                      | ○ Skipped | 0 s
wallet_multiwallet.py --legacy-wallet                    | ○ Skipped | 1 s
wallet_reindex.py --legacy-wallet                        | ○ Skipped | 0 s
wallet_resendwallettransactions.py --legacy-wallet       | ○ Skipped | 0 s
wallet_send.py --legacy-wallet                           | ○ Skipped | 0 s
wallet_sendall.py --legacy-wallet                        | ○ Skipped | 0 s
wallet_sendmany.py --legacy-wallet                       | ○ Skipped | 0 s
wallet_signrawtransactionwithwallet.py --legacy-wallet   | ○ Skipped | 0 s
wallet_simulaterawtx.py --legacy-wallet                  | ○ Skipped | 0 s
wallet_transactiontime_rescan.py --legacy-wallet         | ○ Skipped | 0 s
wallet_txn_doublespend.py --legacy-wallet                | ○ Skipped | 0 s
wallet_upgradewallet.py --legacy-wallet                  | ○ Skipped | 0 s
wallet_watchonly.py --legacy-wallet                      | ○ Skipped | 0 s
wallet_watchonly.py --usecli --legacy-wallet             | ○ Skipped | 1 s
example_test.py                                          | ✖ Failed  | 64 s
feature_anchors.py                                       | ✖ Failed  | 61 s
feature_maxuploadtarget.py                               | ✖ Failed  | 63 s
mempool_accept_wtxid.py                                  | ✖ Failed  | 62 s
mempool_packages.py                                      | ✖ Failed  | 61 s
mempool_reorg.py                                         | ✖ Failed  | 62 s
mining_basic.py                                          | ✖ Failed  | 67 s
p2p_1p1c_network.py                                      | ✖ Failed  | 69 s
p2p_add_connections.py                                   | ✖ Failed  | 62 s
p2p_addr_relay.py                                        | ✖ Failed  | 61 s
p2p_addrv2_relay.py                                      | ✖ Failed  | 61 s
p2p_blockfilters.py                                      | ✖ Failed  | 62 s
p2p_blocksonly.py                                        | ✖ Failed  | 67 s
p2p_compactblocks.py                                     | ✖ Failed  | 61 s
p2p_compactblocks_hb.py --v1transport                    | ✖ Failed  | 61 s
p2p_compactblocks_hb.py --v2transport                    | ✖ Failed  | 62 s
p2p_dos_header_tree.py                                   | ✖ Failed  | 61 s
p2p_feefilter.py                                         | ✖ Failed  | 63 s
p2p_getaddr_caching.py                                   | ✖ Failed  | 64 s
p2p_ibd_txrelay.py                                       | ✖ Failed  | 61 s
p2p_initial_headers_sync.py                              | ✖ Failed  | 61 s
p2p_invalid_locator.py                                   | ✖ Failed  | 61 s
p2p_invalid_messages.py                                  | ✖ Failed  | 71 s
p2p_invalid_tx.py --v1transport                          | ✖ Failed  | 67 s
p2p_invalid_tx.py --v2transport                          | ✖ Failed  | 68 s
p2p_leak.py                                              | ✖ Failed  | 61 s
p2p_node_network_limited.py --v1transport                | ✖ Failed  | 70 s
p2p_node_network_limited.py --v2transport                | ✖ Failed  | 71 s
p2p_opportunistic_1p1c.py                                | ✖ Failed  | 95 s
p2p_orphan_handling.py                                   | ✖ Failed  | 66 s
p2p_segwit.py                                            | ✖ Failed  | 62 s
p2p_sendheaders.py                                       | ✖ Failed  | 62 s
p2p_timeouts.py --v1transport                            | ✖ Failed  | 61 s
p2p_timeouts.py --v2transport                            | ✖ Failed  | 61 s
p2p_tx_download.py                                       | ✖ Failed  | 4 s
p2p_tx_privacy.py                                        | ✖ Failed  | 61 s
p2p_v2_encrypted.py                                      | ✖ Failed  | 62 s
p2p_v2_misbehaving.py                                    | ✖ Failed  | 62 s
rpc_getchaintips.py                                      | ✖ Failed  | 63 s
rpc_net.py --v1transport                                 | ✖ Failed  | 65 s
rpc_net.py --v2transport                                 | ✖ Failed  | 64 s
rpc_orphans.py                                           | ✖ Failed  | 62 s
rpc_packages.py                                          | ✖ Failed  | 64 s
rpc_preciousblock.py                                     | ✖ Failed  | 62 s
rpc_psbt.py --descriptors                                | ✖ Failed  | 76 s
wallet_address_types.py --descriptors                    | ✖ Failed  | 66 s
wallet_backup.py --descriptors                           | ✖ Failed  | 64 s
wallet_basic.py --descriptors                            | ✖ Failed  | 64 s
wallet_fundrawtransaction.py --descriptors               | ✖ Failed  | 63 s
wallet_keypool_topup.py --descriptors                    | ✖ Failed  | 64 s
wallet_listsinceblock.py --descriptors                   | ✖ Failed  | 61 s
wallet_resendwallettransactions.py --descriptors         | ✖ Failed  | 69 s

ALL                                                      | ✖ Failed  | 4789 s (accumulated) 
Runtime: 161 s

@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

This also seems unrelated to this pull request? If I increase -j sufficiently, I get errors before and after this pull request.

For reference, the error is:

./bld-cmake/test/functional/test_runner.py -j 40 
Temporary test directory at /tmp/test_runner_₿_🏃_20241219_105517
1/315 - wallet_conflicts.py --legacy-wallet skipped (BDB has not been compiled.)
2/315 - rpc_psbt.py --legacy-wallet skipped (BDB has not been compiled.)
3/315 - wallet_fundrawtransaction.py --legacy-wallet skipped (BDB has not been compiled.)
4/315 - wallet_bumpfee.py --legacy-wallet skipped (BDB has not been compiled.)
5/315 - wallet_import_rescan.py --legacy-wallet skipped (BDB has not been compiled.)
6/315 - feature_segwit.py --legacy-wallet skipped (BDB has not been compiled.)
7/315 - wallet_avoidreuse.py --legacy-wallet skipped (BDB has not been compiled.)
8/315 - wallet_address_types.py --legacy-wallet skipped (BDB has not been compiled.)
9/315 - wallet_basic.py --legacy-wallet skipped (BDB has not been compiled.)
10/315 - wallet_multiwallet.py --legacy-wallet skipped (BDB has not been compiled.)
11/315 - wallet_backup.py --legacy-wallet skipped (BDB has not been compiled.)
12/315 - wallet_groups.py --legacy-wallet skipped (BDB has not been compiled.)
13/315 - feature_abortnode.py passed, Duration: 1 s
14/315 - p2p_dns_seeds.py failed, Duration: 1 s

stdout:
2024-12-19T10:55:19.131000Z TestFramework (INFO): PRNG seed is: 5409696964157069395
2024-12-19T10:55:19.132000Z TestFramework (INFO): Initializing test directory /tmp/test_runner_₿_🏃_20241219_105517/p2p_dns_seeds_274
2024-12-19T10:55:19.384000Z TestFramework (ERROR): Assertion failed
Traceback (most recent call last):
  File "/b-c/test/functional/test_framework/test_framework.py", line 582, in start_nodes
    node.wait_for_rpc_connection()
  File "/b-c/test/functional/test_framework/test_node.py", line 275, in wait_for_rpc_connection
    raise FailedToStartError(self._node_msg(
test_framework.test_node.FailedToStartError: [node 0] bitcoind exited with status 1 during initialization. 

************************
EXCEPTION: St12system_error       
Resource temporarily unavailable       
bitcoin in AppInit()       

************************

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

This also seems unrelated to this pull request? If I increase -j sufficiently, I get errors before and after this pull request.

That diff causes test_runner.py to fail even with the default -j (at least on my Ubuntu 24.04). And I assume that the CI will fail as well.

@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

This also seems unrelated to this pull request? If I increase -j sufficiently, I get errors before and after this pull request.

That diff causes test_runner.py to fail even with the default -j (at least on my Ubuntu 24.04). And I assume that the CI will fail as well.

You supplied -j40 in your command, which is not the default. As for the patch, -maxconnections controls the number of inbound connections (assuming that it is above the number of minimum outbound connections). Setting it to MAX_NODES may not be possible, because this is just the minimum required. Some tests may have more inbound connections than that and the value must be set to accommodate that.

So the failure is expected and my recommendation would be to set the value to the max inbound count (maybe double or triple that).

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

You supplied -j40 in your command, which is not the default.

By "default", I mean not providing -j at all. This is another run, not the first one with -j 40. I apologies for any confusion.

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

So the failure is expected and my recommendation would be to set the value to the max inbound count (maybe double or triple that).

Do we have a named constant for that in the test framework?

@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

No, the number of inbound connections depends on the test at runtime, depending of how many inbound connections are created.

@hebasto hebasto force-pushed the 241218-maxconn-warn branch from b8e86ae to fc76cd6 Compare December 19, 2024 12:16
@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

the goal should be to not have any test-only hooks

Reworked. Only python code is modified now.

@hebasto hebasto changed the title Do not print "Reducing -maxconnections..." warning in tests qa: Ignore "Reducing -maxconnections..." warning in stderr Dec 19, 2024
@DrahtBot DrahtBot added the Tests label Dec 19, 2024
@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

It is nice to see code changes, but generally for review it would be good to explain the code changes and provide useful context and alternatives.

Specifically, it would be good to explain why you didn't just set maxconnections appropriately.

Silently ignoring the warning seems like a foot-gun to hit later on, when more connections than that are created and the test fails again on netbsd (or whatever), in which case someone has to create another pull.

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

Specifically, it would be good to explain why you didn't just set maxconnections appropriately.

I couldn't determine an appropriate -maxconnections value. It depends on tests and may vary in the future. You recent suggestion ("maybe double or triple that") seems quite arbitrary as well.

Silently ignoring the warning seems like a foot-gun to hit later on, when more connections than that are created and the test fails again on netbsd (or whatever), in which case someone has to create another pull.

It is a warning, not an error. bitcoind continues to run with this warning with the reduced number of max connections. So the tests shouldn't fail as well.

@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

You can simply set it to the max value in netbsd, which doesn't seem arbitrary. A higher value can not be used anyway in tests. The tests certainly would fail if more connections are tried to be made. If you disagree, please share a log on netbsd where you are creating more than 128 connections and the tests pass, with exact steps to reproduce.

@hebasto hebasto force-pushed the 241218-maxconn-warn branch 2 times, most recently from 0117f94 to c7e21e3 Compare December 19, 2024 15:01
@maflcko
Copy link
Member

maflcko commented Dec 19, 2024

lgtm ACK c7e21e3

@hebasto hebasto changed the title qa: Ignore "Reducing -maxconnections..." warning in stderr qa: Limit -maxconnections in tests Dec 19, 2024
@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

You can simply set it to the max value in netbsd, which doesn't seem arbitrary. A higher value can not be used anyway in tests. The tests certainly would fail if more connections are tried to be made.

Thanks @maflcko! Your suggestion has been implemented.

On systems such as NetBSD, this change enables the execution of
functional tests.
@DrahtBot
Copy link
Contributor

🚧 At least one of the CI tasks failed.
Debug: https://github.com/bitcoin/bitcoin/runs/34661175184

Hints

Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

Fixed white space linter warning.

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

A CI log from https://github.com/hebasto/bitcoin-core-nightly has been added to the PR description.

@hebasto
Copy link
Member Author

hebasto commented Dec 19, 2024

Tracked in hebasto/bitcoin-core-nightly#6.

Copy link
Contributor

@mzumsande mzumsande left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review ACK d9d5bc2

Some tests will overwrite -maxconnections, e.g. p2p_eviction.py sets it to 32 and connects 22 python peers at the same time, so with the current test suite any OS would need to be able to deal with that.
But since the BSD limit of 94 is larger than that, and I don't really see a need for functional tests having more peers than that, there should be no problem.

@DrahtBot DrahtBot requested a review from maflcko December 20, 2024 19:34
Copy link
Contributor

@Prabhat1308 Prabhat1308 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tack d9d5bc2
OS - MacOS Sequoia 15.1.1

Copy link
Contributor

@tdb3 tdb3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested ACK d9d5bc2

Tested using NetBSD 10 (master fails with Warning: Reducing -maxconnections from 125 to 96, because of system limitations, while the PR branch does not).

Also simulated the fd constraint on Debian 12.8 with ulimit -n256. Master saw the warning (and test failure). The PR branch did not.

@maflcko
Copy link
Member

maflcko commented Dec 24, 2024

re-ACK d9d5bc2

only change is a whitespace fix

@achow101
Copy link
Member

ACK d9d5bc2

@achow101 achow101 merged commit fa3de03 into bitcoin:master Dec 30, 2024
18 checks passed
@hebasto hebasto deleted the 241218-maxconn-warn branch December 30, 2024 19:35
@hebasto hebasto restored the 241218-maxconn-warn branch December 30, 2024 22:27
@hebasto hebasto deleted the 241218-maxconn-warn branch January 13, 2025 10:18
TheCharlatan added a commit to TheCharlatan/rust-bitcoinkernel that referenced this pull request Jan 17, 2025
…38671edce58

538671edce58 kernel: Add pure kernel bitcoin-chainstate
0f79e00c5b3e kernel: Add functions to get the block hash from a block
6f7a47f53b10 kernel: Add block index utility functions to C header
5af7950c744b kernel: Add function to read block undo data from disk to C header
b456fb6c0b34 kernel: Add functions to read block from disk to C header
b6c157fee16d kernel: Add function for copying  block data to C header
011cd3f59677 kernel: Add functions for the block validation state to C header
9532bfb81739 kernel: Add validation interface to C header
8dde5a04ebc8 kernel: Add interrupt function to C header
729d2d393972 kernel: Add import blocks function to C header
dfa7109e8f0a kernel: Add chainstate load options for in-memory dbs in C header
d012fe0147fc kernel: Add options for reindexing in C header
6d12d7868c17 kernel: Add block validation to C header
8ad7b67c6527 Kernel: Add chainstate loading to kernel C header
5d09bf543704 kernel: Add chainstate manager option for setting worker threads
9cea88cb6077 kernel: Add chainstate manager object to C header
c74f2c8a2340 kernel: Add notifications context option to C header
b90b7e07b803 kerenl: Add chain params context option to C header
438f55f06500 kernel: Add kernel library context object
870c37278035 kernel: Add logging to kernel library C header
7aed64b54dba kernel: Introduce initial kernel C header API
f9032a4abb74 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670b Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853c doc: fix typos
df8bf657450d Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
335798c49637 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b744 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
712cab3a8f8a Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafca init: Use size_t consistently for cache sizes
65cde3621dbb kernel: Move default cache constants to caches
8826cae28549 kernel: Move non-kernel db cache size constants
e758b26b85da kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097c fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e0 util: Add integer left shift helpers
fa3efb572909 refactor: Introduce struct to hold a runtime format string
fa6adb013440 lint: Remove unused and broken format string linter
fadc6b9bac82 refactor: Check translatable format strings at compile-time
fa1d5acb8d8e refactor: Use TranslateFn type consistently
e7c479495509 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94f Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb2 refactor: Delay translation of _() literals
fabeca3458b3 refactor: Avoid UB in SHA3_256::Write
fad4032b219e refactor: Drop unused UCharCast
2ed161c5ce64 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c2 test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70bb test: avoid generating non-loopback traffic from p2p_seednode.py
bb5f76ee013e doc: Archive 28.1 release notes
35bf426e0221 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
216840659780 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c05 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
528354e213a9 Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c8338 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084ebb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d1391718 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
37af8bfb34d6 Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c0 Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158cd Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f882937 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
8a46286da667 depends: Fix spacing issue
e04be3731f49 init,log: Unify block index and chainstate loading log line
8bd5f8a38ce9 [refactor] init: Simplify coinsdb cache calculation
f93f0c93961b tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8e Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
7c123c08ddce  miner: add package feerate vector to CBlockTemplate
fd2d96d9087b build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b0 ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
1ea7e45a1f44 test: raise explicit error if any of the needed release binaries is missing
433412fd8478 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b8 Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
a96b84cb1b76 fuzz: Abort when calling system time without setting mock time
ff21870e20b2 fuzz: Add SetMockTime() to necessary targets
41a2ce9b7d73 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36ef [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b1475 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c143 [functional test] getorphantxs reflects multiple announcers
0da693f7e129 [functional test] orphan handling with multiple announcers
b6ea4a9afe2d [p2p] try multiple peers for orphan resolution
1d2e1d709ce3 [refactor] move creation of unique_parents to helper function
c6893b0f0b7b [txdownload] remove unique_parents that we already have
163aaf285af9 [fuzz] orphanage multiple announcer functions
22b023b09da3 [unit test] multiple orphan announcers
96c1a822a274 [unit test] TxOrphanage EraseForBlock
04448ce32a3b [txorphanage] add GetTx so that orphan vin can be read
e810842acda6 [txorphanage] support multiple announcers
62a9ff187076 [refactor] change type of unique_parents to Txid
6951ddcefd9e [txrequest] GetCandidatePeers
6475849c4020 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a99 doc: upgrade license to 2025.
49fc2258cf39 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e9 Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780f doc: Clarify min macOS and Xcode version
a0f0c48ae20e Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca7 Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b167 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48bb Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
29bca9713d21 test: fix typo in mempool_ephemeral_dust
4036ee3f2bf5 Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059c test: add check for getting SigningProvider for a CPubKey
62a95f5af9b9 test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28b doc: Correct docstring describing max block tree db cache
6aa0e70ccbd5 Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0f doc: Clarify comments about endianness after #30526
604bf2ea37f8 Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e381 test: use Mining interface in miner_tests
fa0411ee305f ci: Run functional tests in msan task
2bdaf52ed125 doc: Update NetBSD Build Guide
34e8ee23b83e txmempool: fix typos in comments
228aba2c4d9a Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2d Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd88920 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d4 Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f744 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54f Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60ad Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8db Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d3 Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b21 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995eb Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c281758 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
b29d68f942e3 test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a7797 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726b Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc0 test: add functional test for balance after snapshot completion
226d03dd610d validation: Send correct notification during snapshot completion
fa63b8232f38 test: generateblocks called by multiple threads
fa62c8b1f04a rpc: Extend scope of validation mutex in generateblock
366ae00b779a descriptor: Assume `ParseScript` is not being called with a P2WPKH context
e36640859089 descriptor: remove unreachable verification for `pkh`
5709718b8301 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93ea depends: Update capnproto to 1.1.0
fc7b21484703 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9dc Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba81 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364fb test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a599 test: Embed univalue json tests in binary
fa044857caf7 test: Re-enable univalue test fail18.json
63b6b638aa5e build: Use character literals for generated headers to avoid narrowing
ecaa786cc103 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284f cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
bb57017b2945 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb8 Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e7466 qa: Limit `-maxconnections` in tests
fa494a1d53f3 refactor: Specify const in std::span constructor, where needed
faaf4800aa75 Allow std::span in stream serialization
faa5391f7703 refactor: test: Return std::span from StringBytes
fa8622347535 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f614 refactor: Simplify SpanPopBack
facc4f120b06 refactor: Replace fwd-decl with proper include
fac3a782eaf3 refactor: Avoid needless, unsafe c-style cast
c1252b14d714 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbdf doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c82 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a0685 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd0 guix: disable timezone tools & profiling in glibc
23b8a424fb06 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8f doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a2 fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef3 refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6f refactor: fix typo in node/types.h
366fbf152c6c test: drop extraneous bracket in mining util
c991cea1a0c3 Remove processNewBlock() from mining interface
9a47852d88cf Remove getTransactionsUpdated() from mining interface
bfc4e029d41e Remove testBlockValidity() from mining interface
477b35746074 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5c Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f4 Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea87 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
785486a97558 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a2364202 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb47 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af381 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f98271 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf13033 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0e Ensure m_tip_block is never ZERO
e058544d0e83 Make m_tip_block an std::optional
f86678156a3d Check leaves size maximum in MerkleComputation
4d572882463b refactor: use CTransactionRef in submitSolution
2e81791d9072 Drop TransactionMerklePath default position arg
39d3b538e6a2 Rename merkle branch to path
fa18acb457e9 fuzz: Abort when using global PRNG without re-seed
fa9e0489f579 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296c cmake: Link `bitcoin_consensus` as a library
a10bb400e8cb depends: Fix CXXFLAGS on NetBSD
3353d4a5e9fc depends: Ignore prefix directory on OpenBSD
b9766c9977e5 Remove unused variable assignment
b042c4f0538c Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf55 lint: output-only - Avoid repeated arrows, trim
facb4d010ca5 refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d31 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aad fuzz: Fix test_runner error reporting
d73f37dda221 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab83 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099b Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f0 Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e6 Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a028 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f6 lint: Move assertion linter into lint runner
beac62e541c8 Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea12 depends: update capnproto to 1.0.2
df27ee9f024f refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1af Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb0 Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a6 Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558d lint: Disable signature output in git log
fa47baa03bcf ci: Bump centos gcc
015aad8d6a69 docs: remove repetitive words
589ed1a8eafe wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110b Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1f Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c9027420 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c74 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acfa util: Add missing types in make_secure_unique
b6f0593f4330 doc: add release note about testmempoolaccept debug-message
f9cac6352371 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf3 depends: add -g to *BSD_debug flags
37e49c2c7ca5 Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edbad wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1df Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e4 fuzz: add cstdlib to FuzzedDataProvider
f6496a838828 guix: disable gcov in base-linux-gcc
35000e34cf33 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194cc Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2cd test: Add missing %c character test
76cca4aa6fcd test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba206 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950a refactor test: Profit from using namespace + using detail function
cdd207c0e480 test: add coverage for migrating standalone imported keys
297a876c9809 test: add coverage for migrating watch-only script
932cd1e92b6d wallet: fix crash during watch-only wallet migration
41d934c72df6 chore: Typo Overriden -> Overridden
c9fb38a590e3 refactor test: Cleaner combine_logs.py logic
22723c809a8a Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288af Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d5 Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30ac Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477d Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafee Set notifications m_tip_block in LoadChainTip()
fa6e599cf9fb test: Call generate through test framework only
2eccb8bc5e22 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec3 test: make sure node has all transactions
6d973f86f755 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853d Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814cc util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67b iwyu: Drop backported mapping
fe9bc5abef3d ci: Update Clang in "tidy" job
083770adbe7d Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d7 lint: use clearer wording on error message
811a65d3c6b3 lint: bump MLC to v0.19.0
fae76393bdbf test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a2 Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6e rbf: remove unecessary newline at end of error string
221c789e9169 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d28 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6c Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d5984 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf941 refactor: Don't embed translated string in untranslated string.
058021969b54 refactor: Avoid concatenation of format strings
11f68cc81084 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47d Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d80 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
00c1dbd26ddb test: fix MIN macro-redefinition
ae69fc37e4ff Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a774 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296ab Drop script_pub_key arg from createNewBlock
7ab733ede444 rpc: rename coinbase_script to coinbase_output_script
0f84cdd26614 func: test orphan parent is re-requested from 2nd peer
95a0104f2e98 test: Add tests for directories in place of config files
e85abe92c7cc args: Catch directories in place of config files
e4b6b1822ce0 test: Add tests for -noconf
483f0dacc413 args: Properly support -noconf
312ec64cc061 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b9 test: -norpccookiefile
39cbd4f37c3d args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452bc logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907ca test: Harden testing of cookie file existence
75bacabb55f3 test: combine_logs.py - Output debug.log paths on error
cccca8a77f3c test: Avoid logging error when logging error
ee1b9bef000b test: replace `is not` to `!=` when comparing block hash
faf70cc9941c Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c9 test, refactor: Compact ccoins_access and ccoins_spend
0a159f091477 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef9 test: Validate error messages on fail
d5f8d607ab1f test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a5 test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c3818 coins, refactor: Remove direct GetFlags access
6b733699cfc7 coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e6 coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc91 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f80 util: Implement ParseISO8601DateTime based on C++20
06443b8f28bc net: clarify if we ever sent or received from peer
1d01ad4d73e0 net: add LogIP() helper, use in net_processing
937ef9eb408e net_processing: use CNode::DisconnectMsg helper
ad224429f823 net: additional disconnection logging
988721d37a3c test: avoid internet traffic in rpc_net.py
bffd92f00f5b args: Support -nopid
12f8d848fd91 args: Disallow -nodatadir
6ff966276009 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb0 test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b2 test: Rework migratewallet to use previous release (v28.0)
e8a2054edc81 doc args: Document narrow scope of -color
1dd3af8fbc35 Add release note for #31223
997757dd2b4d test: add functional test for -port behavior
fa3e07430478 refactor: Tidy fixups
fa72646f2b19 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0aa refactor: Pick translated string after format
0e2b12b92a28 net, init: derive default onion port if a user specified a -port
f42ec0f3bfbe wallet: Check specified wallet exists before migration
a2c45ae5480a test: report failure during utf8 response decoding
493656763f73 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458b cmake: Fix `IF_CHECK_PASSED` option handling
e56fc7ce6a92 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
69e95c2b4f99 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a36 wallet: Remove unused encryption keys from watchonly wallets
813a16a46332 wallet: Add HasCryptedKeys
ec777917d6eb test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d9 kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c272 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561ae kernel: Add block index utility functions to C header
REVERT: 13f4911b0646 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf260348 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def7 kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd9 kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c0 kernel: Add validation interface to C header
REVERT: 7c539908113b kernel: Add interrupt function to C header
REVERT: 522d0886d8ff kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe12 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6c kernel: Add options for reindexing in C header
REVERT: b4fbf1931725 kernel: Add block validation to C header
REVERT: ce6ddde95eee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5a kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a290 kernel: Add chainstate manager object to C header
REVERT: 262039e4094c kernel: Add notifications context option to C header
REVERT: dc0d406dd5e9 kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2d kernel: Add kernel library context object
REVERT: dad0009c86c1 kernel: Add logging to kernel library C header
REVERT: 27e25aa941c6 kernel: Introduce initial kernel C header API

git-subtree-dir: libbitcoinkernel-sys/bitcoin
git-subtree-split: 538671edce5813a62405b9bd5c50c39263c58435
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
stickies-v added a commit to stickies-v/py-bitcoinkernel that referenced this pull request Mar 17, 2025
5991a69ee00 kernel: Add pure kernel bitcoin-chainstate
05b7d136684 kernel: Add functions to get the block hash from a block
f18c792d843 kernel: Add block index utility functions to C header
89f5bf04673 kernel: Add function to read block undo data from disk to C header
b4f71fc64e7 kernel: Add functions to read block from disk to C header
41306f081ad kernel: Add function for copying  block data to C header
9385d9fc87e kernel: Add functions for the block validation state to C header
0bd9a710358 kernel: Add validation interface to C header
432710f3fc3 kernel: Add interrupt function to C header
cb164ae1eb2 kernel: Add import blocks function to C header
abd67fd93d0 kernel: Add chainstate load options for in-memory dbs in C header
b98c2748e94 kernel: Add options for reindexing in C header
9d0efe1fc86 kernel: Add block validation to C header
87e364fc1ec kernel: Add chainstate loading when instantiating a ChainstateManager
df1599b2d2a kernel: Add chainstate manager option for setting worker threads
fb767002e97 kernel: Add chainstate manager object to C header
10b0fad2fd3 kernel: Add notifications context option to C header
39e7ad8d0dc kernel: Add chain params context option to C header
6285c353b89 kernel: Add kernel library context object
98d10160b6a kernel: Add logging to kernel library C header
4d663446de1 kernel: Introduce initial kernel C header API
698f86964c6 Merge bitcoin/bitcoin#31961: Require sqlite when building the wallet
f4b3a5858ae Merge bitcoin/bitcoin#32064: build: Remove manpages when making MacOS app
92f553eaa92 Merge bitcoin/bitcoin#32038: depends: remove `NO_HARDEN` option
80b5e7f2cb7 build: Remove manpages when making MacOS app
1b251f6b679 Merge bitcoin/bitcoin#31649: consensus: Remove checkpoints (take 2)
5c2f04413e4 Merge bitcoin/bitcoin#32049: contrib: Fix `gen-bitcoin-conf.sh`
5d96c2eab9f Merge bitcoin/bitcoin#31907: qa: clarify and document one assumeutxo test case with malleated snapshot
57d611e53b3 Merge bitcoin/bitcoin#31757: wallet: fix crash on double block disconnection
199d47d9629 Merge bitcoin/bitcoin#32056: doc: Adjust path in comment
de1ada079bf doc: Adjust path in comment
72c150dfe76 Merge bitcoin/bitcoin#32055: contrib: Fix deterministic-unittest-coverage tool path
3c5d1a46819 Remove checkpoints
632ae47372d update comment on MinimumChainWork check
893ca545850 contrib: Fix deterministic-unittest-coverage tool path
c20a5ce106b Merge bitcoin/bitcoin#31901: contrib: Add deterministic-unittest-coverage
a50af6e4c49 Merge bitcoin/bitcoin#32044: ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
a5a582d852e Merge bitcoin/bitcoin#31998: depends: patch around PlacementNew issue in capnp
a24419f8bed contrib: Fix `gen-bitcoin-conf.sh`.
eb9730ab658 Merge bitcoin/bitcoin#31987: wallet: Replace "non-0" with "non-zero" in translatable error message
f347d7980e8 Merge bitcoin/bitcoin#31283: Add waitNext() to BlockTemplate interface
fa21597064b ci: Revert "Temporary workaround for old CCACHE_DIR cirrus env"
aa68ed27b89 Merge bitcoin/bitcoin#32041: build: bump CLIENT_VERSION_MAJOR to 29
a3f0e9a4336 [build] bump CLIENT_VERSION_MAJOR to 29
36b6f36ac47 build: require sqlite when building the wallet
5dfef6b9b37 depends: remove NO_HARDEN option
8cb6ab0b971 Merge bitcoin/bitcoin#32025: validation, fix: Use wtxid instead of txid in `CheckEphemeralSpends`
7bb4c82d8ba Merge bitcoin/bitcoin#32021: qa: Enable feature_init.py on Windows
1ef22ce3351 depends: patch around PlacementNew issue in capnp
502d47203e7 Merge bitcoin/bitcoin#31161: cmake: Set top-level target output locations
e38f09b776c Merge bitcoin/bitcoin#31955: test: Fix authproxy named args debug logging
1d0a1a60e83 Merge bitcoin/bitcoin#32004: qt: 29.0 translations update
91328249470 qt: 29.0 translations update
e637dc2c01c refactor: Replace uint256 type with Wtxid in PackageMempoolAcceptResult struct
a3baead7cb8 validation: use wtxid instead of txid in CheckEphemeralSpends
dbc89b604c4 Merge bitcoin/bitcoin#31960: seeds: add signet/testnet4, update makeseeds regex, minblocks, fixed seeds
45719390a14 Merge bitcoin/bitcoin#32011: Docs: fix typos in documentation files
4637cb1eec4 Merge bitcoin/bitcoin#32002: doc: add note to Windows build about stripping bins
5f732089d67 Merge bitcoin/bitcoin#32017: doc: warn against having qt6 installed on macOS
a1aea3ea742 Merge bitcoin/bitcoin#31996: doc: link to benchcoin over bitcoinperf
5601bab4f8b Docs: fix typos in documentation files
59c4930394c qa: Enable feature_init.py on Windows
c94195c077f doc: add note to windows build about stripping bin
ee68b05f3d6 Merge bitcoin/bitcoin#32014: ci: Do not try to install for fuzz builds
093c757d7cf Merge bitcoin/bitcoin#32000: Update minisketch subtree to d1e6bb8bbf8ef104b9dd002cab14a71b91061177
a3c3f37e71e ci: Do not try to install for fuzz builds
d79dab0fa99 doc: warn against having qt6 installed on macOS
f0b659716bd seeds: update .gitignore with signet and testnet4
48f07ac9da4 chainparams: remove hardcoded signet seeds
d4ab1150c40 chainparams: add signet fixed seeds if default network
49f155efbfb seeds: update fixed dns seeds
236687083fb makeseeds: regex improvements
98f84d6c233 generate-seeds: update and add signet
c4ed23e5398 seeds: add testnet4 seeds
60f17dd8167 seeds: add signet seeds
2bcccaa4107 makeseeds: align I2P column header
94e21aa5fc5 makeseeds: update MIN_BLOCKS, add reminder to README
6ae7a3bc4e7 makeseeds: update user agent regex
9b0d2e50946 makeseeds: fix incorrect regex
a9a2b669f3e Merge bitcoin/bitcoin#32003: doc: remove note about macOS self-signing
c7d216ac946 Merge bitcoin/bitcoin#31993: ci: use LLVM 20.1.0 for MSAN
9f3dcacef73 Merge bitcoin/bitcoin#31978: kernel: pre-29.x chainparams and headerssync update
c873ab6f23e doc: remove note about macOS self-signing
bd0ee07310c Merge bitcoin/bitcoin#31407: guix: Notarize MacOS app bundle and codesign all MacOS and Windows binaries
11f8ab140fe test: wallet, coverage for crash on dup block disconnection during unclean shutdown
4fde88bc469 Update minisketch subtree to latest master
f5d8b66a8cf Squashed 'src/minisketch/' changes from eb37a9b8e7..d1e6bb8bbf
0391d7e4c24 Merge bitcoin/bitcoin#31848: test, tracing: don't use problematic `bpf_usdt_readarg_p()`
36d4bd7fe32 Merge bitcoin/bitcoin#31997: doc: update location of minisketch repository
0c0a2717bc3 Merge bitcoin/bitcoin#31954: doc: update fuzz instructions when on macOS
a2ab2faf4a8 Merge bitcoin/bitcoin#31982: scripted-diff: rename libmultiprocess repository
972b604dc42 doc: update location of minisketch repository
611999e0977 doc: link to benchcoin over bitcoinperf
d76647eb8f1 ci: use LLVM 20.1.0 for MSAN
c2341ebb5bb Merge bitcoin/bitcoin#31983: build: don't show ccache summary with MSVC
88debb3e429 Merge bitcoin/bitcoin#31940: Add assumeutxo chainparams to release-process.md
c8dcb61172e Merge bitcoin/bitcoin#31985: doc: Bring reduce-memory.md up to date
11a2d3a63e9 [headerssync] update headerssync config for v29
dd23c532581 [kernel] update chainTxData for v29
80926af8c26 [kernel] update assumevalid and minimumChainWork for v29
0683b8ebf33 [kernel] update assumed blockchain and chainstate sizes for v29
e13c18f6ce5 Merge bitcoin/bitcoin#31969: Add mainnet assumeutxo param at height 880,000
e5ff4e416ec qa: use a clearer and documented amount error in malleated snapshot
b34fdb5ade0 test: introduce output amount (de)compression routines
18e83534ace wallet: Replace "non-0" with "non-zero" in translatable error message
a7911ed101f test: introduce VARINT (de)serialization routines
c718bffc361 build: don't use ccache with MSVC
fff4f93dff8 doc: Bring reduce-memory.md up to date
75486c8ed87 doc: update fuzz instructions when on macOS
18749efb072 scripted-diff: rename libmultiprocess repository
02fae336351 doc: add assumeutxo chainparams to release proc
15717f0ef39 Merge bitcoin/bitcoin#31916: init: Handle dropped UPnP support more gracefully
afde95b4601 Merge bitcoin/bitcoin#31976: delete release note fragments for v29
ae92bd8e1b2 delete release note fragments for v29
79bbb381a1f Merge bitcoin/bitcoin#30901: cmake: Revamp handling of data files
14f16748557 chainparams: add mainnet assumeutxo param at height 880_000
3c1f72a3670 Merge bitcoin/bitcoin#31930: doc: Update translation generation instructions
75d5d235a6b doc: Update translation generation instructions
6876e5076ec Merge bitcoin/bitcoin#31943: test: add coverage for abandoning unconfirmed transaction
44041ae0eca init: Handle dropped UPnP support more gracefully
fac1dd9dffb test: Fix authproxy named args debug logging
0bb8a01810e Merge bitcoin/bitcoin#31880: cmake: Add optional sources to `minisketch` library directly
3bb679e5de2 Merge bitcoin/bitcoin#31952: chore: remove redundant word
d9ba427f9d0 chore: remove redundant word
c12a2528ce6 Merge bitcoin/bitcoin#31415: test: fix TestShell initialization and reset()
ba0a4391ff3 Merge bitcoin/bitcoin#31945: depends: Update libmultiprocess library to fix CI failures
fa99c3b544b test: Exclude SeedStartup from coverage counts
fa579d663d7 contrib: Add deterministic-unittest-coverage
fa3940b1cbc contrib: deterministic-fuzz-coverage fixups
faf905b9b69 doc: Remove unused -fPIC
073a017016e test: add coverage for abandoning unconfirmed transaction
e486597f9a5 Merge bitcoin/bitcoin#31918: fuzz: add basic TxOrphanage::EraseForBlock cov
01f77157660 depends: Update libmultiprocess library to fix CI failure
279ab20bbd3 Merge bitcoin/bitcoin#31925: contrib: update `utxo_to_sqlite` tool documentation and comment
f0ac24846f1 Merge bitcoin/bitcoin#31928: ci: Fix filtering out Qt-generated files from `compile_commands.json`
44bd3159244 Merge bitcoin/bitcoin#31676: fuzz: add targets for PCP and NAT-PMP port mapping requests
d82dc104152 ci: Fix filtering out Qt generated files from `compile_commands.json`
e747ed989eb contrib: fix read metadata related comment
d3095ac35a8 contrib: update `dumptxoutset` command in utxo_to_sqlite doc
ecf54a32ed2 cmake: Add support for builtin `codegen` target
a8c78a0574d cmake: Revamp handling of data files
5b8fd7c3a6b Merge bitcoin-core/gui#854: qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
568fcdddaec scripted-diff: Adjust documentation per top-level target output location
026bb226e96 cmake: Set top-level target output locations
db63bfbe7cf Merge bitcoin/bitcoin#31580: test: Remove non-portable IPv6 test
da3ed8b970a Merge bitcoin/bitcoin#31662: cmake: Do not modify `CMAKE_TRY_COMPILE_TARGET_TYPE` globally
9d7672bbcae Merge bitcoin/bitcoin#31742: contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
77bf99012ae Merge bitcoin/bitcoin#30302: doc: clarify loadwallet path loading for wallets
8400b742fa6 fuzz: add basic TxOrphanage::EraseForBlock cov
46a9c73083e Merge bitcoin/bitcoin#31906: ci: Switch to gcr.io mirror to avoid rate limits
82ba9257157 Merge bitcoin/bitcoin#31366: cmake: Check `-Wno-*` compiler options for `leveldb` target
f236854a5bd Merge bitcoin/bitcoin#31731: doc: update translation generation cmake example
eb51963d870 Merge bitcoin/bitcoin#31884: cmake: Make implicit `libbitcoinkernel` dependencies explicit
7267ed05182 qt: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
58f15d4b215 Merge bitcoin/bitcoin#31379: cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
2c4b229c906 cmake: Introduce `FUZZ_LIBS`
ea929c0848e scripted-diff: Rename CMake helper module
8d238c1dfde cmake: Delete `check_cxx_source_links*` macros
71bf8294a98 cmake: Convert `check_cxx_source_compiles_with_flags` to a function
88ee6800c96 cmake: Delete `check_cxx_source_links_with_flags` macro
09e8fd25b1a build: Don't override CMake's default try_compile target
303f8cca056 test: fix TestShell initialization and reset()
e606c577cb2 Merge bitcoin/bitcoin#31899: cmake: Exclude generated sources from translation
758a93d6215 doc: update translation generation cmake example
fd14995b6a8 Merge bitcoin/bitcoin#31908: Revert merge of PR #31826
e181bda061c guix: Apply all codesignatures to Windows binaries
aafbd23fd97 guix: Apply codesignatures to all MacOS binaries
3656b828dc2 contrib: Sign all Windows binaries too
31d325464d0 contrib: Sign and notarize all MacOS binaries
cadbd4137d8 miner: have waitNext return after 20 min on testnet
d4020f502a6 Add waitNext() to BlockTemplate interface
3e9b12b3e0f Revert "Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop"
fa8de4706a0 ci: Switch to gcr.io mirror to avoid rate limits
9ef429b6ae6 wallet: fix crash on double block disconnection
785649f3977 Merge bitcoin/bitcoin#29881: guix: use GCC 13 to build releases
139640079ff Merge bitcoin/bitcoin#31826: random: Check `GetRNDRRS` is supported in `InitHardwareRand` to avoid infinite loop
dc3a7146337 Merge bitcoin/bitcoin#31794: wallet: abandon orphan coinbase txs, and their descendants, during startup
06757af2da5 Merge bitcoin/bitcoin#29156: tests: add functional test for miniscript decaying multisig
ca6aa0b9bee doc: loadwallet loads from relative walletdir
710d5b5149d guix: Update signapple
fa1e0a72281 gitignore: target/
ff4ddd3d2e3 Revert "cmake: Ensure generated sources are up to date for `translate` target"
03b3166aac5 cmake: Exclude generated sources from translation
43e287b3ff5 Merge bitcoin/bitcoin#31892: build: remove ENABLE_HARDENING condition from check-security
63d625f7610 Merge bitcoin/bitcoin#31893: test: remove scanning check on `wallet_importdescriptors`
9919e92022b cmake: Add optional sources to `minisketch` library directly
3b42e05aa9e cmake: Make implicit `libbitcoinkernel` dependencies explicit
3fd64efb437 cmake: Avoid using `OBJECT` libraries
28dec6c5f8b Merge bitcoin/bitcoin#31268: cmake: add optional source files to bitcoin_crypto and crc32c directly
50afaf3a389 Merge bitcoin/bitcoin#31836: contrib: Add deterministic-fuzz-coverage
405dd0e647e test: remove scanning check on `wallet_importdescriptors`
113a7a363fa build: remove ENABLE_HARDENING cond from check-security
9da0820ec55 Merge bitcoin/bitcoin#31869: cmake: Add `libbitcoinkernel` target
db36a92c02b Merge bitcoin/bitcoin#31879: doc: add release note for #27432 (utxo-to-sqlite tool)
95722d048a8 doc: add release note for #27432 (utxo-to-sqlite tool)
e4dd5a351bd test: wallet, abandon coinbase txs and their descendants during startup
09b150bb8ad In `InitHardwareRand`, do trail test for `RNDRRS` by `VerifyRNDRRS`
43e71f74988 Merge bitcoin/bitcoin#27432: contrib: add tool to convert compact-serialized UTXO set to SQLite database
e53310c47ab Merge bitcoin/bitcoin#30529: Fix -norpcwhitelist, -norpcallowip, and similar corner case behavior
254fd89d39f Merge bitcoin/bitcoin#31863: random: Initialize variables in hardware RNG functions
75f8396c907 Merge bitcoin/bitcoin#30746: test: cover base[32|58|64] with symmetric roundtrip fuzz (and padding) tests
c4b46b45898 Merge bitcoin/bitcoin#31629: wallet: fix rescanning inconsistency
d0dfd6d3f60 Merge bitcoin/bitcoin#31865: build: move `rpc/external_signer` to node library
ce4dbfc3590 Merge bitcoin/bitcoin#31851: doc: build: Fix instructions for msvc gui builds
504d0c21e26 Merge bitcoin/bitcoin#31439: validation: In case of a continued reindex, only activate chain in the end
0b48f77e101 Merge bitcoin/bitcoin#31413: rpc: Remove deprecated dummy alias for listtransactions::label
21a0efaf8c9 Merge bitcoin/bitcoin#29858: test: Add test for rpcwhitelistdefault
8a00b755e98 Merge bitcoin/bitcoin#31634: doc: Improve dependencies documentation
e58605e04f3 Merge bitcoin/bitcoin#31854: net: reduce CAddress usage to CService or CNetAddr
3a914ab96bd cmake: Rename `bitcoinkernel` component to `libbitcoinkernel`
06b9236f432 Merge bitcoin/bitcoin#31359: cmake: Add `CheckLinkerSupportsPIE` module
7ce09a59921 cmake: Add `libbitcoinkernel` target
e501246e77c build: move rpc/external_signer to node library
73e2ec13737 Merge bitcoin/bitcoin#31844: cmake: add a component for each binary
99755e04ffa random: Initialize variables in hardware RNG functions
7bbd761e816 Merge bitcoin/bitcoin#31421: cmake: Improve compatibility with Python version managers
9491676438a Merge bitcoin/bitcoin#31157: Cleanups to port mapping module post UPnP drop
109bfe9573b Merge bitcoin/bitcoin#31857: depends: avoid an unset `CMAKE_OBJDUMP`
14d1d8e2120 Merge bitcoin/bitcoin#31758: test: deduplicates p2p_tx_download constants
fa3e409c9a0 contrib: Add deterministic-fuzz-coverage
2549fc6fd1c Merge bitcoin/bitcoin#31768: test: check `scanning` field from `getwalletinfo`
9b033bebb18 cmake: rename Kernel component to bitcoinkernel for consistency
2e0c92558e9 cmake: add and use install_binary_component
a85e8c0e615 doc: Add some general documentation about negated options
96d30ed4f96 Merge bitcoin/bitcoin#31495: wallet: Utilize IsMine() and CanProvide() in migration to cover edge cases
490c8fa1782 doc: Add release notes summarizing negated option behavior changes.
458ef0a11b5 refactor: Avoid using IsArgSet() on -connect list option
752ab9c3c65 test: Add test to make sure -noconnect disables -dnsseed and -listen by default
3c2920ec98f refactor: Avoid using IsArgSet() on -signetseednode and -signetchallenge list options
d05668922a2 refactor: Avoid using IsArgSet() on -debug, -loglevel, and -vbparams list options
3d1e8ca53a0 Normalize inconsistent -noexternalip behavior
ecd590d4c1e Normalize inconsistent -noonlynet behavior
5544a19f863 Fix nonsensical bitcoin-cli -norpcwallet behavior
6e8e7f433fc Fix nonsensical -noasmap behavior
b6ab3508064 Fix nonsensical -notest behavior
6768389917a Fix nonsensical -norpcwhitelist behavior
e03409c70f7 Fix nonsensical -norpcbind and -norpcallowip behavior
40c4899bc20 Fix nonsensical -nobind and -nowhitebind behavior
5453e66fd91 Fix nonsensical -noseednode behavior
c242fa5be35 Merge bitcoin/bitcoin#31858: chore: remove redundant word
4c62b37fcd2 chore: remove redundant word
251ea7367cf Merge bitcoin/bitcoin#31767: logging: Ensure -debug=0/none behaves consistently with -nodebug
2434aeab62b depends: avoid an unset CMAKE_OBJDUMP
a5b0a441f85 Merge bitcoin/bitcoin#31855: chore: remove redundant word
cd4bfaee103 net: reduce CAddress usage to CService or CNetAddr
033acdf03da chore: remove redundant word
55cf39e4c54 Merge bitcoin/bitcoin#31722: cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
c3fa043ae56 doc: build: Fix instructions for msvc gui builds
048ef98626b Merge bitcoin/bitcoin#31840: depends: add missing Darwin objcopy
c73b59d47f1 fuzz: implement targets for PCP and NAT-PMP port mapping requests
1695c8ab5bd fuzz: in FuzzedSock::GetSockName(), return a random-length name
713bf66b1f7 Merge bitcoin/bitcoin#31500: depends: Fix compiling `libevent` package on NetBSD
0d472c19533 fuzz: never return an uninitialized sockaddr in FuzzedSock::GetSockName
39b7e2b5905 fuzz: add steady clock mocking to FuzzedSock
6fe1c35c05b pcp: make NAT-PMP error codes uint16_t
01906ce912e pcp: make the ToString method const
a0b66b4bffa Revert "test: Disable known broken USDT test for now"
ec47ba349d0 contrib: don't use bpf_usdt_readarg_p
35ae6ff60f6 test: don't use bpf_usdt_readarg_p
ede388d03df Merge bitcoin/bitcoin#30911: build: simplify by flattening the dependency graph
534414ca9d4 Merge bitcoin/bitcoin#31678: ci: Skip read-write of default env vars
87ce116058f Merge bitcoin/bitcoin#31846: test: Remove stale gettime test
fa3a4eafa11 test: Remove stale gettime test
42251e00e8b Merge bitcoin/bitcoin#30584: depends: Make default `host` and `build` comparable
0b6ed342b57 Merge bitcoin/bitcoin#31711: build: set build type and per-build-type flags as early as possible
a44ccedcc2c Merge bitcoin/bitcoin#31818: guix: remove test-security/symbol-check scripts
e8b3c44da6e build: Include all Windows binaries for codesigning
dd4ec840eeb build: Include all MacOS binaries for codesigning
4e5c9ceb9dd guix: Rename Windows unsigned binaries to unsigned.zip
d9d49cd533b guix: Rename MacOS binaries to unsigned.tar.gz
c214e5268fa guix: Rename unsigned.tar.gz to codesigning.tar.gz
0264c5d86c7 cmake: use per-target components for bitcoin-qt and bitcoin-gui
fb0546b1c5e ci: don't try to install for a fuzz build
c65233230f1 Merge bitcoin/bitcoin#31022: test: Add mockable steady clock, tests for PCP and NATPMP implementations
86528937e5c Merge bitcoin/bitcoin#31834: build: disable bitcoin-node if daemon is not built
7afeaa24693 test: `-debug=0` and `-debug=none` behave similarly to `-nodebug`
a8fedb36a71 logging: Ensure -debug=0/none behaves consistently with -nodebug
d39d521d86a test: `-nodebug` clears previously set debug options
3edaf0b4286 depends: add missing Darwin objcopy
2507ebdf1b2 Merge bitcoin/bitcoin#31837: test: add missing sync to p2p_tx_download.py
79f02d56ef7 Merge bitcoin/bitcoin#30623: test: Fuzz the human-readable part of bech32 as well
ff3171f96d3 Merge bitcoin/bitcoin#31614: test: expect that files may disappear from /proc/PID/fd/
56a9b847bba build: set build type and per-build-type flags as early as possible
8fe552fe6e0 test: add missing sync to p2p_tx_download.py
af76664b12d test: Test migration of a solvable script with no privkeys
17f01b0795e test: Test migration of taproot output scripts
1eb9a2a39fd test: Test migration of miniscript in legacy wallets
e8c3efc7d8f wallet migration: Determine Solvables with CanProvide
fa1b7cd6e2c migration: Skip descriptors which do not parse
440ea1ab639 legacy spkm: use IsMine() to extract watched output scripts
b777e84cd70 legacy spkm: Move CanProvide to LegacyDataSPKM
b1ab927bbf2 tests: Test migration of additional P2WSH scripts
1d813e4bf52 Merge bitcoin/bitcoin#31819: doc: swap CPPFLAGS for APPEND_CPPFLAGS
2ffea09820e build: disable bitcoin-node if daemon is not built
f8d3e0edf47 Merge bitcoin/bitcoin#30205: test: add mocked Sock that can read/write custom data and/or CNetMessages
6b165f5906f Merge bitcoin/bitcoin#31384: mining: bugfix: Fix duplicate coinbase tx weight reservation
6a46be75c43 Merge bitcoin/bitcoin#31793: ci: Use clang-20 for sanitizer tasks
76c090145e9 guix: remove test-security/symbol-check scripts
329b60f595e Merge bitcoin/bitcoin#31810: TxOrphanage: account for size of orphans and count announcements
bc3f59ca530 Merge bitcoin/bitcoin#31820: build: consistently use `CLIENT_NAME` in libbitcoinkernel.pc.in
dead9086543 cmake: Improve compatibility with Python version managers
e107bf78f9d [fuzz] TxOrphanage::SanityCheck accounting
fb0ada982a7 Merge bitcoin/bitcoin#31811: test: test_inv_block, use mocktime instead of waiting
f5b9a2f68c9 build: use CLIENT_NAME in libbitcoinkernel.pc.in
ea687d20293 doc: swap CPPFLAGS for APPEND_CPPFLAGS
81eb6cc2c60 Merge bitcoin/bitcoin#31800: depends: Avoid using the `-ffile-prefix-map` compiler option
2f98d1e06ed Merge bitcoin/bitcoin#31814: ci: Bump fuzz task timeout
9cf746d6631 cmake: add optional source files to crc32c directly
9c7823c5b53 cmake: add optional source files to bitcoin_crypto directly
faca7ac1321 ci: Bump fuzz task timeout
22dccea5532 [fuzz] txorphan byte accounting
982ce101781 add orphanage byte accounting to TxDownloadManagerImpl::CheckIsEmpty()
c289217c014 [txorphanage] track the total number of announcements
e5ea7daee01 [txorphanage] add per-peer weight accounting
672c69c688f [refactor] change per-peer workset to info map within orphanage
59cd0f0e091 [txorphanage] account for weight of orphans
f93d6cb0caa Merge bitcoin/bitcoin#31809: Prepare "Open Transifex translations for v29.0" release step
f605f7a9c26 build: refactor: set debug definitions in main CMakeLists
2706c5b7c8e test: test_inv_block, use mocktime instead of waiting
0a02e7fdeac test: deduplicates p2p_tx_download constants
2f27c910869 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
864386a7444 cmake: Ensure generated sources are up to date for `translate` target
d6c229d8bd4 Merge bitcoin/bitcoin#31804: ci: Remove no longer needed `-Wno-error=documentation`
2b51dd384b4 Update Transifex slug for 29.x
82ba5051342 Merge bitcoin/bitcoin#31759: test: fixes p2p_ibd_txrelay wait time
ae9eaa063b6 Merge bitcoin/bitcoin#31760: test: make sure we are on sync with a peer before checking if they have sent a message
f1d7a6dfa14 ci: Remove no longer needed '-Wno-error=documentation'
a43f08c4ae3 Merge bitcoin/bitcoin#25832: tracing: network connection tracepoints
407062f2ac9 depends: Avoid using the `-ffile-prefix-map` compiler option
b9c241804c0 Merge bitcoin/bitcoin#30226: test: add validation for gettxout RPC response
1334ca6c070 Merge bitcoin/bitcoin#31437: func test: Expand tx download preference tests
33932d30e38 Merge bitcoin/bitcoin#31784: test: added additional coverage to waitforblock and waitforblockheight rpc's
2aa7be1744a Merge bitcoin/bitcoin#31358: depends: Avoid hardcoding `host_prefix` in toolchain file
386eecff5f1 doc: add release notes
3eaa0a3b663 miner: init: add `-blockreservedweight` startup option
777434a2cd1 doc: rpc: improve `getmininginfo` help text
c8acd4032d5 init: fail to start when `-blockmaxweight` exceeds `MAX_BLOCK_WEIGHT`
5bb31633cc9 test: add `-blockmaxweight` startup option functional test
2c7d90a6d67 miner: bugfix: fix duplicate weight reservation in block assembler
fa5a02bcfa2 ci: Use clang-20 for sanitizer tasks
474139aa9bf wallet: abandon inactive coinbase tx and their descendants during startup
bb0879ddabc test: check `scanning` field from `getwalletinfo`
94ca99ac51d Merge bitcoin/bitcoin#31666: multi-peer orphan resolution followups
6f5ae1a5745 Merge bitcoin/bitcoin#31653: lint: Call more checks from test_runner
e3622a96929 tracing: document that peer addrs can be >68 chars
b19b526758f tracing: log_p2p_connections.bt example
caa5486574b tracing: connection closed tracepoint
b2ad6ede95e tracing: add misbehaving conn tracepoint
68c1ef4f19b tracing: add inbound connection eviction tracepoint
4d61d52f438 tracing: add outbound connection tracepoint
85b2603eec6 tracing: add inbound connection tracepoint
7e0db87d4ff test: added additional coverage to waitforblock and waitforblockheight rpc's
f89f16846ec depends: Fix compiling `libevent` package on NetBSD
1172bc4157e Merge bitcoin-core/gui#850: psbt: Use SIGHASH_DEFAULT when signing PSBTs
85f96b01b77 Merge bitcoin/bitcoin#30909: wallet, assumeutxo: Don't Assume m_chain_tx_count, Improve wallet RPC errors
601a6a69172 Merge bitcoin/bitcoin#30965: kernel: Move block tree db open to block manager
eaf4b928e72 Merge bitcoin/bitcoin#31746: test: Added coverage to the waitfornewblock rpc
992f37f2e10 Merge bitcoin/bitcoin#31600: rpc: have getblocktemplate mintime account for timewarp
12fa9511b5f build: simplify dependency graph
c4e498300c7 build: avoid unnecessary dependencies on generated headers
8fa10edcd17 Merge bitcoin/bitcoin#31428: ci: Allow build dir on CI host
809d7e763cc Merge bitcoin/bitcoin#31751: test: fix intermittent timeout in p2p_1p1c_network.py
7426afbe624 [p2p] assign just 1 random announcer in AddChildrenToWorkSet
4c1fa6b28c2 test fix: make peer who sends MSG_TX announcement non-wtxidrelay
2da46b88f09 pass P2PTxInvStore init args to P2PInterface init
e3bd51e4b52 [doc] how unique_parents can be empty
32eb6dc758a [refactor] assign local variable for wtxid
18820ccf6b2 multi-announcer orphan handling test fixups
c4cc61db98f [fuzz] GetCandidatePeers
7704139cf0d [refactor] make GetCandidatePeers take uint256 and in-out vector
6e4d392a753 [refactor] rename to OrphanResolutionCandidate to MaybeAdd*
57221ad9797 [refactor] move parent inv-adding to OrphanResolutionCandidate
6835e9686c4 Merge bitcoin/bitcoin#31545: ci: optionally use local docker build cache
c7869cb2143 Merge bitcoin/bitcoin#30844: RPC: improve SFFO arg parsing, error catching and coverage
1e0c5bd74ae Merge bitcoin/bitcoin#30125: test: improve BDB parser (handle internal/overflow pages, support all page sizes)
1d6c6e98c13 Merge bitcoin/bitcoin#31633: net: Disconnect message follow-ups to #28521
3f4b104b1b7 test: make sure we are on sync with a peer before checking if they have sent a message
1973a9e4f1d test: fixes p2p_ibd_txrelay wait time
152a2dcdefa test: fix intermittent timeout in p2p_1p1c_network.py
ad2f9324c61 Merge bitcoin/bitcoin#31740: depends: Update libmultiprocess library before converting to subtree
e1676b08f7b doc: release notes
0082f6acc1d rpc: have mintime account for timewarp rule
79d45b10f1b rpc: clarify BIP94 behavior for curtime
07135481378 refactor: add GetMinimumTime() helper
93747d934b8 test: Added coverage to the waitfornewblock rpc
b432e367427 Merge bitcoin/bitcoin#31736: doc: update links in ci.yml
74ea7edafae Merge bitcoin/bitcoin#31522: ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
f34c580bd81 Merge bitcoin/bitcoin#31620: test: Remove --noshutdown flag, Tidy startup failures
1681c08d42c doc: update links in ci.yml
b0869648aa9 Merge bitcoin/bitcoin#21590: Safegcd-based modular inverses in MuHash3072
63a8791e15c contrib: fix BUILDDIR in gen-bitcoin-conf script and gen-manpages.py
4e0aa1835b3 test: Add test for IPC serialization bug
2221c8814d7 depends: Update libmultiprocess library before converting to subtree
0a931a9787b Merge bitcoin/bitcoin#31599: qa: Improve framework.generate* enforcement (#31403 follow-up)
4ac1efb147d Merge bitcoin/bitcoin#30322: test: raise an error in `_bulk_tx_` when `target_vsize` is too low
8775731e6d4 Merge bitcoin/bitcoin#31241: wallet: remove BDB dependency from wallet migration benchmark
9ecc7af41f6 Merge bitcoin/bitcoin#31674: init: Lock blocksdir in addition to datadir
551a09486c4 net: Switch to DisconnectMsg in CConnman
723440c5b8e test framework, wallet: rename get_scriptPubKey method to get_output_script
fa0232a3e07 test: add validation for gettxout RPC response
2d07384243c Merge bitcoin/bitcoin#31658: test: p2p: fix sending of manual INVs in tx download test
796e1a4c5d1 Merge bitcoin/bitcoin#31718: Docs: fix typos in documentation files
81b9800c87e fix typos
d5a2ba44ba4 Merge bitcoin/bitcoin#31416: doc: Fix incorrect send RPC docs
81c174e3186 cmake: Refer to the configure log instead of printing PIE test error
9914e737297 Merge bitcoin/bitcoin#31704: doc: add a section in the fuzzing documentation about using MSan
faf2f2c654d test: Avoid redundant stop and error spam on shutdown
188b02116d8 Merge bitcoin/bitcoin#31635: test: add coverage for unknown address type for `createwalletdescriptor`
2317e6cf2da Merge bitcoin/bitcoin#31696: test: Check that reindex with prune wipes blk files
94f0adcc31d Merge bitcoin/bitcoin#31541: qa: Use `sys.executable` when invoking other Python scripts
59876b3ad71 Merge bitcoin/bitcoin#31376: Miner: never create a template which exploits the timewarp bug
e3c01527696 cmake: Copy `cov_tool_wrapper.sh.in` to the build tree
faf8fc5487d lint: Call lint_commit_msg from test_runner
fa99728b0c8 lint: Move commit range printing to test_runner
fa673cf3449 lint: Call lint_scripted_diff from test_runner
449a25b9582 Merge bitcoin/bitcoin#31709: cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5acf12bafeb Merge bitcoin/bitcoin#31583: rpc: add target to getmininginfo field and show next block info
78fa88c53ad Merge bitcoin/bitcoin#31548: fuzz: Abort when global PRNG is used before SeedRand::ZEROS
c31166ac77a cmake: Fail if `Libmultiprocess` is missing when `WITH_MULTIPROCESS=ON`
5d6f6fd00d7 Merge bitcoin/bitcoin#31490: refactor: inline `UndoWriteToDisk` and `WriteBlockToDisk` to reduce serialization calls
7b4d072e4fa Merge bitcoin/bitcoin#31690: doc: Amend notes on benchmarking
bb633c9407c tests: add functional test for miniscript decaying multisig
e94c9d17123 [doc] Amend notes on benchmarking
5c3e4d8b293 doc: add a section about using MSan
a4df12323c4 doc: add release notes
c75872ffdd9 test: use DIFF_1_N_BITS in tool_signet_miner
4131f322ac0 test: check difficulty adjustment using alternate mainnet
c4f68c12e22 Use OP_0 for BIP34 padding in signet and tests
cf0a62878be rpc: add next to getmininginfo
2d18a078a2d rpc: add target and bits to getchainstates
f153f57acc9 rpc: add target and bits to getblockchaininfo
523520f8279 Merge bitcoin/bitcoin#30866: descriptor: Add proper Clone function to miniscript::Node
baa504fdfaf rpc: add target to getmininginfo result
2a7bfebd5e7 Add target to getblock(header) in RPC and REST
341f9325167 rpc: add GetTarget helper
d20d96fa41c test: use REGTEST_N_BITS in feature_block
7ddbed4f9fc rpc: add nBits to getmininginfo
ba7b9f3d7bf build: move pow and chain to bitcoin_common
c4cc9e3e9df consensus: add DeriveTarget() to pow.h
fa9aced8006 test: Check that reindex with prune wipes blk files
66d21d0eb65 qa: check parsed multipath descriptors dont share references
09a1875ad8c miniscript: Make NodeRef a unique_ptr
9ccb46f91ac miniscript: Ensure there is no NodeRef copy constructor or assignment operator
6d11c9c60b5 descriptor: Add proper Clone function to miniscript::Node
5691fa93c48 Merge bitcoin/bitcoin#31661: depends: Override default build type for `libevent`
8fc7140846f Merge bitcoin/bitcoin#31671: Update leveldb subtree to latest upstream
a9edec94198 Merge bitcoin/bitcoin#31701: test: Bump sync_mempools timeout in p2p_1p1c_network.py
fa80a7dac4b test: Bump sync_mempools timeout in p2p_1p1c_network.py
1111b0ac196 ci: Add missing --combinedlogslen to test-each-commit task
d44626a9c2e depends: Override default build type for `libevent`
d7f56cc5d9e Merge bitcoin/bitcoin#31590: descriptors: Try pubkeys of both parities when retrieving the private keys for an xonly pubkey in a descriptor
fa9593efc2e test: Use high-level python types
c39b3cfcd1b test: Extra verification that migratewallet migrates
0cdddeb2240 kernel: Move block tree db open to BlockManager constructor
7fbb1bc44b1 kernel: Move block tree db open to block manager
0c1b29a0577 ci: use GCC 13 for some jobs
fa8ade300f4 refactor: Avoid GCC false positive error
fa40807fa83 ci: Enable DEBUG=1 for one GCC-12+ build to catch 117966 regressions
cbc65b3ad5a guix: use GCC 13.3.0 for base toolchain.
4601b7ca611 Merge bitcoin/bitcoin#31125: depends: add *FLAGS to gen_id
fa952acdb6e ci: Skip read-write of default env vars
eb243ff06c4 Merge bitcoin/bitcoin#31593: ci: Bump centos stream 10
6dc60126701 Merge bitcoin/bitcoin#31657: ci: Supply `--platform` argument to `docker` commands.
a759ea3e920 doc: Improve dependencies documentation
4e52a634430 Merge bitcoin/bitcoin#31691: util: fix compiler warning about deprecated space before _MiB
2e839dd641d Merge bitcoin/bitcoin#30774: depends: Qt 5.15.16
d3339a7cd5f util: fix compiler warning about deprecated space before _MiB
f0e5e4cdbec test: Add test for rpcwhitelistdefault
6e29de21010 ci: Supply `platform` argument to docker commands.
faaabfaea76 ci: Bump centos stream 10
89720b7a1b3 Merge bitcoin/bitcoin#31543: cmake: Always provide `RPATH` on NetBSD
5b3a81f44da Merge bitcoin/bitcoin#31626: depends: Use base system's `sha256sum` utility on FreeBSD
832d5730730 Merge bitcoin/bitcoin#31651: ci: Turn CentOS task into native one
5ac1e0814ae Merge bitcoin/bitcoin#31621: doc: Update dependency installation for Debian/Ubuntu
370b9c1a0b9 Merge bitcoin/bitcoin#31675: [test] fix p2p_orphan_handling.py empty orphanage check
8996fef8aeb test: p2p: check that INV messages not matching wtxidrelay are ignored
2656a5658c1 tests: add a test for the new blocksdir lock
bdc0a68e676 init: lock blocksdir in addition to datadir
cabb2e5c242 refactor: introduce a more general LockDirectories for init
1db331ba764 init: allow a new xor key to be written if the blocksdir is newly created
2e75ebb6169 [test] fix p2p_orphan_handling.py empty orphanage check
f9032a4abb7 Merge bitcoin/bitcoin#31242: wallet, desc spkm: Return SigningProvider only if we have the privkey
9dc4eedb670 Merge bitcoin/bitcoin#31673: doc: fix minor typos in comments
b30cc71e853 doc: fix typos
57ba59c0cdf refactor: Remove redundant reindex check
160c27ec078 doc: Update dependency installation for Debian/Ubuntu and CI
df8bf657450 Merge bitcoin/bitcoin#31483: kernel: Move kernel-related cache constants to kernel cache
0f716f28896 qa: cover PROTOCOL_ERROR variant in PCP unit tests
fc700bb47fd test: Add tests for PCP and NATPMP implementations
335798c4963 Merge bitcoin/bitcoin#31397: p2p: track and use all potential peers for orphan resolution
98939ce7b74 Merge bitcoin/bitcoin#31655: refactor: Avoid UB in SHA3_256::Write
910a11fa663 build: remove LEVELDB_IS_BIG_ENDIAN
9ec64253ab6 Update leveldb subtree to latest upstream
d336b7ab85d Squashed 'src/leveldb/' changes from 688561cba8..04b5790928
65a0920ca6b cmake: Add `CheckLinkerSupportsPIE` module
712cab3a8f8 Merge bitcoin/bitcoin#31061: refactor: Check translatable format strings at compile-time
2a92702bafc init: Use size_t consistently for cache sizes
65cde3621db kernel: Move default cache constants to caches
8826cae2854 kernel: Move non-kernel db cache size constants
e758b26b85d kernel: Move kernel-specific cache size options to kernel
d5e2c4a4097 fuzz: Add fuzz test for checked and saturating add and left shift
c03a2795a8e util: Add integer left shift helpers
31a0e5f0905 depends: Qt 5.15.16
fa3efb57290 refactor: Introduce struct to hold a runtime format string
fa6adb01344 lint: Remove unused and broken format string linter
fadc6b9bac8 refactor: Check translatable format strings at compile-time
fa1d5acb8d8 refactor: Use TranslateFn type consistently
e0b33368222 test: p2p: fix sending of manual INVs in tx download test
e7c47949550 Merge bitcoin/bitcoin#31630: doc: Archive 28.1 release notes
7cd862aab94 Merge bitcoin/bitcoin#31646: test: avoid internet traffic
eeee6cf2ffb refactor: Delay translation of _() literals
fabeca3458b refactor: Avoid UB in SHA3_256::Write
fad4032b219 refactor: Drop unused UCharCast
2ed161c5ce6 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
a5746dc559c test: avoid generating non-loopback traffic from feature_config_args.py
6b3f6eae70b test: avoid generating non-loopback traffic from p2p_seednode.py
fabefd99158 ci: Turn CentOS task into native one
caf95210331 net: Use mockable steady clock in PCP implementation
03648321ecb util: Add mockable steady_clock
ab1d3ece026 net: Add optional length checking to CService::SetSockAddr
bb5f76ee013 doc: Archive 28.1 release notes
35bf426e022 Merge bitcoin/bitcoin#28724: wallet: Cleanup accidental encryption keys in watchonly wallets
4da7bfdcc90 test: add coverage for unknown address type for `createwalletdescriptor`
21684065978 Merge bitcoin/bitcoin#31608: doc: Clarify min macOS and Xcode version
2f6c7e7f6c0 Merge bitcoin/bitcoin#31612: ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
01df180bfb8 depends: add mold & ld.lld to gen_id
d032ac80633 depends: add *FLAGS to gen_id
528354e213a Merge bitcoin/bitcoin#31616: init,log: Unify block index log line
4bedfb5c833 Merge bitcoin/bitcoin#31623: tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
e5c268084eb Merge bitcoin/bitcoin#31627: depends: Fix spacing issue
d695d139171 Merge bitcoin/bitcoin#31611: doc: upgrade license to 2025.
bbac17608d1 net: Bring back log message when resetting socket
04b848e4827 net: Specify context in disconnecting log message
0c4954ac7d9 net_processing: Add missing use of DisconnectMsg
37af8bfb34d Merge bitcoin/bitcoin#31549: fuzz: Abort if system time is called without mock time being set
54115d8de5c Merge bitcoin/bitcoin#31617: build, test: Build `db_tests.cpp` regardless of `USE_BDB`
0a77441158c Merge bitcoin/bitcoin#31451: wallet: migration, avoid loading legacy wallet after failure when BDB isn't compiled
56725f88293 Merge bitcoin/bitcoin#31462: test: raise explicit error if any of the needed release binaries is missing
727c5427696 depends: Use base system's `sha256sum` utility
4818da809f0 wallet: fix rescanning inconsistency
f5883286e32 Add a fuzz test for Num3072 multiplication and inversion
a26ce628942 Safegcd based modular inverse for Num3072
91ce8cef2d8 Add benchmark for MuHash finalization
223081ece65 scripted-diff: rename block and undo functions for consistency
baaa3b28467 refactor,blocks: remove costly asserts and modernize affected logs
fa39f27a0f8 refactor,blocks: deduplicate block's serialized size calculations
8a46286da66 depends: Fix spacing issue
e04be3731f4 init,log: Unify block index and chainstate loading log line
dfb2f9d0048 refactor,blocks: inline `WriteBlockToDisk`
42bc4914658 refactor,blocks: inline `UndoWriteToDisk`
86b85bb11f8 bench: add SaveBlockBench
34f9a0157aa refactor,bench: rename bench/readblock.cpp to bench/readwriteblock.cpp
8bd5f8a38ce [refactor] init: Simplify coinsdb cache calculation
f93f0c93961 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs
66aa6a47bd8 Merge bitcoin/bitcoin#30391: BlockAssembler: return selected packages virtual size and fee
fa3c787b62a fuzz: Abort when global PRNG is used before SeedRand::ZEROS
92787dd52cd test: raise an error when target_vsize is below tx virtual size
a8780c937f7 test: raise an error if output value is <= 0 in `create_self_transfer`
f6e88931f07 test: test that `create_self_transfer_multi` respects `target_vsize`
fae3bf6b870 test: Avoid redundant stop and error spam on startup failure
fa0dc09b900 test: Remove --noshutdown flag
fad441fba07 test: Treat leftover process as error
7c123c08ddc  miner: add package feerate vector to CBlockTemplate
fd2d96d9087 build, test: Build `db_tests.cpp` regardless of `USE_BDB`
fb37acd932b ci: build msan's libc++ with _LIBCPP_ABI_BOUNDED_*
b2e9fdc00f5 test: expect that files may disappear from /proc/PID/fd/
1ea7e45a1f4 test: raise explicit error if any of the needed release binaries is missing
c0045e6cee0 Add test for multipath miniscript expression
b4ac48090f2 descriptor: Use InferXOnlyPubkey for miniscript XOnly pubkey from script
433412fd847 Merge bitcoin/bitcoin#31596: doc: Clarify comments about endianness after #30526
c506f2cee7b Merge bitcoin/bitcoin#31581: test: have miner_tests use  Mining interface
3e97ff9c5ea gui, psbt: Use SIGHASH_DEFAULT when signing PSBTs
4c50c21f6bf tests: Check ExpandPrivate matches for both parsed descriptors
092569e8580 descriptor: Try the other parity in ConstPubkeyProvider::GetPrivKey()
a96b84cb1b7 fuzz: Abort when calling system time without setting mock time
ff21870e20b fuzz: Add SetMockTime() to necessary targets
1b51616f2e3 test: improve rogue calls in mining functions
41a2ce9b7d7 Merge bitcoin/bitcoin#31464: util: Add missing types in make_secure_unique
86d7135e36e [p2p] only attempt 1p1c when both txns provided by the same peer
f7658d9b147 [cleanup] remove p2p_inv from AddTxAnnouncement
063c1324c14 [functional test] getorphantxs reflects multiple announcers
0da693f7e12 [functional test] orphan handling with multiple announcers
b6ea4a9afe2 [p2p] try multiple peers for orphan resolution
1d2e1d709ce [refactor] move creation of unique_parents to helper function
c6893b0f0b7 [txdownload] remove unique_parents that we already have
163aaf285af [fuzz] orphanage multiple announcer functions
22b023b09da [unit test] multiple orphan announcers
96c1a822a27 [unit test] TxOrphanage EraseForBlock
04448ce32a3 [txorphanage] add GetTx so that orphan vin can be read
e810842acda [txorphanage] support multiple announcers
62a9ff18707 [refactor] change type of unique_parents to Txid
6951ddcefd9 [txrequest] GetCandidatePeers
6475849c402 Merge bitcoin/bitcoin#31435: lint: Move assertion linter into lint runner
b537a2c02a9 doc: upgrade license to 2025.
49fc2258cf3 Merge bitcoin/bitcoin#31526: doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
ac918c7cc0e Merge bitcoin/bitcoin#31552: depends: Update capnproto to 1.1.0
fa029a78780 doc: Clarify min macOS and Xcode version
a0f0c48ae20 Merge bitcoin/bitcoin#31584: txmempool: fix typos in comments
558783625ca Merge bitcoin/bitcoin#31586: doc: Update NetBSD Build Guide
3e936789b16 Merge bitcoin/bitcoin#31592: ci: Run functional tests in msan task
5af642bf48b Merge bitcoin/bitcoin#31604: test: fix typo in mempool_ephemeral_dust
8888ee4403f ci: Allow build dir on CI host
9d2d9f7ce29 rpc: Include assumeutxo as a failure reason of rescanblockchain
595edee1690 test, assumeutxo: import descriptors during background sync
d73ae603d44 rpc: Improve importdescriptor RPC error messages
27f99b6d63b validation: Don't assume m_chain_tx_count in GuessVerificationProgress
42d5d533631 interfaces: Add helper function for wallet on pruning
29bca9713d2 test: fix typo in mempool_ephemeral_dust
f919d919eb8 fuzz: Add fuzzing for max_ret_len in DecodeBase58/DecodeBase58Check
635bc58f46b test: Fuzz Base32/Base58/Base64 roundtrip conversions
5dd3a0d8a89 test: Extend base58_encode_decode.json with edge cases
ae40cf1a8e1 test: Add padding tests for Base32/Base64
4036ee3f2bf Merge bitcoin/bitcoin#31542: test: Embed univalue json tests in binary
f6a6d912059 test: add check for getting SigningProvider for a CPubKey
62a95f5af9b test: refactor: move `CreateDescriptor` helper to wallet test util module
5db7d4d3d28 doc: Correct docstring describing max block tree db cache
6aa0e70ccbd Merge bitcoin/bitcoin#31524: refactor: Allow std::byte in Read(LE/BE)
3e0a992a3f0 doc: Clarify comments about endianness after #30526
604bf2ea37f Merge bitcoin/bitcoin#28121: include verbose "reject-details" field in testmempoolaccept response
04249682e38 test: use Mining interface in miner_tests
fa0411ee305 ci: Run functional tests in msan task
2bdaf52ed12 doc: Update NetBSD Build Guide
34e8ee23b83 txmempool: fix typos in comments
228aba2c4d9 Merge bitcoin/bitcoin#31555: descriptor: remove unreachable verification for `pkh`
9b9752217f2 Merge bitcoin/bitcoin#31570: test: descriptor: fix test for `MaxSatisfactionWeight`
87c9ebd8892 Merge bitcoin/bitcoin#31563: rpc: Extend scope of validation mutex in generateblock
df5c643f92d Merge bitcoin/bitcoin#31556: validation: Send correct notification during snapshot completion
fa3de038f74 Merge bitcoin/bitcoin#31537: qa: Limit `-maxconnections` in tests
ba0cb7d5a54 Merge bitcoin/bitcoin#31468: test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
69e35f5c60a Merge bitcoin/bitcoin#31403: test: Call generate RPCs through test framework only
17db84dbb8d Merge bitcoin/bitcoin#31251: test: report detailed msg during utf8 response decoding error
e6f14241f6d Merge bitcoin/bitcoin#31540: refactor: std::span compat fixes
a137b0bd6b2 Merge bitcoin/bitcoin#31215: rpc: increase the defaults for -rpcthreads and -rpcworkqueue
67bfe28995e Merge bitcoin/bitcoin#31531: rpc: Add signet_challenge field to getblockchaininfo and getmininginfo
ad174c28175 Merge bitcoin/bitcoin#31497: Remove unused variable assignment
d871d778251 test: Remove non-portable IPv6 test
4080b66cbec test: add test for utxo-to-sqlite conversion script
ec99ed73808 contrib: add tool to convert compact-serialized UTXO set to SQLite database
b29d68f942e test: descriptor: fix test for `MaxSatisfactionWeight`
9355578a779 Merge bitcoin/bitcoin#31534: coins: warn on shutdown for big UTXO set flushes
f95fb793726 Merge bitcoin/bitcoin#28521: net, net_processing: additional and consistent disconnect logging
bc43ecaf6dc test: add functional test for balance after snapshot completion
226d03dd610 validation: Send correct notification during snapshot completion
fa63b8232f3 test: generateblocks called by multiple threads
fa62c8b1f04 rpc: Extend scope of validation mutex in generateblock
366ae00b779 descriptor: Assume `ParseScript` is not being called with a P2WPKH context
b448b014947 test: add a mocked Sock that allows inspecting what has been Send() to it
f1864148c4a test: put the generic parts from StaticContentsSock into a separate class
e3664085908 descriptor: remove unreachable verification for `pkh`
5709718b830 coins: warn on shutdown for big UTXO set flushes
b0b8d96d93e depends: Update capnproto to 1.1.0
e87429a2d0f ci: optionally use local docker build cache
fc7b2148470 Merge bitcoin/bitcoin#31529: guix: latest 2.31 glibc
273440d5c9d Merge bitcoin/bitcoin#31535: doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
4cdf50c4ba8 Merge bitcoin/bitcoin#31544: cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
faf7eac364f test: clang-format -i src/univalue/test/unitester.cpp
fafa9cc7a59 test: Embed univalue json tests in binary
fa044857caf test: Re-enable univalue test fail18.json
63b6b638aa5 build: Use character literals for generated headers to avoid narrowing
ecaa786cc10 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
e196190a284 cmake: Remove unused `BUILD_TESTING` variable from "dev-mode" preset
11115e9aa84 cmake: Always provide `RPATH` on NetBSD
d38ade7bc40 qa: Use `sys.executable` when invoking other Python scripts
bb57017b294 Merge bitcoin/bitcoin#31521: fuzz: Fix misplaced SeedRand::ZEROS
5bbbc0d0eeb Merge bitcoin/bitcoin#31325: Make m_tip_block std::optional
d9d5bc2e746 qa: Limit `-maxconnections` in tests
fa494a1d53f refactor: Specify const in std::span constructor, where needed
faaf4800aa7 Allow std::span in stream serialization
faa5391f770 refactor: test: Return std::span from StringBytes
fa862234753 refactor: Avoid passing span iterators when data pointers are expected
faae6fa5f61 refactor: Simplify SpanPopBack
facc4f120b0 refactor: Replace fwd-decl with proper include
fac3a782eaf refactor: Avoid needless, unsafe c-style cast
c1252b14d71 Merge bitcoin/bitcoin#31520: #31318 followups
be1a2e5dfbd doc: Install `py3-zmq` port on OpenBSD for `interface_zmq.py`
fa0c473d4c8 Merge bitcoin/bitcoin#31196: Prune mining interface
ea53568a068 Merge bitcoin/bitcoin#31393: refactor: Move GuessVerificationProgress into ChainstateManager
b8710201fbd guix: disable timezone tools & profiling in glibc
23b8a424fb0 guix: bump glibc 2.31 to 7b27c450c34563a28e634cccb399cd415e71ebfe
0a76c292ac8 doc: Install `net/py-pyzmq` port on FreeBSD for `interface_zmq.py`
fadd568931a fuzz: Fix misplaced SeedRand::ZEROS
fa83bec78ef refactor: Allow std::byte in Read(LE/BE)
4f06ae05ed6 refactor: fix typo in node/types.h
366fbf152c6 test: drop extraneous bracket in mining util
c991cea1a0c Remove processNewBlock() from mining interface
9a47852d88c Remove getTransactionsUpdated() from mining interface
bfc4e029d41 Remove testBlockValidity() from mining interface
477b3574607 Merge bitcoin/bitcoin#31493: refactor: Use immediate lambda to work around GCC bug 117966
a60d5702fd5 Merge bitcoin/bitcoin#31486: fuzz: Abort when using global PRNG without re-seed
a95a8ba3a3f Merge bitcoin/bitcoin#31197: refactor: mining interface 30955 followups
cd3d9fa5ea8 Merge bitcoin/bitcoin#31318: Drop script_pub_key arg from createNewBlock
c9136ca9060 validation: fix issue with an interrupted -reindex
a2675897e2a validation: Don't loop over all chainstates in LoadExternalBlock
785486a9755 Merge bitcoin/bitcoin#31489: fuzz: Fix test_runner error reporting
1251a236420 Merge bitcoin/bitcoin#31458: build: use `-mbig-obj` for Windows debug builds
d2136d32bb4 Merge bitcoin/bitcoin#31502: depends: Fix `CXXFLAGS` on NetBSD
58436d4af38 Merge bitcoin/bitcoin#31503: cmake: Link `bitcoin_consensus` as a library
38dcf0f9827 Merge bitcoin/bitcoin#31498: depends: Ignore prefix directory on OpenBSD
fae63bf1303 fuzz: Clarify that only SeedRandomStateForTest(SeedRand::ZEROS) is allowed
81cea5d4ee0 Ensure m_tip_block is never ZERO
e058544d0e8 Make m_tip_block an std::optional
f86678156a3 Check leaves size maximum in MerkleComputation
4d572882463 refactor: use CTransactionRef in submitSolution
2e81791d907 Drop TransactionMerklePath default position arg
39d3b538e6a Rename merkle branch to path
fa18acb457e fuzz: Abort when using global PRNG without re-seed
fa9e0489f57 refactor: Use immediate lambda to work around GCC bug 117966
46e207d3296 cmake: Link `bitcoin_consensus` as a library
a10bb400e8c depends: Fix CXXFLAGS on NetBSD
3353d4a5e9f depends: Ignore prefix directory on OpenBSD
b9766c9977e Remove unused variable assignment
b042c4f0538 Merge bitcoin/bitcoin#31223: net, init: derive default onion port if a user specified a -port
e8f0e6efaf5 lint: output-only - Avoid repeated arrows, trim
facb4d010ca refactor: Move GuessVerificationProgress into ChainstateManager
2b9ff4a66d3 build: use `-mbig-obj` for mingw-w64 Debug builds
fa0e30b93aa fuzz: Fix test_runner error reporting
d73f37dda22 Merge bitcoin/bitcoin#31346: Set notifications m_tip_block in LoadChainTip()
fa7809aeab8 fuzz: Add missing SeedRandomStateForTest(SeedRand::ZEROS)
78f1bff7099 Merge bitcoin/bitcoin#31477: ci: Bump centos gcc to 12
84890e0291f Merge bitcoin/bitcoin#31484: depends: update capnproto to 1.0.2
d5ab5a47f0e Merge bitcoin/bitcoin#31452: wallet: Migrate non-HD keys to combo() descriptor
fa0998f0a02 test: Avoid intermittent error in assert_equal(pruneheight_new, 248)
fa9aacf614f lint: Move assertion linter into lint runner
beac62e541c Merge bitcoin/bitcoin#31480: refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
5cd9e95eea1 depends: update capnproto to 1.0.2
df27ee9f024 refactor: Fix "modernize-use-starts-ends-with" clang-tidy warning
435ad572a1a Merge bitcoin/bitcoin#31479: lint: Disable signature output in git log
ea9e64ff3cb Merge bitcoin/bitcoin#31461: depends: add `-g` to *BSD_debug flags
29ddee1796a Merge bitcoin/bitcoin#31478: docs: remove repetitive words
e2d3372e558 lint: Disable signature output in git log
fa47baa03bc ci: Bump centos gcc
015aad8d6a6 docs: remove repetitive words
589ed1a8eaf wallet: migration, avoid loading wallet after failure when it wasn't loaded before
62bd61de110 Merge bitcoin/bitcoin#31450: guix: disable gcov in base-linux-gcc
676936845b1 Merge bitcoin/bitcoin#30933: test: Prove+document ConstevalFormatString/tinyformat parity
8ad2c902742 Merge bitcoin/bitcoin#31343: test: avoid internet traffic in rpc_net.py
a582ee681c7 Merge bitcoin/bitcoin#29982: test: Fix intermittent issue in wallet_backwards_compatibility.py
fa397177acf util: Add missing types in make_secure_unique
b6f0593f433 doc: add release note about testmempoolaccept debug-message
f9cac635237 test: cover testmempoolaccept debug-message in RBF test
b7ec69c25cf depends: add -g to *BSD_debug flags
37e49c2c7ca Merge bitcoin/bitcoin#31448: fuzz: add cstdlib to FuzzedDataProvider
62b2d23edba wallet: Migrate non-HD keys to combo() descriptor
9039d8f1a1d Merge bitcoin/bitcoin#31374: wallet: fix crash during watch-only wallet migration
bb7e686341e fuzz: add cstdlib to FuzzedDataProvider
f6496a83882 guix: disable gcov in base-linux-gcc
846a1387280 func test: Expand tx download preference tests
35000e34cf3 Merge bitcoin/bitcoin#31433: test: #31212 follow up (spelling, refactor)
18d0cfb194c Merge bitcoin/bitcoin#31306: ci: Update Clang in "tidy" job
c93bf0e6e2c test: Add missing %c character test
76cca4aa6fc test: Document non-parity between tinyformat and ConstevalFormatstring
533013cba20 test: Prove+document ConstevalFormatString/tinyformat parity
b81a4659950 refactor test: Profit from using namespace + using detail function
cdd207c0e48 test: add coverage for migrating standalone imported keys
297a876c980 test: add coverage for migrating watch-only script
932cd1e92b6 wallet: fix crash during watch-only wallet migration
18619b47325 wallet: remove BDB dependency from wallet migration benchmark
41d934c72df chore: Typo Overriden -> Overridden
c9fb38a590e refactor test: Cleaner combine_logs.py logic
22723c809a8 Merge bitcoin/bitcoin#31072: refactor: Clean up messy strformat and bilingual_str usages
b1f0f3c288a Merge bitcoin/bitcoin#31406: test: fix `test_invalid_tx_in_compactblock` in `p2p_compactblocks`
1a35447595d Merge bitcoin/bitcoin#31417: test: Avoid F541 (f-string without any placeholders)
eb2ebe6f30a Merge bitcoin/bitcoin#31231: cmake: Fix `IF_CHECK_PASSED` option handling
5b283fa1477 Merge bitcoin/bitcoin#31431: util: use explicit cast in MultiIntBitSet::Fill()
37946c0aafe Set notifications m_tip_block in LoadChainTip()
fa6e599cf9f test: Call generate through test framework only
2eccb8bc5e2 Merge bitcoin/bitcoin#31248: test: Rework wallet_migration.py to use previous releases
7239ddb7cec test: make sure node has all transactions
6d973f86f75 Merge bitcoin/bitcoin#31408: test: Avoid logging error when logging error
6a1e613e853 Merge bitcoin/bitcoin#31427: lint: bump MLC to v0.19.0
edb41e4814c util: use explicit cast in MultiIntBitSet::Fill()
31e59d94c67 iwyu: Drop backported mapping
fe9bc5abef3 ci: Update Clang in "tidy" job
083770adbe7 Merge bitcoin/bitcoin#31414: test: orphan parent is re-requested from 2nd peer
f6afca46a1d lint: use clearer wording on error message
811a65d3c6b lint: bump MLC to v0.19.0
fae76393bdb test: Avoid F541 (f-string without any placeholders)
e8cc790fe2a Merge bitcoin/bitcoin#30445: test: addrman: tried 3 times and never a success so `isTerrible=true`
f9650e18ea6 rbf: remove unecessary newline at end of error string
221c789e916 rpc: include verbose reject-details field in testmempoolaccept response
0184d33b3d2 scripted-diff: Replace strprintf(Untranslated) with Untranslated(strprintf)
17372d788e6 Merge bitcoin/bitcoin#30906: refactor: prohibit direct flags access in CCoinsCacheEntry and remove invalid tests
006e4d1d598 refactor: Use + instead of strformat to concatenate translated & untranslated strings
831d2bfcf94 refactor: Don't embed translated string in untranslated string.
058021969b5 refactor: Avoid concatenation of format strings
11f68cc8108 Merge bitcoin/bitcoin#31212: util: Improve documentation and negation of args
893ccea7e47 Merge bitcoin/bitcoin#31419: test: fix MIN macro redefinition
39950e148d8 Merge bitcoin/bitcoin#31295: refactor: Prepare compile-time check of bilingual format strings
fad83e759a4 doc: Fix incorrect send RPC docs
00c1dbd26dd test: fix MIN macro-redefinition
ae69fc37e4f Merge bitcoin/bitcoin#31391: util: Drop boost posix_time in ParseISO8601DateTime
52fd1511a77 test: drop scriptPubKeyIn arg from CreateNewBlock
ff41b9e296a Drop script_pub_key arg from createNewBlock
7ab733ede44 rpc: rename coinbase_script to coinbase_output_script
c4c5cf17488 cmake: Fix passing `APPEND_*FLAGS` to `secp256k1` subtree
eb540a26295 cmake: Remove `core_sanitizer_{cxx,linker}_flags` helper variables
0f84cdd2661 func: test orphan parent is re-requested from 2nd peer
fa8e0956c23 rpc: Remove deprecated dummy alias for listtransactions::label
95a0104f2e9 test: Add tests for directories in place of config files
e85abe92c7c args: Catch directories in place of config files
e4b6b1822ce test: Add tests for -noconf
483f0dacc41 args: Properly support -noconf
312ec64cc06 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
7402658bc2b test: -norpccookiefile
39cbd4f37c3 args: Support -norpccookiefile for bitcoind and bitcoin-cli
e82ad88452b logs: Use correct path and more appropriate macros in cookie-related code
6e28c76907c test: Harden testing of cookie file existence
75bacabb55f test: combine_logs.py - Output debug.log paths on error
cccca8a77f3 test: Avoid logging error when logging error
ee1b9bef000 test: replace `is not` to `!=` when comparing block hash
faf70cc9941 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
50cce20013c test, refactor: Compact ccoins_access and ccoins_spend
0a159f09147 test, refactor: Remove remaining unbounded flags from coins_tests
c0b4b2c1eef test: Validate error messages on fail
d5f8d607ab1 test: Group values and states in tests into CoinEntry wrappers
ca74aa7490a test, refactor: Migrate GetCoinsMapEntry to return MaybeCoin
15aaa81c381 coins, refactor: Remove direct GetFlags access
6b733699cfc coins, refactor: Assume state after SetClean in AddFlags to prevent dangling pointers
fc8c282022e coins, refactor: Make AddFlags, SetDirty, SetFresh static
cd0498eabc9 coins, refactor: Split up AddFlags to remove invalid states
2222aecd5f8 util: Implement ParseISO8601DateTime based on C++20
733fa0b0a14 miner: never create a template which exploits the timewarp bug
06443b8f28b net: clarify if we ever sent or received from peer
1d01ad4d73e net: add LogIP() helper, use in net_processing
937ef9eb408 net_processing: use CNode::DisconnectMsg helper
ad224429f82 net: additional disconnection logging
9e4a4b48322 cmake: Check `-Wno-*` compiler options for `leveldb` target
988721d37a3 test: avoid internet traffic in rpc_net.py
d9c8aacce38 depends, refactor: Avoid hardcoding `host_prefix` in toolchain file
bffd92f00f5 args: Support -nopid
12f8d848fd9 args: Disallow -nodatadir
6ff96627600 scripted-diff: Avoid printing version information for -noversion
1807df3d9fb test: addrman: tried 3 times and never a success so `isTerrible=true`
55347a5018b test: Rework migratewallet to use previous release (v28.0)
e8a2054edc8 doc args: Document narrow scope of -color
4b58d55878d test: move the implementation of StaticContentsSock to .cpp
1dd3af8fbc3 Add release note for #31223
997757dd2b4 test: add functional test for -port behavior
fa3e0743047 refactor: Tidy fixups
fa72646f2b1 move-only: Detail_CheckNumFormatSpecifiers and G_TRANSLATION_FUN
faff8403f0a refactor: Pick translated string after format
0e2b12b92a2 net, init: derive default onion port if a user specified a -port
f42ec0f3bfb wallet: Check specified wallet exists before migration
a2c45ae5480 test: report failure during utf8 response decoding
493656763f7 desc spkm: Return SigningProvider only if we have the privkey
97a18c85458 cmake: Fix `IF_CHECK_PASSED` option handling
70398ae05bc mapport: make ProcessPCP void
e56fc7ce6a9 rpc: increase the defaults for -rpcthreads and -rpcworkqueue
9e6cba29882 mapport: remove unnecessary 'g_mapport_enabled'
8fb45fcda07 mapport: remove unnecessary 'g_mapport_current' variable
1b223cb19b4 mapport: merge DispatchMapPort into StartMapPort
9bd936fa34a mapport: drop unnecessary function
2a6536ceda7 mapport: rename 'use_pcp' to 'enable'
c4e82b854cd mapport: make 'enabled' and 'current' bool
d45eb3964f6 test: compare BDB dumps of test framework parser and wallet tool
01ddd9f646a test: complete BDB parser (handle internal/overflow pages, support all page sizes)
9b7023d31a3 Fuzz HRP of bech32 as well
c1a5d5c100b Split out bech32 separator char to header
b28917be363 depends: Make default `host` and `build` comparable
69e95c2b4f9 tests: Test cleanup of mkeys from wallets without privkeys
2b9279b50a3 wallet: Remove unused encryption keys from watchonly wallets
813a16a4633 wallet: Add HasCryptedKeys
cddcbaf81e8 RPC: improve SFFO arg parsing, error catching and coverage
4f4cd353194 rpc: decouple sendtoaddress 'subtractfeefromamount' boolean parsing
ec777917d6e test: Fix intermittent issue in wallet_backwards_compatibility.py
REVERT: f157b0cbc7d kernel: Add pure kernel bitcoin-chainstate
REVERT: 692d1c23c27 kernel: Add functions to get the block hash from a block
REVERT: aad02fb561a kernel: Add block index utility functions to C header
REVERT: 13f4911b064 kernel: Add function to read block undo data from disk to C header
REVERT: 29fdbf26034 kernel: Add functions to read block from disk to C header
REVERT: 2ca304c1def kernel: Add function for copying  block data to C header
REVERT: 705c7f125fd kernel: Add functions for the block validation state to C header
REVERT: 92363c9469c kernel: Add validation interface to C header
REVERT: 7c539908113 kernel: Add interrupt function to C header
REVERT: 522d0886d8f kernel: Add import blocks function to C header
REVERT: 1ae86e2ffe1 kernel: Add chainstate load options for in-memory dbs in C header
REVERT: 09620eeeae6 kernel: Add options for reindexing in C header
REVERT: b4fbf193172 kernel: Add block validation to C header
REVERT: ce6ddde95ee Kernel: Add chainstate loading to kernel C header
REVERT: f5d21c94dc5 kernel: Add chainstate manager option for setting worker threads
REVERT: 783f56f0a29 kernel: Add chainstate manager object to C header
REVERT: 262039e4094 kernel: Add notifications context option to C header
REVERT: dc0d406dd5e kerenl: Add chain params context option to C header
REVERT: b5f84de7ad2 kernel: Add kernel library context object
REVERT: dad0009c86c kernel: Add logging to kernel library C header
REVERT: 27e25aa941c kernel: Introduce initial kernel C header API

git-subtree-dir: depend/bitcoin
git-subtree-split: 5991a69ee0000de551955846d7d21733c326a748
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

test: functional tests fail to start if -maxconnections is reduced
7 participants