Commit Graph

22750 Commits

Author SHA1 Message Date
Samuel Dobson
a1d2970b31 Merge #17371: Refactor: Require scriptPubKey to get wallet SigningProvider
d0dab897afaac0a18aa47d3ce673a4a43a69178a Refactor: Require scriptPubKey to get wallet SigningProvider (Andrew Chow)
4b0c718f8f48c678cbe4575e9a9cf9e62a30f0da Accumulate result UniValue in SignTransaction (Andrew Chow)

Pull request description:

  Easier to review ignoring whitespace:

      git log -p -n1 -w

  This commit does not change behavior. It passes new CScript arguments to
  signing functions, but the arguments aren't currently used.

  Split from #17261

ACKs for top commit:
  instagibbs:
    utACK d0dab897af
  ryanofsky:
    Code review ACK d0dab897afaac0a18aa47d3ce673a4a43a69178a. Thanks for the SignTransaction update. No other changes since last review
  Sjors:
    Code review ACK d0dab897afaac0a18aa47d3ce673a4a43a69178a
  promag:
    Code review ACK d0dab897afaac0a18aa47d3ce673a4a43a69178a.
  meshcollider:
    Code review ACK d0dab897afaac0a18aa47d3ce673a4a43a69178a

Tree-SHA512: c3f52df20fd9d6b3b5aa65562cf5f7dce7b7f44c148b0f988f8b578fce2a28e9b7bf010f5f04bb5bf60f5272b2899f1dbbfb8aee81579c21c9cba559d1d2bb70
2023-01-19 23:41:50 -06:00
fanquake
51e643a7e3 Merge #17354: wallet: Tidy CWallet::SetUsedDestinationState
0b75a7f0680d16a41043864a897470324917b1e8 wallet: Reuse existing batch in CWallet::SetUsedDestinationState (João Barbosa)
01f45dd00eb032a19d142026e4d019944192da19 wallet: Avoid recursive lock in CWallet::SetUsedDestinationState (João Barbosa)

Pull request description:

  This PR makes 2 distinct changes around `CWallet::SetUsedDestinationState`:
   - 1st the recursive lock is removed and now it requires the lock to be held;
   - 2nd change is to support, in the best case, just a wallet database flush when transaction is added to the wallet.

ACKs for top commit:
  achow101:
    ACK 0b75a7f0680d16a41043864a897470324917b1e8
  MarcoFalke:
    ACK 0b75a7f0680d16a41043864a897470324917b1e8
  ryanofsky:
    Code review ACK 0b75a7f0680d16a41043864a897470324917b1e8. Code changes looks fine but PR description should be updated to say what benefits of the change are. I might have missed something, but I didn't see a place where multiple batches were used previously and a single batch was used now. So the main benefit of this change appears to be removing a recursive lock? And maybe moving toward a consistent convention for passing batch instances?

Tree-SHA512: abcf23a5850d29990668db20d6f624cca3e89629cc9ed003e0d05cde1b58ab2ff365034f156684ad13e55764b54c6c0c2bc7d5f96b8af7dc5e45a3be955d6b15
2023-01-19 23:41:50 -06:00
Wladimir J. van der Laan
041620beb8 Merge #17381: LegacyScriptPubKeyMan code cleanups
05b224a175065aee4d6d9c471722bc4503f01fdf Add missing SetupGeneration error handling in EncryptWallet (Russell Yanofsky)
bfd826a675445801adec86a469040f3ceb8172ee Clean up nested scope in GetReservedDestination (Russell Yanofsky)
491a599b37f3e3a648e52aebed677ca11b0615e2 Get rid of confusing LegacyScriptPubKeyMan::TopUpKeyPool method (Russell Yanofsky)
4a0abf694ee10cf186f25a67ca35c3fce0c10874 Pass CTxDestination to ScriptPubKeyMan::GetMetadata (Russell Yanofsky)
b07b07cd8779355ba1dd16e7eb4af42e0ae1c587 Add EnsureLegacyScriptPubKeyMan and use in rpcwallet.cpp (Russell Yanofsky)

Pull request description:

  This PR implements suggested code cleanups from #17300 and #17304 review comments

ACKs for top commit:
  Sjors:
    re-ACK 05b224a
  laanwj:
    Code review ACK 05b224a175065aee4d6d9c471722bc4503f01fdf

