difftreelog
feat add ApproveForAll to Eth and Sub
in: master
39 files changed
client/rpc/src/lib.rsdiffbeforeafterboth--- a/client/rpc/src/lib.rs
+++ b/client/rpc/src/lib.rs
@@ -246,6 +246,16 @@
token_id: TokenId,
at: Option<BlockHash>,
) -> Result<Option<String>>;
+
+ /// Get whether an operator is approved by a given owner.
+ #[method(name = "unique_isApprovedForAll")]
+ fn is_approved_for_all(
+ &self,
+ collection: CollectionId,
+ owner: CrossAccountId,
+ operator: CrossAccountId,
+ at: Option<BlockHash>,
+ ) -> Result<bool>;
}
mod app_promotion_unique_rpc {
@@ -569,6 +579,7 @@
pass_method!(effective_collection_limits(collection_id: CollectionId) -> Option<CollectionLimits>, unique_api);
pass_method!(total_pieces(collection_id: CollectionId, token_id: TokenId) -> Option<String> => |o| o.map(|number| number.to_string()) , unique_api);
pass_method!(token_owners(collection: CollectionId, token: TokenId) -> Vec<CrossAccountId>, unique_api);
+ pass_method!(is_approved_for_all(collection: CollectionId, owner: CrossAccountId, operator: CrossAccountId) -> bool, unique_api);
}
impl<C, Block, BlockNumber, CrossAccountId, AccountId>
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -472,6 +472,18 @@
u128,
),
+ /// Amount pieces of token owned by `sender` was approved for `spender`.
+ ApprovedForAll(
+ /// Id of collection to which item is belong.
+ CollectionId,
+ /// Owner of a wallet.
+ T::CrossAccountId,
+ /// Id for which operator status was granted or rewoked.
+ T::CrossAccountId,
+ /// Is operator status was granted or rewoked.
+ bool,
+ ),
+
/// The colletion property has been added or edited.
CollectionPropertySet(
/// Id of collection to which property has been set.
@@ -1521,6 +1533,9 @@
/// The price of retrieving token owner
fn token_owner() -> Weight;
+
+ /// The price of setting approval for all
+ fn set_approval_for_all() -> Weight;
}
/// Weight info extension trait for refungible pallet.
@@ -1828,6 +1843,20 @@
/// Get extension for RFT collection.
fn refungible_extensions(&self) -> Option<&dyn RefungibleExtensions<T>>;
+
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// * `owner` - Token owner
+ /// * `operator` - Operator
+ /// * `approve` - Is operator enabled or disabled
+ fn set_approval_for_all(
+ &self,
+ owner: T::CrossAccountId,
+ operator: T::CrossAccountId,
+ approve: bool,
+ ) -> DispatchResultWithPostInfo;
+
+ /// Tells whether an operator is approved by a given owner.
+ fn is_approved_for_all(&self, owner: T::CrossAccountId, operator: T::CrossAccountId) -> bool;
}
/// Extension for RFT collection.
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -107,6 +107,10 @@
fn token_owner() -> Weight {
Weight::zero()
}
+
+ fn set_approval_for_all() -> Weight {
+ Weight::zero()
+ }
}
/// Implementation of `CommonCollectionOperations` for `FungibleHandle`. It wraps FungibleHandle Pallete
@@ -424,4 +428,17 @@
}
<TotalSupply<T>>::try_get(self.id).ok()
}
+
+ fn set_approval_for_all(
+ &self,
+ _owner: T::CrossAccountId,
+ _operator: T::CrossAccountId,
+ _approve: bool,
+ ) -> DispatchResultWithPostInfo {
+ fail!(<Error<T>>::SettingApprovalForAllNotAllowed)
+ }
+
+ fn is_approved_for_all(&self, _owner: T::CrossAccountId, _operator: T::CrossAccountId) -> bool {
+ false
+ }
}
pallets/fungible/src/lib.rsdiffbeforeafterboth--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -127,6 +127,8 @@
FungibleDisallowsNesting,
/// Setting item properties is not allowed.
SettingPropertiesNotAllowed,
+ /// Setting approval for all is not allowed.
+ SettingApprovalForAllNotAllowed,
}
#[pallet::config]
pallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/benchmarking.rs
+++ b/pallets/nonfungible/src/benchmarking.rs
@@ -222,4 +222,18 @@
let item = create_max_item(&collection, &owner, owner.clone())?;
}: {collection.token_owner(item)}
+
+ set_approval_for_all {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ operator: cross_from_sub(owner); owner: cross_sub;
+ };
+ }: {<Pallet<T>>::set_approval_for_all(&collection, &owner, &operator, true)}
+
+ is_approved_for_all {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ operator: cross_from_sub(owner); owner: cross_sub;
+ };
+ }: {<Pallet<T>>::is_approved_for_all(&collection, &owner, &operator)}
}
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -122,6 +122,10 @@
fn token_owner() -> Weight {
<SelfWeightOf<T>>::token_owner()
}
+
+ fn set_approval_for_all() -> Weight {
+ <SelfWeightOf<T>>::set_approval_for_all()
+ }
}
fn map_create_data<T: Config>(
@@ -512,4 +516,20 @@
None
}
}
+
+ fn set_approval_for_all(
+ &self,
+ owner: T::CrossAccountId,
+ operator: T::CrossAccountId,
+ approve: bool,
+ ) -> DispatchResultWithPostInfo {
+ with_weight(
+ <Pallet<T>>::set_approval_for_all(self, &owner, &operator, approve),
+ <CommonWeights<T>>::set_approval_for_all(),
+ )
+ }
+
+ fn is_approved_for_all(&self, owner: T::CrossAccountId, operator: T::CrossAccountId) -> bool {
+ <Pallet<T>>::is_approved_for_all(self, &owner, &operator)
+ }
}
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -469,15 +469,23 @@
Ok(())
}
- /// @dev Not implemented
+ /// @notice Sets or unsets the approval of a given operator.
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// @param operator Operator
+ /// @param approved Is operator enabled or disabled
+ #[weight(<SelfWeightOf<T>>::set_approval_for_all())]
fn set_approval_for_all(
&mut self,
- _caller: caller,
- _operator: address,
- _approved: bool,
+ caller: caller,
+ operator: address,
+ approved: bool,
) -> Result<void> {
- // TODO: Not implemetable
- Err("not implemented".into())
+ let caller = T::CrossAccountId::from_eth(caller);
+ let operator = T::CrossAccountId::from_eth(operator);
+
+ <Pallet<T>>::set_approval_for_all(self, &caller, &operator, approved)
+ .map_err(dispatch_to_evm::<T>)?;
+ Ok(())
}
/// @dev Not implemented
@@ -486,10 +494,13 @@
Err("not implemented".into())
}
- /// @dev Not implemented
- fn is_approved_for_all(&self, _owner: address, _operator: address) -> Result<address> {
- // TODO: Not implemetable
- Err("not implemented".into())
+ /// @notice Tells whether an operator is approved by a given owner.
+ #[weight(<SelfWeightOf<T>>::is_approved_for_all())]
+ fn is_approved_for_all(&self, owner: address, operator: address) -> Result<bool> {
+ let owner = T::CrossAccountId::from_eth(owner);
+ let operator = T::CrossAccountId::from_eth(operator);
+
+ Ok(<Pallet<T>>::is_approved_for_all(self, &owner, &operator))
}
/// @notice Returns collection helper contract address
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -272,6 +272,18 @@
QueryKind = OptionQuery,
>;
+ /// Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.
+ #[pallet::storage]
+ pub type WalletOperator<T: Config> = StorageNMap<
+ Key = (
+ Key<Twox64Concat, CollectionId>,
+ Key<Blake2_128Concat, T::CrossAccountId>,
+ Key<Blake2_128Concat, T::CrossAccountId>,
+ ),
+ Value = bool,
+ QueryKind = OptionQuery,
+ >;
+
/// Upgrade from the old schema to properties.
#[pallet::hooks]
impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
@@ -438,6 +450,7 @@
<TokensBurnt<T>>::remove(id);
let _ = <Allowance<T>>::clear_prefix((id,), u32::MAX, None);
let _ = <AccountBalance<T>>::clear_prefix((id,), u32::MAX, None);
+ let _ = <WalletOperator<T>>::clear_prefix((id,), u32::MAX, None);
Ok(())
}
@@ -1193,6 +1206,9 @@
if <Allowance<T>>::get((collection.id, token)).as_ref() == Some(spender) {
return Ok(());
}
+ if <WalletOperator<T>>::get((collection.id, from, spender)) == Some(true) {
+ return Ok(());
+ }
ensure!(
collection.ignores_allowance(spender),
<CommonError<T>>::ApprovedValueTooLow
@@ -1326,4 +1342,52 @@
) -> DispatchResult {
Self::create_multiple_items(collection, sender, vec![data], nesting_budget)
}
+
+ /// Sets or unsets the approval of a given operator.
+ ///
+ /// An operator is allowed to transfer all token pieces of the sender on their behalf.
+ /// - `owner`: Token owner
+ /// - `operator`: Operator
+ /// - `approve`: Is operator enabled or disabled
+ pub fn set_approval_for_all(
+ collection: &NonfungibleHandle<T>,
+ owner: &T::CrossAccountId,
+ operator: &T::CrossAccountId,
+ approve: bool,
+ ) -> DispatchResult {
+ if collection.permissions.access() == AccessMode::AllowList {
+ collection.check_allowlist(owner)?;
+ collection.check_allowlist(operator)?;
+ }
+
+ <PalletCommon<T>>::ensure_correct_receiver(operator)?;
+
+ // =========
+
+ <WalletOperator<T>>::insert((collection.id, owner, operator), approve);
+ <PalletEvm<T>>::deposit_log(
+ ERC721Events::ApprovalForAll {
+ owner: *owner.as_eth(),
+ operator: *operator.as_eth(),
+ approved: approve,
+ }
+ .to_log(collection_id_to_address(collection.id)),
+ );
+ <PalletCommon<T>>::deposit_event(CommonEvent::ApprovedForAll(
+ collection.id,
+ owner.clone(),
+ operator.clone(),
+ approve,
+ ));
+ Ok(())
+ }
+
+ /// Tells whether an operator is approved by a given owner.
+ pub fn is_approved_for_all(
+ collection: &NonfungibleHandle<T>,
+ owner: &T::CrossAccountId,
+ operator: &T::CrossAccountId,
+ ) -> bool {
+ <WalletOperator<T>>::get((collection.id, owner, operator)).unwrap_or(false)
+ }
}
pallets/nonfungible/src/stubs/UniqueNFT.rawdiffbeforeafterbothbinary blob — no preview
pallets/nonfungible/src/stubs/UniqueNFT.soldiffbeforeafterboth--- a/pallets/nonfungible/src/stubs/UniqueNFT.sol
+++ b/pallets/nonfungible/src/stubs/UniqueNFT.sol
@@ -1020,7 +1020,10 @@
dummy = 0;
}
- /// @dev Not implemented
+ /// @notice Sets or unsets the approval of a given operator.
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// @param operator Operator
+ /// @param approved Is operator enabled or disabled
/// @dev EVM selector for this function is: 0xa22cb465,
/// or in textual repr: setApprovalForAll(address,bool)
function setApprovalForAll(address operator, bool approved) public {
@@ -1040,15 +1043,15 @@
return 0x0000000000000000000000000000000000000000;
}
- /// @dev Not implemented
+ /// @notice Tells whether an operator is approved by a given owner.
/// @dev EVM selector for this function is: 0xe985e9c5,
/// or in textual repr: isApprovedForAll(address,address)
- function isApprovedForAll(address owner, address operator) public view returns (address) {
+ function isApprovedForAll(address owner, address operator) public view returns (bool) {
require(false, stub_error);
owner;
operator;
dummy;
- return 0x0000000000000000000000000000000000000000;
+ return false;
}
/// @notice Returns collection helper contract address
pallets/nonfungible/src/weights.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/weights.rs
+++ b/pallets/nonfungible/src/weights.rs
@@ -26,6 +26,7 @@
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
+#![allow(missing_docs)]
#![allow(clippy::unnecessary_cast)]
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
@@ -47,6 +48,8 @@
fn set_token_properties(b: u32, ) -> Weight;
fn delete_token_properties(b: u32, ) -> Weight;
fn token_owner() -> Weight;
+ fn set_approval_for_all() -> Weight;
+ fn is_approved_for_all() -> Weight;
}
/// Weights for pallet_nonfungible using the Substrate node and recommended hardware.
@@ -195,6 +198,16 @@
Weight::from_ref_time(4_366_000)
.saturating_add(T::DbWeight::get().reads(1 as u64))
}
+ // Storage: Nonfungible WalletOperator (r:0 w:1)
+ fn set_approval_for_all() -> Weight {
+ Weight::from_ref_time(16_231_000 as u64)
+ .saturating_add(T::DbWeight::get().writes(1 as u64))
+ }
+ // Storage: Nonfungible WalletOperator (r:1 w:0)
+ fn is_approved_for_all() -> Weight {
+ Weight::from_ref_time(6_161_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(1 as u64))
+ }
}
// For backwards compatibility and tests
@@ -342,4 +355,14 @@
Weight::from_ref_time(4_366_000)
.saturating_add(RocksDbWeight::get().reads(1 as u64))
}
+ // Storage: Nonfungible WalletOperator (r:0 w:1)
+ fn set_approval_for_all() -> Weight {
+ Weight::from_ref_time(16_231_000 as u64)
+ .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ }
+ // Storage: Nonfungible WalletOperator (r:1 w:0)
+ fn is_approved_for_all() -> Weight {
+ Weight::from_ref_time(6_161_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(1 as u64))
+ }
}
pallets/refungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/refungible/src/benchmarking.rs
+++ b/pallets/refungible/src/benchmarking.rs
@@ -290,4 +290,18 @@
};
let item = create_max_item(&collection, &sender, [(owner.clone(), 100)])?;
}: {<Pallet<T>>::token_owner(collection.id, item)}
+
+ set_approval_for_all {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ operator: cross_from_sub(owner); owner: cross_sub;
+ };
+ }: {<Pallet<T>>::set_approval_for_all(&collection, &owner, &operator, true)}
+
+ is_approved_for_all {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ operator: cross_from_sub(owner); owner: cross_sub;
+ };
+ }: {<Pallet<T>>::is_approved_for_all(&collection, &owner, &operator)}
}
pallets/refungible/src/common.rsdiffbeforeafterboth--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -152,6 +152,10 @@
fn token_owner() -> Weight {
<SelfWeightOf<T>>::token_owner()
}
+
+ fn set_approval_for_all() -> Weight {
+ <SelfWeightOf<T>>::set_approval_for_all()
+ }
}
fn map_create_data<T: Config>(
@@ -516,6 +520,22 @@
fn total_pieces(&self, token: TokenId) -> Option<u128> {
<Pallet<T>>::total_pieces(self.id, token)
}
+
+ fn set_approval_for_all(
+ &self,
+ owner: T::CrossAccountId,
+ operator: T::CrossAccountId,
+ approve: bool,
+ ) -> DispatchResultWithPostInfo {
+ with_weight(
+ <Pallet<T>>::set_approval_for_all(self, &owner, &operator, approve),
+ <CommonWeights<T>>::set_approval_for_all(),
+ )
+ }
+
+ fn is_approved_for_all(&self, owner: T::CrossAccountId, operator: T::CrossAccountId) -> bool {
+ <Pallet<T>>::is_approved_for_all(self, &owner, &operator)
+ }
}
impl<T: Config> RefungibleExtensions<T> for RefungibleHandle<T> {
pallets/refungible/src/erc.rsdiffbeforeafterboth--- a/pallets/refungible/src/erc.rs
+++ b/pallets/refungible/src/erc.rs
@@ -461,15 +461,23 @@
Err("not implemented".into())
}
- /// @dev Not implemented
+ /// @notice Sets or unsets the approval of a given operator.
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// @param operator Operator
+ /// @param approved Is operator enabled or disabled
+ #[weight(<SelfWeightOf<T>>::set_approval_for_all())]
fn set_approval_for_all(
&mut self,
- _caller: caller,
- _operator: address,
- _approved: bool,
+ caller: caller,
+ operator: address,
+ approved: bool,
) -> Result<void> {
- // TODO: Not implemetable
- Err("not implemented".into())
+ let caller = T::CrossAccountId::from_eth(caller);
+ let operator = T::CrossAccountId::from_eth(operator);
+
+ <Pallet<T>>::set_approval_for_all(self, &caller, &operator, approved)
+ .map_err(dispatch_to_evm::<T>)?;
+ Ok(())
}
/// @dev Not implemented
@@ -478,10 +486,13 @@
Err("not implemented".into())
}
- /// @dev Not implemented
- fn is_approved_for_all(&self, _owner: address, _operator: address) -> Result<address> {
- // TODO: Not implemetable
- Err("not implemented".into())
+ /// @notice Tells whether an operator is approved by a given owner.
+ #[weight(<SelfWeightOf<T>>::is_approved_for_all())]
+ fn is_approved_for_all(&self, owner: address, operator: address) -> Result<bool> {
+ let owner = T::CrossAccountId::from_eth(owner);
+ let operator = T::CrossAccountId::from_eth(operator);
+
+ Ok(<Pallet<T>>::is_approved_for_all(self, &owner, &operator))
}
/// @notice Returns collection helper contract address
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -273,6 +273,18 @@
QueryKind = ValueQuery,
>;
+ /// Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.
+ #[pallet::storage]
+ pub type WalletOperator<T: Config> = StorageNMap<
+ Key = (
+ Key<Twox64Concat, CollectionId>,
+ Key<Blake2_128Concat, T::CrossAccountId>,
+ Key<Blake2_128Concat, T::CrossAccountId>,
+ ),
+ Value = bool,
+ QueryKind = OptionQuery,
+ >;
+
#[pallet::hooks]
impl<T: Config> Hooks<BlockNumberFor<T>> for Pallet<T> {
fn on_runtime_upgrade() -> Weight {
@@ -1161,6 +1173,12 @@
}
let allowance =
<Allowance<T>>::get((collection.id, token, from, &spender)).checked_sub(amount);
+
+ // Allowance if any would be reduced if spender is also wallet operator
+ if <WalletOperator<T>>::get((collection.id, from, spender)) == Some(true) {
+ return Ok(allowance);
+ }
+
if allowance.is_none() {
ensure!(
collection.ignores_allowance(spender),
@@ -1387,4 +1405,52 @@
Some(res)
}
}
+
+ /// Sets or unsets the approval of a given operator.
+ ///
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// - `owner`: Token owner
+ /// - `operator`: Operator
+ /// - `approve`: Is operator enabled or disabled
+ pub fn set_approval_for_all(
+ collection: &RefungibleHandle<T>,
+ owner: &T::CrossAccountId,
+ operator: &T::CrossAccountId,
+ approve: bool,
+ ) -> DispatchResult {
+ if collection.permissions.access() == AccessMode::AllowList {
+ collection.check_allowlist(owner)?;
+ collection.check_allowlist(operator)?;
+ }
+
+ <PalletCommon<T>>::ensure_correct_receiver(operator)?;
+
+ // =========
+
+ <WalletOperator<T>>::insert((collection.id, owner, operator), approve);
+ <PalletEvm<T>>::deposit_log(
+ ERC721Events::ApprovalForAll {
+ owner: *owner.as_eth(),
+ operator: *operator.as_eth(),
+ approved: approve,
+ }
+ .to_log(collection_id_to_address(collection.id)),
+ );
+ <PalletCommon<T>>::deposit_event(CommonEvent::ApprovedForAll(
+ collection.id,
+ owner.clone(),
+ operator.clone(),
+ approve,
+ ));
+ Ok(())
+ }
+
+ /// Tells whether an operator is approved by a given owner.
+ pub fn is_approved_for_all(
+ collection: &RefungibleHandle<T>,
+ owner: &T::CrossAccountId,
+ operator: &T::CrossAccountId,
+ ) -> bool {
+ <WalletOperator<T>>::get((collection.id, owner, operator)).unwrap_or(false)
+ }
}
pallets/refungible/src/stubs/UniqueRefungible.rawdiffbeforeafterbothbinary blob — no preview
pallets/refungible/src/stubs/UniqueRefungible.soldiffbeforeafterboth--- a/pallets/refungible/src/stubs/UniqueRefungible.sol
+++ b/pallets/refungible/src/stubs/UniqueRefungible.sol
@@ -1017,7 +1017,10 @@
dummy = 0;
}
- /// @dev Not implemented
+ /// @notice Sets or unsets the approval of a given operator.
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// @param operator Operator
+ /// @param approved Is operator enabled or disabled
/// @dev EVM selector for this function is: 0xa22cb465,
/// or in textual repr: setApprovalForAll(address,bool)
function setApprovalForAll(address operator, bool approved) public {
@@ -1037,15 +1040,15 @@
return 0x0000000000000000000000000000000000000000;
}
- /// @dev Not implemented
+ /// @notice Tells whether an operator is approved by a given owner.
/// @dev EVM selector for this function is: 0xe985e9c5,
/// or in textual repr: isApprovedForAll(address,address)
- function isApprovedForAll(address owner, address operator) public view returns (address) {
+ function isApprovedForAll(address owner, address operator) public view returns (bool) {
require(false, stub_error);
owner;
operator;
dummy;
- return 0x0000000000000000000000000000000000000000;
+ return false;
}
/// @notice Returns collection helper contract address
pallets/refungible/src/weights.rsdiffbeforeafterboth--- a/pallets/refungible/src/weights.rs
+++ b/pallets/refungible/src/weights.rs
@@ -3,7 +3,7 @@
//! Autogenerated weights for pallet_refungible
//!
//! THIS FILE WAS AUTO-GENERATED USING THE SUBSTRATE BENCHMARK CLI VERSION 4.0.0-dev
-//! DATE: 2022-08-15, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
+//! DATE: 2022-11-25, STEPS: `50`, REPEAT: 80, LOW RANGE: `[]`, HIGH RANGE: `[]`
//! EXECUTION: None, WASM-EXECUTION: Compiled, CHAIN: None, DB CACHE: 1024
// Executed Command:
@@ -26,6 +26,7 @@
#![cfg_attr(rustfmt, rustfmt_skip)]
#![allow(unused_parens)]
#![allow(unused_imports)]
+#![allow(missing_docs)]
#![allow(clippy::unnecessary_cast)]
use frame_support::{traits::Get, weights::{Weight, constants::RocksDbWeight}};
@@ -54,6 +55,8 @@
fn delete_token_properties(b: u32, ) -> Weight;
fn repartition_item() -> Weight;
fn token_owner() -> Weight;
+ fn set_approval_for_all() -> Weight;
+ fn is_approved_for_all() -> Weight;
}
/// Weights for pallet_refungible using the Substrate node and recommended hardware.
@@ -259,6 +262,16 @@
Weight::from_ref_time(9_431_000)
.saturating_add(T::DbWeight::get().reads(2 as u64))
}
+ // Storage: Refungible WalletOperator (r:0 w:1)
+ fn set_approval_for_all() -> Weight {
+ Weight::from_ref_time(16_150_000 as u64)
+ .saturating_add(T::DbWeight::get().writes(1 as u64))
+ }
+ // Storage: Refungible WalletOperator (r:1 w:0)
+ fn is_approved_for_all() -> Weight {
+ Weight::from_ref_time(5_901_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(1 as u64))
+ }
}
// For backwards compatibility and tests
@@ -463,4 +476,14 @@
Weight::from_ref_time(9_431_000)
.saturating_add(RocksDbWeight::get().reads(2 as u64))
}
+ // Storage: Refungible WalletOperator (r:0 w:1)
+ fn set_approval_for_all() -> Weight {
+ Weight::from_ref_time(16_150_000 as u64)
+ .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ }
+ // Storage: Refungible WalletOperator (r:1 w:0)
+ fn is_approved_for_all() -> Weight {
+ Weight::from_ref_time(5_901_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(1 as u64))
+ }
}
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -1126,6 +1126,28 @@
}
})
}
+
+ /// Sets or unsets the approval of a given operator.
+ ///
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ ///
+ /// # Arguments
+ ///
+ /// * `owner`: Token owner
+ /// * `operator`: Operator
+ /// * `approve`: Is operator enabled or disabled
+ #[weight = T::CommonWeightInfo::set_approval_for_all()]
+ pub fn set_approval_for_all(
+ origin,
+ collection_id: CollectionId,
+ operator: T::CrossAccountId,
+ approve: bool,
+ ) -> DispatchResultWithPostInfo {
+ let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
+ dispatch_tx::<T, _>(collection_id, |d| {
+ d.set_approval_for_all(sender, operator, approve)
+ })
+ }
}
}
primitives/rpc/src/lib.rsdiffbeforeafterboth--- a/primitives/rpc/src/lib.rs
+++ b/primitives/rpc/src/lib.rs
@@ -132,5 +132,8 @@
fn total_pieces(collection_id: CollectionId, token_id: TokenId) -> Result<Option<u128>>;
fn token_owners(collection: CollectionId, token: TokenId) -> Result<Vec<CrossAccountId>>;
+
+ /// Get whether an operator is approved by a given owner.
+ fn is_approved_for_all(collection: CollectionId, owner: CrossAccountId, operator: CrossAccountId) -> Result<bool>;
}
}
runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -187,6 +187,10 @@
fn total_pieces(collection: CollectionId, token_id: TokenId) -> Result<Option<u128>, DispatchError> {
dispatch_unique_runtime!(collection.total_pieces(token_id))
}
+
+ fn is_approved_for_all(collection: CollectionId, owner: CrossAccountId, operator: CrossAccountId) -> Result<bool, DispatchError> {
+ dispatch_unique_runtime!(collection.is_approved_for_all(owner, operator))
+ }
}
impl app_promotion_rpc::AppPromotionApi<Block, BlockNumber, CrossAccountId, AccountId> for Runtime {
runtime/common/weights.rsdiffbeforeafterboth--- a/runtime/common/weights.rs
+++ b/runtime/common/weights.rs
@@ -120,6 +120,10 @@
fn token_owner() -> Weight {
max_weight_of!(token_owner())
}
+
+ fn set_approval_for_all() -> Weight {
+ max_weight_of!(set_approval_for_all())
+ }
}
#[cfg(feature = "refungible")]
tests/src/approve.test.tsdiffbeforeafterboth--- a/tests/src/approve.test.ts
+++ b/tests/src/approve.test.ts
@@ -603,3 +603,40 @@
await expect(approveTx()).to.be.rejected;
});
});
+
+describe('Normal user can approve other users to be wallet operator:', () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor);
+ });
+ });
+
+ itSub('[nft] Enable and disable approval', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ await helper.nft.mintToken(alice, {collectionId: collectionId, owner: alice.address});
+ const checkBeforeApprovalTx = () => helper.nft.isApprovedForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(await checkBeforeApprovalTx()).to.be.false;
+ await helper.nft.setApprovalForAll(alice, collectionId, {Substrate: bob.address}, true);
+ const checkAfterApprovalTx = () => helper.nft.isApprovedForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(await checkAfterApprovalTx()).to.be.true;
+ await helper.nft.setApprovalForAll(alice, collectionId, {Substrate: bob.address}, false);
+ const checkAfterDisapprovalTx = () => helper.nft.isApprovedForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(await checkAfterDisapprovalTx()).to.be.false;
+ });
+
+ itSub.ifWithPallets('[rft] Enable and disable approval', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const checkBeforeApprovalTx = () => helper.rft.isApprovedForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(await checkBeforeApprovalTx()).to.be.false;
+ await helper.rft.setApprovalForAll(alice, collectionId, {Substrate: bob.address}, true);
+ const checkAfterApprovalTx = () => helper.rft.isApprovedForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(await checkAfterApprovalTx()).to.be.true;
+ await helper.rft.setApprovalForAll(alice, collectionId, {Substrate: bob.address}, false);
+ const checkAfterDisapprovalTx = () => helper.rft.isApprovedForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(await checkAfterDisapprovalTx()).to.be.false;
+ });
+});
tests/src/eth/abi/nonFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/nonFungible.json
+++ b/tests/src/eth/abi/nonFungible.json
@@ -384,7 +384,7 @@
{ "internalType": "address", "name": "operator", "type": "address" }
],
"name": "isApprovedForAll",
- "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
tests/src/eth/abi/reFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/reFungible.json
+++ b/tests/src/eth/abi/reFungible.json
@@ -366,7 +366,7 @@
{ "internalType": "address", "name": "operator", "type": "address" }
],
"name": "isApprovedForAll",
- "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
tests/src/eth/api/UniqueNFT.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueNFT.sol
+++ b/tests/src/eth/api/UniqueNFT.sol
@@ -671,7 +671,10 @@
/// or in textual repr: approve(address,uint256)
function approve(address approved, uint256 tokenId) external;
- /// @dev Not implemented
+ /// @notice Sets or unsets the approval of a given operator.
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// @param operator Operator
+ /// @param approved Is operator enabled or disabled
/// @dev EVM selector for this function is: 0xa22cb465,
/// or in textual repr: setApprovalForAll(address,bool)
function setApprovalForAll(address operator, bool approved) external;
@@ -681,10 +684,10 @@
/// or in textual repr: getApproved(uint256)
function getApproved(uint256 tokenId) external view returns (address);
- /// @dev Not implemented
+ /// @notice Tells whether an operator is approved by a given owner.
/// @dev EVM selector for this function is: 0xe985e9c5,
/// or in textual repr: isApprovedForAll(address,address)
- function isApprovedForAll(address owner, address operator) external view returns (address);
+ function isApprovedForAll(address owner, address operator) external view returns (bool);
/// @notice Returns collection helper contract address
/// @dev EVM selector for this function is: 0x1896cce6,
tests/src/eth/api/UniqueRefungible.soldiffbeforeafterboth--- a/tests/src/eth/api/UniqueRefungible.sol
+++ b/tests/src/eth/api/UniqueRefungible.sol
@@ -668,7 +668,10 @@
/// or in textual repr: approve(address,uint256)
function approve(address approved, uint256 tokenId) external;
- /// @dev Not implemented
+ /// @notice Sets or unsets the approval of a given operator.
+ /// An operator is allowed to transfer all tokens of the sender on their behalf.
+ /// @param operator Operator
+ /// @param approved Is operator enabled or disabled
/// @dev EVM selector for this function is: 0xa22cb465,
/// or in textual repr: setApprovalForAll(address,bool)
function setApprovalForAll(address operator, bool approved) external;
@@ -678,10 +681,10 @@
/// or in textual repr: getApproved(uint256)
function getApproved(uint256 tokenId) external view returns (address);
- /// @dev Not implemented
+ /// @notice Tells whether an operator is approved by a given owner.
/// @dev EVM selector for this function is: 0xe985e9c5,
/// or in textual repr: isApprovedForAll(address,address)
- function isApprovedForAll(address owner, address operator) external view returns (address);
+ function isApprovedForAll(address owner, address operator) external view returns (bool);
/// @notice Returns collection helper contract address
/// @dev EVM selector for this function is: 0x1896cce6,
tests/src/eth/nonFungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/nonFungible.test.ts
+++ b/tests/src/eth/nonFungible.test.ts
@@ -249,6 +249,114 @@
}
});
+ itEth('Can perform setApprovalForAll()', async ({helper}) => {
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = helper.eth.createAccount();
+
+ const collection = await helper.nft.mintCollection(minter, {});
+
+ const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(collectionAddress, 'nft', owner);
+
+ const approvedBefore = await contract.methods.isApprovedForAll(owner, operator).call();
+ expect(approvedBefore).to.be.equal(false);
+
+ {
+ const result = await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+
+ expect(result.events.ApprovalForAll).to.be.like({
+ address: collectionAddress,
+ event: 'ApprovalForAll',
+ returnValues: {
+ owner,
+ operator,
+ approved: true,
+ },
+ });
+
+ const approvedAfter = await contract.methods.isApprovedForAll(owner, operator).call();
+ expect(approvedAfter).to.be.equal(true);
+ }
+
+ {
+ const result = await contract.methods.setApprovalForAll(operator, false).send({from: owner});
+
+ expect(result.events.ApprovalForAll).to.be.like({
+ address: collectionAddress,
+ event: 'ApprovalForAll',
+ returnValues: {
+ owner,
+ operator,
+ approved: false,
+ },
+ });
+
+ const approvedAfter = await contract.methods.isApprovedForAll(owner, operator).call();
+ expect(approvedAfter).to.be.equal(false);
+ }
+ });
+
+ itEth('Can perform burn with ApprovalForAll', async ({helper}) => {
+ const collection = await helper.nft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'nft');
+
+ {
+ await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+ const ownerCross = helper.ethCrossAccount.fromAddress(owner);
+ const result = await contract.methods.burnFromCross(ownerCross, token.tokenId).send({from: operator});
+ const events = result.events.Transfer;
+
+ expect(events).to.be.like({
+ address,
+ event: 'Transfer',
+ returnValues: {
+ from: owner,
+ to: '0x0000000000000000000000000000000000000000',
+ tokenId: token.tokenId.toString(),
+ },
+ });
+ }
+ });
+
+ itEth('Can perform transfer with ApprovalForAll', async ({helper}) => {
+ const collection = await helper.nft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = await helper.eth.createAccountWithBalance(donor);
+ const receiver = charlie;
+
+ const token = await collection.mintToken(minter, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'nft');
+
+ {
+ await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+ const ownerCross = helper.ethCrossAccount.fromAddress(owner);
+ const recieverCross = helper.ethCrossAccount.fromKeyringPair(receiver);
+ const result = await contract.methods.transferFromCross(ownerCross, recieverCross, token.tokenId).send({from: operator});
+ const event = result.events.Transfer;
+ expect(event).to.be.like({
+ address: helper.ethAddress.fromCollectionId(collection.collectionId),
+ event: 'Transfer',
+ returnValues: {
+ from: owner,
+ to: helper.address.substrateToEth(receiver.address),
+ tokenId: token.tokenId.toString(),
+ },
+ });
+ }
+
+ expect(await token.getOwner()).to.be.like({Substrate: receiver.address});
+ });
+
itEth('Can perform burnFromCross()', async ({helper}) => {
const collection = await helper.nft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
const ownerSub = bob;
@@ -822,3 +930,53 @@
expect(symbol).to.equal('CHANGE');
});
});
+
+describe('Negative tests', () => {
+ let donor: IKeyringPair;
+ let minter: IKeyringPair;
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+
+ before(async function() {
+ await usingEthPlaygrounds(async (helper, privateKey) => {
+ donor = await privateKey({filename: __filename});
+ [minter, alice, bob] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
+
+ itEth('[negative] Cant perform burn without approval', async ({helper}) => {
+ const collection = await helper.nft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = bob;
+ const spender = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, {Substrate: owner.address});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'nft');
+
+ {
+ const ownerCross = helper.ethCrossAccount.fromKeyringPair(owner);
+ await expect(contract.methods.burnFromCross(ownerCross, token.tokenId).send({from: spender})).to.be.rejected;
+ }
+ });
+
+ itEth('[negative] Cant perform transfer without approval', async ({helper}) => {
+ const collection = await helper.nft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+ const owner = bob;
+ const receiver = alice;
+
+ const spender = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, {Substrate: owner.address});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'nft');
+
+ {
+ const ownerCross = helper.ethCrossAccount.fromKeyringPair(owner);
+ const recieverCross = helper.ethCrossAccount.fromKeyringPair(receiver);
+ await expect(contract.methods.transferFromCross(ownerCross, recieverCross, token.tokenId).send({from: spender})).to.be.rejected;
+ }
+ });
+});
tests/src/eth/reFungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/reFungible.test.ts
+++ b/tests/src/eth/reFungible.test.ts
@@ -169,6 +169,136 @@
}
});
+ itEth('Can perform setApprovalForAll()', async ({helper}) => {
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = helper.eth.createAccount();
+
+ const collection = await helper.rft.mintCollection(minter, {});
+
+ const collectionAddress = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(collectionAddress, 'rft', owner);
+
+ const approvedBefore = await contract.methods.isApprovedForAll(owner, operator).call();
+ expect(approvedBefore).to.be.equal(false);
+
+ {
+ const result = await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+
+ expect(result.events.ApprovalForAll).to.be.like({
+ address: collectionAddress,
+ event: 'ApprovalForAll',
+ returnValues: {
+ owner,
+ operator,
+ approved: true,
+ },
+ });
+
+ const approvedAfter = await contract.methods.isApprovedForAll(owner, operator).call();
+ expect(approvedAfter).to.be.equal(true);
+ }
+
+ {
+ const result = await contract.methods.setApprovalForAll(operator, false).send({from: owner});
+
+ expect(result.events.ApprovalForAll).to.be.like({
+ address: collectionAddress,
+ event: 'ApprovalForAll',
+ returnValues: {
+ owner,
+ operator,
+ approved: false,
+ },
+ });
+
+ const approvedAfter = await contract.methods.isApprovedForAll(owner, operator).call();
+ expect(approvedAfter).to.be.equal(false);
+ }
+ });
+
+ itEth('Can perform burn with ApprovalForAll', async ({helper}) => {
+ const collection = await helper.rft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, 100n, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'rft');
+
+ {
+ await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+ const ownerCross = helper.ethCrossAccount.fromAddress(owner);
+ const result = await contract.methods.burnFromCross(ownerCross, token.tokenId).send({from: operator});
+ const events = result.events.Transfer;
+
+ expect(events).to.be.like({
+ address,
+ event: 'Transfer',
+ returnValues: {
+ from: owner,
+ to: '0x0000000000000000000000000000000000000000',
+ tokenId: token.tokenId.toString(),
+ },
+ });
+ }
+ });
+
+ itEth('Can perform burn with approve and approvalForAll', async ({helper}) => {
+ const collection = await helper.rft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, 100n, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'rft');
+
+ const rftToken = helper.ethNativeContract.rftTokenById(token.collectionId, token.tokenId, owner);
+
+ {
+ await rftToken.methods.approve(operator, 15n).send({from: owner});
+ await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+ await rftToken.methods.burnFrom(owner, 10n).send({from: operator});
+ const allowance = await rftToken.methods.allowance(owner, operator).call();
+ expect(allowance).to.be.equal('5');
+ }
+ });
+
+ itEth('Can perform transfer with ApprovalForAll', async ({helper}) => {
+ const collection = await helper.rft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = await helper.eth.createAccountWithBalance(donor);
+ const operator = await helper.eth.createAccountWithBalance(donor);
+ const receiver = charlie;
+
+ const token = await collection.mintToken(minter, 100n, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'rft');
+
+ {
+ await contract.methods.setApprovalForAll(operator, true).send({from: owner});
+ const ownerCross = helper.ethCrossAccount.fromAddress(owner);
+ const recieverCross = helper.ethCrossAccount.fromKeyringPair(receiver);
+ const result = await contract.methods.transferFromCross(ownerCross, recieverCross, token.tokenId).send({from: operator});
+ const event = result.events.Transfer;
+ expect(event).to.be.like({
+ address: helper.ethAddress.fromCollectionId(collection.collectionId),
+ event: 'Transfer',
+ returnValues: {
+ from: owner,
+ to: helper.address.substrateToEth(receiver.address),
+ tokenId: token.tokenId.toString(),
+ },
+ });
+ }
+
+ expect(await token.getTop10Owners()).to.be.like([{Substrate: receiver.address}]);
+ });
+
itEth('Can perform burn()', async ({helper}) => {
const caller = await helper.eth.createAccountWithBalance(donor);
const {collectionAddress} = await helper.eth.createRFTCollection(caller, 'Burny', '6', '6');
@@ -594,3 +724,52 @@
expect(symbol).to.equal('12');
});
});
+
+describe('Negative tests', () => {
+ let donor: IKeyringPair;
+ let minter: IKeyringPair;
+ let alice: IKeyringPair;
+
+ before(async function() {
+ await usingEthPlaygrounds(async (helper, privateKey) => {
+ donor = await privateKey({filename: __filename});
+ [minter, alice] = await helper.arrange.createAccounts([100n, 100n], donor);
+ });
+ });
+
+ itEth('[negative] Cant perform burn without approval', async ({helper}) => {
+ const collection = await helper.rft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+
+ const owner = await helper.eth.createAccountWithBalance(donor, 100n);
+ const spender = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, 100n, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'rft');
+
+ {
+ const ownerCross = helper.ethCrossAccount.fromAddress(owner);
+ await expect(contract.methods.burnFromCross(ownerCross, token.tokenId).send({from: spender})).to.be.rejected;
+ }
+ });
+
+ itEth('[negative] Cant perform transfer without approval', async ({helper}) => {
+ const collection = await helper.rft.mintCollection(minter, {name: 'A', description: 'B', tokenPrefix: 'C'});
+ const owner = await helper.eth.createAccountWithBalance(donor, 100n);
+ const receiver = alice;
+
+ const spender = await helper.eth.createAccountWithBalance(donor, 100n);
+
+ const token = await collection.mintToken(minter, 100n, {Ethereum: owner});
+
+ const address = helper.ethAddress.fromCollectionId(collection.collectionId);
+ const contract = helper.ethNativeContract.collection(address, 'rft');
+
+ {
+ const ownerCross = helper.ethCrossAccount.fromAddress(owner);
+ const recieverCross = helper.ethCrossAccount.fromKeyringPair(receiver);
+ await expect(contract.methods.transferFromCross(ownerCross, recieverCross, token.tokenId).send({from: spender})).to.be.rejected;
+ }
+ });
+});
tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -386,6 +386,10 @@
**/
NotFungibleDataUsedToMintFungibleCollectionToken: AugmentedError<ApiType>;
/**
+ * Setting approval for all is not allowed.
+ **/
+ SettingApprovalForAllNotAllowed: AugmentedError<ApiType>;
+ /**
* Setting item properties is not allowed.
**/
SettingPropertiesNotAllowed: AugmentedError<ApiType>;
tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-events.ts
+++ b/tests/src/interfaces/augment-api-events.ts
@@ -107,6 +107,10 @@
**/
Approved: AugmentedEvent<ApiType, [u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
/**
+ * Amount pieces of token owned by `sender` was approved for `spender`.
+ **/
+ ApprovedForAll: AugmentedEvent<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;
+ /**
* New collection was created
**/
CollectionCreated: AugmentedEvent<ApiType, [u32, u8, AccountId32]>;
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -442,6 +442,10 @@
**/
tokensMinted: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<u32>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
/**
+ * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.
+ **/
+ walletOperator: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<Option<bool>>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
+ /**
* Generic query
**/
[key: string]: QueryableStorageEntry<ApiType>;
@@ -645,6 +649,10 @@
**/
totalSupply: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<u128>, [u32, u32]> & QueryableStorageEntry<ApiType, [u32, u32]>;
/**
+ * Operator set by a wallet owner that could perform certain transactions on all tokens in the wallet.
+ **/
+ walletOperator: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, arg3: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array) => Observable<Option<bool>>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]> & QueryableStorageEntry<ApiType, [u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr]>;
+ /**
* Generic query
**/
[key: string]: QueryableStorageEntry<ApiType>;
tests/src/interfaces/augment-api-rpc.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-rpc.ts
+++ b/tests/src/interfaces/augment-api-rpc.ts
@@ -720,6 +720,10 @@
**/
effectiveCollectionLimits: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<UpDataStructsCollectionLimits>>>;
/**
+ * Tells whether an operator is approved by a given owner.
+ **/
+ isApprovedForAll: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, owner: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, operator: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, at?: Hash | string | Uint8Array) => Observable<Option<bool>>>;
+ /**
* Get the last token ID created in a collection
**/
lastTokenId: AugmentedRpc<(collection: u32 | AnyNumber | Uint8Array, at?: Hash | string | Uint8Array) => Observable<u32>>;
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -1545,6 +1545,18 @@
**/
repartition: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, tokenId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32, u128]>;
/**
+ * Sets or unsets the approval of a given operator.
+ *
+ * An operator is allowed to transfer all tokens of the sender on their behalf.
+ *
+ * # Arguments
+ *
+ * * `owner`: Token owner
+ * * `operator`: Operator
+ * * `approve`: Is operator enabled or disabled
+ **/
+ setApprovalForAll: AugmentedSubmittable<(collectionId: u32 | AnyNumber | Uint8Array, operator: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;
+ /**
* Set specific limits of a collection. Empty, or None fields mean chain default.
*
* # Permissions
tests/src/interfaces/default/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1286,6 +1286,8 @@
readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isApproved: boolean;
readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
+ readonly isApprovedForAll: boolean;
+ readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;
readonly isCollectionPropertySet: boolean;
readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;
readonly isCollectionPropertyDeleted: boolean;
@@ -1296,7 +1298,7 @@
readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;
readonly isPropertyPermissionSet: boolean;
readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;
- readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
+ readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
}
/** @name PalletConfigurationCall */
@@ -1603,7 +1605,8 @@
readonly isFungibleItemsDontHaveData: boolean;
readonly isFungibleDisallowsNesting: boolean;
readonly isSettingPropertiesNotAllowed: boolean;
- readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
+ readonly isSettingApprovalForAllNotAllowed: boolean;
+ readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingApprovalForAllNotAllowed';
}
/** @name PalletInflationCall */
@@ -2309,7 +2312,13 @@
readonly tokenId: u32;
readonly amount: u128;
} & Struct;
- readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';
+ readonly isSetApprovalForAll: boolean;
+ readonly asSetApprovalForAll: {
+ readonly collectionId: u32;
+ readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;
+ readonly approve: bool;
+ } & Struct;
+ readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetApprovalForAll';
}
/** @name PalletUniqueError */
tests/src/interfaces/lookup.tsdiffbeforeafterboth1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7 /**8 * Lookup3: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>9 **/10 FrameSystemAccountInfo: {11 nonce: 'u32',12 consumers: 'u32',13 providers: 'u32',14 sufficients: 'u32',15 data: 'PalletBalancesAccountData'16 },17 /**18 * Lookup5: pallet_balances::AccountData<Balance>19 **/20 PalletBalancesAccountData: {21 free: 'u128',22 reserved: 'u128',23 miscFrozen: 'u128',24 feeFrozen: 'u128'25 },26 /**27 * Lookup7: frame_support::dispatch::PerDispatchClass<sp_weights::weight_v2::Weight>28 **/29 FrameSupportDispatchPerDispatchClassWeight: {30 normal: 'Weight',31 operational: 'Weight',32 mandatory: 'Weight'33 },34 /**35 * Lookup12: sp_runtime::generic::digest::Digest36 **/37 SpRuntimeDigest: {38 logs: 'Vec<SpRuntimeDigestDigestItem>'39 },40 /**41 * Lookup14: sp_runtime::generic::digest::DigestItem42 **/43 SpRuntimeDigestDigestItem: {44 _enum: {45 Other: 'Bytes',46 __Unused1: 'Null',47 __Unused2: 'Null',48 __Unused3: 'Null',49 Consensus: '([u8;4],Bytes)',50 Seal: '([u8;4],Bytes)',51 PreRuntime: '([u8;4],Bytes)',52 __Unused7: 'Null',53 RuntimeEnvironmentUpdated: 'Null'54 }55 },56 /**57 * Lookup17: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>58 **/59 FrameSystemEventRecord: {60 phase: 'FrameSystemPhase',61 event: 'Event',62 topics: 'Vec<H256>'63 },64 /**65 * Lookup19: frame_system::pallet::Event<T>66 **/67 FrameSystemEvent: {68 _enum: {69 ExtrinsicSuccess: {70 dispatchInfo: 'FrameSupportDispatchDispatchInfo',71 },72 ExtrinsicFailed: {73 dispatchError: 'SpRuntimeDispatchError',74 dispatchInfo: 'FrameSupportDispatchDispatchInfo',75 },76 CodeUpdated: 'Null',77 NewAccount: {78 account: 'AccountId32',79 },80 KilledAccount: {81 account: 'AccountId32',82 },83 Remarked: {84 _alias: {85 hash_: 'hash',86 },87 sender: 'AccountId32',88 hash_: 'H256'89 }90 }91 },92 /**93 * Lookup20: frame_support::dispatch::DispatchInfo94 **/95 FrameSupportDispatchDispatchInfo: {96 weight: 'Weight',97 class: 'FrameSupportDispatchDispatchClass',98 paysFee: 'FrameSupportDispatchPays'99 },100 /**101 * Lookup21: frame_support::dispatch::DispatchClass102 **/103 FrameSupportDispatchDispatchClass: {104 _enum: ['Normal', 'Operational', 'Mandatory']105 },106 /**107 * Lookup22: frame_support::dispatch::Pays108 **/109 FrameSupportDispatchPays: {110 _enum: ['Yes', 'No']111 },112 /**113 * Lookup23: sp_runtime::DispatchError114 **/115 SpRuntimeDispatchError: {116 _enum: {117 Other: 'Null',118 CannotLookup: 'Null',119 BadOrigin: 'Null',120 Module: 'SpRuntimeModuleError',121 ConsumerRemaining: 'Null',122 NoProviders: 'Null',123 TooManyConsumers: 'Null',124 Token: 'SpRuntimeTokenError',125 Arithmetic: 'SpRuntimeArithmeticError',126 Transactional: 'SpRuntimeTransactionalError'127 }128 },129 /**130 * Lookup24: sp_runtime::ModuleError131 **/132 SpRuntimeModuleError: {133 index: 'u8',134 error: '[u8;4]'135 },136 /**137 * Lookup25: sp_runtime::TokenError138 **/139 SpRuntimeTokenError: {140 _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']141 },142 /**143 * Lookup26: sp_runtime::ArithmeticError144 **/145 SpRuntimeArithmeticError: {146 _enum: ['Underflow', 'Overflow', 'DivisionByZero']147 },148 /**149 * Lookup27: sp_runtime::TransactionalError150 **/151 SpRuntimeTransactionalError: {152 _enum: ['LimitReached', 'NoLayer']153 },154 /**155 * Lookup28: cumulus_pallet_parachain_system::pallet::Event<T>156 **/157 CumulusPalletParachainSystemEvent: {158 _enum: {159 ValidationFunctionStored: 'Null',160 ValidationFunctionApplied: {161 relayChainBlockNum: 'u32',162 },163 ValidationFunctionDiscarded: 'Null',164 UpgradeAuthorized: {165 codeHash: 'H256',166 },167 DownwardMessagesReceived: {168 count: 'u32',169 },170 DownwardMessagesProcessed: {171 weightUsed: 'Weight',172 dmqHead: 'H256'173 }174 }175 },176 /**177 * Lookup29: pallet_balances::pallet::Event<T, I>178 **/179 PalletBalancesEvent: {180 _enum: {181 Endowed: {182 account: 'AccountId32',183 freeBalance: 'u128',184 },185 DustLost: {186 account: 'AccountId32',187 amount: 'u128',188 },189 Transfer: {190 from: 'AccountId32',191 to: 'AccountId32',192 amount: 'u128',193 },194 BalanceSet: {195 who: 'AccountId32',196 free: 'u128',197 reserved: 'u128',198 },199 Reserved: {200 who: 'AccountId32',201 amount: 'u128',202 },203 Unreserved: {204 who: 'AccountId32',205 amount: 'u128',206 },207 ReserveRepatriated: {208 from: 'AccountId32',209 to: 'AccountId32',210 amount: 'u128',211 destinationStatus: 'FrameSupportTokensMiscBalanceStatus',212 },213 Deposit: {214 who: 'AccountId32',215 amount: 'u128',216 },217 Withdraw: {218 who: 'AccountId32',219 amount: 'u128',220 },221 Slashed: {222 who: 'AccountId32',223 amount: 'u128'224 }225 }226 },227 /**228 * Lookup30: frame_support::traits::tokens::misc::BalanceStatus229 **/230 FrameSupportTokensMiscBalanceStatus: {231 _enum: ['Free', 'Reserved']232 },233 /**234 * Lookup31: pallet_transaction_payment::pallet::Event<T>235 **/236 PalletTransactionPaymentEvent: {237 _enum: {238 TransactionFeePaid: {239 who: 'AccountId32',240 actualFee: 'u128',241 tip: 'u128'242 }243 }244 },245 /**246 * Lookup32: pallet_treasury::pallet::Event<T, I>247 **/248 PalletTreasuryEvent: {249 _enum: {250 Proposed: {251 proposalIndex: 'u32',252 },253 Spending: {254 budgetRemaining: 'u128',255 },256 Awarded: {257 proposalIndex: 'u32',258 award: 'u128',259 account: 'AccountId32',260 },261 Rejected: {262 proposalIndex: 'u32',263 slashed: 'u128',264 },265 Burnt: {266 burntFunds: 'u128',267 },268 Rollover: {269 rolloverBalance: 'u128',270 },271 Deposit: {272 value: 'u128',273 },274 SpendApproved: {275 proposalIndex: 'u32',276 amount: 'u128',277 beneficiary: 'AccountId32'278 }279 }280 },281 /**282 * Lookup33: pallet_sudo::pallet::Event<T>283 **/284 PalletSudoEvent: {285 _enum: {286 Sudid: {287 sudoResult: 'Result<Null, SpRuntimeDispatchError>',288 },289 KeyChanged: {290 oldSudoer: 'Option<AccountId32>',291 },292 SudoAsDone: {293 sudoResult: 'Result<Null, SpRuntimeDispatchError>'294 }295 }296 },297 /**298 * Lookup37: orml_vesting::module::Event<T>299 **/300 OrmlVestingModuleEvent: {301 _enum: {302 VestingScheduleAdded: {303 from: 'AccountId32',304 to: 'AccountId32',305 vestingSchedule: 'OrmlVestingVestingSchedule',306 },307 Claimed: {308 who: 'AccountId32',309 amount: 'u128',310 },311 VestingSchedulesUpdated: {312 who: 'AccountId32'313 }314 }315 },316 /**317 * Lookup38: orml_vesting::VestingSchedule<BlockNumber, Balance>318 **/319 OrmlVestingVestingSchedule: {320 start: 'u32',321 period: 'u32',322 periodCount: 'u32',323 perPeriod: 'Compact<u128>'324 },325 /**326 * Lookup40: orml_xtokens::module::Event<T>327 **/328 OrmlXtokensModuleEvent: {329 _enum: {330 TransferredMultiAssets: {331 sender: 'AccountId32',332 assets: 'XcmV1MultiassetMultiAssets',333 fee: 'XcmV1MultiAsset',334 dest: 'XcmV1MultiLocation'335 }336 }337 },338 /**339 * Lookup41: xcm::v1::multiasset::MultiAssets340 **/341 XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',342 /**343 * Lookup43: xcm::v1::multiasset::MultiAsset344 **/345 XcmV1MultiAsset: {346 id: 'XcmV1MultiassetAssetId',347 fun: 'XcmV1MultiassetFungibility'348 },349 /**350 * Lookup44: xcm::v1::multiasset::AssetId351 **/352 XcmV1MultiassetAssetId: {353 _enum: {354 Concrete: 'XcmV1MultiLocation',355 Abstract: 'Bytes'356 }357 },358 /**359 * Lookup45: xcm::v1::multilocation::MultiLocation360 **/361 XcmV1MultiLocation: {362 parents: 'u8',363 interior: 'XcmV1MultilocationJunctions'364 },365 /**366 * Lookup46: xcm::v1::multilocation::Junctions367 **/368 XcmV1MultilocationJunctions: {369 _enum: {370 Here: 'Null',371 X1: 'XcmV1Junction',372 X2: '(XcmV1Junction,XcmV1Junction)',373 X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',374 X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',375 X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',376 X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',377 X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',378 X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'379 }380 },381 /**382 * Lookup47: xcm::v1::junction::Junction383 **/384 XcmV1Junction: {385 _enum: {386 Parachain: 'Compact<u32>',387 AccountId32: {388 network: 'XcmV0JunctionNetworkId',389 id: '[u8;32]',390 },391 AccountIndex64: {392 network: 'XcmV0JunctionNetworkId',393 index: 'Compact<u64>',394 },395 AccountKey20: {396 network: 'XcmV0JunctionNetworkId',397 key: '[u8;20]',398 },399 PalletInstance: 'u8',400 GeneralIndex: 'Compact<u128>',401 GeneralKey: 'Bytes',402 OnlyChild: 'Null',403 Plurality: {404 id: 'XcmV0JunctionBodyId',405 part: 'XcmV0JunctionBodyPart'406 }407 }408 },409 /**410 * Lookup49: xcm::v0::junction::NetworkId411 **/412 XcmV0JunctionNetworkId: {413 _enum: {414 Any: 'Null',415 Named: 'Bytes',416 Polkadot: 'Null',417 Kusama: 'Null'418 }419 },420 /**421 * Lookup53: xcm::v0::junction::BodyId422 **/423 XcmV0JunctionBodyId: {424 _enum: {425 Unit: 'Null',426 Named: 'Bytes',427 Index: 'Compact<u32>',428 Executive: 'Null',429 Technical: 'Null',430 Legislative: 'Null',431 Judicial: 'Null'432 }433 },434 /**435 * Lookup54: xcm::v0::junction::BodyPart436 **/437 XcmV0JunctionBodyPart: {438 _enum: {439 Voice: 'Null',440 Members: {441 count: 'Compact<u32>',442 },443 Fraction: {444 nom: 'Compact<u32>',445 denom: 'Compact<u32>',446 },447 AtLeastProportion: {448 nom: 'Compact<u32>',449 denom: 'Compact<u32>',450 },451 MoreThanProportion: {452 nom: 'Compact<u32>',453 denom: 'Compact<u32>'454 }455 }456 },457 /**458 * Lookup55: xcm::v1::multiasset::Fungibility459 **/460 XcmV1MultiassetFungibility: {461 _enum: {462 Fungible: 'Compact<u128>',463 NonFungible: 'XcmV1MultiassetAssetInstance'464 }465 },466 /**467 * Lookup56: xcm::v1::multiasset::AssetInstance468 **/469 XcmV1MultiassetAssetInstance: {470 _enum: {471 Undefined: 'Null',472 Index: 'Compact<u128>',473 Array4: '[u8;4]',474 Array8: '[u8;8]',475 Array16: '[u8;16]',476 Array32: '[u8;32]',477 Blob: 'Bytes'478 }479 },480 /**481 * Lookup59: orml_tokens::module::Event<T>482 **/483 OrmlTokensModuleEvent: {484 _enum: {485 Endowed: {486 currencyId: 'PalletForeignAssetsAssetIds',487 who: 'AccountId32',488 amount: 'u128',489 },490 DustLost: {491 currencyId: 'PalletForeignAssetsAssetIds',492 who: 'AccountId32',493 amount: 'u128',494 },495 Transfer: {496 currencyId: 'PalletForeignAssetsAssetIds',497 from: 'AccountId32',498 to: 'AccountId32',499 amount: 'u128',500 },501 Reserved: {502 currencyId: 'PalletForeignAssetsAssetIds',503 who: 'AccountId32',504 amount: 'u128',505 },506 Unreserved: {507 currencyId: 'PalletForeignAssetsAssetIds',508 who: 'AccountId32',509 amount: 'u128',510 },511 ReserveRepatriated: {512 currencyId: 'PalletForeignAssetsAssetIds',513 from: 'AccountId32',514 to: 'AccountId32',515 amount: 'u128',516 status: 'FrameSupportTokensMiscBalanceStatus',517 },518 BalanceSet: {519 currencyId: 'PalletForeignAssetsAssetIds',520 who: 'AccountId32',521 free: 'u128',522 reserved: 'u128',523 },524 TotalIssuanceSet: {525 currencyId: 'PalletForeignAssetsAssetIds',526 amount: 'u128',527 },528 Withdrawn: {529 currencyId: 'PalletForeignAssetsAssetIds',530 who: 'AccountId32',531 amount: 'u128',532 },533 Slashed: {534 currencyId: 'PalletForeignAssetsAssetIds',535 who: 'AccountId32',536 freeAmount: 'u128',537 reservedAmount: 'u128',538 },539 Deposited: {540 currencyId: 'PalletForeignAssetsAssetIds',541 who: 'AccountId32',542 amount: 'u128',543 },544 LockSet: {545 lockId: '[u8;8]',546 currencyId: 'PalletForeignAssetsAssetIds',547 who: 'AccountId32',548 amount: 'u128',549 },550 LockRemoved: {551 lockId: '[u8;8]',552 currencyId: 'PalletForeignAssetsAssetIds',553 who: 'AccountId32'554 }555 }556 },557 /**558 * Lookup60: pallet_foreign_assets::AssetIds559 **/560 PalletForeignAssetsAssetIds: {561 _enum: {562 ForeignAssetId: 'u32',563 NativeAssetId: 'PalletForeignAssetsNativeCurrency'564 }565 },566 /**567 * Lookup61: pallet_foreign_assets::NativeCurrency568 **/569 PalletForeignAssetsNativeCurrency: {570 _enum: ['Here', 'Parent']571 },572 /**573 * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>574 **/575 CumulusPalletXcmpQueueEvent: {576 _enum: {577 Success: {578 messageHash: 'Option<H256>',579 weight: 'Weight',580 },581 Fail: {582 messageHash: 'Option<H256>',583 error: 'XcmV2TraitsError',584 weight: 'Weight',585 },586 BadVersion: {587 messageHash: 'Option<H256>',588 },589 BadFormat: {590 messageHash: 'Option<H256>',591 },592 UpwardMessageSent: {593 messageHash: 'Option<H256>',594 },595 XcmpMessageSent: {596 messageHash: 'Option<H256>',597 },598 OverweightEnqueued: {599 sender: 'u32',600 sentAt: 'u32',601 index: 'u64',602 required: 'Weight',603 },604 OverweightServiced: {605 index: 'u64',606 used: 'Weight'607 }608 }609 },610 /**611 * Lookup64: xcm::v2::traits::Error612 **/613 XcmV2TraitsError: {614 _enum: {615 Overflow: 'Null',616 Unimplemented: 'Null',617 UntrustedReserveLocation: 'Null',618 UntrustedTeleportLocation: 'Null',619 MultiLocationFull: 'Null',620 MultiLocationNotInvertible: 'Null',621 BadOrigin: 'Null',622 InvalidLocation: 'Null',623 AssetNotFound: 'Null',624 FailedToTransactAsset: 'Null',625 NotWithdrawable: 'Null',626 LocationCannotHold: 'Null',627 ExceedsMaxMessageSize: 'Null',628 DestinationUnsupported: 'Null',629 Transport: 'Null',630 Unroutable: 'Null',631 UnknownClaim: 'Null',632 FailedToDecode: 'Null',633 MaxWeightInvalid: 'Null',634 NotHoldingFees: 'Null',635 TooExpensive: 'Null',636 Trap: 'u64',637 UnhandledXcmVersion: 'Null',638 WeightLimitReached: 'u64',639 Barrier: 'Null',640 WeightNotComputable: 'Null'641 }642 },643 /**644 * Lookup66: pallet_xcm::pallet::Event<T>645 **/646 PalletXcmEvent: {647 _enum: {648 Attempted: 'XcmV2TraitsOutcome',649 Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',650 UnexpectedResponse: '(XcmV1MultiLocation,u64)',651 ResponseReady: '(u64,XcmV2Response)',652 Notified: '(u64,u8,u8)',653 NotifyOverweight: '(u64,u8,u8,Weight,Weight)',654 NotifyDispatchError: '(u64,u8,u8)',655 NotifyDecodeFailed: '(u64,u8,u8)',656 InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',657 InvalidResponderVersion: '(XcmV1MultiLocation,u64)',658 ResponseTaken: 'u64',659 AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',660 VersionChangeNotified: '(XcmV1MultiLocation,u32)',661 SupportedVersionChanged: '(XcmV1MultiLocation,u32)',662 NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',663 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'664 }665 },666 /**667 * Lookup67: xcm::v2::traits::Outcome668 **/669 XcmV2TraitsOutcome: {670 _enum: {671 Complete: 'u64',672 Incomplete: '(u64,XcmV2TraitsError)',673 Error: 'XcmV2TraitsError'674 }675 },676 /**677 * Lookup68: xcm::v2::Xcm<RuntimeCall>678 **/679 XcmV2Xcm: 'Vec<XcmV2Instruction>',680 /**681 * Lookup70: xcm::v2::Instruction<RuntimeCall>682 **/683 XcmV2Instruction: {684 _enum: {685 WithdrawAsset: 'XcmV1MultiassetMultiAssets',686 ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',687 ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',688 QueryResponse: {689 queryId: 'Compact<u64>',690 response: 'XcmV2Response',691 maxWeight: 'Compact<u64>',692 },693 TransferAsset: {694 assets: 'XcmV1MultiassetMultiAssets',695 beneficiary: 'XcmV1MultiLocation',696 },697 TransferReserveAsset: {698 assets: 'XcmV1MultiassetMultiAssets',699 dest: 'XcmV1MultiLocation',700 xcm: 'XcmV2Xcm',701 },702 Transact: {703 originType: 'XcmV0OriginKind',704 requireWeightAtMost: 'Compact<u64>',705 call: 'XcmDoubleEncoded',706 },707 HrmpNewChannelOpenRequest: {708 sender: 'Compact<u32>',709 maxMessageSize: 'Compact<u32>',710 maxCapacity: 'Compact<u32>',711 },712 HrmpChannelAccepted: {713 recipient: 'Compact<u32>',714 },715 HrmpChannelClosing: {716 initiator: 'Compact<u32>',717 sender: 'Compact<u32>',718 recipient: 'Compact<u32>',719 },720 ClearOrigin: 'Null',721 DescendOrigin: 'XcmV1MultilocationJunctions',722 ReportError: {723 queryId: 'Compact<u64>',724 dest: 'XcmV1MultiLocation',725 maxResponseWeight: 'Compact<u64>',726 },727 DepositAsset: {728 assets: 'XcmV1MultiassetMultiAssetFilter',729 maxAssets: 'Compact<u32>',730 beneficiary: 'XcmV1MultiLocation',731 },732 DepositReserveAsset: {733 assets: 'XcmV1MultiassetMultiAssetFilter',734 maxAssets: 'Compact<u32>',735 dest: 'XcmV1MultiLocation',736 xcm: 'XcmV2Xcm',737 },738 ExchangeAsset: {739 give: 'XcmV1MultiassetMultiAssetFilter',740 receive: 'XcmV1MultiassetMultiAssets',741 },742 InitiateReserveWithdraw: {743 assets: 'XcmV1MultiassetMultiAssetFilter',744 reserve: 'XcmV1MultiLocation',745 xcm: 'XcmV2Xcm',746 },747 InitiateTeleport: {748 assets: 'XcmV1MultiassetMultiAssetFilter',749 dest: 'XcmV1MultiLocation',750 xcm: 'XcmV2Xcm',751 },752 QueryHolding: {753 queryId: 'Compact<u64>',754 dest: 'XcmV1MultiLocation',755 assets: 'XcmV1MultiassetMultiAssetFilter',756 maxResponseWeight: 'Compact<u64>',757 },758 BuyExecution: {759 fees: 'XcmV1MultiAsset',760 weightLimit: 'XcmV2WeightLimit',761 },762 RefundSurplus: 'Null',763 SetErrorHandler: 'XcmV2Xcm',764 SetAppendix: 'XcmV2Xcm',765 ClearError: 'Null',766 ClaimAsset: {767 assets: 'XcmV1MultiassetMultiAssets',768 ticket: 'XcmV1MultiLocation',769 },770 Trap: 'Compact<u64>',771 SubscribeVersion: {772 queryId: 'Compact<u64>',773 maxResponseWeight: 'Compact<u64>',774 },775 UnsubscribeVersion: 'Null'776 }777 },778 /**779 * Lookup71: xcm::v2::Response780 **/781 XcmV2Response: {782 _enum: {783 Null: 'Null',784 Assets: 'XcmV1MultiassetMultiAssets',785 ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',786 Version: 'u32'787 }788 },789 /**790 * Lookup74: xcm::v0::OriginKind791 **/792 XcmV0OriginKind: {793 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']794 },795 /**796 * Lookup75: xcm::double_encoded::DoubleEncoded<T>797 **/798 XcmDoubleEncoded: {799 encoded: 'Bytes'800 },801 /**802 * Lookup76: xcm::v1::multiasset::MultiAssetFilter803 **/804 XcmV1MultiassetMultiAssetFilter: {805 _enum: {806 Definite: 'XcmV1MultiassetMultiAssets',807 Wild: 'XcmV1MultiassetWildMultiAsset'808 }809 },810 /**811 * Lookup77: xcm::v1::multiasset::WildMultiAsset812 **/813 XcmV1MultiassetWildMultiAsset: {814 _enum: {815 All: 'Null',816 AllOf: {817 id: 'XcmV1MultiassetAssetId',818 fun: 'XcmV1MultiassetWildFungibility'819 }820 }821 },822 /**823 * Lookup78: xcm::v1::multiasset::WildFungibility824 **/825 XcmV1MultiassetWildFungibility: {826 _enum: ['Fungible', 'NonFungible']827 },828 /**829 * Lookup79: xcm::v2::WeightLimit830 **/831 XcmV2WeightLimit: {832 _enum: {833 Unlimited: 'Null',834 Limited: 'Compact<u64>'835 }836 },837 /**838 * Lookup81: xcm::VersionedMultiAssets839 **/840 XcmVersionedMultiAssets: {841 _enum: {842 V0: 'Vec<XcmV0MultiAsset>',843 V1: 'XcmV1MultiassetMultiAssets'844 }845 },846 /**847 * Lookup83: xcm::v0::multi_asset::MultiAsset848 **/849 XcmV0MultiAsset: {850 _enum: {851 None: 'Null',852 All: 'Null',853 AllFungible: 'Null',854 AllNonFungible: 'Null',855 AllAbstractFungible: {856 id: 'Bytes',857 },858 AllAbstractNonFungible: {859 class: 'Bytes',860 },861 AllConcreteFungible: {862 id: 'XcmV0MultiLocation',863 },864 AllConcreteNonFungible: {865 class: 'XcmV0MultiLocation',866 },867 AbstractFungible: {868 id: 'Bytes',869 amount: 'Compact<u128>',870 },871 AbstractNonFungible: {872 class: 'Bytes',873 instance: 'XcmV1MultiassetAssetInstance',874 },875 ConcreteFungible: {876 id: 'XcmV0MultiLocation',877 amount: 'Compact<u128>',878 },879 ConcreteNonFungible: {880 class: 'XcmV0MultiLocation',881 instance: 'XcmV1MultiassetAssetInstance'882 }883 }884 },885 /**886 * Lookup84: xcm::v0::multi_location::MultiLocation887 **/888 XcmV0MultiLocation: {889 _enum: {890 Null: 'Null',891 X1: 'XcmV0Junction',892 X2: '(XcmV0Junction,XcmV0Junction)',893 X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',894 X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',895 X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',896 X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',897 X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',898 X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'899 }900 },901 /**902 * Lookup85: xcm::v0::junction::Junction903 **/904 XcmV0Junction: {905 _enum: {906 Parent: 'Null',907 Parachain: 'Compact<u32>',908 AccountId32: {909 network: 'XcmV0JunctionNetworkId',910 id: '[u8;32]',911 },912 AccountIndex64: {913 network: 'XcmV0JunctionNetworkId',914 index: 'Compact<u64>',915 },916 AccountKey20: {917 network: 'XcmV0JunctionNetworkId',918 key: '[u8;20]',919 },920 PalletInstance: 'u8',921 GeneralIndex: 'Compact<u128>',922 GeneralKey: 'Bytes',923 OnlyChild: 'Null',924 Plurality: {925 id: 'XcmV0JunctionBodyId',926 part: 'XcmV0JunctionBodyPart'927 }928 }929 },930 /**931 * Lookup86: xcm::VersionedMultiLocation932 **/933 XcmVersionedMultiLocation: {934 _enum: {935 V0: 'XcmV0MultiLocation',936 V1: 'XcmV1MultiLocation'937 }938 },939 /**940 * Lookup87: cumulus_pallet_xcm::pallet::Event<T>941 **/942 CumulusPalletXcmEvent: {943 _enum: {944 InvalidFormat: '[u8;8]',945 UnsupportedVersion: '[u8;8]',946 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'947 }948 },949 /**950 * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>951 **/952 CumulusPalletDmpQueueEvent: {953 _enum: {954 InvalidFormat: {955 messageId: '[u8;32]',956 },957 UnsupportedVersion: {958 messageId: '[u8;32]',959 },960 ExecutedDownward: {961 messageId: '[u8;32]',962 outcome: 'XcmV2TraitsOutcome',963 },964 WeightExhausted: {965 messageId: '[u8;32]',966 remainingWeight: 'Weight',967 requiredWeight: 'Weight',968 },969 OverweightEnqueued: {970 messageId: '[u8;32]',971 overweightIndex: 'u64',972 requiredWeight: 'Weight',973 },974 OverweightServiced: {975 overweightIndex: 'u64',976 weightUsed: 'Weight'977 }978 }979 },980 /**981 * Lookup89: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>982 **/983 PalletUniqueRawEvent: {984 _enum: {985 CollectionSponsorRemoved: 'u32',986 CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',987 CollectionOwnedChanged: '(u32,AccountId32)',988 CollectionSponsorSet: '(u32,AccountId32)',989 SponsorshipConfirmed: '(u32,AccountId32)',990 CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',991 AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',992 AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',993 CollectionLimitSet: 'u32',994 CollectionPermissionSet: 'u32'995 }996 },997 /**998 * Lookup90: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>999 **/1000 PalletEvmAccountBasicCrossAccountIdRepr: {1001 _enum: {1002 Substrate: 'AccountId32',1003 Ethereum: 'H160'1004 }1005 },1006 /**1007 * Lookup93: pallet_unique_scheduler_v2::pallet::Event<T>1008 **/1009 PalletUniqueSchedulerV2Event: {1010 _enum: {1011 Scheduled: {1012 when: 'u32',1013 index: 'u32',1014 },1015 Canceled: {1016 when: 'u32',1017 index: 'u32',1018 },1019 Dispatched: {1020 task: '(u32,u32)',1021 id: 'Option<[u8;32]>',1022 result: 'Result<Null, SpRuntimeDispatchError>',1023 },1024 PriorityChanged: {1025 task: '(u32,u32)',1026 priority: 'u8',1027 },1028 CallUnavailable: {1029 task: '(u32,u32)',1030 id: 'Option<[u8;32]>',1031 },1032 PermanentlyOverweight: {1033 task: '(u32,u32)',1034 id: 'Option<[u8;32]>'1035 }1036 }1037 },1038 /**1039 * Lookup96: pallet_common::pallet::Event<T>1040 **/1041 PalletCommonEvent: {1042 _enum: {1043 CollectionCreated: '(u32,u8,AccountId32)',1044 CollectionDestroyed: 'u32',1045 ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1046 ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1047 Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1048 Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1049 CollectionPropertySet: '(u32,Bytes)',1050 CollectionPropertyDeleted: '(u32,Bytes)',1051 TokenPropertySet: '(u32,u32,Bytes)',1052 TokenPropertyDeleted: '(u32,u32,Bytes)',1053 PropertyPermissionSet: '(u32,Bytes)'1054 }1055 },1056 /**1057 * Lookup99: pallet_structure::pallet::Event<T>1058 **/1059 PalletStructureEvent: {1060 _enum: {1061 Executed: 'Result<Null, SpRuntimeDispatchError>'1062 }1063 },1064 /**1065 * Lookup100: pallet_rmrk_core::pallet::Event<T>1066 **/1067 PalletRmrkCoreEvent: {1068 _enum: {1069 CollectionCreated: {1070 issuer: 'AccountId32',1071 collectionId: 'u32',1072 },1073 CollectionDestroyed: {1074 issuer: 'AccountId32',1075 collectionId: 'u32',1076 },1077 IssuerChanged: {1078 oldIssuer: 'AccountId32',1079 newIssuer: 'AccountId32',1080 collectionId: 'u32',1081 },1082 CollectionLocked: {1083 issuer: 'AccountId32',1084 collectionId: 'u32',1085 },1086 NftMinted: {1087 owner: 'AccountId32',1088 collectionId: 'u32',1089 nftId: 'u32',1090 },1091 NFTBurned: {1092 owner: 'AccountId32',1093 nftId: 'u32',1094 },1095 NFTSent: {1096 sender: 'AccountId32',1097 recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1098 collectionId: 'u32',1099 nftId: 'u32',1100 approvalRequired: 'bool',1101 },1102 NFTAccepted: {1103 sender: 'AccountId32',1104 recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1105 collectionId: 'u32',1106 nftId: 'u32',1107 },1108 NFTRejected: {1109 sender: 'AccountId32',1110 collectionId: 'u32',1111 nftId: 'u32',1112 },1113 PropertySet: {1114 collectionId: 'u32',1115 maybeNftId: 'Option<u32>',1116 key: 'Bytes',1117 value: 'Bytes',1118 },1119 ResourceAdded: {1120 nftId: 'u32',1121 resourceId: 'u32',1122 },1123 ResourceRemoval: {1124 nftId: 'u32',1125 resourceId: 'u32',1126 },1127 ResourceAccepted: {1128 nftId: 'u32',1129 resourceId: 'u32',1130 },1131 ResourceRemovalAccepted: {1132 nftId: 'u32',1133 resourceId: 'u32',1134 },1135 PrioritySet: {1136 collectionId: 'u32',1137 nftId: 'u32'1138 }1139 }1140 },1141 /**1142 * Lookup101: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1143 **/1144 RmrkTraitsNftAccountIdOrCollectionNftTuple: {1145 _enum: {1146 AccountId: 'AccountId32',1147 CollectionAndNftTuple: '(u32,u32)'1148 }1149 },1150 /**1151 * Lookup106: pallet_rmrk_equip::pallet::Event<T>1152 **/1153 PalletRmrkEquipEvent: {1154 _enum: {1155 BaseCreated: {1156 issuer: 'AccountId32',1157 baseId: 'u32',1158 },1159 EquippablesUpdated: {1160 baseId: 'u32',1161 slotId: 'u32'1162 }1163 }1164 },1165 /**1166 * Lookup107: pallet_app_promotion::pallet::Event<T>1167 **/1168 PalletAppPromotionEvent: {1169 _enum: {1170 StakingRecalculation: '(AccountId32,u128,u128)',1171 Stake: '(AccountId32,u128)',1172 Unstake: '(AccountId32,u128)',1173 SetAdmin: 'AccountId32'1174 }1175 },1176 /**1177 * Lookup108: pallet_foreign_assets::module::Event<T>1178 **/1179 PalletForeignAssetsModuleEvent: {1180 _enum: {1181 ForeignAssetRegistered: {1182 assetId: 'u32',1183 assetAddress: 'XcmV1MultiLocation',1184 metadata: 'PalletForeignAssetsModuleAssetMetadata',1185 },1186 ForeignAssetUpdated: {1187 assetId: 'u32',1188 assetAddress: 'XcmV1MultiLocation',1189 metadata: 'PalletForeignAssetsModuleAssetMetadata',1190 },1191 AssetRegistered: {1192 assetId: 'PalletForeignAssetsAssetIds',1193 metadata: 'PalletForeignAssetsModuleAssetMetadata',1194 },1195 AssetUpdated: {1196 assetId: 'PalletForeignAssetsAssetIds',1197 metadata: 'PalletForeignAssetsModuleAssetMetadata'1198 }1199 }1200 },1201 /**1202 * Lookup109: pallet_foreign_assets::module::AssetMetadata<Balance>1203 **/1204 PalletForeignAssetsModuleAssetMetadata: {1205 name: 'Bytes',1206 symbol: 'Bytes',1207 decimals: 'u8',1208 minimalBalance: 'u128'1209 },1210 /**1211 * Lookup110: pallet_evm::pallet::Event<T>1212 **/1213 PalletEvmEvent: {1214 _enum: {1215 Log: {1216 log: 'EthereumLog',1217 },1218 Created: {1219 address: 'H160',1220 },1221 CreatedFailed: {1222 address: 'H160',1223 },1224 Executed: {1225 address: 'H160',1226 },1227 ExecutedFailed: {1228 address: 'H160'1229 }1230 }1231 },1232 /**1233 * Lookup111: ethereum::log::Log1234 **/1235 EthereumLog: {1236 address: 'H160',1237 topics: 'Vec<H256>',1238 data: 'Bytes'1239 },1240 /**1241 * Lookup113: pallet_ethereum::pallet::Event1242 **/1243 PalletEthereumEvent: {1244 _enum: {1245 Executed: {1246 from: 'H160',1247 to: 'H160',1248 transactionHash: 'H256',1249 exitReason: 'EvmCoreErrorExitReason'1250 }1251 }1252 },1253 /**1254 * Lookup114: evm_core::error::ExitReason1255 **/1256 EvmCoreErrorExitReason: {1257 _enum: {1258 Succeed: 'EvmCoreErrorExitSucceed',1259 Error: 'EvmCoreErrorExitError',1260 Revert: 'EvmCoreErrorExitRevert',1261 Fatal: 'EvmCoreErrorExitFatal'1262 }1263 },1264 /**1265 * Lookup115: evm_core::error::ExitSucceed1266 **/1267 EvmCoreErrorExitSucceed: {1268 _enum: ['Stopped', 'Returned', 'Suicided']1269 },1270 /**1271 * Lookup116: evm_core::error::ExitError1272 **/1273 EvmCoreErrorExitError: {1274 _enum: {1275 StackUnderflow: 'Null',1276 StackOverflow: 'Null',1277 InvalidJump: 'Null',1278 InvalidRange: 'Null',1279 DesignatedInvalid: 'Null',1280 CallTooDeep: 'Null',1281 CreateCollision: 'Null',1282 CreateContractLimit: 'Null',1283 OutOfOffset: 'Null',1284 OutOfGas: 'Null',1285 OutOfFund: 'Null',1286 PCUnderflow: 'Null',1287 CreateEmpty: 'Null',1288 Other: 'Text',1289 InvalidCode: 'Null'1290 }1291 },1292 /**1293 * Lookup119: evm_core::error::ExitRevert1294 **/1295 EvmCoreErrorExitRevert: {1296 _enum: ['Reverted']1297 },1298 /**1299 * Lookup120: evm_core::error::ExitFatal1300 **/1301 EvmCoreErrorExitFatal: {1302 _enum: {1303 NotSupported: 'Null',1304 UnhandledInterrupt: 'Null',1305 CallErrorAsFatal: 'EvmCoreErrorExitError',1306 Other: 'Text'1307 }1308 },1309 /**1310 * Lookup121: pallet_evm_contract_helpers::pallet::Event<T>1311 **/1312 PalletEvmContractHelpersEvent: {1313 _enum: {1314 ContractSponsorSet: '(H160,AccountId32)',1315 ContractSponsorshipConfirmed: '(H160,AccountId32)',1316 ContractSponsorRemoved: 'H160'1317 }1318 },1319 /**1320 * Lookup122: pallet_evm_migration::pallet::Event<T>1321 **/1322 PalletEvmMigrationEvent: {1323 _enum: ['TestEvent']1324 },1325 /**1326 * Lookup123: pallet_maintenance::pallet::Event<T>1327 **/1328 PalletMaintenanceEvent: {1329 _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1330 },1331 /**1332 * Lookup124: pallet_test_utils::pallet::Event<T>1333 **/1334 PalletTestUtilsEvent: {1335 _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']1336 },1337 /**1338 * Lookup125: frame_system::Phase1339 **/1340 FrameSystemPhase: {1341 _enum: {1342 ApplyExtrinsic: 'u32',1343 Finalization: 'Null',1344 Initialization: 'Null'1345 }1346 },1347 /**1348 * Lookup127: frame_system::LastRuntimeUpgradeInfo1349 **/1350 FrameSystemLastRuntimeUpgradeInfo: {1351 specVersion: 'Compact<u32>',1352 specName: 'Text'1353 },1354 /**1355 * Lookup128: frame_system::pallet::Call<T>1356 **/1357 FrameSystemCall: {1358 _enum: {1359 fill_block: {1360 ratio: 'Perbill',1361 },1362 remark: {1363 remark: 'Bytes',1364 },1365 set_heap_pages: {1366 pages: 'u64',1367 },1368 set_code: {1369 code: 'Bytes',1370 },1371 set_code_without_checks: {1372 code: 'Bytes',1373 },1374 set_storage: {1375 items: 'Vec<(Bytes,Bytes)>',1376 },1377 kill_storage: {1378 _alias: {1379 keys_: 'keys',1380 },1381 keys_: 'Vec<Bytes>',1382 },1383 kill_prefix: {1384 prefix: 'Bytes',1385 subkeys: 'u32',1386 },1387 remark_with_event: {1388 remark: 'Bytes'1389 }1390 }1391 },1392 /**1393 * Lookup133: frame_system::limits::BlockWeights1394 **/1395 FrameSystemLimitsBlockWeights: {1396 baseBlock: 'Weight',1397 maxBlock: 'Weight',1398 perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1399 },1400 /**1401 * Lookup134: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1402 **/1403 FrameSupportDispatchPerDispatchClassWeightsPerClass: {1404 normal: 'FrameSystemLimitsWeightsPerClass',1405 operational: 'FrameSystemLimitsWeightsPerClass',1406 mandatory: 'FrameSystemLimitsWeightsPerClass'1407 },1408 /**1409 * Lookup135: frame_system::limits::WeightsPerClass1410 **/1411 FrameSystemLimitsWeightsPerClass: {1412 baseExtrinsic: 'Weight',1413 maxExtrinsic: 'Option<Weight>',1414 maxTotal: 'Option<Weight>',1415 reserved: 'Option<Weight>'1416 },1417 /**1418 * Lookup137: frame_system::limits::BlockLength1419 **/1420 FrameSystemLimitsBlockLength: {1421 max: 'FrameSupportDispatchPerDispatchClassU32'1422 },1423 /**1424 * Lookup138: frame_support::dispatch::PerDispatchClass<T>1425 **/1426 FrameSupportDispatchPerDispatchClassU32: {1427 normal: 'u32',1428 operational: 'u32',1429 mandatory: 'u32'1430 },1431 /**1432 * Lookup139: sp_weights::RuntimeDbWeight1433 **/1434 SpWeightsRuntimeDbWeight: {1435 read: 'u64',1436 write: 'u64'1437 },1438 /**1439 * Lookup140: sp_version::RuntimeVersion1440 **/1441 SpVersionRuntimeVersion: {1442 specName: 'Text',1443 implName: 'Text',1444 authoringVersion: 'u32',1445 specVersion: 'u32',1446 implVersion: 'u32',1447 apis: 'Vec<([u8;8],u32)>',1448 transactionVersion: 'u32',1449 stateVersion: 'u8'1450 },1451 /**1452 * Lookup145: frame_system::pallet::Error<T>1453 **/1454 FrameSystemError: {1455 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1456 },1457 /**1458 * Lookup146: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1459 **/1460 PolkadotPrimitivesV2PersistedValidationData: {1461 parentHead: 'Bytes',1462 relayParentNumber: 'u32',1463 relayParentStorageRoot: 'H256',1464 maxPovSize: 'u32'1465 },1466 /**1467 * Lookup149: polkadot_primitives::v2::UpgradeRestriction1468 **/1469 PolkadotPrimitivesV2UpgradeRestriction: {1470 _enum: ['Present']1471 },1472 /**1473 * Lookup150: sp_trie::storage_proof::StorageProof1474 **/1475 SpTrieStorageProof: {1476 trieNodes: 'BTreeSet<Bytes>'1477 },1478 /**1479 * Lookup152: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1480 **/1481 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1482 dmqMqcHead: 'H256',1483 relayDispatchQueueSize: '(u32,u32)',1484 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1485 egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1486 },1487 /**1488 * Lookup155: polkadot_primitives::v2::AbridgedHrmpChannel1489 **/1490 PolkadotPrimitivesV2AbridgedHrmpChannel: {1491 maxCapacity: 'u32',1492 maxTotalSize: 'u32',1493 maxMessageSize: 'u32',1494 msgCount: 'u32',1495 totalSize: 'u32',1496 mqcHead: 'Option<H256>'1497 },1498 /**1499 * Lookup156: polkadot_primitives::v2::AbridgedHostConfiguration1500 **/1501 PolkadotPrimitivesV2AbridgedHostConfiguration: {1502 maxCodeSize: 'u32',1503 maxHeadDataSize: 'u32',1504 maxUpwardQueueCount: 'u32',1505 maxUpwardQueueSize: 'u32',1506 maxUpwardMessageSize: 'u32',1507 maxUpwardMessageNumPerCandidate: 'u32',1508 hrmpMaxMessageNumPerCandidate: 'u32',1509 validationUpgradeCooldown: 'u32',1510 validationUpgradeDelay: 'u32'1511 },1512 /**1513 * Lookup162: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1514 **/1515 PolkadotCorePrimitivesOutboundHrmpMessage: {1516 recipient: 'u32',1517 data: 'Bytes'1518 },1519 /**1520 * Lookup163: cumulus_pallet_parachain_system::pallet::Call<T>1521 **/1522 CumulusPalletParachainSystemCall: {1523 _enum: {1524 set_validation_data: {1525 data: 'CumulusPrimitivesParachainInherentParachainInherentData',1526 },1527 sudo_send_upward_message: {1528 message: 'Bytes',1529 },1530 authorize_upgrade: {1531 codeHash: 'H256',1532 },1533 enact_authorized_upgrade: {1534 code: 'Bytes'1535 }1536 }1537 },1538 /**1539 * Lookup164: cumulus_primitives_parachain_inherent::ParachainInherentData1540 **/1541 CumulusPrimitivesParachainInherentParachainInherentData: {1542 validationData: 'PolkadotPrimitivesV2PersistedValidationData',1543 relayChainState: 'SpTrieStorageProof',1544 downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1545 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1546 },1547 /**1548 * Lookup166: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1549 **/1550 PolkadotCorePrimitivesInboundDownwardMessage: {1551 sentAt: 'u32',1552 msg: 'Bytes'1553 },1554 /**1555 * Lookup169: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1556 **/1557 PolkadotCorePrimitivesInboundHrmpMessage: {1558 sentAt: 'u32',1559 data: 'Bytes'1560 },1561 /**1562 * Lookup172: cumulus_pallet_parachain_system::pallet::Error<T>1563 **/1564 CumulusPalletParachainSystemError: {1565 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1566 },1567 /**1568 * Lookup174: pallet_balances::BalanceLock<Balance>1569 **/1570 PalletBalancesBalanceLock: {1571 id: '[u8;8]',1572 amount: 'u128',1573 reasons: 'PalletBalancesReasons'1574 },1575 /**1576 * Lookup175: pallet_balances::Reasons1577 **/1578 PalletBalancesReasons: {1579 _enum: ['Fee', 'Misc', 'All']1580 },1581 /**1582 * Lookup178: pallet_balances::ReserveData<ReserveIdentifier, Balance>1583 **/1584 PalletBalancesReserveData: {1585 id: '[u8;16]',1586 amount: 'u128'1587 },1588 /**1589 * Lookup180: pallet_balances::Releases1590 **/1591 PalletBalancesReleases: {1592 _enum: ['V1_0_0', 'V2_0_0']1593 },1594 /**1595 * Lookup181: pallet_balances::pallet::Call<T, I>1596 **/1597 PalletBalancesCall: {1598 _enum: {1599 transfer: {1600 dest: 'MultiAddress',1601 value: 'Compact<u128>',1602 },1603 set_balance: {1604 who: 'MultiAddress',1605 newFree: 'Compact<u128>',1606 newReserved: 'Compact<u128>',1607 },1608 force_transfer: {1609 source: 'MultiAddress',1610 dest: 'MultiAddress',1611 value: 'Compact<u128>',1612 },1613 transfer_keep_alive: {1614 dest: 'MultiAddress',1615 value: 'Compact<u128>',1616 },1617 transfer_all: {1618 dest: 'MultiAddress',1619 keepAlive: 'bool',1620 },1621 force_unreserve: {1622 who: 'MultiAddress',1623 amount: 'u128'1624 }1625 }1626 },1627 /**1628 * Lookup184: pallet_balances::pallet::Error<T, I>1629 **/1630 PalletBalancesError: {1631 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1632 },1633 /**1634 * Lookup186: pallet_timestamp::pallet::Call<T>1635 **/1636 PalletTimestampCall: {1637 _enum: {1638 set: {1639 now: 'Compact<u64>'1640 }1641 }1642 },1643 /**1644 * Lookup188: pallet_transaction_payment::Releases1645 **/1646 PalletTransactionPaymentReleases: {1647 _enum: ['V1Ancient', 'V2']1648 },1649 /**1650 * Lookup189: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1651 **/1652 PalletTreasuryProposal: {1653 proposer: 'AccountId32',1654 value: 'u128',1655 beneficiary: 'AccountId32',1656 bond: 'u128'1657 },1658 /**1659 * Lookup192: pallet_treasury::pallet::Call<T, I>1660 **/1661 PalletTreasuryCall: {1662 _enum: {1663 propose_spend: {1664 value: 'Compact<u128>',1665 beneficiary: 'MultiAddress',1666 },1667 reject_proposal: {1668 proposalId: 'Compact<u32>',1669 },1670 approve_proposal: {1671 proposalId: 'Compact<u32>',1672 },1673 spend: {1674 amount: 'Compact<u128>',1675 beneficiary: 'MultiAddress',1676 },1677 remove_approval: {1678 proposalId: 'Compact<u32>'1679 }1680 }1681 },1682 /**1683 * Lookup195: frame_support::PalletId1684 **/1685 FrameSupportPalletId: '[u8;8]',1686 /**1687 * Lookup196: pallet_treasury::pallet::Error<T, I>1688 **/1689 PalletTreasuryError: {1690 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1691 },1692 /**1693 * Lookup197: pallet_sudo::pallet::Call<T>1694 **/1695 PalletSudoCall: {1696 _enum: {1697 sudo: {1698 call: 'Call',1699 },1700 sudo_unchecked_weight: {1701 call: 'Call',1702 weight: 'Weight',1703 },1704 set_key: {1705 _alias: {1706 new_: 'new',1707 },1708 new_: 'MultiAddress',1709 },1710 sudo_as: {1711 who: 'MultiAddress',1712 call: 'Call'1713 }1714 }1715 },1716 /**1717 * Lookup199: orml_vesting::module::Call<T>1718 **/1719 OrmlVestingModuleCall: {1720 _enum: {1721 claim: 'Null',1722 vested_transfer: {1723 dest: 'MultiAddress',1724 schedule: 'OrmlVestingVestingSchedule',1725 },1726 update_vesting_schedules: {1727 who: 'MultiAddress',1728 vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',1729 },1730 claim_for: {1731 dest: 'MultiAddress'1732 }1733 }1734 },1735 /**1736 * Lookup201: orml_xtokens::module::Call<T>1737 **/1738 OrmlXtokensModuleCall: {1739 _enum: {1740 transfer: {1741 currencyId: 'PalletForeignAssetsAssetIds',1742 amount: 'u128',1743 dest: 'XcmVersionedMultiLocation',1744 destWeight: 'u64',1745 },1746 transfer_multiasset: {1747 asset: 'XcmVersionedMultiAsset',1748 dest: 'XcmVersionedMultiLocation',1749 destWeight: 'u64',1750 },1751 transfer_with_fee: {1752 currencyId: 'PalletForeignAssetsAssetIds',1753 amount: 'u128',1754 fee: 'u128',1755 dest: 'XcmVersionedMultiLocation',1756 destWeight: 'u64',1757 },1758 transfer_multiasset_with_fee: {1759 asset: 'XcmVersionedMultiAsset',1760 fee: 'XcmVersionedMultiAsset',1761 dest: 'XcmVersionedMultiLocation',1762 destWeight: 'u64',1763 },1764 transfer_multicurrencies: {1765 currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>',1766 feeItem: 'u32',1767 dest: 'XcmVersionedMultiLocation',1768 destWeight: 'u64',1769 },1770 transfer_multiassets: {1771 assets: 'XcmVersionedMultiAssets',1772 feeItem: 'u32',1773 dest: 'XcmVersionedMultiLocation',1774 destWeight: 'u64'1775 }1776 }1777 },1778 /**1779 * Lookup202: xcm::VersionedMultiAsset1780 **/1781 XcmVersionedMultiAsset: {1782 _enum: {1783 V0: 'XcmV0MultiAsset',1784 V1: 'XcmV1MultiAsset'1785 }1786 },1787 /**1788 * Lookup205: orml_tokens::module::Call<T>1789 **/1790 OrmlTokensModuleCall: {1791 _enum: {1792 transfer: {1793 dest: 'MultiAddress',1794 currencyId: 'PalletForeignAssetsAssetIds',1795 amount: 'Compact<u128>',1796 },1797 transfer_all: {1798 dest: 'MultiAddress',1799 currencyId: 'PalletForeignAssetsAssetIds',1800 keepAlive: 'bool',1801 },1802 transfer_keep_alive: {1803 dest: 'MultiAddress',1804 currencyId: 'PalletForeignAssetsAssetIds',1805 amount: 'Compact<u128>',1806 },1807 force_transfer: {1808 source: 'MultiAddress',1809 dest: 'MultiAddress',1810 currencyId: 'PalletForeignAssetsAssetIds',1811 amount: 'Compact<u128>',1812 },1813 set_balance: {1814 who: 'MultiAddress',1815 currencyId: 'PalletForeignAssetsAssetIds',1816 newFree: 'Compact<u128>',1817 newReserved: 'Compact<u128>'1818 }1819 }1820 },1821 /**1822 * Lookup206: cumulus_pallet_xcmp_queue::pallet::Call<T>1823 **/1824 CumulusPalletXcmpQueueCall: {1825 _enum: {1826 service_overweight: {1827 index: 'u64',1828 weightLimit: 'Weight',1829 },1830 suspend_xcm_execution: 'Null',1831 resume_xcm_execution: 'Null',1832 update_suspend_threshold: {1833 _alias: {1834 new_: 'new',1835 },1836 new_: 'u32',1837 },1838 update_drop_threshold: {1839 _alias: {1840 new_: 'new',1841 },1842 new_: 'u32',1843 },1844 update_resume_threshold: {1845 _alias: {1846 new_: 'new',1847 },1848 new_: 'u32',1849 },1850 update_threshold_weight: {1851 _alias: {1852 new_: 'new',1853 },1854 new_: 'Weight',1855 },1856 update_weight_restrict_decay: {1857 _alias: {1858 new_: 'new',1859 },1860 new_: 'Weight',1861 },1862 update_xcmp_max_individual_weight: {1863 _alias: {1864 new_: 'new',1865 },1866 new_: 'Weight'1867 }1868 }1869 },1870 /**1871 * Lookup207: pallet_xcm::pallet::Call<T>1872 **/1873 PalletXcmCall: {1874 _enum: {1875 send: {1876 dest: 'XcmVersionedMultiLocation',1877 message: 'XcmVersionedXcm',1878 },1879 teleport_assets: {1880 dest: 'XcmVersionedMultiLocation',1881 beneficiary: 'XcmVersionedMultiLocation',1882 assets: 'XcmVersionedMultiAssets',1883 feeAssetItem: 'u32',1884 },1885 reserve_transfer_assets: {1886 dest: 'XcmVersionedMultiLocation',1887 beneficiary: 'XcmVersionedMultiLocation',1888 assets: 'XcmVersionedMultiAssets',1889 feeAssetItem: 'u32',1890 },1891 execute: {1892 message: 'XcmVersionedXcm',1893 maxWeight: 'Weight',1894 },1895 force_xcm_version: {1896 location: 'XcmV1MultiLocation',1897 xcmVersion: 'u32',1898 },1899 force_default_xcm_version: {1900 maybeXcmVersion: 'Option<u32>',1901 },1902 force_subscribe_version_notify: {1903 location: 'XcmVersionedMultiLocation',1904 },1905 force_unsubscribe_version_notify: {1906 location: 'XcmVersionedMultiLocation',1907 },1908 limited_reserve_transfer_assets: {1909 dest: 'XcmVersionedMultiLocation',1910 beneficiary: 'XcmVersionedMultiLocation',1911 assets: 'XcmVersionedMultiAssets',1912 feeAssetItem: 'u32',1913 weightLimit: 'XcmV2WeightLimit',1914 },1915 limited_teleport_assets: {1916 dest: 'XcmVersionedMultiLocation',1917 beneficiary: 'XcmVersionedMultiLocation',1918 assets: 'XcmVersionedMultiAssets',1919 feeAssetItem: 'u32',1920 weightLimit: 'XcmV2WeightLimit'1921 }1922 }1923 },1924 /**1925 * Lookup208: xcm::VersionedXcm<RuntimeCall>1926 **/1927 XcmVersionedXcm: {1928 _enum: {1929 V0: 'XcmV0Xcm',1930 V1: 'XcmV1Xcm',1931 V2: 'XcmV2Xcm'1932 }1933 },1934 /**1935 * Lookup209: xcm::v0::Xcm<RuntimeCall>1936 **/1937 XcmV0Xcm: {1938 _enum: {1939 WithdrawAsset: {1940 assets: 'Vec<XcmV0MultiAsset>',1941 effects: 'Vec<XcmV0Order>',1942 },1943 ReserveAssetDeposit: {1944 assets: 'Vec<XcmV0MultiAsset>',1945 effects: 'Vec<XcmV0Order>',1946 },1947 TeleportAsset: {1948 assets: 'Vec<XcmV0MultiAsset>',1949 effects: 'Vec<XcmV0Order>',1950 },1951 QueryResponse: {1952 queryId: 'Compact<u64>',1953 response: 'XcmV0Response',1954 },1955 TransferAsset: {1956 assets: 'Vec<XcmV0MultiAsset>',1957 dest: 'XcmV0MultiLocation',1958 },1959 TransferReserveAsset: {1960 assets: 'Vec<XcmV0MultiAsset>',1961 dest: 'XcmV0MultiLocation',1962 effects: 'Vec<XcmV0Order>',1963 },1964 Transact: {1965 originType: 'XcmV0OriginKind',1966 requireWeightAtMost: 'u64',1967 call: 'XcmDoubleEncoded',1968 },1969 HrmpNewChannelOpenRequest: {1970 sender: 'Compact<u32>',1971 maxMessageSize: 'Compact<u32>',1972 maxCapacity: 'Compact<u32>',1973 },1974 HrmpChannelAccepted: {1975 recipient: 'Compact<u32>',1976 },1977 HrmpChannelClosing: {1978 initiator: 'Compact<u32>',1979 sender: 'Compact<u32>',1980 recipient: 'Compact<u32>',1981 },1982 RelayedFrom: {1983 who: 'XcmV0MultiLocation',1984 message: 'XcmV0Xcm'1985 }1986 }1987 },1988 /**1989 * Lookup211: xcm::v0::order::Order<RuntimeCall>1990 **/1991 XcmV0Order: {1992 _enum: {1993 Null: 'Null',1994 DepositAsset: {1995 assets: 'Vec<XcmV0MultiAsset>',1996 dest: 'XcmV0MultiLocation',1997 },1998 DepositReserveAsset: {1999 assets: 'Vec<XcmV0MultiAsset>',2000 dest: 'XcmV0MultiLocation',2001 effects: 'Vec<XcmV0Order>',2002 },2003 ExchangeAsset: {2004 give: 'Vec<XcmV0MultiAsset>',2005 receive: 'Vec<XcmV0MultiAsset>',2006 },2007 InitiateReserveWithdraw: {2008 assets: 'Vec<XcmV0MultiAsset>',2009 reserve: 'XcmV0MultiLocation',2010 effects: 'Vec<XcmV0Order>',2011 },2012 InitiateTeleport: {2013 assets: 'Vec<XcmV0MultiAsset>',2014 dest: 'XcmV0MultiLocation',2015 effects: 'Vec<XcmV0Order>',2016 },2017 QueryHolding: {2018 queryId: 'Compact<u64>',2019 dest: 'XcmV0MultiLocation',2020 assets: 'Vec<XcmV0MultiAsset>',2021 },2022 BuyExecution: {2023 fees: 'XcmV0MultiAsset',2024 weight: 'u64',2025 debt: 'u64',2026 haltOnError: 'bool',2027 xcm: 'Vec<XcmV0Xcm>'2028 }2029 }2030 },2031 /**2032 * Lookup213: xcm::v0::Response2033 **/2034 XcmV0Response: {2035 _enum: {2036 Assets: 'Vec<XcmV0MultiAsset>'2037 }2038 },2039 /**2040 * Lookup214: xcm::v1::Xcm<RuntimeCall>2041 **/2042 XcmV1Xcm: {2043 _enum: {2044 WithdrawAsset: {2045 assets: 'XcmV1MultiassetMultiAssets',2046 effects: 'Vec<XcmV1Order>',2047 },2048 ReserveAssetDeposited: {2049 assets: 'XcmV1MultiassetMultiAssets',2050 effects: 'Vec<XcmV1Order>',2051 },2052 ReceiveTeleportedAsset: {2053 assets: 'XcmV1MultiassetMultiAssets',2054 effects: 'Vec<XcmV1Order>',2055 },2056 QueryResponse: {2057 queryId: 'Compact<u64>',2058 response: 'XcmV1Response',2059 },2060 TransferAsset: {2061 assets: 'XcmV1MultiassetMultiAssets',2062 beneficiary: 'XcmV1MultiLocation',2063 },2064 TransferReserveAsset: {2065 assets: 'XcmV1MultiassetMultiAssets',2066 dest: 'XcmV1MultiLocation',2067 effects: 'Vec<XcmV1Order>',2068 },2069 Transact: {2070 originType: 'XcmV0OriginKind',2071 requireWeightAtMost: 'u64',2072 call: 'XcmDoubleEncoded',2073 },2074 HrmpNewChannelOpenRequest: {2075 sender: 'Compact<u32>',2076 maxMessageSize: 'Compact<u32>',2077 maxCapacity: 'Compact<u32>',2078 },2079 HrmpChannelAccepted: {2080 recipient: 'Compact<u32>',2081 },2082 HrmpChannelClosing: {2083 initiator: 'Compact<u32>',2084 sender: 'Compact<u32>',2085 recipient: 'Compact<u32>',2086 },2087 RelayedFrom: {2088 who: 'XcmV1MultilocationJunctions',2089 message: 'XcmV1Xcm',2090 },2091 SubscribeVersion: {2092 queryId: 'Compact<u64>',2093 maxResponseWeight: 'Compact<u64>',2094 },2095 UnsubscribeVersion: 'Null'2096 }2097 },2098 /**2099 * Lookup216: xcm::v1::order::Order<RuntimeCall>2100 **/2101 XcmV1Order: {2102 _enum: {2103 Noop: 'Null',2104 DepositAsset: {2105 assets: 'XcmV1MultiassetMultiAssetFilter',2106 maxAssets: 'u32',2107 beneficiary: 'XcmV1MultiLocation',2108 },2109 DepositReserveAsset: {2110 assets: 'XcmV1MultiassetMultiAssetFilter',2111 maxAssets: 'u32',2112 dest: 'XcmV1MultiLocation',2113 effects: 'Vec<XcmV1Order>',2114 },2115 ExchangeAsset: {2116 give: 'XcmV1MultiassetMultiAssetFilter',2117 receive: 'XcmV1MultiassetMultiAssets',2118 },2119 InitiateReserveWithdraw: {2120 assets: 'XcmV1MultiassetMultiAssetFilter',2121 reserve: 'XcmV1MultiLocation',2122 effects: 'Vec<XcmV1Order>',2123 },2124 InitiateTeleport: {2125 assets: 'XcmV1MultiassetMultiAssetFilter',2126 dest: 'XcmV1MultiLocation',2127 effects: 'Vec<XcmV1Order>',2128 },2129 QueryHolding: {2130 queryId: 'Compact<u64>',2131 dest: 'XcmV1MultiLocation',2132 assets: 'XcmV1MultiassetMultiAssetFilter',2133 },2134 BuyExecution: {2135 fees: 'XcmV1MultiAsset',2136 weight: 'u64',2137 debt: 'u64',2138 haltOnError: 'bool',2139 instructions: 'Vec<XcmV1Xcm>'2140 }2141 }2142 },2143 /**2144 * Lookup218: xcm::v1::Response2145 **/2146 XcmV1Response: {2147 _enum: {2148 Assets: 'XcmV1MultiassetMultiAssets',2149 Version: 'u32'2150 }2151 },2152 /**2153 * Lookup232: cumulus_pallet_xcm::pallet::Call<T>2154 **/2155 CumulusPalletXcmCall: 'Null',2156 /**2157 * Lookup233: cumulus_pallet_dmp_queue::pallet::Call<T>2158 **/2159 CumulusPalletDmpQueueCall: {2160 _enum: {2161 service_overweight: {2162 index: 'u64',2163 weightLimit: 'Weight'2164 }2165 }2166 },2167 /**2168 * Lookup234: pallet_inflation::pallet::Call<T>2169 **/2170 PalletInflationCall: {2171 _enum: {2172 start_inflation: {2173 inflationStartRelayBlock: 'u32'2174 }2175 }2176 },2177 /**2178 * Lookup235: pallet_unique::Call<T>2179 **/2180 PalletUniqueCall: {2181 _enum: {2182 create_collection: {2183 collectionName: 'Vec<u16>',2184 collectionDescription: 'Vec<u16>',2185 tokenPrefix: 'Bytes',2186 mode: 'UpDataStructsCollectionMode',2187 },2188 create_collection_ex: {2189 data: 'UpDataStructsCreateCollectionData',2190 },2191 destroy_collection: {2192 collectionId: 'u32',2193 },2194 add_to_allow_list: {2195 collectionId: 'u32',2196 address: 'PalletEvmAccountBasicCrossAccountIdRepr',2197 },2198 remove_from_allow_list: {2199 collectionId: 'u32',2200 address: 'PalletEvmAccountBasicCrossAccountIdRepr',2201 },2202 change_collection_owner: {2203 collectionId: 'u32',2204 newOwner: 'AccountId32',2205 },2206 add_collection_admin: {2207 collectionId: 'u32',2208 newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',2209 },2210 remove_collection_admin: {2211 collectionId: 'u32',2212 accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',2213 },2214 set_collection_sponsor: {2215 collectionId: 'u32',2216 newSponsor: 'AccountId32',2217 },2218 confirm_sponsorship: {2219 collectionId: 'u32',2220 },2221 remove_collection_sponsor: {2222 collectionId: 'u32',2223 },2224 create_item: {2225 collectionId: 'u32',2226 owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2227 data: 'UpDataStructsCreateItemData',2228 },2229 create_multiple_items: {2230 collectionId: 'u32',2231 owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2232 itemsData: 'Vec<UpDataStructsCreateItemData>',2233 },2234 set_collection_properties: {2235 collectionId: 'u32',2236 properties: 'Vec<UpDataStructsProperty>',2237 },2238 delete_collection_properties: {2239 collectionId: 'u32',2240 propertyKeys: 'Vec<Bytes>',2241 },2242 set_token_properties: {2243 collectionId: 'u32',2244 tokenId: 'u32',2245 properties: 'Vec<UpDataStructsProperty>',2246 },2247 delete_token_properties: {2248 collectionId: 'u32',2249 tokenId: 'u32',2250 propertyKeys: 'Vec<Bytes>',2251 },2252 set_token_property_permissions: {2253 collectionId: 'u32',2254 propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2255 },2256 create_multiple_items_ex: {2257 collectionId: 'u32',2258 data: 'UpDataStructsCreateItemExData',2259 },2260 set_transfers_enabled_flag: {2261 collectionId: 'u32',2262 value: 'bool',2263 },2264 burn_item: {2265 collectionId: 'u32',2266 itemId: 'u32',2267 value: 'u128',2268 },2269 burn_from: {2270 collectionId: 'u32',2271 from: 'PalletEvmAccountBasicCrossAccountIdRepr',2272 itemId: 'u32',2273 value: 'u128',2274 },2275 transfer: {2276 recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2277 collectionId: 'u32',2278 itemId: 'u32',2279 value: 'u128',2280 },2281 approve: {2282 spender: 'PalletEvmAccountBasicCrossAccountIdRepr',2283 collectionId: 'u32',2284 itemId: 'u32',2285 amount: 'u128',2286 },2287 transfer_from: {2288 from: 'PalletEvmAccountBasicCrossAccountIdRepr',2289 recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2290 collectionId: 'u32',2291 itemId: 'u32',2292 value: 'u128',2293 },2294 set_collection_limits: {2295 collectionId: 'u32',2296 newLimit: 'UpDataStructsCollectionLimits',2297 },2298 set_collection_permissions: {2299 collectionId: 'u32',2300 newPermission: 'UpDataStructsCollectionPermissions',2301 },2302 repartition: {2303 collectionId: 'u32',2304 tokenId: 'u32',2305 amount: 'u128'2306 }2307 }2308 },2309 /**2310 * Lookup240: up_data_structs::CollectionMode2311 **/2312 UpDataStructsCollectionMode: {2313 _enum: {2314 NFT: 'Null',2315 Fungible: 'u8',2316 ReFungible: 'Null'2317 }2318 },2319 /**2320 * Lookup241: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2321 **/2322 UpDataStructsCreateCollectionData: {2323 mode: 'UpDataStructsCollectionMode',2324 access: 'Option<UpDataStructsAccessMode>',2325 name: 'Vec<u16>',2326 description: 'Vec<u16>',2327 tokenPrefix: 'Bytes',2328 pendingSponsor: 'Option<AccountId32>',2329 limits: 'Option<UpDataStructsCollectionLimits>',2330 permissions: 'Option<UpDataStructsCollectionPermissions>',2331 tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2332 properties: 'Vec<UpDataStructsProperty>'2333 },2334 /**2335 * Lookup243: up_data_structs::AccessMode2336 **/2337 UpDataStructsAccessMode: {2338 _enum: ['Normal', 'AllowList']2339 },2340 /**2341 * Lookup245: up_data_structs::CollectionLimits2342 **/2343 UpDataStructsCollectionLimits: {2344 accountTokenOwnershipLimit: 'Option<u32>',2345 sponsoredDataSize: 'Option<u32>',2346 sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',2347 tokenLimit: 'Option<u32>',2348 sponsorTransferTimeout: 'Option<u32>',2349 sponsorApproveTimeout: 'Option<u32>',2350 ownerCanTransfer: 'Option<bool>',2351 ownerCanDestroy: 'Option<bool>',2352 transfersEnabled: 'Option<bool>'2353 },2354 /**2355 * Lookup247: up_data_structs::SponsoringRateLimit2356 **/2357 UpDataStructsSponsoringRateLimit: {2358 _enum: {2359 SponsoringDisabled: 'Null',2360 Blocks: 'u32'2361 }2362 },2363 /**2364 * Lookup250: up_data_structs::CollectionPermissions2365 **/2366 UpDataStructsCollectionPermissions: {2367 access: 'Option<UpDataStructsAccessMode>',2368 mintMode: 'Option<bool>',2369 nesting: 'Option<UpDataStructsNestingPermissions>'2370 },2371 /**2372 * Lookup252: up_data_structs::NestingPermissions2373 **/2374 UpDataStructsNestingPermissions: {2375 tokenOwner: 'bool',2376 collectionAdmin: 'bool',2377 restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2378 },2379 /**2380 * Lookup254: up_data_structs::OwnerRestrictedSet2381 **/2382 UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2383 /**2384 * Lookup259: up_data_structs::PropertyKeyPermission2385 **/2386 UpDataStructsPropertyKeyPermission: {2387 key: 'Bytes',2388 permission: 'UpDataStructsPropertyPermission'2389 },2390 /**2391 * Lookup260: up_data_structs::PropertyPermission2392 **/2393 UpDataStructsPropertyPermission: {2394 mutable: 'bool',2395 collectionAdmin: 'bool',2396 tokenOwner: 'bool'2397 },2398 /**2399 * Lookup263: up_data_structs::Property2400 **/2401 UpDataStructsProperty: {2402 key: 'Bytes',2403 value: 'Bytes'2404 },2405 /**2406 * Lookup266: up_data_structs::CreateItemData2407 **/2408 UpDataStructsCreateItemData: {2409 _enum: {2410 NFT: 'UpDataStructsCreateNftData',2411 Fungible: 'UpDataStructsCreateFungibleData',2412 ReFungible: 'UpDataStructsCreateReFungibleData'2413 }2414 },2415 /**2416 * Lookup267: up_data_structs::CreateNftData2417 **/2418 UpDataStructsCreateNftData: {2419 properties: 'Vec<UpDataStructsProperty>'2420 },2421 /**2422 * Lookup268: up_data_structs::CreateFungibleData2423 **/2424 UpDataStructsCreateFungibleData: {2425 value: 'u128'2426 },2427 /**2428 * Lookup269: up_data_structs::CreateReFungibleData2429 **/2430 UpDataStructsCreateReFungibleData: {2431 pieces: 'u128',2432 properties: 'Vec<UpDataStructsProperty>'2433 },2434 /**2435 * Lookup272: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2436 **/2437 UpDataStructsCreateItemExData: {2438 _enum: {2439 NFT: 'Vec<UpDataStructsCreateNftExData>',2440 Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2441 RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExSingleOwner>',2442 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2443 }2444 },2445 /**2446 * Lookup274: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2447 **/2448 UpDataStructsCreateNftExData: {2449 properties: 'Vec<UpDataStructsProperty>',2450 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2451 },2452 /**2453 * Lookup281: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2454 **/2455 UpDataStructsCreateRefungibleExSingleOwner: {2456 user: 'PalletEvmAccountBasicCrossAccountIdRepr',2457 pieces: 'u128',2458 properties: 'Vec<UpDataStructsProperty>'2459 },2460 /**2461 * Lookup283: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2462 **/2463 UpDataStructsCreateRefungibleExMultipleOwners: {2464 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2465 properties: 'Vec<UpDataStructsProperty>'2466 },2467 /**2468 * Lookup284: pallet_unique_scheduler_v2::pallet::Call<T>2469 **/2470 PalletUniqueSchedulerV2Call: {2471 _enum: {2472 schedule: {2473 when: 'u32',2474 maybePeriodic: 'Option<(u32,u32)>',2475 priority: 'Option<u8>',2476 call: 'Call',2477 },2478 cancel: {2479 when: 'u32',2480 index: 'u32',2481 },2482 schedule_named: {2483 id: '[u8;32]',2484 when: 'u32',2485 maybePeriodic: 'Option<(u32,u32)>',2486 priority: 'Option<u8>',2487 call: 'Call',2488 },2489 cancel_named: {2490 id: '[u8;32]',2491 },2492 schedule_after: {2493 after: 'u32',2494 maybePeriodic: 'Option<(u32,u32)>',2495 priority: 'Option<u8>',2496 call: 'Call',2497 },2498 schedule_named_after: {2499 id: '[u8;32]',2500 after: 'u32',2501 maybePeriodic: 'Option<(u32,u32)>',2502 priority: 'Option<u8>',2503 call: 'Call',2504 },2505 change_named_priority: {2506 id: '[u8;32]',2507 priority: 'u8'2508 }2509 }2510 },2511 /**2512 * Lookup287: pallet_configuration::pallet::Call<T>2513 **/2514 PalletConfigurationCall: {2515 _enum: {2516 set_weight_to_fee_coefficient_override: {2517 coeff: 'Option<u32>',2518 },2519 set_min_gas_price_override: {2520 coeff: 'Option<u64>'2521 }2522 }2523 },2524 /**2525 * Lookup289: pallet_template_transaction_payment::Call<T>2526 **/2527 PalletTemplateTransactionPaymentCall: 'Null',2528 /**2529 * Lookup290: pallet_structure::pallet::Call<T>2530 **/2531 PalletStructureCall: 'Null',2532 /**2533 * Lookup291: pallet_rmrk_core::pallet::Call<T>2534 **/2535 PalletRmrkCoreCall: {2536 _enum: {2537 create_collection: {2538 metadata: 'Bytes',2539 max: 'Option<u32>',2540 symbol: 'Bytes',2541 },2542 destroy_collection: {2543 collectionId: 'u32',2544 },2545 change_collection_issuer: {2546 collectionId: 'u32',2547 newIssuer: 'MultiAddress',2548 },2549 lock_collection: {2550 collectionId: 'u32',2551 },2552 mint_nft: {2553 owner: 'Option<AccountId32>',2554 collectionId: 'u32',2555 recipient: 'Option<AccountId32>',2556 royaltyAmount: 'Option<Permill>',2557 metadata: 'Bytes',2558 transferable: 'bool',2559 resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',2560 },2561 burn_nft: {2562 collectionId: 'u32',2563 nftId: 'u32',2564 maxBurns: 'u32',2565 },2566 send: {2567 rmrkCollectionId: 'u32',2568 rmrkNftId: 'u32',2569 newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2570 },2571 accept_nft: {2572 rmrkCollectionId: 'u32',2573 rmrkNftId: 'u32',2574 newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2575 },2576 reject_nft: {2577 rmrkCollectionId: 'u32',2578 rmrkNftId: 'u32',2579 },2580 accept_resource: {2581 rmrkCollectionId: 'u32',2582 rmrkNftId: 'u32',2583 resourceId: 'u32',2584 },2585 accept_resource_removal: {2586 rmrkCollectionId: 'u32',2587 rmrkNftId: 'u32',2588 resourceId: 'u32',2589 },2590 set_property: {2591 rmrkCollectionId: 'Compact<u32>',2592 maybeNftId: 'Option<u32>',2593 key: 'Bytes',2594 value: 'Bytes',2595 },2596 set_priority: {2597 rmrkCollectionId: 'u32',2598 rmrkNftId: 'u32',2599 priorities: 'Vec<u32>',2600 },2601 add_basic_resource: {2602 rmrkCollectionId: 'u32',2603 nftId: 'u32',2604 resource: 'RmrkTraitsResourceBasicResource',2605 },2606 add_composable_resource: {2607 rmrkCollectionId: 'u32',2608 nftId: 'u32',2609 resource: 'RmrkTraitsResourceComposableResource',2610 },2611 add_slot_resource: {2612 rmrkCollectionId: 'u32',2613 nftId: 'u32',2614 resource: 'RmrkTraitsResourceSlotResource',2615 },2616 remove_resource: {2617 rmrkCollectionId: 'u32',2618 nftId: 'u32',2619 resourceId: 'u32'2620 }2621 }2622 },2623 /**2624 * Lookup297: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2625 **/2626 RmrkTraitsResourceResourceTypes: {2627 _enum: {2628 Basic: 'RmrkTraitsResourceBasicResource',2629 Composable: 'RmrkTraitsResourceComposableResource',2630 Slot: 'RmrkTraitsResourceSlotResource'2631 }2632 },2633 /**2634 * Lookup299: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2635 **/2636 RmrkTraitsResourceBasicResource: {2637 src: 'Option<Bytes>',2638 metadata: 'Option<Bytes>',2639 license: 'Option<Bytes>',2640 thumb: 'Option<Bytes>'2641 },2642 /**2643 * Lookup301: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2644 **/2645 RmrkTraitsResourceComposableResource: {2646 parts: 'Vec<u32>',2647 base: 'u32',2648 src: 'Option<Bytes>',2649 metadata: 'Option<Bytes>',2650 license: 'Option<Bytes>',2651 thumb: 'Option<Bytes>'2652 },2653 /**2654 * Lookup302: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2655 **/2656 RmrkTraitsResourceSlotResource: {2657 base: 'u32',2658 src: 'Option<Bytes>',2659 metadata: 'Option<Bytes>',2660 slot: 'u32',2661 license: 'Option<Bytes>',2662 thumb: 'Option<Bytes>'2663 },2664 /**2665 * Lookup305: pallet_rmrk_equip::pallet::Call<T>2666 **/2667 PalletRmrkEquipCall: {2668 _enum: {2669 create_base: {2670 baseType: 'Bytes',2671 symbol: 'Bytes',2672 parts: 'Vec<RmrkTraitsPartPartType>',2673 },2674 theme_add: {2675 baseId: 'u32',2676 theme: 'RmrkTraitsTheme',2677 },2678 equippable: {2679 baseId: 'u32',2680 slotId: 'u32',2681 equippables: 'RmrkTraitsPartEquippableList'2682 }2683 }2684 },2685 /**2686 * Lookup308: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2687 **/2688 RmrkTraitsPartPartType: {2689 _enum: {2690 FixedPart: 'RmrkTraitsPartFixedPart',2691 SlotPart: 'RmrkTraitsPartSlotPart'2692 }2693 },2694 /**2695 * Lookup310: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2696 **/2697 RmrkTraitsPartFixedPart: {2698 id: 'u32',2699 z: 'u32',2700 src: 'Bytes'2701 },2702 /**2703 * Lookup311: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2704 **/2705 RmrkTraitsPartSlotPart: {2706 id: 'u32',2707 equippable: 'RmrkTraitsPartEquippableList',2708 src: 'Bytes',2709 z: 'u32'2710 },2711 /**2712 * Lookup312: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2713 **/2714 RmrkTraitsPartEquippableList: {2715 _enum: {2716 All: 'Null',2717 Empty: 'Null',2718 Custom: 'Vec<u32>'2719 }2720 },2721 /**2722 * Lookup314: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>2723 **/2724 RmrkTraitsTheme: {2725 name: 'Bytes',2726 properties: 'Vec<RmrkTraitsThemeThemeProperty>',2727 inherit: 'bool'2728 },2729 /**2730 * Lookup316: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2731 **/2732 RmrkTraitsThemeThemeProperty: {2733 key: 'Bytes',2734 value: 'Bytes'2735 },2736 /**2737 * Lookup318: pallet_app_promotion::pallet::Call<T>2738 **/2739 PalletAppPromotionCall: {2740 _enum: {2741 set_admin_address: {2742 admin: 'PalletEvmAccountBasicCrossAccountIdRepr',2743 },2744 stake: {2745 amount: 'u128',2746 },2747 unstake: 'Null',2748 sponsor_collection: {2749 collectionId: 'u32',2750 },2751 stop_sponsoring_collection: {2752 collectionId: 'u32',2753 },2754 sponsor_contract: {2755 contractId: 'H160',2756 },2757 stop_sponsoring_contract: {2758 contractId: 'H160',2759 },2760 payout_stakers: {2761 stakersNumber: 'Option<u8>'2762 }2763 }2764 },2765 /**2766 * Lookup319: pallet_foreign_assets::module::Call<T>2767 **/2768 PalletForeignAssetsModuleCall: {2769 _enum: {2770 register_foreign_asset: {2771 owner: 'AccountId32',2772 location: 'XcmVersionedMultiLocation',2773 metadata: 'PalletForeignAssetsModuleAssetMetadata',2774 },2775 update_foreign_asset: {2776 foreignAssetId: 'u32',2777 location: 'XcmVersionedMultiLocation',2778 metadata: 'PalletForeignAssetsModuleAssetMetadata'2779 }2780 }2781 },2782 /**2783 * Lookup320: pallet_evm::pallet::Call<T>2784 **/2785 PalletEvmCall: {2786 _enum: {2787 withdraw: {2788 address: 'H160',2789 value: 'u128',2790 },2791 call: {2792 source: 'H160',2793 target: 'H160',2794 input: 'Bytes',2795 value: 'U256',2796 gasLimit: 'u64',2797 maxFeePerGas: 'U256',2798 maxPriorityFeePerGas: 'Option<U256>',2799 nonce: 'Option<U256>',2800 accessList: 'Vec<(H160,Vec<H256>)>',2801 },2802 create: {2803 source: 'H160',2804 init: 'Bytes',2805 value: 'U256',2806 gasLimit: 'u64',2807 maxFeePerGas: 'U256',2808 maxPriorityFeePerGas: 'Option<U256>',2809 nonce: 'Option<U256>',2810 accessList: 'Vec<(H160,Vec<H256>)>',2811 },2812 create2: {2813 source: 'H160',2814 init: 'Bytes',2815 salt: 'H256',2816 value: 'U256',2817 gasLimit: 'u64',2818 maxFeePerGas: 'U256',2819 maxPriorityFeePerGas: 'Option<U256>',2820 nonce: 'Option<U256>',2821 accessList: 'Vec<(H160,Vec<H256>)>'2822 }2823 }2824 },2825 /**2826 * Lookup326: pallet_ethereum::pallet::Call<T>2827 **/2828 PalletEthereumCall: {2829 _enum: {2830 transact: {2831 transaction: 'EthereumTransactionTransactionV2'2832 }2833 }2834 },2835 /**2836 * Lookup327: ethereum::transaction::TransactionV22837 **/2838 EthereumTransactionTransactionV2: {2839 _enum: {2840 Legacy: 'EthereumTransactionLegacyTransaction',2841 EIP2930: 'EthereumTransactionEip2930Transaction',2842 EIP1559: 'EthereumTransactionEip1559Transaction'2843 }2844 },2845 /**2846 * Lookup328: ethereum::transaction::LegacyTransaction2847 **/2848 EthereumTransactionLegacyTransaction: {2849 nonce: 'U256',2850 gasPrice: 'U256',2851 gasLimit: 'U256',2852 action: 'EthereumTransactionTransactionAction',2853 value: 'U256',2854 input: 'Bytes',2855 signature: 'EthereumTransactionTransactionSignature'2856 },2857 /**2858 * Lookup329: ethereum::transaction::TransactionAction2859 **/2860 EthereumTransactionTransactionAction: {2861 _enum: {2862 Call: 'H160',2863 Create: 'Null'2864 }2865 },2866 /**2867 * Lookup330: ethereum::transaction::TransactionSignature2868 **/2869 EthereumTransactionTransactionSignature: {2870 v: 'u64',2871 r: 'H256',2872 s: 'H256'2873 },2874 /**2875 * Lookup332: ethereum::transaction::EIP2930Transaction2876 **/2877 EthereumTransactionEip2930Transaction: {2878 chainId: 'u64',2879 nonce: 'U256',2880 gasPrice: 'U256',2881 gasLimit: 'U256',2882 action: 'EthereumTransactionTransactionAction',2883 value: 'U256',2884 input: 'Bytes',2885 accessList: 'Vec<EthereumTransactionAccessListItem>',2886 oddYParity: 'bool',2887 r: 'H256',2888 s: 'H256'2889 },2890 /**2891 * Lookup334: ethereum::transaction::AccessListItem2892 **/2893 EthereumTransactionAccessListItem: {2894 address: 'H160',2895 storageKeys: 'Vec<H256>'2896 },2897 /**2898 * Lookup335: ethereum::transaction::EIP1559Transaction2899 **/2900 EthereumTransactionEip1559Transaction: {2901 chainId: 'u64',2902 nonce: 'U256',2903 maxPriorityFeePerGas: 'U256',2904 maxFeePerGas: 'U256',2905 gasLimit: 'U256',2906 action: 'EthereumTransactionTransactionAction',2907 value: 'U256',2908 input: 'Bytes',2909 accessList: 'Vec<EthereumTransactionAccessListItem>',2910 oddYParity: 'bool',2911 r: 'H256',2912 s: 'H256'2913 },2914 /**2915 * Lookup336: pallet_evm_migration::pallet::Call<T>2916 **/2917 PalletEvmMigrationCall: {2918 _enum: {2919 begin: {2920 address: 'H160',2921 },2922 set_data: {2923 address: 'H160',2924 data: 'Vec<(H256,H256)>',2925 },2926 finish: {2927 address: 'H160',2928 code: 'Bytes',2929 },2930 insert_eth_logs: {2931 logs: 'Vec<EthereumLog>',2932 },2933 insert_events: {2934 events: 'Vec<Bytes>'2935 }2936 }2937 },2938 /**2939 * Lookup340: pallet_maintenance::pallet::Call<T>2940 **/2941 PalletMaintenanceCall: {2942 _enum: ['enable', 'disable']2943 },2944 /**2945 * Lookup341: pallet_test_utils::pallet::Call<T>2946 **/2947 PalletTestUtilsCall: {2948 _enum: {2949 enable: 'Null',2950 set_test_value: {2951 value: 'u32',2952 },2953 set_test_value_and_rollback: {2954 value: 'u32',2955 },2956 inc_test_value: 'Null',2957 self_canceling_inc: {2958 id: '[u8;32]',2959 maxTestValue: 'u32',2960 },2961 just_take_fee: 'Null',2962 batch_all: {2963 calls: 'Vec<Call>'2964 }2965 }2966 },2967 /**2968 * Lookup343: pallet_sudo::pallet::Error<T>2969 **/2970 PalletSudoError: {2971 _enum: ['RequireSudo']2972 },2973 /**2974 * Lookup345: orml_vesting::module::Error<T>2975 **/2976 OrmlVestingModuleError: {2977 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2978 },2979 /**2980 * Lookup346: orml_xtokens::module::Error<T>2981 **/2982 OrmlXtokensModuleError: {2983 _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']2984 },2985 /**2986 * Lookup349: orml_tokens::BalanceLock<Balance>2987 **/2988 OrmlTokensBalanceLock: {2989 id: '[u8;8]',2990 amount: 'u128'2991 },2992 /**2993 * Lookup351: orml_tokens::AccountData<Balance>2994 **/2995 OrmlTokensAccountData: {2996 free: 'u128',2997 reserved: 'u128',2998 frozen: 'u128'2999 },3000 /**3001 * Lookup353: orml_tokens::ReserveData<ReserveIdentifier, Balance>3002 **/3003 OrmlTokensReserveData: {3004 id: 'Null',3005 amount: 'u128'3006 },3007 /**3008 * Lookup355: orml_tokens::module::Error<T>3009 **/3010 OrmlTokensModuleError: {3011 _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']3012 },3013 /**3014 * Lookup357: cumulus_pallet_xcmp_queue::InboundChannelDetails3015 **/3016 CumulusPalletXcmpQueueInboundChannelDetails: {3017 sender: 'u32',3018 state: 'CumulusPalletXcmpQueueInboundState',3019 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'3020 },3021 /**3022 * Lookup358: cumulus_pallet_xcmp_queue::InboundState3023 **/3024 CumulusPalletXcmpQueueInboundState: {3025 _enum: ['Ok', 'Suspended']3026 },3027 /**3028 * Lookup361: polkadot_parachain::primitives::XcmpMessageFormat3029 **/3030 PolkadotParachainPrimitivesXcmpMessageFormat: {3031 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3032 },3033 /**3034 * Lookup364: cumulus_pallet_xcmp_queue::OutboundChannelDetails3035 **/3036 CumulusPalletXcmpQueueOutboundChannelDetails: {3037 recipient: 'u32',3038 state: 'CumulusPalletXcmpQueueOutboundState',3039 signalsExist: 'bool',3040 firstIndex: 'u16',3041 lastIndex: 'u16'3042 },3043 /**3044 * Lookup365: cumulus_pallet_xcmp_queue::OutboundState3045 **/3046 CumulusPalletXcmpQueueOutboundState: {3047 _enum: ['Ok', 'Suspended']3048 },3049 /**3050 * Lookup367: cumulus_pallet_xcmp_queue::QueueConfigData3051 **/3052 CumulusPalletXcmpQueueQueueConfigData: {3053 suspendThreshold: 'u32',3054 dropThreshold: 'u32',3055 resumeThreshold: 'u32',3056 thresholdWeight: 'Weight',3057 weightRestrictDecay: 'Weight',3058 xcmpMaxIndividualWeight: 'Weight'3059 },3060 /**3061 * Lookup369: cumulus_pallet_xcmp_queue::pallet::Error<T>3062 **/3063 CumulusPalletXcmpQueueError: {3064 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3065 },3066 /**3067 * Lookup370: pallet_xcm::pallet::Error<T>3068 **/3069 PalletXcmError: {3070 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']3071 },3072 /**3073 * Lookup371: cumulus_pallet_xcm::pallet::Error<T>3074 **/3075 CumulusPalletXcmError: 'Null',3076 /**3077 * Lookup372: cumulus_pallet_dmp_queue::ConfigData3078 **/3079 CumulusPalletDmpQueueConfigData: {3080 maxIndividual: 'Weight'3081 },3082 /**3083 * Lookup373: cumulus_pallet_dmp_queue::PageIndexData3084 **/3085 CumulusPalletDmpQueuePageIndexData: {3086 beginUsed: 'u32',3087 endUsed: 'u32',3088 overweightCount: 'u64'3089 },3090 /**3091 * Lookup376: cumulus_pallet_dmp_queue::pallet::Error<T>3092 **/3093 CumulusPalletDmpQueueError: {3094 _enum: ['Unknown', 'OverLimit']3095 },3096 /**3097 * Lookup380: pallet_unique::Error<T>3098 **/3099 PalletUniqueError: {3100 _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3101 },3102 /**3103 * Lookup381: pallet_unique_scheduler_v2::BlockAgenda<T>3104 **/3105 PalletUniqueSchedulerV2BlockAgenda: {3106 agenda: 'Vec<Option<PalletUniqueSchedulerV2Scheduled>>',3107 freePlaces: 'u32'3108 },3109 /**3110 * Lookup384: pallet_unique_scheduler_v2::Scheduled<Name, pallet_unique_scheduler_v2::ScheduledCall<T>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>3111 **/3112 PalletUniqueSchedulerV2Scheduled: {3113 maybeId: 'Option<[u8;32]>',3114 priority: 'u8',3115 call: 'PalletUniqueSchedulerV2ScheduledCall',3116 maybePeriodic: 'Option<(u32,u32)>',3117 origin: 'OpalRuntimeOriginCaller'3118 },3119 /**3120 * Lookup385: pallet_unique_scheduler_v2::ScheduledCall<T>3121 **/3122 PalletUniqueSchedulerV2ScheduledCall: {3123 _enum: {3124 Inline: 'Bytes',3125 PreimageLookup: {3126 _alias: {3127 hash_: 'hash',3128 },3129 hash_: 'H256',3130 unboundedLen: 'u32'3131 }3132 }3133 },3134 /**3135 * Lookup387: opal_runtime::OriginCaller3136 **/3137 OpalRuntimeOriginCaller: {3138 _enum: {3139 system: 'FrameSupportDispatchRawOrigin',3140 __Unused1: 'Null',3141 __Unused2: 'Null',3142 __Unused3: 'Null',3143 Void: 'SpCoreVoid',3144 __Unused5: 'Null',3145 __Unused6: 'Null',3146 __Unused7: 'Null',3147 __Unused8: 'Null',3148 __Unused9: 'Null',3149 __Unused10: 'Null',3150 __Unused11: 'Null',3151 __Unused12: 'Null',3152 __Unused13: 'Null',3153 __Unused14: 'Null',3154 __Unused15: 'Null',3155 __Unused16: 'Null',3156 __Unused17: 'Null',3157 __Unused18: 'Null',3158 __Unused19: 'Null',3159 __Unused20: 'Null',3160 __Unused21: 'Null',3161 __Unused22: 'Null',3162 __Unused23: 'Null',3163 __Unused24: 'Null',3164 __Unused25: 'Null',3165 __Unused26: 'Null',3166 __Unused27: 'Null',3167 __Unused28: 'Null',3168 __Unused29: 'Null',3169 __Unused30: 'Null',3170 __Unused31: 'Null',3171 __Unused32: 'Null',3172 __Unused33: 'Null',3173 __Unused34: 'Null',3174 __Unused35: 'Null',3175 __Unused36: 'Null',3176 __Unused37: 'Null',3177 __Unused38: 'Null',3178 __Unused39: 'Null',3179 __Unused40: 'Null',3180 __Unused41: 'Null',3181 __Unused42: 'Null',3182 __Unused43: 'Null',3183 __Unused44: 'Null',3184 __Unused45: 'Null',3185 __Unused46: 'Null',3186 __Unused47: 'Null',3187 __Unused48: 'Null',3188 __Unused49: 'Null',3189 __Unused50: 'Null',3190 PolkadotXcm: 'PalletXcmOrigin',3191 CumulusXcm: 'CumulusPalletXcmOrigin',3192 __Unused53: 'Null',3193 __Unused54: 'Null',3194 __Unused55: 'Null',3195 __Unused56: 'Null',3196 __Unused57: 'Null',3197 __Unused58: 'Null',3198 __Unused59: 'Null',3199 __Unused60: 'Null',3200 __Unused61: 'Null',3201 __Unused62: 'Null',3202 __Unused63: 'Null',3203 __Unused64: 'Null',3204 __Unused65: 'Null',3205 __Unused66: 'Null',3206 __Unused67: 'Null',3207 __Unused68: 'Null',3208 __Unused69: 'Null',3209 __Unused70: 'Null',3210 __Unused71: 'Null',3211 __Unused72: 'Null',3212 __Unused73: 'Null',3213 __Unused74: 'Null',3214 __Unused75: 'Null',3215 __Unused76: 'Null',3216 __Unused77: 'Null',3217 __Unused78: 'Null',3218 __Unused79: 'Null',3219 __Unused80: 'Null',3220 __Unused81: 'Null',3221 __Unused82: 'Null',3222 __Unused83: 'Null',3223 __Unused84: 'Null',3224 __Unused85: 'Null',3225 __Unused86: 'Null',3226 __Unused87: 'Null',3227 __Unused88: 'Null',3228 __Unused89: 'Null',3229 __Unused90: 'Null',3230 __Unused91: 'Null',3231 __Unused92: 'Null',3232 __Unused93: 'Null',3233 __Unused94: 'Null',3234 __Unused95: 'Null',3235 __Unused96: 'Null',3236 __Unused97: 'Null',3237 __Unused98: 'Null',3238 __Unused99: 'Null',3239 __Unused100: 'Null',3240 Ethereum: 'PalletEthereumRawOrigin'3241 }3242 },3243 /**3244 * Lookup388: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>3245 **/3246 FrameSupportDispatchRawOrigin: {3247 _enum: {3248 Root: 'Null',3249 Signed: 'AccountId32',3250 None: 'Null'3251 }3252 },3253 /**3254 * Lookup389: pallet_xcm::pallet::Origin3255 **/3256 PalletXcmOrigin: {3257 _enum: {3258 Xcm: 'XcmV1MultiLocation',3259 Response: 'XcmV1MultiLocation'3260 }3261 },3262 /**3263 * Lookup390: cumulus_pallet_xcm::pallet::Origin3264 **/3265 CumulusPalletXcmOrigin: {3266 _enum: {3267 Relay: 'Null',3268 SiblingParachain: 'u32'3269 }3270 },3271 /**3272 * Lookup391: pallet_ethereum::RawOrigin3273 **/3274 PalletEthereumRawOrigin: {3275 _enum: {3276 EthereumTransaction: 'H160'3277 }3278 },3279 /**3280 * Lookup392: sp_core::Void3281 **/3282 SpCoreVoid: 'Null',3283 /**3284 * Lookup394: pallet_unique_scheduler_v2::pallet::Error<T>3285 **/3286 PalletUniqueSchedulerV2Error: {3287 _enum: ['FailedToSchedule', 'AgendaIsExhausted', 'ScheduledCallCorrupted', 'PreimageNotFound', 'TooBigScheduledCall', 'NotFound', 'TargetBlockNumberInPast', 'Named']3288 },3289 /**3290 * Lookup395: up_data_structs::Collection<sp_core::crypto::AccountId32>3291 **/3292 UpDataStructsCollection: {3293 owner: 'AccountId32',3294 mode: 'UpDataStructsCollectionMode',3295 name: 'Vec<u16>',3296 description: 'Vec<u16>',3297 tokenPrefix: 'Bytes',3298 sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3299 limits: 'UpDataStructsCollectionLimits',3300 permissions: 'UpDataStructsCollectionPermissions',3301 flags: '[u8;1]'3302 },3303 /**3304 * Lookup396: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3305 **/3306 UpDataStructsSponsorshipStateAccountId32: {3307 _enum: {3308 Disabled: 'Null',3309 Unconfirmed: 'AccountId32',3310 Confirmed: 'AccountId32'3311 }3312 },3313 /**3314 * Lookup398: up_data_structs::Properties3315 **/3316 UpDataStructsProperties: {3317 map: 'UpDataStructsPropertiesMapBoundedVec',3318 consumedSpace: 'u32',3319 spaceLimit: 'u32'3320 },3321 /**3322 * Lookup399: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>3323 **/3324 UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3325 /**3326 * Lookup404: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3327 **/3328 UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3329 /**3330 * Lookup411: up_data_structs::CollectionStats3331 **/3332 UpDataStructsCollectionStats: {3333 created: 'u32',3334 destroyed: 'u32',3335 alive: 'u32'3336 },3337 /**3338 * Lookup412: up_data_structs::TokenChild3339 **/3340 UpDataStructsTokenChild: {3341 token: 'u32',3342 collection: 'u32'3343 },3344 /**3345 * Lookup413: PhantomType::up_data_structs<T>3346 **/3347 PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',3348 /**3349 * Lookup415: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3350 **/3351 UpDataStructsTokenData: {3352 properties: 'Vec<UpDataStructsProperty>',3353 owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3354 pieces: 'u128'3355 },3356 /**3357 * Lookup417: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3358 **/3359 UpDataStructsRpcCollection: {3360 owner: 'AccountId32',3361 mode: 'UpDataStructsCollectionMode',3362 name: 'Vec<u16>',3363 description: 'Vec<u16>',3364 tokenPrefix: 'Bytes',3365 sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3366 limits: 'UpDataStructsCollectionLimits',3367 permissions: 'UpDataStructsCollectionPermissions',3368 tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',3369 properties: 'Vec<UpDataStructsProperty>',3370 readOnly: 'bool',3371 flags: 'UpDataStructsRpcCollectionFlags'3372 },3373 /**3374 * Lookup418: up_data_structs::RpcCollectionFlags3375 **/3376 UpDataStructsRpcCollectionFlags: {3377 foreign: 'bool',3378 erc721metadata: 'bool'3379 },3380 /**3381 * Lookup419: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>3382 **/3383 RmrkTraitsCollectionCollectionInfo: {3384 issuer: 'AccountId32',3385 metadata: 'Bytes',3386 max: 'Option<u32>',3387 symbol: 'Bytes',3388 nftsCount: 'u32'3389 },3390 /**3391 * Lookup420: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3392 **/3393 RmrkTraitsNftNftInfo: {3394 owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',3395 royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',3396 metadata: 'Bytes',3397 equipped: 'bool',3398 pending: 'bool'3399 },3400 /**3401 * Lookup422: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>3402 **/3403 RmrkTraitsNftRoyaltyInfo: {3404 recipient: 'AccountId32',3405 amount: 'Permill'3406 },3407 /**3408 * Lookup423: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3409 **/3410 RmrkTraitsResourceResourceInfo: {3411 id: 'u32',3412 resource: 'RmrkTraitsResourceResourceTypes',3413 pending: 'bool',3414 pendingRemoval: 'bool'3415 },3416 /**3417 * Lookup424: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3418 **/3419 RmrkTraitsPropertyPropertyInfo: {3420 key: 'Bytes',3421 value: 'Bytes'3422 },3423 /**3424 * Lookup425: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3425 **/3426 RmrkTraitsBaseBaseInfo: {3427 issuer: 'AccountId32',3428 baseType: 'Bytes',3429 symbol: 'Bytes'3430 },3431 /**3432 * Lookup426: rmrk_traits::nft::NftChild3433 **/3434 RmrkTraitsNftNftChild: {3435 collectionId: 'u32',3436 nftId: 'u32'3437 },3438 /**3439 * Lookup428: pallet_common::pallet::Error<T>3440 **/3441 PalletCommonError: {3442 _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']3443 },3444 /**3445 * Lookup430: pallet_fungible::pallet::Error<T>3446 **/3447 PalletFungibleError: {3448 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3449 },3450 /**3451 * Lookup431: pallet_refungible::ItemData3452 **/3453 PalletRefungibleItemData: {3454 constData: 'Bytes'3455 },3456 /**3457 * Lookup436: pallet_refungible::pallet::Error<T>3458 **/3459 PalletRefungibleError: {3460 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3461 },3462 /**3463 * Lookup437: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3464 **/3465 PalletNonfungibleItemData: {3466 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3467 },3468 /**3469 * Lookup439: up_data_structs::PropertyScope3470 **/3471 UpDataStructsPropertyScope: {3472 _enum: ['None', 'Rmrk']3473 },3474 /**3475 * Lookup441: pallet_nonfungible::pallet::Error<T>3476 **/3477 PalletNonfungibleError: {3478 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3479 },3480 /**3481 * Lookup442: pallet_structure::pallet::Error<T>3482 **/3483 PalletStructureError: {3484 _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']3485 },3486 /**3487 * Lookup443: pallet_rmrk_core::pallet::Error<T>3488 **/3489 PalletRmrkCoreError: {3490 _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']3491 },3492 /**3493 * Lookup445: pallet_rmrk_equip::pallet::Error<T>3494 **/3495 PalletRmrkEquipError: {3496 _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3497 },3498 /**3499 * Lookup451: pallet_app_promotion::pallet::Error<T>3500 **/3501 PalletAppPromotionError: {3502 _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']3503 },3504 /**3505 * Lookup452: pallet_foreign_assets::module::Error<T>3506 **/3507 PalletForeignAssetsModuleError: {3508 _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3509 },3510 /**3511 * Lookup454: pallet_evm::pallet::Error<T>3512 **/3513 PalletEvmError: {3514 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy']3515 },3516 /**3517 * Lookup457: fp_rpc::TransactionStatus3518 **/3519 FpRpcTransactionStatus: {3520 transactionHash: 'H256',3521 transactionIndex: 'u32',3522 from: 'H160',3523 to: 'Option<H160>',3524 contractAddress: 'Option<H160>',3525 logs: 'Vec<EthereumLog>',3526 logsBloom: 'EthbloomBloom'3527 },3528 /**3529 * Lookup459: ethbloom::Bloom3530 **/3531 EthbloomBloom: '[u8;256]',3532 /**3533 * Lookup461: ethereum::receipt::ReceiptV33534 **/3535 EthereumReceiptReceiptV3: {3536 _enum: {3537 Legacy: 'EthereumReceiptEip658ReceiptData',3538 EIP2930: 'EthereumReceiptEip658ReceiptData',3539 EIP1559: 'EthereumReceiptEip658ReceiptData'3540 }3541 },3542 /**3543 * Lookup462: ethereum::receipt::EIP658ReceiptData3544 **/3545 EthereumReceiptEip658ReceiptData: {3546 statusCode: 'u8',3547 usedGas: 'U256',3548 logsBloom: 'EthbloomBloom',3549 logs: 'Vec<EthereumLog>'3550 },3551 /**3552 * Lookup463: ethereum::block::Block<ethereum::transaction::TransactionV2>3553 **/3554 EthereumBlock: {3555 header: 'EthereumHeader',3556 transactions: 'Vec<EthereumTransactionTransactionV2>',3557 ommers: 'Vec<EthereumHeader>'3558 },3559 /**3560 * Lookup464: ethereum::header::Header3561 **/3562 EthereumHeader: {3563 parentHash: 'H256',3564 ommersHash: 'H256',3565 beneficiary: 'H160',3566 stateRoot: 'H256',3567 transactionsRoot: 'H256',3568 receiptsRoot: 'H256',3569 logsBloom: 'EthbloomBloom',3570 difficulty: 'U256',3571 number: 'U256',3572 gasLimit: 'U256',3573 gasUsed: 'U256',3574 timestamp: 'u64',3575 extraData: 'Bytes',3576 mixHash: 'H256',3577 nonce: 'EthereumTypesHashH64'3578 },3579 /**3580 * Lookup465: ethereum_types::hash::H643581 **/3582 EthereumTypesHashH64: '[u8;8]',3583 /**3584 * Lookup470: pallet_ethereum::pallet::Error<T>3585 **/3586 PalletEthereumError: {3587 _enum: ['InvalidSignature', 'PreLogExists']3588 },3589 /**3590 * Lookup471: pallet_evm_coder_substrate::pallet::Error<T>3591 **/3592 PalletEvmCoderSubstrateError: {3593 _enum: ['OutOfGas', 'OutOfFund']3594 },3595 /**3596 * Lookup472: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3597 **/3598 UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3599 _enum: {3600 Disabled: 'Null',3601 Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3602 Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3603 }3604 },3605 /**3606 * Lookup473: pallet_evm_contract_helpers::SponsoringModeT3607 **/3608 PalletEvmContractHelpersSponsoringModeT: {3609 _enum: ['Disabled', 'Allowlisted', 'Generous']3610 },3611 /**3612 * Lookup479: pallet_evm_contract_helpers::pallet::Error<T>3613 **/3614 PalletEvmContractHelpersError: {3615 _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3616 },3617 /**3618 * Lookup480: pallet_evm_migration::pallet::Error<T>3619 **/3620 PalletEvmMigrationError: {3621 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']3622 },3623 /**3624 * Lookup481: pallet_maintenance::pallet::Error<T>3625 **/3626 PalletMaintenanceError: 'Null',3627 /**3628 * Lookup482: pallet_test_utils::pallet::Error<T>3629 **/3630 PalletTestUtilsError: {3631 _enum: ['TestPalletDisabled', 'TriggerRollback']3632 },3633 /**3634 * Lookup484: sp_runtime::MultiSignature3635 **/3636 SpRuntimeMultiSignature: {3637 _enum: {3638 Ed25519: 'SpCoreEd25519Signature',3639 Sr25519: 'SpCoreSr25519Signature',3640 Ecdsa: 'SpCoreEcdsaSignature'3641 }3642 },3643 /**3644 * Lookup485: sp_core::ed25519::Signature3645 **/3646 SpCoreEd25519Signature: '[u8;64]',3647 /**3648 * Lookup487: sp_core::sr25519::Signature3649 **/3650 SpCoreSr25519Signature: '[u8;64]',3651 /**3652 * Lookup488: sp_core::ecdsa::Signature3653 **/3654 SpCoreEcdsaSignature: '[u8;65]',3655 /**3656 * Lookup491: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3657 **/3658 FrameSystemExtensionsCheckSpecVersion: 'Null',3659 /**3660 * Lookup492: frame_system::extensions::check_tx_version::CheckTxVersion<T>3661 **/3662 FrameSystemExtensionsCheckTxVersion: 'Null',3663 /**3664 * Lookup493: frame_system::extensions::check_genesis::CheckGenesis<T>3665 **/3666 FrameSystemExtensionsCheckGenesis: 'Null',3667 /**3668 * Lookup496: frame_system::extensions::check_nonce::CheckNonce<T>3669 **/3670 FrameSystemExtensionsCheckNonce: 'Compact<u32>',3671 /**3672 * Lookup497: frame_system::extensions::check_weight::CheckWeight<T>3673 **/3674 FrameSystemExtensionsCheckWeight: 'Null',3675 /**3676 * Lookup498: opal_runtime::runtime_common::maintenance::CheckMaintenance3677 **/3678 OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3679 /**3680 * Lookup499: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3681 **/3682 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3683 /**3684 * Lookup500: opal_runtime::Runtime3685 **/3686 OpalRuntimeRuntime: 'Null',3687 /**3688 * Lookup501: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3689 **/3690 PalletEthereumFakeTransactionFinalizer: 'Null'3691};1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34/* eslint-disable sort-keys */56export default {7 /**8 * Lookup3: frame_system::AccountInfo<Index, pallet_balances::AccountData<Balance>>9 **/10 FrameSystemAccountInfo: {11 nonce: 'u32',12 consumers: 'u32',13 providers: 'u32',14 sufficients: 'u32',15 data: 'PalletBalancesAccountData'16 },17 /**18 * Lookup5: pallet_balances::AccountData<Balance>19 **/20 PalletBalancesAccountData: {21 free: 'u128',22 reserved: 'u128',23 miscFrozen: 'u128',24 feeFrozen: 'u128'25 },26 /**27 * Lookup7: frame_support::dispatch::PerDispatchClass<sp_weights::weight_v2::Weight>28 **/29 FrameSupportDispatchPerDispatchClassWeight: {30 normal: 'Weight',31 operational: 'Weight',32 mandatory: 'Weight'33 },34 /**35 * Lookup12: sp_runtime::generic::digest::Digest36 **/37 SpRuntimeDigest: {38 logs: 'Vec<SpRuntimeDigestDigestItem>'39 },40 /**41 * Lookup14: sp_runtime::generic::digest::DigestItem42 **/43 SpRuntimeDigestDigestItem: {44 _enum: {45 Other: 'Bytes',46 __Unused1: 'Null',47 __Unused2: 'Null',48 __Unused3: 'Null',49 Consensus: '([u8;4],Bytes)',50 Seal: '([u8;4],Bytes)',51 PreRuntime: '([u8;4],Bytes)',52 __Unused7: 'Null',53 RuntimeEnvironmentUpdated: 'Null'54 }55 },56 /**57 * Lookup17: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>58 **/59 FrameSystemEventRecord: {60 phase: 'FrameSystemPhase',61 event: 'Event',62 topics: 'Vec<H256>'63 },64 /**65 * Lookup19: frame_system::pallet::Event<T>66 **/67 FrameSystemEvent: {68 _enum: {69 ExtrinsicSuccess: {70 dispatchInfo: 'FrameSupportDispatchDispatchInfo',71 },72 ExtrinsicFailed: {73 dispatchError: 'SpRuntimeDispatchError',74 dispatchInfo: 'FrameSupportDispatchDispatchInfo',75 },76 CodeUpdated: 'Null',77 NewAccount: {78 account: 'AccountId32',79 },80 KilledAccount: {81 account: 'AccountId32',82 },83 Remarked: {84 _alias: {85 hash_: 'hash',86 },87 sender: 'AccountId32',88 hash_: 'H256'89 }90 }91 },92 /**93 * Lookup20: frame_support::dispatch::DispatchInfo94 **/95 FrameSupportDispatchDispatchInfo: {96 weight: 'Weight',97 class: 'FrameSupportDispatchDispatchClass',98 paysFee: 'FrameSupportDispatchPays'99 },100 /**101 * Lookup21: frame_support::dispatch::DispatchClass102 **/103 FrameSupportDispatchDispatchClass: {104 _enum: ['Normal', 'Operational', 'Mandatory']105 },106 /**107 * Lookup22: frame_support::dispatch::Pays108 **/109 FrameSupportDispatchPays: {110 _enum: ['Yes', 'No']111 },112 /**113 * Lookup23: sp_runtime::DispatchError114 **/115 SpRuntimeDispatchError: {116 _enum: {117 Other: 'Null',118 CannotLookup: 'Null',119 BadOrigin: 'Null',120 Module: 'SpRuntimeModuleError',121 ConsumerRemaining: 'Null',122 NoProviders: 'Null',123 TooManyConsumers: 'Null',124 Token: 'SpRuntimeTokenError',125 Arithmetic: 'SpRuntimeArithmeticError',126 Transactional: 'SpRuntimeTransactionalError'127 }128 },129 /**130 * Lookup24: sp_runtime::ModuleError131 **/132 SpRuntimeModuleError: {133 index: 'u8',134 error: '[u8;4]'135 },136 /**137 * Lookup25: sp_runtime::TokenError138 **/139 SpRuntimeTokenError: {140 _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported']141 },142 /**143 * Lookup26: sp_runtime::ArithmeticError144 **/145 SpRuntimeArithmeticError: {146 _enum: ['Underflow', 'Overflow', 'DivisionByZero']147 },148 /**149 * Lookup27: sp_runtime::TransactionalError150 **/151 SpRuntimeTransactionalError: {152 _enum: ['LimitReached', 'NoLayer']153 },154 /**155 * Lookup28: cumulus_pallet_parachain_system::pallet::Event<T>156 **/157 CumulusPalletParachainSystemEvent: {158 _enum: {159 ValidationFunctionStored: 'Null',160 ValidationFunctionApplied: {161 relayChainBlockNum: 'u32',162 },163 ValidationFunctionDiscarded: 'Null',164 UpgradeAuthorized: {165 codeHash: 'H256',166 },167 DownwardMessagesReceived: {168 count: 'u32',169 },170 DownwardMessagesProcessed: {171 weightUsed: 'Weight',172 dmqHead: 'H256'173 }174 }175 },176 /**177 * Lookup29: pallet_balances::pallet::Event<T, I>178 **/179 PalletBalancesEvent: {180 _enum: {181 Endowed: {182 account: 'AccountId32',183 freeBalance: 'u128',184 },185 DustLost: {186 account: 'AccountId32',187 amount: 'u128',188 },189 Transfer: {190 from: 'AccountId32',191 to: 'AccountId32',192 amount: 'u128',193 },194 BalanceSet: {195 who: 'AccountId32',196 free: 'u128',197 reserved: 'u128',198 },199 Reserved: {200 who: 'AccountId32',201 amount: 'u128',202 },203 Unreserved: {204 who: 'AccountId32',205 amount: 'u128',206 },207 ReserveRepatriated: {208 from: 'AccountId32',209 to: 'AccountId32',210 amount: 'u128',211 destinationStatus: 'FrameSupportTokensMiscBalanceStatus',212 },213 Deposit: {214 who: 'AccountId32',215 amount: 'u128',216 },217 Withdraw: {218 who: 'AccountId32',219 amount: 'u128',220 },221 Slashed: {222 who: 'AccountId32',223 amount: 'u128'224 }225 }226 },227 /**228 * Lookup30: frame_support::traits::tokens::misc::BalanceStatus229 **/230 FrameSupportTokensMiscBalanceStatus: {231 _enum: ['Free', 'Reserved']232 },233 /**234 * Lookup31: pallet_transaction_payment::pallet::Event<T>235 **/236 PalletTransactionPaymentEvent: {237 _enum: {238 TransactionFeePaid: {239 who: 'AccountId32',240 actualFee: 'u128',241 tip: 'u128'242 }243 }244 },245 /**246 * Lookup32: pallet_treasury::pallet::Event<T, I>247 **/248 PalletTreasuryEvent: {249 _enum: {250 Proposed: {251 proposalIndex: 'u32',252 },253 Spending: {254 budgetRemaining: 'u128',255 },256 Awarded: {257 proposalIndex: 'u32',258 award: 'u128',259 account: 'AccountId32',260 },261 Rejected: {262 proposalIndex: 'u32',263 slashed: 'u128',264 },265 Burnt: {266 burntFunds: 'u128',267 },268 Rollover: {269 rolloverBalance: 'u128',270 },271 Deposit: {272 value: 'u128',273 },274 SpendApproved: {275 proposalIndex: 'u32',276 amount: 'u128',277 beneficiary: 'AccountId32'278 }279 }280 },281 /**282 * Lookup33: pallet_sudo::pallet::Event<T>283 **/284 PalletSudoEvent: {285 _enum: {286 Sudid: {287 sudoResult: 'Result<Null, SpRuntimeDispatchError>',288 },289 KeyChanged: {290 oldSudoer: 'Option<AccountId32>',291 },292 SudoAsDone: {293 sudoResult: 'Result<Null, SpRuntimeDispatchError>'294 }295 }296 },297 /**298 * Lookup37: orml_vesting::module::Event<T>299 **/300 OrmlVestingModuleEvent: {301 _enum: {302 VestingScheduleAdded: {303 from: 'AccountId32',304 to: 'AccountId32',305 vestingSchedule: 'OrmlVestingVestingSchedule',306 },307 Claimed: {308 who: 'AccountId32',309 amount: 'u128',310 },311 VestingSchedulesUpdated: {312 who: 'AccountId32'313 }314 }315 },316 /**317 * Lookup38: orml_vesting::VestingSchedule<BlockNumber, Balance>318 **/319 OrmlVestingVestingSchedule: {320 start: 'u32',321 period: 'u32',322 periodCount: 'u32',323 perPeriod: 'Compact<u128>'324 },325 /**326 * Lookup40: orml_xtokens::module::Event<T>327 **/328 OrmlXtokensModuleEvent: {329 _enum: {330 TransferredMultiAssets: {331 sender: 'AccountId32',332 assets: 'XcmV1MultiassetMultiAssets',333 fee: 'XcmV1MultiAsset',334 dest: 'XcmV1MultiLocation'335 }336 }337 },338 /**339 * Lookup41: xcm::v1::multiasset::MultiAssets340 **/341 XcmV1MultiassetMultiAssets: 'Vec<XcmV1MultiAsset>',342 /**343 * Lookup43: xcm::v1::multiasset::MultiAsset344 **/345 XcmV1MultiAsset: {346 id: 'XcmV1MultiassetAssetId',347 fun: 'XcmV1MultiassetFungibility'348 },349 /**350 * Lookup44: xcm::v1::multiasset::AssetId351 **/352 XcmV1MultiassetAssetId: {353 _enum: {354 Concrete: 'XcmV1MultiLocation',355 Abstract: 'Bytes'356 }357 },358 /**359 * Lookup45: xcm::v1::multilocation::MultiLocation360 **/361 XcmV1MultiLocation: {362 parents: 'u8',363 interior: 'XcmV1MultilocationJunctions'364 },365 /**366 * Lookup46: xcm::v1::multilocation::Junctions367 **/368 XcmV1MultilocationJunctions: {369 _enum: {370 Here: 'Null',371 X1: 'XcmV1Junction',372 X2: '(XcmV1Junction,XcmV1Junction)',373 X3: '(XcmV1Junction,XcmV1Junction,XcmV1Junction)',374 X4: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',375 X5: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',376 X6: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',377 X7: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)',378 X8: '(XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction,XcmV1Junction)'379 }380 },381 /**382 * Lookup47: xcm::v1::junction::Junction383 **/384 XcmV1Junction: {385 _enum: {386 Parachain: 'Compact<u32>',387 AccountId32: {388 network: 'XcmV0JunctionNetworkId',389 id: '[u8;32]',390 },391 AccountIndex64: {392 network: 'XcmV0JunctionNetworkId',393 index: 'Compact<u64>',394 },395 AccountKey20: {396 network: 'XcmV0JunctionNetworkId',397 key: '[u8;20]',398 },399 PalletInstance: 'u8',400 GeneralIndex: 'Compact<u128>',401 GeneralKey: 'Bytes',402 OnlyChild: 'Null',403 Plurality: {404 id: 'XcmV0JunctionBodyId',405 part: 'XcmV0JunctionBodyPart'406 }407 }408 },409 /**410 * Lookup49: xcm::v0::junction::NetworkId411 **/412 XcmV0JunctionNetworkId: {413 _enum: {414 Any: 'Null',415 Named: 'Bytes',416 Polkadot: 'Null',417 Kusama: 'Null'418 }419 },420 /**421 * Lookup53: xcm::v0::junction::BodyId422 **/423 XcmV0JunctionBodyId: {424 _enum: {425 Unit: 'Null',426 Named: 'Bytes',427 Index: 'Compact<u32>',428 Executive: 'Null',429 Technical: 'Null',430 Legislative: 'Null',431 Judicial: 'Null'432 }433 },434 /**435 * Lookup54: xcm::v0::junction::BodyPart436 **/437 XcmV0JunctionBodyPart: {438 _enum: {439 Voice: 'Null',440 Members: {441 count: 'Compact<u32>',442 },443 Fraction: {444 nom: 'Compact<u32>',445 denom: 'Compact<u32>',446 },447 AtLeastProportion: {448 nom: 'Compact<u32>',449 denom: 'Compact<u32>',450 },451 MoreThanProportion: {452 nom: 'Compact<u32>',453 denom: 'Compact<u32>'454 }455 }456 },457 /**458 * Lookup55: xcm::v1::multiasset::Fungibility459 **/460 XcmV1MultiassetFungibility: {461 _enum: {462 Fungible: 'Compact<u128>',463 NonFungible: 'XcmV1MultiassetAssetInstance'464 }465 },466 /**467 * Lookup56: xcm::v1::multiasset::AssetInstance468 **/469 XcmV1MultiassetAssetInstance: {470 _enum: {471 Undefined: 'Null',472 Index: 'Compact<u128>',473 Array4: '[u8;4]',474 Array8: '[u8;8]',475 Array16: '[u8;16]',476 Array32: '[u8;32]',477 Blob: 'Bytes'478 }479 },480 /**481 * Lookup59: orml_tokens::module::Event<T>482 **/483 OrmlTokensModuleEvent: {484 _enum: {485 Endowed: {486 currencyId: 'PalletForeignAssetsAssetIds',487 who: 'AccountId32',488 amount: 'u128',489 },490 DustLost: {491 currencyId: 'PalletForeignAssetsAssetIds',492 who: 'AccountId32',493 amount: 'u128',494 },495 Transfer: {496 currencyId: 'PalletForeignAssetsAssetIds',497 from: 'AccountId32',498 to: 'AccountId32',499 amount: 'u128',500 },501 Reserved: {502 currencyId: 'PalletForeignAssetsAssetIds',503 who: 'AccountId32',504 amount: 'u128',505 },506 Unreserved: {507 currencyId: 'PalletForeignAssetsAssetIds',508 who: 'AccountId32',509 amount: 'u128',510 },511 ReserveRepatriated: {512 currencyId: 'PalletForeignAssetsAssetIds',513 from: 'AccountId32',514 to: 'AccountId32',515 amount: 'u128',516 status: 'FrameSupportTokensMiscBalanceStatus',517 },518 BalanceSet: {519 currencyId: 'PalletForeignAssetsAssetIds',520 who: 'AccountId32',521 free: 'u128',522 reserved: 'u128',523 },524 TotalIssuanceSet: {525 currencyId: 'PalletForeignAssetsAssetIds',526 amount: 'u128',527 },528 Withdrawn: {529 currencyId: 'PalletForeignAssetsAssetIds',530 who: 'AccountId32',531 amount: 'u128',532 },533 Slashed: {534 currencyId: 'PalletForeignAssetsAssetIds',535 who: 'AccountId32',536 freeAmount: 'u128',537 reservedAmount: 'u128',538 },539 Deposited: {540 currencyId: 'PalletForeignAssetsAssetIds',541 who: 'AccountId32',542 amount: 'u128',543 },544 LockSet: {545 lockId: '[u8;8]',546 currencyId: 'PalletForeignAssetsAssetIds',547 who: 'AccountId32',548 amount: 'u128',549 },550 LockRemoved: {551 lockId: '[u8;8]',552 currencyId: 'PalletForeignAssetsAssetIds',553 who: 'AccountId32'554 }555 }556 },557 /**558 * Lookup60: pallet_foreign_assets::AssetIds559 **/560 PalletForeignAssetsAssetIds: {561 _enum: {562 ForeignAssetId: 'u32',563 NativeAssetId: 'PalletForeignAssetsNativeCurrency'564 }565 },566 /**567 * Lookup61: pallet_foreign_assets::NativeCurrency568 **/569 PalletForeignAssetsNativeCurrency: {570 _enum: ['Here', 'Parent']571 },572 /**573 * Lookup62: cumulus_pallet_xcmp_queue::pallet::Event<T>574 **/575 CumulusPalletXcmpQueueEvent: {576 _enum: {577 Success: {578 messageHash: 'Option<H256>',579 weight: 'Weight',580 },581 Fail: {582 messageHash: 'Option<H256>',583 error: 'XcmV2TraitsError',584 weight: 'Weight',585 },586 BadVersion: {587 messageHash: 'Option<H256>',588 },589 BadFormat: {590 messageHash: 'Option<H256>',591 },592 UpwardMessageSent: {593 messageHash: 'Option<H256>',594 },595 XcmpMessageSent: {596 messageHash: 'Option<H256>',597 },598 OverweightEnqueued: {599 sender: 'u32',600 sentAt: 'u32',601 index: 'u64',602 required: 'Weight',603 },604 OverweightServiced: {605 index: 'u64',606 used: 'Weight'607 }608 }609 },610 /**611 * Lookup64: xcm::v2::traits::Error612 **/613 XcmV2TraitsError: {614 _enum: {615 Overflow: 'Null',616 Unimplemented: 'Null',617 UntrustedReserveLocation: 'Null',618 UntrustedTeleportLocation: 'Null',619 MultiLocationFull: 'Null',620 MultiLocationNotInvertible: 'Null',621 BadOrigin: 'Null',622 InvalidLocation: 'Null',623 AssetNotFound: 'Null',624 FailedToTransactAsset: 'Null',625 NotWithdrawable: 'Null',626 LocationCannotHold: 'Null',627 ExceedsMaxMessageSize: 'Null',628 DestinationUnsupported: 'Null',629 Transport: 'Null',630 Unroutable: 'Null',631 UnknownClaim: 'Null',632 FailedToDecode: 'Null',633 MaxWeightInvalid: 'Null',634 NotHoldingFees: 'Null',635 TooExpensive: 'Null',636 Trap: 'u64',637 UnhandledXcmVersion: 'Null',638 WeightLimitReached: 'u64',639 Barrier: 'Null',640 WeightNotComputable: 'Null'641 }642 },643 /**644 * Lookup66: pallet_xcm::pallet::Event<T>645 **/646 PalletXcmEvent: {647 _enum: {648 Attempted: 'XcmV2TraitsOutcome',649 Sent: '(XcmV1MultiLocation,XcmV1MultiLocation,XcmV2Xcm)',650 UnexpectedResponse: '(XcmV1MultiLocation,u64)',651 ResponseReady: '(u64,XcmV2Response)',652 Notified: '(u64,u8,u8)',653 NotifyOverweight: '(u64,u8,u8,Weight,Weight)',654 NotifyDispatchError: '(u64,u8,u8)',655 NotifyDecodeFailed: '(u64,u8,u8)',656 InvalidResponder: '(XcmV1MultiLocation,u64,Option<XcmV1MultiLocation>)',657 InvalidResponderVersion: '(XcmV1MultiLocation,u64)',658 ResponseTaken: 'u64',659 AssetsTrapped: '(H256,XcmV1MultiLocation,XcmVersionedMultiAssets)',660 VersionChangeNotified: '(XcmV1MultiLocation,u32)',661 SupportedVersionChanged: '(XcmV1MultiLocation,u32)',662 NotifyTargetSendFail: '(XcmV1MultiLocation,u64,XcmV2TraitsError)',663 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)'664 }665 },666 /**667 * Lookup67: xcm::v2::traits::Outcome668 **/669 XcmV2TraitsOutcome: {670 _enum: {671 Complete: 'u64',672 Incomplete: '(u64,XcmV2TraitsError)',673 Error: 'XcmV2TraitsError'674 }675 },676 /**677 * Lookup68: xcm::v2::Xcm<RuntimeCall>678 **/679 XcmV2Xcm: 'Vec<XcmV2Instruction>',680 /**681 * Lookup70: xcm::v2::Instruction<RuntimeCall>682 **/683 XcmV2Instruction: {684 _enum: {685 WithdrawAsset: 'XcmV1MultiassetMultiAssets',686 ReserveAssetDeposited: 'XcmV1MultiassetMultiAssets',687 ReceiveTeleportedAsset: 'XcmV1MultiassetMultiAssets',688 QueryResponse: {689 queryId: 'Compact<u64>',690 response: 'XcmV2Response',691 maxWeight: 'Compact<u64>',692 },693 TransferAsset: {694 assets: 'XcmV1MultiassetMultiAssets',695 beneficiary: 'XcmV1MultiLocation',696 },697 TransferReserveAsset: {698 assets: 'XcmV1MultiassetMultiAssets',699 dest: 'XcmV1MultiLocation',700 xcm: 'XcmV2Xcm',701 },702 Transact: {703 originType: 'XcmV0OriginKind',704 requireWeightAtMost: 'Compact<u64>',705 call: 'XcmDoubleEncoded',706 },707 HrmpNewChannelOpenRequest: {708 sender: 'Compact<u32>',709 maxMessageSize: 'Compact<u32>',710 maxCapacity: 'Compact<u32>',711 },712 HrmpChannelAccepted: {713 recipient: 'Compact<u32>',714 },715 HrmpChannelClosing: {716 initiator: 'Compact<u32>',717 sender: 'Compact<u32>',718 recipient: 'Compact<u32>',719 },720 ClearOrigin: 'Null',721 DescendOrigin: 'XcmV1MultilocationJunctions',722 ReportError: {723 queryId: 'Compact<u64>',724 dest: 'XcmV1MultiLocation',725 maxResponseWeight: 'Compact<u64>',726 },727 DepositAsset: {728 assets: 'XcmV1MultiassetMultiAssetFilter',729 maxAssets: 'Compact<u32>',730 beneficiary: 'XcmV1MultiLocation',731 },732 DepositReserveAsset: {733 assets: 'XcmV1MultiassetMultiAssetFilter',734 maxAssets: 'Compact<u32>',735 dest: 'XcmV1MultiLocation',736 xcm: 'XcmV2Xcm',737 },738 ExchangeAsset: {739 give: 'XcmV1MultiassetMultiAssetFilter',740 receive: 'XcmV1MultiassetMultiAssets',741 },742 InitiateReserveWithdraw: {743 assets: 'XcmV1MultiassetMultiAssetFilter',744 reserve: 'XcmV1MultiLocation',745 xcm: 'XcmV2Xcm',746 },747 InitiateTeleport: {748 assets: 'XcmV1MultiassetMultiAssetFilter',749 dest: 'XcmV1MultiLocation',750 xcm: 'XcmV2Xcm',751 },752 QueryHolding: {753 queryId: 'Compact<u64>',754 dest: 'XcmV1MultiLocation',755 assets: 'XcmV1MultiassetMultiAssetFilter',756 maxResponseWeight: 'Compact<u64>',757 },758 BuyExecution: {759 fees: 'XcmV1MultiAsset',760 weightLimit: 'XcmV2WeightLimit',761 },762 RefundSurplus: 'Null',763 SetErrorHandler: 'XcmV2Xcm',764 SetAppendix: 'XcmV2Xcm',765 ClearError: 'Null',766 ClaimAsset: {767 assets: 'XcmV1MultiassetMultiAssets',768 ticket: 'XcmV1MultiLocation',769 },770 Trap: 'Compact<u64>',771 SubscribeVersion: {772 queryId: 'Compact<u64>',773 maxResponseWeight: 'Compact<u64>',774 },775 UnsubscribeVersion: 'Null'776 }777 },778 /**779 * Lookup71: xcm::v2::Response780 **/781 XcmV2Response: {782 _enum: {783 Null: 'Null',784 Assets: 'XcmV1MultiassetMultiAssets',785 ExecutionResult: 'Option<(u32,XcmV2TraitsError)>',786 Version: 'u32'787 }788 },789 /**790 * Lookup74: xcm::v0::OriginKind791 **/792 XcmV0OriginKind: {793 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']794 },795 /**796 * Lookup75: xcm::double_encoded::DoubleEncoded<T>797 **/798 XcmDoubleEncoded: {799 encoded: 'Bytes'800 },801 /**802 * Lookup76: xcm::v1::multiasset::MultiAssetFilter803 **/804 XcmV1MultiassetMultiAssetFilter: {805 _enum: {806 Definite: 'XcmV1MultiassetMultiAssets',807 Wild: 'XcmV1MultiassetWildMultiAsset'808 }809 },810 /**811 * Lookup77: xcm::v1::multiasset::WildMultiAsset812 **/813 XcmV1MultiassetWildMultiAsset: {814 _enum: {815 All: 'Null',816 AllOf: {817 id: 'XcmV1MultiassetAssetId',818 fun: 'XcmV1MultiassetWildFungibility'819 }820 }821 },822 /**823 * Lookup78: xcm::v1::multiasset::WildFungibility824 **/825 XcmV1MultiassetWildFungibility: {826 _enum: ['Fungible', 'NonFungible']827 },828 /**829 * Lookup79: xcm::v2::WeightLimit830 **/831 XcmV2WeightLimit: {832 _enum: {833 Unlimited: 'Null',834 Limited: 'Compact<u64>'835 }836 },837 /**838 * Lookup81: xcm::VersionedMultiAssets839 **/840 XcmVersionedMultiAssets: {841 _enum: {842 V0: 'Vec<XcmV0MultiAsset>',843 V1: 'XcmV1MultiassetMultiAssets'844 }845 },846 /**847 * Lookup83: xcm::v0::multi_asset::MultiAsset848 **/849 XcmV0MultiAsset: {850 _enum: {851 None: 'Null',852 All: 'Null',853 AllFungible: 'Null',854 AllNonFungible: 'Null',855 AllAbstractFungible: {856 id: 'Bytes',857 },858 AllAbstractNonFungible: {859 class: 'Bytes',860 },861 AllConcreteFungible: {862 id: 'XcmV0MultiLocation',863 },864 AllConcreteNonFungible: {865 class: 'XcmV0MultiLocation',866 },867 AbstractFungible: {868 id: 'Bytes',869 amount: 'Compact<u128>',870 },871 AbstractNonFungible: {872 class: 'Bytes',873 instance: 'XcmV1MultiassetAssetInstance',874 },875 ConcreteFungible: {876 id: 'XcmV0MultiLocation',877 amount: 'Compact<u128>',878 },879 ConcreteNonFungible: {880 class: 'XcmV0MultiLocation',881 instance: 'XcmV1MultiassetAssetInstance'882 }883 }884 },885 /**886 * Lookup84: xcm::v0::multi_location::MultiLocation887 **/888 XcmV0MultiLocation: {889 _enum: {890 Null: 'Null',891 X1: 'XcmV0Junction',892 X2: '(XcmV0Junction,XcmV0Junction)',893 X3: '(XcmV0Junction,XcmV0Junction,XcmV0Junction)',894 X4: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',895 X5: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',896 X6: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',897 X7: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)',898 X8: '(XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction,XcmV0Junction)'899 }900 },901 /**902 * Lookup85: xcm::v0::junction::Junction903 **/904 XcmV0Junction: {905 _enum: {906 Parent: 'Null',907 Parachain: 'Compact<u32>',908 AccountId32: {909 network: 'XcmV0JunctionNetworkId',910 id: '[u8;32]',911 },912 AccountIndex64: {913 network: 'XcmV0JunctionNetworkId',914 index: 'Compact<u64>',915 },916 AccountKey20: {917 network: 'XcmV0JunctionNetworkId',918 key: '[u8;20]',919 },920 PalletInstance: 'u8',921 GeneralIndex: 'Compact<u128>',922 GeneralKey: 'Bytes',923 OnlyChild: 'Null',924 Plurality: {925 id: 'XcmV0JunctionBodyId',926 part: 'XcmV0JunctionBodyPart'927 }928 }929 },930 /**931 * Lookup86: xcm::VersionedMultiLocation932 **/933 XcmVersionedMultiLocation: {934 _enum: {935 V0: 'XcmV0MultiLocation',936 V1: 'XcmV1MultiLocation'937 }938 },939 /**940 * Lookup87: cumulus_pallet_xcm::pallet::Event<T>941 **/942 CumulusPalletXcmEvent: {943 _enum: {944 InvalidFormat: '[u8;8]',945 UnsupportedVersion: '[u8;8]',946 ExecutedDownward: '([u8;8],XcmV2TraitsOutcome)'947 }948 },949 /**950 * Lookup88: cumulus_pallet_dmp_queue::pallet::Event<T>951 **/952 CumulusPalletDmpQueueEvent: {953 _enum: {954 InvalidFormat: {955 messageId: '[u8;32]',956 },957 UnsupportedVersion: {958 messageId: '[u8;32]',959 },960 ExecutedDownward: {961 messageId: '[u8;32]',962 outcome: 'XcmV2TraitsOutcome',963 },964 WeightExhausted: {965 messageId: '[u8;32]',966 remainingWeight: 'Weight',967 requiredWeight: 'Weight',968 },969 OverweightEnqueued: {970 messageId: '[u8;32]',971 overweightIndex: 'u64',972 requiredWeight: 'Weight',973 },974 OverweightServiced: {975 overweightIndex: 'u64',976 weightUsed: 'Weight'977 }978 }979 },980 /**981 * Lookup89: pallet_unique::RawEvent<sp_core::crypto::AccountId32, pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>982 **/983 PalletUniqueRawEvent: {984 _enum: {985 CollectionSponsorRemoved: 'u32',986 CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',987 CollectionOwnedChanged: '(u32,AccountId32)',988 CollectionSponsorSet: '(u32,AccountId32)',989 SponsorshipConfirmed: '(u32,AccountId32)',990 CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',991 AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',992 AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',993 CollectionLimitSet: 'u32',994 CollectionPermissionSet: 'u32'995 }996 },997 /**998 * Lookup90: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>999 **/1000 PalletEvmAccountBasicCrossAccountIdRepr: {1001 _enum: {1002 Substrate: 'AccountId32',1003 Ethereum: 'H160'1004 }1005 },1006 /**1007 * Lookup93: pallet_unique_scheduler_v2::pallet::Event<T>1008 **/1009 PalletUniqueSchedulerV2Event: {1010 _enum: {1011 Scheduled: {1012 when: 'u32',1013 index: 'u32',1014 },1015 Canceled: {1016 when: 'u32',1017 index: 'u32',1018 },1019 Dispatched: {1020 task: '(u32,u32)',1021 id: 'Option<[u8;32]>',1022 result: 'Result<Null, SpRuntimeDispatchError>',1023 },1024 PriorityChanged: {1025 task: '(u32,u32)',1026 priority: 'u8',1027 },1028 CallUnavailable: {1029 task: '(u32,u32)',1030 id: 'Option<[u8;32]>',1031 },1032 PermanentlyOverweight: {1033 task: '(u32,u32)',1034 id: 'Option<[u8;32]>'1035 }1036 }1037 },1038 /**1039 * Lookup96: pallet_common::pallet::Event<T>1040 **/1041 PalletCommonEvent: {1042 _enum: {1043 CollectionCreated: '(u32,u8,AccountId32)',1044 CollectionDestroyed: 'u32',1045 ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1046 ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1047 Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1048 Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1049 ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',1050 CollectionPropertySet: '(u32,Bytes)',1051 CollectionPropertyDeleted: '(u32,Bytes)',1052 TokenPropertySet: '(u32,u32,Bytes)',1053 TokenPropertyDeleted: '(u32,u32,Bytes)',1054 PropertyPermissionSet: '(u32,Bytes)'1055 }1056 },1057 /**1058 * Lookup100: pallet_structure::pallet::Event<T>1059 **/1060 PalletStructureEvent: {1061 _enum: {1062 Executed: 'Result<Null, SpRuntimeDispatchError>'1063 }1064 },1065 /**1066 * Lookup101: pallet_rmrk_core::pallet::Event<T>1067 **/1068 PalletRmrkCoreEvent: {1069 _enum: {1070 CollectionCreated: {1071 issuer: 'AccountId32',1072 collectionId: 'u32',1073 },1074 CollectionDestroyed: {1075 issuer: 'AccountId32',1076 collectionId: 'u32',1077 },1078 IssuerChanged: {1079 oldIssuer: 'AccountId32',1080 newIssuer: 'AccountId32',1081 collectionId: 'u32',1082 },1083 CollectionLocked: {1084 issuer: 'AccountId32',1085 collectionId: 'u32',1086 },1087 NftMinted: {1088 owner: 'AccountId32',1089 collectionId: 'u32',1090 nftId: 'u32',1091 },1092 NFTBurned: {1093 owner: 'AccountId32',1094 nftId: 'u32',1095 },1096 NFTSent: {1097 sender: 'AccountId32',1098 recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1099 collectionId: 'u32',1100 nftId: 'u32',1101 approvalRequired: 'bool',1102 },1103 NFTAccepted: {1104 sender: 'AccountId32',1105 recipient: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',1106 collectionId: 'u32',1107 nftId: 'u32',1108 },1109 NFTRejected: {1110 sender: 'AccountId32',1111 collectionId: 'u32',1112 nftId: 'u32',1113 },1114 PropertySet: {1115 collectionId: 'u32',1116 maybeNftId: 'Option<u32>',1117 key: 'Bytes',1118 value: 'Bytes',1119 },1120 ResourceAdded: {1121 nftId: 'u32',1122 resourceId: 'u32',1123 },1124 ResourceRemoval: {1125 nftId: 'u32',1126 resourceId: 'u32',1127 },1128 ResourceAccepted: {1129 nftId: 'u32',1130 resourceId: 'u32',1131 },1132 ResourceRemovalAccepted: {1133 nftId: 'u32',1134 resourceId: 'u32',1135 },1136 PrioritySet: {1137 collectionId: 'u32',1138 nftId: 'u32'1139 }1140 }1141 },1142 /**1143 * Lookup102: rmrk_traits::nft::AccountIdOrCollectionNftTuple<sp_core::crypto::AccountId32>1144 **/1145 RmrkTraitsNftAccountIdOrCollectionNftTuple: {1146 _enum: {1147 AccountId: 'AccountId32',1148 CollectionAndNftTuple: '(u32,u32)'1149 }1150 },1151 /**1152 * Lookup106: pallet_rmrk_equip::pallet::Event<T>1153 **/1154 PalletRmrkEquipEvent: {1155 _enum: {1156 BaseCreated: {1157 issuer: 'AccountId32',1158 baseId: 'u32',1159 },1160 EquippablesUpdated: {1161 baseId: 'u32',1162 slotId: 'u32'1163 }1164 }1165 },1166 /**1167 * Lookup107: pallet_app_promotion::pallet::Event<T>1168 **/1169 PalletAppPromotionEvent: {1170 _enum: {1171 StakingRecalculation: '(AccountId32,u128,u128)',1172 Stake: '(AccountId32,u128)',1173 Unstake: '(AccountId32,u128)',1174 SetAdmin: 'AccountId32'1175 }1176 },1177 /**1178 * Lookup108: pallet_foreign_assets::module::Event<T>1179 **/1180 PalletForeignAssetsModuleEvent: {1181 _enum: {1182 ForeignAssetRegistered: {1183 assetId: 'u32',1184 assetAddress: 'XcmV1MultiLocation',1185 metadata: 'PalletForeignAssetsModuleAssetMetadata',1186 },1187 ForeignAssetUpdated: {1188 assetId: 'u32',1189 assetAddress: 'XcmV1MultiLocation',1190 metadata: 'PalletForeignAssetsModuleAssetMetadata',1191 },1192 AssetRegistered: {1193 assetId: 'PalletForeignAssetsAssetIds',1194 metadata: 'PalletForeignAssetsModuleAssetMetadata',1195 },1196 AssetUpdated: {1197 assetId: 'PalletForeignAssetsAssetIds',1198 metadata: 'PalletForeignAssetsModuleAssetMetadata'1199 }1200 }1201 },1202 /**1203 * Lookup109: pallet_foreign_assets::module::AssetMetadata<Balance>1204 **/1205 PalletForeignAssetsModuleAssetMetadata: {1206 name: 'Bytes',1207 symbol: 'Bytes',1208 decimals: 'u8',1209 minimalBalance: 'u128'1210 },1211 /**1212 * Lookup110: pallet_evm::pallet::Event<T>1213 **/1214 PalletEvmEvent: {1215 _enum: {1216 Log: {1217 log: 'EthereumLog',1218 },1219 Created: {1220 address: 'H160',1221 },1222 CreatedFailed: {1223 address: 'H160',1224 },1225 Executed: {1226 address: 'H160',1227 },1228 ExecutedFailed: {1229 address: 'H160'1230 }1231 }1232 },1233 /**1234 * Lookup111: ethereum::log::Log1235 **/1236 EthereumLog: {1237 address: 'H160',1238 topics: 'Vec<H256>',1239 data: 'Bytes'1240 },1241 /**1242 * Lookup113: pallet_ethereum::pallet::Event1243 **/1244 PalletEthereumEvent: {1245 _enum: {1246 Executed: {1247 from: 'H160',1248 to: 'H160',1249 transactionHash: 'H256',1250 exitReason: 'EvmCoreErrorExitReason'1251 }1252 }1253 },1254 /**1255 * Lookup114: evm_core::error::ExitReason1256 **/1257 EvmCoreErrorExitReason: {1258 _enum: {1259 Succeed: 'EvmCoreErrorExitSucceed',1260 Error: 'EvmCoreErrorExitError',1261 Revert: 'EvmCoreErrorExitRevert',1262 Fatal: 'EvmCoreErrorExitFatal'1263 }1264 },1265 /**1266 * Lookup115: evm_core::error::ExitSucceed1267 **/1268 EvmCoreErrorExitSucceed: {1269 _enum: ['Stopped', 'Returned', 'Suicided']1270 },1271 /**1272 * Lookup116: evm_core::error::ExitError1273 **/1274 EvmCoreErrorExitError: {1275 _enum: {1276 StackUnderflow: 'Null',1277 StackOverflow: 'Null',1278 InvalidJump: 'Null',1279 InvalidRange: 'Null',1280 DesignatedInvalid: 'Null',1281 CallTooDeep: 'Null',1282 CreateCollision: 'Null',1283 CreateContractLimit: 'Null',1284 OutOfOffset: 'Null',1285 OutOfGas: 'Null',1286 OutOfFund: 'Null',1287 PCUnderflow: 'Null',1288 CreateEmpty: 'Null',1289 Other: 'Text',1290 InvalidCode: 'Null'1291 }1292 },1293 /**1294 * Lookup119: evm_core::error::ExitRevert1295 **/1296 EvmCoreErrorExitRevert: {1297 _enum: ['Reverted']1298 },1299 /**1300 * Lookup120: evm_core::error::ExitFatal1301 **/1302 EvmCoreErrorExitFatal: {1303 _enum: {1304 NotSupported: 'Null',1305 UnhandledInterrupt: 'Null',1306 CallErrorAsFatal: 'EvmCoreErrorExitError',1307 Other: 'Text'1308 }1309 },1310 /**1311 * Lookup121: pallet_evm_contract_helpers::pallet::Event<T>1312 **/1313 PalletEvmContractHelpersEvent: {1314 _enum: {1315 ContractSponsorSet: '(H160,AccountId32)',1316 ContractSponsorshipConfirmed: '(H160,AccountId32)',1317 ContractSponsorRemoved: 'H160'1318 }1319 },1320 /**1321 * Lookup122: pallet_evm_migration::pallet::Event<T>1322 **/1323 PalletEvmMigrationEvent: {1324 _enum: ['TestEvent']1325 },1326 /**1327 * Lookup123: pallet_maintenance::pallet::Event<T>1328 **/1329 PalletMaintenanceEvent: {1330 _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1331 },1332 /**1333 * Lookup124: pallet_test_utils::pallet::Event<T>1334 **/1335 PalletTestUtilsEvent: {1336 _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']1337 },1338 /**1339 * Lookup125: frame_system::Phase1340 **/1341 FrameSystemPhase: {1342 _enum: {1343 ApplyExtrinsic: 'u32',1344 Finalization: 'Null',1345 Initialization: 'Null'1346 }1347 },1348 /**1349 * Lookup127: frame_system::LastRuntimeUpgradeInfo1350 **/1351 FrameSystemLastRuntimeUpgradeInfo: {1352 specVersion: 'Compact<u32>',1353 specName: 'Text'1354 },1355 /**1356 * Lookup128: frame_system::pallet::Call<T>1357 **/1358 FrameSystemCall: {1359 _enum: {1360 fill_block: {1361 ratio: 'Perbill',1362 },1363 remark: {1364 remark: 'Bytes',1365 },1366 set_heap_pages: {1367 pages: 'u64',1368 },1369 set_code: {1370 code: 'Bytes',1371 },1372 set_code_without_checks: {1373 code: 'Bytes',1374 },1375 set_storage: {1376 items: 'Vec<(Bytes,Bytes)>',1377 },1378 kill_storage: {1379 _alias: {1380 keys_: 'keys',1381 },1382 keys_: 'Vec<Bytes>',1383 },1384 kill_prefix: {1385 prefix: 'Bytes',1386 subkeys: 'u32',1387 },1388 remark_with_event: {1389 remark: 'Bytes'1390 }1391 }1392 },1393 /**1394 * Lookup133: frame_system::limits::BlockWeights1395 **/1396 FrameSystemLimitsBlockWeights: {1397 baseBlock: 'Weight',1398 maxBlock: 'Weight',1399 perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1400 },1401 /**1402 * Lookup134: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1403 **/1404 FrameSupportDispatchPerDispatchClassWeightsPerClass: {1405 normal: 'FrameSystemLimitsWeightsPerClass',1406 operational: 'FrameSystemLimitsWeightsPerClass',1407 mandatory: 'FrameSystemLimitsWeightsPerClass'1408 },1409 /**1410 * Lookup135: frame_system::limits::WeightsPerClass1411 **/1412 FrameSystemLimitsWeightsPerClass: {1413 baseExtrinsic: 'Weight',1414 maxExtrinsic: 'Option<Weight>',1415 maxTotal: 'Option<Weight>',1416 reserved: 'Option<Weight>'1417 },1418 /**1419 * Lookup137: frame_system::limits::BlockLength1420 **/1421 FrameSystemLimitsBlockLength: {1422 max: 'FrameSupportDispatchPerDispatchClassU32'1423 },1424 /**1425 * Lookup138: frame_support::dispatch::PerDispatchClass<T>1426 **/1427 FrameSupportDispatchPerDispatchClassU32: {1428 normal: 'u32',1429 operational: 'u32',1430 mandatory: 'u32'1431 },1432 /**1433 * Lookup139: sp_weights::RuntimeDbWeight1434 **/1435 SpWeightsRuntimeDbWeight: {1436 read: 'u64',1437 write: 'u64'1438 },1439 /**1440 * Lookup140: sp_version::RuntimeVersion1441 **/1442 SpVersionRuntimeVersion: {1443 specName: 'Text',1444 implName: 'Text',1445 authoringVersion: 'u32',1446 specVersion: 'u32',1447 implVersion: 'u32',1448 apis: 'Vec<([u8;8],u32)>',1449 transactionVersion: 'u32',1450 stateVersion: 'u8'1451 },1452 /**1453 * Lookup145: frame_system::pallet::Error<T>1454 **/1455 FrameSystemError: {1456 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1457 },1458 /**1459 * Lookup146: polkadot_primitives::v2::PersistedValidationData<primitive_types::H256, N>1460 **/1461 PolkadotPrimitivesV2PersistedValidationData: {1462 parentHead: 'Bytes',1463 relayParentNumber: 'u32',1464 relayParentStorageRoot: 'H256',1465 maxPovSize: 'u32'1466 },1467 /**1468 * Lookup149: polkadot_primitives::v2::UpgradeRestriction1469 **/1470 PolkadotPrimitivesV2UpgradeRestriction: {1471 _enum: ['Present']1472 },1473 /**1474 * Lookup150: sp_trie::storage_proof::StorageProof1475 **/1476 SpTrieStorageProof: {1477 trieNodes: 'BTreeSet<Bytes>'1478 },1479 /**1480 * Lookup152: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1481 **/1482 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1483 dmqMqcHead: 'H256',1484 relayDispatchQueueSize: '(u32,u32)',1485 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>',1486 egressChannels: 'Vec<(u32,PolkadotPrimitivesV2AbridgedHrmpChannel)>'1487 },1488 /**1489 * Lookup155: polkadot_primitives::v2::AbridgedHrmpChannel1490 **/1491 PolkadotPrimitivesV2AbridgedHrmpChannel: {1492 maxCapacity: 'u32',1493 maxTotalSize: 'u32',1494 maxMessageSize: 'u32',1495 msgCount: 'u32',1496 totalSize: 'u32',1497 mqcHead: 'Option<H256>'1498 },1499 /**1500 * Lookup156: polkadot_primitives::v2::AbridgedHostConfiguration1501 **/1502 PolkadotPrimitivesV2AbridgedHostConfiguration: {1503 maxCodeSize: 'u32',1504 maxHeadDataSize: 'u32',1505 maxUpwardQueueCount: 'u32',1506 maxUpwardQueueSize: 'u32',1507 maxUpwardMessageSize: 'u32',1508 maxUpwardMessageNumPerCandidate: 'u32',1509 hrmpMaxMessageNumPerCandidate: 'u32',1510 validationUpgradeCooldown: 'u32',1511 validationUpgradeDelay: 'u32'1512 },1513 /**1514 * Lookup162: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1515 **/1516 PolkadotCorePrimitivesOutboundHrmpMessage: {1517 recipient: 'u32',1518 data: 'Bytes'1519 },1520 /**1521 * Lookup163: cumulus_pallet_parachain_system::pallet::Call<T>1522 **/1523 CumulusPalletParachainSystemCall: {1524 _enum: {1525 set_validation_data: {1526 data: 'CumulusPrimitivesParachainInherentParachainInherentData',1527 },1528 sudo_send_upward_message: {1529 message: 'Bytes',1530 },1531 authorize_upgrade: {1532 codeHash: 'H256',1533 },1534 enact_authorized_upgrade: {1535 code: 'Bytes'1536 }1537 }1538 },1539 /**1540 * Lookup164: cumulus_primitives_parachain_inherent::ParachainInherentData1541 **/1542 CumulusPrimitivesParachainInherentParachainInherentData: {1543 validationData: 'PolkadotPrimitivesV2PersistedValidationData',1544 relayChainState: 'SpTrieStorageProof',1545 downwardMessages: 'Vec<PolkadotCorePrimitivesInboundDownwardMessage>',1546 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1547 },1548 /**1549 * Lookup166: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1550 **/1551 PolkadotCorePrimitivesInboundDownwardMessage: {1552 sentAt: 'u32',1553 msg: 'Bytes'1554 },1555 /**1556 * Lookup169: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1557 **/1558 PolkadotCorePrimitivesInboundHrmpMessage: {1559 sentAt: 'u32',1560 data: 'Bytes'1561 },1562 /**1563 * Lookup172: cumulus_pallet_parachain_system::pallet::Error<T>1564 **/1565 CumulusPalletParachainSystemError: {1566 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1567 },1568 /**1569 * Lookup174: pallet_balances::BalanceLock<Balance>1570 **/1571 PalletBalancesBalanceLock: {1572 id: '[u8;8]',1573 amount: 'u128',1574 reasons: 'PalletBalancesReasons'1575 },1576 /**1577 * Lookup175: pallet_balances::Reasons1578 **/1579 PalletBalancesReasons: {1580 _enum: ['Fee', 'Misc', 'All']1581 },1582 /**1583 * Lookup178: pallet_balances::ReserveData<ReserveIdentifier, Balance>1584 **/1585 PalletBalancesReserveData: {1586 id: '[u8;16]',1587 amount: 'u128'1588 },1589 /**1590 * Lookup180: pallet_balances::Releases1591 **/1592 PalletBalancesReleases: {1593 _enum: ['V1_0_0', 'V2_0_0']1594 },1595 /**1596 * Lookup181: pallet_balances::pallet::Call<T, I>1597 **/1598 PalletBalancesCall: {1599 _enum: {1600 transfer: {1601 dest: 'MultiAddress',1602 value: 'Compact<u128>',1603 },1604 set_balance: {1605 who: 'MultiAddress',1606 newFree: 'Compact<u128>',1607 newReserved: 'Compact<u128>',1608 },1609 force_transfer: {1610 source: 'MultiAddress',1611 dest: 'MultiAddress',1612 value: 'Compact<u128>',1613 },1614 transfer_keep_alive: {1615 dest: 'MultiAddress',1616 value: 'Compact<u128>',1617 },1618 transfer_all: {1619 dest: 'MultiAddress',1620 keepAlive: 'bool',1621 },1622 force_unreserve: {1623 who: 'MultiAddress',1624 amount: 'u128'1625 }1626 }1627 },1628 /**1629 * Lookup184: pallet_balances::pallet::Error<T, I>1630 **/1631 PalletBalancesError: {1632 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'KeepAlive', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves']1633 },1634 /**1635 * Lookup186: pallet_timestamp::pallet::Call<T>1636 **/1637 PalletTimestampCall: {1638 _enum: {1639 set: {1640 now: 'Compact<u64>'1641 }1642 }1643 },1644 /**1645 * Lookup188: pallet_transaction_payment::Releases1646 **/1647 PalletTransactionPaymentReleases: {1648 _enum: ['V1Ancient', 'V2']1649 },1650 /**1651 * Lookup189: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>1652 **/1653 PalletTreasuryProposal: {1654 proposer: 'AccountId32',1655 value: 'u128',1656 beneficiary: 'AccountId32',1657 bond: 'u128'1658 },1659 /**1660 * Lookup192: pallet_treasury::pallet::Call<T, I>1661 **/1662 PalletTreasuryCall: {1663 _enum: {1664 propose_spend: {1665 value: 'Compact<u128>',1666 beneficiary: 'MultiAddress',1667 },1668 reject_proposal: {1669 proposalId: 'Compact<u32>',1670 },1671 approve_proposal: {1672 proposalId: 'Compact<u32>',1673 },1674 spend: {1675 amount: 'Compact<u128>',1676 beneficiary: 'MultiAddress',1677 },1678 remove_approval: {1679 proposalId: 'Compact<u32>'1680 }1681 }1682 },1683 /**1684 * Lookup195: frame_support::PalletId1685 **/1686 FrameSupportPalletId: '[u8;8]',1687 /**1688 * Lookup196: pallet_treasury::pallet::Error<T, I>1689 **/1690 PalletTreasuryError: {1691 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']1692 },1693 /**1694 * Lookup197: pallet_sudo::pallet::Call<T>1695 **/1696 PalletSudoCall: {1697 _enum: {1698 sudo: {1699 call: 'Call',1700 },1701 sudo_unchecked_weight: {1702 call: 'Call',1703 weight: 'Weight',1704 },1705 set_key: {1706 _alias: {1707 new_: 'new',1708 },1709 new_: 'MultiAddress',1710 },1711 sudo_as: {1712 who: 'MultiAddress',1713 call: 'Call'1714 }1715 }1716 },1717 /**1718 * Lookup199: orml_vesting::module::Call<T>1719 **/1720 OrmlVestingModuleCall: {1721 _enum: {1722 claim: 'Null',1723 vested_transfer: {1724 dest: 'MultiAddress',1725 schedule: 'OrmlVestingVestingSchedule',1726 },1727 update_vesting_schedules: {1728 who: 'MultiAddress',1729 vestingSchedules: 'Vec<OrmlVestingVestingSchedule>',1730 },1731 claim_for: {1732 dest: 'MultiAddress'1733 }1734 }1735 },1736 /**1737 * Lookup201: orml_xtokens::module::Call<T>1738 **/1739 OrmlXtokensModuleCall: {1740 _enum: {1741 transfer: {1742 currencyId: 'PalletForeignAssetsAssetIds',1743 amount: 'u128',1744 dest: 'XcmVersionedMultiLocation',1745 destWeight: 'u64',1746 },1747 transfer_multiasset: {1748 asset: 'XcmVersionedMultiAsset',1749 dest: 'XcmVersionedMultiLocation',1750 destWeight: 'u64',1751 },1752 transfer_with_fee: {1753 currencyId: 'PalletForeignAssetsAssetIds',1754 amount: 'u128',1755 fee: 'u128',1756 dest: 'XcmVersionedMultiLocation',1757 destWeight: 'u64',1758 },1759 transfer_multiasset_with_fee: {1760 asset: 'XcmVersionedMultiAsset',1761 fee: 'XcmVersionedMultiAsset',1762 dest: 'XcmVersionedMultiLocation',1763 destWeight: 'u64',1764 },1765 transfer_multicurrencies: {1766 currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>',1767 feeItem: 'u32',1768 dest: 'XcmVersionedMultiLocation',1769 destWeight: 'u64',1770 },1771 transfer_multiassets: {1772 assets: 'XcmVersionedMultiAssets',1773 feeItem: 'u32',1774 dest: 'XcmVersionedMultiLocation',1775 destWeight: 'u64'1776 }1777 }1778 },1779 /**1780 * Lookup202: xcm::VersionedMultiAsset1781 **/1782 XcmVersionedMultiAsset: {1783 _enum: {1784 V0: 'XcmV0MultiAsset',1785 V1: 'XcmV1MultiAsset'1786 }1787 },1788 /**1789 * Lookup205: orml_tokens::module::Call<T>1790 **/1791 OrmlTokensModuleCall: {1792 _enum: {1793 transfer: {1794 dest: 'MultiAddress',1795 currencyId: 'PalletForeignAssetsAssetIds',1796 amount: 'Compact<u128>',1797 },1798 transfer_all: {1799 dest: 'MultiAddress',1800 currencyId: 'PalletForeignAssetsAssetIds',1801 keepAlive: 'bool',1802 },1803 transfer_keep_alive: {1804 dest: 'MultiAddress',1805 currencyId: 'PalletForeignAssetsAssetIds',1806 amount: 'Compact<u128>',1807 },1808 force_transfer: {1809 source: 'MultiAddress',1810 dest: 'MultiAddress',1811 currencyId: 'PalletForeignAssetsAssetIds',1812 amount: 'Compact<u128>',1813 },1814 set_balance: {1815 who: 'MultiAddress',1816 currencyId: 'PalletForeignAssetsAssetIds',1817 newFree: 'Compact<u128>',1818 newReserved: 'Compact<u128>'1819 }1820 }1821 },1822 /**1823 * Lookup206: cumulus_pallet_xcmp_queue::pallet::Call<T>1824 **/1825 CumulusPalletXcmpQueueCall: {1826 _enum: {1827 service_overweight: {1828 index: 'u64',1829 weightLimit: 'Weight',1830 },1831 suspend_xcm_execution: 'Null',1832 resume_xcm_execution: 'Null',1833 update_suspend_threshold: {1834 _alias: {1835 new_: 'new',1836 },1837 new_: 'u32',1838 },1839 update_drop_threshold: {1840 _alias: {1841 new_: 'new',1842 },1843 new_: 'u32',1844 },1845 update_resume_threshold: {1846 _alias: {1847 new_: 'new',1848 },1849 new_: 'u32',1850 },1851 update_threshold_weight: {1852 _alias: {1853 new_: 'new',1854 },1855 new_: 'Weight',1856 },1857 update_weight_restrict_decay: {1858 _alias: {1859 new_: 'new',1860 },1861 new_: 'Weight',1862 },1863 update_xcmp_max_individual_weight: {1864 _alias: {1865 new_: 'new',1866 },1867 new_: 'Weight'1868 }1869 }1870 },1871 /**1872 * Lookup207: pallet_xcm::pallet::Call<T>1873 **/1874 PalletXcmCall: {1875 _enum: {1876 send: {1877 dest: 'XcmVersionedMultiLocation',1878 message: 'XcmVersionedXcm',1879 },1880 teleport_assets: {1881 dest: 'XcmVersionedMultiLocation',1882 beneficiary: 'XcmVersionedMultiLocation',1883 assets: 'XcmVersionedMultiAssets',1884 feeAssetItem: 'u32',1885 },1886 reserve_transfer_assets: {1887 dest: 'XcmVersionedMultiLocation',1888 beneficiary: 'XcmVersionedMultiLocation',1889 assets: 'XcmVersionedMultiAssets',1890 feeAssetItem: 'u32',1891 },1892 execute: {1893 message: 'XcmVersionedXcm',1894 maxWeight: 'Weight',1895 },1896 force_xcm_version: {1897 location: 'XcmV1MultiLocation',1898 xcmVersion: 'u32',1899 },1900 force_default_xcm_version: {1901 maybeXcmVersion: 'Option<u32>',1902 },1903 force_subscribe_version_notify: {1904 location: 'XcmVersionedMultiLocation',1905 },1906 force_unsubscribe_version_notify: {1907 location: 'XcmVersionedMultiLocation',1908 },1909 limited_reserve_transfer_assets: {1910 dest: 'XcmVersionedMultiLocation',1911 beneficiary: 'XcmVersionedMultiLocation',1912 assets: 'XcmVersionedMultiAssets',1913 feeAssetItem: 'u32',1914 weightLimit: 'XcmV2WeightLimit',1915 },1916 limited_teleport_assets: {1917 dest: 'XcmVersionedMultiLocation',1918 beneficiary: 'XcmVersionedMultiLocation',1919 assets: 'XcmVersionedMultiAssets',1920 feeAssetItem: 'u32',1921 weightLimit: 'XcmV2WeightLimit'1922 }1923 }1924 },1925 /**1926 * Lookup208: xcm::VersionedXcm<RuntimeCall>1927 **/1928 XcmVersionedXcm: {1929 _enum: {1930 V0: 'XcmV0Xcm',1931 V1: 'XcmV1Xcm',1932 V2: 'XcmV2Xcm'1933 }1934 },1935 /**1936 * Lookup209: xcm::v0::Xcm<RuntimeCall>1937 **/1938 XcmV0Xcm: {1939 _enum: {1940 WithdrawAsset: {1941 assets: 'Vec<XcmV0MultiAsset>',1942 effects: 'Vec<XcmV0Order>',1943 },1944 ReserveAssetDeposit: {1945 assets: 'Vec<XcmV0MultiAsset>',1946 effects: 'Vec<XcmV0Order>',1947 },1948 TeleportAsset: {1949 assets: 'Vec<XcmV0MultiAsset>',1950 effects: 'Vec<XcmV0Order>',1951 },1952 QueryResponse: {1953 queryId: 'Compact<u64>',1954 response: 'XcmV0Response',1955 },1956 TransferAsset: {1957 assets: 'Vec<XcmV0MultiAsset>',1958 dest: 'XcmV0MultiLocation',1959 },1960 TransferReserveAsset: {1961 assets: 'Vec<XcmV0MultiAsset>',1962 dest: 'XcmV0MultiLocation',1963 effects: 'Vec<XcmV0Order>',1964 },1965 Transact: {1966 originType: 'XcmV0OriginKind',1967 requireWeightAtMost: 'u64',1968 call: 'XcmDoubleEncoded',1969 },1970 HrmpNewChannelOpenRequest: {1971 sender: 'Compact<u32>',1972 maxMessageSize: 'Compact<u32>',1973 maxCapacity: 'Compact<u32>',1974 },1975 HrmpChannelAccepted: {1976 recipient: 'Compact<u32>',1977 },1978 HrmpChannelClosing: {1979 initiator: 'Compact<u32>',1980 sender: 'Compact<u32>',1981 recipient: 'Compact<u32>',1982 },1983 RelayedFrom: {1984 who: 'XcmV0MultiLocation',1985 message: 'XcmV0Xcm'1986 }1987 }1988 },1989 /**1990 * Lookup211: xcm::v0::order::Order<RuntimeCall>1991 **/1992 XcmV0Order: {1993 _enum: {1994 Null: 'Null',1995 DepositAsset: {1996 assets: 'Vec<XcmV0MultiAsset>',1997 dest: 'XcmV0MultiLocation',1998 },1999 DepositReserveAsset: {2000 assets: 'Vec<XcmV0MultiAsset>',2001 dest: 'XcmV0MultiLocation',2002 effects: 'Vec<XcmV0Order>',2003 },2004 ExchangeAsset: {2005 give: 'Vec<XcmV0MultiAsset>',2006 receive: 'Vec<XcmV0MultiAsset>',2007 },2008 InitiateReserveWithdraw: {2009 assets: 'Vec<XcmV0MultiAsset>',2010 reserve: 'XcmV0MultiLocation',2011 effects: 'Vec<XcmV0Order>',2012 },2013 InitiateTeleport: {2014 assets: 'Vec<XcmV0MultiAsset>',2015 dest: 'XcmV0MultiLocation',2016 effects: 'Vec<XcmV0Order>',2017 },2018 QueryHolding: {2019 queryId: 'Compact<u64>',2020 dest: 'XcmV0MultiLocation',2021 assets: 'Vec<XcmV0MultiAsset>',2022 },2023 BuyExecution: {2024 fees: 'XcmV0MultiAsset',2025 weight: 'u64',2026 debt: 'u64',2027 haltOnError: 'bool',2028 xcm: 'Vec<XcmV0Xcm>'2029 }2030 }2031 },2032 /**2033 * Lookup213: xcm::v0::Response2034 **/2035 XcmV0Response: {2036 _enum: {2037 Assets: 'Vec<XcmV0MultiAsset>'2038 }2039 },2040 /**2041 * Lookup214: xcm::v1::Xcm<RuntimeCall>2042 **/2043 XcmV1Xcm: {2044 _enum: {2045 WithdrawAsset: {2046 assets: 'XcmV1MultiassetMultiAssets',2047 effects: 'Vec<XcmV1Order>',2048 },2049 ReserveAssetDeposited: {2050 assets: 'XcmV1MultiassetMultiAssets',2051 effects: 'Vec<XcmV1Order>',2052 },2053 ReceiveTeleportedAsset: {2054 assets: 'XcmV1MultiassetMultiAssets',2055 effects: 'Vec<XcmV1Order>',2056 },2057 QueryResponse: {2058 queryId: 'Compact<u64>',2059 response: 'XcmV1Response',2060 },2061 TransferAsset: {2062 assets: 'XcmV1MultiassetMultiAssets',2063 beneficiary: 'XcmV1MultiLocation',2064 },2065 TransferReserveAsset: {2066 assets: 'XcmV1MultiassetMultiAssets',2067 dest: 'XcmV1MultiLocation',2068 effects: 'Vec<XcmV1Order>',2069 },2070 Transact: {2071 originType: 'XcmV0OriginKind',2072 requireWeightAtMost: 'u64',2073 call: 'XcmDoubleEncoded',2074 },2075 HrmpNewChannelOpenRequest: {2076 sender: 'Compact<u32>',2077 maxMessageSize: 'Compact<u32>',2078 maxCapacity: 'Compact<u32>',2079 },2080 HrmpChannelAccepted: {2081 recipient: 'Compact<u32>',2082 },2083 HrmpChannelClosing: {2084 initiator: 'Compact<u32>',2085 sender: 'Compact<u32>',2086 recipient: 'Compact<u32>',2087 },2088 RelayedFrom: {2089 who: 'XcmV1MultilocationJunctions',2090 message: 'XcmV1Xcm',2091 },2092 SubscribeVersion: {2093 queryId: 'Compact<u64>',2094 maxResponseWeight: 'Compact<u64>',2095 },2096 UnsubscribeVersion: 'Null'2097 }2098 },2099 /**2100 * Lookup216: xcm::v1::order::Order<RuntimeCall>2101 **/2102 XcmV1Order: {2103 _enum: {2104 Noop: 'Null',2105 DepositAsset: {2106 assets: 'XcmV1MultiassetMultiAssetFilter',2107 maxAssets: 'u32',2108 beneficiary: 'XcmV1MultiLocation',2109 },2110 DepositReserveAsset: {2111 assets: 'XcmV1MultiassetMultiAssetFilter',2112 maxAssets: 'u32',2113 dest: 'XcmV1MultiLocation',2114 effects: 'Vec<XcmV1Order>',2115 },2116 ExchangeAsset: {2117 give: 'XcmV1MultiassetMultiAssetFilter',2118 receive: 'XcmV1MultiassetMultiAssets',2119 },2120 InitiateReserveWithdraw: {2121 assets: 'XcmV1MultiassetMultiAssetFilter',2122 reserve: 'XcmV1MultiLocation',2123 effects: 'Vec<XcmV1Order>',2124 },2125 InitiateTeleport: {2126 assets: 'XcmV1MultiassetMultiAssetFilter',2127 dest: 'XcmV1MultiLocation',2128 effects: 'Vec<XcmV1Order>',2129 },2130 QueryHolding: {2131 queryId: 'Compact<u64>',2132 dest: 'XcmV1MultiLocation',2133 assets: 'XcmV1MultiassetMultiAssetFilter',2134 },2135 BuyExecution: {2136 fees: 'XcmV1MultiAsset',2137 weight: 'u64',2138 debt: 'u64',2139 haltOnError: 'bool',2140 instructions: 'Vec<XcmV1Xcm>'2141 }2142 }2143 },2144 /**2145 * Lookup218: xcm::v1::Response2146 **/2147 XcmV1Response: {2148 _enum: {2149 Assets: 'XcmV1MultiassetMultiAssets',2150 Version: 'u32'2151 }2152 },2153 /**2154 * Lookup232: cumulus_pallet_xcm::pallet::Call<T>2155 **/2156 CumulusPalletXcmCall: 'Null',2157 /**2158 * Lookup233: cumulus_pallet_dmp_queue::pallet::Call<T>2159 **/2160 CumulusPalletDmpQueueCall: {2161 _enum: {2162 service_overweight: {2163 index: 'u64',2164 weightLimit: 'Weight'2165 }2166 }2167 },2168 /**2169 * Lookup234: pallet_inflation::pallet::Call<T>2170 **/2171 PalletInflationCall: {2172 _enum: {2173 start_inflation: {2174 inflationStartRelayBlock: 'u32'2175 }2176 }2177 },2178 /**2179 * Lookup235: pallet_unique::Call<T>2180 **/2181 PalletUniqueCall: {2182 _enum: {2183 create_collection: {2184 collectionName: 'Vec<u16>',2185 collectionDescription: 'Vec<u16>',2186 tokenPrefix: 'Bytes',2187 mode: 'UpDataStructsCollectionMode',2188 },2189 create_collection_ex: {2190 data: 'UpDataStructsCreateCollectionData',2191 },2192 destroy_collection: {2193 collectionId: 'u32',2194 },2195 add_to_allow_list: {2196 collectionId: 'u32',2197 address: 'PalletEvmAccountBasicCrossAccountIdRepr',2198 },2199 remove_from_allow_list: {2200 collectionId: 'u32',2201 address: 'PalletEvmAccountBasicCrossAccountIdRepr',2202 },2203 change_collection_owner: {2204 collectionId: 'u32',2205 newOwner: 'AccountId32',2206 },2207 add_collection_admin: {2208 collectionId: 'u32',2209 newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr',2210 },2211 remove_collection_admin: {2212 collectionId: 'u32',2213 accountId: 'PalletEvmAccountBasicCrossAccountIdRepr',2214 },2215 set_collection_sponsor: {2216 collectionId: 'u32',2217 newSponsor: 'AccountId32',2218 },2219 confirm_sponsorship: {2220 collectionId: 'u32',2221 },2222 remove_collection_sponsor: {2223 collectionId: 'u32',2224 },2225 create_item: {2226 collectionId: 'u32',2227 owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2228 data: 'UpDataStructsCreateItemData',2229 },2230 create_multiple_items: {2231 collectionId: 'u32',2232 owner: 'PalletEvmAccountBasicCrossAccountIdRepr',2233 itemsData: 'Vec<UpDataStructsCreateItemData>',2234 },2235 set_collection_properties: {2236 collectionId: 'u32',2237 properties: 'Vec<UpDataStructsProperty>',2238 },2239 delete_collection_properties: {2240 collectionId: 'u32',2241 propertyKeys: 'Vec<Bytes>',2242 },2243 set_token_properties: {2244 collectionId: 'u32',2245 tokenId: 'u32',2246 properties: 'Vec<UpDataStructsProperty>',2247 },2248 delete_token_properties: {2249 collectionId: 'u32',2250 tokenId: 'u32',2251 propertyKeys: 'Vec<Bytes>',2252 },2253 set_token_property_permissions: {2254 collectionId: 'u32',2255 propertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2256 },2257 create_multiple_items_ex: {2258 collectionId: 'u32',2259 data: 'UpDataStructsCreateItemExData',2260 },2261 set_transfers_enabled_flag: {2262 collectionId: 'u32',2263 value: 'bool',2264 },2265 burn_item: {2266 collectionId: 'u32',2267 itemId: 'u32',2268 value: 'u128',2269 },2270 burn_from: {2271 collectionId: 'u32',2272 from: 'PalletEvmAccountBasicCrossAccountIdRepr',2273 itemId: 'u32',2274 value: 'u128',2275 },2276 transfer: {2277 recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2278 collectionId: 'u32',2279 itemId: 'u32',2280 value: 'u128',2281 },2282 approve: {2283 spender: 'PalletEvmAccountBasicCrossAccountIdRepr',2284 collectionId: 'u32',2285 itemId: 'u32',2286 amount: 'u128',2287 },2288 transfer_from: {2289 from: 'PalletEvmAccountBasicCrossAccountIdRepr',2290 recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',2291 collectionId: 'u32',2292 itemId: 'u32',2293 value: 'u128',2294 },2295 set_collection_limits: {2296 collectionId: 'u32',2297 newLimit: 'UpDataStructsCollectionLimits',2298 },2299 set_collection_permissions: {2300 collectionId: 'u32',2301 newPermission: 'UpDataStructsCollectionPermissions',2302 },2303 repartition: {2304 collectionId: 'u32',2305 tokenId: 'u32',2306 amount: 'u128',2307 },2308 set_approval_for_all: {2309 collectionId: 'u32',2310 operator: 'PalletEvmAccountBasicCrossAccountIdRepr',2311 approve: 'bool'2312 }2313 }2314 },2315 /**2316 * Lookup240: up_data_structs::CollectionMode2317 **/2318 UpDataStructsCollectionMode: {2319 _enum: {2320 NFT: 'Null',2321 Fungible: 'u8',2322 ReFungible: 'Null'2323 }2324 },2325 /**2326 * Lookup241: up_data_structs::CreateCollectionData<sp_core::crypto::AccountId32>2327 **/2328 UpDataStructsCreateCollectionData: {2329 mode: 'UpDataStructsCollectionMode',2330 access: 'Option<UpDataStructsAccessMode>',2331 name: 'Vec<u16>',2332 description: 'Vec<u16>',2333 tokenPrefix: 'Bytes',2334 pendingSponsor: 'Option<AccountId32>',2335 limits: 'Option<UpDataStructsCollectionLimits>',2336 permissions: 'Option<UpDataStructsCollectionPermissions>',2337 tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',2338 properties: 'Vec<UpDataStructsProperty>'2339 },2340 /**2341 * Lookup243: up_data_structs::AccessMode2342 **/2343 UpDataStructsAccessMode: {2344 _enum: ['Normal', 'AllowList']2345 },2346 /**2347 * Lookup245: up_data_structs::CollectionLimits2348 **/2349 UpDataStructsCollectionLimits: {2350 accountTokenOwnershipLimit: 'Option<u32>',2351 sponsoredDataSize: 'Option<u32>',2352 sponsoredDataRateLimit: 'Option<UpDataStructsSponsoringRateLimit>',2353 tokenLimit: 'Option<u32>',2354 sponsorTransferTimeout: 'Option<u32>',2355 sponsorApproveTimeout: 'Option<u32>',2356 ownerCanTransfer: 'Option<bool>',2357 ownerCanDestroy: 'Option<bool>',2358 transfersEnabled: 'Option<bool>'2359 },2360 /**2361 * Lookup247: up_data_structs::SponsoringRateLimit2362 **/2363 UpDataStructsSponsoringRateLimit: {2364 _enum: {2365 SponsoringDisabled: 'Null',2366 Blocks: 'u32'2367 }2368 },2369 /**2370 * Lookup250: up_data_structs::CollectionPermissions2371 **/2372 UpDataStructsCollectionPermissions: {2373 access: 'Option<UpDataStructsAccessMode>',2374 mintMode: 'Option<bool>',2375 nesting: 'Option<UpDataStructsNestingPermissions>'2376 },2377 /**2378 * Lookup252: up_data_structs::NestingPermissions2379 **/2380 UpDataStructsNestingPermissions: {2381 tokenOwner: 'bool',2382 collectionAdmin: 'bool',2383 restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2384 },2385 /**2386 * Lookup254: up_data_structs::OwnerRestrictedSet2387 **/2388 UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2389 /**2390 * Lookup259: up_data_structs::PropertyKeyPermission2391 **/2392 UpDataStructsPropertyKeyPermission: {2393 key: 'Bytes',2394 permission: 'UpDataStructsPropertyPermission'2395 },2396 /**2397 * Lookup260: up_data_structs::PropertyPermission2398 **/2399 UpDataStructsPropertyPermission: {2400 mutable: 'bool',2401 collectionAdmin: 'bool',2402 tokenOwner: 'bool'2403 },2404 /**2405 * Lookup263: up_data_structs::Property2406 **/2407 UpDataStructsProperty: {2408 key: 'Bytes',2409 value: 'Bytes'2410 },2411 /**2412 * Lookup266: up_data_structs::CreateItemData2413 **/2414 UpDataStructsCreateItemData: {2415 _enum: {2416 NFT: 'UpDataStructsCreateNftData',2417 Fungible: 'UpDataStructsCreateFungibleData',2418 ReFungible: 'UpDataStructsCreateReFungibleData'2419 }2420 },2421 /**2422 * Lookup267: up_data_structs::CreateNftData2423 **/2424 UpDataStructsCreateNftData: {2425 properties: 'Vec<UpDataStructsProperty>'2426 },2427 /**2428 * Lookup268: up_data_structs::CreateFungibleData2429 **/2430 UpDataStructsCreateFungibleData: {2431 value: 'u128'2432 },2433 /**2434 * Lookup269: up_data_structs::CreateReFungibleData2435 **/2436 UpDataStructsCreateReFungibleData: {2437 pieces: 'u128',2438 properties: 'Vec<UpDataStructsProperty>'2439 },2440 /**2441 * Lookup272: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2442 **/2443 UpDataStructsCreateItemExData: {2444 _enum: {2445 NFT: 'Vec<UpDataStructsCreateNftExData>',2446 Fungible: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2447 RefungibleMultipleItems: 'Vec<UpDataStructsCreateRefungibleExSingleOwner>',2448 RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners'2449 }2450 },2451 /**2452 * Lookup274: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2453 **/2454 UpDataStructsCreateNftExData: {2455 properties: 'Vec<UpDataStructsProperty>',2456 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'2457 },2458 /**2459 * Lookup281: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2460 **/2461 UpDataStructsCreateRefungibleExSingleOwner: {2462 user: 'PalletEvmAccountBasicCrossAccountIdRepr',2463 pieces: 'u128',2464 properties: 'Vec<UpDataStructsProperty>'2465 },2466 /**2467 * Lookup283: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2468 **/2469 UpDataStructsCreateRefungibleExMultipleOwners: {2470 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',2471 properties: 'Vec<UpDataStructsProperty>'2472 },2473 /**2474 * Lookup284: pallet_unique_scheduler_v2::pallet::Call<T>2475 **/2476 PalletUniqueSchedulerV2Call: {2477 _enum: {2478 schedule: {2479 when: 'u32',2480 maybePeriodic: 'Option<(u32,u32)>',2481 priority: 'Option<u8>',2482 call: 'Call',2483 },2484 cancel: {2485 when: 'u32',2486 index: 'u32',2487 },2488 schedule_named: {2489 id: '[u8;32]',2490 when: 'u32',2491 maybePeriodic: 'Option<(u32,u32)>',2492 priority: 'Option<u8>',2493 call: 'Call',2494 },2495 cancel_named: {2496 id: '[u8;32]',2497 },2498 schedule_after: {2499 after: 'u32',2500 maybePeriodic: 'Option<(u32,u32)>',2501 priority: 'Option<u8>',2502 call: 'Call',2503 },2504 schedule_named_after: {2505 id: '[u8;32]',2506 after: 'u32',2507 maybePeriodic: 'Option<(u32,u32)>',2508 priority: 'Option<u8>',2509 call: 'Call',2510 },2511 change_named_priority: {2512 id: '[u8;32]',2513 priority: 'u8'2514 }2515 }2516 },2517 /**2518 * Lookup287: pallet_configuration::pallet::Call<T>2519 **/2520 PalletConfigurationCall: {2521 _enum: {2522 set_weight_to_fee_coefficient_override: {2523 coeff: 'Option<u32>',2524 },2525 set_min_gas_price_override: {2526 coeff: 'Option<u64>'2527 }2528 }2529 },2530 /**2531 * Lookup289: pallet_template_transaction_payment::Call<T>2532 **/2533 PalletTemplateTransactionPaymentCall: 'Null',2534 /**2535 * Lookup290: pallet_structure::pallet::Call<T>2536 **/2537 PalletStructureCall: 'Null',2538 /**2539 * Lookup291: pallet_rmrk_core::pallet::Call<T>2540 **/2541 PalletRmrkCoreCall: {2542 _enum: {2543 create_collection: {2544 metadata: 'Bytes',2545 max: 'Option<u32>',2546 symbol: 'Bytes',2547 },2548 destroy_collection: {2549 collectionId: 'u32',2550 },2551 change_collection_issuer: {2552 collectionId: 'u32',2553 newIssuer: 'MultiAddress',2554 },2555 lock_collection: {2556 collectionId: 'u32',2557 },2558 mint_nft: {2559 owner: 'Option<AccountId32>',2560 collectionId: 'u32',2561 recipient: 'Option<AccountId32>',2562 royaltyAmount: 'Option<Permill>',2563 metadata: 'Bytes',2564 transferable: 'bool',2565 resources: 'Option<Vec<RmrkTraitsResourceResourceTypes>>',2566 },2567 burn_nft: {2568 collectionId: 'u32',2569 nftId: 'u32',2570 maxBurns: 'u32',2571 },2572 send: {2573 rmrkCollectionId: 'u32',2574 rmrkNftId: 'u32',2575 newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2576 },2577 accept_nft: {2578 rmrkCollectionId: 'u32',2579 rmrkNftId: 'u32',2580 newOwner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',2581 },2582 reject_nft: {2583 rmrkCollectionId: 'u32',2584 rmrkNftId: 'u32',2585 },2586 accept_resource: {2587 rmrkCollectionId: 'u32',2588 rmrkNftId: 'u32',2589 resourceId: 'u32',2590 },2591 accept_resource_removal: {2592 rmrkCollectionId: 'u32',2593 rmrkNftId: 'u32',2594 resourceId: 'u32',2595 },2596 set_property: {2597 rmrkCollectionId: 'Compact<u32>',2598 maybeNftId: 'Option<u32>',2599 key: 'Bytes',2600 value: 'Bytes',2601 },2602 set_priority: {2603 rmrkCollectionId: 'u32',2604 rmrkNftId: 'u32',2605 priorities: 'Vec<u32>',2606 },2607 add_basic_resource: {2608 rmrkCollectionId: 'u32',2609 nftId: 'u32',2610 resource: 'RmrkTraitsResourceBasicResource',2611 },2612 add_composable_resource: {2613 rmrkCollectionId: 'u32',2614 nftId: 'u32',2615 resource: 'RmrkTraitsResourceComposableResource',2616 },2617 add_slot_resource: {2618 rmrkCollectionId: 'u32',2619 nftId: 'u32',2620 resource: 'RmrkTraitsResourceSlotResource',2621 },2622 remove_resource: {2623 rmrkCollectionId: 'u32',2624 nftId: 'u32',2625 resourceId: 'u32'2626 }2627 }2628 },2629 /**2630 * Lookup297: rmrk_traits::resource::ResourceTypes<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2631 **/2632 RmrkTraitsResourceResourceTypes: {2633 _enum: {2634 Basic: 'RmrkTraitsResourceBasicResource',2635 Composable: 'RmrkTraitsResourceComposableResource',2636 Slot: 'RmrkTraitsResourceSlotResource'2637 }2638 },2639 /**2640 * Lookup299: rmrk_traits::resource::BasicResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2641 **/2642 RmrkTraitsResourceBasicResource: {2643 src: 'Option<Bytes>',2644 metadata: 'Option<Bytes>',2645 license: 'Option<Bytes>',2646 thumb: 'Option<Bytes>'2647 },2648 /**2649 * Lookup301: rmrk_traits::resource::ComposableResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2650 **/2651 RmrkTraitsResourceComposableResource: {2652 parts: 'Vec<u32>',2653 base: 'u32',2654 src: 'Option<Bytes>',2655 metadata: 'Option<Bytes>',2656 license: 'Option<Bytes>',2657 thumb: 'Option<Bytes>'2658 },2659 /**2660 * Lookup302: rmrk_traits::resource::SlotResource<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2661 **/2662 RmrkTraitsResourceSlotResource: {2663 base: 'u32',2664 src: 'Option<Bytes>',2665 metadata: 'Option<Bytes>',2666 slot: 'u32',2667 license: 'Option<Bytes>',2668 thumb: 'Option<Bytes>'2669 },2670 /**2671 * Lookup305: pallet_rmrk_equip::pallet::Call<T>2672 **/2673 PalletRmrkEquipCall: {2674 _enum: {2675 create_base: {2676 baseType: 'Bytes',2677 symbol: 'Bytes',2678 parts: 'Vec<RmrkTraitsPartPartType>',2679 },2680 theme_add: {2681 baseId: 'u32',2682 theme: 'RmrkTraitsTheme',2683 },2684 equippable: {2685 baseId: 'u32',2686 slotId: 'u32',2687 equippables: 'RmrkTraitsPartEquippableList'2688 }2689 }2690 },2691 /**2692 * Lookup308: rmrk_traits::part::PartType<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2693 **/2694 RmrkTraitsPartPartType: {2695 _enum: {2696 FixedPart: 'RmrkTraitsPartFixedPart',2697 SlotPart: 'RmrkTraitsPartSlotPart'2698 }2699 },2700 /**2701 * Lookup310: rmrk_traits::part::FixedPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2702 **/2703 RmrkTraitsPartFixedPart: {2704 id: 'u32',2705 z: 'u32',2706 src: 'Bytes'2707 },2708 /**2709 * Lookup311: rmrk_traits::part::SlotPart<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>2710 **/2711 RmrkTraitsPartSlotPart: {2712 id: 'u32',2713 equippable: 'RmrkTraitsPartEquippableList',2714 src: 'Bytes',2715 z: 'u32'2716 },2717 /**2718 * Lookup312: rmrk_traits::part::EquippableList<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2719 **/2720 RmrkTraitsPartEquippableList: {2721 _enum: {2722 All: 'Null',2723 Empty: 'Null',2724 Custom: 'Vec<u32>'2725 }2726 },2727 /**2728 * Lookup314: rmrk_traits::theme::Theme<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>, S>>2729 **/2730 RmrkTraitsTheme: {2731 name: 'Bytes',2732 properties: 'Vec<RmrkTraitsThemeThemeProperty>',2733 inherit: 'bool'2734 },2735 /**2736 * Lookup316: rmrk_traits::theme::ThemeProperty<sp_core::bounded::bounded_vec::BoundedVec<T, S>>2737 **/2738 RmrkTraitsThemeThemeProperty: {2739 key: 'Bytes',2740 value: 'Bytes'2741 },2742 /**2743 * Lookup318: pallet_app_promotion::pallet::Call<T>2744 **/2745 PalletAppPromotionCall: {2746 _enum: {2747 set_admin_address: {2748 admin: 'PalletEvmAccountBasicCrossAccountIdRepr',2749 },2750 stake: {2751 amount: 'u128',2752 },2753 unstake: 'Null',2754 sponsor_collection: {2755 collectionId: 'u32',2756 },2757 stop_sponsoring_collection: {2758 collectionId: 'u32',2759 },2760 sponsor_contract: {2761 contractId: 'H160',2762 },2763 stop_sponsoring_contract: {2764 contractId: 'H160',2765 },2766 payout_stakers: {2767 stakersNumber: 'Option<u8>'2768 }2769 }2770 },2771 /**2772 * Lookup319: pallet_foreign_assets::module::Call<T>2773 **/2774 PalletForeignAssetsModuleCall: {2775 _enum: {2776 register_foreign_asset: {2777 owner: 'AccountId32',2778 location: 'XcmVersionedMultiLocation',2779 metadata: 'PalletForeignAssetsModuleAssetMetadata',2780 },2781 update_foreign_asset: {2782 foreignAssetId: 'u32',2783 location: 'XcmVersionedMultiLocation',2784 metadata: 'PalletForeignAssetsModuleAssetMetadata'2785 }2786 }2787 },2788 /**2789 * Lookup320: pallet_evm::pallet::Call<T>2790 **/2791 PalletEvmCall: {2792 _enum: {2793 withdraw: {2794 address: 'H160',2795 value: 'u128',2796 },2797 call: {2798 source: 'H160',2799 target: 'H160',2800 input: 'Bytes',2801 value: 'U256',2802 gasLimit: 'u64',2803 maxFeePerGas: 'U256',2804 maxPriorityFeePerGas: 'Option<U256>',2805 nonce: 'Option<U256>',2806 accessList: 'Vec<(H160,Vec<H256>)>',2807 },2808 create: {2809 source: 'H160',2810 init: 'Bytes',2811 value: 'U256',2812 gasLimit: 'u64',2813 maxFeePerGas: 'U256',2814 maxPriorityFeePerGas: 'Option<U256>',2815 nonce: 'Option<U256>',2816 accessList: 'Vec<(H160,Vec<H256>)>',2817 },2818 create2: {2819 source: 'H160',2820 init: 'Bytes',2821 salt: 'H256',2822 value: 'U256',2823 gasLimit: 'u64',2824 maxFeePerGas: 'U256',2825 maxPriorityFeePerGas: 'Option<U256>',2826 nonce: 'Option<U256>',2827 accessList: 'Vec<(H160,Vec<H256>)>'2828 }2829 }2830 },2831 /**2832 * Lookup326: pallet_ethereum::pallet::Call<T>2833 **/2834 PalletEthereumCall: {2835 _enum: {2836 transact: {2837 transaction: 'EthereumTransactionTransactionV2'2838 }2839 }2840 },2841 /**2842 * Lookup327: ethereum::transaction::TransactionV22843 **/2844 EthereumTransactionTransactionV2: {2845 _enum: {2846 Legacy: 'EthereumTransactionLegacyTransaction',2847 EIP2930: 'EthereumTransactionEip2930Transaction',2848 EIP1559: 'EthereumTransactionEip1559Transaction'2849 }2850 },2851 /**2852 * Lookup328: ethereum::transaction::LegacyTransaction2853 **/2854 EthereumTransactionLegacyTransaction: {2855 nonce: 'U256',2856 gasPrice: 'U256',2857 gasLimit: 'U256',2858 action: 'EthereumTransactionTransactionAction',2859 value: 'U256',2860 input: 'Bytes',2861 signature: 'EthereumTransactionTransactionSignature'2862 },2863 /**2864 * Lookup329: ethereum::transaction::TransactionAction2865 **/2866 EthereumTransactionTransactionAction: {2867 _enum: {2868 Call: 'H160',2869 Create: 'Null'2870 }2871 },2872 /**2873 * Lookup330: ethereum::transaction::TransactionSignature2874 **/2875 EthereumTransactionTransactionSignature: {2876 v: 'u64',2877 r: 'H256',2878 s: 'H256'2879 },2880 /**2881 * Lookup332: ethereum::transaction::EIP2930Transaction2882 **/2883 EthereumTransactionEip2930Transaction: {2884 chainId: 'u64',2885 nonce: 'U256',2886 gasPrice: 'U256',2887 gasLimit: 'U256',2888 action: 'EthereumTransactionTransactionAction',2889 value: 'U256',2890 input: 'Bytes',2891 accessList: 'Vec<EthereumTransactionAccessListItem>',2892 oddYParity: 'bool',2893 r: 'H256',2894 s: 'H256'2895 },2896 /**2897 * Lookup334: ethereum::transaction::AccessListItem2898 **/2899 EthereumTransactionAccessListItem: {2900 address: 'H160',2901 storageKeys: 'Vec<H256>'2902 },2903 /**2904 * Lookup335: ethereum::transaction::EIP1559Transaction2905 **/2906 EthereumTransactionEip1559Transaction: {2907 chainId: 'u64',2908 nonce: 'U256',2909 maxPriorityFeePerGas: 'U256',2910 maxFeePerGas: 'U256',2911 gasLimit: 'U256',2912 action: 'EthereumTransactionTransactionAction',2913 value: 'U256',2914 input: 'Bytes',2915 accessList: 'Vec<EthereumTransactionAccessListItem>',2916 oddYParity: 'bool',2917 r: 'H256',2918 s: 'H256'2919 },2920 /**2921 * Lookup336: pallet_evm_migration::pallet::Call<T>2922 **/2923 PalletEvmMigrationCall: {2924 _enum: {2925 begin: {2926 address: 'H160',2927 },2928 set_data: {2929 address: 'H160',2930 data: 'Vec<(H256,H256)>',2931 },2932 finish: {2933 address: 'H160',2934 code: 'Bytes',2935 },2936 insert_eth_logs: {2937 logs: 'Vec<EthereumLog>',2938 },2939 insert_events: {2940 events: 'Vec<Bytes>'2941 }2942 }2943 },2944 /**2945 * Lookup340: pallet_maintenance::pallet::Call<T>2946 **/2947 PalletMaintenanceCall: {2948 _enum: ['enable', 'disable']2949 },2950 /**2951 * Lookup341: pallet_test_utils::pallet::Call<T>2952 **/2953 PalletTestUtilsCall: {2954 _enum: {2955 enable: 'Null',2956 set_test_value: {2957 value: 'u32',2958 },2959 set_test_value_and_rollback: {2960 value: 'u32',2961 },2962 inc_test_value: 'Null',2963 self_canceling_inc: {2964 id: '[u8;32]',2965 maxTestValue: 'u32',2966 },2967 just_take_fee: 'Null',2968 batch_all: {2969 calls: 'Vec<Call>'2970 }2971 }2972 },2973 /**2974 * Lookup343: pallet_sudo::pallet::Error<T>2975 **/2976 PalletSudoError: {2977 _enum: ['RequireSudo']2978 },2979 /**2980 * Lookup345: orml_vesting::module::Error<T>2981 **/2982 OrmlVestingModuleError: {2983 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']2984 },2985 /**2986 * Lookup346: orml_xtokens::module::Error<T>2987 **/2988 OrmlXtokensModuleError: {2989 _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']2990 },2991 /**2992 * Lookup349: orml_tokens::BalanceLock<Balance>2993 **/2994 OrmlTokensBalanceLock: {2995 id: '[u8;8]',2996 amount: 'u128'2997 },2998 /**2999 * Lookup351: orml_tokens::AccountData<Balance>3000 **/3001 OrmlTokensAccountData: {3002 free: 'u128',3003 reserved: 'u128',3004 frozen: 'u128'3005 },3006 /**3007 * Lookup353: orml_tokens::ReserveData<ReserveIdentifier, Balance>3008 **/3009 OrmlTokensReserveData: {3010 id: 'Null',3011 amount: 'u128'3012 },3013 /**3014 * Lookup355: orml_tokens::module::Error<T>3015 **/3016 OrmlTokensModuleError: {3017 _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']3018 },3019 /**3020 * Lookup357: cumulus_pallet_xcmp_queue::InboundChannelDetails3021 **/3022 CumulusPalletXcmpQueueInboundChannelDetails: {3023 sender: 'u32',3024 state: 'CumulusPalletXcmpQueueInboundState',3025 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'3026 },3027 /**3028 * Lookup358: cumulus_pallet_xcmp_queue::InboundState3029 **/3030 CumulusPalletXcmpQueueInboundState: {3031 _enum: ['Ok', 'Suspended']3032 },3033 /**3034 * Lookup361: polkadot_parachain::primitives::XcmpMessageFormat3035 **/3036 PolkadotParachainPrimitivesXcmpMessageFormat: {3037 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3038 },3039 /**3040 * Lookup364: cumulus_pallet_xcmp_queue::OutboundChannelDetails3041 **/3042 CumulusPalletXcmpQueueOutboundChannelDetails: {3043 recipient: 'u32',3044 state: 'CumulusPalletXcmpQueueOutboundState',3045 signalsExist: 'bool',3046 firstIndex: 'u16',3047 lastIndex: 'u16'3048 },3049 /**3050 * Lookup365: cumulus_pallet_xcmp_queue::OutboundState3051 **/3052 CumulusPalletXcmpQueueOutboundState: {3053 _enum: ['Ok', 'Suspended']3054 },3055 /**3056 * Lookup367: cumulus_pallet_xcmp_queue::QueueConfigData3057 **/3058 CumulusPalletXcmpQueueQueueConfigData: {3059 suspendThreshold: 'u32',3060 dropThreshold: 'u32',3061 resumeThreshold: 'u32',3062 thresholdWeight: 'Weight',3063 weightRestrictDecay: 'Weight',3064 xcmpMaxIndividualWeight: 'Weight'3065 },3066 /**3067 * Lookup369: cumulus_pallet_xcmp_queue::pallet::Error<T>3068 **/3069 CumulusPalletXcmpQueueError: {3070 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3071 },3072 /**3073 * Lookup370: pallet_xcm::pallet::Error<T>3074 **/3075 PalletXcmError: {3076 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed']3077 },3078 /**3079 * Lookup371: cumulus_pallet_xcm::pallet::Error<T>3080 **/3081 CumulusPalletXcmError: 'Null',3082 /**3083 * Lookup372: cumulus_pallet_dmp_queue::ConfigData3084 **/3085 CumulusPalletDmpQueueConfigData: {3086 maxIndividual: 'Weight'3087 },3088 /**3089 * Lookup373: cumulus_pallet_dmp_queue::PageIndexData3090 **/3091 CumulusPalletDmpQueuePageIndexData: {3092 beginUsed: 'u32',3093 endUsed: 'u32',3094 overweightCount: 'u64'3095 },3096 /**3097 * Lookup376: cumulus_pallet_dmp_queue::pallet::Error<T>3098 **/3099 CumulusPalletDmpQueueError: {3100 _enum: ['Unknown', 'OverLimit']3101 },3102 /**3103 * Lookup380: pallet_unique::Error<T>3104 **/3105 PalletUniqueError: {3106 _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3107 },3108 /**3109 * Lookup381: pallet_unique_scheduler_v2::BlockAgenda<T>3110 **/3111 PalletUniqueSchedulerV2BlockAgenda: {3112 agenda: 'Vec<Option<PalletUniqueSchedulerV2Scheduled>>',3113 freePlaces: 'u32'3114 },3115 /**3116 * Lookup384: pallet_unique_scheduler_v2::Scheduled<Name, pallet_unique_scheduler_v2::ScheduledCall<T>, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32>3117 **/3118 PalletUniqueSchedulerV2Scheduled: {3119 maybeId: 'Option<[u8;32]>',3120 priority: 'u8',3121 call: 'PalletUniqueSchedulerV2ScheduledCall',3122 maybePeriodic: 'Option<(u32,u32)>',3123 origin: 'OpalRuntimeOriginCaller'3124 },3125 /**3126 * Lookup385: pallet_unique_scheduler_v2::ScheduledCall<T>3127 **/3128 PalletUniqueSchedulerV2ScheduledCall: {3129 _enum: {3130 Inline: 'Bytes',3131 PreimageLookup: {3132 _alias: {3133 hash_: 'hash',3134 },3135 hash_: 'H256',3136 unboundedLen: 'u32'3137 }3138 }3139 },3140 /**3141 * Lookup387: opal_runtime::OriginCaller3142 **/3143 OpalRuntimeOriginCaller: {3144 _enum: {3145 system: 'FrameSupportDispatchRawOrigin',3146 __Unused1: 'Null',3147 __Unused2: 'Null',3148 __Unused3: 'Null',3149 Void: 'SpCoreVoid',3150 __Unused5: 'Null',3151 __Unused6: 'Null',3152 __Unused7: 'Null',3153 __Unused8: 'Null',3154 __Unused9: 'Null',3155 __Unused10: 'Null',3156 __Unused11: 'Null',3157 __Unused12: 'Null',3158 __Unused13: 'Null',3159 __Unused14: 'Null',3160 __Unused15: 'Null',3161 __Unused16: 'Null',3162 __Unused17: 'Null',3163 __Unused18: 'Null',3164 __Unused19: 'Null',3165 __Unused20: 'Null',3166 __Unused21: 'Null',3167 __Unused22: 'Null',3168 __Unused23: 'Null',3169 __Unused24: 'Null',3170 __Unused25: 'Null',3171 __Unused26: 'Null',3172 __Unused27: 'Null',3173 __Unused28: 'Null',3174 __Unused29: 'Null',3175 __Unused30: 'Null',3176 __Unused31: 'Null',3177 __Unused32: 'Null',3178 __Unused33: 'Null',3179 __Unused34: 'Null',3180 __Unused35: 'Null',3181 __Unused36: 'Null',3182 __Unused37: 'Null',3183 __Unused38: 'Null',3184 __Unused39: 'Null',3185 __Unused40: 'Null',3186 __Unused41: 'Null',3187 __Unused42: 'Null',3188 __Unused43: 'Null',3189 __Unused44: 'Null',3190 __Unused45: 'Null',3191 __Unused46: 'Null',3192 __Unused47: 'Null',3193 __Unused48: 'Null',3194 __Unused49: 'Null',3195 __Unused50: 'Null',3196 PolkadotXcm: 'PalletXcmOrigin',3197 CumulusXcm: 'CumulusPalletXcmOrigin',3198 __Unused53: 'Null',3199 __Unused54: 'Null',3200 __Unused55: 'Null',3201 __Unused56: 'Null',3202 __Unused57: 'Null',3203 __Unused58: 'Null',3204 __Unused59: 'Null',3205 __Unused60: 'Null',3206 __Unused61: 'Null',3207 __Unused62: 'Null',3208 __Unused63: 'Null',3209 __Unused64: 'Null',3210 __Unused65: 'Null',3211 __Unused66: 'Null',3212 __Unused67: 'Null',3213 __Unused68: 'Null',3214 __Unused69: 'Null',3215 __Unused70: 'Null',3216 __Unused71: 'Null',3217 __Unused72: 'Null',3218 __Unused73: 'Null',3219 __Unused74: 'Null',3220 __Unused75: 'Null',3221 __Unused76: 'Null',3222 __Unused77: 'Null',3223 __Unused78: 'Null',3224 __Unused79: 'Null',3225 __Unused80: 'Null',3226 __Unused81: 'Null',3227 __Unused82: 'Null',3228 __Unused83: 'Null',3229 __Unused84: 'Null',3230 __Unused85: 'Null',3231 __Unused86: 'Null',3232 __Unused87: 'Null',3233 __Unused88: 'Null',3234 __Unused89: 'Null',3235 __Unused90: 'Null',3236 __Unused91: 'Null',3237 __Unused92: 'Null',3238 __Unused93: 'Null',3239 __Unused94: 'Null',3240 __Unused95: 'Null',3241 __Unused96: 'Null',3242 __Unused97: 'Null',3243 __Unused98: 'Null',3244 __Unused99: 'Null',3245 __Unused100: 'Null',3246 Ethereum: 'PalletEthereumRawOrigin'3247 }3248 },3249 /**3250 * Lookup388: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>3251 **/3252 FrameSupportDispatchRawOrigin: {3253 _enum: {3254 Root: 'Null',3255 Signed: 'AccountId32',3256 None: 'Null'3257 }3258 },3259 /**3260 * Lookup389: pallet_xcm::pallet::Origin3261 **/3262 PalletXcmOrigin: {3263 _enum: {3264 Xcm: 'XcmV1MultiLocation',3265 Response: 'XcmV1MultiLocation'3266 }3267 },3268 /**3269 * Lookup390: cumulus_pallet_xcm::pallet::Origin3270 **/3271 CumulusPalletXcmOrigin: {3272 _enum: {3273 Relay: 'Null',3274 SiblingParachain: 'u32'3275 }3276 },3277 /**3278 * Lookup391: pallet_ethereum::RawOrigin3279 **/3280 PalletEthereumRawOrigin: {3281 _enum: {3282 EthereumTransaction: 'H160'3283 }3284 },3285 /**3286 * Lookup392: sp_core::Void3287 **/3288 SpCoreVoid: 'Null',3289 /**3290 * Lookup394: pallet_unique_scheduler_v2::pallet::Error<T>3291 **/3292 PalletUniqueSchedulerV2Error: {3293 _enum: ['FailedToSchedule', 'AgendaIsExhausted', 'ScheduledCallCorrupted', 'PreimageNotFound', 'TooBigScheduledCall', 'NotFound', 'TargetBlockNumberInPast', 'Named']3294 },3295 /**3296 * Lookup395: up_data_structs::Collection<sp_core::crypto::AccountId32>3297 **/3298 UpDataStructsCollection: {3299 owner: 'AccountId32',3300 mode: 'UpDataStructsCollectionMode',3301 name: 'Vec<u16>',3302 description: 'Vec<u16>',3303 tokenPrefix: 'Bytes',3304 sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3305 limits: 'UpDataStructsCollectionLimits',3306 permissions: 'UpDataStructsCollectionPermissions',3307 flags: '[u8;1]'3308 },3309 /**3310 * Lookup396: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3311 **/3312 UpDataStructsSponsorshipStateAccountId32: {3313 _enum: {3314 Disabled: 'Null',3315 Unconfirmed: 'AccountId32',3316 Confirmed: 'AccountId32'3317 }3318 },3319 /**3320 * Lookup398: up_data_structs::Properties3321 **/3322 UpDataStructsProperties: {3323 map: 'UpDataStructsPropertiesMapBoundedVec',3324 consumedSpace: 'u32',3325 spaceLimit: 'u32'3326 },3327 /**3328 * Lookup399: up_data_structs::PropertiesMap<sp_core::bounded::bounded_vec::BoundedVec<T, S>>3329 **/3330 UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3331 /**3332 * Lookup404: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3333 **/3334 UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3335 /**3336 * Lookup411: up_data_structs::CollectionStats3337 **/3338 UpDataStructsCollectionStats: {3339 created: 'u32',3340 destroyed: 'u32',3341 alive: 'u32'3342 },3343 /**3344 * Lookup412: up_data_structs::TokenChild3345 **/3346 UpDataStructsTokenChild: {3347 token: 'u32',3348 collection: 'u32'3349 },3350 /**3351 * Lookup413: PhantomType::up_data_structs<T>3352 **/3353 PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]',3354 /**3355 * Lookup415: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3356 **/3357 UpDataStructsTokenData: {3358 properties: 'Vec<UpDataStructsProperty>',3359 owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3360 pieces: 'u128'3361 },3362 /**3363 * Lookup417: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3364 **/3365 UpDataStructsRpcCollection: {3366 owner: 'AccountId32',3367 mode: 'UpDataStructsCollectionMode',3368 name: 'Vec<u16>',3369 description: 'Vec<u16>',3370 tokenPrefix: 'Bytes',3371 sponsorship: 'UpDataStructsSponsorshipStateAccountId32',3372 limits: 'UpDataStructsCollectionLimits',3373 permissions: 'UpDataStructsCollectionPermissions',3374 tokenPropertyPermissions: 'Vec<UpDataStructsPropertyKeyPermission>',3375 properties: 'Vec<UpDataStructsProperty>',3376 readOnly: 'bool',3377 flags: 'UpDataStructsRpcCollectionFlags'3378 },3379 /**3380 * Lookup418: up_data_structs::RpcCollectionFlags3381 **/3382 UpDataStructsRpcCollectionFlags: {3383 foreign: 'bool',3384 erc721metadata: 'bool'3385 },3386 /**3387 * Lookup419: rmrk_traits::collection::CollectionInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::crypto::AccountId32>3388 **/3389 RmrkTraitsCollectionCollectionInfo: {3390 issuer: 'AccountId32',3391 metadata: 'Bytes',3392 max: 'Option<u32>',3393 symbol: 'Bytes',3394 nftsCount: 'u32'3395 },3396 /**3397 * Lookup420: rmrk_traits::nft::NftInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3398 **/3399 RmrkTraitsNftNftInfo: {3400 owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple',3401 royalty: 'Option<RmrkTraitsNftRoyaltyInfo>',3402 metadata: 'Bytes',3403 equipped: 'bool',3404 pending: 'bool'3405 },3406 /**3407 * Lookup422: rmrk_traits::nft::RoyaltyInfo<sp_core::crypto::AccountId32, sp_arithmetic::per_things::Permill>3408 **/3409 RmrkTraitsNftRoyaltyInfo: {3410 recipient: 'AccountId32',3411 amount: 'Permill'3412 },3413 /**3414 * Lookup423: rmrk_traits::resource::ResourceInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3415 **/3416 RmrkTraitsResourceResourceInfo: {3417 id: 'u32',3418 resource: 'RmrkTraitsResourceResourceTypes',3419 pending: 'bool',3420 pendingRemoval: 'bool'3421 },3422 /**3423 * Lookup424: rmrk_traits::property::PropertyInfo<sp_core::bounded::bounded_vec::BoundedVec<T, S>, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3424 **/3425 RmrkTraitsPropertyPropertyInfo: {3426 key: 'Bytes',3427 value: 'Bytes'3428 },3429 /**3430 * Lookup425: rmrk_traits::base::BaseInfo<sp_core::crypto::AccountId32, sp_core::bounded::bounded_vec::BoundedVec<T, S>>3431 **/3432 RmrkTraitsBaseBaseInfo: {3433 issuer: 'AccountId32',3434 baseType: 'Bytes',3435 symbol: 'Bytes'3436 },3437 /**3438 * Lookup426: rmrk_traits::nft::NftChild3439 **/3440 RmrkTraitsNftNftChild: {3441 collectionId: 'u32',3442 nftId: 'u32'3443 },3444 /**3445 * Lookup428: pallet_common::pallet::Error<T>3446 **/3447 PalletCommonError: {3448 _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal']3449 },3450 /**3451 * Lookup430: pallet_fungible::pallet::Error<T>3452 **/3453 PalletFungibleError: {3454 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingApprovalForAllNotAllowed']3455 },3456 /**3457 * Lookup431: pallet_refungible::ItemData3458 **/3459 PalletRefungibleItemData: {3460 constData: 'Bytes'3461 },3462 /**3463 * Lookup436: pallet_refungible::pallet::Error<T>3464 **/3465 PalletRefungibleError: {3466 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3467 },3468 /**3469 * Lookup437: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3470 **/3471 PalletNonfungibleItemData: {3472 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3473 },3474 /**3475 * Lookup439: up_data_structs::PropertyScope3476 **/3477 UpDataStructsPropertyScope: {3478 _enum: ['None', 'Rmrk']3479 },3480 /**3481 * Lookup441: pallet_nonfungible::pallet::Error<T>3482 **/3483 PalletNonfungibleError: {3484 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3485 },3486 /**3487 * Lookup442: pallet_structure::pallet::Error<T>3488 **/3489 PalletStructureError: {3490 _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound']3491 },3492 /**3493 * Lookup443: pallet_rmrk_core::pallet::Error<T>3494 **/3495 PalletRmrkCoreError: {3496 _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId']3497 },3498 /**3499 * Lookup445: pallet_rmrk_equip::pallet::Error<T>3500 **/3501 PalletRmrkEquipError: {3502 _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart']3503 },3504 /**3505 * Lookup451: pallet_app_promotion::pallet::Error<T>3506 **/3507 PalletAppPromotionError: {3508 _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'IncorrectLockedBalanceOperation']3509 },3510 /**3511 * Lookup452: pallet_foreign_assets::module::Error<T>3512 **/3513 PalletForeignAssetsModuleError: {3514 _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3515 },3516 /**3517 * Lookup454: pallet_evm::pallet::Error<T>3518 **/3519 PalletEvmError: {3520 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy']3521 },3522 /**3523 * Lookup457: fp_rpc::TransactionStatus3524 **/3525 FpRpcTransactionStatus: {3526 transactionHash: 'H256',3527 transactionIndex: 'u32',3528 from: 'H160',3529 to: 'Option<H160>',3530 contractAddress: 'Option<H160>',3531 logs: 'Vec<EthereumLog>',3532 logsBloom: 'EthbloomBloom'3533 },3534 /**3535 * Lookup459: ethbloom::Bloom3536 **/3537 EthbloomBloom: '[u8;256]',3538 /**3539 * Lookup461: ethereum::receipt::ReceiptV33540 **/3541 EthereumReceiptReceiptV3: {3542 _enum: {3543 Legacy: 'EthereumReceiptEip658ReceiptData',3544 EIP2930: 'EthereumReceiptEip658ReceiptData',3545 EIP1559: 'EthereumReceiptEip658ReceiptData'3546 }3547 },3548 /**3549 * Lookup462: ethereum::receipt::EIP658ReceiptData3550 **/3551 EthereumReceiptEip658ReceiptData: {3552 statusCode: 'u8',3553 usedGas: 'U256',3554 logsBloom: 'EthbloomBloom',3555 logs: 'Vec<EthereumLog>'3556 },3557 /**3558 * Lookup463: ethereum::block::Block<ethereum::transaction::TransactionV2>3559 **/3560 EthereumBlock: {3561 header: 'EthereumHeader',3562 transactions: 'Vec<EthereumTransactionTransactionV2>',3563 ommers: 'Vec<EthereumHeader>'3564 },3565 /**3566 * Lookup464: ethereum::header::Header3567 **/3568 EthereumHeader: {3569 parentHash: 'H256',3570 ommersHash: 'H256',3571 beneficiary: 'H160',3572 stateRoot: 'H256',3573 transactionsRoot: 'H256',3574 receiptsRoot: 'H256',3575 logsBloom: 'EthbloomBloom',3576 difficulty: 'U256',3577 number: 'U256',3578 gasLimit: 'U256',3579 gasUsed: 'U256',3580 timestamp: 'u64',3581 extraData: 'Bytes',3582 mixHash: 'H256',3583 nonce: 'EthereumTypesHashH64'3584 },3585 /**3586 * Lookup465: ethereum_types::hash::H643587 **/3588 EthereumTypesHashH64: '[u8;8]',3589 /**3590 * Lookup470: pallet_ethereum::pallet::Error<T>3591 **/3592 PalletEthereumError: {3593 _enum: ['InvalidSignature', 'PreLogExists']3594 },3595 /**3596 * Lookup471: pallet_evm_coder_substrate::pallet::Error<T>3597 **/3598 PalletEvmCoderSubstrateError: {3599 _enum: ['OutOfGas', 'OutOfFund']3600 },3601 /**3602 * Lookup472: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3603 **/3604 UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3605 _enum: {3606 Disabled: 'Null',3607 Unconfirmed: 'PalletEvmAccountBasicCrossAccountIdRepr',3608 Confirmed: 'PalletEvmAccountBasicCrossAccountIdRepr'3609 }3610 },3611 /**3612 * Lookup473: pallet_evm_contract_helpers::SponsoringModeT3613 **/3614 PalletEvmContractHelpersSponsoringModeT: {3615 _enum: ['Disabled', 'Allowlisted', 'Generous']3616 },3617 /**3618 * Lookup479: pallet_evm_contract_helpers::pallet::Error<T>3619 **/3620 PalletEvmContractHelpersError: {3621 _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3622 },3623 /**3624 * Lookup480: pallet_evm_migration::pallet::Error<T>3625 **/3626 PalletEvmMigrationError: {3627 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']3628 },3629 /**3630 * Lookup481: pallet_maintenance::pallet::Error<T>3631 **/3632 PalletMaintenanceError: 'Null',3633 /**3634 * Lookup482: pallet_test_utils::pallet::Error<T>3635 **/3636 PalletTestUtilsError: {3637 _enum: ['TestPalletDisabled', 'TriggerRollback']3638 },3639 /**3640 * Lookup484: sp_runtime::MultiSignature3641 **/3642 SpRuntimeMultiSignature: {3643 _enum: {3644 Ed25519: 'SpCoreEd25519Signature',3645 Sr25519: 'SpCoreSr25519Signature',3646 Ecdsa: 'SpCoreEcdsaSignature'3647 }3648 },3649 /**3650 * Lookup485: sp_core::ed25519::Signature3651 **/3652 SpCoreEd25519Signature: '[u8;64]',3653 /**3654 * Lookup487: sp_core::sr25519::Signature3655 **/3656 SpCoreSr25519Signature: '[u8;64]',3657 /**3658 * Lookup488: sp_core::ecdsa::Signature3659 **/3660 SpCoreEcdsaSignature: '[u8;65]',3661 /**3662 * Lookup491: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3663 **/3664 FrameSystemExtensionsCheckSpecVersion: 'Null',3665 /**3666 * Lookup492: frame_system::extensions::check_tx_version::CheckTxVersion<T>3667 **/3668 FrameSystemExtensionsCheckTxVersion: 'Null',3669 /**3670 * Lookup493: frame_system::extensions::check_genesis::CheckGenesis<T>3671 **/3672 FrameSystemExtensionsCheckGenesis: 'Null',3673 /**3674 * Lookup496: frame_system::extensions::check_nonce::CheckNonce<T>3675 **/3676 FrameSystemExtensionsCheckNonce: 'Compact<u32>',3677 /**3678 * Lookup497: frame_system::extensions::check_weight::CheckWeight<T>3679 **/3680 FrameSystemExtensionsCheckWeight: 'Null',3681 /**3682 * Lookup498: opal_runtime::runtime_common::maintenance::CheckMaintenance3683 **/3684 OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3685 /**3686 * Lookup499: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>3687 **/3688 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3689 /**3690 * Lookup500: opal_runtime::Runtime3691 **/3692 OpalRuntimeRuntime: 'Null',3693 /**3694 * Lookup501: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>3695 **/3696 PalletEthereumFakeTransactionFinalizer: 'Null'3697};tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/types-lookup.ts
+++ b/tests/src/interfaces/types-lookup.ts
@@ -1182,6 +1182,8 @@
readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
readonly isApproved: boolean;
readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;
+ readonly isApprovedForAll: boolean;
+ readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;
readonly isCollectionPropertySet: boolean;
readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;
readonly isCollectionPropertyDeleted: boolean;
@@ -1192,17 +1194,17 @@
readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;
readonly isPropertyPermissionSet: boolean;
readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;
- readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
+ readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';
}
- /** @name PalletStructureEvent (99) */
+ /** @name PalletStructureEvent (100) */
interface PalletStructureEvent extends Enum {
readonly isExecuted: boolean;
readonly asExecuted: Result<Null, SpRuntimeDispatchError>;
readonly type: 'Executed';
}
- /** @name PalletRmrkCoreEvent (100) */
+ /** @name PalletRmrkCoreEvent (101) */
interface PalletRmrkCoreEvent extends Enum {
readonly isCollectionCreated: boolean;
readonly asCollectionCreated: {
@@ -1292,7 +1294,7 @@
readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';
}
- /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (101) */
+ /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (102) */
interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {
readonly isAccountId: boolean;
readonly asAccountId: AccountId32;
@@ -2539,7 +2541,13 @@
readonly tokenId: u32;
readonly amount: u128;
} & Struct;
- readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition';
+ readonly isSetApprovalForAll: boolean;
+ readonly asSetApprovalForAll: {
+ readonly collectionId: u32;
+ readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;
+ readonly approve: bool;
+ } & Struct;
+ readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetApprovalForAll';
}
/** @name UpDataStructsCollectionMode (240) */
@@ -3655,7 +3663,8 @@
readonly isFungibleItemsDontHaveData: boolean;
readonly isFungibleDisallowsNesting: boolean;
readonly isSettingPropertiesNotAllowed: boolean;
- readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';
+ readonly isSettingApprovalForAllNotAllowed: boolean;
+ readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingApprovalForAllNotAllowed';
}
/** @name PalletRefungibleItemData (431) */
tests/src/interfaces/unique/definitions.tsdiffbeforeafterboth--- a/tests/src/interfaces/unique/definitions.ts
+++ b/tests/src/interfaces/unique/definitions.ts
@@ -175,5 +175,10 @@
[collectionParam, tokenParam],
'Option<u128>',
),
+ isApprovedForAll: fun(
+ 'Tells whether an operator is approved by a given owner.',
+ [collectionParam, crossAccountParam('owner'), crossAccountParam('operator')],
+ 'Option<bool>',
+ ),
},
};
tests/src/util/playgrounds/unique.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -1413,6 +1413,32 @@
getTokenObject(_collectionId: number, _tokenId: number): any {
return null;
}
+
+ /**
+ * Tells whether an operator is approved by a given owner.
+ * @param collectionId ID of collection
+ * @param owner owner address
+ * @param operator operator addrees
+ * @returns true if operator is enabled
+ */
+ async isApprovedForAll(collectionId: number, owner: ICrossAccountId, operator: ICrossAccountId): Promise<boolean> {
+ return (await this.helper.callRpc('api.rpc.unique.isApprovedForAll', [collectionId, owner, operator])).toJSON();
+ }
+
+ /** Sets or unsets the approval of a given operator.
+ * An operator is allowed to transfer all tokens of the sender on their behalf.
+ * @param operator Operator
+ * @param approved Is operator enabled or disabled
+ * @returns ```true``` if extrinsic success, otherwise ```false```
+ */
+ async setApprovalForAll(signer: TSigner, collectionId: number, operator: ICrossAccountId, approved: boolean): Promise<boolean> {
+ const result = await this.helper.executeExtrinsic(
+ signer,
+ 'api.tx.unique.setApprovalForAll', [collectionId, operator, approved],
+ true,
+ );
+ return this.helper.util.findCollectionInEvents(result.result.events, collectionId, 'common', 'ApprovedForAll');
+ }
}