42339 Commits

Author SHA1 Message Date
merge-script
9ceeca0fe1 Merge bitcoin/bitcoin#34463: [28.x] Backports
f6e5ec5d81 doc: update release notes for v28.x (fanquake)
5879b5a172 chore: Update outdated GitHub Actions versions (Padraic Slattery)
4fca124c0b ci: remove 3rd party js from windows dll gha job (Max Edwards)
4d4e3600af ci: use macos-14 image (fanquake)
6b5a536c05 doc: update copyright year (fanquake)

Pull request description:

  Contains one change to switch the macOS runners to a version that still works (13 -> 14):
  * 4d4e3600af

  Also backports:
  * #32513 (partial backport)
  * #34174
  * #34344

ACKs for top commit:
  marcofleon:
    ACK f6e5ec5d81

Tree-SHA512: 63e4b08779852984c48aaf555f6ce9a7afd12bad65b8062dcc6351b39f6a3a355efd0e0277e8a62400588613db86c45f196efc1ac7b91317821d69301badebcf
2026-02-02 16:09:39 +00:00
fanquake
f6e5ec5d81 doc: update release notes for v28.x 2026-01-30 16:40:38 +00:00
Padraic Slattery
5879b5a172 chore: Update outdated GitHub Actions versions
Github-Pull: #34344
Rebased-From: 9482f00df0
2026-01-30 16:40:38 +00:00
Max Edwards
4fca124c0b ci: remove 3rd party js from windows dll gha job
We can use vswhere.exe directly to create a vs developer
prompt and so can remove this third party dependency.

Co-authored-by: David Gumberg <davidzgumberg@gmail.com>

Github-Pull: #32513
Rebased-From: 7ae0497eef
2026-01-30 16:40:38 +00:00
fanquake
4d4e3600af ci: use macos-14 image
The macOS 13 images are no-longer available for use.
2026-01-30 16:40:33 +00:00
fanquake
6b5a536c05 doc: update copyright year
Github-Pull: #34174
Rebased-From: b23b901363
2026-01-30 16:00:38 +00:00
merge-script
3de2c3fd17 Merge bitcoin/bitcoin#34270: [28.x] Backports
514cf39533 doc: update release notes for v28.x (fanquake)
3dd011ee34 guix: Fix `osslsigncode` tests (Hennadii Stepanov)
38d338dbcc Remove unreliable seed from chainparams.cpp, and the associated README (SatsAndSports)

Pull request description:

  Backports:
  * #33723
  * #34227

ACKs for top commit:
  willcl-ark:
    ACK 514cf39533
  marcofleon:
    crACK 514cf39533

Tree-SHA512: b736192b842d70c84e6a5530b1bca2d095d60fcc265e52c8cdc61d81cfdbd6b6dd3d658f2ee9c27f3ae76a3c7bc79e8d0191242b357dba19e019acb31d7756dd
2026-01-14 12:00:18 +00:00
fanquake
514cf39533 doc: update release notes for v28.x 2026-01-13 10:40:03 +00:00
Hennadii Stepanov
3dd011ee34 guix: Fix osslsigncode tests
Github-Pull: #34227
Rebased-From: 194114daf3
2026-01-13 10:37:03 +00:00
SatsAndSports
38d338dbcc Remove unreliable seed from chainparams.cpp, and the associated README
Github-Pull: #33723
Rebased-From: b0c706795c
2026-01-13 10:36:59 +00:00
merge-script
ad8b23e589 Merge bitcoin/bitcoin#33613: [28.x] Backport & finalise 28.3
2dfb3a0690 doc: update manual pages for v28.3 (fanquake)
3590bbffa6 build: bump version to 28.3 (fanquake)
da5f5de405 doc: update release notes for 28.3 (fanquake)
1c521ae922 ci: Properly include $FILE_ENV in DEPENDS_HASH (Ava Chow)

Pull request description:

  Backports:
  * #33581

  Plus the changes to finalise `v28.3`

ACKs for top commit:
  marcofleon:
    ACK 2dfb3a0690
  stickies-v:
    ACK 2dfb3a0690
  willcl-ark:
    ACK 2dfb3a0690

Tree-SHA512: 5e972d51629f156b0a462d49b42e8109490060d05c76cb6d2f98c904ec0668e018d0b25dad3660946df699f850a1935e7292a62789346b08a78d798bd8dbc9f3
v28.3
2025-10-16 16:05:37 +01:00
fanquake
2dfb3a0690 doc: update manual pages for v28.3 2025-10-13 17:04:01 +01:00
fanquake
3590bbffa6 build: bump version to 28.3 2025-10-13 16:57:25 +01:00
fanquake
da5f5de405 doc: update release notes for 28.3 2025-10-13 16:56:51 +01:00
Ava Chow
1c521ae922 ci: Properly include $FILE_ENV in DEPENDS_HASH
$FILE_ENV has a full relative path already, prepending with ci/test/
results in a non-existent path which means that DEPENDS_HASH was not
actually committing to the test's environment file.

Github-Pull: #33581
Rebased-From: ceeb53adcd
2025-10-13 16:56:17 +01:00
merge-script
d70e9c5d13 Merge bitcoin/bitcoin#33557: [28.x] 28.3rc2
44d05b2fb2 doc: update release notes for 28.x (fanquake)
201221b750 doc: update manual pages for v28.3rc2 (fanquake)
e2e1138350 build: bump version to 28.3rc2 (fanquake)
9c911f7e2d build: fix depends Qt download link (fanquake)
ae8605825f contrib: fix using macdploy script without translations. (amisha)

Pull request description:

  Backports:
  * #33482
  * #33563

  Plus final changes for a `28.3rc2`.

ACKs for top commit:
  marcofleon:
    Nice, re ACK 44d05b2fb2
  stickies-v:
    re-ACK 44d05b2fb2

Tree-SHA512: 63d46b93fcc2201071328a0708d32ef7b9ce80348455ec059c11edf238003a6f0ec7bd018a76bf0d7ba90ab99dae5176dfa387f9ea1b791e1f8ef785d7c2f1f2
v28.3rc2
2025-10-13 12:30:28 +01:00
fanquake
44d05b2fb2 doc: update release notes for 28.x 2025-10-13 12:04:53 +01:00
fanquake
201221b750 doc: update manual pages for v28.3rc2 2025-10-07 14:53:26 +01:00
fanquake
e2e1138350 build: bump version to 28.3rc2 2025-10-07 14:53:26 +01:00
fanquake
9c911f7e2d build: fix depends Qt download link
Github-Pull: #33563
Rebased-From: abf4a6eeae
2025-10-07 14:53:26 +01:00
amisha
ae8605825f contrib: fix using macdploy script without translations.
QT translations are optional, but the script would error when
'translations_dir' falls back to its default value NULL.

This PR fixes it by moving the set-up of QT translations under
the check for 'translations_dir' presence.

Github-Pull: #33482
Rebased-From: 7b5261f7ef
2025-10-07 14:53:26 +01:00
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
v28.3rc1
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