Commit Graph

20384 Commits

Author SHA1 Message Date
5tefan
4b2580102e Merge #14561: Remove fs::relative call and fix listwalletdir tests
ed2e18398b3ab657e98e3e1fe135cbf8dd94fda3 Remove fs::relative call and fix listwalletdir tests (João Barbosa)

Pull request description:

  The implementation of `fs::relative` resolves symlinks which is not
intended in ListWalletDir. The replacement does what is required, and
`listwalletdir` RPC tests are fixed accordingly.

  Also, `fs::recursive_directory_iterator` iteration is fixed to build
with boost 1.47.

  Based on #14559

Tree-SHA512: 1da516226073f195285d10d9d9648c90cce0158c5d1eb9c31217bb4abb575cd37f07c00787c5a850554d6120bbc5a3cbc5cb47d4488b32ac6bcb52bc1882d600
2021-08-14 11:56:56 -06:00
5tefan
12d24c70f4 Merge #14559: appveyor: Enable multiwallet tests
4dca7d0a98 appveyor: Enable multiwallet test (Chun Kuan Lee)

Pull request description:

  Based on #14320

  This PR enable multiwallet test on appveyor. Also re-enable symlink
tests on Windows which is available after Windows Vista.

  I disable these tests in #13964 because I suppose that Windows does
not support symlink, but I was wrong.

Tree-SHA512: 852cd4dedf36ec9c34aff8926cb34e6a560aea0bb9170c7a2264fc292dbb605622d561568d8df39aeb90d3d2bb700901d218ea7e7c5e21d84827c40d6370b369
2021-08-14 11:51:31 -06:00
5tefan
d09b13066c Merge #14465: tests: Stop node before removing the notification file
ca6d86c322 tests: Stop node before removing the notification file (Chun Kuan Lee)

Pull request description:

  Stop node before removing the notification file to make sure the
