merge-script
42c4c6b6dd
Merge bitcoin/bitcoin#33561 : [28.x] ci: Fix Qt 5.15 URL
...
2cd432dc6d
[28.x] ci: Fix Qt 5.15 URL (Hennadii Stepanov)
Pull request description:
ACKs for top commit:
fanquake:
ACK 2cd432dc6d
Tree-SHA512: 762dcd7d08012a683d88b6f6437d7ffe31271abfa6a1a0be604746fad8473ba0ff6066880a8a6f56382f8da46f01fb3349440efef30990b1bab818521963496f
2025-10-07 14:52:44 +01:00
Hennadii Stepanov
2cd432dc6d
[28.x] ci: Fix Qt 5.15 URL
2025-10-07 13:43:24 +01:00
merge-script
e9dd94abcc
Merge bitcoin/bitcoin#33535 : [28.x] More backports
...
06fe49dc88
doc: update release notes for 28.x (fanquake)
11da80fe6a
test: add more TRUC reorg coverge (Greg Sanders)
05f4aa7662
Mempool: Do not enforce TRUC checks on reorg (Greg Sanders)
ffffdc4e97
fuzz: don't bypass_limits for most mempool harnesses (Greg Sanders)
Pull request description:
Backports:
* #33504
ACKs for top commit:
darosior:
utACK 06fe49dc88
.
dergoegge:
ACK 06fe49dc88
instagibbs:
ACK 06fe49dc88
Tree-SHA512: 50495b75dec6dbbe24686cd7f1e832a79c841d29983d6be415783ba4ad3a1f7657459d491fc214de4d45f60467abc92f1daf75479f3db854fc6b3410368e67fc
2025-10-07 10:01:49 +01:00
fanquake
06fe49dc88
doc: update release notes for 28.x
2025-10-03 16:16:56 +01:00
Greg Sanders
11da80fe6a
test: add more TRUC reorg coverge
...
Github-Pull: #33504
Rebased-From: 06df14ba75
2025-10-03 16:15:25 +01:00
Greg Sanders
05f4aa7662
Mempool: Do not enforce TRUC checks on reorg
...
Not enforcing TRUC topology on reorg was the intended
behavior, but the appropriate bypass argument was not
checked.
This mistake means we could potentially invalidate a long
chain of perfectly incentive-compatible transactions that
were made historically, including subsequent non-TRUC
transactions, all of which may have been very high feerate.
Lastly, it wastes CPU cycles doing topology checks since
this behavior cannot actually enforce the topology in
general for the reorg setting.
Github-Pull: #33504
Rebased-From: 26e71c237d
2025-10-03 15:50:24 +01:00
Greg Sanders
ffffdc4e97
fuzz: don't bypass_limits for most mempool harnesses
...
Using bypass_limits=true is essentially fuzzing part of a
reorg only, and results in TRUC invariants unable to be
checked. Remove most instances of bypassing limits, leaving
one harness able to do so.
Github-Pull: #33504
Rebased-From: bbe8e9063c
2025-10-03 15:49:17 +01:00
Ava Chow
ed730c5674
Merge bitcoin/bitcoin#33476 : [28.x] backports + 28.3rc1
...
9968b15937
[doc] update bitcoin.conf example (glozow)
dcac36271f
[doc] manpages for 28.3rc1 (glozow)
df7412803d
[build] bump version to 28.3rc1 (glozow)
d3194cb8cd
[doc] update release notes for 28.x (glozow)
18f6430b4a
test: compare BDB dumps of test framework parser and wallet tool (Sebastian Falbesoner)
6ede736da1
test: complete BDB parser (handle internal/overflow pages, support all page sizes) (Sebastian Falbesoner)
66559d1a4a
[policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB (glozow)
a02e0a401c
[prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit (glozow)
f25fc092ab
[prep/util] help MockMempoolMinFee handle more precise feerates (glozow)
4d809efeb9
[prep/test] replace magic number 1000 with respective feerate vars (glozow)
f7dde40c70
test: Add missing sync_mempools() to fill_mempool() (MarcoFalke)
a60281526b
test: Refactor fill_mempool to extract send_batch helper (MarcoFalke)
08eeb0d342
[miner] lower default -blockmintxfee to 1sat/kvB (glozow)
b7ba016707
test: add `BulkTransaction` helper to unit test transaction utils (Sebastian Falbesoner)
27b775586e
[doc] assert that default min relay feerate and incremental are the same (glozow)
e3273e03b1
[test] explicitly check default -minrelaytxfee and -incrementalrelayfee (glozow)
cf875f1559
[test] RBF rule 4 for various incrementalrelayfee settings (glozow)
308778b7b6
[test] check bypass of minrelay for various minrelaytxfee settings (glozow)
e779d59eca
[test] check miner doesn't select 0fee transactions (glozow)
Pull request description:
Includes backports of
- #33106
- #30125
- #30948
- #30784
ACKs for top commit:
achow101:
ACK 9968b15937
stickies-v:
re-ACK 9968b15937
Tree-SHA512: 1d4ec354a743ec3a894a44d2d9b98dc5169f515081071b887768afee1c42cefdaa6c5f595829dc9b579699bba3e4b4aa73a519d4c4ef8579375ad34513f26cd9
2025-10-01 10:42:26 -07:00
glozow
9968b15937
[doc] update bitcoin.conf example
2025-09-30 17:21:25 -04:00
glozow
dcac36271f
[doc] manpages for 28.3rc1
2025-09-29 16:48:04 -04:00
glozow
df7412803d
[build] bump version to 28.3rc1
2025-09-29 16:48:04 -04:00
glozow
d3194cb8cd
[doc] update release notes for 28.x
2025-09-26 10:24:20 -04:00
Sebastian Falbesoner
18f6430b4a
test: compare BDB dumps of test framework parser and wallet tool
...
Github-Pull: #30125
Rebased-From: d45eb3964f
2025-09-26 10:24:20 -04:00
Sebastian Falbesoner
6ede736da1
test: complete BDB parser (handle internal/overflow pages, support all page sizes)
...
This aims to complete our test framework BDB parser to reflect
our read-only BDB parser in the wallet codebase. This could be
useful both for making review of #26606 easier and to also possibly
improve our functional tests for the BDB parser by comparing with
an alternative implementation.
Github-Pull: #30125
Rebased-From: 01ddd9f646
2025-09-26 10:24:20 -04:00
glozow
66559d1a4a
[policy] lower default minrelaytxfee and incrementalrelayfee to 100sat/kvB
...
Let's say an attacker wants to use/exhaust the network's bandwidth, and
has the choice between renting resources from a commercial provider and
getting the network to "spam" itself it by sending unconfirmed
transactions. We'd like the latter to be more expensive than the former.
The bandwidth for relaying a transaction across the network is roughly
its serialized size (plus relay overhead) x number of nodes. A 1000vB
transaction is 1000-4000B serialized. With 100k nodes, that's 0.1-0.4GB
If the going rate for commercial services is 10c/GB, that's like 1-4c per kvB
of transaction data, so a 1000vB transaction should pay at least $0.04.
At a price of 120k USD/BTC, 100sat is about $0.12. This price allows us
to tolerate a large decrease in the conversion rate or increase in the
number of nodes.
Github-Pull: #33106
Rebased-From: 6da5de58ca
2025-09-26 10:24:19 -04:00
glozow
a02e0a401c
[prep/test] make wallet_fundrawtransaction's minrelaytxfee assumption explicit
...
Github-Pull: #33106
Rebased-From: 2e515d2897
2025-09-26 10:22:38 -04:00
glozow
f25fc092ab
[prep/util] help MockMempoolMinFee handle more precise feerates
...
Use a virtual size of 1000 to keep precision when using a feerate
(which is rounded to the nearest satoshi per kvb) that isn't just an
integer.
Github-Pull: #33106
Rebased-From: 457cfb61b5
2025-09-26 10:22:38 -04:00
glozow
4d809efeb9
[prep/test] replace magic number 1000 with respective feerate vars
...
Github-Pull: #33106
Rebased-From: 3eab8b7240
2025-09-26 10:22:38 -04:00
MarcoFalke
f7dde40c70
test: Add missing sync_mempools() to fill_mempool()
...
Also disable the function, when it is not needed.
Github-Pull: #30948
Rebased-From: faf801515f
2025-09-26 10:22:38 -04:00
MarcoFalke
a60281526b
test: Refactor fill_mempool to extract send_batch helper
...
This is needed for the next commit
Github-Pull: #30948
Rebased-From: fa48be6f02
2025-09-26 10:22:38 -04:00
glozow
08eeb0d342
[miner] lower default -blockmintxfee to 1sat/kvB
...
Back when we implemented coin age priority as a miner policy, miners
mempools might admit transactions paying very low fees, but then want to
set a higher fee for block inclusion. However, since coin age priority
was removed in v0.15, the block assembly policy is solely based on fees,
so we do not need to apply minimum feerate rules in multiple places. In
fact, the block assembly policy ignoring transactions that are added to
the mempool is likely undesirable as we waste resources accepting and
storing this transaction.
Instead, rely on mempool policy to enforce a minimum entry feerate to
the mempool (minrelaytxfee). Set the minimum block feerate to the
minimum non-zero amount (1sat/kvB) so it collects everything it finds in
mempool into the block.
Github-Pull: #33106
Rebased-From: 5f2df0ef78
2025-09-26 10:22:38 -04:00
Sebastian Falbesoner
b7ba016707
test: add `BulkTransaction` helper to unit test transaction utils
...
The padding method used matches the one used in MiniWallet,
`MiniWallet._bulk_tx`.
Github-Pull: #30784
Rebased-From: ed7d224666
2025-09-26 10:22:38 -04:00
glozow
27b775586e
[doc] assert that default min relay feerate and incremental are the same
...
Github-Pull: #33106
Rebased-From: d6213d6aa1
2025-09-26 10:22:38 -04:00
glozow
e3273e03b1
[test] explicitly check default -minrelaytxfee and -incrementalrelayfee
...
Github-Pull: #33106
Rebased-From: 1fbee5d7b6
2025-09-26 10:22:38 -04:00
glozow
cf875f1559
[test] RBF rule 4 for various incrementalrelayfee settings
...
Github-Pull: #33106
Rebased-From: 72dc18467d
2025-09-26 10:22:38 -04:00
glozow
308778b7b6
[test] check bypass of minrelay for various minrelaytxfee settings
...
Github-Pull: #33106
Rebased-From: 85f498893f
2025-09-26 10:22:38 -04:00
glozow
e779d59eca
[test] check miner doesn't select 0fee transactions
...
Github-Pull: #33106
Rebased-From: e5f896bb1f
2025-09-26 10:22:38 -04:00
Ava Chow
a0b5730f85
Merge bitcoin/bitcoin#33415 : [28.x] More backports
...
a5e4fec494
doc: update release notes for 28.x (fanquake)
4598dfcfde
doc: Remove wrong and redundant doxygen tag (MarcoFalke)
9e56d8889a
net: Do not apply whitelist permission to onion inbounds (Martin Zumsande)
a381de750d
Fix benchmark CSV output (Hennadii Stepanov)
Pull request description:
Further backports for `28.x`:
* #33236
* #33340
* #33395
ACKs for top commit:
achow101:
ACK a5e4fec494
willcl-ark:
ACK a5e4fec494
Tree-SHA512: eb00b395dea8a3e50e19683e824abd946d0e0ef5188cca3fddbc35a8e2ecc203cfc7a8f480e0fbf09cc48f660b1da324da4d777ec47346c52d230c5b93f536c3
2025-09-25 13:41:04 -07:00
fanquake
a5e4fec494
doc: update release notes for 28.x
2025-09-24 15:26:38 -04:00
MarcoFalke
4598dfcfde
doc: Remove wrong and redundant doxygen tag
...
Remove it in feerate.
Fix it in the other places.
Github-Pull: #33236
Rebased-From: 966666de9a
2025-09-24 14:37:05 -04:00
Martin Zumsande
9e56d8889a
net: Do not apply whitelist permission to onion inbounds
...
Tor inbound connections do not reveal the peer's actual network address.
Therefore do not apply whitelist permissions to them.
Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
Github-Pull: #33395
Rebased-From: f563ce9081
2025-09-24 14:37:05 -04:00
Hennadii Stepanov
a381de750d
Fix benchmark CSV output
...
The `SHA256AutoDetect` return output is used, among other use cases, to
name benchmarks. Using a comma breaks the CSV output.
This change replaces the comma with a semicolon, which fixes the issue.
Github-Pull: #33340
Rebased-From: 790b440197
2025-09-24 14:37:04 -04:00
merge-script
f9043af2ee
Merge bitcoin/bitcoin#33406 : Backport Cirrus runners to 28.x
...
ea4e0aa8c4
ci: Checkout latest merged pulls (MarcoFalke)
48761444e2
ci: reduce runner sizes on various jobs (will)
12eada012b
ci: remove un-needed lint_run*.sh files (willcl-ark)
189bb39922
ci: fix annoying docker warning (will)
e4493b15df
ci: add ccache hit-rate warning when < 75% (will)
a0b6e2ae6b
doc: Detail configuration of hosted CI runners (will)
1bfe9f56c3
ci: dynamically match makejobs with cores (will)
abaa128095
ci: remove .cirrus.yml (will)
8ab684eeb7
ci: port win64-no_gui job (will)
99411458b4
ci: port lint (will)
4b3468389b
ci: port msan-depends (will)
cf18a500d7
ci: port tsan-depends-gui (will)
49ff9d7e6e
ci: port tidy (will)
c2c69cd6ec
ci: port 32-bit-centos-dash-gui (will)
fa259b4e72
ci: port previous-releases-depends-debug (will)
96cd28f146
ci: port fuzzer-address-undefined-integer-nodepends (will)
0fc3fd1eb5
ci: port i686-multiprocess-DEBUG (will)
f61cb6be58
ci: port nowallet-libbitcoinkernel (will)
6237cd537d
ci: port mac-cross-gui-notests (will)
8c9048f4fc
ci: force reinstall of kernel headers in asan (will)
61bb5180d5
ci: update asan-lsan-ubsan (will)
bb455c9594
ci: port arm job (will)
5538ce4f32
ci: add job to determine runner type (will)
82cfddbc9a
ci: add Cirrus cache host (will)
30efc95aec
ci: have base install run in right dir (will)
f6ccd895df
ci: use buildx in ci (will)
f8cb31d064
ci: add configure-docker action (will)
270191c3c0
ci: add REPO_USE_CIRRUS_RUNNERS (will)
8d6d70f555
ci: add caching actions (will)
d8ad667f94
ci: add configure environment action (will)
Pull request description:
Backports https://github.com/bitcoin/bitcoin/pull/32989 to the 28.x branch
ACKs for top commit:
maflcko:
lgtm ACK ea4e0aa8c4
🥄
Tree-SHA512: aeb7f3f92f1e18d787a199258c06cff14a7352e3da1d0b546bb39a46ec988e65a4c68083c9ee38fe8a6a60e4ee5a2199c6d255973bff91f0f4aac34fea5fdb28
2025-09-24 13:46:09 -04:00
MarcoFalke
ea4e0aa8c4
ci: Checkout latest merged pulls
...
Github-Pull: #33303
Rebased-From: fa8f081af3
2025-09-19 08:41:22 +01:00
will
48761444e2
ci: reduce runner sizes on various jobs
...
Github Pull: #33319
Rebased-From: 5eeb2facbb
These jobs can use reduced runner size to avoid wasting CPU, as much of
the long-running part of the job is single-threaded.
Suggested in: https://github.com/bitcoin/bitcoin/pull/32989#discussion_r2321775620
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
2025-09-19 08:41:17 +01:00
willcl-ark
12eada012b
ci: remove un-needed lint_run*.sh files
...
Github-Pull: #32989
Rebased-From: 3c5da69a23
ci/lint_run_all.sh: Only used in .cirrus.yml. Refer to test/lint/README.md on how to run locally.
2025-09-19 08:41:13 +01:00
will
189bb39922
ci: fix annoying docker warning
...
Github-Pull: #32989
Rebased-From: 2aa288efdd
Docker currently warns that we are missing a default value.
Set this to scratch which will error if an appropriate image tag is not
passed in to silence the warning.
2025-09-19 08:41:09 +01:00
will
e4493b15df
ci: add ccache hit-rate warning when < 75%
...
Github-Pull: #32989
Rebased-From: dd1c5903e8
Print the ccache hit-rate for the job using a GitHub annotation if it
was below 75%.
2025-09-19 08:41:06 +01:00
will
a0b6e2ae6b
doc: Detail configuration of hosted CI runners
...
Github-Pull: #32989
Rebased-From: f427284483
2025-09-19 08:41:02 +01:00
will
1bfe9f56c3
ci: dynamically match makejobs with cores
...
Github-Pull: #32989
Rebased-From: 3f339e99e0
Previously jobs were running on a large multi-core server where 10 jobs
as default made sense (or may even have been on the low side).
Using hosted runners with fixed (and lower) numbers of vCPUs we should
adapt compilation to match the number of cpus we have dynamically.
This is cross-platform compatible with macos and linux only.
2025-09-19 08:40:58 +01:00
will
abaa128095
ci: remove .cirrus.yml
...
Github-Pull: #32989
Rebased-From: 4393ffdd83
Removed as unused.
2025-09-19 08:40:55 +01:00
will
8ab684eeb7
ci: port win64-no_gui job
2025-09-19 08:40:51 +01:00
will
99411458b4
ci: port lint
...
Github-Pull: #32989
Rebased-From: bc41848d00
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:48 +01:00
will
4b3468389b
ci: port msan-depends
...
Github-Pull: #32989
Rebased-From: d290a8e6ea
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:44 +01:00
will
cf18a500d7
ci: port tsan-depends-gui
...
Github-Pull: #32989
Rebased-From: 9bbae61e3b
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:41 +01:00
will
49ff9d7e6e
ci: port tidy
...
Github-Pull: #32989
Rebased-From: bf7d536452
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:37 +01:00
will
c2c69cd6ec
ci: port 32-bit-centos-dash-gui
...
Github-Pull: #32989
Rebased-From: 549074bc64
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:34 +01:00
will
fa259b4e72
ci: port previous-releases-depends-debug
...
Github-Pull: #32989
Rebased-From: 58e38c3a04
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:30 +01:00
will
96cd28f146
ci: port fuzzer-address-undefined-integer-nodepends
...
Github-Pull: #32989
Rebased-From: 341196d75c
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:27 +01:00
will
0fc3fd1eb5
ci: port i686-multiprocess-DEBUG
...
Github-Pull: #32989
Rebased-From: f2068f26c1
Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
2025-09-19 08:40:23 +01:00