Commit Graph

42637 Commits

Author SHA1 Message Date
Ava Chow
6643fd2145
doc: Archive 28.0 release notes
Github-Pull: #31035
Rebased-From: f019fcec41
2024-10-16 16:25:33 +01:00
Ava Chow
89522379d1
Merge bitcoin/bitcoin#31034: [28.x] doc: Sync 28.0 release notes with website
89d34cffed doc: Sync 28.0 release notes with website (Ava Chow)

Pull request description:

  Since there were some changes to the release notes after the tagging, update the in branch release notes to match those that ended up on the website.

ACKs for top commit:
  tdb3:
    ACK 89d34cffed

Tree-SHA512: 1feeafb0f604d36c1817e8bf38cbaef5d41f958dd823c99a19a1a9f7f1f1d38f917872c84b536dd784d7a672904ed2399369693f200a2837cd5707a686d3e634
2024-10-05 11:17:41 -04:00
Ava Chow
89d34cffed doc: Sync 28.0 release notes with website 2024-10-04 19:25:24 -04:00
Ava Chow
1101837461
Merge bitcoin/bitcoin#30959: [28.x] backports and finalize
5de225f5c1 doc: 28.0 Release Notes (Ava Chow)
98745e03ff doc: generate manpages (Ava Chow)
5feef9ce7e build: Bump to 28.0 (Ava Chow)
7fcd7b85c6 validation: Disable CheckForkWarningConditions for background chainstate (Martin Zumsande)
e24a25d882 test: Use shell builtins in run_command test case (Ava Chow)

Pull request description:

  * #30952
  * #30962
  * Finalize 28.0 (or rc3 if additional backports are needed)

ACKs for top commit:
  sipa:
    utACK 5de225f5c1

Tree-SHA512: b42948a04d4250f2c9ef3331a39a4c3d7de9ceb9f4f294dd283599d08f3e2b7147297ef9ec1c4276e291a015fc2daa5a72c1f1c33fb517e8ea5c740c4459bf32
2024-10-01 13:30:02 -04:00
Ava Chow
5de225f5c1 doc: 28.0 Release Notes 2024-09-30 17:13:20 -04:00
Ava Chow
98745e03ff
doc: generate manpages 2024-09-25 14:34:31 -04:00
Ava Chow
5feef9ce7e
build: Bump to 28.0 2024-09-25 14:34:29 -04:00
Martin Zumsande
7fcd7b85c6
validation: Disable CheckForkWarningConditions for background chainstate
The comparison of m_best_invalid with the tip of the respective chainstate
makes no sense for the background chainstate, and can lead to incorrect
error messages.

Github-Pull: bitcoin/bitcoin#30962
Rebased-From: c0a0c72b4d
2024-09-25 14:34:26 -04:00
Ava Chow
e24a25d882
test: Use shell builtins in run_command test case
Github-Pull: bitcoin/bitcoin#30952
Rebased-From: 7bd3ee62f6
2024-09-24 11:40:27 -04:00
merge-script
1147e72953
Merge bitcoin/bitcoin#30827: [28.x] Further backports and rc2
06a7df70df doc: Generate manpages (Ava Chow)
5315886bf5 build: Bump to 28.0rc2 (Ava Chow)
ff95cb31da streams: remove AutoFile::Get() entirely (Pieter Wuille)
8229e98116 streams: cache file position within AutoFile (Pieter Wuille)
1b853fdb0a qt: Translations update (Hennadii Stepanov)
674dded875 gui: fix crash when closing wallet (furszy)
d39262e5d4 test: Wait for local services to update in feature_assumeutxo (Fabian Jahr)
b329ed739b test: add coverage for assumeUTXO honest peers disconnection (furszy)
c6b5db1d59 assumeUTXO: fix peers disconnection during sync (furszy)
598415bcc1 test: Work around boost compilation error (MarcoFalke)

Pull request description:

  * #30834
  * #30807
  * #30880
  * https://github.com/bitcoin-core/gui/pull/835
  * #30899
  * #30884