command has been terminated. After then we could removing those files
safely and do not receive any permission error. (See #14446)

  The permission error is Windows specific, documented in python doc:
>On Windows, attempting to remove a file that is in use causes an
exception to be raised

  See https://docs.python.org/3/library/os.html#os.remove

Tree-SHA512: fbdabf3a9a838bb59ba207dd9e9fbdd87c702a99ad66bee0b2b1537f80f8630d22d9d5e9c4ded23a82a66bfc10989227fb024b27393425abe0e5a2ad4e4cbb82
2021-08-13 22:06:22 -06:00
5tefan
ac3640899c Merge #14275: tests: Write the notification message to different files to avoid race condition in feature_notifications.py
67654b6405 tests: write the notification to different files to avoid race condition (Chun Kuan Lee)

Pull request description:

  This PR change the behavior that `feature_notifications.py` would
write to different files instead of writing to  the same file to avoid
race condition.

Tree-SHA512: 78406167cc6a3f570134b0ee76d2be1440bc1498cd7b1be72fae16d0ab86950e26ef3bf6008796016e5418231400c6492f0e062909dd882646541ecb7a70fb30
2021-08-13 22:06:22 -06:00
5tefan
f9498d0051 Merge #14291: wallet: Add ListWalletDir utility function
d56a0689354fb814510c6c393f3e07ac9362dc1f docs: Add release notes for listwalletdir RPC (João Barbosa)
0cb3cad166bbeb75e9cc1512286453f8e7d4f717 qa: Add tests for listwalletdir RPC (João Barbosa)
cc3377360c417780f5cbd7bd69b438817a9d60be rpc: Add listwalletdir RPC (João Barbosa)
d1b03b8e5f04a2cc9ebb985bd9a1aebd2068f757 interfaces: Add getWalletDir and listWalletDir to Node (João Barbosa)
fc4db35bfd78d85d6b52d5da3d89696160658450 wallet: Add ListWalletDir utility (João Barbosa)

Pull request description:

  `ListWalletDir` returns all available wallets in the current wallet
directory.

  Based on MeshCollider work in pull #11485.

Tree-SHA512: 5843e3dbd1e0449f55bb8ea7c241a536078ff6ffcaad88ce5fcf8963971d48c78600fbc4f44919523b8a92329d5d8a5f567a3e0ccb0270fdd27366e19603a716
2021-08-13 22:06:13 -06:00
UdjinM6
03bca032ad
Merge pull request #4331 from pravblockc/backports-v0.18-pr10
Backports v0.18: PR's 14530 and 14365
2021-08-13 23:24:58 +03:00
UdjinM6
297cdf92b5
Merge pull request #4328 from 5tefan/backports_018_e0a4f9de7
Merge bitcoin#13793, #14208
2021-08-13 23:24:05 +03:00
UdjinM6
607bd4b6b5
Merge pull request #4314 from kittywhiskers/blockfilters
merge bitcoin#15118, #14172, #15623, #14121, partial #13743, partial #15280: block filters
2021-08-13 23:22:56 +03:00
Wladimir J. van der Laan
68dccf4d3a Merge #15272: doc: correct logging return type and RPC example
e1c27da30378940095806b2bf9989b162ed8ac07 doc: correct logging rpc return type and example (fanquake)

Pull request description:

  Logging status is returned as a bool.
  ```
  src/bitcoin-cli logging "[\"all\"]" "[\"http\"]"
  {
    "net": true,
    "tor": true,
    "mempool": true,
    "http": false,
    "bench": true,
    "zmq": true,
    "db": true,
    "rpc": true,
    "estimatefee": true,
    "addrman": true,
    "selectcoins": true,
    "reindex": true,
    "cmpctblock": true,
    "rand": true,
    "prune": true,
    "proxy": true,
    "mempoolrej": true,
    "libevent": true,
    "coindb": true,
    "qt": true,
    "leveldb": true
  }
  ```

  Also corrects the RPC example so that `libevent` logging will actually be turned off.

Tree-SHA512: 2de7130df51688d2d6636c12fd56326362794118a10efc8100f0bf541a7da00a12a6cd9d75e599a104513a050bbe49b418ea460ee8033ac6cf6ffb8e8e9140d6
2021-08-12 23:56:53 -03:00
Wladimir J. van der Laan
b2acd799e6 Merge #15176: docs: Get rid of badly named readme
f24ed6d39f963e7f1c0b4dbd9b784132ef975f2a Delete README_osx.md and move its contents into build-osx.md (Martin Erlandsson)

Pull request description:

  With its current name, the file `doc/README_osx.md` looks like an entry point README for OSX users, but it only contains specific instructions on how to build a DMG.

  This PR deletes the file and moves the contents of the file into `doc/build-osx.md`.

Tree-SHA512: 2636b9da967f2a4c0d68cb9a157fb3db137bdb8fbff5d9d004f28b5d816e9c27fddc5c403e6b0c363d1dc9ddc7cac8b295efa01fc691126c0e36e21bb9b3cbd3
2021-08-12 23:45:30 -03:00
5tefan
db302f912d Merge #13793: tx pool: Use class methods to hide raw map iterator impl details
faa1a749428a195af784633eb78e1df5d6a0e875 tx pool: Use class methods to hide raw map iterator impl details (MarcoFalke)

Pull request description:

  ATMP et al would often use map iterator implementation details such as
`end()` or `find()`, which is acceptable in current code.

  However, this not only makes it impossible to turn the maps into
private members in the future but also makes it harder to replace the
maps with different data structures.

  This is required for and split off of #13804

Tree-SHA512: 4f9017fd1d98d9df49d25bba92655a4a97755eea161fd1cbb565ceb81bbc2b4924129d214f8a29563a77e3d8eef85a67c81245ecdc9a9e5292d419922a93cb88
2021-08-12 12:17:41 -06:00
5tefan
1cea09e753 Merge #14208: [build] Actually remove ENABLE_WALLET
e4ef4b459548b4032b9da03b3103525f935acb82 [build] remove #ifdef ENABLE_WALLET from interfaces/node (John Newbery)

Pull request description:

  Adds a couple of redefinitions to dummywallet.cpp.

Tree-SHA512: d226bcccc46d089eac88beb54c31f6f18817682994b371f9793a5d28bec5d60dbdffacc8fc281807e25cc7f89da23e1f8f36fd99d12f8a40f77a972840e8c1b4

Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-08-12 12:17:26 -06:00
MarcoFalke
12047d77d0 Merge #14365: tests: Add Python dead code linter (vulture) to Travis
c82190cdb6 tests: Add Python dead code linter (vulture) (practicalswift)
590a57fdec tests: Remove unused testing code (practicalswift)

Pull request description:

  Add Python dead code linter (`vulture`) to Travis.

  Rationale for allowing dead code only after explicit opt-in (via `--ignore-names`):
  * Less is more :-)
  * Unused code is by definition "untested"
  * Unused code can be an indication of bugs/logical errors. By making the contributor aware of newly introduced unused code it gives him/her an opportunity to investigate if the unused code they introduce is malignant or benign :-)
  * Unused code is hard to spot for humans and is thus often missed during manual review
  * [YAGNI](https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it)

  Based on #14312 to make linter job pass.

