Commit graph

26573 commits

Author SHA1 Message Date
Pieter Wuille 7dfe406e20 Add signet support to gen_key_io_test_vectors.py
Github-Pull: #20861
Rebased-From: 2e7c80fb5be82ad4a3f737cab65b31f70a772a23
2021-03-27 12:09:48 -07:00
Pieter Wuille 593e206627 Use Bech32m encoding for v1+ segwit addresses
This also includes updates to the Python test framework implementation,
test vectors, and release notes.

Github-Pull: #20861
Rebased-From: fe5e495c31de47b0ec732b943db11fe345d874af
2021-03-27 12:09:44 -07:00
Pieter Wuille 8944aaa6d6 Add Bech32m test vectors
Github-Pull: #20861
Rebased-From: 25b1c6e13ddf1626210d5e3d37298d1f3a78a94f
2021-03-27 12:09:13 -07:00
Pieter Wuille 1485533092 Implement Bech32m encoding/decoding
Github-Pull: #20861
Rebased-From: da2bb6976dadeec682d163c258c9afecc87d6428
2021-03-27 12:09:13 -07:00
Andrew Chow 5fc381e443
wallet: Move discard feerate fetching to CreateTransaction
Instead of fetching the discard feerate for each SelectCoinsMinConf
iteration, fetch and cache it once during CreateTransaction so that it
is shared for each SelectCoinsMinConf through
coin_selection_params.m_discard_feerate.

Does not change behavior.

Github-Pull: #21083
Rebased-From: bdd0c2934b7f389ffcfae3b602ee3ecee8581acd
2021-03-24 00:34:54 -04:00
Andrew Chow bcd716670b
wallet: Move long term feerate setting to CreateTransaction
Instead of setting the long term feerate for each SelectCoinsMinConf
iteration, set it once during CreateTransaction and let it be shared
with each SelectCoinsMinConf through
coin_selection_params.m_long_term_feerate.

Does not change behavior.

Github-Pull: #21083
Rebased-From: 448d04b931f86941903e855f831249ff5ec77485
2021-03-24 00:23:02 -04:00
Andrew Chow 34c89f92f3
wallet: Replace nFeeRateNeeded with effective_fee
Make sure that all fee calculations use the same feerate.
coin_selection_params.effective_fee is the variable we use for all fee
calculations, so get rid of remaining nFeeRateNeeded usages and just
directly set coin_selection_params.effective_fee.

Does not change behavior.

Github-Pull: #21083
Rebased-From: e2f429e6bbf7098f278c0247b954ecd3ba53cf37
2021-03-24 00:19:34 -04:00
Andrew Chow 48fc675163
wallet: Use existing feerate instead of getting a new one
During each loop of CreateTransaction, instead of constantly getting a
new feerate, use the feerate that we have already fetched for all
fee calculations. Thix fixes a race condition where the feerate required
changes during each iteration of the loop.

This commit changes behavior as the "Fee estimation failed" error will
now take priority over "Signing transaction failed".

