Commit Graph

2546 Commits

Author SHA1 Message Date
fanquake
d51f0fa4b7
doc: add release notes for 26896 2023-01-28 15:27:27 +00:00
fanquake
2b248798d9
build: remove --enable-upnp-default from configure 2023-01-28 15:27:23 +00:00
fanquake
02f5a5e7b5
build: remove --enable-natpmp-default from configure 2023-01-28 15:26:12 +00:00
Andrew Chow
483a4bb819
Merge bitcoin/bitcoin#26834: contrib: remove install_db4.sh
44f3c7de21 contrib: remove install_db4.sh (fanquake)
14ce84388f doc: add new NO_* options from #26833 (fanquake)

Pull request description:

  Now that we can build a bdb-only depends prefix (#26833), there is no need to
  maintain a bdb-building bash script, that does the same thing as
  depends, except worse, as it's missing patches and workarounds. i.e #26623.

  Someone that wants to compile bdb themselves, but doesn't want to use other depends built libs, can do:
  ```bash
  make -C depends NO_BOOST=1 NO_LIBEVENT=1 NO_QT=1 NO_SQLITE=1 NO_NATPMP=1 NO_UPNP=1 NO_ZMQ=1 NO_USDT=1
  ...
  to: /path/to/bitcoin/depends/x86_64-pc-linux-gnu
  ```

  which gives them a BDB only prefix, and then compile using:
  ```bash
  export BDB_PREFIX="/path/to/bitcoin/depends/x86_64-pc-linux-gnu"
  ./autogen.sh
  ./configure \
      BDB_LIBS="-L${BDB_PREFIX}/lib -ldb_cxx-4.8" \
      BDB_CFLAGS="-I${BDB_PREFIX}/include"
  ```

  Wondering if we should extract the build bdb/legacy wallet docs somewhere, to avoid the repetition?

ACKs for top commit:
  TheCharlatan:
    ACK 44f3c7de21
  achow101:
    ACK 44f3c7de21
  hebasto:
    ACK 44f3c7de21
  jarolrod:
    ACK 44f3c7de21

Tree-SHA512: 50b33ae9df2ab94a1bd114e846cec16f647a61023b72f0d3e547a18db09c01d60bb7b42a04758212f4930314df03016feb6ebc96962dd8a8e26eb8cd4e0d167d
2023-01-27 12:42:16 -05:00
fanquake
ad09b76275
Merge bitcoin/bitcoin#26471: Reduce default mempool size in -blocksonly mode
8e85164e7d doc: release note on mempool size in -blocksonly (willcl-ark)
ae797463dc doc: Update blocksonly behaviour in reduce-memory (willcl-ark)
1134686ef9 mempool: Don't share mempool with dbcache in blocksonly (willcl-ark)

Pull request description:

  Fixes #9526

  When `-blocksonly` has been set reduce default mempool size to avoid surprising resource usage via sharing un-used mempool cache space with dbcache.

  In comparison to https://github.com/bitcoin/bitcoin/pull/9569 which either set `maxmempool` size to 0 when `-blocksonly` was set or else errored on startup, this change will permit `maxmempool` options being set.

  This preserves the current (surprising?) behaviour of having a functional mempool in `-blocksonly` mode, to permit whitelisted peer transaction relay, whilst reducing average runtime memory usage for blocksonly nodes which either use the default settings or have otherwise configured a `maxmempool` size.

  To use the previous old defaults node operators can configure their node with: `-blocksonly -maxmempool=300`.

ACKs for top commit:
  ajtowns:
    ACK 8e85164e7d
  stickies-v:
    re-ACK 8e85164e7d

Tree-SHA512: 1c461c24b6f14ba02cfe4e2cde60dc629e47485db5701bca3003b8df79e3aa311c0c967979f6a1dca3ba69f5b1e45fa2db6ff83352fdf2d4349d5f8d120e740d
2023-01-22 14:57:16 +00:00
willcl-ark
8e85164e7d
doc: release note on mempool size in -blocksonly
Adds a release note detailing the new mempool sizing behaviour when
running in blocksonly mode, and instruction on how to override the new
defaults.
2023-01-20 13:54:05 +00:00
willcl-ark
ae797463dc
doc: Update blocksonly behaviour in reduce-memory
Changes to the default mempool allocation size now documented.

Provides users with guidance on the mempool implications of -blocksonly
mode, along with instructions on how to re-enable old behaviour.
2023-01-20 13:27:07 +00:00
Sebastian Falbesoner
783288334c doc: add release note for #25957 (fast wallet rescan) 2023-01-19 13:40:26 +01:00
MarcoFalke
92dcbe9cc3
Merge bitcoin/bitcoin#23395: util: Add -shutdownnotify option
d96d97ad30  doc: Add release note for shutdownnotify. (klementtan)
0bd73e2c45 util: Add -shutdownnotify option. (klementtan)

Pull request description:

  **Description**: Similar to `-startupnotify`, this PR adds a new option to allow users to specify a command to be executed when Bitcoin Core shuts down.

  **Note**: The `shutdownnotify` commands will not be executed if bitcoind shut down due to *unexpected* reasons (ie `killall -9 bitcoind`).

  ### Testing:
  **Normal shutdown commands**
  ```
  # start bitcoind with shutdownnotify optioin
  ./src/bitcoind -signet -shutdownnotify="touch foo.txt"

  # shutdown bitcoind
  ./src/bitcoin-cli -signet stop

  # check that foo.txt has been created
  ```

  **Final RPC call**
  Commands:
  ```
  $  ./src/bitcoind -signet -nolisten -noconnect -shutdownnotify="./src/bitcoin-cli -signet getblockchaininfo > tmp.txt"
  $ ./src/bitcoin-cli stop
  $ cat tmp.txt
  ```
  <details>
  <summary>Screen Shot</summary>

  ![image](https://user-images.githubusercontent.com/49265907/141186183-cbc6f82c-400d-4a8b-baba-27c0346c2c8a.png)
  </details>

ACKs for top commit:
  achow101:
    ACK d96d97ad30
  1440000bytes:
    ACK d96d97ad30
  theStack:
    re-ACK d96d97ad30

Tree-SHA512: 16f7406fd232e8b97aea5e58854c84755b0c35c88cb3ef9ee123b29a1475a376122b1e100da860cc336d4d657e6046a70e915fdb9b70c9fd097c6eef1b028161
2023-01-19 10:34:54 +01:00
fanquake
44f3c7de21
contrib: remove install_db4.sh
Now that we can build a bdb-only depends prefix, there is no need to
maintain a bdb-building bash script, that does the same things as
depends, except worse, as it's missing patches and workarounds. i.e #26623.
2023-01-18 16:59:02 +00:00
MarcoFalke
aef8b4f43b
Merge bitcoin/bitcoin#26226: Bump minimum python version to 3.7
fa8fe5b696 scripted-diff: Use new python 3.7 keywords (MarcoFalke)
fa2a23548a Revert "contrib: Fix capture_output in getcoins.py" (MarcoFalke)
dddd462137 Bump minimum python version to 3.7 (MarcoFalke)

Pull request description:

  While there is nothing that requires a bump, it may require less maintenance to drop python3.6 support. Python3.7 is available through the package manager on all currently supported operating systems.

ACKs for top commit:
  jamesob:
    ACK fa8fe5b696
  hebasto:
    ACK fa8fe5b696

Tree-SHA512: f6e080d8751948bb0e01c87be601363158f345e8037b70ce7e1bc507c611eb61600e4f24f1d2f8a6e7e44877ab09319302869e33ce8118c4c4f71fc89c0a1198
2023-01-18 16:46:12 +01:00
fanquake
b52a6c0cf9
Merge bitcoin/bitcoin#26873: doc: add databases/py-sqlite3 to FreeBSD test suite deps
376e01b382 doc: add databases/py-sqlite3 to FreeBSD test suite deps (fanquake)

Pull request description:

  Adds missing documentation. See also https://cirrus-ci.com/task/5639240319500288.

ACKs for top commit:
  john-moffett:
    ACK 376e01b382

Tree-SHA512: a7b8d0bae00c3538934d23eae207b7927a64e748eb228ac6c5754aee0e9b6796c0f39066c7d81cc009bf442c8b1a0c31739adde87d1ebc3445aed54dda47c9ce
2023-01-18 15:38:02 +00:00
MarcoFalke
dddd462137
Bump minimum python version to 3.7 2023-01-18 12:59:11 +01:00
Andrew Chow
b55b11f92a
Merge bitcoin/bitcoin#25375: rpc: add minconf/maxconf options to sendall and fund transaction calls
cfe5aebc79 rpc: add minconf and maxconf options to sendall (ishaanam)
a07a413466 Wallet/RPC: Allow specifying min & max chain depth for inputs used by fund calls (Juan Pablo Civile)

Pull request description:

  This PR adds a "minconf" option to `fundrawtransaction`, `walletcreatefundedpsbt`,  and `sendall`.
  Alternative implementation of #14641
  Fixes #14542

  Edit: This PR now also adds this option to `send`

ACKs for top commit:
  achow101:
    ACK cfe5aebc79
  Xekyo:
    ACK cfe5aebc79
  furszy:
    diff ACK cfe5aebc, only a non-blocking nit.

Tree-SHA512: 836e610926eec3a62308fba88ddbd6a13d8f4dac37352d0309599f893cde9c1df5e9c298fda6e076493068e4d213e4afa7290a9e3bdb5a95a5d507da3f7b59e8
2023-01-16 17:23:51 -05:00
brunoerg
0c520679ab doc: add release notes for abandoned field in gettransaction and listtransactions 2023-01-13 10:29:05 -03:00
MarcoFalke
dcae3c19b8
Merge bitcoin/bitcoin#26867: doc: Mention restoring wallet via GUI
dc9bad5192 Change dots to an ellipsis and fix capitalization (John Moffett)
9b158ae73f Update to mention restoring wallet via GUI (John Moffett)

Pull request description:

  f9783b0f07 Recently added the ability to restore wallets via the GUI, but the current wallet guide says backups must be restored via RPC.

ACKs for top commit:
  kouloumos:
    ACK dc9bad5192
  jarolrod:
    re-ACK dc9bad5
  hebasto:
    re-ACK dc9bad5192

Tree-SHA512: 325a0023ef10c75073b0288f69c99f01b029b0b7b64ae91e7ef72d4ab1fa4da60fe4cd1b4528c1c0d34617122d9aee3cd9cb32aef05a25493fc01e9ec2e6cc10
2023-01-13 09:42:08 +01:00
John Moffett
dc9bad5192 Change dots to an ellipsis and fix capitalization
Matches ellipsis usage in the "Restore" section.
2023-01-12 11:15:02 -05:00
John Moffett
9b158ae73f Update to mention restoring wallet via GUI 2023-01-12 11:12:25 -05:00
fanquake
c28d461834
doc: move errant release note to doc/ 2023-01-12 09:28:34 +00:00
ishaanam
cfe5aebc79 rpc: add minconf and maxconf options to sendall 2023-01-11 17:08:35 -05:00
Juan Pablo Civile
a07a413466 Wallet/RPC: Allow specifying min & max chain depth for inputs used by fund calls
Enables users to craft BIP-125 replacements with changes to the output
list, ensuring that if additional funds are needed they will be added.
2023-01-11 17:08:23 -05:00
fanquake
376e01b382
doc: add databases/py-sqlite3 to FreeBSD test suite deps 2023-01-11 16:55:56 +00:00
MarcoFalke
dbca00ef76
Merge bitcoin/bitcoin#26838: doc: I2P documentation updates
3e1d2941e9 doc: remove recommended I2P router versions (jonatack)
295849abb5 doc: update/clarify/de-emphasize I2P transient address section (jonatack)
dffa319457 doc: update bandwidth section of I2P documentation (jonatack)
0ed9cc5892 doc: clarify -i2pacceptincoming help documentation (jonatack)

Pull request description:

  Address the documentation updates requested in issue #26754, clarify/simplify the -i2pacceptincoming help, and a few other fixups.

ACKs for top commit:
  willcl-ark:
    ACK 3e1d294
  1440000bytes:
    ACK 3e1d2941e9
  w0xlt:
    ACK 3e1d2941e9
  vasild:
    ACK 3e1d2941e9

Tree-SHA512: e647221884af34646b99150617f4d4cc8d5fce325a769294f49047b9d8c9c8ab2b365cfdd9f56b3bd0303da706233f03d24cececf6e161c53f04ed947751052a
2023-01-11 13:03:54 +01:00
Andrew Chow
1aedc3b6c8
Merge bitcoin/bitcoin#26618: rpc: Prevent unloading a wallet when rescanning
109cbb819d doc: Add release notes for #26618 (Aurèle Oulès)
b13902d2e4 rpc: Prevent unloading a wallet when rescanning (Aurèle Oulès)

Pull request description:

  Fixes #26463.

  This PR prevents a user from unloading a wallet if it is currently rescanning.

  To test:

  ```bash
  ./src/bitcoin-cli -testnet -named createwallet wallet_name=wo disable_private_keys=true
  ./src/bitcoin-cli -testnet -rpcwallet=wo importdescriptors '[{
    "desc": "addr(mmcuW74MyJUZuLnWXGQLoNXPrS9RbFz6gD)#tpnrahgc",
        "timestamp": 0,
        "active": false,
        "internal": false,
        "next": 0
  }]'
  ./src/bitcoin-cli -testnet unloadwallet wo
  error code: -4
  error message:
  Wallet is currently rescanning. Abort existing rescan or wait.

ACKs for top commit:
  achow101:
    ACK 109cbb819d
  w0xlt:
    ACK 109cbb819d
  kouloumos:
    ACK 109cbb819d
  promag:
    ACK 109cbb819d

Tree-SHA512: 15fdddf4cf9f3fa08f52069fe4a25a76e04a55bb2586b031bfb0393dce7f175dcdb52823e132a7dff6a894539beeb980a1aad2a792790be036be6977628149b2
2023-01-09 16:56:40 -05:00
jonatack
3e1d2941e9 doc: remove recommended I2P router versions
as these go stale and users will generally install the current versions available.
2023-01-09 08:18:58 -08:00
jonatack
295849abb5 doc: update/clarify/de-emphasize I2P transient address section 2023-01-09 08:18:58 -08:00
jonatack
dffa319457 doc: update bandwidth section of I2P documentation 2023-01-09 08:18:58 -08:00
jonatack
0ed9cc5892 doc: clarify -i2pacceptincoming help documentation
and also hoist the default setting to a constexpr and
remove unused f-string operators in a related functional test.
2023-01-09 08:18:47 -08:00
fanquake
911a40ead2
Merge bitcoin/bitcoin#26557: build: Update Boost to 1.81.0 in depends
2427468f27 doc: Update Boost version in doc/dependencies.md (Hennadii Stepanov)
e8b4201ba2 build: Update Boost to 1.81.0 in depends (Hennadii Stepanov)

Pull request description:

  Required for https://github.com/bitcoin/bitcoin/pull/25696, also see https://github.com/bitcoin/bitcoin/pull/25696#discussion_r1005600540.

  Guix build:
  ```
  0aade9c6a91d8550dea6cb07d4657c299a78d4434c1e78ef487e30e53239da64  guix-build-e8b4201ba2fd/output/aarch64-linux-gnu/SHA256SUMS.part
  f21964d25f96bca46ced3286b00e7e605d6517a6de7b00aa7ebf3bb6ee63d0d2  guix-build-e8b4201ba2fd/output/aarch64-linux-gnu/bitcoin-e8b4201ba2fd-aarch64-linux-gnu-debug.tar.gz
  65e991407232714455a4bb5fb072b3b7f58f8f4696ca78b6756aae6e6497540b  guix-build-e8b4201ba2fd/output/aarch64-linux-gnu/bitcoin-e8b4201ba2fd-aarch64-linux-gnu.tar.gz
  92535c8b7ead8f3319858e55c7d076b3db174efd10b4b8dce8efbbd5e5b98819  guix-build-e8b4201ba2fd/output/arm-linux-gnueabihf/SHA256SUMS.part
  9cd199415fbfe6ee6fdf5c57def2591327c97e7e31c4c7b323a738761fe6a285  guix-build-e8b4201ba2fd/output/arm-linux-gnueabihf/bitcoin-e8b4201ba2fd-arm-linux-gnueabihf-debug.tar.gz
  e13dacef38e68bb30283fda82bbf73864e5977b4cc6f82be41476246c7f51e90  guix-build-e8b4201ba2fd/output/arm-linux-gnueabihf/bitcoin-e8b4201ba2fd-arm-linux-gnueabihf.tar.gz
  e4c57c126927c2b40a3bd7c697e8b524140f989094c2a9ff216e1c03e90810da  guix-build-e8b4201ba2fd/output/arm64-apple-darwin/SHA256SUMS.part
  90b15bd6e8eab3c541a2a057402cf41630e5c72d07bf62b3d2d4d54698b3f03b  guix-build-e8b4201ba2fd/output/arm64-apple-darwin/bitcoin-e8b4201ba2fd-arm64-apple-darwin-unsigned.dmg
  848c7928d633f19912f340fa6df8b77756d291991dbd849b3d95761bcd445bad  guix-build-e8b4201ba2fd/output/arm64-apple-darwin/bitcoin-e8b4201ba2fd-arm64-apple-darwin-unsigned.tar.gz
  9880bfc57770372478c56b22b513d91d25a799591a345069e04c3f3a88bfc9ec  guix-build-e8b4201ba2fd/output/arm64-apple-darwin/bitcoin-e8b4201ba2fd-arm64-apple-darwin.tar.gz
  e61cb6337dc1480292300fcd45e9b128c567222911cac3a9209955433e1f413b  guix-build-e8b4201ba2fd/output/dist-archive/bitcoin-e8b4201ba2fd.tar.gz
  fd685ffcd1c5e32c25a84638fd47c5e14d0247dcf7d51e5317fea356f8c8347a  guix-build-e8b4201ba2fd/output/powerpc64-linux-gnu/SHA256SUMS.part
  b710e9123684e459732553b1d6df2912257ac43b315db7f2e9288d95c76ce2b6  guix-build-e8b4201ba2fd/output/powerpc64-linux-gnu/bitcoin-e8b4201ba2fd-powerpc64-linux-gnu-debug.tar.gz
  ea7878ea044dbfaf9c022de5bf7532bf00b028c8582d24ce67bec917f34869e9  guix-build-e8b4201ba2fd/output/powerpc64-linux-gnu/bitcoin-e8b4201ba2fd-powerpc64-linux-gnu.tar.gz
  737d9e054356ea50c7efe964a7b223eb81a7fcc10b235647ffcb588784e7e212  guix-build-e8b4201ba2fd/output/powerpc64le-linux-gnu/SHA256SUMS.part
  46de2537ea90ddaced620a7dbfa1379b2d0cc80ae87d6225fef94a7196ff5166  guix-build-e8b4201ba2fd/output/powerpc64le-linux-gnu/bitcoin-e8b4201ba2fd-powerpc64le-linux-gnu-debug.tar.gz
  7e10be7f494bd4635477919ca9b9968b62054e0448f2963d1c25f0215361feae  guix-build-e8b4201ba2fd/output/powerpc64le-linux-gnu/bitcoin-e8b4201ba2fd-powerpc64le-linux-gnu.tar.gz
  cfb90022ea23526d8ca26259a06d2ec06a278e8fbcb05d6ba37fa3ef33ba1f77  guix-build-e8b4201ba2fd/output/riscv64-linux-gnu/SHA256SUMS.part
  ba45d57e19758682991fc51cc04c0e13e7e586b74ae1adae0273cd15bdd5cdb2  guix-build-e8b4201ba2fd/output/riscv64-linux-gnu/bitcoin-e8b4201ba2fd-riscv64-linux-gnu-debug.tar.gz
  970941bee4c342b7b23065ce515d5e340b3aed989210a569faa33f638a3575f9  guix-build-e8b4201ba2fd/output/riscv64-linux-gnu/bitcoin-e8b4201ba2fd-riscv64-linux-gnu.tar.gz
  3943c224a3fa0554ca75292f301ae02514c7ec100d9e13e185ed6ad4db932194  guix-build-e8b4201ba2fd/output/x86_64-apple-darwin/SHA256SUMS.part
  4c5f14af1961e33336423a2021b5da76b550ae1bc2284003d6009b1ced940eea  guix-build-e8b4201ba2fd/output/x86_64-apple-darwin/bitcoin-e8b4201ba2fd-x86_64-apple-darwin-unsigned.dmg
  3ab7fd5623b414c4e0504c2943b84048524374150e9626b3a0b6931adc46109a  guix-build-e8b4201ba2fd/output/x86_64-apple-darwin/bitcoin-e8b4201ba2fd-x86_64-apple-darwin-unsigned.tar.gz
  00c4c2da392eaee439984ab2bd614d2df6b48ba775350b2c6d48c3061e7667c5  guix-build-e8b4201ba2fd/output/x86_64-apple-darwin/bitcoin-e8b4201ba2fd-x86_64-apple-darwin.tar.gz
  df20f8a3c8836ca5b7bac4c5104a31f4be76da75a67846d69cc8cbdf42339743  guix-build-e8b4201ba2fd/output/x86_64-linux-gnu/SHA256SUMS.part
  68f72876397bfbf6cde73b8303bd081235407211d684cdb78fc932ffb0752942  guix-build-e8b4201ba2fd/output/x86_64-linux-gnu/bitcoin-e8b4201ba2fd-x86_64-linux-gnu-debug.tar.gz
  769556d6a4a8baed5dfb81ab63afd1c0999101a5afeb2f7a1bab9b94ce6635bc  guix-build-e8b4201ba2fd/output/x86_64-linux-gnu/bitcoin-e8b4201ba2fd-x86_64-linux-gnu.tar.gz
  4b8487e9b16e0ec6645cb63ddd25149011797af14d596ed31a23130f201d8f57  guix-build-e8b4201ba2fd/output/x86_64-w64-mingw32/SHA256SUMS.part
  6fbad9caf9da6041f0d119be293d0895b50535604f86dda45a7b8345fb581a39  guix-build-e8b4201ba2fd/output/x86_64-w64-mingw32/bitcoin-e8b4201ba2fd-win64-debug.zip
  42e84737cac5ec2d2052e5632f68bc6d211d5f02a171cb7347c067025edce13f  guix-build-e8b4201ba2fd/output/x86_64-w64-mingw32/bitcoin-e8b4201ba2fd-win64-setup-unsigned.exe
  9205f92b1ecfcfa649552e27bb0942611dfac2a5f99c326b7de89bbeb46ad564  guix-build-e8b4201ba2fd/output/x86_64-w64-mingw32/bitcoin-e8b4201ba2fd-win64-unsigned.tar.gz
  098d98161393e663da794cc336de8a4676fd2c8bc14dbc8b1cac1aaf6b4098f5  guix-build-e8b4201ba2fd/output/x86_64-w64-mingw32/bitcoin-e8b4201ba2fd-win64.zip
  ```

ACKs for top commit:
  fanquake:
    ACK 2427468f27

Tree-SHA512: 31d268e4608ab75f843c0cb1874d060cea762ebbd09b220a7f84054fb837f60b41b8452c181a4de7aa3f8aa27fd584d0a84e770209e02adfb978d2b5f625d7a6
2023-01-06 10:37:10 +00:00
Hennadii Stepanov
2427468f27
doc: Update Boost version in doc/dependencies.md 2023-01-06 08:48:48 +00:00
MarcoFalke
296e882250
Merge bitcoin/bitcoin#26598: contrib: remove builder keys
e6864fa157 contrib: remove builder keys (fanquake)

Pull request description:

  This has been superseded by adding a builder-keys/ directory in
  guix.sigs, where the presence of keys, and validity of signatures
  is checked. Preventing issues like missing keys or invalid signatures.

  New (or exisiting) Guix builders can add their key in the next PR
  they open adding attestations.

  Related to issues like #26566, #26563.

  Also follows up with the comment here: https://github.com/bitcoin/bitcoin/pull/26565#issuecomment-1326053939.

ACKs for top commit:
  hebasto:
    ACK e6864fa157, modulo s/update/remove/ in the PR tittle.

Tree-SHA512: 095b4cf12ed0baeaf0ee7b8edcb3e2647e9c0f812e8fd63915ddb454f81dacc9c2d2b409de2773b7adb5ff643893d614d8aad1bc44c26da648e1bbbe19e11e05
2023-01-05 09:18:16 +01:00
Suriyaa Sundararuban
f84e445dee
doc: Correct linked Microsoft URLs 2022-12-31 16:54:13 +01:00
Andrew Chow
f3bc1a7282
Merge bitcoin/bitcoin#26265: POLICY: Relax MIN_STANDARD_TX_NONWITNESS_SIZE to 65 non-witness bytes
b2aa9e8528 Add release note for MIN_STANDARD_TX_NONWITNESS_SIZE relaxation (Greg Sanders)
8c5b3646b5 Relax MIN_STANDARD_TX_NONWITNESS_SIZE to 65 non-witness bytes (Greg Sanders)

Pull request description:

  Since the original fix was set to be a "reasonable" transaction to reduce allocations and the true motivation later revealed, it makes sense to relax this check to something more principled.

  There are more exotic transaction patterns that could take advantage of a relaxed requirement, such as 1 input, 1 output OP_RETURN to burn a utxo to fees for CPFP purposes when change isn't practical.

  Two changes could be accomplished:

  1) Anything not 64 bytes could be allowed

  2) Anything above 64 bytes could be allowed

  In the Great Consensus Cleanup, suggestion (2)
  was proposed as a consensus change, and is the simpler of the two suggestions. It would not allow an "empty" OP_RETURN but would reduce the required padding from 22 bytes to 5.

  The functional test is also modified to test the actual case
  we care about: 64 bytes

  Related mailing list discussions here:
  https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2022-October/020995.html
  And a couple years earlier:
  https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2020-May/017883.html

ACKs for top commit:
  achow101:
    reACK b2aa9e8528
  glozow:
    reACK b2aa9e8528
  pablomartin4btc:
    re-ACK b2aa9e8528
  jonatack:
    ACK b2aa9e8528 with some suggestions

Tree-SHA512: c1ec1af9ddcf31b2272209a4f1ee0c5607399f8172e5a1dfd4604cf98bfb933810dd9369a5917ad122add003327c9fcf6ee26995de3aca41d5c42dba527991ad
2022-12-21 12:58:46 -05:00
fanquake
e6864fa157
contrib: remove builder keys
This has been superseded by adding a builder-keys/ directory in
guix.sigs, where the presence of keys, and validity of signatures
is checked. Preventing issues like missing keys or invalid signatures.

New (or exisiting) Guix builders can add their key in the next PR
they open adding attestations.
2022-12-19 17:21:35 +00:00
Greg Sanders
b2aa9e8528 Add release note for MIN_STANDARD_TX_NONWITNESS_SIZE relaxation 2022-12-19 10:03:51 -05:00
fanquake
a2724808ab
doc: add 23.1 release notes 2022-12-16 09:43:56 +00:00
fanquake
062e4e9fe9
doc: add 22.1 release notes
Same as past releases / #26524 etc.
2022-12-15 10:42:06 +00:00
MarcoFalke
a4baf3f177
Merge bitcoin/bitcoin#26628: RPC: Reject RPC requests with same named parameter specified multiple times
8c3ff7d52a test: Suggested cleanups for rpc_namedparams test (Ryan Ofsky)
d1ca563825 bitcoin-cli: Make it an error to specify the "args" parameter two different ways (Ryan Ofsky)
6bd1d20b8c rpc: Make it an error server-side to specify same named parameter multiple times (Ryan Ofsky)
e2c3b18e67 test: Add RPC tests for same named parameter specified more than once (Ryan Ofsky)

Pull request description:

  Make the JSON-RPC server reject requests with the same named parameter specified multiple times, instead of silently overwriting earlier parameter values with later ones.

  Generally JSON keys are supposed to unique, and their order isn't supposed to be significant, so having the server silently discard duplicate keys is error-prone. Most likely if an RPC client is sending a request with duplicate keys it means something is wrong with the request and there should be an error.

  After this change, named parameters are still allowed to specified multiple times on the `bitcoin-cli` command line, since `bitcoin-cli` automatically replaces earlier values with later values before sending the JSON-RPC request. This makes sense, since it's not unusual for the order of command line options to be significant or for later command line options to override earlier ones.

ACKs for top commit:
  MarcoFalke:
    review ACK 8c3ff7d52a 🗂
  kristapsk:
    ACK 8c3ff7d52a
  stickies-v:
    ACK 8c3ff7d52

Tree-SHA512: 2d1357dcc2c171da287aeefc7b333ba4e67babfb64fc14d7fa0940256e18010a2a65054f3bf7fa1571b144d2de8b82d53076111b5f97ba29320cfe84b6ed986f
2022-12-13 17:57:23 +01:00
fanquake
3b5fb6e77a
Merge bitcoin/bitcoin#26213: rpc: Strict type checking for RPC boolean parameters
fa0153e609 refactor: Replace isTrue with get_bool (MarcoFalke)
fa2cc5d1d6 bugfix: Strict type checking for RPC boolean parameters (MarcoFalke)

Pull request description:

ACKs for top commit:
  ryanofsky:
    Code review ACK fa0153e609
  furszy:
    Code ACK fa0153e6

Tree-SHA512: b221f823c69d90c94447fd491071ff3659cfd512872b495ebc3e711f50633351974102c9ef7e50fa4a393c4131d349adea8fd41cc9d66f1f31e1f5e7a5f78757
2022-12-10 09:58:33 +00:00
Aurèle Oulès
109cbb819d
doc: Add release notes for #26618 2022-12-08 16:45:38 +01:00
MarcoFalke
fa2cc5d1d6
bugfix: Strict type checking for RPC boolean parameters 2022-12-07 17:55:58 +01:00
brunoerg
4e362c2b72 doc: add release note for 25934 2022-12-06 15:27:50 -03:00
w0xlt
b082f28101 rpc, wallet: use the same next_index in listdescriptors and importdescriptors 2022-12-06 11:38:07 -03:00
fanquake
896fca16a3
doc: move release notes to 24.0.1 and add notice
This mirrors what was done with 0.19.0.1.
2022-12-06 14:10:45 +00:00
fanquake
71abee86db
Merge bitcoin/bitcoin#25993: doc: Add I2P guidance related to bandwidth and i2pd software version
874c861885 doc: Add I2P bandwidth guidance to i2p.md (willcl-ark)

Pull request description:

  Add some general guidance on lowering bandwidth usage when using I2P routers.

ACKs for top commit:
  jonatack:
    ACK 874c861885
  hernanmarino:
    ACK 874c861885
  pablomartin4btc:
    ACK 874c861885.

Tree-SHA512: 3990375b23c01a2ad8e15a51e1b1a0275df8747ecd789ddf1888fbc88c20cde5a3813615982669af5e8d021dc995f6c7b1f080167b33f48574d6f50fc4851498
2022-12-05 11:45:23 +00:00
Ryan Ofsky
6bd1d20b8c rpc: Make it an error server-side to specify same named parameter multiple times
Specifying same named parameter multiple times is still allowed by bitcoin-cli.
The client implementation overwrites earlier option values with later ones
before sending to server. This is tested by interface_bitcoin_cli.py

Rationale for allowing client parameters to be specified multiple times in
bitcoin-cli is that this behavior has been supported for a long time, and that
when using the command line interactively, it can be convenient to override
earlier option values with new values without having to go back and remove the
old value.

But for the RPC server, there isn't really a good use-case for earlier values
to be discarded if multiple values are specified. JSON keys are generally
supposed to be unique and if they aren't it's probably an indication of some
problem generating the RPC request.
2022-12-02 17:53:16 -05:00
Andrew Chow
a63192afb8
Merge bitcoin/bitcoin#19762: rpc: Allow named and positional arguments to be used together
d8b12a75db rpc: Allow named and positional arguments to be used together (Ryan Ofsky)

Pull request description:

  It's nice to be able to use named options and positional arguments together.

  Most shell tools accept both, and python functions combine options and arguments allowing them to be passed with even more flexibility. This change adds support for python's approach so as a motivating example:

  ```sh
  bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1
  ```

  Can be shortened to:

  ```sh
  bitcoin-cli -named createwallet mywallet load_on_startup=1
  ```

  JSON-RPC standard doesn't have a convention for passing named and positional parameters together, so this implementation makes one up and interprets any unused `"args"` named parameter as a positional parameter array.

  This change is backwards compatible. It doesn't change the interpretation of any previously valid calls, just treats some previously invalid calls as valid.

  Another use case even if you only occasionally use named arguments is that you can define an alias:

  ```
  alias bcli='bitcoin-cli -named'
  ```

  And now use both named named and unnamed arguments from the same alias without having to manually add `-named` option for named arguments or see annoying error "No '=' in named argument... this needs to be present for every argument (even if it is empty)`" for unnamed arguments

ACKs for top commit:
  achow101:
    ACK d8b12a75db
  stickies-v:
    re-ACK d8b12a75d
  aureleoules:
    re-ACK d8b12a75db

Tree-SHA512: 0cff8b50f584bcbbd376624adccf40536566ed8d1bcd6c88ad565dbc208f19d5e7a48c994efd6329d42b560149340d330397278f08a2912af5f3418d8c8837a9
2022-11-29 18:37:55 -05:00
fanquake
b93beef5ed
doc: Mac -> macOS in release notes template
https://github.com/bitcoin/bitcoin/pull/26503#discussion_r1023782259
2022-11-17 14:43:56 +00:00
fanquake
2747adb68a
doc: Add 24.0 release notes 2022-11-17 14:38:22 +00:00
Andrew Chow
f0c646f026
Merge bitcoin/bitcoin#25730: RPC: listunspent, add "include immature coinbase" flag
fa84df1f03 scripted-diff: wallet: rename AvailableCoinsParams members to snake_case (furszy)
61c2265629 wallet: group AvailableCoins filtering parameters in a single struct (furszy)
f0f6a3577b RPC: listunspent, add "include immature coinbase" flag (furszy)

Pull request description:

  Simple PR; adds a "include_immature_coinbase" flag to `listunspent` to include the immature coinbase UTXOs on the response.  Requested by #25728.

ACKs for top commit:
  danielabrozzoni:
    reACK fa84df1f03
  achow101:
    ACK fa84df1f03
  aureleoules:
    reACK fa84df1f03
  kouloumos:
    reACK fa84df1f03
  theStack:
    Code-review ACK fa84df1f03

Tree-SHA512: 0f3544cb8cfd0378a5c74594480f78e9e919c6cfb73a83e0f3112f8a0132a9147cf846f999eab522cea9ef5bd3ffd60690ea2ca367dde457b0554d7f38aec792
2022-11-15 19:53:04 -05:00
Ryan Ofsky
d8b12a75db rpc: Allow named and positional arguments to be used together
It's nice to be able to use named options and positional arguments together.

Most shell tools accept both, and python functions combine options and
arguments allowing them to be passed with even more flexibility. This change
adds support for python's approach so as a motivating example:

    bitcoin-cli -named createwallet wallet_name=mywallet load_on_startup=1

Can be shortened to:

    bitcoin-cli -named createwallet mywallet load_on_startup=1

JSON-RPC standard doesn't have a convention for passing named and positional
parameters together, so this implementation makes one up and interprets any
unused "args" named parameter as a positional parameter array.
2022-11-05 05:32:39 -04:00
Sebastian Falbesoner
303fb8ff45 doc: mention BIP86 in doc/bips.md 2022-11-01 20:50:51 +01:00
MacroFake
2856dee808
Merge bitcoin/bitcoin#26402: doc: Fix typos
180eac0f73 Fix: typos (omahs)

Pull request description:

  Fix: typos

ACKs for top commit:
  aureleoules:
    ACK 180eac0f73

Tree-SHA512: 23150f3408a2eb9cb298c6add16d1bcb149da277238786f053c2896c803f896b07555b3dc71e15cd8d390023800c8e006f931f415f887bab69ee5bd4b0420581
2022-10-31 11:46:43 +01:00
Bitcoin Hodler
0f38524c31
doc: correct deriveaddresses RPC name 2022-10-30 18:11:45 +00:00
furszy
f0f6a3577b
RPC: listunspent, add "include immature coinbase" flag
so we can return the immature coinbase UTXOs as well.
2022-10-29 08:45:12 -03:00
omahs
180eac0f73 Fix: typos
Fix: typos

Fix: typos

Fix: typos
2022-10-28 09:39:36 +02:00
MacroFake
c05673577d
Merge bitcoin/bitcoin#26358: doc: Rearrange a few lines in the dependency graph of libraries
1184a66347 doc: Rearrange some lines in the dependency graph of libraries (Stacie Waleyko)

Pull request description:

  In this PR, I've attempted to improve readability in the [dependency graph of libraries](https://github.com/bitcoin/bitcoin/blob/master/doc/design/libraries.md) by untangling a few crossed lines. I'm not sure if this is that big of an improvement but  wanted to throw it out there.

  I used an extremely scientific method of manually counting the number of crossed lines in the original diagram and got 15. This PR reduces that number down to about 10.

  I also changed the curve of the lines to "basis" which rounds the edges out. Again, not sure if it really is that much of an improvement, but it seems marginally easier on the eyes.

  Here is what the new graph looks like rendered:

  ![Screenshot from 2022-10-20 22-09-30](https://user-images.githubusercontent.com/1823216/197095545-5fc90cce-a817-4db2-a0f5-1a8a95380b70.png)

  The changes can be verified independently with [Mermaid](https://mermaid-js.github.io/mermaid/#/), with the easiest way being the online editor: https://mermaid.live/

  I did try moving some more stuff around, particularly the top level of library callers, but was not able to simplify the graph any further.

ACKs for top commit:
  shaavan:
    ACK 1184a66347

Tree-SHA512: 61d33d68c1e6fa354aebdda5e06e9c7a722ca20886c6acc30dd08af7133d737130d7a646d87f9e5a8ae0bc5a5aabfbc64ded9ee04dfeed8f23d948444add916b
2022-10-24 10:28:03 +02:00
Stacie Waleyko
1184a66347
doc: Rearrange some lines in the dependency graph of libraries 2022-10-20 22:09:54 -04:00
Sebastian Falbesoner
ff138f9cf1 doc: add scanblocks to list of descriptor RPCs 2022-10-20 23:24:16 +02:00
fanquake
af781bf4b2
doc: fix typo in doc/libraries.md 2022-10-14 17:07:39 +08:00
Andrew Chow
92be831847
Merge bitcoin/bitcoin#25412: rest: add /deploymentinfo endpoint
a8250e30f1 doc: add release note about `/rest/deploymentinfo` (brunoerg)
5c96020024 doc: add `/deploymentinfo` in REST-interface (brunoerg)
3e44bee08e test: add coverage for `/rest/deploymentinfo` (brunoerg)
91497031cb rest: add `/deploymentinfo` (brunoerg)

Pull request description:

  #23508 added a new RPC named `getdeploymentinfo`, it moved the softfork section from `getblockchaininfo` into this new one. In the REST interface, we have an endpoint named`/rest/chaininfo.json` (which refers to `getblockchaininfo`), so, this PR adds a new REST endpoint named `/deploymentinfo` which refers to `getdeploymentinfo`.

  You can use it by passing a block hash, e.g: '/rest/deploymentinfo/<BLOCKHASH>.json' or you can use it without passing a block hash to get the 'deploymentinfo' for the last block.

ACKs for top commit:
  jonatack:
    re-ACK a8250e30f1 rebase-only since my last review at c65f82bb
  achow101:
    ACK a8250e30f1
  stickies-v:
    re-ACK a8250e30f1

Tree-SHA512: 0735183b6828d51a72ed0e2be5a09b314ac4693f548982c6e9adaa0ef07a55aa428d3b2d1b1de70b83169811a663a8624b686166e5797f624dcc00178b9796e6
2022-10-13 13:30:55 -04:00
Andrew Chow
6912a28f08
Merge bitcoin/bitcoin#25667: assumeutxo: snapshot initialization
bf95976061 doc: add note about snapshot chainstate init (James O'Beirne)
e4d7995286 test: add testcases for snapshot initialization (James O'Beirne)
cced4e7336 test: move-only-ish: factor out LoadVerifyActivateChainstate() (James O'Beirne)
51fc9241c0 test: allow on-disk coins and block tree dbs in tests (James O'Beirne)
3c361391b8 test: add reset_chainstate parameter for snapshot unittests (James O'Beirne)
00b357c215 validation: add ResetChainstates() (James O'Beirne)
3a29dfbfb2 move-only: test: make snapshot chainstate setup reusable (James O'Beirne)
8153bd9247 blockmanager: avoid undefined behavior during FlushBlockFile (James O'Beirne)
ad67ff377c validation: remove snapshot datadirs upon validation failure (James O'Beirne)
34d1590331 add utilities for deleting on-disk leveldb data (James O'Beirne)
252abd1e8b init: add utxo snapshot detection (James O'Beirne)
f9f1735f13 validation: rename snapshot chainstate dir (James O'Beirne)
d14bebf100 db: add StoragePath to CDBWrapper/CCoinsViewDB (James O'Beirne)

Pull request description:

  This is part of the [assumeutxo project](https://github.com/bitcoin/bitcoin/projects/11) (parent PR: https://github.com/bitcoin/bitcoin/pull/15606)

  ---

  Half of the replacement for #24232. The original PR grew larger than expected throughout the review process.

  This change adds the ability to initialize a snapshot-based chainstate during init if one is detected on disk. This is of course unused as of now (aside from in unittests) given that we haven't yet enabled actually loading snapshots.

  Don't be scared! There are some big move-only commits in here.

  Accompanying changes include:

  - moving the snapshot coinsdb directory from being called `chainstate_[base blockhash]` to `chainstate_snapshot`, since we only support one snapshot in use at a time. This simplifies some logic, but it necessitates writing that base blockhash out to a file within the coinsdb dir. See [discussion here](https://github.com/bitcoin/bitcoin/pull/24232#discussion_r832762880).
  - adding a simple fix in `FlushBlockFile()` that avoids a crash when attemping to flush to disk before `LoadBlockIndexDB()` is called, which happens when calling `MaybeRebalanceCaches()` during multiple chainstate init.
  - improving the unittest to allow testing with on-disk chainstates - necessary to test a simulated restart and re-initialization.

ACKs for top commit:
  naumenkogs:
    utACK bf95976061
  ariard:
    Code Review ACK bf9597606
  ryanofsky:
    Code review ACK bf95976061. Changes since last review: rebasing, switching from CAutoFile to AutoFile, adding comments, switching from BOOST_CHECK to Assert in test util, using chainman.GetMutex() in tests, destroying one ChainstateManager before creating a new one in tests
  fjahr:
    utACK bf95976061
  aureleoules:
    ACK bf95976061

Tree-SHA512: 15ae75caf19f8d12a12d2647c52897904d27b265a7af6b4ae7b858592eeadb8f9da6c2394b6baebec90adc28742c053e3eb506119577dae7c1e722ebb3b7bcc0
2022-10-13 10:19:27 -04:00
klementtan
d96d97ad30
doc: Add release note for shutdownnotify. 2022-10-13 21:22:52 +08:00
fanquake
7e5fe03461
Merge bitcoin/bitcoin#24467: doc: minor improvements in getutxos REST endpoint synopsis
c456302d42 doc: minor improvements in getutxos REST endpoint synopsis (Sebastian Falbesoner)

Pull request description:

  Describing an optional sub-path as `<checkmempool>` in the synopsis could be misleading as the angle brackets normally indicate that the field has to be replaced a custom value. Clarify that by showing two variants instead, similar to the `block` endpoint with the `notxdetails` option:
  ```
  #### Blocks
  `GET /rest/block/<BLOCK-HASH>.<bin|hex|json>`
  `GET /rest/block/notxdetails/<BLOCK-HASH>.<bin|hex|json>`
  ```

  Further improvements:
  - uppercase `<TXID>` and `<N>`, to match the description of the other endpoints
  - s/getutxo command/getutxos endpoint/
  - describe what the `checkmempool` option does
  - s/serialisation/serialization/ (the US spelling is more dominant than the UK spelling in the project, and there is indeed no other instance of the string "serialis*" in the source tree, except once in a release note)
  - link to BIP64 within the text instead of only showing bare URL
  - mention that BIP64 is only relevant for `bin` and `hex` output formats
  - show two endpoint formats of the block section as list

ACKs for top commit:
  stickies-v:
    ACK c456302d42 - also checked that current master (cc12b8947) doesn't have any other lines changes that would require updates as per the outlined improvement points.

Tree-SHA512: b025aac0812397f5fbf78c805c13aeb5afa6862a049d13c0b101178799cdaff1ccd3abc368a5c103ea6ebf17cdff76584c54638d0f8d303d81ade2d71443d305
2022-10-13 11:54:52 +08:00
amadeuszpawlik
04526787b5 Validate port options
Check `port` options for invalid values (ports are parsed as uint16, so
in practice values >65535 are invalid; port 0 is undefined and therefore
considered invalid too). This allows for an early rejection of faulty
values and an supplying an informative message to the user.

Splits tests in `feature_proxy.py` to cover both invalid `hostname`
and `port` values.

Adds a release-note as previously valid `-port` and `-rpcport` values
can now result in errors.
2022-10-05 19:30:15 +02:00
Andrew Toth
1ff5d61dfd
doc: add mempool/contents rest verbose and mempool_sequence args 2022-10-05 09:25:07 -04:00
fanquake
92e9fc6d0d
Merge bitcoin/bitcoin#26128: doc: add missing historical release notes
cb075d245e doc: add historical 0.21.2 release notes (fanquake)
699f3429c6 doc: add historical 0.20.2 release notes (fanquake)

Pull request description:

  0.20.2 and 0.21.2 are missing from master.

ACKs for top commit:
  jarolrod:
    ACK cb075d245e

Tree-SHA512: f05fb2e5b589cd60581e724182c6f32f992a85e6dc41f5a91d5c6941869ff4c0a7f28a405b3dfc71d9660c1385a1a13d220aa50b2d69c7787cb7974a3e4bf814
2022-10-04 12:51:50 +01:00
willcl-ark
874c861885
doc: Add I2P bandwidth guidance to i2p.md
Adds some general guidance on lowering bandwidth usage when using I2P
routers.
2022-10-03 10:36:45 +01:00
fanquake
25742aa3ed
Merge bitcoin/bitcoin#26231: doc: bump bips.md up-to-date version to v24.0
a9d20eeceb doc: bump bips.md up-to-date version to v24.0 (Sebastian Falbesoner)

Pull request description:

  This is a trivial follow-up to #26124.

ACKs for top commit:
  jarolrod:
    ACK a9d20eeceb

Tree-SHA512: 24c17c72498f96f9122d8fb041f1f6f63bd186e25ac3cb5a661bb1993106c6632f5efd95a15d19681004d30d38eca2d2a16b383a7a1f1c3db17f887ae1fcd02a
2022-10-03 09:06:10 +01:00
Sebastian Falbesoner
a9d20eeceb doc: bump bips.md up-to-date version to v24.0
This is a trivial follow-up to #26124.
2022-10-03 01:25:31 +02:00
fanquake
13ec2c1913
Merge bitcoin/bitcoin#24084: doc: add information about status code 404 for some endpoints (rest)
0811cbfc28 doc: add info about status code 404 for some rest endpoints (brunoerg)

Pull request description:

  This PR adds an explanation about status code 404 for 2 endpoints (`/rest/tx/ `and `/rest/blockhashbyheight/`) in`REST-interface.md`. There are other endpoints that already cover it.

ACKs for top commit:
  [deleted]:
    reACK 0811cbfc28
  shaavan:
    ACK 0811cbfc28

Tree-SHA512: a01ac6653f706b7a7e4a4679a2b81e448381f31460ac4bcfc179af6186401cffae7b49a82f3a52c89e556acd5c16c159ce752c7a678177900ddf2e4e5c72fe6b
2022-10-02 16:29:31 +01:00
fanquake
74e54cc2a3
Merge bitcoin/bitcoin#25917: depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
65471008e0 depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d (fanquake)

Pull request description:

  This pulls in two changes I've upstreamed:
  Support for pkg-config: https://github.com/miniupnp/libnatpmp/pull/19
  Suppressing a deprecation warning: https://github.com/miniupnp/libnatpmp/pull/28

  and other upstream bug fixes.

  Somewhat related to #22644.

  Guix Build (arm64):
  ```bash
  4a4b8e1cb5070482e53b3b869c5f6e19b892619184cf58315a3af368e13a52a2  guix-build-65471008e0a4/output/arm-linux-gnueabihf/SHA256SUMS.part
  88b51f0f261f84b58da60a5c8df251b551379b811a255df9982ff496c70fc8b7  guix-build-65471008e0a4/output/arm-linux-gnueabihf/bitcoin-65471008e0a4-arm-linux-gnueabihf-debug.tar.gz
  33a564914be6f4134d8e8a5f31a2bb97798a79bae8f75151b35564238d6f288e  guix-build-65471008e0a4/output/arm-linux-gnueabihf/bitcoin-65471008e0a4-arm-linux-gnueabihf.tar.gz
  ea429260a2b5ac333f70b2b8b8697a4f76eee79cf6998d18c7de7b60818d8fe5  guix-build-65471008e0a4/output/arm64-apple-darwin/SHA256SUMS.part
  304677e040592a0aee947c733657ea6c4dd8613f7c3a9834314a68e5f7a53325  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin-unsigned.dmg
  da171a60370ad1da6cfc1566fc4e16d09f6e896002b0ac9758fb4044eb1033c1  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin-unsigned.tar.gz
  45c439319a9e2c07de8796dcfd182cdeb5600ad31f8f6b6dc383cc2914f49ab8  guix-build-65471008e0a4/output/arm64-apple-darwin/bitcoin-65471008e0a4-arm64-apple-darwin.tar.gz
  120311e7c807b2641b5e7024e1b85fac0800680bccd924016f417b026aa90d25  guix-build-65471008e0a4/output/dist-archive/bitcoin-65471008e0a4.tar.gz
  5272264317c93359c158c688cf0d0b6e70a6d9ec4b2e447b9fb9fcaf1950f6bc  guix-build-65471008e0a4/output/powerpc64-linux-gnu/SHA256SUMS.part
  98a0d14b8d05974d70f0d5243bfc2fec6aea30b9d8375f950f42a21d5e034065  guix-build-65471008e0a4/output/powerpc64-linux-gnu/bitcoin-65471008e0a4-powerpc64-linux-gnu-debug.tar.gz
  8e07410ad2e7e204c5e84a81894c5398b34f36cc9e1ba386bf0963f09755818b  guix-build-65471008e0a4/output/powerpc64-linux-gnu/bitcoin-65471008e0a4-powerpc64-linux-gnu.tar.gz
  47ae8b948127f03e43a4c7e83a3611b650e26da50936ea9ce0247e01b29463f3  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/SHA256SUMS.part
  04e92527df8c7bb9f78c29b152d920830be0ef26d01e0ee1b32d52bb68fc9717  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/bitcoin-65471008e0a4-powerpc64le-linux-gnu-debug.tar.gz
  ddb09291c9e270343b56e66fae33fd792eb2ec7e5a138337ec1608642dd3a983  guix-build-65471008e0a4/output/powerpc64le-linux-gnu/bitcoin-65471008e0a4-powerpc64le-linux-gnu.tar.gz
  de3cfcf47abed3d4d3881086eba94ee2c34d9078dc53639cc6321c2bd1041073  guix-build-65471008e0a4/output/riscv64-linux-gnu/SHA256SUMS.part
  fecd6a307b66fd54fa5792ce14e1a4d50df5646cdf6cc51d5b355fb1384f5105  guix-build-65471008e0a4/output/riscv64-linux-gnu/bitcoin-65471008e0a4-riscv64-linux-gnu-debug.tar.gz
  f2c5a85fb17ad9605809b4ac01eba56cd573744697b9c942d293b42a623a2832  guix-build-65471008e0a4/output/riscv64-linux-gnu/bitcoin-65471008e0a4-riscv64-linux-gnu.tar.gz
  4cd0b05e96491d9b0fe7eff78aab885a2f0d62f141950117759fecceaeba5412  guix-build-65471008e0a4/output/x86_64-apple-darwin/SHA256SUMS.part
  bae30549d8044e1aa11bae6d57321a7a3a765c8b87ead9cdcc8abf9f22a564a3  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin-unsigned.dmg
  435187b492d6df77d4fa7cd0f77ad08c587c4bd463295be802b6e222ee92a2fa  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin-unsigned.tar.gz
  b9cf808ec88368a9b0e1883253a9d8c6f123bf7f61df40e34e5e4b8959846d65  guix-build-65471008e0a4/output/x86_64-apple-darwin/bitcoin-65471008e0a4-x86_64-apple-darwin.tar.gz
  b9d9a46f7d3188cd517a180fd24fdb38b8c695175fe9ac75c3b3eb2450d9f5d5  guix-build-65471008e0a4/output/x86_64-linux-gnu/SHA256SUMS.part
  fd601d6821fbe5faa1eb44b9f07046187f491a83fbf1e0fd603be212bfea3385  guix-build-65471008e0a4/output/x86_64-linux-gnu/bitcoin-65471008e0a4-x86_64-linux-gnu-debug.tar.gz
  98ae9d653a8fdeda055468dbf674ee46b0727e1c5b768b1765fc4451defed36e  guix-build-65471008e0a4/output/x86_64-linux-gnu/bitcoin-65471008e0a4-x86_64-linux-gnu.tar.gz
  821de40cbc96c27bb1f0fbcfb46c4e801f202c2dfd7aa9ad88daf6ced2be90e5  guix-build-65471008e0a4/output/x86_64-w64-mingw32/SHA256SUMS.part
  0f2425ea0a17c9aa80cf7d2eb316b9ebe76f49de777635ac37f9e6e21bcd650e  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-debug.zip
  046ede05868c153ec1d87b8dad4b6494913ea3e952edee86b068d367c57fa7ec  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-setup-unsigned.exe
  62b6e5ebb085735838ada1f328d6e092d7fb726caad6e049340bfa783897cfa1  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64-unsigned.tar.gz
  265f9814a7fa3333395f34a5dceafd11d50d170aa5303386aa6f8244542d070a  guix-build-65471008e0a4/output/x86_64-w64-mingw32/bitcoin-65471008e0a4-win64.zip
  ```

ACKs for top commit:
  theuni:
    Simple bump ACK 65471008e0. From a quick glance the upstream changes appear to be minimal and sane.
  hebasto:
    ACK 65471008e0

Tree-SHA512: 61541b7dcde611f5bafe5b77977403dab86fe24f0bf4bfb79ab7123bac8b7c4dcad53993d18ab40964756699a77952c8ecc5a0416055c9e436fc34867f7f9cf6
2022-09-21 17:04:16 +01:00
fanquake
3c537f1cc8
Merge bitcoin/bitcoin#25873: depends: Boost 1.80.0
cc8dff5f8f depends: Boost 1.80.0 (fanquake)

Pull request description:

  Mostly misc bug fixes and improvements, to the continually decreasing parts of Boost that we actually use. See: https://www.boost.org/users/history/version_1_80_0.html.

  Includes some boring upstreamed changes, i.e https://github.com/boostorg/multi_index/pull/57, https://github.com/boostorg/signals2/pull/60 that aid #24742. Getting Boost modules to drop their usage of deprecated (redirect) headers means we can prune them from our depends tree.

  Also a requirement for #25696.

  Guix Build (x86_64):
  ```bash
  e793a5ac9372b8fce6e19916be840eee99735bccdedf44b9bca006fd9ac8c395  guix-build-cc8dff5f8ff8/output/aarch64-linux-gnu/SHA256SUMS.part
  001e0382f2b05e12f0ec5eaf09e001e31313ee3ab5367b0ba135ea2d7b863bf6  guix-build-cc8dff5f8ff8/output/aarch64-linux-gnu/bitcoin-cc8dff5f8ff8-aarch64-linux-gnu-debug.tar.gz
  a50229534b41eebd6c44001b56eb2be35b50d5f3a3b161a8fa46d7558b79693e  guix-build-cc8dff5f8ff8/output/aarch64-linux-gnu/bitcoin-cc8dff5f8ff8-aarch64-linux-gnu.tar.gz
  d54d16ae4d5ef2bb0d0dcebbd6d1ec4b0f0976063bf66222a320e68340f902d5  guix-build-cc8dff5f8ff8/output/arm-linux-gnueabihf/SHA256SUMS.part
  04c464043af256ee05d565040df9bb438151d4e041aa46f800fc567eba111c2f  guix-build-cc8dff5f8ff8/output/arm-linux-gnueabihf/bitcoin-cc8dff5f8ff8-arm-linux-gnueabihf-debug.tar.gz
  097cd2f633bf6d3b8e922d81ce9f6dfe793589418e394abfa4e183861f5ad236  guix-build-cc8dff5f8ff8/output/arm-linux-gnueabihf/bitcoin-cc8dff5f8ff8-arm-linux-gnueabihf.tar.gz
  30c8074725b0701b1a781685f50a23ba038297b2633599f40792157daadc13cb  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/SHA256SUMS.part
  df6036e89c7e8746badcbcf805ec4f84070847833c562bc2185c15904b1b909a  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/bitcoin-cc8dff5f8ff8-arm64-apple-darwin-unsigned.dmg
  8421c957b2b83c4afc3bc7f65f93798755acc99ac5921bd89b367c22c5b064d8  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/bitcoin-cc8dff5f8ff8-arm64-apple-darwin-unsigned.tar.gz
  076e8e185bc01dd43feb3fcbcec04eff5ca435b0fdf47c6f05008feec1cf11ac  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/bitcoin-cc8dff5f8ff8-arm64-apple-darwin.tar.gz
  03de7ffcf8d98c61c3a5b763e9bcc6310c9895950f49768da2eeba4871d8478a  guix-build-cc8dff5f8ff8/output/dist-archive/bitcoin-cc8dff5f8ff8.tar.gz
  80ffe674a5fa86cfcf3f47eb8103dbfbc97dd74f793cf785c1347469f19b281f  guix-build-cc8dff5f8ff8/output/powerpc64-linux-gnu/SHA256SUMS.part
  8ce2024c3fa65e6cd613ef526f90c5904675012b22eb39ccf94081d91e14340a  guix-build-cc8dff5f8ff8/output/powerpc64-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64-linux-gnu-debug.tar.gz
  89dc31c0306b0f1c79e13e5f705b73233695a802fd4946aac03364c45e7de984  guix-build-cc8dff5f8ff8/output/powerpc64-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64-linux-gnu.tar.gz
  7ed1b82ba3d4c1a8ddc24c6f650aa6b2d1be08580b2ec32cfec0fd682828d797  guix-build-cc8dff5f8ff8/output/powerpc64le-linux-gnu/SHA256SUMS.part
  01c7f706b236b342f4e0b5043c5788168806338cdaefd5541b04118665c7e40b  guix-build-cc8dff5f8ff8/output/powerpc64le-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64le-linux-gnu-debug.tar.gz
  01767af5b190d0be4a075a5d038644b7dd0d1fc5f0b69698acaca92bfef960d0  guix-build-cc8dff5f8ff8/output/powerpc64le-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64le-linux-gnu.tar.gz
  414de662e0bb3df6a5c8fc1a3576c90a943998b802d97070e31bde434fc6a7f1  guix-build-cc8dff5f8ff8/output/riscv64-linux-gnu/SHA256SUMS.part
  db55ddf8051e6dc80180f3eee12a7370bed1140959c34fb5de8d88f0344b23e2  guix-build-cc8dff5f8ff8/output/riscv64-linux-gnu/bitcoin-cc8dff5f8ff8-riscv64-linux-gnu-debug.tar.gz
  bb19f15545d5a52e800ffb7f141915ab7083fb4fab9a80269f6714b28a294502  guix-build-cc8dff5f8ff8/output/riscv64-linux-gnu/bitcoin-cc8dff5f8ff8-riscv64-linux-gnu.tar.gz
  d9241782d6e596ae02500ffe062501f80b064357bece5d10f7fd4d218240c3a1  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/SHA256SUMS.part
  1c3258a573e849a8efe6fce535a4f8737fb3a076ebe74ee29ca1e84a9113d24f  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/bitcoin-cc8dff5f8ff8-x86_64-apple-darwin-unsigned.dmg
  7e6d562dd636fcacae88bedca45b49a879901c0fc1309ea1812aba59bbbcb5d0  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/bitcoin-cc8dff5f8ff8-x86_64-apple-darwin-unsigned.tar.gz
  c4bc9c27466504417a4bd581cc024b8c5a370a51c8349c1f067752c98c2c14bc  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/bitcoin-cc8dff5f8ff8-x86_64-apple-darwin.tar.gz
  59aaf11181373efd2e281004ce968967a26fa95f90c5a25f44cc4c687e9ddb0a  guix-build-cc8dff5f8ff8/output/x86_64-linux-gnu/SHA256SUMS.part
  fbcde4bfe21314104c7e6036e1f7f4b3ef0e41a7546fef5d1f2a6456b955778d  guix-build-cc8dff5f8ff8/output/x86_64-linux-gnu/bitcoin-cc8dff5f8ff8-x86_64-linux-gnu-debug.tar.gz
  b1302146a0e96f7faa150d764aa0ca92b46e887a886532ee7fc2b2cc63f174c5  guix-build-cc8dff5f8ff8/output/x86_64-linux-gnu/bitcoin-cc8dff5f8ff8-x86_64-linux-gnu.tar.gz
  319b52c1a62a9cdad2e3f1fac8dd22458be2a9c1e6a0d60b33cb27272d69e52a  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/SHA256SUMS.part
  11300b916588cb060ac06e074b94bc5da852ab36446df903045ad593dce5056b  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64-debug.zip
  045fcb6ca721bdefb7490b3452f28449cb2b0449721dbbb20c174be76f96e1a3  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64-setup-unsigned.exe
  38c826537c8054a35103e5ab7ca4f97ca98551f23bcbadb0532f6ca3444e0731  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64-unsigned.tar.gz
  7c5f75c5a0b9b98540c8c779a6fc6f5e98d7de792d3a218e4ad7a68fa4027385  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64.zip
  ```

  Guix Build (arm64):
  ```bash
  d54d16ae4d5ef2bb0d0dcebbd6d1ec4b0f0976063bf66222a320e68340f902d5  guix-build-cc8dff5f8ff8/output/arm-linux-gnueabihf/SHA256SUMS.part
  04c464043af256ee05d565040df9bb438151d4e041aa46f800fc567eba111c2f  guix-build-cc8dff5f8ff8/output/arm-linux-gnueabihf/bitcoin-cc8dff5f8ff8-arm-linux-gnueabihf-debug.tar.gz
  097cd2f633bf6d3b8e922d81ce9f6dfe793589418e394abfa4e183861f5ad236  guix-build-cc8dff5f8ff8/output/arm-linux-gnueabihf/bitcoin-cc8dff5f8ff8-arm-linux-gnueabihf.tar.gz
  30c8074725b0701b1a781685f50a23ba038297b2633599f40792157daadc13cb  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/SHA256SUMS.part
  df6036e89c7e8746badcbcf805ec4f84070847833c562bc2185c15904b1b909a  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/bitcoin-cc8dff5f8ff8-arm64-apple-darwin-unsigned.dmg
  8421c957b2b83c4afc3bc7f65f93798755acc99ac5921bd89b367c22c5b064d8  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/bitcoin-cc8dff5f8ff8-arm64-apple-darwin-unsigned.tar.gz
  076e8e185bc01dd43feb3fcbcec04eff5ca435b0fdf47c6f05008feec1cf11ac  guix-build-cc8dff5f8ff8/output/arm64-apple-darwin/bitcoin-cc8dff5f8ff8-arm64-apple-darwin.tar.gz
  03de7ffcf8d98c61c3a5b763e9bcc6310c9895950f49768da2eeba4871d8478a  guix-build-cc8dff5f8ff8/output/dist-archive/bitcoin-cc8dff5f8ff8.tar.gz
  80ffe674a5fa86cfcf3f47eb8103dbfbc97dd74f793cf785c1347469f19b281f  guix-build-cc8dff5f8ff8/output/powerpc64-linux-gnu/SHA256SUMS.part
  8ce2024c3fa65e6cd613ef526f90c5904675012b22eb39ccf94081d91e14340a  guix-build-cc8dff5f8ff8/output/powerpc64-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64-linux-gnu-debug.tar.gz
  89dc31c0306b0f1c79e13e5f705b73233695a802fd4946aac03364c45e7de984  guix-build-cc8dff5f8ff8/output/powerpc64-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64-linux-gnu.tar.gz
  7ed1b82ba3d4c1a8ddc24c6f650aa6b2d1be08580b2ec32cfec0fd682828d797  guix-build-cc8dff5f8ff8/output/powerpc64le-linux-gnu/SHA256SUMS.part
  01c7f706b236b342f4e0b5043c5788168806338cdaefd5541b04118665c7e40b  guix-build-cc8dff5f8ff8/output/powerpc64le-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64le-linux-gnu-debug.tar.gz
  01767af5b190d0be4a075a5d038644b7dd0d1fc5f0b69698acaca92bfef960d0  guix-build-cc8dff5f8ff8/output/powerpc64le-linux-gnu/bitcoin-cc8dff5f8ff8-powerpc64le-linux-gnu.tar.gz
  414de662e0bb3df6a5c8fc1a3576c90a943998b802d97070e31bde434fc6a7f1  guix-build-cc8dff5f8ff8/output/riscv64-linux-gnu/SHA256SUMS.part
  db55ddf8051e6dc80180f3eee12a7370bed1140959c34fb5de8d88f0344b23e2  guix-build-cc8dff5f8ff8/output/riscv64-linux-gnu/bitcoin-cc8dff5f8ff8-riscv64-linux-gnu-debug.tar.gz
  bb19f15545d5a52e800ffb7f141915ab7083fb4fab9a80269f6714b28a294502  guix-build-cc8dff5f8ff8/output/riscv64-linux-gnu/bitcoin-cc8dff5f8ff8-riscv64-linux-gnu.tar.gz
  d9241782d6e596ae02500ffe062501f80b064357bece5d10f7fd4d218240c3a1  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/SHA256SUMS.part
  1c3258a573e849a8efe6fce535a4f8737fb3a076ebe74ee29ca1e84a9113d24f  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/bitcoin-cc8dff5f8ff8-x86_64-apple-darwin-unsigned.dmg
  7e6d562dd636fcacae88bedca45b49a879901c0fc1309ea1812aba59bbbcb5d0  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/bitcoin-cc8dff5f8ff8-x86_64-apple-darwin-unsigned.tar.gz
  c4bc9c27466504417a4bd581cc024b8c5a370a51c8349c1f067752c98c2c14bc  guix-build-cc8dff5f8ff8/output/x86_64-apple-darwin/bitcoin-cc8dff5f8ff8-x86_64-apple-darwin.tar.gz
  59aaf11181373efd2e281004ce968967a26fa95f90c5a25f44cc4c687e9ddb0a  guix-build-cc8dff5f8ff8/output/x86_64-linux-gnu/SHA256SUMS.part
  fbcde4bfe21314104c7e6036e1f7f4b3ef0e41a7546fef5d1f2a6456b955778d  guix-build-cc8dff5f8ff8/output/x86_64-linux-gnu/bitcoin-cc8dff5f8ff8-x86_64-linux-gnu-debug.tar.gz
  b1302146a0e96f7faa150d764aa0ca92b46e887a886532ee7fc2b2cc63f174c5  guix-build-cc8dff5f8ff8/output/x86_64-linux-gnu/bitcoin-cc8dff5f8ff8-x86_64-linux-gnu.tar.gz
  319b52c1a62a9cdad2e3f1fac8dd22458be2a9c1e6a0d60b33cb27272d69e52a  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/SHA256SUMS.part
  11300b916588cb060ac06e074b94bc5da852ab36446df903045ad593dce5056b  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64-debug.zip
  045fcb6ca721bdefb7490b3452f28449cb2b0449721dbbb20c174be76f96e1a3  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64-setup-unsigned.exe
  38c826537c8054a35103e5ab7ca4f97ca98551f23bcbadb0532f6ca3444e0731  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64-unsigned.tar.gz
  7c5f75c5a0b9b98540c8c779a6fc6f5e98d7de792d3a218e4ad7a68fa4027385  guix-build-cc8dff5f8ff8/output/x86_64-w64-mingw32/bitcoin-cc8dff5f8ff8-win64.zip
  ```

ACKs for top commit:
  gruve-p:
    ACK cc8dff5f8f
  hebasto:
    ACK cc8dff5f8f
  jarolrod:
    ACK cc8dff5f8f

Tree-SHA512: d34a4c3e84efe9cade6de9d7ba5aafc0a5c6efce83e313552a248f2b1eb49dc032a50cf4f1c7eb4767e754a7b67f75a129be19e36a892776b16001c31f6725be
2022-09-21 11:14:36 +01:00
fanquake
cb075d245e
doc: add historical 0.21.2 release notes 2022-09-20 09:30:10 +01:00
fanquake
699f3429c6
doc: add historical 0.20.2 release notes 2022-09-20 09:30:04 +01:00
Andrew Chow
d3d6a18f71 docs: Add 371 to bips.md 2022-09-19 12:20:09 -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
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
James O'Beirne
bf95976061 doc: add note about snapshot chainstate init 2022-09-13 13:31:37 -04:00
James O'Beirne
00eeb31c76 scripted-diff: rename CChainState -> Chainstate
-BEGIN VERIFY SCRIPT-
sed -i 's/CChainState/Chainstate/g' $(git grep -l CChainState ':(exclude)doc/release-notes*')
-END VERIFY SCRIPT-

Co-authored-by: MacroFake <falke.marco@gmail.com>
2022-09-09 11:47:27 -04:00
Andrew Chow
7281fac2e0
Merge bitcoin/bitcoin#25614: Severity-based logging, step 2
9580480570 Update debug logging section in the developer notes (Jon Atack)
1abaa31aa3 Update -debug and -debugexclude help docs for severity level logging (Jon Atack)
45f9282162 Create BCLog::Level::Trace log severity level (Jon Atack)
2a8712db4f Unit test coverage for -loglevel configuration option (klementtan)
eb7bee5f84 Create -loglevel configuration option (klementtan)
98a1f9c687 Unit test coverage for log severity levels (klementtan)
9c7507bf76 Create BCLog::Logger::LogLevelsString() helper function (klementtan)
8fe3457dbb Update LogAcceptCategory() and unit tests with log severity levels (klementtan)
c2797cfc60 Add BCLog::Logger::SetLogLevel()/SetCategoryLogLevel() for string inputs (klementtan)
f6c0cc0350 Add BCLog::Logger::m_category_log_levels data member and getter/setter (Jon Atack)
2978b387bf Add BCLog::Logger::m_log_level data member and getter/setter (Jon Atack)
f1379aeca9 Simplify BCLog::Level enum class and LogLevelToStr() function (Jon Atack)

Pull request description:

  This is an updated version of https://github.com/bitcoin/bitcoin/pull/25287 and the next steps in parent PR #25203 implementing, with Klement Tan, user-configurable, per-category severity log levels based on an idea by John Newbery and refined in GitHub discussions by Wladimir Van der Laan and Marco Falke.

  - simplify the `BCLog::Level` enum class and the `LogLevelToStr()` function and add documentation
  - update the logging logic to filter logs by log level both globally and per-category
  - add a hidden `-loglevel` help-debug config option to allow testing setting the global or per-category severity level on startup for logging categories enabled with the `-debug` configuration option or the logging RPC (Klement Tan)
  - add a `trace` log severity level selectable by the user; the plan is for the current debug messages to become trace, LogPrint ones to become debug, and LogPrintf ones to become info, warning, or error

  ```
  $ ./src/bitcoind -help-debug | grep -A10 loglevel
    -loglevel=<level>|<category>:<level>
         Set the global or per-category severity level for logging categories
         enabled with the -debug configuration option or the logging RPC:
         info, debug, trace (default=info); warning and error levels are
         always logged. If <category>:<level> is supplied, the setting
         will override the global one and may be specified multiple times
         to set multiple category-specific levels. <category> can be:
         addrman, bench, blockstorage, cmpctblock, coindb, estimatefee,
         http, i2p, ipc, leveldb, libevent, lock, mempool, mempoolrej,
         net, proxy, prune, qt, rand, reindex, rpc, selectcoins, tor,
         util, validation, walletdb, zmq.
  ```

  See the individual commit messages for details.

ACKs for top commit:
  jonatack:
    One final push per `git range-diff a5d5569 ce3c4c9 9580480` (should be trivial to re-ACK) to ensure this pull changes no default behavior in any way for users or the tests/CI in order to be completely v24 compatible, to update the unit test setup in general, and to update the debug logging section in the developer notes.
  klementtan:
    reACK 9580480570
  1440000bytes:
    reACK 9580480570
  vasild:
    ACK 9580480570
  dunxen:
    reACK 9580480
  brunoerg:
    reACK 9580480570

Tree-SHA512: 476a638e0581f40b5d058a9992691722e8b546471ec85e07cbc990798d1197fbffbd02e1b3d081b4978404e07a428378cdc8e159c0004b81f58be7fb01b7cba0
2022-09-01 15:57:56 -04:00
Andrew Chow
7921026a24
Merge bitcoin/bitcoin#19602: wallet: Migrate legacy wallets to descriptor wallets
53e7ed075c doc: Release notes and other docs for migration (Andrew Chow)
9c44bfe244 Test migratewallet (Andrew Chow)
0b26e7cdf2 descriptors: addr() and raw() should return false for ToPrivateString (Andrew Chow)
31764c3f87 Add migratewallet RPC (Andrew Chow)
0bf7b38bff Implement MigrateLegacyToDescriptor (Andrew Chow)
e7b16f925a Implement MigrateToSQLite (Andrew Chow)
5b62f095e7 wallet: Refactor SetupDescSPKMs to take CExtKey (Andrew Chow)
22401f17e0 Implement LegacyScriptPubKeyMan::DeleteRecords (Andrew Chow)
35f428fae6 Implement LegacyScriptPubKeyMan::MigrateToDescriptor (Andrew Chow)
ea1ab390e4 scriptpubkeyman: Implement GetScriptPubKeys in Legacy (Andrew Chow)
e664af2976 Apply label to all scriptPubKeys of imported combo() (Andrew Chow)

Pull request description:

  This PR adds a new `migratewallet` RPC which migrates a legacy wallet to a descriptor wallet. Migrated wallets will need a new backup. If a wallet has watchonly stuff in it, a new watchonly descriptor wallet will be created containing those watchonly things. The related transactions, labels, and descriptors for those watchonly things will be removed from the original wallet. Migrated wallets will not have any of the legacy things be available for fetching from `getnewaddress` or `getrawchangeaddress`. Wallets that have private keys enabled will have newly generated descriptors. Wallets with private keys disabled will not have any active `ScriptPubKeyMan`s.

  For the basic HD wallet case of just generated keys, in addition to the standard descriptor wallet descriptors using the master key derived from the pre-existing hd seed, the migration will also create 3 descriptors for each HD chain in: a ranged combo external, a ranged combo internal, and a single key combo for the seed (the seed is a valid key that we can receive coins at!). The migrated wallet will then have newly generated descriptors as the active `ScriptPubKeyMan`s. This is equivalent to creating a new descriptor wallet and importing the 3 descriptors for each HD chain. For wallets containing non-HD keys, each key will have its own combo descriptor.

  There are also tests.

ACKs for top commit:
  Sjors:
    tACK 53e7ed075c
  w0xlt:
    reACK 53e7ed075c

Tree-SHA512: c0c003694ca2e17064922d08e8464278d314e970efb7df874b4fe04ec5d124c7206409ca701c65c099d17779ab2136ae63f1da2a9dba39b45f6d62cf93b5c60a
2022-09-01 15:43:30 -04:00
Andrew Chow
53e7ed075c doc: Release notes and other docs for migration 2022-08-29 17:30:38 -04:00
Andrew Chow
eed2bd37ef
Merge bitcoin/bitcoin#25355: I2P: add support for transient addresses for outbound connections
59aa54f731 i2p: log "SAM session" instead of "session" (Vasil Dimov)
d7ec30b648 doc: add release notes about the I2P transient addresses (Vasil Dimov)
47c0d02f12 doc: document I2P transient addresses usage in doc/i2p.md (Vasil Dimov)
3914e472f5 test: add a test that -i2pacceptincoming=0 creates a transient session (Vasil Dimov)
ae1e97ce86 net: use transient I2P session for outbound if -i2pacceptincoming=0 (Vasil Dimov)
a1580a04f5 net: store an optional I2P session in CNode (Vasil Dimov)
2b781ad66e i2p: add support for creating transient sessions (Vasil Dimov)

Pull request description:

  Add support for generating a transient, one-time I2P address for ourselves when making I2P outbound connection and discard it once the connection is closed.

  Background
  ---
  In I2P connections, the host that receives the connection knows the I2P address of the connection initiator. This is unlike the Tor network where the recipient does not know who is connecting to them, not even the initiator's Tor address.

  Persistent vs transient I2P addresses
  ---
  Even if an I2P node is not accepting incoming connections, they are known to other nodes by their outgoing I2P address. This creates an opportunity to white-list given nodes or treat them differently based on their I2P address. However, this also creates an opportunity to fingerprint or analyze a given node because it always uses the same I2P address when it connects to other nodes. If this is undesirable, then a node operator can use the newly introduced `-i2ptransientout` to generate a transient (disposable), one-time I2P address for each new outgoing connection. That address is never going to be reused again, not even if reconnecting to the same peer later.

ACKs for top commit:
  mzumsande:
    ACK 59aa54f731 (verified via range-diff that just a typo / `unique_ptr` initialisation were fixed)
  achow101:
    re-ACK 59aa54f731
  jonatack:
    utACK 59aa54f731 reviewed range diff, rebased to master, debug build + relevant tests + review at each commit

Tree-SHA512: 2be9b9dd7502b2d44a75e095aaece61700766bff9af0a2846c29ca4e152b0a92bdfa30f61e8e32b6edb1225f74f1a78d19b7bf069f00b8f8173e69705414a93e
2022-08-26 16:33:58 -04:00
Sebastian Falbesoner
6242314ba8 doc: add {import,list}descriptors to list of descriptor RPCs 2022-08-25 00:04:01 +02:00
fanquake
65471008e0
depends: libnatpmp 07004b97cf691774efebe70404cf22201e4d330d
This pulls in two changes I've upstreamed:
Support for pkg-config: https://github.com/miniupnp/libnatpmp/pull/19
Suppressing a deprecation warning: https://github.com/miniupnp/libnatpmp/pull/28

Somewhat related to #22644.
2022-08-24 16:03:21 +01:00
fanquake
c5f0cbefa3
Merge bitcoin/bitcoin#25775: docs: remove non-signaling mentions of BIP125
1dc03dda05 [doc] remove non-signaling mentions of BIP125 (glozow)
32024d40f0 scripted-diff: remove mention of BIP125 from non-signaling var names (glozow)

Pull request description:

  We have pretty thorough documentation of our RBF policy in doc/policy/mempool-replacements.md. It enumerates each rule with several sentences of rationale. Also, each rule pretty much has its own function (3 and 4 share one), with extensive comments. The doc states explicitly that our rules are similar but differ from BIP125, and contains a record of historical changes to RBF policy.

  We should not use "BIP125" as synonymous with our RBF policy because:
  - Our RBF policy is different from what is specified in BIP125, for example:
      - the BIP does not mention our rule about the replacement feerate being higher (our Rule 6)
      - the BIP uses minimum relay feerate for Rule 4, while we have used incremental relay feerate since #9380
      - the "inherited signaling" question (CVE-2021-31876). Call it discrepancy, ambiguous wording, doc misinterpretation, or implementation details, I would recommend users refer to doc/policy/mempool-replacements.md
      - the signaling policy is configurable, see #25353
  - Our RBF policy may change further
  - We have already marked BIP125 as only "partially implemented" in docs/bips.md since 1fd49eb498
  - See comments from people who are not me recently:
      - https://github.com/bitcoin/bitcoin/pull/25038#discussion_r909507429
      - https://github.com/bitcoin/bitcoin/pull/25575#issuecomment-1179519204

  This PR removes all non-signaling mentions of BIP125 (if people feel strongly, we can remove all mentions of BIP125 period). It may be useful to refer to the concept of "tx opts in to RBF if it has at least one nSequence less than (0xffffffff - 1)" as "BIP125 signaling" because:
  - It is succint.
  - It has already been widely marketed as BIP125 opt-in signaling.
  - Our API uses it when referring to signaling (e.g. getmempoolentry["bip125-replaceable"] and wallet error message "not BIP 125 replaceable"). Changing those is more invasive.
  - If/when we have other ways to signal in the future, we can disambiguate them this way. See #25038 which proposes another way of signaling, and where I pulled these commits from.

  Alternatives:
  - Changing our policy to match BIP125. This doesn't make sense as, for example, we would have to remove the requirement that a replacement tx has a higher feerate (Rule 6).
  - Changing BIP125 to match what we have. This doesn't make sense as it would be a significant change to a BIP years after it was finalized and already used as a spec to implement RBF in other places.
  - Document our policy as a new BIP and give it a number. This might make sense if we don't expect things to change a lot, and can be done as a next step.

ACKs for top commit:
  darosior:
    ACK 1dc03dda05
  ariard:
    ACK 1dc03dda
  t-bast:
    ACK 1dc03dda05

Tree-SHA512: a3adc2039ec5785892d230ec442e50f47f7062717392728152bbbe27ce1c564141f85253143f53cb44e1331cf47476d74f5d2f4b3cd873fc3433d7a0aa783e02
2022-08-22 10:35:26 +01:00
MacroFake
e5a83141fa
Merge bitcoin/bitcoin#25883: doc: Security config warning
3a71da0b72 Security config warning (Robert Spigler)

Pull request description:

  https://github.com/bitcoin/bitcoin/issues/23412

  Warning about modifying unknown config changes

ACKs for top commit:
  jarolrod:
    ACK 3a71da0b72
  1440000bytes:
    ACK 3a71da0b72

Tree-SHA512: 01963f7de76b9aa623dfeb1e3d4f0a223dfc5a948f54688b60f895a3e1ab14398090fbd2116ff9fd4d90bf637e956e9cc484672053e195622253fd9895decae2
2022-08-22 11:07:48 +02:00
Jon Atack
9580480570 Update debug logging section in the developer notes 2022-08-20 13:40:03 +02:00
Robert Spigler
3a71da0b72
Security config warning
https://github.com/bitcoin/bitcoin/issues/23412

Warning about modifying unknown config changes
2022-08-19 23:18:13 -04:00
fanquake
cc8dff5f8f
depends: Boost 1.80.0
https://www.boost.org/users/history/version_1_80_0.html
2022-08-19 10:47:30 +01:00
brunoerg
a8250e30f1 doc: add release note about /rest/deploymentinfo 2022-08-16 19:21:51 -03:00
brunoerg
5c96020024 doc: add /deploymentinfo in REST-interface 2022-08-16 19:21:51 -03:00
Andrew Chow
c336f813b3
Merge bitcoin/bitcoin#25504: RPC: allow to track coins by parent descriptors
a6b0c1fcc0 doc: add releases notes for 25504 (listsinceblock updates) (Antoine Poinsot)
0fd2d14454 rpc: add an include_change parameter to listsinceblock (Antoine Poinsot)
55f98d087e rpc: output parent wallet descriptors for coins in listunspent (Antoine Poinsot)
b724476158 rpc: output wallet descriptors for received entries in listsinceblock (Antoine Poinsot)
55a82eaf91 wallet: allow to fetch the wallet descriptors for a given Script (Antoine Poinsot)

Pull request description:

  Wallet descriptors are useful for applications using the Bitcoin Core wallet as a backend for tracking coins, as they allow to track coins for multiple descriptors in a single wallet. However there is no information currently given for such applications to link a coin with an imported descriptor, severely limiting the possibilities for such applications of using multiple descriptors in a single wallet. This PR outputs the matching imported descriptor(s) for a given received coin in `listsinceblock` (and friends).

  It comes from a need for an application i'm working on, but i think it's something any software using `bitcoind` to track multiple descriptors in a single wallet would have eventually. For instance i'm thinking about the BDK project. Currently, the way to achieve this is to import raw addresses with labels and to have your application be responsible for wallet things like the gap limit.

  I'll add this to the output of `listunspent` too if this gets a few Concept ACKs.

ACKs for top commit:
  instagibbs:
    ACK a6b0c1fcc0
  achow101:
    re-ACK a6b0c1fcc0

Tree-SHA512: 7a5850e8de98b439ddede2cb72de0208944f8cda67272e8b8037678738d55b7a5272375be808b0f7d15def4904430e089dafdcc037436858ff3292c5f8b75e37
2022-08-16 13:08:05 -04:00
Antoine Poinsot
a6b0c1fcc0
doc: add releases notes for 25504 (listsinceblock updates) 2022-08-16 18:33:12 +02:00
Vasil Dimov
d7ec30b648
doc: add release notes about the I2P transient addresses 2022-08-16 13:02:20 +02:00
Vasil Dimov
47c0d02f12
doc: document I2P transient addresses usage in doc/i2p.md 2022-08-16 13:02:19 +02:00
Andrew Chow
ac59112a6a
Merge bitcoin/bitcoin#23480: Add rawtr() descriptor for P2TR with specified (tweaked) output key
544b4332f0 Add wallet tests for spending rawtr() (Pieter Wuille)
e1e3081200 If P2TR tweaked key is available, sign with it (Pieter Wuille)
8d9670ccb7 Add rawtr() descriptor for P2TR with unknown tweak (Pieter Wuille)

Pull request description:

  It may be useful to be able to represent P2TR outputs in descriptors whose script tree and/or internal key aren't known. This PR does that, by adding a `rawtr(KEY)` descriptor, where the KEY represents the output key directly. If the private key corresponding to that output key is known, it also permits signing with it.

  I'm not convinced this is desirable, but presumably "tr(KEY)" sounds more intended for direct use than "rawtr(KEY)".

ACKs for top commit:
  achow101:
    ACK 544b4332f0
  sanket1729:
    code review ACK 544b4332f0
  w0xlt:
    reACK 544b4332f0

Tree-SHA512: 0de08de517468bc22ab0c00db471ce33144f5dc211ebc2974c6ea95709f44e830532ec5cdb0128c572513d352120bd651c4559516d4500b5b0a3d257c4b45aca
2022-08-09 16:36:00 -04:00
glozow
1dc03dda05
[doc] remove non-signaling mentions of BIP125
Our RBF policy is different from the rules specified in BIP125. For
example, the BIP does not mention Rule 6, and our Rule 4 uses the
(configurable) incremental relay feerate (distinct from the
minimum relay feerate). Those interested in our policy should refer to
doc/policy/mempool-replacements.md instead. These rules may also
continue to diverge with package RBF and other RBF improvements. Keep
references to the BIP125 signaling wrt sequence numbers, since that is
still correct and widely used. It is helpful to refer to this as "BIP125
signaling" since it is unambiguous and succint, especially if we have
multiple ways to signal replaceability in the future.

The rule numbers in doc/policy/mempool-replacements.md correspond
largely to those of BIP 125, so we can still refer to them like "Rule 5."
2022-08-04 16:56:33 +01:00
MacroFake
fa9cba7afb
Remove ::incrementalRelayFee and ::minRelayTxFee globals 2022-08-02 15:23:36 +02:00