Michal Kucharczyk
3d008cd074
pallets: implement Default for GenesisConfig in no_std ( #7271 )
...
* 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
* Cargo.lock updated
* update lockfile for {"substrate"}
---------
Co-authored-by: parity-processbot <>
2023-05-25 22:26:02 +00:00
Liam Aharon
418e95d4c8
Ensure all StorageVersions on Rococo/Westend are correct and migration hooks pass ( #7251 )
...
* set fastunstake storage version
* fix configration migration hooks
* set missing rococo versions
* remove child bounties version set
* future proof this configuration migration
* simplify rococo migration
* simplify westend version migration
* typo
* restore missing comments
* set configuration storage version correctly
* remove redundant preupgrade version check
* fix version checks
* remove redundant comment
2023-05-23 08:47:27 +00:00
Gavin Wood
400864c352
Use Message Queue pallet for UMP dispatch ( #6271 )
...
* Add ProcessXcmMessage struct
* Migrate away from weights in host config
* New well-known key to report UMPQ capacity
* Add missing file
* Fixes
* Remove original UMP files
* Docs
* Update runtime/parachains/src/inclusion/mod.rs
Co-authored-by: asynchronous rob <rphmeier@gmail.com >
* Add benchmarking
* Benchmarks
* Mock example of using the QueueChangeHandler to update the WKK
* Use master Cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Merge remote-tracking branch 'origin/master' into gav-message-queue
* Update Cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update remove-weight migration
The migration got touched on master; just resolving conflicts here.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add message- to dispatch-origin conversion for XCM processing
Just using the `impl Into<MultiLocation>` was a bit inflexible.
Like this, the Relaychain can convert `UMP(para)` to a MultiLocation `para`.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* DNM: Temporarily comment code since XCMv3 is not merged yet
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use u64 for queue-wide limits on UmpAcceptanceCheckErr
Using u32 here was one audit finding for the queue pallet.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Define one sub-queue per *MP queue
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Harden check_upward_messages
Using safe math and casts.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add type-safe well_known_keys
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add message-queue weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Deploy MessageQueue to Polkadot
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update Cargo.toml
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Migrate to parachain config V5
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update UMP tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert messed up merge 🤦
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update remove-weight migration
The migration got touched on master; just resolving conflicts here.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add message- to dispatch-origin conversion for XCM processing
Just using the `impl Into<MultiLocation>` was a bit inflexible.
Like this, the Relaychain can convert `UMP(para)` to a MultiLocation `para`.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* DNM: Temporarily comment code since XCMv3 is not merged yet
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use u64 for queue-wide limits on UmpAcceptanceCheckErr
Using u32 here was one audit finding for the queue pallet.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Define one sub-queue per *MP queue
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Harden check_upward_messages
Using safe math and casts.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add type-safe well_known_keys
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add message-queue weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Deploy MessageQueue to Polkadot
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update Cargo.toml
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Migrate to parachain config V5
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update UMP tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Make stuff compile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Move DMP and HRMP messages to the MessageQueue
It currently does not compile in the CIbecause of some local
tweaks to Substrate.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Diener for CI
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* diener update cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert wrong changes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "DNM: Temporarily comment code since XCMv3 is not merged yet"
This reverts commit 820aa235cb21dd1d2621843607f7682bf035434e.
* Make compile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixup runtimes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Define benchmarks
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix migration
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 >
* Lockfile
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix test
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add AggregateMessageOrigin
This enum currently only holds one value, but having it will make
it easier in the future to extend.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Forbid UMP for off-boarding paras
- Reject candidates with UMP messages for off-boarding paras
- Forbid scheduling off-boarding when a para has unprocess UMPs
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Delete stupid test
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use BoundedVec for upward messages
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add weights and fix MessageProcessor
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Bound receive_upward_messages and check bound in configuration pallet
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Bound Debug impl
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* clippy
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix test runtime
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix xcm-simulator
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Properly fix xcm-simulator and fuzzer
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
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 >
* Adapt to upstream Substrate changes
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix ProcesseMessage impls
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Some tests
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 sp-io
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use new MQ API
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix test
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update Cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add UMP while Para offboarding tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use Mocked message processor for benchmarking
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use variables for constants
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add MQ pallet weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use MQ pallet weights
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Configure QueueChangeHandler
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add config test
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix MQ serive weight
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Cleanup outgoing UMP dispatch queues
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 >
* Update Cargo.lock
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Weight mul is not const
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Clippy
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove merge marker
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update runtime/parachains/src/inclusion/mod.rs
Co-authored-by: Gavin Wood <gavin@parity.io >
* Update runtime/kusama/src/lib.rs
Co-authored-by: Gavin Wood <gavin@parity.io >
* Use lowercase UMP
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Clarify comment
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use Weight::from_parts
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix test
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix doc
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Emit event after the fact
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add defensive_proof to receive_upward_messages
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Reapply "Remove original UMP files"
Looks like they came back from the dead. Re-apply commit cf6d316f0
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove old files
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Rename MaxUmpMessageLen -> MaxUmpMessageLenOf
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Test defensive message dropping of receive_upward_messages
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixup imports
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Update implementors guide
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove FAIL-CI mark
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Delete unused code
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add another test for MQ change hook
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Imports
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Keep Kusama runtime formatting
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Delete unused code"
This reverts commit dd76bca5025b7e1ef846a9539c3607eed185f16a.
* Feature gate mock functions
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Review: Use saturating_add
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Test RelayDispatchQueueSize storage key
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Move migration to own file to avoid merge conflicts
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Migration in own file
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixup migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Rococo: configure MQ pallet
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixup tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Rococo: configure MQ pallet"
Going to do this as follow up, since it needs Substrate changes
and i dont want to stall this MR any longer.
This reverts commit b9c15e8a8339c4e877d654ee3f09903af4210736.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Fixup tests"
This reverts commit 88f1cbe20774d20e5e1e554e798960ae39437af1.
* Fixup migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix CI
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix other migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Bump MAX_CODE_SIZE to 10MiB
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add ForceUpdateUmpLimits migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* clippy
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* clippy
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* imports
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use defensive instead of defensive_proof
'defensive_proof' also prints the 'self', which spams the console
too much when running the tests. Just the length is enough.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Rename to ScheduleConfigUpdate
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixup migration checks
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add MAX_CODE_SIZE to ScheduleConfigUpdate
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Set MAX_CODE_SIZE to 4MiB
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix benchmark
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix formatting
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Add MAX_CODE_SIZE to ScheduleConfigUpdate"
This reverts commit 7caffb09e83083b57affd548215e45b25c3d64dc.
* Revert "Set MAX_CODE_SIZE to 4MiB"
This reverts commit 103ffbaf686487d2fbe0082a16826af17cacc1a1.
* Revert "Bump MAX_CODE_SIZE to 10MiB"
This reverts commit 530734b7b0da5b7680054e0242348fcc79a666fe.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove consistency check from migration
Re-addig these checks is blocked on https://github.com/paritytech/polkadot/issues/7108
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix constants
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Bump MAX_UPWARD_MESSAGE_SIZE_BOUND for Westend
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix migrations
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use old nightly for fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixes
* cargo fmt
* Fix tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix tests
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fixes
* Add MQ pallet to fuzzer
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix XMC simulator example
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove runtime-benchmarks from fuzzers
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Revert "Remove runtime-benchmarks from fuzzers"
This reverts commit e1f2bb01b6dea2dd465539d3658719895b58b557.
* Fix example simulator
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add V6 migration and remove old ones
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Actually make old migrations reusable
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Dont delete old migrations
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Future proof AggregateMessageOrigin and review fixes
There are indications that Loopback and Bridged will be needed soon.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* More cleanup
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fmt
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* fix benchmarks
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix fuzzer build
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Review
Co-authored-by: muharem <ismailov.m.h@gmail.com >
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove old migration
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Set MQ service weight to 20%
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Fix tabs in Markdown
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: asynchronous rob <rphmeier@gmail.com >
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2023-05-19 16:14:13 +00:00
s0me0ne-unkn0wn
0211c4b2f7
Enable changing executor params through governance ( #6934 )
...
* Add a pallet call to change executor params
* Use `OptionQuery`; Avoid runtime panic
* Move pending executor params to `configuration`
* Move `ExecutorParams` to `HostConfiguration` structure
* Add executor params to the v5 migration
* Add an `ExecutorParams` benchmark
* ".git/.scripts/commands/bench/bench.sh" runtime polkadot runtime_parachains::configuration
* Add to `WeightInfo`
* Add dummy weights to other networks
* ".git/.scripts/commands/bench/bench.sh" runtime kusama runtime_parachains::configuration
* ".git/.scripts/commands/bench/bench.sh" runtime rococo runtime_parachains::configuration
* ".git/.scripts/commands/bench/bench.sh" runtime westend runtime_parachains::configuration
* Use real weight
* Fix comment
---------
Co-authored-by: command-bot <>
2023-04-14 11:21:12 +00:00
s0me0ne-unkn0wn
64660ee8d2
Remove years from copyright notes ( #7034 )
...
* Happy New Year!
* Remove year entierly
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove years from copyright notice in the entire repo
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2023-04-08 20:38:35 +00:00
Chris Sosnin
16e4661446
configuration: backport async backing parameters from the feature branch ( #6961 )
...
* Backport async backing params primitive
* migration follow-up
* link pr
* parameters -> params
* rustfmt::skip block ident
2023-03-28 14:55:24 +00:00
Andrei Sandu
bd209c2d70
inherent disputes: remove per block initializer and disputes timeout event ( #6937 )
...
* Limit disputes weight and remove initializer code
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* const
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* remove timeout test
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* review feedback #1
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Remove the new weight limiting for disputes
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* cargo lock
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Remove dispute_conclusion_by_time_out_period
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Enable migrations
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Update guide
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Fix comment
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* More guide fixes
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* Also migrate pending configs
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* fix build
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
* fix test
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
---------
Signed-off-by: Andrei Sandu <andrei-mihail@parity.io >
2023-03-24 12:48:56 +01:00
Mira Ressel
058082fcb0
tweak some pattern matches to address a new clippy warning
2023-03-20 16:36:06 +01:00
Vivek Pandya
87db25ce01
Remove use of Store trait ( #6835 )
...
* Remove use of Store trait from runtime directory
* Remove Store trait usage from xcm directory
* Run cargo fmt
* update lockfile for {"substrate"}
---------
Co-authored-by: parity-processbot <>
2023-03-13 16:11:22 +00:00
Marcin S
d5a7991429
Use a BoundedVec in ValidationResult ( #6603 )
...
* Use a `BoundedVec` in `ValidationResult`
> Use a `BoundedVec` for `upward_messages` and `horizontal_messages` in order to
> limit the number of individual messages/memory allocations right at decoding
> time. The reason for this is that the `ValidationResult` may contain a code
> upgrade (including a full PVF binary), so the total size limit can't be set
> too low and this limit will still allow several millions of upward messages,
> which will (due to the memory allocator overhead) already have a
> non-negligible memory footprint in decoded form.
* List all fields when hashing so we don't miss one
* Define types for `BoundedVec`s of messages
* Fix test compile errors
* Depend on `bounded-collections` 0.1.4 (fixes allocation issue)
* Fix compilation issue
* Derive `Hash` instead of manual `impl`
* Avoid use of unwrap
2023-02-16 15:08:56 +00:00
s0me0ne-unkn0wn
1cb1d03c08
Re-export current primitives in crate root ( #6487 )
...
* Re-export current primitives in crate root
* Add missing exports
* restart CI
2023-01-11 11:28:12 +00:00
Tsvetomir Dimitrov
ed9a1a400e
disputes pallet: Remove spam slots ( #6345 )
...
* disputes pallet: Filter disputes with votes less than supermajority threshold
* Remove `max_spam_slots` usages
* Remove `SpamSlots`
* Remove `SpamSlotChange`
* Remove `Error<T>::PotentialSpam` and stale comments
* `create_disputes_with_no_spam` -> `create_disputes`
* Make tests compile - wip commit
* Rework `test_dispute_timeout`. Rename `update_spam_slots` to `filter_dispute_set`
* Remove `dispute_statement_becoming_onesided_due_to_spamslots_is_accepted` and `filter_correctly_accounts_spam_slots` -> they bring no value with removed spam slots
* Fix `test_provide_multi_dispute_success_and_other`
* Remove an old comment
* Remove spam slots from tests - clean todo comments
* Remove test - `test_decrement_spam`
* todo comments
* Update TODO comments
* Extract `test_unconfirmed_are_ignored` as separate test case
* Remove dead code
* Fix `test_unconfirmed_are_ignored`
* Remove dead code in `filter_dispute_data`
* Fix weights (related to commit "Remove `SpamSlots`")
* Disputes migration - first try
* Remove `dispute_max_spam_slots` + storage migration
* Fix `HostConfig` migration tests
* Deprecate `SpamSlots`
* Code review feedback
* add weight for storage version update
* fix bound for clear()
* Fix weights in disputes migration
* Revert "Deprecate `SpamSlots`"
This reverts commit 8c4d967c7b061abd76ba8b551223918c0b9e6370.
* Make mod migration public
* Remove `SpamSlots` from disputes pallet and use `storage_alias` in the migration
* Fix call to `clear()` for `SpamSlots` in migration
* Update migration and add a `try-runtime` test
* Add `pre_upgrade` `try-runtime` test
* Fix some test names in `HostConfiguration` migration
* Link spamslots migration in all runtimes
* Add `test_unconfirmed_disputes_cause_block_import_error`
* Update guide
- Remove `SpamSlots` related information from roadmap/implementers-guide/src/runtime/disputes.md
- Add 'Disputes filtering' to Runtime section of the Implementor's guide
* Update runtime/parachains/src/configuration/migration.rs
Co-authored-by: Marcin S. <marcin@bytedude.com >
* Code review feedback - update logs
* Code review feedback: fix weights
* Update runtime/parachains/src/disputes.rs
Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com >
* Additional logs in disputes migration
* Fix merge conflicts
* Add version checks in try-runtime tests
* Fix a compilation warning`
Co-authored-by: Marcin S. <marcin@bytedude.com >
Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com >
2023-01-07 14:56:14 +01:00
Oliver Tale-Yazdi
d387338fb0
Use explicit call indices ( #6449 )
...
* cargo update -p sp-io
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Use explicit call indices
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-12-19 23:13:34 +01:00
Keith Yeung
6f666a07b4
Companion for paritytech/substrate#12868 ( #6406 )
...
* Replace WEIGHT_PER_* with WEIGHT_REF_TIME_PER_*
* cargo fmt
* Update substrate
2022-12-08 16:56:37 +00:00
Keith Yeung
42c043d7f4
Properly migrate weights to v2 ( #6091 )
...
* Create migration for config pallet
* Use XcmWeight in XCM pallet extrinsics
* Link to PR in doc comment
* cargo fmt
* Fix tests
* Fix tests
* Remove unused import
* Update runtime/parachains/src/configuration/migration.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add missing on_runtime_upgrade implementation
* Use new migration API
* cargo fmt
* Fix log message
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-10-05 09:47:15 +00:00
Shawn Tabrizi
e28bf2e476
Companion for Weight v1.5 Follow Up ( #5949 )
...
* updates
* remove new
* fix up some stuff
* fix cargo files
* fix
* fix template
* update lockfile for {"substrate"}
* Update block_weights.rs
* remove unused
* remove unused
Co-authored-by: parity-processbot <>
2022-09-01 19:00:51 +00:00
Shawn Tabrizi
28e94d97dd
Companion for Weight v1.5 ( #5943 )
...
* fix to latest substrate pr
* update weights
* cargo build -p polkadot-runtime-parachains
* fix xcm-builder
* fix import
* fix a bunch
* fix a bunch of weight stuff
* kusama compile
* unused
* builds
* maybe fix
* cargo test -p polkadot-runtime-parachains
* xcm simulator example
* fix tests
* xcm sim fuzz
* fix runtime tests
* remove unused
* fix integration tests
* scalar div
* update lockfile for {"substrate"}
Co-authored-by: parity-processbot <>
2022-08-31 11:59:39 +00:00
Andronik
ff18cabbc5
remove old pallet migrations ( #5194 )
...
* remove old pallet migrations
* remove more stuff
2022-04-13 10:01:57 +00:00
Robert Habermeier
49f7e5cce4
Finish migration to v2 primitives ( #5037 )
...
* remove v0 primitives from polkadot-primitives
* first pass: remove v0
* fix fallout in erasure-coding
* remove v1 primitives, consolidate to v2
* the great import update
* update runtime_api_impl_v1 to v2 as well
* guide: add `Version` request for runtime API
* add version query to runtime API
* reintroduce OldV1SessionInfo in a limited way
2022-03-09 14:01:13 -06:00
Falco Hirschenberger
fc919376ba
Add benchmarking for parachain runtime ump pallet ( #3889 )
...
* Claim grounds, not working yet.
* still wip, nothing to see
* Module visibility problem
* Add benchmarks for all parachain-enabled chains
* Add missing mock weights
* Fix mock weight info
* Add max-weight to extrinsic weight
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
* sorting declarations
* Use a maximum size message to benchmark worst-case
* remove warning
* Fix msg size overflow in tests
* Use benchmarked weight in PostInfo
* Update runtime/parachains/src/ump.rs
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com >
* Delete obsolete file
* Compile fix
* Fix spelling
* Add benchmark for `UmpSink::process_upward_message`
It benchmarks the time to process a message, mainly the size-dependent
decoding time. This is used interally for refunding weight from
`service_overweight`
* Fix warning
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_ump.rs
* Update runtime/parachains/src/ump.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Give mock weights for tests a name instead of ()
* Add benchmark for `initializer_on_new_session` aka.
`perform_outgoing_para_cleanup`
* Remove unnescessary pub specifier and change folding to a for loop
suggestions by @pepyakin
* Update runtime/parachains/src/ump.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update runtime/parachains/src/ump.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Add comment on weight calculation and expected slight overestimation
* Introduce a size bound constant for upward messages
* Use KiB not kB for message size bound
* Enforce max-message size bound
* Use a const for upward message size bound.
* Decrease max_upward_message_sizes to 50KiB as suggested by @pepyakin
* Fix creating overweight messages
* cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_ump.rs
* cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_ump.rs
* cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
* Remove unused variable
* Rename benchmark function to the function actually benchmarked and some
code cleanup
* cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_ump.rs
* cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_ump.rs
* cargo run --quiet --profile=production --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::ump --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_ump.rs
* Better variable naming
* Fix build
* Fix build
* Fix some remarks from @pepyakin
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: emostov <32168567+emostov@users.noreply.github.com >
2022-02-26 08:52:55 +00:00
Bernhard Schuster
5b06cc23d6
[chore] runtime split tests ( #4834 )
2022-02-03 09:12:41 +01:00
Kian Paimani
3cb2d62665
HRMP benchmarks ( #3876 )
...
* wip template for hrmp benchmarks
* add all of the benchmarks, first draft
* File was not saved :/
* cargo +nightly fmt
* Use configs
* add configs
* Fix rococo
* Final touches
* revert fmt changes, one last time
* Fix wrappings
* Fix a bunch of tests
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_hrmp.rs
* add to westend
* actually use everything
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_hrmp.rs
* Update runtime/parachains/src/hrmp.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* use real weight in wnd
* reorg
* minor cleanup
* weigh some of the internal stuff as well
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_hrmp.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::hrmp --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_hrmp.rs
* add files
* Master.into()
* add validation
* fmt
* fmt
* final fixes
* all runtimes build
* undo formatting
* Update runtime/parachains/src/hrmp.rs
Co-authored-by: Zeke Mostov <z.mostov@gmail.com >
* non-controversial changes
* do it the parachain-way: use const instead of type configs for simplicity.
* borrow assert_storage_consistency_exhaustive
* move assert_storage_consistency_exhaustive to Pallet, so it can be reused for benchmarks as well.
* fix typo
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Sergey Shulepov <s.pepyakin@gmail.com >
Co-authored-by: Zeke Mostov <z.mostov@gmail.com >
2022-01-21 13:42:39 +00:00
Oliver Tale-Yazdi
3d61cc01db
co #10662 : Require MaxEncodedLen per default ( #4746 )
...
* Add `without_storage_info`
The MaxEncodedLen trait is now enforced by default in Substrate.
All pallets missing an implementation need to be marked with
`without_storage_info` now.
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Remove `generate_storage_info`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add more `without_storage_info`
Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* update lockfile for {"substrate"}
Co-authored-by: parity-processbot <>
2022-01-20 12:36:22 +00:00
Sergei Shulepov
b9e6d96c87
configuration: Update upgrade validation delay doc ( #4662 )
2022-01-05 23:06:00 +01:00
Sergei Shulepov
78b3dc214a
chore: fix copy&paste and tidy comments ( #4646 )
...
As was brought up in [here][og], we have some copy&paste comments. I
fixed them and also took liberty of fixing some other places.
Specifically, those that say "module" instead of contemporary "pallet".
[og]:
https://github.com/paritytech/polkadot/pull/4603#discussion_r776971291
2022-01-01 18:13:17 +01:00
Sergei Shulepov
72a92eaf9e
configuration: Rename validation_upgrade_{frequency -> cooldown} ( #4635 )
...
This just renames a member of `HostConfiguration` from
validation_upgrade_frequency to -//-_cooldown.
As was already pointed out in #4460 the existing name is a misnomer, the
member actually represents a minimum time period between upgrades, which
is neatly expressed by a word cooldown.
I've been planning this rename already for some time and the term is
already used in paras module:
https://github.com/paritytech/polkadot/blob/1394b70d493a3b4bea7a9ae14af094081bc84456/runtime/parachains/src/paras.rs#L1568-L1574
2021-12-30 20:24:47 +00:00
Sergei Shulepov
b49291dc76
configuration: validation_upgrade_delay consistency ( #4583 )
...
Closes #4248
Impose additional constraint on configuration consistency:
`validation_upgrade_delay` should not be less than or equal to 1.
See the original issue for more details.
2021-12-28 16:46:51 +01:00
Sergei Shulepov
3c226d9dcf
configuration: Consistency checks for PVF pre-checking ( #4580 )
...
As was suggested by Alexander Popiak [here][comment], this commit
checks the consistency of the configuration.
[comment]:
https://github.com/paritytech/polkadot/pull/4420#discussion_r764796519
2021-12-28 14:53:52 +01:00
Sergei Shulepov
4d76878759
configuration: Unified consistency checks ( #4581 )
...
This commit refactors the consistency checks. Instead of each individual
setter performs its checks locally, we delegate those checks to the
already existing function `check_consistency`. This removes duplication
and simplifies the logic.
A motivating example of this one is the next PR in the stack that will
introduce a check for a field, which validity depends on the validity of
other two fields. Without this refactoring we will have to place a check
not only to the field in question, but also to the other two fields so
that if they are changed they do not violate consistency criteria. It's
easy to imagine how this can go unwieldy with the number of checks.
This also adds a test that verifies that the default chain spec host
configuration is consistent.
2021-12-27 14:09:13 +00:00
Sergei Shulepov
4689ccffce
configuration: refactor configuration initialization ( #4569 )
...
Refactor the configuration module's initializer_on_new_session in such a
way that it returns the configuration. This would make it inline with
other special initialization routines like `shared`'s or `paras`.
This will be useful in a following PR that will check consistency of the
configuration before setting it.
2021-12-22 16:07:44 +00:00
Sergei Shulepov
5a3ee43cda
parachains: Fix configuration module ( #4540 )
...
* parachains: Fix configuration module
Closes #4529
Closes #4533
I figured that trying to avoid updates does not really worth it to keep.
This is because we seem to not update the configuration often and when
we do we approach this carefully. Thus possibility of a redundant update
is really negligable. At the same time, if such a redundant update does
happen then the effects of that are really small: just some wasted
storage interactions.
On the other hand, making it work was a little bit annoying. With the
proper fix for the pending updates this would be even more annoying
since now we would have to add combinatorically more cases to test this.
So I figured that I will just scrap that and simplify the code.
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_configuration.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_configuration.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_configuration.rs
* review fixes
Co-authored-by: Parity Bot <admin@parity.io >
2021-12-21 13:28:56 +00:00
Sergei Shulepov
47810dcac9
pvf-precheck: Integrate PVF pre-checking into paras module ( #4457 )
...
* pvf-precheck: Integrate PVF pre-checking into paras module
Closes #4009
This is the most of the runtime-side change needed for #3211 .
Here is how it works.
The PVF pre-checking can be triggered either by an upgrade or by
onboarding (i.e. calling `schedule_para_initialize`). The PVF
pre-checking process is identified by the PVF code hash that is being
voted on. If there is already PVF pre-checking process running, then no
new PVF pre-checking process will be started. Instead, we just subscribe
to the existing one.
If there is no PVF pre-checking process running but the PVF code hash
was already saved in the storage, that necessarily means (I invite the
reviewers to double-check this invariant) that the PVF already passed
pre-checking. This is equivalent to instant approving of the PVF.
The pre-checking process can be concluded either by obtaining a
supermajority or if it expires.
Each validator checks the list of PVFs available for voting. The vote is
binary, i.e. accept or reject a given PVF. As soon as the supermajority
of votes are collected for one of the sides of the vote, the voting is
concluded in that direction and the effects of the voting are enacted.
Only validators from the active set can participate in the vote. The set
of active validators can change each session. That's why we reset the
votes each session. A voting that observed a certain number of sessions
will be rejected.
The effects of the PVF accepting depend on the operations requested it:
1. All onboardings subscribed to the approved PVF pre-checking process will
get scheduled and after passing 2 session boundaries they will be onboarded.
2. All upgrades subscribed to the approved PVF pre-checking process will
get scheduled very similarly to the existing process. Upgrades with
pre-checking are really the same process that is just delayed by the
time required for pre-checking voting. In case of instant approval the
mechanism is exactly the same. This is important from parachains
compatibility standpoint since following the delayed upgrade requires
the parachain to implement
https://github.com/paritytech/cumulus/pull/517 .
In case, PVF pre-checking process was concluded with rejection, then all
the requesting operations get cancelled. For onboarding it means it gets
without movement: the lifecycle of such parachain is terminated on the
`Onboarding` state and after rejection the lifecycle is none. That in
turn means that the caller can attempt registering the parachain once
more. For upgrading it means that the upgrade process is aborted: that
flashes go-ahead signal with `Abort` flag.
Rejection leads to removing the allegedly bad validation code from the
chain storage. Among other things, this implies that the operation can
be re-requested. That allows for retrying an operation in case there was
some bug. At the same time it does not look as a DoS vector due to the
caching performed by the nodes.
PVF pre-checking can be enabled and disabled. Initially, according to
the changes in #4420 , this mechanism is disabled. Triggering the PVF
pre-checking when it is disabled just means that we insta approve the
requesting operation. This should lead to the behavior being unchanged.
Follow-ups:
- expose runtime APIs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=polkadot-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/polkadot/src/weights/runtime_parachains_paras.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
* cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs
* Review fixes
Co-authored-by: Parity Bot <admin@parity.io >
2021-12-16 17:14:40 +01:00
Sergei Shulepov
aac812dca1
pvf-precheck: update configuration module ( #4420 )
...
This PR is a part of #3211 .
This PR adds three new fields into the `HostConfiguration` structure.
The fields are going to be used in PRs down the stack.
This change requires migration, so this PR performs runtime storage
migration for configuration module from version 1 to version 2.
This PR closes #4010 and subsumes #4177 .
2021-12-08 14:50:06 +00:00
joe petrowski
0d69a6ba4c
update docs on validation_upgrade_frequency ( #4460 )
2021-12-03 17:05:35 +01:00
Sergei Shulepov
d2e5c4bbc6
Polkadot: Remove configuration's runtime migration and just set StorageVersion ( #4035 )
...
* wip
* Remove unused members
2021-10-07 16:02:29 +00:00
Zeke Mostov
dc38cf8959
Add benchmarking to rococo; Remove weights from runtime_parachains ( #3914 )
...
* Add benchmarking to rococo; Remove weights from runtime_parachains
* cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs --header=./file_header.txt
* Impl TestWeightInfo for Paras and Configuration
* fmt
* cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_configuration.rs --header=./file_header.txt
* Fix CI complaint: error: unused variable: `c`
* polkadot-runtime-common & polkadot-test-runtime compile
* xcm-simulator compile
* change TestWeightInfo to max_block
* cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs --header=./file_header.txt
* ordering
* cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=rococo-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --output=./runtime/rococo/src/weights/runtime_parachains_paras.rs --header=./file_header.txt
* Replace max_block with Weight::MAX
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2021-10-06 09:38:29 +00:00
Keith Yeung
bae5ecb896
Ensure all parachain configuration extrinsics are operational ( #3912 )
2021-09-23 06:21:06 +00:00
Keith Yeung
db0b7e0048
Add benchmarking for parachain runtime paras pallet ( #3888 )
...
* Crate basic barebones benchmarking infrastructure for paras
* Fill in benchmarking contents
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
* Use autogenerated WeightInfos for kusama and westend
* cargo fmt
* Use saturating_sub
* Add missing import
* Try and hit the worst possible time complexity as much as possible
* cargo fmt
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
* Add a MAX_HEAD_DATA_SIZE constant
* Prefill vectors with sample data for worst case complexity
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_paras.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::paras --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_paras.rs
* Improve comment on SAMPLE_SIZE constant
Co-authored-by: Parity Bot <admin@parity.io >
2021-09-22 01:14:12 +00:00
Keith Yeung
706f142516
Add benchmarking for parachain runtime configuration pallet ( #3862 )
...
* Add benchmarking for parachain runtime configuration pallet
* cargo fmt
* Add WeightInfo trait
* Specify missing WeightInfo associated type in mocks
* Fix typo
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_configuration.rs
* Fix compilation errors
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_configuration.rs
* Condense the number of WeightInfo methods
* Fixes
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_configuration.rs
* Make use of weights generated from kusama benchmarking
* Use a better dispatch function for weighing set_config_with_block_number
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_parachains_configuration.rs
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_parachains::configuration --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_parachains_configuration.rs
Co-authored-by: Parity Bot <admin@parity.io >
2021-09-18 09:57:50 +00:00
Andrew Jones
4c7539cab5
Companion for #8615 : enrich metadata with type information ( #3336 )
...
* Use beefy branch with scale-info
* Add patches
* Sprinkle some TypeInfo derives
* Add some TypeInfo deriv
* Cargo.lock
* Derive TypeInfo and skip type params for Xcm types
* Cargo.lock
* Fix up scale_info bounds attributes
* Fix up dependencies
* Use my own beefy-primitives branch
* Bump BEEFY
* Update patches
* Add some scale-info dependencies and TypeInfo derives
* More TypeInfo decoration
* Update scale-info
* Some TypeInfos and remove more Event pallet::metadata
* Moar TypeInfos
* TypeInfos galore, fix up metadata runtime API
* TypeInfo
* TypeInfos, update other runtime metadata APIs
* Fix up Kusama, comment out some `usize` QueueSize parameter types
* Remove local diener patches
* Cargo.lock
* Cargo.lock
* Update to scale-info crates.io release
* Update primitive-types branch
* Update pallet-beefy to use custom branch
* Update other parity-common deps
* Update parity-common patches
* bump a bunch of deps in parity-common
* Remove parity-common patches
* Bump finality-grandpa version
* Cargo.lock
* Update scale-info to 0.9.1
* Add recursion_limit for runtime-parachains
* Add some scale_info attributes
* Cargo.lock
* Revert finality-grandpa bump
* Cargo.lock, scale-info update
* cargo update
* Make sure using patched version of finality-grandpa
* Use patched scale-info
* Update to scale-info 0.10.0
* Update finality-grandpa
* Cargo.lock
* Update beefy deps
* Update beefy deps again
* Add scale-info dependency
* Remove deprecated pallet::metadata attributes.
* Add some missing scale-info deps and derives
* Use some variant struct call syntax
* Add missing TypeInfo impl
* Add some more TypeInfo impls
* Convert some call enum struct variant constructors
* More scale-info deps and derives
* Call enum struct variants
* TypeInfo derives
* Call enum variant structs
* scale-info deps and derives
* Call enum variant struct constructors
* Use beefy-primitives scale-info feature
* Use grandpa-bridge-gadget master branch
* Remove finality-grandpa patch
* Add missing scale_info dependency and derive
* Fix up some call variant constructors
* Add missing scale_info dependency
* Fix some test errors
* More TypeInfo derives
* More call variant structs
* Call variant structs in tests
* Cargo.lock
* Fmt
* Fix more call struct variants
* Another call struct variant
* add scale-info/std features explicitly
* More call struct variants
* Add missing scale-info dependency
* Fmt
* review: activate scale-info/std where missing
* Remove some duplicate std feature activation
* review: add scale_info bounds() attr
* More call variant structs
* Remove recursion limit
* Update beefy-primitives
* Update beefy-primitives
* Fix simnet call variant struct errors
* Fmt
* cargo update -p beefy-primitives
* Add some missing TypeInfo derives
* Fix some call variants
* Fix some call variant underscores
* Cargo.lock
* Cargo.lock
* Add missing TypeInfo derive
* Add some more missing TypeInfo derives
* Even more missing TypeInfo derives
* Add TypeInfo derives to new xcm types
* Fmt
* Cargo.lock
* Add missing TypeInfo impls
* Cargo.lock
* More missing TypeInfos
* Fixes
* Cargo.lock
* Cargo.lock
* Add TypeInfo impls to xcm v2
* Update to scale-info 1.0
* Update finality-grandpa 0.14.4, patch for now
* Update beefy
* Remove patched finality-grandpa
* Add TypeInfo impl to Outcome
* Fixes
* Call variant struct
* Call variant struct
* Fix test
* Add TypeInfo impl
* Cargo.lock
* Cargo.lock
* Cargo.lock
* git checkout master Cargo.lock
* update Substrate
* Add missing scale-info features for beefy-primitives
* Fmt
* Remove check for now
* Update beefy-primitives, removes scale-info feature
* Update beefy-primitives again
Co-authored-by: adoerr <0xad@gmx.net >
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-09-15 15:38:45 -05:00
Sergei Shulepov
13906d62f0
UMP: Support Overweight messages ( #3575 )
...
* Introduce new config: ump_max_individual_weight
* Implement overweight msg stashing
* Test
* Add migration module.
Also introduces a test for migration
* Integrate ExecuteOverweightOrigin to runtimes
* Fix more stuff
* Add `yeet` into dictionary
* Use suggested `Error` variant names
* typo
* Use 20ms as the maximum individual message weight
* Update the test value
* rustfmt
* Clean up
* Remove deprecated field from host config
* Remove missed _hrmp_open_request_ttl
* Apply typo fix suggestion
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Rename `migration::migrate_to_latest`
* Restore `_hrmp_open_request_ttl` in `v0::HostConfiguration`
* Apply suggestion for a rustdoc
* Apply the suggestion
* Test v0 config with the raw production data fetched from Kusama
* Update runtime/parachains/src/ump.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Expose migration functions
* Fix spellcheck
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2021-09-15 11:13:44 +02:00
Sergei Shulepov
83a35874ee
Do not expire HRMP open channel requests ( #3543 )
...
* Do not expire HRMP open channel requests
* Fix the build and update the docs
* Implement canceling requests and do not remove them automatically
* Fix a borked merge
* Fix fmt
* Please spellchecker
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Use `mutate_exists` for maintaining request counts
* Apply `rustfmt`
* Move newly introduced entrypoint to end to preserve ordering
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
2021-09-09 14:06:13 +02:00
Bastian Köcher
2cfda98aca
Change pallet naming in test-runtime ( #3551 )
...
* Change pallet naming in test-runtime
This is required to make the `well_know_keys::ACTIVE_CONFIG` match the
`ActiveConfig` key.
* Use correct name
* 🤦
2021-08-02 10:54:54 +00:00
Shawn Tabrizi
ff5d56fb76
cargo +nightly fmt ( #3540 )
...
* cargo +nightly fmt
* add cargo-fmt check to ci
* update ci
* fmt
* fmt
* skip macro
* ignore bridges
2021-08-02 10:47:33 +00:00
ferrell-code
84ca3b2b3b
Parachains configuration.rs FrameV2 ( #3516 )
...
* migration
* genesis build correctly
* migrate runtimes
* add genesis builds
* expose GenesisBuild
* chainspec migration
* fmt
* check before insert
* Reduce visibility of storage items to crate
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2021-07-28 04:56:35 +00:00
ferrell-code
7788de8164
Parachains shared.rs to Frame V2 ( #3425 )
...
* gotta migrate them all
* migrate rococo construct_runtime
* trigger ci
* fix warnings
* get mocks to work
* add pallet to test runtime
* comments
* calm down mr tabrizi lol
2021-07-22 21:59:31 +00:00
Denis Pisarev
fc253e6e4d
WIP: CI: add spellcheck ( #3421 )
...
* CI: add spellcheck
* revert me
* CI: explicit command for spellchecker
* spellcheck: edit misspells
* CI: run spellcheck on diff
* spellcheck: edits
* spellcheck: edit misspells
* spellcheck: add rules
* spellcheck: mv configs
* spellcheck: more edits
* spellcheck: chore
* spellcheck: one more thing
* spellcheck: and another one
* spellcheck: seems like it doesn't get to an end
* spellcheck: new words after rebase
* spellcheck: new words appearing out of nowhere
* chore
* review edits
* more review edits
* more edits
* wonky behavior
* wonky behavior 2
* wonky behavior 3
* change git behavior
* spellcheck: another bunch of new edits
* spellcheck: new words are koming out of nowhere
* CI: finding the master
* CI: fetching master implicitly
* CI: undebug
* new errors
* a bunch of new edits
* and some more
* Update node/core/approval-voting/src/approval_db/v1/mod.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Andronik Ordian <write@reusable.software >
* Apply suggestions from code review
Co-authored-by: Andronik Ordian <write@reusable.software >
* Suggestions from the code review
* CI: scan only changed files
Co-authored-by: Andronik Ordian <write@reusable.software >
2021-07-14 19:22:58 +02:00
Shawn Tabrizi
6b1baba490
Use max_code_size and max_wasm_data_size from Parachains Configuration ( #3329 )
...
* use `configuration::config()` for max bytes
* Update integration_tests.rs
* Update paras_registrar.rs
* remove consts
* add asserts for non-zero
* more const clean up
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
* add checks to `MAX_CODE_SIZE`
* re-pot MAX_POV_SIZE
* check pov limit in runtime
* POV_BOMB_LIMIT multiplier
* fix compile
* Update configuration.rs
* Update node/primitives/src/lib.rs
* fix test
Co-authored-by: Parity Bot <admin@parity.io >
2021-06-21 17:24:49 +00:00
Gavin Wood
53de6871e0
Fix teleport accounting and add some events ( #3167 )
...
* Stuff to help inspect the DMP activity
* Fix teleport accounting
* Fixes
* Fixes
* Fixes
* Fixes
2021-06-03 15:39:08 +02:00
Robert Habermeier
2d18b26151
Add parachains modules to Westend and Kusama runtimes ( #2854 )
...
* add `force_set_active_config`
* add parachains modules to Westend
* add parachains modules to Kusama runtime
* use real runtime API impl
* add module indices and remove auctions, crowdloan
* add benchmarks
* remove previous migrations and add host configuration set migration
* make compile
* Add Call Filter for Registrar and Slots except Root
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
* fix build
* update `add_benchmark`
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_slots.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_slots.rs
* fix weights
* tweak more constants
* Fix up the kusama runtime
* Westend runtime fixups
* Fix MMR & Beefy for westend
* Fixes
* fix tests
* Update runtime/polkadot/src/constants.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update runtime/westend/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Gav Wood <gavin@parity.io >
2021-05-01 17:36:11 +02:00