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

difftreelog

fix merge test changes

Yaroslav Bolyukin2021-06-25parent: #928aa03.patch.diff
in: master

7 files changed

modifiedpallets/inflation/src/tests.rsdiffbeforeafterboth
--- a/pallets/inflation/src/tests.rs
+++ b/pallets/inflation/src/tests.rs
@@ -34,9 +34,9 @@
 			NodeBlock = Block,
 			UncheckedExtrinsic = UncheckedExtrinsic,
 		{
-			Balances: pallet_balances::{Module, Call, Storage},
-			System: frame_system::{Module, Call, Config, Storage, Event<T>},
-			Inflation: pallet_inflation::{Module, Call, Storage},
+			Balances: pallet_balances::{Pallet, Call, Storage},
+			System: frame_system::{Pallet, Call, Config, Storage, Event<T>},
+			Inflation: pallet_inflation::{Pallet, Call, Storage},
 		}
 	);
 
@@ -70,6 +70,7 @@
 		type OnKilledAccount = ();
 		type SystemWeightInfo = ();
 		type SS58Prefix = SS58Prefix;
+        type OnSetCode = ();
 	}
 
 	parameter_types! {
modifiedpallets/nft/src/eth/sponsoring.rsdiffbeforeafterboth
--- a/pallets/nft/src/eth/sponsoring.rs
+++ b/pallets/nft/src/eth/sponsoring.rs
@@ -32,7 +32,7 @@
             match call {
                 UniqueNFTCall::ERC721UniqueExtensions(ERC721UniqueExtensionsCall::Transfer {token_id, ..}) | UniqueNFTCall::ERC721(ERC721Call::TransferFrom {token_id, ..})  => {
                     let token_id: u32 = token_id.try_into().map_err(|_| AnyError)?;
-                    let block_number = <frame_system::Module<T>>::block_number() as T::BlockNumber;
+                    let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
                     let collection_limits = &collection.limits;
                     let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
                         collection_limits.sponsor_transfer_timeout
@@ -68,7 +68,7 @@
                         ChainLimit::get().fungible_sponsor_transfer_timeout
                     };
 
-                    let block_number = <frame_system::Module<T>>::block_number() as T::BlockNumber;
+                    let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
                     let mut sponsored = true;
                     if <FungibleTransferBasket<T>>::contains_key(collection_id, who.as_sub()) {
                         let last_tx_block = <FungibleTransferBasket<T>>::get(collection_id, who.as_sub());
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -236,7 +236,6 @@
 
     type EvmAddressMapping: pallet_evm::AddressMapping<Self::AccountId>;
     type EvmBackwardsAddressMapping: EvmBackwardsAddressMapping<Self::AccountId>;
-    type EvmWithdrawOrigin: pallet_evm::EnsureAddressOrigin<Self::Origin, Success = Self::AccountId>;
 
 	type CrossAccountId: CrossAccountId<Self::AccountId>;
     type Currency: Currency<Self::AccountId>;
modifiedpallets/nft/src/mock.rsdiffbeforeafterboth
before · pallets/nft/src/mock.rs
1use crate as pallet_template;2use sp_core::H256;3use frame_support::{ 4	parameter_types,5	weights::IdentityFee,6};7use sp_runtime::{8	traits::{BlakeTwo256, IdentityLookup}, 9	testing::Header, 10	Perbill,11};12use pallet_transaction_payment::{ CurrencyAdapter};13use frame_system as system;1415type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;16type Block = frame_system::mocking::MockBlock<Test>; 1718// Configure a mock runtime to test the pallet.19frame_support::construct_runtime!(20	pub enum Test where21		Block = Block,22		NodeBlock = Block,23		UncheckedExtrinsic = UncheckedExtrinsic,24	{25		System: frame_system::{Module, Call, Config, Storage, Event<T>},26		TemplateModule: pallet_template::{Module, Call, Storage},27		Balances: pallet_balances::{Module, Call, Storage},28	}29);3031parameter_types! {32	pub const BlockHashCount: u64 = 250;33	pub const SS58Prefix: u8 = 42;34}3536impl system::Config for Test {37	type BaseCallFilter = ();38	type BlockWeights = ();39	type BlockLength = ();40	type DbWeight = ();41	type Origin = Origin;42	type Call = Call;43	type Index = u64;44	type BlockNumber = u64;45	type Hash = H256;46	type Hashing = BlakeTwo256;47	type AccountId = u64;48	type Lookup = IdentityLookup<Self::AccountId>;49	type Header = Header;50	type Event = ();51	type BlockHashCount = BlockHashCount;52	type Version = ();53	type PalletInfo = PalletInfo;54	type AccountData = pallet_balances::AccountData<u64>;55	type OnNewAccount = ();56	type OnKilledAccount = ();57	type SystemWeightInfo = ();58	type SS58Prefix = SS58Prefix;59}6061parameter_types! {62	pub const ExistentialDeposit: u64 = 1;63	pub const MaxLocks: u32 = 50;64}65//frame_system::Module<Test>;66impl pallet_balances::Config for Test {67    type AccountStore = System;68    type Balance = u64;69    type DustRemoval = ();70    type Event = ();71	type ExistentialDeposit = ExistentialDeposit;72	type WeightInfo = ();73	type MaxLocks = MaxLocks;74}7576parameter_types! {77	pub const TransactionByteFee: u64 = 1;78}7980impl pallet_transaction_payment::Config for Test {81	type OnChargeTransaction = CurrencyAdapter<pallet_balances::Module<Test>, ()>;82	type TransactionByteFee = TransactionByteFee;83	type WeightToFee = IdentityFee<u64>;84	type FeeMultiplierUpdate = ();85}8687parameter_types! {88	pub const MinimumPeriod: u64 = 1;89}90impl pallet_timestamp::Config for Test {91	type Moment = u64;92	type OnTimestampSet = ();93	type MinimumPeriod = MinimumPeriod;94	type WeightInfo = ();95}9697type Timestamp = pallet_timestamp::Module<Test>;98type Randomness = pallet_randomness_collective_flip::Module<Test>;99100parameter_types! {101	pub const TombstoneDeposit: u64 = 1;102	pub const DepositPerContract: u64 = 1;103	pub const DepositPerStorageByte: u64 = 1;104	pub const DepositPerStorageItem: u64 = 1;105	pub RentFraction: Perbill = Perbill::from_rational_approximation(1u32, 30 * 24 * 60 * 10);106	pub const SurchargeReward: u64 = 1;107	pub const SignedClaimHandicap: u32 = 2;108	pub const MaxDepth: u32 = 32;109	pub const MaxValueSize: u32 = 16 * 1024;110	pub DeletionWeightLimit: u64 = u64::MAX;//Perbill::from_percent(10);111	pub DeletionQueueDepth: u32 = 10;112}113114impl pallet_contracts::Config for Test {115	type Time = Timestamp;116	type Randomness = Randomness;117	type Currency = pallet_balances::Module<Test>;118	type Event = ();119	type RentPayment = ();120	type SignedClaimHandicap = SignedClaimHandicap;121	type TombstoneDeposit = TombstoneDeposit;122	type DepositPerContract = DepositPerContract;123	type DepositPerStorageByte = DepositPerStorageByte;124	type DepositPerStorageItem = DepositPerStorageItem;125	type RentFraction = RentFraction;126	type SurchargeReward = SurchargeReward;127	type DeletionWeightLimit = DeletionWeightLimit;128	type MaxDepth = MaxDepth;129	type DeletionQueueDepth = DeletionQueueDepth;130	type MaxValueSize = MaxValueSize;131	type ChainExtension = ();132	type MaxCodeSize = ();133	type WeightPrice = ();134	type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;135}136137parameter_types! {138	pub const CollectionCreationPrice: u32 = 0;139    pub TreasuryAccountId: u64 = 1234;140}141142impl pallet_template::Config for Test {143	type Event = ();144	type WeightInfo = ();145	type CollectionCreationPrice = CollectionCreationPrice;146    type Currency = pallet_balances::Module<Test>;147    type TreasuryAccountId = TreasuryAccountId;148}149150// Build genesis storage according to the mock runtime.151pub fn new_test_ext() -> sp_io::TestExternalities {152	system::GenesisConfig::default().build_storage::<Test>().unwrap().into()153}
after · pallets/nft/src/mock.rs
1use crate as pallet_template;2use sp_core::H256;3use frame_support::{ 4	parameter_types,5	weights::IdentityFee,6};7use sp_runtime::{8	traits::{BlakeTwo256, IdentityLookup}, 9	testing::Header, 10	Perbill,11};12use pallet_transaction_payment::{ CurrencyAdapter};13use frame_system as system;14use pallet_evm::AddressMapping;15use crate::{EvmBackwardsAddressMapping, CrossAccountId};16use codec::{Encode, Decode};1718type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;19type Block = frame_system::mocking::MockBlock<Test>; 2021// Configure a mock runtime to test the pallet.22frame_support::construct_runtime!(23	pub enum Test where24		Block = Block,25		NodeBlock = Block,26		UncheckedExtrinsic = UncheckedExtrinsic,27	{28		System: frame_system::{Pallet, Call, Config, Storage, Event<T>},29		TemplateModule: pallet_template::{Pallet, Call, Storage},30		Balances: pallet_balances::{Pallet, Call, Storage},31	}32);3334parameter_types! {35	pub const BlockHashCount: u64 = 250;36	pub const SS58Prefix: u8 = 42;37}3839impl system::Config for Test {40	type BaseCallFilter = ();41	type BlockWeights = ();42	type BlockLength = ();43	type DbWeight = ();44	type Origin = Origin;45	type Call = Call;46	type Index = u64;47	type BlockNumber = u64;48	type Hash = H256;49	type Hashing = BlakeTwo256;50	type AccountId = u64;51	type Lookup = IdentityLookup<Self::AccountId>;52	type Header = Header;53	type Event = ();54	type BlockHashCount = BlockHashCount;55	type Version = ();56	type PalletInfo = PalletInfo;57	type AccountData = pallet_balances::AccountData<u64>;58	type OnNewAccount = ();59	type OnKilledAccount = ();60	type SystemWeightInfo = ();61	type SS58Prefix = SS58Prefix;62    type OnSetCode = ();63}6465parameter_types! {66	pub const ExistentialDeposit: u64 = 1;67	pub const MaxLocks: u32 = 50;68}69//frame_system::Module<Test>;70impl pallet_balances::Config for Test {71    type AccountStore = System;72    type Balance = u64;73    type DustRemoval = ();74    type Event = ();75	type ExistentialDeposit = ExistentialDeposit;76	type WeightInfo = ();77	type MaxLocks = MaxLocks;78}7980parameter_types! {81	pub const TransactionByteFee: u64 = 1;82}8384impl pallet_transaction_payment::Config for Test {85	type OnChargeTransaction = CurrencyAdapter<pallet_balances::Pallet<Test>, ()>;86	type TransactionByteFee = TransactionByteFee;87	type WeightToFee = IdentityFee<u64>;88	type FeeMultiplierUpdate = ();89}9091parameter_types! {92	pub const MinimumPeriod: u64 = 1;93}94impl pallet_timestamp::Config for Test {95	type Moment = u64;96	type OnTimestampSet = ();97	type MinimumPeriod = MinimumPeriod;98	type WeightInfo = ();99}100101type Timestamp = pallet_timestamp::Pallet<Test>;102type Randomness = pallet_randomness_collective_flip::Pallet<Test>;103104parameter_types! {105	pub const TombstoneDeposit: u64 = 1;106	pub const DepositPerContract: u64 = 1;107	pub const DepositPerStorageByte: u64 = 1;108	pub const DepositPerStorageItem: u64 = 1;109	pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * 24 * 60 * 10);110	pub const SurchargeReward: u64 = 1;111	pub const SignedClaimHandicap: u32 = 2;112	pub DeletionWeightLimit: u64 = u64::MAX;//Perbill::from_percent(10);113	pub DeletionQueueDepth: u32 = 10;114	pub Schedule: pallet_contracts::Schedule<Test> = Default::default();115}116117impl pallet_contracts::Config for Test {118	type Time = Timestamp;119	type Randomness = Randomness;120	type Currency = pallet_balances::Pallet<Test>;121	type Event = ();122	type RentPayment = ();123	type SignedClaimHandicap = SignedClaimHandicap;124	type TombstoneDeposit = TombstoneDeposit;125	type DepositPerContract = DepositPerContract;126	type DepositPerStorageByte = DepositPerStorageByte;127	type DepositPerStorageItem = DepositPerStorageItem;128	type RentFraction = RentFraction;129	type SurchargeReward = SurchargeReward;130	type DeletionWeightLimit = DeletionWeightLimit;131	type DeletionQueueDepth = DeletionQueueDepth;132	type ChainExtension = ();133	type WeightPrice = ();134	type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;135    type Schedule = Schedule;136    type CallStack = [pallet_contracts::Frame<Self>; 31];137}138139parameter_types! {140	pub const CollectionCreationPrice: u32 = 0;141    pub TreasuryAccountId: u64 = 1234;142    pub EthereumChainId: u32 = 1111;143}144145pub struct TestEvmAddressMapping;146impl AddressMapping<u64> for TestEvmAddressMapping {147    fn into_account_id(addr: sp_core::H160) -> u64 {148        unimplemented!()149    }150}151152pub struct TestEvmBackwardsAddressMapping;153impl EvmBackwardsAddressMapping<u64> for TestEvmBackwardsAddressMapping {154    fn from_account_id(account_id: u64) -> sp_core::H160 {155        unimplemented!()156    }157}158159#[derive(Encode, Decode, Clone, PartialEq, Eq, PartialOrd, Ord, Debug)]160pub struct TestCrossAccountId(u64, sp_core::H160);161impl CrossAccountId<u64> for TestCrossAccountId {162    fn from_sub(sub: u64) -> Self {163        let mut eth = [0; 20];164        eth[12..20].copy_from_slice(&sub.to_be_bytes());165        Self(sub, sp_core::H160(eth))166    }167    fn as_sub(&self) -> &u64 {168        &self.0169    }170    fn from_eth(eth: sp_core::H160) -> Self {171        unimplemented!()172    }173    fn as_eth(&self) -> &sp_core::H160 {174        &self.1175    }176}177178pub struct TestEtheremTransactionSender;179impl pallet_ethereum::EthereumTransactionSender for TestEtheremTransactionSender {180    fn submit_logs_transaction(tx: pallet_ethereum::Transaction, logs: Vec<pallet_ethereum::Log>) -> Result<(), sp_runtime::DispatchError> {181        Ok(())182    }183}184185impl pallet_template::Config for Test {186	type Event = ();187	type WeightInfo = ();188	type CollectionCreationPrice = CollectionCreationPrice;189    type Currency = pallet_balances::Pallet<Test>;190    type TreasuryAccountId = TreasuryAccountId;191    type EvmAddressMapping = TestEvmAddressMapping;192    type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;193    type CrossAccountId = TestCrossAccountId;194    type EthereumChainId = EthereumChainId;195    type EthereumTransactionSender = TestEtheremTransactionSender;196}197198// Build genesis storage according to the mock runtime.199pub fn new_test_ext() -> sp_io::TestExternalities {200	system::GenesisConfig::default().build_storage::<Test>().unwrap().into()201}
modifiedpallets/nft/src/tests.rsdiffbeforeafterboth
--- a/pallets/nft/src/tests.rs
+++ b/pallets/nft/src/tests.rs
@@ -1,9 +1,14 @@
 // Tests to be written here
 use super::*;
 use crate::mock::*;
-use crate::{AccessMode, CollectionMode,
-    Ownership, ChainLimits, CreateItemData, CreateNftData, CreateFungibleData, CreateReFungibleData,
-    CollectionId, TokenId, MAX_DECIMAL_POINTS};
+use crate::{
+    AccessMode, CollectionMode,
+    Ownership, ChainLimits, CreateItemData,
+};
+use nft_data_structs::{
+    CreateNftData, CreateFungibleData, CreateReFungibleData,
+    CollectionId, TokenId, MAX_DECIMAL_POINTS,
+};
 use frame_support::{assert_noop, assert_ok};
 use frame_system::{ RawOrigin };
 
@@ -72,12 +77,16 @@
     assert_ok!(TemplateModule::create_item(
             origin1.clone(),
             collection_id,
-            1,
+            account(1),
             data.clone()
         ));
 
 }
 
+fn account(sub: u64) -> TestCrossAccountId {
+    TestCrossAccountId::from_sub(sub)
+}
+
 // Use cases tests region
 // #region
 
@@ -142,8 +151,8 @@
 
         assert_ok!(TemplateModule::create_multiple_items(
             origin1.clone(),
-            1,
             1,
+            account(1),
             items_data.clone().into_iter().map(|d| { d.into() }).collect()
         ));
         for (index, data) in items_data.iter().enumerate() {
@@ -174,7 +183,7 @@
         assert_eq!(
             item.owner[0],
             Ownership {
-                owner: 1,
+                owner: account(1),
                 fraction: 1023
             }
         );
@@ -195,7 +204,7 @@
         assert_ok!(TemplateModule::create_multiple_items(
             origin1.clone(),
             1,
-            1,
+            account(1),
             items_data.clone().into_iter().map(|d| { d.into() }).collect()
         ));
         for (index, data) in items_data.iter().enumerate() {
@@ -206,7 +215,7 @@
             assert_eq!(
                 item.owner[0],
                 Ownership {
-                    owner: 1,
+                    owner: account(1),
                     fraction: 1023
                 }
             );
@@ -271,18 +280,18 @@
         assert_eq!(TemplateModule::balance_count(1, 1), 5);
 
         // change owner scenario
-        assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 5));
+        assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 5));
         assert_eq!(TemplateModule::fungible_item_id(1, 1).value, 0);
         assert_eq!(TemplateModule::balance_count(1, 1), 0);
         assert_eq!(TemplateModule::balance_count(1, 2), 5);
 
         // split item scenario