Github-Pull: #21083
Rebased-From: 1a6a0b0dfb90f9ebd4b86d7934c6aa5594974f5f
2021-03-24 00:19:27 -04:00
fanquake a30fd40735
Merge #20901: [0.21.1]: rc1 Backports
5a2d98c640 doc: Remove outdated comment (Hennadii Stepanov)
8426e3a8a1 fuzz: Bump FuzzedDataProvider.h (MarcoFalke)
14e3f2a1c9 fuzz: Bump FuzzedDataProvider.h (MarcoFalke)
a48c9d3161 fuzz: Update FuzzedDataProvider.h from upstream (LLVM) (practicalswift)
6746cd078b doc: add signet to doc/bitcoin-conf.md (Jon Atack)
58975d5c0a doc: add signet to share/examples/bitcoin.conf (Jon Atack)
b35711efde Update vcpkg checkout commit. (Aaron Clauson)
3a12672419 GUI: Write PSBTs to file with binary mode (Andrew Chow)
36ecf5eb87 tests: Test that a fully signed tx given to signrawtx is unchanged (Andrew Chow)
4ef1e4bd40 test: disallow sendtoaddress/sendmany when private keys disabled (Jon Atack)
d6b5eb5fcc Disallow sendtoaddress and sendmany when private keys disabled (Andrew Chow)
08dada8456 util: Disallow negative mocktime (MarcoFalke)
95218ee95c net: Avoid UBSan warning in ProcessMessage(...) (practicalswift)
4607019798 fix the unreachable code at feature_taproot (Bruno Garcia)
6dc58e9945 qt: Use "fusion" style on macOS Big Sur with old Qt (Hennadii Stepanov)
e2ebc8567a raise helpMessageDialog (randymcmillan)
a98f211940 Fix MSVC build after gui#176 (Hennadii Stepanov)
bdc64c9030 qt: Stop the effect of hidden widgets on the size of QStackedWidget (Hennadii Stepanov)
7bc4498234 qt: Fix TxViewDelegate layout (Hennadii Stepanov)
b7086e69ff qt: Add TransactionOverviewWidget class (Hennadii Stepanov)
0dba346a56 qt: Use layout manager for Create Wallet dialog (Hennadii Stepanov)
7bf3ed495b Bugfix: GUI: Restore SendConfirmationDialog button default to "Yes" (Luke Dashjr)
bdce029191 test: add test for banning of non-IP addresses (Vasil Dimov)
c33fbab25c net: allow CSubNet of non-IP networks (Vasil Dimov)

Pull request description:

  Current backports for *0.21.1*.

  One conflict was in the test case.

ACKs for top commit:
  ajtowns:
    ACK 5a2d98c640 -- checked 'rebased-from' patches are in master, and rebased patches are clean rebases (except for the first one which changes `""s` to `std::string("")` to avoid c++17 dependency). commits seem fine, but haven't reviewed in detail.
  fanquake:
    ACK 5a2d98c640 - branched off `0.21` and redid the backports. Minor conflict in c33fbab25c. The diff between my branch and #20901 was just in release notes, `_CLIENT_VERSION_RC` (#20901 branched before 95ea54ba08) and #21490 which has already been merged into `0.21`.

Tree-SHA512: 75d16d3cf9066a45759758b8185dc3b9dad6a6102c2ac9921f758a310e48d5d3122f0dafa515df42475235fc66a42cc04dd156ee1e61c86a1238bd11707642ea
2021-03-24 11:54:06 +08:00
MarcoFalke 1bad33f952
Merge #21490: [0.21] Backport versionbits tests
e775b0a6dd tests: Add fuzzing harness for versionbits (Anthony Towns)
0c471a5f30 tests: check never active versionbits (Anthony Towns)
3ba9283a47 tests: more helpful errors for failing versionbits tests (Anthony Towns)

