Commit Graph

6912 Commits

Author SHA1 Message Date
Luke Dashjr
efeece9f03 Merge lint_relaxer-28+knots 2025-03-05 03:27:08 +00:00
Luke Dashjr
7d6366b565 Merge 15155 via test_external_bcli 2025-03-05 03:27:08 +00:00
Luke Dashjr
fca574bb38 QA: verifymessage tests from Sparrow 2025-03-01 16:26:01 +00:00
Luke Dashjr
2b5b9fbb04 Merge branch 'rpc_sign_show_fees' into bip322-28+knots 2025-03-01 16:25:51 +00:00
Luke Dashjr
e5282b269c verifymessage: Allow legacy signed messages to validate for Segwit (Electrum compatibility) 2025-03-01 16:25:05 +00:00
Luke Dashjr
9e84f672b1 verifymessage: Implement BIP 137 for Segwit support 2025-03-01 16:25:05 +00:00
Luke Dashjr
2bad89f8c0 QA: p2p_opportunistic_1p1c: Adapt disconnection test for relaxed behaviour 2025-03-01 15:49:38 +00:00
Luke Dashjr
6a179c5e14 Revert "QA/Mininode: Support node-to-test connections"
This reverts commit 69d89174144d306ee6bc58b9a71737ce7e4df9f4.
2025-03-01 15:49:38 +00:00
Luke Dashjr
48d4a47feb QA/p2p_mutated_blocks: Adapt disconnection test for relaxed behaviour 2025-03-01 15:49:38 +00:00
Luke Dashjr
7137ef57b5 QA: Use addconnection rather than addnode onetry 2025-03-01 15:49:38 +00:00
Luke Dashjr
7ab4fecd0f QA: p2p_dos_header_tree: Use node-to-test / outgoing connection to check disconnect due to checkpoint violation
Also disable minimumchainwork test to avoid being disconnected for that

For relax_invblk_punishment
2025-03-01 15:49:38 +00:00
Luke Dashjr
f0c9500818 QA: p2p_invalid_tx: Use node-to-test / outgoing connection to check invalid transaction disconnection
For relax_invblk_punishment
2025-03-01 15:49:38 +00:00
Luke Dashjr
7efd1d29a6 QA/feature_block: Adapt disconnection tests for relaxed behaviour 2025-03-01 15:49:38 +00:00
Vasil Dimov
13e161aa1a rpc: add cpu_load to getpeerinfo
Add a new field `cpu_load` to the output of `getpeerinfo` RPC.

It represents the CPU time spent by the message handling thread for the
given peer, weighted for the duration of the connection. That is, for
example, if two peers are equally demanding and one is connected longer
than the other, then they will have the same `cpu_load` number.