-        assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 3));
+        assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 3));
         assert_eq!(TemplateModule::balance_count(1, 2), 2);
         assert_eq!(TemplateModule::balance_count(1, 3), 3);
 
         // split item and new owner has account scenario
-        assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 1));
+        assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 1));
         assert_eq!(TemplateModule::fungible_item_id(1, 2).value, 1);
         assert_eq!(TemplateModule::fungible_item_id(1, 3).value, 4);
         assert_eq!(TemplateModule::balance_count(1, 2), 1);
@@ -315,7 +324,7 @@
             assert_eq!(
                 item.owner[0],
                 Ownership {
-                    owner: 1,
+                    owner: account(1),
                     fraction: 1023
                 }
             );
@@ -324,11 +333,11 @@
         assert_eq!(TemplateModule::address_tokens(1, 1), [1]);
 
         // change owner scenario
-        assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1023));
+        assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 1023));
         assert_eq!(
             TemplateModule::refungible_item_id(1, 1).unwrap().owner[0],
             Ownership {
-                owner: 2,
+                owner: account(2),
                 fraction: 1023
             }
         );
@@ -338,20 +347,20 @@
         assert_eq!(TemplateModule::address_tokens(1, 2), [1]);
 
         // split item scenario
-        assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 500));
+        assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 500));
         {
             let item = TemplateModule::refungible_item_id(1, 1).unwrap();
             assert_eq!(
                 item.owner[0],
                 Ownership {
-                    owner: 2,
+                    owner: account(2),
                     fraction: 523
                 }
             );
             assert_eq!(
                 item.owner[1],
                 Ownership {
-                    owner: 3,
+                    owner: account(3),
                     fraction: 500
                 }
             );
@@ -362,20 +371,20 @@
         assert_eq!(TemplateModule::address_tokens(1, 3), [1]);
 
         // split item and new owner has account scenario
-        assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 200));
+        assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 200));
         {
             let item = TemplateModule::refungible_item_id(1, 1).unwrap();
             assert_eq!(
                 item.owner[0],
                 Ownership {
-                    owner: 2,
+                    owner: account(2),
                     fraction: 323
                 }
             );
             assert_eq!(
                 item.owner[1],
                 Ownership {
-                    owner: 3,
+                    owner: account(3),
                     fraction: 700
                 }
             );
@@ -401,8 +410,8 @@
 
         let origin1 = Origin::signed(1);
         // default scenario
-        assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1000));
-        assert_eq!(TemplateModule::nft_item_id(1, 1).unwrap().owner, 2);
+        assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 1000));
+        assert_eq!(TemplateModule::nft_item_id(1, 1).unwrap().owner, account(2));
         assert_eq!(TemplateModule::balance_count(1, 1), 0);
         assert_eq!(TemplateModule::balance_count(1, 2), 1);
         // assert_eq!(TemplateModule::address_tokens(1, 1), []);
