Commit Graph

26529 Commits

Author SHA1 Message Date
fanquake
e358b43f7d Merge #21640: [0.21] Introduce DeferredSignatureChecker and have SignatureExtractorClass subclass it
f79189ca54 Test that signrawtx works when a signed CSV and CLTV inputs are present (Andrew Chow)
7de019bc61 Introduce DeferringSignatureChecker and inherit with SignatureExtractor (Andrew Chow)

Pull request description:

  Backport of #21166

ACKs for top commit:
  MarcoFalke:
    checked this is a clean cherry-pick did not review ACK f79189ca54 🐖
  instagibbs:
    ACK f79189ca54

Tree-SHA512: 51e945c9b353713423d3886c557066c66a6517d2300523832e5a5471ab91a8943385096d9bf5b46910477cb4c47470431690cf3da09b9f6956fe030f13ddff51
2021-04-12 09:28:18 +08:00
Andrew Chow
f79189ca54 Test that signrawtx works when a signed CSV and CLTV inputs are present
Github-Pull: #21166
Rebased-From: a97a9298ce
2021-04-08 18:19:02 -04:00
Andrew Chow
7de019bc61 Introduce DeferringSignatureChecker and inherit with SignatureExtractor
Introduces a DeferringSignatureChecker which simply takes a
BaseSignatureChecker and passes through everything.
SignatureExtractorChecker now subclasses DeferringSignatureChecker. This
allows for all BaseSignatureChecker functions to be implemented for
SignatureExtractorChecker, while allowing for future signature checkers
which opreate similarly to SignatureExtractorChecker.

Github-Pull: #21166
Rebased-From: 6965456c10
2021-04-08 18:18:55 -04:00
MarcoFalke
0b9a046c1a Merge #21616: [0.21] build: link against -lsocket if required for *ifaddrs
1a9a2cb7dc net: add ifaddrs.h include (fanquake)
f6896dfde7 build: check if -lsocket is required with *ifaddrs (fanquake)
e99d6d0c7c rand: only try and use freeifaddrs if available (fanquake)

Pull request description:

  Backports #21486 to the 0.21 branch. Related to #21485.

ACKs for top commit:
  MarcoFalke:
    cherry-pick-only ACK 1a9a2cb7dc did not test or review 🚶

Tree-SHA512: 400dcf0f0bffa9b2c820403936b894969113a2bd82a32ae29d3fb73c4ef9ffafb55f5325fcc4929f6e685f8932be6f566f5dd2163ecf8a64b154b0c401109311
2021-04-07 07:32:44 +02:00
fanquake
1a9a2cb7dc net: add ifaddrs.h include
Github-Pull: #21486
Rebased-From: 4783115fd4
2021-04-06 17:36:11 +08:00
fanquake
f6896dfde7 build: check if -lsocket is required with *ifaddrs
Github-Pull: #21486
Rebased-From: 879215e665
2021-04-06 17:35:41 +08:00
fanquake
e99d6d0c7c rand: only try and use freeifaddrs if available
Github-Pull: #21486
Rebased-From: 87deac66aa
2021-04-06 17:34:57 +08:00
MarcoFalke
65fa43bda1 Merge #21469: BIP 350: Implement Bech32m and use it for v1+ segwit addresses (0.21 backport)
f2195d7c4a Backport invalid address tests (Pieter Wuille)
1e9671116f naming nits (Fabian Jahr)
7dfe406e20 Add signet support to gen_key_io_test_vectors.py (Pieter Wuille)
593e206627 Use Bech32m encoding for v1+ segwit addresses (Pieter Wuille)
8944aaa6d6 Add Bech32m test vectors (Pieter Wuille)
1485533092 Implement Bech32m encoding/decoding (Pieter Wuille)

Pull request description:

  Backport of #20861. Also includes #21471.

ACKs for top commit:
  jnewbery:
    utACK f2195d7c4a
  MarcoFalke:
    cherry-pick re-ACK f2195d7c4a , only change is version number in doc/bips and new test commit 🍝
  fanquake:
    ACK f2195d7c4a - performed the backport, changes look sane. Have not tested extensively.

