mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-05-30 10:31:03 +00:00
[xcm-emulator] Chains generic over Network & Integration tests restructure (#2092)
Closes: - #1383 - Declared chains can be now be imported and reused in a different crate. - Chain declaration are now generic over a generic type `N` (the Network) - #1389 - Solved #1383, chains and networks declarations can be restructure to avoid having to compile all chains when running integrations tests where are not needed. - Chains are now declared on its own crate (removed from `integration-tests-common`) - Networks are now declared on its own crate (removed from `integration-tests-common`) - Integration tests will import only the relevant Network crate - `integration-tests-common` is renamed to `emulated-integration-tests-common` All this is necessary to be able to implement what is described here: https://github.com/paritytech/roadmap/issues/56#issuecomment-1777010553 --------- Co-authored-by: command-bot <>
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "rococo-system-emulated-network"
|
||||
version = "0.0.0"
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license = "Apache-2.0"
|
||||
description = "Rococo System emulated network"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
# Cumulus
|
||||
emulated-integration-tests-common = { path = "../../common", default-features = false }
|
||||
rococo-emulated-chain = { path = "../../chains/relays/rococo" }
|
||||
asset-hub-rococo-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-rococo" }
|
||||
bridge-hub-rococo-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-rococo" }
|
||||
penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" }
|
||||
@@ -0,0 +1,51 @@
|
||||
// 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 use asset_hub_rococo_emulated_chain;
|
||||
pub use bridge_hub_rococo_emulated_chain;
|
||||
pub use penpal_emulated_chain;
|
||||
pub use rococo_emulated_chain;
|
||||
|
||||
use asset_hub_rococo_emulated_chain::AssetHubRococo;
|
||||
use bridge_hub_rococo_emulated_chain::BridgeHubRococo;
|
||||
use penpal_emulated_chain::{PenpalA, PenpalB};
|
||||
use rococo_emulated_chain::Rococo;
|
||||
|
||||
// Cumulus
|
||||
use emulated_integration_tests_common::{
|
||||
accounts::{ALICE, BOB},
|
||||
xcm_emulator::{decl_test_networks, decl_test_sender_receiver_accounts_parameter_types},
|
||||
};
|
||||
|
||||
decl_test_networks! {
|
||||
pub struct RococoMockNet {
|
||||
relay_chain = Rococo,
|
||||
parachains = vec![
|
||||
AssetHubRococo,
|
||||
BridgeHubRococo,
|
||||
PenpalA,
|
||||
PenpalB,
|
||||
],
|
||||
bridge = ()
|
||||
},
|
||||
}
|
||||
|
||||
decl_test_sender_receiver_accounts_parameter_types! {
|
||||
RococoRelay { sender: ALICE, receiver: BOB },
|
||||
AssetHubRococoPara { sender: ALICE, receiver: BOB },
|
||||
BridgeHubRococoPara { sender: ALICE, receiver: BOB },
|
||||
PenpalAPara { sender: ALICE, receiver: BOB },
|
||||
PenpalBPara { sender: ALICE, receiver: BOB }
|
||||
}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
[package]
|
||||
name = "rococo-wococo-system-emulated-network"
|
||||
version = "0.0.0"
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license = "Apache-2.0"
|
||||
description = "Rococo<>Wococo emulated bridged network"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
# Cumulus
|
||||
emulated-integration-tests-common = { path = "../../common", default-features = false }
|
||||
rococo-emulated-chain = { path = "../../chains/relays/rococo" }
|
||||
wococo-emulated-chain = { path = "../../chains/relays/wococo" }
|
||||
asset-hub-rococo-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-rococo" }
|
||||
asset-hub-wococo-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-wococo" }
|
||||
bridge-hub-rococo-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-rococo" }
|
||||
bridge-hub-wococo-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-wococo" }
|
||||
+94
@@ -0,0 +1,94 @@
|
||||
// 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 use asset_hub_rococo_emulated_chain;
|
||||
pub use asset_hub_wococo_emulated_chain;
|
||||
pub use bridge_hub_rococo_emulated_chain;
|
||||
pub use bridge_hub_wococo_emulated_chain;
|
||||
pub use rococo_emulated_chain;
|
||||
pub use wococo_emulated_chain;
|
||||
|
||||
use asset_hub_rococo_emulated_chain::AssetHubRococo;
|
||||
use asset_hub_wococo_emulated_chain::AssetHubWococo;
|
||||
use bridge_hub_rococo_emulated_chain::BridgeHubRococo;
|
||||
use bridge_hub_wococo_emulated_chain::BridgeHubWococo;
|
||||
use rococo_emulated_chain::Rococo;
|
||||
use wococo_emulated_chain::Wococo;
|
||||
|
||||
// Cumulus
|
||||
use emulated_integration_tests_common::{
|
||||
accounts::{ALICE, BOB},
|
||||
impls::{BridgeHubMessageHandler, BridgeMessagesInstance2},
|
||||
xcm_emulator::{
|
||||
decl_test_bridges, decl_test_networks, decl_test_sender_receiver_accounts_parameter_types,
|
||||
Chain,
|
||||
},
|
||||
};
|
||||
|
||||
decl_test_networks! {
|
||||
pub struct RococoMockNet {
|
||||
relay_chain = Rococo,
|
||||
parachains = vec![
|
||||
AssetHubRococo,
|
||||
BridgeHubRococo,
|
||||
],
|
||||
bridge = RococoWococoMockBridge
|
||||
|
||||
},
|
||||
pub struct WococoMockNet {
|
||||
relay_chain = Wococo,
|
||||
parachains = vec![
|
||||
AssetHubWococo,
|
||||
BridgeHubWococo,
|
||||
],
|
||||
bridge = WococoRococoMockBridge
|
||||
},
|
||||
}
|
||||
|
||||
decl_test_bridges! {
|
||||
pub struct RococoWococoMockBridge {
|
||||
source = BridgeHubRococoPara,
|
||||
target = BridgeHubWococoPara,
|
||||
handler = RococoWococoMessageHandler
|
||||
},
|
||||
pub struct WococoRococoMockBridge {
|
||||
source = BridgeHubWococoPara,
|
||||
target = BridgeHubRococoPara,
|
||||
handler = WococoRococoMessageHandler
|
||||
}
|
||||
}
|
||||
|
||||
type BridgeHubRococoRuntime = <BridgeHubRococoPara as Chain>::Runtime;
|
||||
type BridgeHubWococoRuntime = <BridgeHubWococoPara as Chain>::Runtime;
|
||||
|
||||
pub type RococoWococoMessageHandler = BridgeHubMessageHandler<
|
||||
BridgeHubRococoRuntime,
|
||||
BridgeHubWococoRuntime,
|
||||
BridgeMessagesInstance2,
|
||||
>;
|
||||
pub type WococoRococoMessageHandler = BridgeHubMessageHandler<
|
||||
BridgeHubWococoRuntime,
|
||||
BridgeHubRococoRuntime,
|
||||
BridgeMessagesInstance2,
|
||||
>;
|
||||
|
||||
decl_test_sender_receiver_accounts_parameter_types! {
|
||||
RococoRelay { sender: ALICE, receiver: BOB },
|
||||
AssetHubRococoPara { sender: ALICE, receiver: BOB },
|
||||
BridgeHubRococoPara { sender: ALICE, receiver: BOB },
|
||||
WococoRelay { sender: ALICE, receiver: BOB },
|
||||
AssetHubWococoPara { sender: ALICE, receiver: BOB },
|
||||
BridgeHubWococoPara { sender: ALICE, receiver: BOB }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "westend-system-emulated-network"
|
||||
version = "0.0.0"
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license = "Apache-2.0"
|
||||
description = "Westend System emulated network"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
# Cumulus
|
||||
emulated-integration-tests-common = { path = "../../common", default-features = false }
|
||||
westend-emulated-chain = { path = "../../chains/relays/westend", default-features = false }
|
||||
asset-hub-westend-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-westend" }
|
||||
bridge-hub-westend-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-westend" }
|
||||
penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" }
|
||||
@@ -0,0 +1,51 @@
|
||||
// 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 use asset_hub_westend_emulated_chain;
|
||||
pub use bridge_hub_westend_emulated_chain;
|
||||
pub use penpal_emulated_chain;
|
||||
pub use westend_emulated_chain;
|
||||
|
||||
use asset_hub_westend_emulated_chain::AssetHubWestend;
|
||||
use bridge_hub_westend_emulated_chain::BridgeHubWestend;
|
||||
use penpal_emulated_chain::{PenpalA, PenpalB};
|
||||
use westend_emulated_chain::Westend;
|
||||
|
||||
// Cumulus
|
||||
use emulated_integration_tests_common::{
|
||||
accounts::{ALICE, BOB},
|
||||
xcm_emulator::{decl_test_networks, decl_test_sender_receiver_accounts_parameter_types},
|
||||
};
|
||||
|
||||
decl_test_networks! {
|
||||
pub struct WestendMockNet {
|
||||
relay_chain = Westend,
|
||||
parachains = vec![
|
||||
AssetHubWestend,
|
||||
BridgeHubWestend,
|
||||
PenpalA,
|
||||
PenpalB,
|
||||
],
|
||||
bridge = ()
|
||||
},
|
||||
}
|
||||
|
||||
decl_test_sender_receiver_accounts_parameter_types! {
|
||||
WestendRelay { sender: ALICE, receiver: BOB },
|
||||
AssetHubWestendPara { sender: ALICE, receiver: BOB },
|
||||
BridgeHubWestendPara { sender: ALICE, receiver: BOB },
|
||||
PenpalAPara { sender: ALICE, receiver: BOB },
|
||||
PenpalBPara { sender: ALICE, receiver: BOB }
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
[package]
|
||||
name = "wococo-system-emulated-network"
|
||||
version = "0.0.0"
|
||||
authors.workspace = true
|
||||
edition.workspace = true
|
||||
license = "Apache-2.0"
|
||||
description = "Wococo System emulated network"
|
||||
publish = false
|
||||
|
||||
[dependencies]
|
||||
# Cumulus
|
||||
emulated-integration-tests-common = { path = "../../common", default-features = false }
|
||||
wococo-emulated-chain = { path = "../../chains/relays/wococo" }
|
||||
asset-hub-wococo-emulated-chain = { path = "../../chains/parachains/assets/asset-hub-wococo" }
|
||||
bridge-hub-wococo-emulated-chain = { path = "../../chains/parachains/bridges/bridge-hub-wococo" }
|
||||
penpal-emulated-chain = { path = "../../chains/parachains/testing/penpal" }
|
||||
@@ -0,0 +1,50 @@
|
||||
// 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 use asset_hub_wococo_emulated_chain;
|
||||
pub use bridge_hub_wococo_emulated_chain;
|
||||
pub use wococo_emulated_chain;
|
||||
|
||||
use asset_hub_wococo_emulated_chain::AssetHubWococo;
|
||||
use bridge_hub_wococo_emulated_chain::BridgeHubWococo;
|
||||
use penpal_emulated_chain::{PenpalA, PenpalB};
|
||||
use wococo_emulated_chain::Wococo;
|
||||
|
||||
// Cumulus
|
||||
use emulated_integration_tests_common::{
|
||||
accounts::{ALICE, BOB},
|
||||
xcm_emulator::{decl_test_networks, decl_test_sender_receiver_accounts_parameter_types},
|
||||
};
|
||||
|
||||
decl_test_networks! {
|
||||
pub struct WococoMockNet {
|
||||
relay_chain = Wococo,
|
||||
parachains = vec![
|
||||
AssetHubWococo,
|
||||
BridgeHubWococo,
|
||||
PenpalA,
|
||||
PenpalB,
|
||||
],
|
||||
bridge = ()
|
||||
},
|
||||
}
|
||||
|
||||
decl_test_sender_receiver_accounts_parameter_types! {
|
||||
WococoRelay { sender: ALICE, receiver: BOB },
|
||||
AssetHubWococoPara { sender: ALICE, receiver: BOB },
|
||||
BridgeHubWococoPara { sender: ALICE, receiver: BOB },
|
||||
PenpalAPara { sender: ALICE, receiver: BOB },
|
||||
PenpalBPara { sender: ALICE, receiver: BOB }
|
||||
}
|
||||
Reference in New Issue
Block a user