From d9638bc81ce0af5a2f48fbb0cf1dc3712ab89287 Mon Sep 17 00:00:00 2001 From: Francisco Aguirre Date: Thu, 10 Oct 2024 10:46:49 +0200 Subject: [PATCH 1/3] BACKPORT-CONFLICT --- Cargo.lock | 2 + .../modules/xcm-bridge-hub-router/src/lib.rs | 35 +++----------- cumulus/pallets/parachain-system/src/lib.rs | 6 ++- .../emulated/common/src/macros.rs | 48 +++++++++++++++++++ .../bridges/bridge-hub-rococo/Cargo.toml | 29 +++++++++++ .../bridges/bridge-hub-rococo/src/lib.rs | 4 +- .../src/tests/asset_transfers.rs | 9 ++++ .../bridges/bridge-hub-westend/Cargo.toml | 28 +++++++++++ .../bridges/bridge-hub-westend/src/lib.rs | 4 +- .../src/tests/asset_transfers.rs | 9 ++++ .../xcm/xcm-builder/src/universal_exports.rs | 10 ++-- prdoc/pr_5913.prdoc | 20 ++++++++ 12 files changed, 166 insertions(+), 38 deletions(-) create mode 100644 prdoc/pr_5913.prdoc diff --git a/Cargo.lock b/Cargo.lock index 7cfd8df1a467..fcafae2a1757 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2034,6 +2034,7 @@ dependencies = [ "staging-xcm", "staging-xcm-executor", "testnet-parachains-constants", + "xcm-runtime-apis", ] [[package]] @@ -2227,6 +2228,7 @@ dependencies = [ "staging-xcm", "staging-xcm-executor", "testnet-parachains-constants", + "xcm-runtime-apis", ] [[package]] diff --git a/bridges/modules/xcm-bridge-hub-router/src/lib.rs b/bridges/modules/xcm-bridge-hub-router/src/lib.rs index 7ba524e95b1d..fe8f5a2efdfb 100644 --- a/bridges/modules/xcm-bridge-hub-router/src/lib.rs +++ b/bridges/modules/xcm-bridge-hub-router/src/lib.rs @@ -99,7 +99,7 @@ pub mod pallet { type DestinationVersion: GetVersion; /// Actual message sender (`HRMP` or `DMP`) to the sibling bridge hub location. - type ToBridgeHubSender: SendXcm + InspectMessageQueues; + type ToBridgeHubSender: SendXcm; /// Local XCM channel manager. type LocalXcmChannelManager: XcmChannelStatusProvider; @@ -408,12 +408,12 @@ impl, I: 'static> SendXcm for Pallet { } impl, I: 'static> InspectMessageQueues for Pallet { - fn clear_messages() { - ViaBridgeHubExporter::::clear_messages() - } + fn clear_messages() {} + /// This router needs to implement `InspectMessageQueues` but doesn't have to + /// return any messages, since it just reuses the `XcmpQueue` router. fn get_messages() -> Vec<(VersionedLocation, Vec>)> { - ViaBridgeHubExporter::::get_messages() + Vec::new() } } @@ -646,34 +646,13 @@ mod tests { } #[test] - fn get_messages_works() { + fn get_messages_does_not_return_anything() { run_test(|| { assert_ok!(send_xcm::( (Parent, Parent, GlobalConsensus(BridgedNetworkId::get()), Parachain(1000)).into(), vec![ClearOrigin].into() )); - assert_eq!( - XcmBridgeHubRouter::get_messages(), - vec![( - VersionedLocation::V4((Parent, Parachain(1002)).into()), - vec![VersionedXcm::V4( - Xcm::builder() - .withdraw_asset((Parent, 1_002_000)) - .buy_execution((Parent, 1_002_000), Unlimited) - .set_appendix( - Xcm::builder_unsafe() - .deposit_asset(AllCounted(1), (Parent, Parachain(1000))) - .build() - ) - .export_message( - Kusama, - Parachain(1000), - Xcm::builder_unsafe().clear_origin().build() - ) - .build() - )], - ),], - ); + assert_eq!(XcmBridgeHubRouter::get_messages(), vec![]); }); } } diff --git a/cumulus/pallets/parachain-system/src/lib.rs b/cumulus/pallets/parachain-system/src/lib.rs index 882dcb68fbbe..4163e4403608 100644 --- a/cumulus/pallets/parachain-system/src/lib.rs +++ b/cumulus/pallets/parachain-system/src/lib.rs @@ -1552,7 +1552,11 @@ impl InspectMessageQueues for Pallet { .map(|encoded_message| VersionedXcm::<()>::decode(&mut &encoded_message[..]).unwrap()) .collect(); - vec![(VersionedLocation::V4(Parent.into()), messages)] + if messages.is_empty() { + vec![] + } else { + vec![(VersionedLocation::from(Location::parent()), messages)] + } } } diff --git a/cumulus/parachains/integration-tests/emulated/common/src/macros.rs b/cumulus/parachains/integration-tests/emulated/common/src/macros.rs index 578bca84ce5a..68926b04bfe6 100644 --- a/cumulus/parachains/integration-tests/emulated/common/src/macros.rs +++ b/cumulus/parachains/integration-tests/emulated/common/src/macros.rs @@ -403,3 +403,51 @@ macro_rules! test_chain_can_claim_assets { } }; } + +#[macro_export] +macro_rules! test_dry_run_transfer_across_pk_bridge { + ( $sender_asset_hub:ty, $sender_bridge_hub:ty, $destination:expr ) => { + $crate::macros::paste::paste! { + use frame_support::{dispatch::RawOrigin, traits::fungible}; + use sp_runtime::AccountId32; + use xcm::prelude::*; + use xcm_runtime_apis::dry_run::runtime_decl_for_dry_run_api::DryRunApiV1; + + let who = AccountId32::new([1u8; 32]); + let transfer_amount = 10_000_000_000_000u128; + let initial_balance = transfer_amount * 10; + + // Bridge setup. + $sender_asset_hub::force_xcm_version($destination, XCM_VERSION); + open_bridge_between_asset_hub_rococo_and_asset_hub_westend(); + + <$sender_asset_hub as TestExt>::execute_with(|| { + type Runtime = <$sender_asset_hub as Chain>::Runtime; + type RuntimeCall = <$sender_asset_hub as Chain>::RuntimeCall; + type OriginCaller = <$sender_asset_hub as Chain>::OriginCaller; + type Balances = <$sender_asset_hub as [<$sender_asset_hub Pallet>]>::Balances; + + // Give some initial funds. + >::set_balance(&who, initial_balance); + + let call = RuntimeCall::PolkadotXcm(pallet_xcm::Call::transfer_assets { + dest: Box::new(VersionedLocation::from($destination)), + beneficiary: Box::new(VersionedLocation::from(Junction::AccountId32 { + id: who.clone().into(), + network: None, + })), + assets: Box::new(VersionedAssets::from(vec![ + (Parent, transfer_amount).into(), + ])), + fee_asset_item: 0, + weight_limit: Unlimited, + }); + let result = Runtime::dry_run_call(OriginCaller::system(RawOrigin::Signed(who)), call).unwrap(); + // We assert the dry run succeeds and sends only one message to the local bridge hub. + assert!(result.execution_result.is_ok()); + assert_eq!(result.forwarded_xcms.len(), 1); + assert_eq!(result.forwarded_xcms[0].0, VersionedLocation::from(Location::new(1, [Parachain($sender_bridge_hub::para_id().into())]))); + }); + } + }; +} diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml index 02ae0b7c3ab2..96b4e15968cf 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml @@ -14,6 +14,7 @@ workspace = true codec = { workspace = true } scale-info = { features = ["derive"], workspace = true } hex-literal = { workspace = true, default-features = true } +<<<<<<< HEAD sp-core.workspace = true frame-support.workspace = true pallet-assets.workspace = true @@ -33,6 +34,34 @@ parachains-common.workspace = true parachains-common.default-features = true rococo-system-emulated-network.workspace = true rococo-westend-system-emulated-network.workspace = true +======= + +# Substrate +sp-core = { workspace = true } +frame-support = { workspace = true } +pallet-assets = { workspace = true } +pallet-asset-conversion = { workspace = true } +pallet-balances = { workspace = true } +pallet-message-queue = { workspace = true, default-features = true } +sp-runtime = { workspace = true } + +# Polkadot +xcm = { workspace = true } +pallet-xcm = { workspace = true } +xcm-executor = { workspace = true } +xcm-runtime-apis = { workspace = true } + +# Bridges +pallet-bridge-messages = { workspace = true } +pallet-xcm-bridge-hub = { workspace = true } + +# Cumulus +cumulus-pallet-xcmp-queue = { workspace = true } +emulated-integration-tests-common = { workspace = true } +parachains-common = { workspace = true, default-features = true } +rococo-system-emulated-network = { workspace = true } +rococo-westend-system-emulated-network = { workspace = true } +>>>>>>> 4a70b2cf (Remove redundant XCMs from dry run's forwarded xcms (#5913)) testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } snowbridge-core.workspace = true snowbridge-router-primitives.workspace = true diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs index e83b28076789..a542de16de5f 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs @@ -33,8 +33,8 @@ mod imports { pub use emulated_integration_tests_common::{ accounts::ALICE, impls::Inspect, - test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, + test_dry_run_transfer_across_pk_bridge, test_parachain_is_trusted_teleporter, + test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, xcm_emulator::{ assert_expected_events, bx, Chain, Parachain as Para, RelayChain as Relay, TestExt, }, diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs index 11930798da44..f1e2a6dcca61 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/tests/asset_transfers.rs @@ -534,3 +534,12 @@ fn send_back_wnds_from_penpal_rococo_through_asset_hub_rococo_to_asset_hub_weste assert!(receiver_wnds_after > receiver_wnds_before); assert!(receiver_wnds_after <= receiver_wnds_before + amount); } + +#[test] +fn dry_run_transfer_to_westend_sends_xcm_to_bridge_hub() { + test_dry_run_transfer_across_pk_bridge!( + AssetHubRococo, + BridgeHubRococo, + asset_hub_westend_location() + ); +} diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml index 4836eca9b908..b32b05d8ec42 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml @@ -15,6 +15,7 @@ hex-literal = { workspace = true, default-features = true } codec = { workspace = true } log = { workspace = true } scale-info = { workspace = true } +<<<<<<< HEAD frame-support.workspace = true pallet-assets.workspace = true pallet-asset-conversion.workspace = true @@ -33,6 +34,33 @@ emulated-integration-tests-common.workspace = true parachains-common.workspace = true parachains-common.default-features = true rococo-westend-system-emulated-network.workspace = true +======= + +# Substrate +frame-support = { workspace = true } +pallet-assets = { workspace = true } +pallet-asset-conversion = { workspace = true } +pallet-balances = { workspace = true } +pallet-message-queue = { workspace = true, default-features = true } +sp-core = { workspace = true } +sp-runtime = { workspace = true } + +# Polkadot +xcm = { workspace = true } +pallet-xcm = { workspace = true } +xcm-executor = { workspace = true } +xcm-runtime-apis = { workspace = true } + +# Bridges +pallet-bridge-messages = { workspace = true } +pallet-xcm-bridge-hub = { workspace = true } + +# Cumulus +cumulus-pallet-xcmp-queue = { workspace = true } +emulated-integration-tests-common = { workspace = true } +parachains-common = { workspace = true, default-features = true } +rococo-westend-system-emulated-network = { workspace = true } +>>>>>>> 4a70b2cf (Remove redundant XCMs from dry run's forwarded xcms (#5913)) testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } asset-hub-westend-runtime.workspace = true bridge-hub-westend-runtime.workspace = true diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs index d9b92cb11e92..9228700c0198 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/lib.rs @@ -32,8 +32,8 @@ mod imports { pub use emulated_integration_tests_common::{ accounts::ALICE, impls::Inspect, - test_parachain_is_trusted_teleporter, test_parachain_is_trusted_teleporter_for_relay, - test_relay_is_trusted_teleporter, + test_dry_run_transfer_across_pk_bridge, test_parachain_is_trusted_teleporter, + test_parachain_is_trusted_teleporter_for_relay, test_relay_is_trusted_teleporter, xcm_emulator::{ assert_expected_events, bx, Chain, Parachain as Para, RelayChain as Relay, TestExt, }, diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs index 6492c520234f..7def637a66e4 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/src/tests/asset_transfers.rs @@ -554,3 +554,12 @@ fn send_back_rocs_from_penpal_westend_through_asset_hub_westend_to_asset_hub_roc assert!(receiver_rocs_after > receiver_rocs_before); assert!(receiver_rocs_after <= receiver_rocs_before + amount); } + +#[test] +fn dry_run_transfer_to_rococo_sends_xcm_to_bridge_hub() { + test_dry_run_transfer_across_pk_bridge!( + AssetHubWestend, + BridgeHubWestend, + asset_hub_rococo_location() + ); +} diff --git a/polkadot/xcm/xcm-builder/src/universal_exports.rs b/polkadot/xcm/xcm-builder/src/universal_exports.rs index 30e0b7c72b03..5c754f01ec0a 100644 --- a/polkadot/xcm/xcm-builder/src/universal_exports.rs +++ b/polkadot/xcm/xcm-builder/src/universal_exports.rs @@ -337,15 +337,15 @@ impl InspectMessageQueues +impl InspectMessageQueues for SovereignPaidRemoteExporter { - fn clear_messages() { - Router::clear_messages() - } + fn clear_messages() {} + /// This router needs to implement `InspectMessageQueues` but doesn't have to + /// return any messages, since it just reuses the `XcmpQueue` router. fn get_messages() -> Vec<(VersionedLocation, Vec>)> { - Router::get_messages() + Vec::new() } } diff --git a/prdoc/pr_5913.prdoc b/prdoc/pr_5913.prdoc new file mode 100644 index 000000000000..f50cd722c714 --- /dev/null +++ b/prdoc/pr_5913.prdoc @@ -0,0 +1,20 @@ +# Schema: Polkadot SDK PRDoc Schema (prdoc) v1.0.0 +# See doc at https://raw.githubusercontent.com/paritytech/polkadot-sdk/master/prdoc/schema_user.json + +title: Remove redundant XCMs from dry run's forwarded xcms + +doc: + - audience: Runtime User + description: | + The DryRunApi was returning the same message repeated multiple times in the + `forwarded_xcms` field. This is no longer the case. + +crates: + - name: pallet-xcm-bridge-hub-router + bump: patch + - name: cumulus-pallet-parachain-system + bump: patch + - name: staging-xcm-builder + bump: patch + - name: emulated-integration-tests-common + bump: minor From 1147d82352dae32914bc223ec4c9753a027853b2 Mon Sep 17 00:00:00 2001 From: Francisco Aguirre Date: Thu, 10 Oct 2024 13:55:09 +0200 Subject: [PATCH 2/3] fix: conflicts --- .../bridges/bridge-hub-rococo/Cargo.toml | 22 ------------------- .../bridges/bridge-hub-westend/Cargo.toml | 21 ------------------ 2 files changed, 43 deletions(-) diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml index 96b4e15968cf..dfa391385489 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml @@ -14,27 +14,6 @@ workspace = true codec = { workspace = true } scale-info = { features = ["derive"], workspace = true } hex-literal = { workspace = true, default-features = true } -<<<<<<< HEAD -sp-core.workspace = true -frame-support.workspace = true -pallet-assets.workspace = true -pallet-asset-conversion.workspace = true -pallet-balances.workspace = true -pallet-message-queue.workspace = true -pallet-message-queue.default-features = true -sp-runtime.workspace = true -xcm.workspace = true -pallet-xcm.workspace = true -xcm-executor.workspace = true -pallet-bridge-messages.workspace = true -pallet-xcm-bridge-hub.workspace = true -cumulus-pallet-xcmp-queue.workspace = true -emulated-integration-tests-common.workspace = true -parachains-common.workspace = true -parachains-common.default-features = true -rococo-system-emulated-network.workspace = true -rococo-westend-system-emulated-network.workspace = true -======= # Substrate sp-core = { workspace = true } @@ -61,7 +40,6 @@ emulated-integration-tests-common = { workspace = true } parachains-common = { workspace = true, default-features = true } rococo-system-emulated-network = { workspace = true } rococo-westend-system-emulated-network = { workspace = true } ->>>>>>> 4a70b2cf (Remove redundant XCMs from dry run's forwarded xcms (#5913)) testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } snowbridge-core.workspace = true snowbridge-router-primitives.workspace = true diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml index b32b05d8ec42..2de66573e9a4 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml @@ -15,26 +15,6 @@ hex-literal = { workspace = true, default-features = true } codec = { workspace = true } log = { workspace = true } scale-info = { workspace = true } -<<<<<<< HEAD -frame-support.workspace = true -pallet-assets.workspace = true -pallet-asset-conversion.workspace = true -pallet-balances.workspace = true -pallet-message-queue.workspace = true -pallet-message-queue.default-features = true -sp-core.workspace = true -sp-runtime.workspace = true -xcm.workspace = true -pallet-xcm.workspace = true -xcm-executor.workspace = true -pallet-bridge-messages.workspace = true -pallet-xcm-bridge-hub.workspace = true -cumulus-pallet-xcmp-queue.workspace = true -emulated-integration-tests-common.workspace = true -parachains-common.workspace = true -parachains-common.default-features = true -rococo-westend-system-emulated-network.workspace = true -======= # Substrate frame-support = { workspace = true } @@ -60,7 +40,6 @@ cumulus-pallet-xcmp-queue = { workspace = true } emulated-integration-tests-common = { workspace = true } parachains-common = { workspace = true, default-features = true } rococo-westend-system-emulated-network = { workspace = true } ->>>>>>> 4a70b2cf (Remove redundant XCMs from dry run's forwarded xcms (#5913)) testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } asset-hub-westend-runtime.workspace = true bridge-hub-westend-runtime.workspace = true From 6d40a3b30c0f4f6742db185bc6f4ff5764251351 Mon Sep 17 00:00:00 2001 From: Francisco Aguirre Date: Thu, 10 Oct 2024 15:26:12 +0200 Subject: [PATCH 3/3] chore: remove unnecessary dependencies and rename prdoc --- .../bridges/bridge-hub-rococo/Cargo.toml | 46 ++++++++----------- .../bridges/bridge-hub-westend/Cargo.toml | 44 ++++++++---------- prdoc/{pr_5913.prdoc => pr_6005.prdoc} | 0 3 files changed, 39 insertions(+), 51 deletions(-) rename prdoc/{pr_5913.prdoc => pr_6005.prdoc} (100%) diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml index dfa391385489..6cc68a7300cc 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/Cargo.toml @@ -14,32 +14,26 @@ workspace = true codec = { workspace = true } scale-info = { features = ["derive"], workspace = true } hex-literal = { workspace = true, default-features = true } - -# Substrate -sp-core = { workspace = true } -frame-support = { workspace = true } -pallet-assets = { workspace = true } -pallet-asset-conversion = { workspace = true } -pallet-balances = { workspace = true } -pallet-message-queue = { workspace = true, default-features = true } -sp-runtime = { workspace = true } - -# Polkadot -xcm = { workspace = true } -pallet-xcm = { workspace = true } -xcm-executor = { workspace = true } -xcm-runtime-apis = { workspace = true } - -# Bridges -pallet-bridge-messages = { workspace = true } -pallet-xcm-bridge-hub = { workspace = true } - -# Cumulus -cumulus-pallet-xcmp-queue = { workspace = true } -emulated-integration-tests-common = { workspace = true } -parachains-common = { workspace = true, default-features = true } -rococo-system-emulated-network = { workspace = true } -rococo-westend-system-emulated-network = { workspace = true } +sp-core.workspace = true +frame-support.workspace = true +pallet-assets.workspace = true +pallet-asset-conversion.workspace = true +pallet-balances.workspace = true +pallet-message-queue.workspace = true +pallet-message-queue.default-features = true +sp-runtime.workspace = true +xcm.workspace = true +pallet-xcm.workspace = true +xcm-executor.workspace = true +xcm-runtime-apis.workspace = true +pallet-bridge-messages.workspace = true +pallet-xcm-bridge-hub.workspace = true +cumulus-pallet-xcmp-queue.workspace = true +emulated-integration-tests-common.workspace = true +parachains-common.workspace = true +parachains-common.default-features = true +rococo-system-emulated-network.workspace = true +rococo-westend-system-emulated-network.workspace = true testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } snowbridge-core.workspace = true snowbridge-router-primitives.workspace = true diff --git a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml index 2de66573e9a4..8fae0a885a2f 100644 --- a/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml +++ b/cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-westend/Cargo.toml @@ -15,31 +15,25 @@ hex-literal = { workspace = true, default-features = true } codec = { workspace = true } log = { workspace = true } scale-info = { workspace = true } - -# Substrate -frame-support = { workspace = true } -pallet-assets = { workspace = true } -pallet-asset-conversion = { workspace = true } -pallet-balances = { workspace = true } -pallet-message-queue = { workspace = true, default-features = true } -sp-core = { workspace = true } -sp-runtime = { workspace = true } - -# Polkadot -xcm = { workspace = true } -pallet-xcm = { workspace = true } -xcm-executor = { workspace = true } -xcm-runtime-apis = { workspace = true } - -# Bridges -pallet-bridge-messages = { workspace = true } -pallet-xcm-bridge-hub = { workspace = true } - -# Cumulus -cumulus-pallet-xcmp-queue = { workspace = true } -emulated-integration-tests-common = { workspace = true } -parachains-common = { workspace = true, default-features = true } -rococo-westend-system-emulated-network = { workspace = true } +frame-support.workspace = true +pallet-assets.workspace = true +pallet-asset-conversion.workspace = true +pallet-balances.workspace = true +pallet-message-queue.workspace = true +pallet-message-queue.default-features = true +sp-core.workspace = true +sp-runtime.workspace = true +xcm.workspace = true +pallet-xcm.workspace = true +xcm-executor.workspace = true +xcm-runtime-apis.workspace = true +pallet-bridge-messages.workspace = true +pallet-xcm-bridge-hub.workspace = true +cumulus-pallet-xcmp-queue.workspace = true +emulated-integration-tests-common.workspace = true +parachains-common.workspace = true +parachains-common.default-features = true +rococo-westend-system-emulated-network.workspace = true testnet-parachains-constants = { features = ["rococo", "westend"], workspace = true, default-features = true } asset-hub-westend-runtime.workspace = true bridge-hub-westend-runtime.workspace = true diff --git a/prdoc/pr_5913.prdoc b/prdoc/pr_6005.prdoc similarity index 100% rename from prdoc/pr_5913.prdoc rename to prdoc/pr_6005.prdoc