Commit graph

31500 commits

Author SHA1 Message Date
MarcoFalke
47fe7445e7
Merge bitcoin/bitcoin#22364: wallet: Make a tr() descriptor by default
4868c9f1b3 Extract Taproot internal keyid with GetKeyFromDestination (Andrew Chow)
d8abbe119c Mention bech32m in -addresstype and -changetype help (Andrew Chow)
8fb57845ee Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by default (Andrew Chow)
54b3699862 Store pubkeys in TRDescriptor::MakeScripts (Andrew Chow)

Pull request description:

  Make a `tr()` descriptor by default in descriptor wallets so that users will be able to make and use segwit v1 bech32m addresses.

ACKs for top commit:
  MarcoFalke:
    Concept ACK 4868c9f1b3
  Sjors:
    re-utACK 4868c9f1b3
  gruve-p:
    ACK 4868c9f1b3
  meshcollider:
    Concept + code review ACK 4868c9f1b3

Tree-SHA512: e5896e665b8d559f1d759b6582d1bb24f70d4698a57307684339d9fdcdac28ae9bc17bc946a7efec9cb35c130a95ffc36e3961a335124ec4535d77b8d00e9631
2021-11-22 10:01:17 +01:00
fanquake
a2ed33b23b
Merge bitcoin/bitcoin#23564: build: don't use deprecated brew package names
4d83038714 build: don't check for deprecated qt5 package (fanquake)
d0fe9c2180 build: don't check for deprecated berkeley-db4 package (fanquake)

Pull request description:

  Fixes:
  ```bash
  checking for brew... brew
  Warning: Use berkeley-db@4 instead of deprecated berkeley-db4
  ```

  on macOS.

ACKs for top commit:
  mjdietzx:
    Tested ACK 4d83038714 on macOS Big Sur
  hebasto:
    ACK 4d83038714, I have reviewed the code and it looks OK, I agree it can be merged.

Tree-SHA512: 0eeac9e1add652bd101472880c7a6e7688a6429ce98faf920cb7f572a6471ac9af755de7f34047b17ea1d26bfc4517bd0e9f403b966de0ff361bf2942eae6a41
2021-11-22 14:27:06 +08:00
Samuel Dobson
a42923ce21
Merge bitcoin/bitcoin#23348: rpc, wallet: Do not return "keypoololdest" for blank descriptor wallets
ee03c782ba wallet: Make GetOldestKeyPoolTime return nullopt for blank wallets (Hennadii Stepanov)
3e4f069d23 wallet, refactor: Make GetOldestKeyPoolTime return type std::optional (Hennadii Stepanov)

Pull request description:

  The "keypoololdest" field in the `getwalletinfo` RPC response should be used for legacy wallets only.

  Th current implementation (04437ee721) assumes that `CWallet::GetOldestKeyPoolTime()` always return `0` for descriptor wallets. This assumption is wrong for _blank_ descriptor wallets, when `m_spk_managers` is empty. As a result:
  ```
  $ src/bitcoin-cli -signet -rpcwallet=211024-d-DPK getwalletinfo
  {
    "walletname": "211024-d-DPK",
    "walletversion": 169900,
    "format": "sqlite",
    "balance": 0.00000000,
    "unconfirmed_balance": 0.00000000,
    "immature_balance": 0.00000000,
    "txcount": 0,
    "keypoololdest": 9223372036854775807,
    "keypoolsize": 0,
    "keypoolsize_hd_internal": 0,
    "paytxfee": 0.00000000,
    "private_keys_enabled": false,
    "avoid_reuse": false,
    "scanning": false,
    "descriptors": true
  }
  ```

  This PR fixes this issue with direct checking of the `WALLET_FLAG_DESCRIPTORS` flag.

ACKs for top commit:
  lsilva01:
    re-ACK ee03c78
  stratospher:
    ACK ee03c78.
  meshcollider:
    Code review ACK ee03c782ba

Tree-SHA512: 9852f9f8ed5c08c07507274d7714f039bbfda66da6df65cf98f67bf11a600167d0f7f872680c95775399477f4df9ba9fce80ec0cbe0adb7f2bb33c3bd65b15df
2021-11-22 17:08:26 +13:00
Hennadii Stepanov
79e64a053d
Merge bitcoin-core/gui#319: Paste button in Open URI dialog
dbde0558ce gui: Paste button in Open URI dialog (Kristaps Kaupe)

Pull request description:

  Picking up https://github.com/bitcoin/bitcoin/pull/17955, with some review comments addressed.

ACKs for top commit:
  shaavan:
    tACK dbde055
  jarolrod:
    ACK dbde055
  promag:
    Tested ACK dbde0558ce.

Tree-SHA512: db47f19673aff6becd6d1f938cd2aa5dc2291d6e80150d2b99f435674330a5eae678b20e42ef327ea9b05c44925a941fc251e622c73b3585018fc7c1d245edb5
2021-11-21 23:46:21 +02:00
Hennadii Stepanov
06782cf8e7
Merge bitcoin-core/gui#449: Restore "S" accelerator for "Start on system login" option
25a581419d GUI/Options: Restore "S" accelerator for "Start on system login" option (Luke Dashjr)

Pull request description:

  bitcoin-core/gui#416 changed the option assigned to accelerator key "S", but there's no rationale given.

  Best to leave it alone, and give the new option a new accelerator key.

  Since "R" is already taken for Reset, this shifts the new RPC server option to use "P" instead

ACKs for top commit:
  jarolrod:
    ACK 25a581419d
  hebasto:
    ACK 25a581419d, tested on Linux Mint 20.2 (Qt 5.12.8).

Tree-SHA512: 2212aa32572cbcbcce78304ffcb1dcfc65f9d7e2ffd6c6a4b65e4a3ca2a8a7cc7505c28314ad46e0bc13b4e3bb3fc61e7e196356d26354f3689fad71fb688b27
2021-11-21 23:29:19 +02:00
fanquake
19815b096c
Merge bitcoin/bitcoin#23535: PE: check for control flow instrumentation
f31d4bd214 scripts: test for PE control flow instrumentation (fanquake)
0445e1a1a5 build: use -fcf-protection=full when building Windows Boost in depends (fanquake)

