difftreelog
test(xcm) add transact barrier test
in: master
6 files changed
runtime/common/mod.rsdiffbeforeafterboth--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -24,6 +24,9 @@
pub mod sponsoring;
pub mod weights;
+#[cfg(test)]
+mod tests;
+
use sp_core::H160;
use frame_support::traits::{Currency, OnUnbalanced, Imbalance};
use sp_runtime::{
runtime/common/tests/mod.rsdiffbeforeafterboth--- /dev/null
+++ b/runtime/common/tests/mod.rs
@@ -0,0 +1,17 @@
+// 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/>.
+
+mod xcm;
runtime/common/tests/xcm.rsdiffbeforeafterboth--- /dev/null
+++ b/runtime/common/tests/xcm.rs
@@ -0,0 +1,86 @@
+// 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/>.
+
+use xcm_executor::traits::ShouldExecute;
+use xcm::latest::prelude::*;
+use logtest::Logger;
+use crate::{
+ Call,
+ xcm_config::Barrier,
+};
+
+fn catch_xcm_barrier_log(logger: &mut Logger, expected_msg: &str) {
+ for record in logger {
+ if record.target() == "xcm::barrier"
+ && record.args() == expected_msg {
+ return;
+ }
+ }
+
+ panic!("the expected XCM barrier log `{}` is not found", expected_msg);
+}
+
+#[test]
+fn xcm_barrier_does_not_allow_transact() {
+ // We have a `AllowTopLevelPaidExecutionFrom` barrier,
+ // so an XCM program should start from one of the following commands:
+ // * `WithdrawAsset`
+ // * `ReceiveTeleportedAsset`
+ // * `ReserveAssetDeposited`
+ // * `ClaimAsset`
+ // We use the `WithdrawAsset` in this test
+
+ let location = MultiLocation {
+ parents: 0,
+ interior: Junctions::Here,
+ };
+
+ // let id = AssetId::Concrete(location.clone());
+ // let fun = Fungibility::Fungible(42);
+ // let multiasset = MultiAsset {
+ // id,
+ // fun,
+ // };
+ // let withdraw_inst = WithdrawAsset(multiasset.into());
+
+ // We will never decode this "call",
+ // so it is irrelevant what we are passing to the `transact` cmd.
+ let fake_encoded_call = vec![0u8];
+
+ let transact_inst = Transact {
+ origin_type: OriginKind::Superuser,
+ require_weight_at_most: 0,
+ call: fake_encoded_call.into(),
+ };
+
+ let mut xcm_program = Xcm::<Call>(vec![transact_inst]);
+
+ let mut logger = Logger::start();
+
+ let max_weight = 100_000;
+ let mut weight_credit = 0;
+
+ let result = Barrier::should_execute(
+ &location,
+ &mut xcm_program,
+ max_weight,
+ &mut weight_credit
+ );
+
+ assert!(result.is_err(), "the barrier should disallow the XCM transact cmd");
+
+ catch_xcm_barrier_log(&mut logger, "transact XCM rejected");
+}
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -463,6 +463,12 @@
pallet-foreing-assets = { default-features = false, path = "../../pallets/foreing-assets" }
################################################################################
+# Dev Dependencies
+
+[dev-dependencies.logtest]
+version = "2.0.0"
+
+################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]
runtime/quartz/Cargo.tomldiffbeforeafterboth1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Quartz Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'quartz-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', 'quartz-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']129quartz-runtime = []130131refungible = []132scheduler = []133rmrk = []134foreign-assets = []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 = false424425426################################################################################427# RMRK dependencies428429# todo git430[dependencies.rmrk-rpc]431default-features = false432path = "../../primitives/rmrk-rpc"433434################################################################################435# local dependencies436437[dependencies]438log = { version = "0.4.16", default-features = false }439up-common = { path = "../../primitives/common", default-features = false }440scale-info = { version = "2.0.1", default-features = false, features = [441 "derive",442] }443derivative = "2.2.0"444pallet-unique = { path = '../../pallets/unique', default-features = false }445up-rpc = { path = "../../primitives/rpc", default-features = false }446fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }447pallet-inflation = { path = '../../pallets/inflation', default-features = false }448up-data-structs = { path = '../../primitives/data-structs', default-features = false }449pallet-configuration = { default-features = false, path = "../../pallets/configuration" }450pallet-common = { default-features = false, path = "../../pallets/common" }451pallet-structure = { default-features = false, path = "../../pallets/structure" }452pallet-fungible = { default-features = false, path = "../../pallets/fungible" }453pallet-refungible = { default-features = false, path = "../../pallets/refungible" }454pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }455pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }456pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }457pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }458# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }459pallet-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" }460pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }461pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }462pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }463pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }464pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }465pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }466pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }467fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }468fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }469evm-coder = { default-features = false, path = '../../crates/evm-coder' }470up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }471pallet-foreing-assets = { default-features = false, path = "../../pallets/foreing-assets" }472473################################################################################474# Build Dependencies475476[build-dependencies.substrate-wasm-builder]477git = "https://github.com/paritytech/substrate"478branch = "polkadot-v0.9.27"1################################################################################2# Package34[package]5authors = ['Unique Network <support@uniquenetwork.io>']6build = 'build.rs'7description = 'Quartz Runtime'8edition = '2021'9homepage = 'https://unique.network'10license = 'GPLv3'11name = 'quartz-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', 'quartz-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']129quartz-runtime = []130131refungible = []132scheduler = []133rmrk = []134foreign-assets = []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 = false424425426################################################################################427# RMRK dependencies428429# todo git430[dependencies.rmrk-rpc]431default-features = false432path = "../../primitives/rmrk-rpc"433434################################################################################435# local dependencies436437[dependencies]438log = { version = "0.4.16", default-features = false }439up-common = { path = "../../primitives/common", default-features = false }440scale-info = { version = "2.0.1", default-features = false, features = [441 "derive",442] }443derivative = "2.2.0"444pallet-unique = { path = '../../pallets/unique', default-features = false }445up-rpc = { path = "../../primitives/rpc", default-features = false }446fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }447pallet-inflation = { path = '../../pallets/inflation', default-features = false }448up-data-structs = { path = '../../primitives/data-structs', default-features = false }449pallet-configuration = { default-features = false, path = "../../pallets/configuration" }450pallet-common = { default-features = false, path = "../../pallets/common" }451pallet-structure = { default-features = false, path = "../../pallets/structure" }452pallet-fungible = { default-features = false, path = "../../pallets/fungible" }453pallet-refungible = { default-features = false, path = "../../pallets/refungible" }454pallet-nonfungible = { default-features = false, path = "../../pallets/nonfungible" }455pallet-proxy-rmrk-core = { default-features = false, path = "../../pallets/proxy-rmrk-core", package = "pallet-rmrk-core" }456pallet-proxy-rmrk-equip = { default-features = false, path = "../../pallets/proxy-rmrk-equip", package = "pallet-rmrk-equip" }457pallet-unique-scheduler = { path = '../../pallets/scheduler', default-features = false }458# pallet-contract-helpers = { path = '../pallets/contract-helpers', default-features = false, version = '0.1.0' }459pallet-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" }460pallet-evm-migration = { path = '../../pallets/evm-migration', default-features = false }461pallet-evm-contract-helpers = { path = '../../pallets/evm-contract-helpers', default-features = false }462pallet-evm-transaction-payment = { path = '../../pallets/evm-transaction-payment', default-features = false }463pallet-evm-coder-substrate = { default-features = false, path = "../../pallets/evm-coder-substrate" }464pallet-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }465pallet-ethereum = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }466pallet-base-fee = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }467fp-rpc = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }468fp-self-contained = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.27" }469evm-coder = { default-features = false, path = '../../crates/evm-coder' }470up-sponsorship = { default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = 'polkadot-v0.9.27' }471pallet-foreing-assets = { default-features = false, path = "../../pallets/foreing-assets" }472473################################################################################474# Dev Dependencies475476[dev-dependencies.logtest]477version = "2.0.0"478479################################################################################480# Build Dependencies481482[build-dependencies.substrate-wasm-builder]483git = "https://github.com/paritytech/substrate"484branch = "polkadot-v0.9.27"runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -463,6 +463,12 @@
pallet-foreing-assets = { default-features = false, path = "../../pallets/foreing-assets" }
################################################################################
+# Dev Dependencies
+
+[dev-dependencies.logtest]
+version = "2.0.0"
+
+################################################################################
# Build Dependencies
[build-dependencies.substrate-wasm-builder]