Commit graph

35378 commits

Author SHA1 Message Date
Pieter Wuille
e8cc2e4afc
Make miniscript string parsing account for exact script size as bound
Co-Authored-by: Antoine Poinsot <darosior@protonmail.com>
2022-09-17 15:12:48 +02:00
Pieter Wuille
4cb8f9a92c
Permit delaying duplicate key check in miniscript::Node construction 2022-09-17 10:47:05 +02:00
fanquake
a688ff9046
Merge bitcoin/bitcoin#26087: build: prune BOOST_CPPFLAGS from libbitcoin_zmq
a10df7cf35 build: prune BOOST_CPPFLAGS from libbitcoin_zmq (fanquake)

Pull request description:

  Rather than including `validation.h`, which ultimately means needing boost via `txmempool.h`, include `primitives/block.h` for `CBlock`, and remove `validation.h`, as we can get `cs_main` from `node/blockstorage.h`.

ACKs for top commit:
  theuni:
    Nice. ACK a10df7cf35.
  hebasto:
    ACK a10df7cf35, tested on Linux x86_64 using theuni's [patch](e131d8f1e3) with depends.

Tree-SHA512: 792b6f9e7e7788d10333b4943609efbc798f3b187c324a0f2d5acbb2d44e3c67705dc54d698eb04c23e5af7b8b73a47f8e7974e819eac12f12ae62f28c807476
2022-09-16 14:53:53 +01:00
MacroFake
9fefd00d8e
Merge bitcoin/bitcoin#26107: [test] only run feature_rbf.py once
667401a855 [test] only run feature_rbf.py once (glozow)

Pull request description:

  There is no need to run this test twice with --descriptors and --legacy-wallet, as it doesn't use the wallet.

ACKs for top commit:
  aureleoules:
    ACK 667401a855.
  theStack:
    ACK 667401a855
  brunoerg:
    ACK 667401a855

Tree-SHA512: 339213159fac29ebc5678461fae41645aed57877d5525e8ca4755890b869a17ae0bea3f590114769c84b71a7df20c59c9530ab8b327912151c82ec58022f7e71
2022-09-16 15:03:13 +02:00
fanquake
3d892d8695
Merge bitcoin/bitcoin#26086: build: remove BOOST_CPPFLAGS usage from bitcoin-tx
f839697d9b build: remove BOOST_CPPFLAGS usage from bitcoin-tx (fanquake)

Pull request description:

  The only reason `BOOST_CPPFLAGS` was needed here, is because of the `policy/rbf.h` include, which ultimately includes boost multi_index via `txmempool.h`. However this include is unused.

ACKs for top commit:
  theuni:
    Nice. ACK f839697d9b.
  hebasto:
    ACK f839697d9b, tested on Linux x86_64 using theuni's [patch](e131d8f1e3) with depends.

Tree-SHA512: ec93f4045d927789d70e2a96a6869c0df63891483bb61361327bfefafaabc2925f63382aa3d9302963df2306bc035edad4cabd5eeb315db6603266e677be7cd3
2022-09-16 12:12:14 +01:00
fanquake
5a724d1161
Merge bitcoin/bitcoin#25918: build: prune event2 compat headers
22dada5d17 build: prune compat event headers (fanquake)

