perf: masternode verify quorum once - #1067
Conversation
|
Warning Review limit reachedNext included review available in 48 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Repository: dashpay/rust-dashcore/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
This PR has merge conflicts with the base branch. Please rebase or merge the base branch into your branch to resolve them. |
76c0419 to
c3b039c
Compare
c3b039c to
9453346
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## dev #1067 +/- ##
=======================================
Coverage 77.69% 77.70%
=======================================
Files 317 317
Lines 80742 80758 +16
=======================================
+ Hits 62733 62750 +17
+ Misses 18009 18008 -1
|
|
This PR has merge conflicts with the base branch. Please rebase or merge the base branch into your branch to resolve them. |
9453346 to
5015518
Compare
|
@coderabbitai review No review for |
|
Bots are done — your move: post |
`verify_non_rotating_masternode_list_quorums` runs after every masternode sync step and validated every non-rotating quorum of the list each time, Verified or not. A quorum commitment is identified by its type and hash and cannot change, so re-validating one that already passed only redoes the BLS work, and it needs the list at the quorum's work block (DIP-6) to still be there: once that list is gone, a Verified quorum would regress to a failed status. A quorum already `Verified` keeps its status; every other status is validated as before. Rotated quorums are unaffected, they take their status from the stored cycle. Test: a Verified quorum with too few signers for its type and no list at its work block stays Verified; it becomes `Invalid(InsufficientSigners)` without this change. Verified: fmt, clippy --workspace --all-features --all-targets -D warnings, dashcore 619, dash-spv 570 + dashd_masternode 10 + dashd_sync 32, dash-spv-ffi 49 + dashd_sync 7. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
5015518 to
6101a3e
Compare
|
@coderabbitai review |
|
|
Bots are done — your move: post |
|
@coderabbitai approve |
✅ Action performedComments resolved and changes approved. |
verify_non_rotating_masternode_list_quorumsruns after every masternodesync step and validated every non-rotating quorum of the list each time,
Verified or not. A quorum commitment is identified by its type and hash and
cannot change, so re-validating one that already passed only redoes the
BLS work, and it needs the list at the quorum's work block (DIP-6) to still
be there: once that list is gone, a Verified quorum would regress to a
failed status.
A quorum already
Verifiedkeeps its status; every other status isvalidated as before. Rotated quorums are unaffected, they take their status
from the stored cycle.
Test: a Verified quorum with too few signers for its type and no list at
its work block stays Verified; it becomes
Invalid(InsufficientSigners)without this change.
PR Hygiene ·
6101a3e/self-revieweddash/src/sml/masternode_list_engine/helpers.rs,dash/src/sml/masternode_list_engine/mod.rs) — QuantumExplorer or xdustinfaceWhen every box is checked the
PR Hygienecheck passes and this can merge.