This pull request is removing the Kusama and Polkadot runtime crates. As
still some crates dependent on the runtime crates, this pull request is
doing some more changes.
- It removes the `hostperfcheck` CLI command. This CLI command could
compare the current node against the standard hardware by doing some
checks. Later we added the hardware benchmark feature to Substrate. This
hardware benchmark is running on every node startup and prints a warning
if the current node is too slow. This makes this CLI command a duplicate
that was also depending on the kusama runtime.
- The pull request is removing the emulated integration tests that were
requiring the Kusama or Polkadot runtime crates.
Update the HRMP pallet to use field names for Event variants to improve
metadata for a better client experience.
Event variants are now structs instead of unnamed tuples.
Partially implements Substrate issue
[9903](https://github.com/paritytech/substrate/issues/9903) which
doesn't appear to have been moved to the monorepo.
Enable `runtime-benchmarks` feature for `parachain-common` and
`cumulus-primitives-utility` crates' dependencies.
After adding `runtime-benchmarks = []` under `features` category in
`Cargo.toml` files for the creates, I did run,
> zepter lint propagate-feature --feature runtime-benchmarks --workspace
--fix --feature-enables-dep="runtime-benchmarks:frame-benchmarking"
This changes required for
https://github.com/paritytech/polkadot-sdk/pull/1333
* Rename `polkadot-parachain` to `polkadot-parachain-primitives`
While doing this it also fixes some last `rustdoc` issues and fixes
another Cargo warning related to `pallet-paged-list`.
* Fix compilation
* ".git/.scripts/commands/fmt/fmt.sh"
* Fix XCM docs
---------
Co-authored-by: command-bot <>
* Rename squatted crates
This commit adds the staging- prefix to squatted crates so we can go forward and publish them to crates.io.
Using the staging- prefix is a temp fix until we decide on replacement names.
https://forum.parity.io/t/renaming-squated-crates-in-substrate-polkadot-cumulus/1964/6
* Fix test after crate renames
* Update Lockfile
* Set test crates to nopublish
* Don't publish more crates
* Set even more crates to nopublish
---------
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
* Changes for asset conversion in ksm
* applied changes to forbid batch calls in xcm filters for ksm and wnd, fixed tests typing, cleaned up
* updated weights for pallet_asset_conversion in ksm
* updated swap_locally_on_chain_using_local_assets test
* added more call filters, approval deposit fix
* Update parachains/runtimes/assets/asset-hub-kusama/src/xcm_config.rs
* Update tests to be like master
* set metadata needed for the test.
* Update parachains/runtimes/assets/asset-hub-kusama/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* Update parachains/runtimes/assets/asset-hub-kusama/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* removed hardcoded existential_deposit in local swap test
* storage to const
We're not planning on setting this via an on chain vote so let's have it as a const.
* unneeded tests
* const
* shorter line
* missed one
* remove unused import
* Update parachains/runtimes/assets/asset-hub-kusama/src/lib.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
---------
Co-authored-by: joepetrowski <joe@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
* Update substrate & polkadot
* min changes to make async backing compile
* (async backing) parachain-system: track limitations for unincluded blocks (#2438)
* unincluded segment draft
* read para head from storage proof
* read_para_head -> read_included_para_head
* Provide pub interface
* add errors
* fix unincluded segment update
* BlockTracker -> Ancestor
* add a dmp limit
* Read para head depending on the storage switch
* doc comments
* storage items docs
* add a sanity check on block initialize
* Check watermark
* append to the segment on block finalize
* Move segment update into set_validation_data
* Resolve para head todo
* option watermark
* fix comment
* Drop dmq check
* fix weight
* doc-comments on inherent invariant
* Remove TODO
* add todo
* primitives tests
* pallet tests
* doc comments
* refactor unincluded segment length into a ConsensusHook (#2501)
* refactor unincluded segment length into a ConsensusHook
* add docs
* refactor bandwidth_out calculation
Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>
* test for limits from impl
* fmt
* make tests compile
* update comment
* uncomment test
* fix collator test by adding parent to state proof
* patch HRMP watermark rules for unincluded segment
* get consensus-common tests to pass, using unincluded segment
* fix unincluded segment tests
* get all tests passing
* fmt
* rustdoc CI
* aura-ext: limit the number of authored blocks per slot (#2551)
* aura_ext consensus hook
* reverse dependency
* include weight into hook
* fix tests
* remove stray println
Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>
* fix test warning
* fix doc link
---------
Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>
Co-authored-by: Chris Sosnin <chris125_@live.com>
* parachain-system: ignore go ahead signal once upgrade is processed (#2594)
* handle goahead signal for unincluded segment
* doc comment
* add test
* parachain-system: drop processed messages from inherent data (#2590)
* implement `drop_processed_messages`
* drop messages based on relay parent number
* adjust tests
* drop changes to mqc
* fix comment
* drop test
* drop more dead code
* clippy
* aura-ext: check slot in consensus hook and remove all `CheckInherents` logic (#2658)
* aura-ext: check slot in consensus hook
* convert relay chain slot
* Make relay chain slot duration generic
* use fixed velocity hook for pallets with aura
* purge timestamp inherent
* fix warning
* adjust runtime tests
* fix slots in tests
* Make `xcm-emulator` test pass for new consensus hook (#2722)
* add pallets on_initialize
* tests pass
* add AuraExt on_init
* ".git/.scripts/commands/fmt/fmt.sh"
---------
Co-authored-by: command-bot <>
---------
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
* update polkadot git refs
* CollationGenerationConfig closure is now optional (#2772)
* CollationGenerationConfig closure is now optional
* fix test
* propagate network-protocol-staging feature (#2899)
* Feature Flagging Consensus Hook Type Parameter (#2911)
* First pass
* fmt
* Added as default feature in tomls
* Changed to direct dependency feature
* Dealing with clippy error
* Update pallets/parachain-system/src/lib.rs
Co-authored-by: asynchronous rob <rphmeier@gmail.com>
---------
Co-authored-by: asynchronous rob <rphmeier@gmail.com>
* fmt
* bump deps and remove warning
* parachain-system: update RelevantMessagingState according to the unincluded segment (#2948)
* mostly address 2471 with a bug introduced
* adjust relevant messaging state after computing total
* fmt
* max -> min
* fix test implementation of xcmp source
* add test
* fix test message sending logic
* fix + test
* add more to unincluded segment test
* fmt
---------
Co-authored-by: Chris Sosnin <chris125_@live.com>
* Integrate new Aura / Parachain Consensus Logic in Parachain-Template / Polkadot-Parachain (#2864)
* add a comment
* refactor client/service utilities
* deprecate start_collator
* update parachain-template
* update test-service in the same way
* update polkadot-parachain crate
* fmt
* wire up new SubmitCollation message
* some runtime utilities for implementing unincluded segment runtime APIs
* allow parachains to configure their level of sybil-resistance when starting the network
* make aura-ext compile
* update to specify sybil resistance levels
* fmt
* specify relay chain slot duration in milliseconds
* update Aura to explicitly produce Send futures
also, make relay_chain_slot_duration a Duration
* add authoring duration to basic collator and document params
* integrate new basic collator into parachain-template
* remove assert_send used for testing
* basic-aura: only author when parent included
* update polkadot-parachain-bin
* fmt
* some fixes
* fixes
* add a RelayNumberMonotonicallyIncreases
* add a utility function for initializing subsystems
* some logging for timestamp adjustment
* fmt
* some fixes for lookahead collator
* add a log
* update `find_potential_parents` to account for sessions
* bound the loop
* restore & deprecate old start_collator and start_full_node functions.
* remove unnecessary await calls
* fix warning
* clippy
* more clippy
* remove unneeded logic
* ci
* update comment
Co-authored-by: Marcin S. <marcin@bytedude.com>
* (async backing) restore `CheckInherents` for backwards-compatibility (#2977)
* bring back timestamp
* Restore CheckInherents
* revert to empty CheckInherents
* make CheckInherents optional
* attempt
* properly end system blocks
* add some more comments
* ignore failing system parachain tests
* update refs after main feature branch merge
* comment out the offending tests because CI runs ignored tests
* fix warnings
* fmt
* revert to polkadot master
* cargo update -p polkadot-primitives -p sp-io
---------
Co-authored-by: asynchronous rob <rphmeier@gmail.com>
Co-authored-by: Ignacio Palacios <ignacio.palacios.santos@gmail.com>
Co-authored-by: Bradley Olson <34992650+BradleyOlson64@users.noreply.github.com>
Co-authored-by: Marcin S. <marcin@bytedude.com>
Co-authored-by: eskimor <eskimor@users.noreply.github.com>
Co-authored-by: Andronik <write@reusable.software>
* Allow functions to work over both parachains and relay chains
* additional references
* import
* backup
* refactoring para and relay traits
* use runtime crates to build types
* decouple ProcessMessage
* decouple ProcessMessage 2
* dmp and xcmp handlers decouple
* backup
* refactor done
* common int values working
* added global ext with mutex
* works for two mutex
* single mutex and remove condvar
* global test ext done
* failing moving test_ext because relay block num
* relay_block_number issue fixed
* backup
* Test working with assertions
* assertions get Test as arg
* DispatchArgs as generic
* clean up
* backup
* teleports for asset-hub-kusama done
* improve assert_expected_events macro
* rename Test generics
* check assertions for tuples
* test assertions redone
* reserve_transfer_assets done
* send transact done
* hrmp test for paras
* hrmp channels test done
* hrmp channels test done 2
* before modifying test dispatch
* reserve tests done & Test dispatch fixed
* reserve transfer local asset
* force_create_and_mint_asset
* force create and mint done
* tests done
* fix imports in common
* common events refactored
* add option to events attributes
* asset-hub-polkadot tests done
* asset-hub-westend half done
* relay chain events move to common
* remove failing send tests for asset-hub-westend
* added events to bridge-hub-rococo
* added events to collectives-polkadot
* cargo clean up
* fix asset-hub-westend tests
* ".git/.scripts/commands/fmt/fmt.sh"
* fix clippy
* ".git/.scripts/commands/fmt/fmt.sh"
* Removed unnecessary deps
* Extracted some commonality for Kusama/Polkadot (which will be reused also for BridgeHubs) (#2971)
* Extracted some commonality for Kusama/Polkadot (which will be reused also for BridgeHubs)
* AssetHubRococo should better use AssetHubKusama runtime
* add fund_account
---------
Co-authored-by: NachoPal <ignacio.palacios.santos@gmail.com>
* address comments
* rename event assertion helpers
* clean comments
* address comments 2
* ".git/.scripts/commands/fmt/fmt.sh"
---------
Co-authored-by: Giles Cope <gilescope@gmail.com>
Co-authored-by: command-bot <>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
* Dex and payment by dex in westmint
* Wrap U256 type for now
(to support required traits.)
* cargo fmt
* We can now use U256
* Rename PromotedBalance
* name change
* Updating the code to master.
TODO: handle dust!
* cargo fmt
* Minimising changes and step towards getting benchmarks compiling
(still a From<u32> bound in the pallet)
* minimise diff
* Update parachains/runtimes/assets/westmint/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Update parachains/runtimes/assets/westmint/src/lib.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Update parachains/common/src/impls.rs
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
* Fix benchmark build
* Add in AssetConversionAPI
* Handle dust
* cargo fmt
* Don't need to be explicit that it's AccountId32
* remove pool setup fee
(Asset deposit fees are a sufficient anti-spam measure)
* More natural way to specify native
* cargo fmt
* Update parachains/runtimes/assets/westmint/src/lib.rs
* Additional required impls
* either form of multilocation should be acceptable.
* add call filter exclusion
* Fix typo & try_convert now fails if native is converted
* merge master fixup
* Fix: HoldReason should be there.
* Box MultiAssetId
Otherwise it blows out the Call enum memory size.
* cargo fmt
* update lock file
* add std feature, update lock file
* need to turn on std on common
* adding in westmint tests
* WeightToFee must be from the destination chain.
* cargo fmt
* account for higher ED on westmint
* type removed as not used
* cargo fmt
* remove unused import
* minimising diff
* import needed only with feature enabled
* use multilocation contains
* move the impls to separate file
* simplify on conversion
* simplify on reverse conversion also.
* rename var
* clippy
* removed dead code
* cargo fmt
* Use pay by swap
* review suggestions
* cargo fmt
* Update parachains/runtimes/assets/asset-hub-westend/src/lib.rs
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* add benchmarks for new assets pallet
* revert common/src changes
* need a concrete id
* more fixes
* lock
---------
Co-authored-by: Jegor Sidorenko <5252494+jsidorenko@users.noreply.github.com>
Co-authored-by: joepetrowski <joe@parity.io>
Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
* mostly there with westend
* add network
* initial way to set host api version
* 3 tests all passing
* Remove duplication
* fix runtime-benchmarks
* Fix typo
---------
Co-authored-by: joepetrowski <joe@parity.io>
* change dir names
* cargo toml updates
* fix crate imports for build
* change chain spec names and PR review rule
* update cli to accept asset-hub
* find/replace benchmark commands
* integration tests
* bridges docs
* more integration tests
* AuraId
* other statemint tidying
* rename statemint mod
* chain spec mod
* rename e2e test dirs
* one more Runtime::Statemine
* benchmark westmint
* rename chain spec name and id
* rename chain spec files
* more tidying in scripts/docs/tests
* rename old dir if exists
* Force people to manually do the move.
(Safer as there could be additional considerations with their setup)
* review touchups
* more renaming
* Update polkadot-parachain/src/command.rs
Co-authored-by: Bastian Köcher <git@kchr.de>
* better error message
* do not break on-chain spec_name
* log info message that path has been renamed
* better penpal docs
---------
Co-authored-by: gilescope <gilescope@gmail.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
Co-authored-by: parity-processbot <>