Pull request description:

  The `*_compat` headers are the deprecated / non-threadsafe function containing
  versions of the current headers. There's no need for us to ship them in depends.
  Prune them to save the safe / nuke the possibility of them being used.

  Guix Build (x86_64):
  ```bash
  4f48b4987101c3624673ab0a19daad5b99cb3c99b273d96a65e77cbbc3813444  guix-build-22dada5d1744/output/aarch64-linux-gnu/SHA256SUMS.part
  8296443d555666628d43be42c507e15856ee8e611738a1cdf4bdb731e1d75264  guix-build-22dada5d1744/output/aarch64-linux-gnu/bitcoin-22dada5d1744-aarch64-linux-gnu-debug.tar.gz
  dc986fe901d2fdfd2596325798ac8da3d3170ef66dfd3a4eb8804a3883c9e133  guix-build-22dada5d1744/output/aarch64-linux-gnu/bitcoin-22dada5d1744-aarch64-linux-gnu.tar.gz
  dcb142a1b2b9370cb2e3bf52853afc66ca9abede97189da8b05ecf5563054fb0  guix-build-22dada5d1744/output/arm-linux-gnueabihf/SHA256SUMS.part
  5e42eef5e8bc618878647e782a307f5a7780ffc1a263b3466d277341fdc33e2b  guix-build-22dada5d1744/output/arm-linux-gnueabihf/bitcoin-22dada5d1744-arm-linux-gnueabihf-debug.tar.gz
  4d766d4799e354c24973396eb97efefb356847b2b35a5540d2861ea8010ed8ca  guix-build-22dada5d1744/output/arm-linux-gnueabihf/bitcoin-22dada5d1744-arm-linux-gnueabihf.tar.gz
  a174b3da7a4a66210dafb4c7b1742e6fcefa2ac2d7e332cb1bd2e7d909fe2728  guix-build-22dada5d1744/output/arm64-apple-darwin/SHA256SUMS.part
  010fb348996a7ba55746d02ba83ad0638768c235015b23b84ab1fea5dc50fc55  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin-unsigned.dmg
  163a3e5f8ad71e41ce52a1f1f1281fbcbc73cfc66500345eae1ca99c3f5fba85  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin-unsigned.tar.gz
  bf88d8ab9d70be73e9d7b14053e7a9c5cf6641ccef8f100f6f6fba7762e8092e  guix-build-22dada5d1744/output/arm64-apple-darwin/bitcoin-22dada5d1744-arm64-apple-darwin.tar.gz
  d60415586a2d66558e816bc2be8b7a74f111b944ddb15e5a8e9c6331a0436083  guix-build-22dada5d1744/output/dist-archive/bitcoin-22dada5d1744.tar.gz
  665a9677417a1931382cf5dbeab29c84f642da31cf3258b5879ebd29ad43bed8  guix-build-22dada5d1744/output/powerpc64-linux-gnu/SHA256SUMS.part
  0e2551558bd40657bf0cc3cbd03b4bfdf3b87ac07258dc8751d616af5fce729d  guix-build-22dada5d1744/output/powerpc64-linux-gnu/bitcoin-22dada5d1744-powerpc64-linux-gnu-debug.tar.gz
  fd771b607cc5749b666ddd995f47ff7ba8e0e46d811abb295636cc90270ed30a  guix-build-22dada5d1744/output/powerpc64-linux-gnu/bitcoin-22dada5d1744-powerpc64-linux-gnu.tar.gz
  117e11774ab23f6302c363f710ea68367f8fa80342d8a8919775db76864fc151  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/SHA256SUMS.part
  6e10bc01e2352d8db7eb16328206ee622fc2605a87d203f134e6137954789ce8  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/bitcoin-22dada5d1744-powerpc64le-linux-gnu-debug.tar.gz
  1825d5bda86f6fd247c43cbf1922e0bcd60a0637233c6eb95d58917751eb2e3a  guix-build-22dada5d1744/output/powerpc64le-linux-gnu/bitcoin-22dada5d1744-powerpc64le-linux-gnu.tar.gz
  15ea9e04d72ebe4fd446698f71bf45c76b7e5bb8bdd5e027250d6efe1ac3ddfa  guix-build-22dada5d1744/output/riscv64-linux-gnu/SHA256SUMS.part
  7cf329951c79ccdf700f9283b5e55990eb85c9f11e74ee3672a15f5e5c1250f8  guix-build-22dada5d1744/output/riscv64-linux-gnu/bitcoin-22dada5d1744-riscv64-linux-gnu-debug.tar.gz
  5a73600f715e01823e9ede02376fc6538680996c713d04ccc8b2ae0caa6b476c  guix-build-22dada5d1744/output/riscv64-linux-gnu/bitcoin-22dada5d1744-riscv64-linux-gnu.tar.gz
  f5b30bcea748e78b125fa4da979038627e9a15b7a20f002f53538b4dbeed2c5d  guix-build-22dada5d1744/output/x86_64-apple-darwin/SHA256SUMS.part
  f649de898e0e2aebf7e94ee0fbd2d7011a789b235e0c9c151f33e0b9ad0fa132  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin-unsigned.dmg
  9f36c3d2edfd5f5b8d1833bb54f9fe0b91805de85828fed211d4d1e43c9d0fe3  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin-unsigned.tar.gz
  43b1c1880858a6a1c94bd2004d25172f0d12e5e6042c83f1905eda6252a0febb  guix-build-22dada5d1744/output/x86_64-apple-darwin/bitcoin-22dada5d1744-x86_64-apple-darwin.tar.gz
  ce7b249b3349f5c272484fd108239260c70eb6c9d2afcf2031650f7cbb09cd17  guix-build-22dada5d1744/output/x86_64-linux-gnu/SHA256SUMS.part
  ea6d8ffd517a07cb8c1806e6d4bf90dd5784db76bb8cb3ea0f747da92672a7f6  guix-build-22dada5d1744/output/x86_64-linux-gnu/bitcoin-22dada5d1744-x86_64-linux-gnu-debug.tar.gz
  18bed83f2384d8952c86c760f012fe870922a8cccaeb1181176bd05f06b43436  guix-build-22dada5d1744/output/x86_64-linux-gnu/bitcoin-22dada5d1744-x86_64-linux-gnu.tar.gz
  1836ad08ef45635dc2f5f49f48b0a812290b7cce23974474cc6a1db9e779d54e  guix-build-22dada5d1744/output/x86_64-w64-mingw32/SHA256SUMS.part
  37c859523561a9dedd956ef235189eb4335396f0be154cb36aa35cb0cd4f1b93  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-debug.zip
  d574828d8a7c3ddcdc1ea1cf686ba7102a25b7403d338d896ef0e9a57e3b5611  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-setup-unsigned.exe
  20828fd22d8b2104747440a180d4a944912244f405061c29fb58a8e19604dcbd  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64-unsigned.tar.gz
  a0ecdec301e54cb65e35badae05d94338ec33b03e0b4e0f332025ce5248fd74a  guix-build-22dada5d1744/output/x86_64-w64-mingw32/bitcoin-22dada5d1744-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 22dada5d17

Tree-SHA512: 8a042b25a8081678465fd00b615f8007a4be65c4d383725586e4b5f1b89638ad7d9eaba6113a8d96413aa774ec15b6593b0a364b593db8cdbb09e80e0b358109
2022-09-16 11:56:48 +01:00
MacroFake
5eb9781763
Merge bitcoin/bitcoin#25971: refactor: Use std::string for thread and index names
26cf9ea8e4 scripted-diff: rename pszThread to thread_name (stickies-v)
200d84d568 refactor: use std::string for index names (stickies-v)
97f5b20c12 refactor: use std::string for thread names (stickies-v)

Pull request description:

  As a follow-up to https://github.com/bitcoin/bitcoin/pull/25967#discussion_r959637189, this PR changes the return type of [`BaseIndex::GetName()`](fa5c224d44/src/index/base.h (L120)) to `const std::string&` instead of `const char*`. The first commit is not essential for this change, but since the code is touched and index names are commonly used to specify thread names, I've made the same update there.

  No behaviour change, just refactoring to further phase out C-style strings.

  Note: `util::ThreadRename()` used to take an rvalue ref, but since it then passes this to `SetInternalName()` by value, I don't think there's any benefit to having both an rvalue and lvalue ref function so I just changed it into lvalue ref. Not 100% sure I'm missing something?

ACKs for top commit:
  MarcoFalke:
    review ACK 26cf9ea8e4 only change is new scripted-diff 😀
  hebasto:
    ACK 26cf9ea8e4, I have reviewed the code and it looks OK.
  w0xlt:
    reACK 26cf9ea8e4

Tree-SHA512: 44a03ebf2bb86ca1411a36222a575217cdba8ee3a3c985e74d74c934516f002b27336147fa22f59eda7dac21204a93951563317005d475da95b23c427014d77b
2022-09-16 12:39:39 +02:00
fanquake
08785aa75b
Merge bitcoin/bitcoin#25499: Use steady clock for all millis bench logging
fa521c9603 Use steady clock for all millis bench logging (MacroFake)

Pull request description:

  Currently `GetTimeMillis` is used for bench logging in milliseconds integral precision. Replace it to use a steady clock that is type-safe and steady.

  Microsecond or float precision can be done in a follow-up.

ACKs for top commit:
  fanquake:
    ACK fa521c9603 - started making the same change.

Tree-SHA512: 86a810e496fc663f815acb8771a6c770331593715cde85370226685bc50c13e8e987e3c5efd0b4e48b36ebd2372255357b709204bac750d41e94a9f7d9897fa6
2022-09-16 11:10:15 +01:00
fanquake
1d6c605165
Merge bitcoin/bitcoin#26057: build, guix: Get rid of perl dependency
d0433a3153 guix: Drop perl package (Hennadii Stepanov)
55e468f149 build: Add `-no-mimetype-database` option to qt package in depends (Hennadii Stepanov)

Pull request description:

  Perl is required only in Qt to create its own MIME database, which we never use.

  Guix build on `x86_64`:
  ```
  b63983137239de664edba06834d48fbfc1957d4c56aaf1b2c4cd253bad2856f9  guix-build-d0433a31534d/output/aarch64-linux-gnu/SHA256SUMS.part
  f4ea6d24a0248f573a0e6e207f872a964ad061459837e3c44ddc2257871349f9  guix-build-d0433a31534d/output/aarch64-linux-gnu/bitcoin-d0433a31534d-aarch64-linux-gnu-debug.tar.gz
  00efef73311e2a231255f7e2010d5a77ec986b60be26be10f27dc24aa84382c7  guix-build-d0433a31534d/output/aarch64-linux-gnu/bitcoin-d0433a31534d-aarch64-linux-gnu.tar.gz
  8eaf54f1d867b8279e5bf7db9d57a86b9d63dbb7f17bc8df131336781325ca25  guix-build-d0433a31534d/output/arm-linux-gnueabihf/SHA256SUMS.part
  1fc60e3086e09cefef8f3848787c4bf601a017a5e75a1dd322c81916ad737d30  guix-build-d0433a31534d/output/arm-linux-gnueabihf/bitcoin-d0433a31534d-arm-linux-gnueabihf-debug.tar.gz
  92b51c48dd7aeb1853345bc17f433c56c3704755008fbe2d5b203145af87b667  guix-build-d0433a31534d/output/arm-linux-gnueabihf/bitcoin-d0433a31534d-arm-linux-gnueabihf.tar.gz
  7daadc27af84bfeab98802481c3dbce852613b712db1711f5bf67c36ad54414a  guix-build-d0433a31534d/output/arm64-apple-darwin/SHA256SUMS.part
  2d1de48b0acfdd6aa3a5dd7c97557463d11ef8a2a12b2227bf555a8d387c3db9  guix-build-d0433a31534d/output/arm64-apple-darwin/bitcoin-d0433a31534d-arm64-apple-darwin-unsigned.dmg
  a1fd2d0103295b4a3bda8f8be39df2bb3cef1be18235c20f7a4f13e4f839b9b0  guix-build-d0433a31534d/output/arm64-apple-darwin/bitcoin-d0433a31534d-arm64-apple-darwin-unsigned.tar.gz
  abb9c9f2a2506205a236240de3fc602d9bc884a19a8d64ede2d9abf03c29141c  guix-build-d0433a31534d/output/arm64-apple-darwin/bitcoin-d0433a31534d-arm64-apple-darwin.tar.gz
  13f21eb33c2d0719da0bd5227ea58e5bb625a7fd0bd2af8d1a13efe7a00ab46c  guix-build-d0433a31534d/output/dist-archive/bitcoin-d0433a31534d.tar.gz
  0a83e8b591fd79d0493f381f1fc849ed89428e43794c9f791e5ee36fa6b945b8  guix-build-d0433a31534d/output/powerpc64-linux-gnu/SHA256SUMS.part
  56b592cf691ef22557a03d6083a0603b45caa6ebfd17c0dda6fc870c8612a19f  guix-build-d0433a31534d/output/powerpc64-linux-gnu/bitcoin-d0433a31534d-powerpc64-linux-gnu-debug.tar.gz
  9d72a57f5bd509aaf48c18bf7d8b27861722242aa85036e7c6512983e6f102ee  guix-build-d0433a31534d/output/powerpc64-linux-gnu/bitcoin-d0433a31534d-powerpc64-linux-gnu.tar.gz
  0512992f6ee3ca2693121cd4bcb45a23de7759ccd87db67e4f091ada75fca3e1  guix-build-d0433a31534d/output/powerpc64le-linux-gnu/SHA256SUMS.part
  b3ccdeac6bc7c36ce5792018dbad81b18a6fb62c4fc67df820796e70f4630100  guix-build-d0433a31534d/output/powerpc64le-linux-gnu/bitcoin-d0433a31534d-powerpc64le-linux-gnu-debug.tar.gz
  f4c11cbd56431f5d257dff881a46d7ddf83b3d3a2e05c5e88e5575c4bb552960  guix-build-d0433a31534d/output/powerpc64le-linux-gnu/bitcoin-d0433a31534d-powerpc64le-linux-gnu.tar.gz
  ad71196a5af12eedb906fb009b8f635933fa2bf83586b4b2360f6b84f52998ca  guix-build-d0433a31534d/output/riscv64-linux-gnu/SHA256SUMS.part
  6fe7dbb772e91dccec781b4d7a47cc8179ba0fb4614a3da6423679a4539ae96e  guix-build-d0433a31534d/output/riscv64-linux-gnu/bitcoin-d0433a31534d-riscv64-linux-gnu-debug.tar.gz
  f8fb450f627791b20e56d00bc9544984120fe22d9644318bc01cf027914b7338  guix-build-d0433a31534d/output/riscv64-linux-gnu/bitcoin-d0433a31534d-riscv64-linux-gnu.tar.gz
  fb741950e3699fe2ffa44754e493a28b06c00ce12f9a4c073e38dd960bfe805d  guix-build-d0433a31534d/output/x86_64-apple-darwin/SHA256SUMS.part
  47dfb3eb3526c319ed528c24f19dda4ee3e6e03ca36d62f31207bad65083be76  guix-build-d0433a31534d/output/x86_64-apple-darwin/bitcoin-d0433a31534d-x86_64-apple-darwin-unsigned.dmg
  4e306e35e7c885791694762d10fbc4e563466a2240036c3e1fc877c2806ac583  guix-build-d0433a31534d/output/x86_64-apple-darwin/bitcoin-d0433a31534d-x86_64-apple-darwin-unsigned.tar.gz
  ac71e5164142225fc018f47d278d5450a28de05259f41437a7c4183708d8681d  guix-build-d0433a31534d/output/x86_64-apple-darwin/bitcoin-d0433a31534d-x86_64-apple-darwin.tar.gz
  f670fbe6652211d57dca9c79a6e37023b40d32117cf5e0d28dd9ba6247af1d61  guix-build-d0433a31534d/output/x86_64-linux-gnu/SHA256SUMS.part
  94b23c572cac60f7ce1f7851e1aa0c8d41cc5fa5863089027aa8d524b6940d91  guix-build-d0433a31534d/output/x86_64-linux-gnu/bitcoin-d0433a31534d-x86_64-linux-gnu-debug.tar.gz
  6d48a676f126eea585ab352c6bc923341903d891da6e8c4d4e2e168b8d6c4820  guix-build-d0433a31534d/output/x86_64-linux-gnu/bitcoin-d0433a31534d-x86_64-linux-gnu.tar.gz
  23bb6919646725bfe35f4e3eb1beedb3ee4f49dc0b410d47185a2e06fb0184e3  guix-build-d0433a31534d/output/x86_64-w64-mingw32/SHA256SUMS.part
  a92202b0c397aede252c433dbf83d5094141d5263f32d1078a052da7cf23059b  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64-debug.zip
  11d84ad174e12f3342764b47f42e32a55bd6d277416dcf6b05556173ace48430  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64-setup-unsigned.exe
  436364e555e57090472600b5486af8bdefe0baaab7441b919e23f90d01a3347f  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64-unsigned.tar.gz
  e193bf3179194d68d88e295d0ef830ef77ddb504bc0f9aa17f84b537b275ddde  guix-build-d0433a31534d/output/x86_64-w64-mingw32/bitcoin-d0433a31534d-win64.zip
  ```

ACKs for top commit:
  fanquake:
    ACK d0433a3153 - with the cavaet that I haven't looked at the qt changes, or the effects of using the `-no-mimetype-database` flag, at all. Also performed a Guix build from scratch with this branch rebased on master.
  jarolrod:
    ACK d0433a3153

Tree-SHA512: d6dc9bb19e793027d818aee0e248e59fdbf4f4ff46d55538f30e1731254c4739de342a3e917ae7d3f3bc1b6451667b9e8984a6522a1fcece7891c51502a420e8
2022-09-16 10:47:35 +01:00
fanquake
2530a24689
Merge bitcoin/bitcoin#26105: Use ReadLE64 in uint256::GetUint64 instead of duplicating logic
04fee75bac Use ReadLE64 in uint256::GetUint64() instead of duplicating logic (Pieter Wuille)

Pull request description:

  No need to have a (naive) copy of the `ReadLE64` logic inside `uint256::GetUint64`, when we have an optimized function for exactly that.

ACKs for top commit:
  davidgumberg:
    ACK 04fee75bac
  jonatack:
    ACK 04fee75bac review, this use of ReadLE64() is similar to the existing invocation by Num3072::Num3072(), sanity checked that before and after this change GetUint64() returns the same result (debug build, clang 13)

Tree-SHA512: 0fc2681536a18d82408411bcc6d5c6445fb96793fa43ff4021cd2933d46514c725318da35884f428d1799023921f33f8af091ef428ceb96a50866ac53a345356
2022-09-16 10:32:23 +01:00
fanquake
19526d937f
Merge bitcoin/bitcoin#26065: i2p: use the same destination type for transient and persistent addresses
8b2891a6d1 i2p: use the same destination type for transient and persistent addresses (Vasil Dimov)

Pull request description:

  We generate our persistent I2P address with type `EdDSA_SHA512_Ed25519` (`DEST GENERATE SIGNATURE_TYPE=7`).

  Use the same type for our transient addresses which are created by the `SESSION CREATE ...` command. If not specified, then the default one is `DSA_SHA1` according to https://geti2p.net/en/docs/api/samv3.

  Fixes https://github.com/bitcoin/bitcoin/issues/26062

ACKs for top commit:
  mzumsande:
    ACK 8b2891a6d1
  sipa:
    utACK 8b2891a6d10f4a3875010d2e8eafd78bcf378952; didn't test but verified this matches the documentation

Tree-SHA512: 1b10e7e1e274b77609d08ee9cf9d73fef8c975c51aec452ce23e15fcf41709398c697087bfdece121b1fd26bc0501fc45857a91aaab679cadd0cbb37dd94c3a7
2022-09-16 09:13:49 +01:00
MacroFake
27351fb915
Merge bitcoin/bitcoin#26093: doc: consolidate release-note fragments pre-wiki
b0349a7d95 doc: consolidate & remove release-note fragments (fanquake)

Pull request description:

  The formatting / ordering doesn't matter a great deal here, given this will shortly be moving to the wiki for further additions / formatting changes etc.

ACKs for top commit:
  MarcoFalke:
    ACK b0349a7d95
  achow101:
    ACK b0349a7d95
  jarolrod:
    ACK b0349a7d95

Tree-SHA512: 80d2f9f25bc13d407ab9fd0473ff02043a1e6b9895e27d3229d717d357606063472582d31bc1b4058741d2e34be806ef1460acd66d43d6493562ffcf3f6defa5
2022-09-16 08:35:58 +02:00
Pieter Wuille
04fee75bac Use ReadLE64 in uint256::GetUint64() instead of duplicating logic 2022-09-15 16:48:50 -04:00
Andrew Chow
a56876e6b9
Merge bitcoin/bitcoin#26024: wallet: fix sendall creates tx that fails tx-size check
cc434cbf58 wallet: fix sendall creates tx that fails tx-size check (kouloumos)

Pull request description:

  Fixes https://github.com/bitcoin/bitcoin/issues/26011

  The `sendall` RPC doesn't use `CreateTransactionInternal` as the rest of
  the wallet RPCs. [This has already been discussed in the original PR](https://github.com/bitcoin/bitcoin/pull/24118#issuecomment-1029462114).
  By not going through that path, it never checks the transaction's weight
  against the maximum tx weight for transactions we're willing to relay.
  447f50e4ae/src/wallet/spend.cpp (L1013-L1018)
  This PR adds a check for tx-size as well as test coverage for that case.

  _Note: It seems that the test takes a bit of time on slower machines,
  I'm not sure if dropping it might be for the better._

ACKs for top commit:
  glozow:
    re ACK cc434cb via range-diff. Changes were addressing https://github.com/bitcoin/bitcoin/pull/26024#discussion_r971325299 and https://github.com/bitcoin/bitcoin/pull/26024#discussion_r970651614.
  achow101:
    ACK cc434cbf58
  w0xlt:
    reACK cc434cbf58

Tree-SHA512: 64a1d8f2c737b39f3ccee90689eda1dd9c1b65f11b2c7bc0ec8bfe72f0202ce90ab4033bb0ecfc6080af8c947575059588a00938fe48e7fd553f7fb5ee03b3cc
2022-09-15 13:26:22 -04:00
Andrew Chow
96f1b2d34f
Merge bitcoin/bitcoin#26091: test: Fix syncwithvalidationinterfacequeue calls
fa1ce96184 test: Add missing syncwithvalidationinterfacequeue (MacroFake)
faa4916529 test/doc: Remove unused syncwithvalidationinterfacequeue (MacroFake)

Pull request description:

  Fixes #26071

ACKs for top commit:
  achow101:
    ACK fa1ce96184
  glozow:
    ACK fa1ce96184
  w0xlt:
    ACK fa1ce96184

Tree-SHA512: d1e101b55477360ead2b99ade5d42b922aabe293ec84fb26764e29161c5be6c534aef6f22d2cc5ea63a4bd6b6e77b701f1a7a2283b8e7e815d343a604cd77656
2022-09-15 13:17:43 -04:00
fanquake
b0349a7d95
doc: consolidate & remove release-note fragments
These have been moved here:
https://github.com/bitcoin-core/bitcoin-devwiki/wiki/24.0-Release-Notes-draft.
2022-09-15 16:02:17 +01:00
fanquake
f332c4f64d
Merge bitcoin/bitcoin#26090: fs: fully initialize _OVERLAPPED for win32
02c9e56468 fs: fully initialize _OVERLAPPED for win32 (Cory Fields)

Pull request description:

  ```bash
  fs.cpp: In member function ‘bool fsbridge::FileLock::TryLock()’:
  fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::InternalHigh’ [-Werror=missing-field-initializers]
    129 |     _OVERLAPPED overlapped = {0};
        |                                ^
  fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::<anonymous>’ [-Werror=missing-field-initializers]
  fs.cpp:129:32: error: missing initializer for member ‘_OVERLAPPED::hEvent’ [-Werror=missing-field-initializers]
  ```

  Came up in #25972. That PR is now rebased on this change.

  Closes: #26006

ACKs for top commit:
  sipsorcery:
    tACK 02c9e56468.
  hebasto:
    ACK 02c9e56468, tested on Linux x86_64:

Tree-SHA512: 6a0495c34bd952b2bb8c994a1450da7d3eee61225bb4ff0ce009c013f5e29dba94bb1c3ecef9989dc18c939909fdc8eba690a38f96da431ae9d64c23656de7d0
2022-09-15 15:32:29 +01:00
fanquake
20f03a5aed
Merge bitcoin/bitcoin#26089: build: remove unused cppflags
4b656b9ed3 build: remove unused libevent cppflags (fanquake)
afce044bb6 build: remove unused natpmp / upnp cppflags (fanquake)

Pull request description:

  Their inclusion is likely just the result of copy-paste.

  The only place upnp & natpmp CPPFLAGS  should be used is [`libbitcoin_node` (mapport.cpp)](13fd9ee5c2/src/Makefile.am (L352)).

ACKs for top commit:
  theuni:
    ACK 4b656b9ed3
  hebasto:
    ACK 4b656b9ed3, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 800daeb06ddcbade3a862ca939a8cf87dc36282ed4fe9dc256d17b78a8751e2e08799788dc449046e1d875f93372912269d3ffcb5702628a41648794df32e887
2022-09-15 15:21:26 +01:00
kouloumos
cc434cbf58 wallet: fix sendall creates tx that fails tx-size check
The `sendall` RPC doesn't use `CreateTransactionInternal`as the rest of
the wallet RPCs and it never checks against the tx-size mempool limit.
Add a check for tx-size as well as test coverage for that case.
2022-09-15 13:22:19 +03:00
fanquake
4b656b9ed3
build: remove unused libevent cppflags 2022-09-15 09:30:26 +01:00
fanquake
afce044bb6
build: remove unused natpmp / upnp cppflags
Their inclusion is likely just the result of copy-paste.

The only place upnp/natpmpflags  should be used is `libbitcoin_node`
(mapport.cpp).
2022-09-15 09:30:26 +01:00
MacroFake
fa1ce96184
test: Add missing syncwithvalidationinterfacequeue 2022-09-15 09:06:13 +02:00
MacroFake
718304d222
Merge bitcoin/bitcoin#26084: sendall: check if the maxtxfee has been exceeded
6f8e3818af sendall: check if the maxtxfee has been exceeded (ishaanam)

Pull request description:

  Previously the `sendall` RPC didn't check whether the fees of the transaction it creates exceed the set `maxtxfee`. This PR adds this check to `sendall` and a test case for it.

ACKs for top commit:
  achow101:
    ACK 6f8e3818af
  Xekyo:
    ACK 6f8e3818af
  glozow:
    Concept ACK 6f8e3818af. The high feerate is unlikely but sendall should respect the existing wallet options.

Tree-SHA512: 6ef0961937091293d49be16f17e4451cff3159d901c0c7c6e508883999dfe0c20ed4d7126bf74bfea8150d4c1eef961a45f0c28ef64562e6cb817fede2319f1a
2022-09-15 08:45:08 +02:00
Andrew Chow
2e3cd26a1a
Merge bitcoin/bitcoin#26053: rpc: bugfix, 'add_inputs' default value is true unless 'inputs' are provided
b00fc44ca5 test: add coverage for 'add_inputs' dynamic default value (furszy)
ddbcfdf3d0 RPC: bugfix, 'add_inputs' default value is true unless 'inputs' are provided (furszy)

Pull request description:

  This bugfix was meant to be in #25685, but decoupled it to try to make it part of 24.0 release.
  It's a truly misleading functionality.

  This PR doesn't change behavior in any way. Just fixes two invalid RPC help messages and adds test
  coverage for the current behavior.

  #### Description
  In both RPC commands `send()` and `walletcreatefundedpsbt` the help message says
  that `add_inputs` default value is false when it's actually dynamically set by the following statement:

  ```c++
  coin_control.m_allow_other_inputs = rawTx.vin.size() == 0;
  ```

  Which means that, by default, `add_inputs` is true unless there is any pre-set input, in which
  case, the default is false.

ACKs for top commit:
  achow101:
    ACK b00fc44ca5
  S3RK:
    ACK b00fc44ca5

Tree-SHA512: 5c68a40d81c994e0ab6de0817db69c4d3dea3a9a64a60362531bf583b7a4c37d524b740905a3f3a89cdbf221913ff5b504746625adb8622788aea93a35bbcd40
2022-09-14 16:15:03 -04:00
Hennadii Stepanov
d190003700
Merge bitcoin-core/gui#669: Update translation source file for string freeze (round 2)
6725030e41 qt: Update translation source file for string freeze (round 2) (Hennadii Stepanov)

Pull request description:

  On the day of [translation string freeze](https://github.com/bitcoin/bitcoin/issues/24987#issuecomment-1234026641), it happened that bitcoin-core/gui#660 did not include new strings from bitcoin/bitcoin#19602.

  This PR includes all recent updates.

  As a Transifex translator, I believe it is enough time for all translators to handle a few new strings by a release date. Also a Transifex check failure has been [fixed](bitcoin-core/gui/pull/664).

ACKs for top commit:
  jarolrod:
    ACK 6725030e41

Tree-SHA512: d57b841e87e389d31ec4ae9067b83f7f209e168399bc088c3234c2c66b34772739cb801f04b5038d55de115083d022d603bc976374bfd537b8ea10c10a545183
2022-09-14 20:00:29 +01:00
furszy
b00fc44ca5
test: add coverage for 'add_inputs' dynamic default value
Covered cases for send() and walletcreatefundedpsbt() RPC commands:

1. Default add_inputs value with no preset inputs (add_inputs=true):
       Expect: automatically add coins from the wallet to the tx.

2. Default add_inputs value with preset inputs (add_inputs=false):
       Expect: disallow automatic coin selection.

3. Explicit add_inputs=true and preset inputs (with preset inputs not-covering the target amount).
       Expect: include inputs from the wallet.

4. Explicit add_inputs=true and preset inputs (with preset inputs covering the target amount).
       Expect: only preset inputs are used.

5. Explicit add_inputs=true, no preset inputs (same as (1) but with an explicit set):
       Expect: include inputs from the wallet.
2022-09-14 11:13:45 -03:00
Hennadii Stepanov
6725030e41
qt: Update translation source file for string freeze (round 2) 2022-09-14 15:03:07 +01:00
Hennadii Stepanov
f523df1ee8
Merge bitcoin-core/gui#664: Prevent wrong handling of %2 token by Transifex
8ed2b72767 qt: Prevent wrong handling of `%2` token by Transifex (Hennadii Stepanov)

Pull request description:

  On master (124e75a41e), Transifex translation check fails for 124e75a41e/src/qt/forms/intro.ui (L206) with a message:
  > The expression '%2G' is not present in the translation.

  In "Organization Settings" --> ["Translation checks"](https://www.transifex.com/bitcoin/settings/validations/) I have changed the status of the "**Variable substitution specifiers (like "%s") are preserved in the translations.**" check from "error" to "warning" temporarily. This setting should be reverted after applying this PR change.

  [Noted](https://www.transifex.com/bitcoin/bitcoin/translate/#ru/qt-translation-024x/436102928/) by Transifex user [AHOHNMYC](https://www.transifex.com/user/profile/AHOHNMYC/).

  I faced the same issue while working on Ukrainian translation.

ACKs for top commit:
  katesalazar:
    ACK 8ed2b72767
  jarolrod:
    ACK 8ed2b72767

Tree-SHA512: 304f795ac9241ac8453c614ed18d967226d9d515f9ea079b51af5bcbe2f0760ca7dcaea5efb38207720cb7a18159c2bcd337b961bc522a128715c70e0db81061
2022-09-14 14:58:59 +01:00
Hennadii Stepanov
bc29c4d4a5
Merge bitcoin-core/gui#663: Cleanup translation comment
5f28fc8160 qt: Cleanup translation comment (Hennadii Stepanov)

Pull request description:

  An unneeded character slipped in bitcoin-core/gui#629.

ACKs for top commit:
  jarolrod:
    ACK 5f28fc8160
  jonatack:
    utACK 5f28fc8160

Tree-SHA512: 210fb626e8035786cf6859160c60b2815c813e02908c75efc71a2c64d511edd6f81b2f67f1c98b29122b990260ebf663da445ea2d01b6268e3e046ada1ca5b6e
2022-09-14 14:56:26 +01:00
fanquake
c67d6f5b5f
Merge bitcoin/bitcoin#26079: Revert "doc: note that brew installed qt is not supported"
34a2f91055 Revert "doc: note that brew installed qt is not supported" (Hennadii Stepanov)

Pull request description:

  As bitcoin/bitcoin#26056 fixes bitcoin/bitcoin#25947 it looks reasonable to revert bitcoin/bitcoin#21988.

ACKs for top commit:
  fanquake:
    ACK 34a2f91055 - haven't tested at all.
  jarolrod:
    ACK 34a2f91055

Tree-SHA512: 4470f21fb6ea32970d7572c83ba064bcbe6e3282cea79122312f8ac203a5b1617b21952db1d6e47ba5b6f605abc23f72c04c07cef7251272e22fb593ff317beb
2022-09-14 14:51:00 +01:00
Hennadii Stepanov
34a2f91055
Revert "doc: note that brew installed qt is not supported"
This reverts commit 33b0b26a03.
2022-09-14 13:51:17 +01:00
MacroFake
faa4916529
test/doc: Remove unused syncwithvalidationinterfacequeue
See https://github.com/bitcoin/bitcoin/pull/25768#discussion_r958562071

Also fix doc typo from https://github.com/bitcoin/bitcoin/pull/25768#discussion_r958571943
2022-09-14 14:34:53 +02:00
MacroFake
a8c3590890
Merge bitcoin/bitcoin#25831: refactor: Remove trailing semicolon from LOCK2 macro
0f0cc05e4c refactor: Remove trailing semicolon from LOCK2 (Aurèle Oulès)

Pull request description:

  Macros should not have a trailing semi-colon to avoid empty statements when using them with another semi-colon.
  Noticed this while reviewing a PR.

ACKs for top commit:
  vasild:
    ACK 0f0cc05e4c

Tree-SHA512: 97fa4d89f5131ac30e05b293f750b757d5526feed56885c6feeb403b3ac3d3d3205874bc507c3b56a8296a6e3bdc8d879b2c339784f1e6ab1963d1b8a8d7b02f
2022-09-14 13:06:25 +02:00
Cory Fields
02c9e56468
fs: fully initialize _OVERLAPPED for win32 2022-09-14 11:55:10 +01:00
stickies-v
26cf9ea8e4
scripted-diff: rename pszThread to thread_name
Since it is now a string_view instead of a const char*, update the
name to reflect that the variable is no longer a "Pointer to
String, Zero-terminated" (psz).

-BEGIN VERIFY SCRIPT-
sed -i s/pszThread/thread_name/ $(git grep -l pszThread src)
-END VERIFY SCRIPT-
2022-09-14 11:00:14 +01:00
fanquake
a10df7cf35
build: prune BOOST_CPPFLAGS from libbitcoin_zmq
Rather than including validation.h, which ultimately means needing boost
via txmempool.h, include primitives/block.h for CBlock, and remove
validation.h, as we can get cs_main from node/blockstorage.h.
2022-09-14 09:33:34 +01:00
fanquake
f839697d9b
build: remove BOOST_CPPFLAGS usage from bitcoin-tx
The only reason BOOST_CPPFLAGS is needed here, is because of the
policy/rbf.h include, which ultimately includes boost multi_index
via txmempool.h. However this include is actually unused.
2022-09-14 09:10:04 +01:00
fanquake
13fd9ee5c2
Merge bitcoin/bitcoin#26056: build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES)
12de8f6262 build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES) (fanquake)

Pull request description:

  This leaves `$(BITCOIN_INCLUDES)` as internal dependencies, and gives finer control over Boost includes.

  Fixes #25947.

ACKs for top commit:
  theuni:
    ACK 12de8f6262
  hebasto:
    ACK 12de8f6262, tested on macOS Monterey 12.6 (21G115, Intel).
  jarolrod:
    ACK 12de8f6262

Tree-SHA512: 550897c8168c82d6b79f51d5b9bbfa46ecc5e6deb514732762d0cf894de58787fda0ddf259675b4d224d7bd1a2bdcf2102d3c84f8b6ed73fc4b2357ab5687131
2022-09-14 08:59:56 +01:00
ishaanam
6f8e3818af sendall: check if the maxtxfee has been exceeded 2022-09-13 18:12:42 -04:00
furszy
ddbcfdf3d0
RPC: bugfix, 'add_inputs' default value is true unless 'inputs' are provided
In both RPC commands `send()` and `walletcreatefundedpsbt` the RPC help was saying
that `add_inputs` default value was false when it's actually dynamically set
by the following statement:

`coin_control.m_allow_other_inputs = rawTx.vin.size() == 0;`

Which means that, by default, `add_inputs` is true unless there
was any pre-set input, in which case, the default is false.
2022-09-13 16:13:05 -03:00
stickies-v
200d84d568
refactor: use std::string for index names 2022-09-13 19:10:41 +01:00
stickies-v
97f5b20c12
refactor: use std::string for thread names 2022-09-13 19:07:39 +01:00
fanquake
12de8f6262
build: extract $(BOOST_CPPFLAGS) from $(BITCOIN_INCLUDES)
This leaves $(BITCOIN_INCLUDES) as internal dependencies, and gives
finer control over Boost includes.
2022-09-13 17:15:17 +01:00
fanquake
29d540b7ad
Merge bitcoin/bitcoin#26070: build: Quiet warnings in symlinked headers installed from homebrew
b50a4b7647 build: quiet warnings in system headers installed from homebrew (Cory Fields)

Pull request description:

  From the included comment:

  Homebrew may create symlinks in `/usr/local/include` for some packages. Because MacOS's clang internally adds `-I /usr/local/include` to its search paths, this will negate efforts to use `-isystem` for those packages, as they will be found first in `/usr/local`. Use the internal `-internal-isystem` option to system-ify all `/usr/local/include` paths without adding it to the list of search paths in case it's not already there.

  This fixes the issue explained here: https://github.com/bitcoin/bitcoin/pull/26056#issuecomment-1243362059

  ~Also temporarily includes #26056 as a test. I will remove that commit if/when c-i is happy, and fanquake can rebase it post-merge.~
  I've removed this commit now that c-i succeeded with it.

ACKs for top commit:
  hebasto:
    ACK b50a4b7647, tested as a part of bitcoin/bitcoin#26056 on macOS Monterey 12.6 (21G115, both Intel and Apple M1) + Apple clang 14.0.0:

Tree-SHA512: 163aa359d27c31d52b444252762e32dd8a11acc043cf1a2aa953f902d1dab77ece52e2dfedcce637e6a1dda47e4c566bfeb8d3b092f82bfc73923843b7bc619c
2022-09-13 17:14:53 +01:00
Andrew Chow
c85688347e
Merge bitcoin/bitcoin#26021: wallet: bugfix, load a wallet with an unknown/corrupt descriptor causes a fatal error
e06676377d wallet: coverage for loading an unknown descriptor (furszy)
d26c3cc444 wallet: bugfix, load wallet with an unknown descriptor cause fatal error (furszy)

Pull request description:

  Fixes #26015

  If the descriptor entry is unrecognized (due a soft downgrade) or corrupt, the
  unserialization fails and `LoadWallet`, instead of stop there and return the error,
  continues reading all the db records. As other records tied to the unrecognized
  or corrupt descriptor are scanned, a fatal error is being thrown.

  This fixes it by catching the descriptor parse failure and return which wallet failed.
  Logging its name/path, so the user can remove it from the settings file, to prevent
  its load at startup.

  Note: added the test in a separate file intentionally.
  Will continue adding coverage for the wallet load process in follow-up PRs.

ACKs for top commit:
  achow101:
    ACK e06676377d
  Sjors:
    re-utACK e06676377d

Tree-SHA512: d1f1a5d7e944c89c97a33b25b4411a36a11edae172c22f8524f69c84a035f84c570b284679f901fe60f1300f781b76a6c17b015a8e7ad44ebd25a0c295ef260f
2022-09-13 11:51:51 -04:00
glozow
3a7e0a210c
Merge bitcoin/bitcoin#24513: CChainState -> Chainstate
00eeb31c76 scripted-diff: rename CChainState -> Chainstate (James O'Beirne)

Pull request description:

  Alright alright alright, I know: we hate refactors. We especially hate cosmetic refactors.

  Nobody knows better than I that changing broad swaths of code out from under our already-abused collaborators, only to send a cascade of rebase bankruptcies, is annoying at best and sadistic at worst. And for a rename! The indignation!

  But just for a second, imagine yourself. Programming `bitcoin/bitcoin`, on a sandy beach beneath a lapis lazuli sky. You go to type the name of what is probably the most commonly used data structure in the codebase, and you *only hit shift once*.

  What could you do in such a world? You could do anything. [The only limit is yourself.](https://zombo.com/)

  ---

  So maybe you like the idea of this patch but really don't want to deal with rebasing. You're in luck!

  Here're the commands that will bail you out of rebase bankruptcy:

  ```sh
  git rebase -i $(git merge-base HEAD master) \
    -x 'sed -i "s/CChainState/Chainstate/g" $(git ls-files | grep -E ".*\.(py|cpp|h)$") && git commit --amend --no-edit'
  # <commit changed?>
  git add -u && git rebase --continue
  ```

  ---

  ~~Anyway I'm not sure how serious I am about this, but I figured it was worth proposing.~~ I have decided I am very serious about this.

  Maybe we can have nice things every once in a while?

ACKs for top commit:
  MarcoFalke:
    cr ACK 00eeb31c76
  hebasto:
    ACK 00eeb31c76
  glozow:
    ACK 00eeb31c76, thanks for being the one to propose this
  w0xlt:
    ACK 00eeb31c76

Tree-SHA512: b828a99780614a9b74f7a9c347ce0687de6f8d75232840f5ffc26e02bbb25a3b1f5f9deabbe44f82ada01459586ee8452a3ee2da05d1b3c48558c8df6f49e1b1
2022-09-13 15:42:18 +01:00
MacroFake
141540a71f
Merge bitcoin/bitcoin#25222: refactor: Pass reference to LookUpStats
faa3d38ec6 refactor: Pass reference to LookUpStats (MacroFake)

Pull request description:

  I find it confusing to have an interface that accepts nullptr, but immediately crashes the program when someone does pass nullptr.

  Fix that.

  Also some include fixups.

ACKs for top commit:
  aureleoules:
    ACK faa3d38ec6

Tree-SHA512: f90b649e9991e137b83a9899258ee73605719c081a6b789ac27fe7fe73eb70fbb41d89479bcd536d5c3ad788a5795de8451bc1b94e5c9267dcf9636d9e4a1109
2022-09-13 14:18:18 +02:00
fanquake
94d17845d0
Merge bitcoin/bitcoin#24991: init: allow startup with -onlynet=onion -listenonion=1
2d0b4e4ff6 init: allow startup with -onlynet=onion -listenonion=1 (Vasil Dimov)

Pull request description:

  It does not make sense to specify `-onlynet=onion` without providing a
  Tor proxy (even if other `-onlynet=...` are given). This is checked
  during startup. However, it was forgotten that a Tor proxy can also be
  retrieved from "Tor control" to which we connect if `-listenonion=1`.

  So, the full Tor proxy retrieval logic is:
  1. get it from `-onion`
  2. get it from `-proxy`
  3. if `-listenonion=1`, then connect to "Tor control" and get the proxy
     from there (was forgotten before this change)

  Fixes https://github.com/bitcoin/bitcoin/issues/24980

ACKs for top commit:
  mzumsande:
    Tested ACK 2d0b4e4ff6
  MarcoFalke:
    ACK 2d0b4e4ff6 🕸

Tree-SHA512: d1d18e07a8a40a47b7f00c31cb291a3d3a9b24eeb28c5e4720d5df4997f488583a3a010d46902b4b600d2ed1136a368e1051c133847ae165e0748b8167603dc3
2022-09-13 12:36:29 +01:00
fanquake
a361c6cae7
Merge bitcoin/bitcoin#26047: guix: use git-minimal over git
0cd7928133 guix: use git-minimal over git (fanquake)

Pull request description:

  From the [git-minimal package definition](https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/packages/version-control.scm?id=998eda3067c7d21e0d9bb3310d2f5a14b8f1c681#n597):
  > The size of the closure of 'git-minimal' is two thirds that of 'git'.
  > Its test suite runs slightly faster and most importantly it doesn't
  > depend on packages that are expensive to build such as Subversion.

  We don't need any git functionality above the basics, so switch to `git-minimal` and save CPU when building the package, while also pruning the greater dependency graph (see `dependencies:` below). Note that git-minimal also lists `riscv64-linux` as a supported system, where `git` does not.

  ```diff
  -name: git
  +name: git-minimal
   version: 2.37.3
   outputs:
  -+ send-email: see Appendix H
  -+ svn: see Appendix H
  -+ credential-netrc: see Appendix H
  -+ credential-libsecret: see Appendix H
  -+ subtree: see Appendix H
  -+ gui: see Appendix H
   + out: everything else
  -systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux i686-linux armhf-linux powerpc-linux
  -dependencies: asciidoc@9.1.0 bash-minimal@5.1.8 bash@5.1.8 curl@7.79.1 docbook-xsl@1.79.2 expat@2.4.1 gettext-minimal@0.21 glib@2.70.2 libsecret@0.20.4 openssl@1.1.1l pcre2@10.37 perl-authen-sasl@2.16 perl-cgi@4.52
  -+ perl-io-socket-ssl@2.068 perl-net-smtp-ssl@1.04 perl-term-readkey@2.38 perl@5.34.0 pkg-config@0.29.2 python@3.9.9 subversion@1.14.1 tcl@8.6.11 tk@8.6.11.1 xmlto@0.0.28 zlib@1.2.11
  -location: gnu/packages/version-control.scm:222:2
  +systems: x86_64-linux mips64el-linux aarch64-linux powerpc64le-linux riscv64-linux i686-linux armhf-linux powerpc-linux
  +dependencies: bash-minimal@5.1.8 bash@5.1.8 curl@7.79.1 expat@2.4.1 gettext-minimal@0.21 openssl@1.1.1l perl@5.34.0 zlib@1.2.11
  +location: gnu/packages/version-control.scm:608:2
   homepage: https://git-scm.com/
   license: GPL 2
   synopsis: Distributed version control system
  ```

  Guix Build (x86_64):
  ```bash
  da4adca0304f19833893867418c8827e0213c58a1b605753355340a5f270754a  guix-build-0cd7928133eb/output/aarch64-linux-gnu/SHA256SUMS.part
  38c2b5f8e560018911ed776660fcd2aa8b6061a59af26118f06e23c9a335e80c  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu-debug.tar.gz
  de117782318d6e0ed55efaae7b2f11d033fe05e7a72fbda3ef7bbcbc758add69  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu.tar.gz
  6ae8ebfac28c43488b9aa386b9a87937789a57e54dc1d77a9c7b95323a417abc  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/SHA256SUMS.part
  97f5d9d14eeb4b2926304c142fa6c46b7126524b8f836655704f5643b58b9436  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf-debug.tar.gz
  37815ea73941cf0a870e5ac4aafe9249a63ed1eeaa37440de23c2d9bf2b77be8  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf.tar.gz
  64cd484fa48968dc7063c4f501e1ff62d1ba46ae9975bfa060a3c88e2a98d232  guix-build-0cd7928133eb/output/arm64-apple-darwin/SHA256SUMS.part
  4e7e0daaf0ac1b5ed5a7e5ee8085e5e6446c48e70161f78938acd0e916c55729  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.dmg
  0f2b534d16482e536552c7b3de605bd71997b898755fe5a9ac39b36aea2698b6  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.tar.gz
  03cd1f509c60919c2ad1503d2f98be444c9770b62c4d303cb4cbdc1100ce131d  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin.tar.gz
  1e28183c1c314921a8404b72283bb861dff28061310c18535618683b097e7e61  guix-build-0cd7928133eb/output/dist-archive/bitcoin-0cd7928133eb.tar.gz
  0f6459568d0369528ad35622d5378feccdac319eed618418841c22cc137cbd05  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/SHA256SUMS.part
  1cf0c8a48add60082c381935630b59a0bd483a7eda97f04b72dcb05143135109  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu-debug.tar.gz
  5332f148efa1579b077747c8c7d6c763d31804d4ac454abaf34a3e2374c9b6b2  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu.tar.gz
  5fc03945c2ab86ba43395ccf32cf4b338dcceb446e106c0f6e660dac47224183  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5cfabdb27dc8fb7de402c558e5f962ac4fdaf2c344d201f27f7ed1370a550407  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu-debug.tar.gz
  ba265df6803d472434ecb3ad44983965a5eca1ccd42fea64760309ff70d17ee5  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu.tar.gz
  ff40a374f215eb3010291569b8ed1958054e408469fc8b2fe97a30cca0ad5451  guix-build-0cd7928133eb/output/riscv64-linux-gnu/SHA256SUMS.part
  7b7b89ac1905d58f1e96a7840c018a556c472015a44442d0742bf758cb5f67ca  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu-debug.tar.gz
  10431bd8ffca82dd9c59f568272a1e7473cf474996f750d9bed4b576591fcff1  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu.tar.gz
  4ef532d8dbe42900146a5b3e02de2a6a59d66b3c66a4b9d919d3aeb0e9637ab1  guix-build-0cd7928133eb/output/x86_64-apple-darwin/SHA256SUMS.part
  77a1abe4139c19d227309216e29cf55dae06c4469412b457c9f0e8cf1eccc25c  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.dmg
  33028b640efab25648d0ec1abe9e91abc983706623ca9e2e7ac5fbfca0970909  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.tar.gz
  e10d2d5617b8b1a33a622d5904d2bd8eaf57a5b3605e22ef916a57105db2311e  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin.tar.gz
  bf65d3574afed2e017c9625d38cc31e0f2cbb7f1e8a9ce346644ea3dbb938d13  guix-build-0cd7928133eb/output/x86_64-linux-gnu/SHA256SUMS.part
  ce3810e70c97b2698822e4f46fa64dfa12353f7b54400e671b64868e3e4d3472  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu-debug.tar.gz
  4055370c15b199d1efef47cc262d9c43a3652dcd237a9434197ca3be4931b1d2  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu.tar.gz
  e59ed970d1db5d4839fa67957945628f6919ef5491f4a595f89ed3d8c81f1a76  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/SHA256SUMS.part
  19c443fab5cb2fe75c9a5ad51fc022c97e31d7d69e049a889bd06f740f8daf78  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-debug.zip
  88f6ca5d299080114532ec550c59eca4a3cdb759d9ea35cb14eba0b135e72436  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-setup-unsigned.exe
  bcdb0b7467d3e47a694e51e9bfbaab9d5dc7162efe6c6bf4c303d368272c0cc6  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-unsigned.tar.gz
  db1d4bbfab53405080d3abd09d1f05b2642ed513f6d8fcb5d92b9d0b32745293  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  da4adca0304f19833893867418c8827e0213c58a1b605753355340a5f270754a  guix-build-0cd7928133eb/output/aarch64-linux-gnu/SHA256SUMS.part
  38c2b5f8e560018911ed776660fcd2aa8b6061a59af26118f06e23c9a335e80c  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu-debug.tar.gz
  de117782318d6e0ed55efaae7b2f11d033fe05e7a72fbda3ef7bbcbc758add69  guix-build-0cd7928133eb/output/aarch64-linux-gnu/bitcoin-0cd7928133eb-aarch64-linux-gnu.tar.gz
  6ae8ebfac28c43488b9aa386b9a87937789a57e54dc1d77a9c7b95323a417abc  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/SHA256SUMS.part
  97f5d9d14eeb4b2926304c142fa6c46b7126524b8f836655704f5643b58b9436  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf-debug.tar.gz
  37815ea73941cf0a870e5ac4aafe9249a63ed1eeaa37440de23c2d9bf2b77be8  guix-build-0cd7928133eb/output/arm-linux-gnueabihf/bitcoin-0cd7928133eb-arm-linux-gnueabihf.tar.gz
  64cd484fa48968dc7063c4f501e1ff62d1ba46ae9975bfa060a3c88e2a98d232  guix-build-0cd7928133eb/output/arm64-apple-darwin/SHA256SUMS.part
  4e7e0daaf0ac1b5ed5a7e5ee8085e5e6446c48e70161f78938acd0e916c55729  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.dmg
  0f2b534d16482e536552c7b3de605bd71997b898755fe5a9ac39b36aea2698b6  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin-unsigned.tar.gz
  03cd1f509c60919c2ad1503d2f98be444c9770b62c4d303cb4cbdc1100ce131d  guix-build-0cd7928133eb/output/arm64-apple-darwin/bitcoin-0cd7928133eb-arm64-apple-darwin.tar.gz
  1e28183c1c314921a8404b72283bb861dff28061310c18535618683b097e7e61  guix-build-0cd7928133eb/output/dist-archive/bitcoin-0cd7928133eb.tar.gz
  0f6459568d0369528ad35622d5378feccdac319eed618418841c22cc137cbd05  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/SHA256SUMS.part
  1cf0c8a48add60082c381935630b59a0bd483a7eda97f04b72dcb05143135109  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu-debug.tar.gz
  5332f148efa1579b077747c8c7d6c763d31804d4ac454abaf34a3e2374c9b6b2  guix-build-0cd7928133eb/output/powerpc64-linux-gnu/bitcoin-0cd7928133eb-powerpc64-linux-gnu.tar.gz
  5fc03945c2ab86ba43395ccf32cf4b338dcceb446e106c0f6e660dac47224183  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/SHA256SUMS.part
  5cfabdb27dc8fb7de402c558e5f962ac4fdaf2c344d201f27f7ed1370a550407  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu-debug.tar.gz
  ba265df6803d472434ecb3ad44983965a5eca1ccd42fea64760309ff70d17ee5  guix-build-0cd7928133eb/output/powerpc64le-linux-gnu/bitcoin-0cd7928133eb-powerpc64le-linux-gnu.tar.gz
  ff40a374f215eb3010291569b8ed1958054e408469fc8b2fe97a30cca0ad5451  guix-build-0cd7928133eb/output/riscv64-linux-gnu/SHA256SUMS.part
  7b7b89ac1905d58f1e96a7840c018a556c472015a44442d0742bf758cb5f67ca  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu-debug.tar.gz
  10431bd8ffca82dd9c59f568272a1e7473cf474996f750d9bed4b576591fcff1  guix-build-0cd7928133eb/output/riscv64-linux-gnu/bitcoin-0cd7928133eb-riscv64-linux-gnu.tar.gz
  4ef532d8dbe42900146a5b3e02de2a6a59d66b3c66a4b9d919d3aeb0e9637ab1  guix-build-0cd7928133eb/output/x86_64-apple-darwin/SHA256SUMS.part
  77a1abe4139c19d227309216e29cf55dae06c4469412b457c9f0e8cf1eccc25c  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.dmg
  33028b640efab25648d0ec1abe9e91abc983706623ca9e2e7ac5fbfca0970909  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin-unsigned.tar.gz
  e10d2d5617b8b1a33a622d5904d2bd8eaf57a5b3605e22ef916a57105db2311e  guix-build-0cd7928133eb/output/x86_64-apple-darwin/bitcoin-0cd7928133eb-x86_64-apple-darwin.tar.gz
  bf65d3574afed2e017c9625d38cc31e0f2cbb7f1e8a9ce346644ea3dbb938d13  guix-build-0cd7928133eb/output/x86_64-linux-gnu/SHA256SUMS.part
  ce3810e70c97b2698822e4f46fa64dfa12353f7b54400e671b64868e3e4d3472  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu-debug.tar.gz
  4055370c15b199d1efef47cc262d9c43a3652dcd237a9434197ca3be4931b1d2  guix-build-0cd7928133eb/output/x86_64-linux-gnu/bitcoin-0cd7928133eb-x86_64-linux-gnu.tar.gz
  e59ed970d1db5d4839fa67957945628f6919ef5491f4a595f89ed3d8c81f1a76  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/SHA256SUMS.part
  19c443fab5cb2fe75c9a5ad51fc022c97e31d7d69e049a889bd06f740f8daf78  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-debug.zip
  88f6ca5d299080114532ec550c59eca4a3cdb759d9ea35cb14eba0b135e72436  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-setup-unsigned.exe
  bcdb0b7467d3e47a694e51e9bfbaab9d5dc7162efe6c6bf4c303d368272c0cc6  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64-unsigned.tar.gz
  db1d4bbfab53405080d3abd09d1f05b2642ed513f6d8fcb5d92b9d0b32745293  guix-build-0cd7928133eb/output/x86_64-w64-mingw32/bitcoin-0cd7928133eb-win64.zip
  ```

ACKs for top commit:
  hebasto:
    ACK 0cd7928133, I have reviewed the code and it looks OK. I have also checked out the usage of the `git-minimal` in the `git-download` Guix module which is being used. Did not compare actual build dependences while building from scratch.
  jarolrod:
    ACK 0cd7928133

Tree-SHA512: f949c4d2f9560f98b8a418a981da38bbb9cfee5d0814bea6bb676b7193f3cbddafd23a92f852ee59c6a68c9c282095e6368cb65c5f2352b2ab54f9692575349c
2022-09-13 10:18:27 +01:00
fanquake
e9e943cfb7
Merge bitcoin/bitcoin#26069: rpc: unify arg type error message
2870a97121 RPC: unify arg type error message (furszy)

Pull request description:

  Decoupled from #25737 per request.

  We are throwing two different error descriptions for the same problematic:

  1) "Expected type {expected], got {type}" --> `RPCTypeCheckArgument()`
  2) "JSON value of type {type} is not of expected type {expected}" --> `UniValue::checkType()`

ACKs for top commit:
  MarcoFalke:
    review ACK 2870a97121
  fanquake:
    ACK 2870a97121

Tree-SHA512: 9ac863243b6b7687986c0394611b5cad8b35424ec49d82195d536f2a5e64c60327b25f0dc7336189f86fd71122689c7309da49adfa93805d2e345693fa8efa9b
2022-09-13 10:16:12 +01:00