Tree-SHA512: 12fd86637088515b744c028e0501c5d21a9cf9ee9c9cfd70e9cb65d44611ea5643abd5f6f101105caa5aff015d74de606f074f08af7dae8429f929d21288ab45
2023-01-19 23:41:50 -06:00
PastaPastaPasta
aff510d914
Merge pull request #5019 from vijaydasmp/bp21_4
backport: merge bitcoin#18268,19069,19474,19114
2023-01-19 23:37:56 -06:00
Vijay Das Manikpuri
38da15b0ab Merge #19114 TxoutType C++11 scoped enum class 2023-01-19 23:37:39 -06:00
MarcoFalke
a8820d894f Merge #19474: doc: Use precise permission flags where possible
fab558612278909df93bdf88f5727b04f13aef0f doc: Use precise permission flags where possible (MarcoFalke)

Pull request description:

  Instead of mentioning the all-encompassing `-whitelist*` settings, change the docs to mention the exact permission flag that will influence the behaviour.

  This is needed because in the future, the too-broad `-whitelist*` settings (they either include *all* permission flags or apply to *all* peers) might be deprecated to require the permission flags to be enumerated.

  Alternatively, in the future there could be an RPC to set the net permission flags on an existing connection, in which case the `-whitelist*` terminology is of no help.

ACKs for top commit:
  jnewbery:
    reACK fab558612278909df93bdf88f5727b04f13aef0f
  fjahr:
    Code review ACK fab558612278909df93bdf88f5727b04f13aef0f
  jonatack:
    ACK fab558612278909df93bdf88f5727b04f13aef0f

