Commit Graph

21148 Commits

Author SHA1 Message Date
fanquake
5201f45782 Merge #17121: test: speedup wallet_backup by whitelisting peers (immediate tx relay)
581c9be0d8bff46cd68bd6a3bf72f22d11c09aea test: speedup wallet_backup by whitelisting peers (immediate tx relay) (Sebastian Falbesoner)

Pull request description:

  approaches part of #16613 ("Functional test suite bottlenecks")

  The majority of the test time is spent in `sync_mempools()` after sending to
  addresses, i.e. the bottleneck is in relaying transactions. By whitelisting the
  peers via `-whitelist`, the inventory is transmissioned immediately rather than
  on average every 5 seconds, speeding up the test by at least a factor of two:

  before:
  ```
  $ time ./wallet_backup.py
  real    2m2.523s
  user    0m6.093s
  sys 0m2.454s
  ```
  with this PR:
  ```
  $ time ./wallet_backup_with_whitelist.py
  real    0m36.570s
  user    0m5.365s
  sys 0m1.696s
  ```
  Note that the test is not deterministic (the `sendtoaddress` RPC in function
  `one_send()` is executed with a probability of 50%), hence the times could vary
  between individual runs.

ACKs for top commit:
  MarcoFalke:
    ACK 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea, this test is testing the backup behaviour, not the tx relay behaviour
  fanquake:
    ACK 581c9be0d8bff46cd68bd6a3bf72f22d11c09aea

Tree-SHA512: d016f39cdb85501e17a74a4c4db5a9f7404baa76fbcc3675a34d3cd7bf03d7a4cb4fd3e5f17cb0597248120bb5ac8b15d3db7663007b76b010902be72954bde0
2021-12-22 10:15:40 -06:00
Wladimir J. van der Laan
afaee16d44 Merge #17074: build: Added double quotes
dd85166b6c8200265ff222226305e6823149de19 Added double quotes (Ava Barron)

Pull request description:

  Added double quotes to prevent globbing and word splitting.

ACKs for top commit:
  laanwj:
    ~~ACK dd85166b6c8200265ff222226305e6823149de19~~
  practicalswift:
    ACK dd85166b6c8200265ff222226305e6823149de19 -- diff looks correct
  hebasto:
    ACK dd85166b6c8200265ff222226305e6823149de19, tested locally on Linux Mint 19.2.

Tree-SHA512: 503ed8c4a5dafd3868465fbb66b13e15862c114573609f681b69259703e76fe85260b782c45a1e0780b7d3fdf34d8fd2f627b59f4013b99eeb1b771a652e7b10
2021-12-22 10:15:40 -06:00
MarcoFalke
481a42e0f8 Merge #16987: test: Correct docstring param name.
e28d8f893656a5b60dd9c0ec11a88611a56d2ab4 Correct docstring param name. (John Bampton)

Pull request description:

  Small fix to correct the Python docstring.

ACKs for top commit:
  laanwj:
    ACK e28d8f893656a5b60dd9c0ec11a88611a56d2ab4
  MarcoFalke:
     ACK e28d8f8

Tree-SHA512: 7bec1c6b166c768dd69fc6b94eb80ceeaa0258985b9a11956e336940d403785e7d09d0084d9b870b637ec784db044cf4c0f8ac3f0fcdf431090f003016ef13a9
2021-12-22 10:15:40 -06:00
Wladimir J. van der Laan
c80e6c1ce2 Merge #16285: rpc: Improve scantxoutset response and help message
bdd6a4fd5da44c2575be9195ecb4213a13e74511 qa: Check scantxoutset result against gettxoutsetinfo (João Barbosa)
fc0c410d6e19dd8e3abbc9b0fc13c836e6678750 rpc: Improve scantxoutset response and help message (João Barbosa)

Pull request description:

  The new response keys `height` and `bestblock` allow the client to know at what point the scan took place.

  The help message now has all the response keys (`result` and `txouts` were missing) and it's improved a bit. Note that `searched_items` key is renamed to `txouts`, considering `scantxoutset` is marked experimental.

ACKs for top commit:
  laanwj:
    ACK bdd6a4fd5da44c2575be9195ecb4213a13e74511

