aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-10-30Only relay Taproot spends if next block has it activePieter Wuille
2020-10-29Merge #20186: wallet: Make -wallet setting not create walletsMarcoFalke
01476a88a6095fd3af71cb9bf1eadef920a1197b wallet: Make -wallet setting not create wallets (Russell Yanofsky) Pull request description: This changes `-wallet` setting to only load existing wallets, not create new ones. - Fixes settings.json corner cases reported by sjors & promag: https://github.com/bitcoin-core/gui/issues/95, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578 - Prevents accidental creation of wallets reported most recently by jb55 http://www.erisian.com.au/bitcoin-core-dev/log-2020-09-14.html#l-355 - Simplifies behavior after #15454. #15454 took the big step of disabling creation of the default wallet. This PR extends it to avoid creating other wallets as well. With this change, new wallets just aren't created on startup, instead of sometimes being created, sometimes not. #15454 release notes are updated here and are simpler. This change should be targeted for 0.21.0. It's a bug fix and simplifies behavior of the #15937 / #19754 / #15454 features added in 0.21.0. --- This PR is implementing the simplest, most basic alternative listed in https://github.com/bitcoin-core/gui/issues/95#issuecomment-694236940. Other improvements mentioned there can build on top of this. ACKs for top commit: achow101: ACK 01476a88a6095fd3af71cb9bf1eadef920a1197b hebasto: re-ACK 01476a88a6095fd3af71cb9bf1eadef920a1197b MarcoFalke: review ACK 01476a88a6095fd3af71cb9bf1eadef920a1197b 🏂 Tree-SHA512: 0d50f4e5dfbd04a2efd9fd66c02085a0ed705807bdec1cf5770d0ae8cb6af07080fb81306349937bf66acdb713d03fb35636f6442b650d0820e66cbae09c2f87
2020-10-29Merge #20257: Update secp256k1 subtree to latest masterfanquake
6c0259fc2f8bd34ba83ad10a6a11d6d99e8d1fc7 Squashed 'src/secp256k1/' changes from c6b6b8f1bb..3967d96bf1 (Pieter Wuille) Pull request description: Nothing important changed, but this silences this (erroneous) warning in certain GCC 9 versions: ``` In file included from src/secp256k1.c:16: src/ecmult_impl.h: In function ‘secp256k1_ecmult’: src/ecmult_impl.h:496:48: warning: array subscript [1, 268435456] is outside array bounds of ‘struct secp256k1_strauss_point_state[1]’ [-Warray-bounds] 496 | secp256k1_gej tmp = a[state->ps[np].input_pos]; | ~~~~~~~~~~~~~^~~~~~~~~~ src/ecmult_impl.h:565:42: note: while referencing ‘ps’ 565 | struct secp256k1_strauss_point_state ps[1]; | ^~ src/ecmult_impl.h:502:139: warning: array subscript [1, 268435456] is outside array bounds of ‘struct secp256k1_strauss_point_state[1]’ [-Warray-bounds] 502 | secp256k1_fe_mul(state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), state->zr + np * ECMULT_TABLE_SIZE(WINDOW_A), &(a[state->ps[np].input_pos].z)); | ~~~~~~~~~~~~~^~~~~~~~~~ src/ecmult_impl.h:565:42: note: while referencing ‘ps’ 565 | struct secp256k1_strauss_point_state ps[1]; | ^~ ``` (see https://github.com/bitcoin-core/secp256k1/issues/834) ACKs for top commit: fanquake: ACK 5803f5f5f6030e69b46a46f0511b8173bf89de0d - performed the update myself and got the same change: [check_20257_subtree](https://github.com/fanquake/bitcoin/tree/check_20257_subtree). hebasto: ACK 5803f5f5f6030e69b46a46f0511b8173bf89de0d, tested on Linux Mint 20 (x86_64) with `gcc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0` -- no warnings are emitted. Tree-SHA512: 386281d23aee93a3b1d1a09fec8319c3a477e46967430c935677eed54abddc62d5a7710f9eeab1ec476ace05adcb194b5b377712e44a6bb95a74ffa35faf77f3
2020-10-29Merge #20195: build: fix mutex detection when building bdb on macOSWladimir J. van der Laan
d0a829e9632379e42f0be5c554e3b692f0d14a95 build: fix mutex detection when building bdb on macOS (fanquake) Pull request description: Starting with the Apple Clang shipped with Xcode 12, [Apple has enabled -Werror=implicit-function-declaration by default](https://developer.apple.com/documentation/xcode-release-notes/xcode-12-release-notes): > Clang now reports an error when you use a function without an explicit declaration when building C or Objective-C code for macOS (-Werror=implicit-function-declaration flag is on). This additional error detection unifies Clang’s behavior for iOS/tvOS and macOS 64-bit targets for this diagnostic. (49917738) This causes bdbs mutex detection to fail when building on macOS (not cross-compiling): ```bash checking for mutexes... UNIX/fcntl configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM. configure: error: Unable to find a mutex implementation ``` as previously emitted warnings are being turned into errors. i.e: ```bash configure:18704: checking for mutexes configure:18815: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -mmacosx-version-min=10.12 --sysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -o conftest -pipe -O2 -I/Users/michael/github/fanquake-bitcoin/depends/x86_64-apple-darwin19.6.0/include -L/Users/michael/github/fanquake-bitcoin/depends/x86_64-apple-darwin19.6.0/lib conftest.c -lpthread >&5 conftest.c:46:1: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] main() { ^ conftest.c:51:2: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration] exit ( ^ conftest.c:51:2: note: include the header <stdlib.h> or explicitly provide a declaration for 'exit' 1 warning and 1 error generated. ``` Append `-Wno-error=implicit-function-declaration` to `cflags` so that `-Wimplicit-function-declaration` [returns to being a warning](https://clang.llvm.org/docs/UsersManual.html#cmdoption-wno-error), and the configure checks succeed. Fixes #19411. ACKs for top commit: laanwj: Code review ACK d0a829e9632379e42f0be5c554e3b692f0d14a95 Tree-SHA512: 7813005b1fc0b370f843b6c0672acab32c999416e92c3f02b75d866e9c7aa41fe5822704fc74de6b65f0d7d94f2cdd05cc7c3ee83295ff1ecbc71d8492b9a2bf
2020-10-29Merge #20115: cli: -netinfo quick updates/fixups for 0.21Wladimir J. van der Laan
398045ba8b3694931069f88ec95553b3207dd1a6 cli -netinfo: print oversized/extreme ping times as "-" (Jon Atack) 773f4c99c00c0b1d8c1b53cb99ba571337100953 cli -netinfo: handle longer tor v3 local addresses (Jon Atack) 33e987452f869c279f2491499939e51e0af8364c cli -netinfo: make age column variable-width (Jon Atack) f8a1c4d9469cb496fdafaf6f4d94977687df9190 cli -netinfo: various quick updates and fixes (Jon Atack) Pull request description: Quick fixups and updates for v0.21.0: - [x] handle larger BIP155 `addrv2` addresses - [x] add Signet chain - [x] add an additional space between the `net` and `mping` columns; add missing `tinyformat` and `algorithm` headers - [x] s/uptime/age/ per 0xB10C suggestion, and make the column auto-adjusting variable width - [x] display `-` for oversized mping/ping times like `1.17348e+06`, as reported by practicalswift Edit: removed the release note commit, as this PR was not merged before the notes were moved to the wiki. It's here: ``` - A new `bitcoin-cli -netinfo` command returns a network peer connections dashboard that displays data from the `getpeerinfo` and `getnetworkinfo` RPCs in a human-readable format. An optional integer argument from `0` to `4` may be passed to see various levels of detail. (#19643) ``` ACKs for top commit: michaelfolkson: ACK 398045ba8b3694931069f88ec95553b3207dd1a6 Emzy: Tested ACK 398045ba8b3694931069f88ec95553b3207dd1a6 Tree-SHA512: 0625ee840141bafbfcaf8f1fce53f8f850ae91721b2bdad4279372da87c18a1fe3a214d90bfdbbabdf6da38d58290d7dd0f1109b4e2ca5d20cacf417d6ced0f9
2020-10-29Merge #20156: build: Make sqlite support optional (compile-time)Wladimir J. van der Laan
bbb42a68961a8ae1e4ef3221ffb1d5ff7272b075 RPC: createwallet: Nicer error message if descriptor wallet requested and sqlite support not compiled in (Luke Dashjr) 6608fec332eac4dfd91138bc4fe2e1b5c7bb758f GUI: Create Wallet: Nicely disable descriptor wallet checkbox if sqlite support not compiled in (Luke Dashjr) 7b54d768e1514b328e1ac108d3db2f1bac3ba7ff Make sqlite support optional (compile-time) (Luke Dashjr) Pull request description: As a new requirement, sqlite support should be optional. This PR aims to be only minimum/blocker changes for 0.21. Potential follow-up PRs after this: * Make BDB support optional * Nicer error messages when user tries to load an unsupported wallet * Don't compile descriptor wallet code if sqlite disabled ACKs for top commit: jonasschnelli: Tested ACK bbb42a68961a8ae1e4ef3221ffb1d5ff7272b075 achow101: ACK bbb42a68961a8ae1e4ef3221ffb1d5ff7272b075 Sjors: re-utACK bbb42a68961a8ae1e4ef3221ffb1d5ff7272b075 hebasto: ACK bbb42a68961a8ae1e4ef3221ffb1d5ff7272b075, tested on Linux Mint 20 (x86_64, Qt 5.12.8). Tree-SHA512: 500209dd1971310fab8ae51543343ce0ba91f088ccccff6109b4cc27547cd5532289dca6cb7dac2a7d7c59cdf3c8f5aacc31e9b0f912e38cea52ec26b97100bd
2020-10-29Merge #20242: fuzz: Properly initialize PrecomputedTransactionDataWladimir J. van der Laan
fa56d56d4e9b69fdd02e631b9a2380cfd3095144 fuzz: Properly initialize PrecomputedTransactionData (MarcoFalke) Pull request description: Fixes: ``` script_flags: script/interpreter.cpp:1512: bool SignatureHashSchnorr(uint256 &, const ScriptExecutionData &, const T &, uint32_t, uint8_t, SigVersion, const PrecomputedTransactionData &) [T = CTransaction]: Assertion `cache.m_bip341_taproot_ready && cache.m_spent_outputs_ready' failed. ==34989== ERROR: libFuzzer: deadly signal #0 0x55e90077ff11 in __sanitizer_print_stack_trace (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x20cf11) #1 0x55e9006cb068 in fuzzer::PrintStackTrace() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158068) #2 0x55e9006b01b3 in fuzzer::Fuzzer::CrashCallback() (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13d1b3) #3 0x7f6fb89383bf (/lib/x86_64-linux-gnu/libpthread.so.0+0x153bf) #4 0x7f6fb855018a in raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618a) #5 0x7f6fb852f858 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x25858) #6 0x7f6fb852f728 (/lib/x86_64-linux-gnu/libc.so.6+0x25728) #7 0x7f6fb8540f35 in __assert_fail (/lib/x86_64-linux-gnu/libc.so.6+0x36f35) #8 0x55e9008275bd in bool SignatureHashSchnorr<CTransaction>(uint256&, ScriptExecutionData const&, CTransaction const&, unsigned int, unsigned char, SigVersion, PrecomputedTransactionData const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1512:5 #9 0x55e900825a3f in GenericTransactionSignatureChecker<CTransaction>::CheckSchnorrSignature(Span<unsigned char const>, Span<unsigned char const>, SigVersion, ScriptExecutionData const&, ScriptError_t*) const /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1699:10 #10 0x55e900832503 in VerifyWitnessProgram(CScriptWitness const&, int, std::vector<unsigned char, std::allocator<unsigned char> > const&, unsigned int, BaseSignatureChecker const&, ScriptError_t*, bool) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1900:26 #11 0x55e90082ecb5 in VerifyScript(CScript const&, CScript const&, CScriptWitness const*, unsigned int, BaseSignatureChecker const&, ScriptError_t*) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/script/interpreter.cpp:1977:18 #12 0x55e9007a9b61 in test_one_input(std::vector<unsigned char, std::allocator<unsigned char> > const&) /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags.cpp:51:30 #13 0x55e9007d0b49 in LLVMFuzzerTestOneInput /tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/fuzz.cpp:36:5 #14 0x55e9006b1871 in fuzzer::Fuzzer::ExecuteCallback(unsigned char const*, unsigned long) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13e871) #15 0x55e9006b0fb5 in fuzzer::Fuzzer::RunOne(unsigned char const*, unsigned long, bool, fuzzer::InputInfo*, bool*) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x13dfb5) #16 0x55e9006b38d7 in fuzzer::Fuzzer::ReadAndExecuteSeedCorpora(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1408d7) #17 0x55e9006b3c39 in fuzzer::Fuzzer::Loop(std::__Fuzzer::vector<fuzzer::SizedFile, fuzzer::fuzzer_allocator<fuzzer::SizedFile> >&) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x140c39) #18 0x55e9006a290e in fuzzer::FuzzerDriver(int*, char***, int (*)(unsigned char const*, unsigned long)) (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x12f90e) #19 0x55e9006cb752 in main (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x158752) #20 0x7f6fb85310b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2) #21 0x55e9006776ad in _start (/tmp/bitcoin-core/ci/scratch/build/bitcoin-x86_64-pc-linux-gnu/src/test/fuzz/script_flags+0x1046ad) ACKs for top commit: laanwj: Code review ACK fa56d56d4e9b69fdd02e631b9a2380cfd3095144 Tree-SHA512: 5637b0a0d982360df32d8cd39e913395967af02ec746508fc5f2fd649695c58bfaaf18ef76f4ca9da764d34fdd63dfe188317dd41b2ed57534bd4055a05ae870
2020-10-29Merge #19753: p2p: don't add AlreadyHave transactions to recentRejectsWladimir J. van der Laan
d419fdedbe34c7ea19c0473660cc1b486b4e70d8 [net processing] Don't add AlreadyHave txs to recentRejects (Troy Giorshev) Pull request description: If we already have a transaction, don't add it to recentRejects Now, we only add a transaction to our recentRejects filter if we didn't already have it, meaning that it is added at most once, as intended. ACKs for top commit: jnewbery: Code review ACK d419fdedbe34c7ea19c0473660cc1b486b4e70d8 laanwj: Code review ACK d419fdedbe34c7ea19c0473660cc1b486b4e70d8 Tree-SHA512: cff5c1ba36c4700e2d6ab3eec4a3e51e1bef28fb3cc1bc850c84e06d6e5a9f6c32825207c253cc9cdf596b2eaadb6b5be68b3f8ca752b4ef6c31cf85138e3c99
2020-10-28Merge #20258: tests: Remove getnettotals/getpeerinfo consistency testMarcoFalke
778cd0d88d8d6dd22d7f0fb740f3ca3dbb2280a1 [tests] Remove getnettotals/getpeerinfo consistency test (John Newbery) Pull request description: We make no guarantees about consistency between RPC calls. Alternative to 18784 ACKs for top commit: MarcoFalke: review ACK 778cd0d88d8d6dd22d7f0fb740f3ca3dbb2280a1 troygiorshev: ACK 778cd0d88d8d6dd22d7f0fb740f3ca3dbb2280a1 after reading discussion on 18784, code review, ran test Tree-SHA512: 438333a111cc93a09680cec47f13fbe03557d4803e5d826aec6f72e5afea62a088622645f0756e8fd2c9182c2a69ccca867d4d6fed2250364bee2b6c834adb1a
2020-10-28[tests] Remove getnettotals/getpeerinfo consistency testJohn Newbery
We make no guarantees about consistency between RPC calls.
2020-10-28Merge #19877: [test] clarify rpc_net & p2p_disconnect_ban functional testsWladimir J. van der Laan
47ff5098ad5ea2c20ea387f99940a7cde6c80789 [test] Clarify setup of node topology. (Amiti Uttarwar) 0672522aedd3760c30b8740c7e9487f00bf9dfeb [move-only, test]: Match test order with run order (Amiti Uttarwar) Pull request description: small improvements to clarify logic in the functional tests 1. have test logic in `rpc_net.py` match run order of the test 2. remove `connect_nodes` calls that are redundant with the automatic test setup executed by the test framework Noticed when I was trying to debug a test for #19725. Small changes but imo very helpful, because they initially confused me. ACKs for top commit: laanwj: ACK 47ff5098ad5ea2c20ea387f99940a7cde6c80789 Tree-SHA512: 2843da2c0b4f06b2600b3adb97900a62be7bb2228770abd67d86f2a65c58079af22c7c20957474a98c17da85f40a958a6f05cb8198aa0c56a58adc1c31100492
2020-10-28Merge #20256: qt: Pre-splitoff translations updateMarcoFalke
a193f969eef4a0e656d26bb7e7bba1c04d90b777 qt: Pre-splitoff translations update (Wladimir J. van der Laan) Pull request description: Do a pre-splitoff translations update. Pulls the translations from Transifex, and apparently, there are also some new English messages in the source code since the transtlations freeze, but not many. ACKs for top commit: fanquake: ACK a193f969eef4a0e656d26bb7e7bba1c04d90b777 - I got the same changes (branch: [translation_check_0210](https://github.com/fanquake/bitcoin/tree/translation_check_0210)), except for a diff in `src/qt/locale/bitcoin_es_MX.ts`. Although from a look on Transifex it seems that transalation may have been updated in the last hour or so. Tree-SHA512: 315c1f4327142caae01179a8398b0a8adb9108e1fc8122585274b7ed74ae878554399a06fd12a8103a4933ecf0ad6e211d6efc63edc6827c0168317f2b83528f
2020-10-27Update secp256k1 subtree to latest masterPieter Wuille
2020-10-27Squashed 'src/secp256k1/' changes from c6b6b8f1bb..3967d96bf1Pieter Wuille
3967d96bf1 Merge #838: Make autotools check for all the used openssl functions 3734b68200 Configure echo if openssl tests are enabled 6f54e69f03 Merge #841: Avoids a potentially shortening size_t to int cast in strauss_wnaf_ 8893f42438 Avoids a potentially shortening size_t to int cast in strauss_wnaf_ e6692778d3 Modify bitcoin_secp.m4's openssl check to call all the functions that we use in the tests/benchmarks. That way linking will fail if those symbols are missing ac05f61fcf Merge #809: Stop treating ECDH as experimental e6e3d5da2f travis: add schnorrsig to valgrind and big endian platform test 353dff156f Stop treating ECDH as experimental git-subtree-dir: src/secp256k1 git-subtree-split: 3967d96bf184519eb98b766af665b4d4b072563e
2020-10-27[test] Clarify setup of node topology.Amiti Uttarwar
Since the test framework automatically sets up a connection between the nodes, the second connect_nodes call was a no-op. Remove the redundant call & add comments to explain the expected topology.
2020-10-27[move-only, test]: Match test order with run orderAmiti Uttarwar
2020-10-27qt: Pre-splitoff translations updateWladimir J. van der Laan
2020-10-27Merge bitcoin-core/gui#116: Fix unreasonable default size of the main window ↵Jonas Schnelli
without loaded wallets 7b2e42ecc4bddb5504665d6932dc5ffdbd3b593e qt: Add WalletFrame::sizeHint (Hennadii Stepanov) Pull request description: This PR fixes a bug in master (d67883d01e507dd22d1281f4a4860e79d6a46a47) and in 0.20.1 that could be easily reproduced with ``` $ src/qt/bitcoin-qt -regtest -resetguisettings -nowallet ``` ![Screenshot from 2020-10-25 21-21-27](https://user-images.githubusercontent.com/32963518/97117179-b1800100-170a-11eb-87c9-3120d39b9455.png) ![Screenshot from 2020-10-25 21-23-32](https://user-images.githubusercontent.com/32963518/97117186-b644b500-170a-11eb-8b5d-234ff7205003.png) **With this PR:** ![Screenshot from 2020-10-25 21-20-35](https://user-images.githubusercontent.com/32963518/97117226-f441d900-170a-11eb-8d66-98b7718a2bb1.png) ![Screenshot from 2020-10-25 21-23-03](https://user-images.githubusercontent.com/32963518/97117232-f99f2380-170a-11eb-85ed-c7b5ece926b2.png) --- Fix #104 Fix #113 This PR is an alternative to #107 without [hard-coding a size in pixels](https://github.com/bitcoin-core/gui/pull/107#discussion_r511474021). ACKs for top commit: jonasschnelli: Tested ACK 7b2e42ecc4bddb5504665d6932dc5ffdbd3b593e - I can confirm this fixes #104 (Ubuntu 20.04 - HiDPI 200%). Tree-SHA512: eb0692dbeb3befdeecca0e41534c9783eab6637c14cc4f170ee42619235884f9354f8d22a10c20c08cc89dc5340a60b7dfa2523c12e64b3386b3fd2c6d5f934e
2020-10-27build: fix mutex detection when building bdb on macOSfanquake
Starting with the Clang shipped with Xcode 12, Apple has enabled -Werror=implicit-function-declaration by default. This causes bdbs mutex detection to fail when building on macOS (not cross-compiling): checking for mutexes... UNIX/fcntl configure: WARNING: NO SHARED LATCH IMPLEMENTATION FOUND FOR THIS PLATFORM. configure: error: Unable to find a mutex implementation as previously emitted warnings are being turned into errors. i.e: error: implicitly declaring library function 'exit' with type 'void (int) __attribute__((noreturn))' [-Werror,-Wimplicit-function-declaration] Append -Wno-error=implicit-function-declaration to cflags so that -Wimplicit-function-declaration returns to being a warning, and the configure checks will succeed. Fixes #19411.
2020-10-27[net processing] Don't add AlreadyHave txs to recentRejectsTroy Giorshev
Now, we only add a transaction to our recentRejects filter if we didn't already have it, meaning that it is added at most once, as intended.
2020-10-27Merge #20167: test: Add test for -blockversionWladimir J. van der Laan
fa9b48549ca39b862a10bcfd90e3eac2a0e8ad2e test: Add test for -blockversion (MarcoFalke) fa7fb0e44241982a6e5cd560c06ac0c9d8f47f88 test: Default blockversion to 4 in feature_block (MarcoFalke) fa2b778d0cf723925af8710d52cae211d4f036df test: Remove unused -blockversion from tests (MarcoFalke) Pull request description: `-blockversion` is currently untested, as in: The setting could be made a no-op without any tests failing. Fix that by adding an explicit test for it. Also, related minor cleanups. ACKs for top commit: guggero: ACK fa9b48549ca39b862a10bcfd90e3eac2a0e8ad2e. Tree-SHA512: 1b2e792f7ed0ec1db163476ee8a938f8f7cb3691f797c721bbe55fdeed92487c2ff83b55467440096917999406c86430cb3a615383cefb4f621828309ff6a1e7
2020-10-27Merge #19124: doc: Document ALLOW_HOST_PACKAGES dependency optionWladimir J. van der Laan
47e2a35fac9951c125b784a9d14027338c56c750 doc: Document ALLOW_HOST_PACKAGES dependency option (skmcontrib) Pull request description: Provided entry in depends, README.md to ensure that ALLOW_HOST_PACKAGES dependency option is documented, #19113 ACKs for top commit: hebasto: ACK 47e2a35fac9951c125b784a9d14027338c56c750. Tree-SHA512: 10d9285885be25f092881e4886c6a804cd42b5224bdf1dfa8b8369463808ddaf533a8604f14f7fe45478434a22feae98053f4731b51d976c071d69882bdac72b
2020-10-27Merge #20152: doc: Update wallet files in files.mdfanquake
defe48a51f4315f8cc607875a099981593c8cc39 doc: Update wallet files in files.md (Hennadii Stepanov) Pull request description: This PR is a #19077 follow up, and it addresses the [comment](https://github.com/bitcoin/bitcoin/pull/19077#discussion_r504805234): > If need to update, there are two corrections that could be made: > > * Line 69 "Wallets are Berkeley DB (BDB) databases" is no longer true > > * Line 76 "Wallet lock file" should say "BDB wallet lock file" ACKs for top commit: RiccardoMasutti: ACK defe48a meshcollider: ACK defe48a51f4315f8cc607875a099981593c8cc39 Tree-SHA512: 39939f86a9c7842bf06913998305dcbd6209585f1da0fe9c274bac0572eb8464e59176884dd9e2b91312f34efad40cdeb4085ec72c2a2c1b33d16b6ab505140c
2020-10-27Merge #20247: fuzz: Check for addrv1 compatibility before using addrv1 ↵MarcoFalke
serializer. Fuzz addrv2 serialization. 903f3d06275312aa4000b765d2287339210c61c1 fuzz: Check for addrv1 compatibility before using addrv1 serializer (practicalswift) Pull request description: Fuzz addrv2 address serialization. Check for addrv1 compatibility before using addrv1 serializer. Before this ``` $ src/test/fuzz/netaddr_deserialize netaddr_deserialize: test/fuzz/deserialize.cpp:84: void (anonymous namespace)::AssertEqualAfterSerializeDeserialize(const T &) [T = CNetAddr]: Assertion `Deserialize<T>(Serialize(obj)) == obj' failed. ``` After this patch: ``` $ src/test/fuzz/netaddr_deserialize … ``` ACKs for top commit: MarcoFalke: review ACK 903f3d06275312aa4000b765d2287339210c61c1 Tree-SHA512: a9ddb71cc31c877fa3dd78dbc908d1e30b4790398fefe19e6541f1fca81e8560f7a11fa099ef3943b94401974c472e523484fdf66f1c23ff2e998558ba4b65de
2020-10-26fuzz: Check for addrv1 compatibility before using addrv1 serializerpracticalswift
2020-10-26test: Add test for -blockversionMarcoFalke
2020-10-26fuzz: Properly initialize PrecomputedTransactionDataMarcoFalke
2020-10-25qt: Add WalletFrame::sizeHintHennadii Stepanov
This change makes the layout of a WalletFrame widget correct even without loaded wallets.
2020-10-25cli -netinfo: print oversized/extreme ping times as "-"Jon Atack
2020-10-25cli -netinfo: handle longer tor v3 local addressesJon Atack
2020-10-25cli -netinfo: make age column variable-widthJon Atack
as it has a wide possible range and the new name ("age" instead of "uptime") is much shorter.
2020-10-25cli -netinfo: various quick updates and fixesJon Atack
- add new signet chain - update change "uptime" column name to "age" per suggestion by 0xB10C (Timo) - add an additional digit to mping field width - change m_networks_size from size_t to uint8_t, as size_t was a holdover from m_networks_size being defined as size_t m_networks.size() in a draft - order Peer struct members by decreasing memory size
2020-10-24Merge bitcoin-core/gui#43: bugfix: Call setWalletActionsEnabled(true) only ↵MarcoFalke
for the first wallet 20c9e035543892e322c7134e89eb33115678bb30 gui: Call setWalletActionsEnabled(true) only for the first wallet (Hennadii Stepanov) Pull request description: On master (a78742830aa35bf57bcb0a4730977a1e5a1876bc) there is a bug: - open an encrypted wallet; please note that the "Encrypt Wallet..." menu item is disabled that is expected: ![Screenshot from 2020-08-03 12-38-37](https://user-images.githubusercontent.com/32963518/89169084-70060c80-d586-11ea-86b9-05ef38d08f41.png) - then open any other wallet; note that the "Encrypt Wallet..." menu item gets enabled that is wrong: ![Screenshot from 2020-08-03 12-42-36](https://user-images.githubusercontent.com/32963518/89169385-d68b2a80-d586-11ea-9813-a533a847e098.png) This PR fixes this bug. ACKs for top commit: jonasschnelli: Tested ACK 20c9e035543892e322c7134e89eb33115678bb30 - I could reproduce the issue on master and have verify that this PR fixes it. achow101: ACK 20c9e035543892e322c7134e89eb33115678bb30 Tree-SHA512: 2c9ab94bde8c4f413b0a95c05bf3a1a29f5910e0f99d6639a11dd77758c78af25b060b3fecd78117066ef15b113feb79870bc1347cc04289da915c00623e5787
2020-10-23Merge bitcoin-core/gui#71: Fix visual quality of text in QR imageJonas Schnelli
6954156b4091bc1e561502f0eef0cece56c76eec qt: Fix visual quality of text in QR image (Hennadii Stepanov) 8071c75d45e12c2bca04b170c687bebd30ad19ac qt, refactor: Limit scope of QPainter object (Hennadii Stepanov) Pull request description: Master (197450f80868fe752c6107955e5da80704212b34): ![DeepinScreenshot_select-area_20200824001800](https://user-images.githubusercontent.com/32963518/90988962-96283680-e59f-11ea-8e20-42e9b23033f5.png) This PR (6954156b4091bc1e561502f0eef0cece56c76eec): - macOS 10.15.6 ![Screenshot from 2020-09-07 15-40-30](https://user-images.githubusercontent.com/32963518/92390251-2c716600-f123-11ea-96f0-0e9d35810c76.png) - Linux Mint 20 ![Screenshot from 2020-09-07 15-48-13](https://user-images.githubusercontent.com/32963518/92390272-36936480-f123-11ea-8fee-4de23bb40ed9.png) Fix #54 Fix https://github.com/bitcoin/bitcoin/issues/19103 --- The first commit is easy to review with [`git diff --word-diff`](https://github.com/bitcoin-core/gui/pull/71/commits/8071c75d45e12c2bca04b170c687bebd30ad19ac?w=1). ACKs for top commit: jonasschnelli: Tested ACK 6954156b4091bc1e561502f0eef0cece56c76eec - tested on macOS 10.15. Fixes the problem. Tree-SHA512: 6ecb3397d2a5094c5f00ee05fc09520751568404e000a8691b6de7e57f38c2d5da628694e5e45a2b4cc302a846bbc00014c40820233eb026d3ebd4f68c2c9913
2020-10-23Merge #20216: wallet: fix buffer over-read in SQLite file magic checkfanquake
56a461f72796ca60de28e78f144741eb1a4f5213 wallet: fix buffer over-read in SQLite file magic check (Sebastian Falbesoner) Pull request description: Looking at our new SQLite database code, I noticed that there is a potential problem in the method `IsSQLiteFile()`: If there is no terminating zero within the first 16 bytes of the file, the `magic` buffer would be over-read in the `std::string` constructor for `magic_str`. Fixed by using the "from buffer" variant of the string ctor (that also takes a size) rather than the "from c-string" variant (see http://www.cplusplus.com/reference/string/string/string/). The behaviour can be reproduced by the following steps: * Creating a file of at least 512 bytes in size (to pass the minimum size check) that doesn't contain zero bytes in the magic area, e.g. simply: `$ python3 -c "print('A'*512)" > /tmp/corrupt_wallet` * Showing content and size of the `magic_str` string in case the magic check fails * Create a simple unit test that simply calls `IsSQLiteFile` with the corrupt wallet file * Run the unit test and see the random gibberish output of `magic_str` after 16 `A`s :-) Or, TLDR variant, just get the branch https://github.com/theStack/bitcoin/tree/reproduce_sqlite_magic_overread, compile unit Tests and run the script `./reproduce_sqlite_magic_overread.sh`. Note that this is the minimal diff, probably it would be better to avoid `std::string` at all in this case and just use `memcmp`, strings that include null bytes are pretty confusing. ACKs for top commit: promag: Code review ACK 56a461f72796ca60de28e78f144741eb1a4f5213. practicalswift: ACK 56a461f72796ca60de28e78f144741eb1a4f5213: patch looks correct achow101: ACK 56a461f72796ca60de28e78f144741eb1a4f5213 Tree-SHA512: a7aadd4d38eb92337e6281df2980f4bde744dbb6cf112b9cd0f2cab8772730e302db9123a8fe7ca4e7e844c47e68957487adb2bed4518c40b4bed6a69d7922b4
2020-10-22Merge #20: Wrap tooltips in the intro windowJonas Schnelli
6ed4bcabc1a9103efb96685c447c07d0d2d2e0e0 qt: Wrap tooltips in the intro window (Hennadii Stepanov) Pull request description: On master (d6fe5b28dff4c512bad7c9576232d6def10608d4): ![DeepinScreenshot_select-area_20200702082514](https://user-images.githubusercontent.com/32963518/86319852-18e6e200-bc3e-11ea-902c-1b868540f4cf.png) With this PR: ![Screenshot from 2020-07-02 08-22-44](https://user-images.githubusercontent.com/32963518/86319881-28fec180-bc3e-11ea-9d76-522a5e71c32d.png) --- This is a move-only change. This was done while reviewing #15. ACKs for top commit: jonasschnelli: utACK 6ed4bcabc1a9103efb96685c447c07d0d2d2e0e0 Tree-SHA512: 67507c8c5628cd95fe8e377ce21e2c23d305faf1affa0b7579885553c20055ba07ed61e2aed3230d7cd22c3c90f76e0c58cb3238be9f153a8ca6e6d4e38753b0
2020-10-22Merge #20112: test: Speed up wallet_resendwallettransactions with ↵MarcoFalke
mockscheduler RPC fa299ac27364bd7a59e6fb7e0c4ce476f2deec40 test: Speed up wallet_resendwallettransactions test with mockscheduler RPC (MarcoFalke) Pull request description: Also fixes #20143 ACKs for top commit: guggero: ACK fa299ac2 Tree-SHA512: 024ced4aa5f5c266e24fd0583d47b45b19c2a6ae25a06fabeacaa0ac996eec0c45f11cc34b2df17d01759b78ed31a991aa86978aafcc76cb0017382f601bf85a
2020-10-22Merge #20176: test: Fix intermittent issue in p2p_feefilterMarcoFalke
fa5a91a352364fe615930f1e7d991671a54ddf2c test: Fix typo (one tx is enough) in p2p_feefilter (MarcoFalke) fa3af2c0d3b3ed185fb8c6105dc2d26dc66632af test: Fix intermittent issue in p2p_feefilter (MarcoFalke) Pull request description: Fixes: ``` Traceback (most recent call last): File "test/functional/test_framework/test_framework.py", line 126, in main self.run_test() File "test/functional/p2p_feefilter.py", line 63, in run_test self.test_feefilter() File "test/functional/p2p_feefilter.py", line 117, in test_feefilter txids = [miniwallet.send_self_transfer(fee_rate=Decimal('0.00020000'), from_node=node1)['wtxid'] for _ in range(3)] File "test/functional/p2p_feefilter.py", line 117, in <listcomp> txids = [miniwallet.send_self_transfer(fee_rate=Decimal('0.00020000'), from_node=node1)['wtxid'] for _ in range(3)] File "test/functional/test_framework/wallet.py", line 63, in send_self_transfer txid = from_node.sendrawtransaction(tx_hex) File "test/functional/test_framework/coverage.py", line 47, in __call__ return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs) File "test/functional/test_framework/authproxy.py", line 146, in __call__ raise JSONRPCException(response['error'], status) test_framework.authproxy.JSONRPCException: bad-txns-inputs-missingorspent (-25) ACKs for top commit: guggero: ACK fa5a91a3 Tree-SHA512: 51d885753f72e1c91c4580709c15bdab60ff8c9d6f9bcb6db78a560e7e4dd7f76ce23add3303b374174afa3f11f74aa61db189a90c68d7f7655b15e64f51ed96
2020-10-22Merge #20039: test: Convert amounts from float to decimalMarcoFalke
5aadd4be1883386a04bef6a04e9a1142601ef7a7 Convert amounts from float to decimal (Prayank) Pull request description: > decimal is preferred in accounting applications https://docs.python.org/3.8/library/decimal.html Decimal type saves an exact value so better than using float. ~~3 variables declared with type as 'Decimal' in [test/functional/mempool_accept.py](https://github.com/bitcoin/bitcoin/blob/master/test/functional/mempool_accept.py): fee, fee_expected, output_amount~~ ~~Not required to convert to string anymore for using the above variables as decimal~~ + fee, fee_expected, output_amount ~~+ 8 decimal places~~ + Using value of coin['amount'] as decimal and removed 'int' + Removed unnecessary parentheses + Remove str() and use quotes Fixes https://github.com/bitcoin/bitcoin/issues/20011 ACKs for top commit: guggero: ACK 5aadd4be1883386a04bef6a04e9a1142601ef7a7 Tree-SHA512: 5877cf3837e5b65bec0fc8909de141a720bfa02a747513e21d20f3c41ec0cfecc524d2c347a96596b0a1a97900da2acf08b799f26b11d537e4dcddc6ce45f38e
2020-10-22wallet: fix buffer over-read in SQLite file magic checkSebastian Falbesoner
If there is no terminating zero within the 16 magic bytes, the buffer would be over-read in the std::string constructor. Fixed by using the "from buffer" variant of the ctor (that also takes a size) rather than the "from c-string" variant.
2020-10-22Merge #20214: test: Fix rpc_net intermittent issuefanquake
fa5f46600fb98f1b35346bedc1a66c9019d01114 test: Fix rpc_net intermittent issue (MarcoFalke) Pull request description: Without the sync, the nodes might generate blocks at the same height and thus never be able to sync ACKs for top commit: practicalswift: ACK fa5f46600fb98f1b35346bedc1a66c9019d01114: patch looks correct Tree-SHA512: 21255795c2121c71fc620beb766855e57c7af94a668331d1b625665e22eb4b485a2b5c3ad2bb9a7042744f3c3e49c71251bcec41ba25bca03fd54aae32968a3a
2020-10-21test: Fix rpc_net intermittent issueMarcoFalke
2020-10-21Convert amounts from float to decimalPrayank
+ fee, fee_expected, output_amount + Using value of coin['amount'] as decimal and removed 'int' + Removed unnecessary parentheses + Remove str() and use quotes
2020-10-21wallet: Make -wallet setting not create walletsRussell Yanofsky
This changes -wallet setting to only load existing wallets, not create new ones. - Fixes settings.json corner cases reported by sjors & promag: https://github.com/bitcoin-core/gui/issues/95, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578, https://github.com/bitcoin/bitcoin/pull/19754#issuecomment-685858578 - Prevents accidental creation of wallets reported most recently by jb55 http://www.erisian.com.au/bitcoin-core-dev/log-2020-09-14.html#l-355 - Simplifies behavior after #15454. #15454 took the big step of disabling creation of the default wallet. This PR extends it to avoid creating other wallets as well. With this change, new wallets just aren't created on startup, instead of sometimes being created, sometimes not. #15454 release notes are updated here and are simpler. This change should be targeted for 0.21.0. It's a bug fix and simplifies behavior of the #15937 / #19754 / #15454 features added in 0.21.0.
2020-10-21Merge #20198: Show name, format and if uses descriptors in bitcoin-wallet toolMarcoFalke
fa4074b395a47c54069bd9f598244701505ff11d Show name, format and if uses descriptors in bitcoin-wallet tool (Jonas Schnelli) Pull request description: ACKs for top commit: MarcoFalke: ACK fa4074b395a47c54069bd9f598244701505ff11d jonatack: re-ACK fa4074b395a47c54069bd9f598244701505ff11d Tree-SHA512: cf6ee96ff21532fc4b0ba7a0fdfdc1fa485c9b1495447350fe65cd0bd919e0e0280613933265cdee069b8c29ccf015ac374535a70cac3d4fb89f4d08b3a03519
2020-10-21Merge #19967: test: Replace (dis)?connect_nodes globals with TestFramework ↵MarcoFalke
methods 3c7d9ab8c8ec5284cdad1a53ee310b79b931f12f test: Move (dis)?connect_nodes globals into TestFramework as helpers (Elliott Jin) 4b16c614616c1ff09e5b1dcd58516bcb9a88e5e8 scripted-diff: test: Replace uses of (dis)?connect_nodes global (Prayank) be386840d4a394a1b6221fb7d0fa2b0bc4b1d413 test: Replace use of (dis)?connect_nodes globals (Elliott Jin) Pull request description: `util.py` defines global helper functions `connect_nodes` and `disconnect_nodes`; however, these functions are confusing because they take a node and an index (instead of two indexes). The `TestFramework` object has enough context to convert from `i` to `self.nodes[i]`, so we can replace all instances of `connect_nodes(self.nodes[a], b)` with `self.connect_nodes(a, b)`. Similarly, we can replace instances of `disconnect_nodes`. The approach taken in this PR builds on #19945 but uses a scripted-diff for the majority of the changes. Fixes: #19821 ACKs for top commit: MarcoFalke: ACK 3c7d9ab8c8ec5284cdad1a53ee310b79b931f12f guggero: ACK 3c7d9ab8 Tree-SHA512: e027092748602904abcd986d7299624c8754c3236314b6d8e392e306741c212f266c2207e385adfb194f67ae6559a585ee7b15d639b1d65c4651dbf503e5931a
2020-10-21Merge #20157: Bugfix: chainparams: Add missing (always enabled) Taproot ↵MarcoFalke
deployment for Signet 2d5793c0161902730cde384dbdf3e3ba3e55c9e0 Bugfix: chainparams: Add missing (disabled) Taproot deployment for Signet (Luke Dashjr) Pull request description: Is there a way we can trigger compiler warnings if a deployment is undefined? ACKs for top commit: decryp2kanon: utACK 2d5793c0161902730cde384dbdf3e3ba3e55c9e0 MarcoFalke: review ACK 2d5793c0161902730cde384dbdf3e3ba3e55c9e0 Tree-SHA512: 135cefae0f8dc552b0f682c2b87cabca7a4716290a36410a55968850e803a5049234e3cc597c8ef8d7917ae5d5ea3fb851e160df171b6793114c6bc01c5ea3e7
2020-10-21Show name, format and if uses descriptors in bitcoin-wallet toolJonas Schnelli
2020-10-20RPC: createwallet: Nicer error message if descriptor wallet requested and ↵Luke Dashjr
sqlite support not compiled in
2020-10-20GUI: Create Wallet: Nicely disable descriptor wallet checkbox if sqlite ↵Luke Dashjr
support not compiled in