git.delta.rocks / unique-network / refs/commits / a6179b86a28f

difftreelog

Foreign assets benchmark

Dev2022-09-12parent: #838ab9f.patch.diff
in: master

8 files changed

modifiedMakefilediffbeforeafterboth
--- a/Makefile
+++ b/Makefile
@@ -128,5 +128,9 @@
 bench-rmrk-equip:
 	make _bench PALLET=proxy-rmrk-equip
 
+.PHONY: bench-foreign-assets
+bench-foreign-assets:
+	make _bench PALLET=foreign-assets	
+
 .PHONY: bench
-bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-scheduler bench-rmrk-core bench-rmrk-equip
+bench: bench-evm-migration bench-unique bench-structure bench-fungible bench-refungible bench-nonfungible bench-scheduler bench-rmrk-core bench-rmrk-equip bench-foreign-assets
modifiedpallets/foreign-assets/Cargo.tomldiffbeforeafterboth
--- a/pallets/foreign-assets/Cargo.toml
+++ b/pallets/foreign-assets/Cargo.toml
@@ -22,8 +22,7 @@
 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"
+frame-benchmarking = { default-features = false, optional = true, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.27" }
 
 [dev-dependencies]
 serde_json = "1.0.68"
@@ -51,3 +50,4 @@
 	"orml-tokens/std"
 ]
 try-runtime = ["frame-support/try-runtime"]
+runtime-benchmarks = ['frame-benchmarking', 'pallet-common/runtime-benchmarks']
\ No newline at end of file
addedpallets/foreign-assets/src/benchmarking.rsdiffbeforeafterboth
--- /dev/null
+++ b/pallets/foreign-assets/src/benchmarking.rs
@@ -0,0 +1,76 @@
+// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.
+// This file is part of Unique Network.
+
+// Unique Network is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, either version 3 of the License, or
+// (at your option) any later version.
+
+// Unique Network is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License
+// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.
+
+#![allow(missing_docs)]
+
+use super::{Config, Pallet};
+use frame_benchmarking::{benchmarks, account};
+use frame_system::RawOrigin;
+use crate::AssetMetadata;
+use crate::Pallet as ForeignAssets;
+use xcm::opaque::latest::Junction::Parachain;
+use xcm::VersionedMultiLocation;
+use frame_support::{
+	traits::{Currency},
+};
+use sp_std::boxed::Box;
+
+benchmarks! {
+	register_foreign_asset {
+		let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;
+		let owner: T::AccountId = account("user", 0, 1);
+		let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(1000).into());
+		let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
+			name: "name".into(),
+			symbol: "symbol".into(),
+			decimals: 18,
+			minimal_balance: 1u32.into()
+		};
+		let mut balance: <<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance =
+		   4_000_000_000u32.into();
+		balance = balance * balance;
+		<T as Config>::Currency::make_free_balance_be(&owner,
+			balance);
+	}: {
+		ForeignAssets::<T>::register_foreign_asset(origin.into(), owner, Box::new(location), Box::new(metadata))?
+	}
+
+	update_foreign_asset {
+		let origin: RawOrigin<T::AccountId> = frame_system::RawOrigin::Root;
+		let owner: T::AccountId = account("user", 0, 1);
+		let location: VersionedMultiLocation = VersionedMultiLocation::from(Parachain(2000).into());
+		let metadata: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
+			name: "name".into(),
+			symbol: "symbol".into(),
+			decimals: 18,
+			minimal_balance: 1u32.into()
+		};
+		let metadata2: AssetMetadata<<<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance> = AssetMetadata{
+			name: "name2".into(),
+			symbol: "symbol2".into(),
+			decimals: 18,
+			minimal_balance: 1u32.into()
+		};
+		let mut balance: <<T as Config>::Currency as Currency<<T as frame_system::Config>::AccountId>>::Balance =
+		   4_000_000_000u32.into();
+		balance = balance * balance;
+		<T as Config>::Currency::make_free_balance_be(&owner, balance);
+		ForeignAssets::<T>::register_foreign_asset(origin.clone().into(), owner, Box::new(location.clone()), Box::new(metadata))?;
+
+	}: {
+		ForeignAssets::<T>::update_foreign_asset(origin.into(), 0, Box::new(location), Box::new(metadata2))?
+	}
+}
modifiedpallets/foreign-assets/src/lib.rsdiffbeforeafterboth
--- a/pallets/foreign-assets/src/lib.rs
+++ b/pallets/foreign-assets/src/lib.rs
@@ -124,6 +124,9 @@
 mod impl_fungibles;
 mod weights;
 