Github-Pull: #31672
Rebased-From: 0f68c47e931de05200adeae639bcee50ea3c171d
2025-02-28 04:34:41 +00:00
Luke Dashjr
a2225405a5 net: Remove forcedinbound limit antifeature 2025-02-28 04:24:55 +00:00
Matthew Zipkin
b0d90d2885 net: add forced_inbound to getpeerinfo
Github-Pull: #27600
Rebased-From: 8c2026848da910fdebff0a9f73e29f1f6ae81e43
2025-02-28 04:24:27 +00:00
Matthew Zipkin
2b3e19e9e8 net: only allow 8 simultaneous forced inbound connections
Github-Pull: #27600
Rebased-From: 75868022a904c1f77871abf962bf9b88a9c5faf6
2025-02-28 04:24:26 +00:00
Luke Dashjr
90676086b1 fixup! test: cover ForceInbound permission success even when connections are full 2025-02-28 04:23:10 +00:00
Luke Dashjr
5faa5027fa QA: Allow test_runner to pass without full RPC coverage 2025-02-25 19:38:14 +00:00
Luke Dashjr
b24c622edf lint: Allow including bitcoin-config.h without IWYU pragma 2025-02-25 19:38:14 +00:00
Luke Dashjr
eed7bb6496 lint-python: Allow for some style differences 2025-02-25 19:38:14 +00:00
Luke Dashjr
3315b13ab4 dustdynamic: Support specifying a multiplier (default to 3)
Historically, dustrelayfee was based on 3x the cost to spend an output, so use that for the default multiplier
2025-02-24 21:21:31 +00:00
Luke Dashjr
50bf1c18df QA: feature_fee_estimation: Add tests for dustrelayfeedynamic 2025-02-24 21:20:32 +00:00
Luke Dashjr
2fe5723811 RPC/Mining: getblocktemplate: Support overriding blockreserved{sigops,size,weight} per request 2025-02-24 21:12:50 +00:00
Luke Dashjr
cb63e415c1 QA: mining_basic: Test GBT extensions to specify blockmax{size,weight} and maxfeerate 2025-02-24 21:12:50 +00:00
furszy
f56b53cc49 test: add coverage for migrating standalone imported keys
Github-Pull: #31374
Rebased-From: cdd207c0e4
2025-02-24 20:00:08 +00:00
furszy
02e5d9485c test: add coverage for migrating watch-only script
Github-Pull: #31374
Rebased-From: 297a876c98
2025-02-24 20:00:06 +00:00
furszy
3eead328db wallet: migration, avoid loading wallet after failure when it wasn't loaded before
During migration failure, only load wallet back into memory when the
wallet was loaded prior to migration. This fixes the case where BDB
is not supported, which implies that no legacy wallet can be loaded
into memory due to the lack of db writing functionality.

This commit also improves migration backup related comments to better
document the current workflow.

Co-authored-by: Ava Chow <github@achow101.com>

Github-Pull: #31451
Rebased-From: 589ed1a8ea
2025-02-24 19:57:55 +00:00
Luke Dashjr
8596fff6ac Bugfix: QA: When testing setfeerate, check approximate fee range with a span able to tolerate normal signature length variation 2025-02-24 19:57:15 +00:00
Jon Atack
7da90bbfc5 test: add more functional tests for setfeerate
Was: test: update functional tests from settxfee to setfeerate