Pull request description:

  Addresses the Windows portion of #21888.

  Now that we require GCC 8+ we can unconditionally use `-fcf-protection=full` when building Boost in depends. Building Boost with this option is required so that the `main` provided to `test_bitcoin.exe` has instrumentation.

  Note that the presence of instrumentation does not mean it will be used, as that is determined at runtime by the CPU.
  From the Intel control flow enforcement documentation:

  > The ENDBR32 and ENDBR64 instructions will have the same effect as the NOP instruction on Intel 64 processors that do not support CET. On processors supporting CET, these instructions do not change register or flag state. This allows CET instrumented programs to execute on processors that do not support CET. Even when CET is supported and enabled, these NOP–like instructions do not affect the execution state of the program, do not cause any additional register pressure, and are minimally intrusive from power and performance perspectives.

  Guix Build:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  5d41d43c44945810f92193504e8b4c1ac8eb9dfc3b19d0ab8d53bff0c8443a2a  guix-build-f31d4bd21401/output/aarch64-linux-gnu/SHA256SUMS.part
  8edb0e01b7bc2d646b62e4e35b1867ee940acca18a02ee609c52c4f7680de5ae  guix-build-f31d4bd21401/output/aarch64-linux-gnu/bitcoin-f31d4bd21401-aarch64-linux-gnu-debug.tar.gz
  1a06306f365e8329cea0eba7436085d30fe59c244a888ecb6407faf5110c57ab  guix-build-f31d4bd21401/output/aarch64-linux-gnu/bitcoin-f31d4bd21401-aarch64-linux-gnu.tar.gz
  b5b74926ff9ff597d66b92d33926df34c3e1c6f92b863850a6fb1beea019fd6e  guix-build-f31d4bd21401/output/arm-linux-gnueabihf/SHA256SUMS.part
  743b5c5cec7881b032520a309ae2399ec8dadb82eb9da424aefd646f9252ff1d  guix-build-f31d4bd21401/output/arm-linux-gnueabihf/bitcoin-f31d4bd21401-arm-linux-gnueabihf-debug.tar.gz
  1f218a954b65b352c80922ea6b61276e8e7050ad8bdd9d7610049b87c66069e5  guix-build-f31d4bd21401/output/arm-linux-gnueabihf/bitcoin-f31d4bd21401-arm-linux-gnueabihf.tar.gz
  c164de32c6cc24ec247b5a8de7f1a5442369d5804a4b2a3e0d9dc4ab4e5ec401  guix-build-f31d4bd21401/output/dist-archive/bitcoin-f31d4bd21401.tar.gz
  feb0a055eabd6ddd2ce0dac954f5f5886044800a7535b8f78c7dfbd9c243512c  guix-build-f31d4bd21401/output/powerpc64-linux-gnu/SHA256SUMS.part
  0b6e877b5de7b69a5d474469d666a536cd8f6f6e865230a7763f62426357ae91  guix-build-f31d4bd21401/output/powerpc64-linux-gnu/bitcoin-f31d4bd21401-powerpc64-linux-gnu-debug.tar.gz
  fb38bcfd319af1e8bace03f240b32592940ac3efe15d23fd39353f36f9ae3838  guix-build-f31d4bd21401/output/powerpc64-linux-gnu/bitcoin-f31d4bd21401-powerpc64-linux-gnu.tar.gz
  15fffe69f33297ef30a8b2eb8bdef8564f030920bed6d5ff56d6e7b8bef9c199  guix-build-f31d4bd21401/output/powerpc64le-linux-gnu/SHA256SUMS.part
  f847b92c7c098bf8a4f6c84714270c173d4323e2d3025dd8f4444ee921a0bdd0  guix-build-f31d4bd21401/output/powerpc64le-linux-gnu/bitcoin-f31d4bd21401-powerpc64le-linux-gnu-debug.tar.gz
  9b8b6e12dd8a1a3ba0f5522c2a22f2bd60d5473880fa22d42e91364a08e48396  guix-build-f31d4bd21401/output/powerpc64le-linux-gnu/bitcoin-f31d4bd21401-powerpc64le-linux-gnu.tar.gz
  6f0f3b603b35c751a364b77ca94477085cf54a1c5d811dd3407dd1b86b2e3c64  guix-build-f31d4bd21401/output/riscv64-linux-gnu/SHA256SUMS.part
  69f1a93a8d698e68d8baf81a6c871f9eab0446ec352f7709971293b0b898f128  guix-build-f31d4bd21401/output/riscv64-linux-gnu/bitcoin-f31d4bd21401-riscv64-linux-gnu-debug.tar.gz
  b71d415f30a893fada9d6609fab309a3c099716462c795e444bf49bd8631ea53  guix-build-f31d4bd21401/output/riscv64-linux-gnu/bitcoin-f31d4bd21401-riscv64-linux-gnu.tar.gz
  6f842bc5483e867b8d1c769d1faa19b9f08bc0fa28d027fe0fac108858a4926e  guix-build-f31d4bd21401/output/x86_64-apple-darwin19/SHA256SUMS.part
  a9a43aa4aade18bf606493009229ad3239af7365594ef60a0c39789d870f159d  guix-build-f31d4bd21401/output/x86_64-apple-darwin19/bitcoin-f31d4bd21401-osx-unsigned.dmg
  26891e7d258ec8a85344a0a888fd4159378d747a2a77fb8d9e5655f1a3ad4aee  guix-build-f31d4bd21401/output/x86_64-apple-darwin19/bitcoin-f31d4bd21401-osx-unsigned.tar.gz
  a2578799da61a3f1b6cd047aa5641e050de2e810162ec8596931cec12d1cbb56  guix-build-f31d4bd21401/output/x86_64-apple-darwin19/bitcoin-f31d4bd21401-osx64.tar.gz
  571803809f358ed5ef1f1ed6b6266b54bd33b0e6308c53ddae967e53af930a46  guix-build-f31d4bd21401/output/x86_64-linux-gnu/SHA256SUMS.part
  ea45499e8d2a2f0791f29732a5f169fb97525d6d8adcdfa1c160e950944ce8fe  guix-build-f31d4bd21401/output/x86_64-linux-gnu/bitcoin-f31d4bd21401-x86_64-linux-gnu-debug.tar.gz
  ba5b63e64267d7685de77e3063e24659f223d4b4c42d43f42fb15e716afcfe78  guix-build-f31d4bd21401/output/x86_64-linux-gnu/bitcoin-f31d4bd21401-x86_64-linux-gnu.tar.gz
  b4ba9d8cfd6999c0039890330afab5d5b1faf5ded33dcbebc5e73d8dae308246  guix-build-f31d4bd21401/output/x86_64-w64-mingw32/SHA256SUMS.part
  3aa5cf722341b79aca78ea11fe4e65e0c642997b0214d3893a86a2e808afbe87  guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win-unsigned.tar.gz
  b48402235751f15f09fad64b7bd42f851a64a9744e47ed6888b4e9754fb0d3d9  guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win64-debug.zip
  e33183aa7316f399621fd7b1c258d850294cdaaebb505364410a399467c0943b  guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win64-setup-unsigned.exe
  4baba568a8a93d04086055df512d680c8365d42779123c56bccee41e4de33e5e  guix-build-f31d4bd21401/output/x86_64-w64-mingw32/bitcoin-f31d4bd21401-win64.zip
  ```

ACKs for top commit:
  laanwj:
    Code review ACK f31d4bd214

Tree-SHA512: fbed1fa4e9317677e24ebc6f9d95ef791e2182ad709b3629ed35e373d9f8d26bbf3dee6f78a4bdf3f7ae2c05fe5fd744c0753298ee1387d9b0c719a09717b522
2021-11-21 20:13:37 +08:00
fanquake
4d83038714
build: don't check for deprecated qt5 package
Use qt@5 instead.
2021-11-21 19:34:43 +08:00
fanquake
d0fe9c2180
build: don't check for deprecated berkeley-db4 package
Fixes:
```bash
checking for brew... brew
Warning: Use berkeley-db@4 instead of deprecated berkeley-db4
```
2021-11-21 19:34:43 +08:00
MarcoFalke
368831371d
Merge bitcoin/bitcoin#23558: test: run rpc-generateblock.py even with wallet disabled
1e86ff7941 test: run rpc-generateblock.py even with wallet disabled (Darius Parvin)

Pull request description:

  Run rpc_generateblock.py test even when the wallet is disabled, as discussed in #20078.

  This PR picked up from where #20808 left off, started by @ nginocchio. Since then, there have been many improvements to `MiniWallet`, making this PR more straightforward.

  L23 makes use of `MiniWallet.rescan_utxos()` to add the pre-mined block utxos (when `self.setup_clean_chain` is not set to `True`), rather than generating new blocks during the test.

ACKs for top commit:
  mjdietzx:
    Tested ACK 1e86ff7941

Tree-SHA512: 4285f61516dd53a08004eeea26d58f45b4c1c67f5ca4c94ff1bc9fc7e50f486de2e033a8b4aaf67cb4c33d73aa929362e18dc75d5c7951cbf58120b5fb1de555
2021-11-21 08:28:09 +01:00
fanquake
cf06c9b35c
Merge bitcoin/bitcoin#23555: util: Add missing fstatfs to syscall sandbox
fade4b3aca util: Add missing fstatfs to syscall sandbox (MarcoFalke)

Pull request description:

  Looks like this is used by boost 1.77 in `./test/functional/wallet_backup.py --descriptors`.

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

ACKs for top commit:
  fanquake:
    ACK fade4b3aca - reproduced the failure on Tumbleweed:

Tree-SHA512: cd7381e87c7cb4596da0b9e36c8776a3ef19f5aeb29ee9db1867657c4c1f071485ffea0fba0af950f10a16a8bdb0a0c70ffcc5be802e82d60882e00f7d2009ac
2021-11-21 15:24:27 +08:00
Darius Parvin
1e86ff7941 test: run rpc-generateblock.py even with wallet disabled 2021-11-20 00:57:35 -08:00
fanquake
80ae64db6b
Merge bitcoin/bitcoin#23553: test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp
fae5fec0fe test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp (MarcoFalke)

Pull request description:

  This reverts commit fa865287e5.

  This was fixed in commit efd6f904c7.

ACKs for top commit:
  vasild:
    ACK fae5fec0fe

Tree-SHA512: 3bebf1babd5c68cbb2506bcab9b8e9ffed8697213cf66190484748741f05c59b847a103be171360f7fd6ddb57dfd86ed34a123f72860b76e533ed46bb53a4852
2021-11-20 13:40:37 +08:00
MarcoFalke
fade4b3aca
util: Add missing fstatfs to syscall sandbox 2021-11-19 17:18:59 +01:00
MarcoFalke
fae5fec0fe
test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp
This reverts commit fa865287e5.

This was fixed in commit efd6f904c7.
2021-11-19 16:45:43 +01:00
MarcoFalke
fe03f7a37f
Merge bitcoin/bitcoin#23540: test: add decodescript RPC test for P2TR output script
83f6c0f9ef test: add decodescript RPC test for P2TR output type (Sebastian Falbesoner)
099c6957de test: check for decodescript RPC 'type' results (Sebastian Falbesoner)
0d43525c61 test: add logging to rpc_decodescript.py (Sebastian Falbesoner)

Pull request description:

  This PR adds a functional sub-test for calling `decodescript` with a P2TR / segwit v1 output script (`OP_1 <32-bytes push>`), expecting to return "witness_v1_taproot" as `type` result.

  In the first two commits, the test `rpc_decodescript.py` is also improved by adding logging (plus getting rid of the enumerations) and also adding missing checks `type` result checks for all other output script types.

ACKs for top commit:
  MarcoFalke:
    ACK 83f6c0f9ef

Tree-SHA512: 5fbfa693f711f55022edbc26109b076610ba248bef5282822656f5a2289636a5da6e2c1a4d8ab16a599af5701dafb3452e8be653d0e5f09e59ed87b8144d46ef
2021-11-18 08:02:50 +01:00
fanquake
606e306277
Merge bitcoin/bitcoin#22981: doc: Fix incorrect C++ named args
fac49470ca doc: Fix incorrect C++ named args (MarcoFalke)

Pull request description:

  Incorrect named args are source of bugs, like #22979.

  Fix that by correcting them and adjust the format, so that clang-tidy can check it.

ACKs for top commit:
  fanquake:
    ACK fac49470ca - `run-clang-tidy` works for me now.

Tree-SHA512: 2694e17a1586394baf30bbc479a913e4bad361221e8470b8739caf30aacea736befc73820f3fe56f6207d9f5d969323278d43a647f58c3497e8e44cad79f8934
2021-11-18 08:17:47 +08:00
Sebastian Falbesoner
83f6c0f9ef test: add decodescript RPC test for P2TR output type 2021-11-18 01:07:26 +01:00
Sebastian Falbesoner
099c6957de test: check for decodescript RPC 'type' results 2021-11-18 00:11:10 +01:00
Sebastian Falbesoner
0d43525c61 test: add logging to rpc_decodescript.py
Also remove the enumerations ("1)", "2)"...) from the test
cases as those potentially hinder maintainability; e.g. if a
new case in inserted in-between, all the remaining
enumerations would need to be adapted.
2021-11-17 23:26:28 +01:00
W. J. van der Laan
2ef186a140
Merge bitcoin/bitcoin#22881: doc: provide context for CNetAddr::UnserializeV1Array() and span.h with lifetimebound
33c6a208a9 span, doc: provide span.h context and explain lifetimebound definition (Jon Atack)
d14395bc5d net, doc: provide context for UnserializeV1Array() (Jon Atack)

Pull request description:

  Add contextual documentation for developers and future readers of the code regarding
  - CNetAddr::UnserializeV1Array (see #22140)
  - Span and why it defines Clang lifetimebound locally rather than using the one in attributes.h

ACKs for top commit:
  laanwj:
    Documentation review ACK 33c6a208a9

Tree-SHA512: cb8e6a6c23b36c9ef7499257e97c5378ec895bb9122b79b63b572d9721a1ae6ce6c0be7ad61bdf976c255527ae750fc9ff4b3e03c07c6c797d14dbc82ea9fb3a
2021-11-17 17:06:55 +01:00
W. J. van der Laan
d94dc69ee4
Merge bitcoin/bitcoin#23501: test: various feature_nulldummy.py improvements
f1ed30451f test: refactor: simplify `block_submit` in feature_nulldummy.py (Sebastian Falbesoner)
5ba9f1ff59 test: refactor: rename NULLDUMMY-invalidation helper (Sebastian Falbesoner)
e1d4a128e8 test: simplify and document NULLDUMMY-invalidation helper (Sebastian Falbesoner)

Pull request description:

  This PR improves the functional test `feature_nulldummy.py` by simplifying the helpers `trueDummy` (renamed to `invalidate_nulldummy_tx`) and `block_submit`. Details can be found in the commit messages.

ACKs for top commit:
  laanwj:
    Code review ACK f1ed30451f

Tree-SHA512: ad227b31936f53c5dbded823643bced296d86f40b90f2c144a9857db3d00544f9ad5bbce4c7e84b6ece25e78e95c19aafb1d8fb31e610dcd5cbf3da63190de85
2021-11-17 10:46:00 +01:00
MarcoFalke
fac49470ca
doc: Fix incorrect C++ named args 2021-11-17 09:25:14 +01:00
fanquake
f31d4bd214
scripts: test for PE control flow instrumentation 2021-11-17 16:12:47 +08:00
fanquake
0445e1a1a5
build: use -fcf-protection=full when building Windows Boost in depends 2021-11-17 16:12:47 +08:00
MarcoFalke
398fd63356
Merge bitcoin/bitcoin#23525: doc: Pick better named args for MutableTransactionSignatureCreator
fa54a40809 doc: Pick better named args for MutableTransactionSignatureCreator (MarcoFalke)

Pull request description:

  Argument names of `nInIn` are not helpful.

ACKs for top commit:
  shaavan:
    ACK fa54a40809
  achow101:
    ACK fa54a40809

Tree-SHA512: 53a38588fdee07d7896a66339c1c2c2355638db95a95cad9844b60cd34e935bb726ab64d0c42dc414beb35375e56440f8a9cb3fbf5aec55c1eed066b7acad8c8
2021-11-17 08:16:18 +01:00
MarcoFalke
cb2392c5fb
Merge bitcoin/bitcoin#23496: fuzz: Add minisketch fuzz test
fa74d45306 fuzz: Add minisketch fuzz test (MarcoFalke)

Pull request description:

ACKs for top commit:
  mjdietzx:
    re-ACK fa74d45
  sipa:
    utACK fa74d45306

Tree-SHA512: 3d30095c85032139c37c7a2811dd417441a5105cb70af8250000d7b56aeda1e8fab5e65e683fb49d513ef40a81da3967a8a9a70caf40f56cef1dd96c6d4a05f6
2021-11-17 07:28:23 +01:00
fanquake
b869a784ef
Merge bitcoin/bitcoin#23522: Improve fs::PathToString documentation
9b575f1c73 Improve fs::PathToString documentation (Russell Yanofsky)

Pull request description:

  Add a developer note about avoiding `fs::PathToString` in RPCs, and improve some other `fs::PathToString` comments.

  Developer note might have been useful in two recent review comments:

  - https://github.com/bitcoin/bitcoin/pull/23398#discussion_r741585271
  - https://github.com/bitcoin/bitcoin/pull/23155#discussion_r749824259

ACKs for top commit:
  laanwj:
    Documentation review ACK 9b575f1c73
  jamesob:
    ACK 9b575f1c73
  prayank23:
    ACK 9b575f1c73
  hebasto:
    ACK 9b575f1c73
  shaavan:
    ACK 9b575f1c73

Tree-SHA512: b8b3ecb6208c3897241e4f24dcec64fe7cf091bc79388862cf5f4b315cb8e804939981c4bed4c81dbff99ec9f750bad99015d0f04890704ac9df63c2a6719b6d
2021-11-17 09:55:27 +08:00
fanquake
7be37ee850
Merge bitcoin/bitcoin#23520: ci: Rework ci task names (take 3)
fa459220c7 ci: Rework ci task names (MarcoFalke)

Pull request description:

  It is hard to find a specific sanitizer task in less than a second. Fix that by mentioning the sanitizer first in the task name. Less useful information (with or without depends) follows the sanitizer.

  Follow up to:

  * https://github.com/bitcoin/bitcoin/pull/20545
  * https://github.com/bitcoin/bitcoin/pull/20572

ACKs for top commit:
  fanquake:
    ACK fa459220c7

Tree-SHA512: 87165caff4749cc415cef6ae36cac63fa448cec0a1c92cd6b691a0fbd22902466c8d861b0d922c3331e4bf36dbb4eba86d745ef135f391f7ff81461fe5159e05
2021-11-17 08:45:49 +08:00
fanquake
6bde42e29e
Merge bitcoin/bitcoin#23511: release: require glibc 2.18+
5b93e65f6a build: remove D__STDC_FORMAT_MACROS from CPPFLAGS (fanquake)
dbfca4a815 build: require glibc 2.18+ for release builds (fanquake)

Pull request description:

  This increases our runtime glibc requirement from 2.17 to 2.18. From what I can see the only platform this drops release support for is CentOS 7, which reached the end of it's "full update" support at the [end of 2020](https://wiki.centos.org/About/Product). It does receive maintenance updates until 2024, however I don't think supporting glibc 2.17 until 2024 is realistic.

  It was mentioned in #22405 that our 2.17 requirement could be a bit excessive, and I tend to agree, however without a good reason to require an even newer version, I think a move from 2.17 -> 2.18 is sufficient for now. That means we get a glibc with "proper" support for `thread_local` (see below), as well as avoid having to patch dependencies to retain glibc compatibility (see #23489).

  Note that anyone wanting to self-compile and target a glibc 2.17 runtime could currently build with `--disable-threadlocal`. However we wouldn't make any guarantees on how long that workaround might exist for.

  glibc 2.18 was released in August 2013: https://sourceware.org/legacy-ml/libc-alpha/2013-08/msg00160.html.
  > Add support for calling C++11 thread_local object destructors on thread
    and program exit.  This needs compiler support for offloading C++11
    destructor calls to glibc.

  The last time we increased our runtime glibc requirement for release builds was in #17538 (0.20 release), where we moved from a 2.11 requirement to 2.17.

  Guix builds:
  ```bash
  bash-5.1# find guix-build-$(git rev-parse --short=12 HEAD)/output/ -type f -print0 | env LC_ALL=C sort -z | xargs -r0 sha256sum
  d21c7429dbaca3a5260ec424036e19e287c553adb2229894e59eb9b60bc2eba5  guix-build-5b93e65f6abf/output/aarch64-linux-gnu/SHA256SUMS.part
  5d8e7d8b5016b694cb23bcee202819a7db63ea033e5a21c99895981f7b508184  guix-build-5b93e65f6abf/output/aarch64-linux-gnu/bitcoin-5b93e65f6abf-aarch64-linux-gnu-debug.tar.gz
  db4e7b6af7d4dfa246e604f5548fd31e1ad51b810b24789f42362cd7be41cad3  guix-build-5b93e65f6abf/output/aarch64-linux-gnu/bitcoin-5b93e65f6abf-aarch64-linux-gnu.tar.gz
  db97badc0ad969bcb13620fc7f087d78622f3217ee792fc28406cc083a25bcbe  guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/SHA256SUMS.part
  58a6910362ffacd1c7df27033c25cb25f24a317f3ca909f39bb20ac552b021db  guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/bitcoin-5b93e65f6abf-arm-linux-gnueabihf-debug.tar.gz
  9d99fd89de4798116bfe83ff1e17e10c019b3e30d2d39fd70a5bef7c937bf6d5  guix-build-5b93e65f6abf/output/arm-linux-gnueabihf/bitcoin-5b93e65f6abf-arm-linux-gnueabihf.tar.gz
  254e9149d00b0e50af1c80697326ac69ab823b4e845c19f059cc229f724fbb07  guix-build-5b93e65f6abf/output/dist-archive/bitcoin-5b93e65f6abf.tar.gz
  cc39947931b65960f1d32c3d53d623108a78af4bf2b3ac34b65a4c30de5feb08  guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/SHA256SUMS.part
  8763efeaaeea17bc526bccb050bd9da1ad2f22c7d8ec912ec0db68f4de7d4b88  guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/bitcoin-5b93e65f6abf-powerpc64-linux-gnu-debug.tar.gz
  de8984c519c6afc7d43e28c11f7a38b0c5c2eec676bf566448cfd0e4f6accac8  guix-build-5b93e65f6abf/output/powerpc64-linux-gnu/bitcoin-5b93e65f6abf-powerpc64-linux-gnu.tar.gz
  ba73422ca3da7670435018b515bb2f8917dd23d47adb7989643b324bb47bcbf4  guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/SHA256SUMS.part
  65a66250139f2379e8ff79abab0448c2a395b77bbb9f18f9ba51d2c83c598ce4  guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/bitcoin-5b93e65f6abf-powerpc64le-linux-gnu-debug.tar.gz
  40e8de24f4e18af0473886cdedbc7aed2797264f8f4ed871547dd7d6e678efac  guix-build-5b93e65f6abf/output/powerpc64le-linux-gnu/bitcoin-5b93e65f6abf-powerpc64le-linux-gnu.tar.gz
  a42d20fd81325171f19b11f2cdf76da1d129146dfbda744125f579bb6f11a632  guix-build-5b93e65f6abf/output/riscv64-linux-gnu/SHA256SUMS.part
  581379b13295665ea709f8bda7ff606a4a1d4d536f6578a22ea2c64aeea62d62  guix-build-5b93e65f6abf/output/riscv64-linux-gnu/bitcoin-5b93e65f6abf-riscv64-linux-gnu-debug.tar.gz
  6dc6c6ac6116fda4596c6f577b6ecef65c552467222072e629562892a0363431  guix-build-5b93e65f6abf/output/riscv64-linux-gnu/bitcoin-5b93e65f6abf-riscv64-linux-gnu.tar.gz
  ef4ee73071bd1a4d610281781eb2409dd8fe5c976ba347914e97b5cb49292db4  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/SHA256SUMS.part
  c4ea3b83c7debaf2d5a5cced6408445c2cb22177b0b368df74a72612a9105600  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx-unsigned.dmg
  e9c53a43f7f1c105f5aa8d0f8163a773a5b4a16c420ffdb2e3d0a5aab89a275f  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx-unsigned.tar.gz
  f6e67def9519895ce2bf0893dbc4279e77e61d242b64ffd7423f46439baa9642  guix-build-5b93e65f6abf/output/x86_64-apple-darwin19/bitcoin-5b93e65f6abf-osx64.tar.gz
  2dac0468cda5ddd5e2aaf632228bbbde1fe98f6119c1cc0e91ab36bb7924b587  guix-build-5b93e65f6abf/output/x86_64-linux-gnu/SHA256SUMS.part
  5fbb6cd4a951dc8f7d9d3ec80b8dcbce4d6cd74a4a8c532ac30a2646ca4337a5  guix-build-5b93e65f6abf/output/x86_64-linux-gnu/bitcoin-5b93e65f6abf-x86_64-linux-gnu-debug.tar.gz
  2942ef6a2e67508a87566ebbea0bbbe922962fbc90df9a73d4a328953171c633  guix-build-5b93e65f6abf/output/x86_64-linux-gnu/bitcoin-5b93e65f6abf-x86_64-linux-gnu.tar.gz
  0d4c30d286d040126b8418a7c7e16d94cf8fe4397f4b71250a8502bf0aa65637  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/SHA256SUMS.part
  53b7f7b4243f5b9f02f91407569392ea672bb585227696cc0b63b5bc10866d8d  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win-unsigned.tar.gz
  7e7c252dcfe406f47caa9593b4009d969447859f4a665a02ef4718edaf170311  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64-debug.zip
  9cbc0780d42d6b4779ad989670757323a37151c03b4797e520a74b642b53e3dd  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64-setup-unsigned.exe
  a302b35629ac3bb21ae86905dfe521cdccd98a7e35868e12a081152adcf89bf5  guix-build-5b93e65f6abf/output/x86_64-w64-mingw32/bitcoin-5b93e65f6abf-win64.zip
  ```

ACKs for top commit:
  laanwj:
    ACK ACK ACK ACK ACK 5b93e65f6a
  hebasto:
    re-ACK 5b93e65f6a, only suggested changes since my [previous](https://github.com/bitcoin/bitcoin/pull/23511#pullrequestreview-806276081) review.

Tree-SHA512: e9c57b11881204ee7c4e3d474d64722bc1bd4409cf8511f2914360205158946a327aa7234bbcbae40c43c0373954d0571c28583d90c280dca53614372891ddde
2021-11-17 08:06:38 +08:00
fanquake
4a7f6e0d0c
Merge bitcoin/bitcoin#23524: doc: Fix typos in endif header comments
fa44237d76 doc: Fix typos in endif header comments (MarcoFalke)

Pull request description:

  Some of the endif header comments have typos in them (ZMRRPC_H), or are from a different file, or are inconsistently formatted.

  Fix all and adjust the linter.

ACKs for top commit:
  hebasto:
    ACK fa44237d76
  shaavan:
    ACK fa44237d76

Tree-SHA512: 84b8581d3806b816763f66113451d1501a71bf1060b601c2f456a3278d700c829aa67c3c014d611b6eed0f80cb2d968d789b288f5f17cf16b416aa5b2eceffdb
2021-11-17 08:04:02 +08:00
MarcoFalke
fa74d45306
fuzz: Add minisketch fuzz test 2021-11-16 19:18:05 +01:00
Andrew Chow
4868c9f1b3 Extract Taproot internal keyid with GetKeyFromDestination 2021-11-16 12:20:13 -05:00
Andrew Chow
d8abbe119c Mention bech32m in -addresstype and -changetype help 2021-11-16 12:20:13 -05:00
Andrew Chow
8fb57845ee Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by default 2021-11-16 12:20:13 -05:00
MarcoFalke
fa54a40809
doc: Pick better named args for MutableTransactionSignatureCreator
Argument names of "nInIn" are not helpful.
2021-11-16 13:38:12 +01:00
MarcoFalke
fa459220c7
ci: Rework ci task names 2021-11-16 13:30:01 +01:00
MarcoFalke
fa44237d76
doc: Fix typos in endif header comments 2021-11-16 09:56:45 +01:00
fanquake
ad09c287cb
Merge bitcoin/bitcoin#23504: ci: Replace soon EOL hirsute with jammy
fafa66e424 ci: Replace soon EOL hirsute with jammy (MarcoFalke)

Pull request description:

  `hirsute` will be EOL in about 1.5 months, at which point the package servers may be shut down. Avoid this by hopping to the next LTS release 22.04 (Jammy Jellyfish).

  While the release is currently in development, it seems unlikely that anything will break for us. I am doing the hirsute->jammy hop to avoid a hirsute->impish->jammy hop, but if anything does break, we can fall back to that "double hop".

ACKs for top commit:
  fanquake:
    ACK fafa66e424
  Zero-1729:
    crACK fafa66e424

Tree-SHA512: a3626b72519c7f54f260477d04265321af7aefe25cc2a7d653dba77f79caca10db3a6aa4249a934184dcdc99832f6b4c6e50330d7630e58720ab0aba3624ab8a
2021-11-16 16:11:13 +08:00
fanquake
d0923098c6
Merge bitcoin/bitcoin#23491: scripted-diff: Move minisketchwrapper to src/node
faba1abe46 Sort file list after rename (MarcoFalke)
fa8f60e311 scripted-diff: Move minisketchwrapper to src/node (MarcoFalke)

Pull request description:

  The newly added wrapper is currently in the node library, but not placed in the node directory. While it is possible to use the wrapper outside of a node context (for example in a utility), it seems unlikely. Either way, I think the wrapper should either be moved to the util lib+dir or the node lib+dir, not something in-between.

  Also, fix incorrect comment `BITCOIN_DBWRAPPER_H`.

ACKs for top commit:
  fanquake:
    ACK faba1abe46. I saw the comment in #21515, however given there hasn't been any new activity there, I'm going to merge this now.

Tree-SHA512: fccc0cfd1fee661152a1378587b96795ffb7a7eceb6d2c27ea5401993fd8b9c0a92579fdba61203917ae6565269cb28d0973464fb6201dabf72a5143495d3e77
2021-11-16 16:09:25 +08:00
MarcoFalke
cf63d635b1
Merge bitcoin/bitcoin#23499: multiprocess: Add interfaces::Node::broadCastTransaction method
0e0f4fdd89 multiprocess: Add interfaces::Node::broadCastTransaction method (Russell Yanofsky)

Pull request description:

  This fixes a null pointer crash in the bitcoin-gui PSBT dialog. The bitcoin-gui interfaces::Node object has a null NodeContext pointer, and can't broadcast transactions directly. It needs to broadcast transactions through the bitcoin-node process instead.

  ---

  This PR is part of the [process separation project](https://github.com/bitcoin/bitcoin/projects/10).

ACKs for top commit:
  lsilva01:
    Code Review ACK 0e0f4fd

Tree-SHA512: cd2c1fe8dc15e7cecf01a21d64319d6add1124995305a9ef9cb72f8492dc692c62d4f846182567d47a5048a533178a925419250941a47cb39932467c36bea3e1
2021-11-16 08:42:21 +01:00
Andrew Chow
54b3699862 Store pubkeys in TRDescriptor::MakeScripts
When expanding the scripts for a TRDescriptor, also store the pubkeys in
the FlatSigningProvider.
2021-11-15 23:50:32 -05:00
fanquake
ffdab41f94
Merge bitcoin/bitcoin#23474: test: scripted-diff cleanups after generate* changes
fac23c2114 scripted-diff: Bump copyright headers (MarcoFalke)
fa974f1f14 scripted-diff: Remove redundant sync_all and sync_blocks (MarcoFalke)
fad13991ae test: Properly set sync_fun in NodeNetworkLimitedTest (MarcoFalke)
faeff57709 test: Use 4 spaces for indentation (MarcoFalke)

Pull request description:

  Some cleanups after commit 94db963de5

ACKs for top commit:
  fanquake:
    ACK fac23c2114

Tree-SHA512: 5acfd5bb9679b41969d0fc6fc85801ccadcd6530ea692bac6352668e06fc7a9b0e1db3fd6fba435e84afe983d2eb07bd0a47c8364462bb7110004bd3d102b698
2021-11-16 11:22:06 +08:00
Samuel Dobson
0475a2378b
Merge bitcoin/bitcoin#23349: util: Use FEATURE_LATEST for wallets created with bitcoin-wallet
5b6b5ef5d1 util: Use FEATURE_LATEST for wallets created with bitcoin-wallet (Hennadii Stepanov)

Pull request description:

  Since the 49d2374acf commit was athored by **jonasschnelli** in 2016, the wallet version was bumped twice: in 2017 (bitcoin/bitcoin#11250) and in 2018 (bitcoin/bitcoin#12560).

  This PR bumps the version of wallets created with `bitcoin-wallet` offline tool.

  On master (04437ee721) -- `"walletversion": 139900`:
  ```
  $ src/bitcoin-wallet -signet -wallet=211025-test-master create
  Topping up keypool...
  Wallet info
  ===========
  Name: 211025-test-master
  Format: sqlite
  Descriptors: yes
  Encrypted: no
  HD (hd seed available): yes
  Keypool Size: 6000
  Transactions: 0
  Address Book: 0
  $ src/bitcoin-cli -signet -rpcwallet=211025-test-master getwalletinfo
  {
    "walletname": "211025-test-master",
    "walletversion": 139900,
    "format": "sqlite",
    "balance": 0.00000000,
    "unconfirmed_balance": 0.00000000,
    "immature_balance": 0.00000000,
    "txcount": 0,
    "keypoolsize": 3000,
    "keypoolsize_hd_internal": 3000,
    "paytxfee": 0.00000000,
    "private_keys_enabled": true,
    "avoid_reuse": false,
    "scanning": false,
    "descriptors": true
  }
  ```

  With this PR -- `"walletversion": 169900`:
  ```
  $ src/bitcoin-wallet -signet -wallet=211025-test-pr create
  Topping up keypool...
  Wallet info
  ===========
  Name: 211025-test-pr
  Format: sqlite
  Descriptors: yes
  Encrypted: no
  HD (hd seed available): yes
  Keypool Size: 6000
  Transactions: 0
  Address Book: 0
  $ src/bitcoin-cli -signet -rpcwallet=211025-test-pr getwalletinfo
  {
    "walletname": "211025-test-pr",
    "walletversion": 169900,
    "format": "sqlite",
    "balance": 0.00000000,
    "unconfirmed_balance": 0.00000000,
    "immature_balance": 0.00000000,
    "txcount": 0,
    "keypoolsize": 3000,
    "keypoolsize_hd_internal": 3000,
    "paytxfee": 0.00000000,
    "private_keys_enabled": true,
    "avoid_reuse": false,
    "scanning": false,
    "descriptors": true
  }
  ```

ACKs for top commit:
  lsilva01:
    Code Review ACK 5b6b5ef
  stratospher:
    ACK 5b6b5ef.
  rajarshimaitra:
    ACK 5b6b5ef5d1
  meshcollider:
    Code review ACK 5b6b5ef5d1

Tree-SHA512: 0221e76fa8f29037920d0a483c742bf270ecaead45f30230943b78775aaea63ac052e43fe712d15c2326e515dea2d2ac82de0924882598421c1874f2e6f442a6
2021-11-16 15:32:18 +13:00
fanquake
6780759a01
Merge bitcoin/bitcoin#23478: build: Add support for Android NDK r23 LTS
4ba492052e doc: Add minimum supported Android NDK version (Hennadii Stepanov)
6393bdcd53 doc: Move Android dependencies guide into `build-android.md` (Hennadii Stepanov)
ac323a7222 build: Switch to llvm buinutils for Android builds (Hennadii Stepanov)

Pull request description:

  The new Long Term Support release of the Android NDK is [available](https://groups.google.com/g/android-ndk-announce/c/MS6Qoub0DKE/m/Zfp5Ys8eAAAJ) since 2021-08-11:

  > As r23 is the new LTS, the support windows for r21 and r22 have now ended.

  On master (8ae4ba481c), dependency build fails because it expects GNU Binutils are present in the Android NDK. In [fact](https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md#binutils):
  > GNU Binutils remains available up to and including r22. All binutils tools with the exception of the assembler (GAS) were removed in r23. GAS was removed in r24.

  This PR switches our depends build system to llvm binutils. The usage of `llvm-ar` and `llvm-ranlib` tools effectively makes r21 the minimum supported version of NDK.

  With this PR:
  - building depends against NDK r23 LTS now is possible with `NO_QT=1`
  - building the `qt` package in depends against NDK r23 LTS still fails:
  ```
  Creating qmake...
  ...

  ERROR: Cannot detect Android NDK toolchain.
  Please use -android-toolchain-version to specify it.
  ```

  The issue with the `qt` package is going to be addressed in another PR.

ACKs for top commit:
  fanquake:
    ACK 4ba492052e

Tree-SHA512: cdc8f95ff9a3ad7f12eb55b9ea18b6b6b800d4cceff7e0321985be6e39d15a2b2ea5b1592972307d76d111292a0ed58fd287e5ca285e2f6868b42a286536d310
2021-11-16 10:05:17 +08:00
fanquake
5b93e65f6a
build: remove D__STDC_FORMAT_MACROS from CPPFLAGS
This was used to expose additional formatting macros in glibs / std
libs. However this is no-longer required now that we require glibc
2.18+.

See https://sourceware.org/bugzilla/show_bug.cgi?id=15366.
2021-11-16 07:51:29 +08:00
fanquake
dbfca4a815
build: require glibc 2.18+ for release builds
From what I can see the only platform this drops support for is CentOS
7. CentOS 7 reached the end of it's "full update" support at the end of
2020. It does receive maintenance updates until 2024, however I don't
think supporting glibc 2.17 until 2024 is realistic. Note that anyone
wanting to self-compile and target a glibc 2.17 runtime could build with
--disable-threadlocal.

glibc 2.18 was released in August 2013.
https://sourceware.org/legacy-ml/libc-alpha/2013-08/msg00160.html
2021-11-16 07:51:24 +08:00
fanquake
41e6909c07
Merge bitcoin/bitcoin#23516: test: Force --nosandbox when --valgrind
fa9c26ab3a test: Force --nosandbox when --valgrind (MarcoFalke)

Pull request description:

  The two options are mutually exclusive and will result in a test failure. Fix that.

  Can be tested with:

  ```
  $ ./test/functional/wallet_disable.py --valgrind

