1
1
mirror of https://github.com/bitcoin/bitcoin.git synced 2024-05-17 23:56:39 +00:00

34086 Commits

Author SHA1 Message Date
fanquake
b6a2670e29
Merge bitcoin/bitcoin#24420: doc: Update bips.md for 23.x
03bc08e16325f43905f6e6f8d5e0ce69aa8a30a4 doc: Mention missing BIP157 in bips.md (laanwj)
e97e3ded69ba1341154bbbea0c75bfe6c09c02e0 doc: Update bips.md for 23.x (laanwj)

Pull request description:

  As far as I know, there have been no new bips implemented in this major release. Update `bips.md` accordingly.
  (if there are, please post below)

ACKs for top commit:
  jonatack:
    ACK 03bc08e16325f43905f6e6f8d5e0ce69aa8a30a4
  prayank23:
    ACK 03bc08e163

Tree-SHA512: d671c37d1aab9f700f9688dabec056acfd2503c83bd3e1612ed1cee4ba92b99db002e34b6f1100b98543fe60f8b757ea2bedcc2ff020243cf30e27b4dd73d04c
2022-02-23 09:19:55 +00:00
MarcoFalke
faa1aec26b
Remove confusing P1008R1 violation in ATMPArgs 2022-02-23 10:15:26 +01:00
MarcoFalke
3c565302aa
Merge bitcoin/bitcoin#24409: Always output license/copyright info with -version
5a89bed410d724360b8f90bd9d7d28d6e62331c0 contrib: address gen-manpages feedback from #24263 (fanquake)
2618fb8d15d01dca967856c92ebf3e4cc09699a2 Output license info when binaries are passed -version (fanquake)
4c3e3c57463b029d335e685d3dcdaf26456666cf refactor: shift CopyrightHolders() and LicenseInfo() to clientversion.cpp (fanquake)

Pull request description:

  Addresses a review comment from #24263, and addresses the [comment](https://github.com/bitcoin/bitcoin/pull/24263#issuecomment-1030582925) where it was pointed out that we are inconsistent with emitting  our copyright. After this change, the copyright is always emitted with `-version`, rather than `-help`, i.e:
  ```bash
  bitcoind -version

  Bitcoin Core version v22.99.0-fc1f355913f6-dirty
  Copyright (C) 2009-2022 The Bitcoin Core developers

  Please contribute if you find Bitcoin Core useful. Visit
  <https://bitcoincore.org/> for further information about the software.
  The source code is available from <https://github.com/bitcoin/bitcoin>.

  This is experimental software.
  Distributed under the MIT software license, see the accompanying file COPYING
  or <https://opensource.org/licenses/MIT>
  ```

  The info is also added to binaries other than `bitcoind`/`bitcoin-qt`. This change also prevents duplicate copyright info appearing in the `bitcoind` man page.

ACKs for top commit:
  laanwj:
    Tested ACK 5a89bed410d724360b8f90bd9d7d28d6e62331c0

Tree-SHA512: 0ac2a1adf9e9de0c3206f35837008e3f93eaf15b193736203d71609273f0887cca20b8a90972cb9f941ebd62b330d61a0cbb5fb1b7a7f2dbc715ed8a0c1569d9
2022-02-23 09:39:42 +01:00
MarcoFalke
fa7e1471c0
test: Fix intermittent Tsan issue 2022-02-23 09:34:20 +01:00
MarcoFalke
f062abe529
Merge bitcoin/bitcoin#24419: lint: remove no-longer used exceptions from lint-format-strings.py
5b8f2484baad451b5c24725bf3387c79213b0695 lint: remove no-longer used exceptions from lint-format-strings.py (fanquake)

Pull request description:

ACKs for top commit:
  laanwj:
    ACK 5b8f2484baad451b5c24725bf3387c79213b0695 if it passes CI
  hebasto:
    ACK 5b8f2484baad451b5c24725bf3387c79213b0695, I've verified that all of the remained false positive cases are valid.

Tree-SHA512: 25c40714d271c57fb09c963a3372b62c7b4f2e9367517cdf5c73ea82527a9c4c477f8b7857e37adc7eb9feea1f0a37435059798ddf2195dee3522bed3a6eea44
2022-02-23 09:06:00 +01:00
Luke Dashjr
0c64401324 Revert "qt: Do not use QObject::tr plural syntax for numbers with a unit symbol"
This reverts commit 3adde72bc99215062c8dabd38f8c34ad093452b5.
2022-02-22 23:12:01 +00:00
William Casarin
0e5dedbc9e qt/wallettests: sort includes
I split this out from an earlier commit to make it a bit less noisy.

Signed-off-by: William Casarin <jb55@jb55.com>
2022-02-22 13:50:30 -08:00
Hennadii Stepanov
0554251d66 qt: Skip displayUnitChanged signal if unit is not actually changed
Co-authored-by: João Barbosa <joao.paulo.barbosa@gmail.com>
2022-02-22 13:50:30 -08:00
Hennadii Stepanov
ffbc2fe459 qt, refactor: Remove default cases for scoped enum 2022-02-22 13:50:30 -08:00
Hennadii Stepanov
152d5bad50 qt, refactor: Remove BitcoinUnits::valid function
Since BitcoinUnits::Unit became a scoped enum, BitcoinUnits::valid
function is no longer needed.
2022-02-22 13:50:30 -08:00
Hennadii Stepanov
aa23960fdf qt, refactor: Make BitcoinUnits::Unit a scoped enum 2022-02-22 13:50:30 -08:00
Hennadii Stepanov
75832fdc37 qt: Use QVariant instead of int for BitcoinUnit in QSettings
This change improves type safety.
2022-02-22 13:50:30 -08:00
Andrew Chow
c4d76c6faa tests: Tests for inactive HD chains
test cases are added for inactive HD chains: a basic case, a case
where the wallet is encrypted, and a case for the 21605 segfault.
2022-02-22 14:41:52 -05:00
Andrew Chow
c7376cc8d7 tests: Test upgrading wallet with privkeys disabled 2022-02-22 13:52:40 -05:00
laanwj
03bc08e163 doc: Mention missing BIP157 in bips.md
Mention BIP 157, also mention that BIP 158 is active on the P2P network
since v0.21.
2022-02-22 18:16:43 +01:00
Carl Dong
6c23c41561 refactor: Rewrite AddToBlockIndex with try_emplace 2022-02-22 11:56:49 -05:00
Carl Dong
c05cf7aa1e style: Modernize range-based loops over m_block_index 2022-02-22 11:56:49 -05:00
Carl Dong
c2a1655799 style-only: Use using instead of typedef for BlockMap 2022-02-22 11:56:49 -05:00
Carl Dong
dd79dad175 refactor: Rewrite InsertBlockIndex with try_emplace
Credit to ajtowns for this suggestion, thanks!
2022-02-22 11:56:49 -05:00
Carl Dong
531dce0347 tests: Remove now-unnecessary manual Unload's
These manual calls to Unload() are no longer necessary because
CBlockIndex's no longer live in the heap as of the previous commit.
2022-02-22 11:56:49 -05:00
Carl Dong
bec86ae326 blockstorage: Make m_block_index own CBlockIndex's
Instead of having CBlockIndex's live on the heap, which requires manual
memory management, have them be owned by m_block_index. This means that
they will live and die with BlockManager.

A change to BlockManager::LookupBlockIndex:
- Previously, it was a const member function returning a non-const CBlockIndex*
- Now, there's are const and non-const versions of
  BlockManager::LookupBlockIndex returning a CBlockIndex with the same
  const-ness as the member function:
    (e.g. const CBlockIndex* LookupBlockIndex(...) const)

See next commit for some weirdness that this eliminates.

The range based for-loops are modernize (using auto + destructuring) in
a future commit.
2022-02-22 11:52:19 -05:00
laanwj
e97e3ded69 doc: Update bips.md for 23.x 2022-02-22 16:53:49 +01:00
Pasta
4bba7ab2ff
build: upgrade depends Boost to 1.77.0
This primarily improves support for external signing, as it includes
multiple bugfixes for Boost Process. As well as various improvements to
the multi-index library.
2022-02-22 15:53:45 +00:00
fanquake
5b8f2484ba
lint: remove no-longer used exceptions from lint-format-strings.py 2022-02-22 15:51:27 +00:00
fanquake
80e78b6a04
build: pass win32-dll to LT_INIT()
This is the recommended way to support building PE DLLs with modern mingw 
toolchains and libtool. I made a similar change upstream in the secp256k1 
repo: https://github.com/bitcoin-core/secp256k1/pull/1022. Note that we already
pass `-no-undefined` to our libtool LDFLAGS.

> This option should be used if the package has been ported to build clean
> dlls on win32 platforms.
> If this macro is not used, libtool will assume that the package libraries
> are not dll clean and will build only static libraries on win32 hosts.

See:
https://www.gnu.org/software/libtool/manual/libtool.html#LT_005fINIT
https://www.gnu.org/software/gnulib/manual/html_node/Libtool-and-Windows.html
https://autotools.io/libtool/windows.html
https://github.com/bitcoin-core/secp256k1/issues/923
2022-02-22 15:37:13 +00:00
fanquake
5a89bed410
contrib: address gen-manpages feedback from #24263
Co-authored-by: Carl Dong <contact@carldong.me>
2022-02-22 15:36:19 +00:00
fanquake
2618fb8d15
Output license info when binaries are passed -version
Consolidate to outputting the licensing info when we pass -version to a binary,
i.e bitcoind -version:
```bash
itcoin Core version v22.99.0-fc1f355913f6-dirty
Copyright (C) 2009-2022 The Bitcoin Core developers

Please contribute if you find Bitcoin Core useful. Visit
<https://bitcoincore.org/> for further information about the software.
The source code is available from <https://github.com/bitcoin/bitcoin>.

This is experimental software.
Distributed under the MIT software license, see the accompanying file COPYING
or <https://opensource.org/licenses/MIT>
```
2022-02-22 15:36:19 +00:00
fanquake
4c3e3c5746
refactor: shift CopyrightHolders() and LicenseInfo() to clientversion.cpp 2022-02-22 15:36:19 +00:00
laanwj
d80dc12097 net: Update hardcoded seeds for 23.x 2022-02-22 15:15:27 +01:00
laanwj
9f27157894 contrib: make-seeds updates for 23.x
Documentation:

- Use https URL for bitcoin.sipa.be (http sends a redirect, fooling
curl).
- Add explicit step to add manual seeds.

Code:

- Change PATTERN_ONION to v3 (effectively means that the no onion hosts
are delivered).
- Add versions to PATTERN_AGENT filter.
- Print specific message on resolve exception.
2022-02-22 15:04:46 +01:00
Hennadii Stepanov
774323e378
ci: Force --enable-external-signer to prevent future regressions 2022-02-22 14:27:30 +02:00
laanwj
c44e734dca
Merge bitcoin/bitcoin#24377: qt: Update translation source file
c5158290aff5d5e38d351c4f77340f9b17f44cb4 qt: Update translation source file (Hennadii Stepanov)

