• ordian's avatar
    Some late short-term fixes for dispute slashing (#6249) · 2fa8565f
    ordian authored
    
    
    * disputes/slashing: slash only backers for ForInvalid
    
    * add an assertion in mock impl
    
    * fix tests
    
    * do not slash backers on onconcluded disputes
    
    * slash an intersection of backers and losers
    
    * zombienet/disputes: check for offence only for invalid disputes
    
    * add backing votes to disputes bench builder
    
    * Update runtime/parachains/src/builder.rs
    
    * Brad implementers guide revisions 2 (#6239)
    
    * Add disputes subsystems fix
    
    * Updated dispute approval vote import reasoning
    
    * Improved wording of my changes
    
    * Resolving issues brought up in comments
    
    * Update disputes prioritisation in `dispute-coordinator` (#6130)
    
    * Scraper processes CandidateBacked events
    
    * Change definition of best-effort
    
    * Fix `dispute-coordinator` tests
    
    * Unit test for dispute filtering
    
    * Clarification comment
    
    * Add tests
    
    * Fix logic
    
    If a dispute is not backed, not included and not confirmed we
    don't participate but we do import votes.
    
    * Add metrics for refrained participations
    
    * Revert "Add tests"
    
    This reverts commit 7b8391a087922ced942cde9cd2b50ff3f633efc0.
    
    * Revert "Unit test for dispute filtering"
    
    This reverts commit 92ba5fe678214ab360306313a33c781338e600a0.
    
    * fix dispute-coordinator tests
    
    * Fix scraping
    
    * new tests
    
    * Small fixes in guide
    
    * Apply suggestions from code review
    
    Co-authored-by: default avatarAndrei Sandu <[email protected]>
    
    * Fix some comments and remove a pointless test
    
    * Code review feedback
    
    * Clarification comment in tests
    
    * Some tests
    
    * Reference counted `CandidateHash` in scraper
    
    * Proper handling for Backed and Included candidates in scraper
    
    Backed candidates which are not included should be kept for a
    predetermined window of finalized blocks. E.g. if a candidate is backed
    but not included in block 2, and the window size is 2, the same
    candidate should be cleaned after block 4 is finalized.
    
    Add reference counting for candidates in scraper. A candidate can be
    added on multiple block heights so we have to make sure we don't clean
    it prematurely from the scraper.
    
    Add tests.
    
    * Update comments in tests
    
    * Guide update
    
    * Fix cleanup logic for `backed_candidates_by_block_number`
    
    * Simplify cleanup
    
    * Make spellcheck happy
    
    * Update tests
    
    * Extract candidate backing logic in separate struct
    
    * Code review feedback
    
    * Treat  backed and included candidates in the same fashion
    
    * Update some comments
    
    * Small improvements in test
    
    * spell check
    
    * Fix some more comments
    
    * clean -> prune
    
    * Code review feedback
    
    * Reword comment
    
    * spelling
    
    Co-authored-by: default avatarAndrei Sandu <[email protected]>
    
    * approval-voting: remove redundant validation check (#6266)
    
    * approval-voting: remove a redundant check
    
    * candidate-validation: remove unreachable check
    
    * remove fill_block (#6200)
    
    Co-authored-by: parity-processbot <>
    
    * fix a compilation warning (#6279)
    
    Fixes #6277.
    
    * Only report concluded if there is an actual dispute. (#6270)
    
    * Only report concluded if there is an actual dispute.
    
    Hence no "non"-disputes will be added to disputes anymore.
    
    * Fix redundant check.
    
    * Test for no onesided disputes.
    
    Co-authored-by: default avatareskimor <[email protected]>
    
    * [ci] fix buildah image (#6281)
    
    * Revert special casing of Kusama for grandpa rounds. (#6217)
    
    Co-authored-by: default avatareskimor <[email protected]>
    
    * Fixes "for loop over an `Option`" warnings (#6291)
    
    Was seeing these warnings when running `cargo check --all`:
    
    ```
    warning: for loop over an `Option`. This is more readably written as an `if let` statement
        --> node/core/approval-voting/src/lib.rs:1147:21
         |
    1147 |             for activated in update.activated {
         |                              ^^^^^^^^^^^^^^^^
         |
         = note: `#[warn(for_loops_over_fallibles)]` on by default
    help: to check pattern in a loop use `while let`
         |
    1147 |             while let Some(activated) = update.activated {
         |             ~~~~~~~~~~~~~~~         ~~~
    help: consider using `if let` to clear intent
         |
    1147 |             if let Some(activated) = update.activated {
         |             ~~~~~~~~~~~~         ~~~
    ```
    
    My guess is that `activated` used to be a SmallVec or similar, as is
    `deactivated`. It was changed to an `Option`, the `for` still compiled (it's
    technically correct, just weird), and the compiler didn't catch it until now.
    
    * companion for #12599 (#6290)
    
    * companion for #12599
    
    * update Cargo.lock
    
    * use cargo path instead of diener
    
    * update lockfile for {"substrate"}
    
    Co-authored-by: parity-processbot <>
    
    * remove the runtime check and test
    
    * append keys on past-session slashing
    
    * runtime/disputes: allow importing backing votes after explicit for
    
    * explicit MaliciousBacker error and a test
    
    * update an outdated comment
    
    * Revert "update an outdated comment"
    
    This reverts commit 7c4c3f5a848f16e2b61435e981d814f00333ed41.
    
    * Revert "remove the runtime check and test"
    
    This reverts commit a5bff0c75e77effb5b7d3a1691de1b14bcdbd648.
    
    * incremental punishment post conclusion + test
    
    * punish backers post FOR vote
    
    * remove unnecessary lifetime annotation
    
    * add a comment to zombinet test
    
    * typo
    
    * fmt
    
    * post merge test fixes
    
    * fix test after changes in master
    
    * address review nits
    
    ---------
    
    Co-authored-by: default avatarBradley Olson <[email protected]>
    Co-authored-by: default avatarTsvetomir Dimitrov <[email protected]>
    Co-authored-by: default avatarAndrei Sandu <[email protected]>
    Co-authored-by: default avatarSergej Sakac <[email protected]>
    Co-authored-by: default avatareskimor <[email protected]>
    Co-authored-by: default avatareskimor <[email protected]>
    Co-authored-by: default avatarAlexander Samusev <[email protected]>
    Co-authored-by: default avatarMarcin S <[email protected]>
    Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
    2fa8565f