ACKs for top commit:
  stickies-v:
    ACK 06a7df70df
  hebasto:
    ACK 06a7df70df, I've backported the listed PRs locally. The only merge conflict I faced was in https://github.com/bitcoin/bitcoin/pull/30807. It was trivial to resolve.

Tree-SHA512: 779d734b50fdce379a20865ba30c969def028963ba51da0f497ddf1b5375e1f6166365295f226c1a07bab8be0c1aa0a6a3296fc6acd9fcf17bcc4874aac980a6
2024-09-17 17:14:28 +01:00
Ava Chow
06a7df70df
doc: Generate manpages 2024-09-16 23:10:20 -04:00
Ava Chow
5315886bf5
build: Bump to 28.0rc2 2024-09-16 23:10:18 -04:00
Pieter Wuille
ff95cb31da
streams: remove AutoFile::Get() entirely
Co-Authored-By: David Gumberg <davidzgumberg@gmail.com>

Github-Pull: bitcoin/bitcoin#30884
Rebased-From: a240e150e8
2024-09-16 23:10:17 -04:00
Pieter Wuille
8229e98116
streams: cache file position within AutoFile
Github-Pull: bitcoin/bitcoin#30884
Rebased-From: e624a9bef1
2024-09-16 23:10:14 -04:00
Hennadii Stepanov
1b853fdb0a
qt: Translations update
The recent translations from Transifex.com 28.x fetched with the
bitcoin-maintainer-tools/update-translations.py tool.

Github-Pull: bitcoin/bitcoin#30899
Rebased-From: ae05295761
2024-09-16 11:57:21 -04:00
furszy
674dded875
gui: fix crash when closing wallet
The crash occurs because 'WalletController::removeAndDeleteWallet' is called
twice for the same wallet model: first in the GUI's button connected function
'WalletController::closeWallet', and then again when the backend emits the
'WalletModel::unload' signal.

