Commit Graph

27034 Commits

Author SHA1 Message Date
Kittywhiskers Van Gogh
3b7a7394a9
merge bitcoin#23223: Disable lock contention logging in checkqueue_tests 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
b383609a72
merge bitcoin#23227: Avoid treating integer overflow as OP_0 2024-10-08 15:59:17 +00:00
Kittywhiskers Van Gogh
0188d32430
merge bitcoin#23213: Return error when header count is not integral 2024-10-08 15:59:16 +00:00
Kittywhiskers Van Gogh
eb9e20890f
merge bitcoin#23156: Remove unused ParsePrechecks and ParseDouble 2024-10-08 15:59:16 +00:00
Kittywhiskers Van Gogh
18fff7e3d3
rpc: switch to taking an integer for rate in quorum dkgsimerror
This is required in order to backport bitcoin#23156, which gets rid of
`ParseDouble` (used by `ParseDoubleV`), which is last used by
`quorum dkgsimerror`.
2024-10-08 15:58:58 +00:00
pasta
8598a3fbb8
Merge #6312: chore: Update copyrights and copyright_header.py script
7d1fc66d91 chore: run `contrib/devtools/copyright_header.py update .` (UdjinM6)
c2acde0f9b chore: update copyright_header.py and BitPay copyright strings (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  A little bit of housekeeping

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [ ] 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
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  PastaPastaPasta:
    utACK 7d1fc66d91

Tree-SHA512: f62a15139d10d10c155deef70c218d8dd14bfe3648703c4af39c299fa56537c806e84bccb7e99159633dea02d6d145b64990874d6114cfecf2a4467c7ab2cd6d
2024-10-07 15:29:29 -05:00
pasta
79bd3d962f
Merge #6311: fix: 2 follow-ups for PeriodicStats
802efc5efd fix: update DEFAULT_STATSD_HOST (UdjinM6)
44d7806478 fix: use correct rpc interruption point in `PeriodicStats` (UdjinM6)

Pull request description:

  ## Issue being fixed or feature implemented
  - 5c2c2b38c63415c19933d4405253130af68be2a8: dash-qt with stats enabled crashes
  - b92ce3ddfbe651fc8bd026e9d4fdc79ef4d484da: help text for `-statshost` is misleading

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
  - [ ] 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
  - [ ] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  knst:
    utACK 802efc5efd

Tree-SHA512: 093229a96e726dc30c8aef210046bebaef040179785fd8be20de5052d766b361426f18f41338ef059997e820645faa7fba424f056be2f6454ca3190f8c3c0906
2024-10-07 15:11:53 -05:00
pasta
a76395c859
Merge #6316: backport: merge bitcoin#23289, #23365, #23777, #23782, #23737, #24039, #24192, #24117, #24789, #25192, #25294, #27280 (auxiliary backports: part 19)
f09752cac1 merge bitcoin#27280: Fix TypeError (expected str instance, bytes found) in wait_for_debug_log (Kittywhiskers Van Gogh)
ecb16808a6 merge bitcoin#25294: Fix wait_for_debug_log UnicodeDecodeError (Kittywhiskers Van Gogh)
445047db63 merge bitcoin#25192: add coverage for unknown value to -blockfilterindex (Kittywhiskers Van Gogh)
f319163815 merge bitcoin#24789: disallow indexes when running reindex-chainstate (Kittywhiskers Van Gogh)
51bc29ee59 merge bitcoin#24117: make indices robust against init aborts (Kittywhiskers Van Gogh)
6645cde0e7 merge bitcoin#24192: Fix feature_init intermittent issues (Kittywhiskers Van Gogh)
a6062445be merge bitcoin#24039: prevent UnicodeDecodeError when opening log file in feature_init.py (Kittywhiskers Van Gogh)
d35af87936 merge bitcoin#23737: make feature_init more robust (Kittywhiskers Van Gogh)
e17c619ca3 merge bitcoin#23782: include two more interruptions points (Kittywhiskers Van Gogh)
577da313df merge bitcoin#23777: follow-ups from bitcoin#23365 (Kittywhiskers Van Gogh)
a681750798 merge bitcoin#23365: Fix backwards search for bestblock (Kittywhiskers Van Gogh)
2e22fd0ba9 merge bitcoin#23289: add stress tests for initialization (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * When backporting [bitcoin#24789](https://github.com/bitcoin/bitcoin/pull/24789), `-txindex=0` had to be appended to the arguments passed in `feature_reindex.py` as unlike Bitcoin ([source](dac44fc06f/src/validation.h (L83))), Dash enables the transaction index by default ([source](74e54b8a12/src/validation.h (L94))).

    As having the index enabled when using `-reindex-chainstate` is now prohibited, without this change, the test will crash.

  ## Breaking Changes

  None expected.

  ## Checklist:

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK f09752cac1
  PastaPastaPasta:
    utACK f09752cac1

Tree-SHA512: 72a983e5d5de9b2efd7509beeedbe2e3f32774b1ee20a546e246cca66e1100fa82e7731bce08a5ff620757a6fbaea8a640fb3bc3e7afe20734b79bd92d74f0fd
2024-10-07 15:07:02 -05:00
pasta
5cba8e29fc
Merge #6296: backport: merge bitcoin#22772, #22987, #23185, #23157, #23173, #23249, #23211, #22677, #23649, #23683, #23636, #22626 (auxiliary backports: part 17)
8c3ff618d3 chore: apply some `clang-format-diff.py` suggestions (Kittywhiskers Van Gogh)
aa1f56f126 merge bitcoin#22626: Remove txindex migration code (Kittywhiskers Van Gogh)
145d94d700 merge bitcoin#23636: Remove GetAdjustedTime from init.cpp (Kittywhiskers Van Gogh)
150ca008fe merge bitcoin#23683: valid but different LockPoints after a reorg (Kittywhiskers Van Gogh)
e85862ba11 merge bitcoin#23649: circular dependency followups (Kittywhiskers Van Gogh)
8ab99290f9 merge bitcoin#22677: cut the validation <-> txmempool circular dependency (Kittywhiskers Van Gogh)
ee49383cd6 merge bitcoin#23211: move `update_*` structs from txmempool.h to .cpp file (Kittywhiskers Van Gogh)
3d769c7a64 merge bitcoin#23249: ParseByteUnits - Parse a string with suffix unit (Kittywhiskers Van Gogh)
edd0bab6b5 chore: remove superfluous `ParseHDKeypath` definition (Kittywhiskers Van Gogh)
0073b66aaa refactor: migrate some Dash code to use `ChainstateManager::ProcessTransaction` (Kittywhiskers Van Gogh)
c8571c0956 merge bitcoin#23173: Add `ChainstateManager::ProcessTransaction` (Kittywhiskers Van Gogh)
a21bfd02e9 merge bitcoin#23157: improve performance of check() and remove dependency on validation (Kittywhiskers Van Gogh)
b35dc7236d merge bitcoin#23185: Add ParseMoney and ParseScript tests (Kittywhiskers Van Gogh)
7c03133be3 merge bitcoin#22987: Fix "RuntimeError: Event loop is closed" on Windows (Kittywhiskers Van Gogh)
ba60d5459e merge bitcoin#22772: hasher cleanup (follow-up to bitcoin#19935) (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  * When backporting [bitcoin#23173](https://github.com/bitcoin/bitcoin/pull/23173), `bypass_limits` had to be extended to `ChainstateManager::ProcessTransaction()` as Dash allows the `sendrawtransaction` RPC to bypass limits with the optional `bypasslimits` boolean (introduced in [dash#2110](https://github.com/dashpay/dash/pull/2110)).

    The bool arguments are not in alphabetical order to prevent breakage with Bitcoin code that expects `bypass_limits` to always be `false`.

  ## Breaking Changes

  None expected.

  ## Checklist

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 8c3ff618d3
  PastaPastaPasta:
    utACK 8c3ff618d3

Tree-SHA512: ea1eaad7279b6608a07c1175e5c3b44385d42e33afa8ce5160d871fc9b37a014e9981eafca379ac3ad6dc141b5fda6f1e676b4cc9658a6d1775fe929a134ff67
2024-10-07 15:00:22 -05:00
pasta
fa6132fd1d
Merge #6183: feat: keep llmq_50_60 enabled in Devnets
e3a2cbbd78 clang format fix (Odysseas Gabrielides)
de4238e11b Create release-notes-6183.md (Odysseas Gabrielides)
d65f63c451 enable llmq_50_60 in Devnets (Odysseas Gabrielides)

Pull request description:

  ## Issue being fixed or feature implemented
  LLMQ_50_60 needs to be enabled in Devnets when deploying a larger one.

  ## What was done?

  ## How Has This Been Tested?

  ## Breaking Changes
  no

  ## 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
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK e3a2cbbd78
  knst:
    utACK e3a2cbbd78

Tree-SHA512: c2b2bb2905a2a1de6710882ae5b8957159232914a20f1389a62de3b5a042f5dcd9cf392ed69586cb81ad601ac50b0474e6d761128696978f61f12088002757de
2024-10-07 14:58:33 -05:00
pasta
4bd7f5db48
Merge #6303: refactor: segregate x11 hashing
e1749b50a3 exclude x11 dir from linting (pasta)
dc1f566fce fmt: run clang-format on hash_x11.h (pasta)
bd8aa04d44 refactor: segregate x11 hashing (pasta)

Pull request description:

  ## Issue being fixed or feature implemented
  Refactor x11 hashing out into it's own header

  ## What was done?
  move x11 hashing out of hash.h, into hash_x11.h and also move those headers crypto/x11 folder

  ## How Has This Been Tested?
  Building

  ## Breaking Changes
  None

  ## 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
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK e1749b50a3

Tree-SHA512: c5e9ac9995608b1963494a4e6d870bb452972d6c09387c06546623e25c8be26fd2918918fb00fbef0c0356c61f1bed127a469c5adae252792f25bc419c73100b
2024-10-07 14:43:27 -05:00
UdjinM6
802efc5efd
fix: update DEFAULT_STATSD_HOST 2024-10-05 23:20:45 +03:00
UdjinM6
44d7806478
fix: use correct rpc interruption point in PeriodicStats 2024-10-05 23:20:45 +03:00
UdjinM6
7d1fc66d91
chore: run contrib/devtools/copyright_header.py update . 2024-10-05 23:17:41 +03:00
UdjinM6
c2acde0f9b
chore: update copyright_header.py and BitPay copyright strings 2024-10-05 23:17:41 +03:00
pasta
e1749b50a3
exclude x11 dir from linting 2024-10-05 12:19:42 -05:00
pasta
07aa0961c4
Merge #6257: backport: Merge bitcoin#22579, 23964
387f8b1105 Merge bitcoin/bitcoin#23964: Update test/sanitizer_suppressions/lsan (MarcoFalke)
eb6e2d29a6 Merge bitcoin/bitcoin#22579: doc: Add references for the generator/constant used in Bech32(m) (W. J. van der Laan)

Pull request description:

  bitcoin backport

ACKs for top commit:
  PastaPastaPasta:
    utACK 387f8b1105

Tree-SHA512: 78c9397e8fae6c9c3c958307f26d2bf87e8d19404e39b468b5b6bc9b8b8a57229b6162d2dabc8552c7eb1d98cf268713f20cfacaf5ffc983f43533296b82a6f2
2024-10-05 12:13:08 -05:00
pasta
809eb55ba3
Merge #6306: backport: bitcoin#21679, #21913 - RPC default argument
0c3c7326bb Merge bitcoin/bitcoin#21913: rpc: RPCHelpMan fixes (MarcoFalke)
0484aa63c9 Merge #21679: rpc: Keep default argument value in correct type (MarcoFalke)
7be514c45c refactor: add const and use ?: in rpc/blockhain for dash specific code (Konstantin Akimov)

Pull request description:

  ## What was done?
  Backport bitcoin#21679, #21913 which keep default argument value in correct type and some extra fixes and apply fixes for Dash specific code.

  ## How Has This Been Tested?
  Run unit/functional tests.

  ## Breaking Changes
  It doesn't actually change behavior, just improve implementation of default arguments and help for RPC.

  ## 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
  - [x] I have assigned this pull request to a milestone

ACKs for top commit:
  UdjinM6:
    utACK 0c3c7326bb
  PastaPastaPasta:
    utACK 0c3c7326bb

Tree-SHA512: 487d84b5b2385ccbd5de261a7e9e1596ad626b7761f258c0eb85c0fafeec8c3b428b3eb4c4cab5f6ac734aa0a70d5f3d528cc4b4bc32e2e391044a640ed45488
2024-10-05 12:11:16 -05:00
Kittywhiskers Van Gogh
8c3ff618d3
chore: apply some clang-format-diff.py suggestions 2024-10-05 17:10:04 +00:00
Kittywhiskers Van Gogh
aa1f56f126
merge bitcoin#22626: Remove txindex migration code 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
145d94d700
merge bitcoin#23636: Remove GetAdjustedTime from init.cpp 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
150ca008fe
merge bitcoin#23683: valid but different LockPoints after a reorg 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
e85862ba11
merge bitcoin#23649: circular dependency followups 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
8ab99290f9
merge bitcoin#22677: cut the validation <-> txmempool circular dependency 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
ee49383cd6
merge bitcoin#23211: move update_* structs from txmempool.h to .cpp file 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
3d769c7a64
merge bitcoin#23249: ParseByteUnits - Parse a string with suffix unit 2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
edd0bab6b5
chore: remove superfluous ParseHDKeypath definition
`ParseHDKeypath` was moved to `bip34.cpp` in bitcoin#14021 (dash#4695),
remove lingering definition from `util/strencodings.h`
2024-10-05 17:10:03 +00:00
Kittywhiskers Van Gogh
0073b66aaa
refactor: migrate some Dash code to use ChainstateManager::ProcessTransaction 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
c8571c0956
merge bitcoin#23173: Add ChainstateManager::ProcessTransaction
We need to extend `bypass_limits` to `ProcessTransaction()` because
Dash allows the `sendrawtransaction` RPC to bypass limits with the
optional `bypasslimits` boolean (introduced in dash#2110).

The bool arguments are not in alphabetical order to prevent breakage
with Bitcoin code that expects `bypass_limits` to always be false.
2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
a21bfd02e9
merge bitcoin#23157: improve performance of check() and remove dependency on validation 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
b35dc7236d
merge bitcoin#23185: Add ParseMoney and ParseScript tests 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
7c03133be3
merge bitcoin#22987: Fix "RuntimeError: Event loop is closed" on Windows 2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
ba60d5459e
merge bitcoin#22772: hasher cleanup (follow-up to bitcoin#19935)
`KeyIDHasher` was never introduced as Dash uses different HD logic.
Therefore, there is no `KeyIDHasher` to remove.
2024-10-05 17:10:02 +00:00
Kittywhiskers Van Gogh
f09752cac1
merge bitcoin#27280: Fix TypeError (expected str instance, bytes found) in wait_for_debug_log 2024-10-05 17:09:35 +00:00
Kittywhiskers Van Gogh
ecb16808a6
merge bitcoin#25294: Fix wait_for_debug_log UnicodeDecodeError 2024-10-05 17:09:35 +00:00
Kittywhiskers Van Gogh
445047db63
merge bitcoin#25192: add coverage for unknown value to -blockfilterindex 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
f319163815
merge bitcoin#24789: disallow indexes when running reindex-chainstate 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
51bc29ee59
merge bitcoin#24117: make indices robust against init aborts
continuation of 123cf8d2 (dash#5501)
2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
6645cde0e7
merge bitcoin#24192: Fix feature_init intermittent issues 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
a6062445be
merge bitcoin#24039: prevent UnicodeDecodeError when opening log file in feature_init.py 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
d35af87936
merge bitcoin#23737: make feature_init more robust 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
e17c619ca3
merge bitcoin#23782: include two more interruptions points 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
577da313df
merge bitcoin#23777: follow-ups from bitcoin#23365 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
a681750798
merge bitcoin#23365: Fix backwards search for bestblock 2024-10-05 17:09:34 +00:00
Kittywhiskers Van Gogh
2e22fd0ba9
merge bitcoin#23289: add stress tests for initialization 2024-10-05 17:09:33 +00:00
pasta
bda01b19e6
Merge #6315: test: call self.generate() in p2p_net_deadlock.py (follow-up dash#6276)
9b0c506cf0 test: call `self.generate()` in `p2p_net_deadlock.py` (Kittywhiskers Van Gogh)

Pull request description:

  ## Additional Information

  `develop` is currently borked ([build](https://gitlab.com/dashpay/dash/-/jobs/7999893074#L266)) because [dash#6288](https://github.com/dashpay/dash/pull/6288) changed the expected syntax for `generate*` calls and [dash#6276](https://github.com/dashpay/dash/pull/6276) introduced a new test (`p2p_net_deadlock.py`) that was based on a version of `develop` that used the older syntax.

  No conflicts were reported because it was a new file introduced in the latter PR that the former PR did not have knowledge of.

  ## Breaking changes

  None expected.

  ## Checklist:

  - [x] I have performed a self-review of my own code
  - [x] I have commented my code, particularly in hard-to-understand areas **(note: N/A)**
  - [x] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation **(note: N/A)**
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 9b0c506cf0
  PastaPastaPasta:
    utACK 9b0c506cf0

Tree-SHA512: 3b49f0ff4fc5beea8bd48019c581577ebb47cf50c5526e60367740e5deea7fc92451a480abd49b2b3b2a7be7fb9ca2a4aca99c565ef7aaee1ba8cce43e0be776
2024-10-05 12:07:28 -05:00
Kittywhiskers Van Gogh
9b0c506cf0
test: call self.generate() in p2p_net_deadlock.py 2024-10-05 09:41:53 +00:00
pasta
74e54b8a12
Merge #6292: refactor: remove dependency of llmq/chainlocks, llmq/quorum_block_processor, ehf_signals on PeerManager
c77216ea80 docs: explain meaning of MessageProcessingResult's members (Konstantin Akimov)
d0f17788fc refactor: drop dependency of EhfSignals on PeerManager (Konstantin Akimov)
1d13f010d0 refactor: remove dependency of QuorumBlockProcessor on PeerManager (Konstantin Akimov)
f1c6d17879 refactor: remove dependency of chainlocks on PeerManager (Konstantin Akimov)
538342138c refactor: HandleNewRecoveredSig return PostProcessingMessage (Konstantin Akimov)
09565fe6cc refactor: new type of message processing result for resolving circular dependency over PeerManager (Konstantin Akimov)
d54b3eeb7b refactor: move ChainLocksSigningEnabled from header to cpp file as static function (Konstantin Akimov)
cab700aae3 refactor: remove unused include spork.h from validation.cpp (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  It reduces circular dependencies and simplify code.

  ## What was done?
  Removed circular dependency over PeerManager for llmq::QuorumBlockProcessor, llmq::CEhfSignals, llmq::ChainLocks, and several extra useful refactorings: see commits.

  ## How Has This Been Tested?
  Run `test/lint/lint-circular-dependencies.sh`

  ## Breaking Changes
  N/A

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

ACKs for top commit:
  UdjinM6:
    utACK c77216ea80
  PastaPastaPasta:
    utACK c77216ea80

Tree-SHA512: e01829a694c9bfbbe70bc346ef5949b5e9e4532560f4c40ee292952f05f0fd23ecf4bd978e918f74dd3422c1b90231fd7d9984f491f3ab8f7eb08072540406b4
2024-10-04 16:45:02 -05:00
pasta
dc1f566fce
fmt: run clang-format on hash_x11.h 2024-10-04 15:35:45 -05:00
pasta
bd8aa04d44
refactor: segregate x11 hashing 2024-10-04 14:57:07 -05:00