@@ -429,14 +438,14 @@
         // neg transfer
         assert_noop!(TemplateModule::transfer_from(
             origin2.clone(),
-            1,
-            2,
+            account(1),
+            account(2),
             1,
             1,
             1), Error::<Test>::NoPermission);
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 5));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 5));
         assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);
         assert_eq!(
             TemplateModule::approved(1, (1, 1, 2)),
@@ -445,8 +454,8 @@
 
         assert_ok!(TemplateModule::transfer_from(
             origin2.clone(),
-            1,
-            3,
+            account(1),
+            account(3),
             1,
             1,
             1
@@ -482,20 +491,20 @@
             1,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 5));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 5));
         assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);
-        assert_ok!(TemplateModule::approve(origin1.clone(), 3, 1, 1, 5));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(3), 1, 1, 5));
         assert_eq!(TemplateModule::approved(1, (1, 1, 3)), 5);
 
         assert_ok!(TemplateModule::transfer_from(
             origin2.clone(),
-            1,
-            3,
+            account(1),
+            account(3),
             1,
             1,
             1
@@ -530,18 +539,18 @@
             1,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 1023));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 1023));
         assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1023);
 
         assert_ok!(TemplateModule::transfer_from(
             origin2.clone(),
-            1,
-            3,
+            account(1),
+            account(3),
             1,
             1,
             100
@@ -583,14 +592,14 @@
             1,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 5));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 5));
         assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);
-        assert_ok!(TemplateModule::approve(origin1.clone(), 3, 1, 1, 5));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(3), 1, 1, 5));
         assert_eq!(TemplateModule::approved(1, (1, 1, 3)), 5);
         assert_eq!(
             TemplateModule::approved(1, (1, 1, 2)),
@@ -599,9 +608,9 @@
 
         assert_ok!(TemplateModule::transfer_from(
             origin2.clone(),
+            account(1),
+            account(3),
             1,
-            3,
-            1,
             1,
             4
         ));
@@ -612,9 +621,9 @@
 
         assert_noop!(TemplateModule::transfer_from(
             origin2.clone(),
+            account(1),
+            account(3),
             1,
-            3,
-            1,
             1,
             4
         ), Error::<Test>::NoPermission);
@@ -658,7 +667,7 @@
         let collection_id = create_test_collection(&CollectionMode::NFT, 1);
 
         let origin1 = Origin::signed(1);
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
         
         let data = default_nft_data();
         create_test_item(collection_id, &data.into());
@@ -685,7 +694,7 @@
         let collection_id = create_test_collection(&CollectionMode::Fungible(3), 1);
         
         let origin1 = Origin::signed(1);
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
         
         let data = default_fungible_data();
         create_test_item(collection_id, &data.into());
@@ -722,9 +731,9 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
 
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, account(2)));
         
         let data = default_re_fungible_data();
         create_test_item(collection_id, &data.into());
