staking: only disable slashed validators and keep them disabled for whole era (#9448)

* session: remove disabled validators threshold logic

* staking: add logic to track offending validators

* staking: disable validators for the whole era

* frame: fix tests

* staking: add tests for disabling validators handling

* staking: fix adding offending validator when already slashed in era

* address review comments

* session, staking: add comments about sorted vecs

Co-authored-by: Andronik Ordian <write@reusable.software>
This commit is contained in:
André SilvaandAndronik Ordian authored and GitHub committed 2021-10-06 16:22:34 +00:00
1 parent 12e9e7ceb3
commit 7e5c022aea
25 files changed
+282 -134

No files matched your search

@@ -109,7 +109,7 @@ pub trait OneSessionHandler<ValidatorId>: BoundToRuntimeAppPublic {
fn on_before_session_ending() {}
/// A validator got disabled. Act accordingly until a new session begins.
fn on_disabled(_validator_index: usize);
fn on_disabled(_validator_index: u32);
}
/// Something that can estimate at which block the next session rotation will happen (i.e. a new