Tree-SHA512: 4c581df7c34986e226e4ade479e0d3c549daf38f4a4dc4564b25564d63e773a1830ba55d1289c771b1fa325483e8855b82b56e61859fe8e4b7dfa54034b093b6
2021-08-12 14:42:32 -03:00
MarcoFalke
1a1378b96f Merge #14530: Use RPCHelpMan to generate RPC doc strings
fa483e13b3 rpc: Add RPCHelpMan for machine-generated help (MarcoFalke)
fa0d36f712 rpc: Include rpc/util.h where needed for RPCHelpMan (MarcoFalke)

Pull request description:

  This introduces a manager for the RPC help generation and demonstrates its use of it in some RPCs.

  It is the first non-exhaustive step toward #14378 and I will create pull requests for the next steps after this one is merged.

Tree-SHA512: 86f68322443ff01cd964aaf0ebe186be63fbebe4c47676cf7a622cc2b5305fd176bd57badfd1bbf788a036812253eb0dead74ecc3b30664c3e0d9392b2248054
2021-08-12 14:42:21 -03:00
João Barbosa
b84dcecbbb partial bitcoin#15280 Check m_internals in UnregisterValidationInterface 2021-08-12 12:44:03 +05:30
Chun Kuan Lee
0b5f7f3267 partial bitcoin#13743 refactor: Use boost::scoped_connection in signal/slot, also prefer range-based loop instead of std::transform 2021-08-12 12:44:03 +05:30
Kittywhiskers Van Gogh
21c7e57493 bitcoin#14121: Index for BIP 157 block filters
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-08-12 12:44:03 +05:30
Kittywhiskers Van Gogh
87a438e048 bitcoin#15623: Expose UndoReadFromDisk in header 2021-08-12 12:44:03 +05:30
Kittywhiskers Van Gogh
99409f52e5 bitcoin#14172: Refactor and add tests for BlockFilter construction 2021-08-12 12:44:02 +05:30
Kittywhiskers Van Gogh
4d3e3d7b07 bitcoin#15118: Refactor block file logic 2021-08-12 12:32:29 +05:30
PastaPastaPasta
39e34e2b52
Merge pull request #4334 from linuxsh2/bp-19
Backports v0.19 (16767, 16646, 16470, 16329, 16234, 16059, 15968, 15866, 15755, 15617, 15466, 15491)
2021-08-11 16:57:34 -05:00
PastaPastaPasta
1f9cb0a3d1
Merge pull request #4327 from pravblockc/backports-v0.18-pr8
Backports v0.18-PR's 15109, 15078, 14297 and 14298
2021-08-11 13:18:44 -05:00
fanquake
b08bc1c56c Merge #16767: test: Check for codespell in lint-spelling.sh
8340763dc3278c828ee7d525de4c71b4615d17cc Check for codespell in lint-spelling.sh (Kristaps Kaupe)