@@ -755,11 +764,11 @@
         let origin1 = Origin::signed(1);
 
         // collection admin
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 2));
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 3));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(2)));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(3)));
 
-        assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&2), true);
-        assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&3), true);
+        assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&account(2)), true);
+        assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&account(3)), true);
     });
 }
 
@@ -776,19 +785,19 @@
         let origin2 = Origin::signed(2);
 
         // collection admin
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 2));
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 3));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(2)));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(3)));
 
-        assert_eq!(TemplateModule::admin_list_collection(1).contains(&2), true);
-        assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), true);
+        assert_eq!(TemplateModule::admin_list_collection(1).contains(&account(2)), true);
+        assert_eq!(TemplateModule::admin_list_collection(1).contains(&account(3)), true);
 
         // remove admin
         assert_ok!(TemplateModule::remove_collection_admin(
             origin2.clone(),
             1,
-            3
+            account(3)
         ));
-        assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), false);
+        assert_eq!(TemplateModule::admin_list_collection(1).contains(&account(3)), false);
     });
 }
 
@@ -819,9 +828,9 @@
         assert_eq!(TemplateModule::balance_count(nft_collection_id, 1), 1);
         assert_eq!(TemplateModule::balance_count(fungible_collection_id, 1), 5);
         assert_eq!(TemplateModule::balance_count(re_fungible_collection_id, 1), 1023);
