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
Juan
8349c8d18a
Companion: restructure macro related exports ( #3015 )
...
* restructure macro related exports
* restructure macro related exports
* wip
* wip
* update cargo lock
* refactor RuntimeDebug on unincluded segment
* fmt
* Companion: restructure `benchmarking` macro related exports (#3039 )
* wip
* wip
* restructure benchmarking macro related exports
* add cargo lock
---------
Co-authored-by: parity-processbot <>
2023-08-23 11:35:12 +00:00
gupnik
24d6e46ad0
Moves Block to frame_system instead of construct_runtime and removes Header and BlockNumber ( #2790 )
...
* Fixes
* Removes unused import
* Uses Block and removes BlockNumber/Header from Chain
* Fixes bridges
* Fixes
* Removes unused import
* Fixes build
* Uses correct RelayBlock
* Minor fix
* Fixes glutton-kusama
* Uses correct RelayBlock
* Minor fix
* Fixes benchmark for pallet-bridge-parachains
* Adds appropriate constraints
* Minor fixes
* Removes unused import
* Fixes integrity tests
* Minor fixes
* Updates trait bounds
* Uses custom bound for AsPrimitive
* Fixes trait bounds
* Revert "Fixes trait bounds"
This reverts commit 0b0f42f583f3a616a88afe45fcd06d31e7d9a06f.
* Revert "Uses custom bound for AsPrimitive"
This reverts commit 838e5281adf8b6e9632a2abb9cd550db4ae24126.
* No AsPrimitive trait bound for now
* Removes bounds on Number
* update lockfile for {"substrate", "polkadot"}
* Formatting
* ".git/.scripts/commands/fmt/fmt.sh"
* Minor fix
---------
Co-authored-by: parity-processbot <>
2023-07-13 13:30:28 +00:00
Michal Kucharczyk
94d2e4bc28
GenesisBuild<T,I> deprecated. BuildGenesisConfig added (#2757 )
...
* GenesisBuild<T,I> deprecated. BuildGenesisConfig added
* ".git/.scripts/commands/fmt/fmt.sh"
* integration-tests/emulated: ..Default::default added to genesis configs
* Cargo.lock updated
* Cargo.lock updated
* update lockfile for {"polkadot", "substrate"}
* clippy fixes
* clippy fixes
* clippy fixes again
---------
Co-authored-by: command-bot <>
2023-07-12 12:00:17 +00:00
Bastian Köcher
43a4f0345e
collator-selection: Optimize length decoding ( #2851 )
...
Instead of loading always the entire `Vec` into the runtime to just decode the length, we can
directly use `decode_len` to get this info.
2023-07-11 15:15:04 +02: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
Guillaume Yu Thiolliere
c519c78809
minor refactor ( #2733 )
2023-06-14 12:43:41 +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
Michal Kucharczyk
4909cbb5b1
pallets: implement Default for GenesisConfig in no_std ( #2624 )
...
* pallets: implement Default for GenesisConfig in no_std
This change is follow-up of: https://github.com/paritytech/substrate/pull/14108
It is a step towards: https://github.com/paritytech/substrate/issues/13334
* ".git/.scripts/commands/fmt/fmt.sh"
* update lockfile for {"substrate", "polkadot"}
---------
Co-authored-by: command-bot <>
2023-05-25 23:03:13 +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
Vivek Pandya
9f09109eaf
Remove use of trait Store ( #2286 )
...
* Remove use of Store trait from xcmp-queue pallet
* Remove Store trait usage from dmp-queue pallet
* Remove Store trait usage from parachain-system pallet
* Remove use of Store trait from cumulus
* Run cargo fmt
2023-03-13 22:30:20 +01:00
Bastian Köcher
51f1833cce
Companion: Remove uncles related code ( #2126 )
...
* Companion: Remove `uncles` related code
https://github.com/paritytech/substrate/pull/13216
* update lockfile for {"polkadot", "substrate"}
---------
Co-authored-by: parity-processbot <>
2023-01-29 22:17:24 +00:00
Squirrel
fbce6fe120
Expect less chaos: use explicit call indices ( #1984 )
...
* Expect less chaos: set call index explicitly.
* mark test pallet as dev mode so explicit call indicies are not required.
* Fix 'dev_mode' syntax
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 >
2022-12-20 12:04:56 +00:00
Sergej Sakac
d53444ef81
Rename Origin ( #1628 )
...
* Rename Origin
* more renaming
* fixes
* fix errors
* last fix?
* rename
* Update mock.rs
* update lockfile for {"polkadot", "substrate"}
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: parity-processbot <>
2022-09-20 23:17:31 +00:00
Keith Yeung
2072bdf777
Companion for paritytech/substrate#12219 ( #1610 )
...
* Remove CanAuthorWith trait
CanAuthotWith trait removed. Also all dependencies, parameters, type
paramers were removed. This is related to removal of native runtime.
* Companion for paritytech/substrate#12219
* Fixes
* polkadot-runtime-common updated
cargo update -p polkadot-runtime-common
* warning fixed
* Update cid
* update lockfile for {"polkadot", "substrate"}
* Update substrate
* update lockfile for {"polkadot", "substrate"}
* Update polkadot
* Fix tests
* 🤦
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com >
Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <info@kchr.de >
2022-09-14 07:59:03 +00:00
Sergej Sakac
68ba7e544d
Companion for #11981 ( #1563 )
...
* Companion for #11981
* rename
* Event to RuntimeEvent in imports
* missed rename
* undo
* revert
* rename type Call & Event
* commit
* ...
* fix
* fix errors
* fixes
* fmt
* fix imports
* final fix?
* fmt
* fix?
* fixes after merge
* small fix
* cargo update -p polkadot-runtime-common
* cargo +nightly fmt
* update lockfile for {"polkadot", "substrate"}
* fix
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: parity-processbot <>
2022-09-12 23:55:33 +00:00
Keith Yeung
f4bd86e98e
Bounded collator selection pallet ( #1337 )
...
* Bounded collator selection pallet
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Squirrel <gilescope@gmail.com >
Co-authored-by: Squirrel <gilescope@gmail.com >
2022-06-14 12:36:14 +00:00
Squirrel
c7ef5f6a6b
Use named events in cumulus pallets ( #1260 )
...
* Use named events
* For now standardise on message_id
* cargo fmt
* reverting xcm changes
* remove superfluous comments
* renaming
* updating benches
2022-05-23 08:23:27 +00:00
Shawn Tabrizi
6ceca1d373
Companion for Substrate #10719 (Into Account Truncating) ( #1262 )
...
* into account truncating
* more truncating
* Update Cargo.lock
2022-05-17 22:29:38 +00:00
Squirrel
51d65e73c7
collator-selection pallet tidy ( #1093 )
...
* One less collect + clippy suggestions.
* No need to index into collection
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2022-03-16 19:10:41 +00:00
Bastian Köcher
98f0e87daf
CI: Check that rustdocs can be generated ( #972 )
2022-02-09 13:24:42 +01:00
omadoyeabraham
de8462ec2b
Ensure invulnerables have associated validator keys before they are set ( #812 )
...
* Added check to ensure invulnerables have associated validator keys before they are set
* Added check to ensure invulnerables have associated validator keys before they are set
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* Added test for associated validators when setting invulnerables
* FMT
Co-authored-by: Omadoye Abraham <abraham.o@turing.com >
Co-authored-by: Ricardo Rius <9488369+riusricardo@users.noreply.github.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
2022-02-07 16:42:37 +00:00
Oliver Tale-Yazdi
7b2b99eefe
co #4746 : Require MaxEncodedLen per default ( #917 )
...
* Add `without_storage_info`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add `without_storage_info`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add `without_storage_info`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add `without_storage_info`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* update lockfile for {"polkadot"}
* Run `cargo update -p sp-io`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: parity-processbot <>
2022-01-20 13:51:37 +00:00
Squirrel
cc025953ac
Add collator selection tool tips ( #900 )
...
* First doc lines should show as tool tips
* Update pallets/collator-selection/src/lib.rs
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
* moving comment onto storage
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com >
2022-01-19 17:42:09 +01: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
Andrew Jones
e3eb3a0a12
Metadata v14 (companion to #3336 ) ( #564 )
...
* Remove event pallet::metadata attributes
* Add scale-info deps, TypeInfo derives, update call variants
* Update metadata runtime APIs
* Add missing scale_info dependency, update rococo runtime API
* Add missing scale_info dependency
* Remove pushed diener patches
* Cargo.lock
* Add missing scale-info dependencies
* Fixes
* Statemint runtime fixes
* Call struct variant empty matches
* Add missing scale-info dependency
* Fixes
* scale-info 1.0
* cargo update -p xcm
* update lock
* Update Cargo.lock
* update to latest polkadot
* remove rpc_http_threads
https://github.com/paritytech/substrate/pull/9737
* replace task executor with tokio handler
https://github.com/paritytech/substrate/pull/9737
* fix test compilation?
* Update Cargo.lock
* cargo update
* remove unused
* Update substrate and polkadot
* Update test/client/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-09-16 12:11:05 +02:00
zjb0807
9a1e8af944
Fix CandidateRemoved event ( #503 )
2021-06-22 18:59:54 +02:00
JesseAbram
5aca3b54d8
min collator check ( #498 )
...
* min collator check
* change statemint/mine min candidates
* Ci pass
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Apply suggestions from code review
* build fixes
* add error messages to errors
* added validator register check
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-06-22 18:59:14 +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