git.delta.rocks / unique-network / refs/commits / 538e9236a6e0

difftreelog

wip checkpoint. Opal builds.

Ilja Khabarov2022-08-19parent: #83658e7.patch.diff
in: master

8 files changed

modifiedCargo.lockdiffbeforeafterboth
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -5190,7 +5190,10 @@
  "frame-try-runtime",
  "hex-literal",
  "log",
+ "orml-tokens",
+ "orml-traits",
  "orml-vesting",
+ "orml-xtokens",
  "pallet-aura",
  "pallet-balances",
  "pallet-base-fee",
@@ -5202,6 +5205,7 @@
  "pallet-evm-contract-helpers",
  "pallet-evm-migration",
  "pallet-evm-transaction-payment",
+ "pallet-foreing-assets",
  "pallet-fungible",
  "pallet-inflation",
  "pallet-nonfungible",
@@ -5307,6 +5311,53 @@
 ]
 
 [[package]]
+name = "orml-tokens"
+version = "0.4.1-dev"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "orml-traits",
+ "parity-scale-codec 3.1.5",
+ "scale-info",
+ "serde",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
+name = "orml-traits"
+version = "0.4.1-dev"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+dependencies = [
+ "frame-support",
+ "impl-trait-for-tuples",
+ "num-traits",
+ "orml-utilities",
+ "parity-scale-codec 3.1.5",
+ "scale-info",
+ "serde",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+ "xcm",
+]
+
+[[package]]
+name = "orml-utilities"
+version = "0.4.1-dev"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+dependencies = [
+ "frame-support",
+ "parity-scale-codec 3.1.5",
+ "scale-info",
+ "serde",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+]
+
+[[package]]
 name = "orml-vesting"
 version = "0.4.1-dev"
 source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
@@ -5322,6 +5373,41 @@
 ]
 
 [[package]]
+name = "orml-xcm-support"
+version = "0.4.1-dev"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+dependencies = [
+ "frame-support",
+ "orml-traits",
+ "parity-scale-codec 3.1.5",
+ "sp-runtime",
+ "sp-std",
+ "xcm",
+ "xcm-executor",
+]
+
+[[package]]
+name = "orml-xtokens"
+version = "0.4.1-dev"
+source = "git+https://github.com/open-web3-stack/open-runtime-module-library?branch=polkadot-v0.9.27#377213f750755cc48e80a3131eaae63b5eda8362"
+dependencies = [
+ "cumulus-primitives-core",
+ "frame-support",
+ "frame-system",
+ "orml-traits",
+ "orml-xcm-support",
+ "pallet-xcm",
+ "parity-scale-codec 3.1.5",
+ "scale-info",
+ "serde",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+ "xcm",
+ "xcm-executor",
+]
+
+[[package]]
 name = "os_str_bytes"
 version = "6.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -5789,6 +5875,33 @@
 ]
 
 [[package]]
+name = "pallet-foreing-assets"
+version = "0.1.0"
+dependencies = [
+ "frame-support",
+ "frame-system",
+ "hex",
+ "log",
+ "orml-tokens",
+ "pallet-balances",
+ "pallet-common",
+ "pallet-fungible",
+ "pallet-timestamp",
+ "parity-scale-codec 3.1.5",
+ "scale-info",
+ "serde",
+ "serde_json",
+ "sp-core",
+ "sp-io",
+ "sp-runtime",
+ "sp-std",
+ "up-data-structs",
+ "xcm",
+ "xcm-builder",
+ "xcm-executor",
+]
+
+[[package]]
 name = "pallet-fungible"
 version = "0.1.3"
 dependencies = [
@@ -12130,7 +12243,7 @@
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
 dependencies = [
- "cfg-if 1.0.0",
+ "cfg-if 0.1.10",
  "digest 0.10.3",
  "rand 0.8.5",
  "static_assertions",
@@ -12473,7 +12586,7 @@
 
 [[package]]
 name = "up-common"
-version = "0.9.25"
+version = "0.9.27"
 dependencies = [
  "fp-rpc",
  "frame-support",
modifiedpallets/foreing-assets/Cargo.tomldiffbeforeafterboth
--- a/pallets/foreing-assets/Cargo.toml
+++ b/pallets/foreing-assets/Cargo.toml
@@ -9,26 +9,29 @@
 serde = { version = "1.0.136", optional = true }
 scale-info = { version = "2.0.1", default-features = false, features = ["derive"] }
 codec = { package = "parity-scale-codec", version = "3.0.0", default-features = false }
-sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24", default-features = false }
-sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24", default-features = false  }
-frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24", default-features = false }
-frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24", default-features = false }
+sp-runtime = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
+sp-std = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false  }
+frame-support = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
+frame-system = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
 up-data-structs = { default-features = false, path = '../../primitives/data-structs' }
-pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24", default-features = false }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27", default-features = false }
 pallet-common = { default-features = false, path = '../common' }
 pallet-fungible = { default-features = false, path = '../fungible' }
-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.24", default-features = false }
-xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.24", default-features = false }
-xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.24", default-features = false }
-orml-tokens = { git = 'https://github.com/UniqueNetwork/open-runtime-module-library', branch = 'unique-polkadot-v0.9.24', version = "0.4.1-dev", default-features = false }
+xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.27", default-features = false }
+xcm-builder = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.27", default-features = false }
+xcm-executor = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.27", default-features = false }
+#orml-tokens = { git = 'https://github.com/UniqueNetwork/open-runtime-module-library', branch = 'unique-polkadot-v0.9.24', version = "0.4.1-dev", default-features = false }
+orml-tokens = { git = "https://github.com/open-web3-stack/open-runtime-module-library", branch = "polkadot-v0.9.27", version = "0.4.1-dev", default-features = false }
+#git = "https://github.com/open-web3-stack/open-runtime-module-library"
+#branch = "polkadot-v0.9.27"
 
 [dev-dependencies]
 serde_json = "1.0.68"
 hex = { version = "0.4" }
-sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" }
-sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" }
-pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" }
-pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" }
+sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+sp-io = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-timestamp = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
+pallet-balances = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
 
 [features]
 default = ["std"]
modifiedpallets/fungible/src/lib.rsdiffbeforeafterboth
--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -167,8 +167,14 @@
 		Value = u128,
 		QueryKind = ValueQuery,
 	>;
+
+	/// Foreign collection flag
+	#[pallet::storage]
+	pub type ForeignCollection<T: Config> =
+	StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = bool, QueryKind = ValueQuery>;
 }
 