Github-Pull: #20391
Rebased-From: d87f0f3a923dca2ce8d99aa700b0beda8e42d3ec (partial)
2025-02-24 19:57:15 +00:00
Jon Atack
f3bd5963ac test: add setfeerate functional coverage in wallet_bumpfee.py
Github-Pull: #20391
Rebased-From: c907f158a6bf3cad782d4441e02abcbda210265b
2025-02-24 19:57:15 +00:00
Jon Atack
85397fae76 test: add setfeerate functional coverage in wallet_create_tx.py
Github-Pull: #20391
Rebased-From: 529bfc16ffb35c5356e27f61d59395fae6707bcd
2025-02-24 19:57:15 +00:00
Luke Dashjr
67c63ffbc8 wallettool: Warn about dump commands not fully dumping/restoring BDB wallets
Fails to dump/restore wallet ID
2025-02-24 19:56:40 +00:00
Luke Dashjr
8f9e2365e6 wallettool: Print warnings to stderr instead of stdout 2025-02-24 19:56:40 +00:00
Luke Dashjr
98e92c52af QA: feature_fee_estimation: Verify REST API in check_fee_estimates_btw_modes 2025-02-24 19:54:04 +00:00
Luke Dashjr
28b74e1549 QA: Exercise REST interface in feature_fee_estimation 2025-02-24 19:54:04 +00:00
Luke Dashjr
bada19a8e8 rest: add endpoint for estimatesmartfee
* write REST interface for getting estimated fee
* update docs about REST interface for fee estimation
* add test
2025-02-24 19:53:44 +00:00
Luke Dashjr
3abda6a001 Bugfix: QA: test_node: Ensure debug.log exists at start of assert_debug_log 2025-02-24 19:48:11 +00:00
Luke Dashjr
b651607a0c Revert "Disable bloom filtering by default."
This reverts commit 5efcb77283.
2025-02-21 23:52:07 +00:00
Luke Dashjr
d4a481925b util/system: Add GetFixedPointArg helper 2025-02-21 23:48:26 +00:00
Luke Dashjr
b27d9871c3 Merge branch 'mining_priority' into datacarriercost-28+knots 2025-02-21 23:48:20 +00:00
Luke Dashjr
7cbe5cde36 Add -datacarrierfullcount option to control applying -datacarriersize to all datacarrying 2025-02-21 23:47:45 +00:00
Luke Dashjr
343513a79d Apply -datacarriersize to all datacarrying
Github-Pull: #28408
Rebased-From: ea1c41b514a5c5fb5e29e5a805933043b7538332
2025-02-21 23:47:45 +00:00
Luke Dashjr
0b272c39d8 QA: feature_rbf: Check opt-in RBF with TRUC signal 2025-02-21 23:44:25 +00:00
Luke Dashjr
67a21df6f6 QA: feature_rbf: Test full-RBF service bit 2025-02-21 23:43:47 +00:00
Luke Dashjr
e5ea05e214 RPC/Mempool: Add "rbf_policy" to getmempoolinfo result 2025-02-21 23:43:46 +00:00
Luke Dashjr
9029cbbeca Advertise temporary REPLACE_BY_FEE service bit (when appropriate) 2025-02-21 23:43:46 +00:00
Luke Dashjr
181ab17747 Recognise temporary REPLACE_BY_FEE service bit 2025-02-21 23:43:46 +00:00
Luke Dashjr
20d5f9b1eb QA: feature_rbf: Test full RBF mode 2025-02-21 23:43:46 +00:00
Luke Dashjr
8247f0741d Restore -mempoolreplacement option to allow disabling opt-in RBF
This partially reverts commit 8053e5cdad.
2025-02-21 23:43:46 +00:00
Luke Dashjr
f06d7bc13d Merge branch 'sendraw_force-28+knots' into rbf_opts-28+knots 2025-02-21 23:43:27 +00:00
Luke Dashjr
e13f3fd693 QA: mining_coin_age_priority: Test both GBT and RPC in one pass 2025-02-21 23:41:44 +00:00
Luke Dashjr
069415f466 Test: Add test for coin-age priority mining 2025-02-21 23:41:44 +00:00
Luke Dashjr
1dddd69610 Tests: Update for coin-age priority 2025-02-21 23:41:44 +00:00
Luke Dashjr
7a0133b3f6 RPC/Mining: Include priority delta in getprioritisedtransactions result 2025-02-21 23:41:44 +00:00
Luke Dashjr
415a41f2d3 Merge branch 'restore_blockmaxsize' into mining_priority 2025-02-21 23:41:34 +00:00
Luke Dashjr
1af6e0e2ac Merge branch 'uaappend' into mining_priority 2025-02-21 23:41:31 +00:00
Luke Dashjr
098d51bc5e Merge branch 'fee_histogram+pr15836_api' into mining_priority 2025-02-21 23:41:27 +00:00
Luke Dashjr
14b872b852 Bugfix: QA: mempool_fee_histogram: Compare to actual vsize/fee rather than hard-coding a particular constant 2025-02-21 23:31:39 +00:00
Luke Dashjr
0aa11b9842 QA: interface_rest: Check /mempool/info/with_fee_histogram matches RPC 2025-02-21 23:31:39 +00:00
Luke Dashjr
9ebe86025c Bugfix: RPC/blockchain: Actually round feerates down for getmempoolinfo fee histograms 2025-02-21 23:31:39 +00:00
Luke Dashjr
d10e35ab13 Bugfix: QA: Ensure mempool_fee_histogram expected feerates rounded down
As of #22949, fees are rounded up based on feerate, but going the opposite direction from fee to feerate still must round down.
2025-02-21 23:31:39 +00:00
Luke Dashjr
68f7f13ad0 RPC/blockchain: getmempoolinfo: Return fee_histogram in older format (only) 2025-02-21 23:31:39 +00:00
Kiminuo
521f921d83 RPC/mempool: Add "to" (end of range) field to fee histogram
Co-authored-by: Jonas Schnelli <dev@jonasschnelli.ch>
Co-authored-by: Jon Atack <jon@atack.com>

