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

Commit

Permalink
add generic parameter to support different runtimes
Browse files Browse the repository at this point in the history
  • Loading branch information
GopherJ committed Oct 21, 2021
1 parent dd09741 commit 4405ea9
Show file tree
Hide file tree
Showing 6 changed files with 30 additions and 13 deletions.
24 changes: 18 additions & 6 deletions node/service/src/chain_spec.rs
Original file line number Diff line number Diff line change
Expand Up @@ -558,7 +558,10 @@ fn westend_staging_testnet_config_genesis(wasm_binary: &[u8]) -> westend::Genesi
registrar: westend_runtime::RegistrarConfig {
next_free_para_id: polkadot_primitives::v1::LOWEST_PUBLIC_ID,
},
xcm_pallet: westend_runtime::XcmPalletConfig { safe_xcm_version: Some(2) },
xcm_pallet: westend_runtime::XcmPalletConfig {
safe_xcm_version: Some(2),
..Default::default()
},
}
}

Expand Down Expand Up @@ -756,7 +759,7 @@ fn kusama_staging_testnet_config_genesis(wasm_binary: &[u8]) -> kusama::GenesisC
},
gilt: Default::default(),
paras: Default::default(),
xcm_pallet: kusama::XcmPalletConfig { safe_xcm_version: Some(2) },
xcm_pallet: kusama::XcmPalletConfig { safe_xcm_version: Some(2), ..Default::default() },
}
}

Expand Down Expand Up @@ -1056,7 +1059,10 @@ fn rococo_staging_testnet_config_genesis(wasm_binary: &[u8]) -> rococo_runtime::
registrar: rococo_runtime::RegistrarConfig {
next_free_para_id: polkadot_primitives::v1::LOWEST_PUBLIC_ID,
},
xcm_pallet: rococo_runtime::XcmPalletConfig { safe_xcm_version: Some(2) },
xcm_pallet: rococo_runtime::XcmPalletConfig {
safe_xcm_version: Some(2),
..Default::default()
},
// bridge_rococo_grandpa: rococo_runtime::BridgeRococoGrandpaConfig {
// owner: Some(endowed_accounts[0].clone()),
// ..Default::default()
Expand Down Expand Up @@ -1414,7 +1420,7 @@ pub fn kusama_testnet_genesis(
},
gilt: Default::default(),
paras: Default::default(),
xcm_pallet: kusama::XcmPalletConfig { safe_xcm_version: Some(2) },
xcm_pallet: kusama::XcmPalletConfig { safe_xcm_version: Some(2), ..Default::default() },
}
}

Expand Down Expand Up @@ -1496,7 +1502,10 @@ pub fn westend_testnet_genesis(
registrar: westend_runtime::RegistrarConfig {
next_free_para_id: polkadot_primitives::v1::LOWEST_PUBLIC_ID,
},
xcm_pallet: westend_runtime::XcmPalletConfig { safe_xcm_version: Some(2) },
xcm_pallet: westend_runtime::XcmPalletConfig {
safe_xcm_version: Some(2),
..Default::default()
},
}
}

Expand Down Expand Up @@ -1573,7 +1582,10 @@ pub fn rococo_testnet_genesis(
registrar: rococo_runtime::RegistrarConfig {
next_free_para_id: polkadot_primitives::v1::LOWEST_PUBLIC_ID,
},
xcm_pallet: rococo_runtime::XcmPalletConfig { safe_xcm_version: Some(2) },
xcm_pallet: rococo_runtime::XcmPalletConfig {
safe_xcm_version: Some(2),
..Default::default()
},
// bridge_rococo_grandpa: rococo_runtime::BridgeRococoGrandpaConfig {
// owner: Some(root_key.clone()),
// ..Default::default()
Expand Down
2 changes: 1 addition & 1 deletion runtime/kusama/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1521,7 +1521,7 @@ construct_runtime! {
Crowdloan: crowdloan::{Pallet, Call, Storage, Event<T>} = 73,

// Pallet for sending XCM.
XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config} = 99,
XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config<T>} = 99,
}
}

Expand Down
2 changes: 1 addition & 1 deletion runtime/rococo/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -255,7 +255,7 @@ construct_runtime! {
Multisig: pallet_multisig::{Pallet, Call, Storage, Event<T>},

// Pallet for sending XCM.
XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config} = 99,
XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config<T>} = 99,

}
}
Expand Down
2 changes: 1 addition & 1 deletion runtime/westend/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1101,7 +1101,7 @@ construct_runtime! {
Crowdloan: crowdloan::{Pallet, Call, Storage, Event<T>} = 64,

// Pallet for sending XCM.
XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config} = 99,
XcmPallet: pallet_xcm::{Pallet, Call, Storage, Event<T>, Origin, Config<T>} = 99,
}
}

Expand Down
9 changes: 5 additions & 4 deletions xcm/pallet-xcm/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -388,20 +388,21 @@ pub mod pallet {
StorageValue<_, VersionMigrationStage, OptionQuery>;

#[pallet::genesis_config]
pub struct GenesisConfig {
pub struct GenesisConfig<T: Config> {
/// The default version to encode outgoing XCM messages with.
pub safe_xcm_version: Option<XcmVersion>,
pub phantom: sp_std::marker::PhantomData<T>,
}

#[cfg(feature = "std")]
impl Default for GenesisConfig {
impl<T: Config> Default for GenesisConfig<T> {
fn default() -> Self {
Self { safe_xcm_version: Some(XCM_VERSION) }
Self { safe_xcm_version: Some(XCM_VERSION), phantom: Default::default() }
}
}

#[pallet::genesis_build]
impl<T: Config> GenesisBuild<T> for GenesisConfig {
impl<T: Config> GenesisBuild<T> for GenesisConfig<T> {
fn build(&self) {
SafeXcmVersion::<T>::set(self.safe_xcm_version);
}
Expand Down
4 changes: 4 additions & 0 deletions xcm/pallet-xcm/src/mock.rs
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,10 @@ pub(crate) fn new_test_ext_with_balances(
.assimilate_storage(&mut t)
.unwrap();

pallet_xcm::GenesisConfig::<Test> { safe_xcm_version: Some(2), ..Default::default() }
.assimilate_storage(&mut t)
.unwrap();

let mut ext = sp_io::TestExternalities::new(t);
ext.execute_with(|| System::set_block_number(1));
ext
Expand Down

0 comments on commit 4405ea9

Please sign in to comment.