This causes the issue because 'removeAndDeleteWallet' inlines an
erase(std::remove()). So, if 'std::remove' returns an iterator to the end
(indicating the element wasn't found because it was already erased), the
subsequent call to 'erase' leads to an undefined behavior.

Github-Pull: bitcoin-core/gui#835
Rebased-From: a965f2bc07
2024-09-13 11:32:55 -04:00
Fabian Jahr
d39262e5d4
test: Wait for local services to update in feature_assumeutxo
Github-Pull: bitcoin/bitcoin#30880
Rebased-From: 19f4a7c95a
2024-09-12 15:02:05 -04:00
furszy
b329ed739b
test: add coverage for assumeUTXO honest peers disconnection
Exercising and verifying the following points:

1. An IBD node can sync headers from an AssumeUTXO node at
   any time.

2. IBD nodes do not request historical blocks from AssumeUTXO
   nodes while they are syncing the background-chain.

3. The assumeUTXO node dynamically adjusts the network services
   it offers according to its state.

4. IBD nodes can fully sync from AssumeUTXO nodes after they
   finish the background-chain sync.

Github-Pull: bitcoin/bitcoin#30807
Rebased-From: 992f83bb6f
2024-09-11 13:42:54 -04:00
furszy
c6b5db1d59
assumeUTXO: fix peers disconnection during sync
Because AssumeUTXO nodes prioritize tip synchronization, they relay their local
address through the network before completing the background chain sync.
This, combined with the advertising of full-node service (NODE_NETWORK), can
result in an honest peer in IBD connecting to the AssumeUTXO node (while syncing)
and requesting an historical block the node does not have. This behavior leads to
an abrupt disconnection due to perceived unresponsiveness (lack of response)
from the AssumeUTXO node.

This lack of response occurs because nodes ignore getdata requests when they do
not have the block data available (further discussion can be found in PR 30385).

Fix this by refraining from signaling full-node service support while the
background chain is being synced. During this period, the node will only
signal 'NODE_NETWORK_LIMITED' support. Then, full-node ('NODE_NETWORK')
support will be re-enabled once the background chain sync is completed.

Github-Pull: bitcoin/bitcoin#30807
Rebased-From: 6d5812e5c8
2024-09-11 13:42:51 -04:00
MarcoFalke
598415bcc1
test: Work around boost compilation error
Github-Pull: bitcoin/bitcoin#30834
Rebased-From: fa9d7d5d20
2024-09-06 11:31:19 -04:00
Ava Chow
fa46088440
Merge bitcoin/bitcoin#30762: [28.x] rc backports
b2a137929a depends: build libevent with -D_GNU_SOURCE (fanquake)
199bb09d88 test: fixing failing system_tests/run_command under some Locales (Jadi)
342baabaff test: Avoid intermittent timeout in p2p_headers_sync_with_minchainwork.py (MarcoFalke)
5577d5a3c0 test: fix `TestShell` initialization (late follow-up for #30463) (Sebastian Falbesoner)

Pull request description:

  Backports:
  * https://github.com/bitcoin/bitcoin/pull/30714
  * https://github.com/bitcoin/bitcoin/pull/30743
  * https://github.com/bitcoin/bitcoin/pull/30761
  * https://github.com/bitcoin/bitcoin/pull/30788

ACKs for top commit:
  willcl-ark:
    ACK b2a137929a
  achow101:
    ACK b2a137929a
  stickies-v:
    ACK b2a137929a

Tree-SHA512: bf08ac0c613395def974a1b287345d4a64edc066c14f8c9f0184478b0e33e48333760eeb6e96b6b5fbafbb21b40d01875e3f526213a2734e226b2e111d71f3a3
2024-09-05 18:29:25 -04:00
fanquake
b2a137929a
depends: build libevent with -D_GNU_SOURCE
Currently, builds of libevent in depends, using CMake, fail on some
systems, like Alpine, with the following:
```bash
/bitcoin/depends/work/build/aarch64-unknown-linux-musl/libevent/2.1.12-stable-1516ed47ea8/evmap.c: In function 'evmap_signal_add_':
/bitcoin/depends/work/build/aarch64-unknown-linux-musl/libevent/2.1.12-stable-1516ed47ea8/evmap.c:456:31: error: 'NSIG' undeclared (first use in this function)
  456 |         if (sig < 0 || sig >= NSIG)
```

From what I can tell the `_GNU_SOURCE` "detection" in libevents CMake build
system, never? really worked, and it's not clear what a nice fix is.

For now, always use `_GNU_SOURCE` when building libevent in depends.

Github-Pull: #30743
Rebased-From: 5567754087
2024-09-05 10:37:40 +01:00
Jadi
199bb09d88
test: fixing failing system_tests/run_command under some Locales
the run_command test under system_tests fails if the locale is anything
other than English ones because results such as "No such file or directory"
will be different under Non-English locales.

On the old version, a `ls nonexistingfile` was used to generate the error
output which is not ideal. In the current version we are using a Python one-liner
to generate a non 0 zero return value and "err" on stderr and check the
expected value against this.

fixes #30608

Github-Pull: #30788
Rebased-From: ae48a22a3d
2024-09-05 09:40:11 +01:00
Jon Atack
1d3a37aa64 wallet: introduce setfeerate, an improved settxfee in sat/vB
Github-Pull: #20391
Rebased-From: 8e863e3d3ce457c9ca26a12e8fd6beac2f50aa7d (diff-minimised)
2024-09-03 13:12:38 +00:00
Jon Atack
1ac478093a test: add ValueFromFeeRate/CFeeRate unit tests
(partial: CFeeRate in 0.21 doesn't take FeeEstimateMode)
2024-09-03 13:12:38 +00:00
Luke Dashjr
d302fef9a3 core_io: Add ValueFromFeeRate helper 2024-09-03 13:12:38 +00:00
Jon Atack
63fd84f7f1 policy: add CFeeRate::SatsToString helper without units 2024-09-03 13:12:38 +00:00
MarcoFalke
342baabaff
test: Avoid intermittent timeout in p2p_headers_sync_with_minchainwork.py
Github-Pull: #30761
Rebased-From: fa247e6e8c
2024-09-03 10:01:56 +01:00
Luke Dashjr
11e1e09759 Bugfix: RPC: blockchain: Actually include "temporary" flag in listprunelocks result 2024-09-03 04:37:32 +00:00
Luke Dashjr
53e5476b40 Bugfix: QA/fuzz: Add listprunelocks and setprunelock to RPC_COMMANDS_SAFE_FOR_FUZZING 2024-09-03 04:36:34 +00:00
Luke Dashjr
24f1597337 RPC/Blockchain: Optimise setprunelock "delete all" slightly 2024-09-03 04:32:41 +00:00
Luke Dashjr
aeb14e6f8e QA: Test prune locks via RPC 2024-09-03 04:32:06 +00:00
Luke Dashjr
6337da5696 RPC: blockchain: Add listprunelocks and setprunelock methods 2024-09-03 04:29:47 +00:00
Luke Dashjr
ee8bcadb84 Support for persisting prune locks in blocks/index db 2024-09-03 04:29:43 +00:00
Simon
bc52cda1f3 fix use int32_t instead of int type for risczero compile with (-march=rv32i, -mabi=ilp32) 2024-09-03 09:52:02 +08:00
Luke Dashjr
55fc577c9a Add internal interfaces for prune locks
Including desc member of PruneLockInfo for a human-readable description
2024-09-03 01:31:45 +00:00
Luke Dashjr
1ebacb60f8 blockstorage: Add height_last to PruneLockInfo 2024-09-03 01:31:45 +00:00
Luke Dashjr
64de1480d3 Move prune lock checking into BlockManager 2024-09-03 01:31:45 +00:00
Luke Dashjr
ad4f3e472f Roll back (tip - 1) prune locks when doing a reorg 2024-09-03 01:31:45 +00:00
Luke Dashjr
2f8aa8e5c0 QA: Test -uaappend 2024-09-03 01:24:37 +00:00
Luke Dashjr
c75d947720 Add -uaappend option to append a literal string to user agent
This can be used by other software that controls the node instance (eg, ABCore)
2024-09-03 01:24:36 +00:00
Luke Dashjr
3b226806d4 Diff-minimise 2024-09-03 01:16:44 +00:00
w0xlt
a42303b506 test: add test for dump human-readable dumptxoutset
Co-authored-by: Luke Dashjr <luke-jr+git@utopios.org>
Co-authored-by: brunoerg <brunoely.gc@gmail.com>
2024-09-03 01:14:37 +00:00
w0xlt
c86d2d1cb3 rpc: allow dumptxoutset to dump human-readable data
Co-authored-by: Shashwat Vangani <shaavan.github@gmail.com>
Co-authored-by: Luke Dashjr <luke-jr+git@utopios.org>
2024-09-03 01:13:36 +00:00
Luke Dashjr
d3bcf469ce Diff-minimise 2024-09-03 00:02:10 +00:00
Luke Dashjr
a0d0807abc Refactor to avoid conflicts in new p2p permissions 2024-09-03 00:02:10 +00:00
Luke Dashjr
aa2885797e Include "blockfilters" in NetPermissions::ToStrings as appropriate 2024-09-03 00:02:10 +00:00
Luke Dashjr
d153093ba2 net: Add blockfilters white{bind,list} permission flag 2024-09-03 00:02:09 +00:00
Luke Dashjr
18043c411c guix: Exclude minisketch files from release tarball 2024-09-02 21:34:29 +00:00
Luke Dashjr
2d02e2fc56 Remove embedded libminisketch (and its tests/fuzz) from build
libminisketch isn't actually used in 26.x, so ignore it
2024-09-02 21:34:28 +00:00