Github-Pull: #21422
Rebased-From: 0b87ba9bc3a2ada2839af0e1af868fcd5ddb9155
2025-02-21 23:31:39 +00:00
Luke Dashjr
b9b320c02a RPC/blockchain: getmempoolinfo: Enable specifying with_fee_histogram as a boolean to use a sensible default set of fee rate levels 2025-02-21 23:31:39 +00:00
Luke Dashjr
eb93c8bf4b Bugfix: QA: Ensure mempool_fee_histogram can adapt to feerate rounding correctly
Caution: This implementation is for a post-#22949 codebase
2025-02-21 23:31:39 +00:00
Jonas Schnelli
ecd567ae63 RPC/blockchain: Consider ancestor, descendant, and combined fee rates for histogram in getmempoolinfo
Test changes from: 0b6ba66238

Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
Co-authored-by: Jon Atack <jon@atack.com>
2025-02-21 23:31:39 +00:00
Kiminuo
1d566c067c test: Add mempool fee histogram test coverage
Original commit: 0b6ba66238

Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
Co-authored-by: Jon Atack <jon@atack.com>

Github-Pull: #21422
Rebased-From: c5e53d0d21
2025-02-21 23:31:39 +00:00
Luke Dashjr
e57bd40ca9 RPC: Delete cookie file before replacing it
Unclear if this is the best thing to do, but due to v26.1.knots20240325 creating it read-only, it is somewhat necessary for now
2025-02-21 17:31:36 +00:00
Luke Dashjr
783fbafb67 Bugfix: RPC: Attempt to delete cookie tmp before creating it
May be needed if we ended up with a read-only tmp file
2025-02-21 17:31:36 +00:00
Luke Dashjr
051c276b67 Skip changing permissions entirely if -rpccookieperms=0 specified 2025-02-21 17:31:36 +00:00
Luke Dashjr
d307da8781 rpccookieperms: Allow setting setxid/sticky bits
Simply for backward compatibility
2025-02-21 17:31:36 +00:00
Luke Dashjr
0a4e77a361 QA: rpc_users: Extend rpccookieperms test to octal values 2025-02-21 17:31:36 +00:00
Luke Dashjr
ba86144e77 Merge branch 'sendraw_force-28+knots' into mining_priority 2025-02-21 17:13:06 +00:00
Luke Dashjr
a1df69392d Label and allow overriding bad-witness-anchor-not-empty rejections 2025-02-21 16:41:12 +00:00
Luke Dashjr
f7c3f43689 QA: rpc_getrpcwhitelist: Use requires_wallet rather than manual creation of unnamed wallet 2025-02-21 16:34:56 +00:00
Luke Dashjr
4eeaca5f03 RPC: getrpcwhitelist: Return a list of wallets as a JSON Object 2025-02-21 16:34:56 +00:00
Luke Dashjr
d03bbe2220 Merge branch 'multiwallet_rpc-28+knots' into getrpcwhitelist_wallets-28+knots 2025-02-21 16:34:48 +00:00
Luke Dashjr
763ca710d2 Merge branch 'rpc_getrpcwhitelist' into getrpcwhitelist_wallets-28+knots 2025-02-21 16:34:37 +00:00
Luke Dashjr
4432c6b5b7 RPC: getrpcwhitelist: Return all methods (or none) if no explicit whitelist defined 2025-02-21 16:34:12 +00:00
Luke Dashjr
42d2ea53e8 RPC: getrpcwhitelist: Return methods as a JSON Object for future expansion to sub-call permissions 2025-02-21 16:34:12 +00:00
Harris
2c172d3a0d RPC: Add getrpcwhitelist method 2025-02-21 16:34:12 +00:00
Luke Dashjr
550f67c5d1 Bugfix: QA: rpc_getgeneralinfo: Adapt test for startuptime ignoring mocktime 2025-02-21 16:33:26 +00:00
Luke Dashjr
47e4c8fbc6 QA: Actually check getgeneralinfo results are correct 2025-02-21 16:33:26 +00:00
Luke Dashjr
12c22b8235 rpc: implement getgeneralinfo 2025-02-21 16:33:26 +00:00
Andrew Toth
bbcec3aed7 test: add test for SyncCoinsTipAfterChainSync
Github-Pull: #15218
Rebased-From: 8887d28a014420668801d7e4c5d1bf45c5e93684
2025-02-21 16:31:20 +00:00
Luke Dashjr
eaaa8e1d51 QA: rpc_users: Test rpcauth wallet restrictions 2025-02-21 16:30:03 +00:00
Luke Dashjr
38698fecf6 Merge branch 'improve_args_pr31212-28' into multiwallet_rpc-28+knots 2025-02-21 16:29:54 +00:00
Luke Dashjr
2399363262 Merge branch 'rpc_dumptxoutset_hr' into multiwallet_rpc-28+knots 2025-02-21 16:29:52 +00:00
Luke Dashjr
05c676d090 QA: Functional test for sweepprivkeys 2025-02-21 16:29:15 +00:00
Luke Dashjr
867a41e4ba Merge branch 'AutoFile_error_check-28' into sweepprivkeys 2025-02-21 16:28:33 +00:00
Luke Dashjr
9a8e02f531 Merge branch 'rpc_getblocklocations' into sweepprivkeys 2025-02-21 16:28:29 +00:00
Luke Dashjr
30d940a219 RPC: createmultisig/addmultisigaddress: Support named args for options 2025-02-21 16:26:25 +00:00
Luke Dashjr
ecd45f5e6c QA: rpc_sort_multisig: Rename variables to avoid keyword conflict with sorted 2025-02-21 16:26:25 +00:00
Thomas Kerin
949e953d93 Add more tests to sort_multisig.py / wallet_labels.py
sort_multisig test: check uncompressed keys are disallowed
sort_multisig: add test demonstrating sorting
wallet_labels: test addmultisigaddress fails if sort=true and (wallet) address is uncompressed
2025-02-21 16:26:25 +00:00
Luke Dashjr
88e4bd655a RPC: Use options object rather than adding a "sort" boolean for multisig methods 2025-02-21 16:26:25 +00:00
Thomas Kerin
c22a69eed1 RPC: addmultisigaddress / createmultisig: parameterize _createmultisig_redeemScript to allow sorting of public keys (BIP67) 2025-02-21 16:26:25 +00:00
Luke Dashjr
af6f73734e QA: tool_cli_bash_completion: Whitespace linter fix 2025-02-21 16:24:27 +00:00
furszy
b5764509d0 test: rpc_getblockfrompeer.py, remove magic numbers usage
Instead of hardcoding the `pruneblockchain(<height>)` heights,
use 'getblockfileinfo' to obtain the highest block number of
each of the block files.