-        assert_eq!(TemplateModule::nft_item_id(nft_collection_id, 1).unwrap().owner, 1);
+        assert_eq!(TemplateModule::nft_item_id(nft_collection_id, 1).unwrap().owner, account(1));
         assert_eq!(TemplateModule::fungible_item_id(fungible_collection_id, 1).value, 5);
-        assert_eq!(TemplateModule::refungible_item_id(re_fungible_collection_id, 1).unwrap().owner[0].owner, 1);
+        assert_eq!(TemplateModule::refungible_item_id(re_fungible_collection_id, 1).unwrap().owner[0].owner, account(1));
     });
 }
 
@@ -838,7 +847,7 @@
         let origin1 = Origin::signed(1);
         
         // approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 1));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 1));
         assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1);
     });
 }
@@ -856,7 +865,7 @@
         create_test_item(collection_id, &data.into());
 
         // approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 1));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 1));
         assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1);
 
         assert_ok!(TemplateModule::set_mint_permission(
@@ -869,14 +878,14 @@
             1,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
 
         assert_ok!(TemplateModule::transfer_from(
             origin2.clone(),
-            1,
-            2,
+            account(1),
+            account(2),
             1,
             1,
             1
@@ -901,7 +910,7 @@
         let collection_id = create_test_collection(&CollectionMode::NFT, 1);
 
         let origin1 = Origin::signed(1);
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
         assert_eq!(TemplateModule::white_list(collection_id, 2), true);
     });
 }
@@ -915,8 +924,8 @@
         let origin1 = Origin::signed(1);
         let origin2 = Origin::signed(2);
 
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
-        assert_ok!(TemplateModule::add_to_white_list(origin2.clone(), collection_id, 3));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
+        assert_ok!(TemplateModule::add_to_white_list(origin2.clone(), collection_id, account(3)));
         assert_eq!(TemplateModule::white_list(collection_id, 3), true);
     });
 }
@@ -930,7 +939,7 @@
 
         let origin2 = Origin::signed(2);
         assert_noop!(
-            TemplateModule::add_to_white_list(origin2.clone(), collection_id, 3),
+            TemplateModule::add_to_white_list(origin2.clone(), collection_id, account(3)),
             Error::<Test>::NoPermission
         );
     });
@@ -944,7 +953,7 @@
         let origin1 = Origin::signed(1);
 
         assert_noop!(
-            TemplateModule::add_to_white_list(origin1.clone(), 1, 2),
+            TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)),
             Error::<Test>::CollectionNotFound
         );
     });
@@ -960,7 +969,7 @@
         let origin1 = Origin::signed(1);
         assert_ok!(TemplateModule::destroy_collection(origin1.clone(), collection_id));
         assert_noop!(
-            TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2),
+            TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)),
             Error::<Test>::CollectionNotFound
         );
     });
@@ -975,8 +984,8 @@
         let collection_id = create_test_collection(&CollectionMode::NFT, 1);
         let origin1 = Origin::signed(1);
         
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
         assert_eq!(TemplateModule::white_list(collection_id, 2), true);
     });
 }
@@ -989,11 +998,11 @@
         let collection_id = create_test_collection(&CollectionMode::NFT, 1);
 
         let origin1 = Origin::signed(1);
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
         assert_ok!(TemplateModule::remove_from_white_list(
             origin1.clone(),
             collection_id,
-            2
+            account(2)
         ));
         assert_eq!(TemplateModule::white_list(collection_id, 2), false);
     });
