This repository has been archived by the owner on Nov 15, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
disputes: reject single-sided disputes #3903
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
rphmeier
added
A0-please_review
Pull request needs code review.
B0-silent
Changes should not be mentioned in any release notes
C1-low
PR touches the given topic and has a low impact on builders.
D3-trivial 🧸
PR contains trivial changes in a runtime directory that do not require an audit.
labels
Sep 22, 2021
Lldenaurois
approved these changes
Sep 22, 2021
Comment on lines
+389
to
+390
valid: bool, | ||
new_participant: bool, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would it make sense to use an enum instead of two booleans?
Do we need to cover all 4 cases?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We would need to cover all 4 cases, yeah.
Comment on lines
+1473
to
+1484
statements: vec![ | ||
( | ||
DisputeStatement::Valid(ValidDisputeStatementKind::Explicit), | ||
ValidatorIndex(0), | ||
v0.sign( | ||
&ExplicitDisputeStatement { | ||
valid: true, | ||
candidate_hash: candidate_hash.clone(), | ||
session: start - 1, | ||
} | ||
.signing_payload(), | ||
), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Strange that rustfmt didn't format this concisely. Must be due to the 1.54 rustc upgrade.
eskimor
approved these changes
Sep 24, 2021
ordian
added a commit
that referenced
this pull request
Sep 29, 2021
* master: feat: measured oneshots (#3902) remove `AllSubsystems` and `AllSubsystemsGen` types (#3874) Companion for Substrate#9867 (#3938) Substrate Companion for #9552 (#3834) CI: run disputes tests (#3962) Bump parity-scale-codec from 2.3.0 to 2.3.1 (#3959) approval-voting: populate session cache in advance (#3954) Bump libc from 0.2.102 to 0.2.103 (#3950) fix master (#3955) Docker files chore (#3880) Bump nix from 0.19.1 to 0.20.0 (#3587) remove connected disconnected state, 3rd attempt (#3898) fix flaky chain-selection tests (#3948) Add benchmarking for parachain runtime initializer pallet (#3913) minor chore changes (#3944) disputes: reject single-sided disputes (#3903)
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
A0-please_review
Pull request needs code review.
B0-silent
Changes should not be mentioned in any release notes
C1-low
PR touches the given topic and has a low impact on builders.
D3-trivial 🧸
PR contains trivial changes in a runtime directory that do not require an audit.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds logic to the DIsputes module in the runtime to reject disputes which have votes only on a single side. This also alters the filtering logic used by block authors to determine which dispute votes to include on-chain to filter out single-sided disputes, and adjusts a bunch of tests which were submitting single-sided disputes.
I also fixed a bug in the runtime's dispute filtering logic where we'd count votes that were later rejected due to bad signatures. It's unlikely to be triggered in practice as honest nodes would only supply checked signatures to the
InherentData
in the first place.