+
 /// Wrapper around untyped collection handle, asserting inner collection is of fungible type.
 /// Required for interaction with Fungible collections, type safety and implementation [`solidity_interface`][`evm_coder::solidity_interface`].
 pub struct FungibleHandle<T: Config>(pallet_common::CollectionHandle<T>);
@@ -215,6 +221,16 @@
 		<PalletCommon<T>>::init_collection(owner, data, false)
 	}
 
+	/// Initializes the collection with ForeignCollection flag. Returns [CollectionId] on success, [DispatchError] otherwise.
+	pub fn init_foreign_collection(
+		owner: T::CrossAccountId,
+		data: CreateCollectionData<T::AccountId>,
+	) -> Result<CollectionId, DispatchError> {
+		let id = <PalletCommon<T>>::init_collection(owner, data, false)?;
+		<ForeignCollection<T>>::insert(id, true);
+		Ok(id)
+	}
+
 	/// Destroys a collection.
 	pub fn destroy_collection(
 		collection: FungibleHandle<T>,
@@ -230,6 +246,7 @@
 
 		PalletCommon::destroy_collection(collection.0, sender)?;
 
+		<ForeignCollection<T>>::remove(id);
 		<TotalSupply<T>>::remove(id);
 		let _ = <Balance<T>>::clear_prefix((id,), u32::MAX, None);
 		let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);
@@ -257,6 +274,12 @@
 			.checked_sub(amount)
 			.ok_or(<CommonError<T>>::TokenValueTooLow)?;
 
+		// Foreign collection check
+		ensure!(
+			!<ForeignCollection<T>>::get(collection.id),
+			<CommonError<T>>::NoPermission
+		);
+
 		if collection.permissions.access() == AccessMode::AllowList {
 			collection.check_allowlist(owner)?;
 		}
@@ -288,6 +311,46 @@
 		Ok(())
 	}
 
+	/// Burns the specified amount of the token.
+	pub fn burn_foreign(
+		collection: &FungibleHandle<T>,
+		owner: &T::CrossAccountId,
+		amount: u128,
+	) -> DispatchResult {
+		let total_supply = <TotalSupply<T>>::get(collection.id)
+			.checked_sub(amount)
+			.ok_or(<CommonError<T>>::TokenValueTooLow)?;
+
+		let balance = <Balance<T>>::get((collection.id, owner))
+			.checked_sub(amount)
+			.ok_or(<CommonError<T>>::TokenValueTooLow)?;
+		// =========
+
+		if balance == 0 {
+			<Balance<T>>::remove((collection.id, owner));
+			<PalletStructure<T>>::unnest_if_nested(owner, collection.id, TokenId::default());
+		} else {
+			<Balance<T>>::insert((collection.id, owner), balance);
+		}
+		<TotalSupply<T>>::insert(collection.id, total_supply);
+
+		<PalletEvm<T>>::deposit_log(
+			ERC20Events::Transfer {
+				from: *owner.as_eth(),
+				to: H160::default(),
+				value: amount.into(),
+			}
+				.to_log(collection_id_to_address(collection.id)),
+		);
+		<PalletCommon<T>>::deposit_event(CommonEvent::ItemDestroyed(
+			collection.id,
+			TokenId::default(),
+			owner.clone(),
+			amount,
+		));
+		Ok(())
+	}
+
 	/// Transfers the specified amount of tokens. Will check that
 	/// the transfer is allowed for the token.
 	///
