Bound Election and Staking by MaxActiveValidators (#12436)
* bounding election provider with kian * multi phase implement bounded election provider * election provider blanket implementation * staking compiles * fix test for election provider support * fmt * fixing epmp tests, does not compile yet * fix epmp tests * fix staking tests * fmt * fix runtime tests * fmt * remove outdated wip tags * add enum error * sort and truncate supports * comment * error when unsupported number of election winners * compiling wip after kian's suggestions * fix TODOs * remove,fix tags * ensure validator count does not exceed maxwinners * clean up * some more clean up and todos * handle too many winners * rename parameter for mock * todo * add sort and truncate rule if there are too many winners * fmt * fail, not swallow emergency result bound not met * remove too many winners resolution as it can be guaranteed to be bounded * fix benchmark * give MaxWinners more contextual name * make ready solution generic over T * kian feedback * fix stuff * Kian's way of solvign this * comment fix * fix compile * remove use of BoundedExecution * fmt * comment out failing integrity test * cap validator count increment to max winners * dont panic * add test for bad data provider * Update frame/staking/src/pallet/impls.rs Co-authored-by:Kian Paimani <5588131+kianenigma@users.noreply.github.com> * fix namespace conflict and add test for onchain max winners less than desired targets * defensive unwrap * early convert to bounded vec * fix syntax * fmt * fix doc * fix rustdoc * fmt * fix maxwinner count for benchmarking * add instant election for noelection * fmt * fix compile * pr feedbacks * always error at validator count exceeding max winners * add useful error message * pr comments * import fix * add checked_desired_targets * fmt * fmt * fix rust doc Co-authored-by: parity-processbot <> Co-authored-by:
kianenigma <kian@parity.io> Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com>
Showing
- substrate/bin/node/runtime/src/lib.rs 16 additions, 10 deletionssubstrate/bin/node/runtime/src/lib.rs
- substrate/frame/babe/src/mock.rs 4 additions, 1 deletionsubstrate/frame/babe/src/mock.rs
- substrate/frame/election-provider-multi-phase/src/benchmarking.rs 2 additions, 6 deletions...e/frame/election-provider-multi-phase/src/benchmarking.rs
- substrate/frame/election-provider-multi-phase/src/lib.rs 89 additions, 75 deletionssubstrate/frame/election-provider-multi-phase/src/lib.rs
- substrate/frame/election-provider-multi-phase/src/mock.rs 25 additions, 24 deletionssubstrate/frame/election-provider-multi-phase/src/mock.rs
- substrate/frame/election-provider-multi-phase/src/signed.rs 46 additions, 2 deletionssubstrate/frame/election-provider-multi-phase/src/signed.rs
- substrate/frame/election-provider-support/src/lib.rs 80 additions, 57 deletionssubstrate/frame/election-provider-support/src/lib.rs
- substrate/frame/election-provider-support/src/onchain.rs 89 additions, 89 deletionssubstrate/frame/election-provider-support/src/onchain.rs
- substrate/frame/fast-unstake/src/mock.rs 5 additions, 4 deletionssubstrate/frame/fast-unstake/src/mock.rs
- substrate/frame/grandpa/src/mock.rs 4 additions, 1 deletionsubstrate/frame/grandpa/src/mock.rs
- substrate/frame/nomination-pools/benchmarking/src/mock.rs 1 addition, 1 deletionsubstrate/frame/nomination-pools/benchmarking/src/mock.rs
- substrate/frame/nomination-pools/test-staking/src/mock.rs 1 addition, 1 deletionsubstrate/frame/nomination-pools/test-staking/src/mock.rs
- substrate/frame/offences/benchmarking/src/mock.rs 4 additions, 1 deletionsubstrate/frame/offences/benchmarking/src/mock.rs
- substrate/frame/root-offences/src/mock.rs 4 additions, 1 deletionsubstrate/frame/root-offences/src/mock.rs
- substrate/frame/session/benchmarking/src/mock.rs 4 additions, 1 deletionsubstrate/frame/session/benchmarking/src/mock.rs
- substrate/frame/staking/src/lib.rs 4 additions, 0 deletionssubstrate/frame/staking/src/lib.rs
- substrate/frame/staking/src/mock.rs 5 additions, 1 deletionsubstrate/frame/staking/src/mock.rs
- substrate/frame/staking/src/pallet/impls.rs 54 additions, 25 deletionssubstrate/frame/staking/src/pallet/impls.rs
- substrate/frame/staking/src/pallet/mod.rs 45 additions, 10 deletionssubstrate/frame/staking/src/pallet/mod.rs
- substrate/frame/staking/src/tests.rs 54 additions, 0 deletionssubstrate/frame/staking/src/tests.rs
Please register or sign in to comment