@@ -1008,13 +1017,13 @@
         let origin1 = Origin::signed(1);
         let origin2 = Origin::signed(2);
 
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
 
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 3));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(3)));
         assert_ok!(TemplateModule::remove_from_white_list(
             origin2.clone(),
             collection_id,
-            3
+            account(3)
         ));
         assert_eq!(TemplateModule::white_list(collection_id, 3), false);
     });
@@ -1029,9 +1038,9 @@
         let origin1 = Origin::signed(1);
         let origin2 = Origin::signed(2);
 
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
         assert_noop!(
-            TemplateModule::remove_from_white_list(origin2.clone(), collection_id, 2),
+            TemplateModule::remove_from_white_list(origin2.clone(), collection_id, account(2)),
             Error::<Test>::NoPermission
         );
         assert_eq!(TemplateModule::white_list(collection_id, 2), true);
@@ -1045,7 +1054,7 @@
         let origin1 = Origin::signed(1);
 
         assert_noop!(
-            TemplateModule::remove_from_white_list(origin1.clone(), 1, 2),
+            TemplateModule::remove_from_white_list(origin1.clone(), 1, account(2)),
             Error::<Test>::CollectionNotFound
         );
     });
@@ -1060,10 +1069,10 @@
         let origin1 = Origin::signed(1);
         let origin2 = Origin::signed(2);
 
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
         assert_ok!(TemplateModule::destroy_collection(origin1.clone(), collection_id));
         assert_noop!(
-            TemplateModule::remove_from_white_list(origin2.clone(), collection_id, 2),
+            TemplateModule::remove_from_white_list(origin2.clone(), collection_id, account(2)),
             Error::<Test>::CollectionNotFound
         );
         assert_eq!(TemplateModule::white_list(collection_id, 2), false);
@@ -1079,16 +1088,16 @@
         let collection_id = create_test_collection(&CollectionMode::NFT, 1);
         let origin1 = Origin::signed(1);
 
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
         assert_ok!(TemplateModule::remove_from_white_list(
             origin1.clone(),
             collection_id,
-            2
+            account(2)
         ));
         assert_ok!(TemplateModule::remove_from_white_list(
             origin1.clone(),
             collection_id,
-            2
+            account(2)
         ));
         assert_eq!(TemplateModule::white_list(collection_id, 2), false);
     });
@@ -1112,10 +1121,10 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
 
         assert_noop!(
-            TemplateModule::transfer(origin1.clone(), 3, 1, 1, 1),
+            TemplateModule::transfer(origin1.clone(), account(3), 1, 1, 1),
             Error::<Test>::AddresNotInWhiteList
         );
     });
@@ -1137,21 +1146,21 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 1, 1, 1, 1));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(1), 1, 1, 1));
         assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 1);
 
         assert_ok!(TemplateModule::remove_from_white_list(
             origin1.clone(),
             1,
-            1
+            account(1)
         ));
 
         assert_noop!(
-            TemplateModule::transfer_from(origin1.clone(), 1, 3, 1, 1, 1),
+            TemplateModule::transfer_from(origin1.clone(), account(1), account(3), 1, 1, 1),
             Error::<Test>::AddresNotInWhiteList
         );
     });
@@ -1175,10 +1184,10 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
 
         assert_noop!(
-            TemplateModule::transfer(origin1.clone(), 3, 1, 1, 1),
+            TemplateModule::transfer(origin1.clone(), account(3), 1, 1, 1),
             Error::<Test>::AddresNotInWhiteList
         );
     });
@@ -1201,21 +1210,21 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 1, 1, 1, 1));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(1), 1, 1, 1));
         assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 1);
 
         assert_ok!(TemplateModule::remove_from_white_list(
             origin1.clone(),
             collection_id,
-            2
+            account(2)
         ));
 
         assert_noop!(
-            TemplateModule::transfer_from(origin1.clone(), 1, 3, 1, 1, 1),
+            TemplateModule::transfer_from(origin1.clone(), account(1), account(3), 1, 1, 1),
             Error::<Test>::AddresNotInWhiteList
         );
     });
@@ -1267,7 +1276,7 @@
 
         // do approve
         assert_noop!(
-            TemplateModule::approve(origin1.clone(), 1, 1, 1, 5),
+            TemplateModule::approve(origin1.clone(), account(1), 1, 1, 5),
             Error::<Test>::AddresNotInWhiteList
         );
     });
@@ -1292,10 +1301,10 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
 
-        assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1));
+        assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 1));
     });
 }
 
@@ -1316,17 +1325,17 @@
             collection_id,
             AccessMode::WhiteList
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 1));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(1)));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
 
         // do approve
