diff --git a/.github/workflows/gitspiegel-trigger.yml b/.github/workflows/gitspiegel-trigger.yml
index 59347fad6d6fc663861c3ca3ddd256239987ff55..b338f7a3f6254b9db628f8b2b45c88b8094ef390 100644
--- a/.github/workflows/gitspiegel-trigger.yml
+++ b/.github/workflows/gitspiegel-trigger.yml
@@ -13,8 +13,19 @@ on:
- unlocked
- ready_for_review
- reopened
+ # the job doesn't check out any code, so it is relatively safe to run it on any event
+ pull_request_target:
+ types:
+ - opened
+ - synchronize
+ - unlocked
+ - ready_for_review
+ - reopened
merge_group:
+# drop all permissions for GITHUB_TOKEN
+permissions: {}
+
jobs:
sync:
runs-on: ubuntu-latest
diff --git a/.github/workflows/review-bot.yml b/.github/workflows/review-bot.yml
index 5970989cde09374743bde8ac8890eae192527cec..0a7e80f007c5b643ce183fdca85d91c57b61f53f 100644
--- a/.github/workflows/review-bot.yml
+++ b/.github/workflows/review-bot.yml
@@ -23,7 +23,7 @@ jobs:
app_id: ${{ secrets.REVIEW_APP_ID }}
private_key: ${{ secrets.REVIEW_APP_KEY }}
- name: "Evaluates PR reviews and assigns reviewers"
- uses: paritytech/review-bot@v2.2.0
+ uses: paritytech/review-bot@v2.3.0
with:
repo-token: ${{ steps.app_token.outputs.token }}
team-token: ${{ steps.app_token.outputs.token }}
diff --git a/.gitlab/pipeline/build.yml b/.gitlab/pipeline/build.yml
index 5c13045706c40e2a6049e67e3a5bb2a1b140fddb..d6918173d493efa69037b8714d03e8d6c7b3ae64 100644
--- a/.gitlab/pipeline/build.yml
+++ b/.gitlab/pipeline/build.yml
@@ -125,7 +125,7 @@ build-rustdoc:
find "$path" -name '*.html' | xargs -I {} -P "$(nproc)" bash -c 'process_file "$@"' _ {}
}
inject_simple_analytics "./crate-docs"
- - echo "" > ./crate-docs/index.html
+ - echo "" > ./crate-docs/index.html
build-implementers-guide:
stage: build
diff --git a/.gitlab/pipeline/check.yml b/.gitlab/pipeline/check.yml
index b2f2efc5e66733bf5397d61c240820fe784d53bb..3ef3865aa43b348131db256e96b2aba803241da8 100644
--- a/.gitlab/pipeline/check.yml
+++ b/.gitlab/pipeline/check.yml
@@ -111,6 +111,7 @@ check-rust-feature-propagation:
time ./try-runtime ${COMMAND_EXTRA_ARGS} \
--runtime ./target/release/wbuild/"$PACKAGE"/"$WASM" \
on-runtime-upgrade --disable-spec-version-check --checks=all ${SUBCOMMAND_EXTRA_ARGS} live --uri ${URI}
+ sleep 5
# Check runtime migrations for Parity managed relay chains
check-runtime-migration-westend:
diff --git a/.gitlab/pipeline/short-benchmarks.yml b/.gitlab/pipeline/short-benchmarks.yml
index 0218d3fdac062593d527514e40c104e6baeaa232..97bce4799270c8701a27a048b7920095bdb48654 100644
--- a/.gitlab/pipeline/short-benchmarks.yml
+++ b/.gitlab/pipeline/short-benchmarks.yml
@@ -49,16 +49,6 @@ short-benchmark-westend: &short-bench
script:
- ./artifacts/polkadot-parachain benchmark pallet --chain $RUNTIME_CHAIN --pallet "*" --extrinsic "*" --steps 2 --repeat 1
-short-benchmark-asset-hub-polkadot:
- <<: *short-bench-cumulus
- variables:
- RUNTIME_CHAIN: asset-hub-polkadot-dev
-
-short-benchmark-asset-hub-kusama:
- <<: *short-bench-cumulus
- variables:
- RUNTIME_CHAIN: asset-hub-kusama-dev
-
short-benchmark-asset-hub-rococo:
<<: *short-bench-cumulus
variables:
@@ -69,16 +59,6 @@ short-benchmark-asset-hub-westend:
variables:
RUNTIME_CHAIN: asset-hub-westend-dev
-short-benchmark-bridge-hub-polkadot:
- <<: *short-bench-cumulus
- variables:
- RUNTIME_CHAIN: bridge-hub-polkadot-dev
-
-short-benchmark-bridge-hub-kusama:
- <<: *short-bench-cumulus
- variables:
- RUNTIME_CHAIN: bridge-hub-kusama-dev
-
short-benchmark-bridge-hub-rococo:
<<: *short-bench-cumulus
variables:
@@ -89,21 +69,11 @@ short-benchmark-bridge-hub-westend:
variables:
RUNTIME_CHAIN: bridge-hub-westend-dev
-short-benchmark-collectives-polkadot:
- <<: *short-bench-cumulus
- variables:
- RUNTIME_CHAIN: collectives-polkadot-dev
-
short-benchmark-collectives-westend:
<<: *short-bench-cumulus
variables:
RUNTIME_CHAIN: collectives-westend-dev
-short-benchmark-glutton-kusama:
- <<: *short-bench-cumulus
- variables:
- RUNTIME_CHAIN: glutton-kusama-dev-1300
-
short-benchmark-glutton-westend:
<<: *short-bench-cumulus
variables:
diff --git a/.gitlab/pipeline/test.yml b/.gitlab/pipeline/test.yml
index 9c3fa7701c8f39c6e98a469431fdf50c1f7e024f..265b378ef5bdbf9bf048b7e0cd36a4cb022a0d0d 100644
--- a/.gitlab/pipeline/test.yml
+++ b/.gitlab/pipeline/test.yml
@@ -270,7 +270,7 @@ cargo-check-benches:
SKIP_WASM_BUILD=1 time cargo check --locked --benches --all;
cargo run --locked --release -p node-bench -- ::trie::read::small --json
| tee ./artifacts/benches/$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA/::trie::read::small.json;
- echo "___Uploading cache for rusty-cachier___";
+ echo "___Cache could be uploaded___";
;;
2)
cargo run --locked --release -p node-bench -- ::node::import::sr25519::transfer_keep_alive::paritydb::small --json
@@ -395,7 +395,6 @@ test-linux-stable-int:
RUN_UI_TESTS: 1
script:
- WASM_BUILD_NO_COLOR=1
- RUST_LOG=sync=trace,consensus=trace,client=trace,state-db=trace,db=trace,forks=trace,state_db=trace,storage_cache=trace
time cargo test -p staging-node-cli --release --locked -- --ignored
# more information about this job can be found here:
@@ -439,7 +438,7 @@ cargo-check-each-crate:
- .run-immediately
# - .collect-artifacts
variables:
- # $CI_JOB_NAME is set manually so that rusty-cachier can share the cache for all
+ # $CI_JOB_NAME is set manually so that cache could be shared for all jobs
# "cargo-check-each-crate I/N" jobs
CI_JOB_NAME: cargo-check-each-crate
timeout: 2h
@@ -462,10 +461,10 @@ cargo-check-each-crate-macos:
variables:
SKIP_WASM_BUILD: 1
script:
- # TODO: enable rusty-cachier once it supports Mac
# TODO: use parallel jobs, as per cargo-check-each-crate, once more Mac runners are available
# - time ./scripts/ci/gitlab/check-each-crate.py 1 1
- time cargo check --workspace --locked
+ timeout: 2h
tags:
- osx
@@ -488,7 +487,7 @@ cargo-hfuzz:
# use git version of honggfuzz-rs until v0.5.56 is out, we need a few recent changes:
# https://github.com/rust-fuzz/honggfuzz-rs/pull/75 to avoid breakage on debian
# https://github.com/rust-fuzz/honggfuzz-rs/pull/81 fix to the above pr
- # https://github.com/rust-fuzz/honggfuzz-rs/pull/82 fix for handling rusty-cachier's absolute CARGO_TARGET_DIR
+ # https://github.com/rust-fuzz/honggfuzz-rs/pull/82 fix for handling absolute CARGO_TARGET_DIR
HFUZZ_BUILD_ARGS: >
--config=patch.crates-io.honggfuzz.git="https://github.com/altaua/honggfuzz-rs"
--config=patch.crates-io.honggfuzz.rev="205f7c8c059a0d98fe1cb912cdac84f324cb6981"
diff --git a/Cargo.lock b/Cargo.lock
index 43560e6a807efd8d2f54103e25866a3e77b2e8b2..89490cb0430309d1ea5e0f33eb9289365f830dfd 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -730,150 +730,6 @@ version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b34d609dfbaf33d6889b2b7106d3ca345eacad44200913df5ba02bfd31d2ba9"
-[[package]]
-name = "asset-hub-kusama-runtime"
-version = "0.9.420"
-dependencies = [
- "asset-test-utils",
- "assets-common",
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
- "cumulus-pallet-parachain-system",
- "cumulus-pallet-session-benchmarking",
- "cumulus-pallet-xcm",
- "cumulus-pallet-xcmp-queue",
- "cumulus-primitives-core",
- "cumulus-primitives-utility",
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "hex-literal",
- "log",
- "pallet-asset-conversion",
- "pallet-asset-conversion-tx-payment",
- "pallet-assets",
- "pallet-aura",
- "pallet-authorship",
- "pallet-balances",
- "pallet-collator-selection",
- "pallet-message-queue",
- "pallet-multisig",
- "pallet-nft-fractionalization",
- "pallet-nfts",
- "pallet-nfts-runtime-api",
- "pallet-proxy",
- "pallet-session",
- "pallet-state-trie-migration",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "pallet-uniques",
- "pallet-utility",
- "pallet-xcm",
- "pallet-xcm-benchmarks",
- "parachains-common",
- "parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
- "polkadot-runtime-common",
- "primitive-types",
- "scale-info",
- "smallvec",
- "sp-api",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-transaction-pool",
- "sp-version",
- "sp-weights",
- "staging-parachain-info",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "substrate-wasm-builder",
-]
-
-[[package]]
-name = "asset-hub-polkadot-runtime"
-version = "0.9.420"
-dependencies = [
- "asset-test-utils",
- "assets-common",
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
- "cumulus-pallet-parachain-system",
- "cumulus-pallet-session-benchmarking",
- "cumulus-pallet-xcm",
- "cumulus-pallet-xcmp-queue",
- "cumulus-primitives-core",
- "cumulus-primitives-utility",
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "hex-literal",
- "log",
- "pallet-asset-tx-payment",
- "pallet-assets",
- "pallet-aura",
- "pallet-authorship",
- "pallet-balances",
- "pallet-collator-selection",
- "pallet-message-queue",
- "pallet-multisig",
- "pallet-nfts",
- "pallet-nfts-runtime-api",
- "pallet-proxy",
- "pallet-session",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "pallet-uniques",
- "pallet-utility",
- "pallet-xcm",
- "pallet-xcm-benchmarks",
- "parachains-common",
- "parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
- "polkadot-runtime-common",
- "scale-info",
- "smallvec",
- "sp-api",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-transaction-pool",
- "sp-version",
- "sp-weights",
- "staging-parachain-info",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "substrate-wasm-builder",
-]
-
[[package]]
name = "asset-hub-rococo-emulated-chain"
version = "0.0.0"
@@ -1050,7 +906,6 @@ dependencies = [
"bp-bridge-hub-rococo",
"bp-bridge-hub-westend",
"cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
"cumulus-pallet-parachain-system",
"cumulus-pallet-session-benchmarking",
"cumulus-pallet-xcm",
@@ -1974,134 +1829,6 @@ dependencies = [
"sp-runtime",
]
-[[package]]
-name = "bridge-hub-kusama-runtime"
-version = "0.1.0"
-dependencies = [
- "bridge-hub-test-utils",
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
- "cumulus-pallet-parachain-system",
- "cumulus-pallet-session-benchmarking",
- "cumulus-pallet-xcm",
- "cumulus-pallet-xcmp-queue",
- "cumulus-primitives-core",
- "cumulus-primitives-utility",
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "hex-literal",
- "log",
- "pallet-aura",
- "pallet-authorship",
- "pallet-balances",
- "pallet-collator-selection",
- "pallet-message-queue",
- "pallet-multisig",
- "pallet-session",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "pallet-utility",
- "pallet-xcm",
- "pallet-xcm-benchmarks",
- "parachains-common",
- "parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
- "polkadot-runtime-common",
- "scale-info",
- "serde",
- "smallvec",
- "sp-api",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-transaction-pool",
- "sp-version",
- "staging-parachain-info",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "substrate-wasm-builder",
-]
-
-[[package]]
-name = "bridge-hub-polkadot-runtime"
-version = "0.1.0"
-dependencies = [
- "bridge-hub-test-utils",
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
- "cumulus-pallet-parachain-system",
- "cumulus-pallet-session-benchmarking",
- "cumulus-pallet-xcm",
- "cumulus-pallet-xcmp-queue",
- "cumulus-primitives-core",
- "cumulus-primitives-utility",
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "hex-literal",
- "log",
- "pallet-aura",
- "pallet-authorship",
- "pallet-balances",
- "pallet-collator-selection",
- "pallet-message-queue",
- "pallet-multisig",
- "pallet-session",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "pallet-utility",
- "pallet-xcm",
- "pallet-xcm-benchmarks",
- "parachains-common",
- "parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
- "polkadot-runtime-common",
- "scale-info",
- "serde",
- "smallvec",
- "sp-api",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-transaction-pool",
- "sp-version",
- "staging-parachain-info",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "substrate-wasm-builder",
-]
-
[[package]]
name = "bridge-hub-rococo-emulated-chain"
version = "0.0.0"
@@ -2321,7 +2048,6 @@ dependencies = [
"bridge-hub-test-utils",
"bridge-runtime-common",
"cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
"cumulus-pallet-parachain-system",
"cumulus-pallet-session-benchmarking",
"cumulus-pallet-xcm",
@@ -2834,105 +2560,33 @@ checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5"
dependencies = [
"os_str_bytes",
]
-
-[[package]]
-name = "clap_lex"
-version = "0.5.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
-
-[[package]]
-name = "coarsetime"
-version = "0.1.23"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a90d114103adbc625300f346d4d09dfb4ab1c4a8df6868435dd903392ecf4354"
-dependencies = [
- "libc",
- "once_cell",
- "wasi 0.11.0+wasi-snapshot-preview1",
- "wasm-bindgen",
-]
-
-[[package]]
-name = "codespan-reporting"
-version = "0.11.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
-dependencies = [
- "termcolor",
- "unicode-width",
-]
-
-[[package]]
-name = "collectives-polkadot-runtime"
-version = "1.0.0"
-dependencies = [
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
- "cumulus-pallet-parachain-system",
- "cumulus-pallet-session-benchmarking",
- "cumulus-pallet-xcm",
- "cumulus-pallet-xcmp-queue",
- "cumulus-primitives-core",
- "cumulus-primitives-utility",
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "hex-literal",
- "log",
- "pallet-alliance",
- "pallet-aura",
- "pallet-authorship",
- "pallet-balances",
- "pallet-collator-selection",
- "pallet-collective",
- "pallet-collective-content",
- "pallet-core-fellowship",
- "pallet-message-queue",
- "pallet-multisig",
- "pallet-preimage",
- "pallet-proxy",
- "pallet-ranked-collective",
- "pallet-referenda",
- "pallet-salary",
- "pallet-scheduler",
- "pallet-session",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-transaction-payment-rpc-runtime-api",
- "pallet-utility",
- "pallet-xcm",
- "parachains-common",
- "parity-scale-codec",
- "polkadot-core-primitives",
- "polkadot-parachain-primitives",
- "polkadot-runtime-common",
- "scale-info",
- "smallvec",
- "sp-api",
- "sp-arithmetic",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-io",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-transaction-pool",
- "sp-version",
- "staging-parachain-info",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "substrate-wasm-builder",
+
+[[package]]
+name = "clap_lex"
+version = "0.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cd7cc57abe963c6d3b9d8be5b06ba7c8957a930305ca90304f24ef040aa6f961"
+
+[[package]]
+name = "coarsetime"
+version = "0.1.23"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a90d114103adbc625300f346d4d09dfb4ab1c4a8df6868435dd903392ecf4354"
+dependencies = [
+ "libc",
+ "once_cell",
+ "wasi 0.11.0+wasi-snapshot-preview1",
+ "wasm-bindgen",
+]
+
+[[package]]
+name = "codespan-reporting"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3538270d33cc669650c4b093848450d380def10c331d38c768e34cac80576e6e"
+dependencies = [
+ "termcolor",
+ "unicode-width",
]
[[package]]
@@ -2940,7 +2594,6 @@ name = "collectives-westend-runtime"
version = "1.0.0"
dependencies = [
"cumulus-pallet-aura-ext",
- "cumulus-pallet-dmp-queue",
"cumulus-pallet-parachain-system",
"cumulus-pallet-session-benchmarking",
"cumulus-pallet-xcm",
@@ -3181,7 +2834,6 @@ dependencies = [
"pallet-balances",
"pallet-collator-selection",
"pallet-contracts",
- "pallet-contracts-primitives",
"pallet-insecure-randomness-collective-flip",
"pallet-message-queue",
"pallet-multisig",
@@ -4177,6 +3829,7 @@ dependencies = [
"cumulus-relay-chain-interface",
"cumulus-relay-chain-rpc-interface",
"futures",
+ "parking_lot 0.12.1",
"polkadot-availability-recovery",
"polkadot-collator-protocol",
"polkadot-core-primitives",
@@ -4713,6 +4366,45 @@ dependencies = [
"syn 1.0.109",
]
+[[package]]
+name = "developer-hub"
+version = "0.0.1"
+dependencies = [
+ "cumulus-pallet-aura-ext",
+ "cumulus-pallet-parachain-system",
+ "docify",
+ "frame",
+ "kitchensink-runtime",
+ "pallet-aura",
+ "pallet-default-config-example",
+ "pallet-examples",
+ "pallet-timestamp",
+ "parity-scale-codec",
+ "sc-cli",
+ "sc-client-db",
+ "sc-consensus-aura",
+ "sc-consensus-babe",
+ "sc-consensus-beefy",
+ "sc-consensus-grandpa",
+ "sc-consensus-manual-seal",
+ "sc-consensus-pow",
+ "sc-network",
+ "sc-rpc",
+ "sc-rpc-api",
+ "scale-info",
+ "simple-mermaid 0.1.0 (git+https://github.com/kianenigma/simple-mermaid.git?branch=main)",
+ "sp-api",
+ "sp-core",
+ "sp-io",
+ "sp-keyring",
+ "sp-runtime",
+ "staging-chain-spec-builder",
+ "staging-node-cli",
+ "staging-parachain-info",
+ "subkey",
+ "substrate-wasm-builder",
+]
+
[[package]]
name = "diff"
version = "0.1.13"
@@ -5548,7 +5240,7 @@ dependencies = [
"pallet-examples",
"parity-scale-codec",
"scale-info",
- "simple-mermaid",
+ "simple-mermaid 0.1.0 (git+https://github.com/kianenigma/simple-mermaid.git?rev=e48b187bcfd5cc75111acd9d241f1bd36604344b)",
"sp-api",
"sp-arithmetic",
"sp-block-builder",
@@ -5978,9 +5670,9 @@ dependencies = [
[[package]]
name = "fs4"
-version = "0.6.6"
+version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47"
+checksum = "29f9df8a11882c4e3335eb2d18a0137c505d9ca927470b0cac9c6f0ae07d28f7"
dependencies = [
"rustix 0.38.21",
"windows-sys 0.48.0",
@@ -6250,51 +5942,6 @@ dependencies = [
"regex",
]
-[[package]]
-name = "glutton-runtime"
-version = "1.0.0"
-dependencies = [
- "cumulus-pallet-aura-ext",
- "cumulus-pallet-parachain-system",
- "cumulus-pallet-xcm",
- "cumulus-primitives-aura",
- "cumulus-primitives-core",
- "cumulus-primitives-timestamp",
- "frame-benchmarking",
- "frame-executive",
- "frame-support",
- "frame-system",
- "frame-system-benchmarking",
- "frame-system-rpc-runtime-api",
- "frame-try-runtime",
- "pallet-aura",
- "pallet-glutton",
- "pallet-message-queue",
- "pallet-sudo",
- "pallet-timestamp",
- "parachains-common",
- "parity-scale-codec",
- "scale-info",
- "sp-api",
- "sp-block-builder",
- "sp-consensus-aura",
- "sp-core",
- "sp-genesis-builder",
- "sp-inherents",
- "sp-offchain",
- "sp-runtime",
- "sp-session",
- "sp-std 8.0.0",
- "sp-storage 13.0.0",
- "sp-transaction-pool",
- "sp-version",
- "staging-parachain-info",
- "staging-xcm",
- "staging-xcm-builder",
- "staging-xcm-executor",
- "substrate-wasm-builder",
-]
-
[[package]]
name = "glutton-westend-runtime"
version = "1.0.0"
@@ -7219,7 +6866,6 @@ dependencies = [
"pallet-child-bounties",
"pallet-collective",
"pallet-contracts",
- "pallet-contracts-primitives",
"pallet-conviction-voting",
"pallet-core-fellowship",
"pallet-democracy",
@@ -8856,7 +8502,7 @@ dependencies = [
"itertools 0.10.5",
"tar",
"tempfile",
- "toml_edit",
+ "toml_edit 0.19.14",
]
[[package]]
@@ -8930,7 +8576,7 @@ dependencies = [
"sp-keyring",
"sp-runtime",
"sp-timestamp",
- "staging-node-executor",
+ "staging-node-cli",
"substrate-test-client",
"tempfile",
]
@@ -9771,8 +9417,8 @@ dependencies = [
"pallet-assets",
"pallet-balances",
"pallet-contracts-fixtures",
- "pallet-contracts-primitives",
"pallet-contracts-proc-macro",
+ "pallet-contracts-uapi",
"pallet-insecure-randomness-collective-flip",
"pallet-message-queue",
"pallet-proxy",
@@ -9803,11 +9449,21 @@ dependencies = [
name = "pallet-contracts-fixtures"
version = "1.0.0"
dependencies = [
+ "anyhow",
+ "cfg-if",
"frame-system",
+ "parity-wasm",
"sp-runtime",
+ "tempfile",
+ "toml 0.8.8",
+ "twox-hash",
"wat",
]
+[[package]]
+name = "pallet-contracts-fixtures-common"
+version = "1.0.0"
+
[[package]]
name = "pallet-contracts-mock-network"
version = "1.0.0"
@@ -9819,8 +9475,8 @@ dependencies = [
"pallet-balances",
"pallet-contracts",
"pallet-contracts-fixtures",
- "pallet-contracts-primitives",
"pallet-contracts-proc-macro",
+ "pallet-contracts-uapi",
"pallet-insecure-randomness-collective-flip",
"pallet-message-queue",
"pallet-proxy",
@@ -9846,18 +9502,6 @@ dependencies = [
"xcm-simulator",
]
-[[package]]
-name = "pallet-contracts-primitives"
-version = "24.0.0"
-dependencies = [
- "bitflags 1.3.2",
- "parity-scale-codec",
- "scale-info",
- "sp-runtime",
- "sp-std 8.0.0",
- "sp-weights",
-]
-
[[package]]
name = "pallet-contracts-proc-macro"
version = "4.0.0-dev"
@@ -9867,6 +9511,16 @@ dependencies = [
"syn 2.0.38",
]
+[[package]]
+name = "pallet-contracts-uapi"
+version = "4.0.0-dev"
+dependencies = [
+ "bitflags 1.3.2",
+ "parity-scale-codec",
+ "paste",
+ "scale-info",
+]
+
[[package]]
name = "pallet-conviction-voting"
version = "4.0.0-dev"
@@ -11561,9 +11215,9 @@ dependencies = [
[[package]]
name = "parity-scale-codec"
-version = "3.6.4"
+version = "3.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dd8e946cc0cc711189c0b0249fb8b599cbeeab9784d83c415719368bb8d4ac64"
+checksum = "0dec8a8073036902368c2cdc0387e85ff9a37054d7e7c98e592145e0c92cd4fb"
dependencies = [
"arrayvec 0.7.4",
"bitvec",
@@ -11576,9 +11230,9 @@ dependencies = [
[[package]]
name = "parity-scale-codec-derive"
-version = "3.6.4"
+version = "3.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2a296c3079b5fefbc499e1de58dc26c09b1b9a5952d26694ee89f04a43ebbb3e"
+checksum = "312270ee71e1cd70289dacf597cab7b207aa107d2f28191c2ae45b2ece18a260"
dependencies = [
"proc-macro-crate",
"proc-macro2",
@@ -13113,17 +12767,12 @@ name = "polkadot-parachain-bin"
version = "1.1.0"
dependencies = [
"assert_cmd",
- "asset-hub-kusama-runtime",
- "asset-hub-polkadot-runtime",
"asset-hub-rococo-runtime",
"asset-hub-westend-runtime",
"async-trait",
- "bridge-hub-kusama-runtime",
- "bridge-hub-polkadot-runtime",
"bridge-hub-rococo-runtime",
"bridge-hub-westend-runtime",
"clap 4.4.6",
- "collectives-polkadot-runtime",
"collectives-westend-runtime",
"color-print",
"contracts-rococo-runtime",
@@ -13144,7 +12793,6 @@ dependencies = [
"frame-system-rpc-runtime-api",
"frame-try-runtime",
"futures",
- "glutton-runtime",
"glutton-westend-runtime",
"hex-literal",
"jsonrpsee",
@@ -13442,6 +13090,7 @@ dependencies = [
"pallet-transaction-payment-rpc-runtime-api",
"parity-db",
"parity-scale-codec",
+ "parking_lot 0.12.1",
"polkadot-approval-distribution",
"polkadot-availability-bitfield-distribution",
"polkadot-availability-distribution",
@@ -13985,7 +13634,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919"
dependencies = [
"once_cell",
- "toml_edit",
+ "toml_edit 0.19.14",
]
[[package]]
@@ -14448,6 +14097,15 @@ dependencies = [
"bitflags 1.3.2",
]
+[[package]]
+name = "redox_syscall"
+version = "0.4.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa"
+dependencies = [
+ "bitflags 1.3.2",
+]
+
[[package]]
name = "redox_users"
version = "0.4.3"
@@ -15903,6 +15561,7 @@ dependencies = [
"array-bytes 4.2.0",
"arrayvec 0.7.4",
"blake2 0.10.6",
+ "bytes",
"futures",
"futures-timer",
"libp2p-identity",
@@ -15968,6 +15627,7 @@ dependencies = [
"tempfile",
"thiserror",
"tokio",
+ "tokio-stream",
"tokio-test",
"tokio-util",
"unsigned-varint",
@@ -16023,10 +15683,12 @@ name = "sc-network-gossip"
version = "0.10.0-dev"
dependencies = [
"ahash 0.8.3",
+ "async-trait",
"futures",
"futures-timer",
"libp2p",
"log",
+ "parity-scale-codec",
"quickcheck",
"sc-network",
"sc-network-common",
@@ -16967,9 +16629,9 @@ dependencies = [
[[package]]
name = "serde_spanned"
-version = "0.6.3"
+version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "96426c9936fd7a0124915f9185ea1d20aa9445cc9821142f0a73bc9207a2e186"
+checksum = "12022b835073e5b11e90a14f86838ceb1c8fb0325b72416845c487ac0fa95e80"
dependencies = [
"serde",
]
@@ -17196,6 +16858,11 @@ dependencies = [
"wide",
]
+[[package]]
+name = "simple-mermaid"
+version = "0.1.0"
+source = "git+https://github.com/kianenigma/simple-mermaid.git?branch=main#e48b187bcfd5cc75111acd9d241f1bd36604344b"
+
[[package]]
name = "simple-mermaid"
version = "0.1.0"
@@ -18049,6 +17716,7 @@ dependencies = [
name = "sp-runtime"
version = "24.0.0"
dependencies = [
+ "docify",
"either",
"hash256-std-hasher",
"impl-trait-for-tuples",
@@ -18059,6 +17727,7 @@ dependencies = [
"scale-info",
"serde",
"serde_json",
+ "simple-mermaid 0.1.0 (git+https://github.com/kianenigma/simple-mermaid.git?branch=main)",
"sp-api",
"sp-application-crypto",
"sp-arithmetic",
@@ -18530,7 +18199,9 @@ dependencies = [
"clap 4.4.6",
"clap_complete",
"criterion 0.4.0",
+ "frame-benchmarking",
"frame-benchmarking-cli",
+ "frame-support",
"frame-system",
"frame-system-rpc-runtime-api",
"futures",
@@ -18540,13 +18211,20 @@ dependencies = [
"nix 0.26.2",
"node-primitives",
"node-rpc",
+ "node-testing",
"pallet-asset-conversion-tx-payment",
"pallet-asset-tx-payment",
"pallet-assets",
"pallet-balances",
+ "pallet-contracts",
+ "pallet-glutton",
"pallet-im-online",
+ "pallet-root-testing",
"pallet-skip-feeless-payment",
+ "pallet-sudo",
"pallet-timestamp",
+ "pallet-transaction-payment",
+ "pallet-treasury",
"parity-scale-codec",
"platforms",
"rand 0.8.5",
@@ -18581,27 +18259,31 @@ dependencies = [
"sc-telemetry",
"sc-transaction-pool",
"sc-transaction-pool-api",
+ "scale-info",
"serde",
"serde_json",
"soketto",
"sp-api",
+ "sp-application-crypto",
"sp-authority-discovery",
"sp-blockchain",
"sp-consensus",
"sp-consensus-babe",
"sp-consensus-grandpa",
"sp-core",
+ "sp-externalities 0.19.0",
"sp-inherents",
"sp-io",
"sp-keyring",
"sp-keystore",
"sp-mixnet",
"sp-runtime",
+ "sp-state-machine",
"sp-statement-store",
"sp-timestamp",
"sp-tracing 10.0.0",
"sp-transaction-storage-proof",
- "staging-node-executor",
+ "sp-trie",
"staging-node-inspect",
"substrate-build-script-utils",
"substrate-cli-test-utils",
@@ -18612,44 +18294,6 @@ dependencies = [
"tokio-util",
"try-runtime-cli",
"wait-timeout",
-]
-
-[[package]]
-name = "staging-node-executor"
-version = "3.0.0-dev"
-dependencies = [
- "criterion 0.4.0",
- "frame-benchmarking",
- "frame-support",
- "frame-system",
- "futures",
- "kitchensink-runtime",
- "node-primitives",
- "node-testing",
- "pallet-balances",
- "pallet-contracts",
- "pallet-glutton",
- "pallet-im-online",
- "pallet-root-testing",
- "pallet-sudo",
- "pallet-timestamp",
- "pallet-transaction-payment",
- "pallet-treasury",
- "parity-scale-codec",
- "sc-executor",
- "scale-info",
- "serde_json",
- "sp-application-crypto",
- "sp-consensus-babe",
- "sp-core",
- "sp-externalities 0.19.0",
- "sp-keyring",
- "sp-keystore",
- "sp-runtime",
- "sp-state-machine",
- "sp-statement-store",
- "sp-tracing 10.0.0",
- "sp-trie",
"wat",
]
@@ -18664,7 +18308,9 @@ dependencies = [
"sc-service",
"sp-blockchain",
"sp-core",
+ "sp-io",
"sp-runtime",
+ "sp-statement-store",
"thiserror",
]
@@ -18868,26 +18514,6 @@ dependencies = [
"sc-cli",
]
-[[package]]
-name = "substrate"
-version = "1.0.0"
-dependencies = [
- "frame-support",
- "sc-chain-spec",
- "sc-cli",
- "sc-consensus-aura",
- "sc-consensus-babe",
- "sc-consensus-beefy",
- "sc-consensus-grandpa",
- "sc-consensus-manual-seal",
- "sc-consensus-pow",
- "sc-service",
- "simple-mermaid",
- "sp-runtime",
- "staging-chain-spec-builder",
- "subkey",
-]
-
[[package]]
name = "substrate-bip39"
version = "0.4.4"
@@ -19348,13 +18974,13 @@ checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a"
[[package]]
name = "tempfile"
-version = "3.8.0"
+version = "3.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
+checksum = "7ef1adac450ad7f4b3c28589471ade84f25f731a7a0fe30d71dfa9f60fd808e5"
dependencies = [
"cfg-if",
"fastrand 2.0.0",
- "redox_syscall 0.3.5",
+ "redox_syscall 0.4.1",
"rustix 0.38.21",
"windows-sys 0.48.0",
]
@@ -19817,14 +19443,26 @@ dependencies = [
"serde",
"serde_spanned",
"toml_datetime",
- "toml_edit",
+ "toml_edit 0.19.14",
+]
+
+[[package]]
+name = "toml"
+version = "0.8.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a1a195ec8c9da26928f773888e0742ca3ca1040c6cd859c919c9f59c1954ab35"
+dependencies = [
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "toml_edit 0.21.0",
]
[[package]]
name = "toml_datetime"
-version = "0.6.3"
+version = "0.6.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7cda73e2f1397b1262d6dfdcef8aafae14d1de7748d66822d3bfeeb6d03e5e4b"
+checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1"
dependencies = [
"serde",
]
@@ -19842,6 +19480,19 @@ dependencies = [
"winnow",
]
+[[package]]
+name = "toml_edit"
+version = "0.21.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d34d383cd00a163b4a5b85053df514d45bc330f6de7737edfe0a93311d1eaa03"
+dependencies = [
+ "indexmap 2.0.0",
+ "serde",
+ "serde_spanned",
+ "toml_datetime",
+ "winnow",
+]
+
[[package]]
name = "tower"
version = "0.4.13"
diff --git a/Cargo.toml b/Cargo.toml
index 54c2caab829783a329545263706a560c2c7faa1e..a9dd3ac96b3614f87338fc99bca907b146f7f463 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -8,6 +8,7 @@ license = "GPL-3.0-only"
resolver = "2"
members = [
+ "developer-hub",
"bridges/bin/runtime-common",
"bridges/modules/grandpa",
"bridges/modules/messages",
@@ -86,21 +87,15 @@ members = [
"cumulus/parachains/pallets/collective-content",
"cumulus/parachains/pallets/parachain-info",
"cumulus/parachains/pallets/ping",
- "cumulus/parachains/runtimes/assets/asset-hub-kusama",
- "cumulus/parachains/runtimes/assets/asset-hub-polkadot",
"cumulus/parachains/runtimes/assets/asset-hub-rococo",
"cumulus/parachains/runtimes/assets/asset-hub-westend",
"cumulus/parachains/runtimes/assets/common",
"cumulus/parachains/runtimes/assets/test-utils",
- "cumulus/parachains/runtimes/bridge-hubs/bridge-hub-kusama",
- "cumulus/parachains/runtimes/bridge-hubs/bridge-hub-polkadot",
"cumulus/parachains/runtimes/bridge-hubs/bridge-hub-rococo",
"cumulus/parachains/runtimes/bridge-hubs/bridge-hub-westend",
"cumulus/parachains/runtimes/bridge-hubs/test-utils",
- "cumulus/parachains/runtimes/collectives/collectives-polkadot",
"cumulus/parachains/runtimes/collectives/collectives-westend",
"cumulus/parachains/runtimes/contracts/contracts-rococo",
- "cumulus/parachains/runtimes/glutton/glutton-kusama",
"cumulus/parachains/runtimes/people/people-rococo",
"cumulus/parachains/runtimes/people/people-westend",
"cumulus/parachains/runtimes/glutton/glutton-westend",
@@ -203,7 +198,6 @@ members = [
"polkadot/xcm/xcm-simulator",
"polkadot/xcm/xcm-simulator/example",
"polkadot/xcm/xcm-simulator/fuzzer",
- "substrate",
"substrate/bin/minimal/node",
"substrate/bin/minimal/runtime",
"substrate/bin/node-template/node",
@@ -211,7 +205,6 @@ members = [
"substrate/bin/node-template/runtime",
"substrate/bin/node/bench",
"substrate/bin/node/cli",
- "substrate/bin/node/executor",
"substrate/bin/node/inspect",
"substrate/bin/node/primitives",
"substrate/bin/node/rpc",
@@ -301,8 +294,9 @@ members = [
"substrate/frame/collective",
"substrate/frame/contracts",
"substrate/frame/contracts/fixtures",
+ "substrate/frame/contracts/fixtures/contracts/common",
+ "substrate/frame/contracts/uapi",
"substrate/frame/contracts/mock-network",
- "substrate/frame/contracts/primitives",
"substrate/frame/contracts/proc-macro",
"substrate/frame/conviction-voting",
"substrate/frame/core-fellowship",
@@ -493,8 +487,7 @@ default-members = [ "polkadot", "substrate/bin/node/cli" ]
panic = "unwind"
opt-level = 3
-# make sure dev builds with backtrace do
-# not slow us down
+# make sure dev builds with backtrace do not slow us down
[profile.dev.package.backtrace]
inherits = "release"
diff --git a/cumulus/README.md b/cumulus/README.md
index 19f9f3f113dd06655c418a4caf6b30a9cad6ee9f..6acbf6dc2ca20f4ac78d5981d7da90444b12e7e2 100644
--- a/cumulus/README.md
+++ b/cumulus/README.md
@@ -142,8 +142,8 @@ zombienet --provider native spawn ./zombienet/examples/small_network.toml
# Clone
git clone https://github.com/paritytech/polkadot-sdk
-# Compile Polkadot
-cargo build --release --bin polkadot
+# Compile Polkadot's required binaries
+cargo build --release -p polkadot
# Generate a raw chain spec
./target/release/polkadot build-spec --chain rococo-local --disable-default-bootnode --raw > rococo-local-cfde.json
@@ -158,11 +158,8 @@ cargo build --release --bin polkadot
#### Launch the Parachain
```bash
-# Clone
-git clone https://github.com/paritytech/polkadot-sdk
-
# Compile
-cargo build --release --bin polkadot-parachain
+cargo build --release -p polkadot-parachain-bin
# Export genesis state
./target/release/polkadot-parachain export-genesis-state > genesis-state
@@ -172,15 +169,15 @@ cargo build --release --bin polkadot-parachain
# Collator1
./target/release/polkadot-parachain --collator --alice --force-authoring \
- --tmp --port 40335 --rpc-port 9946 -- --chain ../polkadot/rococo-local-cfde.json --port 30335
+ --tmp --port 40335 --rpc-port 9946 -- --chain rococo-local-cfde.json --port 30335
# Collator2
./target/release/polkadot-parachain --collator --bob --force-authoring \
- --tmp --port 40336 --rpc-port 9947 -- --chain ../polkadot/rococo-local-cfde.json --port 30336
+ --tmp --port 40336 --rpc-port 9947 -- --chain rococo-local-cfde.json --port 30336
# Parachain Full Node 1
./target/release/polkadot-parachain --tmp --port 40337 --rpc-port 9948 -- \
- --chain ../polkadot/rococo-local-cfde.json --port 30337
+ --chain rococo-local-cfde.json --port 30337
```
#### Register the parachain
diff --git a/cumulus/client/pov-recovery/src/lib.rs b/cumulus/client/pov-recovery/src/lib.rs
index b9a140f55c60fbbad18bc2f662e7040df6c7de04..32aba6c8993a6da67cd3adeb394e87e6c067b46c 100644
--- a/cumulus/client/pov-recovery/src/lib.rs
+++ b/cumulus/client/pov-recovery/src/lib.rs
@@ -410,6 +410,7 @@ where
?block_hash,
parent_hash = ?parent,
parent_scheduled_for_recovery,
+ waiting_blocks = self.waiting_for_parent.len(),
"Waiting for recovery of parent.",
);
@@ -442,13 +443,13 @@ where
_ => (),
}
- self.import_block(block).await;
+ self.import_block(block);
}
/// Import the given `block`.
///
/// This will also recursivley drain `waiting_for_parent` and import them as well.
- async fn import_block(&mut self, block: Block) {
+ fn import_block(&mut self, block: Block) {
let mut blocks = VecDeque::new();
tracing::debug!(target: LOG_TARGET, block_hash = ?block.hash(), "Importing block retrieved using pov_recovery");
@@ -551,7 +552,6 @@ where
};
futures::pin_mut!(pending_candidates);
-
loop {
select! {
pending_candidate = pending_candidates.next() => {
@@ -573,6 +573,17 @@ where
imported = imported_blocks.next() => {
if let Some(imported) = imported {
self.clear_waiting_recovery(&imported.hash);
+
+ // We need to double check that no blocks are waiting for this block.
+ // Can happen when a waiting child block is queued to wait for parent while the parent block is still
+ // in the import queue.
+ if let Some(waiting_blocks) = self.waiting_for_parent.remove(&imported.hash) {
+ for block in waiting_blocks {
+ tracing::debug!(target: LOG_TARGET, block_hash = ?block.hash(), resolved_parent = ?imported.hash, "Found new waiting child block during import, queuing.");
+ self.import_block(block);
+ }
+ };
+
} else {
tracing::debug!(target: LOG_TARGET, "Imported blocks stream ended");
return;
diff --git a/cumulus/client/relay-chain-inprocess-interface/src/lib.rs b/cumulus/client/relay-chain-inprocess-interface/src/lib.rs
index 42a56b649f035bdf10aa18099fe3851a3b5d238e..4096cd2523f150ea5301a0d087f949ae54905b56 100644
--- a/cumulus/client/relay-chain-inprocess-interface/src/lib.rs
+++ b/cumulus/client/relay-chain-inprocess-interface/src/lib.rs
@@ -283,9 +283,9 @@ fn build_polkadot_full_node(
config,
polkadot_service::NewFullParams {
is_parachain_node,
- grandpa_pause: None,
// Disable BEEFY. It should not be required by the internal relay chain node.
enable_beefy: false,
+ force_authoring_backoff: false,
jaeger_agent: None,
telemetry_worker_handle,
diff --git a/cumulus/client/relay-chain-minimal-node/Cargo.toml b/cumulus/client/relay-chain-minimal-node/Cargo.toml
index ce76fc5cd6d253bf243929816f974ad71b9e9741..ee93df09ce1a679c6780f69355cbf1eb4ff60293 100644
--- a/cumulus/client/relay-chain-minimal-node/Cargo.toml
+++ b/cumulus/client/relay-chain-minimal-node/Cargo.toml
@@ -47,4 +47,5 @@ array-bytes = "6.1"
tracing = "0.1.37"
async-trait = "0.1.73"
futures = "0.3.28"
+parking_lot = "0.12.1"
diff --git a/cumulus/client/relay-chain-minimal-node/src/collator_overseer.rs b/cumulus/client/relay-chain-minimal-node/src/collator_overseer.rs
index a785a9f6f79c5ade79ea00769cba5192059e014f..5f5bf338ef9907756adb1eab3f0541e870677fe5 100644
--- a/cumulus/client/relay-chain-minimal-node/src/collator_overseer.rs
+++ b/cumulus/client/relay-chain-minimal-node/src/collator_overseer.rs
@@ -15,7 +15,8 @@
// along with Polkadot. If not, see .
use futures::{select, StreamExt};
-use std::sync::Arc;
+use parking_lot::Mutex;
+use std::{collections::HashMap, sync::Arc};
use polkadot_availability_recovery::AvailabilityRecoverySubsystem;
use polkadot_collator_protocol::{CollatorProtocolSubsystem, ProtocolSide};
@@ -28,7 +29,7 @@ use polkadot_node_core_chain_api::ChainApiSubsystem;
use polkadot_node_core_prospective_parachains::ProspectiveParachainsSubsystem;
use polkadot_node_core_runtime_api::RuntimeApiSubsystem;
use polkadot_node_network_protocol::{
- peer_set::PeerSetProtocolNames,
+ peer_set::{PeerSet, PeerSetProtocolNames},
request_response::{
v1::{self, AvailableDataFetchingRequest},
v2, IncomingRequestReceiver, ReqProtocolNames,
@@ -42,7 +43,7 @@ use polkadot_overseer::{
use polkadot_primitives::CollatorPair;
use sc_authority_discovery::Service as AuthorityDiscoveryService;
-use sc_network::NetworkStateInfo;
+use sc_network::{NetworkStateInfo, NotificationService};
use sc_service::TaskManager;
use sc_utils::mpsc::tracing_unbounded;
@@ -77,6 +78,8 @@ pub(crate) struct CollatorOverseerGenArgs<'a> {
pub req_protocol_names: ReqProtocolNames,
/// Peerset protocols name mapping
pub peer_set_protocol_names: PeerSetProtocolNames,
+ /// Notification services for validation/collation protocols.
+ pub notification_services: HashMap>,
}
fn build_overseer(
@@ -94,6 +97,7 @@ fn build_overseer(
collator_pair,
req_protocol_names,
peer_set_protocol_names,
+ notification_services,
}: CollatorOverseerGenArgs<'_>,
) -> Result<
(Overseer, Arc>, OverseerHandle),
@@ -101,6 +105,8 @@ fn build_overseer(
> {
let spawner = SpawnGlue(spawner);
let network_bridge_metrics: NetworkBridgeMetrics = Metrics::register(registry)?;
+ let notification_sinks = Arc::new(Mutex::new(HashMap::new()));
+
let builder = Overseer::builder()
.availability_distribution(DummySubsystem)
.availability_recovery(AvailabilityRecoverySubsystem::for_collator(
@@ -131,6 +137,8 @@ fn build_overseer(
sync_oracle,
network_bridge_metrics.clone(),
peer_set_protocol_names.clone(),
+ notification_services,
+ notification_sinks.clone(),
))
.network_bridge_tx(NetworkBridgeTxSubsystem::new(
network_service,
@@ -138,6 +146,7 @@ fn build_overseer(
network_bridge_metrics,
req_protocol_names,
peer_set_protocol_names,
+ notification_sinks,
))
.provisioner(DummySubsystem)
.runtime_api(RuntimeApiSubsystem::new(
diff --git a/cumulus/client/relay-chain-minimal-node/src/lib.rs b/cumulus/client/relay-chain-minimal-node/src/lib.rs
index 8801f93640c181cbf27084656d9d7f28cabff1d7..d121d2d3356765d9327fdaa0a8c0563c3917266f 100644
--- a/cumulus/client/relay-chain-minimal-node/src/lib.rs
+++ b/cumulus/client/relay-chain-minimal-node/src/lib.rs
@@ -21,7 +21,7 @@ use cumulus_relay_chain_rpc_interface::{RelayChainRpcClient, RelayChainRpcInterf
use network::build_collator_network;
use polkadot_network_bridge::{peer_sets_info, IsAuthority};
use polkadot_node_network_protocol::{
- peer_set::PeerSetProtocolNames,
+ peer_set::{PeerSet, PeerSetProtocolNames},
request_response::{
v1, v2, IncomingRequest, IncomingRequestReceiver, Protocol, ReqProtocolNames,
},
@@ -175,10 +175,13 @@ async fn new_minimal_relay_chain(
let peer_set_protocol_names =
PeerSetProtocolNames::new(genesis_hash, config.chain_spec.fork_id());
let is_authority = if role.is_authority() { IsAuthority::Yes } else { IsAuthority::No };
-
- for config in peer_sets_info(is_authority, &peer_set_protocol_names) {
- net_config.add_notification_protocol(config);
- }
+ let notification_services = peer_sets_info(is_authority, &peer_set_protocol_names)
+ .into_iter()
+ .map(|(config, (peerset, service))| {
+ net_config.add_notification_protocol(config);
+ (peerset, service)
+ })
+ .collect::>>();
let request_protocol_names = ReqProtocolNames::new(genesis_hash, config.chain_spec.fork_id());
let (collation_req_receiver_v1, collation_req_receiver_v2, available_data_req_receiver) =
@@ -218,6 +221,7 @@ async fn new_minimal_relay_chain(
collator_pair,
req_protocol_names: request_protocol_names,
peer_set_protocol_names,
+ notification_services,
};
let overseer_handle =
diff --git a/cumulus/client/relay-chain-minimal-node/src/network.rs b/cumulus/client/relay-chain-minimal-node/src/network.rs
index 813dca47a0398365f935424f79bcd95169d6f2a9..95785063c1aeb6649d7154fa39e4e111e226def3 100644
--- a/cumulus/client/relay-chain-minimal-node/src/network.rs
+++ b/cumulus/client/relay-chain-minimal-node/src/network.rs
@@ -26,10 +26,9 @@ use sc_network::{
NetworkService,
};
-use sc_network::config::FullNetworkConfiguration;
+use sc_network::{config::FullNetworkConfiguration, NotificationService};
use sc_network_common::{role::Roles, sync::message::BlockAnnouncesHandshake};
use sc_service::{error::Error, Configuration, NetworkStarter, SpawnTaskHandle};
-use sc_utils::mpsc::tracing_unbounded;
use std::{iter, sync::Arc};
@@ -45,7 +44,7 @@ pub(crate) fn build_collator_network(
Error,
> {
let protocol_id = config.protocol_id();
- let block_announce_config = get_block_announce_proto_config::(
+ let (block_announce_config, _notification_service) = get_block_announce_proto_config::(
protocol_id.clone(),
&None,
Roles::from(&config.role),
@@ -69,8 +68,6 @@ pub(crate) fn build_collator_network(
let peer_store_handle = peer_store.handle();
spawn_handle.spawn("peer-store", Some("networking"), peer_store.run());
- // RX is not used for anything because syncing is not started for the minimal node
- let (tx, _rx) = tracing_unbounded("mpsc_syncing_engine_protocol", 100_000);
let network_params = sc_network::config::Params:: {
role: config.role.clone(),
executor: {
@@ -86,7 +83,6 @@ pub(crate) fn build_collator_network(
protocol_id,
metrics_registry: config.prometheus_config.as_ref().map(|config| config.registry.clone()),
block_announce_config,
- tx,
};
let network_worker = sc_network::NetworkWorker::new(network_params)?;
@@ -150,7 +146,7 @@ fn get_block_announce_proto_config(
best_number: NumberFor,
best_hash: B::Hash,
genesis_hash: B::Hash,
-) -> NonDefaultSetConfig {
+) -> (NonDefaultSetConfig, Box) {
let block_announces_protocol = {
let genesis_hash = genesis_hash.as_ref();
if let Some(ref fork_id) = fork_id {
@@ -160,12 +156,11 @@ fn get_block_announce_proto_config(
}
};
- NonDefaultSetConfig {
- notifications_protocol: block_announces_protocol.into(),
- fallback_names: iter::once(format!("/{}/block-announces/1", protocol_id.as_ref()).into())
- .collect(),
- max_notification_size: 1024 * 1024,
- handshake: Some(NotificationHandshake::new(BlockAnnouncesHandshake::::build(
+ NonDefaultSetConfig::new(
+ block_announces_protocol.into(),
+ iter::once(format!("/{}/block-announces/1", protocol_id.as_ref()).into()).collect(),
+ 1024 * 1024,
+ Some(NotificationHandshake::new(BlockAnnouncesHandshake::::build(
roles,
best_number,
best_hash,
@@ -173,11 +168,11 @@ fn get_block_announce_proto_config(
))),
// NOTE: `set_config` will be ignored by `protocol.rs` as the block announcement
// protocol is still hardcoded into the peerset.
- set_config: SetConfig {
+ SetConfig {
in_peers: 0,
out_peers: 0,
reserved_nodes: Vec::new(),
non_reserved_mode: NonReservedPeerMode::Deny,
},
- }
+ )
}
diff --git a/cumulus/pallets/xcmp-queue/src/mock.rs b/cumulus/pallets/xcmp-queue/src/mock.rs
index 7c3a3bd1bd02c7b897c2cafbb28ba93279fb69bd..755b685d5b80ed594fa41a12634ebe765fb0dcbe 100644
--- a/cumulus/pallets/xcmp-queue/src/mock.rs
+++ b/cumulus/pallets/xcmp-queue/src/mock.rs
@@ -19,7 +19,7 @@ use core::marker::PhantomData;
use cumulus_pallet_parachain_system::AnyRelayNumber;
use cumulus_primitives_core::{ChannelInfo, IsSystem, ParaId};
use frame_support::{
- parameter_types,
+ derive_impl, parameter_types,
traits::{ConstU32, Everything, Nothing, OriginTrait},
BoundedSlice,
};
@@ -55,6 +55,7 @@ parameter_types! {
type AccountId = u64;
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = Everything;
type BlockWeights = ();
diff --git a/cumulus/parachain-template/node/src/rpc.rs b/cumulus/parachain-template/node/src/rpc.rs
index b5ca484fa48471dd30414e8fb1d15fd4db1e2cd1..ed4003ed6d206b38da693fe5de38f4567cbb873b 100644
--- a/cumulus/parachain-template/node/src/rpc.rs
+++ b/cumulus/parachain-template/node/src/rpc.rs
@@ -9,7 +9,6 @@ use std::sync::Arc;
use parachain_template_runtime::{opaque::Block, AccountId, Balance, Nonce};
-use sc_client_api::AuxStore;
pub use sc_rpc::{DenyUnsafe, SubscriptionTaskExecutor};
use sc_transaction_pool_api::TransactionPool;
use sp_api::ProvideRuntimeApi;
@@ -36,7 +35,6 @@ pub fn create_full(
where
C: ProvideRuntimeApi
+ HeaderBackend
- + AuxStore
+ HeaderMetadata
+ Send
+ Sync
diff --git a/cumulus/parachain-template/runtime/src/lib.rs b/cumulus/parachain-template/runtime/src/lib.rs
index 7a064e227d4cf1e0471758cdac5303db6d716a73..be76855c05b18302baeff5031b275ab9027da032 100644
--- a/cumulus/parachain-template/runtime/src/lib.rs
+++ b/cumulus/parachain-template/runtime/src/lib.rs
@@ -513,8 +513,7 @@ impl pallet_parachain_template::Config for Runtime {
// Create the runtime by composing the FRAME pallets that were previously configured.
construct_runtime!(
- pub enum Runtime
- {
+ pub struct Runtime {
// System support stuff.
System: frame_system = 0,
ParachainSystem: cumulus_pallet_parachain_system = 1,
diff --git a/cumulus/parachains/chain-specs/asset-hub-kusama.json b/cumulus/parachains/chain-specs/asset-hub-kusama.json
index 946bfc5983df9bced1750c827370e48fb8b25d12..fba74b17f9607f58bdb17d7a0b05c8b764a9c4e5 100644
--- a/cumulus/parachains/chain-specs/asset-hub-kusama.json
+++ b/cumulus/parachains/chain-specs/asset-hub-kusama.json
@@ -22,7 +22,10 @@
"/dns/statemine-boot-ng.dwellir.com/tcp/30343/p2p/12D3KooWQNJKBaNfW6Nn7HZDi5pSSEFmHL2Qz7chr9RksQUDR1Wk",
"/dns/statemine-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWQNJKBaNfW6Nn7HZDi5pSSEFmHL2Qz7chr9RksQUDR1Wk",
"/dns/statemine-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWCKUrE5uaXQ288ko3Ex3zCyozyJLG47KEYTopinnXNtYL",
- "/dns/statemine-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWCKUrE5uaXQ288ko3Ex3zCyozyJLG47KEYTopinnXNtYL"
+ "/dns/statemine-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWCKUrE5uaXQ288ko3Ex3zCyozyJLG47KEYTopinnXNtYL",
+ "/dns/mine14.rotko.net/tcp/33524/p2p/12D3KooWJUFnjR2PNbsJhudwPVaWCoZy1acPGKjM2cSuGj345BBu",
+ "/dns/mine14.rotko.net/tcp/34524/ws/p2p/12D3KooWJUFnjR2PNbsJhudwPVaWCoZy1acPGKjM2cSuGj345BBu",
+ "/dns/mine14.rotko.net/tcp/35524/wss/p2p/12D3KooWJUFnjR2PNbsJhudwPVaWCoZy1acPGKjM2cSuGj345BBu"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/asset-hub-polkadot.json b/cumulus/parachains/chain-specs/asset-hub-polkadot.json
index c26506eb995aaa3c1fc4e60aa9228e6882755d96..685a00ddc7145ed650f7cb5496fe81cfb23f0ffb 100644
--- a/cumulus/parachains/chain-specs/asset-hub-polkadot.json
+++ b/cumulus/parachains/chain-specs/asset-hub-polkadot.json
@@ -22,7 +22,10 @@
"/dns/statemint-boot-ng.dwellir.com/tcp/30344/p2p/12D3KooWEFrNuNk8fPdQS2hf34Gmqi6dGSvrETshGJUrqrvfRDZr",
"/dns/statemint-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWEFrNuNk8fPdQS2hf34Gmqi6dGSvrETshGJUrqrvfRDZr",
"/dns/statemint-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWLKxHom7f3XawRJqrF8RwiKK5Sj3qZqz5c7hF6eJeXhTx",
- "/dns/statemint-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWLKxHom7f3XawRJqrF8RwiKK5Sj3qZqz5c7hF6eJeXhTx"
+ "/dns/statemint-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWLKxHom7f3XawRJqrF8RwiKK5Sj3qZqz5c7hF6eJeXhTx",
+ "/dns/mint14.rotko.net/tcp/33514/p2p/12D3KooWKkzLjYF6M5eEs7nYiqEtRqY8SGVouoCwo3nCWsRnThDW",
+ "/dns/mint14.rotko.net/tcp/34514/ws/p2p/12D3KooWKkzLjYF6M5eEs7nYiqEtRqY8SGVouoCwo3nCWsRnThDW",
+ "/dns/mint14.rotko.net/tcp/35514/wss/p2p/12D3KooWKkzLjYF6M5eEs7nYiqEtRqY8SGVouoCwo3nCWsRnThDW"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/asset-hub-westend.json b/cumulus/parachains/chain-specs/asset-hub-westend.json
index f0e71981e7a1cbeae8bcdd4511f54036544ac0f7..6f42b5f7d8bb4a76c7390b538a68b1bb0acc1613 100644
--- a/cumulus/parachains/chain-specs/asset-hub-westend.json
+++ b/cumulus/parachains/chain-specs/asset-hub-westend.json
@@ -20,7 +20,10 @@
"/dns/westmint-boot-ng.dwellir.com/tcp/30345/p2p/12D3KooWFZ9xqApB1wnFYkbe1qJ5Jqwxe2f3i8W25F3tKNXy59ux",
"/dns/westmint-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWFZ9xqApB1wnFYkbe1qJ5Jqwxe2f3i8W25F3tKNXy59ux",
"/dns/westmint-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWDoq4PVdWm5nzRSvEz3DSSKjVgRhWVUaKyi5JMKwJKYbk",
- "/dns/westmint-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWDoq4PVdWm5nzRSvEz3DSSKjVgRhWVUaKyi5JMKwJKYbk"
+ "/dns/westmint-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWDoq4PVdWm5nzRSvEz3DSSKjVgRhWVUaKyi5JMKwJKYbk",
+ "/dns/wmint14.rotko.net/tcp/33534/p2p/12D3KooWE4UDXqgtTcMCyUQ8S4uvaT8VMzzTBA6NWmKuYwTacWuN",
+ "/dns/wmint14.rotko.net/tcp/34534/ws/p2p/12D3KooWE4UDXqgtTcMCyUQ8S4uvaT8VMzzTBA6NWmKuYwTacWuN",
+ "/dns/wmint14.rotko.net/tcp/35534/wss/p2p/12D3KooWE4UDXqgtTcMCyUQ8S4uvaT8VMzzTBA6NWmKuYwTacWuN"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/bridge-hub-kusama.json b/cumulus/parachains/chain-specs/bridge-hub-kusama.json
index 9daa60fa2635950c5e0dafd40e398c3bf4edffcd..0ef81806cc5c08621f3c0a308425c72f836c3ef4 100644
--- a/cumulus/parachains/chain-specs/bridge-hub-kusama.json
+++ b/cumulus/parachains/chain-specs/bridge-hub-kusama.json
@@ -22,7 +22,10 @@
"/dns/kusama-bridge-hub-boot-ng.dwellir.com/tcp/30337/p2p/12D3KooWBFskNCQDVjuUeBh6vrszWrUvYMBBhtZRLnoTZDdLYbW5",
"/dns/kusama-bridge-hub-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWBFskNCQDVjuUeBh6vrszWrUvYMBBhtZRLnoTZDdLYbW5",
"/dns/bridgehub-kusama-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWQMWofXj8v3RroDNnrhv1iURqm8vnaG98AdGnCn2YoDcW",
- "/dns/bridgehub-kusama-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWQMWofXj8v3RroDNnrhv1iURqm8vnaG98AdGnCn2YoDcW"
+ "/dns/bridgehub-kusama-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWQMWofXj8v3RroDNnrhv1iURqm8vnaG98AdGnCn2YoDcW",
+ "/dns/kbr13.rotko.net/tcp/33553/p2p/12D3KooWAmBp54mUEYtvsk2kxNEsDbAvdUMcaghxKXgUQxmPEQ66",
+ "/dns/kbr13.rotko.net/tcp/34553/ws/p2p/12D3KooWAmBp54mUEYtvsk2kxNEsDbAvdUMcaghxKXgUQxmPEQ66",
+ "/dns/kbr13.rotko.net/tcp/35553/wss/p2p/12D3KooWAmBp54mUEYtvsk2kxNEsDbAvdUMcaghxKXgUQxmPEQ66"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/bridge-hub-polkadot.json b/cumulus/parachains/chain-specs/bridge-hub-polkadot.json
index d3e884284b4a9351f5ce7df5ba8988935cc885ce..130bdf31ef211ba6d353fa97944b2bf80320997d 100644
--- a/cumulus/parachains/chain-specs/bridge-hub-polkadot.json
+++ b/cumulus/parachains/chain-specs/bridge-hub-polkadot.json
@@ -18,7 +18,10 @@
"/dns/boot-node.helikon.io/tcp/8220/p2p/12D3KooWC38TZJA8ZBXZgAYVrceoJ56jNNLJPdpk3ojeFkTAwZVp",
"/dns/boot-node.helikon.io/tcp/8222/wss/p2p/12D3KooWC38TZJA8ZBXZgAYVrceoJ56jNNLJPdpk3ojeFkTAwZVp",
"/dns/bridgehub-polkadot-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWPNZm78tWUmKbta3SXdkqTPsquRc8ekEbJjZsGGi7YiRi",
- "/dns/bridgehub-polkadot-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWPNZm78tWUmKbta3SXdkqTPsquRc8ekEbJjZsGGi7YiRi"
+ "/dns/bridgehub-polkadot-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWPNZm78tWUmKbta3SXdkqTPsquRc8ekEbJjZsGGi7YiRi",
+ "/dns/pbr13.rotko.net/tcp/33543/p2p/12D3KooWMxZY7tDc2Rh454VaJJ7RexKAXVS6xSBEvTnXSGCnuGDw",
+ "/dns/pbr13.rotko.net/tcp/34543/ws/p2p/12D3KooWMxZY7tDc2Rh454VaJJ7RexKAXVS6xSBEvTnXSGCnuGDw",
+ "/dns/pbr13.rotko.net/tcp/35543/wss/p2p/12D3KooWMxZY7tDc2Rh454VaJJ7RexKAXVS6xSBEvTnXSGCnuGDw"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/bridge-hub-westend.json b/cumulus/parachains/chain-specs/bridge-hub-westend.json
index dde3d437f416fadac1b2769bddb8385e1759443e..018ab0ee6fd9810595c841237dd253b9463aed79 100644
--- a/cumulus/parachains/chain-specs/bridge-hub-westend.json
+++ b/cumulus/parachains/chain-specs/bridge-hub-westend.json
@@ -16,7 +16,10 @@
"/dns/boot-node.helikon.io/tcp/9220/p2p/12D3KooWK3K1Mu5Jjg96Lt9DUzg84KsWnZo44V4KB7mvhGqi6xnp",
"/dns/boot-node.helikon.io/tcp/9222/wss/p2p/12D3KooWK3K1Mu5Jjg96Lt9DUzg84KsWnZo44V4KB7mvhGqi6xnp",
"/dns/bridgehub-westend-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWBsBArCMxmQyo3feCEqMWuwyhb2LTRK8hmCCJxgrNeMke",
- "/dns/bridgehub-westend-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWBsBArCMxmQyo3feCEqMWuwyhb2LTRK8hmCCJxgrNeMke"
+ "/dns/bridgehub-westend-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWBsBArCMxmQyo3feCEqMWuwyhb2LTRK8hmCCJxgrNeMke",
+ "/dns/wbr13.rotko.net/tcp/33563/p2p/12D3KooWJyeRHpxZZbfBCNEgeUFzmRC5AMSAs2tJhjJS1k5hULkD",
+ "/dns/wbr13.rotko.net/tcp/34563/ws/p2p/12D3KooWJyeRHpxZZbfBCNEgeUFzmRC5AMSAs2tJhjJS1k5hULkD",
+ "/dns/wbr13.rotko.net/tcp/35563/wss/p2p/12D3KooWJyeRHpxZZbfBCNEgeUFzmRC5AMSAs2tJhjJS1k5hULkD"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/collectives-polkadot.json b/cumulus/parachains/chain-specs/collectives-polkadot.json
index 003c6373429036eac3642d7eaeacce40d1af0f84..e9f690234e4381f54377c7fe7174f25834a973a5 100644
--- a/cumulus/parachains/chain-specs/collectives-polkadot.json
+++ b/cumulus/parachains/chain-specs/collectives-polkadot.json
@@ -22,7 +22,10 @@
"/dns/polkadot-collectives-boot-ng.dwellir.com/tcp/30341/p2p/12D3KooWDMFYCNRAQcSRNV7xu2xv8319goSEbSHW4TnXRz6EpPKc",
"/dns/polkadot-collectives-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWDMFYCNRAQcSRNV7xu2xv8319goSEbSHW4TnXRz6EpPKc",
"/dns/collectives-polkadot-bootnode.radiumblock.com/tcp/30333/p2p/12D3KooWDumvnNwPbBg5inBEapgjKU7ECdMHHgwfYeGWUkzYUE1c",
- "/dns/collectives-polkadot-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWDumvnNwPbBg5inBEapgjKU7ECdMHHgwfYeGWUkzYUE1c"
+ "/dns/collectives-polkadot-bootnode.radiumblock.com/tcp/30336/wss/p2p/12D3KooWDumvnNwPbBg5inBEapgjKU7ECdMHHgwfYeGWUkzYUE1c",
+ "/dns/pch13.rotko.net/tcp/33573/p2p/12D3KooWRXudHoazPZ9osMfdY38e8CBxQLD4RhrVeHpRSNNpcDtH",
+ "/dns/pch13.rotko.net/tcp/34573/ws/p2p/12D3KooWRXudHoazPZ9osMfdY38e8CBxQLD4RhrVeHpRSNNpcDtH",
+ "/dns/pch13.rotko.net/tcp/35573/wss/p2p/12D3KooWRXudHoazPZ9osMfdY38e8CBxQLD4RhrVeHpRSNNpcDtH"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/chain-specs/collectives-westend.json b/cumulus/parachains/chain-specs/collectives-westend.json
index e06671faa04e2b80a9c8e49badffc7d38c670a6d..7385889f0ec7cf82b702a2607e1165f47564d0e8 100644
--- a/cumulus/parachains/chain-specs/collectives-westend.json
+++ b/cumulus/parachains/chain-specs/collectives-westend.json
@@ -20,7 +20,10 @@
"/dns/collectives-westend.bootnode.amforc.com/tcp/30340/p2p/12D3KooWERPzUhHau6o2XZRUi3tn7544rYiaHL418Nw5t8fYWP1F",
"/dns/collectives-westend.bootnode.amforc.com/tcp/30333/wss/p2p/12D3KooWERPzUhHau6o2XZRUi3tn7544rYiaHL418Nw5t8fYWP1F",
"/dns/westend-collectives-boot-ng.dwellir.com/tcp/30340/p2p/12D3KooWPFM93jgm4pgxx8PM8WJKAJF49qia8jRB95uciUQwYh7m",
- "/dns/westend-collectives-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWPFM93jgm4pgxx8PM8WJKAJF49qia8jRB95uciUQwYh7m"
+ "/dns/westend-collectives-boot-ng.dwellir.com/tcp/443/wss/p2p/12D3KooWPFM93jgm4pgxx8PM8WJKAJF49qia8jRB95uciUQwYh7m",
+ "/dns/wch13.rotko.net/tcp/33593/p2p/12D3KooWPG85zhuSRoyptjLkFD4iJFistjiBmc15JgQ96B4fdXYr",
+ "/dns/wch13.rotko.net/tcp/34593/ws/p2p/12D3KooWPG85zhuSRoyptjLkFD4iJFistjiBmc15JgQ96B4fdXYr",
+ "/dns/wch13.rotko.net/tcp/35593/wss/p2p/12D3KooWPG85zhuSRoyptjLkFD4iJFistjiBmc15JgQ96B4fdXYr"
],
"telemetryEndpoints": null,
"protocolId": null,
diff --git a/cumulus/parachains/common/src/impls.rs b/cumulus/parachains/common/src/impls.rs
index 2f6ec2facfa0fb948f4a5873f4572d0df46a8071..1384c371661a18e6e4d60a309cdf57a95d706c54 100644
--- a/cumulus/parachains/common/src/impls.rs
+++ b/cumulus/parachains/common/src/impls.rs
@@ -173,7 +173,7 @@ where
mod tests {
use super::*;
use frame_support::{
- parameter_types,
+ derive_impl, parameter_types,
traits::{ConstU32, FindAuthor, ValidatorRegistration},
PalletId,
};
@@ -206,6 +206,7 @@ mod tests {
pub const MaxReserves: u32 = 50;
}
+ #[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = frame_support::traits::Everything;
type RuntimeOrigin = RuntimeOrigin;
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/0_init.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/0_init.yml
deleted file mode 100644
index fdc1aa258d42ac681c10930b8e6b32858462944d..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/0_init.yml
+++ /dev/null
@@ -1,145 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9900
- assets_parachain: &assets_parachain
- wsPort: 9910
- paraId: &ap_id 1000
- penpal_parachain: &penpal_parachain
- wsPort: 9920
- paraId: &pp_id 2000
- variables:
- common:
- xcm_version: &xcm_version 3
- require_weight_at_most: &weight_at_most {refTime: 1000000000, proofSize: 200000}
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- assets_parachain_destination: &ap_dest { v3: { 0, interior: { x1: { parachain: *ap_id }}}}
- penpal_parachain:
- signer: &pp_signer //Alice
- decodedCalls:
- ap_force_xcm_version:
- chain: *assets_parachain
- pallet: polkadotXcm
- call: forceXcmVersion
- args: [
- { # location
- parents: 1,
- interior: Here
- },
- *xcm_version # xcmVersion
- ]
-
-tests:
- - name: Initialize Chains
- its:
- - name: XCM supported versions between chains
- actions:
- - extrinsics: # Relay Chain sets supported version for Asset Parachain
- - chain: *relay_chain
- sudo: true
- signer: *rc_signer
- pallet: xcmPallet
- call: forceXcmVersion
- args: [
- { # location
- parents: 0,
- interior: {
- X1: {
- Parachain: *ap_id
- }
- }
- },
- *xcm_version # xcmVersion
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.SupportedVersionChanged
- result: { location: { parents: 0, interior: { X1: { Parachain: *ap_id }}}, version: *xcm_version }
- - extrinsics: # Relay Chain sets supported version for Penpal Parachain
- - chain: *relay_chain
- sudo: true
- signer: *rc_signer
- pallet: xcmPallet
- call: forceXcmVersion
- args: [
- { # location
- parents: 0,
- interior: {
- X1: {
- Parachain: *pp_id
- }
- }
- },
- *xcm_version # xcmVersion
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.SupportedVersionChanged
- result: { location: { parents: 0, interior: { X1: { Parachain: *pp_id }}}, version: *xcm_version }
- - extrinsics: # Asset Parachain sets supported version for Relay Chain through it
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 2200000000,
- proofSize: 200000
- }
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: *weight_at_most,
- call: $ap_force_xcm_version
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: {
- outcome: { Complete: { refTime: '1,019,210,000', proofSize: '200,000' }}
- }
- - name: polkadotXcm.SupportedVersionChanged
- chain: *assets_parachain
- result: { location: { parents: 1, interior: Here }, version: *xcm_version }
- - extrinsics: # Penpal Parachain sets supported version for Relay Chain
- - chain: *penpal_parachain
- signer: *pp_signer
- sudo: true
- pallet: polkadotXcm
- call: forceXcmVersion
- args: [
- { # location
- parents: 1,
- interior: Here
- },
- *xcm_version # xcmVersion
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: polkadotXcm.SupportedVersionChanged
- result: { location: { parents: 1, interior: Here }, version: *xcm_version }
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/1_dmp.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/1_dmp.yml
deleted file mode 100644
index 0e207e632a023b83e5e5fac5b374eead16b74e61..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/1_dmp.yml
+++ /dev/null
@@ -1,263 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9900
- assets_parachain: &assets_parachain
- wsPort: 9910
- paraId: &ap_id 1000
- variables:
- common:
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- wallet: &rc_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- assets_parachain_destination: &ap_dest { v3: { parents: 0, interior: { x1: { parachain: *ap_id }}}}
- assets_parachain_account: &ap_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- assets_parachain_beneficiary: &ap_benf { v3: { parents: 0, interior: { x1: { accountId32: { id: *ap_acc }}}}}
- ksm: &rc_ksm { concrete: { parents: 0, interior: { here: true }}}
- amount: &amount 1000000000000
- ksm_fungible: &rc_ksm_fungible { id: *rc_ksm, fun: { fungible: *amount }}
- require_weight_at_most: &rc_weight_at_most { refTime: 1000000000, proofSize: 200000 }
- assets_parachain_account:
- wallet: &ap_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- asset_id: &asset_id 1
- asset_min_balance: &asset_ed 1000
- decodedCalls:
- force_create_asset:
- chain: *assets_parachain
- pallet: assets
- call: forceCreate
- args: [
- *asset_id,
- { Id: *ap_wallet }, # owner
- true, # isSufficient
- *asset_ed # minBalance
- ]
-
-tests:
- - name: DMP
- its: []
- describes:
- - name: xcmPallet.limitedTeleportAssets
- before: &before_get_balances
- - name: Get the balances of the Relay Chain's sender & Assets Parachain's receiver
- actions:
- - queries:
- balance_rc_sender_before:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- balance_ap_receiver_before:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
- its:
- - name: Should teleport native assets from the Relay Chain to the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: limitedTeleportAssets
- args: [
- *ap_dest, # destination
- *ap_benf, # beneficiary
- { v3: [ *rc_ksm_fungible ] },
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '764,772,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '166,944,000', proofSize: 0 }}}
- - queries:
- balance_rc_sender_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- balance_ap_receiver_after:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
-
- - name: Should reduce the balance of the sender
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_rc_sender_before,
- after: $balance_rc_sender_after,
- },
- amount: *amount
- }
- ]
-
- - name: Should increase the balance of the receiver
- actions:
- - asserts:
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_ap_receiver_before,
- after: $balance_ap_receiver_after,
- }
- }
- ]
-
- - name: xcmPallet.send | Superuser - Transact(assets.forceCreate)
- its:
- - name: Relay Chain Superuser account SHOULD be able to execute a XCM Transact instruction in the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: *rc_weight_at_most,
- call: $force_create_asset
- }
- }
- ]
- }
- ]
- events:
- - name: xcmPallet.Sent
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '1,014,103,000', proofSize: '200,000' }}}
- - queries:
- forced_created_asset:
- chain: *assets_parachain
- pallet: assets
- call: asset
- args: [ *asset_id ]
- - asserts:
- isSome:
- args: [ $forced_created_asset ]
-
- - name: xcmPallet.send | Native - Transact(assets.forceCreate)
- its:
- - name: Relay Chain Native account SHOULD NOT be able to execute a XCM Transact instruction in the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: Native,
- requireWeightAtMost: *rc_weight_at_most,
- call: $force_create_asset
- }
- }
- ]
- }
- ]
- events:
- - name: system.ExtrinsicFailed
- result: { dispatchError: BadOrigin }
-
- - name: xcmPallet.limitedReserveTransferAssets
- before: *before_get_balances
- its:
- - name: SHOULD NOT reserved transfer native assets from the Relay Chain to the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: limitedReserveTransferAssets
- args: [
- *ap_dest, # destination
- *ap_benf, # beneficiary
- { v3: [ *rc_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '750,645,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: {
- outcome: {
- Incomplete: [
- { refTime: '1,000,000,000', proofSize: 0 },
- UntrustedReserveLocation
- ]
- }
- }
- - queries:
- balance_rc_sender_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- balance_ap_receiver_after:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
-
- - name: Should reduce the balance of the sender
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_rc_sender_before,
- after: $balance_rc_sender_after,
- },
- amount: *amount
- }
- ]
-
- - name: Should keep the balance of the receiver
- actions:
- - asserts:
- equal:
- args:
- [
- $balance_ap_receiver_before,
- $balance_ap_receiver_after
- ]
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/2_ump.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/2_ump.yml
deleted file mode 100644
index 2a0bb88090e928dd51db3f92dadab2cdd4eb93be..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/2_ump.yml
+++ /dev/null
@@ -1,191 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9900
- assets_parachain: &assets_parachain
- wsPort: 9910
- paraId: &ap_id 1000
- variables:
- common:
- amount: &amount 1000000000000
- require_weight_at_most: &weight_at_most {refTime: 1000000000, proofSize: 0}
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- wallet: &rc_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F #Alice
- assets_parachain_destination: &ap_dest { v3: { 0, interior: { x1: { parachain: *ap_id }}}}
- assets_parachain_account: &ap_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- assets_parachain_beneficiary: &ap_benf {v3: { parents: 0, interior: { x1: { accountId32: { id: *ap_acc }}}}}
- ksm: &rc_ksm { concrete: { 0, interior: { here: true }}}
- ksm_fungible: &rc_ksm_fungible { id: *rc_ksm, fun: { fungible: *amount }}
- assets_parachain_account:
- signer: &ap_signer //Alice
- wallet: &ap_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- relay_chain_destination: &rc_dest { v3: { parents: 1, interior: { here: true }}}
- assets_parachain_account: &rc_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d' #Alice
- relay_chain_beneficiary: &rc_benf {v3: { parents: 0, interior: { x1: { accountId32: { id: *rc_acc }}}}}
- ksm: &ap_ksm { concrete: { parents: 1, interior: { here: true }}}
- ksm_fungible: &ap_ksm_fungible { id: *ap_ksm, fun: { fungible: *amount }}
- decodedCalls:
- system_remark:
- chain: *relay_chain
- pallet: system
- call: remark
- args: [ 0x0011 ]
-
-tests:
- - name: UMP
- describes:
- - name: polkadotXcm.limitedTeleportAssets
- before:
- - name: DEPENDENCY | Do a 'limitedTeleportAssets' from the Relay Chain to the Assets Parachain to have funds to send them back
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: limitedTeleportAssets
- args: [
- *ap_dest, # destination
- *ap_benf, # beneficiary
- { v3: [ *rc_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '761,173,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '166,944,000', proofSize: 0 }}}
-
- - name: Get the balances of the Assets Parachain's sender & Relay Chain's receiver
- actions:
- - queries:
- balance_ap_sender_before:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
- balance_rc_receiver_before:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- its:
- - name: Should teleport native assets back from Assets Parachain to the Relay Chain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedTeleportAssets
- args: [
- *rc_dest, # destination
- *rc_benf, # beneficiary
- { v3: [ *ap_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '539,494,000', proofSize: '7,133' }}}
- - name: messageQueue.Processed
- chain: *relay_chain
- threshold: *weight_threshold
- result: { origin: { Ump: { Para: '1,000' } }, weightUsed: { refTime: '298,716,000', proofSize: '0' }, success: true }
- - queries:
- balance_ap_sender_after:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
- balance_rc_receiver_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
-
- - name: Should reduce the balance of the sender
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_ap_sender_before,
- after: $balance_ap_sender_after,
- },
- amount: *amount
- }
- ]
-
- - name: Should increase the balance of the receiver
- actions:
- - asserts:
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_rc_receiver_before,
- after: $balance_rc_receiver_after,
- }
- }
- ]
-
- - name: polkadotXcm.send | Native - Transact(system.remark)
- its:
- - name: Assets Parachain SHOULD NOT be able to dispatch 'send' call
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: send
- args: [
- *rc_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: Native,
- requireWeightAtMost: *weight_at_most,
- call: $system_remark
- }
- }
- ]
- }
- ]
- events:
- - name: system.ExtrinsicFailed
- result: { dispatchError: BadOrigin }
-
- - name: polkadotXcm.limitedReserveTransferAssets
- its:
- - name: Should NOT be able to reserve transfer native assets from the Assets Parachain to the Relay Chain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedReserveTransferAssets
- args: [
- *rc_dest, # destination
- *rc_benf, # beneficiary
- { v3: [ *ap_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- result: { outcome: { Error: Barrier }}
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/3_force_hrmp-open-channels.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/3_force_hrmp-open-channels.yml
deleted file mode 100644
index dfdae028f00d0d62e8500335d4c11f256a01462d..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/3_force_hrmp-open-channels.yml
+++ /dev/null
@@ -1,122 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9900
- assets_parachain:
- wsPort: 9910
- paraId: &ap_id 1000
- penpal_parachain:
- wsPort: 9920
- paraId: &pp_id 2000
- variables:
- common:
- amount: &amount 2000000000000
- hrmp_channels:
- proposed_max_capacity: &max_capacity 8
- proposed_max_message_size: &max_message_size 8192
- channel: &channel {
- maxCapacity: *max_capacity,
- maxTotalSize: *max_message_size,
- maxMessageSize: *max_message_size,
- msgCount: 0,
- totalSize: 0,
- mqcHead: null,
- senderDeposit: 0,
- recipientDeposit: 0
- }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- assets_parachain_account:
- sovereign_account: &ap_sovereign F7fq1jSNVTPfJmaHaXCMtatT1EZefCUsa7rRiQVNR5efcah
- penpal_parachain:
- sovereign_account: &pp_sovereign F7fq1jMZkfuCuoMTyiEVAP2DMpMt18WopgBqTJznLihLNbZ
-
-tests:
- - name: HRMP
- beforeEach:
- - name: DEPENDENCY | Penpal Parachain Sovereign account in the Relay Chain needs to be funded
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: balances
- call: transfer
- args: [
- *pp_sovereign, # destination
- *amount, # value
- ]
- events:
- - name: balances.Transfer
-
- - name: DEPENDENCY | Assets Parachain Sovereign account in the Relay Chain needs to be funded
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: balances
- call: transfer
- args: [
- *ap_sovereign, # destination
- *amount, # value
- ]
- events:
- - name: balances.Transfer
- describes:
- - name: hrmp.forceOpenHrmpChannel (Penpal Parachain → Assets Parachain)
- its:
- - name: Open Penpal Parachain to Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: hrmp
- call: forceOpenHrmpChannel
- args: [
- *pp_id,
- *ap_id,
- *max_capacity,
- *max_message_size
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: hrmp.HrmpChannelForceOpened
-
- - name: hrmp.forceOpenHrmpChannel (Assets Parachain → PenPal Parachain)
- its:
- - name: Open Assets Parachain to PenPal Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: hrmp
- call: forceOpenHrmpChannel
- args: [
- *ap_id,
- *pp_id,
- *max_capacity,
- *max_message_size
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: hrmp.HrmpChannelForceOpened
-
- - name: hrmp.forceProcessHrmpOpen (make sure all the channels are open)
- its:
- - name: Make sure all the pending channels are open
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: hrmp
- call: forceProcessHrmpOpen
- args: [ 2 ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/4_hrmp.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/4_hrmp.yml
deleted file mode 100644
index 02e53da75580a95c35eedb7f311eb68758b195af..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/0_xcm/4_hrmp.yml
+++ /dev/null
@@ -1,388 +0,0 @@
----
-# Note: This tests depends on the 3_hrmp-open-channels.yml for opening channels, otherwise teleports aren't going to
-# work.
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9900
- assets_parachain: &assets_parachain
- wsPort: 9910
- paraId: &ap_id 1000
- penpal_parachain: &penpal_parachain
- wsPort: 9920
- paraId: &pp_id 2000
- variables:
- common:
- mint_amount: &mint_amount 1000000000000
- amount: &amount 100000000000
- require_weight_at_most: &weight_at_most {refTime: 1200000000, proofSize: 20000}
- amount_to_send: &amount_to_send 500000000000
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- assets_parachain_destination: &ap_dest { v3: { 0, interior: { x1: { parachain: *ap_id }}}}
- assets_parachain_dest_routed: &ap_dest_routed { v3: { parents: 1, interior: { x1: { parachain: *ap_id } }}}
- assets_parachain_account:
- signer: &ap_signer //Alice
- wallet: &ap_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- asset_id: &asset_id 2
- assets_pallet_id: &assets_pallet_id 50
- asset_min_balance: &asset_ed 1000
- penpal_parachain_destination: &pp_dest { v3: { parents: 1, interior: { x1: { parachain: *pp_id } }}}
- ksm: &ap_ksm { concrete: { parents: 1, interior: { here: true }}}
- ksm_fungible: &ap_ksm_fungible { id: *ap_ksm, fun: { fungible: *amount }}
- suff_asset: &suff_asset { concrete: { parents: 0, interior: { x2: [ { PalletInstance: *assets_pallet_id }, { GeneralIndex: *asset_id } ] }}}
- suff_asset_fail: &suff_asset_fail { concrete: { parents: 0, interior: { x2: [ { PalletInstance: *assets_pallet_id }, { GeneralIndex: 3 } ] }}}
- suff_asset_fungible_fail: &ap_suff_asset_fungible_fail { id: *suff_asset_fail, fun: { fungible: 200000000000 }}
- penpal_parachain:
- sovereign_account: &pp_sovereign_sibl FBeL7EAeUroLWXW1yfKboiqTqVfbRBcsUKd6QqVf4kGBySS
- signer: &pp_signer //Alice
- penpal_parachain_account: &pp_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- decodedCalls:
- force_create_asset:
- chain: *assets_parachain
- pallet: assets
- call: forceCreate
- args: [
- *asset_id,
- { Id: *ap_wallet }, # owner
- true, # isSufficient
- *asset_ed # minBalance
- ]
- force_create_asset2:
- chain: *assets_parachain
- pallet: assets
- call: forceCreate
- args: [
- *asset_id,
- { Id: *ap_wallet }, # owner
- true, # isSufficient
- *asset_ed # minBalance
- ]
-
-tests:
- - name: HRMP
- describes:
- - name: polkadotXcm.limitedReserveTransferAssets (Asset) | Assets Parachain -> Penpal Parachain
- before:
- - name: DEPENDENCY | A sufficient Asset should exist in the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- SetTopic: '0x0123456789012345678901234567891201234567890123456789012345678912'
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: *weight_at_most,
- call: $force_create_asset
- }
- }
- ]
- }
- ]
- events:
- - name: xcmPallet.Sent
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '1,216,703,000', proofSize: '20,000' }}}
- - queries:
- forced_created_asset:
- chain: *assets_parachain
- pallet: assets
- call: asset
- args: [ *asset_id ]
- - asserts:
- isSome:
- args: [ $forced_created_asset ]
-
- - name: DEPENDENCY | Some Assets should be minted for the sender
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: assets
- call: mint
- args: [
- *asset_id,
- *ap_wallet,
- *mint_amount
- ]
- events:
- - name: assets.Issued
- result: { assetId: *asset_id, owner: *ap_wallet, amount: *mint_amount }
-
- its:
- - name: Assets Parachain should be able to reserve transfer an Asset to Penpal Parachain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedReserveTransferAssets
- args: [
- *pp_dest, # destination
- { # beneficiary
- V3: {
- parents: 0,
- interior: {
- X1: {
- AccountId32: {
- id: *pp_acc
- }
- }
- }
- }
- },
- { # assets
- V3: [
- {
- id: {
- Concrete: {
- parents: 0,
- interior: {
- X2: [
- {
- PalletInstance: *assets_pallet_id
- },
- {
- GeneralIndex: *asset_id
- }
- ]
- }
- }
- },
- fun: {
- Fungible: *amount_to_send
- }
- }
- ]
- },
- 0, # feeAssetItem
- Unlimited # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '679,150,000', proofSize: '6,196' }}}
- - name: assets.Transferred
- result: {
- assetId: *asset_id,
- from: *ap_wallet,
- to: *pp_sovereign_sibl,
- amount: *amount_to_send
- }
-
- - name: polkadotXcm.limitedReserveTransferAssets (KSM) | Assets Parachain -> Penpal Parachain
- its:
- - name: Assets Parachain should be able to reserve transfer KSM to Penpal Parachain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedReserveTransferAssets
- args: [
- *pp_dest, # destination
- { # beneficiary
- V3: {
- parents: 0,
- interior: {
- X1: {
- AccountId32: {
- id: *pp_acc
- }
- }
- }
- }
- },
- { # assets
- V3: [
- *ap_ksm_fungible
- ]
- },
- 0, # feeAssetItem
- Unlimited # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '679,150,000', proofSize: '6,196' }}}
- - name: balances.Endowed
- result: {
- account: *pp_sovereign_sibl,
- freeBalance: *amount
- }
-
- - name: polkadotXcm.send( assets.forceCreateAsset ) | Penpal Parachain -> Assets Parachain
- before:
- - name: Get the asset balance of the Penpal Parachain Sovereign account in Assets Parachain
- actions:
- - queries:
- assets_balance_pp_sovereign_before:
- chain: *assets_parachain
- pallet: assets
- call: account
- args: [
- *asset_id,
- *pp_sovereign_sibl
- ]
- its:
- - name: Penpal Parachain should be able to send XCM message paying its fee with sufficient asset in Assets Parachain
- actions:
- - extrinsics:
- - chain: *penpal_parachain
- signer: *pp_signer
- sudo: true
- pallet: polkadotXcm
- call: send
- args: [
- *ap_dest_routed, # destination
- {
- v3: [ #message
- {
- WithdrawAsset: [
- {
- id: {
- concrete: {
- parents: 0,
- interior: {
- X2: [
- { PalletInstance: *assets_pallet_id },
- { GeneralIndex: *asset_id }
- ]
- }
- }
- },
- fun: { fungible: *amount }}
- ]
- },
- {
- BuyExecution: {
- fees: { id: *suff_asset, fun: { fungible: *amount }},
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: SovereignAccount,
- requireWeightAtMost: *weight_at_most,
- call: $force_create_asset2
- }
- },
- {
- RefundSurplus
- },
- {
- DepositAsset: {
- assets: { Wild: All },
- beneficiary: {
- parents: 0,
- interior: {
- X1: {
- AccountId32: {
- network: , # None
- id: *pp_acc
- }
- }
- }}
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: polkadotXcm.Sent
- - name: assets.Burned
- chain: *assets_parachain
- result: { assetId: *asset_id, owner: *pp_sovereign_sibl }
- - name: assets.Issued
- chain: *assets_parachain
- result: { assetId: *asset_id }
- - queries:
- assets_balance_pp_sovereign_after:
- chain: *assets_parachain
- pallet: assets
- call: account
- args: [
- *asset_id,
- *pp_sovereign_sibl
- ]
- forced_created_asset2:
- chain: *assets_parachain
- pallet: assets
- call: asset
- args: [ 3 ]
- - asserts:
- isSome:
- args: [ $forced_created_asset2 ]
- - name: Should reduce the assets balance of the Penpal Parachain's SovereignAccount in the Assets Parachain
- actions:
- - asserts:
- assetsDecreased:
- args: [
- {
- balances: {
- before: $assets_balance_pp_sovereign_before,
- after: $assets_balance_pp_sovereign_after,
- },
- }
- ]
-
- - name: Penpal Parachain SHOULD NOT be able to send XCM message paying its fee with sufficient assets if not enough balance
- actions:
- - extrinsics:
- - chain: *penpal_parachain
- signer: *pp_signer
- sudo: true
- pallet: polkadotXcm
- call: send
- args: [
- *ap_dest_routed, # destination
- {
- v3: [ #message
- {
- WithdrawAsset: [*ap_suff_asset_fungible_fail]
- },
- {
- BuyExecution: {
- fees: *ap_suff_asset_fungible_fail,
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: SovereignAccount,
- requireWeightAtMost: *weight_at_most,
- call: $force_create_asset2
- }
- }
- ]
- }
- ]
- events:
- - name: xcmpQueue.Fail
- chain: *assets_parachain
- threshold: *weight_threshold
- result: {
- error: FailedToTransactAsset,
- weight: { refTime: '152,426,000', proofSize: '3,593' }
- }
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/config.toml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/config.toml
deleted file mode 100644
index 1ec06b3fa10435e5b865e8da0683be24214c426c..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-kusama/config.toml
+++ /dev/null
@@ -1,71 +0,0 @@
-[relaychain]
-default_command = "./bin/polkadot"
-default_args = [ "-lparachain=debug", "-lxcm=trace" ]
-chain = "kusama-local"
-
- [[relaychain.nodes]]
- name = "alice"
- ws_port = 9900
- validator = true
- args = ["--state-cache-size=0"]
-
- [[relaychain.nodes]]
- name = "bob"
- ws_port = 9901
- validator = true
-
- [[relaychain.nodes]]
- name = "charlie"
- ws_port = 9902
- validator = true
-
- [[relaychain.nodes]]
- name = "dave"
- ws_port = 9903
- validator = true
-
-[[parachains]]
-id = 1000
-chain = "asset-hub-kusama-local"
-cumulus_based = true
-
- [[parachains.collators]]
- name = "collator1"
- ws_port = 9910
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace", "--state-cache-size=0" ]
-
- [[parachains.collators]]
- name = "collator2"
- ws_port = 9911
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace" ]
-
-[[parachains]]
-id = 2000
-chain = "penpal-kusama-2000"
-cumulus_based = true
-
- [[parachains.collators]]
- name = "collator3"
- ws_port = 9920
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace", "--state-cache-size=0" ]
-
- [[parachains.collators]]
- name = "collator4"
- ws_port = 9921
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace" ]
-
-# [[hrmpChannels]]
-# sender = 1000
-# recipient = 2000
-# maxCapacity = 8
-# maxMessageSize = 8192
-
-# [[hrmpChannels]]
-# sender = 2000
-# recipient = 1000
-# maxCapacity = 8
-# maxMessageSize = 8192
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/0_init.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/0_init.yml
deleted file mode 100644
index a6d3fb3ec83439bc9f9bc5e9ae42293573dcf5e3..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/0_init.yml
+++ /dev/null
@@ -1,145 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9800
- assets_parachain: &assets_parachain
- wsPort: 9810
- paraId: &ap_id 1000
- penpal_parachain: &penpal_parachain
- wsPort: 9820
- paraId: &pp_id 2000
- variables:
- common:
- xcm_version: &xcm_version '3'
- require_weight_at_most: &weight_at_most {refTime: 1000000000, proofSize: 200000}
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- assets_parachain_destination: &ap_dest { v3: { 0, interior: { x1: { parachain: *ap_id }}}}
- penpal_parachain:
- signer: &pp_signer //Alice
- decodedCalls:
- ap_force_xcm_version:
- chain: *assets_parachain
- pallet: polkadotXcm
- call: forceXcmVersion
- args: [
- { # location
- parents: 1,
- interior: Here
- },
- *xcm_version # xcmVersion
- ]
-
-tests:
- - name: Initialize Chains
- its:
- - name: XCM supported versions between chains
- actions:
- - extrinsics: # Relay Chain sets supported version for Asset Parachain
- - chain: *relay_chain
- sudo: true
- signer: *rc_signer
- pallet: xcmPallet
- call: forceXcmVersion
- args: [
- { # location
- parents: 0,
- interior: {
- X1: {
- Parachain: *ap_id
- }
- }
- },
- *xcm_version # xcmVersion
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.SupportedVersionChanged
- result: { location: { parents: 0, interior: { X1: { Parachain: *ap_id }}}, version: *xcm_version }
- - extrinsics: # Relay Chain sets supported version for Penpal Parachain
- - chain: *relay_chain
- sudo: true
- signer: *rc_signer
- pallet: xcmPallet
- call: forceXcmVersion
- args: [
- { # location
- parents: 0,
- interior: {
- X1: {
- Parachain: *pp_id
- }
- }
- },
- *xcm_version # xcmVersion
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.SupportedVersionChanged
- result: { location: { parents: 0, interior: { X1: { Parachain: *pp_id }}}, version: *xcm_version }
- - extrinsics: # Asset Parachain sets supported version for Relay Chain through it
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 3200000000,
- proofSize: 200000
- }
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: *weight_at_most,
- call: $ap_force_xcm_version
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: {
- outcome: { Complete: { refTime: '1,019,210,000', proofSize: '200,000' }}
- }
- - name: polkadotXcm.SupportedVersionChanged
- chain: *assets_parachain
- result: { location: { parents: 1, interior: Here }, version: *xcm_version }
- - extrinsics: # Penpal Parachain sets supported version for Relay Chain
- - chain: *penpal_parachain
- signer: *pp_signer
- sudo: true
- pallet: polkadotXcm
- call: forceXcmVersion
- args: [
- { # location
- parents: 1,
- interior: Here
- },
- *xcm_version # xcmVersion
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: polkadotXcm.SupportedVersionChanged
- result: { location: { parents: 1, interior: Here}, version: *xcm_version }
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/1_dmp.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/1_dmp.yml
deleted file mode 100644
index 36b296f3eb1f3f8ed93b9cdc4354fc89b692b50c..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/1_dmp.yml
+++ /dev/null
@@ -1,263 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9800
- assets_parachain: &assets_parachain
- wsPort: 9810
- paraId: &ap_id 1000
- variables:
- common:
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- wallet: &rc_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- assets_parachain_destination: &ap_dest { v3: { parents: 0, interior: { x1: { parachain: *ap_id }}}}
- assets_parachain_account: &ap_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- assets_parachain_beneficiary: &ap_benf {v3: { parents: 0, interior: { x1: { accountId32: { id: *ap_acc }}}}}
- ksm: &rc_ksm { concrete: { parents: 0, interior: { here: true }}}
- amount: &amount 1000000000000
- ksm_fungible: &rc_ksm_fungible { id: *rc_ksm, fun: { fungible: *amount }}
- require_weight_at_most: &rc_weight_at_most {refTime: 1000000000, proofSize: 200000}
- assets_parachain_account:
- wallet: &ap_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- asset_id: &asset_id 1
- asset_min_balance: &asset_ed 1000
- decodedCalls:
- force_create_asset:
- chain: *assets_parachain
- pallet: assets
- call: forceCreate
- args: [
- *asset_id,
- { Id: *ap_wallet }, # owner
- true, # isSufficient
- *asset_ed # minBalance
- ]
-
-tests:
- - name: DMP
- its: []
- describes:
- - name: xcmPallet.limitedTeleportAssets
- before: &before_get_balances
- - name: Get the balances of the Relay Chain's sender & Assets Parachain's receiver
- actions:
- - queries:
- balance_rc_sender_before:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- balance_ap_receiver_before:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
- its:
- - name: Should teleport native assets from the Relay Chain to the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: limitedTeleportAssets
- args: [
- *ap_dest, # destination
- *ap_benf, # beneficiary
- { v3: [ *rc_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '166,944,000', proofSize: 0 }}}
- - queries:
- balance_rc_sender_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- balance_ap_receiver_after:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
-
- - name: Should reduce the balance of the sender
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_rc_sender_before,
- after: $balance_rc_sender_after,
- },
- amount: *amount
- }
- ]
-
- - name: Should increase the balance of the receiver
- actions:
- - asserts:
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_ap_receiver_before,
- after: $balance_ap_receiver_after,
- }
- }
- ]
-
- - name: xcmPallet.send | Superuser - Transact(assets.forceCreate)
- its:
- - name: Relay Chain Superuser account SHOULD be able to execute a XCM Transact instruction in the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originType: Superuser,
- requireWeightAtMost: *rc_weight_at_most,
- call: $force_create_asset
- }
- }
- ]
- }
- ]
- events:
- - name: xcmPallet.Sent
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '1,014,103,000', proofSize: '200,000' }}}
- - queries:
- forced_created_asset:
- chain: *assets_parachain
- pallet: assets
- call: asset
- args: [ *asset_id ]
- - asserts:
- isSome:
- args: [ $forced_created_asset ]
-
- - name: xcmPallet.send | Native - Transact(assets.forceCreate)
- its:
- - name: Relay Chain Native account SHOULD NOT be able to execute a XCM Transact instruction in the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originType: Native,
- requireWeightAtMost: *rc_weight_at_most,
- call: $force_create_asset
- }
- }
- ]
- }
- ]
- events:
- - name: system.ExtrinsicFailed
- result: { dispatchError: BadOrigin }
-
- - name: xcmPallet.limitedReserveTransferAssets
- before: *before_get_balances
- its:
- - name: SHOULD NOT reserved transfer native assets from the Relay Chain to the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: limitedReserveTransferAssets
- args: [
- *ap_dest, # destination
- *ap_benf, # beneficiary
- { v3: [ *rc_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '2,000,000,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: {
- outcome: {
- Incomplete: [
- { refTime: '1,000,000,000', proofSize: 0 },
- UntrustedReserveLocation
- ]
- }
- }
- - queries:
- balance_rc_sender_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
- balance_ap_receiver_after:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
-
- - name: Should reduce the balance of the sender
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_rc_sender_before,
- after: $balance_rc_sender_after,
- },
- amount: *amount
- }
- ]
-
- - name: Should keep the balance of the receiver
- actions:
- - asserts:
- equal:
- args:
- [
- $balance_ap_receiver_before,
- $balance_ap_receiver_after
- ]
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/2_ump.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/2_ump.yml
deleted file mode 100644
index fa84d4b006a7cf76019ea895a5da08dc109fb3ee..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/2_ump.yml
+++ /dev/null
@@ -1,194 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9800
- assets_parachain: &assets_parachain
- wsPort: 9810
- paraId: &ap_id 1000
- variables:
- common:
- amount: &amount 1000000000000
- require_weight_at_most: &weight_at_most {refTime: 1000000000, proofSize: 0}
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- wallet: &rc_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- assets_parachain_destination: &ap_dest { v3: { 0, interior: { x1: { parachain: *ap_id }}}}
- assets_parachain_account: &ap_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- assets_parachain_beneficiary: &ap_benf {v3: { parents: 0, interior: { x1: { accountId32: { id: *ap_acc }}}}}
- ksm: &rc_ksm { concrete: { 0, interior: { here: true }}}
- ksm_fungible: &rc_ksm_fungible { id: *rc_ksm, fun: { fungible: *amount }}
- assets_parachain_account:
- signer: &ap_signer //Alice
- wallet: &ap_wallet HNZata7iMYWmk5RvZRTiAsSDhV8366zq2YGb3tLH5Upf74F
- relay_chain_destination: &rc_dest { v3: { parents: 1, interior: { here: true }}}
- assets_parachain_account: &rc_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- relay_chain_beneficiary: &rc_benf {v3: { parents: 0, interior: { x1: { accountId32: { id: *rc_acc }}}}}
- ksm: &ap_ksm { concrete: { parents: 1, interior: { here: true }}}
- ksm_fungible: &ap_ksm_fungible { id: *ap_ksm, fun: { fungible: *amount }}
- decodedCalls:
- system_remark:
- chain: *relay_chain
- pallet: system
- call: remark
- args: [ 0x0011 ]
-
-tests:
- - name: UMP
- describes:
- - name: polkadotXcm.limitedTeleportAssets
- before:
- - name: DEPENDENCY | Do a 'limitedTeleportAssets' from the Relay Chain to the Assets Parachain to have funds to send them back
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: xcmPallet
- call: limitedTeleportAssets
- args: [
- *ap_dest, # destination
- *ap_benf, # beneficiary
- { v3: [ *rc_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '166,944,000', proofSize: 0 }}}
-
- - name: Get the balances of the Assets Parachain's sender & Relay Chain's receiver
- actions:
- - queries:
- balance_ap_sender_before:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
- balance_rc_receiver_before:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
-
- its:
- - name: Should be able to teleport native assets back from Assets Parachain to the Relay Chain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedTeleportAssets
- args: [
- *rc_dest, # destination
- *rc_benf, # beneficiary
- { v3: [ *ap_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '533,283,000', proofSize: '7,096' }}}
- - name: messageQueue.Processed
- chain: *relay_chain
- threshold: *weight_threshold
- result: { origin: { Ump: { Para: '1,000' } }, weightUsed: { refTime: '4,000,000,000', proofSize: '0' }, success: true }
- - queries:
- balance_ap_sender_after:
- chain: *assets_parachain
- pallet: system
- call: account
- args: [ *ap_wallet ]
- balance_rc_receiver_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *rc_wallet ]
-
- - name: Should reduce the balance of the sender
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_ap_sender_before,
- after: $balance_ap_sender_after,
- },
- amount: *amount
- }
- ]
-
- - name: Should increase the balance of the receiver
- actions:
- - asserts:
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_rc_receiver_before,
- after: $balance_rc_receiver_after,
- }
- }
- ]
-
- - name: polkadotXcm.send | Native - Transact(system.remark)
- its:
- - name: Assets Parachain SHOULD NOT be able to dispatch 'send' call
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: send
- args: [
- *rc_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originType: Native,
- requireWeightAtMost: *weight_at_most,
- call: $system_remark
- }
- }
- ]
- }
- ]
- events:
- - name: system.ExtrinsicFailed
- attributes:
- - type: SpRuntimeDispatchError
- value: BadOrigin
-
- - name: polkadotXcm.limitedReserveTransferAssets
- its:
- - name: Should NOT be able to reserve transfer native assets from the Assets Parachain to the Relay Chain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedReserveTransferAssets
- args: [
- *rc_dest, # destination
- *rc_benf, # beneficiary
- { v3: [ *ap_ksm_fungible ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- result: { outcome: { Error: Barrier }}
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/3_force_hrmp-open-channels.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/3_force_hrmp-open-channels.yml
deleted file mode 100644
index ecf344a073b4c55243a087af6704acb554710341..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/3_force_hrmp-open-channels.yml
+++ /dev/null
@@ -1,120 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9800
- assets_parachain:
- wsPort: 9810
- paraId: &ap_id 1000
- penpal_parachain:
- wsPort: 9820
- paraId: &pp_id 2000
- variables:
- common:
- amount: &amount 2000000000000
- hrmp_channels:
- proposed_max_capacity: &max_capacity 8
- proposed_max_message_size: &max_message_size 8192
- channel: &channel {
- maxCapacity: *max_capacity,
- maxTotalSize: *max_message_size,
- maxMessageSize: *max_message_size,
- msgCount: 0,
- totalSize: 0,
- mqcHead: null,
- senderDeposit: 0,
- recipientDeposit: 0
- }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- assets_parachain_account:
- sovereign_account: &ap_sovereign 5Ec4AhPZk8STuex8Wsi9TwDtJQxKqzPJRCH7348Xtcs9vZLJ
- penpal_parachain:
- sovereign_account: &pp_sovereign F7fq1jMZkfuCuoMTyiEVAP2DMpMt18WopgBqTJznLihLNbZ
-
-tests:
- - name: HRMP
- beforeEach:
- - name: DEPENDENCY | Penpal Parachain Sovereign account in the Relay Chain needs to be funded
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: balances
- call: transfer
- args: [
- *pp_sovereign, # destination
- *amount, # value
- ]
- events:
- - name: balances.Transfer
-
- - name: DEPENDENCY | Assets Parachain Sovereign account in the Relay Chain needs to be funded
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- pallet: balances
- call: transfer
- args: [
- *ap_sovereign, # destination
- *amount, # value
- ]
- events:
- - name: balances.Transfer
- describes:
- - name: hrmp.hrmpInitOpenChannel (Penpal Parachain → Assets Parachain)
- its:
- - name: Open Penpal Parachain to Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: hrmp
- call: forceOpenHrmpChannel
- args: [
- *pp_id,
- *ap_id,
- *max_capacity,
- *max_message_size
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: hrmp.HrmpChannelForceOpened
- - name: hrmp.hrmpInitOpenChannel (Assets Parachain → PenPal Parachain)
- its:
- - name: Open Assets Parachain to PenPal Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: hrmp
- call: forceOpenHrmpChannel
- args: [
- *ap_id,
- *pp_id,
- *max_capacity,
- *max_message_size
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: hrmp.HrmpChannelForceOpened
- - name: hrmp.forceProcessHrmpOpen (make sure all the channels are open)
- its:
- - name: Make sure all the pending channels are open
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: hrmp
- call: forceProcessHrmpOpen
- args: [ 2 ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/4_hrmp.yml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/4_hrmp.yml
deleted file mode 100644
index 681af698c16da401e580bcf2b12f28f6ba5043a1..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/0_xcm/4_hrmp.yml
+++ /dev/null
@@ -1,388 +0,0 @@
----
-# Note: This tests depends on the 3_hrmp-open-channels.yml for opening channels, otherwise teleports aren't going to
-# work.
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9800
- assets_parachain: &assets_parachain
- wsPort: 9810
- paraId: &ap_id 1000
- penpal_parachain: &penpal_parachain
- wsPort: 9820
- paraId: &pp_id 2000
- variables:
- common:
- mint_amount: &mint_amount 1000000000000
- amount: &amount 1000000000000
- require_weight_at_most: &weight_at_most {refTime: 1200000000, proofSize: 20000}
- amount_to_send: &amount_to_send 500000000000
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- relay_chain:
- signer: &rc_signer //Alice
- assets_parachain_destination: &ap_dest { v3: { 0, interior: { x1: { parachain: *ap_id }}}}
- assets_parachain_dest_routed: &ap_dest_routed { v3: { parents: 1, interior: { x1: { parachain: *ap_id } }}}
- assets_parachain_account:
- signer: &ap_signer //Alice
- wallet: &ap_wallet 15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5
- asset_id: &asset_id 2
- assets_pallet_id: &assets_pallet_id 50
- asset_min_balance: &asset_ed 1000
- penpal_parachain_destination: &pp_dest { v3: { parents: 1, interior: { x1: { parachain: *pp_id } }}}
- ksm: &ap_ksm { concrete: { parents: 1, interior: { here: true }}}
- ksm_fungible: &ap_ksm_fungible { id: *ap_ksm, fun: { fungible: *amount }}
- suff_asset: &suff_asset { concrete: { parents: 0, interior: { x2: [ { PalletInstance: *assets_pallet_id }, { GeneralIndex: *asset_id } ] }}}
- suff_asset_fail: &suff_asset_fail { concrete: { parents: 0, interior: { x2: [ { PalletInstance: *assets_pallet_id }, { GeneralIndex: 3 } ] }}}
- suff_asset_fungible_fail: &ap_suff_asset_fungible_fail { id: *suff_asset_fail, fun: { fungible: 200000000000 }}
- penpal_parachain:
- sovereign_account: &pp_sovereign_sibl 13cKp89Msu7M2PiaCuuGr1BzAsD5V3vaVbDMs3YtjMZHdGwR
- signer: &pp_signer //Alice
- penpal_parachain_account: &pp_acc '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- decodedCalls:
- force_create_asset:
- chain: *assets_parachain
- pallet: assets
- call: forceCreate
- args: [
- *asset_id,
- { Id: *ap_wallet }, # owner
- true, # isSufficient
- *asset_ed # minBalance
- ]
- force_create_asset2:
- chain: *assets_parachain
- pallet: assets
- call: forceCreate
- args: [
- *asset_id,
- { Id: *ap_wallet }, # owner
- true, # isSufficient
- *asset_ed # minBalance
- ]
-
-tests:
- - name: HRMP
- describes:
- - name: polkadotXcm.limitedReserveTransferAssets (Asset) | Assets Parachain -> Penpal Parachain
- before:
- - name: DEPENDENCY | A sufficient Asset should exist in the Assets Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *rc_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- *ap_dest, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- SetTopic: '0x0123456789012345678901234567891201234567890123456789012345678912'
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: *weight_at_most,
- call: $force_create_asset
- }
- }
- ]
- }
- ]
- events:
- - name: xcmPallet.Sent
- - name: dmpQueue.ExecutedDownward
- chain: *assets_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '1,216,703,000', proofSize: '20,000' }}}
- - queries:
- forced_created_asset:
- chain: *assets_parachain
- pallet: assets
- call: asset
- args: [ *asset_id ]
- - asserts:
- isSome:
- args: [ $forced_created_asset ]
-
- - name: DEPENDENCY | Some Assets should be minted for the sender
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: assets
- call: mint
- args: [
- *asset_id,
- *ap_wallet,
- *mint_amount
- ]
- events:
- - name: assets.Issued
- result: { assetId: *asset_id, owner: *ap_wallet, amount: *mint_amount }
-
- its:
- - name: Assets Parachain should be able to reserve transfer an Asset to Penpal Parachain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedReserveTransferAssets
- args: [
- *pp_dest, # destination
- { # beneficiary
- V3: {
- parents: 0,
- interior: {
- X1: {
- AccountId32: {
- id: *pp_acc
- }
- }
- }
- }
- },
- { # assets
- V3: [
- {
- id: {
- Concrete: {
- parents: 0,
- interior: {
- X2: [
- {
- PalletInstance: *assets_pallet_id
- },
- {
- GeneralIndex: *asset_id
- }
- ]
- }
- }
- },
- fun: {
- Fungible: *amount_to_send
- }
- }
- ]
- },
- 0, # feeAssetItem
- Unlimited # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '673,627,000', proofSize: '6,196' }}}
- - name: assets.Transferred
- result: {
- assetId: *asset_id,
- from: *ap_wallet,
- to: *pp_sovereign_sibl,
- amount: *amount_to_send
- }
-
- - name: polkadotXcm.limitedReserveTransferAssets (KSM) | Assets Parachain -> Penpal Parachain
- its:
- - name: Assets Parachain should be able to reserve transfer KSM to Penpal Parachain
- actions:
- - extrinsics:
- - chain: *assets_parachain
- signer: *ap_signer
- pallet: polkadotXcm
- call: limitedReserveTransferAssets
- args: [
- *pp_dest, # destination
- { # beneficiary
- V3: {
- parents: 0,
- interior: {
- X1: {
- AccountId32: {
- id: *pp_acc
- }
- }
- }
- }
- },
- { # assets
- V3: [
- *ap_ksm_fungible
- ]
- },
- 0, # feeAssetItem
- Unlimited # weightLimit
- ]
- events:
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '679,150,000', proofSize: '6,196' }}}
- - name: balances.Endowed
- result: {
- account: *pp_sovereign_sibl,
- freeBalance: *amount
- }
-
- - name: polkadotXcm.send( assets.forceCreateAsset ) | Penpal Parachain -> Assets Parachain
- before:
- - name: Get the asset balance of the Penpal Parachain Sovereign account in Assets Parachain
- actions:
- - queries:
- assets_balance_pp_sovereign_before:
- chain: *assets_parachain
- pallet: assets
- call: account
- args: [
- *asset_id,
- *pp_sovereign_sibl
- ]
- its:
- - name: Penpal Parachain should be able to send XCM message paying its fee with sufficient asset in Assets Parachain
- actions:
- - extrinsics:
- - chain: *penpal_parachain
- signer: *pp_signer
- sudo: true
- pallet: polkadotXcm
- call: send
- args: [
- *ap_dest_routed, # destination
- {
- v3: [ #message
- {
- WithdrawAsset: [
- {
- id: {
- concrete: {
- parents: 0,
- interior: {
- X2: [
- { PalletInstance: *assets_pallet_id },
- { GeneralIndex: *asset_id }
- ]
- }
- }
- },
- fun: { fungible: *amount_to_send }}
- ]
- },
- {
- BuyExecution: {
- fees: { id: *suff_asset, fun: { fungible: *amount_to_send }},
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: SovereignAccount,
- requireWeightAtMost: *weight_at_most,
- call: $force_create_asset2
- }
- },
- {
- RefundSurplus
- },
- {
- DepositAsset: {
- assets: { Wild: All },
- beneficiary: {
- parents: 0,
- interior: {
- X1: {
- AccountId32: {
- network: , # None
- id: *pp_acc
- }
- }
- }}
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: polkadotXcm.Sent
- - name: assets.Burned
- chain: *assets_parachain
- result: { assetId: *asset_id, owner: *pp_sovereign_sibl }
- - name: assets.Issued
- chain: *assets_parachain
- result: { assetId: *asset_id }
- - queries:
- assets_balance_pp_sovereign_after:
- chain: *assets_parachain
- pallet: assets
- call: account
- args: [
- *asset_id,
- *pp_sovereign_sibl
- ]
- forced_created_asset2:
- chain: *assets_parachain
- pallet: assets
- call: asset
- args: [ 3 ]
- - asserts:
- isSome:
- args: [ $forced_created_asset2 ]
- - name: Should reduce the assets balance of the Penpal Parachain's SovereignAccount in the Assets Parachain
- actions:
- - asserts:
- assetsDecreased:
- args: [
- {
- balances: {
- before: $assets_balance_pp_sovereign_before,
- after: $assets_balance_pp_sovereign_after,
- },
- }
- ]
-
- - name: Penpal Parachain SHOULD NOT be able to send XCM message paying its fee with sufficient assets if not enough balance
- actions:
- - extrinsics:
- - chain: *penpal_parachain
- signer: *pp_signer
- sudo: true
- pallet: polkadotXcm
- call: send
- args: [
- *ap_dest_routed, # destination
- {
- v3: [ #message
- {
- WithdrawAsset: [*ap_suff_asset_fungible_fail]
- },
- {
- BuyExecution: {
- fees: *ap_suff_asset_fungible_fail,
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: SovereignAccount,
- requireWeightAtMost: *weight_at_most,
- call: $force_create_asset2
- }
- }
- ]
- }
- ]
- events:
- - name: xcmpQueue.Fail
- chain: *assets_parachain
- threshold: *weight_threshold
- result: {
- error: FailedToTransactAsset,
- weight: { refTime: '152,426,000', proofSize: '3,593' }
- }
diff --git a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/config.toml b/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/config.toml
deleted file mode 100644
index da53cd0ad4f23d5405b0c372d5531022dcd8bd2a..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/assets/asset-hub-polkadot/config.toml
+++ /dev/null
@@ -1,72 +0,0 @@
-[relaychain]
-default_command = "./bin/polkadot"
-default_args = [ "-lparachain=debug", "-lxcm=trace" ]
-chain = "polkadot-local"
-
- [[relaychain.nodes]]
- name = "alice"
- ws_port = 9800
- validator = true
- args = ["--state-cache-size=0"]
-
- [[relaychain.nodes]]
- name = "bob"
- ws_port = 9801
- validator = true
-
- [[relaychain.nodes]]
- name = "charlie"
- ws_port = 9802
- validator = true
-
- [[relaychain.nodes]]
- name = "dave"
- ws_port = 9803
- validator = true
-
-[[parachains]]
-id = 1000
-chain = "asset-hub-polkadot-local"
-cumulus_based = true
-
- [[parachains.collators]]
- name = "collator1"
- ws_port = 9810
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace", "--state-cache-size=0" ]
-
- [[parachains.collators]]
- name = "collator2"
- ws_port = 9811
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace" ]
-
-
-[[parachains]]
-id = 2000
-chain = "penpal-polkadot-2000"
-cumulus_based = true
-
- [[parachains.collators]]
- name = "collator3"
- ws_port = 9820
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace", "--state-cache-size=0" ]
-
- [[parachains.collators]]
- name = "collator4"
- ws_port = 9821
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace" ]
-
-# [[hrmpChannels]]
-# sender = 1000
-# recipient = 2000
-# maxCapacity = 8
-# maxMessageSize = 8192
-
-# [[hrmpChannels]]
-# sender = 2000
-# recipient = 1000
-# maxCapacity = 8
-# maxMessageSize = 8192
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/README.md b/cumulus/parachains/integration-tests/e2e/collectives/README.md
deleted file mode 100644
index 9c4efe7c9504835814e1a693dd8d57710da1bc3b..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/README.md
+++ /dev/null
@@ -1,26 +0,0 @@
-E2E tests concerning Polkadot Governance and the Collectives Parachain. The tests run by the Parachain Integration Tests
-[tool](https://github.com/paritytech/parachains-integration-tests/).
-
-# Requirements
-The tests require some changes to the regular production runtime builds:
-
-## RelayChain runtime
-1. Alice has SUDO
-2. Public Referenda `StakingAdmin`, `FellowshipAdmin` tracks settings (see the corresponding keys of the `TRACKS_DATA`
- constant in the `governance::tracks` module of the Relay Chain runtime crate):
-``` yaml
-prepare_period: 5 Block,
-decision_period: 1 Block,
-confirm_period: 1 Block,
-min_enactment_period: 1 Block,
-```
-
-## Collectives runtime
-1. Fellowship Referenda `Fellows` track settings (see the corresponding key of the `TRACKS_DATA` constant in the
- `fellowship::tracks` module of the Collectives runtime crate):
-``` yaml
-prepare_period: 5 Block,
-decision_period: 1 Block,
-confirm_period: 1 Block,
-min_enactment_period: 1 Block,
-```
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/0_init.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/0_init.yml
deleted file mode 100644
index 33f4d603e2a74b1275186fd5f237099d0c531648..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/0_init.yml
+++ /dev/null
@@ -1,166 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- assethub_parachain: &assethub_parachain
- wsPort: 9810
- paraId: &sp_id 1000
- variables:
- xcm_version: &xcm_version 3
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
- decodedCalls:
- ap_force_xcm_version:
- chain: *collectives_parachain
- pallet: polkadotXcm
- call: forceXcmVersion
- args: [
- { # location
- parents: 1,
- interior: Here
- },
- *xcm_version
- ]
-
-tests:
- - name: Initialize Chains
- its:
- - name: XCM supported versions between chains
- actions:
- - extrinsics: # Relay Chain sets supported version for Collectives Parachain
- - chain: *relay_chain
- sudo: true
- signer: *alice_signer
- pallet: xcmPallet
- call: forceXcmVersion
- args: [
- { # location
- parents: 0,
- interior: {
- X1: {
- Parachain: *cp_id
- }
- }
- },
- *xcm_version
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.SupportedVersionChanged
- result: { location: { parents: 0, interior: { X1: { Parachain: *cp_id }}}, version: *xcm_version }
- - extrinsics: # Collectives Parachain sets supported version for Relay Chain through it
- - chain: *relay_chain
- signer: *alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination
- {
- v3: [ # message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 2200000000, # 2_200_000_000
- proofSize: 200000, # 200_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 200000000, # 200_000_000
- proofSize: 0,
- },
- call: $ap_force_xcm_version
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- - name: polkadotXcm.SupportedVersionChanged
- chain: *collectives_parachain
- result: { location: { parents: 1, interior: Here }, version: *xcm_version }
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '2,200,000,000', proofSize: 0 }}}
- - extrinsics: # Relay Chain sets supported version for AssetHub Parachain
- - chain: *relay_chain
- sudo: true
- signer: *alice_signer
- pallet: xcmPallet
- call: forceXcmVersion
- args: [
- { # location
- parents: 0,
- interior: {
- X1: {
- Parachain: *sp_id
- }
- }
- },
- *xcm_version
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.SupportedVersionChanged
- result: { location: { parents: 0, interior: { X1: { Parachain: *sp_id } } }, version: *xcm_version }
- - extrinsics: # AssetHub Parachain sets supported version for Relay Chain through it
- - chain: *relay_chain
- signer: *alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { 0, interior: { x1: { parachain: *sp_id }}}}, # destination
- {
- v3: [ # message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 2200000000, # 2_200_000_000
- proofSize: 200000, # 200_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 200000000, # 200_000_000
- proofSize: 0,
- },
- call: $ap_force_xcm_version
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- - name: polkadotXcm.SupportedVersionChanged
- chain: *assethub_parachain
- result: { location: { parents: 1, interior: Here }, version: *xcm_version }
- - name: dmpQueue.ExecutedDownward
- chain: *assethub_parachain
- result: { outcome: { Complete: {} } }
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/1_teleport.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/1_teleport.yml
deleted file mode 100644
index cda04859b195a6158f7ca97a0d34721d3287de76..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/1_teleport.yml
+++ /dev/null
@@ -1,168 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- variables:
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- accounts:
- alice_signer: &acc_alice_signer //Alice
- alice_account32: &acc_alice_acc32 '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- alice_ss58: &acc_alice_ss58 '15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5'
- checking_account: &checking_account '13UVJyLnbVp9x5XDyJv8g8r3UddNwBrdaH7AADCmw9XQWvYW'
-
-tests:
- - name: Teleport assets from Relay Chain to Collectives Parachain successful.
- before:
- - name: Get the Alice balances on Relay & Collectives Chains.
- actions:
- - queries:
- balance_rc_alice_1:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- balance_cp_alice_1:
- chain: *collectives_parachain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- its:
- - name: Teleport assets from Relay Chain to Collectives Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *acc_alice_signer
- pallet: xcmPallet
- call: teleportAssets
- args: [
- { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination
- { v3: { parents: 0, interior: { x1: { accountId32: { id: *acc_alice_acc32 }}}}}, # beneficiary
- {
- v3: [
- # {
- # # TODO use a separate Assets to pay a fee, to receive an exact amount of assets on beneficiary account.
- # # a call with two assets fails with an error right now.
- # id: { concrete: { 0, interior: { here: true }}},
- # fun: { fungible: 1000000000000 } # 1_000_000_000_000
- # },
- {
- id: { concrete: { 0, interior: { here: true }}},
- fun: { fungible: 20000000000000 } # 20_000_000_000_000
- }
- ]
- }, # assets
- 0, # feeAssetItem
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '4,000,000,000', proofSize: 0 }}}
- - queries:
- balance_rc_alice_2:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- balance_cp_alice_2:
- chain: *collectives_parachain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- - name: Alice deposit check, balance decreased on Relay Chain, increased on Collectives.
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_rc_alice_1,
- after: $balance_rc_alice_2,
- }
- }
- ]
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_cp_alice_1,
- after: $balance_cp_alice_2,
- }
- }
- ]
-
- - name: Teleport assets from Collectives Parachain to Relay Chain successful
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *acc_alice_signer
- pallet: polkadotXcm
- call: teleportAssets
- args: [
- { v3: { parents: 1, interior: { here: true }}}, # destination
- { v3: { parents: 0, interior: { x1: { accountId32: { id: *acc_alice_acc32 }}}}}, # beneficiary
- {
- v3: [
- {
- id: { concrete: { parents: 1, interior: { here: true }}},
- fun: { fungible: 10000000000000 } # 10_000_000_000_000
- }
- ]
- }, # assets
- 0, # feeAssetItem
- ]
- events:
- - name: balances.Withdraw
- result: { who: *acc_alice_ss58, amount: 10000000000000 }
- - name: polkadotXcm.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: 0 }}}
- - name: balances.Withdraw
- chain: *relay_chain
- result: { who: *checking_account, amount: 10000000000000 } # amount received and withdrawn from registry account
- - name: messageQueue.Processed
- chain: *relay_chain
- threshold: *weight_threshold
- result: { origin: { Ump: { Para: *cp_id } }, weightUsed: { refTime: '4,000,000,000', proofSize: '0' }, success: true }
- - queries:
- balance_rc_alice_3:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- balance_cp_alice_3:
- chain: *collectives_parachain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
-
- - name: Alice deposit check, balance decreased on Collectives, increased on Relay Chain.
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_cp_alice_2,
- after: $balance_cp_alice_3,
- }
- }
- ]
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_rc_alice_2,
- after: $balance_rc_alice_3,
- }
- }
- ]
-# TODO (P2) assert Alice balance before and after teleport (see example in kick_member test)
-# TODO (P1) test: teleport of non relay chain assets fails
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/2_reserve.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/2_reserve.yml
deleted file mode 100644
index bd17f07524a2ddff5e26fe06057fa7dbd5a288be..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/2_reserve.yml
+++ /dev/null
@@ -1,53 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- variables:
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
- alice_account32: &alice_acc32 '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
-
-tests:
- - name: Reserve assets from Relay Chain to Collectives Parachain fails
- its:
- - name: Reserve assets from Relay Chain to Collectives Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: xcmPallet
- call: reserveTransferAssets
- args: [
- { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination
- { v3: { parents: 0, interior: { x1: { accountId32: { id: *alice_acc32 }}}}}, # beneficiary
- {
- v3: [
- {
- id: { concrete: { 0, interior: { here: true }}},
- fun: { fungible: 20000000000000 } # 20_000_000_000_000
- }
- ]
- }, # assets
- 0, # feeAssetItem
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '2,000,000,000', proofSize: 0 }}}
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: {
- outcome: {
- Incomplete: [
- { refTime: '1,000,000,000', proofSize: 0 },
- UntrustedReserveLocation
- ]
- }
- }
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/3_hrmp-open-channels.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/3_hrmp-open-channels.yml
deleted file mode 100644
index 17a16d9ccd7da8e0d7fc53973987bb0ed117705b..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/0_xcm/3_hrmp-open-channels.yml
+++ /dev/null
@@ -1,69 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- assethub_parachain: &assethub_parachain
- wsPort: 9810
- paraId: &sp_id 1000
- variables:
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
- hrmp:
- proposed_max_capacity: &hrmp_proposed_max_capacity 8
- proposed_max_message_size: &hrmp_proposed_max_message_size 8192
-tests:
- - name: HRMP
- describes:
- - name: Force Open HRMP Channel From Collectives Parachain → AssetHub Parachain
- its:
- - name: Alice calls hrmp.forceOpenHrmpChannel
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- sudo: true
- pallet: hrmp
- call: forceOpenHrmpChannel
- args: [
- *cp_id, # sender
- *sp_id, # recipient
- *hrmp_proposed_max_capacity, # proposedMaxCapacity
- *hrmp_proposed_max_message_size # proposedMaxMessageSize
- ]
- events:
- - name: hrmp.HrmpChannelForceOpened
- result: {
- sender: *cp_id,
- recipient: *sp_id,
- proposed_max_capacity: *hrmp_proposed_max_capacity,
- proposed_max_message_size: *hrmp_proposed_max_message_size
- }
- - name: Force Open HRMP Channel From AssetHub Parachain → Collectives Parachain
- its:
- - name: Alice calls hrmp.forceOpenHrmpChannel
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- sudo: true
- pallet: hrmp
- call: forceOpenHrmpChannel
- args: [
- *sp_id, # sender
- *cp_id, # recipient
- *hrmp_proposed_max_capacity, # proposedMaxCapacity
- *hrmp_proposed_max_message_size # proposedMaxMessageSize
- ]
- events:
- - name: hrmp.HrmpChannelForceOpened
- result: {
- sender: *sp_id,
- recipient: *cp_id,
- proposed_max_capacity: *hrmp_proposed_max_capacity,
- proposed_max_message_size: *hrmp_proposed_max_message_size
- }
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/0_join_alliance_fails.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/0_join_alliance_fails.yml
deleted file mode 100644
index 9aff8b1db1023ec8bb011d60d2eaf2dd76886f5f..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/0_join_alliance_fails.yml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-settings:
- chains:
- relay_chain:
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- variables:
- accounts:
- alice_signer: &alice_signer //Alice
-
-tests:
- - name: Alice fails to join an the Alliance, since it is not initialized yet.
- its:
- - name: Alice joins alliance
- actions:
- - extrinsics: # Relay Chain sets supported version for Asset Parachain
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: alliance
- call: joinAlliance
- args: []
- events:
- - name: system.ExtrinsicFailed
- result: {
- dispatchError: { Module: { index: 50, error: '0x00000000' }}
- }
- # TODO assert with Alliance Error variant - alliance.AllianceNotYetInitialized
- # issue - https://github.com/paritytech/parachains-integration-tests/issues/59
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/1_init_alliance.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/1_init_alliance.yml
deleted file mode 100644
index 1e01c701744a82cfb6ff1ad716bd1bcb91351108..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/1_init_alliance.yml
+++ /dev/null
@@ -1,256 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &coll_para_id 1001
- variables:
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- accounts:
- alice_signer: &acc_alice_signer //Alice
- liam_account32: &acc_liam_acc32 "0x3614671a5de540d891eb8c4939c8153a4aa790602b347c18177b86d0fc546221" # //Liam
- olivia_account32: &acc_olivia_acc32 "0x24ee8a659c6716fe9f7cb4e9e028602aa12867654ca02737da9171b7ff697d5c" # //Olivia
- noah_account32: &acc_noah_acc32 "0x9c6ad3bc3aa2f1b2e837898e6da9980445f7ef8b3eee0b8c8e305f8cfae68517" # //Noah
- emma_account32: &acc_emma_acc32 "0x8ac272b333ba1127c8db57fa777ec820b24598a236efa648caf0d26d86f64572" # //Emma
- james_account32: &acc_james_acc32 "0x9a52805151a0b5effc084af9264011139872a21a3950cb9ae0b2955c4bf92c18" # //James
- ava_account32: &acc_ava_acc32 "0x348ef0b8776adbc09c862ddc29b1d193b9e24738e54eea3b0609c83856dc101c" # //Ava
- mia_account32: &acc_mia_acc32 "0xaebf15374cf7e758d10232514c569a7abf81cc1b8f1e81a73dbc608a0e335264" # //Mia
- decodedCalls:
- init_alliance_members:
- chain: *collectives_parachain
- pallet: alliance
- call: initMembers
- args: [
- [
- *acc_liam_acc32,
- *acc_olivia_acc32,
- *acc_noah_acc32,
- *acc_emma_acc32,
- *acc_james_acc32,
- *acc_ava_acc32
- ],
- [
- *acc_mia_acc32
- ]
- ]
- init_alliance_voting_members:
- chain: *collectives_parachain
- pallet: alliance
- call: initMembers
- args: [
- [
- *acc_liam_acc32,
- *acc_olivia_acc32,
- *acc_noah_acc32,
- *acc_emma_acc32,
- *acc_james_acc32,
- *acc_ava_acc32,
- *acc_mia_acc32
- ],
- []
- ]
- disband:
- chain: *collectives_parachain
- pallet: alliance
- call: disband
- args: [
- {
- fellowMembers: 6,
- allyMembers: 1
- }
- ]
-
-tests:
- - name: Alliance initiated with the root call, second init call fails. Alliance disband and set again.
- its:
- - name: Alliance initiated, founders and fellows are set.
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *acc_alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination
- {
- v3: [ # message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 3000000000, # 3_000_000_000
- proofSize: 2000000, # 2_000_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 1000000000, # 1_000_000_000
- proofSize: 1000000, # 1_000_000
- },
- call: $init_alliance_members
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- result: { origin: { parents: 0, interior: Here }, destination: { parents: 0, interior: { X1: { Parachain: *coll_para_id }}}}
- - name: alliance.MembersInitialized
- chain: *collectives_parachain
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: '1,000,000' }}}
-
- - name: Alliance init call fails.
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *acc_alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination
- {
- v3: [ # message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 3000000000, # 3_000_000_000
- proofSize: 2000000, # 2_000_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 1000000000, # 1_000_000_000
- proofSize: 1000000, # 1_000_000
- },
- call: $init_alliance_voting_members
- }
- }
- ]
- }
- ]
- events:
- # TODO can not currently assert variant AllianceAlreadyInitialized, XCM Transact fails silently
- # issue - https://github.com/paritytech/polkadot/issues/4623
- # Next test with a disband call will fail, if this call does not fail,
- # since a witness data from a disband call will be invalid.
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- result: { origin: { parents: 0, interior: Here }, destination: { parents: 0, interior: { X1: { Parachain: *coll_para_id }}}}
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: '1,000,000' }}}
-
- - name: Alliance disbanded and initialized again.
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *acc_alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination
- {
- v3: [ # message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 5000000000, # 3_000_000_000
- proofSize: 1000000, # 1_000_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 3000000000, # 3_000_000_000
- proofSize: 200000, # 200_000
- },
- call: $disband
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- result: { origin: { parents: 0, interior: Here }, destination: { parents: 0, interior: { X1: { Parachain: *coll_para_id }}}}
- - name: alliance.AllianceDisbanded
- chain: *collectives_parachain
- result: { fellowMembers: 6, allyMembers: 1, unreserved: 0 }
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,321,495,872', proofSize: '181,779' }}}
- - name: Alliance initiated, founders and fellows are set.
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *acc_alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *coll_para_id }}}}, # destination
- {
- v3: [ # message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 3000000000, # 3_000_000_000
- proofSize: 2000000, # 2_000_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 1000000000, # 1_000_000_000
- proofSize: 1000000, # 1_000_000
- },
- call: $init_alliance_members
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- result: { origin: { parents: 0, interior: Here }, destination: { parents: 0, interior: { X1: { Parachain: *coll_para_id }}}}
- - name: alliance.MembersInitialized
- chain: *collectives_parachain
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: { outcome: { Complete: { refTime: '3,000,000,000', proofSize: '1,000,000' }}}
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/2_join_alliance_fails.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/2_join_alliance_fails.yml
deleted file mode 100644
index 2afdadae60224f67b5aede4798bc8c48387b6336..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/2_join_alliance_fails.yml
+++ /dev/null
@@ -1,30 +0,0 @@
----
-settings:
- chains:
- relay_chain:
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: 1001
- variables:
- accounts:
- liam_signer: &acc_liam_signer //Liam
-
-tests:
- - name: Liam fails to join an the Alliance, Liam is already a member.
- its:
- - name: Alice joins alliance
- actions:
- - extrinsics: # Relay Chain sets supported version for Asset Parachain
- - chain: *collectives_parachain
- signer: *acc_liam_signer
- pallet: alliance
- call: joinAlliance
- args: []
- events:
- - name: system.ExtrinsicFailed
- result: {
- dispatchError: { Module: { index: 50, error: '0x02000000' }}
- }
- # TODO assert with Alliance Error variant - alliance.AllianceNotYetInitialized
- # issue - https://github.com/paritytech/parachains-integration-tests/issues/59
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/3_kick_member.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/3_kick_member.yml
deleted file mode 100644
index a5941cb47234ee2866a095feb7198ed7b88f6860..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/1_alliance/3_kick_member.yml
+++ /dev/null
@@ -1,175 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- variables:
- weight_threshold: &weight_threshold { refTime: [10, 10], proofSize: [10, 10] }
- init_teleport_amount: &init_teleport_amount 20000000000000 # 20_000_000_000_000
- accounts:
- alice_signer: &acc_alice_signer //Alice
- treasury_account32: &acc_treasury_acc32 '0x6d6f646c70792f74727372790000000000000000000000000000000000000000'
- alice_account32: &acc_alice_acc32 '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- alice_ss58: &acc_alice_ss58 '15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5'
- decodedCalls:
- alliance_kick_member:
- chain: *collectives_parachain
- pallet: alliance
- call: kickMember
- args: [
- {Id: *acc_alice_acc32}
- ]
-
-tests:
- - name: Member kicked out, deposited assets slashed and teleported to Relay Chain treasury.
- before:
- - name: DEPENDENCY | Do a 'limitedTeleportAssets' from the Relay Chain to the Collectives Parachain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *acc_alice_signer
- pallet: xcmPallet
- call: limitedTeleportAssets
- args: [
- { v3: { 0, interior: { x1: { parachain: *cp_id }}}}, # destination
- { v3: { parents: 0, interior: { x1: { accountId32: { id: *acc_alice_acc32 }}}}}, # beneficiary
- { v3: [ { id: { concrete: { 0, interior: { here: true }}}, fun: { fungible: *init_teleport_amount }} ] }, # assets
- 0, # feeAssetItem
- { unlimited: true } # weightLimit
- ]
- events:
- - name: xcmPallet.Attempted
- threshold: *weight_threshold
- result: {
- outcome: { Complete: { refTime: '3,000,000,000', proofSize: 0 }}
- }
- - name: balances.Deposit
- chain: *collectives_parachain
- result: { who: *acc_alice_ss58 }
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: {
- outcome: { Complete: { refTime: '4,000,000,000', proofSize: 0 }}
- }
- - name: Get the balances of the Relay Chain's treasury & Collectives parachain's future alliance member
- actions:
- - queries:
- balance_rc_treasury_before:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *acc_treasury_acc32 ]
- balance_cp_alice_before:
- chain: *collectives_parachain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- its:
- - name: Alice joins alliance
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *acc_alice_signer
- pallet: alliance
- call: joinAlliance
- args: []
- events:
- - name: balances.Reserved
- chain: *collectives_parachain
- result: { who: *acc_alice_ss58, amount: 10000000000000 }
- - name: alliance.NewAllyJoined
- result: {ally: *acc_alice_ss58, reserved: 10000000000000 }
- - queries:
- balance_cp_alice_after:
- chain: *collectives_parachain
- pallet: system
- call: account
- args: [ *acc_alice_acc32 ]
- - name: Alice deposit check, balance decreased
- actions:
- - asserts:
- balanceDecreased:
- args: [
- {
- balances: {
- before: $balance_cp_alice_before,
- after: $balance_cp_alice_after,
- }
- # TODO (P3) set `amount` and `fee` for more strict assert
- }
- ]
- - name: Kick Alice from alliance
- actions:
- - extrinsics: # Asset Parachain sets supported version for Relay Chain through it
- - chain: *relay_chain
- signer: *acc_alice_signer
- sudo: true
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *cp_id }}}}, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: {
- limited: {
- refTime: 4000000000, # 4_000_000_000
- proofSize: 2000000, # 2_000_000
- },
- }
- }
- },
- {
- Transact: {
- originKind: Superuser,
- requireWeightAtMost: {
- refTime: 2000000000, # 2_000_000_000
- proofSize: 1000000, # 1_000_000
- },
- call: $alliance_kick_member
- }
- }
- ]
- }
- ]
- events:
- - name: sudo.Sudid
- result: { sudoResult: Ok }
- - name: xcmPallet.Sent
- result: { origin: { parents: 0, interior: Here }, destination: { parents: 0, interior: { X1: { Parachain: *cp_id }}}}
- - name: alliance.MemberKicked
- chain: *collectives_parachain
- result: { member: *acc_alice_ss58, slashed: 10000000000000 }
- - name: dmpQueue.ExecutedDownward
- chain: *collectives_parachain
- threshold: *weight_threshold
- result: {
- outcome: { Complete: { refTime: '4,000,000,000', proofSize: '1,000,000' }}
- }
- - name: messageQueue.Processed
- result: { origin: { Ump: { Para: *cp_id }}, success: true }
-
- - queries:
- balance_rc_treasury_after:
- chain: *relay_chain
- pallet: system
- call: account
- args: [ *acc_treasury_acc32 ]
- - name: Slashed balance appears on the relay chain treasury account
- actions:
- - asserts:
- balanceIncreased:
- args: [
- {
- balances: {
- before: $balance_rc_treasury_before,
- after: $balance_rc_treasury_after,
- }
- # TODO (P3) set `amount` and `fee` for more strict assert
- }
- ]
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/2_opengov/0_assethub.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/2_opengov/0_assethub.yml
deleted file mode 100644
index c53efff51fbfb218bd8bf57d4876084bbaccb30d..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/2_opengov/0_assethub.yml
+++ /dev/null
@@ -1,149 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- assethub_parachain: &assethub_parachain
- wsPort: 9810
- paraId: &ap_id 1000
- variables:
- proposal_index: &proposal_index 0
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
- bob_signer: &bob_signer //Bob
- decodedCalls:
- set_candidates_ap:
- chain: *assethub_parachain
- encode: true
- pallet: collatorSelection
- call: setDesiredCandidates
- args: [
- 3
- ]
- send_set_candidates_rc:
- chain: *relay_chain
- encode: false
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *ap_id }}}}, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 200000000, # 200_000_000
- proofSize: 100000, # 100_000
- },
- call: $set_candidates_ap
- }
- }
- ]
- }
- ]
-tests:
- - name: OpenGov
- describes:
- - name: Set desired candidates on AssetHub from Relay Chain OpenGov Staking track
- its:
- - name: Note preimage from xcm send set_desired_candidates call
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: preimage
- call: notePreimage
- args: [
- $send_set_candidates_rc
- ]
- events:
- - name: preimage.Noted
- result: {hash_: $send_set_candidates_rc.hash }
- - name: Submit a proposal to set desired candidates
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: referenda
- call: submit
- args: [
- {
- "Origins": "StakingAdmin",
- },
- {
- "Lookup": {
- "hash_": $send_set_candidates_rc.hash,
- "len": $send_set_candidates_rc.len,
- },
- },
- {
- "After": 1,
- },
- ]
- events:
- - name: referenda.Submitted
- result: {
- index: *proposal_index,
- proposal: { Lookup: { hash_: $send_set_candidates_rc.hash, len: $send_set_candidates_rc.len }}
- }
- - name: Alice Vote Aye
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: convictionVoting
- call: vote
- args: [
- *proposal_index,
- {
- "Standard": {
- "vote": {
- "aye": true,
- "conviction": "Locked1x",
- },
- "balance": 200000000000000,
- }
- },
- ] # TODO no event to catch https://github.com/paritytech/substrate/issues/14687
- - name: Bob Vote Aye
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *bob_signer
- pallet: convictionVoting
- call: vote
- args: [
- *proposal_index,
- {
- "Standard": {
- "vote": {
- "aye": true,
- "conviction": "Locked1x",
- },
- "balance": 200000000000000,
- }
- },
- ] # TODO no event to catch https://github.com/paritytech/substrate/issues/14687
- - name: Submit the decision deposit
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: referenda
- call: placeDecisionDeposit
- args: [
- *proposal_index,
- ]
- events:
- - name: referenda.DecisionDepositPlaced
- result: { index: *proposal_index }
- - name: collatorSelection.NewDesiredCandidates
- chain: *assethub_parachain
- result: { desiredCandidates: 3 }
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/0_init.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/0_init.yml
deleted file mode 100644
index 1e4b2dabe21178d3b7c1bd6087c9015665ae93e0..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/0_init.yml
+++ /dev/null
@@ -1,209 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- variables:
- proposal_index: &proposal_index 1
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
- bob_signer: &bob_signer //Bob
- alice_account32: &acc_alice_acc32 '0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d'
- alice_ss58: &acc_alice_ss58 '15oF4uVJwmo4TdGW7VfQxNLavjCXviqxT9S1MgbjMNHr6Sp5'
- decodedCalls:
- fellowship_induct_alice_cp:
- chain: *collectives_parachain
- encode: true
- pallet: fellowshipCore
- call: induct
- args: [
- *acc_alice_acc32
- ]
- fellowship_promote_1_alice_cp:
- chain: *collectives_parachain
- encode: true
- pallet: fellowshipCore
- call: promote
- args: [
- *acc_alice_acc32,
- 1
- ]
- fellowship_promote_2_alice_cp:
- chain: *collectives_parachain
- encode: true
- pallet: fellowshipCore
- call: promote
- args: [
- *acc_alice_acc32,
- 2
- ]
- fellowship_promote_3_alice_cp:
- chain: *collectives_parachain
- encode: true
- pallet: fellowshipCore
- call: promote
- args: [
- *acc_alice_acc32,
- 3
- ]
- send_init_fellowship_rc:
- chain: *relay_chain
- encode: false
- pallet: xcmPallet
- call: send
- args: [
- { v3: { parents: 0, interior: { x1: { parachain: *cp_id }}}}, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- { # since batch_all not yet allowed over xcm, we have to send multiple `Transact`.
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 1500000000, # 1_500_000_000
- proofSize: 10000, # 10_000
- },
- call: $fellowship_induct_alice_cp
- }
- },
- {
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 1500000000, # 1_500_000_000
- proofSize: 10000, # 10_000
- },
- call: $fellowship_promote_1_alice_cp
- }
- },
- {
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 1500000000, # 1_500_000_000
- proofSize: 10000, # 10_000
- },
- call: $fellowship_promote_2_alice_cp
- }
- },
- {
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 1500000000, # 1_500_000_000
- proofSize: 10000, # 10_000
- },
- call: $fellowship_promote_3_alice_cp
- }
- }
- ]
- }
- ]
-
-tests:
- - name: Fellowship
- describes:
- - name: Init the Fellowship
- its:
- - name: Note preimage from init fellowship call
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: preimage
- call: notePreimage
- args: [
- $send_init_fellowship_rc
- ]
- events:
- - name: preimage.Noted
- result: { hash_: $send_init_fellowship_rc.hash }
- - name: Submit a proposal to init the Fellowship
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: referenda
- call: submit
- args: [
- {
- "Origins": "FellowshipAdmin",
- },
- {
- "Lookup": {
- "hash_": $send_init_fellowship_rc.hash,
- "len": $send_init_fellowship_rc.len,
- },
- },
- {
- "After": 1,
- },
- ]
- events:
- - name: referenda.Submitted
- result: {
- index: *proposal_index,
- proposal: { Lookup: { hash_: $send_init_fellowship_rc.hash, len: $send_init_fellowship_rc.len }}
- }
- - name: Alice Vote Aye
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: convictionVoting
- call: vote
- args: [
- *proposal_index,
- {
- "Standard": {
- "vote": {
- "aye": true,
- "conviction": "Locked1x",
- },
- "balance": 200000000000000,
- }
- },
- ] # TODO no Aye event to catch https://github.com/paritytech/substrate/issues/14687
- - name: Bob Vote Aye
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *bob_signer
- pallet: convictionVoting
- call: vote
- args: [
- *proposal_index,
- {
- "Standard": {
- "vote": {
- "aye": true,
- "conviction": "Locked1x",
- },
- "balance": 200000000000000,
- }
- },
- ] # TODO no Aye event to catch https://github.com/paritytech/substrate/issues/14687
- - name: Submit the decision deposit
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: referenda
- call: placeDecisionDeposit
- args: [
- *proposal_index,
- ]
- events:
- - name: referenda.DecisionDepositPlaced
- result: { index: *proposal_index }
- - name: fellowshipCollective.MemberAdded
- chain: *collectives_parachain
- result: { who: *acc_alice_ss58 }
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/1_whitelist_call.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/1_whitelist_call.yml
deleted file mode 100644
index 5991c7ae2f8a2d44c87ab7d4bf8d8501b790f254..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/1_whitelist_call.yml
+++ /dev/null
@@ -1,146 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- variables:
- fellows_proposal_index: &fellows_proposal_index 0
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
- decodedCalls:
- remark_rc:
- chain: *relay_chain
- encode: false
- pallet: system
- call: remark
- args: [
- "0x10"
- ]
- whitelist_remark_rc:
- chain: *relay_chain
- encode: true
- pallet: whitelist
- call: whitelistCall
- args: [
- $remark_rc.hash
- ]
- send_whitelist_remark_cp:
- chain: *collectives_parachain
- encode: false
- pallet: polkadotXcm
- call: send
- args: [
- { v3: { parents: 1, interior: { here: true }}}, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 500000000, # 500_000_000
- proofSize: 20000, # 20_000
- },
- call: $whitelist_remark_rc
- }
- }
- ]
- }
- ]
-
-tests:
- - name: Fellowship
- describes:
- - name: The Fellowship white list the call
- its:
- - name: Note preimage from the whitelist call on the Relay Chain
- actions:
- - extrinsics:
- - chain: *relay_chain
- signer: *alice_signer
- pallet: preimage
- call: notePreimage
- args: [
- $remark_rc
- ]
- events:
- - name: preimage.Noted
- result: { hash_: $remark_rc.hash }
- - name: Note preimage from the xcm send call to white list the call above
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: preimage
- call: notePreimage
- args: [
- $send_whitelist_remark_cp,
- ]
- events:
- - name: preimage.Noted
- result: { hash_: $send_whitelist_remark_cp.hash }
- - name: Submit a proposal to while list the call
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: fellowshipReferenda
- call: submit
- args: [
- {
- "FellowshipOrigins": "Fellows",
- },
- {
- "Lookup": {
- "hash_": $send_whitelist_remark_cp.hash,
- "len": $send_whitelist_remark_cp.len,
- },
- },
- {
- "After": 1,
- },
- ]
- events:
- - name: fellowshipReferenda.Submitted
- result: {
- index: *fellows_proposal_index,
- proposal: { Lookup: { hash_: $send_whitelist_remark_cp.hash, len: $send_whitelist_remark_cp.len}}
- }
- - name: Vote Aye
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: fellowshipCollective
- call: vote
- args: [
- *fellows_proposal_index,
- true,
- ]
- events:
- - name: fellowshipCollective.Voted
- result: { poll: *fellows_proposal_index, vote: { Aye: 1 } }
- - name: Submit the decision deposit
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: fellowshipReferenda
- call: placeDecisionDeposit
- args: [
- *fellows_proposal_index,
- ]
- events:
- - name: fellowshipReferenda.DecisionDepositPlaced
- result: {index: *fellows_proposal_index}
- - name: whitelist.CallWhitelisted
- chain: *relay_chain
- result: { callHash: $remark_rc.hash }
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/2_assethub.yml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/2_assethub.yml
deleted file mode 100644
index c0805594808cfe6cc900080953122f12174ad528..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/3_fellowship/2_assethub.yml
+++ /dev/null
@@ -1,126 +0,0 @@
----
-settings:
- chains:
- relay_chain: &relay_chain
- wsPort: 9700
- collectives_parachain: &collectives_parachain
- wsPort: 9710
- paraId: &cp_id 1001
- assethub_parachain: &assethub_parachain
- wsPort: 9810
- paraId: &ap_id 1000
- variables:
- fellows_proposal_index: &fellows_proposal_index 1
- chains:
- accounts:
- alice_signer: &alice_signer //Alice
-
- decodedCalls:
- xcmp_resume_execution_ap:
- chain: *assethub_parachain
- encode: true
- pallet: xcmpQueue
- call: resumeXcmExecution
- args: []
- send_xcmp_resume_execution_cp:
- chain: *collectives_parachain
- encode: false
- pallet: polkadotXcm
- call: send
- args: [
- { v3: { parents: 1, interior: { x1: { parachain: *ap_id }}}}, # destination
- {
- v3: [ #message
- {
- UnpaidExecution: {
- weightLimit: Unlimited
- }
- },
- {
- Transact: {
- originKind: Xcm,
- requireWeightAtMost: {
- refTime: 300000000, # 300_000_000
- proofSize: 10000, # 10_000
- },
- call: $xcmp_resume_execution_ap
- }
- }
- ]
- }
- ]
-
-tests:
- - name: Fellowship
- describes:
- - name: The Fellowship resume xcm execution for the xcmp queue on AssetHub
- its:
- - name: Note preimage from the xcm send call to suspend_xcm_execution
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: preimage
- call: notePreimage
- args: [
- $send_xcmp_resume_execution_cp
- ]
- events:
- - name: preimage.Noted
- result: {hash_: $send_xcmp_resume_execution_cp.hash }
- - name: Submit a proposal to resume xcm execution on AssetHub
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: fellowshipReferenda
- call: submit
- args: [
- {
- "FellowshipOrigins": "Fellows",
- },
- {
- "Lookup": {
- "hash_": $send_xcmp_resume_execution_cp.hash,
- "len": $send_xcmp_resume_execution_cp.len,
- },
- },
- {
- "After": 1,
- },
- ]
- events:
- - name: fellowshipReferenda.Submitted
- result: {
- index: 1,
- proposal: {Lookup: {hash_: $send_xcmp_resume_execution_cp.hash, len: $send_xcmp_resume_execution_cp.len}}
- }
- - name: Vote Aye
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: fellowshipCollective
- call: vote
- args: [
- *fellows_proposal_index,
- true,
- ]
- events:
- - name: fellowshipCollective.Voted
- result: { poll: *fellows_proposal_index, vote: { Aye: 1 } }
- - name: Submit the decision deposit
- actions:
- - extrinsics:
- - chain: *collectives_parachain
- signer: *alice_signer
- pallet: fellowshipReferenda
- call: placeDecisionDeposit
- args: [
- *fellows_proposal_index,
- ]
- events:
- - name: fellowshipReferenda.DecisionDepositPlaced
- result: {index: *fellows_proposal_index}
- - name: xcmpQueue.Success
- chain: *assethub_parachain
diff --git a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/config.toml b/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/config.toml
deleted file mode 100644
index 20fda92bd08f5dd067d40e197ee7ea7dd151522b..0000000000000000000000000000000000000000
--- a/cumulus/parachains/integration-tests/e2e/collectives/collectives-polkadot/config.toml
+++ /dev/null
@@ -1,42 +0,0 @@
-[relaychain]
-default_command = "./bin/polkadot"
-default_args = [ "-lparachain=trace", "-lxcm=trace" ]
-chain = "polkadot-local"
-
- [[relaychain.nodes]]
- name = "alice"
- ws_port = 9700
- validator = true
- args = ["--state-cache-size=0"]
-
- [[relaychain.nodes]]
- name = "bob"
- ws_port = 9701
- validator = true
-
- [[relaychain.nodes]]
- name = "charlie"
- ws_port = 9702
- validator = true
-
- [[relaychain.nodes]]
- name = "dave"
- ws_port = 9703
- validator = true
-
-[[parachains]]
-id = 1001
-chain = "collectives-polkadot-local"
-cumulus_based = true
-
- [[parachains.collators]]
- name = "collator1"
- ws_port = 9710
- command = "./bin/polkadot-parachain"
- args = [ "-lxcm=trace", "--state-cache-size=0" ]
-
- [[parachains.collators]]
- name = "collator2"
- ws_port = 9711
- command = "./bin/polkadot-parachain"
- args = ["-lxcm=trace"]
diff --git a/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/genesis.rs b/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/genesis.rs
index 6f5f3923ead9d251fd3f6d0c9903fe29cbc2d7f6..45e1e94de0100bf8a765b22163f519d0a54ced1c 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/genesis.rs
+++ b/cumulus/parachains/integration-tests/emulated/chains/relays/rococo/src/genesis.rs
@@ -16,7 +16,6 @@
// Substrate
use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId;
use grandpa::AuthorityId as GrandpaId;
-use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::{sr25519, storage::Storage};
@@ -38,7 +37,6 @@ const ENDOWMENT: u128 = 1_000_000 * ROC;
fn session_keys(
babe: BabeId,
grandpa: GrandpaId,
- im_online: ImOnlineId,
para_validator: ValidatorId,
para_assignment: AssignmentId,
authority_discovery: AuthorityDiscoveryId,
@@ -47,7 +45,6 @@ fn session_keys(
rococo_runtime::SessionKeys {
babe,
grandpa,
- im_online,
para_validator,
para_assignment,
authority_discovery,
@@ -74,7 +71,6 @@ pub fn genesis() -> Storage {
x.4.clone(),
x.5.clone(),
x.6.clone(),
- x.7.clone(),
get_from_seed::("Alice"),
),
)
diff --git a/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/genesis.rs b/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/genesis.rs
index e87b85881d3cbfcbe61e01c9529c1fb1d48e559f..e2297100a4525e6d26cb469f6f1458023a12b82c 100644
--- a/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/genesis.rs
+++ b/cumulus/parachains/integration-tests/emulated/chains/relays/westend/src/genesis.rs
@@ -16,7 +16,6 @@
// Substrate
use beefy_primitives::ecdsa_crypto::AuthorityId as BeefyId;
use grandpa::AuthorityId as GrandpaId;
-use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::storage::Storage;
@@ -39,7 +38,6 @@ const STASH: u128 = 100 * WND;
fn session_keys(
babe: BabeId,
grandpa: GrandpaId,
- im_online: ImOnlineId,
para_validator: ValidatorId,
para_assignment: AssignmentId,
authority_discovery: AuthorityDiscoveryId,
@@ -48,7 +46,6 @@ fn session_keys(
westend_runtime::SessionKeys {
babe,
grandpa,
- im_online,
para_validator,
para_assignment,
authority_discovery,
@@ -75,7 +72,6 @@ pub fn genesis() -> Storage {
x.4.clone(),
x.5.clone(),
x.6.clone(),
- x.7.clone(),
get_from_seed::("Alice"),
),
)
diff --git a/cumulus/parachains/integration-tests/emulated/common/src/lib.rs b/cumulus/parachains/integration-tests/emulated/common/src/lib.rs
index 27be474ef0f33eb77a769476f275b442a49bcf04..447df83329287c3dc5e9fad7a2a08f99b90848b8 100644
--- a/cumulus/parachains/integration-tests/emulated/common/src/lib.rs
+++ b/cumulus/parachains/integration-tests/emulated/common/src/lib.rs
@@ -21,7 +21,6 @@ pub use xcm_emulator;
// Substrate
use grandpa::AuthorityId as GrandpaId;
-use pallet_im_online::sr25519::AuthorityId as ImOnlineId;
use sp_authority_discovery::AuthorityId as AuthorityDiscoveryId;
use sp_consensus_babe::AuthorityId as BabeId;
use sp_core::{sr25519, storage::Storage, Pair, Public};
@@ -204,7 +203,6 @@ pub mod validators {
AccountId,
BabeId,
GrandpaId,
- ImOnlineId,
ValidatorId,
AssignmentId,
AuthorityDiscoveryId,
diff --git a/cumulus/parachains/pallets/collective-content/src/mock.rs b/cumulus/parachains/pallets/collective-content/src/mock.rs
index 2ae5943f332acf61b60792563b7d3f9b1e808c70..7a752da71fceff211679e4b87428198c52f87e5d 100644
--- a/cumulus/parachains/pallets/collective-content/src/mock.rs
+++ b/cumulus/parachains/pallets/collective-content/src/mock.rs
@@ -18,7 +18,7 @@
pub use crate as pallet_collective_content;
use crate::WeightInfo;
use frame_support::{
- ord_parameter_types, parameter_types,
+ derive_impl, ord_parameter_types, parameter_types,
traits::{ConstU32, ConstU64},
weights::Weight,
};
@@ -55,6 +55,7 @@ impl pallet_collective_content::Config for Test {
type WeightInfo = CCWeightInfo;
}
+#[derive_impl(frame_system::config_preludes::TestDefaultConfig as frame_system::DefaultConfig)]
impl frame_system::Config for Test {
type BaseCallFilter = ();
type BlockWeights = ();
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/Cargo.toml b/cumulus/parachains/runtimes/assets/asset-hub-kusama/Cargo.toml
deleted file mode 100644
index f71499e0c29184b64a7284e411f4ac8876842d58..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/Cargo.toml
+++ /dev/null
@@ -1,236 +0,0 @@
-[package]
-name = "asset-hub-kusama-runtime"
-version = "0.9.420"
-authors.workspace = true
-edition.workspace = true
-description = "Kusama variant of Asset Hub parachain runtime"
-license = "Apache-2.0"
-
-[dependencies]
-codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false, features = ["derive", "max-encoded-len"] }
-hex-literal = { version = "0.4.1" }
-log = { version = "0.4.20", default-features = false }
-scale-info = { version = "2.10.0", default-features = false, features = ["derive"] }
-smallvec = "1.11.0"
-
-# Substrate
-frame-benchmarking = { path = "../../../../../substrate/frame/benchmarking", default-features = false, optional = true}
-frame-executive = { path = "../../../../../substrate/frame/executive", default-features = false}
-frame-support = { path = "../../../../../substrate/frame/support", default-features = false}
-frame-system = { path = "../../../../../substrate/frame/system", default-features = false}
-frame-system-benchmarking = { path = "../../../../../substrate/frame/system/benchmarking", default-features = false, optional = true}
-frame-system-rpc-runtime-api = { path = "../../../../../substrate/frame/system/rpc/runtime-api", default-features = false}
-frame-try-runtime = { path = "../../../../../substrate/frame/try-runtime", default-features = false, optional = true}
-pallet-asset-conversion-tx-payment = { path = "../../../../../substrate/frame/transaction-payment/asset-conversion-tx-payment", default-features = false}
-pallet-assets = { path = "../../../../../substrate/frame/assets", default-features = false}
-pallet-asset-conversion = { path = "../../../../../substrate/frame/asset-conversion", default-features = false}
-pallet-aura = { path = "../../../../../substrate/frame/aura", default-features = false}
-pallet-authorship = { path = "../../../../../substrate/frame/authorship", default-features = false}
-pallet-balances = { path = "../../../../../substrate/frame/balances", default-features = false}
-pallet-multisig = { path = "../../../../../substrate/frame/multisig", default-features = false}
-pallet-nft-fractionalization = { path = "../../../../../substrate/frame/nft-fractionalization", default-features = false}
-pallet-nfts = { path = "../../../../../substrate/frame/nfts", default-features = false}
-pallet-nfts-runtime-api = { path = "../../../../../substrate/frame/nfts/runtime-api", default-features = false}
-pallet-proxy = { path = "../../../../../substrate/frame/proxy", default-features = false}
-pallet-session = { path = "../../../../../substrate/frame/session", default-features = false}
-pallet-state-trie-migration = { path = "../../../../../substrate/frame/state-trie-migration", default-features = false, optional = true }
-pallet-timestamp = { path = "../../../../../substrate/frame/timestamp", default-features = false}
-pallet-transaction-payment = { path = "../../../../../substrate/frame/transaction-payment", default-features = false}
-pallet-transaction-payment-rpc-runtime-api = { path = "../../../../../substrate/frame/transaction-payment/rpc/runtime-api", default-features = false}
-pallet-uniques = { path = "../../../../../substrate/frame/uniques", default-features = false}
-pallet-utility = { path = "../../../../../substrate/frame/utility", default-features = false}
-sp-api = { path = "../../../../../substrate/primitives/api", default-features = false}
-sp-block-builder = { path = "../../../../../substrate/primitives/block-builder", default-features = false}
-sp-consensus-aura = { path = "../../../../../substrate/primitives/consensus/aura", default-features = false}
-sp-core = { path = "../../../../../substrate/primitives/core", default-features = false}
-sp-genesis-builder = { path = "../../../../../substrate/primitives/genesis-builder", default-features = false }
-sp-inherents = { path = "../../../../../substrate/primitives/inherents", default-features = false}
-sp-offchain = { path = "../../../../../substrate/primitives/offchain", default-features = false}
-sp-runtime = { path = "../../../../../substrate/primitives/runtime", default-features = false}
-sp-session = { path = "../../../../../substrate/primitives/session", default-features = false}
-sp-std = { path = "../../../../../substrate/primitives/std", default-features = false}
-sp-storage = { path = "../../../../../substrate/primitives/storage", default-features = false}
-sp-transaction-pool = { path = "../../../../../substrate/primitives/transaction-pool", default-features = false}
-sp-version = { path = "../../../../../substrate/primitives/version", default-features = false}
-sp-weights = { path = "../../../../../substrate/primitives/weights", default-features = false}
-# num-traits feature needed for dex integer sq root:
-primitive-types = { version = "0.12.1", default-features = false, features = ["codec", "scale-info", "num-traits"] }
-
-# Polkadot
-pallet-xcm = { path = "../../../../../polkadot/xcm/pallet-xcm", default-features = false}
-pallet-xcm-benchmarks = { path = "../../../../../polkadot/xcm/pallet-xcm-benchmarks", default-features = false, optional = true }
-polkadot-core-primitives = { path = "../../../../../polkadot/core-primitives", default-features = false}
-polkadot-parachain-primitives = { path = "../../../../../polkadot/parachain", default-features = false}
-polkadot-runtime-common = { path = "../../../../../polkadot/runtime/common", default-features = false}
-xcm = { package = "staging-xcm", path = "../../../../../polkadot/xcm", default-features = false}
-xcm-builder = { package = "staging-xcm-builder", path = "../../../../../polkadot/xcm/xcm-builder", default-features = false}
-xcm-executor = { package = "staging-xcm-executor", path = "../../../../../polkadot/xcm/xcm-executor", default-features = false}
-
-# Cumulus
-cumulus-pallet-aura-ext = { path = "../../../../pallets/aura-ext", default-features = false }
-pallet-message-queue = { path = "../../../../../substrate/frame/message-queue", default-features = false }
-
-cumulus-pallet-dmp-queue = { path = "../../../../pallets/dmp-queue", default-features = false }
-cumulus-pallet-parachain-system = { path = "../../../../pallets/parachain-system", default-features = false, features = ["parameterized-consensus-hook",] }
-cumulus-pallet-session-benchmarking = { path = "../../../../pallets/session-benchmarking", default-features = false}
-cumulus-pallet-xcm = { path = "../../../../pallets/xcm", default-features = false }
-cumulus-pallet-xcmp-queue = { path = "../../../../pallets/xcmp-queue", default-features = false }
-cumulus-primitives-core = { path = "../../../../primitives/core", default-features = false }
-cumulus-primitives-utility = { path = "../../../../primitives/utility", default-features = false }
-pallet-collator-selection = { path = "../../../../pallets/collator-selection", default-features = false }
-parachain-info = { package = "staging-parachain-info", path = "../../../pallets/parachain-info", default-features = false }
-parachains-common = { path = "../../../common", default-features = false }
-assets-common = { path = "../common", default-features = false }
-
-[dev-dependencies]
-asset-test-utils = { path = "../test-utils" }
-
-[build-dependencies]
-substrate-wasm-builder = { path = "../../../../../substrate/utils/wasm-builder", optional = true }
-
-[features]
-default = [ "std" ]
-# When enabled the `state_version` is set to `1`.
-# This means that the chain will start using the new state format. The migration is lazy, so
-# it requires to write a storage value to use the new state format. To migrate all the other
-# storage values that aren't touched the state migration pallet is added as well.
-# This pallet will migrate the entire state, controlled through some account.
-#
-# This feature should be removed when the main-net will be migrated.
-state-trie-version-1 = [ "pallet-state-trie-migration" ]
-runtime-benchmarks = [
- "assets-common/runtime-benchmarks",
- "cumulus-pallet-dmp-queue/runtime-benchmarks",
- "cumulus-pallet-parachain-system/runtime-benchmarks",
- "cumulus-pallet-session-benchmarking/runtime-benchmarks",
- "cumulus-pallet-xcmp-queue/runtime-benchmarks",
- "cumulus-primitives-core/runtime-benchmarks",
- "cumulus-primitives-utility/runtime-benchmarks",
- "frame-benchmarking/runtime-benchmarks",
- "frame-support/runtime-benchmarks",
- "frame-system-benchmarking/runtime-benchmarks",
- "frame-system/runtime-benchmarks",
- "pallet-asset-conversion/runtime-benchmarks",
- "pallet-assets/runtime-benchmarks",
- "pallet-balances/runtime-benchmarks",
- "pallet-collator-selection/runtime-benchmarks",
- "pallet-message-queue/runtime-benchmarks",
- "pallet-multisig/runtime-benchmarks",
- "pallet-nft-fractionalization/runtime-benchmarks",
- "pallet-nfts/runtime-benchmarks",
- "pallet-proxy/runtime-benchmarks",
- "pallet-state-trie-migration/runtime-benchmarks",
- "pallet-timestamp/runtime-benchmarks",
- "pallet-uniques/runtime-benchmarks",
- "pallet-utility/runtime-benchmarks",
- "pallet-xcm-benchmarks/runtime-benchmarks",
- "pallet-xcm/runtime-benchmarks",
- "parachains-common/runtime-benchmarks",
- "polkadot-parachain-primitives/runtime-benchmarks",
- "polkadot-runtime-common/runtime-benchmarks",
- "sp-runtime/runtime-benchmarks",
- "xcm-builder/runtime-benchmarks",
- "xcm-executor/runtime-benchmarks",
-]
-try-runtime = [
- "cumulus-pallet-aura-ext/try-runtime",
- "cumulus-pallet-dmp-queue/try-runtime",
- "cumulus-pallet-parachain-system/try-runtime",
- "cumulus-pallet-xcm/try-runtime",
- "cumulus-pallet-xcmp-queue/try-runtime",
- "frame-executive/try-runtime",
- "frame-support/try-runtime",
- "frame-system/try-runtime",
- "frame-try-runtime/try-runtime",
- "pallet-asset-conversion-tx-payment/try-runtime",
- "pallet-asset-conversion/try-runtime",
- "pallet-assets/try-runtime",
- "pallet-aura/try-runtime",
- "pallet-authorship/try-runtime",
- "pallet-balances/try-runtime",
- "pallet-collator-selection/try-runtime",
- "pallet-message-queue/try-runtime",
- "pallet-multisig/try-runtime",
- "pallet-nft-fractionalization/try-runtime",
- "pallet-nfts/try-runtime",
- "pallet-proxy/try-runtime",
- "pallet-session/try-runtime",
- "pallet-state-trie-migration/try-runtime",
- "pallet-timestamp/try-runtime",
- "pallet-transaction-payment/try-runtime",
- "pallet-uniques/try-runtime",
- "pallet-utility/try-runtime",
- "pallet-xcm/try-runtime",
- "parachain-info/try-runtime",
- "polkadot-runtime-common/try-runtime",
- "sp-runtime/try-runtime",
-]
-std = [
- "assets-common/std",
- "codec/std",
- "cumulus-pallet-aura-ext/std",
- "cumulus-pallet-dmp-queue/std",
- "cumulus-pallet-parachain-system/std",
- "cumulus-pallet-session-benchmarking/std",
- "cumulus-pallet-xcm/std",
- "cumulus-pallet-xcmp-queue/std",
- "cumulus-primitives-core/std",
- "cumulus-primitives-utility/std",
- "frame-benchmarking?/std",
- "frame-executive/std",
- "frame-support/std",
- "frame-system-benchmarking?/std",
- "frame-system-rpc-runtime-api/std",
- "frame-system/std",
- "frame-try-runtime?/std",
- "log/std",
- "pallet-asset-conversion-tx-payment/std",
- "pallet-asset-conversion/std",
- "pallet-assets/std",
- "pallet-aura/std",
- "pallet-authorship/std",
- "pallet-balances/std",
- "pallet-collator-selection/std",
- "pallet-message-queue/std",
- "pallet-multisig/std",
- "pallet-nft-fractionalization/std",
- "pallet-nfts-runtime-api/std",
- "pallet-nfts/std",
- "pallet-proxy/std",
- "pallet-session/std",
- "pallet-state-trie-migration/std",
- "pallet-timestamp/std",
- "pallet-transaction-payment-rpc-runtime-api/std",
- "pallet-transaction-payment/std",
- "pallet-uniques/std",
- "pallet-utility/std",
- "pallet-xcm-benchmarks?/std",
- "pallet-xcm/std",
- "parachain-info/std",
- "parachains-common/std",
- "polkadot-core-primitives/std",
- "polkadot-parachain-primitives/std",
- "polkadot-runtime-common/std",
- "primitive-types/std",
- "scale-info/std",
- "sp-api/std",
- "sp-block-builder/std",
- "sp-consensus-aura/std",
- "sp-core/std",
- "sp-genesis-builder/std",
- "sp-inherents/std",
- "sp-offchain/std",
- "sp-runtime/std",
- "sp-session/std",
- "sp-std/std",
- "sp-storage/std",
- "sp-transaction-pool/std",
- "sp-version/std",
- "sp-weights/std",
- "substrate-wasm-builder",
- "xcm-builder/std",
- "xcm-executor/std",
- "xcm/std",
-]
-
-experimental = [ "pallet-aura/experimental" ]
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs
deleted file mode 100644
index 4c76262f60a007eae99be5f011dc6b50dd274bfd..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/lib.rs
+++ /dev/null
@@ -1,1549 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! # Asset Hub Kusama Runtime
-//!
-//! Asset Hub Kusama, formerly known as "Statemine", is the canary network for its Polkadot cousin.
-
-#![cfg_attr(not(feature = "std"), no_std)]
-#![recursion_limit = "256"]
-
-// Make the WASM binary available.
-#[cfg(feature = "std")]
-include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs"));
-
-mod weights;
-pub mod xcm_config;
-
-use assets_common::{
- foreign_creators::ForeignCreators,
- local_and_foreign_assets::{LocalAndForeignAssets, MultiLocationConverter},
- matching::FromSiblingParachain,
- AssetIdForTrustBackedAssetsConvert, MultiLocationForAssetId,
-};
-use cumulus_pallet_parachain_system::RelayNumberStrictlyIncreases;
-use polkadot_runtime_common::xcm_sender::NoPriceForMessageDelivery;
-use sp_api::impl_runtime_apis;
-use sp_core::{crypto::KeyTypeId, OpaqueMetadata};
-use sp_runtime::{
- create_runtime_str, generic, impl_opaque_keys,
- traits::{AccountIdConversion, AccountIdLookup, BlakeTwo256, Block as BlockT, Verify},
- transaction_validity::{TransactionSource, TransactionValidity},
- ApplyExtrinsicResult, Perbill, Permill,
-};
-
-use sp_std::prelude::*;
-#[cfg(feature = "std")]
-use sp_version::NativeVersion;
-use sp_version::RuntimeVersion;
-
-use codec::{Decode, Encode, MaxEncodedLen};
-use cumulus_primitives_core::{AggregateMessageOrigin, ParaId};
-use frame_support::{
- construct_runtime,
- dispatch::DispatchClass,
- genesis_builder_helper::{build_config, create_default_config},
- ord_parameter_types, parameter_types,
- traits::{
- AsEnsureOriginWithArg, ConstBool, ConstU128, ConstU32, ConstU64, ConstU8, EitherOfDiverse,
- InstanceFilter, TransformOrigin,
- },
- weights::{ConstantMultiplier, Weight},
- BoundedVec, PalletId,
-};
-use frame_system::{
- limits::{BlockLength, BlockWeights},
- EnsureRoot, EnsureSigned, EnsureSignedBy,
-};
-use pallet_asset_conversion_tx_payment::AssetConversionAdapter;
-use pallet_nfts::PalletFeatures;
-pub use parachains_common as common;
-use parachains_common::{
- impls::DealWithFees,
- kusama::{consensus::*, currency::*, fee::WeightToFee},
- message_queue::{NarrowOriginToSibling, ParaIdToSibling},
- AccountId, AssetIdForTrustBackedAssets, AuraId, Balance, BlockNumber, Hash, Header, Nonce,
- Signature, AVERAGE_ON_INITIALIZE_RATIO, DAYS, HOURS, MAXIMUM_BLOCK_WEIGHT,
- NORMAL_DISPATCH_RATIO, SLOT_DURATION,
-};
-use sp_runtime::RuntimeDebug;
-use xcm::opaque::v3::MultiLocation;
-use xcm_config::{
- FellowshipLocation, ForeignAssetsConvertedConcreteId, GovernanceLocation, KsmLocation,
- PoolAssetsConvertedConcreteId, TrustBackedAssetsConvertedConcreteId,
-};
-
-#[cfg(any(feature = "std", test))]
-pub use sp_runtime::BuildStorage;
-
-// Polkadot imports
-use pallet_xcm::{EnsureXcm, IsVoiceOfBody};
-use polkadot_runtime_common::{BlockHashCount, SlowAdjustingFeeUpdate};
-use xcm::latest::BodyId;
-
-use crate::xcm_config::{
- ForeignCreatorsSovereignAccountOf, LocalAndForeignAssetsMultiLocationMatcher,
- TrustBackedAssetsPalletLocation,
-};
-use weights::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight};
-
-impl_opaque_keys! {
- pub struct SessionKeys {
- pub aura: Aura,
- }
-}
-
-#[cfg(feature = "state-trie-version-1")]
-#[sp_version::runtime_version]
-pub const VERSION: RuntimeVersion = RuntimeVersion {
- // Note: "statemine" is the legacy name for this chain. It has been renamed to
- // "asset-hub-kusama". Many wallets/tools depend on the `spec_name`, so it remains "statemine"
- // for the time being. Wallets/tools should update to treat "asset-hub-kusama" equally.
- spec_name: create_runtime_str!("statemine"),
- impl_name: create_runtime_str!("statemine"),
- authoring_version: 1,
- spec_version: 1_004_000,
- impl_version: 0,
- apis: RUNTIME_API_VERSIONS,
- transaction_version: 13,
- state_version: 1,
-};
-
-#[cfg(not(feature = "state-trie-version-1"))]
-#[sp_version::runtime_version]
-pub const VERSION: RuntimeVersion = RuntimeVersion {
- // Note: "statemine" is the legacy name for this change. It has been renamed to
- // "asset-hub-kusama". Many wallets/tools depend on the `spec_name`, so it remains "statemine"
- // for the time being. Wallets/tools should update to treat "asset-hub-kusama" equally.
- spec_name: create_runtime_str!("statemine"),
- impl_name: create_runtime_str!("statemine"),
- authoring_version: 1,
- spec_version: 1_004_000,
- impl_version: 0,
- apis: RUNTIME_API_VERSIONS,
- transaction_version: 13,
- state_version: 0,
-};
-
-/// The version information used to identify this runtime when compiled natively.
-#[cfg(feature = "std")]
-pub fn native_version() -> NativeVersion {
- NativeVersion { runtime_version: VERSION, can_author_with: Default::default() }
-}
-
-parameter_types! {
- pub const Version: RuntimeVersion = VERSION;
- pub RuntimeBlockLength: BlockLength =
- BlockLength::max_with_normal_ratio(5 * 1024 * 1024, NORMAL_DISPATCH_RATIO);
- pub RuntimeBlockWeights: BlockWeights = BlockWeights::builder()
- .base_block(BlockExecutionWeight::get())
- .for_class(DispatchClass::all(), |weights| {
- weights.base_extrinsic = ExtrinsicBaseWeight::get();
- })
- .for_class(DispatchClass::Normal, |weights| {
- weights.max_total = Some(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT);
- })
- .for_class(DispatchClass::Operational, |weights| {
- weights.max_total = Some(MAXIMUM_BLOCK_WEIGHT);
- // Operational transactions have some extra reserved space, so that they
- // are included even if block reached `MAXIMUM_BLOCK_WEIGHT`.
- weights.reserved = Some(
- MAXIMUM_BLOCK_WEIGHT - NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT
- );
- })
- .avg_block_initialization(AVERAGE_ON_INITIALIZE_RATIO)
- .build_or_panic();
- pub const SS58Prefix: u8 = 2;
-}
-
-// Configure FRAME pallets to include in runtime.
-impl frame_system::Config for Runtime {
- type BaseCallFilter = frame_support::traits::Everything;
- type BlockWeights = RuntimeBlockWeights;
- type BlockLength = RuntimeBlockLength;
- type AccountId = AccountId;
- type RuntimeCall = RuntimeCall;
- type Lookup = AccountIdLookup;
- type Nonce = Nonce;
- type Hash = Hash;
- type Hashing = BlakeTwo256;
- type Block = Block;
- type RuntimeEvent = RuntimeEvent;
- type RuntimeOrigin = RuntimeOrigin;
- type BlockHashCount = BlockHashCount;
- type DbWeight = RocksDbWeight;
- type Version = Version;
- type PalletInfo = PalletInfo;
- type OnNewAccount = ();
- type OnKilledAccount = ();
- type AccountData = pallet_balances::AccountData;
- type SystemWeightInfo = weights::frame_system::WeightInfo;
- type SS58Prefix = SS58Prefix;
- type OnSetCode = cumulus_pallet_parachain_system::ParachainSetCode;
- type MaxConsumers = frame_support::traits::ConstU32<16>;
-}
-
-impl pallet_timestamp::Config for Runtime {
- /// A timestamp: milliseconds since the unix epoch.
- type Moment = u64;
- type OnTimestampSet = Aura;
- type MinimumPeriod = ConstU64<{ SLOT_DURATION / 2 }>;
- type WeightInfo = weights::pallet_timestamp::WeightInfo;
-}
-
-impl pallet_authorship::Config for Runtime {
- type FindAuthor = pallet_session::FindAccountFromAuthorIndex;
- type EventHandler = (CollatorSelection,);
-}
-
-parameter_types! {
- pub const ExistentialDeposit: Balance = EXISTENTIAL_DEPOSIT;
-}
-
-impl pallet_balances::Config for Runtime {
- type MaxLocks = ConstU32<50>;
- /// The type for recording an account's balance.
- type Balance = Balance;
- /// The ubiquitous event type.
- type RuntimeEvent = RuntimeEvent;
- type DustRemoval = ();
- type ExistentialDeposit = ExistentialDeposit;
- type AccountStore = System;
- type WeightInfo = weights::pallet_balances::WeightInfo;
- type MaxReserves = ConstU32<50>;
- type ReserveIdentifier = [u8; 8];
- type RuntimeHoldReason = RuntimeHoldReason;
- type RuntimeFreezeReason = RuntimeFreezeReason;
- type FreezeIdentifier = ();
- // We allow each account to have holds on it from:
- // - `NftFractionalization`: 1
- type MaxHolds = ConstU32<1>;
- type MaxFreezes = ConstU32<0>;
-}
-
-parameter_types! {
- /// Relay Chain `TransactionByteFee` / 10
- pub const TransactionByteFee: Balance = MILLICENTS;
-}
-
-impl pallet_transaction_payment::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type OnChargeTransaction =
- pallet_transaction_payment::CurrencyAdapter>;
- type WeightToFee = WeightToFee;
- type LengthToFee = ConstantMultiplier;
- type FeeMultiplierUpdate = SlowAdjustingFeeUpdate;
- type OperationalFeeMultiplier = ConstU8<5>;
-}
-
-parameter_types! {
- pub const AssetDeposit: Balance = UNITS / 10; // 1 / 10 UNITS deposit to create asset
- pub const AssetAccountDeposit: Balance = deposit(1, 16);
- pub const ApprovalDeposit: Balance = EXISTENTIAL_DEPOSIT;
- pub const AssetsStringLimit: u32 = 50;
- /// Key = 32 bytes, Value = 36 bytes (32+1+1+1+1)
- // https://github.com/paritytech/substrate/blob/069917b/frame/assets/src/lib.rs#L257L271
- pub const MetadataDepositBase: Balance = deposit(1, 68);
- pub const MetadataDepositPerByte: Balance = deposit(0, 1);
-}
-
-/// We allow root to execute privileged asset operations.
-pub type AssetsForceOrigin = EnsureRoot;
-
-// Called "Trust Backed" assets because these are generally registered by some account, and users of
-// the asset assume it has some claimed backing. The pallet is called `Assets` in
-// `construct_runtime` to avoid breaking changes on storage reads.
-pub type TrustBackedAssetsInstance = pallet_assets::Instance1;
-type TrustBackedAssetsCall = pallet_assets::Call;
-impl pallet_assets::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Balance = Balance;
- type AssetId = AssetIdForTrustBackedAssets;
- type AssetIdParameter = codec::Compact;
- type Currency = Balances;
- type CreateOrigin = AsEnsureOriginWithArg>;
- type ForceOrigin = AssetsForceOrigin;
- type AssetDeposit = AssetDeposit;
- type MetadataDepositBase = MetadataDepositBase;
- type MetadataDepositPerByte = MetadataDepositPerByte;
- type ApprovalDeposit = ApprovalDeposit;
- type StringLimit = AssetsStringLimit;
- type Freezer = ();
- type Extra = ();
- type WeightInfo = weights::pallet_assets_local::WeightInfo;
- type CallbackHandle = ();
- type AssetAccountDeposit = AssetAccountDeposit;
- type RemoveItemsLimit = frame_support::traits::ConstU32<1000>;
- #[cfg(feature = "runtime-benchmarks")]
- type BenchmarkHelper = ();
-}
-
-parameter_types! {
- pub const AssetConversionPalletId: PalletId = PalletId(*b"py/ascon");
- pub const AllowMultiAssetPools: bool = false;
- // should be non-zero if AllowMultiAssetPools is true, otherwise can be zero
- pub const LiquidityWithdrawalFee: Permill = Permill::from_percent(0);
-}
-
-ord_parameter_types! {
- pub const AssetConversionOrigin: sp_runtime::AccountId32 =
- AccountIdConversion::::into_account_truncating(&AssetConversionPalletId::get());
-}
-
-pub type PoolAssetsInstance = pallet_assets::Instance3;
-impl pallet_assets::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Balance = Balance;
- type RemoveItemsLimit = ConstU32<1000>;
- type AssetId = u32;
- type AssetIdParameter = u32;
- type Currency = Balances;
- type CreateOrigin =
- AsEnsureOriginWithArg>;
- type ForceOrigin = AssetsForceOrigin;
- // Deposits are zero because creation/admin is limited to Asset Conversion pallet.
- type AssetDeposit = ConstU128<0>;
- type AssetAccountDeposit = ConstU128<0>;
- type MetadataDepositBase = ConstU128<0>;
- type MetadataDepositPerByte = ConstU128<0>;
- type ApprovalDeposit = ApprovalDeposit;
- type StringLimit = ConstU32<50>;
- type Freezer = ();
- type Extra = ();
- type WeightInfo = weights::pallet_assets_pool::WeightInfo;
- type CallbackHandle = ();
- #[cfg(feature = "runtime-benchmarks")]
- type BenchmarkHelper = ();
-}
-
-impl pallet_asset_conversion::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Balance = Balance;
- type HigherPrecisionBalance = sp_core::U256;
- type Currency = Balances;
- type AssetBalance = Balance;
- type AssetId = MultiLocation;
- type Assets = LocalAndForeignAssets<
- Assets,
- AssetIdForTrustBackedAssetsConvert,
- ForeignAssets,
- >;
- type PoolAssets = PoolAssets;
- type PoolAssetId = u32;
- type PoolSetupFee = ConstU128<0>; // Asset class deposit fees are sufficient to prevent spam
- type PoolSetupFeeReceiver = AssetConversionOrigin;
- // should be non-zero if `AllowMultiAssetPools` is true, otherwise can be zero.
- type LiquidityWithdrawalFee = LiquidityWithdrawalFee;
- type LPFee = ConstU32<3>;
- type PalletId = AssetConversionPalletId;
- type AllowMultiAssetPools = AllowMultiAssetPools;
- type MaxSwapPathLength = ConstU32<4>;
- type MultiAssetId = Box;
- type MultiAssetIdConverter =
- MultiLocationConverter;
- type MintMinLiquidity = ConstU128<100>;
- type WeightInfo = weights::pallet_asset_conversion::WeightInfo;
- #[cfg(feature = "runtime-benchmarks")]
- type BenchmarkHelper =
- crate::xcm_config::BenchmarkMultiLocationConverter>;
-}
-
-parameter_types! {
- // we just reuse the same deposits
- pub const ForeignAssetsAssetDeposit: Balance = AssetDeposit::get();
- pub const ForeignAssetsAssetAccountDeposit: Balance = AssetAccountDeposit::get();
- pub const ForeignAssetsApprovalDeposit: Balance = ApprovalDeposit::get();
- pub const ForeignAssetsAssetsStringLimit: u32 = AssetsStringLimit::get();
- pub const ForeignAssetsMetadataDepositBase: Balance = MetadataDepositBase::get();
- pub const ForeignAssetsMetadataDepositPerByte: Balance = MetadataDepositPerByte::get();
-}
-
-/// Assets managed by some foreign location. Note: we do not declare a `ForeignAssetsCall` type, as
-/// this type is used in proxy definitions. We assume that a foreign location would not want to set
-/// an individual, local account as a proxy for the issuance of their assets. This issuance should
-/// be managed by the foreign location's governance.
-pub type ForeignAssetsInstance = pallet_assets::Instance2;
-impl pallet_assets::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Balance = Balance;
- type AssetId = MultiLocationForAssetId;
- type AssetIdParameter = MultiLocationForAssetId;
- type Currency = Balances;
- type CreateOrigin = ForeignCreators<
- (FromSiblingParachain>,),
- ForeignCreatorsSovereignAccountOf,
- AccountId,
- >;
- type ForceOrigin = AssetsForceOrigin;
- type AssetDeposit = ForeignAssetsAssetDeposit;
- type MetadataDepositBase = ForeignAssetsMetadataDepositBase;
- type MetadataDepositPerByte = ForeignAssetsMetadataDepositPerByte;
- type ApprovalDeposit = ForeignAssetsApprovalDeposit;
- type StringLimit = ForeignAssetsAssetsStringLimit;
- type Freezer = ();
- type Extra = ();
- type WeightInfo = weights::pallet_assets_foreign::WeightInfo;
- type CallbackHandle = ();
- type AssetAccountDeposit = ForeignAssetsAssetAccountDeposit;
- type RemoveItemsLimit = frame_support::traits::ConstU32<1000>;
- #[cfg(feature = "runtime-benchmarks")]
- type BenchmarkHelper = xcm_config::XcmBenchmarkHelper;
-}
-
-parameter_types! {
- // One storage item; key size is 32; value is size 4+4+16+32 bytes = 56 bytes.
- pub const DepositBase: Balance = deposit(1, 88);
- // Additional storage item size of 32 bytes.
- pub const DepositFactor: Balance = deposit(0, 32);
- pub const MaxSignatories: u32 = 100;
-}
-
-impl pallet_multisig::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type RuntimeCall = RuntimeCall;
- type Currency = Balances;
- type DepositBase = DepositBase;
- type DepositFactor = DepositFactor;
- type MaxSignatories = MaxSignatories;
- type WeightInfo = weights::pallet_multisig::WeightInfo;
-}
-
-impl pallet_utility::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type RuntimeCall = RuntimeCall;
- type PalletsOrigin = OriginCaller;
- type WeightInfo = weights::pallet_utility::WeightInfo;
-}
-
-parameter_types! {
- // One storage item; key size 32, value size 8; .
- pub const ProxyDepositBase: Balance = deposit(1, 40);
- // Additional storage item size of 33 bytes.
- pub const ProxyDepositFactor: Balance = deposit(0, 33);
- pub const MaxProxies: u16 = 32;
- // One storage item; key size 32, value size 16
- pub const AnnouncementDepositBase: Balance = deposit(1, 48);
- pub const AnnouncementDepositFactor: Balance = deposit(0, 66);
- pub const MaxPending: u16 = 32;
-}
-
-/// The type used to represent the kinds of proxying allowed.
-#[derive(
- Copy,
- Clone,
- Eq,
- PartialEq,
- Ord,
- PartialOrd,
- Encode,
- Decode,
- RuntimeDebug,
- MaxEncodedLen,
- scale_info::TypeInfo,
-)]
-pub enum ProxyType {
- /// Fully permissioned proxy. Can execute any call on behalf of _proxied_.
- Any,
- /// Can execute any call that does not transfer funds or assets.
- NonTransfer,
- /// Proxy with the ability to reject time-delay proxy announcements.
- CancelProxy,
- /// Assets proxy. Can execute any call from `assets`, **including asset transfers**.
- Assets,
- /// Owner proxy. Can execute calls related to asset ownership.
- AssetOwner,
- /// Asset manager. Can execute calls related to asset management.
- AssetManager,
- /// Collator selection proxy. Can execute calls related to collator selection mechanism.
- Collator,
-}
-impl Default for ProxyType {
- fn default() -> Self {
- Self::Any
- }
-}
-
-impl InstanceFilter for ProxyType {
- fn filter(&self, c: &RuntimeCall) -> bool {
- match self {
- ProxyType::Any => true,
- ProxyType::NonTransfer => !matches!(
- c,
- RuntimeCall::Balances { .. } |
- RuntimeCall::Assets { .. } |
- RuntimeCall::NftFractionalization { .. } |
- RuntimeCall::Nfts { .. } |
- RuntimeCall::Uniques { .. }
- ),
- ProxyType::CancelProxy => matches!(
- c,
- RuntimeCall::Proxy(pallet_proxy::Call::reject_announcement { .. }) |
- RuntimeCall::Utility { .. } |
- RuntimeCall::Multisig { .. }
- ),
- ProxyType::Assets => {
- matches!(
- c,
- RuntimeCall::Assets { .. } |
- RuntimeCall::Utility { .. } |
- RuntimeCall::Multisig { .. } |
- RuntimeCall::NftFractionalization { .. } |
- RuntimeCall::Nfts { .. } | RuntimeCall::Uniques { .. }
- )
- },
- ProxyType::AssetOwner => matches!(
- c,
- RuntimeCall::Assets(TrustBackedAssetsCall::create { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::start_destroy { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::destroy_accounts { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::destroy_approvals { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::finish_destroy { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::transfer_ownership { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::set_team { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::set_metadata { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::clear_metadata { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::set_min_balance { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::create { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::destroy { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::redeposit { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::transfer_ownership { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::set_team { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::set_collection_max_supply { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::lock_collection { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::create { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::destroy { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::transfer_ownership { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::set_team { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::set_metadata { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::set_attribute { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::set_collection_metadata { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::clear_metadata { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::clear_attribute { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::clear_collection_metadata { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::set_collection_max_supply { .. }) |
- RuntimeCall::Utility { .. } |
- RuntimeCall::Multisig { .. }
- ),
- ProxyType::AssetManager => matches!(
- c,
- RuntimeCall::Assets(TrustBackedAssetsCall::mint { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::burn { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::freeze { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::block { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::thaw { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::freeze_asset { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::thaw_asset { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::touch_other { .. }) |
- RuntimeCall::Assets(TrustBackedAssetsCall::refund_other { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::force_mint { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::update_mint_settings { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::mint_pre_signed { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::set_attributes_pre_signed { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::lock_item_transfer { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::unlock_item_transfer { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::lock_item_properties { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::set_metadata { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::clear_metadata { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::set_collection_metadata { .. }) |
- RuntimeCall::Nfts(pallet_nfts::Call::clear_collection_metadata { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::mint { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::burn { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::freeze { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::thaw { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::freeze_collection { .. }) |
- RuntimeCall::Uniques(pallet_uniques::Call::thaw_collection { .. }) |
- RuntimeCall::Utility { .. } |
- RuntimeCall::Multisig { .. }
- ),
- ProxyType::Collator => matches!(
- c,
- RuntimeCall::CollatorSelection { .. } |
- RuntimeCall::Utility { .. } |
- RuntimeCall::Multisig { .. }
- ),
- }
- }
-
- fn is_superset(&self, o: &Self) -> bool {
- match (self, o) {
- (x, y) if x == y => true,
- (ProxyType::Any, _) => true,
- (_, ProxyType::Any) => false,
- (ProxyType::Assets, ProxyType::AssetOwner) => true,
- (ProxyType::Assets, ProxyType::AssetManager) => true,
- (ProxyType::NonTransfer, ProxyType::Collator) => true,
- _ => false,
- }
- }
-}
-
-impl pallet_proxy::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type RuntimeCall = RuntimeCall;
- type Currency = Balances;
- type ProxyType = ProxyType;
- type ProxyDepositBase = ProxyDepositBase;
- type ProxyDepositFactor = ProxyDepositFactor;
- type MaxProxies = MaxProxies;
- type WeightInfo = weights::pallet_proxy::WeightInfo;
- type MaxPending = MaxPending;
- type CallHasher = BlakeTwo256;
- type AnnouncementDepositBase = AnnouncementDepositBase;
- type AnnouncementDepositFactor = AnnouncementDepositFactor;
-}
-
-parameter_types! {
- pub const ReservedXcmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4);
- pub const ReservedDmpWeight: Weight = MAXIMUM_BLOCK_WEIGHT.saturating_div(4);
-}
-
-impl cumulus_pallet_parachain_system::Config for Runtime {
- type WeightInfo = weights::cumulus_pallet_parachain_system::WeightInfo;
- type RuntimeEvent = RuntimeEvent;
- type OnSystemEvent = ();
- type SelfParaId = parachain_info::Pallet;
- type DmpQueue = frame_support::traits::EnqueueWithOrigin;
- type ReservedDmpWeight = ReservedDmpWeight;
- type OutboundXcmpMessageSource = XcmpQueue;
- type XcmpMessageHandler = XcmpQueue;
- type ReservedXcmpWeight = ReservedXcmpWeight;
- type CheckAssociatedRelayNumber = RelayNumberStrictlyIncreases;
- type ConsensusHook = cumulus_pallet_aura_ext::FixedVelocityConsensusHook<
- Runtime,
- RELAY_CHAIN_SLOT_DURATION_MILLIS,
- BLOCK_PROCESSING_VELOCITY,
- UNINCLUDED_SEGMENT_CAPACITY,
- >;
-}
-
-impl parachain_info::Config for Runtime {}
-
-parameter_types! {
- pub MessageQueueServiceWeight: Weight = Perbill::from_percent(35) * RuntimeBlockWeights::get().max_block;
-}
-
-impl pallet_message_queue::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type WeightInfo = weights::pallet_message_queue::WeightInfo;
- #[cfg(feature = "runtime-benchmarks")]
- type MessageProcessor = pallet_message_queue::mock_helpers::NoopMessageProcessor<
- cumulus_primitives_core::AggregateMessageOrigin,
- >;
- #[cfg(not(feature = "runtime-benchmarks"))]
- type MessageProcessor = xcm_builder::ProcessXcmMessage<
- AggregateMessageOrigin,
- xcm_executor::XcmExecutor,
- RuntimeCall,
- >;
- type Size = u32;
- // The XCMP queue pallet is only ever able to handle the `Sibling(ParaId)` origin:
- type QueueChangeHandler = NarrowOriginToSibling;
- type QueuePausedQuery = NarrowOriginToSibling;
- type HeapSize = sp_core::ConstU32<{ 64 * 1024 }>;
- type MaxStale = sp_core::ConstU32<8>;
- type ServiceWeight = MessageQueueServiceWeight;
-}
-
-impl cumulus_pallet_aura_ext::Config for Runtime {}
-
-parameter_types! {
- // Fellows pluralistic body.
- pub const FellowsBodyId: BodyId = BodyId::Technical;
-}
-
-impl cumulus_pallet_xcmp_queue::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type ChannelInfo = ParachainSystem;
- type VersionWrapper = PolkadotXcm;
- // Enqueue XCMP messages from siblings for later processing.
- type XcmpQueue = TransformOrigin;
- type MaxInboundSuspended = sp_core::ConstU32<1_000>;
- type ControllerOrigin = EitherOfDiverse<
- EnsureRoot,
- EnsureXcm>,
- >;
- type ControllerOriginConverter = xcm_config::XcmOriginToTransactDispatchOrigin;
- type WeightInfo = weights::cumulus_pallet_xcmp_queue::WeightInfo;
- type PriceForSiblingDelivery = NoPriceForMessageDelivery;
-}
-
-parameter_types! {
- pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent;
-}
-
-impl cumulus_pallet_dmp_queue::Config for Runtime {
- type WeightInfo = weights::cumulus_pallet_dmp_queue::WeightInfo;
- type RuntimeEvent = RuntimeEvent;
- type DmpSink = frame_support::traits::EnqueueWithOrigin;
-}
-
-parameter_types! {
- pub const Period: u32 = 6 * HOURS;
- pub const Offset: u32 = 0;
-}
-
-impl pallet_session::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type ValidatorId = ::AccountId;
- // we don't have stash and controller, thus we don't need the convert as well.
- type ValidatorIdOf = pallet_collator_selection::IdentityCollator;
- type ShouldEndSession = pallet_session::PeriodicSessions;
- type NextSessionRotation = pallet_session::PeriodicSessions;
- type SessionManager = CollatorSelection;
- // Essentially just Aura, but let's be pedantic.
- type SessionHandler = ::KeyTypeIdProviders;
- type Keys = SessionKeys;
- type WeightInfo = weights::pallet_session::WeightInfo;
-}
-
-impl pallet_aura::Config for Runtime {
- type AuthorityId = AuraId;
- type DisabledValidators = ();
- type MaxAuthorities = ConstU32<100_000>;
- type AllowMultipleBlocksPerSlot = ConstBool;
- #[cfg(feature = "experimental")]
- type SlotDuration = pallet_aura::MinimumPeriodTimesTwo;
-}
-
-parameter_types! {
- pub const PotId: PalletId = PalletId(*b"PotStake");
- pub const SessionLength: BlockNumber = 6 * HOURS;
- // StakingAdmin pluralistic body.
- pub const StakingAdminBodyId: BodyId = BodyId::Defense;
-}
-
-/// We allow root and the `StakingAdmin` to execute privileged collator selection operations.
-pub type CollatorSelectionUpdateOrigin = EitherOfDiverse<
- EnsureRoot,
- EnsureXcm>,
->;
-
-impl pallet_collator_selection::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Currency = Balances;
- type UpdateOrigin = CollatorSelectionUpdateOrigin;
- type PotId = PotId;
- type MaxCandidates = ConstU32<100>;
- type MinEligibleCollators = ConstU32<4>;
- type MaxInvulnerables = ConstU32<20>;
- // should be a multiple of session or things will get inconsistent
- type KickThreshold = Period;
- type ValidatorId = ::AccountId;
- type ValidatorIdOf = pallet_collator_selection::IdentityCollator;
- type ValidatorRegistration = Session;
- type WeightInfo = weights::pallet_collator_selection::WeightInfo;
-}
-
-impl pallet_asset_conversion_tx_payment::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Fungibles = LocalAndForeignAssets<
- Assets,
- AssetIdForTrustBackedAssetsConvert,
- ForeignAssets,
- >;
- type OnChargeAssetTransaction = AssetConversionAdapter;
-}
-
-parameter_types! {
- pub const UniquesCollectionDeposit: Balance = UNITS / 10; // 1 / 10 UNIT deposit to create a collection
- pub const UniquesItemDeposit: Balance = UNITS / 1_000; // 1 / 1000 UNIT deposit to mint an item
- pub const UniquesMetadataDepositBase: Balance = deposit(1, 129);
- pub const UniquesAttributeDepositBase: Balance = deposit(1, 0);
- pub const UniquesDepositPerByte: Balance = deposit(0, 1);
-}
-
-impl pallet_uniques::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type CollectionId = u32;
- type ItemId = u32;
- type Currency = Balances;
- type ForceOrigin = AssetsForceOrigin;
- type CollectionDeposit = UniquesCollectionDeposit;
- type ItemDeposit = UniquesItemDeposit;
- type MetadataDepositBase = UniquesMetadataDepositBase;
- type AttributeDepositBase = UniquesAttributeDepositBase;
- type DepositPerByte = UniquesDepositPerByte;
- type StringLimit = ConstU32<128>;
- type KeyLimit = ConstU32<32>;
- type ValueLimit = ConstU32<64>;
- type WeightInfo = weights::pallet_uniques::WeightInfo;
- #[cfg(feature = "runtime-benchmarks")]
- type Helper = ();
- type CreateOrigin = AsEnsureOriginWithArg>;
- type Locker = ();
-}
-
-parameter_types! {
- pub const NftFractionalizationPalletId: PalletId = PalletId(*b"fraction");
- pub NewAssetSymbol: BoundedVec = (*b"FRAC").to_vec().try_into().unwrap();
- pub NewAssetName: BoundedVec = (*b"Frac").to_vec().try_into().unwrap();
-}
-
-impl pallet_nft_fractionalization::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Deposit = AssetDeposit;
- type Currency = Balances;
- type NewAssetSymbol = NewAssetSymbol;
- type NewAssetName = NewAssetName;
- type StringLimit = AssetsStringLimit;
- type NftCollectionId = ::CollectionId;
- type NftId = ::ItemId;
- type AssetBalance = ::Balance;
- type AssetId = >::AssetId;
- type Assets = Assets;
- type Nfts = Nfts;
- type PalletId = NftFractionalizationPalletId;
- type WeightInfo = pallet_nft_fractionalization::weights::SubstrateWeight;
- type RuntimeHoldReason = RuntimeHoldReason;
- #[cfg(feature = "runtime-benchmarks")]
- type BenchmarkHelper = ();
-}
-
-parameter_types! {
- pub NftsPalletFeatures: PalletFeatures = PalletFeatures::all_enabled();
- pub const NftsMaxDeadlineDuration: BlockNumber = 12 * 30 * DAYS;
- // re-use the Uniques deposits
- pub const NftsCollectionDeposit: Balance = UniquesCollectionDeposit::get();
- pub const NftsItemDeposit: Balance = UniquesItemDeposit::get();
- pub const NftsMetadataDepositBase: Balance = UniquesMetadataDepositBase::get();
- pub const NftsAttributeDepositBase: Balance = UniquesAttributeDepositBase::get();
- pub const NftsDepositPerByte: Balance = UniquesDepositPerByte::get();
-}
-
-impl pallet_nfts::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type CollectionId = u32;
- type ItemId = u32;
- type Currency = Balances;
- type CreateOrigin = AsEnsureOriginWithArg>;
- type ForceOrigin = AssetsForceOrigin;
- type Locker = ();
- type CollectionDeposit = NftsCollectionDeposit;
- type ItemDeposit = NftsItemDeposit;
- type MetadataDepositBase = NftsMetadataDepositBase;
- type AttributeDepositBase = NftsAttributeDepositBase;
- type DepositPerByte = NftsDepositPerByte;
- type StringLimit = ConstU32<256>;
- type KeyLimit = ConstU32<64>;
- type ValueLimit = ConstU32<256>;
- type ApprovalsLimit = ConstU32<20>;
- type ItemAttributesApprovalsLimit = ConstU32<30>;
- type MaxTips = ConstU32<10>;
- type MaxDeadlineDuration = NftsMaxDeadlineDuration;
- type MaxAttributesPerCall = ConstU32<10>;
- type Features = NftsPalletFeatures;
- type OffchainSignature = Signature;
- type OffchainPublic = ::Signer;
- type WeightInfo = weights::pallet_nfts::WeightInfo;
- #[cfg(feature = "runtime-benchmarks")]
- type Helper = ();
-}
-
-// Create the runtime by composing the FRAME pallets that were previously configured.
-construct_runtime!(
- pub enum Runtime
- {
- // System support stuff.
- System: frame_system::{Pallet, Call, Config, Storage, Event} = 0,
- ParachainSystem: cumulus_pallet_parachain_system::{
- Pallet, Call, Config, Storage, Inherent, Event, ValidateUnsigned,
- } = 1,
- // RandomnessCollectiveFlip = 2 removed
- Timestamp: pallet_timestamp::{Pallet, Call, Storage, Inherent} = 3,
- ParachainInfo: parachain_info::{Pallet, Storage, Config} = 4,
-
- // Monetary stuff.
- Balances: pallet_balances::{Pallet, Call, Storage, Config, Event} = 10,
- TransactionPayment: pallet_transaction_payment::{Pallet, Storage, Event} = 11,
- AssetTxPayment: pallet_asset_conversion_tx_payment::{Pallet, Event} = 13,
-
- // Collator support. the order of these 5 are important and shall not change.
- Authorship: pallet_authorship::{Pallet, Storage} = 20,
- CollatorSelection: pallet_collator_selection::{Pallet, Call, Storage, Event, Config} = 21,
- Session: pallet_session::{Pallet, Call, Storage, Event, Config} = 22,
- Aura: pallet_aura::{Pallet, Storage, Config} = 23,
- AuraExt: cumulus_pallet_aura_ext::{Pallet, Storage, Config} = 24,
-
- // XCM helpers.
- XcmpQueue: cumulus_pallet_xcmp_queue::{Pallet, Call, Storage, Event} = 30,
- PolkadotXcm: pallet_xcm::{Pallet, Call, Storage, Event, Origin, Config} = 31,
- CumulusXcm: cumulus_pallet_xcm::{Pallet, Event, Origin} = 32,
- // Temporary to migrate the remaining DMP messages:
- DmpQueue: cumulus_pallet_dmp_queue::{Pallet, Call, Storage, Event} = 33,
- MessageQueue: pallet_message_queue::{Pallet, Call, Storage, Event} = 34,
-
- // Handy utilities.
- Utility: pallet_utility::{Pallet, Call, Event} = 40,
- Multisig: pallet_multisig::{Pallet, Call, Storage, Event} = 41,
- Proxy: pallet_proxy::{Pallet, Call, Storage, Event} = 42,
-
- // The main stage.
- Assets: pallet_assets::::{Pallet, Call, Storage, Event} = 50,
- Uniques: pallet_uniques::{Pallet, Call, Storage, Event} = 51,
- Nfts: pallet_nfts::{Pallet, Call, Storage, Event} = 52,
- ForeignAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 53,
- NftFractionalization: pallet_nft_fractionalization::{Pallet, Call, Storage, Event, HoldReason} = 54,
-
- PoolAssets: pallet_assets::::{Pallet, Call, Storage, Event} = 55,
- AssetConversion: pallet_asset_conversion::{Pallet, Call, Storage, Event} = 56,
-
- #[cfg(feature = "state-trie-version-1")]
- StateTrieMigration: pallet_state_trie_migration = 70,
- }
-);
-
-/// The address format for describing accounts.
-pub type Address = sp_runtime::MultiAddress;
-/// Block type as expected by this runtime.
-pub type Block = generic::Block;
-/// A Block signed with a Justification
-pub type SignedBlock = generic::SignedBlock;
-/// BlockId type as expected by this runtime.
-pub type BlockId = generic::BlockId;
-/// The SignedExtension to the basic transaction logic.
-pub type SignedExtra = (
- frame_system::CheckNonZeroSender,
- frame_system::CheckSpecVersion,
- frame_system::CheckTxVersion,
- frame_system::CheckGenesis,
- frame_system::CheckEra,
- frame_system::CheckNonce,
- frame_system::CheckWeight,
- pallet_asset_conversion_tx_payment::ChargeAssetTxPayment,
-);
-/// Unchecked extrinsic type as expected by this runtime.
-pub type UncheckedExtrinsic =
- generic::UncheckedExtrinsic;
-/// Migrations to apply on runtime upgrade.
-pub type Migrations = (pallet_collator_selection::migration::v1::MigrateToV1,);
-
-/// Executive: handles dispatch to the various modules.
-pub type Executive = frame_executive::Executive<
- Runtime,
- Block,
- frame_system::ChainContext,
- Runtime,
- AllPalletsWithSystem,
- Migrations,
->;
-
-#[cfg(feature = "runtime-benchmarks")]
-mod benches {
- frame_benchmarking::define_benchmarks!(
- [frame_system, SystemBench::]
- [pallet_assets, Local]
- [pallet_assets, Foreign]
- [pallet_assets, Pool]
- [pallet_asset_conversion, AssetConversion]
- [pallet_balances, Balances]
- [pallet_message_queue, MessageQueue]
- [pallet_multisig, Multisig]
- [pallet_nft_fractionalization, NftFractionalization]
- [pallet_nfts, Nfts]
- [pallet_proxy, Proxy]
- [pallet_session, SessionBench::]
- [pallet_uniques, Uniques]
- [pallet_utility, Utility]
- [pallet_timestamp, Timestamp]
- [pallet_collator_selection, CollatorSelection]
- [cumulus_pallet_parachain_system, ParachainSystem]
- [cumulus_pallet_xcmp_queue, XcmpQueue]
- [cumulus_pallet_dmp_queue, DmpQueue]
- // XCM
- [pallet_xcm, PalletXcmExtrinsicsBenchmark::]
- // NOTE: Make sure you point to the individual modules below.
- [pallet_xcm_benchmarks::fungible, XcmBalances]
- [pallet_xcm_benchmarks::generic, XcmGeneric]
- );
-}
-
-impl_runtime_apis! {
- impl sp_consensus_aura::AuraApi for Runtime {
- fn slot_duration() -> sp_consensus_aura::SlotDuration {
- sp_consensus_aura::SlotDuration::from_millis(Aura::slot_duration())
- }
-
- fn authorities() -> Vec {
- Aura::authorities().into_inner()
- }
- }
-
- impl sp_api::Core for Runtime {
- fn version() -> RuntimeVersion {
- VERSION
- }
-
- fn execute_block(block: Block) {
- Executive::execute_block(block)
- }
-
- fn initialize_block(header: &::Header) {
- Executive::initialize_block(header)
- }
- }
-
- impl sp_api::Metadata for Runtime {
- fn metadata() -> OpaqueMetadata {
- OpaqueMetadata::new(Runtime::metadata().into())
- }
-
- fn metadata_at_version(version: u32) -> Option {
- Runtime::metadata_at_version(version)
- }
-
- fn metadata_versions() -> sp_std::vec::Vec {
- Runtime::metadata_versions()
- }
- }
-
- impl sp_block_builder::BlockBuilder for Runtime {
- fn apply_extrinsic(extrinsic: ::Extrinsic) -> ApplyExtrinsicResult {
- Executive::apply_extrinsic(extrinsic)
- }
-
- fn finalize_block() -> ::Header {
- Executive::finalize_block()
- }
-
- fn inherent_extrinsics(data: sp_inherents::InherentData) -> Vec<::Extrinsic> {
- data.create_extrinsics()
- }
-
- fn check_inherents(
- block: Block,
- data: sp_inherents::InherentData,
- ) -> sp_inherents::CheckInherentsResult {
- data.check_extrinsics(&block)
- }
- }
-
- impl sp_transaction_pool::runtime_api::TaggedTransactionQueue for Runtime {
- fn validate_transaction(
- source: TransactionSource,
- tx: ::Extrinsic,
- block_hash: ::Hash,
- ) -> TransactionValidity {
- Executive::validate_transaction(source, tx, block_hash)
- }
- }
-
- impl sp_offchain::OffchainWorkerApi for Runtime {
- fn offchain_worker(header: &::Header) {
- Executive::offchain_worker(header)
- }
- }
-
- impl sp_session::SessionKeys for Runtime {
- fn generate_session_keys(seed: Option>) -> Vec {
- SessionKeys::generate(seed)
- }
-
- fn decode_session_keys(
- encoded: Vec,
- ) -> Option, KeyTypeId)>> {
- SessionKeys::decode_into_raw_public_keys(&encoded)
- }
- }
-
- impl frame_system_rpc_runtime_api::AccountNonceApi for Runtime {
- fn account_nonce(account: AccountId) -> Nonce {
- System::account_nonce(account)
- }
- }
-
- impl pallet_asset_conversion::AssetConversionApi<
- Block,
- Balance,
- u128,
- Box,
- > for Runtime
- {
- fn quote_price_exact_tokens_for_tokens(asset1: Box, asset2: Box, amount: u128, include_fee: bool) -> Option {
- AssetConversion::quote_price_exact_tokens_for_tokens(asset1, asset2, amount, include_fee)
- }
- fn quote_price_tokens_for_exact_tokens(asset1: Box, asset2: Box, amount: u128, include_fee: bool) -> Option {
- AssetConversion::quote_price_tokens_for_exact_tokens(asset1, asset2, amount, include_fee)
- }
- fn get_reserves(asset1: Box, asset2: Box) -> Option<(Balance, Balance)> {
- AssetConversion::get_reserves(&asset1, &asset2).ok()
- }
- }
-
- impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentApi for Runtime {
- fn query_info(
- uxt: ::Extrinsic,
- len: u32,
- ) -> pallet_transaction_payment_rpc_runtime_api::RuntimeDispatchInfo {
- TransactionPayment::query_info(uxt, len)
- }
- fn query_fee_details(
- uxt: ::Extrinsic,
- len: u32,
- ) -> pallet_transaction_payment::FeeDetails {
- TransactionPayment::query_fee_details(uxt, len)
- }
- fn query_weight_to_fee(weight: Weight) -> Balance {
- TransactionPayment::weight_to_fee(weight)
- }
- fn query_length_to_fee(length: u32) -> Balance {
- TransactionPayment::length_to_fee(length)
- }
- }
-
- impl pallet_transaction_payment_rpc_runtime_api::TransactionPaymentCallApi
- for Runtime
- {
- fn query_call_info(
- call: RuntimeCall,
- len: u32,
- ) -> pallet_transaction_payment::RuntimeDispatchInfo {
- TransactionPayment::query_call_info(call, len)
- }
- fn query_call_fee_details(
- call: RuntimeCall,
- len: u32,
- ) -> pallet_transaction_payment::FeeDetails {
- TransactionPayment::query_call_fee_details(call, len)
- }
- fn query_weight_to_fee(weight: Weight) -> Balance {
- TransactionPayment::weight_to_fee(weight)
- }
- fn query_length_to_fee(length: u32) -> Balance {
- TransactionPayment::length_to_fee(length)
- }
- }
-
- impl assets_common::runtime_api::FungiblesApi<
- Block,
- AccountId,
- > for Runtime
- {
- fn query_account_balances(account: AccountId) -> Result {
- use assets_common::fungible_conversion::{convert, convert_balance};
- Ok([
- // collect pallet_balance
- {
- let balance = Balances::free_balance(account.clone());
- if balance > 0 {
- vec![convert_balance::(balance)?]
- } else {
- vec![]
- }
- },
- // collect pallet_assets (TrustBackedAssets)
- convert::<_, _, _, _, TrustBackedAssetsConvertedConcreteId>(
- Assets::account_balances(account.clone())
- .iter()
- .filter(|(_, balance)| balance > &0)
- )?,
- // collect pallet_assets (ForeignAssets)
- convert::<_, _, _, _, ForeignAssetsConvertedConcreteId>(
- ForeignAssets::account_balances(account.clone())
- .iter()
- .filter(|(_, balance)| balance > &0)
- )?,
- // collect pallet_assets (PoolAssets)
- convert::<_, _, _, _, PoolAssetsConvertedConcreteId>(
- PoolAssets::account_balances(account)
- .iter()
- .filter(|(_, balance)| balance > &0)
- )?,
- // collect ... e.g. other tokens
- ].concat().into())
- }
- }
-
- impl cumulus_primitives_core::CollectCollationInfo for Runtime {
- fn collect_collation_info(header: &::Header) -> cumulus_primitives_core::CollationInfo {
- ParachainSystem::collect_collation_info(header)
- }
- }
-
- #[cfg(feature = "try-runtime")]
- impl frame_try_runtime::TryRuntime for Runtime {
- fn on_runtime_upgrade(checks: frame_try_runtime::UpgradeCheckSelect) -> (Weight, Weight) {
- let weight = Executive::try_runtime_upgrade(checks).unwrap();
- (weight, RuntimeBlockWeights::get().max_block)
- }
-
- fn execute_block(
- block: Block,
- state_root_check: bool,
- signature_check: bool,
- select: frame_try_runtime::TryStateSelect,
- ) -> Weight {
- // NOTE: intentional unwrap: we don't want to propagate the error backwards, and want to
- // have a backtrace here.
- Executive::try_execute_block(block, state_root_check, signature_check, select).unwrap()
- }
- }
-
- #[cfg(feature = "runtime-benchmarks")]
- impl frame_benchmarking::Benchmark for Runtime {
- fn benchmark_metadata(extra: bool) -> (
- Vec,
- Vec,
- ) {
- use frame_benchmarking::{Benchmarking, BenchmarkList};
- use frame_support::traits::StorageInfoTrait;
- use frame_system_benchmarking::Pallet as SystemBench;
- use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
- use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
-
- // This is defined once again in dispatch_benchmark, because list_benchmarks!
- // and add_benchmarks! are macros exported by define_benchmarks! macros and those types
- // are referenced in that call.
- type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::;
- type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::;
-
- // Benchmark files generated for `Assets/ForeignAssets` instances are by default
- // `pallet_assets_assets.rs / pallet_assets_foreign_assets`, which is not really nice,
- // so with this redefinition we can change names to nicer:
- // `pallet_assets_local.rs / pallet_assets_foreign.rs`.
- type Local = pallet_assets::Pallet::;
- type Foreign = pallet_assets::Pallet::;
- type Pool = pallet_assets::Pallet::;
-
- let mut list = Vec::::new();
- list_benchmarks!(list, extra);
-
- let storage_info = AllPalletsWithSystem::storage_info();
- (list, storage_info)
- }
-
- fn dispatch_benchmark(
- config: frame_benchmarking::BenchmarkConfig
- ) -> Result, sp_runtime::RuntimeString> {
- use frame_benchmarking::{Benchmarking, BenchmarkBatch, BenchmarkError};
- use sp_storage::TrackedStorageKey;
-
- use frame_system_benchmarking::Pallet as SystemBench;
- impl frame_system_benchmarking::Config for Runtime {
- fn setup_set_code_requirements(code: &sp_std::vec::Vec) -> Result<(), BenchmarkError> {
- ParachainSystem::initialize_for_set_code_benchmark(code.len() as u32);
- Ok(())
- }
-
- fn verify_set_code() {
- System::assert_last_event(cumulus_pallet_parachain_system::Event::::ValidationFunctionStored.into());
- }
- }
-
- use cumulus_pallet_session_benchmarking::Pallet as SessionBench;
- impl cumulus_pallet_session_benchmarking::Config for Runtime {}
-
- use pallet_xcm::benchmarking::Pallet as PalletXcmExtrinsicsBenchmark;
- impl pallet_xcm::benchmarking::Config for Runtime {
- fn reachable_dest() -> Option {
- Some(Parent.into())
- }
-
- fn teleportable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> {
- // Relay/native token can be teleported between AH and Relay.
- Some((
- MultiAsset {
- fun: Fungible(EXISTENTIAL_DEPOSIT),
- id: Concrete(Parent.into())
- },
- Parent.into(),
- ))
- }
-
- fn reserve_transferable_asset_and_dest() -> Option<(MultiAsset, MultiLocation)> {
- // AH can reserve transfer native token to some random parachain.
- let random_para_id = 43211234;
- ParachainSystem::open_outbound_hrmp_channel_for_benchmarks_or_tests(
- random_para_id.into()
- );
- Some((
- MultiAsset {
- fun: Fungible(EXISTENTIAL_DEPOSIT),
- id: Concrete(Parent.into())
- },
- ParentThen(Parachain(random_para_id).into()).into(),
- ))
- }
- }
-
- use xcm::latest::prelude::*;
- use xcm_config::{KsmLocation, MaxAssetsIntoHolding};
- use pallet_xcm_benchmarks::asset_instance_from;
-
- parameter_types! {
- pub ExistentialDepositMultiAsset: Option = Some((
- KsmLocation::get(),
- ExistentialDeposit::get()
- ).into());
- }
-
- impl pallet_xcm_benchmarks::Config for Runtime {
- type XcmConfig = xcm_config::XcmConfig;
- type AccountIdConverter = xcm_config::LocationToAccountId;
- type DeliveryHelper = cumulus_primitives_utility::ToParentDeliveryHelper<
- xcm_config::XcmConfig,
- ExistentialDepositMultiAsset,
- xcm_config::PriceForParentDelivery,
- >;
- fn valid_destination() -> Result {
- Ok(KsmLocation::get())
- }
- fn worst_case_holding(depositable_count: u32) -> MultiAssets {
- // A mix of fungible, non-fungible, and concrete assets.
- let holding_non_fungibles = MaxAssetsIntoHolding::get() / 2 - depositable_count;
- let holding_fungibles = holding_non_fungibles.saturating_sub(1);
- let fungibles_amount: u128 = 100;
- let mut assets = (0..holding_fungibles)
- .map(|i| {
- MultiAsset {
- id: Concrete(GeneralIndex(i as u128).into()),
- fun: Fungible(fungibles_amount * i as u128),
- }
- })
- .chain(core::iter::once(MultiAsset { id: Concrete(Here.into()), fun: Fungible(u128::MAX) }))
- .chain((0..holding_non_fungibles).map(|i| MultiAsset {
- id: Concrete(GeneralIndex(i as u128).into()),
- fun: NonFungible(asset_instance_from(i)),
- }))
- .collect::>();
-
- assets.push(MultiAsset {
- id: Concrete(KsmLocation::get()),
- fun: Fungible(1_000_000 * UNITS),
- });
- assets.into()
- }
- }
-
- parameter_types! {
- pub const TrustedTeleporter: Option<(MultiLocation, MultiAsset)> = Some((
- KsmLocation::get(),
- MultiAsset { fun: Fungible(UNITS), id: Concrete(KsmLocation::get()) },
- ));
- pub const CheckedAccount: Option<(AccountId, xcm_builder::MintLocation)> = None;
- pub const TrustedReserve: Option<(MultiLocation, MultiAsset)> = None;
- }
-
- impl pallet_xcm_benchmarks::fungible::Config for Runtime {
- type TransactAsset = Balances;
-
- type CheckedAccount = CheckedAccount;
- type TrustedTeleporter = TrustedTeleporter;
- type TrustedReserve = TrustedReserve;
-
- fn get_multi_asset() -> MultiAsset {
- MultiAsset {
- id: Concrete(KsmLocation::get()),
- fun: Fungible(UNITS),
- }
- }
- }
-
- impl pallet_xcm_benchmarks::generic::Config for Runtime {
- type TransactAsset = Balances;
- type RuntimeCall = RuntimeCall;
-
- fn worst_case_response() -> (u64, Response) {
- (0u64, Response::Version(Default::default()))
- }
-
- fn worst_case_asset_exchange() -> Result<(MultiAssets, MultiAssets), BenchmarkError> {
- Err(BenchmarkError::Skip)
- }
-
- fn universal_alias() -> Result<(MultiLocation, Junction), BenchmarkError> {
- Err(BenchmarkError::Skip)
- }
-
- fn transact_origin_and_runtime_call() -> Result<(MultiLocation, RuntimeCall), BenchmarkError> {
- Ok((KsmLocation::get(), frame_system::Call::remark_with_event { remark: vec![] }.into()))
- }
-
- fn subscribe_origin() -> Result {
- Ok(KsmLocation::get())
- }
-
- fn claimable_asset() -> Result<(MultiLocation, MultiLocation, MultiAssets), BenchmarkError> {
- let origin = KsmLocation::get();
- let assets: MultiAssets = (Concrete(KsmLocation::get()), 1_000 * UNITS).into();
- let ticket = MultiLocation { parents: 0, interior: Here };
- Ok((origin, ticket, assets))
- }
-
- fn unlockable_asset() -> Result<(MultiLocation, MultiLocation, MultiAsset), BenchmarkError> {
- Err(BenchmarkError::Skip)
- }
-
- fn export_message_origin_and_destination(
- ) -> Result<(MultiLocation, NetworkId, InteriorMultiLocation), BenchmarkError> {
- Err(BenchmarkError::Skip)
- }
-
- fn alias_origin() -> Result<(MultiLocation, MultiLocation), BenchmarkError> {
- Err(BenchmarkError::Skip)
- }
- }
-
- type XcmBalances = pallet_xcm_benchmarks::fungible::Pallet::;
- type XcmGeneric = pallet_xcm_benchmarks::generic::Pallet::;
-
- type Local = pallet_assets::Pallet::;
- type Foreign = pallet_assets::Pallet::;
- type Pool = pallet_assets::Pallet::;
-
- let whitelist: Vec = vec![
- // Block Number
- hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef702a5c1b19ab7a04f536c519aca4983ac").to_vec().into(),
- // Total Issuance
- hex_literal::hex!("c2261276cc9d1f8598ea4b6a74b15c2f57c875e4cff74148e4628f264b974c80").to_vec().into(),
- // Execution Phase
- hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef7ff553b5a9862a516939d82b3d3d8661a").to_vec().into(),
- // Event Count
- hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef70a98fdbe9ce6c55837576c60c7af3850").to_vec().into(),
- // System Events
- hex_literal::hex!("26aa394eea5630e07c48ae0c9558cef780d41e5e16056765bc8461851072c9d7").to_vec().into(),
- //TODO: use from relay_well_known_keys::ACTIVE_CONFIG
- hex_literal::hex!("06de3d8a54d27e44a9d5ce189618f22db4b49d95320d9021994c850f25b8e385").to_vec().into(),
- ];
-
- let mut batches = Vec::::new();
- let params = (&config, &whitelist);
- add_benchmarks!(params, batches);
-
- Ok(batches)
- }
- }
-
- impl sp_genesis_builder::GenesisBuilder for Runtime {
- fn create_default_config() -> Vec {
- create_default_config::()
- }
-
- fn build_config(config: Vec) -> sp_genesis_builder::Result {
- build_config::(config)
- }
- }
-}
-
-cumulus_pallet_parachain_system::register_validate_block! {
- Runtime = Runtime,
- BlockExecutor = cumulus_pallet_aura_ext::BlockExecutor::,
-}
-
-#[cfg(feature = "state-trie-version-1")]
-parameter_types! {
- // The deposit configuration for the singed migration. Specially if you want to allow any signed account to do the migration (see `SignedFilter`, these deposits should be high)
- pub const MigrationSignedDepositPerItem: Balance = CENTS;
- pub const MigrationSignedDepositBase: Balance = 2_000 * CENTS;
- pub const MigrationMaxKeyLen: u32 = 512;
-}
-
-#[cfg(feature = "state-trie-version-1")]
-impl pallet_state_trie_migration::Config for Runtime {
- type RuntimeEvent = RuntimeEvent;
- type Currency = Balances;
- type SignedDepositPerItem = MigrationSignedDepositPerItem;
- type SignedDepositBase = MigrationSignedDepositBase;
- // An origin that can control the whole pallet: should be Root, or a part of your council.
- type ControlOrigin = frame_system::EnsureSignedBy;
- // specific account for the migration, can trigger the signed migrations.
- type SignedFilter = frame_system::EnsureSignedBy;
-
- // Replace this with weight based on your runtime.
- type WeightInfo = pallet_state_trie_migration::weights::SubstrateWeight;
-
- type MaxKeyLen = MigrationMaxKeyLen;
-}
-
-#[cfg(feature = "state-trie-version-1")]
-frame_support::ord_parameter_types! {
- pub const MigController: AccountId = AccountId::from(hex_literal::hex!("8458ed39dc4b6f6c7255f7bc42be50c2967db126357c999d44e12ca7ac80dc52"));
- pub const RootMigController: AccountId = AccountId::from(hex_literal::hex!("8458ed39dc4b6f6c7255f7bc42be50c2967db126357c999d44e12ca7ac80dc52"));
-}
-
-#[cfg(feature = "state-trie-version-1")]
-#[test]
-fn ensure_key_ss58() {
- use frame_support::traits::SortedMembers;
- use sp_core::crypto::Ss58Codec;
- let acc =
- AccountId::from_ss58check("5F4EbSkZz18X36xhbsjvDNs6NuZ82HyYtq5UiJ1h9SBHJXZD").unwrap();
- //panic!("{:x?}", acc);
- assert_eq!(acc, MigController::sorted_members()[0]);
- let acc =
- AccountId::from_ss58check("5F4EbSkZz18X36xhbsjvDNs6NuZ82HyYtq5UiJ1h9SBHJXZD").unwrap();
- assert_eq!(acc, RootMigController::sorted_members()[0]);
- //panic!("{:x?}", acc);
-}
-
-#[cfg(test)]
-mod tests {
- use super::*;
- use crate::{CENTS, MILLICENTS};
- use parachains_common::kusama::fee;
- use sp_runtime::traits::Zero;
- use sp_weights::WeightToFee;
-
- /// We can fit at least 1000 transfers in a block.
- #[test]
- fn sane_block_weight() {
- use pallet_balances::WeightInfo;
- let block = RuntimeBlockWeights::get().max_block;
- let base = RuntimeBlockWeights::get().get(DispatchClass::Normal).base_extrinsic;
- let transfer =
- base + weights::pallet_balances::WeightInfo::::transfer_allow_death();
-
- let fit = block.checked_div_per_component(&transfer).unwrap_or_default();
- assert!(fit >= 1000, "{} should be at least 1000", fit);
- }
-
- /// The fee for one transfer is at most 1 CENT.
- #[test]
- fn sane_transfer_fee() {
- use pallet_balances::WeightInfo;
- let base = RuntimeBlockWeights::get().get(DispatchClass::Normal).base_extrinsic;
- let transfer =
- base + weights::pallet_balances::WeightInfo::::transfer_allow_death();
-
- let fee: Balance = fee::WeightToFee::weight_to_fee(&transfer);
- assert!(fee <= CENTS, "{} MILLICENTS should be at most 1000", fee / MILLICENTS);
- }
-
- /// Weight is being charged for both dimensions.
- #[test]
- fn weight_charged_for_both_components() {
- let fee: Balance = fee::WeightToFee::weight_to_fee(&Weight::from_parts(10_000, 0));
- assert!(!fee.is_zero(), "Charges for ref time");
-
- let fee: Balance = fee::WeightToFee::weight_to_fee(&Weight::from_parts(0, 10_000));
- assert_eq!(fee, CENTS, "10kb maps to CENT");
- }
-
- /// Filling up a block by proof size is at most 30 times more expensive than ref time.
- ///
- /// This is just a sanity check.
- #[test]
- fn full_block_fee_ratio() {
- let block = RuntimeBlockWeights::get().max_block;
- let time_fee: Balance =
- fee::WeightToFee::weight_to_fee(&Weight::from_parts(block.ref_time(), 0));
- let proof_fee: Balance =
- fee::WeightToFee::weight_to_fee(&Weight::from_parts(0, block.proof_size()));
-
- let proof_o_time = proof_fee.checked_div(time_fee).unwrap_or_default();
- assert!(proof_o_time <= 30, "{} should be at most 30", proof_o_time);
- let time_o_proof = time_fee.checked_div(proof_fee).unwrap_or_default();
- assert!(time_o_proof <= 30, "{} should be at most 30", time_o_proof);
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/block_weights.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/block_weights.rs
deleted file mode 100644
index e7fdb2aae2a01ec06076de83d94817e540e205dd..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/block_weights.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-pub mod constants {
- use frame_support::{
- parameter_types,
- weights::{constants, Weight},
- };
-
- parameter_types! {
- /// Importing a block with 0 Extrinsics.
- pub const BlockExecutionWeight: Weight =
- Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(5_000_000), 0);
- }
-
- #[cfg(test)]
- mod test_weights {
- use frame_support::weights::constants;
-
- /// Checks that the weight exists and is sane.
- // NOTE: If this test fails but you are sure that the generated values are fine,
- // you can delete it.
- #[test]
- fn sane() {
- let w = super::constants::BlockExecutionWeight::get();
-
- // At least 100 µs.
- assert!(
- w.ref_time() >= 100u64 * constants::WEIGHT_REF_TIME_PER_MICROS,
- "Weight should be at least 100 µs."
- );
- // At most 50 ms.
- assert!(
- w.ref_time() <= 50u64 * constants::WEIGHT_REF_TIME_PER_MILLIS,
- "Weight should be at most 50 ms."
- );
- }
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_dmp_queue.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_dmp_queue.rs
deleted file mode 100644
index cc41dcd6cbbb62c1392ae2e7517b5dfe920a5b85..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_dmp_queue.rs
+++ /dev/null
@@ -1,131 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// This file is part of Cumulus.
-
-// Cumulus is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// Cumulus is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with Cumulus. If not, see .
-
-//! Autogenerated weights for `cumulus_pallet_dmp_queue`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-10-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-yprdrvc7-project-674-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// target/production/polkadot-parachain
-// benchmark
-// pallet
-// --steps=50
-// --repeat=20
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --json-file=/builds/parity/mirrors/polkadot-sdk/.git/.artifacts/bench.json
-// --pallet=cumulus_pallet_dmp_queue
-// --chain=asset-hub-kusama-dev
-// --header=./cumulus/file_header.txt
-// --output=./cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `cumulus_pallet_dmp_queue`.
-pub struct WeightInfo(PhantomData);
-impl cumulus_pallet_dmp_queue::WeightInfo for WeightInfo {
- /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1)
- /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1)
- /// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
- /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
- /// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
- /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
- /// Storage: `MessageQueue::Pages` (r:0 w:1)
- /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`)
- fn on_idle_good_msg() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `65696`
- // Estimated: `69161`
- // Minimum execution time: 124_651_000 picoseconds.
- Weight::from_parts(127_857_000, 0)
- .saturating_add(Weight::from_parts(0, 69161))
- .saturating_add(T::DbWeight::get().reads(5))
- .saturating_add(T::DbWeight::get().writes(5))
- }
- /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1)
- /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca7d95d3e948effbeccff2de2c182672836` (r:1 w:1)
- fn on_idle_large_msg() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `65659`
- // Estimated: `69124`
- // Minimum execution time: 65_684_000 picoseconds.
- Weight::from_parts(68_039_000, 0)
- .saturating_add(Weight::from_parts(0, 69124))
- .saturating_add(T::DbWeight::get().reads(3))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1)
- /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1)
- /// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
- /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
- /// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
- /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
- /// Storage: `MessageQueue::Pages` (r:0 w:1)
- /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`)
- fn on_idle_overweight_good_msg() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `65726`
- // Estimated: `69191`
- // Minimum execution time: 117_657_000 picoseconds.
- Weight::from_parts(122_035_000, 0)
- .saturating_add(Weight::from_parts(0, 69191))
- .saturating_add(T::DbWeight::get().reads(6))
- .saturating_add(T::DbWeight::get().writes(6))
- }
- /// Storage: `DmpQueue::MigrationStatus` (r:1 w:1)
- /// Proof: `DmpQueue::MigrationStatus` (`max_values`: Some(1), `max_size`: Some(1028), added: 1523, mode: `MaxEncodedLen`)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca754904d6d8c6fe06c4e5965f9b8397421` (r:1 w:0)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca70f923ef3252d0166429d36d20ed665a8` (r:1 w:1)
- /// Storage: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0xcd5c1f6df63bc97f4a8ce37f14a50ca772275f64c354954352b71eea39cfaca2` (r:1 w:1)
- fn on_idle_overweight_large_msg() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `65689`
- // Estimated: `69154`
- // Minimum execution time: 59_799_000 picoseconds.
- Weight::from_parts(61_354_000, 0)
- .saturating_add(Weight::from_parts(0, 69154))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(3))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_parachain_system.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_parachain_system.rs
deleted file mode 100644
index f787aa3270118b87202bc78b58dcb8084d5f5a5b..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_parachain_system.rs
+++ /dev/null
@@ -1,80 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `cumulus_pallet_parachain_system`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-03-28, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `i9`, CPU: `13th Gen Intel(R) Core(TM) i9-13900K`
-//! EXECUTION: Some(Wasm), WASM-EXECUTION: Compiled, CHAIN: Some("statemint-dev"), DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --chain
-// statemint-dev
-// --pallet
-// cumulus_pallet_parachain_system
-// --extrinsic
-// *
-// --execution
-// wasm
-// --wasm-execution
-// compiled
-// --output
-// parachains/runtimes/assets/statemint/src/weights
-// --steps
-// 50
-// --repeat
-// 20
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-
-use frame_support::{traits::Get, weights::Weight};
-use sp_std::marker::PhantomData;
-
-/// Weight functions for `cumulus_pallet_parachain_system`.
-pub struct WeightInfo(PhantomData);
-impl cumulus_pallet_parachain_system::WeightInfo for WeightInfo {
- /// Storage: ParachainSystem LastDmqMqcHead (r:1 w:1)
- /// Proof Skipped: ParachainSystem LastDmqMqcHead (max_values: Some(1), max_size: None, mode: Measured)
- /// Storage: ParachainSystem ReservedDmpWeightOverride (r:1 w:0)
- /// Proof Skipped: ParachainSystem ReservedDmpWeightOverride (max_values: Some(1), max_size: None, mode: Measured)
- /// Storage: MessageQueue BookStateFor (r:1 w:1)
- /// Proof: MessageQueue BookStateFor (max_values: None, max_size: Some(52), added: 2527, mode: MaxEncodedLen)
- /// Storage: MessageQueue ServiceHead (r:1 w:1)
- /// Proof: MessageQueue ServiceHead (max_values: Some(1), max_size: Some(5), added: 500, mode: MaxEncodedLen)
- /// Storage: ParachainSystem ProcessedDownwardMessages (r:0 w:1)
- /// Proof Skipped: ParachainSystem ProcessedDownwardMessages (max_values: Some(1), max_size: None, mode: Measured)
- /// Storage: MessageQueue Pages (r:0 w:16)
- /// Proof: MessageQueue Pages (max_values: None, max_size: Some(65585), added: 68060, mode: MaxEncodedLen)
- /// The range of component `n` is `[0, 1000]`.
- fn enqueue_inbound_downward_messages(n: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `12`
- // Estimated: `8013`
- // Minimum execution time: 1_660_000 picoseconds.
- Weight::from_parts(1_720_000, 0)
- .saturating_add(Weight::from_parts(0, 8013))
- // Standard Error: 28_418
- .saturating_add(Weight::from_parts(24_636_963, 0).saturating_mul(n.into()))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_xcmp_queue.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_xcmp_queue.rs
deleted file mode 100644
index e394e8b837a10323bddab2f2fdfff6d6208b290c..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_xcmp_queue.rs
+++ /dev/null
@@ -1,148 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `cumulus_pallet_xcmp_queue`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-09-15, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `Olivers-MacBook-Pro.local`, CPU: ``
-//! WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/release/polkadot-parachain
-// benchmark
-// pallet
-// --pallet
-// cumulus-pallet-xcmp-queue
-// --chain
-// asset-hub-kusama-dev
-// --output
-// cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/cumulus_pallet_xcmp_queue.rs
-// --extrinsic
-//
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `cumulus_pallet_xcmp_queue`.
-pub struct WeightInfo(PhantomData);
-impl cumulus_pallet_xcmp_queue::WeightInfo for WeightInfo {
- /// Storage: `XcmpQueue::QueueConfig` (r:1 w:1)
- /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- fn set_config_with_u32() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `76`
- // Estimated: `1561`
- // Minimum execution time: 6_000_000 picoseconds.
- Weight::from_parts(6_000_000, 0)
- .saturating_add(Weight::from_parts(0, 1561))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0)
- /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
- /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
- /// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
- /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
- /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0)
- /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `MessageQueue::Pages` (r:0 w:1)
- /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`)
- fn enqueue_xcmp_message() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `118`
- // Estimated: `3517`
- // Minimum execution time: 15_000_000 picoseconds.
- Weight::from_parts(16_000_000, 0)
- .saturating_add(Weight::from_parts(0, 3517))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(3))
- }
- /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
- /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- fn suspend_channel() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `76`
- // Estimated: `1561`
- // Minimum execution time: 3_000_000 picoseconds.
- Weight::from_parts(3_000_000, 0)
- .saturating_add(Weight::from_parts(0, 1561))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `XcmpQueue::OutboundXcmpStatus` (r:1 w:1)
- /// Proof: `XcmpQueue::OutboundXcmpStatus` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- fn resume_channel() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `111`
- // Estimated: `1596`
- // Minimum execution time: 4_000_000 picoseconds.
- Weight::from_parts(5_000_000, 0)
- .saturating_add(Weight::from_parts(0, 1596))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- fn take_first_concatenated_xcm() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0`
- // Estimated: `0`
- // Minimum execution time: 44_000_000 picoseconds.
- Weight::from_parts(45_000_000, 0)
- .saturating_add(Weight::from_parts(0, 0))
- }
- /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1)
- /// Storage: `XcmpQueue::InboundXcmpMessages` (r:1 w:1)
- /// Proof: `XcmpQueue::InboundXcmpMessages` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// Storage: `MessageQueue::BookStateFor` (r:1 w:1)
- /// Proof: `MessageQueue::BookStateFor` (`max_values`: None, `max_size`: Some(52), added: 2527, mode: `MaxEncodedLen`)
- /// Storage: `MessageQueue::ServiceHead` (r:1 w:1)
- /// Proof: `MessageQueue::ServiceHead` (`max_values`: Some(1), `max_size`: Some(5), added: 500, mode: `MaxEncodedLen`)
- /// Storage: `XcmpQueue::QueueConfig` (r:1 w:0)
- /// Proof: `XcmpQueue::QueueConfig` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `XcmpQueue::InboundXcmpSuspended` (r:1 w:0)
- /// Proof: `XcmpQueue::InboundXcmpSuspended` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `MessageQueue::Pages` (r:0 w:1)
- /// Proof: `MessageQueue::Pages` (`max_values`: None, `max_size`: Some(65585), added: 68060, mode: `MaxEncodedLen`)
- fn on_idle_good_msg() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `65747`
- // Estimated: `69212`
- // Minimum execution time: 62_000_000 picoseconds.
- Weight::from_parts(66_000_000, 0)
- .saturating_add(Weight::from_parts(0, 69212))
- .saturating_add(T::DbWeight::get().reads(6))
- .saturating_add(T::DbWeight::get().writes(5))
- }
- /// Storage: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1)
- /// Proof: UNKNOWN KEY `0x7b3237373ffdfeb1cab4222e3b520d6b345d8e88afa015075c945637c07e8f20` (r:1 w:1)
- fn on_idle_large_msg() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `65710`
- // Estimated: `69175`
- // Minimum execution time: 42_000_000 picoseconds.
- Weight::from_parts(43_000_000, 0)
- .saturating_add(Weight::from_parts(0, 69175))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/extrinsic_weights.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/extrinsic_weights.rs
deleted file mode 100644
index 1a4adb968bb7195428ea00d59cd92dcd3b6eea5f..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/extrinsic_weights.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-// This file is part of Substrate.
-
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-pub mod constants {
- use frame_support::{
- parameter_types,
- weights::{constants, Weight},
- };
-
- parameter_types! {
- /// Executing a NO-OP `System::remarks` Extrinsic.
- pub const ExtrinsicBaseWeight: Weight =
- Weight::from_parts(constants::WEIGHT_REF_TIME_PER_NANOS.saturating_mul(125_000), 0);
- }
-
- #[cfg(test)]
- mod test_weights {
- use frame_support::weights::constants;
-
- /// Checks that the weight exists and is sane.
- // NOTE: If this test fails but you are sure that the generated values are fine,
- // you can delete it.
- #[test]
- fn sane() {
- let w = super::constants::ExtrinsicBaseWeight::get();
-
- // At least 10 µs.
- assert!(
- w.ref_time() >= 10u64 * constants::WEIGHT_REF_TIME_PER_MICROS,
- "Weight should be at least 10 µs."
- );
- // At most 1 ms.
- assert!(
- w.ref_time() <= constants::WEIGHT_REF_TIME_PER_MILLIS,
- "Weight should be at most 1 ms."
- );
- }
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/frame_system.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/frame_system.rs
deleted file mode 100644
index 6304051e6cb3b18d04cf266293e97df2ba891a0f..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/frame_system.rs
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `frame_system`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot-parachain
-// benchmark
-// pallet
-// --chain=asset-hub-kusama-dev
-// --wasm-execution=compiled
-// --pallet=frame_system
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=50
-// --repeat=20
-// --json
-// --header=./file_header.txt
-// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `frame_system`.
-pub struct WeightInfo(PhantomData);
-impl frame_system::WeightInfo for WeightInfo {
- /// The range of component `b` is `[0, 3932160]`.
- fn remark(b: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0`
- // Estimated: `0`
- // Minimum execution time: 2_106_000 picoseconds.
- Weight::from_parts(1_884_213, 0)
- .saturating_add(Weight::from_parts(0, 0))
- // Standard Error: 0
- .saturating_add(Weight::from_parts(388, 0).saturating_mul(b.into()))
- }
- /// The range of component `b` is `[0, 3932160]`.
- fn remark_with_event(b: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0`
- // Estimated: `0`
- // Minimum execution time: 7_528_000 picoseconds.
- Weight::from_parts(27_081_927, 0)
- .saturating_add(Weight::from_parts(0, 0))
- // Standard Error: 7
- .saturating_add(Weight::from_parts(1_730, 0).saturating_mul(b.into()))
- }
- /// Storage: `System::Digest` (r:1 w:1)
- /// Proof: `System::Digest` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
- /// Proof: UNKNOWN KEY `0x3a686561707061676573` (r:0 w:1)
- fn set_heap_pages() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0`
- // Estimated: `1485`
- // Minimum execution time: 3_882_000 picoseconds.
- Weight::from_parts(4_149_000, 0)
- .saturating_add(Weight::from_parts(0, 1485))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ParachainSystem::ValidationData` (r:1 w:0)
- /// Proof: `ParachainSystem::ValidationData` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::UpgradeRestrictionSignal` (r:1 w:0)
- /// Proof: `ParachainSystem::UpgradeRestrictionSignal` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::PendingValidationCode` (r:1 w:1)
- /// Proof: `ParachainSystem::PendingValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::HostConfiguration` (r:1 w:0)
- /// Proof: `ParachainSystem::HostConfiguration` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::NewValidationCode` (r:0 w:1)
- /// Proof: `ParachainSystem::NewValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- /// Storage: `ParachainSystem::DidSetValidationCode` (r:0 w:1)
- /// Proof: `ParachainSystem::DidSetValidationCode` (`max_values`: Some(1), `max_size`: None, mode: `Measured`)
- fn set_code() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `119`
- // Estimated: `1604`
- // Minimum execution time: 103_389_161_000 picoseconds.
- Weight::from_parts(106_870_091_000, 0)
- .saturating_add(Weight::from_parts(0, 1604))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(3))
- }
- /// Storage: `Skipped::Metadata` (r:0 w:0)
- /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// The range of component `i` is `[0, 1000]`.
- fn set_storage(i: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0`
- // Estimated: `0`
- // Minimum execution time: 2_236_000 picoseconds.
- Weight::from_parts(2_302_000, 0)
- .saturating_add(Weight::from_parts(0, 0))
- // Standard Error: 2_045
- .saturating_add(Weight::from_parts(763_456, 0).saturating_mul(i.into()))
- .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
- }
- /// Storage: `Skipped::Metadata` (r:0 w:0)
- /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// The range of component `i` is `[0, 1000]`.
- fn kill_storage(i: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0`
- // Estimated: `0`
- // Minimum execution time: 2_175_000 picoseconds.
- Weight::from_parts(2_238_000, 0)
- .saturating_add(Weight::from_parts(0, 0))
- // Standard Error: 1_040
- .saturating_add(Weight::from_parts(571_397, 0).saturating_mul(i.into()))
- .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(i.into())))
- }
- /// Storage: `Skipped::Metadata` (r:0 w:0)
- /// Proof: `Skipped::Metadata` (`max_values`: None, `max_size`: None, mode: `Measured`)
- /// The range of component `p` is `[0, 1000]`.
- fn kill_prefix(p: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `84 + p * (69 ±0)`
- // Estimated: `80 + p * (70 ±0)`
- // Minimum execution time: 3_843_000 picoseconds.
- Weight::from_parts(3_947_000, 0)
- .saturating_add(Weight::from_parts(0, 80))
- // Standard Error: 2_188
- .saturating_add(Weight::from_parts(1_212_360, 0).saturating_mul(p.into()))
- .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(p.into())))
- .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(p.into())))
- .saturating_add(Weight::from_parts(0, 70).saturating_mul(p.into()))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/mod.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/mod.rs
deleted file mode 100644
index f04081a84fb3e191f1a6e1e26cfaac3dee90cc76..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/mod.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-pub mod block_weights;
-pub mod cumulus_pallet_dmp_queue;
-pub mod cumulus_pallet_parachain_system;
-pub mod cumulus_pallet_xcmp_queue;
-pub mod extrinsic_weights;
-pub mod frame_system;
-pub mod pallet_asset_conversion;
-pub mod pallet_assets_foreign;
-pub mod pallet_assets_local;
-pub mod pallet_assets_pool;
-pub mod pallet_balances;
-pub mod pallet_collator_selection;
-pub mod pallet_message_queue;
-pub mod pallet_multisig;
-pub mod pallet_nft_fractionalization;
-pub mod pallet_nfts;
-pub mod pallet_proxy;
-pub mod pallet_session;
-pub mod pallet_timestamp;
-pub mod pallet_uniques;
-pub mod pallet_utility;
-pub mod pallet_xcm;
-pub mod paritydb_weights;
-pub mod rocksdb_weights;
-pub mod xcm;
-
-pub use block_weights::constants::BlockExecutionWeight;
-pub use extrinsic_weights::constants::ExtrinsicBaseWeight;
-pub use paritydb_weights::constants::ParityDbWeight;
-pub use rocksdb_weights::constants::RocksDbWeight;
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_asset_conversion.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_asset_conversion.rs
deleted file mode 100644
index 3fcf2f8f4ec57260b2aaa7e422baa8c8e9be4772..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_asset_conversion.rs
+++ /dev/null
@@ -1,154 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_asset_conversion`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-07-26, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// target/production/polkadot-parachain
-// benchmark
-// pallet
-// --steps=50
-// --repeat=20
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --json-file=/builds/parity/mirrors/cumulus/.git/.artifacts/bench.json
-// --pallet=pallet_asset_conversion
-// --chain=asset-hub-kusama-dev
-// --header=./file_header.txt
-// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_asset_conversion`.
-pub struct WeightInfo(PhantomData);
-impl pallet_asset_conversion::WeightInfo for WeightInfo {
- /// Storage: `AssetConversion::Pools` (r:1 w:1)
- /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`)
- /// Storage: UNKNOWN KEY `0x76a2c49709deec21d9c05f96c1f47351` (r:1 w:0)
- /// Proof: UNKNOWN KEY `0x76a2c49709deec21d9c05f96c1f47351` (r:1 w:0)
- /// Storage: `System::Account` (r:2 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `AssetConversion::NextPoolAssetId` (r:1 w:1)
- /// Proof: `AssetConversion::NextPoolAssetId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn create_pool() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `480`
- // Estimated: `6196`
- // Minimum execution time: 88_484_000 picoseconds.
- Weight::from_parts(92_964_000, 0)
- .saturating_add(Weight::from_parts(0, 6196))
- .saturating_add(T::DbWeight::get().reads(9))
- .saturating_add(T::DbWeight::get().writes(7))
- }
- /// Storage: `AssetConversion::Pools` (r:1 w:0)
- /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:2 w:2)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:2 w:2)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn add_liquidity() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `1117`
- // Estimated: `7404`
- // Minimum execution time: 153_015_000 picoseconds.
- Weight::from_parts(157_018_000, 0)
- .saturating_add(Weight::from_parts(0, 7404))
- .saturating_add(T::DbWeight::get().reads(8))
- .saturating_add(T::DbWeight::get().writes(7))
- }
- /// Storage: `AssetConversion::Pools` (r:1 w:0)
- /// Proof: `AssetConversion::Pools` (`max_values`: None, `max_size`: Some(1224), added: 3699, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:2 w:2)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: UNKNOWN KEY `0x2433d831722b1f4aeb1666953f1c0e77` (r:1 w:0)
- /// Proof: UNKNOWN KEY `0x2433d831722b1f4aeb1666953f1c0e77` (r:1 w:0)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn remove_liquidity() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `1106`
- // Estimated: `7404`
- // Minimum execution time: 141_726_000 picoseconds.
- Weight::from_parts(147_865_000, 0)
- .saturating_add(Weight::from_parts(0, 7404))
- .saturating_add(T::DbWeight::get().reads(8))
- .saturating_add(T::DbWeight::get().writes(6))
- }
- /// Storage: `ForeignAssets::Asset` (r:2 w:2)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:4 w:4)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:2 w:2)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn swap_exact_tokens_for_tokens() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `1148`
- // Estimated: `13818`
- // Minimum execution time: 168_619_000 picoseconds.
- Weight::from_parts(174_283_000, 0)
- .saturating_add(Weight::from_parts(0, 13818))
- .saturating_add(T::DbWeight::get().reads(8))
- .saturating_add(T::DbWeight::get().writes(8))
- }
- /// Storage: `System::Account` (r:2 w:2)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:2 w:2)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:4 w:4)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- fn swap_tokens_for_exact_tokens() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `1148`
- // Estimated: `13818`
- // Minimum execution time: 171_565_000 picoseconds.
- Weight::from_parts(173_702_000, 0)
- .saturating_add(Weight::from_parts(0, 13818))
- .saturating_add(T::DbWeight::get().reads(8))
- .saturating_add(T::DbWeight::get().writes(8))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_foreign.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_foreign.rs
deleted file mode 100644
index c2688d97905491adbd91cd8bbc588adc64819c96..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_foreign.rs
+++ /dev/null
@@ -1,533 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_assets`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-06-20, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot-parachain
-// benchmark
-// pallet
-// --steps=50
-// --repeat=20
-// --extrinsic=*
-// --execution=wasm
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --json-file=/var/lib/gitlab-runner/builds/zyw4fam_/0/parity/mirrors/cumulus/.git/.artifacts/bench.json
-// --pallet=pallet_assets
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=50
-// --repeat=20
-// --json
-// --header=./file_header.txt
-// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_assets`.
-pub struct WeightInfo(PhantomData);
-impl pallet_assets::WeightInfo for WeightInfo {
- /// Storage: `ParachainInfo::ParachainId` (r:1 w:0)
- /// Proof: `ParachainInfo::ParachainId` (`max_values`: Some(1), `max_size`: Some(4), added: 499, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn create() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `107`
- // Estimated: `4273`
- // Minimum execution time: 30_485_000 picoseconds.
- Weight::from_parts(31_007_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(3))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn force_create() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `4`
- // Estimated: `4273`
- // Minimum execution time: 12_991_000 picoseconds.
- Weight::from_parts(13_304_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn start_destroy() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `276`
- // Estimated: `4273`
- // Minimum execution time: 15_689_000 picoseconds.
- Weight::from_parts(16_063_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: ForeignAssets Asset (r:1 w:1)
- /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen)
- /// Storage: ForeignAssets Account (r:1001 w:1000)
- /// Proof: ForeignAssets Account (max_values: None, max_size: Some(732), added: 3207, mode: MaxEncodedLen)
- /// Storage: System Account (r:1000 w:1000)
- /// Proof: System Account (max_values: None, max_size: Some(128), added: 2603, mode: MaxEncodedLen)
- /// The range of component `c` is `[0, 1000]`.
- /// The range of component `c` is `[0, 1000]`.
- fn destroy_accounts(c: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0 + c * (208 ±0)`
- // Estimated: `4273 + c * (3207 ±0)`
- // Minimum execution time: 18_533_000 picoseconds.
- Weight::from_parts(18_791_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- // Standard Error: 5_059
- .saturating_add(Weight::from_parts(12_049_659, 0).saturating_mul(c.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into())))
- .saturating_add(T::DbWeight::get().writes(1))
- .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into())))
- .saturating_add(Weight::from_parts(0, 3207).saturating_mul(c.into()))
- }
- /// Storage: ForeignAssets Asset (r:1 w:1)
- /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen)
- /// Storage: ForeignAssets Approvals (r:1001 w:1000)
- /// Proof: ForeignAssets Approvals (max_values: None, max_size: Some(746), added: 3221, mode: MaxEncodedLen)
- /// The range of component `a` is `[0, 1000]`.
- /// The range of component `a` is `[0, 1000]`.
- fn destroy_approvals(a: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `413 + a * (86 ±0)`
- // Estimated: `4273 + a * (3221 ±0)`
- // Minimum execution time: 20_028_000 picoseconds.
- Weight::from_parts(20_148_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- // Standard Error: 3_401
- .saturating_add(Weight::from_parts(13_897_319, 0).saturating_mul(a.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into())))
- .saturating_add(T::DbWeight::get().writes(1))
- .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into())))
- .saturating_add(Weight::from_parts(0, 3221).saturating_mul(a.into()))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Metadata` (r:1 w:0)
- /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`)
- fn finish_destroy() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 15_949_000 picoseconds.
- Weight::from_parts(16_241_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- fn mint() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 27_156_000 picoseconds.
- Weight::from_parts(28_182_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- fn burn() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `4273`
- // Minimum execution time: 33_503_000 picoseconds.
- Weight::from_parts(33_860_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:2 w:2)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `7404`
- // Minimum execution time: 45_065_000 picoseconds.
- Weight::from_parts(45_856_000, 0)
- .saturating_add(Weight::from_parts(0, 7404))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:2 w:2)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer_keep_alive() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `7404`
- // Minimum execution time: 39_913_000 picoseconds.
- Weight::from_parts(40_791_000, 0)
- .saturating_add(Weight::from_parts(0, 7404))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:2 w:2)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn force_transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `7404`
- // Minimum execution time: 45_337_000 picoseconds.
- Weight::from_parts(45_980_000, 0)
- .saturating_add(Weight::from_parts(0, 7404))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:0)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- fn freeze() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `4273`
- // Minimum execution time: 19_012_000 picoseconds.
- Weight::from_parts(19_326_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:0)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- fn thaw() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `4273`
- // Minimum execution time: 18_656_000 picoseconds.
- Weight::from_parts(19_205_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn freeze_asset() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `276`
- // Estimated: `4273`
- // Minimum execution time: 15_440_000 picoseconds.
- Weight::from_parts(15_825_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn thaw_asset() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `276`
- // Estimated: `4273`
- // Minimum execution time: 15_465_000 picoseconds.
- Weight::from_parts(15_769_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Metadata` (r:1 w:0)
- /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`)
- fn transfer_ownership() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 16_579_000 picoseconds.
- Weight::from_parts(16_931_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn set_team() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 15_138_000 picoseconds.
- Weight::from_parts(15_435_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: ForeignAssets Asset (r:1 w:0)
- /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen)
- /// Storage: ForeignAssets Metadata (r:1 w:1)
- /// Proof: ForeignAssets Metadata (max_values: None, max_size: Some(738), added: 3213, mode: MaxEncodedLen)
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- fn set_metadata(_n: u32, _s: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 29_846_000 picoseconds.
- Weight::from_parts(31_607_649, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:0)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Metadata` (r:1 w:1)
- /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`)
- fn clear_metadata() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `406`
- // Estimated: `4273`
- // Minimum execution time: 30_582_000 picoseconds.
- Weight::from_parts(31_008_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: ForeignAssets Asset (r:1 w:0)
- /// Proof: ForeignAssets Asset (max_values: None, max_size: Some(808), added: 3283, mode: MaxEncodedLen)
- /// Storage: ForeignAssets Metadata (r:1 w:1)
- /// Proof: ForeignAssets Metadata (max_values: None, max_size: Some(738), added: 3213, mode: MaxEncodedLen)
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- fn force_set_metadata(_n: u32, s: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `81`
- // Estimated: `4273`
- // Minimum execution time: 14_186_000 picoseconds.
- Weight::from_parts(14_717_332, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- // Standard Error: 517
- .saturating_add(Weight::from_parts(2_595, 0).saturating_mul(s.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:0)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Metadata` (r:1 w:1)
- /// Proof: `ForeignAssets::Metadata` (`max_values`: None, `max_size`: Some(738), added: 3213, mode: `MaxEncodedLen`)
- fn force_clear_metadata() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `406`
- // Estimated: `4273`
- // Minimum execution time: 29_499_000 picoseconds.
- Weight::from_parts(29_918_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn force_asset_status() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 13_815_000 picoseconds.
- Weight::from_parts(14_138_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Approvals` (r:1 w:1)
- /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`)
- fn approve_transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `276`
- // Estimated: `4273`
- // Minimum execution time: 33_029_000 picoseconds.
- Weight::from_parts(33_524_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Approvals` (r:1 w:1)
- /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:2 w:2)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer_approved() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `520`
- // Estimated: `7404`
- // Minimum execution time: 63_205_000 picoseconds.
- Weight::from_parts(64_078_000, 0)
- .saturating_add(Weight::from_parts(0, 7404))
- .saturating_add(T::DbWeight::get().reads(5))
- .saturating_add(T::DbWeight::get().writes(5))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Approvals` (r:1 w:1)
- /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`)
- fn cancel_approval() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `446`
- // Estimated: `4273`
- // Minimum execution time: 34_948_000 picoseconds.
- Weight::from_parts(35_484_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Approvals` (r:1 w:1)
- /// Proof: `ForeignAssets::Approvals` (`max_values`: None, `max_size`: Some(746), added: 3221, mode: `MaxEncodedLen`)
- fn force_cancel_approval() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `446`
- // Estimated: `4273`
- // Minimum execution time: 35_722_000 picoseconds.
- Weight::from_parts(36_266_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn set_min_balance() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 15_855_000 picoseconds.
- Weight::from_parts(16_182_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn touch() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `345`
- // Estimated: `4273`
- // Minimum execution time: 34_984_000 picoseconds.
- Weight::from_parts(35_512_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(3))
- .saturating_add(T::DbWeight::get().writes(3))
- }
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn touch_other() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `242`
- // Estimated: `4273`
- // Minimum execution time: 33_041_000 picoseconds.
- Weight::from_parts(34_124_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn refund() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `471`
- // Estimated: `4273`
- // Minimum execution time: 31_728_000 picoseconds.
- Weight::from_parts(32_012_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(3))
- .saturating_add(T::DbWeight::get().writes(3))
- }
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Asset` (r:1 w:1)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- fn refund_other() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `401`
- // Estimated: `4273`
- // Minimum execution time: 29_432_000 picoseconds.
- Weight::from_parts(29_968_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `ForeignAssets::Asset` (r:1 w:0)
- /// Proof: `ForeignAssets::Asset` (`max_values`: None, `max_size`: Some(808), added: 3283, mode: `MaxEncodedLen`)
- /// Storage: `ForeignAssets::Account` (r:1 w:1)
- /// Proof: `ForeignAssets::Account` (`max_values`: None, `max_size`: Some(732), added: 3207, mode: `MaxEncodedLen`)
- fn block() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `350`
- // Estimated: `4273`
- // Minimum execution time: 18_827_000 picoseconds.
- Weight::from_parts(19_172_000, 0)
- .saturating_add(Weight::from_parts(0, 4273))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_local.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_local.rs
deleted file mode 100644
index 957e33fcd9ea20ff201ae3635466afcf154be011..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_local.rs
+++ /dev/null
@@ -1,530 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_assets`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot-parachain
-// benchmark
-// pallet
-// --chain=asset-hub-kusama-dev
-// --wasm-execution=compiled
-// --pallet=pallet_assets
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=50
-// --repeat=20
-// --json
-// --header=./file_header.txt
-// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_assets`.
-pub struct WeightInfo(PhantomData);
-impl pallet_assets::WeightInfo for WeightInfo {
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn create() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `109`
- // Estimated: `3675`
- // Minimum execution time: 26_510_000 picoseconds.
- Weight::from_parts(27_332_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn force_create() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `6`
- // Estimated: `3675`
- // Minimum execution time: 10_899_000 picoseconds.
- Weight::from_parts(11_395_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn start_destroy() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `277`
- // Estimated: `3675`
- // Minimum execution time: 13_593_000 picoseconds.
- Weight::from_parts(14_108_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:1001 w:1000)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1000 w:1000)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- /// The range of component `c` is `[0, 1000]`.
- /// The range of component `c` is `[0, 1000]`.
- fn destroy_accounts(c: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0 + c * (208 ±0)`
- // Estimated: `3675 + c * (2609 ±0)`
- // Minimum execution time: 16_216_000 picoseconds.
- Weight::from_parts(16_636_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 9_346
- .saturating_add(Weight::from_parts(15_306_152, 0).saturating_mul(c.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into())))
- .saturating_add(T::DbWeight::get().writes(1))
- .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into())))
- .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into()))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Approvals` (r:1001 w:1000)
- /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- /// The range of component `a` is `[0, 1000]`.
- /// The range of component `a` is `[0, 1000]`.
- fn destroy_approvals(a: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `414 + a * (86 ±0)`
- // Estimated: `3675 + a * (2623 ±0)`
- // Minimum execution time: 16_745_000 picoseconds.
- Weight::from_parts(17_247_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(Weight::from_parts(15_634_963, 0).saturating_mul(a.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into())))
- .saturating_add(T::DbWeight::get().writes(1))
- .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into()))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Metadata` (r:1 w:0)
- /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn finish_destroy() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 13_650_000 picoseconds.
- Weight::from_parts(14_721_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn mint() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 24_121_000 picoseconds.
- Weight::from_parts(25_023_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn burn() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `3675`
- // Minimum execution time: 31_414_000 picoseconds.
- Weight::from_parts(32_235_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:2 w:2)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `6208`
- // Minimum execution time: 43_114_000 picoseconds.
- Weight::from_parts(44_106_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:2 w:2)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer_keep_alive() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `6208`
- // Minimum execution time: 37_954_000 picoseconds.
- Weight::from_parts(38_772_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:2 w:2)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn force_transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `6208`
- // Minimum execution time: 43_051_000 picoseconds.
- Weight::from_parts(44_003_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn freeze() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `3675`
- // Minimum execution time: 17_048_000 picoseconds.
- Weight::from_parts(17_614_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn thaw() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `3675`
- // Minimum execution time: 16_705_000 picoseconds.
- Weight::from_parts(17_581_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn freeze_asset() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `277`
- // Estimated: `3675`
- // Minimum execution time: 13_284_000 picoseconds.
- Weight::from_parts(13_735_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn thaw_asset() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `277`
- // Estimated: `3675`
- // Minimum execution time: 13_030_000 picoseconds.
- Weight::from_parts(13_417_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Metadata` (r:1 w:0)
- /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn transfer_ownership() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 14_174_000 picoseconds.
- Weight::from_parts(14_660_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn set_team() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 12_737_000 picoseconds.
- Weight::from_parts(13_172_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Metadata` (r:1 w:1)
- /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- fn set_metadata(n: u32, s: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 27_707_000 picoseconds.
- Weight::from_parts(29_036_880, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 688
- .saturating_add(Weight::from_parts(2_426, 0).saturating_mul(n.into()))
- // Standard Error: 688
- .saturating_add(Weight::from_parts(776, 0).saturating_mul(s.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Metadata` (r:1 w:1)
- /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn clear_metadata() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `407`
- // Estimated: `3675`
- // Minimum execution time: 28_514_000 picoseconds.
- Weight::from_parts(29_216_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Metadata` (r:1 w:1)
- /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- fn force_set_metadata(n: u32, s: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `82`
- // Estimated: `3675`
- // Minimum execution time: 12_452_000 picoseconds.
- Weight::from_parts(13_095_356, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 275
- .saturating_add(Weight::from_parts(826, 0).saturating_mul(n.into()))
- // Standard Error: 275
- .saturating_add(Weight::from_parts(808, 0).saturating_mul(s.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Metadata` (r:1 w:1)
- /// Proof: `Assets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn force_clear_metadata() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `407`
- // Estimated: `3675`
- // Minimum execution time: 28_181_000 picoseconds.
- Weight::from_parts(29_050_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn force_asset_status() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 12_253_000 picoseconds.
- Weight::from_parts(12_545_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Approvals` (r:1 w:1)
- /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- fn approve_transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `277`
- // Estimated: `3675`
- // Minimum execution time: 31_084_000 picoseconds.
- Weight::from_parts(32_052_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Approvals` (r:1 w:1)
- /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:2 w:2)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer_approved() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `521`
- // Estimated: `6208`
- // Minimum execution time: 61_756_000 picoseconds.
- Weight::from_parts(62_740_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(5))
- .saturating_add(T::DbWeight::get().writes(5))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Approvals` (r:1 w:1)
- /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- fn cancel_approval() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `447`
- // Estimated: `3675`
- // Minimum execution time: 33_370_000 picoseconds.
- Weight::from_parts(34_127_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Approvals` (r:1 w:1)
- /// Proof: `Assets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- fn force_cancel_approval() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `447`
- // Estimated: `3675`
- // Minimum execution time: 33_753_000 picoseconds.
- Weight::from_parts(34_613_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn set_min_balance() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 13_508_000 picoseconds.
- Weight::from_parts(13_997_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn touch() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `346`
- // Estimated: `3675`
- // Minimum execution time: 32_578_000 picoseconds.
- Weight::from_parts(33_675_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(3))
- .saturating_add(T::DbWeight::get().writes(3))
- }
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn touch_other() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `243`
- // Estimated: `3675`
- // Minimum execution time: 30_768_000 picoseconds.
- Weight::from_parts(31_710_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn refund() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `472`
- // Estimated: `3675`
- // Minimum execution time: 30_028_000 picoseconds.
- Weight::from_parts(30_793_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(3))
- .saturating_add(T::DbWeight::get().writes(3))
- }
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Asset` (r:1 w:1)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn refund_other() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `402`
- // Estimated: `3675`
- // Minimum execution time: 28_354_000 picoseconds.
- Weight::from_parts(29_097_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `Assets::Asset` (r:1 w:0)
- /// Proof: `Assets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `Assets::Account` (r:1 w:1)
- /// Proof: `Assets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn block() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `351`
- // Estimated: `3675`
- // Minimum execution time: 16_607_000 picoseconds.
- Weight::from_parts(17_433_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_pool.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_pool.rs
deleted file mode 100644
index e0b4ff3655217bb2b91c27ea0290b9aeee389ba2..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_assets_pool.rs
+++ /dev/null
@@ -1,530 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_assets`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-07-27, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// target/production/polkadot-parachain
-// benchmark
-// pallet
-// --steps=50
-// --repeat=20
-// --extrinsic=*
-// --wasm-execution=compiled
-// --heap-pages=4096
-// --json-file=/builds/parity/mirrors/cumulus/.git/.artifacts/bench.json
-// --pallet=pallet_assets
-// --chain=asset-hub-kusama-dev
-// --header=./file_header.txt
-// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_assets`.
-pub struct WeightInfo(PhantomData);
-impl pallet_assets::WeightInfo for WeightInfo {
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn create() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `42`
- // Estimated: `3675`
- // Minimum execution time: 11_591_000 picoseconds.
- Weight::from_parts(11_901_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn force_create() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `42`
- // Estimated: `3675`
- // Minimum execution time: 11_184_000 picoseconds.
- Weight::from_parts(11_640_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn start_destroy() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `314`
- // Estimated: `3675`
- // Minimum execution time: 13_809_000 picoseconds.
- Weight::from_parts(14_226_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1001 w:1000)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1000 w:1000)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- /// The range of component `c` is `[0, 1000]`.
- /// The range of component `c` is `[0, 1000]`.
- /// The range of component `c` is `[0, 1000]`.
- fn destroy_accounts(c: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `0 + c * (208 ±0)`
- // Estimated: `3675 + c * (2609 ±0)`
- // Minimum execution time: 16_439_000 picoseconds.
- Weight::from_parts(16_743_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 4_792
- .saturating_add(Weight::from_parts(14_463_991, 0).saturating_mul(c.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().reads((2_u64).saturating_mul(c.into())))
- .saturating_add(T::DbWeight::get().writes(1))
- .saturating_add(T::DbWeight::get().writes((2_u64).saturating_mul(c.into())))
- .saturating_add(Weight::from_parts(0, 2609).saturating_mul(c.into()))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Approvals` (r:1001 w:1000)
- /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- /// The range of component `a` is `[0, 1000]`.
- /// The range of component `a` is `[0, 1000]`.
- /// The range of component `a` is `[0, 1000]`.
- fn destroy_approvals(a: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `451 + a * (86 ±0)`
- // Estimated: `3675 + a * (2623 ±0)`
- // Minimum execution time: 17_218_000 picoseconds.
- Weight::from_parts(17_585_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 2_056
- .saturating_add(Weight::from_parts(5_323_866, 0).saturating_mul(a.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().reads((1_u64).saturating_mul(a.into())))
- .saturating_add(T::DbWeight::get().writes(1))
- .saturating_add(T::DbWeight::get().writes((1_u64).saturating_mul(a.into())))
- .saturating_add(Weight::from_parts(0, 2623).saturating_mul(a.into()))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Metadata` (r:1 w:0)
- /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn finish_destroy() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 13_848_000 picoseconds.
- Weight::from_parts(14_325_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn mint() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 24_904_000 picoseconds.
- Weight::from_parts(25_607_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn burn() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `3675`
- // Minimum execution time: 31_477_000 picoseconds.
- Weight::from_parts(32_338_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:2 w:2)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `6208`
- // Minimum execution time: 42_994_000 picoseconds.
- Weight::from_parts(44_041_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:2 w:2)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer_keep_alive() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `6208`
- // Minimum execution time: 37_551_000 picoseconds.
- Weight::from_parts(38_648_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:2 w:2)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn force_transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `6208`
- // Minimum execution time: 42_829_000 picoseconds.
- Weight::from_parts(44_029_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(4))
- .saturating_add(T::DbWeight::get().writes(4))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn freeze() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `3675`
- // Minimum execution time: 17_304_000 picoseconds.
- Weight::from_parts(17_782_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn thaw() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `3675`
- // Minimum execution time: 17_040_000 picoseconds.
- Weight::from_parts(17_698_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn freeze_asset() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `314`
- // Estimated: `3675`
- // Minimum execution time: 13_238_000 picoseconds.
- Weight::from_parts(13_810_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn thaw_asset() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `314`
- // Estimated: `3675`
- // Minimum execution time: 13_034_000 picoseconds.
- Weight::from_parts(13_603_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Metadata` (r:1 w:0)
- /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn transfer_ownership() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 14_357_000 picoseconds.
- Weight::from_parts(14_774_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn set_team() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 13_040_000 picoseconds.
- Weight::from_parts(13_616_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Metadata` (r:1 w:1)
- /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- fn set_metadata(n: u32, s: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 15_274_000 picoseconds.
- Weight::from_parts(16_096_881, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 239
- .saturating_add(Weight::from_parts(1_631, 0).saturating_mul(n.into()))
- // Standard Error: 239
- .saturating_add(Weight::from_parts(2_334, 0).saturating_mul(s.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Metadata` (r:1 w:1)
- /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn clear_metadata() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `444`
- // Estimated: `3675`
- // Minimum execution time: 15_900_000 picoseconds.
- Weight::from_parts(16_526_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Metadata` (r:1 w:1)
- /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- /// The range of component `n` is `[0, 50]`.
- /// The range of component `s` is `[0, 50]`.
- fn force_set_metadata(n: u32, s: u32, ) -> Weight {
- // Proof Size summary in bytes:
- // Measured: `119`
- // Estimated: `3675`
- // Minimum execution time: 13_391_000 picoseconds.
- Weight::from_parts(14_047_176, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- // Standard Error: 172
- .saturating_add(Weight::from_parts(2_617, 0).saturating_mul(n.into()))
- // Standard Error: 172
- .saturating_add(Weight::from_parts(2_081, 0).saturating_mul(s.into()))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Metadata` (r:1 w:1)
- /// Proof: `PoolAssets::Metadata` (`max_values`: None, `max_size`: Some(140), added: 2615, mode: `MaxEncodedLen`)
- fn force_clear_metadata() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `444`
- // Estimated: `3675`
- // Minimum execution time: 15_794_000 picoseconds.
- Weight::from_parts(16_279_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn force_asset_status() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 12_538_000 picoseconds.
- Weight::from_parts(13_080_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Approvals` (r:1 w:1)
- /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- fn approve_transfer() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `314`
- // Estimated: `3675`
- // Minimum execution time: 18_991_000 picoseconds.
- Weight::from_parts(19_812_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Approvals` (r:1 w:1)
- /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:2 w:2)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `System::Account` (r:1 w:1)
- /// Proof: `System::Account` (`max_values`: None, `max_size`: Some(128), added: 2603, mode: `MaxEncodedLen`)
- fn transfer_approved() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `558`
- // Estimated: `6208`
- // Minimum execution time: 50_336_000 picoseconds.
- Weight::from_parts(51_441_000, 0)
- .saturating_add(Weight::from_parts(0, 6208))
- .saturating_add(T::DbWeight::get().reads(5))
- .saturating_add(T::DbWeight::get().writes(5))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Approvals` (r:1 w:1)
- /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- fn cancel_approval() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `484`
- // Estimated: `3675`
- // Minimum execution time: 21_195_000 picoseconds.
- Weight::from_parts(21_946_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Approvals` (r:1 w:1)
- /// Proof: `PoolAssets::Approvals` (`max_values`: None, `max_size`: Some(148), added: 2623, mode: `MaxEncodedLen`)
- fn force_cancel_approval() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `484`
- // Estimated: `3675`
- // Minimum execution time: 21_568_000 picoseconds.
- Weight::from_parts(22_366_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn set_min_balance() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 13_690_000 picoseconds.
- Weight::from_parts(14_086_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(1))
- .saturating_add(T::DbWeight::get().writes(1))
- }
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn touch() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 18_240_000 picoseconds.
- Weight::from_parts(19_000_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn touch_other() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `280`
- // Estimated: `3675`
- // Minimum execution time: 18_469_000 picoseconds.
- Weight::from_parts(19_040_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn refund() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `406`
- // Estimated: `3675`
- // Minimum execution time: 14_633_000 picoseconds.
- Weight::from_parts(15_296_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Asset` (r:1 w:1)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- fn refund_other() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `439`
- // Estimated: `3675`
- // Minimum execution time: 14_751_000 picoseconds.
- Weight::from_parts(15_312_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(2))
- }
- /// Storage: `PoolAssets::Asset` (r:1 w:0)
- /// Proof: `PoolAssets::Asset` (`max_values`: None, `max_size`: Some(210), added: 2685, mode: `MaxEncodedLen`)
- /// Storage: `PoolAssets::Account` (r:1 w:1)
- /// Proof: `PoolAssets::Account` (`max_values`: None, `max_size`: Some(134), added: 2609, mode: `MaxEncodedLen`)
- fn block() -> Weight {
- // Proof Size summary in bytes:
- // Measured: `388`
- // Estimated: `3675`
- // Minimum execution time: 16_930_000 picoseconds.
- Weight::from_parts(17_653_000, 0)
- .saturating_add(Weight::from_parts(0, 3675))
- .saturating_add(T::DbWeight::get().reads(2))
- .saturating_add(T::DbWeight::get().writes(1))
- }
-}
diff --git a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_balances.rs b/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_balances.rs
deleted file mode 100644
index 79c88f305806495de0d55c51986cc4ae27731750..0000000000000000000000000000000000000000
--- a/cumulus/parachains/runtimes/assets/asset-hub-kusama/src/weights/pallet_balances.rs
+++ /dev/null
@@ -1,152 +0,0 @@
-// Copyright (C) Parity Technologies (UK) Ltd.
-// SPDX-License-Identifier: Apache-2.0
-
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-//! Autogenerated weights for `pallet_balances`
-//!
-//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2023-07-31, STEPS: `50`, REPEAT: `20`, LOW RANGE: `[]`, HIGH RANGE: `[]`
-//! WORST CASE MAP SIZE: `1000000`
-//! HOSTNAME: `runner-ynta1nyy-project-238-concurrent-0`, CPU: `Intel(R) Xeon(R) CPU @ 2.60GHz`
-//! EXECUTION: ``, WASM-EXECUTION: `Compiled`, CHAIN: `Some("asset-hub-kusama-dev")`, DB CACHE: 1024
-
-// Executed Command:
-// ./target/production/polkadot-parachain
-// benchmark
-// pallet
-// --chain=asset-hub-kusama-dev
-// --wasm-execution=compiled
-// --pallet=pallet_balances
-// --no-storage-info
-// --no-median-slopes
-// --no-min-squares
-// --extrinsic=*
-// --steps=50
-// --repeat=20
-// --json
-// --header=./file_header.txt
-// --output=./parachains/runtimes/assets/asset-hub-kusama/src/weights/
-
-#![cfg_attr(rustfmt, rustfmt_skip)]
-#![allow(unused_parens)]
-#![allow(unused_imports)]
-#![allow(missing_docs)]
-
-use frame_support::{traits::Get, weights::Weight};
-use core::marker::PhantomData;
-
-/// Weight functions for `pallet_balances`.
-pub struct WeightInfo(PhantomData