Tree-SHA512: 6bb7c3464b19857b756b8bc491ab7c58b0d948aad8c005b26ed27c55a1278f5639217e11a315bb505b4f44ebe86f413068c1e539c8a5f7a4007735586cc6443c
2021-12-22 10:15:40 -06:00
MarcoFalke
c1c1b83fd9 Merge #15659: [docs] fix findFork comment
c968780785 [docs] fix comment: the return value of findFork is _not_ an ancestor when the specified block is on the active chain (r8921039)

Pull request description:

  The return value of findFork is an ancestor of the specified block only when specified block is _not_ on the active chain. When it is on the active chain, the return value is the specified block itself, not an ancestor of it.

ACKs for commit c96878:
  promag:
    utACK c968780, however comment could be shorter.
  ryanofsky:
    utACK c968780785c18bd6d0a8659c9e251ccf8fdc91dc. Only change since last review is squash

Tree-SHA512: bb05d734059898784c4a59b5b0344719eb4dfb2d49a0f7f705fcb2eb630702e66be81c01299185faf0c219fa9f9aa64cbdf6d5f91e0b3dce0ff420909a454a18
2021-12-22 10:15:40 -06:00
Wladimir J. van der Laan
7d72c07722 Merge #15426: [Doc] importmulti: add missing description of keypool option
a607c9ae4c2730fca5ce340c400c95c87e498a7c [Doc] importmulti: add missing description of keypool option (David A. Harding)

Pull request description:

  Option was added in #14075 but not documented there.

  CC: @achow101

Tree-SHA512: dcb6421fa1be3d733d7a00c1b57ffd591fe76c02d1c479e729089c118bec52f53bd7ebdb5454b3b1c7603ab189e91682a688b673a7f6b04fa8610c4249711217
2021-12-22 10:15:40 -06:00
Kittywhiskers Van Gogh
0f9bc60150 merge bitcoin#16753: extract PubKey from P2PK script with Solver 2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
262f7bc15e merge bitcoin#16542: Return more specific errors about invalid descriptors 2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
7e1e800aaa merge bitcoin#16452: use RelayTransaction in BroadcastTransaction utility 2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
78fdc99894 merge bitcoin#16208: Consume ReserveDestination on successful CreateTransaction 2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
dece025270 merge bitcoin#16257: abort when attempting to fund a transaction above -maxtxfee
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
d74039862b merge bitcoin#15741: Batch write imported stuff in importmulti 2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
233990c536 merge bitcoin#15870: Only fail rescan when blocks have actually been pruned 2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
5c4cd3b4f6 merge bitcoin#15901: log on rescan completion
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-12-22 19:43:18 +05:30
Kittywhiskers Van Gogh
c4d6e60819 merge bitcoin#15895: Avoid re-reading config.ini unnecessarily 2021-12-22 19:41:11 +05:30
Kittywhiskers Van Gogh
675a5833b3 merge bitcoin#15780: add cachable amounts for caching credit/debit values
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-12-22 19:41:11 +05:30
Kittywhiskers Van Gogh
393f455ecb merge bitcoin#15596: Ignore sendmany::minconf as dummy value 2021-12-22 19:41:11 +05:30
Kittywhiskers Van Gogh
c46306a1df merge bitcoin#15652: Update transactions with current mempool after load
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-12-22 19:41:11 +05:30
PastaPastaPasta
0645d47320
Merge #15292: Remove 'boost::optional'-related false positive -Wmaybe-uninitialized warnings on GCC compiler (#4635)
2d483142a7051389afe74c57a216843e6306f1a8 Remove 'boost::optional'-related gcc warnings (Hennadii Stepanov)