Tree-SHA512: 7dc043e44d7cda07d73331a7b49666b9db98c99f2635dab0cfeb45422dbfbe75a7b44d0aff85ef6369d412d8a5041ed0826c86ffdfc13c5fbff74adfe4d91c1a
2021-04-01 12:34:08 +02:00
Pieter Wuille
f2195d7c4a Backport invalid address tests
Reduced version of the test from master/#20861 by John Newbery.

Github-Pull: #20861
Rebased-From: fe5e495c31
2021-03-27 12:09:48 -07:00
Fabian Jahr
1e9671116f naming nits
Github-Pull: #20861
Rebased-From: 03346022d6
2021-03-27 12:09:48 -07:00
Pieter Wuille
7dfe406e20 Add signet support to gen_key_io_test_vectors.py
Github-Pull: #20861
Rebased-From: 2e7c80fb5b
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: fe5e495c31
2021-03-27 12:09:44 -07:00
Pieter Wuille
8944aaa6d6 Add Bech32m test vectors
Github-Pull: #20861
Rebased-From: 25b1c6e13d
2021-03-27 12:09:13 -07:00
Pieter Wuille
1485533092 Implement Bech32m encoding/decoding
Github-Pull: #20861
Rebased-From: da2bb6976d
2021-03-27 12:09:13 -07: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: f1f63ac3f8
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: fa7dc7ae95
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: fafce49336
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: e3d2ba7c70
2021-03-21 09:33:42 +01:00
Jon Atack
6746cd078b doc: add signet to doc/bitcoin-conf.md
Github-Pull: #21384
Rebased-From: 4a285107c1
2021-03-21 09:32:33 +01:00
Jon Atack
58975d5c0a doc: add signet to share/examples/bitcoin.conf
Github-Pull: #21384
Rebased-From: 21b6a23373
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: b9e3f35306
2021-03-21 08:40:51 +01:00
Anthony Towns
e775b0a6dd tests: Add fuzzing harness for versionbits
Github-Pull: #21380
Rebased-From: 1639c3b76c
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: cc3971c9ff
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: 773c42b265
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: 6bfbc97d71
2021-02-19 12:47:43 +01:00
Andrew Chow
d6b5eb5fcc Disallow sendtoaddress and sendmany when private keys disabled
Github-Pull: #21201
Rebased-From: 0997019e76
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: 3ddbf22ed1
2021-02-11 12:42:40 +01:00
practicalswift
95218ee95c net: Avoid UBSan warning in ProcessMessage(...)
Github-Pull: #21043
Rebased-From: f5f2f97168
2021-02-11 12:42:31 +01:00
Bruno Garcia
4607019798 fix the unreachable code at feature_taproot
Github-Pull: #21081
Rebased-From: 5e0cd25e29
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: 4e1154dfd1
2021-01-28 10:15:59 +01:00
randymcmillan
e2ebc8567a raise helpMessageDialog
Github-Pull: bitcoin-core/gui#167
Rebased-From: 77114462f2
2021-01-26 09:51:56 +01:00
Hennadii Stepanov
a98f211940 Fix MSVC build after gui#176
Github-Pull: #20983
Rebased-From: c5354e4641
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: af58f5b12c
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: f0d04795e2
2021-01-21 18:58:45 +01:00
Hennadii Stepanov
b7086e69ff qt: Add TransactionOverviewWidget class
Github-Pull: bitcoin-core/gui#176
Rebased-From: d439921406
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: d4feb6812a
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
v0.21.0
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: 8775691383
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: 39b43298d9
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: 94d335da7f
2021-01-11 11:55:17 +01:00
Wladimir J. van der Laan
15877d160c qt: Pre-rc5 translations update
Tree-SHA512: f6986d00a9565ee7fbf8dd2766dca9c90af931e2dc2fdc0faf5734a2e9be1a0e0774031a20207aa2afa645f1d6229aac9751c84ada324a8dcb463497fb9f237f
v0.21.0rc5
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