georgepisaltu
7d735fc8ae
Add simple collator election mechanism ( #1340 )
...
Fixes https://github.com/paritytech/polkadot-sdk/issues/106
Port of cumulus PR https://github.com/paritytech/cumulus/pull/2960
This PR adds the ability to bid for collator slots even after the max
number of collators have already registered. This eliminates the first
come, first served mechanism that was in place before.
Key changes:
- added `update_bond` extrinsic to allow registered candidates to adjust
their bonds in order to dynamically control their bids
- added `take_candidate_slot` extrinsic to try to replace an already
existing candidate by bidding more than them
- candidates are now kept in a sorted list in the pallet storage, where
the top `DesiredCandidates` out of `MaxCandidates` candidates in the
list will be selected by the session pallet as collators
- if the candidacy bond is increased through a `set_candidacy_bond`
call, candidates which don't meet the new bond requirements are kicked
# Checklist
- [ ] My PR includes a detailed description as outlined in the
"Description" section above
- [ ] My PR follows the [labeling
requirements](https://github.com/paritytech/polkadot-sdk/blob/master/docs/CONTRIBUTING.md#process )
of this project (at minimum one label for `T` required)
- [ ] I have made corresponding changes to the documentation (if
applicable)
- [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)
- [ ] If this PR alters any external APIs or interfaces used by
Polkadot, the corresponding Polkadot PR is ready as well as the
corresponding Cumulus PR (optional)
---------
Signed-off-by: georgepisaltu <george.pisaltu@parity.io >
2023-11-14 18:22:30 +02:00
Przemek Rzad
bfb241d7f3
Add missing licenses and tune the scanning workflow ( #1288 )
...
* Add missing Cumulus licenses
* Typo
* Add missing Substrate licenses
* Single job checking the sub-repos in steps
* Remove dates
* Remove dates
* Add missing (C)
* Update FRAME UI tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update more UI tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-08-30 15:45:49 +03:00
Oliver Tale-Yazdi
6c79b58567
Use same fmt and clippy configs as in Polkadot ( #3004 )
...
* Copy rustfmt.toml from Polkadot master
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Format with new config
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add Polkadot clippy config
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update Cargo.lock
Looks like https://github.com/paritytech/polkadot/pull/7611 did not
correctly update the lockfile. Maybe a different Rust Version?!
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-08-14 20:30:12 +00:00
joe petrowski
5a8134029a
Better Handling of Candidates Who Become Invulnerable ( #2801 )
...
* remove candidate when to invulnerable
* fix
* candidates to collators
* make parameters consistent and more reasonable
* add call to kick invulnerable candidates
* factor removal into weight
* fix: use accrue instead of add
* make set_invulnerables non-atomic
* benchmark add_invulnerable to account for candidate removal
* don't remove from candidates with set_invulnerables
* fix bounds on benchmarking
* protect against zero min invulnerables underflow
* extra event and tests
* make candidates/invulnerables self-cleaning on session change
* add integrity test
* unused imports
* make rococo-contracts have 1 collator
2023-07-07 11:18:27 +00:00
joe petrowski
23584c7b42
Add Ability to Add/Remove Invulnerable Collators ( #2596 )
...
* add add and remove invulnerable dispatchables
* add migration
* fix benchmarking code
* add weights
* add migration to runtimes
* clippy
* pass SafeCallFilter
* make try-runtime work
* typos
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com >
* better insert and added test
* fix try-runtime update
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <git@kchr.de >
* Update pallets/collator-selection/src/migration.rs
* check events in test
* Update pallets/collator-selection/src/migration.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* just dispatchresult
* only sp_std for try-runtime
---------
Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com >
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2023-05-29 13:03:48 +00:00
Oliver Tale-Yazdi
299d25ba4b
Fix Clippy ( #2522 )
...
* Import Clippy config from Polkadot
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Auto clippy fix
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* No tabs in comments
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Prefer matches
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Dont drop references
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Trivial
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Refactor
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* add clippy to ci
* Clippy reborrow
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update client/pov-recovery/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Update client/pov-recovery/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de >
* Partially revert 'Prefer matches'
Using matches! instead of match does give less compiler
checks as per review from @chevdor.
Partially reverts 8c0609677f3ea040f77fffd5be6facf7c3fec95c
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update .cargo/config.toml
Co-authored-by: Chevdor <chevdor@users.noreply.github.com >
* Revert revert 💩
Should be fine to use matches! macro since it is an explicit whitelist,
not wildcard matching.
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: alvicsam <alvicsam@gmail.com >
Co-authored-by: Bastian Köcher <git@kchr.de >
Co-authored-by: Chevdor <chevdor@users.noreply.github.com >
Co-authored-by: parity-processbot <>
2023-05-06 08:01:03 +02:00
Oliver Tale-Yazdi
70a0864e4c
Migrate to Weight::from_parts ( #2245 )
...
* Migrate to from_parts
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix remaining files
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* cargo update -p polkadot-primitives
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* cargo update -p sp-io
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use Master Cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* cargo update -p polkadot-primitives
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* cargo update -p sp-io
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-03-03 12:47:23 +00:00
Keith Yeung
36e721bf2a
Companion for paritytech/substrate#12157 ( #1590 )
...
* Remove RefTimeWeight
* [ci] Apply cargo-fmt
* update lockfile for {"substrate", "polkadot"}
Co-authored-by: paritytech-ci <paritytech-ci@parity.io >
Co-authored-by: parity-processbot <>
2022-09-02 19:36:55 +00:00
Shawn Tabrizi
2c1e88522c
Companion for Weight v1.5 Follow Up ( #1584 )
...
* fixes
* oopsie
* [ci] Apply cargo-fmt
* fixes
* [ci] Apply cargo-fmt
* fixes
* fix cumulus template
* fix merge
* update lockfile for {"polkadot", "substrate"}
Co-authored-by: paritytech-ci <paritytech-ci@parity.io >
Co-authored-by: parity-processbot <>
2022-09-01 19:25:05 +00:00
Shawn Tabrizi
48d4f1c57d
Companion for Weight v1.5 ( #1581 )
...
* cargo test -p cumulus-primitives-utility
* cargo test -p cumulus-pallet-xcmp-queue
* cargo test -p cumulus-pallet-xcm
* cargo test -p cumulus-pallet-dmp-queue
* cargo test -p pallet-template
* cargo test -p cumulus-test-runtime
* fix weights
* fix more weights
* cargo test -p parachains-common
* cargo test -p parachain-template-runtime
* fix weights import
* cargo test -p collectives-polkadot-runtime
* cargo test -p contracts-rococo-runtime
* more
* unused
* fixes
* Update benchmarking.rs
* Update lib.rs
* Update lib.rs
* fix
* fix bug in conversion
* update lockfile for {"polkadot", "substrate"}
Co-authored-by: parity-processbot <>
2022-08-31 12:24:42 +00:00
Chevdor
6b20f7a2c5
ci: add quick-check with rustfmt ( #615 )
...
* ci: add quick-check with clippy and rustfmt
* chore: rustfmt round
* chore: set the same rustfmt config than substrate
* chore: fix formatting
* cI: remove clippy
* ci: switch to nightly for the checks
* ci: fix toolchains and naming
* ci: Limit the check to formatting
* chore: fix formatting
* Update .rustfmt.toml
* Update .rustfmt.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-09-16 16:57:52 +02:00
Gavin Wood
eaa9f64671
Add Statemint ( #452 )
...
* Add Statemint
* Versioning.
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Benchmarking
* kick patch (paritytech/statemin#88 )
* Westmint Chain Spec (paritytech/statemint#90 )
* Tidy the common .toml
* Update weights
* add westmint sudo key comment
* Port consensus stuff
* fix typo
* fix typo ... again
* Recognise Westmint
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-06-01 21:31:03 +02:00