aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-23fuzz: coinselection, add coverage for `GetShuffledInputVector`/`GetInputSet`brunoerg
2023-08-23fuzz: coinselection, add coverage for `AddInputs`brunoerg
2023-08-23ci: Remove no longer applicable sectionMarcoFalke
This fails with: "Error: determining starting point for build: no FROM statement found"
2023-08-23ci: Start with clean envMarcoFalke
This should help to avoid non-determinism.
2023-08-23ci: Limit scope of some env varsMarcoFalke
No need to have a larger scope than needed. Can be reviewed with --color-moved=dimmed-zebra
2023-08-23Merge bitcoin/bitcoin#21652: ci: Switch remaining Linux tasks to self-hostedfanquake
fa8e89d5e48c4554eddef611eb002b61f3305272 ci: Remove distro-name from task name (MarcoFalke) fad006fa0a8de7b527e9f7b50306921df7a2069a ci: Switch remaining tasks to self-hosted (MarcoFalke) Pull request description: Cirrus CI will be capping the free compute soon. For now, switch more tasks to persistent worker, as recommended by Cirrus CI. (See slightly related discussion in https://github.com/bitcoin/bitcoin/issues/28098) ACKs for top commit: pinheadmz: concept ACK fa8e89d5e48c4554eddef611eb002b61f3305272 dergoegge: ACK fa8e89d5e48c4554eddef611eb002b61f3305272 hebasto: ACK fa8e89d5e48c4554eddef611eb002b61f3305272. Tree-SHA512: f6b172fee14856021b7a219b2490c8a163ad0137567c34a383080c68f8319b1d846923e508a968f43fb63ed6ce536dcb0611905fa288271f2267764b07bf9ecb
2023-08-23test: wallet_backup.py, fix intermittent failure in "restore using dumped ↵furszy
wallet" The failure arises because the test expects 'init_wallet()' (the test framework function) creating a wallet with no keys. However, the function also imports the deterministic private key used to receive the coinbase coins. This causes a race within the "restore using dumped wallet" case, where we intend to have a new wallet (with no existing keys) to test the 'importwallet()' RPC result. The reason behind the intermittent failures might be other peers delivering the chain right after node2 startup (sync of the validation queue included) and prior to the 'node2.getbalance()' check.
2023-08-22Update help text for spend and rawtransaction rpcsMichael Tidwell
fixing typo
2023-08-22Merge bitcoin/bitcoin#28199: test: tx orphan handlingAndrew Chow
9eac5a0529f869075f0331e40d322c34fc8fc2af [functional test] transaction orphan handling (glozow) 61e77bb901bca038b46064dc4531e12c2ab50673 [test framework] make it easier to fast-forward setmocktime (glozow) Pull request description: I was doing some mutation testing (through reckless refactoring) locally and found some specific behaviors in orphan handling that weren't picked up by tests. Adding some of these test cases now can maybe help with reviewing refactors like #28031. - Parent requests aren't sent immediately. A delay is added and the requests are filtered by AlreadyHaveTx before they are sent, which means you can't use fake orphans to probe precise arrival timing of a tx. - Parent requests include all that are not AlreadyHaveTx. This means old confirmed parents may be requested. - The node does not give up on orphans if the peer responds to a parent request with notfound. This means that if a parent is an old confirmed transaction (in which notfound is expected), the orphan should still be resolved. - Rejected parents can cause an orphan to be dropped, but it depends on the reason and only based on txid. - Rejected parents can cause an orphan to be rejected too, by both wtxid and txid. - Requests for orphan parents should be de-duplicated with "regular" txrequest. If a missing parent has the same hash as an in-flight request, it shouldn't be requested. - Multiple orphans with overlapping parents should not cause duplicated parent requests. ACKs for top commit: instagibbs: reACK https://github.com/bitcoin/bitcoin/pull/28199/commits/9eac5a0529f869075f0331e40d322c34fc8fc2af dergoegge: reACK 9eac5a0529f869075f0331e40d322c34fc8fc2af achow101: ACK 9eac5a0529f869075f0331e40d322c34fc8fc2af fjahr: Code review ACK 9eac5a0529f869075f0331e40d322c34fc8fc2af Tree-SHA512: 85488dc6a3f62cf0c38e7dfe7839c01215b44b172d1755b18164d41d01038f3a749451241e4eba8b857fd344a445740b21d6382c45977234b21460e3f53b1b2a
2023-08-22test: add functional test for deadlock situationMartin Zumsande
2023-08-22fuzz: coinselection, add coverage for `EligibleForSpending`brunoerg
2023-08-22fuzz: coinselection, add `CreateCoins`brunoerg
Move coins creation for a specific function. It allows us to use it in other parts of the code.
2023-08-22test: add basic tests for sendmsgtopeer to rpc_net.pyMartin Zumsande
2023-08-22rpc: add test-only sendmsgtopeer rpcMartin Zumsande
This rpc can be used when we want a node to send a message, but cannot use a python P2P object, for example for testing of low-level net transport behavior.
2023-08-22guix: consolidate Linux GCC packagefanquake
Refactor our Linux GCC to be a single 'package', and avoid the use of `package-with-extra-configure-variable`.
2023-08-22guix: consolidate glibc 2.27 packagefanquake
Refactor our glibc 2.27 to be a single 'package', and avoid the use of `package-with-extra-configure-variable`. This also lets us drop the `enable_werror` workaround, and just use --disable-werror directly. Employ the same workaround as the Guix glibc, to avoid a "permission denied" failure during build: ```bash make subdir=sunrpc -C sunrpc ..=../ subdir_install make[2]: Entering directory '/tmp/guix-build-glibc-cross-x86_64-linux-gnu-2.27.drv-0/source/sunrpc' .././scripts/mkinstalldirs /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/rpc mkdir -p -- /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/rpc /gnu/store/kvpvk5wh70wdbjnr83hh85rg22ysxm9h-coreutils-8.32/bin/install -c -m 644 rpc/netdb.h /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/rpc/netdb.h .././scripts/mkinstalldirs /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/nfs mkdir -p -- /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/nfs /gnu/store/kvpvk5wh70wdbjnr83hh85rg22ysxm9h-coreutils-8.32/bin/install -c -m 644 ../sysdeps/unix/sysv/linux/nfs/nfs.h /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/nfs/nfs.h /gnu/store/kvpvk5wh70wdbjnr83hh85rg22ysxm9h-coreutils-8.32/bin/install -c -m 644 /tmp/guix-build-glibc-cross-x86_64-linux-gnu-2.27.drv-0/build/gnu/lib-names-64.h /gnu/store/ga8jciqrd5lh52m572x3mk4q1smf5agq-glibc-cross-x86_64-linux-gnu-2.27/include/gnu/lib-names-64.h /gnu/store/kvpvk5wh70wdbjnr83hh85rg22ysxm9h-coreutils-8.32/bin/install -c -m 644 etc.rpc /etc/rpc /gnu/store/kvpvk5wh70wdbjnr83hh85rg22ysxm9h-coreutils-8.32/bin/install: cannot create regular file '/etc/rpc': Permission denied make[2]: *** [Makefile:197: /etc/rpc] Error 1 ```
2023-08-22Merge bitcoin/bitcoin#28294: guix: pre time-machine bump changes (Windows)fanquake
51324c9517a21471916ab722c33f9925c6071c55 guix: pre time-machine bump changes (Windows) (fanquake) Pull request description: This is some refactoring to the Windows Guix build that facilitates bumping our Guix time-machine. Namely, avoiding `package-with-extra-configure-variable`, which is non-functional in the newer time-machine, see https://issues.guix.gnu.org/64436. At the same time, consolidate our Windows GCC build into `mingw-w64-base-gcc`. Rename `gcc-10-remap-guix-store.patch` to avoid changing it whenever GCC changes. We move the old `building-on` inside `explicit-cross-configure`, so that non-windows builds continue to work. Note that `explicit-cross-configure` will be going away entirely (see #27897), so this is only temporary duplication. Split out of #27897. Most of the [[WIP] Windows commit](https://github.com/bitcoin/bitcoin/pull/27897/commits/e50d5f8953225ce68c18de7b892ee53d4ee0e5d5), minus the gcov change, as it's not-yet needed, and any gexp changes, which need the newer time-machine. I'll also be splitting out the other changes we can do pre-timemachine bump, for easier review. Guix Build: ```bash 9cff4df245df0b8e92d102bda786eb13a1f10be58940b98a16e119d9d4859d7f guix-build-51324c9517a2/output/aarch64-linux-gnu/SHA256SUMS.part dbe6a5fe2e6152cd114b1d549a383384cd3325ed4625ad93f8d824ba457ae9cd guix-build-51324c9517a2/output/aarch64-linux-gnu/bitcoin-51324c9517a2-aarch64-linux-gnu-debug.tar.gz e36409cd7287e4da62806168ee21ef764e607a11685bb36b7642381060291789 guix-build-51324c9517a2/output/aarch64-linux-gnu/bitcoin-51324c9517a2-aarch64-linux-gnu.tar.gz 0721a4b61ad991ec97d09281eda223ed7bad32cb2b4812e05bc5e64772756be7 guix-build-51324c9517a2/output/arm-linux-gnueabihf/SHA256SUMS.part f2aa9412ff77bfc3092404533ec669a610c3fa95711b514abd6cd8ae6918aca1 guix-build-51324c9517a2/output/arm-linux-gnueabihf/bitcoin-51324c9517a2-arm-linux-gnueabihf-debug.tar.gz cda70b7df940dcc1fdeb25e2d3cc6ecce45732fdd741881e2b0384e35897b6d5 guix-build-51324c9517a2/output/arm-linux-gnueabihf/bitcoin-51324c9517a2-arm-linux-gnueabihf.tar.gz 15b5d30336bcaf75db4138c59716af93b9660511222c5f1ad814fc9d7c48c852 guix-build-51324c9517a2/output/arm64-apple-darwin/SHA256SUMS.part a29b327e4d869629af3625d6b7fe44e029e98ac4fedb265133e0d88e045ef933 guix-build-51324c9517a2/output/arm64-apple-darwin/bitcoin-51324c9517a2-arm64-apple-darwin-unsigned.dmg b1af35290051da64462987e32f215464c5e2376afbe5b5bff272f74f160a3461 guix-build-51324c9517a2/output/arm64-apple-darwin/bitcoin-51324c9517a2-arm64-apple-darwin-unsigned.tar.gz 6c3815392377a8497cab15f534cfdb749dbe31e39ca2ae7e53a55b37acfe069d guix-build-51324c9517a2/output/arm64-apple-darwin/bitcoin-51324c9517a2-arm64-apple-darwin.tar.gz efff276305c36ccf2e6eeca56928e6284965d0d08b05565b0bfc94a3dc30cec4 guix-build-51324c9517a2/output/dist-archive/bitcoin-51324c9517a2.tar.gz 0d70106907ac873bd31603b58183ef2cd3b0820ce20b27e3a8d00044b876835c guix-build-51324c9517a2/output/powerpc64-linux-gnu/SHA256SUMS.part 9a6cbc010d08c26c5bc587ed9c42383a6d004ac20426508e67364848aa099154 guix-build-51324c9517a2/output/powerpc64-linux-gnu/bitcoin-51324c9517a2-powerpc64-linux-gnu-debug.tar.gz e39ca22d186bad00119a740279b046a0040628847bea76db0b5d5345efa2312d guix-build-51324c9517a2/output/powerpc64-linux-gnu/bitcoin-51324c9517a2-powerpc64-linux-gnu.tar.gz 945ab751f65d5333b259fd169b280a5fabd35cae89a8f777bc6019f2ac011073 guix-build-51324c9517a2/output/powerpc64le-linux-gnu/SHA256SUMS.part 1c33b4385d5759e4a38cd42e6af99c1224788d03e15b8abd3df48caef3ebcb0a guix-build-51324c9517a2/output/powerpc64le-linux-gnu/bitcoin-51324c9517a2-powerpc64le-linux-gnu-debug.tar.gz 3b4d0f6d874d600095b90eb19ad568ab08c105762c4ba285c6b1a4dc8d9fc2db guix-build-51324c9517a2/output/powerpc64le-linux-gnu/bitcoin-51324c9517a2-powerpc64le-linux-gnu.tar.gz 6d4f508256747841f9b099370cc7da2a97687f7b182683fce0369b524388e952 guix-build-51324c9517a2/output/riscv64-linux-gnu/SHA256SUMS.part 34a474abaf833664448f3643d572eef284037535685af3f3928d9f859e7353e6 guix-build-51324c9517a2/output/riscv64-linux-gnu/bitcoin-51324c9517a2-riscv64-linux-gnu-debug.tar.gz b91a2209d360fe97d3d04cee4ff52271d45c2e47044e4f196dde4585cf61a273 guix-build-51324c9517a2/output/riscv64-linux-gnu/bitcoin-51324c9517a2-riscv64-linux-gnu.tar.gz 88a40ee878a6340a4c5dd4bb82effaff814328e6b6f1345c5824170ba7498279 guix-build-51324c9517a2/output/x86_64-apple-darwin/SHA256SUMS.part 0714092f76e32a1e8484651aed349ccdb5acc38f54dc2ac3ae3031111b5050eb guix-build-51324c9517a2/output/x86_64-apple-darwin/bitcoin-51324c9517a2-x86_64-apple-darwin-unsigned.dmg ab66d04ea3e9304155e66b0e2899b8325fd609c3fed27c74fe1b53f1b9efea15 guix-build-51324c9517a2/output/x86_64-apple-darwin/bitcoin-51324c9517a2-x86_64-apple-darwin-unsigned.tar.gz 222b688ef72b657c0701c8b4660240833e7c516fbbdcc4df8e9a006f5aa9b3bb guix-build-51324c9517a2/output/x86_64-apple-darwin/bitcoin-51324c9517a2-x86_64-apple-darwin.tar.gz 340e73e1697ae5cc1984771ce6e5caf22361ba4d063cbc4073236b210f1754dc guix-build-51324c9517a2/output/x86_64-linux-gnu/SHA256SUMS.part a967753c192b8cb28cc644ce9d239da88ef8faaebc2094e21b7580616a0b8415 guix-build-51324c9517a2/output/x86_64-linux-gnu/bitcoin-51324c9517a2-x86_64-linux-gnu-debug.tar.gz 7d77b14a2c94091a2d68dd9cdb0d878348da323c67eeeb5600273814db1b0e10 guix-build-51324c9517a2/output/x86_64-linux-gnu/bitcoin-51324c9517a2-x86_64-linux-gnu.tar.gz fbfb10b13b7bc5a1ed33578dcdd9483360cad47fd744ac99a9aecdf2a8ac14c2 guix-build-51324c9517a2/output/x86_64-w64-mingw32/SHA256SUMS.part 925bf5f88e907ddc4567acecfc634ef3570b0576499c6427225a52e1f6209d1e guix-build-51324c9517a2/output/x86_64-w64-mingw32/bitcoin-51324c9517a2-win64-debug.zip b3d19a25df2dbd913814e74471da585e629187a19a6afede5890a7df2dd0101f guix-build-51324c9517a2/output/x86_64-w64-mingw32/bitcoin-51324c9517a2-win64-setup-unsigned.exe 96b03fa66e294e95c0cee5d4c9869ac377e739d2da2e87c0c9d35eddd25e6ceb guix-build-51324c9517a2/output/x86_64-w64-mingw32/bitcoin-51324c9517a2-win64-unsigned.tar.gz 95d7f52622c534e40dceb89f150b3f2e0061c56768bcf7399aac3f24b937983b guix-build-51324c9517a2/output/x86_64-w64-mingw32/bitcoin-51324c9517a2-win64.zip ``` ACKs for top commit: TheCharlatan: ACK 51324c9517a21471916ab722c33f9925c6071c55 Tree-SHA512: 4d26ea2b587e4ea2bf76861925437b178376cda7373012f4a6d48ccb3606c20b035b94cba6248ac8d9e0c9e974e9eace818043d312c67d5c5e5771300a839c44
2023-08-22Merge bitcoin/bitcoin#28284: refactor: Remove confusing static_cast in ↵fanquake
address types fadf671fa539e76d000a08b92109ea5503d5f3ac Refactor: Remove confusing static_cast (MarcoFalke) faeea1ab586e30ca3b980999a264f2a3b4769143 refactor: Add missing includes (MarcoFalke) Pull request description: It seems confusing to use `static_cast<uint160>(bla)` to call the constructor of `uint160`. The normal and common way to call a constructor is by simply calling it. (`uint160{bla}`). Do this, and also drop the constructor completely where the existing `const&` reference is enough. Also, add missing includes while touching the file. ACKs for top commit: vincenzopalazzo: ACK https://github.com/bitcoin/bitcoin/pull/28284/commits/fadf671fa539e76d000a08b92109ea5503d5f3ac TheCharlatan: ACK fadf671fa539e76d000a08b92109ea5503d5f3ac Tree-SHA512: 8fb9a72203a6461b1f4b38bb90943ca25a92b218fc87da2022b90802e7747350e3668a13db3189201ad30e2e39a51d6658fed4aad176fd52cecc1c7f972c3134
2023-08-22ci: Use concurrency for pull requests onlyHennadii Stepanov
Otherwise, any previously pending workflow will be canceled on the following push.
2023-08-22Merge bitcoin/bitcoin#28320: test: Support riscv64 in get_previous_releases.pyfanquake
2222e15771838ffcb68adb0f825ce488dce5cab2 test: Support riscv64 in get_previous_releases.py (MarcoFalke) Pull request description: To test: `test/get_previous_releases.py -b -t /tmp/prev_releases v0.18.1` On master: `Not sure which binary to download for riscv64-unknown-linux-gnu` Here: (pass) ACKs for top commit: fanquake: ACK 2222e15771838ffcb68adb0f825ce488dce5cab2 Tree-SHA512: 18dc9a6c65f78adb5f7fc09e57db34c6b544071cb7bb3fa2846c86a23202e37d6ea1c5aca9acc1c2040b7d2b97bb93840a8a949f81f71fe6f01c395d2894739d
2023-08-22Merge bitcoin/bitcoin#28200: refactor: Remove unused includes from wallet.cppfanquake
fa6286891fa4164510e4fbf4bc214ce3033b2d1b Remove unused includes from wallet.cpp (MarcoFalke) fa8fdbe22932a4717d2bc4060269da9bff228728 Remove unused includes from blockfilter.h (MarcoFalke) fad8c36aa9011c3f7b1183f8380577e16a2167a6 move-only: Create src/kernel/mempool_removal_reason.h (MarcoFalke) fa5760880094c4e4238249f6d1837cd74383cc3a Remove unused includes from txmempool.h (MarcoFalke) Pull request description: This makes compilation of wallet.cpp use a few % less memory and time, locally. Created in the context of https://github.com/bitcoin/bitcoin/issues/28109, but I don't think it is enough to actually fix this problem. ACKs for top commit: hebasto: ACK fa6286891fa4164510e4fbf4bc214ce3033b2d1b, I have reviewed the code and it looks OK. Tree-SHA512: 06f1120af2a8ef3368dbd9ae747acda88ace2507bd261bcc10341d476a0b3d71c8485377ea6c108b47df3e4c13b7f75a15f486bafa6a8466303168dde16ebbc8
2023-08-22Merge bitcoin/bitcoin#28288: test: fix 'unknown named parameter' test in ↵fanquake
`wallet_basic` 452c094449de00f3640e6e0763366e7603375825 test: fix 'unknown named parameter' test in `wallet_basic` (brunoerg) Pull request description: This PR removes loop when testing an unknown named parameter. They don't have any effect. ACKs for top commit: jonatack: ACK 452c094449de00f3640e6e0763366e7603375825 theStack: re-ACK 452c094449de00f3640e6e0763366e7603375825 Tree-SHA512: cf1a37d738bb6fdf9817e7b1d33bc69643dae61e3dbfae5c1e9f26220c55db6f134018dd9a1c65c13869ee58bcb6f3337c5999aabf2614d3126fbc01270705e8
2023-08-22test: Fix intermittent issue in mempool_reorgMarcoFalke
2023-08-22test: Support riscv64 in get_previous_releases.pyMarcoFalke
2023-08-22Merge bitcoin/bitcoin#28157: test doc: tests `acceptstalefeeestimates` ↵glozow
option is only supported on regtest chain ee5a0369cc4305da7b3d26f37677de05ad797e51 test: ensure acceptstalefeeestimates is supported only on regtest chain (ismaelsadeeq) 22d5d4b2b2486feaef981e96f0321f020617f082 tx fees, policy: doc: update and delete unnecessary comment (ismaelsadeeq) Pull request description: This PR Follow up comments from [#27622](https://github.com/bitcoin/bitcoin/pull/27622) It test that the new `regtest-only` option `acceptstalefeeestimates` is not supported on [main, signet and test chains](https://github.com/bitcoin/bitcoin/pull/27622/files#r1235218268), removes an unnecessary [comment](https://github.com/bitcoin/bitcoin/pull/27622/files#r1235204323), and update fee estimator `MAXFILEAGE` [description comment](https://github.com/bitcoin/bitcoin/pull/27622/files#r1233887314). ACKs for top commit: jonatack: ACK ee5a0369cc4305da7b3d26f37677de05ad797e51 glozow: utACK ee5a0369cc4305da7b3d26f37677de05ad797e51 Tree-SHA512: 4755f25b08db62f37614ea768272b12580ee0d481fb7fa339379901a6132c66828777c6747d3fe67490ceace3a6ff248bf13bdf65720f6e5ba8642eb762acd3c
2023-08-21test: fix 'unknown named parameter' test in `wallet_basic`brunoerg
Fixes loop when testing an unknown named parameter.
2023-08-21Merge bitcoin/bitcoin#28292: ci: Disable cache save for pull requests in ↵fanquake
GitHub Actions 241d6ca34c60d9003a27bb7960cebfb66366753b ci: Disable cache save for pull requests in GitHub Actions (Hennadii Stepanov) Pull request description: This PR disable cache save for pull requests in GitHub Actions. Otherwise, multiple pull requests fill GitHub Actions cache quota shortly. See a discussion [here](https://github.com/bitcoin/bitcoin/pull/28187#discussion_r1295459732). --- **NOTE** for the maintainers with "owner" permissions. This PR needs the `actions/cache/restore@*` and `actions/cache/save@*` acrions to be explicitly allowed in the repository's Actions permissions. ACKs for top commit: MarcoFalke: lgtm ACK 241d6ca34c60d9003a27bb7960cebfb66366753b Tree-SHA512: a7786c7ec99bfa6991bf6ae08fd7ed3546e8c5d083a1b2bae7638f6f31e77fdf2cf4fc69d85834faf87f98db1f4a82026ce1dc5fc1bc6650e8bf1c09bf7e90f5
2023-08-21ci: Disable cache save for pull requests in GitHub ActionsHennadii Stepanov
Otherwise, multiple pull requests fill GitHub Actions cache quota shortly.
2023-08-21Merge bitcoin/bitcoin#28218: refactor: Make IsInitialBlockDownload & ↵fanquake
NotifyHeaderTip not require a Chainstate 94a98fbd1d14a4ea10629b917771d50f3191e944 assumeutxo cleanup: Move IsInitialBlockDownload & NotifyHeaderTip to ChainstateManager (Ryan Ofsky) Pull request description: This change makes `IsInitialBlockDownload` and `NotifyHeaderTip` functions no longer tied to individual `Chainstate` objects. It makes them work with the `ChainstateManager` object instead so code is simpler and it is no longer possible to call them incorrectly with an inactive `Chainstate`. This change also makes `m_cached_finished_ibd` caching easier to reason about, because now there is only one cached value instead of two (for background and snapshot chainstates) so the cached IBD state now no longer gets reset when a snapshot is loaded. There should be no change in behavior because these functions were always called on the active `ChainState` objects. These changes were discussed previously https://github.com/bitcoin/bitcoin/pull/27746#discussion_r1246868905 and https://github.com/bitcoin/bitcoin/pull/27746#discussion_r1237552792 as possible followups for that PR. ACKs for top commit: MarcoFalke: re-ACK 94a98fbd1d14a4ea10629b917771d50f3191e944 🐺 naumenkogs: ACK 94a98fbd1d14a4ea10629b917771d50f3191e944 dergoegge: reACK 94a98fbd1d14a4ea10629b917771d50f3191e944 Tree-SHA512: 374d6e5c9bbc7564c143f634bd709a4e8f4a42c8d77e7a8554c832acdcf60fa2a134f3ea10827db1a1e0191006496329c0ebf5c64f3ab868398c3722bb7ff56f
2023-08-21test: ensure acceptstalefeeestimates is supported only on regtest chainismaelsadeeq
2023-08-18assumeutxo cleanup: Move IsInitialBlockDownload & NotifyHeaderTip to ↵Ryan Ofsky
ChainstateManager This change makes IsInitialBlockDownload and NotifyHeaderTip functions no longer tied to individual Chainstate objects. It makes them work with the ChainstateManager object instead so code is simpler and it is no longer possible to call them incorrectly with an inactive Chainstate. This change also makes m_cached_finished_ibd caching easier to reason about, because now there is only one cached value instead of two (for background and snapshot chainstates) so the cached IBD state now no longer gets reset when a snapshot is loaded. There should be no change in behavior because these functions were always called on the active ChainState objects. These changes were discussed previously https://github.com/bitcoin/bitcoin/pull/27746#discussion_r1246868905 and https://github.com/bitcoin/bitcoin/pull/27746#discussion_r1237552792 as possible followups for that PR.
2023-08-18ci: Remove distro-name from task nameMarcoFalke
The exact distro name should not be important. Also, it is easy to find out, if needed. Thus, remove it to avoid bloat and maintenance overhead having to keep it in sync.
2023-08-18ci: Switch remaining tasks to self-hostedMarcoFalke
This allows to drop unused templates, such as cirrus_ephemeral_worker_template_env, or container_depends_template. Also, ccache_cache, previous_releases_cache, and base_depends_built_cache can be dropped, because the caching is done in container volumes on the self-hosted runners.
2023-08-18Merge bitcoin/bitcoin#28295: ci: Add missing amd64 to win64-cross taskfanquake
fa56d17a4b868f42fa45bea0d1f0c78de75e7838 ci: Add missing amd64 to win64-cross task (MarcoFalke) Pull request description: Currently the task will fail if run on non-`x86_64`. Fix this by adding the missing `amd64`, similar to https://github.com/bitcoin/bitcoin/blob/7bf078f2b7d4a0339d053144b4fb35fe020dac25/ci/test/00_setup_env_i686_multiprocess.sh#L11 ACKs for top commit: hebasto: ACK fa56d17a4b868f42fa45bea0d1f0c78de75e7838 Tree-SHA512: faab1c5b945283b7e8d080bbcc8e9379c480cf6973506149ace5990cb4d04673f83f4bc36d08d5b4e9cb17a86fdbe23ac97ef4eab0e842616b367b8138229c58
2023-08-18Merge bitcoin/bitcoin#28296: ci: Add missing ${CI_RETRY_EXE} before curlfanquake
fa968ef6a32bb66ca9fa3b84807f1c960f6a9833 ci: Add missing ${CI_RETRY_EXE} before curl (MarcoFalke) Pull request description: GitHub is frequently down and this is causing many intermittent issues. For example, from today: https://cirrus-ci.com/task/5740122163904512?logs=ci#L398 Try to fix it with a retry. ACKs for top commit: hebasto: ACK fa968ef6a32bb66ca9fa3b84807f1c960f6a9833 Tree-SHA512: e9a1e51af37ec718ca776f20d8b5394680a9b059fb2a22505ccb6781472e4b072694e7d01661ede5a87ef1f58a9143e29d032b6a5d13d8be3b7d46eeff061563
2023-08-18ci: Add missing amd64 to win64-cross taskMarcoFalke
Also, do the same for android, which also fails.
2023-08-18ci: Add missing ${CI_RETRY_EXE} before curlMarcoFalke
2023-08-18guix: pre time-machine bump changes (Windows)fanquake
Split out of #27897. This is some refactoring to the Windows Guix build that facilitates bumping our Guix time-machine. Namely, avoiding `package-with-extra-configure-variable`, which is non-functional in the newer time-machine, see https://issues.guix.gnu.org/64436. At the same time, consolidate our Windows GCC build into mingw-w64-base-gcc. Rename `gcc-10-remap-guix-store.patch` to avoid changing it whenever GCC changes. We move the old `building-on` inside `explicit-cross-configure`, so that non-windows builds continue to work. Note that `explicit-cross-configure` will be going away entirely (see #27897).
2023-08-18Merge bitcoin/bitcoin#28237: refactor: Enforce C-str fmt strings in ↵fanquake
WalletLogPrintf() fa60fa3b0cba4a30726af8e0e9d1e84e14849eda bitcoin-tidy: Apply bitcoin-unterminated-logprintf to spkm as well (MarcoFalke) faa11434fe38aa82892802adb6d879d112ae1675 refactor: Enable all clang-tidy plugin bitcoin tests (MarcoFalke) fa6dc57760e0a04dbb2e365ca7ad9fd8171ebfdb refactor: Enforce C-str fmt strings in WalletLogPrintf() (MarcoFalke) fa244f3321de7884f530bb38493a8d0a0cec86ab doc: Fix bitcoin-unterminated-logprintf tidy comments (MarcoFalke) Pull request description: All fmt functions only accept a raw C-string as argument. There should never be a need to pass a format string that is not a compile-time string literal, so disallow it in `WalletLogPrintf()` to avoid accidentally introducing it. Apart from consistency, this also fixes the clang-tidy plugin bug https://github.com/bitcoin/bitcoin/pull/26296#discussion_r1286821141. ACKs for top commit: theuni: ACK fa60fa3b0cba4a30726af8e0e9d1e84e14849eda Tree-SHA512: fa6f4984c50f9b34e850bdfee7236706af586e512d866cc869cf0cdfaf9aa707029c210ca72d91f85e75fcbd8efe0d77084701de8c3d2004abfd7e46b6fa9072
2023-08-18Merge bitcoin/bitcoin#28100: crypto: more `Span<std::byte>` modernization & ↵fanquake
follow-ups 57cc136282c38825e97bbf85728df4bdf1ccc648 crypto: make ChaCha20::SetKey wipe buffer (Pieter Wuille) da0ec62e34cc56bf8990e28c6ec12683d4752305 tests: miscellaneous hex / std::byte improvements (Pieter Wuille) bdcbc8594c208f11e7d5221700bfa7f7a874aec9 fuzz: support std::byte in Consume{Fixed,Variable}LengthByteVector (Pieter Wuille) 7d1cd932342e74421ae927800eeada14f504b944 crypto: require key on ChaCha20 initialization (Pieter Wuille) 44c11769a83b90ca6b8af086d6fa69ff7ac1c3ae random: simplify FastRandomContext::randbytes using fillrand (Pieter Wuille) 3da636e08b781fa2f7c1c23bb937015185732a75 crypto: refactor ChaCha20 classes to use Span<std::byte> interface (Pieter Wuille) Pull request description: This modernizes the ChaCha20 and ChaCha20Aligned interfaces to be `Span<std::byte>` based, and other improvements. * Modifies all functions and constructors of `ChaCha20` and `ChaCha20Aligned` to be `Span<std::byte>` based (aligning them with `FSChaCha20`, `AEADChaCha20Poly1305`, and `FSChaCha20Poly1305`) * Remove default constructors, to make sure all call sites provide a key (suggested in https://github.com/bitcoin/bitcoin/pull/26153#discussion_r1129313162) * Wipe key material on rekey for security (suggested in https://github.com/bitcoin/bitcoin/pull/26153#discussion_r1267164605) * Use `HexStr` on byte vectors in tests (suggested in https://github.com/bitcoin/bitcoin/pull/27993#discussion_r1262023316) * Support `std::byte` vectors in `ConsumeRandomLengthByteVector` and `ConsumeFixedLengthByteVector`, and use it (suggested in https://github.com/bitcoin/bitcoin/pull/27993#discussion_r1265337111) * And a few more. While related, I don't see this as a necessary for BIP324. ACKs for top commit: stratospher: ACK 57cc136. theStack: re-ACK 57cc136282c38825e97bbf85728df4bdf1ccc648 Tree-SHA512: 361da4ff003c8465a32eeac0983a8a6f047dbbf5b400168b409c8e3234e79d577fc854e0764389446585da3e12b964c94dd67fc0c9c1d1d092cec296121e05d4
2023-08-18Merge bitcoin/bitcoin#28289: rpc: remove one more quote from non-string ↵fanquake
oneline description 239431444216850b63ecf01c3b5c5d6d24230d08 rpc: remove one more quote from non-string oneline description (Martin Zumsande) Pull request description: This fixes a silent conflict between https://github.com/bitcoin/bitcoin/pull/28123 (which removed all `\"options\"`) and https://github.com/bitcoin/bitcoin/pull/27460 (which added a new one). It should fix the current CI failures. ACKs for top commit: ajtowns: utACK 239431444216850b63ecf01c3b5c5d6d24230d08 MarcoFalke: lgtm ACK 239431444216850b63ecf01c3b5c5d6d24230d08 jonatack: ACK 239431444216850b63ecf01c3b5c5d6d24230d08 hebasto: ACK 239431444216850b63ecf01c3b5c5d6d24230d08 Tree-SHA512: feb0c2b936a77be45d9c65aa7d738277b2266b5153665fee3b1413045de521195dc7d5efa2fc8b37b22f16e9b8d0ee8de25bfd151a428666122b31f64056557a
2023-08-18Remove unused includes from wallet.cppMarcoFalke
This removes unused includes, such as undo.h or txmempool.h from wallet.cpp. Also, add missing ones, according to IWYU.
2023-08-17rpc: remove one more quote from non-string oneline descriptionMartin Zumsande
This fixes a silent conflict betwen #28123 and #27460
2023-08-17crypto: make ChaCha20::SetKey wipe bufferPieter Wuille
2023-08-17tests: miscellaneous hex / std::byte improvementsPieter Wuille
2023-08-17fuzz: support std::byte in Consume{Fixed,Variable}LengthByteVectorPieter Wuille
2023-08-17crypto: require key on ChaCha20 initializationPieter Wuille
2023-08-17random: simplify FastRandomContext::randbytes using fillrandPieter Wuille
2023-08-17crypto: refactor ChaCha20 classes to use Span<std::byte> interfacePieter Wuille
2023-08-17Remove unused includes from blockfilter.hMarcoFalke
This removes unused includes, primitives/block found manually, and the others by iwyu: blockfilter.h should remove these lines: - #include <serialize.h> // lines 16-16 - #include <undo.h> // lines 18-18