Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

Use 2D weights in XCM v3 #6134

Merged
merged 50 commits into from
Nov 10, 2022
Merged

Use 2D weights in XCM v3 #6134

merged 50 commits into from
Nov 10, 2022

Conversation

KiChjang
Copy link
Contributor

No description provided.

@github-actions github-actions bot added the A0-please_review Pull request needs code review. label Oct 11, 2022
@KiChjang KiChjang added B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D3-trivial 🧸 PR contains trivial changes in a runtime directory that do not require an audit. labels Oct 11, 2022
@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:22
xcm/src/v3/traits.rs Outdated Show resolved Hide resolved
@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:24
BuyExecution { weight_limit: Limited(ref mut weight), .. } if *weight >= max_weight => {
*weight = max_weight;
BuyExecution { weight_limit: Limited(ref mut weight), .. }
if weight.any_gte(max_weight) =>
Copy link
Member

@gavofyork gavofyork Oct 11, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if weight.any_gte(max_weight) =>
if weight.all_gte(max_weight) =>

weight here is the weight_limit; we want to succeed only if it is least as much as the maximum weight which the execution can take (max_weight) in all dimensions.

In general if a test is for a positive result (i.e. returns Ok() if it passes), then it should use all_* (since this is the harder constraint to satisfy). It is for a negative result (i.e. returns an Err if it passes), then it should use any_*.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@KiChjang please make a note that a second reviewer should carefully check every one of these comparison functions.

@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:25
@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:30
@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:32
@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:36
@paritytech-ci paritytech-ci requested review from a team October 11, 2022 09:38
@KiChjang
Copy link
Contributor Author

KiChjang commented Nov 9, 2022

/cmd queue -c bench-bot $ runtime polkadot-dev pallet_xcm

@command-bot
Copy link

command-bot bot commented Nov 9, 2022

@KiChjang https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025290 was started for your command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm. Check out https://gitlab.parity.io/parity/mirrors/polkadot/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment /cmd cancel 29-a029ebda-a8dc-4d2a-9863-28c606b5cefb to cancel this command or /cmd cancel to cancel all commands in this pull request.

@command-bot
Copy link

command-bot bot commented Nov 9, 2022

@KiChjang Command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025290 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025290/artifacts/download.

@KiChjang
Copy link
Contributor Author

KiChjang commented Nov 9, 2022

/cmd queue -c bench-bot $ runtime polkadot-dev pallet_xcm

@command-bot
Copy link

command-bot bot commented Nov 9, 2022

@KiChjang https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025355 was started for your command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm. Check out https://gitlab.parity.io/parity/mirrors/polkadot/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment /cmd cancel 30-d2aff8dc-3ea0-4b47-8e9d-6f89112c0fbe to cancel this command or /cmd cancel to cancel all commands in this pull request.

@command-bot
Copy link

command-bot bot commented Nov 9, 2022

@KiChjang Command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025355 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025355/artifacts/download.

@KiChjang
Copy link
Contributor Author

KiChjang commented Nov 9, 2022

/cmd queue -c bench-bot $ runtime polkadot-dev pallet_xcm

@command-bot
Copy link

command-bot bot commented Nov 9, 2022

@KiChjang https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025394 was started for your command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm. Check out https://gitlab.parity.io/parity/mirrors/polkadot/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment /cmd cancel 31-828b3efa-6aa0-4ee3-a666-682f53d3c213 to cancel this command or /cmd cancel to cancel all commands in this pull request.

@command-bot
Copy link

command-bot bot commented Nov 9, 2022

@KiChjang Command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025394 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2025394/artifacts/download.

@KiChjang
Copy link
Contributor Author

/cmd queue -c bench-bot $ runtime polkadot-dev pallet_xcm

@command-bot
Copy link

command-bot bot commented Nov 10, 2022

@KiChjang https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2030790 was started for your command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm. Check out https://gitlab.parity.io/parity/mirrors/polkadot/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment /cmd cancel 32-9c16680d-dfa4-4617-9b4f-fd4638ce06f0 to cancel this command or /cmd cancel to cancel all commands in this pull request.

@command-bot
Copy link

command-bot bot commented Nov 10, 2022

@KiChjang Command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime polkadot-dev pallet_xcm has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2030790 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2030790/artifacts/download.

@KiChjang
Copy link
Contributor Author

/cmd queue -c bench-bot $ runtime westend-dev pallet_xcm

@command-bot
Copy link

command-bot bot commented Nov 10, 2022

@KiChjang https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2030833 was started for your command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime westend-dev pallet_xcm. Check out https://gitlab.parity.io/parity/mirrors/polkadot/-/pipelines?page=1&scope=all&username=group_605_bot to know what else is being executed currently.

Comment /cmd cancel 33-7f49688e-89a2-4243-bf4e-e19ecfa505fa to cancel this command or /cmd cancel to cancel all commands in this pull request.

@command-bot
Copy link

command-bot bot commented Nov 10, 2022

@KiChjang Command "$PIPELINE_SCRIPTS_DIR/bench-bot.sh" runtime westend-dev pallet_xcm has finished. Result: https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2030833 has finished. If any artifacts were generated, you can download them from https://gitlab.parity.io/parity/mirrors/polkadot/-/jobs/2030833/artifacts/download.

@KiChjang KiChjang merged commit 41fb1f1 into gav-xcm-v3 Nov 10, 2022
@KiChjang KiChjang deleted the kckyeung/xcm-v3-2d-weights branch November 10, 2022 09:21
paritytech-processbot bot pushed a commit that referenced this pull request Jan 17, 2023
* cargo fmt

* Create benchmarks for XCM instructions introduced in v3 (#4564)

* Create benchmarks for BurnAsset and ExpectAsset

* Add benchmarks for ExpectOrigin and ExpectError

* Add benchmarks for QueryPallet and ExpectPallet

* Add benchmarks for ReportTransactStatus and ClearTransactStatus

* cargo fmt

* Use AllPalletsWithSystem in mocks

* Update XCM generic benchmarks for westend

* Remove default impls for some XCM weight functions

* Fix compilation error

* Add weight_args helper attribute

* Remove manually written XcmWeightInfo

* Parse trailing comma

* Revert "Add weight_args helper attribute"

This reverts commit 3b7c47a.

* Fixes

* Fixes

* XCM v3: Introduce querier field into `QueryReponse` (#4732)

* Introduce querier field into QueryReponse

* Convert &Option<MultiLocation> to Option<&MultiLocation>

&Option<T> is almost always never quite useful, most of the time it
still gets converted to an Option<&T> via `as_ref`, so we should simply
make functions that accept Option<&T> instead.

* Fix tests

* cargo fmt

* Fix benchmarks

* Appease spellchecker

* Fix test

* Fix tests

* Fix test

* Fix mock

* Fixes

* Fix tests

* Add test for response queriers

* Update xcm/pallet-xcm/src/lib.rs

* Test for non-existence of querier

Co-authored-by: Keith Yeung <[email protected]>

* Fixes

* Fixes

* Add `starts_with` function to `MultiLocation` and `Junctions` (#4835)

* add matches_prefix function to MultiLocation and Junctions

* rename matches_prefix to starts_with

* remove unnecessary main in doc comment

Co-authored-by: Bastian Köcher <[email protected]>

* Make use of starts_with in match_and_split

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* XCM v3: Bridge infrastructure (#4681)

* XCM bridge infrastructure

* Missing bit of cherry-pick

* Revamped XCM proc macros; new NetworkIds

* Fixes

* Formatting

* ExportMessage instruction and config type

* Add MessageExporter definitions

* Formatting

* Missing files

* Fixes

* Initial bridging config API

* Allow for two-stage XCM execution

* Update xcm/src/v3/mod.rs

Co-authored-by: Keith Yeung <[email protected]>

* XCM crate building again

* Initial bridging primitive

* Docs

* Docs

* More work

* More work

* Merge branch 'gav-xcm-v3' into gav-xcm-v3-bridging

* Make build

* WithComputedOrigin and SovereignPaidRemoteExporter

* Remove TODOs

* Slim bridge API and tests.

* Fixes

* More work

* First bridge test passing

* Formatting

* Another test

* Next round of bridging tests

* Repot tests

* Cleanups

* Paid bridging

* Formatting

* Tests

* Spelling

* Formatting

* Fees and refactoring

* Fixes

* Formatting

* Refactor SendXcm to become two-phase

* Fix tests

* Refactoring of SendXcm and ExportXcm complete

* Formatting

* Rename CannotReachDestination -> NotApplicable

* Remove XCM v0

* Minor grumbles

* Formatting

* Formatting

* Fixes

* Fixes

* Cleanup XCM config

* Fee handling

* Fixes

* Formatting

* Fixes

* Bump

Co-authored-by: Keith Yeung <[email protected]>

* Bump Substrate

* XCM v3: `ExchangeAsset` and Remote-locking (#4945)

* Asset Exchange and Locks

* Make sure XCM typers impl MaxEncodedLen

* Basic implementation for locks

* Bump Substrate

* Missing files

* Use new API

* Introduce  instruction

* Big refactor

* Docs

* Remove deprecated struct

* Remove deprecated struct

* Repot XCM builder tests

* ExchangeAsset test

* Exchange tests

* Locking tests

* Locking tests

* Fixes and tests

* Fixes

* Formatting

* Spelling

* Add simulator test for remote locking

* Fix tests

* Bump

* XCM v3: Support for non-fungibles (#4950)

* NFT support and a test

* New files.

* Integration tests for sending NFTs

* Formatting

* Broken Cargo features

* Use 2021 edition

* Fixes

* Formatting

* Formatting

* Update xcm/xcm-builder/src/asset_conversion.rs

Co-authored-by: Keith Yeung <[email protected]>

* Update xcm/xcm-builder/src/nonfungibles_adapter.rs

Co-authored-by: Keith Yeung <[email protected]>

* Update xcm/xcm-executor/src/lib.rs

Co-authored-by: Keith Yeung <[email protected]>

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* XCM v3: Context & ID hash (#4756)

* send_xcm returns message hash

* cargo fmt

* Create topic register and instructions

* Fix weights

* Use tabs

* Sketch out XcmContext

* Fix doc test

* Add the XCM context as a parameter to executor trait fns

* Fixes

* Add XcmContext parameter

* Revert adding context as an arg to SendXcm trait methods

* Revert adding context argument to ConvertOrigin trait methods

* cargo fmt

* Do not change the API of XcmExecutor::execute

* Fixes

* Fixes

* Fixes

* Fixes

* Remove convenience method

* Fixes

* Fixes

* cargo fmt

* Fixes

* Add benchmarks for XCM topic instructions

* cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs

* Remove context argument on FilterAssetLocation

* Fixes

* Remove unused import

* Fixes

* Fixes

* Fixes

* Accept XCM hash parameter in ExecuteXcm trait methods

* cargo fmt

* Properly enable sp-io/std

* Fixes

* default-features = false

* Fixes

* Fixes

* Fixes

* Make XcmContext optional in withdraw_asset

* Fixes

* Fixes

* Fixes

* Modify tests to check for the correct XCM hash

* Small refactor

* cargo fmt

* Check for expected hash in xcm-builder unit tests

* Add doc comment for the optionality of the XCM context in withdraw_asset

* Update xcm/src/v3/traits.rs

* Update xcm/src/v3/traits.rs

* Store XcmContext and avoid rebuilding

* Use ref for XcmContext

* Formatting

* Fix incorrect hash CC @KiChjang

* Refactor and make clear fake hashes

* Fixes

* Fixes

* Fixes

* Fix broken hashing

* Docs

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

* Fixes

* Fixes

* Remove unknowable hash

* Formatting

* Use message hash for greater identifiability

* Formatting

* Fixes

* Formatting

Co-authored-by: Keith Yeung <[email protected]>
Co-authored-by: Parity Bot <[email protected]>

* Fixes

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

* Formatting

* Fixes

* Fixes

* Formatting

* Formatting

* Remove horrible names

* Bump

* Remove InvertLocation trait (#5092)

* Remove InvertLocation trait

* Remove unneeded functions

* Formatting

* Fixes

* Remove XCMv1 (#5094)

* Remove XCMv1

* Remove XCMv1

* Formatting

* Fixes

* Fixes

* Formatting

* derive serialize/deserialize for xcm primitives (#5036)

* derive serialize/deserialize for xcm primitives

* derive serialize/deserialize for xcm primitives

* update v3

* update v2

Co-authored-by: Gav Wood <[email protected]>

* Update lock

* Fixes

* Add benchmarks for the ExchangeAsset instruction

* `AliasOrigin` instruction stub (#5122)

* AliasOrigin instruction stub

* Fixes

* Fixes

* Update substrate

* Fixes

* Ensure same array length before using copy_from_slice

* Fixes

* Add benchmarks for the UniversalOrigin instruction

* Remove unused import

* Remove unused import

* Add benchmarks for SetFeesMode instruction

* Add benchmarks for asset (un)locking instructions

* Leave AliasOrigin unbenchmarked

* Fixes after merge

* cargo fmt

* Fixes

* Fixes

* Set TrustedReserves to None on both Kusama and Westend

* Remove extraneous reserve_asset_deposited benchmark

* Fix universal_origin benchmark

* cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs

* Don't rely on skipped benchmark functions

* Fixes

* cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/kusama/src/weights/xcm/pallet_xcm_benchmarks_generic.rs

* Fix unused variables

* Fixes

* Spelling

* Fixes

* Fix codec index of VersionedXcm

* Allows to customize how calls are dispatched from XCM (#5657)

* CallDispatcher trait

* fmt

* unused import

* fix test-runtime

* remove JustDispatch type

* fix typo in test-runtime

* missing CallDispatcher

* more missing CallDispatcher

* Update comment `NoteAssetLocked` -> `NoteUnlockable`

* Fixes

* Fixes

* Adjust MultiAssets weights based on new wild card variants

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Some late fixes for XCMv3 (#5237)

* Maximise chances that trapped assets can be reclaimed

* Do origin check as part of ExportMessage for security

* Formatting

* Fixes

* Cleanup export XCM APIs

* Formatting

* Update xcm/src/v3/junctions.rs

* UnpaidExecution instruction and associated barrier.

* Tighten barriers (ClearOrigin/QueryResponse)

* Allow only 1 ClearOrigin instruction in AllowTopLevelPaidExecutionFrom

* Bi-directional teleport accounting

* Revert other fix

* Build fixes]

* Tests build

* Benchmark fixes

Co-authored-by: Keith Yeung <[email protected]>

* Update Substrate

* Re-export `pub` stuff from universal_exports.rs + removed unecessary clone (#6145)

* Re-export `pub` stuff from universal_exports.rs

* Removed unnecessary clone

* Use 2D weights in XCM v3 (#6134)

* Depend upon sp-core instead of sp-runtime

* Make sp-io a dev-dependency

* Use 2D weights in XCM v3

* cargo fmt

* Add XCM pallet migration to runtimes

* Use from_parts

* cargo fmt

* Fixes

* cargo fmt

* Remove XCMWeight import

* Fixes

* Fixes

* Fixes

* Fixes

* Use translate in migration

* Increase max upward message size in tests

* Fix doc test

* Remove most uses of from_ref_time

* cargo fmt

* Fixes

* Fixes

* Add extrinsic benchmarking to XCM pallet

* cargo fmt

* Fixes

* Use old syntax

* cargo fmt

* Fixes

* Remove hardcoded weights

* Add XCM pallet to benchmarks

* Use successful origin

* Fix weird type parameter compilation issue

* Fixes

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* Use benchmarked XCM pallet weights

* Fixes

* Fixes

* Use override instead of skip

* Fixes

* Fixes

* Fixes

* Fixes

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* Fixes

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

Co-authored-by: command-bot <>

* Replace Weight::MAX with 100b weight units

* Add test to ensure all_gte in barriers is correct

* Update xcm/src/v3/junction.rs

Co-authored-by: asynchronous rob <[email protected]>

* Add more weight tests

* cargo fmt

* Create thread_local in XCM executor to limit recursion depth (#6304)

* Create thread_local in XCM executor to limit recursion depth

* Add unit test for recursion limit

* Fix statefulness in tests

* Remove panic

* Use defer and environmental macro

* Fix the implementation

* Use nicer interface

* Change ThisNetwork to AnyNetwork

* Move recursion check up to top level

* cargo fmt

* Update comment

Co-authored-by: Bastian Köcher <[email protected]>

* Add upper limit on the number of overweight messages in the queue (#6298)

* Add upper limit on the number of ovwerweight messages in the queue

* Add newline

* Introduce whitelist for Transact and limit UMP processing to 10 messages per block (#6280)

* Add SafeCallFilter to XcmConfig

* Limit UMP to receive 10 messages every block

* Place 10 message limit on processing instead of receiving

* Always increment the message_processed count whenever a message is processed

* Add as_derivative to the Transact whitelist

* cargo fmt

* Fixes

* Update xcm/xcm-builder/src/universal_exports.rs

Co-authored-by: Branislav Kontur <[email protected]>

* Fixes

* Fixes

* Remove topic register and instead use the topic field in XcmContext

* Derive some common traits for DispatchBlobError

* Fixes

* cargo fmt

* Fixes

* Fixes

* Fix comments

* Fixes

* Introduce WithOriginFilter and apply it as the CallDispatcher for runtimes

* Fixes

* Appease clippy and fixes

* Fixes

* Fix more clippy issues

* Fixes

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* Add benchmark function for ExportMessage

* Fix comment

* Add upper limit to DownwardMessageQueues size

* Add max size check for queue in can_queue_downward_message

* Fixes

* Make Transact runtime call configurable

* Return Weight::MAX when there is no successful send XCM origin

* Update substrate

* Fixes

* Fixes

* Remove ExportMessage benchmark

* Remove assertion on Transact instruction benchmark

* Make reachable destination configurable in XCM pallet benchmarks

* Fixes

* Fixes

* Remove cfg attribute in fuzzer

* Fixes

* Remove cfg attribute for XCM pallet in test runtime

* Fixes

* Use ReachableDest where possible

* Fixes

* Add benchmark for UnpaidExecution

* Update substrate

* Ensure benchmark functions pass filters

* Add runtime-benchmarks feature to fuzzer

* Ensure FixedRateOfFungible accounts for proof size weights

* cargo fmt

* Whitelist remark_with_event when runtime-benchmarks feature is enabled

* Use remark_with_event for Transact benchmarks

* Fix Cargo.lock

* Allow up to 3 DescendOrigin instructions before UnpaidExecution

* cargo fmt

* Edit code comment

* Check check_origin for unpaid execution privilege

* Fixes

* Small nits for xcm-v3 (#6408)

* Add possibility to skip benchmark for export_message

* ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic

* Revert

* ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic

* Add HaulBlobError to `fn haul_blob`

* ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic

Co-authored-by: command-bot <>

* Revert changes to UnpaidExecution

* Change AllowUnpaidExecutionFrom to be explicit

* Fix log text

* cargo fmt

* Add benchmarks for XCM pallet version migration (#6448)

* Add benchmarks for XCM pallet version migration

* cargo fmt

* Fixes

* Fixes

* Fixes

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* Fix benchmarks

* Fix benchmarks

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

Co-authored-by: command-bot <>

* Merge remote-tracking branch 'origin/master' into gav-xcm-v3

* Fixes

* Fix comments (#6470)

* Specify Ethereum networks by their chain id (#6286)

Co-authored-by: Squirrel <[email protected]>

* Use  for Kusama

* Use WithComputedOrigin for Polkadot, Rococo and Westend

* Update lock

* Fix warning

* Update xcm/pallet-xcm/src/tests.rs

Co-authored-by: Squirrel <[email protected]>

* Update runtime/parachains/src/ump/migration.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update xcm/pallet-xcm/src/migration.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Fixes

* cargo fmt

* Typo

* Update xcm/src/v3/mod.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Docs

* Docs

* Docs

* Docs

* Docs

* Update xcm/src/v3/multiasset.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Add tests for MultiAssets::from_sorted_and_deduplicated

* Fail gracefully when same instance NFTs are detected during push

* Update Substrate to fix benchmarks

* Apply suggestions from code review

* Update runtime/kusama/src/xcm_config.rs

* Rename arguments

* Attempt to fix benchmark

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev runtime_parachains::ump

* Use actual weights for UMP pallet in Polkadot

* ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev runtime_parachains::ump

* ".git/.scripts/commands/bench/bench.sh" runtime westend-dev runtime_parachains::ump

* ".git/.scripts/commands/bench/bench.sh" runtime rococo-dev runtime_parachains::ump

Co-authored-by: Keith Yeung <[email protected]>
Co-authored-by: Alexander Popiak <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: stanly-johnson <[email protected]>
Co-authored-by: nanocryk <[email protected]>
Co-authored-by: Branislav Kontur <[email protected]>
Co-authored-by: asynchronous rob <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Vincent Geddes <[email protected]>
Co-authored-by: Squirrel <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Shawn Tabrizi <[email protected]>
devdanco added a commit to gasp-xyz/polkadot that referenced this pull request May 25, 2023
* guide: remove refences to outdated secondary checkers (#6309)

* guide: remove refences to outdated secondary checkers

* Update roadmap/implementers-guide/src/glossary.md

* guide: remove refences to Fisherman

* revert changes to roadmap/parachains.md

* Kusama: approve/reject treasury prop by treasurer (#6354)

* Add buckets on lower end of distribution to network bridge latency metrics (#6359)

* Add two more buckets on lower end of distribution

* add even smaller buckets

* cargo fmt

* Reduce provisioner work (#6328)

* Store values needed to create inherent data when needed instead of creating them early on

* Point deps to substrate branch

* Arc the client

* Cargo update

* Fix main cargo files

* Undo cargo file changes

* Add overseer dep to inherents

* Update deps

* Simplify code

* Update benchmark

* Update node/client/src/benchmarking.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Update node/core/parachains-inherent/src/lib.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Update node/core/parachains-inherent/src/lib.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Revert "Update node/core/parachains-inherent/src/lib.rs"

This reverts commit 8b9555dc2451acfabab173d259e00da2728b7aa2.

* Revert "Update node/core/parachains-inherent/src/lib.rs"

This reverts commit 816c92d0e001e71f677d0acbcf22bdc3f511bc56.

* cargo update -p sp-io

* fmt

Co-authored-by: Bastian Köcher <[email protected]>

* update deprecated alias `--all` (#6383)

`--all` is a deprecated alias for `--workspace` (https://doc.rust-lang.org/cargo/commands/cargo-test.html)

* Upgrade tokio to 1.22.0 (#6262)

Co-authored-by: Sebastian Kunert <[email protected]>

* Set polkadot version in one place (#6095)

* rust 1.64 enables workspace properties

* add edition, repository and authors.

* of course, update the version in one place.

Co-authored-by: Andronik <[email protected]>

* Introduce NIS functionality into Kusama/Rococo (#6352)

* Integrate NIS into Kusama/Rococo

* Missing files

* Fix

* Fix

* Formatting

* Add Kusama weights

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add Rococo weights

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use weights

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Bump

* Bump

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_nis

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_nis

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: command-bot <>

* OpenGov improvements for Kusama (#6372)

* Tweaks to optimise gov2

* Use new inactive funds

* Introduce migrations

* Fixes

* Fixes

* Fixes

* Some constant updates for Fellowship

* Further tweaks

* Lower floor for whitelisted

* Tweak some NIS params (#6393)

* Reduce base period, increase queue count

* Reduce base period, increase queue count

* allow root with gov2 origins (#6390)

* Bump Substrate (#6394)

* crowdloan: Fix migration. (#6397)

The migration would not have been run because of the `current_version ==
1` check.

* Companion of Substrate PR 12837 (#6385)

* rename some crates for publishing to crates.io

* s/remote-ext/frame-remote-externalities

* cargo update

* Make submission deposit reasonable (#6402)

* kusama whitelist pallet preimage dep upgrade (#6392)

* Bump (#6404)

* Companion for paritytech/substrate#12795 (#6374)

* Begin removing `parity-util-mem`; remove `collect_memory_stats`

* Update some dependencies that were using `parity-util-mem`

* Remove `trie-memory-tracker` feature

* Update Cargo.lock

* Update `kvdb-shared-tests`

* Add back jemalloc

* Add missing license header

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>
Co-authored-by: Andronik <[email protected]>

* Let the PVF host kill the worker on timeout (#6381)

* Let the PVF host kill the worker on timeout

* Fix comment

* Fix inaccurate comments; add missing return statement

* Fix a comment

* Fix comment

* Companion for paritytech/substrate#12788 (#6360)

* Companion for paritytech/substrate#12788

* migrations

* rustfmt

* update lockfile for {"substrate"}

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Make sure to preserve backing votes (#6382)

* Guide updates

* Consider more dead forks.

* Ensure backing votes don't get overridden.

* Fix spelling.

* Fix comments.

* Update node/primitives/src/lib.rs

Co-authored-by: Tsvetomir Dimitrov <[email protected]>

Co-authored-by: eskimor <[email protected]>
Co-authored-by: Tsvetomir Dimitrov <[email protected]>

* Refactoring to condense disputes tests (#6395)

* Refactoring to condense disputes tests

* Removing unhelpful comment lines

* Addressing Tsveto's suggestions

* Fixing formatting nit

* [ci] Adjust check-runtime-migration job (#6107)

* [WIP][ci] Add node to check-runtime-migration job

* add image

* remove sscache from before_script

* add nodes

* restart pipeline

* restart pipeline2

* disable other jobs

* debug

* remove debug

* add ports

* restart pipeline

* restart pipeline

* restart pipeline

* try kusama first

* run polkadot 1st

* disable some jobs

* try command from command bot

* cargo run

* test passing variables

* run without condition

* adjust kusama and westend

* fix

* return jobs

* fix small nits

* split check-runtime-migration

Co-authored-by: parity-processbot <>

* update weights (sync with 0.9.33) (#6362)

* update weights (0.9.33) (#6299)

* kusama: update weights

* polkadot: update weights

* rococo: update weights

* westend: update weights

* fix deps

* Resolve merge

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Reset Kusama whitelist weights

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Feature gate test `benchmark_storage_works` (#6376)

* Feature gate storage bench test

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* typo

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: parity-processbot <>

* Companion for paritytech/substrate#12868 (#6406)

* Replace WEIGHT_PER_* with WEIGHT_REF_TIME_PER_*

* cargo fmt

* Update substrate

* OpenGov: Tweak parameters further (#6416)

* Tweak parameters further

* Further tweaks to deposits

* companion for #12663 jsonrpsee v0.16 (#6339)

* companion for #12663 jsonrpsee v0.16.1

* update substrate

* merge master

* Update rpc/Cargo.toml

Co-authored-by: Alexandru Vasile <[email protected]>

* Update utils/staking-miner/Cargo.toml

Co-authored-by: Alexandru Vasile <[email protected]>

* update lockfile for {"substrate"}

Co-authored-by: Alexandru Vasile <[email protected]>
Co-authored-by: parity-processbot <>

* CI: Remove the excessive variable declaration (#6426)

* companion slash chilling update (#6424)

* update weights

* goddamit

* update weights

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* swap error responses (#6421)

* [ci] fix check-transaction-versions (#6425)

* [ci] fix check-transaction-versions

* allow fail the job

* approval-distribution: batched approval/assignment sending (#6401)

* Imple batched send

Signed-off-by: Andrei Sandu <[email protected]>

* Add batch tests

Signed-off-by: Andrei Sandu <[email protected]>

* pub MAX_NOTIFICATION_SIZE

Signed-off-by: Andrei Sandu <[email protected]>

* spell check

Signed-off-by: Andrei Sandu <[email protected]>

* spellcheck ...

Signed-off-by: Andrei Sandu <[email protected]>

* Fix comment

Signed-off-by: Andrei Sandu <[email protected]>

* o.O

Signed-off-by: Andrei Sandu <[email protected]>

* 2 constants

Signed-off-by: Andrei Sandu <[email protected]>

* Ensure batch size is at least 1 element

Signed-off-by: Andrei Sandu <[email protected]>

* feedback impl

Signed-off-by: Andrei Sandu <[email protected]>

Signed-off-by: Andrei Sandu <[email protected]>

* add westend bootnode (#6434)

* [ci] add job switcher (#6433)

* [ci] add job switcher

* add before_script to docker and k8s runners

* upd runners

* sccache :(

* companion for try-runtime revamp (#6187)

* update to reflect latest try-runtime stuff

* update to latest version

* fix

* fix miner

* update

* update

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Fix wrong rate limit + add a few logs. (#6440)

* Add trace log

* More tracing.

* Fix redundant rate limit.

* Add trace log.

* Improve logging.

Co-authored-by: eskimor <[email protected]>

* Make sure errors get logged (#6451)

instead of silently dropped.

Co-authored-by: eskimor <[email protected]>

* Adding some more logs (#6455)

* Adding some more logs

More logs are always better! Joke aside, these logs help to debug
certain issues.

* Apply suggestions from code review

* [bump] orchestra v0.0.4 (#6413)

* update orchestra to v0.0.3

* fix locks

* update orchestra to v0.0.4

* update lock

* Use explicit call indices (#6449)

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use explicit call indices

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Update Substrate (#6457)

* BlockId removal: refactor: HeaderBackend::header (#6418)

* BlockId removal: refactor: HeaderBackend::header

It changes the arguments of:
- `HeaderBackend::header`,
- `Client::header`

methods from: `BlockId<Block>` to: `Block::Hash`

This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)

* missed fixes

* BlockId removal: refactor: HeaderBackend::expect_header

It changes the arguments of `HeaderBackend::expect_header` method from: `BlockId<Block>` to: `Block::Hash`

* update lockfile for {"substrate"}

* misspell fixed

Co-authored-by: parity-processbot <>

* PVF preparation: do not conflate errors (#6384)

* PVF preparation: do not conflate errors

+ Adds some more granularity to the prepare errors.
+ Better distinguish whether errors occur on the host side or the worker.
+ Do not kill the worker if the error happened on the host side.
+ Do not retry preparation if the error was `Panic`.
+ Removes unnecessary indirection with `Selected` type.

* Add missing docs, resolve TODOs

* Address review comments and remove TODOs

* Fix error in CI

* Undo unnecessary change

* Update couple of comments

* Don't return error for stream shutdown

* Update node/core/pvf/src/worker_common.rs

* [ci] New try-runtime command (#6445)

* [ci] New try-runtime command

* restart pipeline

* build features

* fix --features flag

* rm --execution flag

* remove --no-spec-check-panic flag

* change target dir

* debug ccargo target dir

* return target

* try different location for runtime wasm

* build only the runtime crate

* check all generated .wasm files

* adjust paths again

* remove debug command

Co-authored-by: joao-paulo-parity <[email protected]>

* Kusama origins as xcm multi_location (#6273)

* Kusamsa origins as xcm multilocation

* Fellows origin index

* origins to xcm plurality body

* cleanup

* fix cargo spellcheck

* Apply suggestions from code review

Co-authored-by: joe petrowski <[email protected]>

* include Fellows into scope

* include Fellows into scope

Co-authored-by: joe petrowski <[email protected]>
Co-authored-by: Gavin Wood <[email protected]>

* BlockId removal: refactor: HeaderBackend::status (#6459)

* BlockId removal: refactor: HeaderBackend::status

It changes the arguments of `HeaderBackend::status` method from: `BlockId<Block>` to: `Block::Hash`

This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)

* Update node/core/chain-api/src/tests.rs

Co-authored-by: Adrian Catangiu <[email protected]>

* unused import removed

* update lockfile for {"substrate"}

Co-authored-by: Adrian Catangiu <[email protected]>
Co-authored-by: parity-processbot <>

* cargo update -p libp2p-yamux (#6464)

* fix dependabot labels (#6468)

* Fix runtime-migration label detection (#6469)

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Bump secp256k1 from 0.24.0 to 0.24.2 (#6411)

Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.24.0 to 0.24.2.
- [Release notes](https://github.com/rust-bitcoin/rust-secp256k1/releases)
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/secp256k1-0.24.2/CHANGELOG.md)
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.0...secp256k1-0.24.2)

---
updated-dependencies:
- dependency-name: secp256k1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: parity-processbot <>

* [Companion] Allow StakingAdmin to set min_commission (#6444)

* rename staking origin

* fix comments

* rename origin

* give fake weight before re-benchmarking

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_staking

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_staking

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_staking

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Added comment describing satisfied invariant (#6460)

* Runtime diagnostics for leaked messages in unbounded channels (part 2) (#6481)

* Bump `backtrace` to v0.3.67

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Update disputes subsytems section. (#6329)

* Update disputes subsytems section.

* Update roadmap/implementers-guide/src/node/disputes/README.md

Co-authored-by: Andrei Sandu <[email protected]>

* Update roadmap/implementers-guide/src/node/disputes/README.md

Co-authored-by: Andrei Sandu <[email protected]>

* Update roadmap/implementers-guide/src/node/disputes/README.md

Co-authored-by: ordian <[email protected]>

* Update roadmap/implementers-guide/src/node/disputes/README.md

Co-authored-by: ordian <[email protected]>

* Review feedback.

Co-authored-by: eskimor <[email protected]>
Co-authored-by: Andrei Sandu <[email protected]>
Co-authored-by: ordian <[email protected]>

* Update dispute participation on active leaves update (#6303)

* Passed candidate events from scraper to participation

* First draft PR 5875

* Added support for timestamp in changes

* Some necessary refactoring

* Removed SessionIndex from unconfirmed_disputes key

* Removed duplicate logic in import statements

* Replaced queue_participation call with re-prio

* Simplifying refactor. Backed were already handled

* Removed unneeded spam slots logic

* Implementers guide edits

* Undid the spam slots refactor

* Added comments and implementers guide edit

* Added test for participation upon backing

* Round of fixes + ran fmt

* Round of changes + fmt

* Error handling draft

* Changed errors to bubble up from reprioritization

* Starting to construct new test

* Clarifying participation function rename

* Reprio test draft

* Very rough bump to priority queue test draft

* Improving logging

* Most concise reproduction of error on third import

* Add `handle_approval_vote_request`

* Removing reprioritization on included event test

* Removing unneeded test config

* cargo fmt

* Test works

* Fixing final nits

* Tweaks to test Tsveto figured out

Co-authored-by: eskimor <[email protected]>
Co-authored-by: Tsvetomir Dimitrov <[email protected]>

* BlockId removal: refactor: BlockBackend::block|block_status (#6477)

* BlockId removal: refactor: BlockBackend::block|block_status

It changes the arguments of:
-  `BlockBackend::block`
-  `BlockBackend::block_status`

method from: `BlockId<Block>` to: `Block::Hash`

This PR is part of BlockId::Number refactoring analysis (paritytech/substrate#11292)

* update lockfile for {"substrate"}

* ".git/.scripts/fmt.sh"

Co-authored-by: parity-processbot <>

* Deploy scheduler agenda cleanup migration (#6465)

* Add migration

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Add comments

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Migrate Staking pallet to v13 (#6365)

* add staking v13 migration

* add migration to polkadot

* only migrate staking

* un-remove other migrations

* fmt

* retrigger ci

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Co #13045: Selectable on-runtime-upgrade checks (#6498)

* Use UpgradeCheckSelector

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* update lockfile for {"substrate"}

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: parity-processbot <>

* Add `try-runtime` to Rococo runtime (#6501)

* Add `try-runtime` to Rococo runtime

* Enable try-runtime in all pallets

* Update runtime/rococo/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Add dev-dependencies for the try-runtime test

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Fix `polkadot-runtime-constants` std build (#6503)

* Fix polkadot-runtime-constants std build

* Fix kusama, rococo and westend constants std build

* Code review fixes

* Issue 6274: keeping all backing votes in provisioner vote set (#6494)

* Fixing filter to keep all backing votes

* Comment and implementers guide edit

* Formatting

* Using fallthrough

* Fmt

* Log PVF retries (#6504)

* av-store: write meta for unknown finalized blocks (#6452)

* av-store: write meta for unknown finalized blocks

* fix test

* upgrade libp2p to 0.50.0 (#6500)

* update asynchronous-codec

* update futures-rustls

* update rustls

* update ipnet

* update once_cell

* update futures

* update futures and its deps

* update lockfile for {"substrate"}

* Bump zombienet test timeout from 30 to 60 s

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Revert "Bump zombienet test timeout from 30 to 60 s"

This reverts commit 657738dfffe3234195a3b5b491f08e4660ca7bad.

* Update Substrate

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>

* Update serde because substrate->trybuild needs a newer version (#6505)

companion PR for https://github.com/paritytech/substrate/pull/13073

* [ci] Remove check-transaction-versions job (#6509)

Co-authored-by: parity-processbot <>

* Unlimited Proof size per block (#6085)

* Unlimited Proof size per block

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* fix

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use `polkadot-node-metrics` where possible (#6484)

See https://github.com/paritytech/polkadot/issues/6015. (Doesn't close yet,
there might be more we can do.)

* 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. <[email protected]>

* Code review feedback - update logs

* Code review feedback: fix weights

* Update runtime/parachains/src/disputes.rs

Co-authored-by: s0me0ne-unkn0wn <[email protected]>

* Additional logs in disputes migration

* Fix merge conflicts

* Add version checks in try-runtime tests

* Fix a compilation warning`

Co-authored-by: Marcin S. <[email protected]>
Co-authored-by: s0me0ne-unkn0wn <[email protected]>

* Remove unused code (#6525)

Signed-off-by: Andrei Sandu <[email protected]>

Signed-off-by: Andrei Sandu <[email protected]>

* Fix flaky test in `dispute-coordinator` (#6524)

https://github.com/paritytech/polkadot/pull/6494 updates disputes
participation priority on Active Leaves update. This operation might
trigger participation in some cases and as a result some of the message
ordering is not as nice as it used to be.

As a side effect of this `resume_dispute_without_local_statement` was
failing occasionally. The solution is not to expect that `BlockNumber`,
`CandidateEvents`, `FetchOnChainVotes` and `Ancestors` messages are
executed after `FinalizedBlockNumber` and in any specific order.

This should be okay as the code is in helper function and doesn't affect
the actual test behaviour.

Fixes https://github.com/paritytech/polkadot/issues/6514

* Bump tokio from 1.22.0 to 1.24.1 (#6523)

Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.22.0 to 1.24.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.22.0...tokio-1.24.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Guide changes 3 (#6520)

* Guide changes

* Adding clarification

* Replace async-std with tokio in PVF subsystem (#6419)

* Replace async-std with tokio in PVF subsystem

* Rework workers to use `select!` instead of a mutex

The improvement in code readability is more important than the thread overhead.

* Remove unnecessary `fuse`

* Add explanation for `expect()`

* Update node/core/pvf/src/worker_common.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Update node/core/pvf/src/worker_common.rs

Co-authored-by: Bastian Köcher <[email protected]>

* Address some review comments

* Shutdown tokio runtime

* Run cargo fmt

* Add a small note about retries

* Fix up merge

* Rework `cpu_time_monitor_loop` to return when other thread finishes

* Add error string to PrepareError::IoErr variant

* Log when artifacts fail to prepare

* Fix `cpu_time_monitor_loop`; fix test

* Fix text

* Fix a couple of potential minor data races.

First data race was due to logging in the CPU monitor thread even if the
job (other thread) finished. It can technically finish before or after the log.

Maybe best would be to move this log to the `select!`s, where we are guaranteed
to have chosen the timed-out branch, although there would be a bit of
duplication.

Also, it was possible for this thread to complete before we executed
`finished_tx.send` in the other thread, which would trigger an error as the
receiver has already been dropped. And right now, such a spurious error from
`send` would be returned even if the job otherwise succeeded.

* Update Cargo.lock

Co-authored-by: Bastian Köcher <[email protected]>

* Fix cycle dispute-coordinator <-> dispute-distribution  (#6489)

* First iteration of message sender.

* dyn Fn variant (no cloning)

* Full implementation + Clone, without allocs on `Send`

* Further clarifications/cleanup.

* MessageSender -> NestingSender

* Doc update/clarification.

* dispute-coordinator: Send disputes on startup.

+ Some fixes, cleanup.

* Fix whitespace.

* Dispute distribution fixes, cleanup.

* Cargo.lock

* Fix spaces.

* More format fixes.

What is cargo fmt doing actually?

* More fmt fixes.

* Fix nesting sender.

* Fixes.

* Whitespace

* Enable logging.

* Guide update.

* Fmt fixes, typos.

* Remove unused function.

* Simplifications, doc fixes.

* Update roadmap/implementers-guide/src/node/disputes/dispute-coordinator.md

Co-authored-by: Marcin S. <[email protected]>

* Fmt + doc example fix.

Co-authored-by: eskimor <[email protected]>
Co-authored-by: Marcin S. <[email protected]>

* Update the GHA srtool-actions to the latest version (#6532)

* Minor fixes (#6533)

* Minor fixes

* Fix compile errors

* Trigger update-node-template when a final release tag is created (#6522)

* trigger update-node-template when final release tag is created

ref https://github.com/paritytech/release-engineering/issues/142

* fix comment

* Update scripts/ci/gitlab/pipeline/publish.yml

Co-authored-by: Alexander Samusev <[email protected]>

* fix regular expression

Co-authored-by: Alexander Samusev <[email protected]>

* ci: mark update-weights non-interruptible (#6539)

* Bump JasonEtco/create-an-issue from 2.6.0 to 2.9.1 (#6473)

Bumps [JasonEtco/create-an-issue](https://github.com/JasonEtco/create-an-issue) from 2.6.0 to 2.9.1.
- [Release notes](https://github.com/JasonEtco/create-an-issue/releases)
- [Commits](https://github.com/JasonEtco/create-an-issue/compare/9e6213aec58987fa7d2f4deb8b256b99e63107a2...e27dddc79c92bc6e4562f268fffa5ed752639abd)

---
updated-dependencies:
- dependency-name: JasonEtco/create-an-issue
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: parity-processbot <>

* Improve inactive fund tracking (#6471)

* Improve inactive fund tracking

* Docs

* Introduce the re-migration code

* Bump

* Update runtime/kusama/src/lib.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update runtime/common/src/crowdloan/migration.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update runtime/common/src/crowdloan/migration.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Grumbles

* Apply comments suggestions from code review

Co-authored-by: Bastian Köcher <[email protected]>

Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: muharem <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: parity-processbot <>

* Re-export current primitives in crate root (#6487)

* Re-export current primitives in crate root

* Add missing exports

* restart CI

* Add a paragraph about slashing in runtime disputes section from the guide (#6531)

* Add a paragraph about slashing in runtime disputes section from the guide

* Add definition for inconclusive

* Westend state trie to version 1 (#6336)

* Switch to state V1 and add state-trie-migration pallet with dummy manual
account.

* Initialize limit on runtime upgrade.

* add prelude

* sp_std prelude only for no_std

* Disable filter for signed migration

* revert hex dep

* use NeverEnsureOrigin

* fix

* correct fix

* check init state in try-runtime

Co-authored-by: parity-processbot <>

* handle substrate-node-template and substrate-parachain-template (#6541)

* Updated Dwellir bootnodes. Now using wss. (#6534)

* pvf: Fix missing execution request when retrying preparation (#6537)

* pvf: Add checks for result sender when retrying preparation in tests

* pvf: Fix missing execution request when retrying preparation

* Update comment

* pre-checking: Reject failed PVFs (#6492)

* pre-checking: Reject failed PVFs

* paras: immediately reject any PVF that cannot reach a supermajority

* Make the `quorum` reject condition a bit more clear semantically

* Add comment

* Update implementer's guide

* Update a link

Not related to the rest of the PR, but I randomly noticed and fixed this.

* Update runtime/parachains/src/paras/tests.rs

Co-authored-by: s0me0ne-unkn0wn <[email protected]>

* Remove unneeded loop

* Log PVF retries using `info!`

* Change retry logs to `warn!` and add preparation failure log

* Log PVF execution failure

* Clarify why we reject failed PVFs

* Fix PVF reject runtime benchmarks

Co-authored-by: s0me0ne-unkn0wn <[email protected]>

* Fix set-output deprecation (#6554)

set-output is being deprecated by GH.
More information at https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/

* add erasure-coding benches (#6308)

* add erasure-code benches

* revert Cargo.lock changes

* revert Cargo.lock changes

* CI: Code mark to request a pipeline failure (#6562)

* XCM v3 (#4097)

* cargo fmt

* Create benchmarks for XCM instructions introduced in v3 (#4564)

* Create benchmarks for BurnAsset and ExpectAsset

* Add benchmarks for ExpectOrigin and ExpectError

* Add benchmarks for QueryPallet and ExpectPallet

* Add benchmarks for ReportTransactStatus and ClearTransactStatus

* cargo fmt

* Use AllPalletsWithSystem in mocks

* Update XCM generic benchmarks for westend

* Remove default impls for some XCM weight functions

* Fix compilation error

* Add weight_args helper attribute

* Remove manually written XcmWeightInfo

* Parse trailing comma

* Revert "Add weight_args helper attribute"

This reverts commit 3b7c47a6182e1b9227036c38b406d494c3fcf6fd.

* Fixes

* Fixes

* XCM v3: Introduce querier field into `QueryReponse` (#4732)

* Introduce querier field into QueryReponse

* Convert &Option<MultiLocation> to Option<&MultiLocation>

&Option<T> is almost always never quite useful, most of the time it
still gets converted to an Option<&T> via `as_ref`, so we should simply
make functions that accept Option<&T> instead.

* Fix tests

* cargo fmt

* Fix benchmarks

* Appease spellchecker

* Fix test

* Fix tests

* Fix test

* Fix mock

* Fixes

* Fix tests

* Add test for response queriers

* Update xcm/pallet-xcm/src/lib.rs

* Test for non-existence of querier

Co-authored-by: Keith Yeung <[email protected]>

* Fixes

* Fixes

* Add `starts_with` function to `MultiLocation` and `Junctions` (#4835)

* add matches_prefix function to MultiLocation and Junctions

* rename matches_prefix to starts_with

* remove unnecessary main in doc comment

Co-authored-by: Bastian Köcher <[email protected]>

* Make use of starts_with in match_and_split

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* XCM v3: Bridge infrastructure (#4681)

* XCM bridge infrastructure

* Missing bit of cherry-pick

* Revamped XCM proc macros; new NetworkIds

* Fixes

* Formatting

* ExportMessage instruction and config type

* Add MessageExporter definitions

* Formatting

* Missing files

* Fixes

* Initial bridging config API

* Allow for two-stage XCM execution

* Update xcm/src/v3/mod.rs

Co-authored-by: Keith Yeung <[email protected]>

* XCM crate building again

* Initial bridging primitive

* Docs

* Docs

* More work

* More work

* Merge branch 'gav-xcm-v3' into gav-xcm-v3-bridging

* Make build

* WithComputedOrigin and SovereignPaidRemoteExporter

* Remove TODOs

* Slim bridge API and tests.

* Fixes

* More work

* First bridge test passing

* Formatting

* Another test

* Next round of bridging tests

* Repot tests

* Cleanups

* Paid bridging

* Formatting

* Tests

* Spelling

* Formatting

* Fees and refactoring

* Fixes

* Formatting

* Refactor SendXcm to become two-phase

* Fix tests

* Refactoring of SendXcm and ExportXcm complete

* Formatting

* Rename CannotReachDestination -> NotApplicable

* Remove XCM v0

* Minor grumbles

* Formatting

* Formatting

* Fixes

* Fixes

* Cleanup XCM config

* Fee handling

* Fixes

* Formatting

* Fixes

* Bump

Co-authored-by: Keith Yeung <[email protected]>

* Bump Substrate

* XCM v3: `ExchangeAsset` and Remote-locking (#4945)

* Asset Exchange and Locks

* Make sure XCM typers impl MaxEncodedLen

* Basic implementation for locks

* Bump Substrate

* Missing files

* Use new API

* Introduce  instruction

* Big refactor

* Docs

* Remove deprecated struct

* Remove deprecated struct

* Repot XCM builder tests

* ExchangeAsset test

* Exchange tests

* Locking tests

* Locking tests

* Fixes and tests

* Fixes

* Formatting

* Spelling

* Add simulator test for remote locking

* Fix tests

* Bump

* XCM v3: Support for non-fungibles (#4950)

* NFT support and a test

* New files.

* Integration tests for sending NFTs

* Formatting

* Broken Cargo features

* Use 2021 edition

* Fixes

* Formatting

* Formatting

* Update xcm/xcm-builder/src/asset_conversion.rs

Co-authored-by: Keith Yeung <[email protected]>

* Update xcm/xcm-builder/src/nonfungibles_adapter.rs

Co-authored-by: Keith Yeung <[email protected]>

* Update xcm/xcm-executor/src/lib.rs

Co-authored-by: Keith Yeung <[email protected]>

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Keith Yeung <[email protected]>

* XCM v3: Context & ID hash (#4756)

* send_xcm returns message hash

* cargo fmt

* Create topic register and instructions

* Fix weights

* Use tabs

* Sketch out XcmContext

* Fix doc test

* Add the XCM context as a parameter to executor trait fns

* Fixes

* Add XcmContext parameter

* Revert adding context as an arg to SendXcm trait methods

* Revert adding context argument to ConvertOrigin trait methods

* cargo fmt

* Do not change the API of XcmExecutor::execute

* Fixes

* Fixes

* Fixes

* Fixes

* Remove convenience method

* Fixes

* Fixes

* cargo fmt

* Fixes

* Add benchmarks for XCM topic instructions

* cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs

* Remove context argument on FilterAssetLocation

* Fixes

* Remove unused import

* Fixes

* Fixes

* Fixes

* Accept XCM hash parameter in ExecuteXcm trait methods

* cargo fmt

* Properly enable sp-io/std

* Fixes

* default-features = false

* Fixes

* Fixes

* Fixes

* Make XcmContext optional in withdraw_asset

* Fixes

* Fixes

* Fixes

* Modify tests to check for the correct XCM hash

* Small refactor

* cargo fmt

* Check for expected hash in xcm-builder unit tests

* Add doc comment for the optionality of the XCM context in withdraw_asset

* Update xcm/src/v3/traits.rs

* Update xcm/src/v3/traits.rs

* Store XcmContext and avoid rebuilding

* Use ref for XcmContext

* Formatting

* Fix incorrect hash CC @KiChjang

* Refactor and make clear fake hashes

* Fixes

* Fixes

* Fixes

* Fix broken hashing

* Docs

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

* Fixes

* Fixes

* Remove unknowable hash

* Formatting

* Use message hash for greater identifiability

* Formatting

* Fixes

* Formatting

Co-authored-by: Keith Yeung <[email protected]>
Co-authored-by: Parity Bot <[email protected]>

* Fixes

* Fixes

* Fixes

* Fixes

* Formatting

* Fixes

* Formatting

* Fixes

* Fixes

* Formatting

* Formatting

* Remove horrible names

* Bump

* Remove InvertLocation trait (#5092)

* Remove InvertLocation trait

* Remove unneeded functions

* Formatting

* Fixes

* Remove XCMv1 (#5094)

* Remove XCMv1

* Remove XCMv1

* Formatting

* Fixes

* Fixes

* Formatting

* derive serialize/deserialize for xcm primitives (#5036)

* derive serialize/deserialize for xcm primitives

* derive serialize/deserialize for xcm primitives

* update v3

* update v2

Co-authored-by: Gav Wood <[email protected]>

* Update lock

* Fixes

* Add benchmarks for the ExchangeAsset instruction

* `AliasOrigin` instruction stub (#5122)

* AliasOrigin instruction stub

* Fixes

* Fixes

* Update substrate

* Fixes

* Ensure same array length before using copy_from_slice

* Fixes

* Add benchmarks for the UniversalOrigin instruction

* Remove unused import

* Remove unused import

* Add benchmarks for SetFeesMode instruction

* Add benchmarks for asset (un)locking instructions

* Leave AliasOrigin unbenchmarked

* Fixes after merge

* cargo fmt

* Fixes

* Fixes

* Set TrustedReserves to None on both Kusama and Westend

* Remove extraneous reserve_asset_deposited benchmark

* Fix universal_origin benchmark

* cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs

* Don't rely on skipped benchmark functions

* Fixes

* cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/kusama/src/weights/xcm/pallet_xcm_benchmarks_generic.rs

* Fix unused variables

* Fixes

* Spelling

* Fixes

* Fix codec index of VersionedXcm

* Allows to customize how calls are dispatched from XCM (#5657)

* CallDispatcher trait

* fmt

* unused import

* fix test-runtime

* remove JustDispatch type

* fix typo in test-runtime

* missing CallDispatcher

* more missing CallDispatcher

* Update comment `NoteAssetLocked` -> `NoteUnlockable`

* Fixes

* Fixes

* Adjust MultiAssets weights based on new wild card variants

* Fixes

* Fixes

* Fixes

* Fixes

* Fixes

* Some late fixes for XCMv3 (#5237)

* Maximise chances that trapped assets can be reclaimed

* Do origin check as part of ExportMessage for security

* Formatting

* Fixes

* Cleanup export XCM APIs

* Formatting

* Update xcm/src/v3/junctions.rs

* UnpaidExecution instruction and associated barrier.

* Tighten barriers (ClearOrigin/QueryResponse)

* Allow only 1 ClearOrigin instruction in AllowTopLevelPaidExecutionFrom

* Bi-directional teleport accounting

* Revert other fix

* Build fixes]

* Tests build

* Benchmark fixes

Co-authored-by: Keith Yeung <[email protected]>

* Update Substrate

* Re-export `pub` stuff from universal_exports.rs + removed unecessary clone (#6145)

* Re-export `pub` stuff from universal_exports.rs

* Removed unnecessary clone

* Use 2D weights in XCM v3 (#6134)

* Depend upon sp-core instead of sp-runtime

* Make sp-io a dev-dependency

* Use 2D weights in XCM v3

* cargo fmt

* Add XCM pallet migration to runtimes

* Use from_parts

* cargo fmt

* Fixes

* cargo fmt

* Remove XCMWeight import

* Fixes

* Fixes

* Fixes

* Fixes

* Use translate in migration

* Increase max upward message size in tests

* Fix doc test

* Remove most uses of from_ref_time

* cargo fmt

* Fixes

* Fixes

* Add extrinsic benchmarking to XCM pallet

* cargo fmt

* Fixes

* Use old syntax

* cargo fmt

* Fixes

* Remove hardcoded weights

* Add XCM pallet to benchmarks

* Use successful origin

* Fix weird type parameter compilation issue

* Fixes

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* Use benchmarked XCM pallet weights

* Fixes

* Fixes

* Use override instead of skip

* Fixes

* Fixes

* Fixes

* Fixes

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* Fixes

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

Co-authored-by: command-bot <>

* Replace Weight::MAX with 100b weight units

* Add test to ensure all_gte in barriers is correct

* Update xcm/src/v3/junction.rs

Co-authored-by: asynchronous rob <[email protected]>

* Add more weight tests

* cargo fmt

* Create thread_local in XCM executor to limit recursion depth (#6304)

* Create thread_local in XCM executor to limit recursion depth

* Add unit test for recursion limit

* Fix statefulness in tests

* Remove panic

* Use defer and environmental macro

* Fix the implementation

* Use nicer interface

* Change ThisNetwork to AnyNetwork

* Move recursion check up to top level

* cargo fmt

* Update comment

Co-authored-by: Bastian Köcher <[email protected]>

* Add upper limit on the number of overweight messages in the queue (#6298)

* Add upper limit on the number of ovwerweight messages in the queue

* Add newline

* Introduce whitelist for Transact and limit UMP processing to 10 messages per block (#6280)

* Add SafeCallFilter to XcmConfig

* Limit UMP to receive 10 messages every block

* Place 10 message limit on processing instead of receiving

* Always increment the message_processed count whenever a message is processed

* Add as_derivative to the Transact whitelist

* cargo fmt

* Fixes

* Update xcm/xcm-builder/src/universal_exports.rs

Co-authored-by: Branislav Kontur <[email protected]>

* Fixes

* Fixes

* Remove topic register and instead use the topic field in XcmContext

* Derive some common traits for DispatchBlobError

* Fixes

* cargo fmt

* Fixes

* Fixes

* Fix comments

* Fixes

* Introduce WithOriginFilter and apply it as the CallDispatcher for runtimes

* Fixes

* Appease clippy and fixes

* Fixes

* Fix more clippy issues

* Fixes

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* Add benchmark function for ExportMessage

* Fix comment

* Add upper limit to DownwardMessageQueues size

* Add max size check for queue in can_queue_downward_message

* Fixes

* Make Transact runtime call configurable

* Return Weight::MAX when there is no successful send XCM origin

* Update substrate

* Fixes

* Fixes

* Remove ExportMessage benchmark

* Remove assertion on Transact instruction benchmark

* Make reachable destination configurable in XCM pallet benchmarks

* Fixes

* Fixes

* Remove cfg attribute in fuzzer

* Fixes

* Remove cfg attribute for XCM pallet in test runtime

* Fixes

* Use ReachableDest where possible

* Fixes

* Add benchmark for UnpaidExecution

* Update substrate

* Ensure benchmark functions pass filters

* Add runtime-benchmarks feature to fuzzer

* Ensure FixedRateOfFungible accounts for proof size weights

* cargo fmt

* Whitelist remark_with_event when runtime-benchmarks feature is enabled

* Use remark_with_event for Transact benchmarks

* Fix Cargo.lock

* Allow up to 3 DescendOrigin instructions before UnpaidExecution

* cargo fmt

* Edit code comment

* Check check_origin for unpaid execution privilege

* Fixes

* Small nits for xcm-v3 (#6408)

* Add possibility to skip benchmark for export_message

* ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic

* Revert

* ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic

* Add HaulBlobError to `fn haul_blob`

* ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic

Co-authored-by: command-bot <>

* Revert changes to UnpaidExecution

* Change AllowUnpaidExecutionFrom to be explicit

* Fix log text

* cargo fmt

* Add benchmarks for XCM pallet version migration (#6448)

* Add benchmarks for XCM pallet version migration

* cargo fmt

* Fixes

* Fixes

* Fixes

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

* Fix benchmarks

* Fix benchmarks

* ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm

* ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm

Co-authored-by: command-bot <>

* Merge remote-tracking branch 'origin/master' into gav-xcm-v3

* Fixes

* Fix comments (#6470)

* Specify Ethereum networks by their chain id (#6286)

Co-authored-by: Squirrel <[email protected]>

* Use  for Kusama

* Use WithComputedOrigin for Polkadot, Rococo and Westend

* Update lock

* Fix warning

* Update xcm/pallet-xcm/src/tests.rs

Co-authored-by: Squirrel <[email protected]>

* Update runtime/parachains/src/ump/migration.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Update xcm/pallet-xcm/src/migration.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Fixes

* cargo fmt

* Typo

* Update xcm/src/v3/mod.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Docs

* Docs

* Docs

* Docs

* Docs

* Update xcm/src/v3/multiasset.rs

Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Add tests for MultiAssets::from_sorted_and_deduplicated

* Fail gracefully when same instance NFTs are detected during push

* Update Substrate to fix benchmarks

* Apply suggestions from code review

* Update runtime/kusama/src/xcm_config.rs

* Rename arguments

* Attempt to fix benchmark

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev runtime_parachains::ump

* Use actual weights for UMP pallet in Polkadot

* ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev runtime_parachains::ump

* ".git/.scripts/commands/bench/bench.sh" runtime westend-dev runtime_parachains::ump

* ".git/.scripts/commands/bench/bench.sh" runtime rococo-dev runtime_parachains::ump

Co-authored-by: Keith Yeung <[email protected]>
Co-authored-by: Alexander Popiak <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Parity Bot <[email protected]>
Co-authored-by: stanly-johnson <[email protected]>
Co-authored-by: nanocryk <[email protected]>
Co-authored-by: Branislav Kontur <[email protected]>
Co-authored-by: asynchronous rob <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Vincent Geddes <[email protected]>
Co-authored-by: Squirrel <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Shawn Tabrizi <[email protected]>

* Add runtime-benchmarks feature to test client and test service (#6566)

* Exclude CI related dictionary files from the CI team approval (#6563)

* Enable treasury.spend by Root origin for Polkadot network before Gov2 (#6490)

* Enable treasury.spend by Root origin

* EnsureRoot -> EnsureRootWithSuccess

* Co #12928: NIS should retain funds in reserve (#6569)

* Add new weight functions

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Configure NIS pallet ReserveId

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Bump

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Gav <[email protected]>

* Allow AuctionAdmin to use Scheduler (#6573)

* Companion for substrate#13154 (#6570)

* Remove lifetime from `KeyIterator`

* Remove the lifetime from the method too

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Added `HaulBlobError` to pub re-exports (#6579)

* Issue 4804: Notify chain selection of concluded disputes directly (#6512)

* Setting up new ChainSelectionMessage

* Partial first pass

* Got dispute conclusion data to provisioner

* Finished first draft for 4804 code

* A bit of polish and code comments

* cargo fmt

* Implementers guide and code comments

* More formatting, and naming issues

* Wrote test for ChainSelection side of change

* Added dispute coordinator side test

* FMT

* Addressing Marcin's comments

* fmt

* Addressing further Marcin comment

* Removing unnecessary test line

* Rough draft addressing Robert changes

* Clean up and test modification

* Majorly refactored scraper change

* Minor fixes for ChainSelection

* Polish and fmt

* Condensing inclusions per candidate logic

* Addressing Tsveto's comments

* Addressing Robert's Comments

* Altered inclusions struct to use nested BTreeMaps

* Naming fix

* Fixing inclusions struct comments

* Update node/core/dispute-coordinator/src/scraping/mod.rs

Add comment to split_off() use

Co-authored-by: Marcin S. <[email protected]>

* Optimizing removal at block height for inclusions

* fmt

* Using copy trait

Co-authored-by: Marcin S. <[email protected]>

* XCM: `ExpectTransactStatus` instruction (#6578)

* Introduce ExpectTransactStatus instruction

* Remove other changes

* Implement

* Implement rest

* Benchmark

* Update xcm/src/v3/mod.rs

Co-authored-by: Keith Yeung <[email protected]>

* Update xcm/src/v3/mod.rs

Co-authored-by: Keith Yeung <[email protected]>

Co-authored-by: Keith Yeung <[email protected]>

* construct mmr leaf prior to session pallet hook (#6577)

* move pallet_mmr ahead of pallet_session

addresses #11797

* document construction of mmr leaf prior to session

* update weights (0.9.37) (#6546) (#6555)

* kusama: update weights

* polkadot: update weights

* westend: update weights

* rococo: update weights

* Companion for Substrate #13157 (#6582)

* Update getrandom and version_check

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Companion for substrate: Make DispatchError impl MEL (#6583)

* bump parity-scale-codec version

* update lockfile for {"substrate"}

Co-authored-by: parity-processbot <>

* Update changelog templates to use new labels (#6585)

* Update changelog template to use new T labels

* update readme

* changelog gen: remove T6

* sync versions with release branch (0.9.37) (#6556)

* sync version to current release (0.9.37)

* sync spec_version with current release (9370)

* sync transaction_version with current release (9370)

* Disallow decoding of phantom asset (#6597)

* Disallow decoding of phantom asset

* Remove pub

* remove references to rpm (#6595)

* Warn validators with slow hardware (#6269)

* Warn validators with slow hardware

* update

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix printing logic

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* fix

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* add deps

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* update lockfile for {"substrate"}

* fmt

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: parity-processbot <>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Add Polkadotters bootnodes for Westend, Kusama and Polkadot (#6476)

* Add Polkadotters bootnodes for Westend, Kusama and Polkadot

* Remove newlines in bootnodes config section

* Fix some unjustified disputes (#6103)

* Fix indentation + add warning

on participation errors.

* Don't vote invalid on internal errors.

* Don't dispute on code compression error.

* Remove CodeDecompressionError

* Candidate not invalid if PVF preparation fails.

Instead: Report error.

* Fix malus

* Add clarifying comment.

* cargo fmt

* Fix indentation.

* Bump lru from 0.8.1 to 0.9.0 (#6538)

Bumps [lru](https://github.com/jeromefroe/lru-rs) from 0.8.1 to 0.9.0.
- [Release notes](https://github.com/jeromefroe/lru-rs/releases)
- [Changelog](https://github.com/jeromefroe/lru-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jeromefroe/lru-rs/compare/0.8.1...0.9.0)

---
updated-dependencies:
- dependency-name: lru
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [ci] Change check-labels GHA (#6594)

* [ci] Change check-labels GHA

* change file spec name

* change script when no label

* add tags

* XCM: Add HRMP to SafeCallFilter (#6606)

* XCM: Add HRMP to SafeCallFilter

* Whitelist several paras_registrar calls

* libc crate update (#6616)

cargo update -p libc

* Bump parity-db (#6617)

* New runners for weights and new weights (#6508)

* [DO NOT MERGE] test new vm runner for weights 2

* add image

* fix merge conflict

* apply weights

* new weights

Co-authored-by: parity-processbot <>

* nix upgrade to 0.26.1 (#6622)

* Add pov_size and code_size histograms (#6633)

Signed-off-by: Andrei Sandu <[email protected]>

Signed-off-by: Andrei Sandu <[email protected]>

* Enable `try-runtime` flag in CI (#6587)

* Env gate tests

The CI should check that it compiles, but not run it.

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Enable try-runtime feature in CI

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix test

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Fix XCM transact bench (#6635)

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* clear migrations included in 0.9.37 (#6630)

* polkadot: clear migrations included in 0.9.37

* rococo: clear migrations included in 0.9.37

* westend: clear migrations included in 0.9.37

* kusama: clear migrations included in 0.9.37

* remove unused import: xcm_config::CheckAccount

* Co reducing fast-unstake bench time and more (#6552)

* update stuff

* remove

* update

* update

* update weights

* fix tests

* update weights

* fix a few small things

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake

* ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev pallet-fast-unstake

* reduce batch size

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake

* update

* fix

* fix

* ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev pallet-fast-unstake

* update lockfile for {"substrate"}

* fmt

* Env gate migration try_fast_unstake_all

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

---------

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: command-bot <>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* 13110 Companion: Add WeightToFee and LengthToFee Runtime API (#6536)

* Add WeightToFee runtime API impls

* Forgot a couple

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* Use master Cargo.lock

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

* cargo update -p sp-io

Signed-off-by: Oliver Tale-Yazdi <[email protected]>

---------

Signed-off-by: Oliver Tale-Yazdi <[email protected]>
Co-authored-by: Oliver Tale-Yazdi <[email protected]>

* Storage monitor added to polkadot node (#6619)

* Storage monitor added to polkadot node

Related to: https://github.com/paritytech/substrate/issues/12399

* Cargo.lock updated

* Cargo.lock update

* Revert "Cargo.lock update"

This reverts commit 04dfe5fe65ea7d1476d4632ad647f2c1c669ab1a.

* Apply suggestions from code review

Co-authored-by: Bastian Köcher <[email protected]>

* missing_docs fixes

* Cargo.lock updated

---------

Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <[email protected]>

* Make zombienet tests native friendly (#6588)

* Make zombienet tests native friendly

* Update zombienet_tests/README.md

Co-authored-by: Bastian Köcher <[email protected]>

* Get rid of `{{ZOMBIENET_NATIVE_BINARY_PREFIX}}`

* Remove pointless changes

* add set_env helper and doc in readme

* changes from feedback

---------

Co-authored-by: Bastian Köcher <[email protected]>
Co-authored-by: Javier Viola <[email protected]>

* Companion: Remove `uncles` related code (#6615)

* Companion: Remove `uncles` related code

https://github.com/paritytech/substrate/pull/13216

* Fix compilation

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>

* Update benchmark's successful origin api (#6598)

* Update benchmark's successful origin api

* rustfmt

* unwrap for indirect origin dep

* replace unwrap by expect with a message

---------

Co-authored-by: parity-processbot <>

* companion for substrate #13237 (#6626)

* companion for https://github.com/paritytech/substrate/pull/13237

* test-runtime: add MaxSetIdSessionEntries

* update lockfile for {"substrate"}

---------

Co-authored-by: parity-processbot <>

* ignore fast-unstake remote test (#6641)

* Bump docker/build-push-action from 3 to 4 (#6651)

Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 3 to 4.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Some late short-term fixes for dispute slashing (#6249)

* disputes/slashing: slash only backers for ForInvalid

* add an assertion in mock impl

* fix tests

* do not slash backers on onconcluded disputes

* slash an intersection of backers and losers

* zombienet/disputes: check for offence only for invalid disputes

* add backing votes to disputes bench builder

* Update runtime/parachains/src/builder.rs

* Brad implementers guide revisions 2 (#6239)

* Add disputes subsystems fix

* Updated dispute approval vote import reasoning

* Improved wording of my changes

* Resolving issues brought up in comments

* Update disputes prioritisation in `dispute-coordinator` (#6130)

* Scraper processes CandidateBacked events

* Change definition of best-effort

* Fix `dispute-coordinator` tests

* Unit test for dispute filtering

* Clarification comment

* Add tests

* Fix logic

If a dispute is not backed, not included and not confirmed we
don't participate but we do import votes.

* Add metrics for refrained participations

* Revert "Add tests"

This reverts commit 7b8391a087922ced942cde9cd2b50ff3f633efc0.

* Revert "Unit test for dispute filtering"

This reverts commit 92ba5fe678214ab360306313a33c781338e600a0.

* fix dispute-coordinator tests

* Fix scraping

* new tests

* Small fixes in guide

* Apply suggestions from code review

Co-authored-by: Andrei Sandu <[email protected]>

* Fix some comments and remove a pointless test

* Code review feedback

* Clarification comment in tests

* Some tests

* Reference counted `CandidateHash` in scraper

* Proper handling for Backed and Included candidates in scraper

Backed candidates which are not included should be kept for a
predetermined window of finalized blocks. E.g. if a candidate is backed
but not included in block 2, and the window size is 2, the same
candidate should be cleaned after block 4 is finalized.

Add reference counting for candidates in scraper. A candidate can be
added on multiple block heights so we have to make sure we don't clean
it prematurely from the scraper.

Add tests.

* Update comments in tests

* Guide update

* Fix cleanup logic for `backed_candidates_by_block_number`

* Simplify cleanup

* Make spellcheck happy

* Update tests

* Extract candidate backing logic in separate struct

* Code review feedba…
peterwht added a commit to Watr-Protocol/watr that referenced this pull request Aug 2, 2023
peterwht added a commit to Watr-Protocol/watr that referenced this pull request Aug 9, 2023
* merge progress from polkadot-v0.9.39

checkpoint -- xcm config good

checkpoint -- client in progress

builds!!

updated integration-tests

* chore: cleanup integration-tests

* feat: start upgrading to polkadot-v0.9.42 -- incomplete

* feat: upgrade to v0.9.42
- Builds
- Integration tests fail

* feat: start fixing integration tests on 0.9.42 -- incomplete

* fix: integration tests 19 / 2 passing

* fix: integration tests mainnet 19 / 2 passing

* feat: weight calculation uses 2d weights

* chore: fix typos

* chore: fix formatting

* feat: better GAS_PER_SECOND

* fix: filter_asset_location updated, wrong erro check in integration test

* fix: 24 / 24 integration tests passing

* chore: update dependencies

* chore: update astar-frame dependency

* chore: update version to 1.23.0

* fix: refactor node/
- use type aliases in service.rs
- remove unnecessary clones
- use primitive from watr_common instead of watr mainnet
- add source for GAS_PER_SECOND
- rename WEIGHT_PER_GAS

* feat: update try-runtime, better benchmarking, refactor xcm_config
- Try-runtime builds
- Benchmarking script uses --list to dynamically load pallets
- xcm_config remove matches_prefix and replace with starts_with

* feat: add overhead benchmark command and production profile

* fix: add missing components after merge

* chore: fmt

* fix: fix eth_subscription by removing duplicate pub_sub

* feat: upgrade to polkadot-v0.9.43

* fix: remove rpc port and use ws port. Update service.rs to use cumulus_client_service

* chore: format code

* feat: add migrations for uplift
- paritytech/polkadot#6134
- paritytech/substrate#12310

* chore: fmt

* fix: add pallet-proxy to try-runtime feature

* feat: migrate to polkadot-v1.0.0

* fix: integration tests

* feat: use fp_self_contained for UncheckedExtrinsic and add TransactionConverter

* feat: add migrations for 0.9.30 -> 1.0.0. try-runtime passes

* chore: fmt

* feat: frame-system can be benchmarked
paritytech/cumulus@3a1b06f#diff-141115daaf5537fdd63dda2f542a4255715f3a4f5f453612e4dc8e9160f3995eR1056-R1065

* chore: update node version to v1.0.0

* chore: update version

* fix: mainnet integration tests

* feat: new benchmarks on collator hardware

---------

Co-authored-by: Peter White <[email protected]>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
A0-please_review Pull request needs code review. B0-silent Changes should not be mentioned in any release notes C1-low PR touches the given topic and has a low impact on builders. D3-trivial 🧸 PR contains trivial changes in a runtime directory that do not require an audit.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants