aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-09-01qt: Translation updates from TransifexHennadii Stepanov
The diff is generated by executing the `update-translations.py` script.
2023-08-31Merge bitcoin/bitcoin#28364: log: log wtxids when possible, add TXPACKAGES ↵Andrew Chow
category a3b55c94b9ffde07386aa887149ddca91b364967 [doc] move comment about AlreadyHaveTx DoS score to the right place (glozow) 3b8c17838a561616fd7c933753c7b98b6c6c7c99 [log] add more logs related to orphan handling (glozow) 51b3275cd1de467933f13d8b71286bf5ebd12b4b [log] add category TXPACKAGES for orphanage and package relay (glozow) a33dde1e41d8923a46db84b50550175fa6149c48 [log] include wtxid in tx {relay,validation,orphanage} logging (glozow) Pull request description: This was taken from #28031 (see #27463 for project tracking). - Log wtxids in addition to txids when possible. This allows us to track the fate of a transaction from inv to mempool accept/reject through logs. - Additional orphan-related logging to make testing and debugging easier. Suggested in https://github.com/bitcoin/bitcoin/pull/28031#pullrequestreview-1531022386 and https://github.com/bitcoin/bitcoin/pull/28031#discussion_r1269622220 - Add `TXPACKAGES` category for logging. - Move a nearby comment block that was in the wrong place. ACKs for top commit: instagibbs: reACK https://github.com/bitcoin/bitcoin/pull/28364/commits/a3b55c94b9ffde07386aa887149ddca91b364967 achow101: ACK a3b55c94b9ffde07386aa887149ddca91b364967 brunoerg: crACK a3b55c94b9ffde07386aa887149ddca91b364967 mzumsande: Code review ACK a3b55c94b9ffde07386aa887149ddca91b364967 Tree-SHA512: 21884ef7c2ea2fd006e715574a9dd3e6cbbe8f82d62c6187fe1d39aad5a834051203fda5f355a06ca40c3e2b9561aec50d7c922a662b1edc96f7b552c9f4b24d
2023-08-31Merge bitcoin/bitcoin#28369: doc: Fill in the required skills in the ↵fanquake
good_first_issue template fa3b8162406bb21425a6fb5c6a96d17175545a4c doc: Fill in the required skills in the good_first_issue template (MarcoFalke) Pull request description: Compiling and running the tests is always required, so fill it in to avoid having to type it manually every time. ACKs for top commit: willcl-ark: ACK fa3b816 Tree-SHA512: 1bcb93aaff235dd62513cda05547db90d12ad7638c050ee125845d20df1e1bc457bf4ec590677a0875fae8729dcc58842398e637e517997b35e3b3adffc34a72
2023-08-31Merge bitcoin-core/gui#749: make '-min' minimize wallet loading dialogHennadii Stepanov
32db15450a9ef2a45de29b3b2ae60491a38edbd6 gui: make '-min' minimize wallet loading dialog (furszy) Pull request description: Simple fix for #748. When '-min' is enabled, no loading dialog should be presented on screen during startup. ACKs for top commit: hebasto: ACK 32db15450a9ef2a45de29b3b2ae60491a38edbd6, tested on Debian 11 + XFCE. Tree-SHA512: d08060b044938c67e8309db77b49ca645850fc21fdd7d78d5368d336fb9f602dcc66ea398a7505b00bf7d43afa07108347c7260480319fad3ec84cb41332f780
2023-08-30Merge bitcoin/bitcoin#28353: ci: Remove /ro_base bind mount, Remove LC_ALL=C ↵fanquake
from s390x task fa70cbd9693b0ccc56114647f0817c96b2f223ee ci: Remove unused TEST_RUNNER_ENV="LC_ALL=C" from s390x task (MarcoFalke) fa33354dcb6f289965e84a0cd4492c43dafd917b ci: Remove /ro_base bind mount (MarcoFalke) fa0df9d4c4cb93b0971f92f3fe6f9a1deb5b311f doc: Remove sudo from command that is already run as root (MarcoFalke) Pull request description: Remove some CI stuff no longer needed. ACKs for top commit: fanquake: ACK fa70cbd9693b0ccc56114647f0817c96b2f223ee - did not test the s390x job. Tree-SHA512: 3a6ed0cfc855a92c2f834e59494c0a19a5647510247aece5e40a1aa78074894fe7454e684a1ea1f8f0662c50ac1caf2e390398b0fcfbf81544e6488fa9b8915e
2023-08-30Merge bitcoin/bitcoin#28370: guix: remove GCC 10 workaround from NSISfanquake
588068d5a12b752b70bb7e4f3f8decb1ce2fe4e8 guix: remove GCC 10 workaround from NSIS (fanquake) Pull request description: Fixed upstream in 3.06. See https://github.com/kichik/nsis/commit/229b6136c41ba5caba25936f4927476d20aa283f and https://sourceforge.net/p/nsis/bugs/1248/. Split from #27897, as that is still WIP, and GCC 12 isn't required to make this change. This commit could have gone in with #28328. Guix Build (same for x86_64 & aarch64): ```bash 81a565bc5c719d04cb6640cf7593d7fdd6e37935dc2ac9280f638e625c1c5f87 guix-build-588068d5a12b/output/aarch64-linux-gnu/SHA256SUMS.part 6f1ed3a2a053c3e90f1511fe33239378fc2631f46d795a955807ab39e2b93dfc guix-build-588068d5a12b/output/aarch64-linux-gnu/bitcoin-588068d5a12b-aarch64-linux-gnu-debug.tar.gz c8a2904c651b862d9dce3f4094b59b66be5e745111b75c420452bd04ab9cdbe3 guix-build-588068d5a12b/output/aarch64-linux-gnu/bitcoin-588068d5a12b-aarch64-linux-gnu.tar.gz 654bb5d89e12f936e63e2c910c78842c43db7048a895052295f613a50b639857 guix-build-588068d5a12b/output/arm-linux-gnueabihf/SHA256SUMS.part 8a1b67f3c12b579b374c559f59d709bd83bcd3cff3ec5a4274119c0e5f6c388f guix-build-588068d5a12b/output/arm-linux-gnueabihf/bitcoin-588068d5a12b-arm-linux-gnueabihf-debug.tar.gz 7d8a3327599702a94be4b8d49eda7857f732c290773a775c6de507da656e271b guix-build-588068d5a12b/output/arm-linux-gnueabihf/bitcoin-588068d5a12b-arm-linux-gnueabihf.tar.gz 215786257409612206db7ff4008dbcb6a60dcf6cc92a1a437124a1483612f699 guix-build-588068d5a12b/output/arm64-apple-darwin/SHA256SUMS.part e36b41c531d34ca843028b778163bed4ce4c52310ed8056eff8a1a1b47b61fb7 guix-build-588068d5a12b/output/arm64-apple-darwin/bitcoin-588068d5a12b-arm64-apple-darwin-unsigned.dmg ecb488625bdf566e7c63781795f296ec4f630ef90edf7e6073591ed1d9b90bda guix-build-588068d5a12b/output/arm64-apple-darwin/bitcoin-588068d5a12b-arm64-apple-darwin-unsigned.tar.gz d8f9759a903cd052ea3e562d1ef186c9dad38089205650d1bcb218e7506c378f guix-build-588068d5a12b/output/arm64-apple-darwin/bitcoin-588068d5a12b-arm64-apple-darwin.tar.gz 385084fe6d80d0b563b1b20d558b29681fd5bf624bc70c403e831cd8aae45dc0 guix-build-588068d5a12b/output/dist-archive/bitcoin-588068d5a12b.tar.gz 89504c8be28482d4f70740d6865aa26db0e1854d0b35598c43462cd35f0b49c4 guix-build-588068d5a12b/output/powerpc64-linux-gnu/SHA256SUMS.part 5836bfb4c9a11318362a89db25e4cd9363688ae6be18a6abfd1974a52c0b2759 guix-build-588068d5a12b/output/powerpc64-linux-gnu/bitcoin-588068d5a12b-powerpc64-linux-gnu-debug.tar.gz 3e6f4481a594316ab08ea946c5fac6055ca8a81a91ce0a20c44976b3bc4f8d0d guix-build-588068d5a12b/output/powerpc64-linux-gnu/bitcoin-588068d5a12b-powerpc64-linux-gnu.tar.gz 4e753efe5a20cf6f1e83e604d9f8ba0d79b3c96fc5d5487ec7ed0f33c819b99a guix-build-588068d5a12b/output/powerpc64le-linux-gnu/SHA256SUMS.part 9d29e49b519ce1d683531699dd15e72495052151b21404affc50e7b228155eb1 guix-build-588068d5a12b/output/powerpc64le-linux-gnu/bitcoin-588068d5a12b-powerpc64le-linux-gnu-debug.tar.gz 511179d90bbf6beb45b6168575a78600d38a060891dc1aa8f11f0adc5ba51f87 guix-build-588068d5a12b/output/powerpc64le-linux-gnu/bitcoin-588068d5a12b-powerpc64le-linux-gnu.tar.gz d46184105524d59a75066b067b63df6bfd2203d8003c343a5898ee7d4e4f78e5 guix-build-588068d5a12b/output/riscv64-linux-gnu/SHA256SUMS.part b6434ec5a4a046b9448f36f5596f6db0f8cd71a3e4383827869fcbaa25e005e4 guix-build-588068d5a12b/output/riscv64-linux-gnu/bitcoin-588068d5a12b-riscv64-linux-gnu-debug.tar.gz 237e37ccae4095a1d8aa34d6b967655561ba0a524dfb79e3dcd4c18ad8f8a222 guix-build-588068d5a12b/output/riscv64-linux-gnu/bitcoin-588068d5a12b-riscv64-linux-gnu.tar.gz db28897936262e344da8011d37afde97ed53ba4f5ce1a3f935d258284b22e649 guix-build-588068d5a12b/output/x86_64-apple-darwin/SHA256SUMS.part 8d71763fc748cde1f68785eef4b1a498c1ec4c13cf94f02ad8727debe0d94a1d guix-build-588068d5a12b/output/x86_64-apple-darwin/bitcoin-588068d5a12b-x86_64-apple-darwin-unsigned.dmg 1e0bf2ef0f65f2e7fe5439fe0a15a4803e06d7c42dae06133be5d1b67fa30657 guix-build-588068d5a12b/output/x86_64-apple-darwin/bitcoin-588068d5a12b-x86_64-apple-darwin-unsigned.tar.gz 2d71083593583f3a3ed2e83d4a05f67338e9cb51cb730d238827eef7d3e9007e guix-build-588068d5a12b/output/x86_64-apple-darwin/bitcoin-588068d5a12b-x86_64-apple-darwin.tar.gz cc3cc2c1077a04d5643ca21a43b8b7f233b8c743eb73f066643ddfd4a1e1ce27 guix-build-588068d5a12b/output/x86_64-linux-gnu/SHA256SUMS.part e18c1c0c1cf836c9e540edd969d2657afd3847345b1e0a6e5a9bebfd35782c47 guix-build-588068d5a12b/output/x86_64-linux-gnu/bitcoin-588068d5a12b-x86_64-linux-gnu-debug.tar.gz 4c88aa50227ccd7bb9069369cfc2196de42212f5d0553902155346ae39ef2401 guix-build-588068d5a12b/output/x86_64-linux-gnu/bitcoin-588068d5a12b-x86_64-linux-gnu.tar.gz 51f9f0d9c21598d9d37132e21c786378468c50c393b46e084d81c504186238cd guix-build-588068d5a12b/output/x86_64-w64-mingw32/SHA256SUMS.part a4a0b55a40ba17b70c93eaba132e31c94cb2380cad0fe4e2ebe199c68a49c293 guix-build-588068d5a12b/output/x86_64-w64-mingw32/bitcoin-588068d5a12b-win64-debug.zip 75495c9a00ee7401b96afa51c93fe56d8b10a531ce0526f5b4713b9e8aaab9a5 guix-build-588068d5a12b/output/x86_64-w64-mingw32/bitcoin-588068d5a12b-win64-setup-unsigned.exe a6e8416846ebea253d2b3c5c40f60a227bd5cfb2272a477cf364a085fea140e4 guix-build-588068d5a12b/output/x86_64-w64-mingw32/bitcoin-588068d5a12b-win64-unsigned.tar.gz 2bbd6cd49ad0297a5b3279a5cfbcbb35586cfdd72388e5e1ef2d87e1c8a9cf97 guix-build-588068d5a12b/output/x86_64-w64-mingw32/bitcoin-588068d5a12b-win64.zip ``` ACKs for top commit: hebasto: ACK 588068d5a12b752b70bb7e4f3f8decb1ce2fe4e8. Tree-SHA512: e5876d64ee02fef8a7152b9f649949933b356347de713e00a58aba278243b7de999c3fc50f3cc88e625d07a38e5a6ec2afcb6e836d256b6ac91e91f90f473e64
2023-08-30Merge bitcoin/bitcoin#28352: test: Support powerpc64le in ↵fanquake
get_previous_releases.py faf7e69862a56be918bc011afc7f489978301320 test: Support powerpc64le in get_previous_releases.py (MarcoFalke) Pull request description: To test: `test/get_previous_releases.py -b -t /tmp/prev_releases v22.0` On master: `Not sure which binary to download for powerpc64le-unknown-linux-gnu` Here: (pass) ACKs for top commit: fanquake: ACK faf7e69862a56be918bc011afc7f489978301320 Tree-SHA512: 33d9348f99e0d3924a6a5cba8833ec9e413e80167012b557922f3628069dabd555b02f98a6bfd0eb80e2bbbcdb50865b7bca216e1d080b1546ee4812abda4bc2
2023-08-30Merge bitcoin/bitcoin#28360: ci, windows: Do not run extended functional ↵fanquake
tests for pull requests 62ab3e98ff9f9d708615dc1ef3ec04ae27f89d00 ci, windows: Do not run extended functional tests for pull requests (Hennadii Stepanov) Pull request description: This PR is intended to speed up the CI feedback for pull requests: - a [PR](https://github.com/bitcoin/bitcoin/actions/runs/6019964104?pr=28196) opened against the current master branch: ![image](https://github.com/bitcoin/bitcoin/assets/32963518/481a70eb-13f3-40c9-8f6a-ca2f06350158) - this PR: ![image](https://github.com/bitcoin/bitcoin/assets/32963518/2582307f-7b72-4816-b5be-e84d5e4a3016) Suggested in https://github.com/bitcoin/bitcoin/pull/28173#discussion_r1302929493: > An alternative would be to run them on non-pr pushes only. Failures should be rare enough to deal with them post-merge. ACKs for top commit: MarcoFalke: lgtm ACK 62ab3e98ff9f9d708615dc1ef3ec04ae27f89d00 if https://github.com/hebasto/bitcoin/actions/runs/6023862001/job/16341417883 is green Tree-SHA512: e937efc5c03290f5d246ce1b0638dc72f39ef1d509ba5d2063f92bfe9157c602e6a952a9558dfc6413bbc5209fe55280b3278a0e4079773b8cc9ff236c8f9246
2023-08-30doc: Fill in the required skills in the good_first_issue templateMarcoFalke
2023-08-30ci, windows: Do not run extended functional tests for pull requestsHennadii Stepanov
This change is intended to speed up the CI feedback for pull requests.
2023-08-30guix: remove GCC 10 workaround from NSISfanquake
Fixed upstream in 3.06, see https://github.com/kichik/nsis/commit/229b6136c41ba5caba25936f4927476d20aa283f. https://sourceforge.net/p/nsis/bugs/1248/
2023-08-29[doc] move comment about AlreadyHaveTx DoS score to the right placeglozow
This comment isn't in the right place, as detection of a tx in recent_rejects would cause the function to exit much earlier. Move the comment to the right place and tweak the first sentence for accuracy.
2023-08-29[log] add more logs related to orphan handlingglozow
- Whenever a tx is erased. Allows somebody to see which transactions have been erased due to expiry/overflow, not just how many. - Whenever a tx is added to a peer's workset. - AcceptToMemoryPool when a tx is accepted, mirroring the one logged for a tx received from a peer. This allows someone to see all of the transactions that are accepted to mempool just by looking for ATMP logs. - MEMPOOLREJ when a tx is rejected, mirroring the one logged for a tx received from a peer. This allows someone to see all of the transaction rejections by looking at MEMPOOLREJ logs.
2023-08-29[log] add category TXPACKAGES for orphanage and package relayglozow
2023-08-29[log] include wtxid in tx {relay,validation,orphanage} loggingglozow
2023-08-29Merge bitcoin/bitcoin#28347: lint: replace deprecated pkg_resources with ↵fanquake
importlib.metadata 6c008a20067eb8574f4bd94acdd1d18ff7110d91 script: replace deprecated pkg_resources with importlib.metadata (Jon Atack) Pull request description: Running our python linter with a recent python and the latest release of setuptools [v68.1.2](https://setuptools.pypa.io/en/stable/history.html): ``` $ python3 --version Python 3.11.5 $ ./test/lint/lint-python.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources ``` Using `pkg_resources` was [deprecated](https://github.com/pypa/setuptools/pull/3843) earlier in [v67.5.0](https://setuptools.pypa.io/en/stable/history.html#id55): "Although pkg_resources has been discouraged for use, some projects still consider pkg_resources viable for usage. This change makes it clear that pkg_resources should not be used, emitting a DeprecationWarning when imported." The `importlib.metadata` library requires Python 3.8, which is currently our minimum-supported Python version. For more details about `importlib.metadata` and the two methods imported and used here, see: - https://docs.python.org/3/library/importlib.metadata.html - https://importlib-metadata.readthedocs.io/en/latest/api.html#importlib_metadata.metadata - https://importlib-metadata.readthedocs.io/en/latest/api.html#importlib_metadata.PackageNotFoundError ACKs for top commit: MarcoFalke: lgtm ACK 6c008a20067eb8574f4bd94acdd1d18ff7110d91 (review only, did not test) Tree-SHA512: f5258d37043fcc9744f85641a60a3395ad43822c72d030dea8c39fa7f48ec3d7790cdeeb832f96e8f38046adb7c62fbc577c975ef0c77c8047c0c8f2353ce540
2023-08-29Merge bitcoin/bitcoin#28354: test: default acceptnonstdtxn=0 on all chainsfanquake
13eb8aa572644a53ae0d631916cb4cbc273a92d1 doc: Release notes for testnet defaulting to -acceptnonstdtxn=0 (Anthony Towns) e1dc15d69061e69351c72907444e8ded0ac7c88c config: default acceptnonstdtxn=0 on all chains (Anthony Towns) Pull request description: Changes `-acceptnonstxtxn` to default to 0 on testnet, matching the other chains. Allowing non-standard txs on testnet by default contributed to the difficulties RSK described in #26348: "We see that there are two script paths and, to reduce the script size, a single CHECKMULTISIG is used for the two paths, separating the signer count from the CHECKMULTISIG opcode. This script worked on testnet, because it lacks the standard checks performed in Mainnet." ACKs for top commit: MarcoFalke: lgtm ACK 13eb8aa572644a53ae0d631916cb4cbc273a92d1 sipa: utACK 13eb8aa572644a53ae0d631916cb4cbc273a92d1 instagibbs: utACK https://github.com/bitcoin/bitcoin/pull/28354/commits/13eb8aa572644a53ae0d631916cb4cbc273a92d1 theStack: Code-review ACK 13eb8aa572644a53ae0d631916cb4cbc273a92d1 Tree-SHA512: eff7a3f9fc9b94003a730beb96e6f3399bc8b8e93fde4b15f20a11eda61d9a3e076f4423989f98b794b32681abecbc3756a54cd0d37b136e2fb2ffbb47ee7774
2023-08-28Merge bitcoin/bitcoin#28341: refactor: Use HashWriter over legacy CHashWriterfanquake
99995cfe8da6ea2b93a6cd0e0bc84bb34cbb9d8c refactor: Use HashWriter over legacy CHashWriter (via SerializeHash) (MarcoFalke) 5555aa2d0ddcc478b95a431a57821199ef2c40ac refactor: Use HashWriter over legacy CHashWriter (MarcoFalke) Pull request description: `HashWriter` is a slim and less confusing version of `CHashWriter`, so use it in all places where it compiles. This should be correct, if it compiles. ACKs for top commit: sipa: That said, code review ACK 99995cfe8da6ea2b93a6cd0e0bc84bb34cbb9d8c theuni: ACK 99995cfe8da6ea2b93a6cd0e0bc84bb34cbb9d8c TheCharlatan: ACK 99995cfe8da6ea2b93a6cd0e0bc84bb34cbb9d8c Tree-SHA512: fc967a18379bd00bd334ac3d50beb5435b65ca66a48f72623f1dcdbbce3292fd91839160cd0e69b8f4f3d98e258dcbbc6f73f5e91345f938898ee39c903a442b
2023-08-28doc: Release notes for testnet defaulting to -acceptnonstdtxn=0Anthony Towns
2023-08-28config: default acceptnonstdtxn=0 on all chainsAnthony Towns
Previously, the default for acceptnonstdtxn defaulted to 0 on all chains except testnet. Change this to be consistent across all chains, and remove the parameter from chainparams entirely.
2023-08-28Merge bitcoin/bitcoin#28173: ci: Run Windows native task on GitHub Actionsfanquake
6a4337298035683a8748ae446eae90e5c5f41d1b ci: Run "Win64 native" job on GitHub Actions (Hennadii Stepanov) Pull request description: From https://github.com/bitcoin/bitcoin/issues/28098: > Thus, someone would have to sponsor an amount of roughly 5kUSD/mo for those two tasks. > If the goal is to stay on a free plan, I think the only option is GitHub Actions CI. Historical context: - https://github.com/bitcoin/bitcoin/pull/17697 - https://github.com/bitcoin/bitcoin/issues/17803 - https://github.com/bitcoin/bitcoin/pull/18031 Security concerns: - https://github.com/bitcoin/bitcoin/issues/28098#issuecomment-1651432106 - https://github.com/bitcoin/bitcoin/issues/28098#issuecomment-1651688197 `GITHUB_TOKEN` permissions (from the build log in my personal repo): ``` 2023-07-27T07:30:17.8313534Z ##[group]GITHUB_TOKEN Permissions 2023-07-27T07:30:17.8314113Z Contents: read 2023-07-27T07:30:17.8314608Z Metadata: read 2023-07-27T07:30:17.8314957Z Packages: read 2023-07-27T07:30:17.8315233Z ##[endgroup] ``` Comparison of resources: | Resource | Current, Cirrus CI | Suggested, GitHub Actions | |---|:-:|:-:| | CPU | 6 | 2 | | RAM, GB | 12 | 7 | The `TEST_RUNNER_TIMEOUT_FACTOR` variable is set to the current default value for all CI tasks: https://github.com/bitcoin/bitcoin/blob/64440bb733896a7a2caf902825e0406cb993e666/ci/test/00_setup_env.sh#L48 Top commit has no ACKs. Tree-SHA512: ddfdaf7a1e4793a64ac0cd20f116b29608dd06f15b062769ac70b3ea2fb82775aa96aa79c7b768efefec4338aaa5b57d267b592f62d0e8d5d94ecc11001a165d
2023-08-27ci: Remove unused TEST_RUNNER_ENV="LC_ALL=C" from s390x taskMarcoFalke
2023-08-27ci: Remove /ro_base bind mountMarcoFalke
Just set the bind mount to BASE_READ_ONLY_DIR, which allows to drop one line of code and makes the code easier to understand.
2023-08-27doc: Remove sudo from command that is already run as rootMarcoFalke
2023-08-27test: Support powerpc64le in get_previous_releases.pyMarcoFalke
2023-08-27Merge bitcoin/bitcoin#28337: build: use Clang 15 for macOS cross-compilationfanquake
ff42d81383d5555134ef2d760576b681cadc78d7 guix: use clang-toolchain-15 for macOS compilation (fanquake) 94955b4b1dd1dfa2e8ee8de9181968e631e4e0c9 depends: use LLVM/Clang 15.0.6 for macOS cross-compile (fanquake) Pull request description: This will end up being a blocker for #28210, and is already part of #21778, even though an even newer LLVM/Clang combination is required (and still missing from upstream Guix). Seems straight-forward enough to just bump the macOS compiler to a more modern Clang. ACKs for top commit: TheCharlatan: re-ACK ff42d81383d5555134ef2d760576b681cadc78d7 Tree-SHA512: 8af4b54c3a56abb3825c6470444a28e14e9c69820c09ec4a33acebb8ae434df9ae18163c088a582130cc68755293a7e2bde5d065763919d94064ff9b3f83730f
2023-08-27guix: use clang-toolchain-15 for macOS compilationfanquake
2023-08-27depends: use LLVM/Clang 15.0.6 for macOS cross-compilefanquake
There is no x86_64 binaries for 15.0.7.
2023-08-26script: replace deprecated pkg_resources with importlib.metadataJon Atack
in our python linter: ``` ./test/lint/lint-python.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources ``` The importlib.metadata library was added in Python 3.8, which is currently our minimum-supported Python version. For more details about importlib.metadata, see https://docs.python.org/3/library/importlib.metadata.html
2023-08-26Merge bitcoin/bitcoin#28328: guix: update time-machinefanquake
6cbedc3d9b67538e9949816226ccbe065e4f26a4 guix: drop Windows broken-longjmp.patch (fanquake) a1d4a42993b032cb74734d2d728f9baf98673c9e guix: drop NSIS patch now that we use 3.09 (fanquake) 1f6c75e82bc97ff08e444f2b0569289e96a42356 guix: use cross-* keyword arguments (fanquake) ea4387e1d074632d63a25660990d44cae74665b0 guix: update time-machine to 160f78a4d92205df986ed9efcce7d3aac188cb24 (fanquake) f1a4afb26f21e6e2297616f9f8d1e8fa93be14cf guix: update python-oscrypto to 1.3.0 (fanquake) a8a7b75a0115b753f2d52d00d7764e8177986599 guix: backport glibc patch to fix powerpc build (fanquake) Pull request description: Bumps our Guix time-machine to [160f78a4d92205df986ed9efcce7d3aac188cb24](https://git.savannah.gnu.org/cgit/guix.git/commit/?id=160f78a4d92205df986ed9efcce7d3aac188cb24), which includes: GCC 10.3.0 -> 10.4.0 Binutils 2.37 -> 2.38 Automake 1.16.3 -> 1.16.5 Coreutils 8.32 -> 9.1 Findutils 4.8.2 -> 4.9.0 Libtool 2.4.6 -> 2.4.7 Linux Libre Headers 5.15.37 -> 5.15.127 Git 2.36.0 -> 2.41.0 Mingw-w64 8.0.0 -> 11.0.1 NSIS 3.05 -> 3.09 Xorriso 1.5.2 -> 1.5.6.pl02 Python 3.9 -> 3.10.7 Python-asn1crypto 1.4.0 -> 1.5.1 GCC 12.3.0 becomes available. See #27897. LLVM 15.0.7 becomes available. Sadly not quite new enough for #21778. Split from #27897 for easier review, and to make it clear which changes are part of the time-machine bump vs changing to GCC 12. Guix Build: ```bash 1e4aab93de36b47cbbfc5882d3d2a598e54a9c3604b3be1891ddac70cdc46547 guix-build-6cbedc3d9b67/output/aarch64-linux-gnu/SHA256SUMS.part 278206bddf166ce507ab2ae4742ffbe6ec4256dbc6beee7e42ea040ec3d5b679 guix-build-6cbedc3d9b67/output/aarch64-linux-gnu/bitcoin-6cbedc3d9b67-aarch64-linux-gnu-debug.tar.gz 261974753869297a480db24733f057aa58e33a0ce08754bea74984a00f8c376f guix-build-6cbedc3d9b67/output/aarch64-linux-gnu/bitcoin-6cbedc3d9b67-aarch64-linux-gnu.tar.gz 13bde7d903665f7699e2aa42a23ddc5ece9fab450437ae641d8ebfe6f6b084e1 guix-build-6cbedc3d9b67/output/arm-linux-gnueabihf/SHA256SUMS.part df951e4b23db34d1248f7ee9837594645acea8e2de1ed03b23ee002579a4c653 guix-build-6cbedc3d9b67/output/arm-linux-gnueabihf/bitcoin-6cbedc3d9b67-arm-linux-gnueabihf-debug.tar.gz 5839bb71cca6aafa662f3c7e1c09393dce1c3fd13241726796bf3e681a0a34f0 guix-build-6cbedc3d9b67/output/arm-linux-gnueabihf/bitcoin-6cbedc3d9b67-arm-linux-gnueabihf.tar.gz 637b1aa49db0cab1bc35064d068f1a5fdee5ab2ceba30b7f6d2c80bbf174c107 guix-build-6cbedc3d9b67/output/arm64-apple-darwin/SHA256SUMS.part be87c1ad41f06bcaa8c940fc8d881eca41c531d250ce114325b0e042e603c257 guix-build-6cbedc3d9b67/output/arm64-apple-darwin/bitcoin-6cbedc3d9b67-arm64-apple-darwin-unsigned.dmg 632956e64d2baf9329ee086781b9268786f37b7c3c5f5232e2394ef2839d6d40 guix-build-6cbedc3d9b67/output/arm64-apple-darwin/bitcoin-6cbedc3d9b67-arm64-apple-darwin-unsigned.tar.gz 1b23548a94aee5e03a8aec1e63938d9c8505005b87fa832ed112af60861c42a6 guix-build-6cbedc3d9b67/output/arm64-apple-darwin/bitcoin-6cbedc3d9b67-arm64-apple-darwin.tar.gz e4056df68bac0bdc0a54899af8f8178e78bfb7d170750f2296fd512d0c6c20db guix-build-6cbedc3d9b67/output/dist-archive/bitcoin-6cbedc3d9b67.tar.gz 9f149c82f30eed35e2c217dc57cab37745db27f0a3205e66b4535c247dffc500 guix-build-6cbedc3d9b67/output/powerpc64-linux-gnu/SHA256SUMS.part ef91dce0a735ce0633fd273d9e1d6599d74c18280a866c1d6b71c2c3434af9c3 guix-build-6cbedc3d9b67/output/powerpc64-linux-gnu/bitcoin-6cbedc3d9b67-powerpc64-linux-gnu-debug.tar.gz dfb60f13b9a7435f608f6d09585de37f789b055c77a0ee729e5723b0ef0550fe guix-build-6cbedc3d9b67/output/powerpc64-linux-gnu/bitcoin-6cbedc3d9b67-powerpc64-linux-gnu.tar.gz 0ae916b95617042330166e20a27399c14abbc20638ae3e5e5f9f812146d4a07e guix-build-6cbedc3d9b67/output/powerpc64le-linux-gnu/SHA256SUMS.part 180d9c29da1efd21fba6be8a670b6ed01d71a5e90991da3c543f6720273831a2 guix-build-6cbedc3d9b67/output/powerpc64le-linux-gnu/bitcoin-6cbedc3d9b67-powerpc64le-linux-gnu-debug.tar.gz 9753408e3b4c10b19dba30ecb12ee2ae065c08e7c88be25599e1fdffe81bddbe guix-build-6cbedc3d9b67/output/powerpc64le-linux-gnu/bitcoin-6cbedc3d9b67-powerpc64le-linux-gnu.tar.gz b1f09baec636a3bbaff1be629c95e75767c4ae3d96f0ebe63dcefb6fdb4953fb guix-build-6cbedc3d9b67/output/riscv64-linux-gnu/SHA256SUMS.part 09149283880c39c76f73ce83848f266f93777f6d9d389c2448ef0a9af9339b30 guix-build-6cbedc3d9b67/output/riscv64-linux-gnu/bitcoin-6cbedc3d9b67-riscv64-linux-gnu-debug.tar.gz 788ce14925fec9861c78e16a57a1fd25d0f2ddf3f4e10f3c795bac534d339197 guix-build-6cbedc3d9b67/output/riscv64-linux-gnu/bitcoin-6cbedc3d9b67-riscv64-linux-gnu.tar.gz f357a0522c779d1953f37f4cab0160622cbf89ed3fe49cb5abea2509dba1d76f guix-build-6cbedc3d9b67/output/x86_64-apple-darwin/SHA256SUMS.part be5c797a3e4dc969fd9116dede0cb27bda5180e653bb63d1ef3dbcc3de983bf0 guix-build-6cbedc3d9b67/output/x86_64-apple-darwin/bitcoin-6cbedc3d9b67-x86_64-apple-darwin-unsigned.dmg 7364b2d0223b39debd386b521a5c5d1b26a446331f347b4d4e8fc58bf5b4439e guix-build-6cbedc3d9b67/output/x86_64-apple-darwin/bitcoin-6cbedc3d9b67-x86_64-apple-darwin-unsigned.tar.gz 7e873165d4ed785381b6e461a81a947814d14fdd41ae65bc82134c03b3ac0471 guix-build-6cbedc3d9b67/output/x86_64-apple-darwin/bitcoin-6cbedc3d9b67-x86_64-apple-darwin.tar.gz bf03ca15a885330ed0c91b3137dcc4ec1102570898360cc3f1073f03b792d729 guix-build-6cbedc3d9b67/output/x86_64-linux-gnu/SHA256SUMS.part 0707b0e4d8529fc5f7567d1ff029b4b6fdf0bb46f1eb227d70c3aaa2018d65e5 guix-build-6cbedc3d9b67/output/x86_64-linux-gnu/bitcoin-6cbedc3d9b67-x86_64-linux-gnu-debug.tar.gz 5f1e3713cf856f884d305ad12f43254be3871d9020cc514194fc0a6efd0867b1 guix-build-6cbedc3d9b67/output/x86_64-linux-gnu/bitcoin-6cbedc3d9b67-x86_64-linux-gnu.tar.gz c0d5e284903dbb55e4ad3d43db9b1e5d211c5259c3fae43bf4cddedea2e02c01 guix-build-6cbedc3d9b67/output/x86_64-w64-mingw32/SHA256SUMS.part d16f61c78b784b664d558a9a537e15da432ef9c18de0754dd7fd19682ab0569f guix-build-6cbedc3d9b67/output/x86_64-w64-mingw32/bitcoin-6cbedc3d9b67-win64-debug.zip 617010c1ac295bc692e0a4074acc19ebbc9561a01c8e5365428cfe61dc50fe3c guix-build-6cbedc3d9b67/output/x86_64-w64-mingw32/bitcoin-6cbedc3d9b67-win64-setup-unsigned.exe a48961c49edf9f8988b902d874f47918f6716053be6c3bc263932834cb896510 guix-build-6cbedc3d9b67/output/x86_64-w64-mingw32/bitcoin-6cbedc3d9b67-win64-unsigned.tar.gz 0cd95e8f919ac694dfd88a14fda37c57f0534cb890acc73f70aff71937fa1a8e guix-build-6cbedc3d9b67/output/x86_64-w64-mingw32/bitcoin-6cbedc3d9b67-win64.zip ``` ACKs for top commit: TheCharlatan: ACK 6cbedc3d9b67538e9949816226ccbe065e4f26a4 Tree-SHA512: 48950535febab3865a8899b0ce590a7da6dbd0a89d2d2987a467da457e9ff0687d5afc65f952386fa562aa2a3fc6d8c85b1c221c73998d522076486a9fd845c4
2023-08-25refactor: Use HashWriter over legacy CHashWriter (via SerializeHash)MarcoFalke
2023-08-25refactor: Use HashWriter over legacy CHashWriterMarcoFalke
2023-08-25ci: Run "Win64 native" job on GitHub ActionsHennadii Stepanov
2023-08-24Merge bitcoin/bitcoin#28287: rpc, test: add `sendmsgtopeer` rpc and a test ↵Andrew Chow
for net-level deadlock situation b3a93b409e7fb33af77bd34a269a3eae71d3ba83 test: add functional test for deadlock situation (Martin Zumsande) 3557aa4d0ab59c18807661a49070b0e5cbfecde3 test: add basic tests for sendmsgtopeer to rpc_net.py (Martin Zumsande) a9a1d69391596f57851f545fae12f8851149d2c3 rpc: add test-only sendmsgtopeer rpc (Martin Zumsande) Pull request description: This adds a `sendmsgtopeer` rpc (for testing only) that allows a node to send a message (provided in hex) to a peer. While we would usually use a `p2p` object instead of a node for this in the test framework, that isn't possible in situations where this message needs to trigger an actual interaction of multiple nodes. Use this rpc to add test coverage for the bug fixed in #27981 (that just got merged): The test lets two nodes (almost) simultaneously send a single large (4MB) p2p message to each other, which would have caused a deadlock previously (making this test fail), but succeeds now. As can be seen from the discussion in #27981, it was not easy to reproduce this bug without `sendmsgtopeer`. I would imagine that `sendmsgtopeer` could also be helpful in various other test constellations. ACKs for top commit: ajtowns: ACK b3a93b409e7fb33af77bd34a269a3eae71d3ba83 sipa: ACK b3a93b409e7fb33af77bd34a269a3eae71d3ba83 achow101: ACK b3a93b409e7fb33af77bd34a269a3eae71d3ba83 Tree-SHA512: 6e22e72402f3c4dd70cddb9e96ea988444720f7a164031df159fbdd48056c8ac77ac53def045d9208a3ca07437c7c8e34f8b4ebc7066c0a84d81cd53f2f4fa5f
2023-08-24Merge bitcoin/bitcoin#27480: doc: Improve documentation of rpcallowipAndrew Chow
c8e066461b54d745b85411035fcc00a1a4044d76 doc: Improve documentation of rpcallowip rpchelp (willcl-ark) Pull request description: Closes #21070 v21.0 introduced a behaviour changed noted in #21070 where using a config value `rpcallowip=::0` no longer also permitted ipv4 ip addresses. The rpc_bind.py functional test covers this new behaviour already by checking that the list of bind addresses exactly matches what is expected so this commit only updates the documentation. ACKs for top commit: achow101: ACK c8e066461b54d745b85411035fcc00a1a4044d76 pinheadmz: ACK c8e066461b54d745b85411035fcc00a1a4044d76 jonatack: ACK c8e066461b54d745b85411035fcc00a1a4044d76 Tree-SHA512: 332060cf0df0427c6637a9fd1e0783ce0b0940abdb41b0df13f03bfbdc28af067cec8f0b1bbc4e47b3d54fa1b2f110418442b05b39d5e7c7e0b96744ddd7c003
2023-08-24Merge bitcoin/bitcoin#27585: fuzz: improve `coinselection`Andrew Chow
bf26f978ffbe7e2fc681825de631600e24e5c93e fuzz: coinselection, fix `m_cost_of_change` (brunoerg) 6d9b26d56ab5295dfcfe0f80a3069046a263fb2f fuzz: coinselection, BnB should never produce change (brunoerg) b2eb55840778515d61465acc8106b27e16af1c88 fuzz: coinselection, compare `GetSelectedValue` with target (brunoerg) 0df0438c60e27df1aced6d31a192d6f334cef2d1 fuzz: coinselection, improve `ComputeAndSetWaste` (brunoerg) 1e351e5db1ced6a32681ceea8a111148bd83e323 fuzz: coinselection, add coverage for `Merge` (brunoerg) f0244a8614ee35caef03bc326519823972ec61b4 fuzz: coinselection, add coverage for `GetShuffledInputVector`/`GetInputSet` (brunoerg) 808618b8a25b1d9cfc4e4f1a5b4c6fff02972396 fuzz: coinselection, add coverage for `AddInputs` (brunoerg) 90c4e6a241eee605809ab1b4331e620b92f05933 fuzz: coinselection, add coverage for `EligibleForSpending` (brunoerg) 2a031cb2c218e288a9784d677705a7d2bc1c2d2b fuzz: coinselection, add `CreateCoins` (brunoerg) Pull request description: This PR: - Moves coin creation to its own function called `CreateCoins`. - Add coverage for `EligibleForSpending` - Add coverage for `AddInputs`: get result of each algorithm (srd, knapsack and bnb), call `CreateCoins` and add into them. - Add coverage for `GetShuffledInputVector` and `GetInputSet` using the result of each algorithm (srd, knapsack and bnb). - Add coverage for `Merge`: Call SRD with the new utxos and, if successful, try to merge with the previous SRD result. ACKs for top commit: murchandamus: reACK with some minimal fuzzing bf26f978ffbe7e2fc681825de631600e24e5c93e achow101: ACK bf26f978ffbe7e2fc681825de631600e24e5c93e furszy: re-ACK bf26f97 Tree-SHA512: bdd2b0a39de37be0a9b21a7c51260b6b8abe538cc0ea74312eb658b90a121a1ae07306c09fb0e75e93b531ce9ea2402feb041b0d852902d07739257f792e64ab
2023-08-24Merge bitcoin/bitcoin#28165: net: transport abstractionfanquake
8a3b6f33873a1075f932f5d9feb6d82e50d83c0c refactor: make Transport::ReceivedBytes just return success/fail (Pieter Wuille) bb4aab90fd046f2fff61e082a0c0d01c5ee31297 net: move message conversion to wire bytes from PushMessage to SocketSendData (Pieter Wuille) a1a1060fd608a11dc525f76f2f54ab5b177dbd05 net: measure send buffer fullness based on memory usage (Pieter Wuille) 009ff8d65058430d614c9a0e0e6ae931b7255c37 fuzz: add bidirectional fragmented transport test (Pieter Wuille) fb2c5edb79656a0b3b04ded6419928102ad696d6 net: make V1Transport implicitly use current chainparams (Pieter Wuille) 0de48fe858a1ffcced340eef2c849165216141c8 net: abstract sending side of transport serialization further (Pieter Wuille) 649a83c7f73db2ee115f5dce3df16622e318aeba refactor: rename Transport class receive functions (Pieter Wuille) 27f9ba23efe82531a465c5e63bf7dc62b6a3a8db net: add V1Transport lock protecting receive state (Pieter Wuille) 93594e42c3f92d82427d2b284ff0f94cdbebe99c refactor: merge transport serializer and deserializer into Transport class (Pieter Wuille) Pull request description: This PR furthers the P2P message serialization/deserialization abstraction introduced in #16202 and #16562, in preparation for introducing the BIP324 v2 transport (making this part of #27634). However, nothing in this PR is BIP324-specific, and it contains a number of independently useful improvements. The overall idea is to have a single object in every `CNode` (called `m_transport`) that is responsible for converting sent messages to wire bytes, and for converting received wire bytes back to messages, while having as little as possible knowledge about this conversion process in higher-level net code. To accomplish that, there is an abstract `Transport` class with (currently) a single `V1Transport` implementation. Structurally, the above is accomplished by: * Merging the `TransportDeserializer` and `TransportSerializer` classes into a single `Transport` class, which encompasses both the sending and receiving side. For `V1Transport` these two sides are entirely separate, but this assumption doesn't hold for the BIP324 transport where e.g. the sending encryption key depends on the DH key negotiation data received from the other side. Merging the two means a future `V2Transport` can handle all this interaction without callers needing to be aware. * Removing the assumption that each message is sent using a computed header followed by (unmodified) data bytes. To achieve that, the sending side of `Transport` mirrors what the receiver side does: callers can set a message to be sent, then ask what bytes must be sent out, and then allowing them to transition to the next message. * Adding internal locks to protect the sending and receiving state of the `V1Transport` implementation. I believe these aren't strictly needed (opinions welcome) as there is no real way to use `Transport` objects in a multi-threaded fashion without some form of external synchronization (e.g. "get next bytes to send" isn't meaningful to call from multiple threads at the same time without mechanism to control the order they'll actually get sent). Still, I feel it's cleaner to make the object responsible for its own consistency (as we definitely do not want the entire object to be under a single external GUARDED_BY, as that'd prevent simultaneous sending and receiving). * Moving the conversion of messages to bytes on the sending side from `PushMessage` to `SocketSendData`, which is needed to deal with the fact that a transport may not immediately be able to send messages. This PR is not a refactor, though some commits are. Among the semantic changes are: * Changing the send buffer pushback mechanism to trigger based on the memory usage of the buffer rather than the amount of bytes to be sent. This is both closer to the desired behavior, and makes the buffering independent from transport details (which is why it's included here). * When optimistic send is not applicable, the V1 message checksum calculation now runs in the net thread rather than the message handling thread. I believe that's generally an improvement, as the message handling thread is far more computationally bottlenecked already. * The checksum calculation now runs under the `CNode::cs_vSend` lock, which does mean no two checksum calculations for messages sent to the same node can run in parallel, even if running in separate threads. Despite that limitation, having the checksum for non-optimistic sends moved in the net thread is still an improvement, I believe. * Statistics for per-message-type sent bytes are now updated when the bytes are actually handed to the OS rather than in `PushMessage`. This is because the actual serialized sizes aren't known until they've gone through the transport object. A fuzz test of the entire `V1Transport` is included. More elaborate rationale for each of the changes can be found in the commit messages. ACKs for top commit: theStack: re-ACK 8a3b6f33873a1075f932f5d9feb6d82e50d83c0c vasild: ACK 8a3b6f33873a1075f932f5d9feb6d82e50d83c0c dergoegge: Code review ACK 8a3b6f33873a1075f932f5d9feb6d82e50d83c0c Tree-SHA512: 26e9a6df47f1dd3e3f3edb4874edf365728e5a8bbc9d0d4d71fb6000cb2dfde5574902c47ffcf825af6743922f2ff9d31a5a38942a196f4ca6669122e15e42e4
2023-08-24Merge bitcoin/bitcoin#28230: rpc: Add MaybeArg() and Arg() default helperfanquake
c00000df1605788acadceb90c22ae9f00db8a9dc rpc: Add MaybeArg() and Arg() default helper (MarcoFalke) Pull request description: Currently the RPC method implementations have many issues: * Default RPC argument values (and their optionality state) are duplicated in the documentation and the C++ code, with no checks to prevent them from going out of sync. * Getting an optional RPC argument is verbose, using a ternary operator, or worse, a multi-line `if`. Fix all issues by adding default helper that can be called via `self.Arg<int>(0)`. The helper needs a few lines of code in the `src/rpc/util.h` header file. Everything else will be implemented in the cpp file once and if an RPC method needs it. There is also an `self.MaybeArg<int>(0)` helper that works on any arg to return the argument, the default, or a falsy value. ACKs for top commit: ajtowns: reACK c00000df1605788acadceb90c22ae9f00db8a9dc stickies-v: re-ACK c00000df1605788acadceb90c22ae9f00db8a9dc TheCharlatan: re-ACK c00000df1605788acadceb90c22ae9f00db8a9dc Tree-SHA512: e7ddcab3faa319bc53edbdf3f89ce83389d2c4e571d5db42401620ff105e522a4a0669dad08e08cde5fd05c790aec3b806f63261a9100c2778865a489e57381e
2023-08-24Merge bitcoin/bitcoin#28330: ci: Add missing docker.io prefix for native ↵fanquake
tasks to CI_IMAGE_NAME_TAG fab7f5c01d0b4be00bdd8922d3bf8bd1a27ba8fb ci: Add missing docker.io prefix to CI_IMAGE_NAME_TAG (MarcoFalke) Pull request description: Currently, the CI system may pick the wrong (non-native) architecture due to the missing prefix. For example, assuming the CI_IMAGE_NAME_TAG is `debian:bookworm` and the user has previously pulled an s390x image: ``` $ podman run --rm 'docker.io/s390x/debian:bookworm' dpkg --print-architecture exec /usr/bin/dpkg: exec format error ``` Now, `debian:bookworm` will refer to the same image: ``` $ podman run --rm 'debian:bookworm' dpkg --print-architecture exec /usr/bin/dpkg: exec format error ``` However, `docker.io/debian:bookworm` works fine: ``` $ podman run --rm 'docker.io/debian:bookworm' dpkg --print-architecture arm64 ACKs for top commit: hebasto: ACK fab7f5c01d0b4be00bdd8922d3bf8bd1a27ba8fb. Tree-SHA512: c423c5cd454a95fa3e67081411ca08d316b8c680a5bba49196c514b91df65d9cc46a47700cc00d9579327842615f98146d0ac50abb016616a9b17d042598dab6
2023-08-24Merge bitcoin/bitcoin#28332: test: previous releases: speed up fetching ↵fanquake
sources with shallow clone 360ac64b90ee16cc24bd4c574ec7e11760515a79 test: previous releases: speed up fetching sources with shallow clone (Sebastian Falbesoner) Pull request description: For the sake of building previous releases, fetching the whole history of the repository for each version seems to be overkill as it takes much more time, bandwidth and disk space than necessary. Create a shallow clone instead with history truncated to the one commit of the version tag, which is directly checked out in the same command. This has the nice side-effect that we can remove the extra `git checkout` step after as it's not needed anymore. Note that it might look confusing to pass a _tag_ to a parameter named `--branch`, but the git-clone manpage explicitly states that this is supported. ACKs for top commit: MarcoFalke: lgtm ACK 360ac64b90ee16cc24bd4c574ec7e11760515a79 Tree-SHA512: c885a695c1ea90895cf7a785540c24e8ef8d1d9ea78db28143837240586beb6dfb985b8b0b542d2f64e2f0ffdca7c65fc3d55f44b5e1b22cc5535bc044566f86
2023-08-24Merge bitcoin/bitcoin#28325: test: wallet_backup.py, fix intermittent ↵fanquake
failure in "restore using dumped wallet" c4929cfa50ddb12943198a7f45723eedbd087d8f test: wallet_backup.py, fix intermittent failure in "restore using dumped wallet" (furszy) Pull request description: Aiming to fix #25652. The failure arises because the test expects `init_wallet()` (the test framework function) to create 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 why this failure is intermittent is that it depends on other peers delivering the chain right after node2 startup and prior to the test 'node2.getbalance()' call and also the synchronization of the validation queue. ACKs for top commit: MarcoFalke: lgtm ACK c4929cfa50ddb12943198a7f45723eedbd087d8f Tree-SHA512: 80faa590439305576086a7d6e328f2550c97b218771fc5eba0567feff78732a2605d028a30a368d50944ae3d25fdbd6d321fb97321791a356416f2b790999613
2023-08-24Merge bitcoin/bitcoin#28322: ci: Use concurrency for pull requests onlyfanquake
e7d67efd13f83ba9a6f6e62cb6d12ce37716a404 ci: Use concurrency for pull requests only (Hennadii Stepanov) Pull request description: This PR is an amendment for https://github.com/bitcoin/bitcoin/pull/28282. It avoids skipping builds when some pushes were done consequentially: ![image](https://github.com/bitcoin/bitcoin/assets/32963518/977e9ead-1856-4020-82eb-d16dbead5753) From GitHub Actions [docs](https://docs.github.com/en/actions/using-jobs/using-concurrency): > When a concurrent ... workflow is queued, if another ... workflow using the same concurrency group in the repository is in progress, the queued ... workflow will be pending. **Any previously pending ... workflow in the concurrency group will be canceled.** No behavior change for pull requests: ![image](https://github.com/bitcoin/bitcoin/assets/32963518/4865ae04-fc42-4028-b91e-500c0b36bce6) ACKs for top commit: MarcoFalke: review only ACK e7d67efd13f83ba9a6f6e62cb6d12ce37716a404 dergoegge: lgtm ACK e7d67efd13f83ba9a6f6e62cb6d12ce37716a404 Tree-SHA512: 360be9dbb46354d988935643e8793ea630c3416609c45aab4c39075a00a427487446a34a4fb93b490ece43cabe43640fcc6fb2ac97760e2c6ee54b95241da826
2023-08-24Merge bitcoin/bitcoin#28321: test: Fix intermittent issue in mempool_reorgfanquake
fa5cc3ccfb15d05775ace9c1827b06203ce17116 test: Fix intermittent issue in mempool_reorg (MarcoFalke) Pull request description: Currently the test case may fail intermittently, see https://github.com/bitcoin/bitcoin/issues/28313 Fix this by changing a number and reducing the failure rate a bit. ACKs for top commit: glozow: ACK fa5cc3ccfb15d05775ace9c1827b06203ce17116 Tree-SHA512: ff552111b434ca712c7dbdc5ba32a986a6fa4512cba5a756234eae69428063bf6ecfdc8f350ee84226ed4d3e4262b4639dbe49162a722e8da85f0d61e5690c51
2023-08-24rpc: Add MaybeArg() and Arg() default helperMarcoFalke
2023-08-24Merge bitcoin/bitcoin#27976: ci: Start with clean envfanquake
fa15f7e082396089f0945b53b60cf3ce952e9794 ci: Remove no longer applicable section (MarcoFalke) fa378bed56db66119b7f5847b749c4900b04c0a1 ci: Start with clean env (MarcoFalke) fa8c250c2f6b43f828020a35a8ee4262755c39ed ci: Limit scope of some env vars (MarcoFalke) Pull request description: Starting with a clean `env` should help to avoid non-determinism, such as the one fixed in https://github.com/bitcoin/bitcoin/pull/27739#issuecomment-1564529747 ACKs for top commit: dergoegge: utACK fa15f7e082396089f0945b53b60cf3ce952e9794 Tree-SHA512: 716b264217557b6524dab92d5a2a8d61ecb982dff475bd0cf5a763070b4c5916cd5995e764eb5d67d9cf2428c29d5fc2f42b32941b54c7c3053123ce448171e5
2023-08-24guix: drop Windows broken-longjmp.patchfanquake
This is no-longer required, now that we are building using GCC 10.4.0.
2023-08-24guix: drop NSIS patch now that we use 3.09fanquake
See https://sourceforge.net/p/nsis/bugs/1283/.
2023-08-24guix: use cross-* keyword argumentsfanquake
Using the new time-machine results in warnings about consistently using keyword arguments: ```bash guix environment: warning: 'cross-kernel-headers' must be used with keyword arguments guix environment: warning: 'cross-libc' must be used with keyword arguments ```
2023-08-24guix: update time-machine to 160f78a4d92205df986ed9efcce7d3aac188cb24fanquake
In our time-machine environment this changes the following: GCC 10.3.0 -> 10.4.0 Binutils 2.37 -> 2.38 Linux Libre Headers 5.15.37 -> 5.15.127 git 2.36.0 -> 2.41.0 mingw-w64 8.0.0 -> 11.0.1 NSIS 3.05 -> 3.09 xorriso 1.5.2 -> 1.5.6.pl02 Python 3.9 -> 3.10.7 Python-asn1crypto 1.4.0 -> 1.5.1 GCC 12.3.0 becomes available. LLVM 15.0.7 becomes available.
2023-08-24guix: update python-oscrypto to 1.3.0fanquake
This is required for bumping the time-machine, for compatibility with OpenSSL: oscrypto: openssl backend, 1.2.1, /tmp/guix-build-python-oscrypto-1.2.1.drv-0/source/oscrypto Traceback (most recent call last): File "/tmp/guix-build-python-oscrypto-1.2.1.drv-0/source/oscrypto/_openssl/_libcrypto_ctypes.py", line 304, in <module> libcrypto.EVP_PKEY_size.argtypes = [ File "/gnu/store/9dkl9fnidcdpw19ncw5pk0p7dljx7ijb-python-3.10.7/lib/python3.10/ctypes/__init__.py", line 387, in __getattr__ func = self.__getitem__(name) File "/gnu/store/9dkl9fnidcdpw19ncw5pk0p7dljx7ijb-python-3.10.7/lib/python3.10/ctypes/__init__.py", line 392, in __getitem__ func = self._FuncPtr((name_or_ordinal, self)) AttributeError: /gnu/store/2hr7w64zhr6jjznidyc2xi40d5ynhj9c-openssl-3.0.8/lib/libcrypto.so.3: undefined symbol: EVP_PKEY_size. Did you mean: 'EVP_PKEY_free'?