ACKs for top commit:
  fanquake:
    ACK fa9c26ab3a

Tree-SHA512: 7d1c36c1b6627ca041757eb0515a0d6cc962a56d783ee4f5647a2ddc2d104491f0586a8ea0b8acebe0a203190f4f5567b349123dfd4c181bcc63361174a8ab63
2021-11-16 07:30:03 +08:00
W. J. van der Laan
caf8b26b52
Merge bitcoin/bitcoin#23175: Add CJDNS network to -addrinfo and -netinfo
7b6528746a cli: hoist networks class data members to a constant (Jon Atack)
5bd40a3e84 cli: add cjdns network to -addrinfo and -netinfo (Jon Atack)

Pull request description:

  Follow-up to #23077 and #23324.
  ```
  $ ./src/bitcoin-cli -addrinfo
  {
    "addresses_known": {
      "ipv4": 47782,
      "ipv6": 10307,
      "onion": 8030,
      "i2p": 41,
      "cjdns": 1,
      "total": 66161
    }
  }
  $ ./src/bitcoin-cli -netinfo
  Bitcoin Core client v22.99.0-deb6223d4c55 - server 70016/Satoshi:22.99.0(jon)/

          ipv4    ipv6   onion     i2p   cjdns   total   block  manual
  in         0       5      12       5       1      23
  out        2       2       9       5       2      20       2      10
  total      2       7      21      10       3      43
  ```
  ```
  $ ./src/bitcoin-cli -netinfo 1
  ```

  ![Screenshot from 2021-10-10 12-01-58](https://user-images.githubusercontent.com/2415484/136691258-8b3fa7aa-3edb-4428-854a-adadfef302e3.png)

ACKs for top commit:
  laanwj:
    Code review ACK 7b6528746a

Tree-SHA512: 9c740d394d9842d38a1c01a824271b25277baac11ed090f0430daa15b580c2bf3d114ac6b8254b19d6aaee57cbe1ca6a414996e6994e0bf4a577bed771382eca
2021-11-15 22:20:33 +01:00
W. J. van der Laan
5ccab7187b
Merge bitcoin/bitcoin#23394: Taproot wallet test vectors (generation+tests)
f1c33ee4ac tests: implement BIP341 test vectors (Pieter Wuille)
ac3037df11 tests: BIP341 test vector generation (Pieter Wuille)
ca83ffc2ea tests: add deterministic signing mode to ECDSA (Pieter Wuille)
c98c53f20c tests: abstract out precomputed BIP341 signature hash elements (Pieter Wuille)
a5bde018b4 tests: give feature_taproot access to sighash preimages (Pieter Wuille)
5140825096 tests: add more fields to TaprootInfo (Pieter Wuille)
2478c6730a Make signing follow BIP340 exactly w.r.t. aux randomness (Pieter Wuille)

Pull request description:

  This PR adds code to `test/functional/feature_taproot.py` which runs through a (deterministic) scenario covering several aspects of the wallet side of BIP341 (scriptPubKey computation from keys/scripts, control block computation, key path spending), with the ability to output test vectors in mediawiki format based on this scenario. The generated tests are then also included directly in `src/test/script_tests.cpp` and `src/test/script_standard_tests.cpp`.

  I intend to add these test vectors to BIP341 itself: https://github.com/bitcoin/bips/pull/1225

ACKs for top commit:
  laanwj:
    Code review ACK f1c33ee4ac

Tree-SHA512: fcf7109539cb214d3190516b205cd32d2b1b452f14aa66f4107acfaa8bfc7d368f626857f1935665a4342eabc0b9ee8aba608a7c0a2494bec0b498e723439c9d
2021-11-15 20:32:42 +01:00
Russell Yanofsky
9b575f1c73 Improve fs::PathToString documentation 2021-11-15 12:08:49 -05:00