Making the test more robust and readable by stating which file
is being pruned at every point of time (the goal is to mimic
how the automatic pruning process work).

Github-Pull: #27770
Rebased-From: 5090771f32
2025-02-21 16:20:53 +00:00
Luke Dashjr
764c660ed4 Merge branch 'rpc_getblocklocations' into rpc_getblockfileinfo-28+knots 2025-02-21 16:17:45 +00:00
Lawrence Nahum
df969b672f add support to save fee estimates without shutting down the node 2025-02-21 16:15:34 +00:00
Luke Dashjr
099f47c89f QA: rpc_getblocklocations: Support for testing with blocksxor enabled 2025-02-21 16:15:05 +00:00
Roman Zeyde
620e79b72f RPC: Add getblocklocations call
This RPC allows the client to retrieve the file system locations
of the confirmed blocks and their undo data, to allow building
efficient indexes outside of Bitcoin Core.

An example usage is described here:
https://github.com/romanz/electrs/issues/308

By using the new RPC, it is possible to build an address-based
index taking ~24GB and a txindex taking ~6GB (as of Dec. 2020).
2025-02-21 16:15:05 +00:00
Luke Dashjr
248c26411d lint: exception for fix_leveldb_ptrarith_pr31671 2025-02-21 16:00:05 +00:00
Vasil Dimov
c2ef3896f8 test: avoid generating non-loopback traffic from p2p_dns_seeds.py
`p2p_dns_seeds.py` would try to connect to the DNS server configured on
the machine and resolve `dummySeed.invalid`.