+#[cfg(feature = "runtime-benchmarks")]
+mod benchmarking;
+
 pub use module::*;
 pub use weights::WeightInfo;
 
@@ -303,7 +306,7 @@
 			let data: CreateCollectionData<T::AccountId> = CreateCollectionData {
 				name: name.try_into().unwrap(),
 				description: description.try_into().unwrap(),
-				mode: CollectionMode::Fungible(18),
+				mode: CollectionMode::Fungible(md.decimals),
 				..Default::default()
 			};
 
modifiedruntime/common/runtime_apis.rsdiffbeforeafterboth
--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -653,6 +653,10 @@
                     #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
                     list_benchmark!(list, extra, pallet_proxy_rmrk_equip, RmrkEquip);
 
+                    #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
+                    list_benchmark!(list, extra, pallet_foreign_assets, ForeignAssets);
+
+
                     // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     let storage_info = AllPalletsReversedWithSystemFirst::storage_info();
@@ -708,6 +712,9 @@
                     #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
                     add_benchmark!(params, batches, pallet_proxy_rmrk_equip, RmrkEquip);
 
+                    #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))]
+                    add_benchmark!(params, batches, pallet_foreign_assets, ForeignAssets);
+
                     // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate);
 
                     if batches.is_empty() { return Err("Benchmark not found for this pallet.".into()) }
modifiedruntime/opal/Cargo.tomldiffbeforeafterboth
--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -35,6 +35,7 @@
     'pallet-nonfungible/runtime-benchmarks',
     'pallet-proxy-rmrk-core/runtime-benchmarks',
     'pallet-proxy-rmrk-equip/runtime-benchmarks',
+    'pallet-foreign-assets/runtime-benchmarks',
     'pallet-unique/runtime-benchmarks',
     'pallet-inflation/runtime-benchmarks',
     'pallet-unique-scheduler/runtime-benchmarks',
modifiedruntime/quartz/Cargo.tomldiffbeforeafterboth
--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -36,6 +36,7 @@
     'pallet-proxy-rmrk-core/runtime-benchmarks',
     'pallet-proxy-rmrk-equip/runtime-benchmarks',
     'pallet-unique/runtime-benchmarks',
+    'pallet-foreign-assets/runtime-benchmarks',
     'pallet-inflation/runtime-benchmarks',
     'pallet-unique-scheduler/runtime-benchmarks',
     'pallet-xcm/runtime-benchmarks',