Pull request description:

  Backport of unit test (#21334) and fuzz test (#21380) changes for versionbits.

Top commit has no ACKs.

Tree-SHA512: b68b570e48e0076bb2ade3b91c59612029235d2c9e39048d548aa141fa0906343fa492e9a981065fbdbbebecbbb3dcbaf39ec69228c7581178fcca567e8201b8
2021-03-21 09:55:21 +01:00
Hennadii Stepanov 5a2d98c640 doc: Remove outdated comment
The removed commit is wrong since v0.21.0.

Github-Pull: #21342
Rebased-From: f1f63ac3f833e14badac6edf88ed09d0161e18f7
2021-03-21 09:39:27 +01:00
MarcoFalke 8426e3a8a1 fuzz: Bump FuzzedDataProvider.h
Latest version from 0cccccf0d2/compiler-rt/include/fuzzer/FuzzedDataProvider.h

Github-Pull: #21397
Rebased-From: fa7dc7ae9595ea49a2b31a3baef9af674d8def60
2021-03-21 09:35:15 +01:00
MarcoFalke 14e3f2a1c9 fuzz: Bump FuzzedDataProvider.h
Latest version from https://raw.githubusercontent.com/llvm/llvm-project/70de7e0d9a95b7fcd7c105b06bd90fdf4e01f563/compiler-rt/include/fuzzer/FuzzedDataProvider.h

Github-Pull: #20812
Rebased-From: fafce49336e18033b26948886bbd7342c779b246
2021-03-21 09:34:29 +01:00
practicalswift a48c9d3161 fuzz: Update FuzzedDataProvider.h from upstream (LLVM)
Upstream revision: 6d0488f75b/compiler-rt/include/fuzzer/FuzzedDataProvider.h

Changes:
* [compiler-rt] FuzzedDataProvider: add ConsumeData and method.
* [compiler-rt] Fix a typo in a comment in FuzzedDataProvider.h.
* [compiler-rt] Add ConsumeRandomLengthString() version without arguments.
* [compiler-rt] Refactor FuzzedDataProvider for better readability.
* [compiler-rt] FuzzedDataProvider: make linter happy.
* [compiler-rt] Mark FDP non-template methods inline to avoid ODR violations.

Github-Pull: #20740
Rebased-From: e3d2ba7c70b13a2165020e45abf02373a1e953f7
2021-03-21 09:33:42 +01:00
Jon Atack 6746cd078b doc: add signet to doc/bitcoin-conf.md
Github-Pull: #21384
Rebased-From: 4a285107c11edde2cfc8adfa831c5448c93798d3
2021-03-21 09:32:33 +01:00
Jon Atack 58975d5c0a doc: add signet to share/examples/bitcoin.conf
Github-Pull: #21384
Rebased-From: 21b6a233734da1601846a16a741b108522901782
2021-03-21 09:32:31 +01:00
Aaron Clauson b35711efde Update vcpkg checkout commit.
Previously vcpkg was relying on https://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-1-any.pkg.tar.xz which is no longer available. The vcpkg source has been updated to use http://repo.msys2.org/mingw/i686/mingw-w64-i686-pkg-config-0.29.2-2-any.pkg.tar.zst. This PR updates the commit ID used to checkout vcpkg for the updated URL.

Github-Pull: #21446
Rebased-From: b9e3f3530611d5fbb799a401b839ee23e3eba835
2021-03-21 08:40:51 +01:00
Anthony Towns e775b0a6dd tests: Add fuzzing harness for versionbits
Github-Pull: #21380
Rebased-From: 1639c3b76c3f2b74606f62ecd3ca725154e27f1b
2021-03-21 14:24:41 +10:00
Andrew Chow 3a12672419 GUI: Write PSBTs to file with binary mode
Github-Pull: #bitcoin-core/gui#188
Rebased-From: cc3971c9ff538a924c1a76ca1352bcaeb24f579f
2021-03-11 21:15:09 +01:00
Andrew Chow 36ecf5eb87 tests: Test that a fully signed tx given to signrawtx is unchanged
Tests that a fully signed transaction given to
signrawtransactionwithwallet is both unchanged and marked as complete.
This tests for a regression in 0.20 where the transaction would not be
marked as complete.

Github-Pull: #20562
Rebased-From: 773c42b265fb2212b5cb8785b7226a206d063543
2021-03-06 08:18:16 +01:00
Anthony Towns 0c471a5f30
tests: check never active versionbits 2021-03-03 14:14:40 +01:00
Anthony Towns 3ba9283a47
tests: more helpful errors for failing versionbits tests
Co-authored-by: Sjors Provoost <sjors@sprovoost.nl>
2021-03-03 14:12:16 +01:00
Jon Atack 4ef1e4bd40 test: disallow sendtoaddress/sendmany when private keys disabled
Github-Pull: #21201
Rebased-From: 6bfbc97d716faad38c87603ac6049d222236d623
2021-02-19 12:47:43 +01:00
Andrew Chow d6b5eb5fcc Disallow sendtoaddress and sendmany when private keys disabled
Github-Pull: #21201
Rebased-From: 0997019e7681efb00847a7246c15ac8f235128d8
2021-02-19 12:47:40 +01:00
MarcoFalke 08dada8456 util: Disallow negative mocktime
Signed-off-by: practicalswift <practicalswift@users.noreply.github.com>

Github-Pull: #21043
Rebased-From: 3ddbf22ed179a2db733af4b521bec5d2b13ebf4b
2021-02-11 12:42:40 +01:00
practicalswift 95218ee95c net: Avoid UBSan warning in ProcessMessage(...)
Github-Pull: #21043
Rebased-From: f5f2f9716885e7548809e77f46b493c896a019bf
2021-02-11 12:42:31 +01:00
Bruno Garcia 4607019798 fix the unreachable code at feature_taproot
Github-Pull: #21081
Rebased-From: 5e0cd25e29541e6c19559fb5c2555e008ed896fa
2021-02-08 08:51:02 +01:00
Hennadii Stepanov 6dc58e9945 qt: Use "fusion" style on macOS Big Sur with old Qt
The "macintosh" style is broken on macOS Big Sur at least for Qt 5.9.8.

Github-Pull: #bitcoin-core/gui#177
Rebased-From: 4e1154dfd128cbada65e9ea08ee274cdeafc4c53
2021-01-28 10:15:59 +01:00
randymcmillan e2ebc8567a raise helpMessageDialog
Github-Pull: bitcoin-core/gui#167
Rebased-From: 77114462f2328914b7a918f40776e522a0898e56
2021-01-26 09:51:56 +01:00
Hennadii Stepanov a98f211940 Fix MSVC build after gui#176
Github-Pull: #20983
Rebased-From: c5354e4641d8a92807e4183894d4bb32241e4b5b
2021-01-22 07:41:18 +01:00
Hennadii Stepanov bdc64c9030 qt: Stop the effect of hidden widgets on the size of QStackedWidget
Layouts of the hidden widgets, those are children of QStackedWidget,
could prevent to adjust the size of the parent widget in the
WalletFrame widget.

Github-Pull: bitcoin-core/gui#176
Rebased-From: af58f5b12cea91467692dd4ae71d8cc916a608ed
2021-01-21 18:58:49 +01:00
Hennadii Stepanov 7bc4498234 qt: Fix TxViewDelegate layout
This change (1) prevents overlapping date and amount strings,
and (2) guaranties that "eye" sign at the end of the watch-only
address/label is always visible.

Github-Pull: bitcoin-core/gui#176
Rebased-From: f0d04795e23606399414d074d78efe5aa0da7259
2021-01-21 18:58:45 +01:00
Hennadii Stepanov b7086e69ff qt: Add TransactionOverviewWidget class
Github-Pull: bitcoin-core/gui#176
Rebased-From: d43992140679fb9a5ebc7850923679033f9837f3
2021-01-21 18:58:42 +01:00
Hennadii Stepanov 0dba346a56 qt: Use layout manager for Create Wallet dialog
Github-Pull: bitcoin-core/gui#171
Rebased-From: d4feb6812a2707ef85d75dda4372086ec62eb922
2021-01-21 18:57:10 +01:00
Wladimir J. van der Laan 7d8a10a6f4
Merge #20933: [0.21] doc: Archive release notes, Add template for minor release
b6d3502993 doc: Archive release notes, Add template for minor release (MarcoFalke)

Pull request description:

  Same as #20931, but also clearing the template

ACKs for top commit:
  laanwj:
    ACK b6d3502993

Tree-SHA512: 929d2f774904b58d62dd60d4dcf8447f7e40d959596f3f97462076627d89549ad39dc39c56456f4c8861353cfdf6633abca0be3e84a783f174be1ee1b8d213a4
2021-01-14 11:30:54 +01:00
MarcoFalke b6d3502993 doc: Archive release notes, Add template for minor release 2021-01-14 10:51:15 +01:00
Wladimir J. van der Laan 95ea54ba08
build: Bump RC to 0 (-final)
Tree-SHA512: 1a626b9bb7fb04ece4acb24ffcfed178cc5128d16af6860ed37097b6ed36be8b33797bd70a6da0364cd6a9246ebc02fbb83f9523abf5f8dc3c7a524a58416a8f
2021-01-13 22:52:34 +01:00
Wladimir J. van der Laan 91f0632464
Merge #20929: doc: Move 0.21.0 release notes from wiki
66e6742a27 doc: Move 0.21.0 release notes from wiki (Wladimir J. van der Laan)

Pull request description:

  These were the contents of https://github.com/bitcoin-core/bitcoin-devwiki/wiki/0.21.0-Release-Notes-Draft, minus the paragraph about gauging how fast taproot can be deployed.

Top commit has no ACKs.

Tree-SHA512: d7bb61a76d87cb9d9e43602bf81b51ea463e3a098748e42440950d08e6f6e84bf6c02b07b297ac959f979aa72682775dd2ae2be6d30b22977ed60ed454b9c66d
2021-01-13 22:51:42 +01:00
Wladimir J. van der Laan 66e6742a27 doc: Move 0.21.0 release notes from wiki 2021-01-13 19:43:29 +01:00
Luke Dashjr 7bf3ed495b Bugfix: GUI: Restore SendConfirmationDialog button default to "Yes"
The SendConfirmationDialog is used for bumping the fee, where "Send" doesn't really make sense

Github-Pull: #bitcoin-core/gui#148
Rebased-From: 8775691383ff394b998232ac8e63fac3a214d18b
2021-01-13 17:56:34 +01:00
Vasil Dimov bdce029191 test: add test for banning of non-IP addresses
Co-authored-by: Jon Atack <jon@atack.com>

Github-Pull: #20852
Rebased-From: 39b43298d9c54f9c18bef36f3d5934f57aefd088
2021-01-11 11:57:21 +01:00
Vasil Dimov c33fbab25c net: allow CSubNet of non-IP networks
Allow creation of valid `CSubNet` objects of non-IP networks and only
match the single address they were created from (like /32 for IPv4 or
/128 for IPv6).

This fixes a deficiency in `CConnman::DisconnectNode(const CNetAddr& addr)`
and in `BanMan` which assume that creating a subnet from any address
using the `CSubNet(CNetAddr)` constructor would later match that address
only. Before this change a non-IP subnet would be invalid and would not
match any address.

Github-Pull: #20852
Rebased-From: 94d335da7f8232bc653c9b08b0a33b517b4c98ad
2021-01-11 11:55:17 +01:00
Wladimir J. van der Laan 15877d160c
qt: Pre-rc5 translations update
Tree-SHA512: f6986d00a9565ee7fbf8dd2766dca9c90af931e2dc2fdc0faf5734a2e9be1a0e0774031a20207aa2afa645f1d6229aac9751c84ada324a8dcb463497fb9f237f
2021-01-05 16:46:14 +01:00
Wladimir J. van der Laan 4e7b4ce7eb
build: Bump RC to rc5
Tree-SHA512: ed01a7a66e5d064c77c948b87afce832b33852005ec1dc556bf4fcc69fa3743aaa6dea4c03a5d2d520682d8de9c7596f1eec3db326caf754726d1ca4aab2cec3
2021-01-05 15:25:43 +01:00
Wladimir J. van der Laan 6e28714da3
Merge #20850: [0.21] final rc5 backports
3308718a6b Revert "Add patch to make codesign_allocate compatible with Apple's" (Pieter Wuille)

Pull request description:

ACKs for top commit:
  jonasschnelli:
    ACK 3308718a6b
  fanquake:
    ACK 3308718a6b

Tree-SHA512: 2a1002499e6f0da6e9ac7ae393e478bd34e55390ff1a41c5b16b4e91e339fef4b82642237af6725507337cadf9ddc1f2f23b2512d8dd47e5a345770c6c0d1b02
2021-01-05 15:23:48 +01:00
Pieter Wuille 3308718a6b Revert "Add patch to make codesign_allocate compatible with Apple's"
This reverts commit a4118c6e200e02e7560f8bc213697aa2909d95b1.

Github-Pull: #20855
Rebased-From: a0eb4c551ebf8adfacb8c38c4ce56641fe379667
2021-01-05 09:47:47 +01:00
Wladimir J. van der Laan e6ad8a6220
doc: Generate manual pages for 0.21.0rc4
Tree-SHA512: c2ff50dbb54c42db9d56f1fcb0d8a2ce9c89089254f1a6b6f2aa98959f47699cd72c7771b53490232938b45d9bb030ce7fe08707c62190e68ada0ddbd8b6e13a
2021-01-03 16:16:56 +01:00
Wladimir J. van der Laan 212525337e
build: Bump RC to rc4
Tree-SHA512: f22375573f1737d64b62351cdec58f0f3e17d9f21b044430f366cbf272514369b73f24cc34e499e2637f0a0fa57ce5b925dd2df8ba0265b1b9c37beb7c8b8e22
2021-01-03 13:43:03 +01:00
Wladimir J. van der Laan 93ce429f0e
qt: Pre-rc4 translations update
Tree-SHA512: 14259d2f469ea588f364f64fdd89b90cbcde8f66ddc011d96d656a06920584c0577e64fa15a41a1dc1c8c8a98a1f955748c61def6807b1bb71b0113bb28268f2
2021-01-03 13:12:39 +01:00
Wladimir J. van der Laan ac125e960f
Merge #20669: [0.21] final rc4 backports
b1c0f97483 [doc] Add permissions to the getpeerinfo help. (Amiti Uttarwar)
1fda7db64f rpc: Add missing description of vout in getrawtransaction help text (Ben Carman)
ef7a155cf0 qt: Align layout of checkboxes (Hennadii Stepanov)
35a10e4ebc Add patch to make codesign_allocate compatible with Apple's (Pieter Wuille)
e70ccb0bc4 doc: update -externalip documentation in tor.md (Jon Atack)
2c8482d0a2 doc: add tor.md section on how to get tor info via bitcoind (Jon Atack)
0c1fa78af1 doc: update tor.md address examples from onion v2 to v3 (Jon Atack)
84e8d5467f doc: warn that incoming conns are unlikely when not using default ports (Adam Jonas)
e4440eb67b doc: Add warnings for http interfaces limitations (Fabian Jahr)
85dabd1249 Removed redundant git pull from appveyor config. (Aaron Clauson)
249d61a382 Adjusted msvc compiler and linker settings to remove optimisations that are causing sporadic ABI issues on Visual Studio updates. (Aaron Clauson)
e7b53d4721 This change to the appveyor CI config for msvc builds reverses a change introduced in #19960. It re-applies a setting to inform vcpkg to only build release vesions of the dependencies rather than the default of debug and release. (Aaron Clauson)
8273ea3b8d Move signet onion seed from v2 to v3 (Sjors Provoost)

Pull request description:

  The remaining backports to get rc4 out. Currently only waiting on the macOS build fix.

ACKs for top commit:
  benthecarman:
    ACK b1c0f97483
  Sjors:
    ACK b1c0f97

Tree-SHA512: 53eaecd531ba461678917cb630d67f1e6bb737d64022abe971eaced6eca366c9ed593e44276bd9c7ad7b3aebe3850d2d29282eb310e10b547986d10fe77a8482
2021-01-02 15:01:09 +01:00