Pull request description:

  Similar check for `spellcheck` already exists in `lint-shell.sh`

ACKs for top commit:
  practicalswift:
    ACK 8340763dc3278c828ee7d525de4c71b4615d17cc -- diff looks correct
  fanquake:
    ACK 8340763dc3278c828ee7d525de4c71b4615d17cc  - Test is the same as in `lint-shell.sh`.

Tree-SHA512: f590fc4eae391c5246e86cb70cf79431bd3763ac872f82d3b2222c3a095235ca046a7072c5e61bbaeb3ed6ecd5ff85979769ee8b585de4fb97ac8cfbbf73b956
2021-08-11 13:58:48 -04:00
Wladimir J. van der Laan
b7e4be7f61 Merge #16646: qa: Run tests with UPnP disabled
b168dd30cf71ac176e271bc610b0b1a79ceaf075 Bugfix: QA: Run tests with UPnP disabled (Luke Dashjr)

Pull request description:

  This replaces #16560 by adding `upnp=0` to `bitcoin.conf` rather than passing it to nodes.

  > Needed for builds configured with --enable-upnp-default

  You can test this change using:
  ```bash
  ./configure --enable-upnp-default && make -j6 && test/functional/test_runner.py feature_config_args.py
  ```

  on master the test will fail without this change.

ACKs for top commit:
  practicalswift:
    ACK b168dd30cf71ac176e271bc610b0b1a79ceaf075 -- diff looks correct

Tree-SHA512: e639dd480dda2cffa19a679018c4bd7e4bd4d0f5e3001d6b407b833e3c166bde98b201063e267b8e45f8a20b0d53ec8bc028bec806b2357f9a7ba314cc4e2d07
2021-08-11 13:58:48 -04:00
Wladimir J. van der Laan
281e00f1f5 Merge #16470: test: Fail early on disconnect in mininode.wait_for_*
fac2e6a6045e4ddd6b473f4f3ddbb69d9d6921f6 test: Fail early on disconnect in mininode.wait_for_* (MarcoFalke)

Pull request description:

  The node might crash or disconnect when our mininode waits for data. Due to the crash, the data is guaranteed to never arrive and we can fail early with an assert

ACKs for top commit:
  laanwj:
    ACK fac2e6a6045e4ddd6b473f4f3ddbb69d9d6921f6

Tree-SHA512: 32ca844eb66bd70ea49103d51c76b953242b1886e0834d96fca8840fc984ff40346d0a799adf8f76b03514a783cb9cec69d45e00bdd328c5192c31b5d8d17af2
2021-08-11 13:58:48 -04:00
MarcoFalke
3c6c78e256 Merge #16329: test: Add tests for getblockchaininfo.softforks
faf6caf4daa33b9179f4f02c09e184245ea53fa1 test: Add tests for getblockchaininfo.softforks (MarcoFalke)

Pull request description:

ACKs for top commit:
  laanwj:
    Code review ACK faf6caf4daa33b9179f4f02c09e184245ea53fa1

Tree-SHA512: 8a0bb3b648f18fdba7a36a960d70c6217fd7312cf2ef52b3b911be0d7f1d27c5c50856946d7e6cb81d96c081913b7308cc5f9d89af34518439ff4ada024441da
2021-08-11 13:58:48 -04:00
MarcoFalke
0bcf02739b Merge #16234: test: Add test for unknown args
fa7dd88b71 test: Add test for unknown args (MarcoFalke)

Pull request description:

  Currently uncovered.

  Further reading:

  * https://marcofalke.github.io/btc_cov/total.coverage/src/util/system.cpp.gcov.html
  *  Fail on unknown config file options #15021

