Sam Johnson
ac3f14d23b
Tasks: general system for recognizing and executing service work ( #1343 )
...
`polkadot-sdk` version of original tasks PR located here:
https://github.com/paritytech/substrate/pull/14329
Fixes #206
## Status
- [x] Generic `Task` trait
- [x] `RuntimeTask` aggregated enum, compatible with
`construct_runtime!`
- [x] Casting between `Task` and `RuntimeTask` without needing `dyn` or
`Box`
- [x] Tasks Example pallet
- [x] Runtime tests for Tasks example pallet
- [x] Parsing for task-related macros
- [x] Retrofit parsing to make macros optional
- [x] Expansion for task-related macros
- [x] Adds support for args in tasks
- [x] Retrofit tasks example pallet to use macros instead of manual
syntax
- [x] Weights
- [x] Cleanup
- [x] UI tests
- [x] Docs
## Target Syntax
Adapted from
https://github.com/paritytech/polkadot-sdk/issues/206#issue-1865172283
```rust
// NOTE: this enum is optional and is auto-generated by the other macros if not present
#[pallet::task]
pub enum Task<T: Config> {
AddNumberIntoTotal {
i: u32,
}
}
/// Some running total.
#[pallet::storage]
pub(super) type Total<T: Config<I>, I: 'static = ()> =
StorageValue<_, (u32, u32), ValueQuery>;
/// Numbers to be added into the total.
#[pallet::storage]
pub(super) type Numbers<T: Config<I>, I: 'static = ()> =
StorageMap<_, Twox64Concat, u32, u32, OptionQuery>;
#[pallet::tasks_experimental]
impl<T: Config<I>, I: 'static> Pallet<T, I> {
/// Add a pair of numbers into the totals and remove them.
#[pallet::task_list(Numbers::<T, I>::iter_keys())]
#[pallet::task_condition(|i| Numbers::<T, I>::contains_key(i))]
#[pallet::task_index(0)]
pub fn add_number_into_total(i: u32) -> DispatchResult {
let v = Numbers::<T, I>::take(i).ok_or(Error::<T, I>::NotFound)?;
Total::<T, I>::mutate(|(total_keys, total_values)| {
*total_keys += i;
*total_values += v;
});
Ok(())
}
}
```
---------
Co-authored-by: Nikhil Gupta <17176722+gupnik@users.noreply.github.com >
Co-authored-by: kianenigma <kian@parity.io >
Co-authored-by: Nikhil Gupta <>
Co-authored-by: Gavin Wood <gavin@parity.io >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: gupnik <nikhilgupta.iitk@gmail.com >
2023-12-08 11:10:26 +05:30
Kian Paimani
35eb133baa
Ensure correct variant count in Runtime[Hold/Freeze]Reason ( #1900 )
...
closes https://github.com/paritytech/polkadot-sdk/issues/1882
## Breaking Changes
This PR introduces a new item to `pallet_balances::Config`:
```diff
trait Config {
++ type RuntimeFreezeReasons;
}
```
This value is only used to check it against `type MaxFreeze`. A similar
check has been added for `MaxHolds` against `RuntimeHoldReasons`, which
is already given to `pallet_balances`.
In all contexts, you should pass the real `RuntimeFreezeReasons`
generated by `construct_runtime` to `type RuntimeFreezeReasons`. Passing
`()` would also work, but it would imply that the runtime uses no
freezes at all.
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-10-24 12:01:04 +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
811189174d
Fix experimental aura config and comment tests ( #3057 )
...
* Fix aura config
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix Cargo.toml files
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Ignore feature-dependant tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Allow dead code
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-08-24 18:39:32 +00:00
Juan
3513b7e019
Replace Index for Nonce ( #2740 )
...
* replace Index for Nonce
* update lockfile for {"substrate", "polkadot"}
---------
Co-authored-by: parity-processbot <>
2023-07-14 08:46:49 +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
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
asynchronous rob
08d0acf10e
Update all uses of pallet-aura to disallow multiple blocks per slot ( #2707 )
...
* Update all uses of pallet-aura to disallow multiple blocks per slot
* use ConstBool
* update lockfile for {"substrate", "polkadot"}
---------
Co-authored-by: parity-processbot <>
2023-06-09 21:47:35 +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
Bastian Köcher
490ab62a6d
Companion for: Substrate#13869 ( #2631 )
...
* Companion for: Substrate#13869
https://github.com/paritytech/substrate/pull/13869
* Fix
* Warning
* update lockfile for {"polkadot", "substrate"}
---------
Co-authored-by: parity-processbot <>
2023-05-24 23:19:28 +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
Gavin Wood
3b8978f1bd
Deprecate Currency: Companion for #12951 ( #2334 )
...
* Fix APIs
* Reflect API changes
* Everything builds
* Fixes
* Fixes
* Update Cargo.toml
* Fixes
* Fixes
* No networks use freezes/holds
* update lockfile for {"polkadot", "substrate"}
* Fix test
ED cannot be zero anymore.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix test
---------
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-03-20 16:52:21 +00: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
Branislav Kontur
c3df7db394
BridgeHubKusama - initial setup - (chain_spec + basic runtime without any bridging pallets) ( #1764 )
...
* [BridgeHub] Setup Rococo backbone parachain
* [BridgeHub] Setup Wococo parachain backbone (reused from Rococo)
[Bridge-Backport] Rebase-fix
BridgeHub] Added zombienet startup tomls for Rococo/Wococo
Fix typo
* [BridgeHub] Added chain_spec for live Rococo/Wococo
* [BridgeHub] Clean bridge-hub-rococo runtime
* [BridgeHub] Add bridge-hub-rococo to CI pipelines
* [BridgeHub] Added bridge-hub-kusama - empty runtime/chain_spec setup
* Fixes
* Fixes for BH
* Fixes for other runtimes - align all
* Fixes - const
* Fixes const
* Fixes
* Fix kusama-local
* Sample zombienet runs
* Fixes
* Fixes for benchmarking
* Fixes CI
* Fixes
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs frame_system
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_collator_selection
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_balances
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_session
* Fixes name
* Fixes readme
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_timestamp
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs cumulus_pallet_xcmp_queue
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_collator_selection
* Fixes
* Fixes
* rustfmt
* Fixes
* Added pallet_utility/pallet_multisig
* Blind try for regex pr-custom-review.yml (added bridge-hub-kusama + collectives-polkadot)
* Fixes
* Fixes
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_utility
* ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_multisig
* Trying to fix sed expression?
* Added license headers + correct "DAG:" desc
Co-authored-by: command-bot <>
2022-12-02 14:06:39 +01: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
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
Gavin Wood
0f10bb0aea
Companion for #10403 : Remove Default for AccountId ( #842 )
...
* author is Some
* Bump
* Lockfile
* Fixes
* Fixes
* Fixes
* Fixes
* Bump
* Update Cargo.lock
* bump substrate and polkadot
* fmt
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-12-14 09:07:51 +00:00
Gavin Wood
90a7d1146a
Companion for #10382 (Insufficient asset quotes and deposits) ( #804 )
...
* MaxConsumers
* Fixes
* Fixes
* Fixes
* Fixes
* Bump
* Fixes
* Fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-12-09 17:24:32 +01:00
Guillaume Thiolliere
9a76627938
companion for pallet order fix ( #711 )
...
* companion
* Run cargo update
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2021-12-01 01:51:58 +00:00
Dan Shields
3284976a1b
Tweaks from template downstream review #80 ( #705 )
...
* tweaks from template downstream review #80
* more tweaks
* Update parachain-template/node/src/command.rs
* tweaks to template and other chainspecs
* fmt
* update more tweaks from downstream
* fix build
2021-11-11 19:20:39 +00:00
Alexander Popiak
2647053fd3
Upstream Statemine v4 Changes ( #649 )
...
* bump runtime spec version
* remove applied runtime migrations
* bump transaction_version
necessary because of extrinsic API changes to pallet-xcm
https://github.com/paritytech/polkadot/pull/3693
* Fix Benchmarks for Statemine-V4 release (#639 )
* register validators
* register_as_candidate & leave_intent fixed
* new_session benchmark fixed
* intent_leave_modified
* clean up
* clean up
* benchmark script updated
* update cargo.lock
* done
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Version bump (#648 )
* Version bump
fix #646
* Revert "Version bump"
This reverts commit 07517e0e76a37a1dd67176fec0524d0211666635.
* Bump polkadot-collator version
* Update polkadot-parachains/Cargo.toml
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Update deps
* Bump version to 4.0.0
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* cargo toml fix
* update deps and remove DisabledValidatorThreshold
* cargo +nightly fmt
* fix compile error
* fix client tests after Polkadot update
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com >
Co-authored-by: Chevdor <chevdor@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-10-11 10:27:49 +02: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
Robert Habermeier
cdbd4c12af
bump deps, fix aura-ext pallet, and fill in stubs for XCM ( #600 )
...
* bump deps, fix aura-ext pallet, and fill in stubs for XCM
* response handler, asset trap, asset claims
* subscription_service
* update xcmp-queue mock
* fix tests
* Update polkadot deps
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-09-04 14:57:48 -05:00
Gavin Wood
3f020f4540
Companion to #9514 (Remove Filter and use Contains instead) ( #566 )
...
* Remove Filter and use Contains instead
* Fixes
* Remove patch
* Bump Polkadot
* bump
2021-08-09 18:07:37 +02:00
Bastian Köcher
9a0cfd9117
Update Substrate & Polkadot ( #563 )
2021-08-05 20:53:32 +02:00
Bastian Köcher
8d21ce602c
Update Substrate & Polkadot ( #540 )
2021-07-20 16:11:56 +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
Sergei Shulepov
1f3458a0e3
WIP: Update Substrate & Polkadot ( #496 )
...
* WIP: Update Substrate
* Update Substrate & Polkadot
* fixes
* more fixes
* few missing origins
* use spawn_essential_handle
* bump polkadot dep
* remove newlines
* fix test
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-06-17 09:37:03 +02:00
Xiliang Chen
0a5dbafd53
update substrate & polkadot ( #472 )
...
* update substrate
* try again
2021-06-04 16:43:29 +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