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
34 NodeBlock = Block,34 NodeBlock = Block,
35 UncheckedExtrinsic = UncheckedExtrinsic,35 UncheckedExtrinsic = UncheckedExtrinsic,
36 {36 {
37 Balances: pallet_balances::{Module, Call, Storage},37 Balances: pallet_balances::{Pallet, Call, Storage},
38 System: frame_system::{Module, Call, Config, Storage, Event<T>},38 System: frame_system::{Pallet, Call, Config, Storage, Event<T>},
39 Inflation: pallet_inflation::{Module, Call, Storage},39 Inflation: pallet_inflation::{Pallet, Call, Storage},
40 }40 }
41 );41 );
4242
70 type OnKilledAccount = ();70 type OnKilledAccount = ();
71 type SystemWeightInfo = ();71 type SystemWeightInfo = ();
72 type SS58Prefix = SS58Prefix;72 type SS58Prefix = SS58Prefix;
73 type OnSetCode = ();
73 }74 }
7475
75 parameter_types! {76 parameter_types! {
modifiedpallets/nft/src/eth/sponsoring.rsdiffbeforeafterboth
32 match call {32 match call {
33 UniqueNFTCall::ERC721UniqueExtensions(ERC721UniqueExtensionsCall::Transfer {token_id, ..}) | UniqueNFTCall::ERC721(ERC721Call::TransferFrom {token_id, ..}) => {33 UniqueNFTCall::ERC721UniqueExtensions(ERC721UniqueExtensionsCall::Transfer {token_id, ..}) | UniqueNFTCall::ERC721(ERC721Call::TransferFrom {token_id, ..}) => {
34 let token_id: u32 = token_id.try_into().map_err(|_| AnyError)?;34 let token_id: u32 = token_id.try_into().map_err(|_| AnyError)?;
35 let block_number = <frame_system::Module<T>>::block_number() as T::BlockNumber;35 let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
36 let collection_limits = &collection.limits;36 let collection_limits = &collection.limits;
37 let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {37 let limit: u32 = if collection_limits.sponsor_transfer_timeout > 0 {
38 collection_limits.sponsor_transfer_timeout38 collection_limits.sponsor_transfer_timeout
68 ChainLimit::get().fungible_sponsor_transfer_timeout68 ChainLimit::get().fungible_sponsor_transfer_timeout
69 };69 };
7070
71 let block_number = <frame_system::Module<T>>::block_number() as T::BlockNumber;71 let block_number = <frame_system::Pallet<T>>::block_number() as T::BlockNumber;
72 let mut sponsored = true;72 let mut sponsored = true;
73 if <FungibleTransferBasket<T>>::contains_key(collection_id, who.as_sub()) {73 if <FungibleTransferBasket<T>>::contains_key(collection_id, who.as_sub()) {
74 let last_tx_block = <FungibleTransferBasket<T>>::get(collection_id, who.as_sub());74 let last_tx_block = <FungibleTransferBasket<T>>::get(collection_id, who.as_sub());
modifiedpallets/nft/src/lib.rsdiffbeforeafterboth
236236
237 type EvmAddressMapping: pallet_evm::AddressMapping<Self::AccountId>;237 type EvmAddressMapping: pallet_evm::AddressMapping<Self::AccountId>;
238 type EvmBackwardsAddressMapping: EvmBackwardsAddressMapping<Self::AccountId>;238 type EvmBackwardsAddressMapping: EvmBackwardsAddressMapping<Self::AccountId>;
239 type EvmWithdrawOrigin: pallet_evm::EnsureAddressOrigin<Self::Origin, Success = Self::AccountId>;
240239
241 type CrossAccountId: CrossAccountId<Self::AccountId>;240 type CrossAccountId: CrossAccountId<Self::AccountId>;
242 type Currency: Currency<Self::AccountId>;241 type Currency: Currency<Self::AccountId>;
modifiedpallets/nft/src/mock.rsdiffbeforeafterboth
11};11};
12use pallet_transaction_payment::{ CurrencyAdapter};12use pallet_transaction_payment::{ CurrencyAdapter};
13use frame_system as system;13use frame_system as system;
14use pallet_evm::AddressMapping;
15use crate::{EvmBackwardsAddressMapping, CrossAccountId};
16use codec::{Encode, Decode};
1417
15type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;18type UncheckedExtrinsic = frame_system::mocking::MockUncheckedExtrinsic<Test>;
16type Block = frame_system::mocking::MockBlock<Test>; 19type Block = frame_system::mocking::MockBlock<Test>;
22 NodeBlock = Block,25 NodeBlock = Block,
23 UncheckedExtrinsic = UncheckedExtrinsic,26 UncheckedExtrinsic = UncheckedExtrinsic,
24 {27 {
25 System: frame_system::{Module, Call, Config, Storage, Event<T>},28 System: frame_system::{Pallet, Call, Config, Storage, Event<T>},
26 TemplateModule: pallet_template::{Module, Call, Storage},29 TemplateModule: pallet_template::{Pallet, Call, Storage},
27 Balances: pallet_balances::{Module, Call, Storage},30 Balances: pallet_balances::{Pallet, Call, Storage},
28 }31 }
29);32);
3033
56 type OnKilledAccount = ();59 type OnKilledAccount = ();
57 type SystemWeightInfo = ();60 type SystemWeightInfo = ();
58 type SS58Prefix = SS58Prefix;61 type SS58Prefix = SS58Prefix;
62 type OnSetCode = ();
59}63}
6064
61parameter_types! {65parameter_types! {
78}82}
7983
80impl pallet_transaction_payment::Config for Test {84impl pallet_transaction_payment::Config for Test {
81 type OnChargeTransaction = CurrencyAdapter<pallet_balances::Module<Test>, ()>;85 type OnChargeTransaction = CurrencyAdapter<pallet_balances::Pallet<Test>, ()>;
82 type TransactionByteFee = TransactionByteFee;86 type TransactionByteFee = TransactionByteFee;
83 type WeightToFee = IdentityFee<u64>;87 type WeightToFee = IdentityFee<u64>;
84 type FeeMultiplierUpdate = ();88 type FeeMultiplierUpdate = ();
94 type WeightInfo = ();98 type WeightInfo = ();
95}99}
96100
97type Timestamp = pallet_timestamp::Module<Test>;101type Timestamp = pallet_timestamp::Pallet<Test>;
98type Randomness = pallet_randomness_collective_flip::Module<Test>;102type Randomness = pallet_randomness_collective_flip::Pallet<Test>;
99103
100parameter_types! {104parameter_types! {
101 pub const TombstoneDeposit: u64 = 1;105 pub const TombstoneDeposit: u64 = 1;
102 pub const DepositPerContract: u64 = 1;106 pub const DepositPerContract: u64 = 1;
103 pub const DepositPerStorageByte: u64 = 1;107 pub const DepositPerStorageByte: u64 = 1;
104 pub const DepositPerStorageItem: u64 = 1;108 pub const DepositPerStorageItem: u64 = 1;
105 pub RentFraction: Perbill = Perbill::from_rational_approximation(1u32, 30 * 24 * 60 * 10);109 pub RentFraction: Perbill = Perbill::from_rational(1u32, 30 * 24 * 60 * 10);
106 pub const SurchargeReward: u64 = 1;110 pub const SurchargeReward: u64 = 1;
107 pub const SignedClaimHandicap: u32 = 2;111 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);112 pub DeletionWeightLimit: u64 = u64::MAX;//Perbill::from_percent(10);
111 pub DeletionQueueDepth: u32 = 10;113 pub DeletionQueueDepth: u32 = 10;
114 pub Schedule: pallet_contracts::Schedule<Test> = Default::default();
112}115}
113116
114impl pallet_contracts::Config for Test {117impl pallet_contracts::Config for Test {
115 type Time = Timestamp;118 type Time = Timestamp;
116 type Randomness = Randomness;119 type Randomness = Randomness;
117 type Currency = pallet_balances::Module<Test>;120 type Currency = pallet_balances::Pallet<Test>;
118 type Event = ();121 type Event = ();
119 type RentPayment = ();122 type RentPayment = ();
120 type SignedClaimHandicap = SignedClaimHandicap;123 type SignedClaimHandicap = SignedClaimHandicap;
125 type RentFraction = RentFraction;128 type RentFraction = RentFraction;
126 type SurchargeReward = SurchargeReward;129 type SurchargeReward = SurchargeReward;
127 type DeletionWeightLimit = DeletionWeightLimit;130 type DeletionWeightLimit = DeletionWeightLimit;
128 type MaxDepth = MaxDepth;
129 type DeletionQueueDepth = DeletionQueueDepth;131 type DeletionQueueDepth = DeletionQueueDepth;
130 type MaxValueSize = MaxValueSize;
131 type ChainExtension = ();132 type ChainExtension = ();
132 type MaxCodeSize = ();
133 type WeightPrice = ();133 type WeightPrice = ();
134 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;134 type WeightInfo = pallet_contracts::weights::SubstrateWeight<Self>;
135 type Schedule = Schedule;
136 type CallStack = [pallet_contracts::Frame<Self>; 31];
135}137}
136138
137parameter_types! {139parameter_types! {
138 pub const CollectionCreationPrice: u32 = 0;140 pub const CollectionCreationPrice: u32 = 0;
139 pub TreasuryAccountId: u64 = 1234;141 pub TreasuryAccountId: u64 = 1234;
142 pub EthereumChainId: u32 = 1111;
140}143}
144
145pub struct TestEvmAddressMapping;
146impl AddressMapping<u64> for TestEvmAddressMapping {
147 fn into_account_id(addr: sp_core::H160) -> u64 {
148 unimplemented!()
149 }
150}
151
152pub struct TestEvmBackwardsAddressMapping;
153impl EvmBackwardsAddressMapping<u64> for TestEvmBackwardsAddressMapping {
154 fn from_account_id(account_id: u64) -> sp_core::H160 {
155 unimplemented!()
156 }
157}
158
159#[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.0
169 }
170 fn from_eth(eth: sp_core::H160) -> Self {
171 unimplemented!()
172 }
173 fn as_eth(&self) -> &sp_core::H160 {
174 &self.1
175 }
176}
177
178pub 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}
141184
142impl pallet_template::Config for Test {185impl pallet_template::Config for Test {
143 type Event = ();186 type Event = ();
144 type WeightInfo = ();187 type WeightInfo = ();
145 type CollectionCreationPrice = CollectionCreationPrice;188 type CollectionCreationPrice = CollectionCreationPrice;
146 type Currency = pallet_balances::Module<Test>;189 type Currency = pallet_balances::Pallet<Test>;
147 type TreasuryAccountId = TreasuryAccountId;190 type TreasuryAccountId = TreasuryAccountId;
191 type EvmAddressMapping = TestEvmAddressMapping;
192 type EvmBackwardsAddressMapping = TestEvmBackwardsAddressMapping;
193 type CrossAccountId = TestCrossAccountId;
194 type EthereumChainId = EthereumChainId;
195 type EthereumTransactionSender = TestEtheremTransactionSender;
148}196}
149197
150// Build genesis storage according to the mock runtime.198// Build genesis storage according to the mock runtime.
modifiedpallets/nft/src/tests.rsdiffbeforeafterboth
3use crate::mock::*;3use crate::mock::*;
4use crate::{AccessMode, CollectionMode,4use crate::{
5 AccessMode, CollectionMode,
5 Ownership, ChainLimits, CreateItemData, CreateNftData, CreateFungibleData, CreateReFungibleData,6 Ownership, ChainLimits, CreateItemData,
6 CollectionId, TokenId, MAX_DECIMAL_POINTS};7};
8use nft_data_structs::{
9 CreateNftData, CreateFungibleData, CreateReFungibleData,
10 CollectionId, TokenId, MAX_DECIMAL_POINTS,
11};
7use frame_support::{assert_noop, assert_ok};12use frame_support::{assert_noop, assert_ok};
8use frame_system::{ RawOrigin };13use frame_system::{ RawOrigin };
914
72 assert_ok!(TemplateModule::create_item(77 assert_ok!(TemplateModule::create_item(
73 origin1.clone(),78 origin1.clone(),
74 collection_id,79 collection_id,
75 1,80 account(1),
76 data.clone()81 data.clone()
77 ));82 ));
7883
79}84}
85
86fn account(sub: u64) -> TestCrossAccountId {
87 TestCrossAccountId::from_sub(sub)
88}
8089
81// Use cases tests region90// Use cases tests region
82// #region91// #region
143 assert_ok!(TemplateModule::create_multiple_items(152 assert_ok!(TemplateModule::create_multiple_items(
144 origin1.clone(),153 origin1.clone(),
145 1,154 1,
146 1,155 account(1),
147 items_data.clone().into_iter().map(|d| { d.into() }).collect()156 items_data.clone().into_iter().map(|d| { d.into() }).collect()
148 ));157 ));
149 for (index, data) in items_data.iter().enumerate() {158 for (index, data) in items_data.iter().enumerate() {
174 assert_eq!(183 assert_eq!(
175 item.owner[0],184 item.owner[0],
176 Ownership {185 Ownership {
177 owner: 1,186 owner: account(1),
178 fraction: 1023187 fraction: 1023
179 }188 }
180 );189 );
195 assert_ok!(TemplateModule::create_multiple_items(204 assert_ok!(TemplateModule::create_multiple_items(
196 origin1.clone(),205 origin1.clone(),
197 1,206 1,
198 1,207 account(1),
199 items_data.clone().into_iter().map(|d| { d.into() }).collect()208 items_data.clone().into_iter().map(|d| { d.into() }).collect()
200 ));209 ));
201 for (index, data) in items_data.iter().enumerate() {210 for (index, data) in items_data.iter().enumerate() {
206 assert_eq!(215 assert_eq!(
207 item.owner[0],216 item.owner[0],
208 Ownership {217 Ownership {
209 owner: 1,218 owner: account(1),
210 fraction: 1023219 fraction: 1023
211 }220 }
212 );221 );
271 assert_eq!(TemplateModule::balance_count(1, 1), 5);280 assert_eq!(TemplateModule::balance_count(1, 1), 5);
272281
273 // change owner scenario282 // change owner scenario
274 assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 5));283 assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 5));
275 assert_eq!(TemplateModule::fungible_item_id(1, 1).value, 0);284 assert_eq!(TemplateModule::fungible_item_id(1, 1).value, 0);
276 assert_eq!(TemplateModule::balance_count(1, 1), 0);285 assert_eq!(TemplateModule::balance_count(1, 1), 0);
277 assert_eq!(TemplateModule::balance_count(1, 2), 5);286 assert_eq!(TemplateModule::balance_count(1, 2), 5);
278287
279 // split item scenario288 // split item scenario
280 assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 3));289 assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 3));
281 assert_eq!(TemplateModule::balance_count(1, 2), 2);290 assert_eq!(TemplateModule::balance_count(1, 2), 2);
282 assert_eq!(TemplateModule::balance_count(1, 3), 3);291 assert_eq!(TemplateModule::balance_count(1, 3), 3);
283292
284 // split item and new owner has account scenario293 // split item and new owner has account scenario
285 assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 1));294 assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 1));
286 assert_eq!(TemplateModule::fungible_item_id(1, 2).value, 1);295 assert_eq!(TemplateModule::fungible_item_id(1, 2).value, 1);
287 assert_eq!(TemplateModule::fungible_item_id(1, 3).value, 4);296 assert_eq!(TemplateModule::fungible_item_id(1, 3).value, 4);
288 assert_eq!(TemplateModule::balance_count(1, 2), 1);297 assert_eq!(TemplateModule::balance_count(1, 2), 1);
315 assert_eq!(324 assert_eq!(
316 item.owner[0],325 item.owner[0],
317 Ownership {326 Ownership {
318 owner: 1,327 owner: account(1),
319 fraction: 1023328 fraction: 1023
320 }329 }
321 );330 );
324 assert_eq!(TemplateModule::address_tokens(1, 1), [1]);333 assert_eq!(TemplateModule::address_tokens(1, 1), [1]);
325334
326 // change owner scenario335 // change owner scenario
327 assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1023));336 assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 1023));
328 assert_eq!(337 assert_eq!(
329 TemplateModule::refungible_item_id(1, 1).unwrap().owner[0],338 TemplateModule::refungible_item_id(1, 1).unwrap().owner[0],
330 Ownership {339 Ownership {
331 owner: 2,340 owner: account(2),
332 fraction: 1023341 fraction: 1023
333 }342 }
334 );343 );
338 assert_eq!(TemplateModule::address_tokens(1, 2), [1]);347 assert_eq!(TemplateModule::address_tokens(1, 2), [1]);
339348
340 // split item scenario349 // split item scenario
341 assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 500));350 assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 500));
342 {351 {
343 let item = TemplateModule::refungible_item_id(1, 1).unwrap();352 let item = TemplateModule::refungible_item_id(1, 1).unwrap();
344 assert_eq!(353 assert_eq!(
345 item.owner[0],354 item.owner[0],
346 Ownership {355 Ownership {
347 owner: 2,356 owner: account(2),
348 fraction: 523357 fraction: 523
349 }358 }
350 );359 );
351 assert_eq!(360 assert_eq!(
352 item.owner[1],361 item.owner[1],
353 Ownership {362 Ownership {
354 owner: 3,363 owner: account(3),
355 fraction: 500364 fraction: 500
356 }365 }
357 );366 );
362 assert_eq!(TemplateModule::address_tokens(1, 3), [1]);371 assert_eq!(TemplateModule::address_tokens(1, 3), [1]);
363372
364 // split item and new owner has account scenario373 // split item and new owner has account scenario
365 assert_ok!(TemplateModule::transfer(origin2.clone(), 3, 1, 1, 200));374 assert_ok!(TemplateModule::transfer(origin2.clone(), account(3), 1, 1, 200));
366 {375 {
367 let item = TemplateModule::refungible_item_id(1, 1).unwrap();376 let item = TemplateModule::refungible_item_id(1, 1).unwrap();
368 assert_eq!(377 assert_eq!(
369 item.owner[0],378 item.owner[0],
370 Ownership {379 Ownership {
371 owner: 2,380 owner: account(2),
372 fraction: 323381 fraction: 323
373 }382 }
374 );383 );
375 assert_eq!(384 assert_eq!(
376 item.owner[1],385 item.owner[1],
377 Ownership {386 Ownership {
378 owner: 3,387 owner: account(3),
379 fraction: 700388 fraction: 700
380 }389 }
381 );390 );
401410
402 let origin1 = Origin::signed(1);411 let origin1 = Origin::signed(1);
403 // default scenario412 // default scenario
404 assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1000));413 assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 1000));
405 assert_eq!(TemplateModule::nft_item_id(1, 1).unwrap().owner, 2);414 assert_eq!(TemplateModule::nft_item_id(1, 1).unwrap().owner, account(2));
406 assert_eq!(TemplateModule::balance_count(1, 1), 0);415 assert_eq!(TemplateModule::balance_count(1, 1), 0);
407 assert_eq!(TemplateModule::balance_count(1, 2), 1);416 assert_eq!(TemplateModule::balance_count(1, 2), 1);
408 // assert_eq!(TemplateModule::address_tokens(1, 1), []);417 // assert_eq!(TemplateModule::address_tokens(1, 1), []);
429 // neg transfer438 // neg transfer
430 assert_noop!(TemplateModule::transfer_from(439 assert_noop!(TemplateModule::transfer_from(
431 origin2.clone(),440 origin2.clone(),
432 1,441 account(1),
433 2,442 account(2),
434 1,443 1,
435 1,444 1,
436 1), Error::<Test>::NoPermission);445 1), Error::<Test>::NoPermission);
437446
438 // do approve447 // do approve
439 assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 5));448 assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 5));
440 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);449 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);
441 assert_eq!(450 assert_eq!(
442 TemplateModule::approved(1, (1, 1, 2)),451 TemplateModule::approved(1, (1, 1, 2)),
445454
446 assert_ok!(TemplateModule::transfer_from(455 assert_ok!(TemplateModule::transfer_from(
447 origin2.clone(),456 origin2.clone(),
448 1,457 account(1),
449 3,458 account(3),
450 1,459 1,
451 1,460 1,
452 1461 1
482 1,491 1,
483 AccessMode::WhiteList492 AccessMode::WhiteList
484 ));493 ));
485 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));494 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
486 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));495 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
487 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));496 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
488497
489 // do approve498 // do approve
490 assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 5));499 assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 5));
491 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);500 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);
492 assert_ok!(TemplateModule::approve(origin1.clone(), 3, 1, 1, 5));501 assert_ok!(TemplateModule::approve(origin1.clone(), account(3), 1, 1, 5));
493 assert_eq!(TemplateModule::approved(1, (1, 1, 3)), 5);502 assert_eq!(TemplateModule::approved(1, (1, 1, 3)), 5);
494503
495 assert_ok!(TemplateModule::transfer_from(504 assert_ok!(TemplateModule::transfer_from(
496 origin2.clone(),505 origin2.clone(),
497 1,506 account(1),
498 3,507 account(3),
499 1,508 1,
500 1,509 1,
501 1510 1
530 1,539 1,
531 AccessMode::WhiteList540 AccessMode::WhiteList
532 ));541 ));
533 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));542 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
534 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));543 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
535 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));544 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
536545
537 // do approve546 // do approve
538 assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 1023));547 assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 1023));
539 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1023);548 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1023);
540549
541 assert_ok!(TemplateModule::transfer_from(550 assert_ok!(TemplateModule::transfer_from(
542 origin2.clone(),551 origin2.clone(),
543 1,552 account(1),
544 3,553 account(3),
545 1,554 1,
546 1,555 1,
547 100556 100
583 1,592 1,
584 AccessMode::WhiteList593 AccessMode::WhiteList
585 ));594 ));
586 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));595 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
587 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));596 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
588 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));597 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
589598
590 // do approve599 // do approve
591 assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 5));600 assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 5));
592 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);601 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 5);
593 assert_ok!(TemplateModule::approve(origin1.clone(), 3, 1, 1, 5));602 assert_ok!(TemplateModule::approve(origin1.clone(), account(3), 1, 1, 5));
594 assert_eq!(TemplateModule::approved(1, (1, 1, 3)), 5);603 assert_eq!(TemplateModule::approved(1, (1, 1, 3)), 5);
595 assert_eq!(604 assert_eq!(
596 TemplateModule::approved(1, (1, 1, 2)),605 TemplateModule::approved(1, (1, 1, 2)),
599608
600 assert_ok!(TemplateModule::transfer_from(609 assert_ok!(TemplateModule::transfer_from(
601 origin2.clone(),610 origin2.clone(),
602 1,611 account(1),
603 3,612 account(3),
604 1,613 1,
605 1,614 1,
606 4615 4
612621
613 assert_noop!(TemplateModule::transfer_from(622 assert_noop!(TemplateModule::transfer_from(
614 origin2.clone(),623 origin2.clone(),
615 1,624 account(1),
616 3,625 account(3),
617 1,626 1,
618 1,627 1,
619 4628 4
658 let collection_id = create_test_collection(&CollectionMode::NFT, 1);667 let collection_id = create_test_collection(&CollectionMode::NFT, 1);
659668
660 let origin1 = Origin::signed(1);669 let origin1 = Origin::signed(1);
661 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));670 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
662 671
663 let data = default_nft_data();672 let data = default_nft_data();
664 create_test_item(collection_id, &data.into());673 create_test_item(collection_id, &data.into());
685 let collection_id = create_test_collection(&CollectionMode::Fungible(3), 1);694 let collection_id = create_test_collection(&CollectionMode::Fungible(3), 1);
686 695
687 let origin1 = Origin::signed(1);696 let origin1 = Origin::signed(1);
688 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));697 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
689 698
690 let data = default_fungible_data();699 let data = default_fungible_data();
691 create_test_item(collection_id, &data.into());700 create_test_item(collection_id, &data.into());
722 collection_id,731 collection_id,
723 AccessMode::WhiteList732 AccessMode::WhiteList
724 ));733 ));
725 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));734 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
726735
727 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, 2));736 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), 1, account(2)));
728 737
729 let data = default_re_fungible_data();738 let data = default_re_fungible_data();
730 create_test_item(collection_id, &data.into());739 create_test_item(collection_id, &data.into());
755 let origin1 = Origin::signed(1);764 let origin1 = Origin::signed(1);
756765
757 // collection admin766 // collection admin
758 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 2));767 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(2)));
759 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 3));768 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(3)));
760769
761 assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&2), true);770 assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&account(2)), true);
762 assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&3), true);771 assert_eq!(TemplateModule::admin_list_collection(collection1_id).contains(&account(3)), true);
763 });772 });
764}773}
765774
776 let origin2 = Origin::signed(2);785 let origin2 = Origin::signed(2);
777786
778 // collection admin787 // collection admin
779 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 2));788 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(2)));
780 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, 3));789 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection1_id, account(3)));
781790
782 assert_eq!(TemplateModule::admin_list_collection(1).contains(&2), true);791 assert_eq!(TemplateModule::admin_list_collection(1).contains(&account(2)), true);
783 assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), true);792 assert_eq!(TemplateModule::admin_list_collection(1).contains(&account(3)), true);
784793
785 // remove admin794 // remove admin
786 assert_ok!(TemplateModule::remove_collection_admin(795 assert_ok!(TemplateModule::remove_collection_admin(
787 origin2.clone(),796 origin2.clone(),
788 1,797 1,
789 3798 account(3)
790 ));799 ));
791 assert_eq!(TemplateModule::admin_list_collection(1).contains(&3), false);800 assert_eq!(TemplateModule::admin_list_collection(1).contains(&account(3)), false);
792 });801 });
793}802}
794803
819 assert_eq!(TemplateModule::balance_count(nft_collection_id, 1), 1);828 assert_eq!(TemplateModule::balance_count(nft_collection_id, 1), 1);
820 assert_eq!(TemplateModule::balance_count(fungible_collection_id, 1), 5);829 assert_eq!(TemplateModule::balance_count(fungible_collection_id, 1), 5);
821 assert_eq!(TemplateModule::balance_count(re_fungible_collection_id, 1), 1023);830 assert_eq!(TemplateModule::balance_count(re_fungible_collection_id, 1), 1023);
822 assert_eq!(TemplateModule::nft_item_id(nft_collection_id, 1).unwrap().owner, 1);831 assert_eq!(TemplateModule::nft_item_id(nft_collection_id, 1).unwrap().owner, account(1));
823 assert_eq!(TemplateModule::fungible_item_id(fungible_collection_id, 1).value, 5);832 assert_eq!(TemplateModule::fungible_item_id(fungible_collection_id, 1).value, 5);
824 assert_eq!(TemplateModule::refungible_item_id(re_fungible_collection_id, 1).unwrap().owner[0].owner, 1);833 assert_eq!(TemplateModule::refungible_item_id(re_fungible_collection_id, 1).unwrap().owner[0].owner, account(1));
825 });834 });
826}835}
827836
838 let origin1 = Origin::signed(1);847 let origin1 = Origin::signed(1);
839 848
840 // approve849 // approve
841 assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 1));850 assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 1));
842 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1);851 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1);
843 });852 });
844}853}
856 create_test_item(collection_id, &data.into());865 create_test_item(collection_id, &data.into());
857866
858 // approve867 // approve
859 assert_ok!(TemplateModule::approve(origin1.clone(), 2, 1, 1, 1));868 assert_ok!(TemplateModule::approve(origin1.clone(), account(2), 1, 1, 1));
860 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1);869 assert_eq!(TemplateModule::approved(1, (1, 1, 2)), 1);
861870
862 assert_ok!(TemplateModule::set_mint_permission(871 assert_ok!(TemplateModule::set_mint_permission(
869 1,878 1,
870 AccessMode::WhiteList879 AccessMode::WhiteList
871 ));880 ));
872 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));881 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
873 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));882 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
874 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 3));883 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(3)));
875884
876 assert_ok!(TemplateModule::transfer_from(885 assert_ok!(TemplateModule::transfer_from(
877 origin2.clone(),886 origin2.clone(),
878 1,887 account(1),
879 2,888 account(2),
880 1,889 1,
881 1,890 1,
882 1891 1
901 let collection_id = create_test_collection(&CollectionMode::NFT, 1);910 let collection_id = create_test_collection(&CollectionMode::NFT, 1);
902911
903 let origin1 = Origin::signed(1);912 let origin1 = Origin::signed(1);
904 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));913 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
905 assert_eq!(TemplateModule::white_list(collection_id, 2), true);914 assert_eq!(TemplateModule::white_list(collection_id, 2), true);
906 });915 });
907}916}
915 let origin1 = Origin::signed(1);924 let origin1 = Origin::signed(1);
916 let origin2 = Origin::signed(2);925 let origin2 = Origin::signed(2);
917926
918 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));927 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
919 assert_ok!(TemplateModule::add_to_white_list(origin2.clone(), collection_id, 3));928 assert_ok!(TemplateModule::add_to_white_list(origin2.clone(), collection_id, account(3)));
920 assert_eq!(TemplateModule::white_list(collection_id, 3), true);929 assert_eq!(TemplateModule::white_list(collection_id, 3), true);
921 });930 });
922}931}
930939
931 let origin2 = Origin::signed(2);940 let origin2 = Origin::signed(2);
932 assert_noop!(941 assert_noop!(
933 TemplateModule::add_to_white_list(origin2.clone(), collection_id, 3),942 TemplateModule::add_to_white_list(origin2.clone(), collection_id, account(3)),
934 Error::<Test>::NoPermission943 Error::<Test>::NoPermission
935 );944 );
936 });945 });
944 let origin1 = Origin::signed(1);953 let origin1 = Origin::signed(1);
945954
946 assert_noop!(955 assert_noop!(
947 TemplateModule::add_to_white_list(origin1.clone(), 1, 2),956 TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)),
948 Error::<Test>::CollectionNotFound957 Error::<Test>::CollectionNotFound
949 );958 );
950 });959 });
960 let origin1 = Origin::signed(1);969 let origin1 = Origin::signed(1);
961 assert_ok!(TemplateModule::destroy_collection(origin1.clone(), collection_id));970 assert_ok!(TemplateModule::destroy_collection(origin1.clone(), collection_id));
962 assert_noop!(971 assert_noop!(
963 TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2),972 TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)),
964 Error::<Test>::CollectionNotFound973 Error::<Test>::CollectionNotFound
965 );974 );
966 });975 });
975 let collection_id = create_test_collection(&CollectionMode::NFT, 1);984 let collection_id = create_test_collection(&CollectionMode::NFT, 1);
976 let origin1 = Origin::signed(1);985 let origin1 = Origin::signed(1);
977 986
978 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));987 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
979 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));988 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
980 assert_eq!(TemplateModule::white_list(collection_id, 2), true);989 assert_eq!(TemplateModule::white_list(collection_id, 2), true);
981 });990 });
982}991}
989 let collection_id = create_test_collection(&CollectionMode::NFT, 1);998 let collection_id = create_test_collection(&CollectionMode::NFT, 1);
990999
991 let origin1 = Origin::signed(1);1000 let origin1 = Origin::signed(1);
992 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1001 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
993 assert_ok!(TemplateModule::remove_from_white_list(1002 assert_ok!(TemplateModule::remove_from_white_list(
994 origin1.clone(),1003 origin1.clone(),
995 collection_id,1004 collection_id,
996 21005 account(2)
997 ));1006 ));
998 assert_eq!(TemplateModule::white_list(collection_id, 2), false);1007 assert_eq!(TemplateModule::white_list(collection_id, 2), false);
999 });1008 });
1008 let origin1 = Origin::signed(1);1017 let origin1 = Origin::signed(1);
1009 let origin2 = Origin::signed(2);1018 let origin2 = Origin::signed(2);
10101019
1011 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));1020 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
10121021
1013 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 3));1022 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(3)));
1014 assert_ok!(TemplateModule::remove_from_white_list(1023 assert_ok!(TemplateModule::remove_from_white_list(
1015 origin2.clone(),1024 origin2.clone(),
1016 collection_id,1025 collection_id,
1017 31026 account(3)
1018 ));1027 ));
1019 assert_eq!(TemplateModule::white_list(collection_id, 3), false);1028 assert_eq!(TemplateModule::white_list(collection_id, 3), false);
1020 });1029 });
1029 let origin1 = Origin::signed(1);1038 let origin1 = Origin::signed(1);
1030 let origin2 = Origin::signed(2);1039 let origin2 = Origin::signed(2);
10311040
1032 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1041 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
1033 assert_noop!(1042 assert_noop!(
1034 TemplateModule::remove_from_white_list(origin2.clone(), collection_id, 2),1043 TemplateModule::remove_from_white_list(origin2.clone(), collection_id, account(2)),
1035 Error::<Test>::NoPermission1044 Error::<Test>::NoPermission
1036 );1045 );
1037 assert_eq!(TemplateModule::white_list(collection_id, 2), true);1046 assert_eq!(TemplateModule::white_list(collection_id, 2), true);
1045 let origin1 = Origin::signed(1);1054 let origin1 = Origin::signed(1);
10461055
1047 assert_noop!(1056 assert_noop!(
1048 TemplateModule::remove_from_white_list(origin1.clone(), 1, 2),1057 TemplateModule::remove_from_white_list(origin1.clone(), 1, account(2)),
1049 Error::<Test>::CollectionNotFound1058 Error::<Test>::CollectionNotFound
1050 );1059 );
1051 });1060 });
1060 let origin1 = Origin::signed(1);1069 let origin1 = Origin::signed(1);
1061 let origin2 = Origin::signed(2);1070 let origin2 = Origin::signed(2);
10621071
1063 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1072 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
1064 assert_ok!(TemplateModule::destroy_collection(origin1.clone(), collection_id));1073 assert_ok!(TemplateModule::destroy_collection(origin1.clone(), collection_id));
1065 assert_noop!(1074 assert_noop!(
1066 TemplateModule::remove_from_white_list(origin2.clone(), collection_id, 2),1075 TemplateModule::remove_from_white_list(origin2.clone(), collection_id, account(2)),
1067 Error::<Test>::CollectionNotFound1076 Error::<Test>::CollectionNotFound
1068 );1077 );
1069 assert_eq!(TemplateModule::white_list(collection_id, 2), false);1078 assert_eq!(TemplateModule::white_list(collection_id, 2), false);
1079 let collection_id = create_test_collection(&CollectionMode::NFT, 1);1088 let collection_id = create_test_collection(&CollectionMode::NFT, 1);
1080 let origin1 = Origin::signed(1);1089 let origin1 = Origin::signed(1);
10811090
1082 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1091 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
1083 assert_ok!(TemplateModule::remove_from_white_list(1092 assert_ok!(TemplateModule::remove_from_white_list(
1084 origin1.clone(),1093 origin1.clone(),
1085 collection_id,1094 collection_id,
1086 21095 account(2)
1087 ));1096 ));
1088 assert_ok!(TemplateModule::remove_from_white_list(1097 assert_ok!(TemplateModule::remove_from_white_list(
1089 origin1.clone(),1098 origin1.clone(),
1090 collection_id,1099 collection_id,
1091 21100 account(2)
1092 ));1101 ));
1093 assert_eq!(TemplateModule::white_list(collection_id, 2), false);1102 assert_eq!(TemplateModule::white_list(collection_id, 2), false);
1094 });1103 });
1112 collection_id,1121 collection_id,
1113 AccessMode::WhiteList1122 AccessMode::WhiteList
1114 ));1123 ));
1115 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1124 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
11161125
1117 assert_noop!(1126 assert_noop!(
1118 TemplateModule::transfer(origin1.clone(), 3, 1, 1, 1),1127 TemplateModule::transfer(origin1.clone(), account(3), 1, 1, 1),
1119 Error::<Test>::AddresNotInWhiteList1128 Error::<Test>::AddresNotInWhiteList
1120 );1129 );
1121 });1130 });
1137 collection_id,1146 collection_id,
1138 AccessMode::WhiteList1147 AccessMode::WhiteList
1139 ));1148 ));
1140 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));1149 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
1141 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 2));1150 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(2)));
11421151
1143 // do approve1152 // do approve
1144 assert_ok!(TemplateModule::approve(origin1.clone(), 1, 1, 1, 1));1153 assert_ok!(TemplateModule::approve(origin1.clone(), account(1), 1, 1, 1));
1145 assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 1);1154 assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 1);
11461155
1147 assert_ok!(TemplateModule::remove_from_white_list(1156 assert_ok!(TemplateModule::remove_from_white_list(
1148 origin1.clone(),1157 origin1.clone(),
1149 1,1158 1,
1150 11159 account(1)
1151 ));1160 ));
11521161
1153 assert_noop!(1162 assert_noop!(
1154 TemplateModule::transfer_from(origin1.clone(), 1, 3, 1, 1, 1),1163 TemplateModule::transfer_from(origin1.clone(), account(1), account(3), 1, 1, 1),
1155 Error::<Test>::AddresNotInWhiteList1164 Error::<Test>::AddresNotInWhiteList
1156 );1165 );
1157 });1166 });
1175 collection_id,1184 collection_id,
1176 AccessMode::WhiteList1185 AccessMode::WhiteList
1177 ));1186 ));
1178 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, 1));1187 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), 1, account(1)));
11791188
1180 assert_noop!(1189 assert_noop!(
1181 TemplateModule::transfer(origin1.clone(), 3, 1, 1, 1),1190 TemplateModule::transfer(origin1.clone(), account(3), 1, 1, 1),
1182 Error::<Test>::AddresNotInWhiteList1191 Error::<Test>::AddresNotInWhiteList
1183 );1192 );
1184 });1193 });
1201 collection_id,1210 collection_id,
1202 AccessMode::WhiteList1211 AccessMode::WhiteList
1203 ));1212 ));
1204 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 1));1213 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(1)));
1205 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1214 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
12061215
1207 // do approve1216 // do approve
1208 assert_ok!(TemplateModule::approve(origin1.clone(), 1, 1, 1, 1));1217 assert_ok!(TemplateModule::approve(origin1.clone(), account(1), 1, 1, 1));
1209 assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 1);1218 assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 1);
12101219
1211 assert_ok!(TemplateModule::remove_from_white_list(1220 assert_ok!(TemplateModule::remove_from_white_list(
1212 origin1.clone(),1221 origin1.clone(),
1213 collection_id,1222 collection_id,
1214 21223 account(2)
1215 ));1224 ));
12161225
1217 assert_noop!(1226 assert_noop!(
1218 TemplateModule::transfer_from(origin1.clone(), 1, 3, 1, 1, 1),1227 TemplateModule::transfer_from(origin1.clone(), account(1), account(3), 1, 1, 1),
1219 Error::<Test>::AddresNotInWhiteList1228 Error::<Test>::AddresNotInWhiteList
1220 );1229 );
1221 });1230 });
12671276
1268 // do approve1277 // do approve
1269 assert_noop!(1278 assert_noop!(
1270 TemplateModule::approve(origin1.clone(), 1, 1, 1, 5),1279 TemplateModule::approve(origin1.clone(), account(1), 1, 1, 5),
1271 Error::<Test>::AddresNotInWhiteList1280 Error::<Test>::AddresNotInWhiteList
1272 );1281 );
1273 });1282 });
1292 collection_id,1301 collection_id,
1293 AccessMode::WhiteList1302 AccessMode::WhiteList
1294 ));1303 ));
1295 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 1));1304 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(1)));
1296 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1305 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
12971306
1298 assert_ok!(TemplateModule::transfer(origin1.clone(), 2, 1, 1, 1));1307 assert_ok!(TemplateModule::transfer(origin1.clone(), account(2), 1, 1, 1));
1299 });1308 });
1300}1309}
13011310
1316 collection_id,1325 collection_id,
1317 AccessMode::WhiteList1326 AccessMode::WhiteList
1318 ));1327 ));
1319 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 1));1328 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(1)));
1320 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1329 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
13211330
1322 // do approve1331 // do approve
1323 assert_ok!(TemplateModule::approve(origin1.clone(), 1, 1, 1, 5));1332 assert_ok!(TemplateModule::approve(origin1.clone(), account(1), 1, 1, 5));
1324 assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 5);1333 assert_eq!(TemplateModule::approved(1, (1, 1, 1)), 5);
13251334
1326 assert_ok!(TemplateModule::transfer_from(1335 assert_ok!(TemplateModule::transfer_from(
1327 origin1.clone(),1336 origin1.clone(),
1328 1,1337 account(1),
1329 2,1338 account(2),
1330 1,1339 1,
1331 1,1340 1,
1332 11341 1
1381 false1390 false
1382 ));1391 ));
13831392
1384 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));1393 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
13851394
1386 assert_ok!(TemplateModule::create_item(1395 assert_ok!(TemplateModule::create_item(
1387 origin2.clone(),1396 origin2.clone(),
1388 collection_id,1397 collection_id,
1389 2,1398 account(2),
1390 default_nft_data().into()1399 default_nft_data().into()
1391 ));1400 ));
1392 });1401 });
1413 collection_id,1422 collection_id,
1414 false1423 false
1415 ));1424 ));
1416 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1425 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
14171426
1418 assert_noop!(1427 assert_noop!(
1419 TemplateModule::create_item(origin2.clone(), 1, 2, default_nft_data().into()),1428 TemplateModule::create_item(origin2.clone(), 1, account(2), default_nft_data().into()),
1420 Error::<Test>::PublicMintingNotAllowed1429 Error::<Test>::PublicMintingNotAllowed
1421 );1430 );
1422 });1431 });
1445 ));1454 ));
14461455
1447 assert_noop!(1456 assert_noop!(
1448 TemplateModule::create_item(origin2.clone(), 1, 2, default_nft_data().into()),1457 TemplateModule::create_item(origin2.clone(), 1, account(2), default_nft_data().into()),
1449 Error::<Test>::PublicMintingNotAllowed1458 Error::<Test>::PublicMintingNotAllowed
1450 );1459 );
1451 });1460 });
1499 true1508 true
1500 ));1509 ));
15011510
1502 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));1511 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
15031512
1504 assert_ok!(TemplateModule::create_item(1513 assert_ok!(TemplateModule::create_item(
1505 origin2.clone(),1514 origin2.clone(),
1506 1,1515 1,
1507 2,1516 account(2),
1508 default_nft_data().into()1517 default_nft_data().into()
1509 ));1518 ));
1510 });1519 });
1533 ));1542 ));
15341543
1535 assert_noop!(1544 assert_noop!(
1536 TemplateModule::create_item(origin2.clone(), 1, 2, default_nft_data().into()),1545 TemplateModule::create_item(origin2.clone(), 1, account(2), default_nft_data().into()),
1537 Error::<Test>::AddresNotInWhiteList1546 Error::<Test>::AddresNotInWhiteList
1538 );1547 );
1539 });1548 });
1560 collection_id,1569 collection_id,
1561 true1570 true
1562 ));1571 ));
1563 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, 2));1572 assert_ok!(TemplateModule::add_to_white_list(origin1.clone(), collection_id, account(2)));
15641573
1565 assert_ok!(TemplateModule::create_item(1574 assert_ok!(TemplateModule::create_item(
1566 origin2.clone(),1575 origin2.clone(),
1567 1,1576 1,
1568 2,1577 account(2),
1569 default_nft_data().into()1578 default_nft_data().into()
1570 ));1579 ));
1571 });1580 });
1648 assert_noop!(TemplateModule::create_item(1657 assert_noop!(TemplateModule::create_item(
1649 origin1.clone(),1658 origin1.clone(),
1650 1,1659 1,
1651 1,1660 account(1),
1652 data.into()1661 data.into()
1653 ), Error::<Test>::AddressOwnershipLimitExceeded);1662 ), Error::<Test>::AddressOwnershipLimitExceeded);
1654 });1663 });
16751684
1676 let origin1 = Origin::signed(1);1685 let origin1 = Origin::signed(1);
1677 1686
1678 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));1687 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
1679 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 3));1688 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(3)));
1680 });1689 });
1681}1690}
16821691
17011710
1702 let origin1 = Origin::signed(1);1711 let origin1 = Origin::signed(1);
17031712
1704 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 2));1713 assert_ok!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(2)));
1705 assert_noop!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, 3), Error::<Test>::CollectionAdminsLimitExceeded);1714 assert_noop!(TemplateModule::add_collection_admin(origin1.clone(), collection_id, account(3)), Error::<Test>::CollectionAdminsLimitExceeded);
1706 });1715 });
1707}1716}
17081717
1734 assert_noop!(TemplateModule::create_item(1743 assert_noop!(TemplateModule::create_item(
1735 origin1.clone(),1744 origin1.clone(),
1736 collection_id,1745 collection_id,
1737 1,1746 account(1),
1738 too_big_const_data1747 too_big_const_data
1739 ), Error::<Test>::TokenConstDataLimitExceeded);1748 ), Error::<Test>::TokenConstDataLimitExceeded);
1740 });1749 });
1768 assert_noop!(TemplateModule::create_item(1777 assert_noop!(TemplateModule::create_item(
1769 origin1.clone(),1778 origin1.clone(),
1770 collection_id,1779 collection_id,
1771 1,1780 account(1),
1772 too_big_const_data1781 too_big_const_data
1773 ), Error::<Test>::TokenVariableDataLimitExceeded);1782 ), Error::<Test>::TokenVariableDataLimitExceeded);
1774 });1783 });
1802 assert_noop!(TemplateModule::create_item(1811 assert_noop!(TemplateModule::create_item(
1803 origin1.clone(),1812 origin1.clone(),
1804 collection_id,1813 collection_id,
1805 1,1814 account(1),
1806 too_big_const_data1815 too_big_const_data
1807 ), Error::<Test>::TokenConstDataLimitExceeded);1816 ), Error::<Test>::TokenConstDataLimitExceeded);
1808 });1817 });
1836 assert_noop!(TemplateModule::create_item(1845 assert_noop!(TemplateModule::create_item(
1837 origin1.clone(),1846 origin1.clone(),
1838 collection_id,1847 collection_id,
1839 1,1848 account(1),
1840 too_big_const_data1849 too_big_const_data
1841 ), Error::<Test>::TokenVariableDataLimitExceeded);1850 ), Error::<Test>::TokenVariableDataLimitExceeded);
1842 });1851 });
modifiedpallets/scheduler/src/lib.rsdiffbeforeafterboth
887 type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;887 type ScheduleOrigin = EnsureOneOf<u64, EnsureRoot<u64>, EnsureSignedBy<One, u64>>;
888 type MaxScheduledPerBlock = MaxScheduledPerBlock;888 type MaxScheduledPerBlock = MaxScheduledPerBlock;
889 type WeightInfo = ();889 type WeightInfo = ();
890 type SponsorshipHandler = ();
890 }891 }
891892
892 pub fn new_test_ext() -> sp_io::TestExternalities {893 pub fn new_test_ext() -> sp_io::TestExternalities {
modifiedruntime/src/lib.rsdiffbeforeafterboth
689 type Event = Event;689 type Event = Event;
690 type WeightInfo = nft_weights::WeightInfo;690 type WeightInfo = nft_weights::WeightInfo;
691691
692 type EvmWithdrawOrigin = EnsureAddressTruncated;
693 type EvmBackwardsAddressMapping = pallet_nft::MapBackwardsAddressTruncated;692 type EvmBackwardsAddressMapping = pallet_nft::MapBackwardsAddressTruncated;
694 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;693 type EvmAddressMapping = HashedAddressMapping<Self::Hashing>;
695 type CrossAccountId = pallet_nft::BasicCrossAccountId<Self>;694 type CrossAccountId = pallet_nft::BasicCrossAccountId<Self>;