-        assert_ok!(TemplateModule::approve(origin1.clone(), 1, 1, 1, 5));
+        assert_ok!(TemplateModule::approve(origin1.clone(), account(1), 1, 1, 5));
         assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 5);
 
         assert_ok!(TemplateModule::transfer_from(
             origin1.clone(),
-            1,
-            2,
+            account(1),
+            account(2),
             1,
             1,
             1
@@ -1381,12 +1390,12 @@
             false
         ));
 
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
 
         assert_ok!(TemplateModule::create_item(
             origin2.clone(),
             collection_id,
-            2,
+            account(2),
             default_nft_data().into()
         ));
     });
@@ -1413,10 +1422,10 @@
             collection_id,
             false
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
 
         assert_noop!(
-            TemplateModule::create_item(origin2.clone(), 1, 2, default_nft_data().into()),
+            TemplateModule::create_item(origin2.clone(), 1, account(2), default_nft_data().into()),
             Error::<Test>::PublicMintingNotAllowed
         );
     });
@@ -1445,7 +1454,7 @@
         ));
 
         assert_noop!(
-            TemplateModule::create_item(origin2.clone(), 1, 2, default_nft_data().into()),
+            TemplateModule::create_item(origin2.clone(), 1, account(2), default_nft_data().into()),
             Error::<Test>::PublicMintingNotAllowed
         );
     });
@@ -1499,12 +1508,12 @@
             true
         ));
 
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
 
         assert_ok!(TemplateModule::create_item(
             origin2.clone(),
             1,
-            2,
+            account(2),
             default_nft_data().into()
         ));
     });
@@ -1533,7 +1542,7 @@
         ));
 
         assert_noop!(
-            TemplateModule::create_item(origin2.clone(), 1, 2, default_nft_data().into()),
+            TemplateModule::create_item(origin2.clone(), 1, account(2), default_nft_data().into()),
             Error::<Test>::AddresNotInWhiteList
         );
     });
@@ -1560,12 +1569,12 @@
             collection_id,
             true
         ));
-        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));
+        assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
 
         assert_ok!(TemplateModule::create_item(
             origin2.clone(),
             1,
-            2,
+            account(2),
             default_nft_data().into()
         ));
     });
@@ -1648,7 +1657,7 @@
         assert_noop!(TemplateModule::create_item(
             origin1.clone(),
             1,
-            1,
+            account(1),
             data.into()
         ),  Error::<Test>::AddressOwnershipLimitExceeded);
     });
@@ -1675,8 +1684,8 @@
 
         let origin1 = Origin::signed(1);
         
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 3));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(3)));
     });
 }
 
@@ -1701,8 +1710,8 @@
 
         let origin1 = Origin::signed(1);
 
-        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));
-        assert_noop!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 3), Error::<Test>::CollectionAdminsLimitExceeded);
+        assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
+        assert_noop!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(3)), Error::<Test>::CollectionAdminsLimitExceeded);
     });
 }
 
@@ -1734,7 +1743,7 @@
         assert_noop!(TemplateModule::create_item(
             origin1.clone(),
             collection_id,
-            1,
+            account(1),
             too_big_const_data
         ), Error::<Test>::TokenConstDataLimitExceeded);
     });
@@ -1768,7 +1777,7 @@
         assert_noop!(TemplateModule::create_item(
             origin1.clone(),
             collection_id,
-            1,
+            account(1),
             too_big_const_data
         ), Error::<Test>::TokenVariableDataLimitExceeded);
     });
@@ -1802,7 +1811,7 @@
         assert_noop!(TemplateModule::create_item(
             origin1.clone(),
             collection_id,
-            1,
+            account(1),
             too_big_const_data
         ), Error::<Test>::TokenConstDataLimitExceeded);
     });
@@ -1836,7 +1845,7 @@
         assert_noop!(TemplateModule::create_item(
             origin1.clone(),
             collection_id,
-            1,
+            account(1),
             too_big_const_data
         ), Error::<Test>::TokenVariableDataLimitExceeded);
     });
modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
--- a/pallets/scheduler/src/lib.rs
+++ b/pallets/scheduler/src/lib.rs
@@ -887,6 +887,7 @@
 		type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
 		type MaxScheduledPerBlock = MaxScheduledPerBlock;
 		type WeightInfo = ();
+        type SponsorshipHandler = ();
 	}
 
 	pub fn new_test_ext() -> sp_io::TestExternalities {
modifiedruntime/src/lib.rsdiffbeforeafterboth
--- a/runtime/src/lib.rs
+++ b/runtime/src/lib.rs
@@ -689,7 +689,6 @@
 	type Event = Event;
 	type WeightInfo = nft_weights::WeightInfo;
 
-	type EvmWithdrawOrigin = EnsureAddressTruncated;
 	type EvmBackwardsAddressMapping = pallet_nft::MapBackwardsAddressTruncated;
 	type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
 	type CrossAccountId = pallet_nft::BasicCrossAccountId<Self>;