To block that configure an unavailable proxy which will be used also to
connect to the name server. The test needs 2 successful connections to
other peers (two Python `P2PInterface`s) and they work in spite of the
unavailable proxy because they are on `127.0.0.1` (`NET_UNROUTABLE`) and
the proxy is not used for that.

Github-Pull: #31646
Rebased-From: 2ed161c5ce
2025-02-21 15:38:43 +00:00
Vasil Dimov
a015a39bc5 test: avoid generating non-loopback traffic from feature_config_args.py
`feature_config_args.py` uses a proxy address of `1.2.3.4`. This results
in actually trying to open TCP connections over the internet to
`1.2.3.4:9050`.

The test does not need those to succeed so use `127.0.0.1:1` instead.

Also avoid `-noconnect=0` because that is interpreted as `-connect=1`
which is interpreted as `-connect=0.0.0.1` and a connection to
`0.0.0.1:18444` is attempted.

Github-Pull: #31646
Rebased-From: a5746dc559
2025-02-21 15:38:43 +00:00
Vasil Dimov
95f8bfd162 QA/test_framework: Add UNREACHABLE_PROXY_ARG
Github-Pull: #31646
Rebased-From: 6b3f6eae70 (partial)
2025-02-21 15:38:43 +00:00
Hodlinator
c58ca376e2 chore: Typo Overriden -> Overridden
Github-Pull: #31433
Rebased-From: 41d934c72d
2025-02-21 15:32:09 +00:00
Luke Dashjr
529fea94db lint/python-dead-code: Just warn, but allow 2025-02-21 15:27:23 +00:00
Luke Dashjr
f1c9717c7e lint/circular-dependencies: Only check for real circular dependencies 2025-02-21 15:27:23 +00:00
Luke Dashjr
3248ebd754 lint/includes: Ignore duplicate includes in .cpp files 2025-02-21 15:27:23 +00:00
Karl-Johan Alm
6fc46bfe11 test: add test to segwit tests for fee rate when signing raw tx 2025-02-14 21:09:22 +00:00
Luke Dashjr
0db147c92f QA: Adapt feature_includeconf test for complex UAs 2025-02-07 18:20:49 +00:00
Luke Dashjr
6924713ae1 QA: Adapt feature_uacomment test for complex UAs 2025-02-07 18:20:49 +00:00
Luke Dashjr
b109fe6fe8 Expire bitcoind & bitcoin-qt 1-2 years after its last change
COPYRIGHT_YEAR + 2 years is used as the basis for expiration, to achieve a constantly-moving-forward expiration date.