@@ -373,6 +436,12 @@
 		data: BTreeMap<T::CrossAccountId, u128>,
 		nesting_budget: &dyn Budget,
 	) -> DispatchResult {
+		// Foreign collection check
+		ensure!(
+			!<ForeignCollection<T>>::get(collection.id),
+			<CommonError<T>>::NoPermission
+		);
+
 		if !collection.is_owner_or_admin(sender) {
 			ensure!(
 				collection.permissions.mint_mode(),
@@ -442,6 +511,68 @@
 		Ok(())
 	}
 
+	/// Minting tokens for multiple IDs.
+	/// See [`create_item_foreign`][`Pallet::create_item_foreign`] for more details.
+	pub fn create_multiple_items_foreign(
+		collection: &FungibleHandle<T>,
+		sender: &T::CrossAccountId,
+		data: BTreeMap<T::CrossAccountId, u128>,
+		nesting_budget: &dyn Budget,
+	) -> DispatchResult {
+		let total_supply = data
+			.iter()
+			.map(|(_, v)| *v)
+			.try_fold(<TotalSupply<T>>::get(collection.id), |acc, v| {
+				acc.checked_add(v)
+			})
+			.ok_or(ArithmeticError::Overflow)?;
+
+		let mut balances = data;
+		for (k, v) in balances.iter_mut() {
+			*v = <Balance<T>>::get((collection.id, &k))
+				.checked_add(*v)
+				.ok_or(ArithmeticError::Overflow)?;
+		}
+
+		for (to, _) in balances.iter() {
+			<PalletStructure<T>>::check_nesting(
+				sender.clone(),
+				to,
+				collection.id,
+				TokenId::default(),
+				nesting_budget,
+			)?;
+		}
+
+		// =========
+
+		<TotalSupply<T>>::insert(collection.id, total_supply);
+		for (user, amount) in balances {
+			<Balance<T>>::insert((collection.id, &user), amount);
+			<PalletStructure<T>>::nest_if_sent_to_token_unchecked(
+				&user,
+				collection.id,
+				TokenId::default(),
+			);
+			<PalletEvm<T>>::deposit_log(
+				ERC20Events::Transfer {
+					from: H160::default(),
+					to: *user.as_eth(),
+					value: amount.into(),
+				}
+					.to_log(collection_id_to_address(collection.id)),
+			);
+			<PalletCommon<T>>::deposit_event(CommonEvent::ItemCreated(
+				collection.id,
+				TokenId::default(),
+				user.clone(),
+				amount,
+			));
+		}
+
+		Ok(())
+	}
+
 	fn set_allowance_unchecked(
 		collection: &FungibleHandle<T>,
 		owner: &T::CrossAccountId,
@@ -615,6 +746,24 @@
 		)
 	}
 
+	///	Creates fungible token.
+	///
+	/// - `data`: Contains user who will become the owners of the tokens and amount
+	///   of tokens he will receive.
+	pub fn create_item_foreign(
+		collection: &FungibleHandle<T>,
+		sender: &T::CrossAccountId,
+		data: CreateItemData<T>,
+		nesting_budget: &dyn Budget,
+	) -> DispatchResult {
+		Self::create_multiple_items_foreign(
+			collection,
+			sender,
+			[(data.0, data.1)].into_iter().collect(),
+			nesting_budget,
+		)
+	}
+
 	/// Returns 10 tokens owners in no particular order
 	///
 	/// There is no direct way to get token holders in ascending order,
addedruntime/common/config/pallets/foreign_asset.rsdiffbeforeafterboth
--- /dev/null
+++ b/runtime/common/config/pallets/foreign_asset.rs
@@ -0,0 +1,9 @@
+use crate::{Runtime, Event, Balances};
+use up_common::types::AccountId;
+
+impl pallet_foreing_assets::Config for Runtime {
+    type Event = Event;
+    type Currency = Balances;
+    type RegisterOrigin = frame_system::EnsureRoot<AccountId>;
+    type WeightInfo = ();
+}
modifiedruntime/common/config/pallets/mod.rsdiffbeforeafterboth
--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -40,6 +40,9 @@
 #[cfg(feature = "scheduler")]
 pub mod scheduler;
 
+#[cfg(feature = "foreign-asset")]
+pub mod foreign_asset;
+
 parameter_types! {
 	pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating();
 	pub const CollectionCreationPrice: Balance = 2 * UNIQUE;
modifiedruntime/common/construct_runtime/mod.rsdiffbeforeafterboth
--- a/runtime/common/construct_runtime/mod.rs
+++ b/runtime/common/construct_runtime/mod.rs
@@ -42,6 +42,8 @@
                 Treasury: pallet_treasury::{Pallet, Call, Storage, Config, Event<T>} = 34,
                 Sudo: pallet_sudo::{Pallet, Call, Storage, Config<T>, Event<T>} = 35,
                 Vesting: orml_vesting::{Pallet, Storage, Call, Event<T>, Config<T>} = 37,
+                XTokens: orml_xtokens = 38,
+                Tokens: orml_tokens = 39,
                 // Vesting: pallet_vesting::{Pallet, Call, Config<T>, Storage, Event<T>} = 37,
                 // Contracts: pallet_contracts::{Pallet, Call, Storage, Event<T>} = 38,
 
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
before · runtime/opal/Cargo.toml
1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Opal Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'opal-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version = "0.9.27"1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std', 'opal-runtime']20runtime-benchmarks = [21    'hex-literal',22    'frame-benchmarking',23    'frame-support/runtime-benchmarks',24    'frame-system-benchmarking',25    'frame-system/runtime-benchmarks',26    'pallet-ethereum/runtime-benchmarks',27    'pallet-evm-migration/runtime-benchmarks',28    'pallet-evm-coder-substrate/runtime-benchmarks',29    'pallet-balances/runtime-benchmarks',30    'pallet-timestamp/runtime-benchmarks',31    'pallet-common/runtime-benchmarks',32    'pallet-structure/runtime-benchmarks',33    'pallet-fungible/runtime-benchmarks',34    'pallet-refungible/runtime-benchmarks',35    'pallet-nonfungible/runtime-benchmarks',36    'pallet-proxy-rmrk-core/runtime-benchmarks',37    'pallet-proxy-rmrk-equip/runtime-benchmarks',38    'pallet-unique/runtime-benchmarks',39    'pallet-inflation/runtime-benchmarks',40    'pallet-unique-scheduler/runtime-benchmarks',41    'pallet-xcm/runtime-benchmarks',42    'sp-runtime/runtime-benchmarks',43    'xcm-builder/runtime-benchmarks',44]45try-runtime = [46    'frame-try-runtime',47    'frame-executive/try-runtime',48    'frame-system/try-runtime',49]50std = [51    'codec/std',52    'cumulus-pallet-aura-ext/std',53    'cumulus-pallet-parachain-system/std',54    'cumulus-pallet-xcm/std',55    'cumulus-pallet-xcmp-queue/std',56    'cumulus-primitives-core/std',57    'cumulus-primitives-utility/std',58    'frame-try-runtime/std',59    'frame-executive/std',60    'frame-support/std',61    'frame-system/std',62    'frame-system-rpc-runtime-api/std',63    'pallet-aura/std',64    'pallet-balances/std',65    # 'pallet-contracts/std',66    # 'pallet-contracts-primitives/std',67    # 'pallet-contracts-rpc-runtime-api/std',68    # 'pallet-contract-helpers/std',69    'pallet-randomness-collective-flip/std',70    'pallet-sudo/std',71    'pallet-timestamp/std',72    'pallet-transaction-payment/std',73    'pallet-transaction-payment-rpc-runtime-api/std',74    'pallet-treasury/std',75    # 'pallet-vesting/std',76    'pallet-evm/std',77    'pallet-evm-migration/std',78    'pallet-evm-contract-helpers/std',79    'pallet-evm-transaction-payment/std',80    'pallet-evm-coder-substrate/std',81    'pallet-ethereum/std',82    'pallet-base-fee/std',83    'fp-rpc/std',84    'up-rpc/std',85    'fp-evm-mapping/std',86    'fp-self-contained/std',87    'parachain-info/std',88    'serde',89    'pallet-inflation/std',90    'pallet-configuration/std',91    'pallet-common/std',92    'pallet-structure/std',93    'pallet-fungible/std',94    'pallet-refungible/std',95    'pallet-nonfungible/std',96    'pallet-proxy-rmrk-core/std',97    'pallet-proxy-rmrk-equip/std',98    'pallet-unique/std',99    'pallet-unique-scheduler/std',100    'pallet-charge-transaction/std',101    'up-data-structs/std',102    'sp-api/std',103    'sp-block-builder/std',104    "sp-consensus-aura/std",105    'sp-core/std',106    'sp-inherents/std',107    'sp-io/std',108    'sp-offchain/std',109    'sp-runtime/std',110    'sp-session/std',111    'sp-std/std',112    'sp-transaction-pool/std',113    'sp-version/std',114    'xcm/std',115    'xcm-builder/std',116    'xcm-executor/std',117    'up-common/std',118    'rmrk-rpc/std',119    'evm-coder/std',120    'up-sponsorship/std',121122    "orml-vesting/std",123]124limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']125opal-runtime = ['refungible', 'scheduler', 'rmrk']126127refungible = []128scheduler = []129rmrk = []130131################################################################################132# Substrate Dependencies133134[dependencies.codec]135default-features = false136features = ['derive']137package = 'parity-scale-codec'138version = '3.1.2'139140[dependencies.frame-benchmarking]141default-features = false142git = "https://github.com/paritytech/substrate"143optional = true144branch = "polkadot-v0.9.27"145146[dependencies.frame-try-runtime]147default-features = false148git = "https://github.com/paritytech/substrate"149optional = true150branch = "polkadot-v0.9.27"151152[dependencies.frame-executive]153default-features = false154git = "https://github.com/paritytech/substrate"155branch = "polkadot-v0.9.27"156157[dependencies.frame-support]158default-features = false159git = "https://github.com/paritytech/substrate"160branch = "polkadot-v0.9.27"161162[dependencies.frame-system]163default-features = false164git = "https://github.com/paritytech/substrate"165branch = "polkadot-v0.9.27"166167[dependencies.frame-system-benchmarking]168default-features = false169git = "https://github.com/paritytech/substrate"170optional = true171branch = "polkadot-v0.9.27"172173[dependencies.frame-system-rpc-runtime-api]174default-features = false175git = "https://github.com/paritytech/substrate"176branch = "polkadot-v0.9.27"177178[dependencies.hex-literal]179optional = true180version = '0.3.3'181182[dependencies.serde]183default-features = false184features = ['derive']185optional = true186version = '1.0.130'187188[dependencies.pallet-aura]189default-features = false190git = "https://github.com/paritytech/substrate"191branch = "polkadot-v0.9.27"192193[dependencies.pallet-balances]194default-features = false195git = "https://github.com/paritytech/substrate"196branch = "polkadot-v0.9.27"197198# Contracts specific packages199# [dependencies.pallet-contracts]200# git = 'https://github.com/paritytech/substrate'201# default-features = false202# branch = 'master'203# version = '4.0.0-dev'204205# [dependencies.pallet-contracts-primitives]206# git = 'https://github.com/paritytech/substrate'207# default-features = false208# branch = 'master'209# version = '4.0.0-dev'210211# [dependencies.pallet-contracts-rpc-runtime-api]212# git = 'https://github.com/paritytech/substrate'213# default-features = false214# branch = 'master'215# version = '4.0.0-dev'216217[dependencies.pallet-randomness-collective-flip]218default-features = false219git = "https://github.com/paritytech/substrate"220branch = "polkadot-v0.9.27"221222[dependencies.pallet-sudo]223default-features = false224git = "https://github.com/paritytech/substrate"225branch = "polkadot-v0.9.27"226227[dependencies.pallet-timestamp]228default-features = false229git = "https://github.com/paritytech/substrate"230branch = "polkadot-v0.9.27"231232[dependencies.pallet-transaction-payment]233default-features = false234git = "https://github.com/paritytech/substrate"235branch = "polkadot-v0.9.27"236237[dependencies.pallet-transaction-payment-rpc-runtime-api]238default-features = false239git = "https://github.com/paritytech/substrate"240branch = "polkadot-v0.9.27"241242[dependencies.pallet-treasury]243default-features = false244git = "https://github.com/paritytech/substrate"245branch = "polkadot-v0.9.27"246247# [dependencies.pallet-vesting]248# default-features = false249# git = 'https://github.com/paritytech/substrate'250# branch = 'master'251252[dependencies.sp-arithmetic]253default-features = false254git = "https://github.com/paritytech/substrate"255branch = "polkadot-v0.9.27"256257[dependencies.sp-api]258default-features = false259git = "https://github.com/paritytech/substrate"260branch = "polkadot-v0.9.27"261262[dependencies.sp-block-builder]263default-features = false264git = "https://github.com/paritytech/substrate"265branch = "polkadot-v0.9.27"266267[dependencies.sp-core]268default-features = false269git = "https://github.com/paritytech/substrate"270branch = "polkadot-v0.9.27"271272[dependencies.sp-consensus-aura]273default-features = false274git = "https://github.com/paritytech/substrate"275branch = "polkadot-v0.9.27"276277[dependencies.sp-inherents]278default-features = false279git = "https://github.com/paritytech/substrate"280branch = "polkadot-v0.9.27"281282[dependencies.sp-io]283default-features = false284git = "https://github.com/paritytech/substrate"285branch = "polkadot-v0.9.27"286287[dependencies.sp-offchain]288default-features = false289git = "https://github.com/paritytech/substrate"290branch = "polkadot-v0.9.27"291292[dependencies.sp-runtime]293default-features = false294git = "https://github.com/paritytech/substrate"295branch = "polkadot-v0.9.27"296297[dependencies.sp-session]298default-features = false299git = "https://github.com/paritytech/substrate"300branch = "polkadot-v0.9.27"301302[dependencies.sp-std]303default-features = false304git = "https://github.com/paritytech/substrate"305branch = "polkadot-v0.9.27"306307[dependencies.sp-transaction-pool]308default-features = false309git = "https://github.com/paritytech/substrate"310branch = "polkadot-v0.9.27"311312[dependencies.sp-version]313default-features = false314git = "https://github.com/paritytech/substrate"315branch = "polkadot-v0.9.27"316317[dependencies.smallvec]318version = '1.6.1'319320################################################################################321# Cumulus dependencies322323[dependencies.parachain-info]324default-features = false325git = "https://github.com/paritytech/cumulus"326branch = "polkadot-v0.9.27"327328[dependencies.cumulus-pallet-aura-ext]329git = "https://github.com/paritytech/cumulus"330branch = "polkadot-v0.9.27"331default-features = false332333[dependencies.cumulus-pallet-parachain-system]334git = "https://github.com/paritytech/cumulus"335branch = "polkadot-v0.9.27"336default-features = false337338[dependencies.cumulus-primitives-core]339git = "https://github.com/paritytech/cumulus"340branch = "polkadot-v0.9.27"341default-features = false342343[dependencies.cumulus-pallet-xcm]344git = "https://github.com/paritytech/cumulus"345branch = "polkadot-v0.9.27"346default-features = false347348[dependencies.cumulus-pallet-dmp-queue]349git = "https://github.com/paritytech/cumulus"350branch = "polkadot-v0.9.27"351default-features = false352353[dependencies.cumulus-pallet-xcmp-queue]354git = "https://github.com/paritytech/cumulus"355branch = "polkadot-v0.9.27"356default-features = false357358[dependencies.cumulus-primitives-utility]359git = "https://github.com/paritytech/cumulus"360branch = "polkadot-v0.9.27"361default-features = false362363[dependencies.cumulus-primitives-timestamp]364git = "https://github.com/paritytech/cumulus"365branch = "polkadot-v0.9.27"366default-features = false367368################################################################################369# Polkadot dependencies370371[dependencies.polkadot-parachain]372git = "https://github.com/paritytech/polkadot"373branch = "release-v0.9.27"374default-features = false375376[dependencies.xcm]377git = "https://github.com/paritytech/polkadot"378branch = "release-v0.9.27"379default-features = false380381[dependencies.xcm-builder]382git = "https://github.com/paritytech/polkadot"383branch = "release-v0.9.27"384default-features = false385386[dependencies.xcm-executor]387git = "https://github.com/paritytech/polkadot"388branch = "release-v0.9.27"389default-features = false390391[dependencies.pallet-xcm]392git = "https://github.com/paritytech/polkadot"393branch = "release-v0.9.27"394default-features = false395396[dependencies.orml-vesting]397git = "https://github.com/open-web3-stack/open-runtime-module-library"398branch = "polkadot-v0.9.27"399version = "0.4.1-dev"400default-features = false401402################################################################################403# local dependencies404405[dependencies]406log = { version = "0.4.16", default-features = false }407up-common = { path = "../../primitives/common", default-features = false }408scale-info = { version = "2.0.1", default-features = false, features = [409    "derive",410] }411derivative = "2.2.0"412pallet-unique = { path = '../../pallets/unique', default-features = false }413up-rpc = { path = "../../primitives/rpc", default-features = false }414rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }415fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }416pallet-inflation = { path = '../../pallets/inflation', default-features = false }417up-data-structs = { path = '../../primitives/data-structs', default-features = false }418pallet-configuration = { default-features = false, path = "../../pallets/configuration" }419pallet-common = { default-features = false, path = "../../pallets/common" }420pallet-structure = { default-features = false, path = "../../pallets/structure" }421pallet-fungible = { default-features = false, path = "../../pallets/fungible" }422pallet-refungible = { default-features = false, path = "../../pallets/refungible" }423pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }424pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }425pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }426pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }427# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }428pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }429pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }430pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }431pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }432pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }433pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }434pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }435pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }436fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }437fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }438evm-coder = { default-features = false, path = '../../crates/evm-coder' }439up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }440441################################################################################442# Build Dependencies443444[build-dependencies.substrate-wasm-builder]445git = "https://github.com/paritytech/substrate"446branch = "polkadot-v0.9.27"
after · runtime/opal/Cargo.toml
1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Opal Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'opal-runtime'12repository = 'https://github.com/UniqueNetwork/unique-chain'13version = "0.9.27"1415[package.metadata.docs.rs]16targets = ['x86_64-unknown-linux-gnu']1718[features]19default = ['std', 'opal-runtime']20runtime-benchmarks = [21    'hex-literal',22    'frame-benchmarking',23    'frame-support/runtime-benchmarks',24    'frame-system-benchmarking',25    'frame-system/runtime-benchmarks',26    'pallet-ethereum/runtime-benchmarks',27    'pallet-evm-migration/runtime-benchmarks',28    'pallet-evm-coder-substrate/runtime-benchmarks',29    'pallet-balances/runtime-benchmarks',30    'pallet-timestamp/runtime-benchmarks',31    'pallet-common/runtime-benchmarks',32    'pallet-structure/runtime-benchmarks',33    'pallet-fungible/runtime-benchmarks',34    'pallet-refungible/runtime-benchmarks',35    'pallet-nonfungible/runtime-benchmarks',36    'pallet-proxy-rmrk-core/runtime-benchmarks',37    'pallet-proxy-rmrk-equip/runtime-benchmarks',38    'pallet-unique/runtime-benchmarks',39    'pallet-inflation/runtime-benchmarks',40    'pallet-unique-scheduler/runtime-benchmarks',41    'pallet-xcm/runtime-benchmarks',42    'sp-runtime/runtime-benchmarks',43    'xcm-builder/runtime-benchmarks',44]45try-runtime = [46    'frame-try-runtime',47    'frame-executive/try-runtime',48    'frame-system/try-runtime',49]50std = [51    'codec/std',52    'cumulus-pallet-aura-ext/std',53    'cumulus-pallet-parachain-system/std',54    'cumulus-pallet-xcm/std',55    'cumulus-pallet-xcmp-queue/std',56    'cumulus-primitives-core/std',57    'cumulus-primitives-utility/std',58    'frame-try-runtime/std',59    'frame-executive/std',60    'frame-support/std',61    'frame-system/std',62    'frame-system-rpc-runtime-api/std',63    'pallet-aura/std',64    'pallet-balances/std',65    # 'pallet-contracts/std',66    # 'pallet-contracts-primitives/std',67    # 'pallet-contracts-rpc-runtime-api/std',68    # 'pallet-contract-helpers/std',69    'pallet-randomness-collective-flip/std',70    'pallet-sudo/std',71    'pallet-timestamp/std',72    'pallet-transaction-payment/std',73    'pallet-transaction-payment-rpc-runtime-api/std',74    'pallet-treasury/std',75    # 'pallet-vesting/std',76    'pallet-evm/std',77    'pallet-evm-migration/std',78    'pallet-evm-contract-helpers/std',79    'pallet-evm-transaction-payment/std',80    'pallet-evm-coder-substrate/std',81    'pallet-ethereum/std',82    'pallet-base-fee/std',83    'fp-rpc/std',84    'up-rpc/std',85    'fp-evm-mapping/std',86    'fp-self-contained/std',87    'parachain-info/std',88    'serde',89    'pallet-inflation/std',90    'pallet-configuration/std',91    'pallet-common/std',92    'pallet-structure/std',93    'pallet-fungible/std',94    'pallet-refungible/std',95    'pallet-nonfungible/std',96    'pallet-proxy-rmrk-core/std',97    'pallet-proxy-rmrk-equip/std',98    'pallet-unique/std',99    'pallet-unique-scheduler/std',100    'pallet-charge-transaction/std',101    'up-data-structs/std',102    'sp-api/std',103    'sp-block-builder/std',104    "sp-consensus-aura/std",105    'sp-core/std',106    'sp-inherents/std',107    'sp-io/std',108    'sp-offchain/std',109    'sp-runtime/std',110    'sp-session/std',111    'sp-std/std',112    'sp-transaction-pool/std',113    'sp-version/std',114    'xcm/std',115    'xcm-builder/std',116    'xcm-executor/std',117    'up-common/std',118    'rmrk-rpc/std',119    'evm-coder/std',120    'up-sponsorship/std',121122    "orml-vesting/std",123    "orml-tokens/std",124    "orml-xtokens/std",125    "orml-traits/std",126    "pallet-foreing-assets/std"127]128limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']129opal-runtime = ['refungible', 'scheduler', 'rmrk', 'foreign-asset']130131refungible = []132scheduler = []133rmrk = []134foreign-asset = []135136################################################################################137# Substrate Dependencies138139[dependencies.codec]140default-features = false141features = ['derive']142package = 'parity-scale-codec'143version = '3.1.2'144145[dependencies.frame-benchmarking]146default-features = false147git = "https://github.com/paritytech/substrate"148optional = true149branch = "polkadot-v0.9.27"150151[dependencies.frame-try-runtime]152default-features = false153git = "https://github.com/paritytech/substrate"154optional = true155branch = "polkadot-v0.9.27"156157[dependencies.frame-executive]158default-features = false159git = "https://github.com/paritytech/substrate"160branch = "polkadot-v0.9.27"161162[dependencies.frame-support]163default-features = false164git = "https://github.com/paritytech/substrate"165branch = "polkadot-v0.9.27"166167[dependencies.frame-system]168default-features = false169git = "https://github.com/paritytech/substrate"170branch = "polkadot-v0.9.27"171172[dependencies.frame-system-benchmarking]173default-features = false174git = "https://github.com/paritytech/substrate"175optional = true176branch = "polkadot-v0.9.27"177178[dependencies.frame-system-rpc-runtime-api]179default-features = false180git = "https://github.com/paritytech/substrate"181branch = "polkadot-v0.9.27"182183[dependencies.hex-literal]184optional = true185version = '0.3.3'186187[dependencies.serde]188default-features = false189features = ['derive']190optional = true191version = '1.0.130'192193[dependencies.pallet-aura]194default-features = false195git = "https://github.com/paritytech/substrate"196branch = "polkadot-v0.9.27"197198[dependencies.pallet-balances]199default-features = false200git = "https://github.com/paritytech/substrate"201branch = "polkadot-v0.9.27"202203# Contracts specific packages204# [dependencies.pallet-contracts]205# git = 'https://github.com/paritytech/substrate'206# default-features = false207# branch = 'master'208# version = '4.0.0-dev'209210# [dependencies.pallet-contracts-primitives]211# git = 'https://github.com/paritytech/substrate'212# default-features = false213# branch = 'master'214# version = '4.0.0-dev'215216# [dependencies.pallet-contracts-rpc-runtime-api]217# git = 'https://github.com/paritytech/substrate'218# default-features = false219# branch = 'master'220# version = '4.0.0-dev'221222[dependencies.pallet-randomness-collective-flip]223default-features = false224git = "https://github.com/paritytech/substrate"225branch = "polkadot-v0.9.27"226227[dependencies.pallet-sudo]228default-features = false229git = "https://github.com/paritytech/substrate"230branch = "polkadot-v0.9.27"231232[dependencies.pallet-timestamp]233default-features = false234git = "https://github.com/paritytech/substrate"235branch = "polkadot-v0.9.27"236237[dependencies.pallet-transaction-payment]238default-features = false239git = "https://github.com/paritytech/substrate"240branch = "polkadot-v0.9.27"241242[dependencies.pallet-transaction-payment-rpc-runtime-api]243default-features = false244git = "https://github.com/paritytech/substrate"245branch = "polkadot-v0.9.27"246247[dependencies.pallet-treasury]248default-features = false249git = "https://github.com/paritytech/substrate"250branch = "polkadot-v0.9.27"251252# [dependencies.pallet-vesting]253# default-features = false254# git = 'https://github.com/paritytech/substrate'255# branch = 'master'256257[dependencies.sp-arithmetic]258default-features = false259git = "https://github.com/paritytech/substrate"260branch = "polkadot-v0.9.27"261262[dependencies.sp-api]263default-features = false264git = "https://github.com/paritytech/substrate"265branch = "polkadot-v0.9.27"266267[dependencies.sp-block-builder]268default-features = false269git = "https://github.com/paritytech/substrate"270branch = "polkadot-v0.9.27"271272[dependencies.sp-core]273default-features = false274git = "https://github.com/paritytech/substrate"275branch = "polkadot-v0.9.27"276277[dependencies.sp-consensus-aura]278default-features = false279git = "https://github.com/paritytech/substrate"280branch = "polkadot-v0.9.27"281282[dependencies.sp-inherents]283default-features = false284git = "https://github.com/paritytech/substrate"285branch = "polkadot-v0.9.27"286287[dependencies.sp-io]288default-features = false289git = "https://github.com/paritytech/substrate"290branch = "polkadot-v0.9.27"291292[dependencies.sp-offchain]293default-features = false294git = "https://github.com/paritytech/substrate"295branch = "polkadot-v0.9.27"296297[dependencies.sp-runtime]298default-features = false299git = "https://github.com/paritytech/substrate"300branch = "polkadot-v0.9.27"301302[dependencies.sp-session]303default-features = false304git = "https://github.com/paritytech/substrate"305branch = "polkadot-v0.9.27"306307[dependencies.sp-std]308default-features = false309git = "https://github.com/paritytech/substrate"310branch = "polkadot-v0.9.27"311312[dependencies.sp-transaction-pool]313default-features = false314git = "https://github.com/paritytech/substrate"315branch = "polkadot-v0.9.27"316317[dependencies.sp-version]318default-features = false319git = "https://github.com/paritytech/substrate"320branch = "polkadot-v0.9.27"321322[dependencies.smallvec]323version = '1.6.1'324325################################################################################326# Cumulus dependencies327328[dependencies.parachain-info]329default-features = false330git = "https://github.com/paritytech/cumulus"331branch = "polkadot-v0.9.27"332333[dependencies.cumulus-pallet-aura-ext]334git = "https://github.com/paritytech/cumulus"335branch = "polkadot-v0.9.27"336default-features = false337338[dependencies.cumulus-pallet-parachain-system]339git = "https://github.com/paritytech/cumulus"340branch = "polkadot-v0.9.27"341default-features = false342343[dependencies.cumulus-primitives-core]344git = "https://github.com/paritytech/cumulus"345branch = "polkadot-v0.9.27"346default-features = false347348[dependencies.cumulus-pallet-xcm]349git = "https://github.com/paritytech/cumulus"350branch = "polkadot-v0.9.27"351default-features = false352353[dependencies.cumulus-pallet-dmp-queue]354git = "https://github.com/paritytech/cumulus"355branch = "polkadot-v0.9.27"356default-features = false357358[dependencies.cumulus-pallet-xcmp-queue]359git = "https://github.com/paritytech/cumulus"360branch = "polkadot-v0.9.27"361default-features = false362363[dependencies.cumulus-primitives-utility]364git = "https://github.com/paritytech/cumulus"365branch = "polkadot-v0.9.27"366default-features = false367368[dependencies.cumulus-primitives-timestamp]369git = "https://github.com/paritytech/cumulus"370branch = "polkadot-v0.9.27"371default-features = false372373################################################################################374# Polkadot dependencies375376[dependencies.polkadot-parachain]377git = "https://github.com/paritytech/polkadot"378branch = "release-v0.9.27"379default-features = false380381[dependencies.xcm]382git = "https://github.com/paritytech/polkadot"383branch = "release-v0.9.27"384default-features = false385386[dependencies.xcm-builder]387git = "https://github.com/paritytech/polkadot"388branch = "release-v0.9.27"389default-features = false390391[dependencies.xcm-executor]392git = "https://github.com/paritytech/polkadot"393branch = "release-v0.9.27"394default-features = false395396[dependencies.pallet-xcm]397git = "https://github.com/paritytech/polkadot"398branch = "release-v0.9.27"399default-features = false400401[dependencies.orml-vesting]402git = "https://github.com/open-web3-stack/open-runtime-module-library"403branch = "polkadot-v0.9.27"404version = "0.4.1-dev"405default-features = false406407[dependencies.orml-xtokens]408git = "https://github.com/open-web3-stack/open-runtime-module-library"409branch = "polkadot-v0.9.27"410version = "0.4.1-dev"411default-features = false412413[dependencies.orml-tokens]414git = "https://github.com/open-web3-stack/open-runtime-module-library"415branch = "polkadot-v0.9.27"416version = "0.4.1-dev"417default-features = false418419[dependencies.orml-traits]420git = "https://github.com/open-web3-stack/open-runtime-module-library"421branch = "polkadot-v0.9.27"422version = "0.4.1-dev"423default-features = false424425################################################################################426# local dependencies427428[dependencies]429log = { version = "0.4.16", default-features = false }430up-common = { path = "../../primitives/common", default-features = false }431scale-info = { version = "2.0.1", default-features = false, features = [432    "derive",433] }434derivative = "2.2.0"435pallet-unique = { path = '../../pallets/unique', default-features = false }436up-rpc = { path = "../../primitives/rpc", default-features = false }437rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }438fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }439pallet-inflation = { path = '../../pallets/inflation', default-features = false }440up-data-structs = { path = '../../primitives/data-structs', default-features = false }441pallet-configuration = { default-features = false, path = "../../pallets/configuration" }442pallet-common = { default-features = false, path = "../../pallets/common" }443pallet-structure = { default-features = false, path = "../../pallets/structure" }444pallet-fungible = { default-features = false, path = "../../pallets/fungible" }445pallet-refungible = { default-features = false, path = "../../pallets/refungible" }446pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }447pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }448pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }449pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }450# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }451pallet-charge-transaction = { git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.27", package = "pallet-template-transaction-payment", default-features = false, version = "3.0.0" }452pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }453pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }454pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }455pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }456pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }457pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }458pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }459fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }460fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }461evm-coder = { default-features = false, path = '../../crates/evm-coder' }462up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }463pallet-foreing-assets = { default-features = false, path = "../../pallets/foreing-assets" }464465################################################################################466# Build Dependencies467468[build-dependencies.substrate-wasm-builder]469git = "https://github.com/paritytech/substrate"470branch = "polkadot-v0.9.27"
modifiedruntime/opal/src/lib.rsdiffbeforeafterboth
--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -35,6 +35,8 @@
 #[path = "../../common/mod.rs"]
 mod runtime_common;
 
+pub mod xcm_config;
+
 pub use runtime_common::*;
 
 pub const RUNTIME_NAME: &str = "opal";