ACKs for commit fa7dd8:
  promag:
    ACK fa7dd88b71a1c6641bd450fae29a4a31849b1afd, tests looks good to me.
  hebasto:
    ACK fa7dd88b71a1c6641bd450fae29a4a31849b1afd, I have tested the code.

Tree-SHA512: 86ab370ce8e85925f945a52e81457b5678d71bbabcef01205a97782b780003f363552e0bad1ff678bccc784f82c6b511c3b88de3f8f25f62b0b713c387950564
2021-08-11 13:58:48 -04:00
MarcoFalke
3c6ae97332 Merge #16059: configure: Fix thread_local detection
480e3415d7 configure: Add flag for enabling thread_local. (Carl Dong)

Pull request description:

  - When aiming for glibc compatibility, don't use thread_local. Fixes #15958.
  - FreeBSD has a buggy thread_local, don't use it. Fixes #16055.

  I've done a Gitian build on my local machine and the symbol tests seem to pass.

ACKs for commit 480e34:
  MarcoFalke:
    utACK 480e3415d738a4e0e2ad9774c43f29937178ecae
  fanquake:
    tACK 480e341

Tree-SHA512: 334f21f7cf271c261b115a6410afd4ed4db3e84ad79b98c6c684c1dfa42b081f16d58e77695929e27b0fa173a894b959a327fe82821a3f3ed708b305a906ddd3
2021-08-11 13:58:48 -04:00
Wladimir J. van der Laan
13b0efe1bd Merge #15968: Fix portability issue with pthreads
1b05dff080fe50937a02cfde661db58ace21c553 Fix portability issue with pthreads (grim-trigger)

Pull request description:

  This change resolves the following issue:
  https://github.com/bitcoin/bitcoin/issues/15951

  Only tested on OpenBSD 6.5/amd64

ACKs for commit 1b05df:
  fanquake:
    tACK 1b05dff. Tested on OpenBSD6.4 (`vagrant`).
  laanwj:
    utACK 1b05dff080fe50937a02cfde661db58ace21c553

Tree-SHA512: af48581af32820d5adc9ae5abb44f8f1b592c323f86fe2484108b81629389f6ef347598f9a087aa6476ac553e59828cd7927bb4ab11dc70e7c9a944a92fc54ae
2021-08-11 13:58:48 -04:00
MarcoFalke
22962a6a70 Merge #15866: test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan
fa465e4da4 test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan (MarcoFalke)

Pull request description:

  Fixes #15865

ACKs for commit fa465e:
  promag:
    utACK fa465e4da4c7242d7edd6339747572d23a39ff98.

Tree-SHA512: efc1d82b92aefb1f0e6c54ed0a2d69c547cd9dee7ff8d57a665022fefce01bcf726d394f0665abe4fbd3451abf3cb08eed6ff45def831857f917a988e13a1055
2021-08-11 13:58:48 -04:00
MarcoFalke
773af564c3 Merge #15755: rpc: remove unused var in rawtransaction.cpp
4831aec5b1 Remove unused var (Peter Bushnell)

Pull request description:

  `UniValue result` was never used.

ACKs for commit 4831ae:
  practicalswift:
    utACK 4831aec5b1896c096a40ae6348deec969d4e8a03
  promag:
    utACK 4831aec.

Tree-SHA512: e3120dffcb10c747842e81d53c7834dc9c10a82d63ff9c41c8b9403b01cc28fba2e1f3ec78cf8e50998e7c75b39656ab1170fc72053c1a00d68278846468c861
2021-08-11 13:58:48 -04:00
Wladimir J. van der Laan
1818cb0256 Merge #15617: p2p: Do not relay banned IP addresses
054d01d0a87a5adc43428588ecc29f1339a69dd2 Do not relay banned IP addresses (Pieter Wuille)

Pull request description:

Tree-SHA512: 538c43781c789949e1ae566533e76835d478e40e8ba6427b22234ee611cb4a311b2940a214e37c1e9c9afe28a6814a00d490a39e3580bb5ebd85b03e95040246
2021-08-11 13:58:48 -04:00
MarcoFalke
1935ab79b7 Merge #15466: tests: Print remaining jobs in test_runner.py
2e5d482659 tests: Print remaining jobs in test_runner.py (Steven Roose)

Pull request description:

  This helps finding out which tests fail to finish.

Tree-SHA512: d22beb82beecd33aaa50731c83075e49577842d29fd21aa63bcb859df5da99069eba9cc16eed5d91dbba8fb0fdc317fb88b3b370c4d3917e9da1cd13b0a622dc
2021-08-11 13:58:48 -04:00
MeshCollider
a0bee299b9 Merge #15491: wallet: Improve log output for errors during load
faf369880 wallet: Improve log output for errors during load (Glenn Willen)

Pull request description:

  When loading the wallet, display the entire path in error messages, instead of
  the name (which, for the default wallet, is the empty string.)

  When an exception occurs during wallet loading, display e.what() if possible,
  instead of nothing.

Tree-SHA512: 435247628db669579bb694ba4b53ba174fe42c0329fc72f09fc274bb28463ee69f53412abb2a3b45bb8f59f7eb928c0167e397b8d0a514135142192a87294614
2021-08-11 13:58:48 -04:00
UdjinM6
ef52a8f345
llmq: Split "llmq" db (#4141)
* llmq: Split "isdb" out of "llmq" db

We write and erase islocks a lot. It probably makes sense to have a standalone db with a larger cache for this.

* llmq: Split "recsigdb" out of "llmq" db

* llmq: Migrate recovered sigs

* llmq: Split "dkgdb" out of "llmq" db

* llmq: Migrate DKG db

* llmq: Wipe llmq
2021-08-11 19:58:03 +03:00
UdjinM6
e87cd9d725
followup: 4303: 15297->16127: util/system.cpp: add thread safety annotations for dir_locks (#4325)
Add a missing part of 16127 (which was backported before 15297)
2021-08-11 19:56:13 +03:00
UdjinM6
2c1f6ecf6f
Merge pull request #4332 from UdjinM6/secp256k1_updates
Update libsecp256k1 subtree
2021-08-11 19:55:26 +03:00
PastaPastaPasta
90e7119a8b
Merge pull request #4312 from kittywhiskers/fuzz
merge bitcoin#15043, #15295, #15399, #17452, #16338, #15504, #17076, #17069, #17018: fuzzing
2021-08-11 11:28:26 -05:00
PastaPastaPasta
a9bfde558a
Merge pull request #4313 from Munkybooty/backports-0.18-pr12
Backports 0.18 pr12
2021-08-11 11:11:35 -05:00
Kittywhiskers Van Gogh
798bebce33 tests: remove unneeded boost dependency to satisfy linter 2021-08-11 15:01:08 +05:30
Kittywhiskers Van Gogh
6741d9837a partial bitcoin#15638: Pull wallet code out of libbitcoin_server
Contains only patch applied on src/Makefile.am from 9eaeb7fb8d4ab0d4493849e6c17e314fd75fea9c needed to fix builds
2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
76e652aac7 bitcoin#14168: Remove ENABLE_WALLET from libbitcoin_server.a 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
45d0b240b8 bitcoin#17942: Improve fuzzing docs for macOS users 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
422041f96b partial bitcoin#16236: Log output even if fuzzer failed 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
d2373e53af bitcoin#17225: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
0fd93156fe fuzz: comment out logic that relies on un-merged backports 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
4e6aca0ac1 bitcoin#17051: Add deserialization fuzzing harnesses 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
53294e12b1 bitcoin#17235: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
f47768b94c bitcoin#17018: Add descriptor Parse(...) fuzzing harness 2021-08-11 09:48:41 +05:30
Kittywhiskers Van Gogh
dd782444bf bitcoin#17069: Pass fuzzing inputs as constant references 2021-08-11 09:48:41 +05:30