From ed87d188c6706e73228c44235b67688d394cd245 Mon Sep 17 00:00:00 2001 From: Gav Wood Date: Fri, 11 Mar 2022 18:13:49 +0100 Subject: [PATCH] Companion fixes --- Cargo.lock | 152 +++++++++--------- pallets/xcmp-queue/src/mock.rs | 4 +- parachain-template/runtime/src/xcm_config.rs | 22 ++- .../canvas-kusama/src/xcm_config.rs | 16 +- polkadot-parachains/pallets/ping/src/lib.rs | 14 +- .../parachains-common/src/impls.rs | 7 +- .../rococo-parachain/src/lib.rs | 23 ++- polkadot-parachains/shell/src/xcm_config.rs | 13 +- .../statemine/src/xcm_config.rs | 26 ++- .../statemint/src/xcm_config.rs | 25 ++- .../westmint/src/xcm_config.rs | 22 ++- primitives/utility/src/lib.rs | 2 +- 12 files changed, 192 insertions(+), 134 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index d79f6ba522..ee303e6d5a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -732,7 +732,6 @@ dependencies = [ [[package]] name = "bp-header-chain" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "finality-grandpa", "frame-support", @@ -748,7 +747,6 @@ dependencies = [ [[package]] name = "bp-message-dispatch" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-runtime", "frame-support", @@ -760,7 +758,6 @@ dependencies = [ [[package]] name = "bp-messages" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "bp-runtime", @@ -776,7 +773,6 @@ dependencies = [ [[package]] name = "bp-polkadot-core" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-messages", "bp-runtime", @@ -794,7 +790,6 @@ dependencies = [ [[package]] name = "bp-rococo" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-messages", "bp-polkadot-core", @@ -811,7 +806,6 @@ dependencies = [ [[package]] name = "bp-runtime" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "hash-db", @@ -829,7 +823,6 @@ dependencies = [ [[package]] name = "bp-test-utils" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-header-chain", "ed25519-dalek", @@ -844,7 +837,6 @@ dependencies = [ [[package]] name = "bp-wococo" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-messages", "bp-polkadot-core", @@ -859,7 +851,6 @@ dependencies = [ [[package]] name = "bridge-runtime-common" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-message-dispatch", "bp-messages", @@ -4182,7 +4173,6 @@ dependencies = [ [[package]] name = "kusama-runtime" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "bitvec", @@ -4270,7 +4260,6 @@ dependencies = [ [[package]] name = "kusama-runtime-constants" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "polkadot-primitives", @@ -5134,7 +5123,6 @@ dependencies = [ [[package]] name = "metered-channel" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "derive_more", "futures 0.3.21", @@ -5791,7 +5779,6 @@ dependencies = [ [[package]] name = "pallet-bridge-dispatch" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-message-dispatch", "bp-runtime", @@ -5808,7 +5795,6 @@ dependencies = [ [[package]] name = "pallet-bridge-grandpa" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bp-header-chain", "bp-runtime", @@ -5830,7 +5816,6 @@ dependencies = [ [[package]] name = "pallet-bridge-messages" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "bp-message-dispatch", @@ -6606,15 +6591,16 @@ dependencies = [ [[package]] name = "pallet-xcm" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", "serde", "sp-core", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -6624,7 +6610,6 @@ dependencies = [ [[package]] name = "pallet-xcm-benchmarks" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-benchmarking", "frame-support", @@ -6632,6 +6617,7 @@ dependencies = [ "log", "parity-scale-codec", "scale-info", + "sp-io", "sp-runtime", "sp-std", "xcm", @@ -7185,7 +7171,6 @@ dependencies = [ [[package]] name = "polkadot-approval-distribution" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "polkadot-node-network-protocol", @@ -7199,7 +7184,6 @@ dependencies = [ [[package]] name = "polkadot-availability-bitfield-distribution" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "polkadot-node-network-protocol", @@ -7212,7 +7196,6 @@ dependencies = [ [[package]] name = "polkadot-availability-distribution" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "derive_more", "fatality", @@ -7235,7 +7218,6 @@ dependencies = [ [[package]] name = "polkadot-availability-recovery" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "fatality", "futures 0.3.21", @@ -7256,7 +7238,6 @@ dependencies = [ [[package]] name = "polkadot-cli" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "clap 3.1.6", "frame-benchmarking-cli", @@ -7279,7 +7260,6 @@ dependencies = [ [[package]] name = "polkadot-client" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "frame-benchmarking", @@ -7385,7 +7365,6 @@ dependencies = [ [[package]] name = "polkadot-collator-protocol" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "always-assert", "fatality", @@ -7406,7 +7385,6 @@ dependencies = [ [[package]] name = "polkadot-core-primitives" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "parity-scale-codec", "parity-util-mem", @@ -7419,7 +7397,6 @@ dependencies = [ [[package]] name = "polkadot-dispute-distribution" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "derive_more", "fatality", @@ -7442,7 +7419,6 @@ dependencies = [ [[package]] name = "polkadot-erasure-coding" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "parity-scale-codec", "polkadot-node-primitives", @@ -7456,7 +7432,6 @@ dependencies = [ [[package]] name = "polkadot-gossip-support" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "futures-timer", @@ -7476,7 +7451,6 @@ dependencies = [ [[package]] name = "polkadot-network-bridge" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "futures 0.3.21", @@ -7495,7 +7469,6 @@ dependencies = [ [[package]] name = "polkadot-node-collation-generation" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "parity-scale-codec", @@ -7513,7 +7486,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-approval-voting" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "derive_more", @@ -7541,7 +7513,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-av-store" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "futures 0.3.21", @@ -7561,7 +7532,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-backing" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "futures 0.3.21", @@ -7579,7 +7549,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-bitfield-signing" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "polkadot-node-subsystem", @@ -7594,7 +7563,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-candidate-validation" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "futures 0.3.21", @@ -7612,7 +7580,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-api" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "polkadot-node-subsystem", @@ -7627,7 +7594,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-chain-selection" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "futures-timer", @@ -7644,7 +7610,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-dispute-coordinator" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "fatality", "futures 0.3.21", @@ -7663,7 +7628,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-parachains-inherent" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "futures 0.3.21", @@ -7680,7 +7644,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-provisioner" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "futures 0.3.21", @@ -7697,7 +7660,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "always-assert", "assert_matches", @@ -7727,7 +7689,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-pvf-checker" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "polkadot-node-primitives", @@ -7743,7 +7704,6 @@ dependencies = [ [[package]] name = "polkadot-node-core-runtime-api" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "memory-lru", @@ -7761,7 +7721,6 @@ dependencies = [ [[package]] name = "polkadot-node-jaeger" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-std", "lazy_static", @@ -7779,7 +7738,6 @@ dependencies = [ [[package]] name = "polkadot-node-metrics" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bs58", "futures 0.3.21", @@ -7798,7 +7756,6 @@ dependencies = [ [[package]] name = "polkadot-node-network-protocol" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "fatality", @@ -7816,7 +7773,6 @@ dependencies = [ [[package]] name = "polkadot-node-primitives" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bounded-vec", "futures 0.3.21", @@ -7838,7 +7794,6 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "polkadot-node-jaeger", "polkadot-node-subsystem-types", @@ -7848,7 +7803,6 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-test-helpers" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "futures 0.3.21", @@ -7866,7 +7820,6 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-types" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "derive_more", "futures 0.3.21", @@ -7885,7 +7838,6 @@ dependencies = [ [[package]] name = "polkadot-node-subsystem-util" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "derive_more", @@ -7918,7 +7870,6 @@ dependencies = [ [[package]] name = "polkadot-overseer" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "futures 0.3.21", "futures-timer", @@ -7939,7 +7890,6 @@ dependencies = [ [[package]] name = "polkadot-overseer-gen" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "futures 0.3.21", @@ -7956,7 +7906,6 @@ dependencies = [ [[package]] name = "polkadot-overseer-gen-proc-macro" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "expander 0.0.5", "proc-macro-crate 1.1.3", @@ -7968,7 +7917,6 @@ dependencies = [ [[package]] name = "polkadot-parachain" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "derive_more", "frame-support", @@ -7985,7 +7933,6 @@ dependencies = [ [[package]] name = "polkadot-performance-test" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "env_logger", "kusama-runtime", @@ -8000,7 +7947,6 @@ dependencies = [ [[package]] name = "polkadot-primitives" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitvec", "frame-system", @@ -8030,7 +7976,6 @@ dependencies = [ [[package]] name = "polkadot-rpc" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-gadget", "beefy-gadget-rpc", @@ -8061,7 +8006,6 @@ dependencies = [ [[package]] name = "polkadot-runtime" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "bitvec", @@ -8145,7 +8089,6 @@ dependencies = [ [[package]] name = "polkadot-runtime-common" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "bitvec", @@ -8192,7 +8135,6 @@ dependencies = [ [[package]] name = "polkadot-runtime-constants" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "polkadot-primitives", @@ -8204,7 +8146,6 @@ dependencies = [ [[package]] name = "polkadot-runtime-metrics" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bs58", "parity-scale-codec", @@ -8216,7 +8157,6 @@ dependencies = [ [[package]] name = "polkadot-runtime-parachains" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "bitflags", "bitvec", @@ -8258,7 +8198,6 @@ dependencies = [ [[package]] name = "polkadot-service" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "async-trait", "beefy-gadget", @@ -8359,7 +8298,6 @@ dependencies = [ [[package]] name = "polkadot-statement-distribution" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "arrayvec 0.5.2", "fatality", @@ -8380,7 +8318,6 @@ dependencies = [ [[package]] name = "polkadot-statement-table" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "parity-scale-codec", "polkadot-primitives", @@ -8390,7 +8327,6 @@ dependencies = [ [[package]] name = "polkadot-test-client" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "parity-scale-codec", "polkadot-node-subsystem", @@ -8415,7 +8351,6 @@ dependencies = [ [[package]] name = "polkadot-test-runtime" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "bitvec", @@ -8477,7 +8412,6 @@ dependencies = [ [[package]] name = "polkadot-test-service" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-benchmarking", "frame-system", @@ -9137,7 +9071,6 @@ dependencies = [ [[package]] name = "rococo-runtime" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "bp-messages", @@ -9212,7 +9145,6 @@ dependencies = [ [[package]] name = "rococo-runtime-constants" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "polkadot-primitives", @@ -10801,7 +10733,6 @@ checksum = "9def91fd1e018fe007022791f865d0ccc9b3a0d5001e01aabb8b40e46000afb5" [[package]] name = "slot-range-helper" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "enumn", "parity-scale-codec", @@ -12054,7 +11985,6 @@ checksum = "507e9898683b6c43a9aa55b64259b721b52ba226e0f3779137e50ad114a4c90b" [[package]] name = "test-runtime-constants" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "polkadot-primitives", @@ -13052,7 +12982,6 @@ dependencies = [ [[package]] name = "westend-runtime" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "beefy-primitives", "bitvec", @@ -13138,7 +13067,6 @@ dependencies = [ [[package]] name = "westend-runtime-constants" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "polkadot-primitives", @@ -13358,23 +13286,23 @@ dependencies = [ [[package]] name = "xcm" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "derivative", "impl-trait-for-tuples", "log", "parity-scale-codec", "scale-info", + "sp-io", "xcm-procedural", ] [[package]] name = "xcm-builder" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-support", "frame-system", + "impl-trait-for-tuples", "log", "pallet-transaction-payment", "parity-scale-codec", @@ -13391,7 +13319,6 @@ dependencies = [ [[package]] name = "xcm-executor" version = "0.9.17" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "frame-benchmarking", "frame-support", @@ -13409,7 +13336,6 @@ dependencies = [ [[package]] name = "xcm-procedural" version = "0.1.0" -source = "git+https://github.com/paritytech/polkadot?branch=master#dead598b50f8b946ed90cd437a38e73231d768a8" dependencies = [ "Inflector", "proc-macro2", @@ -13480,3 +13406,71 @@ dependencies = [ "cc", "libc", ] + +[[patch.unused]] +name = "polkadot" +version = "0.9.17" + +[[patch.unused]] +name = "polkadot-primitives-test-helpers" +version = "0.9.17" + +[[patch.unused]] +name = "polkadot-test-malus" +version = "0.9.17" + +[[patch.unused]] +name = "polkadot-voter-bags" +version = "0.9.17" + +[[patch.unused]] +name = "remote-ext-tests-bags-list" +version = "0.9.17" + +[[patch.unused]] +name = "staking-miner" +version = "0.9.17" + +[[patch.unused]] +name = "test-parachain-adder" +version = "0.9.17" + +[[patch.unused]] +name = "test-parachain-adder-collator" +version = "0.9.17" + +[[patch.unused]] +name = "test-parachain-halt" +version = "0.9.17" + +[[patch.unused]] +name = "test-parachain-undying" +version = "0.9.17" + +[[patch.unused]] +name = "test-parachain-undying-collator" +version = "0.9.17" + +[[patch.unused]] +name = "test-parachains" +version = "0.9.17" + +[[patch.unused]] +name = "xcm-executor-integration-tests" +version = "0.9.17" + +[[patch.unused]] +name = "xcm-simulator" +version = "0.9.17" + +[[patch.unused]] +name = "xcm-simulator-example" +version = "0.9.17" + +[[patch.unused]] +name = "xcm-simulator-fuzzer" +version = "0.9.17" + +[[patch.unused]] +name = "zombienet-backchannel" +version = "0.9.17" diff --git a/pallets/xcmp-queue/src/mock.rs b/pallets/xcmp-queue/src/mock.rs index 4d8bf0b2a4..18a099e5ab 100644 --- a/pallets/xcmp-queue/src/mock.rs +++ b/pallets/xcmp-queue/src/mock.rs @@ -113,7 +113,7 @@ impl cumulus_pallet_parachain_system::Config for Test { parameter_types! { pub const RelayChain: MultiLocation = MultiLocation::parent(); - pub Ancestry: MultiLocation = X1(Parachain(1u32.into())).into(); + pub UniversalLocation: InteriorMultiLocation = X1(Parachain(1u32.into())).into(); pub UnitWeightCost: Weight = 1_000_000; pub const MaxInstructions: u32 = 100; pub const MaxAssetsIntoHolding: u32 = 64; @@ -144,7 +144,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = (); type IsReserve = NativeAsset; type IsTeleporter = NativeAsset; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = (); type Weigher = FixedWeightBounds; type Trader = (); diff --git a/parachain-template/runtime/src/xcm_config.rs b/parachain-template/runtime/src/xcm_config.rs index 0684020fea..bf7a717c26 100644 --- a/parachain-template/runtime/src/xcm_config.rs +++ b/parachain-template/runtime/src/xcm_config.rs @@ -4,7 +4,7 @@ use super::{ }; use frame_support::{ match_types, parameter_types, - traits::{Everything, Nothing}, + traits::{Everything, Nothing, ConstU32}, weights::Weight, }; use pallet_xcm::XcmPassthrough; @@ -22,9 +22,9 @@ use xcm_executor::XcmExecutor; parameter_types! { pub const RelayLocation: MultiLocation = MultiLocation::parent(); - pub const RelayNetwork: NetworkId = NetworkId::Any; + pub const RelayNetwork: Option = None; pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); } /// Type for specifying how a `MultiLocation` can be converted into an `AccountId`. This is used @@ -104,7 +104,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; type IsTeleporter = (); // Teleporting is disabled. - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = @@ -113,8 +113,13 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; - type PalletInstanceInfo = (); + type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } /// No local origins on this chain are allowed to dispatch XCM sends/executions. @@ -141,13 +146,18 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; // ^ Override for AdvertisedXcmVersion default type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; } impl cumulus_pallet_xcm::Config for Runtime { diff --git a/polkadot-parachains/canvas-kusama/src/xcm_config.rs b/polkadot-parachains/canvas-kusama/src/xcm_config.rs index c129d4d016..33d563f165 100644 --- a/polkadot-parachains/canvas-kusama/src/xcm_config.rs +++ b/polkadot-parachains/canvas-kusama/src/xcm_config.rs @@ -40,7 +40,7 @@ parameter_types! { pub const RelayLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Any; pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub const Local: MultiLocation = Here.into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); pub const ExecutiveBody: BodyId = BodyId::Executive; @@ -136,7 +136,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; type IsTeleporter = NativeAsset; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = UsingComponents; @@ -144,6 +144,11 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } /// Converts a local signed origin into an XCM multilocation. @@ -172,11 +177,16 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; } impl cumulus_pallet_xcm::Config for Runtime { diff --git a/polkadot-parachains/pallets/ping/src/lib.rs b/polkadot-parachains/pallets/ping/src/lib.rs index ffac149a65..621190bc79 100644 --- a/polkadot-parachains/pallets/ping/src/lib.rs +++ b/polkadot-parachains/pallets/ping/src/lib.rs @@ -69,9 +69,9 @@ pub mod pallet { #[pallet::event] #[pallet::generate_deposit(pub(super) fn deposit_event)] pub enum Event { - PingSent(ParaId, u32, Vec), + PingSent(ParaId, u32, Vec, XcmHash, MultiAssets), Pinged(ParaId, u32, Vec), - PongSent(ParaId, u32, Vec), + PongSent(ParaId, u32, Vec, XcmHash, MultiAssets), Ponged(ParaId, u32, Vec, T::BlockNumber), ErrorSendingPing(SendError, ParaId, u32, Vec), ErrorSendingPong(SendError, ParaId, u32, Vec), @@ -90,7 +90,7 @@ pub mod pallet { *seq }); match send_xcm::( - (Parent, Junction::Parachain(para.into())), + (Parent, Junction::Parachain(para.into())).into(), Xcm(vec![Transact { origin_kind: OriginKind::Native, require_weight_at_most: 1_000, @@ -102,9 +102,9 @@ pub mod pallet { .into(), }]), ) { - Ok(()) => { + Ok((hash, cost)) => { Pings::::insert(seq, n); - Self::deposit_event(Event::PingSent(para, seq, payload)); + Self::deposit_event(Event::PingSent(para, seq, payload, hash, cost)); }, Err(e) => { Self::deposit_event(Event::ErrorSendingPing(e, para, seq, payload)); @@ -166,7 +166,7 @@ pub mod pallet { Self::deposit_event(Event::Pinged(para, seq, payload.clone())); match send_xcm::( - (Parent, Junction::Parachain(para.into())), + (Parent, Junction::Parachain(para.into())).into(), Xcm(vec![Transact { origin_kind: OriginKind::Native, require_weight_at_most: 1_000, @@ -178,7 +178,7 @@ pub mod pallet { .into(), }]), ) { - Ok(()) => Self::deposit_event(Event::PongSent(para, seq, payload)), + Ok((hash, cost)) => Self::deposit_event(Event::PongSent(para, seq, payload, hash, cost)), Err(e) => Self::deposit_event(Event::ErrorSendingPong(e, para, seq, payload)), } Ok(()) diff --git a/polkadot-parachains/parachains-common/src/impls.rs b/polkadot-parachains/parachains-common/src/impls.rs index 4a2411c2cf..2b66cd416d 100644 --- a/polkadot-parachains/parachains-common/src/impls.rs +++ b/polkadot-parachains/parachains-common/src/impls.rs @@ -18,13 +18,12 @@ use frame_support::traits::{ fungibles::{self, Balanced, CreditOf}, - Contains, Currency, Get, Imbalance, OnUnbalanced, + Contains, ContainsPair, Currency, Get, Imbalance, OnUnbalanced, }; use pallet_asset_tx_payment::HandleCredit; use sp_runtime::traits::Zero; use sp_std::marker::PhantomData; use xcm::latest::{AssetId, Fungibility::Fungible, MultiAsset, MultiLocation}; -use xcm_executor::traits::FilterAssetLocation; /// Type alias to conveniently refer to the `Currency::NegativeImbalance` associated type. pub type NegativeImbalance = as Currency< @@ -100,8 +99,8 @@ where /// Asset filter that allows all assets from a certain location. pub struct AssetsFrom(PhantomData); -impl> FilterAssetLocation for AssetsFrom { - fn filter_asset_location(asset: &MultiAsset, origin: &MultiLocation) -> bool { +impl> ContainsPair for AssetsFrom { + fn contains(asset: &MultiAsset, origin: &MultiLocation) -> bool { let loc = T::get(); &loc == origin && matches!(asset, MultiAsset { id: AssetId::Concrete(asset_loc), fun: Fungible(_a) } diff --git a/polkadot-parachains/rococo-parachain/src/lib.rs b/polkadot-parachains/rococo-parachain/src/lib.rs index b7c30ebb1c..8697a63fba 100644 --- a/polkadot-parachains/rococo-parachain/src/lib.rs +++ b/polkadot-parachains/rococo-parachain/src/lib.rs @@ -22,6 +22,7 @@ #[cfg(feature = "std")] include!(concat!(env!("OUT_DIR"), "/wasm_binary.rs")); +use frame_support::traits::{Nothing, ConstU32}; use sp_api::impl_runtime_apis; use sp_core::OpaqueMetadata; use sp_runtime::{ @@ -62,7 +63,7 @@ use parachains_common::{ }; use xcm_builder::{ AllowKnownQueryResponses, AllowSubscriptionsFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, FungiblesAdapter, + ConvertedConcreteId, FungiblesAdapter, }; use xcm_executor::traits::JustTry; @@ -275,7 +276,7 @@ parameter_types! { pub const RocLocation: MultiLocation = MultiLocation::parent(); pub const RococoNetwork: NetworkId = NetworkId::Polkadot; pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = X1(Parachain(ParachainInfo::parachain_id().into())); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); } @@ -310,7 +311,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // Use this fungibles implementation: Assets, // Use this currency when it is a fungible asset matching the given location or name: - ConvertedConcreteAssetId< + ConvertedConcreteId< AssetId, u64, AsPrefixedGeneralIndex, @@ -403,7 +404,7 @@ impl Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = Reserves; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of ROC - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = UsingComponents, RocLocation, AccountId, Balances, ()>; @@ -413,6 +414,11 @@ impl Config for XcmConfig { type SubscriptionService = PolkadotXcm; type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } /// Local origins on this chain are allowed to dispatch XCM sends/executions. @@ -435,13 +441,18 @@ impl pallet_xcm::Config for Runtime { type XcmExecuteFilter = Everything; type XcmExecutor = XcmExecutor; type XcmTeleportFilter = Everything; - type XcmReserveTransferFilter = frame_support::traits::Nothing; + type XcmReserveTransferFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; } impl cumulus_pallet_xcm::Config for Runtime { diff --git a/polkadot-parachains/shell/src/xcm_config.rs b/polkadot-parachains/shell/src/xcm_config.rs index dad6b053a5..88bc28b728 100644 --- a/polkadot-parachains/shell/src/xcm_config.rs +++ b/polkadot-parachains/shell/src/xcm_config.rs @@ -14,7 +14,7 @@ // limitations under the License. use super::{AccountId, Call, Event, Origin, ParachainInfo, Runtime}; -use frame_support::{match_types, parameter_types, weights::Weight}; +use frame_support::{match_types, parameter_types, weights::Weight, traits::Nothing}; use xcm::latest::prelude::*; use xcm_builder::{ AllowUnpaidExecutionFrom, FixedWeightBounds, LocationInverter, ParentAsSuperuser, @@ -24,7 +24,7 @@ use xcm_builder::{ parameter_types! { pub const RococoLocation: MultiLocation = MultiLocation::parent(); pub const RococoNetwork: NetworkId = NetworkId::Polkadot; - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = X1(Parachain(ParachainInfo::parachain_id().into())); } /// This is the type we use to convert an (incoming) XCM origin into a local `Origin` instance, @@ -59,7 +59,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = (); // balances not supported type IsTeleporter = (); // balances not supported - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = AllowUnpaidExecutionFrom; type Weigher = FixedWeightBounds; // balances not supported type Trader = (); // balances not supported @@ -67,8 +67,13 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = (); // don't trap for now type AssetClaims = (); // don't claim for now type SubscriptionService = (); // don't handle subscriptions for now - type PalletInstanceInfo = (); + type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } impl cumulus_pallet_xcm::Config for Runtime { diff --git a/polkadot-parachains/statemine/src/xcm_config.rs b/polkadot-parachains/statemine/src/xcm_config.rs index 726603d578..5adcf22d06 100644 --- a/polkadot-parachains/statemine/src/xcm_config.rs +++ b/polkadot-parachains/statemine/src/xcm_config.rs @@ -19,7 +19,7 @@ use super::{ }; use frame_support::{ match_types, parameter_types, - traits::{Everything, Nothing, PalletInfoAccess}, + traits::{Everything, Nothing, PalletInfoAccess, ConstU32}, weights::Weight, }; use pallet_xcm::XcmPassthrough; @@ -29,7 +29,7 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, + ConvertedConcreteId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, FungiblesAdapter, IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, @@ -41,8 +41,8 @@ parameter_types! { pub const KsmLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Kusama; pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); - pub const Local: MultiLocation = Here.into(); + pub UniversalLocation: InteriorMultiLocation = X1(Parachain(ParachainInfo::parachain_id().into())); + pub const Local: MultiLocation = Here.into_location(); pub AssetsPalletLocation: MultiLocation = PalletInstance(::index() as u8).into(); pub CheckingAccount: AccountId = PolkadotXcm::check_account(); @@ -79,7 +79,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // Use this fungibles implementation: Assets, // Use this currency when it is a fungible asset matching the given location or name: - ConvertedConcreteAssetId< + ConvertedConcreteId< AssetId, Balance, AsPrefixedGeneralIndex, @@ -159,7 +159,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of KSM - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = @@ -168,8 +168,13 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; - type PalletInstanceInfo = (); + type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } /// Converts a local signed origin into an XCM multilocation. @@ -198,11 +203,16 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; } impl cumulus_pallet_xcm::Config for Runtime { diff --git a/polkadot-parachains/statemint/src/xcm_config.rs b/polkadot-parachains/statemint/src/xcm_config.rs index 380282df56..e12578567b 100644 --- a/polkadot-parachains/statemint/src/xcm_config.rs +++ b/polkadot-parachains/statemint/src/xcm_config.rs @@ -19,7 +19,7 @@ use super::{ }; use frame_support::{ match_types, parameter_types, - traits::{Everything, Nothing, PalletInfoAccess}, + traits::{Everything, Nothing, PalletInfoAccess, ConstU32}, weights::Weight, }; use pallet_xcm::XcmPassthrough; @@ -29,7 +29,7 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, + ConvertedConcreteId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, FungiblesAdapter, IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, @@ -41,7 +41,7 @@ parameter_types! { pub const DotLocation: MultiLocation = MultiLocation::parent(); pub const RelayNetwork: NetworkId = NetworkId::Polkadot; pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub const Local: MultiLocation = Here.into(); pub AssetsPalletLocation: MultiLocation = PalletInstance(::index() as u8).into(); @@ -79,7 +79,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // Use this fungibles implementation: Assets, // Use this currency when it is a fungible asset matching the given location or name: - ConvertedConcreteAssetId< + ConvertedConcreteId< AssetId, Balance, AsPrefixedGeneralIndex, @@ -159,7 +159,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of DOT - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = @@ -168,8 +168,13 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; - type PalletInstanceInfo = (); + type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } /// Converts a local signed origin into an XCM multilocation. @@ -198,12 +203,16 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Nothing; type XcmReserveTransferFilter = Nothing; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; -} + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>;} impl cumulus_pallet_xcm::Config for Runtime { type Event = Event; diff --git a/polkadot-parachains/westmint/src/xcm_config.rs b/polkadot-parachains/westmint/src/xcm_config.rs index e59336864a..54acfeb2a8 100644 --- a/polkadot-parachains/westmint/src/xcm_config.rs +++ b/polkadot-parachains/westmint/src/xcm_config.rs @@ -29,7 +29,7 @@ use xcm::latest::prelude::*; use xcm_builder::{ AccountId32Aliases, AllowKnownQueryResponses, AllowSubscriptionsFrom, AllowTopLevelPaidExecutionFrom, AllowUnpaidExecutionFrom, AsPrefixedGeneralIndex, - ConvertedConcreteAssetId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, + ConvertedConcreteId, CurrencyAdapter, EnsureXcmOrigin, FixedWeightBounds, FungiblesAdapter, IsConcrete, LocationInverter, NativeAsset, ParentAsSuperuser, ParentIsPreset, RelayChainAsNative, SiblingParachainAsNative, SiblingParachainConvertsVia, SignedAccountId32AsNative, SignedToAccountId32, SovereignSignedViaLocation, TakeWeightCredit, @@ -41,7 +41,7 @@ parameter_types! { pub const WestendLocation: MultiLocation = MultiLocation::parent(); pub RelayNetwork: NetworkId = NetworkId::Named(b"Westend".to_vec()); pub RelayChainOrigin: Origin = cumulus_pallet_xcm::Origin::Relay.into(); - pub Ancestry: MultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); + pub UniversalLocation: InteriorMultiLocation = Parachain(ParachainInfo::parachain_id().into()).into(); pub const Local: MultiLocation = Here.into(); pub AssetsPalletLocation: MultiLocation = PalletInstance(::index() as u8).into(); @@ -79,7 +79,7 @@ pub type FungiblesTransactor = FungiblesAdapter< // Use this fungibles implementation: Assets, // Use this currency when it is a fungible asset matching the given location or name: - ConvertedConcreteAssetId< + ConvertedConcreteId< AssetId, Balance, AsPrefixedGeneralIndex, @@ -155,7 +155,7 @@ impl xcm_executor::Config for XcmConfig { type OriginConverter = XcmOriginToTransactDispatchOrigin; type IsReserve = NativeAsset; type IsTeleporter = NativeAsset; // <- should be enough to allow teleportation of WND - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; type Trader = @@ -164,8 +164,13 @@ impl xcm_executor::Config for XcmConfig { type AssetTrap = PolkadotXcm; type AssetClaims = PolkadotXcm; type SubscriptionService = PolkadotXcm; - type PalletInstanceInfo = (); + type PalletInstancesInfo = (); type MaxAssetsIntoHolding = MaxAssetsIntoHolding; + type AssetLocker = (); + type AssetExchanger = (); + type FeeManager = (); + type MessageExporter = (); + type UniversalAliases = Nothing; } /// Local origins on this chain are allowed to dispatch XCM sends/executions. @@ -190,11 +195,16 @@ impl pallet_xcm::Config for Runtime { type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; - type LocationInverter = LocationInverter; + type LocationInverter = LocationInverter; type Origin = Origin; type Call = Call; const VERSION_DISCOVERY_QUEUE_SIZE: u32 = 100; type AdvertisedXcmVersion = pallet_xcm::CurrentXcmVersion; + type Currency = Balances; + type CurrencyMatcher = (); + type TrustedLockers = (); + type SovereignAccountOf = LocationToAccountId; + type MaxLockers = ConstU32<8>; } impl cumulus_pallet_xcm::Config for Runtime { diff --git a/primitives/utility/src/lib.rs b/primitives/utility/src/lib.rs index f07e65a88b..d48045dbbb 100644 --- a/primitives/utility/src/lib.rs +++ b/primitives/utility/src/lib.rs @@ -21,7 +21,7 @@ use codec::Encode; use cumulus_primitives_core::{MessageSendError, UpwardMessageSender}; -use sp_std::marker::PhantomData; +use sp_std::{prelude::*, marker::PhantomData}; use xcm::{latest::prelude::*, WrapVersion}; /// Xcm router which recognises the `Parent` destination and handles it by sending the message into