The expiration can be disabled or extended with a debug-visibility "softwareexpiry" configuration option.
2025-02-03 18:30:59 +00:00
Luke Dashjr
0fcc5ed47d QA: Functional test for checkpoint enforcement
Prior to receiving the correct chain's headers, an alternate chain should be stopped prior to the first checkpoint-violating block.
2025-02-02 01:14:26 +00:00
Luke Dashjr
9a79815097 net_permissions: Include "addr" permission on implicit whitelist entries 2025-02-02 00:58:20 +00:00
Luke Dashjr
ce3641a0e5 QA: rpc_getblockfrompeer: Test that fetch-without-header actually works 2025-01-29 02:33:45 +00:00
Luke Dashjr
6c78d40b89 RPC/blockchain: Allow using getblockfrompeer without already having the block header
Github-Pull: #20295
Rebased-From: d0b537458d90b92f2632f8578cfdaadc9a8f4ed0
2025-01-29 02:33:45 +00:00
Luke Dashjr
7e70c926e3 Merge branch 'rpc_getblockfrompeer_future' into rpc_getblockfrompeer_wo_header 2025-01-29 02:33:42 +00:00
Luke Dashjr
8fa6f07273 QA: wallet_implicitsegwit: Add tests for -walletimplicitsegwit=0 2025-01-28 14:46:43 +00:00
Luke Dashjr
9828136fb4 Wallet: Support disabling implicit Segwit operation 2025-01-28 14:46:43 +00:00
stratospher
dcb5daf5cf test: Check that v1 connections to clearnet peers don't work
when `-v2onlyclearnet` is turned on:
- v1 connections to clearnet peers don't work
- v2 connections to clearnet peers work
- v1 conneections to tor/i2p/cjdns peer works

a proxy is used because otherwise NET_UNROUTABLE is the default
network in the tests.

Github-Pull: #30951
Rebased-From: 5e3fa6758ba940384747575df14a75be15bfa629
2025-01-28 00:28:48 +00:00
Luke Dashjr
ca56c7c9c4 Diff-minimise 2025-01-25 16:04:47 +00:00
Cory Fields
145dd295d9 tests: add a test for the new blocksdir lock
Github-Pull: #31674
Rebased-From: 2656a5658c
2025-01-25 16:04:47 +00:00
Cory Fields
68e55e2818 refactor: introduce a more general LockDirectories for init
No functional change. This is in preparation for adding additional directory
locks on startup.

Github-Pull: #31674
Rebased-From: cabb2e5c24
2025-01-25 16:04:47 +00:00
Luke Dashjr
cf65351293 Give separate reject reasons to each TRUC check 2025-01-23 03:01:51 +00:00
Luke Dashjr
b812959b51 QA: rpc_rawtransaction: Test ignore_rejects 2025-01-23 03:01:51 +00:00
Luke Dashjr
9a7339f672 Make bad-witness-nonstandard rejection more specific, and support overriding some 2025-01-23 03:01:51 +00:00
Luke Dashjr
b115c10755 AreInputsStandard: Return specific reject reasons 2025-01-23 03:01:50 +00:00
Luke Dashjr
ac87dbe333 Restore blockmaxsize option, allowing to limit mined blocks by byte size 2025-01-17 01:51:06 +00:00
Ash Manning
4313bb78d8 rpc: add signet_challenge field to getblockchaininfo and getmininginfo
Github-Pull: #31531
Rebased-From: ecaa786cc1
2025-01-15 15:21:04 +00:00
MarcoFalke
d834bfda34 Remove wallet::ParseISO8601DateTime, use ParseISO8601DateTime instead
Github-Pull: #31391
Rebased-From: faf70cc994
2025-01-09 04:11:43 +00:00
MarcoFalke
88c7842f35 test: Add missing node.setmocktime(self.mocktime) to p2p_ibd_stalling.py
This was forgotten by myself in commit fa5b58ea01

Github-Pull: #31383
Rebased-From: faa16ed4b9
2025-01-08 23:01:15 +00:00
Sebastian Falbesoner
16d60e56de test: avoid internet traffic in rpc_net.py
Can be tested by running

```
$ sudo tcpdump -i eth0 host 11.22.33.44
```

and verifying that no packets appear in the tcpdump output.

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>

Github-Pull: #31343
Rebased-From: 988721d37a
2025-01-08 20:13:57 +00:00
Hodlinator
e1b776466d test: Add tests for directories in place of config files
Github-Pull: #31212
Rebased-From: 95a0104f2e
2025-01-08 18:48:13 +00:00
Hodlinator
6b837312c6 test: Add tests for -noconf
Github-Pull: #31212
Rebased-From: e4b6b1822c
2025-01-08 18:48:13 +00:00
Hodlinator
41970350d4 test refactor: feature_config_args.py - Stop nodes at the end of tests, not at the beginning
This ensures we don't needlessly start the node, and reduces implicit dependencies between test functions.

test_seed_peers() - Move assert calling RPC to verify correct chain after our own function actually started the node.

Github-Pull: #31212
Rebased-From: 312ec64cc0
2025-01-08 18:48:13 +00:00
Hodlinator
56c374dfad test: -norpccookiefile
Both bitcoind and bitcoin-cli.

Github-Pull: #31212
Rebased-From: 7402658bc2
2025-01-08 18:48:13 +00:00
Hodlinator
9b90eea2a1 test: Harden testing of cookie file existence
Github-Pull: #31212
Rebased-From: 6e28c76907
2025-01-08 18:48:13 +00:00
Hodlinator
a613155808 test: combine_logs.py - Output debug.log paths on error
Github-Pull: #31212
Rebased-From: 75bacabb55
2025-01-08 18:48:13 +00:00
MarcoFalke
81b6de569e test: Avoid logging error when logging error
Github-Pull: #31408
Rebased-From: cccca8a77f (minimised)
2025-01-08 14:19:17 +00:00
MarcoFalke
05cd448e33 test: generateblocks called by multiple threads
Co-Authored-By: David Gumberg <davidzgumberg@gmail.com>

Github-Pull: 31563
Rebased-From: fa63b8232f
2025-01-02 14:17:02 +01:00
Martin Zumsande
a0585b6087
test: add functional test for -port behavior
Github-Pull: bitcoin/bitcoin#31223
Rebased-From: 997757dd2b
2024-12-13 21:15:26 -05:00
Martin Zumsande
bbde830b97
net, init: derive default onion port if a user specified a -port
After port collisions are no longer tolerated but lead to
a startup failure in v28.0, local setups of multiple nodes,
each with a different -port value would not be possible anymore
due to collision of the onion default port - even if the nodes
were using tor or not interested in receiving onion inbound connections.

Fix this by deriving the onion listening port to be -port + 1.
(idea by vasild / laanwj)

Co-authored-by: Vasil Dimov <vd@FreeBSD.org>

Github-Pull: bitcoin/bitcoin#31223
Rebased-From: 0e2b12b92a
2024-12-13 21:15:23 -05:00
0xb10c
227642d5af
test: fix MIN macro-redefinition
Renames the `MIN` macro to `_TRACEPOINT_TEST_MIN`.

From #31418:

```
stderr:
/virtual/main.c:70:9: warning: 'MIN' macro redefined [-Wmacro-redefined]
   70 | #define MIN(a,b) ({ __typeof__ (a) _a = (a); __typeof__ (b) _b = (b); _a < _b ? _a : _b; })
      |         ^
include/linux/minmax.h:329:9: note: previous definition is here
  329 | #define MIN(a,b) __cmp(min,a,b)
      |         ^
1 warning generated.
```

fixes: https://github.com/bitcoin/bitcoin/issues/31418

Github-Pull: bitcoin/bitcoin#31419
Rebased-From: 00c1dbd26d
2024-12-11 11:41:49 -05:00
Jon Atack
167c073d4b test: add coverage for -getinfo total_balance
Github-Pull: #19092
Rebased-From: 414804e877f630a630c3d6226cb6714c0a6320e8
2024-12-06 01:25:56 +00:00
Jon Atack
d7ab3e4984 test: add coverage for scale in -getinfo amount values 2024-12-06 00:58:03 +00:00
Jon Atack
84eda4ec67 test: add assert_scale assertion to test framework 2024-12-06 00:58:03 +00:00
Jon Atack
1ccce06ee4 test: add -getinfo command parsing regression tests
These tests fail without the changes in the first commit of this PR.
2024-12-06 00:58:03 +00:00