modifiedruntime/unique/Cargo.tomldiffbeforeafterboth
after · runtime/unique/Cargo.toml
1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Unique Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'unique-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', 'unique-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-foreign-assets/runtime-benchmarks',40    'pallet-inflation/runtime-benchmarks',41    'pallet-unique-scheduler/runtime-benchmarks',42    'pallet-xcm/runtime-benchmarks',43    'sp-runtime/runtime-benchmarks',44    'xcm-builder/runtime-benchmarks',45    'up-data-structs/runtime-benchmarks',46]47try-runtime = [48    'frame-try-runtime',49    'frame-executive/try-runtime',50    'frame-system/try-runtime',51]52std = [53    'codec/std',54    'cumulus-pallet-aura-ext/std',55    'cumulus-pallet-parachain-system/std',56    'cumulus-pallet-xcm/std',57    'cumulus-pallet-xcmp-queue/std',58    'cumulus-primitives-core/std',59    'cumulus-primitives-utility/std',60    'frame-try-runtime/std',61    'frame-executive/std',62    'frame-support/std',63    'frame-system/std',64    'frame-system-rpc-runtime-api/std',65    'pallet-aura/std',66    'pallet-balances/std',67    # 'pallet-contracts/std',68    # 'pallet-contracts-primitives/std',69    # 'pallet-contracts-rpc-runtime-api/std',70    # 'pallet-contract-helpers/std',71    'pallet-randomness-collective-flip/std',72    'pallet-sudo/std',73    'pallet-timestamp/std',74    'pallet-transaction-payment/std',75    'pallet-transaction-payment-rpc-runtime-api/std',76    'pallet-treasury/std',77    # 'pallet-vesting/std',78    'pallet-evm/std',79    'pallet-evm-migration/std',80    'pallet-evm-contract-helpers/std',81    'pallet-evm-transaction-payment/std',82    'pallet-evm-coder-substrate/std',83    'pallet-ethereum/std',84    'pallet-base-fee/std',85    'fp-rpc/std',86    'up-rpc/std',87    'fp-evm-mapping/std',88    'fp-self-contained/std',89    'parachain-info/std',90    'serde',91    'pallet-inflation/std',92    'pallet-configuration/std',93    'pallet-common/std',94    'pallet-structure/std',95    'pallet-fungible/std',96    'pallet-refungible/std',97    'pallet-nonfungible/std',98    'pallet-proxy-rmrk-core/std',99    'pallet-proxy-rmrk-equip/std',100    'pallet-unique/std',101    'pallet-unique-scheduler/std',102    'pallet-charge-transaction/std',103    'up-data-structs/std',104    'sp-api/std',105    'sp-block-builder/std',106    "sp-consensus-aura/std",107    'sp-core/std',108    'sp-inherents/std',109    'sp-io/std',110    'sp-offchain/std',111    'sp-runtime/std',112    'sp-session/std',113    'sp-std/std',114    'sp-transaction-pool/std',115    'sp-version/std',116    'xcm/std',117    'xcm-builder/std',118    'xcm-executor/std',119    'up-common/std',120    'rmrk-rpc/std',121    'evm-coder/std',122    'up-sponsorship/std',123124    "orml-vesting/std",125    "orml-tokens/std",126    "orml-xtokens/std",127    "orml-traits/std",128    "pallet-foreign-assets/std"129]130limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing']131unique-runtime = []132133refungible = []134scheduler = []135rmrk = []136foreign-assets = []137138################################################################################139# Substrate Dependencies140141[dependencies.codec]142default-features = false143features = ['derive']144package = 'parity-scale-codec'145version = '3.1.2'146147[dependencies.frame-benchmarking]148default-features = false149git = "https://github.com/paritytech/substrate"150optional = true151branch = "polkadot-v0.9.27"152153[dependencies.frame-try-runtime]154default-features = false155git = "https://github.com/paritytech/substrate"156optional = true157branch = "polkadot-v0.9.27"158159[dependencies.frame-executive]160default-features = false161git = "https://github.com/paritytech/substrate"162branch = "polkadot-v0.9.27"163164[dependencies.frame-support]165default-features = false166git = "https://github.com/paritytech/substrate"167branch = "polkadot-v0.9.27"168169[dependencies.frame-system]170default-features = false171git = "https://github.com/paritytech/substrate"172branch = "polkadot-v0.9.27"173174[dependencies.frame-system-benchmarking]175default-features = false176git = "https://github.com/paritytech/substrate"177optional = true178branch = "polkadot-v0.9.27"179180[dependencies.frame-system-rpc-runtime-api]181default-features = false182git = "https://github.com/paritytech/substrate"183branch = "polkadot-v0.9.27"184185[dependencies.hex-literal]186optional = true187version = '0.3.3'188189[dependencies.serde]190default-features = false191features = ['derive']192optional = true193version = '1.0.130'194195[dependencies.pallet-aura]196default-features = false197git = "https://github.com/paritytech/substrate"198branch = "polkadot-v0.9.27"199200[dependencies.pallet-balances]201default-features = false202git = "https://github.com/paritytech/substrate"203branch = "polkadot-v0.9.27"204205# Contracts specific packages206# [dependencies.pallet-contracts]207# git = 'https://github.com/paritytech/substrate'208# default-features = false209# branch = 'master'210# version = '4.0.0-dev'211212# [dependencies.pallet-contracts-primitives]213# git = 'https://github.com/paritytech/substrate'214# default-features = false215# branch = 'master'216# version = '4.0.0-dev'217218# [dependencies.pallet-contracts-rpc-runtime-api]219# git = 'https://github.com/paritytech/substrate'220# default-features = false221# branch = 'master'222# version = '4.0.0-dev'223224[dependencies.pallet-randomness-collective-flip]225default-features = false226git = "https://github.com/paritytech/substrate"227branch = "polkadot-v0.9.27"228229[dependencies.pallet-sudo]230default-features = false231git = "https://github.com/paritytech/substrate"232branch = "polkadot-v0.9.27"233234[dependencies.pallet-timestamp]235default-features = false236git = "https://github.com/paritytech/substrate"237branch = "polkadot-v0.9.27"238239[dependencies.pallet-transaction-payment]240default-features = false241git = "https://github.com/paritytech/substrate"242branch = "polkadot-v0.9.27"243244[dependencies.pallet-transaction-payment-rpc-runtime-api]245default-features = false246git = "https://github.com/paritytech/substrate"247branch = "polkadot-v0.9.27"248249[dependencies.pallet-treasury]250default-features = false251git = "https://github.com/paritytech/substrate"252branch = "polkadot-v0.9.27"253254# [dependencies.pallet-vesting]255# default-features = false256# git = 'https://github.com/paritytech/substrate'257# branch = 'master'258259[dependencies.sp-arithmetic]260default-features = false261git = "https://github.com/paritytech/substrate"262branch = "polkadot-v0.9.27"263264[dependencies.sp-api]265default-features = false266git = "https://github.com/paritytech/substrate"267branch = "polkadot-v0.9.27"268269[dependencies.sp-block-builder]270default-features = false271git = "https://github.com/paritytech/substrate"272branch = "polkadot-v0.9.27"273274[dependencies.sp-core]275default-features = false276git = "https://github.com/paritytech/substrate"277branch = "polkadot-v0.9.27"278279[dependencies.sp-consensus-aura]280default-features = false281git = "https://github.com/paritytech/substrate"282branch = "polkadot-v0.9.27"283284[dependencies.sp-inherents]285default-features = false286git = "https://github.com/paritytech/substrate"287branch = "polkadot-v0.9.27"288289[dependencies.sp-io]290default-features = false291git = "https://github.com/paritytech/substrate"292branch = "polkadot-v0.9.27"293294[dependencies.sp-offchain]295default-features = false296git = "https://github.com/paritytech/substrate"297branch = "polkadot-v0.9.27"298299[dependencies.sp-runtime]300default-features = false301git = "https://github.com/paritytech/substrate"302branch = "polkadot-v0.9.27"303304[dependencies.sp-session]305default-features = false306git = "https://github.com/paritytech/substrate"307branch = "polkadot-v0.9.27"308309[dependencies.sp-std]310default-features = false311git = "https://github.com/paritytech/substrate"312branch = "polkadot-v0.9.27"313314[dependencies.sp-transaction-pool]315default-features = false316git = "https://github.com/paritytech/substrate"317branch = "polkadot-v0.9.27"318319[dependencies.sp-version]320default-features = false321git = "https://github.com/paritytech/substrate"322branch = "polkadot-v0.9.27"323324[dependencies.smallvec]325version = '1.6.1'326327################################################################################328# Cumulus dependencies329330[dependencies.parachain-info]331default-features = false332git = "https://github.com/paritytech/cumulus"333branch = "polkadot-v0.9.27"334335[dependencies.cumulus-pallet-aura-ext]336git = "https://github.com/paritytech/cumulus"337branch = "polkadot-v0.9.27"338default-features = false339340[dependencies.cumulus-pallet-parachain-system]341git = "https://github.com/paritytech/cumulus"342branch = "polkadot-v0.9.27"343default-features = false344345[dependencies.cumulus-primitives-core]346git = "https://github.com/paritytech/cumulus"347branch = "polkadot-v0.9.27"348default-features = false349350[dependencies.cumulus-pallet-xcm]351git = "https://github.com/paritytech/cumulus"352branch = "polkadot-v0.9.27"353default-features = false354355[dependencies.cumulus-pallet-dmp-queue]356git = "https://github.com/paritytech/cumulus"357branch = "polkadot-v0.9.27"358default-features = false359360[dependencies.cumulus-pallet-xcmp-queue]361git = "https://github.com/paritytech/cumulus"362branch = "polkadot-v0.9.27"363default-features = false364365[dependencies.cumulus-primitives-utility]366git = "https://github.com/paritytech/cumulus"367branch = "polkadot-v0.9.27"368default-features = false369370[dependencies.cumulus-primitives-timestamp]371git = "https://github.com/paritytech/cumulus"372branch = "polkadot-v0.9.27"373default-features = false374375################################################################################376# Polkadot dependencies377378[dependencies.polkadot-parachain]379git = "https://github.com/paritytech/polkadot"380branch = "release-v0.9.27"381default-features = false382383[dependencies.xcm]384git = "https://github.com/paritytech/polkadot"385branch = "release-v0.9.27"386default-features = false387388[dependencies.xcm-builder]389git = "https://github.com/paritytech/polkadot"390branch = "release-v0.9.27"391default-features = false392393[dependencies.xcm-executor]394git = "https://github.com/paritytech/polkadot"395branch = "release-v0.9.27"396default-features = false397398[dependencies.pallet-xcm]399git = "https://github.com/paritytech/polkadot"400branch = "release-v0.9.27"401default-features = false402403[dependencies.orml-vesting]404git = "https://github.com/open-web3-stack/open-runtime-module-library"405branch = "polkadot-v0.9.27"406version = "0.4.1-dev"407default-features = false408409[dependencies.orml-xtokens]410git = "https://github.com/open-web3-stack/open-runtime-module-library"411branch = "polkadot-v0.9.27"412version = "0.4.1-dev"413default-features = false414415[dependencies.orml-tokens]416git = "https://github.com/open-web3-stack/open-runtime-module-library"417branch = "polkadot-v0.9.27"418version = "0.4.1-dev"419default-features = false420421[dependencies.orml-traits]422git = "https://github.com/open-web3-stack/open-runtime-module-library"423branch = "polkadot-v0.9.27"424version = "0.4.1-dev"425default-features = false426################################################################################427# local dependencies428429[dependencies]430log = { version = "0.4.16", default-features = false }431up-common = { path = "../../primitives/common", default-features = false }432scale-info = { version = "2.0.1", default-features = false, features = [433    "derive",434] }435derivative = "2.2.0"436pallet-unique = { path = '../../pallets/unique', default-features = false }437up-rpc = { path = "../../primitives/rpc", default-features = false }438rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false }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" }461fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }462evm-coder = { default-features = false, path = '../../crates/evm-coder' }463up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }464pallet-foreign-assets = { default-features = false, path = "../../pallets/foreign-assets" }465466################################################################################467# Other Dependencies468469impl-trait-for-tuples = "0.2.2"470471################################################################################472# Dev Dependencies473474[dev-dependencies.logtest]475version = "2.0.0"476477################################################################################478# Build Dependencies479480[build-dependencies.substrate-wasm-builder]481git = "https://github.com/paritytech/substrate"482branch = "polkadot-v0.9.27"