Skip to content
  1. Feb 01, 2023
    • 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
  2. Jan 11, 2023
  3. Jan 07, 2023
    • Tsvetomir Dimitrov's avatar
      disputes pallet: Remove spam slots (#6345) · ed9a1a40
      Tsvetomir Dimitrov authored
      
      
      * disputes pallet: Filter disputes with votes less than supermajority threshold
      
      * Remove `max_spam_slots` usages
      
      * Remove `SpamSlots`
      
      * Remove `SpamSlotChange`
      
      * Remove `Error<T>::PotentialSpam` and stale comments
      
      * `create_disputes_with_no_spam` -> `create_disputes`
      
      * Make tests compile - wip commit
      
      * Rework `test_dispute_timeout`. Rename `update_spam_slots` to `filter_dispute_set`
      
      * Remove `dispute_statement_becoming_onesided_due_to_spamslots_is_accepted` and `filter_correctly_accounts_spam_slots` -> they bring no value with removed spam slots
      
      * Fix `test_provide_multi_dispute_success_and_other`
      
      * Remove an old comment
      
      * Remove spam slots from tests - clean todo comments
      
      * Remove test - `test_decrement_spam`
      
      * todo comments
      
      * Update TODO comments
      
      * Extract `test_unconfirmed_are_ignored` as separate test case
      
      * Remove dead code
      
      * Fix `test_unconfirmed_are_ignored`
      
      * Remove dead code in `filter_dispute_data`
      
      * Fix weights (related to commit "Remove `SpamSlots`")
      
      * Disputes migration - first try
      
      * Remove `dispute_max_spam_slots` + storage migration
      
      * Fix `HostConfig` migration tests
      
      * Deprecate `SpamSlots`
      
      * Code review feedback
      
      * add weight for storage version update
      * fix bound for clear()
      
      * Fix weights in disputes migration
      
      * Revert "Deprecate `SpamSlots`"
      
      This reverts commit 8c4d967c7b061abd76ba8b551223918c0b9e6370.
      
      * Make mod migration public
      
      * Remove `SpamSlots` from disputes pallet and use `storage_alias` in the migration
      
      * Fix call to `clear()` for `SpamSlots` in migration
      
      * Update migration and add a `try-runtime` test
      
      * Add `pre_upgrade` `try-runtime` test
      
      * Fix some test names in `HostConfiguration` migration
      
      * Link spamslots migration in all runtimes
      
      * Add `test_unconfirmed_disputes_cause_block_import_error`
      
      * Update guide
      
      - Remove `SpamSlots` related information from roadmap/implementers-guide/src/runtime/disputes.md
      - Add 'Disputes filtering' to Runtime section of the Implementor's guide
      
      * Update runtime/parachains/src/configuration/migration.rs
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * Code review feedback - update logs
      
      * Code review feedback: fix weights
      
      * Update runtime/parachains/src/disputes.rs
      
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      
      * Additional logs in disputes migration
      
      * Fix merge conflicts
      
      * Add version checks in try-runtime tests
      
      * Fix a compilation warning`
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: default avatars0me0ne-unkn0wn <[email protected]>
      ed9a1a40
  4. Dec 19, 2022
  5. Oct 22, 2022
  6. Sep 20, 2022
    • ordian's avatar
      runtime/disputes: slashing (#5535) · 18c077a8
      ordian authored
      
      
      * disputes: runtime part of slashing
      
      * disputes: reward winners
      
      * disputes/slashing: validate_unsigned impl
      
      * fmt
      
      * disputes/slashing: report_dispute_lost_unsigned
      
      * disputes/slashing: separate winners from losers and report winners
      
      * disputes/slashing: refactoring
      
      * impl HandleReports
      
      * enable on Wenstend
      
      * fmt
      
      * add slashing pallet to the mock and test runtimes
      
      * fix a bug in report_dispute_lost_unsigned
      
      * fmt
      
      * disputes: remove new_participants from summary
      
      * disputes: remove punish_inconclusive
      
      * impl SlashingHandler for Pallet for type-safety
      
      * do not impl slashing::Config on mainnets yet
      
      * teach spellcheck deduplication
      
      * simplify interfaces and resolve some TODOs
      
      * resolve some more TODOs
      
      * minor typos
      
      * move slashing into a folder
      
      * remove unnecessary clone
      
      * fix validator_set_count calculation
      
      * introduce ValidatorSetCount
      
      * store ValidatorSetCount
      
      * fmt
      
      * add the benchmark
      
      * fmt
      
      * unflatten slashing
      
      * post-rebase fixes
      
      * remove winners eagerly
      
      * use real slashing weights for westend
      
      * remove bench test suite
      
      * zombinet: modify disputes test to check for an offence report
      
      * zombinet: add a timeout
      
      * add slashing pallet to Rococo
      
      * zombienet: revert back to rococo-local
      
      * fmt
      
      * remove TODOs
      
      * revert some accidental changes
      
      * slashing is submodule of disputes
      
      * Change the log target
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * wrap comments with rustfmt, more docs, constants
      
      * use Defensive trait
      
      * cargo update -p sp-io
      
      * merge offence types, remove rewards for now
      
      * cargo update -p sp-io
      
      * benchmark fixes
      
      * fmt
      
      * unused var
      
      * fix block_author impl
      
      * ressurect RewardValidators trait
      
      * remove outdated comment
      
      * more module docs
      
      * introduce BenchmarkingConfig
      
      * typo fix
      
      * teach spellcheck unapplied
      
      * use Weight::new()
      
      * fix mocking rewards
      
      * use RefTimeWeight
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev runtime_parachains::disputes::slashing
      
      * refactor maybe_identify_validators
      
      * no more ticket in disguise
      
      * remove outdated comments
      
      * lower against valid to 0.1%
      
      * bump zombienet version for debug
      
      * use from_perthousand
      
      * post-merge fixes
      
      * another day, another Weight changes
      
      * Revert "bump zombienet version for debug"
      
      This reverts commit 0d9978711f8ec9a746a5e1c45e8ffbe7c75e7b5c.
      
      * do not reward block authors
      
      * fix outdated comment
      
      * use Pays from frame_support::dispatch::Pays
      
      * add timeout to is up
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      Co-authored-by: default avatarJavier Viola <[email protected]>
      18c077a8
  7. Jun 14, 2022
  8. Mar 09, 2022
    • asynchronous rob's avatar
      Finish migration to v2 primitives (#5037) · 49f7e5cc
      asynchronous rob authored
      * remove v0 primitives from polkadot-primitives
      
      * first pass: remove v0
      
      * fix fallout in erasure-coding
      
      * remove v1 primitives, consolidate to v2
      
      * the great import update
      
      * update runtime_api_impl_v1 to v2 as well
      
      * guide: add `Version` request for runtime API
      
      * add version query to runtime API
      
      * reintroduce OldV1SessionInfo in a limited way
      49f7e5cc
  9. Feb 25, 2022
  10. Feb 03, 2022
  11. Oct 05, 2021
  12. Sep 23, 2021