Pull request description:

  As the part of the v23.0 [release process](https://github.com/bitcoin/bitcoin/issues/22969) this PR updates translation source file, `src/qt/locale/bitcoin_en.xlf`.

  The following changes are reflected in this PR:
  - small string changes from bitcoin-core/gui#509
  - internal technical details from bitcoin/bitcoin#22151

ACKs for top commit:
  laanwj:
    ACK c5158290aff5d5e38d351c4f77340f9b17f44cb4

Tree-SHA512: 2cf08f5b356dca25f99b0342645db5253eab0854796cf44fa52f8a6cf28f6d3f973e21589e0f9d3fef40a1b21b3f0aee00c9ca0897109a1967f9ef3320dd508f
2022-02-22 13:22:54 +01:00
Hennadii Stepanov
c5158290af
qt: Update translation source file 2022-02-22 14:12:20 +02:00
laanwj
8add59d77d
Merge bitcoin/bitcoin#24367: User-facing content and codebase doc fixups from transifex translator feedback
48742693acc9de837735674057c9aae2fe90bd1d Replace "can not" with "cannot" in docs, user messages, and tests (Jon Atack)
e670edd43441ecb6e5978d65348501c57d856030 User-facing content fixups from transifex translator feedback (Jon Atack)

Pull request description:

  Closes #24366.

ACKs for top commit:
  laanwj:
    Code review re-ACK 48742693acc9de837735674057c9aae2fe90bd1d
  hebasto:
    re-ACK 48742693acc9de837735674057c9aae2fe90bd1d, only suggested change since my previous [review](https://github.com/bitcoin/bitcoin/pull/24367#pullrequestreview-885938219).

Tree-SHA512: 4dcdcb417251a413e65fab6070515e13a1267c8e0dbcf521386b842511391f24c84a0c2168fe13458c977682034466509bf2a3453719d4d94d3c568fd9f4adb4
2022-02-22 13:08:08 +01:00
Hennadii Stepanov
69978858a4
build: Fix Boost.Process check for Boost 1.73 and older 2022-02-22 13:00:42 +02:00
MarcoFalke
e200919cbe
Merge bitcoin/bitcoin#24305: Docs: [policy] Remove outdated confusing comment
e50a9be1540c769a99fcdc1f7a109a6bf1c7516b Remove outdated comment on CFeeRate (Murch)

Pull request description:

  This comment described how the constructor of CFeeRate was previously indirectly used to parse fee rate arguments from RPCs. The command line input was actually in sat/vB but due to the use of AmountFromValue() it got converted to BTC/vB which then got rectified in the constructor by creating a CFeeRate from that given value and COIN as the transaction size. Since this usage pattern was removed from the codebase some months ago, the comment is now obsolete.

ACKs for top commit:
  michaelfolkson:
    ACK e50a9be1540c769a99fcdc1f7a109a6bf1c7516b
  jonatack:
    ACK e50a9be1540c769a99fcdc1f7a109a6bf1c7516b

Tree-SHA512: f17bf0baeeca85a5c7883edadd407da845f6e3af1c949e93116bd67c02e601682a5f7f1ab2497172472e3acf1c4e3c234b01161a77e7d7f028e3551da34777f0
2022-02-22 11:19:38 +01:00
fanquake
bc49650b7c
Merge bitcoin/bitcoin#24310: docs / fixups from RBF and packages
77202f0554dcbbbb167d0ed3927cca0bf4609ce8 [doc] package deduplication (glozow)
d35a3cb3968d7584c7d5c42b121a80f34ea656bf [doc] clarify inaccurate comment about replacements paying higher feerate (glozow)
5ae187f8761f5f85a1ef41d24f75afb7eecf366f [validation] look up transaction by txid (glozow)

Pull request description:

  - Use txid, not wtxid, for `mempool.GetIter()`: https://github.com/bitcoin/bitcoin/pull/22674#discussion_r772934994
  - Fix a historically inaccurate comment about RBF during the refactors: https://github.com/bitcoin/bitcoin/pull/22855#discussion_r777130441
  - Add a section about package deduplication to policy/packages.md: https://github.com/bitcoin/bitcoin/pull/24152#discussion_r802955759 and https://github.com/bitcoin/bitcoin/pull/24152#discussion_r802723149

  (I'm intending for this to be in v23 since it's fixups for things that are already merged, which is why I split it from #24152)

ACKs for top commit:
  t-bast:
    LGTM, ACK 77202f0554
  darosior:
    ACK 77202f0554dcbbbb167d0ed3927cca0bf4609ce8
  LarryRuane:
    ACK 77202f0554dcbbbb167d0ed3927cca0bf4609ce8

Tree-SHA512: a428e791dfa59c359d3ccc67e8d3a4c1239815d2f6b29898e129700079271c00b3a45f091f70b65a6e54aa00a3d5b678b6da29d2a76b6cd6f946eaa7082ea696
2022-02-22 09:17:02 +00:00
Hennadii Stepanov
00f8492eeb
Merge bitcoin-core/gui#547: Override BitcoinApplication::event() to handle QEvent::Quit
e7fc50681e99e3c726db2bc4d3d425ed8a0fc6b3 qt: Override BitcoinApplication::event() to handle QEvent::Quit (Hennadii Stepanov)

Pull request description:

  bitcoin-core/gui#336 introduced a regression when termination requests from a platform are not handled properly.

  This PR fixes this regression. On macOS shutdown after clicking "Quit" in Dock icon menu, and during logout works again.

  Fixes bitcoin-core/gui#545.

ACKs for top commit:
  RandyMcMillan:
    tACK e7fc50681e99e3c726db2bc4d3d425ed8a0fc6b3
  Sjors:
    tACK e7fc50681e99e3c726db2bc4d3d425ed8a0fc6b3 (rebased on master) indeed fixes the crash described in #545
  promag:
    Tested ACK e7fc50681e99e3c726db2bc4d3d425ed8a0fc6b3 on macOS 10.15 with Qt 5.15.2.

Tree-SHA512: 236a483dc0828f22999469e133b8ac9f0b6267ec2a27004c3ebaa967689ddb972ea1fa90c1dd41f3bff3d17bf571a707babcef53bd79fd711fda98cfbf120131
2022-02-22 10:35:15 +02:00
Jon Atack
48742693ac
Replace "can not" with "cannot" in docs, user messages, and tests 2022-02-21 19:07:29 +01:00
Martin Zumsande
eb6cc05da3 index: Commit DB_MUHASH and DB_BEST_BLOCK to disk together
If these are written to disk at different times,
unclean shutdowns can lead to index corruption.
2022-02-21 11:37:19 -05:00
MarcoFalke
48a90c61e2
Merge bitcoin/bitcoin#24370: rpc, cli: describe quality/recency filtering in getnodeaddresses and -addrinfo
ce690847b69eb80b0232f818152dbb1db7c4c61a cli: describe quality/recency filtering in -addrinfo (Jon Atack)
7c975614c0fc6ff2084a1708a4c1f0368a4bc98f rpc: describe quality/recency filtering in getnodeaddresses (Jon Atack)

Pull request description:

  Addresses #24278.

  ```
  $ bitcoin-cli help getnodeaddresses
  getnodeaddresses ( count "network" )

  Return known addresses, after filtering for quality and recency.
  These can potentially be used to find new peers in the network.
  The total number of addresses known to the node may be higher.
  ```
  ```
  $ bitcoin-cli -help | grep -A3 addrinfo
    -addrinfo
         Get the number of addresses known to the node, per network and total,
         after filtering for quality and recency. The total number of
         addresses known to the node may be higher.
  ```

ACKs for top commit:
  mzumsande:
    Thanks, Code Review ACK ce690847b69eb80b0232f818152dbb1db7c4c61a
  prayank23:
    reACK ce690847b6

Tree-SHA512: 82d23b15e64a99411eb8e70d7267a1b4f23182fabe072e824277569d9677e392b466be63f00e3d157d7db94bbe032d53f12ad4ab30b55b7b8a629c37d80d1d8c
2022-02-21 16:44:22 +01:00
MarcoFalke
fafc4eb363
test: Fix Wambiguous-reversed-operator compiler warnings 2022-02-21 16:36:59 +01:00
MarcoFalke
e44423c9d3
Merge bitcoin/bitcoin#24224: util: Add SaturatingAdd helper
faa7d8a3f7cba02eca7e247108a6b98ea9daf373 util: Add SaturatingAdd helper (MarcoFalke)

Pull request description:

  Seems good to have this in the repo, as it might be needed to write cleaner code. For example:

  * https://github.com/bitcoin/bitcoin/pull/24090#issuecomment-1019948200
  * https://github.com/bitcoin/bitcoin/pull/23418#discussion_r744953272
  * ...

ACKs for top commit:
  MarcoFalke:
    Added a test. Should be trivial to re-ACK with `git range-diff bitcoin-core/master fa90189cbf faa7d8a3f7`
  klementtan:
    reACK faa7d8a3f7
  vasild:
    ACK faa7d8a3f7cba02eca7e247108a6b98ea9daf373

Tree-SHA512: d0e6efdba7dfcbdd16ab4539a7f5e45a97d17792e42586c3c52caaae3fc70612dc9e364359658de5de5718fb8c2a765a59ceb2230098355394fa067a9732bc2a
2022-02-21 15:51:15 +01:00
fanquake
bd6b1d0238
Merge bitcoin/bitcoin#24263: doc: Fix gen-manpages, rewrite in Python
87f54060ffffdb56c97594efdca378bace5323df doc: Swap gen-manpages and update RC steps in release process (laanwj)
42c202893b879d1bda54624d44c90b28143fc167 doc: Fix gen-manpages, rewrite in Python (laanwj)

Pull request description:

  Rewrite the manual page generation script in Python.

  This:
  - solves '-' stripping issue (fixes #22681)
  - makes that a copyright footer is generated correctly again

  Also change the release process to swap gen-manpages and update RC steps, so that the pages will have the correct rc and/or final version.

ACKs for top commit:
  dongcarl:
    Code Review ACK 87f54060ffffdb56c97594efdca378bace5323df
  fanquake:
    ACK 87f54060ffffdb56c97594efdca378bace5323df - tested generating and opening the man pages locally, but didn't run through the release process. Will propose some changes to address consolidating the help / version output.

Tree-SHA512: 39254721ca84e4f223a321c554f2e08c36428b15019a0f9fa3eff408b4c6f1e1d74941143f4d2927427afa3ad7a7e6f999d6ec660132d817809b640a87ae9f7d
2022-02-21 14:17:40 +00:00
Hennadii Stepanov
ff4a38a327
build: Fix configuring depends with cmake 2022-02-21 16:13:03 +02:00
MarcoFalke
faa7d8a3f7
util: Add SaturatingAdd helper 2022-02-21 14:32:53 +01:00
Jon Atack
ce690847b6
cli: describe quality/recency filtering in -addrinfo
Co-authored-by: Martin Zumsande <mzumsande@gmail.com>
2022-02-21 14:16:48 +01:00
Jon Atack
7c975614c0
rpc: describe quality/recency filtering in getnodeaddresses
Co-authored-by: Martin Zumsande <mzumsande@gmail.com>
2022-02-21 14:16:34 +01:00
fanquake
2ab4fbe375
Merge bitcoin/bitcoin#24292: Revert "ci: Run fuzzer task for the master branch only"
fa27745ccbdf8df7949a2e79dba18de49dc89169 ci: Bump fuzz tasks to jammy (MarcoFalke)
fab8cd5f8764883dc48695c0e0916bae42f1cfdc Revert "ci: Run fuzzer task for the master branch only" (MarcoFalke)

Pull request description:

  This reverts commit 5a9e255e5a324e7aa0b63a9634aa3cfda9a300bd.

  I think we should attempt to maintain the fuzz tasks for release branches as well.

  If it is too difficult for one branch, it could make sense to disable it for that branch, but not for all branches unconditionally.

  Also, bump to jammy.

ACKs for top commit:
  fanquake:
    ACK fa27745ccbdf8df7949a2e79dba18de49dc89169 - we'll see how we go with the 23.x release branch.

Tree-SHA512: d6d08e7dce0884b556c51ff1896aebbbb5a805c22decd58af81a04192d19876978696017b489ec55886ddfd5c022963baaab5f11022369ae5291016826ff8017
2022-02-21 13:12:36 +00:00
MarcoFalke
1337b93f50
Merge bitcoin/bitcoin#24339: rpc: Improve RPC help by explicitly mentioning output types
c821ab8be8dffb749853c05e05cb515c11e6328a Use `GetAllOutputTypes` in `getblock` RPC function (Kiminuo)
d970a85d335202cc85f6604f794c43af6645673f Move `GetAllOutputTypes` function from `rpc/rawtransaction.cpp` to `rpc/util.{h|cpp}` (Kiminuo)

Pull request description:

  This PR attempts to replicate 0ccf9b2e55/src/rpc/rawtransaction.cpp (L547) to one other place (at the moment) so that users have better idea what RPC methods can actually return.

  I created this PR as a follow-up to the idea mentioned here https://github.com/bitcoin/bitcoin/pull/23320#discussion_r732458112 (resolved).

ACKs for top commit:
  kristapsk:
    re-ACK c821ab8be8dffb749853c05e05cb515c11e6328a

Tree-SHA512: 5ff66a41ad7c43ec769f4a99933d2d070feea7c617286d94b6f9bfa1a2547a42211915778210a89074ad4b14d99f34852cc6871efed5e6f1e2ffedd40d669386
2022-02-21 13:58:09 +01:00