difftreelog
Merge pull request #775 from UniqueNetwork/chore/fix-warnings
in: master
14 files changed
examples/package.jsondiffbeforeafterboth--- a/examples/package.json
+++ b/examples/package.json
@@ -7,7 +7,7 @@
"test": "test"
},
"devDependencies": {
- "got": "^10.7.0"
+ "got": "^11.8.5"
},
"scripts": {
"test": ""
pallets/common/src/eth.rsdiffbeforeafterboth--- a/pallets/common/src/eth.rs
+++ b/pallets/common/src/eth.rs
@@ -125,9 +125,9 @@
/// Ethereum representation of Optional value with CrossAddress.
#[derive(Debug, Default, AbiCoder)]
pub struct OptionCrossAddress {
- /// Is address set
+ /// Whether or not this CrossAdress is valid and has meaning.
pub status: bool,
- /// Address value
+ /// The underlying CrossAddress value. If the status is false, can be set to whatever.
pub value: CrossAddress,
}
@@ -139,7 +139,7 @@
}
impl CrossAddress {
- /// Converts `CrossAccountId` to [`CrossAddress`]
+ /// Converts `CrossAccountId` to [`CrossAddress`] to be correctly usable with Ethereum.
pub fn from_sub_cross_account<T>(cross_account_id: &T::CrossAccountId) -> Self
where
T: pallet_evm::Config,
@@ -154,7 +154,7 @@
}
}
}
- /// Creates [`CrossAddress`] from substrate account
+ /// Creates [`CrossAddress`] from Substrate account.
pub fn from_sub<T>(account_id: &T::AccountId) -> Self
where
T: pallet_evm::Config,
@@ -165,7 +165,7 @@
sub: uint256::from_big_endian(account_id.as_ref()),
}
}
- /// Converts [`CrossAddress`] to `CrossAccountId`
+ /// Converts [`CrossAddress`] to `CrossAccountId`.
pub fn into_sub_cross_account<T>(&self) -> evm_coder::execution::Result<T::CrossAccountId>
where
T: pallet_evm::Config,
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -90,10 +90,9 @@
use crate::erc_token::ERC20Events;
use crate::erc::ERC721Events;
-use codec::{Encode, Decode, MaxEncodedLen};
use core::ops::Deref;
use evm_coder::ToLog;
-use frame_support::{BoundedVec, ensure, fail, storage::with_transaction, transactional};
+use frame_support::{ensure, fail, storage::with_transaction, transactional};
use pallet_evm::{account::CrossAccountId, Pallet as PalletEvm};
use pallet_evm_coder_substrate::WithRecorder;
use pallet_common::{
@@ -101,13 +100,12 @@
Event as CommonEvent, Pallet as PalletCommon, erc::CollectionHelpersEvents,
};
use pallet_structure::Pallet as PalletStructure;
-use scale_info::TypeInfo;
use sp_core::{Get, H160};
use sp_runtime::{ArithmeticError, DispatchError, DispatchResult, TransactionOutcome};
use sp_std::{vec::Vec, vec, collections::btree_map::BTreeMap};
use up_data_structs::{
AccessMode, budget::Budget, CollectionId, CollectionFlags, CreateCollectionData,
- CustomDataLimit, mapping::TokenAddressMapping, MAX_REFUNGIBLE_PIECES, Property, PropertyKey,
+ mapping::TokenAddressMapping, MAX_REFUNGIBLE_PIECES, Property, PropertyKey,
PropertyKeyPermission, PropertyPermission, PropertyScope, PropertyValue, TokenId,
TrySetProperty, PropertiesPermissionMap, CreateRefungibleExMultipleOwners,
};
@@ -124,17 +122,6 @@
CreateRefungibleExMultipleOwners<<T as pallet_evm::Config>::CrossAccountId>;
pub(crate) type SelfWeightOf<T> = <T as Config>::WeightInfo;
-/// Token data, stored independently from other data used to describe it
-/// for the convenience of database access. Notably contains the token metadata.
-#[struct_versioning::versioned(version = 2, upper)]
-#[derive(Encode, Decode, Default, TypeInfo, MaxEncodedLen)]
-pub struct ItemData {
- pub const_data: BoundedVec<u8, CustomDataLimit>,
-
- #[version(..2)]
- pub variable_data: BoundedVec<u8, CustomDataLimit>,
-}
-
#[frame_support::pallet]
pub mod pallet {
use super::*;
@@ -142,7 +129,6 @@
Blake2_128, Blake2_128Concat, Twox64Concat, pallet_prelude::*, storage::Key,
traits::StorageVersion,
};
- use frame_system::pallet_prelude::*;
use up_data_structs::{CollectionId, TokenId};
use super::weights::WeightInfo;
@@ -183,16 +169,6 @@
#[pallet::storage]
pub type TokensBurnt<T: Config> =
StorageMap<Hasher = Twox64Concat, Key = CollectionId, Value = u32, QueryKind = ValueQuery>;
-
- /// Token data, used to partially describe a token.
- // TODO: remove
- #[pallet::storage]
- #[deprecated(since = "0.2.0", note = "ItemData is no more contains usefull data")]
- pub type TokenData<T: Config> = StorageNMap<
- Key = (Key<Twox64Concat, CollectionId>, Key<Twox64Concat, TokenId>),
- Value = ItemData,
- QueryKind = ValueQuery,
- >;
/// Amount of pieces a refungible token is split into.
#[pallet::storage]
@@ -275,20 +251,6 @@
Value = bool,
QueryKind = ValueQuery,
>;
-
- #[pallet::hooks]
- impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
- fn on_runtime_upgrade() -> Weight {
- let storage_version = StorageVersion::get::<Pallet<T>>();
- if storage_version < StorageVersion::new(2) {
- #[allow(deprecated)]
- let _ = <TokenData<T>>::clear(u32::MAX, None);
- }
- StorageVersion::new(2).put::<Pallet<T>>();
-
- Weight::zero()
- }
- }
}
pub struct RefungibleHandle<T: Config>(pallet_common::CollectionHandle<T>);
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -91,7 +91,7 @@
CreateItemData, CollectionLimits, CollectionPermissions, CollectionId, CollectionMode, TokenId,
CreateCollectionData, CreateItemExData, budget, Property, PropertyKey, PropertyKeyPermission,
};
-use pallet_evm::{account::CrossAccountId};
+use pallet_evm::account::CrossAccountId;
use pallet_common::{
CollectionHandle, Pallet as PalletCommon, CommonWeightInfo, dispatch::dispatch_tx,
dispatch::CollectionDispatch, RefungibleExtensionsWeightInfo,
runtime/common/config/pallets/app_promotion.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/app_promotion.rs
+++ b/runtime/common/config/pallets/app_promotion.rs
@@ -22,7 +22,7 @@
use frame_support::{parameter_types, PalletId};
use sp_arithmetic::Perbill;
use up_common::{
- constants::{UNIQUE, RELAY_DAYS, DAYS},
+ constants::{UNIQUE, DAYS, RELAY_DAYS},
types::Balance,
};
runtime/tests/src/tests.rsdiffbeforeafterboth1// Copyright 2019-2022 Unique Network (Gibraltar) Ltd.2// This file is part of Unique Network.34// Unique Network is free software: you can redistribute it and/or modify5// it under the terms of the GNU General Public License as published by6// the Free Software Foundation, either version 3 of the License, or7// (at your option) any later version.89// Unique Network is distributed in the hope that it will be useful,10// but WITHOUT ANY WARRANTY; without even the implied warranty of11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the12// GNU General Public License for more details.1314// You should have received a copy of the GNU General Public License15// along with Unique Network. If not, see <http://www.gnu.org/licenses/>.1617// Tests to be written here18use crate::{Test, TestCrossAccountId, CollectionCreationPrice, RuntimeOrigin, Unique, new_test_ext};19use up_data_structs::{20 COLLECTION_NUMBER_LIMIT, CollectionId, CreateItemData, CreateFungibleData, CreateNftData,21 CreateReFungibleData, MAX_DECIMAL_POINTS, COLLECTION_ADMINS_LIMIT, TokenId,22 MAX_TOKEN_OWNERSHIP, CreateCollectionData, CollectionMode, AccessMode, CollectionPermissions,23 PropertyKeyPermission, PropertyPermission, Property, CollectionPropertiesVec,24 CollectionPropertiesPermissionsVec,25};26use frame_support::{assert_noop, assert_ok, assert_err};27use sp_std::convert::TryInto;28use pallet_evm::account::CrossAccountId;29use pallet_common::Error as CommonError;30use pallet_unique::Error as UniqueError;3132fn add_balance(user: u64, value: u64) {33 const DONOR_USER: u64 = 999;34 assert_ok!(<pallet_balances::Pallet<Test>>::set_balance(35 RuntimeOrigin::root(),36 DONOR_USER,37 value,38 039 ));40 assert_ok!(<pallet_balances::Pallet<Test>>::force_transfer(41 RuntimeOrigin::root(),42 DONOR_USER,43 user,44 value45 ));46}4748fn default_nft_data() -> CreateNftData {49 CreateNftData {50 properties: vec![Property {51 key: b"test-prop".to_vec().try_into().unwrap(),52 value: b"test-nft-prop".to_vec().try_into().unwrap(),53 }]54 .try_into()55 .unwrap(),56 }57}5859fn default_fungible_data() -> CreateFungibleData {60 CreateFungibleData { value: 5 }61}6263fn default_re_fungible_data() -> CreateReFungibleData {64 CreateReFungibleData {65 pieces: 1023,66 properties: vec![Property {67 key: b"test-prop".to_vec().try_into().unwrap(),68 value: b"test-nft-prop".to_vec().try_into().unwrap(),69 }]70 .try_into()71 .unwrap(),72 }73}7475fn create_test_collection_for_owner(76 mode: &CollectionMode,77 owner: u64,78 id: CollectionId,79) -> CollectionId {80 add_balance(owner, CollectionCreationPrice::get() as u64 + 1);8182 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();83 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();84 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();85 let token_property_permissions: CollectionPropertiesPermissionsVec =86 vec![PropertyKeyPermission {87 key: b"test-prop".to_vec().try_into().unwrap(),88 permission: PropertyPermission {89 mutable: true,90 collection_admin: false,91 token_owner: true,92 },93 }]94 .try_into()95 .unwrap();96 let properties: CollectionPropertiesVec = vec![Property {97 key: b"test-collection-prop".to_vec().try_into().unwrap(),98 value: b"test-collection-value".to_vec().try_into().unwrap(),99 }]100 .try_into()101 .unwrap();102103 let data: CreateCollectionData<u64> = CreateCollectionData {104 name: col_name1.try_into().unwrap(),105 description: col_desc1.try_into().unwrap(),106 token_prefix: token_prefix1.try_into().unwrap(),107 mode: mode.clone(),108 token_property_permissions: token_property_permissions.clone(),109 properties: properties.clone(),110 ..Default::default()111 };112113 let origin1 = RuntimeOrigin::signed(owner);114 assert_ok!(Unique::create_collection_ex(origin1, data));115116 let saved_col_name: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();117 let saved_description: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();118 let saved_prefix: Vec<u8> = b"token_prefix1\0".to_vec();119 assert_eq!(120 <pallet_common::CollectionById<Test>>::get(id)121 .unwrap()122 .owner,123 owner124 );125 assert_eq!(126 <pallet_common::CollectionById<Test>>::get(id).unwrap().name,127 saved_col_name128 );129 assert_eq!(130 <pallet_common::CollectionById<Test>>::get(id).unwrap().mode,131 *mode132 );133 assert_eq!(134 <pallet_common::CollectionById<Test>>::get(id)135 .unwrap()136 .description,137 saved_description138 );139 assert_eq!(140 <pallet_common::CollectionById<Test>>::get(id)141 .unwrap()142 .token_prefix,143 saved_prefix144 );145 assert_eq!(146 get_collection_property_permissions(id).as_slice(),147 token_property_permissions.as_slice()148 );149 assert_eq!(150 get_collection_properties(id).as_slice(),151 properties.as_slice()152 );153 id154}155156fn get_collection_property_permissions(collection_id: CollectionId) -> Vec<PropertyKeyPermission> {157 <pallet_common::Pallet<Test>>::property_permissions(collection_id)158 .into_iter()159 .map(|(key, permission)| PropertyKeyPermission { key, permission })160 .collect()161}162163fn get_collection_properties(collection_id: CollectionId) -> Vec<Property> {164 <pallet_common::Pallet<Test>>::collection_properties(collection_id)165 .into_iter()166 .map(|(key, value)| Property { key, value })167 .collect()168}169170fn get_token_properties(collection_id: CollectionId, token_id: TokenId) -> Vec<Property> {171 <pallet_nonfungible::Pallet<Test>>::token_properties((collection_id, token_id))172 .into_iter()173 .map(|(key, value)| Property { key, value })174 .collect()175}176177fn create_test_collection(mode: &CollectionMode, id: CollectionId) -> CollectionId {178 create_test_collection_for_owner(&mode, 1, id)179}180181fn create_test_item(collection_id: CollectionId, data: &CreateItemData) {182 let origin1 = RuntimeOrigin::signed(1);183 assert_ok!(Unique::create_item(184 origin1,185 collection_id,186 account(1),187 data.clone()188 ));189}190191fn account(sub: u64) -> TestCrossAccountId {192 TestCrossAccountId::from_sub(sub)193}194195// Use cases tests region196// #region197198#[test]199fn check_not_sufficient_founds() {200 new_test_ext().execute_with(|| {201 let acc: u64 = 1;202 <pallet_balances::Pallet<Test>>::set_balance(RuntimeOrigin::root(), acc, 0, 0).unwrap();203204 let name: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();205 let description: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();206 let token_prefix: Vec<u8> = b"token_prefix1\0".to_vec();207208 let data: CreateCollectionData<<Test as frame_system::Config>::AccountId> =209 CreateCollectionData {210 name: name.try_into().unwrap(),211 description: description.try_into().unwrap(),212 token_prefix: token_prefix.try_into().unwrap(),213 mode: CollectionMode::NFT,214 ..Default::default()215 };216217 let result = Unique::create_collection_ex(RuntimeOrigin::signed(acc), data);218 assert_err!(result, <CommonError<Test>>::NotSufficientFounds);219 });220}221222#[test]223fn create_fungible_collection_fails_with_large_decimal_numbers() {224 new_test_ext().execute_with(|| {225 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();226 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();227 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();228229 let data: CreateCollectionData<u64> = CreateCollectionData {230 name: col_name1.try_into().unwrap(),231 description: col_desc1.try_into().unwrap(),232 token_prefix: token_prefix1.try_into().unwrap(),233 mode: CollectionMode::Fungible(MAX_DECIMAL_POINTS + 1),234 ..Default::default()235 };236237 let origin1 = RuntimeOrigin::signed(1);238 assert_noop!(239 Unique::create_collection_ex(origin1, data),240 UniqueError::<Test>::CollectionDecimalPointLimitExceeded241 );242 });243}244245#[test]246fn create_nft_item() {247 new_test_ext().execute_with(|| {248 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));249250 let data = default_nft_data();251 create_test_item(collection_id, &data.clone().into());252253 assert_eq!(254 get_token_properties(collection_id, TokenId(1)).as_slice(),255 data.properties.as_slice(),256 );257 });258}259260// Use cases tests region261// #region262#[test]263fn create_nft_multiple_items() {264 new_test_ext().execute_with(|| {265 create_test_collection(&CollectionMode::NFT, CollectionId(1));266267 let origin1 = RuntimeOrigin::signed(1);268269 let items_data = vec![default_nft_data(), default_nft_data(), default_nft_data()];270271 assert_ok!(Unique::create_multiple_items(272 origin1,273 CollectionId(1),274 account(1),275 items_data276 .clone()277 .into_iter()278 .map(|d| { d.into() })279 .collect()280 ));281 for (index, data) in items_data.into_iter().enumerate() {282 assert_eq!(283 get_token_properties(CollectionId(1), TokenId(index as u32 + 1)).as_slice(),284 data.properties.as_slice()285 );286 }287 });288}289290#[test]291fn create_refungible_item() {292 new_test_ext().execute_with(|| {293 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));294295 let data = default_re_fungible_data();296 create_test_item(collection_id, &data.clone().into());297 let item = <pallet_refungible::TokenData<Test>>::get((collection_id, TokenId(1)));298 let balance =299 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(1)));300 assert_eq!(balance, 1023);301 });302}303304#[test]305fn create_multiple_refungible_items() {306 new_test_ext().execute_with(|| {307 create_test_collection(&CollectionMode::ReFungible, CollectionId(1));308309 let origin1 = RuntimeOrigin::signed(1);310311 let items_data = vec![312 default_re_fungible_data(),313 default_re_fungible_data(),314 default_re_fungible_data(),315 ];316317 assert_ok!(Unique::create_multiple_items(318 origin1,319 CollectionId(1),320 account(1),321 items_data322 .clone()323 .into_iter()324 .map(|d| { d.into() })325 .collect()326 ));327 for (index, data) in items_data.into_iter().enumerate() {328 let item = <pallet_refungible::TokenData<Test>>::get((329 CollectionId(1),330 TokenId((index + 1) as u32),331 ));332 let balance =333 <pallet_refungible::Balance<Test>>::get((CollectionId(1), TokenId(1), account(1)));334 assert_eq!(balance, 1023);335 }336 });337}338339#[test]340fn create_fungible_item() {341 new_test_ext().execute_with(|| {342 let collection_id = create_test_collection(&CollectionMode::Fungible(3), CollectionId(1));343344 let data = default_fungible_data();345 create_test_item(collection_id, &data.into());346347 assert_eq!(348 <pallet_fungible::Balance<Test>>::get((collection_id, account(1))),349 5350 );351 });352}353354//#[test]355// fn create_multiple_fungible_items() {356// new_test_ext().execute_with(|| {357// default_limits();358359// create_test_collection(&CollectionMode::Fungible(3), CollectionId(1));360361// let origin1 = RuntimeOrigin::signed(1);362363// let items_data = vec![default_fungible_data(), default_fungible_data(), default_fungible_data()];364365// assert_ok!(Unique::create_multiple_items(366// origin1.clone(),367// 1,368// 1,369// items_data.clone().into_iter().map(|d| { d.into() }).collect()370// ));371372// for (index, _) in items_data.iter().enumerate() {373// assert_eq!(Unique::fungible_item_id(1, (index + 1) as TokenId).value, 5);374// }375// assert_eq!(Unique::balance_count(1, 1), 3000);376// assert_eq!(Unique::address_tokens(1, 1), [1, 2, 3]);377// });378// }379380#[test]381fn transfer_fungible_item() {382 new_test_ext().execute_with(|| {383 let collection_id = create_test_collection(&CollectionMode::Fungible(3), CollectionId(1));384385 let origin1 = RuntimeOrigin::signed(1);386 let origin2 = RuntimeOrigin::signed(2);387388 let data = default_fungible_data();389 create_test_item(collection_id, &data.into());390391 assert_eq!(392 <pallet_fungible::Balance<Test>>::get((CollectionId(1), account(1))),393 5394 );395396 // change owner scenario397 assert_ok!(Unique::transfer(398 origin1,399 account(2),400 CollectionId(1),401 TokenId(0),402 5403 ));404 assert_eq!(405 <pallet_fungible::Balance<Test>>::get((CollectionId(1), account(1))),406 0407 );408409 // split item scenario410 assert_ok!(Unique::transfer(411 origin2.clone(),412 account(3),413 CollectionId(1),414 TokenId(0),415 3416 ));417418 // split item and new owner has account scenario419 assert_ok!(Unique::transfer(420 origin2,421 account(3),422 CollectionId(1),423 TokenId(0),424 1425 ));426 assert_eq!(427 <pallet_fungible::Balance<Test>>::get((CollectionId(1), account(2))),428 1429 );430 assert_eq!(431 <pallet_fungible::Balance<Test>>::get((CollectionId(1), account(3))),432 4433 );434 });435}436437#[test]438fn transfer_refungible_item() {439 new_test_ext().execute_with(|| {440 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));441442 // Create RFT 1 in 1023 pieces for account 1443 let data = default_re_fungible_data();444 create_test_item(collection_id, &data.clone().into());445 let item = <pallet_refungible::TokenData<Test>>::get((collection_id, TokenId(1)));446 assert_eq!(447 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(1))),448 1449 );450 assert_eq!(451 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(1))),452 1023453 );454 assert_eq!(455 <pallet_refungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),456 true457 );458459 // Account 1 transfers all 1023 pieces of RFT 1 to account 2460 let origin1 = RuntimeOrigin::signed(1);461 let origin2 = RuntimeOrigin::signed(2);462 assert_ok!(Unique::transfer(463 origin1,464 account(2),465 CollectionId(1),466 TokenId(1),467 1023468 ));469 assert_eq!(470 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(2))),471 1023472 );473 assert_eq!(474 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(1))),475 0476 );477 assert_eq!(478 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(2))),479 1480 );481 assert_eq!(482 <pallet_refungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),483 false484 );485 assert_eq!(486 <pallet_refungible::Owned<Test>>::get((collection_id, account(2), TokenId(1))),487 true488 );489490 // Account 2 transfers 500 pieces of RFT 1 to account 3491 assert_ok!(Unique::transfer(492 origin2.clone(),493 account(3),494 CollectionId(1),495 TokenId(1),496 500497 ));498 assert_eq!(499 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(2))),500 523501 );502 assert_eq!(503 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(3))),504 500505 );506 assert_eq!(507 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(2))),508 1509 );510 assert_eq!(511 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(3))),512 1513 );514 assert_eq!(515 <pallet_refungible::Owned<Test>>::get((collection_id, account(2), TokenId(1))),516 true517 );518 assert_eq!(519 <pallet_refungible::Owned<Test>>::get((collection_id, account(3), TokenId(1))),520 true521 );522523 // Account 2 transfers 200 more pieces of RFT 1 to account 3 with pre-existing balance524 assert_ok!(Unique::transfer(525 origin2,526 account(3),527 CollectionId(1),528 TokenId(1),529 200530 ));531 assert_eq!(532 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(2))),533 323534 );535 assert_eq!(536 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(3))),537 700538 );539 assert_eq!(540 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(2))),541 1542 );543 assert_eq!(544 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(3))),545 1546 );547 assert_eq!(548 <pallet_refungible::Owned<Test>>::get((collection_id, account(2), TokenId(1))),549 true550 );551 assert_eq!(552 <pallet_refungible::Owned<Test>>::get((collection_id, account(3), TokenId(1))),553 true554 );555 });556}557558#[test]559fn transfer_nft_item() {560 new_test_ext().execute_with(|| {561 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));562563 let data = default_nft_data();564 create_test_item(collection_id, &data.into());565 assert_eq!(566 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),567 1568 );569 assert_eq!(570 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),571 true572 );573574 let origin1 = RuntimeOrigin::signed(1);575 // default scenario576 assert_ok!(Unique::transfer(577 origin1,578 account(2),579 CollectionId(1),580 TokenId(1),581 1582 ));583 assert_eq!(584 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),585 0586 );587 assert_eq!(588 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(2))),589 1590 );591 assert_eq!(592 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),593 false594 );595 assert_eq!(596 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(2), TokenId(1))),597 true598 );599 });600}601602#[test]603fn transfer_nft_item_wrong_value() {604 new_test_ext().execute_with(|| {605 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));606607 let data = default_nft_data();608 create_test_item(collection_id, &data.into());609 assert_eq!(610 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),611 1612 );613 assert_eq!(614 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),615 true616 );617618 let origin1 = RuntimeOrigin::signed(1);619620 assert_noop!(621 Unique::transfer(origin1, account(2), CollectionId(1), TokenId(1), 2)622 .map_err(|e| e.error),623 <pallet_nonfungible::Error::<Test>>::NonfungibleItemsHaveNoAmount624 );625 });626}627628#[test]629fn transfer_nft_item_zero_value() {630 new_test_ext().execute_with(|| {631 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));632633 let data = default_nft_data();634 create_test_item(collection_id, &data.into());635 assert_eq!(636 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),637 1638 );639 assert_eq!(640 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),641 true642 );643644 let origin1 = RuntimeOrigin::signed(1);645646 // Transferring 0 amount works on NFT...647 assert_ok!(Unique::transfer(648 origin1,649 account(2),650 CollectionId(1),651 TokenId(1),652 0653 ));654 // ... and results in no transfer655 assert_eq!(656 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),657 1658 );659 assert_eq!(660 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),661 true662 );663 });664}665666#[test]667fn nft_approve_and_transfer_from() {668 new_test_ext().execute_with(|| {669 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));670671 let data = default_nft_data();672 create_test_item(collection_id, &data.into());673674 let origin1 = RuntimeOrigin::signed(1);675 let origin2 = RuntimeOrigin::signed(2);676677 assert_eq!(678 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),679 1680 );681 assert_eq!(682 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),683 true684 );685686 // neg transfer_from687 assert_noop!(688 Unique::transfer_from(689 origin2.clone(),690 account(1),691 account(2),692 CollectionId(1),693 TokenId(1),694 1695 )696 .map_err(|e| e.error),697 CommonError::<Test>::ApprovedValueTooLow698 );699700 // do approve701 assert_ok!(Unique::approve(702 origin1,703 account(2),704 CollectionId(1),705 TokenId(1),706 1707 ));708 assert_eq!(709 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),710 account(2)711 );712713 assert_ok!(Unique::transfer_from(714 origin2,715 account(1),716 account(3),717 CollectionId(1),718 TokenId(1),719 1720 ));721 assert!(722 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).is_none()723 );724 });725}726727#[test]728fn nft_approve_and_transfer_from_allow_list() {729 new_test_ext().execute_with(|| {730 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));731732 let origin1 = RuntimeOrigin::signed(1);733 let origin2 = RuntimeOrigin::signed(2);734735 // Create NFT 1 for account 1736 let data = default_nft_data();737 create_test_item(collection_id, &data.clone().into());738 assert_eq!(739 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),740 1741 );742 assert_eq!(743 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),744 true745 );746747 // Allow allow-list users to mint and add accounts 1, 2, and 3 to allow-list748 assert_ok!(Unique::set_collection_permissions(749 origin1.clone(),750 CollectionId(1),751 CollectionPermissions {752 mint_mode: Some(true),753 access: Some(AccessMode::AllowList),754 nesting: None,755 }756 ));757 assert_ok!(Unique::add_to_allow_list(758 origin1.clone(),759 CollectionId(1),760 account(1)761 ));762 assert_ok!(Unique::add_to_allow_list(763 origin1.clone(),764 CollectionId(1),765 account(2)766 ));767 assert_ok!(Unique::add_to_allow_list(768 origin1.clone(),769 CollectionId(1),770 account(3)771 ));772773 // Account 1 approves account 2 for NFT 1774 assert_ok!(Unique::approve(775 origin1.clone(),776 account(2),777 CollectionId(1),778 TokenId(1),779 1780 ));781 assert_eq!(782 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),783 account(2)784 );785786 // Account 2 transfers NFT 1 from account 1 to account 3787 assert_ok!(Unique::transfer_from(788 origin2,789 account(1),790 account(3),791 CollectionId(1),792 TokenId(1),793 1794 ));795 assert!(796 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).is_none()797 );798 });799}800801#[test]802fn refungible_approve_and_transfer_from() {803 new_test_ext().execute_with(|| {804 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));805806 let origin1 = RuntimeOrigin::signed(1);807 let origin2 = RuntimeOrigin::signed(2);808809 // Create RFT 1 in 1023 pieces for account 1810 let data = default_re_fungible_data();811 create_test_item(collection_id, &data.into());812813 assert_eq!(814 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(1))),815 1816 );817 assert_eq!(818 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(1))),819 1023820 );821 assert_eq!(822 <pallet_refungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),823 true824 );825826 // Allow public minting, enable allow-list and add accounts 1, 2, 3 to allow-list827 assert_ok!(Unique::set_collection_permissions(828 origin1.clone(),829 CollectionId(1),830 CollectionPermissions {831 mint_mode: Some(true),832 access: Some(AccessMode::AllowList),833 nesting: None,834 }835 ));836 assert_ok!(Unique::add_to_allow_list(837 origin1.clone(),838 CollectionId(1),839 account(1)840 ));841 assert_ok!(Unique::add_to_allow_list(842 origin1.clone(),843 CollectionId(1),844 account(2)845 ));846 assert_ok!(Unique::add_to_allow_list(847 origin1.clone(),848 CollectionId(1),849 account(3)850 ));851852 // Account 1 approves account 2 for 1023 pieces of RFT 1853 assert_ok!(Unique::approve(854 origin1,855 account(2),856 CollectionId(1),857 TokenId(1),858 1023859 ));860 assert_eq!(861 <pallet_refungible::Allowance<Test>>::get((862 CollectionId(1),863 TokenId(1),864 account(1),865 account(2)866 )),867 1023868 );869870 // Account 2 transfers 100 pieces of RFT 1 from account 1 to account 3871 assert_ok!(Unique::transfer_from(872 origin2,873 account(1),874 account(3),875 CollectionId(1),876 TokenId(1),877 100878 ));879 assert_eq!(880 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(1))),881 1882 );883 assert_eq!(884 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(3))),885 1886 );887 assert_eq!(888 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(1))),889 923890 );891 assert_eq!(892 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(3))),893 100894 );895 assert_eq!(896 <pallet_refungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),897 true898 );899 assert_eq!(900 <pallet_refungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),901 true902 );903 assert_eq!(904 <pallet_refungible::Allowance<Test>>::get((905 CollectionId(1),906 TokenId(1),907 account(1),908 account(2)909 )),910 923911 );912 });913}914915#[test]916fn fungible_approve_and_transfer_from() {917 new_test_ext().execute_with(|| {918 let collection_id = create_test_collection(&CollectionMode::Fungible(3), CollectionId(1));919920 let data = default_fungible_data();921 create_test_item(collection_id, &data.into());922923 let origin1 = RuntimeOrigin::signed(1);924 let origin2 = RuntimeOrigin::signed(2);925926 assert_ok!(Unique::set_collection_permissions(927 origin1.clone(),928 CollectionId(1),929 CollectionPermissions {930 mint_mode: Some(true),931 access: Some(AccessMode::AllowList),932 nesting: None,933 }934 ));935 assert_ok!(Unique::add_to_allow_list(936 origin1.clone(),937 CollectionId(1),938 account(1)939 ));940 assert_ok!(Unique::add_to_allow_list(941 origin1.clone(),942 CollectionId(1),943 account(2)944 ));945 assert_ok!(Unique::add_to_allow_list(946 origin1.clone(),947 CollectionId(1),948 account(3)949 ));950951 // do approve952 assert_ok!(Unique::approve(953 origin1.clone(),954 account(2),955 CollectionId(1),956 TokenId(0),957 5958 ));959 assert_eq!(960 <pallet_fungible::Allowance<Test>>::get((CollectionId(1), account(1), account(2))),961 5962 );963 assert_ok!(Unique::approve(964 origin1,965 account(3),966 CollectionId(1),967 TokenId(0),968 5969 ));970 assert_eq!(971 <pallet_fungible::Allowance<Test>>::get((CollectionId(1), account(1), account(2))),972 5973 );974 assert_eq!(975 <pallet_fungible::Allowance<Test>>::get((CollectionId(1), account(1), account(3))),976 5977 );978979 assert_ok!(Unique::transfer_from(980 origin2.clone(),981 account(1),982 account(3),983 CollectionId(1),984 TokenId(0),985 4986 ));987988 assert_eq!(989 <pallet_fungible::Allowance<Test>>::get((CollectionId(1), account(1), account(2))),990 1991 );992993 assert_noop!(994 Unique::transfer_from(995 origin2,996 account(1),997 account(3),998 CollectionId(1),999 TokenId(0),1000 41001 )1002 .map_err(|e| e.error),1003 CommonError::<Test>::ApprovedValueTooLow1004 );1005 });1006}10071008#[test]1009fn change_collection_owner() {1010 new_test_ext().execute_with(|| {1011 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));10121013 let origin1 = RuntimeOrigin::signed(1);1014 assert_ok!(Unique::change_collection_owner(origin1, collection_id, 2));1015 assert_eq!(1016 <pallet_common::CollectionById<Test>>::get(collection_id)1017 .unwrap()1018 .owner,1019 21020 );1021 });1022}10231024#[test]1025fn destroy_collection() {1026 new_test_ext().execute_with(|| {1027 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));10281029 let origin1 = RuntimeOrigin::signed(1);1030 assert_ok!(Unique::destroy_collection(origin1, collection_id));1031 });1032}10331034#[test]1035fn burn_nft_item() {1036 new_test_ext().execute_with(|| {1037 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));10381039 let origin1 = RuntimeOrigin::signed(1);10401041 let data = default_nft_data();1042 create_test_item(collection_id, &data.into());10431044 // check balance (collection with id = 1, user id = 1)1045 assert_eq!(1046 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),1047 11048 );10491050 // burn item1051 assert_ok!(Unique::burn_item(1052 origin1.clone(),1053 collection_id,1054 TokenId(1),1055 11056 ));1057 assert_eq!(1058 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),1059 01060 );1061 });1062}10631064#[test]1065fn burn_same_nft_item_twice() {1066 new_test_ext().execute_with(|| {1067 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));10681069 let origin1 = RuntimeOrigin::signed(1);10701071 let data = default_nft_data();1072 create_test_item(collection_id, &data.into());10731074 // check balance (collection with id = 1, user id = 1)1075 assert_eq!(1076 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),1077 11078 );10791080 // burn item1081 assert_ok!(Unique::burn_item(1082 origin1.clone(),1083 collection_id,1084 TokenId(1),1085 11086 ));10871088 // burn item again1089 assert_noop!(1090 Unique::burn_item(origin1, collection_id, TokenId(1), 1).map_err(|e| e.error),1091 CommonError::<Test>::TokenNotFound1092 );10931094 assert_eq!(1095 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),1096 01097 );1098 });1099}11001101#[test]1102fn burn_fungible_item() {1103 new_test_ext().execute_with(|| {1104 let collection_id = create_test_collection(&CollectionMode::Fungible(3), CollectionId(1));11051106 let origin1 = RuntimeOrigin::signed(1);1107 assert_ok!(Unique::add_collection_admin(1108 origin1.clone(),1109 collection_id,1110 account(2)1111 ));11121113 let data = default_fungible_data();1114 create_test_item(collection_id, &data.into());11151116 // check balance (collection with id = 1, user id = 1)1117 assert_eq!(1118 <pallet_fungible::Balance<Test>>::get((collection_id, account(1))),1119 51120 );11211122 // burn item1123 assert_ok!(Unique::burn_item(1124 origin1.clone(),1125 CollectionId(1),1126 TokenId(0),1127 51128 ));1129 assert_noop!(1130 Unique::burn_item(origin1, CollectionId(1), TokenId(0), 5).map_err(|e| e.error),1131 CommonError::<Test>::TokenValueTooLow1132 );11331134 assert_eq!(1135 <pallet_fungible::Balance<Test>>::get((collection_id, account(1))),1136 01137 );1138 });1139}11401141#[test]1142fn burn_fungible_item_with_token_id() {1143 new_test_ext().execute_with(|| {1144 let collection_id = create_test_collection(&CollectionMode::Fungible(3), CollectionId(1));11451146 let origin1 = RuntimeOrigin::signed(1);1147 assert_ok!(Unique::add_collection_admin(1148 origin1.clone(),1149 collection_id,1150 account(2)1151 ));11521153 let data = default_fungible_data();1154 create_test_item(collection_id, &data.into());11551156 // check balance (collection with id = 1, user id = 1)1157 assert_eq!(1158 <pallet_fungible::Balance<Test>>::get((collection_id, account(1))),1159 51160 );11611162 // Try to burn item using Token ID1163 assert_noop!(1164 Unique::burn_item(origin1, CollectionId(1), TokenId(1), 5).map_err(|e| e.error),1165 <pallet_fungible::Error::<Test>>::FungibleItemsHaveNoId1166 );1167 });1168}1169#[test]1170fn burn_refungible_item() {1171 new_test_ext().execute_with(|| {1172 let collection_id = create_test_collection(&CollectionMode::ReFungible, CollectionId(1));1173 let origin1 = RuntimeOrigin::signed(1);11741175 assert_ok!(Unique::set_collection_permissions(1176 origin1.clone(),1177 collection_id,1178 CollectionPermissions {1179 mint_mode: Some(true),1180 access: Some(AccessMode::AllowList),1181 nesting: None,1182 }1183 ));1184 assert_ok!(Unique::add_to_allow_list(1185 origin1.clone(),1186 collection_id,1187 account(1)1188 ));11891190 assert_ok!(Unique::add_collection_admin(1191 origin1.clone(),1192 collection_id,1193 account(2)1194 ));11951196 let data = default_re_fungible_data();1197 create_test_item(collection_id, &data.into());11981199 // check balance (collection with id = 1, user id = 2)1200 assert_eq!(1201 <pallet_refungible::AccountBalance<Test>>::get((collection_id, account(1))),1202 11203 );1204 assert_eq!(1205 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(1))),1206 10231207 );12081209 // burn item1210 assert_ok!(Unique::burn_item(1211 origin1.clone(),1212 collection_id,1213 TokenId(1),1214 10231215 ));1216 assert_noop!(1217 Unique::burn_item(origin1, collection_id, TokenId(1), 1023).map_err(|e| e.error),1218 CommonError::<Test>::TokenValueTooLow1219 );12201221 assert_eq!(1222 <pallet_refungible::Balance<Test>>::get((collection_id, TokenId(1), account(1))),1223 01224 );1225 });1226}12271228#[test]1229fn add_collection_admin() {1230 new_test_ext().execute_with(|| {1231 let collection1_id =1232 create_test_collection_for_owner(&CollectionMode::NFT, 1, CollectionId(1));1233 let origin1 = RuntimeOrigin::signed(1);12341235 // Add collection admins1236 assert_ok!(Unique::add_collection_admin(1237 origin1.clone(),1238 collection1_id,1239 account(2)1240 ));1241 assert_ok!(Unique::add_collection_admin(1242 origin1,1243 collection1_id,1244 account(3)1245 ));12461247 // Owner is not an admin by default1248 assert_eq!(1249 <pallet_common::IsAdmin<Test>>::get((CollectionId(1), account(1))),1250 false1251 );1252 assert!(<pallet_common::IsAdmin<Test>>::get((1253 CollectionId(1),1254 account(2)1255 )));1256 assert!(<pallet_common::IsAdmin<Test>>::get((1257 CollectionId(1),1258 account(3)1259 )));1260 });1261}12621263#[test]1264fn remove_collection_admin() {1265 new_test_ext().execute_with(|| {1266 let collection1_id =1267 create_test_collection_for_owner(&CollectionMode::NFT, 1, CollectionId(1));1268 let origin1 = RuntimeOrigin::signed(1);12691270 // Add collection admins 2 and 31271 assert_ok!(Unique::add_collection_admin(1272 origin1.clone(),1273 collection1_id,1274 account(2)1275 ));1276 assert_ok!(Unique::add_collection_admin(1277 origin1.clone(),1278 collection1_id,1279 account(3)1280 ));12811282 assert!(<pallet_common::IsAdmin<Test>>::get((1283 CollectionId(1),1284 account(2)1285 )));1286 assert!(<pallet_common::IsAdmin<Test>>::get((1287 CollectionId(1),1288 account(3)1289 )));12901291 // remove admin 31292 assert_ok!(Unique::remove_collection_admin(1293 origin1,1294 CollectionId(1),1295 account(3)1296 ));12971298 // 2 is still admin, 3 is not an admin anymore1299 assert!(<pallet_common::IsAdmin<Test>>::get((1300 CollectionId(1),1301 account(2)1302 )));1303 assert_eq!(1304 <pallet_common::IsAdmin<Test>>::get((CollectionId(1), account(3))),1305 false1306 );1307 });1308}13091310#[test]1311fn balance_of() {1312 new_test_ext().execute_with(|| {1313 let nft_collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1314 let fungible_collection_id =1315 create_test_collection(&CollectionMode::Fungible(3), CollectionId(2));1316 let re_fungible_collection_id =1317 create_test_collection(&CollectionMode::ReFungible, CollectionId(3));13181319 // check balance before1320 assert_eq!(1321 <pallet_nonfungible::AccountBalance<Test>>::get((nft_collection_id, account(1))),1322 01323 );1324 assert_eq!(1325 <pallet_fungible::Balance<Test>>::get((fungible_collection_id, account(1))),1326 01327 );1328 assert_eq!(1329 <pallet_refungible::AccountBalance<Test>>::get((re_fungible_collection_id, account(1))),1330 01331 );13321333 let nft_data = default_nft_data();1334 create_test_item(nft_collection_id, &nft_data.into());13351336 let fungible_data = default_fungible_data();1337 create_test_item(fungible_collection_id, &fungible_data.into());13381339 let re_fungible_data = default_re_fungible_data();1340 create_test_item(re_fungible_collection_id, &re_fungible_data.into());13411342 // check balance (collection with id = 1, user id = 1)1343 assert_eq!(1344 <pallet_nonfungible::AccountBalance<Test>>::get((nft_collection_id, account(1))),1345 11346 );1347 assert_eq!(1348 <pallet_fungible::Balance<Test>>::get((fungible_collection_id, account(1))),1349 51350 );1351 assert_eq!(1352 <pallet_refungible::AccountBalance<Test>>::get((re_fungible_collection_id, account(1))),1353 11354 );13551356 assert_eq!(1357 <pallet_nonfungible::Owned<Test>>::get((nft_collection_id, account(1), TokenId(1))),1358 true1359 );1360 assert_eq!(1361 <pallet_refungible::Owned<Test>>::get((1362 re_fungible_collection_id,1363 account(1),1364 TokenId(1)1365 )),1366 true1367 );1368 });1369}13701371#[test]1372fn approve() {1373 new_test_ext().execute_with(|| {1374 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));13751376 let data = default_nft_data();1377 create_test_item(collection_id, &data.into());13781379 let origin1 = RuntimeOrigin::signed(1);13801381 // approve1382 assert_ok!(Unique::approve(1383 origin1,1384 account(2),1385 CollectionId(1),1386 TokenId(1),1387 11388 ));1389 assert_eq!(1390 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),1391 account(2)1392 );1393 });1394}13951396#[test]1397fn transfer_from() {1398 new_test_ext().execute_with(|| {1399 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1400 let origin1 = RuntimeOrigin::signed(1);1401 let origin2 = RuntimeOrigin::signed(2);14021403 let data = default_nft_data();1404 create_test_item(collection_id, &data.into());14051406 // approve1407 assert_ok!(Unique::approve(1408 origin1.clone(),1409 account(2),1410 CollectionId(1),1411 TokenId(1),1412 11413 ));1414 assert_eq!(1415 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),1416 account(2)1417 );14181419 assert_ok!(Unique::set_collection_permissions(1420 origin1.clone(),1421 CollectionId(1),1422 CollectionPermissions {1423 mint_mode: Some(true),1424 access: Some(AccessMode::AllowList),1425 nesting: None,1426 }1427 ));1428 assert_ok!(Unique::add_to_allow_list(1429 origin1.clone(),1430 CollectionId(1),1431 account(1)1432 ));1433 assert_ok!(Unique::add_to_allow_list(1434 origin1.clone(),1435 CollectionId(1),1436 account(2)1437 ));1438 assert_ok!(Unique::add_to_allow_list(1439 origin1,1440 CollectionId(1),1441 account(3)1442 ));14431444 assert_ok!(Unique::transfer_from(1445 origin2,1446 account(1),1447 account(2),1448 CollectionId(1),1449 TokenId(1),1450 11451 ));14521453 // after transfer1454 assert_eq!(1455 <pallet_nonfungible::AccountBalance<Test>>::get((CollectionId(1), account(1))),1456 01457 );1458 assert_eq!(1459 <pallet_nonfungible::AccountBalance<Test>>::get((CollectionId(1), account(2))),1460 11461 );1462 });1463}14641465// #endregion14661467// Coverage tests region1468// #region14691470#[test]1471fn owner_can_add_address_to_allow_list() {1472 new_test_ext().execute_with(|| {1473 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));14741475 let origin1 = RuntimeOrigin::signed(1);1476 assert_ok!(Unique::add_to_allow_list(1477 origin1,1478 collection_id,1479 account(2)1480 ));1481 assert!(<pallet_common::Allowlist<Test>>::get((1482 collection_id,1483 account(2)1484 )));1485 });1486}14871488#[test]1489fn admin_can_add_address_to_allow_list() {1490 new_test_ext().execute_with(|| {1491 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1492 let origin1 = RuntimeOrigin::signed(1);1493 let origin2 = RuntimeOrigin::signed(2);14941495 assert_ok!(Unique::add_collection_admin(1496 origin1,1497 collection_id,1498 account(2)1499 ));1500 assert_ok!(Unique::add_to_allow_list(1501 origin2,1502 collection_id,1503 account(3)1504 ));1505 assert!(<pallet_common::Allowlist<Test>>::get((1506 collection_id,1507 account(3)1508 )));1509 });1510}15111512#[test]1513fn nonprivileged_user_cannot_add_address_to_allow_list() {1514 new_test_ext().execute_with(|| {1515 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));15161517 let origin2 = RuntimeOrigin::signed(2);1518 assert_noop!(1519 Unique::add_to_allow_list(origin2, collection_id, account(3)),1520 CommonError::<Test>::NoPermission1521 );1522 });1523}15241525#[test]1526fn nobody_can_add_address_to_allow_list_of_nonexisting_collection() {1527 new_test_ext().execute_with(|| {1528 let origin1 = RuntimeOrigin::signed(1);15291530 assert_noop!(1531 Unique::add_to_allow_list(origin1, CollectionId(1), account(2)),1532 CommonError::<Test>::CollectionNotFound1533 );1534 });1535}15361537#[test]1538fn nobody_can_add_address_to_allow_list_of_deleted_collection() {1539 new_test_ext().execute_with(|| {1540 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));15411542 let origin1 = RuntimeOrigin::signed(1);1543 assert_ok!(Unique::destroy_collection(origin1.clone(), collection_id));1544 assert_noop!(1545 Unique::add_to_allow_list(origin1, collection_id, account(2)),1546 CommonError::<Test>::CollectionNotFound1547 );1548 });1549}15501551// If address is already added to allow list, nothing happens1552#[test]1553fn address_is_already_added_to_allow_list() {1554 new_test_ext().execute_with(|| {1555 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1556 let origin1 = RuntimeOrigin::signed(1);15571558 assert_ok!(Unique::add_to_allow_list(1559 origin1.clone(),1560 collection_id,1561 account(2)1562 ));1563 assert_ok!(Unique::add_to_allow_list(1564 origin1,1565 collection_id,1566 account(2)1567 ));1568 assert!(<pallet_common::Allowlist<Test>>::get((1569 collection_id,1570 account(2)1571 )));1572 });1573}15741575#[test]1576fn owner_can_remove_address_from_allow_list() {1577 new_test_ext().execute_with(|| {1578 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));15791580 let origin1 = RuntimeOrigin::signed(1);1581 assert_ok!(Unique::add_to_allow_list(1582 origin1.clone(),1583 collection_id,1584 account(2)1585 ));1586 assert_ok!(Unique::remove_from_allow_list(1587 origin1,1588 collection_id,1589 account(2)1590 ));1591 assert_eq!(1592 <pallet_common::Allowlist<Test>>::get((collection_id, account(2))),1593 false1594 );1595 });1596}15971598#[test]1599fn admin_can_remove_address_from_allow_list() {1600 new_test_ext().execute_with(|| {1601 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1602 let origin1 = RuntimeOrigin::signed(1);1603 let origin2 = RuntimeOrigin::signed(2);16041605 // Owner adds admin1606 assert_ok!(Unique::add_collection_admin(1607 origin1.clone(),1608 collection_id,1609 account(2)1610 ));16111612 // Owner adds address 3 to allow list1613 assert_ok!(Unique::add_to_allow_list(1614 origin1,1615 collection_id,1616 account(3)1617 ));16181619 // Admin removes address 3 from allow list1620 assert_ok!(Unique::remove_from_allow_list(1621 origin2,1622 collection_id,1623 account(3)1624 ));1625 assert_eq!(1626 <pallet_common::Allowlist<Test>>::get((collection_id, account(3))),1627 false1628 );1629 });1630}16311632#[test]1633fn nonprivileged_user_cannot_remove_address_from_allow_list() {1634 new_test_ext().execute_with(|| {1635 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1636 let origin1 = RuntimeOrigin::signed(1);1637 let origin2 = RuntimeOrigin::signed(2);16381639 assert_ok!(Unique::add_to_allow_list(1640 origin1,1641 collection_id,1642 account(2)1643 ));1644 assert_noop!(1645 Unique::remove_from_allow_list(origin2, collection_id, account(2)),1646 CommonError::<Test>::NoPermission1647 );1648 assert!(<pallet_common::Allowlist<Test>>::get((1649 collection_id,1650 account(2)1651 )));1652 });1653}16541655#[test]1656fn nobody_can_remove_address_from_allow_list_of_nonexisting_collection() {1657 new_test_ext().execute_with(|| {1658 let origin1 = RuntimeOrigin::signed(1);16591660 assert_noop!(1661 Unique::remove_from_allow_list(origin1, CollectionId(1), account(2)),1662 CommonError::<Test>::CollectionNotFound1663 );1664 });1665}16661667#[test]1668fn nobody_can_remove_address_from_allow_list_of_deleted_collection() {1669 new_test_ext().execute_with(|| {1670 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1671 let origin1 = RuntimeOrigin::signed(1);1672 let origin2 = RuntimeOrigin::signed(2);16731674 // Add account 2 to allow list1675 assert_ok!(Unique::add_to_allow_list(1676 origin1.clone(),1677 collection_id,1678 account(2)1679 ));16801681 // Account 2 is in collection allow-list1682 assert!(<pallet_common::Allowlist<Test>>::get((1683 collection_id,1684 account(2)1685 )));16861687 // Destroy collection1688 assert_ok!(Unique::destroy_collection(origin1, collection_id));16891690 // Attempt to remove account 2 from collection allow-list => error1691 assert_noop!(1692 Unique::remove_from_allow_list(origin2, collection_id, account(2)),1693 CommonError::<Test>::CollectionNotFound1694 );16951696 // Account 2 is not found in collection allow-list anyway1697 assert_eq!(1698 <pallet_common::Allowlist<Test>>::get((collection_id, account(2))),1699 false1700 );1701 });1702}17031704// If address is already removed from allow list, nothing happens1705#[test]1706fn address_is_already_removed_from_allow_list() {1707 new_test_ext().execute_with(|| {1708 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1709 let origin1 = RuntimeOrigin::signed(1);17101711 assert_ok!(Unique::add_to_allow_list(1712 origin1.clone(),1713 collection_id,1714 account(2)1715 ));1716 assert_ok!(Unique::remove_from_allow_list(1717 origin1.clone(),1718 collection_id,1719 account(2)1720 ));1721 assert_eq!(1722 <pallet_common::Allowlist<Test>>::get((collection_id, account(2))),1723 false1724 );1725 assert_ok!(Unique::remove_from_allow_list(1726 origin1,1727 collection_id,1728 account(2)1729 ));1730 assert_eq!(1731 <pallet_common::Allowlist<Test>>::get((collection_id, account(2))),1732 false1733 );1734 });1735}17361737// If Public Access mode is set to AllowList, tokens can’t be transferred from a non-allowlisted address with transfer or transferFrom (2 tests)1738#[test]1739fn allow_list_test_1() {1740 new_test_ext().execute_with(|| {1741 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));17421743 let origin1 = RuntimeOrigin::signed(1);17441745 let data = default_nft_data();1746 create_test_item(collection_id, &data.into());17471748 assert_ok!(Unique::set_collection_permissions(1749 origin1.clone(),1750 collection_id,1751 CollectionPermissions {1752 mint_mode: None,1753 access: Some(AccessMode::AllowList),1754 nesting: None,1755 }1756 ));1757 assert_ok!(Unique::add_to_allow_list(1758 origin1.clone(),1759 collection_id,1760 account(2)1761 ));17621763 assert_noop!(1764 Unique::transfer(origin1, account(3), CollectionId(1), TokenId(1), 1)1765 .map_err(|e| e.error),1766 CommonError::<Test>::AddressNotInAllowlist1767 );1768 });1769}17701771#[test]1772fn allow_list_test_2() {1773 new_test_ext().execute_with(|| {1774 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));1775 let origin1 = RuntimeOrigin::signed(1);17761777 let data = default_nft_data();1778 create_test_item(collection_id, &data.into());17791780 assert_ok!(Unique::set_collection_permissions(1781 origin1.clone(),1782 collection_id,1783 CollectionPermissions {1784 mint_mode: None,1785 access: Some(AccessMode::AllowList),1786 nesting: None,1787 }1788 ));1789 assert_ok!(Unique::add_to_allow_list(1790 origin1.clone(),1791 collection_id,1792 account(1)1793 ));1794 assert_ok!(Unique::add_to_allow_list(1795 origin1.clone(),1796 collection_id,1797 account(2)1798 ));17991800 // do approve1801 assert_ok!(Unique::approve(1802 origin1.clone(),1803 account(1),1804 collection_id,1805 TokenId(1),1806 11807 ));1808 assert_eq!(1809 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),1810 account(1)1811 );18121813 assert_ok!(Unique::remove_from_allow_list(1814 origin1.clone(),1815 collection_id,1816 account(1)1817 ));18181819 assert_noop!(1820 Unique::transfer_from(1821 origin1,1822 account(1),1823 account(3),1824 CollectionId(1),1825 TokenId(1),1826 11827 )1828 .map_err(|e| e.error),1829 CommonError::<Test>::AddressNotInAllowlist1830 );1831 });1832}18331834// If Public Access mode is set to AllowList, tokens can’t be transferred to a non-allowlisted address with transfer or transferFrom (2 tests)1835#[test]1836fn allow_list_test_3() {1837 new_test_ext().execute_with(|| {1838 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));18391840 let origin1 = RuntimeOrigin::signed(1);18411842 let data = default_nft_data();1843 create_test_item(collection_id, &data.into());18441845 assert_ok!(Unique::set_collection_permissions(1846 origin1.clone(),1847 collection_id,1848 CollectionPermissions {1849 mint_mode: None,1850 access: Some(AccessMode::AllowList),1851 nesting: None,1852 }1853 ));1854 assert_ok!(Unique::add_to_allow_list(1855 origin1.clone(),1856 collection_id,1857 account(1)1858 ));18591860 assert_noop!(1861 Unique::transfer(origin1, account(3), collection_id, TokenId(1), 1)1862 .map_err(|e| e.error),1863 CommonError::<Test>::AddressNotInAllowlist1864 );1865 });1866}18671868#[test]1869fn allow_list_test_4() {1870 new_test_ext().execute_with(|| {1871 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));18721873 let origin1 = RuntimeOrigin::signed(1);18741875 let data = default_nft_data();1876 create_test_item(collection_id, &data.into());18771878 assert_ok!(Unique::set_collection_permissions(1879 origin1.clone(),1880 collection_id,1881 CollectionPermissions {1882 mint_mode: None,1883 access: Some(AccessMode::AllowList),1884 nesting: None,1885 }1886 ));1887 assert_ok!(Unique::add_to_allow_list(1888 origin1.clone(),1889 collection_id,1890 account(1)1891 ));1892 assert_ok!(Unique::add_to_allow_list(1893 origin1.clone(),1894 collection_id,1895 account(2)1896 ));18971898 // do approve1899 assert_ok!(Unique::approve(1900 origin1.clone(),1901 account(1),1902 collection_id,1903 TokenId(1),1904 11905 ));1906 assert_eq!(1907 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),1908 account(1)1909 );19101911 assert_ok!(Unique::remove_from_allow_list(1912 origin1.clone(),1913 collection_id,1914 account(2)1915 ));19161917 assert_noop!(1918 Unique::transfer_from(1919 origin1,1920 account(1),1921 account(3),1922 collection_id,1923 TokenId(1),1924 11925 )1926 .map_err(|e| e.error),1927 CommonError::<Test>::AddressNotInAllowlist1928 );1929 });1930}19311932// If Public Access mode is set to AllowList, tokens can’t be destroyed by a non-allowlisted address (even if it owned them before enabling AllowList mode)1933#[test]1934fn allow_list_test_5() {1935 new_test_ext().execute_with(|| {1936 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));19371938 let origin1 = RuntimeOrigin::signed(1);19391940 let data = default_nft_data();1941 create_test_item(collection_id, &data.into());19421943 assert_ok!(Unique::set_collection_permissions(1944 origin1.clone(),1945 collection_id,1946 CollectionPermissions {1947 mint_mode: None,1948 access: Some(AccessMode::AllowList),1949 nesting: None,1950 }1951 ));1952 assert_noop!(1953 Unique::burn_item(origin1.clone(), CollectionId(1), TokenId(1), 1).map_err(|e| e.error),1954 CommonError::<Test>::AddressNotInAllowlist1955 );1956 });1957}19581959// If Public Access mode is set to AllowList, token transfers can’t be Approved by a non-allowlisted address (see Approve method).1960#[test]1961fn allow_list_test_6() {1962 new_test_ext().execute_with(|| {1963 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));19641965 let origin1 = RuntimeOrigin::signed(1);19661967 let data = default_nft_data();1968 create_test_item(collection_id, &data.into());19691970 assert_ok!(Unique::set_collection_permissions(1971 origin1.clone(),1972 collection_id,1973 CollectionPermissions {1974 mint_mode: None,1975 access: Some(AccessMode::AllowList),1976 nesting: None,1977 }1978 ));19791980 // do approve1981 assert_noop!(1982 Unique::approve(origin1, account(1), CollectionId(1), TokenId(1), 1)1983 .map_err(|e| e.error),1984 CommonError::<Test>::AddressNotInAllowlist1985 );1986 });1987}19881989// If Public Access mode is set to AllowList, tokens can be transferred from a allowlisted address with transfer or transferFrom (2 tests) and1990// tokens can be transferred from a allowlisted address with transfer or transferFrom (2 tests)1991#[test]1992fn allow_list_test_7() {1993 new_test_ext().execute_with(|| {1994 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));19951996 let data = default_nft_data();1997 create_test_item(collection_id, &data.into());19981999 let origin1 = RuntimeOrigin::signed(1);20002001 assert_ok!(Unique::set_collection_permissions(2002 origin1.clone(),2003 collection_id,2004 CollectionPermissions {2005 mint_mode: None,2006 access: Some(AccessMode::AllowList),2007 nesting: None,2008 }2009 ));2010 assert_ok!(Unique::add_to_allow_list(2011 origin1.clone(),2012 collection_id,2013 account(1)2014 ));2015 assert_ok!(Unique::add_to_allow_list(2016 origin1.clone(),2017 collection_id,2018 account(2)2019 ));20202021 assert_ok!(Unique::transfer(2022 origin1,2023 account(2),2024 CollectionId(1),2025 TokenId(1),2026 12027 ));2028 });2029}20302031#[test]2032fn allow_list_test_8() {2033 new_test_ext().execute_with(|| {2034 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));20352036 // Create NFT for account 12037 let data = default_nft_data();2038 create_test_item(collection_id, &data.into());20392040 let origin1 = RuntimeOrigin::signed(1);20412042 // Toggle Allow List mode and add accounts 1 and 22043 assert_ok!(Unique::set_collection_permissions(2044 origin1.clone(),2045 collection_id,2046 CollectionPermissions {2047 mint_mode: None,2048 access: Some(AccessMode::AllowList),2049 nesting: None,2050 }2051 ));2052 assert_ok!(Unique::add_to_allow_list(2053 origin1.clone(),2054 collection_id,2055 account(1)2056 ));2057 assert_ok!(Unique::add_to_allow_list(2058 origin1.clone(),2059 collection_id,2060 account(2)2061 ));20622063 // Sself-approve account 1 for NFT 12064 assert_ok!(Unique::approve(2065 origin1.clone(),2066 account(1),2067 CollectionId(1),2068 TokenId(1),2069 12070 ));2071 assert_eq!(2072 <pallet_nonfungible::Allowance<Test>>::get((CollectionId(1), TokenId(1))).unwrap(),2073 account(1)2074 );20752076 // Transfer from 1 to 22077 assert_ok!(Unique::transfer_from(2078 origin1,2079 account(1),2080 account(2),2081 CollectionId(1),2082 TokenId(1),2083 12084 ));2085 });2086}20872088// If Public Access mode is set to AllowList, and Mint Permission is set to false, tokens can be created by owner.2089#[test]2090fn allow_list_test_9() {2091 new_test_ext().execute_with(|| {2092 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));2093 let origin1 = RuntimeOrigin::signed(1);20942095 assert_ok!(Unique::set_collection_permissions(2096 origin1.clone(),2097 collection_id,2098 CollectionPermissions {2099 mint_mode: Some(false),2100 access: Some(AccessMode::AllowList),2101 nesting: None,2102 }2103 ));21042105 let data = default_nft_data();2106 create_test_item(collection_id, &data.into());2107 });2108}21092110// If Public Access mode is set to AllowList, and Mint Permission is set to false, tokens can be created by admin.2111#[test]2112fn allow_list_test_10() {2113 new_test_ext().execute_with(|| {2114 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));21152116 let origin1 = RuntimeOrigin::signed(1);2117 let origin2 = RuntimeOrigin::signed(2);21182119 assert_ok!(Unique::set_collection_permissions(2120 origin1.clone(),2121 collection_id,2122 CollectionPermissions {2123 mint_mode: Some(false),2124 access: Some(AccessMode::AllowList),2125 nesting: None,2126 }2127 ));21282129 assert_ok!(Unique::add_collection_admin(2130 origin1,2131 collection_id,2132 account(2)2133 ));21342135 assert_ok!(Unique::create_item(2136 origin2,2137 collection_id,2138 account(2),2139 default_nft_data().into()2140 ));2141 });2142}21432144// If Public Access mode is set to AllowList, and Mint Permission is set to false, tokens cannot be created by non-privileged and allow listed address.2145#[test]2146fn allow_list_test_11() {2147 new_test_ext().execute_with(|| {2148 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));21492150 let origin1 = RuntimeOrigin::signed(1);2151 let origin2 = RuntimeOrigin::signed(2);21522153 assert_ok!(Unique::set_collection_permissions(2154 origin1.clone(),2155 collection_id,2156 CollectionPermissions {2157 mint_mode: Some(false),2158 access: Some(AccessMode::AllowList),2159 nesting: None,2160 }2161 ));2162 assert_ok!(Unique::add_to_allow_list(2163 origin1,2164 collection_id,2165 account(2)2166 ));21672168 assert_noop!(2169 Unique::create_item(2170 origin2,2171 CollectionId(1),2172 account(2),2173 default_nft_data().into()2174 )2175 .map_err(|e| e.error),2176 CommonError::<Test>::PublicMintingNotAllowed2177 );2178 });2179}21802181// If Public Access mode is set to AllowList, and Mint Permission is set to false, tokens cannot be created by non-privileged and non-allow listed address.2182#[test]2183fn allow_list_test_12() {2184 new_test_ext().execute_with(|| {2185 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));21862187 let origin1 = RuntimeOrigin::signed(1);2188 let origin2 = RuntimeOrigin::signed(2);21892190 assert_ok!(Unique::set_collection_permissions(2191 origin1.clone(),2192 collection_id,2193 CollectionPermissions {2194 mint_mode: Some(false),2195 access: Some(AccessMode::AllowList),2196 nesting: None,2197 }2198 ));21992200 assert_noop!(2201 Unique::create_item(2202 origin2,2203 CollectionId(1),2204 account(2),2205 default_nft_data().into()2206 )2207 .map_err(|e| e.error),2208 CommonError::<Test>::PublicMintingNotAllowed2209 );2210 });2211}22122213// If Public Access mode is set to AllowList, and Mint Permission is set to true, tokens can be created by owner.2214#[test]2215fn allow_list_test_13() {2216 new_test_ext().execute_with(|| {2217 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));22182219 let origin1 = RuntimeOrigin::signed(1);22202221 assert_ok!(Unique::set_collection_permissions(2222 origin1.clone(),2223 collection_id,2224 CollectionPermissions {2225 mint_mode: Some(true),2226 access: Some(AccessMode::AllowList),2227 nesting: None,2228 }2229 ));22302231 let data = default_nft_data();2232 create_test_item(collection_id, &data.into());2233 });2234}22352236// If Public Access mode is set to AllowList, and Mint Permission is set to true, tokens can be created by admin.2237#[test]2238fn allow_list_test_14() {2239 new_test_ext().execute_with(|| {2240 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));22412242 let origin1 = RuntimeOrigin::signed(1);2243 let origin2 = RuntimeOrigin::signed(2);22442245 assert_ok!(Unique::set_collection_permissions(2246 origin1.clone(),2247 collection_id,2248 CollectionPermissions {2249 mint_mode: Some(true),2250 access: Some(AccessMode::AllowList),2251 nesting: None,2252 }2253 ));22542255 assert_ok!(Unique::add_collection_admin(2256 origin1,2257 collection_id,2258 account(2)2259 ));22602261 assert_ok!(Unique::create_item(2262 origin2,2263 collection_id,2264 account(2),2265 default_nft_data().into()2266 ));2267 });2268}22692270// If Public Access mode is set to AllowList, and Mint Permission is set to true, tokens cannot be created by non-privileged and non-allow listed address.2271#[test]2272fn allow_list_test_15() {2273 new_test_ext().execute_with(|| {2274 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));22752276 let origin1 = RuntimeOrigin::signed(1);2277 let origin2 = RuntimeOrigin::signed(2);22782279 assert_ok!(Unique::set_collection_permissions(2280 origin1.clone(),2281 collection_id,2282 CollectionPermissions {2283 mint_mode: Some(true),2284 access: Some(AccessMode::AllowList),2285 nesting: None,2286 }2287 ));22882289 assert_noop!(2290 Unique::create_item(2291 origin2,2292 collection_id,2293 account(2),2294 default_nft_data().into()2295 )2296 .map_err(|e| e.error),2297 CommonError::<Test>::AddressNotInAllowlist2298 );2299 });2300}23012302// If Public Access mode is set to AllowList, and Mint Permission is set to true, tokens can be created by non-privileged and allow listed address.2303#[test]2304fn allow_list_test_16() {2305 new_test_ext().execute_with(|| {2306 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));23072308 let origin1 = RuntimeOrigin::signed(1);2309 let origin2 = RuntimeOrigin::signed(2);23102311 assert_ok!(Unique::set_collection_permissions(2312 origin1.clone(),2313 collection_id,2314 CollectionPermissions {2315 mint_mode: Some(true),2316 access: Some(AccessMode::AllowList),2317 nesting: None,2318 }2319 ));2320 assert_ok!(Unique::add_to_allow_list(2321 origin1,2322 collection_id,2323 account(2)2324 ));23252326 assert_ok!(Unique::create_item(2327 origin2,2328 collection_id,2329 account(2),2330 default_nft_data().into()2331 ));2332 });2333}23342335// Total number of collections. Positive test2336#[test]2337fn total_number_collections_bound() {2338 new_test_ext().execute_with(|| {2339 create_test_collection(&CollectionMode::NFT, CollectionId(1));2340 });2341}23422343#[test]2344fn create_max_collections() {2345 new_test_ext().execute_with(|| {2346 for i in 1..COLLECTION_NUMBER_LIMIT {2347 create_test_collection(&CollectionMode::NFT, CollectionId(i));2348 }2349 });2350}23512352// Total number of collections. Negative test2353#[test]2354fn total_number_collections_bound_neg() {2355 new_test_ext().execute_with(|| {2356 let origin1 = RuntimeOrigin::signed(1);23572358 for i in 1..=COLLECTION_NUMBER_LIMIT {2359 create_test_collection(&CollectionMode::NFT, CollectionId(i));2360 }23612362 let col_name1: Vec<u16> = "Test1\0".encode_utf16().collect::<Vec<u16>>();2363 let col_desc1: Vec<u16> = "TestDescription1\0".encode_utf16().collect::<Vec<u16>>();2364 let token_prefix1: Vec<u8> = b"token_prefix1\0".to_vec();23652366 let data: CreateCollectionData<u64> = CreateCollectionData {2367 name: col_name1.try_into().unwrap(),2368 description: col_desc1.try_into().unwrap(),2369 token_prefix: token_prefix1.try_into().unwrap(),2370 mode: CollectionMode::NFT,2371 ..Default::default()2372 };23732374 // 11-th collection in chain. Expects error2375 assert_noop!(2376 Unique::create_collection_ex(origin1, data),2377 CommonError::<Test>::TotalCollectionsLimitExceeded2378 );2379 });2380}23812382// Owned tokens by a single address. Positive test2383#[test]2384fn owned_tokens_bound() {2385 new_test_ext().execute_with(|| {2386 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));23872388 let data = default_nft_data();2389 create_test_item(collection_id, &data.clone().into());2390 create_test_item(collection_id, &data.into());2391 });2392}23932394// Owned tokens by a single address. Negotive test2395#[test]2396fn owned_tokens_bound_neg() {2397 new_test_ext().execute_with(|| {2398 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));23992400 let origin1 = RuntimeOrigin::signed(1);24012402 for _ in 1..=MAX_TOKEN_OWNERSHIP {2403 let data = default_nft_data();2404 create_test_item(collection_id, &data.clone().into());2405 }24062407 let data = default_nft_data();2408 assert_noop!(2409 Unique::create_item(origin1, CollectionId(1), account(1), data.into())2410 .map_err(|e| e.error),2411 CommonError::<Test>::AccountTokenLimitExceeded2412 );2413 });2414}24152416// Number of collection admins. Positive test2417#[test]2418fn collection_admins_bound() {2419 new_test_ext().execute_with(|| {2420 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));24212422 let origin1 = RuntimeOrigin::signed(1);24232424 assert_ok!(Unique::add_collection_admin(2425 origin1.clone(),2426 collection_id,2427 account(2)2428 ));2429 assert_ok!(Unique::add_collection_admin(2430 origin1,2431 collection_id,2432 account(3)2433 ));2434 });2435}24362437// Number of collection admins. Negotive test2438#[test]2439fn collection_admins_bound_neg() {2440 new_test_ext().execute_with(|| {2441 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));24422443 let origin1 = RuntimeOrigin::signed(1);24442445 for i in 0..COLLECTION_ADMINS_LIMIT {2446 assert_ok!(Unique::add_collection_admin(2447 origin1.clone(),2448 collection_id,2449 account((2 + i).into())2450 ));2451 }2452 assert_noop!(2453 Unique::add_collection_admin(2454 origin1,2455 collection_id,2456 account((3 + COLLECTION_ADMINS_LIMIT).into())2457 ),2458 CommonError::<Test>::CollectionAdminCountExceeded2459 );2460 });2461}2462// #endregion24632464#[test]2465fn collection_transfer_flag_works() {2466 new_test_ext().execute_with(|| {2467 let origin1 = RuntimeOrigin::signed(1);24682469 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));2470 assert_ok!(Unique::set_transfers_enabled_flag(2471 origin1,2472 collection_id,2473 true2474 ));24752476 let data = default_nft_data();2477 create_test_item(collection_id, &data.into());2478 assert_eq!(2479 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),2480 12481 );2482 assert_eq!(2483 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),2484 true2485 );24862487 let origin1 = RuntimeOrigin::signed(1);24882489 // default scenario2490 assert_ok!(Unique::transfer(2491 origin1,2492 account(2),2493 collection_id,2494 TokenId(1),2495 12496 ));2497 assert_eq!(2498 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),2499 false2500 );2501 assert_eq!(2502 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(2), TokenId(1))),2503 true2504 );2505 assert_eq!(2506 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),2507 02508 );2509 assert_eq!(2510 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(2))),2511 12512 );2513 });2514}25152516#[test]2517fn collection_transfer_flag_works_neg() {2518 new_test_ext().execute_with(|| {2519 let origin1 = RuntimeOrigin::signed(1);25202521 let collection_id = create_test_collection(&CollectionMode::NFT, CollectionId(1));2522 assert_ok!(Unique::set_transfers_enabled_flag(2523 origin1,2524 collection_id,2525 false2526 ));25272528 let data = default_nft_data();2529 create_test_item(collection_id, &data.into());2530 assert_eq!(2531 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),2532 12533 );2534 assert_eq!(2535 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),2536 true2537 );25382539 let origin1 = RuntimeOrigin::signed(1);25402541 // default scenario2542 assert_noop!(2543 Unique::transfer(origin1, account(2), CollectionId(1), TokenId(1), 1)2544 .map_err(|e| e.error),2545 CommonError::<Test>::TransferNotAllowed2546 );2547 assert_eq!(2548 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(1))),2549 12550 );2551 assert_eq!(2552 <pallet_nonfungible::AccountBalance<Test>>::get((collection_id, account(2))),2553 02554 );2555 assert_eq!(2556 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(1), TokenId(1))),2557 true2558 );2559 assert_eq!(2560 <pallet_nonfungible::Owned<Test>>::get((collection_id, account(2), TokenId(1))),2561 false2562 );2563 });2564}25652566#[test]2567fn collection_sponsoring() {2568 new_test_ext().execute_with(|| {2569 // default_limits();2570 let user1 = 1_u64;2571 let user2 = 777_u64;2572 let origin1 = RuntimeOrigin::signed(user1);2573 let origin2 = RuntimeOrigin::signed(user2);2574 let account2 = account(user2);25752576 let collection_id =2577 create_test_collection_for_owner(&CollectionMode::NFT, user1, CollectionId(1));2578 assert_ok!(Unique::set_collection_sponsor(2579 origin1.clone(),2580 collection_id,2581 user12582 ));2583 assert_ok!(Unique::confirm_sponsorship(origin1.clone(), collection_id));25842585 // Expect error while have no permissions2586 assert!(Unique::create_item(2587 origin2.clone(),2588 collection_id,2589 account2.clone(),2590 default_nft_data().into()2591 )2592 .is_err());25932594 assert_ok!(Unique::set_collection_permissions(2595 origin1.clone(),2596 collection_id,2597 CollectionPermissions {2598 mint_mode: Some(true),2599 access: Some(AccessMode::AllowList),2600 nesting: None,2601 }2602 ));2603 assert_ok!(Unique::add_to_allow_list(2604 origin1.clone(),2605 collection_id,2606 account2.clone()2607 ));26082609 assert_ok!(Unique::create_item(2610 origin2,2611 collection_id,2612 account2,2613 default_nft_data().into()2614 ));2615 });2616}tests/package.jsondiffbeforeafterboth--- a/tests/package.json
+++ b/tests/package.json
@@ -4,7 +4,7 @@
"description": "Unique Chain Tests",
"main": "",
"devDependencies": {
- "@polkadot/typegen": "9.9.4",
+ "@polkadot/typegen": "9.10.2",
"@types/chai": "^4.3.3",
"@types/chai-as-promised": "^7.1.5",
"@types/chai-like": "^1.1.1",
@@ -117,7 +117,8 @@
"license": "SEE LICENSE IN ../LICENSE",
"homepage": "",
"dependencies": {
- "@polkadot/api": "9.9.4",
+ "@polkadot/api": "9.10.2",
+ "@polkadot/util": "10.2.1",
"@polkadot/util-crypto": "10.2.1",
"chai-as-promised": "^7.1.1",
"chai-like": "^1.1.1",
@@ -125,5 +126,8 @@
"find-process": "^1.4.7",
"solc": "0.8.17",
"web3": "^1.8.1"
+ },
+ "resolutions": {
+ "decode-uri-component": "^0.2.1"
}
}
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -9,7 +9,7 @@
import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';
import type { AnyNumber, ITuple } from '@polkadot/types-codec/types';
import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime';
-import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletRefungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletNonfungibleItemData, PalletTransactionPaymentReleases, PalletTreasuryProposal, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV1MultiLocation } from '@polkadot/types/lookup';
import type { Observable } from '@polkadot/types/types';
export type __AugmentedQuery<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -632,10 +632,6 @@
* Used to enumerate tokens owned by account.
**/
owned: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: u32 | AnyNumber | Uint8Array) => Observable<bool>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, u32]>;
- /**
- * Token data, used to partially describe a token.
- **/
- tokenData: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<PalletRefungibleItemData>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
/**
* Amount of pieces a refungible token is split into.
**/
tests/src/interfaces/augment-types.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-types.ts
+++ b/tests/src/interfaces/augment-types.ts
@@ -5,7 +5,7 @@
// this is required to allow for ambient/previous definitions
import '@polkadot/types/types/registry';
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default';
import type { Data, StorageKey } from '@polkadot/types';
import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec';
import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets';
@@ -869,7 +869,6 @@
PalletNonfungibleError: PalletNonfungibleError;
PalletNonfungibleItemData: PalletNonfungibleItemData;
PalletRefungibleError: PalletRefungibleError;
- PalletRefungibleItemData: PalletRefungibleItemData;
PalletRmrkCoreCall: PalletRmrkCoreCall;
PalletRmrkCoreError: PalletRmrkCoreError;
PalletRmrkCoreEvent: PalletRmrkCoreEvent;
tests/src/interfaces/default/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1654,11 +1654,6 @@
readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
}
-/** @name PalletRefungibleItemData */
-export interface PalletRefungibleItemData extends Struct {
- readonly constData: Bytes;
-}
-
/** @name PalletRmrkCoreCall */
export interface PalletRmrkCoreCall extends Enum {
readonly isCreateCollection: boolean;
tests/src/interfaces/lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -3210,73 +3210,67 @@
_enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']
},
/**
- * Lookup417: pallet_refungible::ItemData
- **/
- PalletRefungibleItemData: {
- constData: 'Bytes'
- },
- /**
- * Lookup422: pallet_refungible::pallet::Error<T>
+ * Lookup420: pallet_refungible::pallet::Error<T>
**/
PalletRefungibleError: {
_enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']
},
/**
- * Lookup423: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup421: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
PalletNonfungibleItemData: {
owner: 'PalletEvmAccountBasicCrossAccountIdRepr'
},
/**
- * Lookup425: up_data_structs::PropertyScope
+ * Lookup423: up_data_structs::PropertyScope
**/
UpDataStructsPropertyScope: {
_enum: ['None', 'Rmrk']
},
/**
- * Lookup427: pallet_nonfungible::pallet::Error<T>
+ * Lookup426: pallet_nonfungible::pallet::Error<T>
**/
PalletNonfungibleError: {
_enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']
},
/**
- * Lookup428: pallet_structure::pallet::Error<T>
+ * Lookup427: pallet_structure::pallet::Error<T>
**/
PalletStructureError: {
_enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']
},
/**
- * Lookup429: pallet_rmrk_core::pallet::Error<T>
+ * Lookup428: pallet_rmrk_core::pallet::Error<T>
**/
PalletRmrkCoreError: {
_enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']
},
/**
- * Lookup431: pallet_rmrk_equip::pallet::Error<T>
+ * Lookup430: pallet_rmrk_equip::pallet::Error<T>
**/
PalletRmrkEquipError: {
_enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']
},
/**
- * Lookup437: pallet_app_promotion::pallet::Error<T>
+ * Lookup436: pallet_app_promotion::pallet::Error<T>
**/
PalletAppPromotionError: {
_enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']
},
/**
- * Lookup438: pallet_foreign_assets::module::Error<T>
+ * Lookup437: pallet_foreign_assets::module::Error<T>
**/
PalletForeignAssetsModuleError: {
_enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']
},
/**
- * Lookup440: pallet_evm::pallet::Error<T>
+ * Lookup439: pallet_evm::pallet::Error<T>
**/
PalletEvmError: {
_enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']
},
/**
- * Lookup443: fp_rpc::TransactionStatus
+ * Lookup442: fp_rpc::TransactionStatus
**/
FpRpcTransactionStatus: {
transactionHash: 'H256',
@@ -3288,11 +3282,11 @@
logsBloom: 'EthbloomBloom'
},
/**
- * Lookup445: ethbloom::Bloom
+ * Lookup444: ethbloom::Bloom
**/
EthbloomBloom: '[u8;256]',
/**
- * Lookup447: ethereum::receipt::ReceiptV3
+ * Lookup446: ethereum::receipt::ReceiptV3
**/
EthereumReceiptReceiptV3: {
_enum: {
@@ -3302,7 +3296,7 @@
}
},
/**
- * Lookup448: ethereum::receipt::EIP658ReceiptData
+ * Lookup447: ethereum::receipt::EIP658ReceiptData
**/
EthereumReceiptEip658ReceiptData: {
statusCode: 'u8',
@@ -3311,7 +3305,7 @@
logs: 'Vec<EthereumLog>'
},
/**
- * Lookup449: ethereum::block::Block<ethereum::transaction::TransactionV2>
+ * Lookup448: ethereum::block::Block<ethereum::transaction::TransactionV2>
**/
EthereumBlock: {
header: 'EthereumHeader',
@@ -3319,7 +3313,7 @@
ommers: 'Vec<EthereumHeader>'
},
/**
- * Lookup450: ethereum::header::Header
+ * Lookup449: ethereum::header::Header
**/
EthereumHeader: {
parentHash: 'H256',
@@ -3339,23 +3333,23 @@
nonce: 'EthereumTypesHashH64'
},
/**
- * Lookup451: ethereum_types::hash::H64
+ * Lookup450: ethereum_types::hash::H64
**/
EthereumTypesHashH64: '[u8;8]',
/**
- * Lookup456: pallet_ethereum::pallet::Error<T>
+ * Lookup455: pallet_ethereum::pallet::Error<T>
**/
PalletEthereumError: {
_enum: ['InvalidSignature', 'PreLogExists']
},
/**
- * Lookup457: pallet_evm_coder_substrate::pallet::Error<T>
+ * Lookup456: pallet_evm_coder_substrate::pallet::Error<T>
**/
PalletEvmCoderSubstrateError: {
_enum: ['OutOfGas', 'OutOfFund']
},
/**
- * Lookup458: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
+ * Lookup457: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>
**/
UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {
_enum: {
@@ -3365,35 +3359,35 @@
}
},
/**
- * Lookup459: pallet_evm_contract_helpers::SponsoringModeT
+ * Lookup458: pallet_evm_contract_helpers::SponsoringModeT
**/
PalletEvmContractHelpersSponsoringModeT: {
_enum: ['Disabled', 'Allowlisted', 'Generous']
},
/**
- * Lookup465: pallet_evm_contract_helpers::pallet::Error<T>
+ * Lookup464: pallet_evm_contract_helpers::pallet::Error<T>
**/
PalletEvmContractHelpersError: {
_enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']
},
/**
- * Lookup466: pallet_evm_migration::pallet::Error<T>
+ * Lookup465: pallet_evm_migration::pallet::Error<T>
**/
PalletEvmMigrationError: {
_enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']
},
/**
- * Lookup467: pallet_maintenance::pallet::Error<T>
+ * Lookup466: pallet_maintenance::pallet::Error<T>
**/
PalletMaintenanceError: 'Null',
/**
- * Lookup468: pallet_test_utils::pallet::Error<T>
+ * Lookup467: pallet_test_utils::pallet::Error<T>
**/
PalletTestUtilsError: {
_enum: ['TestPalletDisabled', 'TriggerRollback']
},
/**
- * Lookup470: sp_runtime::MultiSignature
+ * Lookup469: sp_runtime::MultiSignature
**/
SpRuntimeMultiSignature: {
_enum: {
@@ -3403,51 +3397,51 @@
}
},
/**
- * Lookup471: sp_core::ed25519::Signature
+ * Lookup470: sp_core::ed25519::Signature
**/
SpCoreEd25519Signature: '[u8;64]',
/**
- * Lookup473: sp_core::sr25519::Signature
+ * Lookup472: sp_core::sr25519::Signature
**/
SpCoreSr25519Signature: '[u8;64]',
/**
- * Lookup474: sp_core::ecdsa::Signature
+ * Lookup473: sp_core::ecdsa::Signature
**/
SpCoreEcdsaSignature: '[u8;65]',
/**
- * Lookup477: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
+ * Lookup476: frame_system::extensions::check_spec_version::CheckSpecVersion<T>
**/
FrameSystemExtensionsCheckSpecVersion: 'Null',
/**
- * Lookup478: frame_system::extensions::check_tx_version::CheckTxVersion<T>
+ * Lookup477: frame_system::extensions::check_tx_version::CheckTxVersion<T>
**/
FrameSystemExtensionsCheckTxVersion: 'Null',
/**
- * Lookup479: frame_system::extensions::check_genesis::CheckGenesis<T>
+ * Lookup478: frame_system::extensions::check_genesis::CheckGenesis<T>
**/
FrameSystemExtensionsCheckGenesis: 'Null',
/**
- * Lookup482: frame_system::extensions::check_nonce::CheckNonce<T>
+ * Lookup481: frame_system::extensions::check_nonce::CheckNonce<T>
**/
FrameSystemExtensionsCheckNonce: 'Compact<u32>',
/**
- * Lookup483: frame_system::extensions::check_weight::CheckWeight<T>
+ * Lookup482: frame_system::extensions::check_weight::CheckWeight<T>
**/
FrameSystemExtensionsCheckWeight: 'Null',
/**
- * Lookup484: opal_runtime::runtime_common::maintenance::CheckMaintenance
+ * Lookup483: opal_runtime::runtime_common::maintenance::CheckMaintenance
**/
OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',
/**
- * Lookup485: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
+ * Lookup484: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>
**/
PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',
/**
- * Lookup486: opal_runtime::Runtime
+ * Lookup485: opal_runtime::Runtime
**/
OpalRuntimeRuntime: 'Null',
/**
- * Lookup487: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
+ * Lookup486: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>
**/
PalletEthereumFakeTransactionFinalizer: 'Null'
};
tests/src/interfaces/registry.tsdiffbeforeafterboth--- a/tests/src/interfaces/registry.ts
+++ b/tests/src/interfaces/registry.ts
@@ -5,7 +5,7 @@
// this is required to allow for ambient/previous definitions
import '@polkadot/types/types/registry';
-import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
+import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup';
declare module '@polkadot/types/types/registry' {
interface InterfaceTypes {
@@ -132,7 +132,6 @@
PalletNonfungibleError: PalletNonfungibleError;
PalletNonfungibleItemData: PalletNonfungibleItemData;
PalletRefungibleError: PalletRefungibleError;
- PalletRefungibleItemData: PalletRefungibleItemData;
PalletRmrkCoreCall: PalletRmrkCoreCall;
PalletRmrkCoreError: PalletRmrkCoreError;
PalletRmrkCoreEvent: PalletRmrkCoreEvent;
tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -3515,12 +3515,7 @@
readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';
}
- /** @name PalletRefungibleItemData (417) */
- interface PalletRefungibleItemData extends Struct {
- readonly constData: Bytes;
- }
-
- /** @name PalletRefungibleError (422) */
+ /** @name PalletRefungibleError (420) */
interface PalletRefungibleError extends Enum {
readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isWrongRefungiblePieces: boolean;
@@ -3530,19 +3525,19 @@
readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
}
- /** @name PalletNonfungibleItemData (423) */
+ /** @name PalletNonfungibleItemData (421) */
interface PalletNonfungibleItemData extends Struct {
readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
- /** @name UpDataStructsPropertyScope (425) */
+ /** @name UpDataStructsPropertyScope (423) */
interface UpDataStructsPropertyScope extends Enum {
readonly isNone: boolean;
readonly isRmrk: boolean;
readonly type: 'None' | 'Rmrk';
}
- /** @name PalletNonfungibleError (427) */
+ /** @name PalletNonfungibleError (426) */
interface PalletNonfungibleError extends Enum {
readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;
readonly isNonfungibleItemsHaveNoAmount: boolean;
@@ -3550,7 +3545,7 @@
readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';
}
- /** @name PalletStructureError (428) */
+ /** @name PalletStructureError (427) */
interface PalletStructureError extends Enum {
readonly isOuroborosDetected: boolean;
readonly isDepthLimit: boolean;
@@ -3559,7 +3554,7 @@
readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';
}
- /** @name PalletRmrkCoreError (429) */
+ /** @name PalletRmrkCoreError (428) */
interface PalletRmrkCoreError extends Enum {
readonly isCorruptedCollectionType: boolean;
readonly isRmrkPropertyKeyIsTooLong: boolean;
@@ -3583,7 +3578,7 @@
readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';
}
- /** @name PalletRmrkEquipError (431) */
+ /** @name PalletRmrkEquipError (430) */
interface PalletRmrkEquipError extends Enum {
readonly isPermissionError: boolean;
readonly isNoAvailableBaseId: boolean;
@@ -3595,7 +3590,7 @@
readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';
}
- /** @name PalletAppPromotionError (437) */
+ /** @name PalletAppPromotionError (436) */
interface PalletAppPromotionError extends Enum {
readonly isAdminNotSet: boolean;
readonly isNoPermission: boolean;
@@ -3606,7 +3601,7 @@
readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';
}
- /** @name PalletForeignAssetsModuleError (438) */
+ /** @name PalletForeignAssetsModuleError (437) */
interface PalletForeignAssetsModuleError extends Enum {
readonly isBadLocation: boolean;
readonly isMultiLocationExisted: boolean;
@@ -3615,7 +3610,7 @@
readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';
}
- /** @name PalletEvmError (440) */
+ /** @name PalletEvmError (439) */
interface PalletEvmError extends Enum {
readonly isBalanceLow: boolean;
readonly isFeeOverflow: boolean;
@@ -3631,7 +3626,7 @@
readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';
}
- /** @name FpRpcTransactionStatus (443) */
+ /** @name FpRpcTransactionStatus (442) */
interface FpRpcTransactionStatus extends Struct {
readonly transactionHash: H256;
readonly transactionIndex: u32;
@@ -3642,10 +3637,10 @@
readonly logsBloom: EthbloomBloom;
}
- /** @name EthbloomBloom (445) */
+ /** @name EthbloomBloom (444) */
interface EthbloomBloom extends U8aFixed {}
- /** @name EthereumReceiptReceiptV3 (447) */
+ /** @name EthereumReceiptReceiptV3 (446) */
interface EthereumReceiptReceiptV3 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumReceiptEip658ReceiptData;
@@ -3656,7 +3651,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumReceiptEip658ReceiptData (448) */
+ /** @name EthereumReceiptEip658ReceiptData (447) */
interface EthereumReceiptEip658ReceiptData extends Struct {
readonly statusCode: u8;
readonly usedGas: U256;
@@ -3664,14 +3659,14 @@
readonly logs: Vec<EthereumLog>;
}
- /** @name EthereumBlock (449) */
+ /** @name EthereumBlock (448) */
interface EthereumBlock extends Struct {
readonly header: EthereumHeader;
readonly transactions: Vec<EthereumTransactionTransactionV2>;
readonly ommers: Vec<EthereumHeader>;
}
- /** @name EthereumHeader (450) */
+ /** @name EthereumHeader (449) */
interface EthereumHeader extends Struct {
readonly parentHash: H256;
readonly ommersHash: H256;
@@ -3690,24 +3685,24 @@
readonly nonce: EthereumTypesHashH64;
}
- /** @name EthereumTypesHashH64 (451) */
+ /** @name EthereumTypesHashH64 (450) */
interface EthereumTypesHashH64 extends U8aFixed {}
- /** @name PalletEthereumError (456) */
+ /** @name PalletEthereumError (455) */
interface PalletEthereumError extends Enum {
readonly isInvalidSignature: boolean;
readonly isPreLogExists: boolean;
readonly type: 'InvalidSignature' | 'PreLogExists';
}
- /** @name PalletEvmCoderSubstrateError (457) */
+ /** @name PalletEvmCoderSubstrateError (456) */
interface PalletEvmCoderSubstrateError extends Enum {
readonly isOutOfGas: boolean;
readonly isOutOfFund: boolean;
readonly type: 'OutOfGas' | 'OutOfFund';
}
- /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (458) */
+ /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (457) */
interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {
readonly isDisabled: boolean;
readonly isUnconfirmed: boolean;
@@ -3717,7 +3712,7 @@
readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';
}
- /** @name PalletEvmContractHelpersSponsoringModeT (459) */
+ /** @name PalletEvmContractHelpersSponsoringModeT (458) */
interface PalletEvmContractHelpersSponsoringModeT extends Enum {
readonly isDisabled: boolean;
readonly isAllowlisted: boolean;
@@ -3725,7 +3720,7 @@
readonly type: 'Disabled' | 'Allowlisted' | 'Generous';
}
- /** @name PalletEvmContractHelpersError (465) */
+ /** @name PalletEvmContractHelpersError (464) */
interface PalletEvmContractHelpersError extends Enum {
readonly isNoPermission: boolean;
readonly isNoPendingSponsor: boolean;
@@ -3733,7 +3728,7 @@
readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';
}
- /** @name PalletEvmMigrationError (466) */
+ /** @name PalletEvmMigrationError (465) */
interface PalletEvmMigrationError extends Enum {
readonly isAccountNotEmpty: boolean;
readonly isAccountIsNotMigrating: boolean;
@@ -3741,17 +3736,17 @@
readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';
}
- /** @name PalletMaintenanceError (467) */
+ /** @name PalletMaintenanceError (466) */
type PalletMaintenanceError = Null;
- /** @name PalletTestUtilsError (468) */
+ /** @name PalletTestUtilsError (467) */
interface PalletTestUtilsError extends Enum {
readonly isTestPalletDisabled: boolean;
readonly isTriggerRollback: boolean;
readonly type: 'TestPalletDisabled' | 'TriggerRollback';
}
- /** @name SpRuntimeMultiSignature (470) */
+ /** @name SpRuntimeMultiSignature (469) */
interface SpRuntimeMultiSignature extends Enum {
readonly isEd25519: boolean;
readonly asEd25519: SpCoreEd25519Signature;
@@ -3762,40 +3757,40 @@
readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';
}
- /** @name SpCoreEd25519Signature (471) */
+ /** @name SpCoreEd25519Signature (470) */
interface SpCoreEd25519Signature extends U8aFixed {}
- /** @name SpCoreSr25519Signature (473) */
+ /** @name SpCoreSr25519Signature (472) */
interface SpCoreSr25519Signature extends U8aFixed {}
- /** @name SpCoreEcdsaSignature (474) */
+ /** @name SpCoreEcdsaSignature (473) */
interface SpCoreEcdsaSignature extends U8aFixed {}
- /** @name FrameSystemExtensionsCheckSpecVersion (477) */
+ /** @name FrameSystemExtensionsCheckSpecVersion (476) */
type FrameSystemExtensionsCheckSpecVersion = Null;
- /** @name FrameSystemExtensionsCheckTxVersion (478) */
+ /** @name FrameSystemExtensionsCheckTxVersion (477) */
type FrameSystemExtensionsCheckTxVersion = Null;
- /** @name FrameSystemExtensionsCheckGenesis (479) */
+ /** @name FrameSystemExtensionsCheckGenesis (478) */
type FrameSystemExtensionsCheckGenesis = Null;
- /** @name FrameSystemExtensionsCheckNonce (482) */
+ /** @name FrameSystemExtensionsCheckNonce (481) */
interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}
- /** @name FrameSystemExtensionsCheckWeight (483) */
+ /** @name FrameSystemExtensionsCheckWeight (482) */
type FrameSystemExtensionsCheckWeight = Null;
- /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (484) */
+ /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (483) */
type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;
- /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (485) */
+ /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (484) */
interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}
- /** @name OpalRuntimeRuntime (486) */
+ /** @name OpalRuntimeRuntime (485) */
type OpalRuntimeRuntime = Null;
- /** @name PalletEthereumFakeTransactionFinalizer (487) */
+ /** @name PalletEthereumFakeTransactionFinalizer (486) */
type PalletEthereumFakeTransactionFinalizer = Null;
} // declare module
tests/yarn.lockdiffbeforeafterboth--- a/tests/yarn.lock
+++ b/tests/yarn.lock
@@ -17,49 +17,50 @@
dependencies:
"@babel/highlight" "^7.18.6"
-"@babel/compat-data@^7.20.0":
+"@babel/compat-data@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733"
integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==
-"@babel/core@^7.20.2":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113"
- integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==
+"@babel/core@^7.20.5":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f"
+ integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.5"
- "@babel/helper-compilation-targets" "^7.20.0"
- "@babel/helper-module-transforms" "^7.20.2"
- "@babel/helpers" "^7.20.5"
- "@babel/parser" "^7.20.5"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.5"
- "@babel/types" "^7.20.5"
+ "@babel/generator" "^7.20.7"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-module-transforms" "^7.20.7"
+ "@babel/helpers" "^7.20.7"
+ "@babel/parser" "^7.20.7"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.7"
+ "@babel/types" "^7.20.7"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.1"
semver "^6.3.0"
-"@babel/generator@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95"
- integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==
+"@babel/generator@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
+ integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==
dependencies:
- "@babel/types" "^7.20.5"
+ "@babel/types" "^7.20.7"
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
-"@babel/helper-compilation-targets@^7.20.0":
- version "7.20.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a"
- integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==
+"@babel/helper-compilation-targets@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
+ integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
dependencies:
- "@babel/compat-data" "^7.20.0"
+ "@babel/compat-data" "^7.20.5"
"@babel/helper-validator-option" "^7.18.6"
browserslist "^4.21.3"
+ lru-cache "^5.1.1"
semver "^6.3.0"
"@babel/helper-environment-visitor@^7.18.9":
@@ -89,19 +90,19 @@
dependencies:
"@babel/types" "^7.18.6"
-"@babel/helper-module-transforms@^7.20.2":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712"
- integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==
+"@babel/helper-module-transforms@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.7.tgz#7a6c9a1155bef55e914af574153069c9d9470c43"
+ integrity sha512-FNdu7r67fqMUSVuQpFQGE6BPdhJIhitoxhGzDbAXNcA07uoVG37fOiMk3OSV8rEICuyG6t8LGkd9EE64qIEoIA==
dependencies:
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-module-imports" "^7.18.6"
"@babel/helper-simple-access" "^7.20.2"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-validator-identifier" "^7.19.1"
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.1"
- "@babel/types" "^7.20.2"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.7"
+ "@babel/types" "^7.20.7"
"@babel/helper-simple-access@^7.20.2":
version "7.20.2"
@@ -132,14 +133,14 @@
resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
-"@babel/helpers@^7.20.5":
- version "7.20.6"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763"
- integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==
+"@babel/helpers@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce"
+ integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==
dependencies:
- "@babel/template" "^7.18.10"
- "@babel/traverse" "^7.20.5"
- "@babel/types" "^7.20.5"
+ "@babel/template" "^7.20.7"
+ "@babel/traverse" "^7.20.7"
+ "@babel/types" "^7.20.7"
"@babel/highlight@^7.18.6":
version "7.18.6"
@@ -150,10 +151,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.18.10", "@babel/parser@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8"
- integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==
+"@babel/parser@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
+ integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
"@babel/register@^7.18.9":
version "7.18.9"
@@ -166,42 +167,42 @@
pirates "^4.0.5"
source-map-support "^0.5.16"
-"@babel/runtime@^7.20.1", "@babel/runtime@^7.20.6":
- version "7.20.6"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3"
- integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==
+"@babel/runtime@^7.20.6":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
+ integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==
dependencies:
regenerator-runtime "^0.13.11"
-"@babel/template@^7.18.10":
- version "7.18.10"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71"
- integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==
+"@babel/template@^7.18.10", "@babel/template@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
+ integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
dependencies:
"@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.18.10"
- "@babel/types" "^7.18.10"
+ "@babel/parser" "^7.20.7"
+ "@babel/types" "^7.20.7"
-"@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133"
- integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==
+"@babel/traverse@^7.20.7":
+ version "7.20.8"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.8.tgz#e3a23eb04af24f8bbe8a8ba3eef6155b77df0b08"
+ integrity sha512-/RNkaYDeCy4MjyV70+QkSHhxbvj2JO/5Ft2Pa880qJOG8tWrqcT/wXUuCCv43yogfqPzHL77Xu101KQPf4clnQ==
dependencies:
"@babel/code-frame" "^7.18.6"
- "@babel/generator" "^7.20.5"
+ "@babel/generator" "^7.20.7"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.19.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.20.5"
- "@babel/types" "^7.20.5"
+ "@babel/parser" "^7.20.7"
+ "@babel/types" "^7.20.7"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84"
- integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==
+"@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7":
+ version "7.20.7"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
+ integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
dependencies:
"@babel/helper-string-parser" "^7.19.4"
"@babel/helper-validator-identifier" "^7.19.1"
@@ -214,15 +215,15 @@
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
-"@eslint/eslintrc@^1.3.3":
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95"
- integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==
+"@eslint/eslintrc@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.0.tgz#8ec64e0df3e7a1971ee1ff5158da87389f167a63"
+ integrity sha512-7yfvXy6MWLgWSFsLhz5yH3iQ52St8cdUY6FoGieKkRDVxuxmrNuUetIuu6cmjNWwniUHiWXjxCr5tTXDrbYS5A==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
espree "^9.4.0"
- globals "^13.15.0"
+ globals "^13.19.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
js-yaml "^4.1.0"
@@ -430,7 +431,7 @@
"@ethersproject/properties" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
-"@humanwhocodes/config-array@^0.11.6":
+"@humanwhocodes/config-array@^0.11.8":
version "0.11.8"
resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==
@@ -528,70 +529,70 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@polkadot/api-augment@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-9.9.4.tgz#cb09d8edfc3a5d61c6519f30a2f02b1bb939c9f6"
- integrity sha512-+T9YWw5kEi7AkSoS2UfE1nrVeJUtD92elQBZ3bMMkfM1geKWhSnvBLyTMn6kFmNXTfK0qt8YKS1pwbux7cC9tg==
+"@polkadot/api-augment@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-augment/-/api-augment-9.10.2.tgz#9d1875bffe9d8677a4f03d53ca6df3d0d7e7f53d"
+ integrity sha512-B0xC7yvPAZqPZpKJzrlFSDfHBawCJISwdV4/nBSs1/AaqQIXVu2ZqPUaSdq7eisZL/EZziptK0SpCtDcb6LpAg==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/api-base" "9.9.4"
- "@polkadot/rpc-augment" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-augment" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/util" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/api-base" "9.10.2"
+ "@polkadot/rpc-augment" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-augment" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/util" "^10.2.1"
-"@polkadot/api-base@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-9.9.4.tgz#eccc645b60485bfe64a5e6a9ebb3195d2011c0ee"
- integrity sha512-G1DcxcMeGcvaAAA3u5Tbf70zE5aIuAPEAXnptFMF0lvJz4O6CM8k8ZZFTSk25hjsYlnx8WI1FTc97q4/tKie+Q==
+"@polkadot/api-base@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-base/-/api-base-9.10.2.tgz#39248e966b468ecff7c0ed00bb61dfca14ca99d4"
+ integrity sha512-M/Yushqk6eEAfbkF90vy3GCVg+a2uVeSXyTBKbmkjZtcE7x39GiXs7LOJuYkIim51hlwcvVSeInX8HufwnTUMw==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/rpc-core" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/util" "^10.1.14"
- rxjs "^7.5.7"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/rpc-core" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ rxjs "^7.6.0"
-"@polkadot/api-derive@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-9.9.4.tgz#0eedd9c604be2425d8a1adcf048446184a5aaec9"
- integrity sha512-3ka7GzY4QbI3d/DHjQ9SjfDOTDxeU8gM2Dn31BP1oFzGwdFe2GZhDIE//lR5S6UDVxNNlgWz4927AunOQcuAmg==
+"@polkadot/api-derive@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/api-derive/-/api-derive-9.10.2.tgz#d6b0eb558ee057416b87a304ca2790b19afa4be6"
+ integrity sha512-Ut1aqbGvqAkxXq7M4HgJ7BVhUyfbQigqt5LISmnjWdGkhroBxtIJ24saOUPYNr0O/c3jocJpoWqGK2CuucL81w==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/api" "9.9.4"
- "@polkadot/api-augment" "9.9.4"
- "@polkadot/api-base" "9.9.4"
- "@polkadot/rpc-core" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/util" "^10.1.14"
- "@polkadot/util-crypto" "^10.1.14"
- rxjs "^7.5.7"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/api" "9.10.2"
+ "@polkadot/api-augment" "9.10.2"
+ "@polkadot/api-base" "9.10.2"
+ "@polkadot/rpc-core" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ "@polkadot/util-crypto" "^10.2.1"
+ rxjs "^7.6.0"
-"@polkadot/api@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-9.9.4.tgz#a4899d7497644378a94e0cc6fcbf73a5e2d31b92"
- integrity sha512-ze7W/DXsPHsixrFOACzugDQqezzrUGGX1Z2JOl6z+V8pd+ZKLSecsKJFUzf4yoBT82ArITYPtRVx/Dq9b9K2dA==
+"@polkadot/api@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/api/-/api-9.10.2.tgz#9a3132f0c8a5de6c2b7d56f9d9e9c9c5ed2bc77e"
+ integrity sha512-5leF7rxwRkkd/g11tGPho/CcbInVX7ZiuyMsLMTwn+2PDX+Ggv/gmxUboa34eyeLp8/AMui5YbqRD4QExLTxqw==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/api-augment" "9.9.4"
- "@polkadot/api-base" "9.9.4"
- "@polkadot/api-derive" "9.9.4"
- "@polkadot/keyring" "^10.1.14"
- "@polkadot/rpc-augment" "9.9.4"
- "@polkadot/rpc-core" "9.9.4"
- "@polkadot/rpc-provider" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-augment" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/types-create" "9.9.4"
- "@polkadot/types-known" "9.9.4"
- "@polkadot/util" "^10.1.14"
- "@polkadot/util-crypto" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/api-augment" "9.10.2"
+ "@polkadot/api-base" "9.10.2"
+ "@polkadot/api-derive" "9.10.2"
+ "@polkadot/keyring" "^10.2.1"
+ "@polkadot/rpc-augment" "9.10.2"
+ "@polkadot/rpc-core" "9.10.2"
+ "@polkadot/rpc-provider" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-augment" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/types-create" "9.10.2"
+ "@polkadot/types-known" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ "@polkadot/util-crypto" "^10.2.1"
eventemitter3 "^4.0.7"
- rxjs "^7.5.7"
+ rxjs "^7.6.0"
-"@polkadot/keyring@^10.1.14":
+"@polkadot/keyring@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-10.2.1.tgz#692d4e24dcbbe294b6945640802fc924ea20348e"
integrity sha512-84/zzxDZANQ4AfsCT1vrjX3I23/mj9WUWl1F7q9ruK6UBFyGsl46Y3ABOopFHij9UXhppndhB65IeDnqoOKqxQ==
@@ -600,7 +601,7 @@
"@polkadot/util" "10.2.1"
"@polkadot/util-crypto" "10.2.1"
-"@polkadot/networks@10.2.1", "@polkadot/networks@^10.1.14":
+"@polkadot/networks@10.2.1", "@polkadot/networks@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/networks/-/networks-10.2.1.tgz#5095011795afa20291ef3e34a2ad38ed2c63fe09"
integrity sha512-cDZIY4jBo2tlDdSXNbECpuWer0NWlPcJNhHHveTiu2idje2QyIBNxBlAPViNGpz+ScAR0EknEzmQKuHOcSKxzg==
@@ -609,135 +610,135 @@
"@polkadot/util" "10.2.1"
"@substrate/ss58-registry" "^1.35.0"
-"@polkadot/rpc-augment@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-9.9.4.tgz#82a1473143cb9ec1183e01babcfe7ac396ad456b"
- integrity sha512-67zGQAhJuXd/CZlwDZTgxNt3xGtsDwLvLvyFrHuNjJNM0KGCyt/OpQHVBlyZ6xfII0WZpccASN6P2MxsGTMnKw==
+"@polkadot/rpc-augment@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-augment/-/rpc-augment-9.10.2.tgz#5650aa118d39d0c4b17425a9b327354f7bbf99e5"
+ integrity sha512-LrGzpSdkqXltZDwuBeBBMev68eVVN1GpgV4auEAytgDYYcjI9XDaeLZm7vUVx9aBO8OYz9hQZeHrWrab/FaKmg==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/rpc-core" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/util" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/rpc-core" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/util" "^10.2.1"
-"@polkadot/rpc-core@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-9.9.4.tgz#30cb94dfb9438ef54f6ab9367bc533fa6934dbc5"
- integrity sha512-DxhJcq1GAi+28nLMqhTksNMqTX40bGNhYuyQyy/to39VxizAjx+lyAHAMfzG9lvPnTIi2KzXif2pCdWq3AgJag==
+"@polkadot/rpc-core@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-core/-/rpc-core-9.10.2.tgz#72362d26012c53397c1079912d5d4aacf910a650"
+ integrity sha512-qr+q2R3YeRBC++bYxK292jb6t9/KXeLoRheW5z7LbYyre3J60vZPN7WxPxbwm+iCGk1VtvH80Dv1OSCoVC+7hA==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/rpc-augment" "9.9.4"
- "@polkadot/rpc-provider" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/util" "^10.1.14"
- rxjs "^7.5.7"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/rpc-augment" "9.10.2"
+ "@polkadot/rpc-provider" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ rxjs "^7.6.0"
-"@polkadot/rpc-provider@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-9.9.4.tgz#dab6d72e83e325dc170e03d0edf5f7bec07c0293"
- integrity sha512-aUkPtlYukAOFX3FkUgLw3MNy+T0mCiCX7va3PIts9ggK4vl14NFZHurCZq+5ANvknRU4WG8P5teurH9Rd9oDjQ==
+"@polkadot/rpc-provider@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/rpc-provider/-/rpc-provider-9.10.2.tgz#83c8e114b3aad75eedaf98a374bc77a2b8cc1dbc"
+ integrity sha512-mm8l1uZ7DOrsMUN+DELS8apyZVVNIy/SrqEBjHZeZ0AA9noAEbH4ubxR375lG/T32+T97mFudv1rxRnEwXqByg==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/keyring" "^10.1.14"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-support" "9.9.4"
- "@polkadot/util" "^10.1.14"
- "@polkadot/util-crypto" "^10.1.14"
- "@polkadot/x-fetch" "^10.1.14"
- "@polkadot/x-global" "^10.1.14"
- "@polkadot/x-ws" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/keyring" "^10.2.1"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-support" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ "@polkadot/util-crypto" "^10.2.1"
+ "@polkadot/x-fetch" "^10.2.1"
+ "@polkadot/x-global" "^10.2.1"
+ "@polkadot/x-ws" "^10.2.1"
"@substrate/connect" "0.7.17"
eventemitter3 "^4.0.7"
mock-socket "^9.1.5"
nock "^13.2.9"
-"@polkadot/typegen@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-9.9.4.tgz#24ee3122c338a359d5776e1c728160ffaaffe6b9"
- integrity sha512-uIPD3r9QCvTtz5JHQaO5T2q36U9PrmrutHXbHWWzswsWU6lxkGjIiwUOdV+IUemeQx85GVOAPInU+BnwdhPUpA==
+"@polkadot/typegen@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/typegen/-/typegen-9.10.2.tgz#3a206feaa664afe2cdcc42707b4fa8fde49ce0cc"
+ integrity sha512-AyO1f/tx173w6pZrQINPu12sCIH9uvn+yRL2sJuCBS5+aqlnsR1JscBk6HIlR6t6Jctx1QCsHycfvSvin3IVoA==
dependencies:
- "@babel/core" "^7.20.2"
+ "@babel/core" "^7.20.5"
"@babel/register" "^7.18.9"
- "@babel/runtime" "^7.20.1"
- "@polkadot/api" "9.9.4"
- "@polkadot/api-augment" "9.9.4"
- "@polkadot/rpc-augment" "9.9.4"
- "@polkadot/rpc-provider" "9.9.4"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-augment" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/types-create" "9.9.4"
- "@polkadot/types-support" "9.9.4"
- "@polkadot/util" "^10.1.14"
- "@polkadot/util-crypto" "^10.1.14"
- "@polkadot/x-ws" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/api" "9.10.2"
+ "@polkadot/api-augment" "9.10.2"
+ "@polkadot/rpc-augment" "9.10.2"
+ "@polkadot/rpc-provider" "9.10.2"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-augment" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/types-create" "9.10.2"
+ "@polkadot/types-support" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ "@polkadot/util-crypto" "^10.2.1"
+ "@polkadot/x-ws" "^10.2.1"
handlebars "^4.7.7"
websocket "^1.0.34"
yargs "^17.6.2"
-"@polkadot/types-augment@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-9.9.4.tgz#08a2a89c0b8000ef156a0ed41f5eb7aa55cc1bb1"
- integrity sha512-mQNc0kxt3zM6SC+5hJbsg03fxEFpn5nakki+loE2mNsWr1g+rR7LECagAZ4wT2gvdbzWuY/LlRYyDQxe0PwdZg==
+"@polkadot/types-augment@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-augment/-/types-augment-9.10.2.tgz#2dce4ea8a2879d248339ad377ff5479fae884cd5"
+ integrity sha512-z0M3bAwGi0pGS3ieXyiJZLzDEc5yBvlqaZvaAbf2r+vto83SylhbjjG1wX8ARI5hqptBUWqS9BssUFH0q6l4sg==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/util" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/util" "^10.2.1"
-"@polkadot/types-codec@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-9.9.4.tgz#1219a6b453dab8e53a0d376f13394b02964c7665"
- integrity sha512-uSHoQQcj4813c9zNkDDH897K6JB0OznTrH5WeZ1wxpjML7lkuTJ2t/GQE9e4q5Ycl7YePZsvEp2qlc3GwrVm/w==
+"@polkadot/types-codec@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-codec/-/types-codec-9.10.2.tgz#7f0e33c33292bdfcd959945b2427742b941df712"
+ integrity sha512-zQOPzxq2N6PUP6Gkxc3OVT7Ub8AD3qC0PBeCnc/fhKjgX3CoKQK4TC6tDL8pEaaIVFh4LOHlHvhWJhqaUNe95A==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/util" "^10.1.14"
- "@polkadot/x-bigint" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/util" "^10.2.1"
+ "@polkadot/x-bigint" "^10.2.1"
-"@polkadot/types-create@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-9.9.4.tgz#d2d3d0e4c3cd4a0a4581dcb418a8f6bec657b986"
- integrity sha512-EOxLryRQ4JVRSRnIMXk3Tjry1tyegNuWK8OUj51A1wHrX76DF9chME27bXUP4d7el1pjqPuQ9/l+/928GG386g==
+"@polkadot/types-create@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-create/-/types-create-9.10.2.tgz#eb7dbf5f50eb4d01a965347d324de26a679a25e3"
+ integrity sha512-U6wDaJe8tZmt0WibxWeDFYVKfvOYa2su8xOwg8HTRraijF6k0/OMugb15bpjEkG6RZ1qg1L7oKrKghugVbRDGQ==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/util" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/util" "^10.2.1"
-"@polkadot/types-known@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-9.9.4.tgz#d30fa2c5c964b76b748413004758d05eb8f0e8f9"
- integrity sha512-BaKXkg3yZLDv31g0CZPJsZDXX01VTjkQ0tmW9U6fmccEq3zHlxbUiXf3aKlwKRJyDWiEOxr4cQ4GT8jj6uEIuA==
+"@polkadot/types-known@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-known/-/types-known-9.10.2.tgz#d37d984eed6aa17b33603aca9f9d006d6eb468cb"
+ integrity sha512-Kwxoo+xvAAE1w0jZdGqmNoEJHdfJzncO1xrBJ7WjeCuEFoDsWmjP63u/o8VaC1ZNnfrhjRK0vyvquslJ6NQOUA==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/networks" "^10.1.14"
- "@polkadot/types" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/types-create" "9.9.4"
- "@polkadot/util" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/networks" "^10.2.1"
+ "@polkadot/types" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/types-create" "9.10.2"
+ "@polkadot/util" "^10.2.1"
-"@polkadot/types-support@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-9.9.4.tgz#3f2eb1097a268bdd280d36fb53b7cdc98a5e238c"
- integrity sha512-vjhdD7B5kdTLhm2iO0QAb7fM4D2ojNUVVocOJotC9NULYtoC+PkPvkvFbw7VQ1H3u7yxyZfWloMtBnCsIp5EAA==
+"@polkadot/types-support@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/types-support/-/types-support-9.10.2.tgz#eff0ef399a3373421a543059f62ca96b85645f0b"
+ integrity sha512-RQSCNNBH8+mzXbErB/LUDU9oMQScv0GZ4UmM2MPDPKBcqXNCdJ4dK+ajNfVbgGTUucYUEebpp2m5Az1usjE4Ew==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/util" "^10.1.14"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/util" "^10.2.1"
-"@polkadot/types@9.9.4":
- version "9.9.4"
- resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-9.9.4.tgz#a1b38174f5a9e2aa97612157d12faffd905b126e"
- integrity sha512-/LJ029S0AtKzvV9JoQtIIeHRP/Xoq8MZmDfdHUEgThRd+uvtQzFyGmcupe4EzX0p5VAx93DUFQKm8vUdHE39Tw==
+"@polkadot/types@9.10.2":
+ version "9.10.2"
+ resolved "https://registry.yarnpkg.com/@polkadot/types/-/types-9.10.2.tgz#1f6647445b055856bdbd949106f698c89a125386"
+ integrity sha512-B5Bg/IaAMJEwdWzGp3pil5WBukr5fm9x9NFIMuoCS9TyIqpm9rSHrz2n/408R3B4rwqqtx8RQAxiIETFI+m6Rw==
dependencies:
- "@babel/runtime" "^7.20.1"
- "@polkadot/keyring" "^10.1.14"
- "@polkadot/types-augment" "9.9.4"
- "@polkadot/types-codec" "9.9.4"
- "@polkadot/types-create" "9.9.4"
- "@polkadot/util" "^10.1.14"
- "@polkadot/util-crypto" "^10.1.14"
- rxjs "^7.5.7"
+ "@babel/runtime" "^7.20.6"
+ "@polkadot/keyring" "^10.2.1"
+ "@polkadot/types-augment" "9.10.2"
+ "@polkadot/types-codec" "9.10.2"
+ "@polkadot/types-create" "9.10.2"
+ "@polkadot/util" "^10.2.1"
+ "@polkadot/util-crypto" "^10.2.1"
+ rxjs "^7.6.0"
-"@polkadot/util-crypto@10.2.1", "@polkadot/util-crypto@^10.1.14":
+"@polkadot/util-crypto@10.2.1", "@polkadot/util-crypto@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/util-crypto/-/util-crypto-10.2.1.tgz#f6ce1c81496336ca50c2ca84975bcde79aa16634"
integrity sha512-UH1J4oD92gkLXMfVTLee3Y2vYadNyp1lmS4P2nZwQ0SOzGZ4rN7khD2CrB1cXS9WPq196Zb5oZdGLnPYnXHtjw==
@@ -754,7 +755,7 @@
ed2curve "^0.3.0"
tweetnacl "^1.0.3"
-"@polkadot/util@10.2.1", "@polkadot/util@^10.1.14":
+"@polkadot/util@10.2.1", "@polkadot/util@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-10.2.1.tgz#a8c3a4fe87091197448bec70f7ea079b60d5abf6"
integrity sha512-ewGKSOp+VXKEeCvpCCP2Qqi/FVkewBF9vb/N8pRwuNQ2XE9k1lnsOZZeQemVBDhKsZz+h3IeNcWejaF6K3vYHQ==
@@ -818,7 +819,7 @@
dependencies:
"@babel/runtime" "^7.20.6"
-"@polkadot/x-bigint@10.2.1", "@polkadot/x-bigint@^10.1.14":
+"@polkadot/x-bigint@10.2.1", "@polkadot/x-bigint@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-10.2.1.tgz#aa2d4384bb4ae6b5a3f333aa25bf6fd64d9006c5"
integrity sha512-asFroI2skC4gYv0oIqqb84DqCCxhNUTSCKobEg57WdXoT4TKrN9Uetg2AMSIHRiX/9lP3EPMhUjM1VVGobTQRQ==
@@ -826,7 +827,7 @@
"@babel/runtime" "^7.20.6"
"@polkadot/x-global" "10.2.1"
-"@polkadot/x-fetch@^10.1.14":
+"@polkadot/x-fetch@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-10.2.1.tgz#cb5b33da1d91787eb2e5207ef62806a75ef3c62f"
integrity sha512-6ASJUZIrbLaKW+AOW7E5CuktwJwa2LHhxxRyJe398HxZUjJRjO2VJPdqoSwwCYvfFa1TcIr3FDWS63ooDfvGMA==
@@ -836,7 +837,7 @@
"@types/node-fetch" "^2.6.2"
node-fetch "^3.3.0"
-"@polkadot/x-global@10.2.1", "@polkadot/x-global@^10.1.14":
+"@polkadot/x-global@10.2.1", "@polkadot/x-global@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-10.2.1.tgz#6fbaab05653e680adc8c69c07947eee49afc1238"
integrity sha512-kWmPku2lCcoYKU16+lWGOb95+6Lu9zo1trvzTWmAt7z0DXw2GlD9+qmDTt5iYGtguJsGXoRZDGilDTo3MeFrkA==
@@ -867,7 +868,7 @@
"@babel/runtime" "^7.20.6"
"@polkadot/x-global" "10.2.1"
-"@polkadot/x-ws@^10.1.14":
+"@polkadot/x-ws@^10.2.1":
version "10.2.1"
resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-10.2.1.tgz#ec119c22a8cb7b9cde00e9909e37b6ba2845efd1"
integrity sha512-oS/WEHc1JSJ+xMArzFXbg1yEeaRrp6GsJLBvObj4DgTyqoWTR5fYkq1G1nHbyqdR729yAnR6755PdaWecIg98g==
@@ -1022,9 +1023,9 @@
form-data "^3.0.0"
"@types/node@*", "@types/node@^18.11.2":
- version "18.11.15"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.15.tgz#de0e1fbd2b22b962d45971431e2ae696643d3f5d"
- integrity sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw==
+ version "18.11.17"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.17.tgz#5c009e1d9c38f4a2a9d45c0b0c493fe6cdb4bcb5"
+ integrity sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==
"@types/node@^12.12.6":
version "12.20.55"
@@ -1555,9 +1556,9 @@
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
caniuse-lite@^1.0.30001400:
- version "1.0.30001439"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001439.tgz#ab7371faeb4adff4b74dad1718a6fd122e45d9cb"
- integrity sha512-1MgUzEkoMO6gKfXflStpYgZDlFM7M/ck/bgfVCACO5vnAf0fXoNVHdWtqGU+MYca+4bL9Z5bpOVmR33cWW9G2A==
+ version "1.0.30001441"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e"
+ integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg==
caseless@~0.12.0:
version "0.12.0"
@@ -1917,7 +1918,7 @@
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837"
integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==
-decode-uri-component@^0.2.0:
+decode-uri-component@^0.2.0, decode-uri-component@^0.2.1:
version "0.2.2"
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
@@ -2162,12 +2163,12 @@
integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==
eslint@^8.25.0:
- version "8.29.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.29.0.tgz#d74a88a20fb44d59c51851625bc4ee8d0ec43f87"
- integrity sha512-isQ4EEiyUjZFbEKvEGJKKGBwXtvXX+zJbkVKCgTuB9t/+jUBcy8avhkEwWJecI15BkRkOYmvIM5ynbhRjEkoeg==
+ version "8.30.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.30.0.tgz#83a506125d089eef7c5b5910eeea824273a33f50"
+ integrity sha512-MGADB39QqYuzEGov+F/qb18r4i7DohCDOfatHaxI2iGlPuC65bwG2gxgO+7DkyL38dRFaRH7RaRAgU6JKL9rMQ==
dependencies:
- "@eslint/eslintrc" "^1.3.3"
- "@humanwhocodes/config-array" "^0.11.6"
+ "@eslint/eslintrc" "^1.4.0"
+ "@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
ajv "^6.10.0"
@@ -2186,7 +2187,7 @@
file-entry-cache "^6.0.1"
find-up "^5.0.0"
glob-parent "^6.0.2"
- globals "^13.15.0"
+ globals "^13.19.0"
grapheme-splitter "^1.0.4"
ignore "^5.2.0"
import-fresh "^3.0.0"
@@ -2703,7 +2704,7 @@
resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
-globals@^13.15.0:
+globals@^13.19.0:
version "13.19.0"
resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8"
integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==
@@ -2926,9 +2927,9 @@
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
ignore@^5.2.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c"
- integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==
+ version "5.2.4"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324"
+ integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==
import-fresh@^3.0.0, import-fresh@^3.2.1:
version "3.3.0"
@@ -3136,9 +3137,9 @@
integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
json5@^2.2.1:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c"
- integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.2.tgz#64471c5bdcc564c18f7c1d4df2e2297f2457c5ab"
+ integrity sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==
jsonfile@^4.0.0:
version "4.0.0"
@@ -3236,6 +3237,13 @@
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2"
integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
lru-cache@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
@@ -3572,9 +3580,9 @@
integrity sha512-2iGbaQBV+ITgCz76ZEjmhUKAKVf7xfY1sRl4UiKQspfZMH2h06SyhNsnSVy50cwkFQDGLyif6m/6uFXHkOZ6rg==
node-releases@^2.0.6:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.7.tgz#593edbc7c22860ee4d32d3933cfebdfab0c0e0e5"
- integrity sha512-EJ3rzxL9pTWPjk5arA0s0dgXpnyiAbJDE6wHT62g7VsgrgQgmmZ+Ru++M1BFofncWja+Pnn3rEr3fieRySAdKQ==
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae"
+ integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
@@ -4033,10 +4041,10 @@
dependencies:
queue-microtask "^1.2.2"
-rxjs@^7.5.7:
- version "7.6.0"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.6.0.tgz#361da5362b6ddaa691a2de0b4f2d32028f1eb5a2"
- integrity sha512-DDa7d8TFNUalGC9VqXvQ1euWNN7sc63TrUCuM9J998+ViviahMIjKSOU7rfcgFOF+FCD71BhDRv4hrFz+ImDLQ==
+rxjs@^7.6.0:
+ version "7.8.0"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
+ integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
dependencies:
tslib "^2.1.0"
@@ -4956,7 +4964,7 @@
resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577"
integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug==
-yallist@^3.0.0, yallist@^3.1.1:
+yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1:
version "3.1.1"
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==