Pull request description:

  #14711 introduced some warnings when building with gcc compiler.

  See:
  - https://github.com/bitcoin/bitcoin/pull/14711#issuecomment-454760017 by @laanwj
  - https://github.com/bitcoin/bitcoin/pull/14711#pullrequestreview-193702611 by @ryanofsky

  This gcc [issue](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47679) has been known since version 4.6.0 and last updated in 2017.
  From the boost [docs](https://www.boost.org/doc/libs/1_69_0/libs/optional/doc/html/boost_optional/quick_start/optional_automatic_variables.html):
  > The default constructor of `optional` creates an _uninitialized_ `optional` object.

  Also: [False positive with -Wmaybe-uninitialized](https://www.boost.org/doc/libs/1_69_0/libs/optional/doc/html/boost_optional/tutorial/gotchas/false_positive_with__wmaybe_uninitialized.html) ([pointed out](https://github.com/bitcoin/bitcoin/pull/15292#issuecomment-459063170) by @Empact)

  This PR removes these warnings.

  cc: @Empact @practicalswift

Tree-SHA512: 752ae3c3ca6282bbf98726236fbc3069ab9d1aee57ae2ec2668b32e4541e7bc1acb15b7d6fa9e2b6daf1ec29c0987a1053ee1ca0f523b71367ff911221c58c94

Co-authored-by: Wladimir J. van der Laan <laanwj@gmail.com>
2021-12-22 12:59:27 +03:00
PastaPastaPasta
5bc79fefc9
Remove KeePass integration (#4628)
* Remove KeePass integration

This integration is not actively supported. It has zero tests, little documentation, and has not really been actively maintained. As far as I can tell, noone uses this integration, and even if they do, they will simply have to copy/paste password from keepass instead of using this integration.

* continued
2021-12-22 12:53:11 +03:00
PastaPastaPasta
e95c13c207
Merge pull request #4606 from kittywhiskers/portsportsports
merge bitcoin#14700...#16854: backports
2021-12-21 11:25:20 -06:00
PastaPastaPasta
f2c603b45c
util: add ranges.h to emulate c++20 std::ranges (#4622)
* refactor: introduce ranges.h for prettier std algo. Also use it in dash core

* fix formatting, use ranges instead of std

* remove commented out code

* introduce ranges find_if_opt, count_if, find_if. Use them all, and more

* use std::accumulate

* capture everything so that threadsaftey analysis is happy

* fix linter

* fix linter

* remove pessimizing move
2021-12-21 15:05:29 +03:00
UdjinM6
87288d0d2b
Merge pull request #4627 from UdjinM6/empty_wallets
backport 15006 and 15226: Empty wallets
2021-12-21 15:02:10 +03:00
Kittywhiskers Van Gogh
58e4cca82b docs: introduce documentation and usage for containers 2021-12-21 12:43:48 +05:30
Kittywhiskers Van Gogh
9bedfa9838 build: add dash minimal development environment container
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
2021-12-21 12:43:37 +05:30
Kittywhiskers Van Gogh
2a28888daf build: add .dockerignore file 2021-12-21 12:42:33 +05:30
Kittywhiskers Van Gogh
1c188bcd47 build: relocate *net deployment logic to their own directories 2021-12-21 12:41:00 +05:30
Kittywhiskers Van Gogh
c29d0c5cf6 merge bitcoin#16854: Prevent UpdateTip log message from being broken up 2021-12-21 12:25:17 +05:30
Kittywhiskers Van Gogh
15ebd14886 merge bitcoin#15146: Solve SmartOS FD_ZERO build issue 2021-12-21 12:25:17 +05:30
Kittywhiskers Van Gogh
5a69b857e9 merge bitcoin#16725: Don't show addresses or P2PK in decoderawtransaction 2021-12-21 12:25:17 +05:30
Kittywhiskers Van Gogh
afad681789 partial bitcoin#13932: Additional utility RPCs for PSBT 2021-12-21 12:25:15 +05:30
Kittywhiskers Van Gogh
06b595b6ee build: relocate dash-specific CI scripts to its own directory 2021-12-19 14:04:16 +05:30
Kittywhiskers Van Gogh
607707f9f9 build: relocate CI docker container to dedicated directory 2021-12-19 14:04:13 +05:30
Kittywhiskers Van Gogh
c2f62ae24b revert dash#4621: remove all the unneeded and unused (probably broken) travis stuff 2021-12-19 14:03:39 +05:30
Kittywhiskers Van Gogh
73ce859de2 merge bitcoin#14719: Check specific reject reasons in feature_block 2021-12-18 16:51:40 +05:30
Kittywhiskers Van Gogh
d9f8518d1a merge bitcoin#14700: Avoid race in p2p_invalid_block by waiting for the block request 2021-12-18 16:51:40 +05:30
Wladimir J. van der Laan
d25c0f21b7
Merge #15006: Add option to create an encrypted wallet
662d1171d9e29964b039ba4c5bc8a2304426c003 Add option to create an encrypted wallet (Andrew Chow)

Pull request description:

  This PR adds a new `passphrase` argument to `createwallet` which will create a wallet that is encrypted with that passphrase.

  This is built on #15226 because it needs to first create an empty wallet, then encrypt the empty wallet and generate new keys that have only been stored in an encrypted state.

ACKs for commit 662d11:
  laanwj:
    utACK 662d1171d9e29964b039ba4c5bc8a2304426c003
  jnewbery:
    Looks great. utACK 662d1171d9e29964b039ba4c5bc8a2304426c003

Tree-SHA512: a53fc9a0f341eaec1614eb69abcf2d48eb4394bc89041ab69bfc05a63436ed37c65ad586c07fd37dc258ac7c7d5e4f7f93b4191407f5824bbf063b4c50894c4a
2021-12-17 21:11:25 +03:00
MeshCollider
254e122217
Merge #15226: Allow creating blank (empty) wallets (alternative)
7687f7873 [wallet] Support creating a blank wallet (Andrew Chow)

Pull request description:

  Alternative (kind of) to #14938

  This PR adds a `blank` parameter to the `createwallet` RPC to create a wallet that has no private keys initially. `sethdseed` can then be used to make a clean wallet with a custom seed. `encryptwallet` can also be used to make a wallet that is born encrypted.

  Instead of changing the version number as done in #14938, a wallet flag is used to indicate that the wallet should be blank. This flag is set at creation, and then unset when the wallet is no longer blank. A wallet becomes non-blank when a HD seed is set or anything is imported. The main change to create a blank wallet is primarily taken from #14938.

  Also with this, the term "blank wallet" is used instead of "empty wallet" to avoid confusion with wallets that have balance which would also be referred to as "empty".

  This is built on top of #15225 in order to fix GUI issues.

Tree-SHA512: 824d685e11ac2259a26b5ece99c67a7bda94a570cd921472c464243ee356b7734595ad35cc439b34357135df041ed9cba951e6edac194935c3a55a1dc4fcbdea
2021-12-17 21:11:10 +03:00
PastaPastaPasta
a472a85ab6
refactor: remove all the unneeded and unused (probably broken) travis stuff (#4621) 2021-12-17 20:24:00 +03:00
PastaPastaPasta
72e1d79fb8
refactor: misc spork refactoring (#4620)
* Use string_view instead of string for SERIALIZATION_VERSION_STRING. Also introduces string_view serialization. Also use string_view where (trivially) possible for params

* separate GetSporks and sporks net msg processing into its own method

* refactor: spork, use c++17 if-init

* refactor: spork, remove unused params, make param pt

* refactor: spork, use simplier construction

* refactor: spork, make strError part of if-init, also w/o redundant initialization

* refactor: spork, use structured binding

* refactor: spork, use for instead of while

* clang-format: spork.cpp

* resolve cppcheck linter warning about unused variable
2021-12-17 20:22:11 +03:00
UdjinM6
5bdd245105
Merge pull request #4619 from PastaPastaPasta/remove-includes
refactor: Remove includes; backport 16659
2021-12-17 20:21:12 +03:00
PastaPastaPasta
d9c994a100
Merge pull request #4607 from humbleDasher/dec042021
Backport 17015, 16397, 15459
2021-12-17 11:04:02 -06:00
pasta
f04cf7bf47
16659 continuation
Signed-off-by: pasta <pasta@dashboost.org>
2021-12-17 12:02:16 -05:00
PastaPastaPasta
8489da58e6
Merge pull request #4610 from vijaydasmp/bp196
merge bitcoin #16953 #16918 #16917 #16898 #14696 #16888 #16737 #16404 #15687 #16294 : Backport
2021-12-17 10:56:10 -06:00
PastaPastaPasta
993816daef
Merge pull request #4572 from Munkybooty/backports-0.19-mempool_package_onemore.py
Backports 0.19 mempool_package_onemore.py
2021-12-17 10:44:25 -06:00
Wladimir J. van der Laan
c31713b401 Merge #16471: [mempool] log correct messages when CPFP fails
42a5e912ee4e91a5191d659588f0605e1ada2f33 [mempool] log correct messages when CPFP fails (John Newbery)

Pull request description:

  Fixes a logging issue introduced in #15681

ACKs for top commit:
  laanwj:
    ACK 42a5e912ee4e91a5191d659588f0605e1ada2f33 (+utACK from bluematt that isn't registered because it has no commit id)

Tree-SHA512: ff5f423cc4d22838eea00c5b1d39ceda89cd61474c72f256a97c698eb0ec3f2156a97139f537669376132902c1e3943bf84c356a4b98a9a306b4ec57302c2761
2021-12-16 16:20:59 -05:00
Wladimir J. van der Laan
507c871ed5 Merge #15681: [mempool] Allow one extra single-ancestor transaction per package
50cede3f5a4d4fbfbb7c420b94e661a6a159bced [mempool] Allow one extra single-ancestor transaction per package (Matt Corallo)

Pull request description:

  This implements the proposed policy change from [1], which allows
  certain classes of contract protocols involving revocation
  punishments to use CPFP. Note that some such use-cases may still
  want some form of one-deep package relay, though even this alone
  may greatly simplify some lightning fee negotiation.

  [1] https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-November/016518.html

ACKs for top commit:
  ajtowns:
    ACK 50cede3f5a4d4fbfbb7c420b94e661a6a159bced -- looked over code again, compared with previous commit, compiles, etc.
  sdaftuar:
    ACK 50cede3f5a4d4fbfbb7c420b94e661a6a159bced
  ryanofsky:
    utACK 50cede3f5a4d4fbfbb7c420b94e661a6a159bced. Changes since last review: adding EXTRA_DESCENDANT_TX_SIZE_LIMIT constant, changing max ancestor size from 1,000,000 to nLimitAncestorSize constant (101,000), fixing test comment and getting rid of unused test node.

Tree-SHA512: b052c2a0f384855572b4579310131897b612201214b5abbb225167224e4f550049e300b471dbf320928652571e92ca2d650050b7cf39ac92b3bc1d2bcd386c1c
2021-12-16 16:20:59 -05:00
Wladimir J. van der Laan
91310cf78a Merge #15459: doc: add how to calculate blockchain and chainstate size variables to release process
eb4c43e49f625895670866b89bb56ca641c4eeb7 doc: documents how to calculate m_assumed_blockchain_size and m_assumed_chain_state_size on the release process. (marcoagner)

Pull request description:

  Regarding [this](https://github.com/bitcoin/bitcoin/pull/15183#issuecomment-463133734) on https://github.com/bitcoin/bitcoin/pull/15183.
  Added an "Additional information" section for this which seems reasonable to me but may not be the best place for this. Also, let me know if anything else should be documented here (like more details).

ACKs for top commit:
  laanwj:
    ACK eb4c43e49f625895670866b89bb56ca641c4eeb7

Tree-SHA512: 7e6fc46740daa01dd9be5a8da7846e7a9f7fa866bf31fdc2cb252f90c698cfd6ef954f9588f7abcebda2355ec2b2a380635e14a164e53e77d38abefa3e2cc698
2021-12-15 13:06:44 -05:00
Wladimir J. van der Laan
a6fcc52743
Merge #16953: doc: Improve test READMEs
43e7d576f590e90ad7d1ba3d550671a7958f1188 doc: Improve test READMEs (Fabian Jahr)

Pull request description:

  General improvements on READMEs for unit tests and functional tests:
  - Give unit test readme a headline
  - Move general information on `src/test` folder to the top
  - Add information on logging and debugging unit tests
  - Improve debugging and logging information in functional testing
  - Include all available log levels in functional tests

ACKs for top commit:
  laanwj:
    ACK 43e7d576f590e90ad7d1ba3d550671a7958f1188

Tree-SHA512: 22b27644992ba5d99a885cd51b7a474806714396fcea1fd2d6285e41bdf3b28835ad8c81449099e3ee15a63d57b3ab9acb89c425d9855ed1d9b4af21db35ab03
2021-12-15 20:10:01 +05:30
MarcoFalke
a03af87cf7
Merge #16918: test: Make PORT_MIN in test runner configurable
fa69588537bc91c0aedbc89ef1760d89cbffad75 test: Make PORT_MIN in test runner configurable (MarcoFalke)

Pull request description:

  This is needed when some ports in the port range are used by other processes. Note that simply assigning the ports dynamically does not work:

  * We spin up several nodes per test (each node gets its own port)
  * We run several tests in parallel

  So to avoid nodes from different tests colliding on ports, the port assignment must be deterministic (can not be dynamic).

  Fixes: #10869

ACKs for top commit:
  practicalswift:
    ACK fa69588537bc91c0aedbc89ef1760d89cbffad75 -- diff looks correct
  promag:
    ACK fa69588537bc91c0aedbc89ef1760d89cbffad75.

Tree-SHA512: e79adb015e7de79064e2d14336c38bc9672bd779ad6c52917721897e73f617c39d32c068a369c26670002a6c4ab95a71ef3a6878ebdd9710e02f410e2f7bcd14
2021-12-15 20:10:00 +05:30