Tree-SHA512: c7dea3e577d90103bb2b0ffab7b7c8640b388932a3a880f69e2b70747fc9213dc1f437085671fd54c902ec2a578458b8a2fae6dbe076642fb88efbf9fa9e679c
2023-01-19 23:37:39 -06:00
MarcoFalke
1093333192 Merge #18268: rpc: Remove redundant types from descriptions
8a2a652e6fab5eb8224beefcc07d9011b61865a8 Remove redundant type information from rpc docs (David O'Callaghan)

Pull request description:

  Simple edit of the RPC calls to remove redundant text ("A json object/array ...") from the beginning of help.

  Fixes: #18258

Top commit has no ACKs.

Tree-SHA512: cbbf760e0b7b4eda61c40b420ed77f5d878318e37b0eb13e63567212240b2c4ecc15d84030e98075e21c9ae9016539adfd201e5661ea824166a76d335180c32f
2023-01-19 23:37:39 -06:00
Odysseas Gabrielides
23544c9dee
docs(rpc): added missing legacy rpc in help (#5161)
## Issue being fixed or feature implemented
Added the missing rpc in `protx` help.
Release notes can be found in https://github.com/dashpay/dash/pull/5137

## What was done?

## How Has This Been Tested?

## Breaking Changes

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [x] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone

Co-authored-by: thephez <thephez@users.noreply.github.com>
2023-01-19 23:34:24 -06:00
Odysseas Gabrielides
13d3fadbdb
feat(rpc): added scheme in bls generate rpc + aligned changes for bls fromsecret rpc (#5164)
## Issue being fixed or feature implemented

## What was done?
<!--- Describe your changes in detail -->
- `bls generate` and `bls fromsecret` rpcs will return `scheme` used to
serialise the public key. Valid returned values are `legacy` and`basic`.
- `bls generate` and `bls fromsecret`rpcs accept an incoming optional
boolean argument `legacy` that enforces the use of legacy BLS scheme for
the serialisation of the reply even if v19 is active.

## How Has This Been Tested?

## Breaking Changes

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [x] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-01-19 23:30:17 -06:00
PastaPastaPasta
2d7a448fdc
Merge pull request #5112 from kittywhiskers/deboost
backport: merge bitcoin#18289, #19090, #22859, #18758, #21016, #22953, #25027, #20461, #25025, #25057, #25068 (deboostification)
2023-01-19 12:35:37 -06:00
Kittywhiskers Van Gogh
0bd538bc40 merge bitcoin#25068: Wrap boost::replace_all 2023-01-19 03:49:04 +00:00
Kittywhiskers Van Gogh
43d657f321 merge bitcoin#25057: replace remaining boost::split with SplitString 2023-01-19 03:49:04 +00:00
Kittywhiskers Van Gogh
dc98e7d835 merge bitcoin#25025: Remove boost::split from rpc_tests.cpp 2023-01-19 03:49:04 +00:00
Kittywhiskers Van Gogh
700d494dc5 merge bitcoin#20461: Validate -rpcauth arguments 2023-01-19 03:49:03 +00:00
Kittywhiskers Van Gogh
5cca21d73c merge bitcoin#25027: Remove boost::split from getarg_tests.cpp 2023-01-19 03:42:51 +00:00
Kittywhiskers Van Gogh
135bfdec57 merge bitcoin#22953: introduce single-separator split helper 2023-01-19 03:42:51 +00:00
Kittywhiskers Van Gogh
39ee56ab68 merge bitcoin#21016: remove boost::thread_group usage 2023-01-19 03:42:51 +00:00
Kittywhiskers Van Gogh
2743c1767e merge bitcoin#19197: use std::thread for ThreadImport() 2023-01-19 03:42:50 +00:00
Kittywhiskers Van Gogh
9348fc32c0 merge bitcoin#19142: Make VerifyDB level 4 interruptible 2023-01-19 03:42:50 +00:00
Kittywhiskers Van Gogh
a52eb1e72f merge bitcoin#18758: Remove unused boost/thread 2023-01-19 03:42:50 +00:00
Kittywhiskers Van Gogh
3b4b84340d merge bitcoin#22859: Replace uses of boost::trim* with locale-independent alternatives 2023-01-19 03:42:50 +00:00
Kittywhiskers Van Gogh
68e26b1a2a merge bitcoin#19090: Misc scheduler cleanups 2023-01-19 03:42:49 +00:00
Kittywhiskers Van Gogh
623a599352 merge bitcoin#18376: fix use-after-free in tests 2023-01-19 03:42:49 +00:00
Kittywhiskers Van Gogh
3d9141b251 merge bitcoin#18289: Make scheduler methods type safe 2023-01-19 03:42:49 +00:00
UdjinM6
fc10ffa676
Merge pull request #5165 from UdjinM6/merge_master_18.2.1
chore: Merge master 18.2.1 back into develop
2023-01-19 05:04:06 +03:00
PastaPastaPasta
4966fd1dfb
Merge pull request #5120 from kittywhiskers/auxports8
backport: merge bitcoin#19525, #20434, #22244, #20476, #19667, #22320, #18676, #19375, #21991, #20421, partial #23511 (auxiliary backports: part 8)
2023-01-18 19:02:55 -06:00
Kittywhiskers Van Gogh
797dd852b7 merge bitcoin#25964: fix mingw miniupnpc cflags 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
42b7c71d8b merge bitcoin#20421: miniupnpc 2.2.2 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
823e7b1456 merge bitcoin#19375: target Windows 7 when building libevent and fix ipv6 usage 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
2b3491f875 merge bitcoin#18676: Check libevent minimum version in configure script 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
9efa7c8284 merge bitcoin#22320: set minimum required Boost to 1.64.0 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
4725eda5d1 merge bitcoin#19667: set minimum required Boost to 1.58.0 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
07bd5977e5 partial bitcoin#23511: require glibc 2.18+ 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
d37f30ce46 merge bitcoin#20476: Add test for ELF symbol-check 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
f62fd6f51f merge bitcoin#22244: Correctly extract symbol versions in symbol-check 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
29c885c9f7 merge bitcoin#20434: Parse ELF directly for symbol and security checks 2023-01-18 19:02:39 -06:00
Kittywhiskers Van Gogh
ef69317b59 merge bitcoin#19525: add -Wl,-z,separate-code to hardening flags 2023-01-18 19:02:39 -06:00
UdjinM6
149dac8ba4
Merge branch 'master' into merge_master_18.2.1 2023-01-17 21:25:42 +03:00
Odysseas Gabrielides
f0009acfae
feat(rpc): Added previousConsecutiveDKGFailures for rotation in quorum rpc (#5158)
## Issue being fixed or feature implemented
Platform and research team have requested this change.

## What was done?
`quorum info` was updated with the introduction of new field
`previousConsecutiveDKGFailures` that be returned only for rotated
LLMQs.
This field will hold the number of previously consecutive failed DGKs
for the corresponding quorumIndex before the currently active one.
Note: If no previously commitments were found then 0 will be returned
for `previousConsecutiveDKGFailures`.

Example:

- DKG `A` was successful
- DKG `B` failed
- DKG `C` failed
- DKG `D` was successful
- DKG `E` was successful

- `previousConsecutiveDKGFailures` = 0 when requesting for quorum `A`
(because `A` is the first ever created quorum for that quorumIndex)
- `previousConsecutiveDKGFailures` = 2 when requesting for quorum `D`
- `previousConsecutiveDKGFailures` = 0 when requesting for quorum `E`

## How Has This Been Tested?

## Breaking Changes

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [x] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone

Co-authored-by: thephez <thephez@users.noreply.github.com>
2023-01-17 09:51:06 -06:00
UdjinM6
cc4239d497
Merge pull request #5156 from PastaPastaPasta/v18.2.1-backports
[v18.2.x] v18.2.1 backports, release notes
2023-01-13 03:16:50 +03:00
UdjinM6
6293e72273
Merge pull request #5160 from UdjinM6/bump_year_2023
chore: bump copyright year to 2023, add missing copyrights
2023-01-12 17:41:37 -06:00
UdjinM6
eaf9526ccb
Merge pull request #5159 from UdjinM6/merge_master_18.1.1
chore: merge master 18.1.1 back into develop, archive 18.1.1 release notes
2023-01-12 17:41:37 -06:00
pasta
31f8bbec48
docs: archive v18.2.0 release notes and add v18.2.1 release notes 2023-01-12 17:41:37 -06:00
pasta
2b23c8ef6e
chore: bump version to v18.2.1 2023-01-12 17:05:26 -06:00
pasta
54ea80e00d
chore: remove IsV19Active check since v18.2.1 is non-breaking 2023-01-12 17:05:26 -06:00
Odysseas Gabrielides
5eab2ce0ed
fix!: Rotation members calc v19 (#5142)
With 18.2, block
`0000000000000044356e582f9748f9baf084e5b7946e6386b32620d540830fda` is
marked invalid with `bad-qc-invalid`.

## Issue being fixed or feature implemented
While the 19 isn’t active -> Calculate rotation members based on 18.1
code
Once 19 active -> Calculate rotation members based on 18.2 code

## What was done?


## How Has This Been Tested?


## Breaking Changes


## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-01-12 16:58:22 -06:00
PastaPastaPasta
60946b660c
fix: avoid re-propogating old qfcommit messages (#5145)
<!--
*** Please remove the following help text before submitting: ***

Provide a general summary of your changes in the Title above

Pull requests without a rationale and clear improvement may be closed
immediately.

Please provide clear motivation for your patch and explain how it
improves
Dash Core user experience or Dash Core developer experience
significantly:

* Any test improvements or new tests that improve coverage are always
welcome.
* All other changes should have accompanying unit tests (see
`src/test/`) or
functional tests (see `test/`). Contributors should note which tests
cover
modified code. If no tests exist for a region of modified code, new
tests
  should accompany the change.
* Bug fixes are most welcome when they come with steps to reproduce or
an
explanation of the potential issue as well as reasoning for the way the
bug
  was fixed.
* Features are welcome, but might be rejected due to design or scope
issues.
If a feature is based on a lot of dependencies, contributors should
first
  consider building the system outside of Dash Core, if possible.
-->

## Issue being fixed or feature implemented
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->
This fixes an issue where qfcommit messages can be replayed from the
past, then are validated and propagated to other nodes. This patch
changes it so that old qfcommits are not relayed.

## What was done?
<!--- Describe your changes in detail -->


## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran
to -->
<!--- see how your change affects other areas of the code, etc. -->
Deployed to a node, and ensured that the log messages are shown. 

## Breaking Changes
<!--- Please describe any breaking changes your code introduces -->


## Checklist:
<!--- Go over all the following points, and put an `x` in all the boxes
that apply. -->
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [ ] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [ ] I have assigned this pull request to a milestone
2023-01-12 16:58:21 -06:00
pasta
3536a2b21d
Merge branch 'master' into new-18.2.1-bp 2023-01-12 16:57:40 -06:00
Odysseas Gabrielides
e7e48329f7
fix: Merklerootmnlist calc bls scheme (#5157)
## Issue being fixed or feature implemented
Code was still using legacy scheme for `pubKeyOperator` of each
`CSimplifiedMNListEntry` while calculating `MerklerootMNList` while v19
HF was active.

## What was done?
When building `CSimplifiedMNList` for `MerklerootMNList`, this PR adds
the correct set of `nVersion` for `CSimplifiedMNListEntry` so that basic
scheme will be used instead of legacy.

Furthermore, DIP3 unit tests suites for v19 will test for 1000 blocks
instead of 900 to cover v19 activated period.

## How Has This Been Tested?

## Breaking Changes

## Checklist:
- [x] I have performed a self-review of my own code
- [ ] I have commented my code, particularly in hard-to-understand areas
- [x] I have added or updated relevant unit/integration/functional/e2e
tests
- [ ] I have made corresponding changes to the documentation

**For repository code-owners and collaborators only**
- [x] I have assigned this pull request to a milestone
2023-01-12 16:51:14 -06:00
UdjinM6
26cc723966
Merge pull request #5160 from UdjinM6/bump_year_2023
chore: bump copyright year to 2023, add missing copyrights
2023-01-13 00:51:59 +03:00