difftreelog
feat add ApproveFrom eth mirror
in: master
26 files changed
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -746,6 +746,8 @@
ApprovedValueTooLow,
/// Tried to approve more than owned
CantApproveMoreThanOwned,
+ /// Only spending from eth mirror could be approved
+ AddressIsNotEthMirror,
/// Can't transfer tokens to ethereum zero address
AddressIsZero,
@@ -1797,6 +1799,9 @@
/// The price of setting the permission of the operation from another user.
fn approve() -> Weight;
+ /// The price of setting the permission of the operation from another user for eth mirror.
+ fn approve_from() -> Weight;
+
/// Transfer price from another user.
fn transfer_from() -> Weight;
@@ -2008,6 +2013,22 @@
amount: u128,
) -> DispatchResultWithPostInfo;
+ /// Grant access to another account to transfer parts of the token owned by the calling user's eth mirror via [Self::transfer_from].
+ ///
+ /// * `sender` - The user who grants access to the token.
+ /// * `from` - Spender's eth mirror.
+ /// * `to` - The user to whom the rights are granted.
+ /// * `token` - The token to which access is granted.
+ /// * `amount` - The amount of pieces that another user can dispose of.
+ fn approve_from(
+ &self,
+ sender: T::CrossAccountId,
+ from: T::CrossAccountId,
+ to: T::CrossAccountId,
+ token: TokenId,
+ amount: u128,
+ ) -> DispatchResultWithPostInfo;
+
/// Send parts of a token owned by another user.
///
/// Before calling this method, you must grant rights to the calling user via [`Self::approve`].
pallets/evm-contract-helpers/src/stubs/ContractHelpers.rawdiffbeforeafterbothbinary blob — no preview
pallets/evm-contract-helpers/src/stubs/ContractHelpers.soldiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
+++ b/pallets/evm-contract-helpers/src/stubs/ContractHelpers.sol
@@ -283,8 +283,8 @@
/// Ethereum representation of Optional value with CrossAddress.
struct OptionCrossAddress {
- /// TODO: field description
+ /// Whether or not this CrossAdress is valid and has meaning.
bool status;
- /// TODO: field description
+ /// The underlying CrossAddress value. If the status is false, can be set to whatever.
CrossAddress value;
}
pallets/fungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/fungible/src/benchmarking.rs
+++ b/pallets/fungible/src/benchmarking.rs
@@ -82,6 +82,16 @@
<Pallet<T>>::create_item(&collection, &owner, (sender.clone(), 200), &Unlimited)?;
}: {<Pallet<T>>::set_allowance(&collection, &sender, &spender, 100)?}
+ approve_from {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ owner: cross_from_sub; sender: cross_sub; spender: cross_sub;
+
+ };
+ let owner_eth = T::CrossAccountId::from_eth(*sender.as_eth());
+ <Pallet<T>>::create_item(&collection, &owner, (owner_eth.clone(), 200), &Unlimited)?;
+ }: {<Pallet<T>>::set_allowance_for(&collection, &sender, &owner_eth, &spender, 100)?}
+
transfer_from {
bench_init!{
owner: sub; collection: collection(owner);
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -87,6 +87,10 @@
<SelfWeightOf<T>>::approve()
}
+ fn approve_from() -> Weight {
+ <SelfWeightOf<T>>::approve_from()
+ }
+
fn transfer_from() -> Weight {
<SelfWeightOf<T>>::transfer_from()
}
@@ -254,6 +258,25 @@
)
}
+ fn approve_from(
+ &self,
+ sender: T::CrossAccountId,
+ from: T::CrossAccountId,
+ to: T::CrossAccountId,
+ token: TokenId,
+ amount: u128,
+ ) -> DispatchResultWithPostInfo {
+ ensure!(
+ token == TokenId::default(),
+ <Error<T>>::FungibleItemsHaveNoId
+ );
+
+ with_weight(
+ <Pallet<T>>::set_allowance_for(self, &sender, &from, &to, amount),
+ <CommonWeights<T>>::approve_from(),
+ )
+ }
+
fn transfer_from(
&self,
sender: T::CrossAccountId,
pallets/fungible/src/lib.rsdiffbeforeafterboth--- a/pallets/fungible/src/lib.rs
+++ b/pallets/fungible/src/lib.rs
@@ -613,6 +613,45 @@
Ok(())
}
+ /// Set allowance for the spender to `transfer` or `burn` owner's tokens from eth mirror.
+ ///
+ /// - `collection`: Collection that contains the token
+ /// - `sender`: Owner of tokens that sets the allowance.
+ /// - `from`: Owner's eth mirror.
+ /// - `to`: Recipient of the allowance rights.
+ /// - `amount`: Amount of tokens the spender is allowed to `transfer` or `burn`.
+ pub fn set_allowance_for(
+ collection: &FungibleHandle<T>,
+ sender: &T::CrossAccountId,
+ from: &T::CrossAccountId,
+ to: &T::CrossAccountId,
+ amount: u128,
+ ) -> DispatchResult {
+ if collection.permissions.access() == AccessMode::AllowList {
+ collection.check_allowlist(sender)?;
+ collection.check_allowlist(from)?;
+ collection.check_allowlist(to)?;
+ }
+
+ ensure!(
+ *sender.as_eth() == *from.as_eth(),
+ <CommonError<T>>::AddressIsNotEthMirror
+ );
+
+ if <Balance<T>>::get((collection.id, from)) < amount {
+ ensure!(
+ collection.limits.owner_can_transfer()
+ && (collection.is_owner_or_admin(sender) || collection.is_owner_or_admin(from)),
+ <CommonError<T>>::CantApproveMoreThanOwned
+ );
+ }
+
+ // =========
+
+ Self::set_allowance_unchecked(collection, from, to, amount);
+ Ok(())
+ }
+
/// Checks if a non-owner has (enough) allowance from the owner to perform operations on the tokens.
/// Returns the expected remaining allowance - it should be set manually if the transaction proceeds.
///
pallets/fungible/src/weights.rsdiffbeforeafterboth--- a/pallets/fungible/src/weights.rs
+++ b/pallets/fungible/src/weights.rs
@@ -39,6 +39,7 @@
fn burn_item() -> Weight;
fn transfer() -> Weight;
fn approve() -> Weight;
+ fn approve_from() -> Weight;
fn transfer_from() -> Weight;
fn burn_from() -> Weight;
}
@@ -84,6 +85,13 @@
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
+ // Storage: Fungible Balance (r:1 w:0)
+ // Storage: Fungible Allowance (r:0 w:1)
+ fn approve_from() -> Weight {
+ Weight::from_ref_time(19_817_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(1 as u64))
+ .saturating_add(T::DbWeight::get().writes(1 as u64))
+ }
// Storage: Fungible Allowance (r:1 w:1)
// Storage: Fungible Balance (r:2 w:2)
fn transfer_from() -> Weight {
@@ -141,6 +149,13 @@
.saturating_add(RocksDbWeight::get().reads(1 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
+ // Storage: Fungible Balance (r:1 w:0)
+ // Storage: Fungible Allowance (r:0 w:1)
+ fn approve_from() -> Weight {
+ Weight::from_ref_time(19_817_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(1 as u64))
+ .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ }
// Storage: Fungible Allowance (r:1 w:1)
// Storage: Fungible Balance (r:2 w:2)
fn transfer_from() -> Weight {
pallets/nonfungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/benchmarking.rs
+++ b/pallets/nonfungible/src/benchmarking.rs
@@ -134,6 +134,15 @@
let item = create_max_item(&collection, &owner, sender.clone())?;
}: {<Pallet<T>>::set_allowance(&collection, &sender, item, Some(&spender))?}
+ approve_from {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ owner: cross_from_sub; sender: cross_sub; spender: cross_sub;
+ };
+ let owner_eth = T::CrossAccountId::from_eth(*sender.as_eth());
+ let item = create_max_item(&collection, &owner, owner_eth.clone())?;
+ }: {<Pallet<T>>::set_allowance_for(&collection, &sender, &owner_eth, item, Some(&spender))?}
+
transfer_from {
bench_init!{
owner: sub; collection: collection(owner);
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -102,6 +102,10 @@
<SelfWeightOf<T>>::approve()
}
+ fn approve_from() -> Weight {
+ <SelfWeightOf<T>>::approve_from()
+ }
+
fn transfer_from() -> Weight {
<SelfWeightOf<T>>::transfer_from()
}
@@ -353,6 +357,26 @@
)
}
+ fn approve_from(
+ &self,
+ sender: T::CrossAccountId,
+ from: T::CrossAccountId,
+ to: T::CrossAccountId,
+ token: TokenId,
+ amount: u128,
+ ) -> DispatchResultWithPostInfo {
+ ensure!(amount <= 1, <Error<T>>::NonfungibleItemsHaveNoAmount);
+
+ with_weight(
+ if amount == 1 {
+ <Pallet<T>>::set_allowance_for(self, &sender, &from, token, Some(&to))
+ } else {
+ <Pallet<T>>::set_allowance_for(self, &sender, &from, token, None)
+ },
+ <CommonWeights<T>>::approve_from(),
+ )
+ }
+
fn transfer_from(
&self,
sender: T::CrossAccountId,
pallets/nonfungible/src/lib.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/lib.rs
+++ b/pallets/nonfungible/src/lib.rs
@@ -1171,6 +1171,51 @@
Ok(())
}
+ /// Set allowance for the spender to `transfer` or `burn` sender's token from eth mirror.
+ ///
+ /// - `from`: Address of sender's eth mirror.
+ /// - `to`: Adress of spender.
+ /// - `token`: Token the spender is allowed to `transfer` or `burn`.
+ pub fn set_allowance_for(
+ collection: &NonfungibleHandle<T>,
+ sender: &T::CrossAccountId,
+ from: &T::CrossAccountId,
+ token: TokenId,
+ to: Option<&T::CrossAccountId>,
+ ) -> DispatchResult {
+ if collection.permissions.access() == AccessMode::AllowList {
+ collection.check_allowlist(sender)?;
+ collection.check_allowlist(from)?;
+ if let Some(to) = to {
+ collection.check_allowlist(to)?;
+ }
+ }
+
+ if let Some(to) = to {
+ <PalletCommon<T>>::ensure_correct_receiver(to)?;
+ }
+
+ ensure!(
+ *sender.as_eth() == *from.as_eth(),
+ <CommonError<T>>::AddressIsNotEthMirror
+ );
+
+ let token_data =
+ <TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;
+ if token_data.owner != *from {
+ ensure!(
+ collection.limits.owner_can_transfer()
+ && (collection.is_owner_or_admin(sender) || collection.is_owner_or_admin(from)),
+ <CommonError<T>>::CantApproveMoreThanOwned
+ );
+ }
+
+ // =========
+
+ Self::set_allowance_unchecked(collection, from, token, to, false);
+ Ok(())
+ }
+
/// Checks allowance for the spender to use the token.
fn check_allowed(
collection: &NonfungibleHandle<T>,
pallets/nonfungible/src/weights.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/weights.rs
+++ b/pallets/nonfungible/src/weights.rs
@@ -42,6 +42,7 @@
fn burn_recursively_breadth_plus_self_plus_self_per_each_raw(b: u32, ) -> Weight;
fn transfer() -> Weight;
fn approve() -> Weight;
+ fn approve_from() -> Weight;
fn transfer_from() -> Weight;
fn burn_from() -> Weight;
fn set_token_property_permissions(b: u32, ) -> Weight;
@@ -147,6 +148,13 @@
.saturating_add(T::DbWeight::get().reads(2 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
+ // Storage: Nonfungible TokenData (r:1 w:0)
+ // Storage: Nonfungible Allowance (r:1 w:1)
+ fn approve_from() -> Weight {
+ Weight::from_ref_time(18_965_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(2 as u64))
+ .saturating_add(T::DbWeight::get().writes(1 as u64))
+ }
// Storage: Nonfungible Allowance (r:1 w:1)
// Storage: Nonfungible TokenData (r:1 w:1)
// Storage: Nonfungible AccountBalance (r:2 w:2)
@@ -310,6 +318,13 @@
.saturating_add(RocksDbWeight::get().reads(2 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
+ // Storage: Nonfungible TokenData (r:1 w:0)
+ // Storage: Nonfungible Allowance (r:1 w:1)
+ fn approve_from() -> Weight {
+ Weight::from_ref_time(18_965_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(2 as u64))
+ .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ }
// Storage: Nonfungible Allowance (r:1 w:1)
// Storage: Nonfungible TokenData (r:1 w:1)
// Storage: Nonfungible AccountBalance (r:2 w:2)
pallets/refungible/src/benchmarking.rsdiffbeforeafterboth--- a/pallets/refungible/src/benchmarking.rs
+++ b/pallets/refungible/src/benchmarking.rs
@@ -163,6 +163,15 @@
let item = create_max_item(&collection, &owner, [(sender.clone(), 200)])?;
}: {<Pallet<T>>::set_allowance(&collection, &sender, &spender, item, 100)?}
+ approve_from {
+ bench_init!{
+ owner: sub; collection: collection(owner);
+ owner: cross_from_sub; sender: cross_sub; spender: cross_sub;
+ };
+ let owner_eth = T::CrossAccountId::from_eth(*sender.as_eth());
+ let item = create_max_item(&collection, &owner, [(owner_eth.clone(), 200)])?;
+ }: {<Pallet<T>>::set_allowance_for(&collection, &sender, &owner_eth, &spender, item, 100)?}
+
transfer_from_normal {
bench_init!{
owner: sub; collection: collection(owner);
pallets/refungible/src/common.rsdiffbeforeafterboth--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -127,6 +127,10 @@
<SelfWeightOf<T>>::approve()
}
+ fn approve_from() -> Weight {
+ <SelfWeightOf<T>>::approve_from()
+ }
+
fn transfer_from() -> Weight {
max_weight_of!(
transfer_from_normal(),
@@ -314,6 +318,20 @@
)
}
+ fn approve_from(
+ &self,
+ sender: T::CrossAccountId,
+ from: T::CrossAccountId,
+ to: T::CrossAccountId,
+ token_id: TokenId,
+ amount: u128,
+ ) -> DispatchResultWithPostInfo {
+ with_weight(
+ <Pallet<T>>::set_allowance_for(self, &sender, &from, &to, token_id, amount),
+ <CommonWeights<T>>::approve_from(),
+ )
+ }
+
fn transfer_from(
&self,
sender: T::CrossAccountId,
pallets/refungible/src/lib.rsdiffbeforeafterboth--- a/pallets/refungible/src/lib.rs
+++ b/pallets/refungible/src/lib.rs
@@ -1102,6 +1102,47 @@
Ok(())
}
+ /// Set allowance to spend from sender's eth mirror
+ ///
+ /// - `from`: Address of sender's eth mirror.
+ /// - `to`: Adress of spender.
+ /// - `amount`: Amount of token pieces the spender is allowed to `transfer` or `burn.
+ pub fn set_allowance_for(
+ collection: &RefungibleHandle<T>,
+ sender: &T::CrossAccountId,
+ from: &T::CrossAccountId,
+ to: &T::CrossAccountId,
+ token_id: TokenId,
+ amount: u128,
+ ) -> DispatchResult {
+ if collection.permissions.access() == AccessMode::AllowList {
+ collection.check_allowlist(sender)?;
+ collection.check_allowlist(from)?;
+ collection.check_allowlist(to)?;
+ }
+
+ <PalletCommon<T>>::ensure_correct_receiver(to)?;
+
+ ensure!(
+ *sender.as_eth() == *from.as_eth(),
+ <CommonError<T>>::AddressIsNotEthMirror
+ );
+
+ if <Balance<T>>::get((collection.id, token_id, from)) < amount {
+ ensure!(
+ collection.limits.owner_can_transfer()
+ && (collection.is_owner_or_admin(sender) || collection.is_owner_or_admin(from))
+ && Self::token_exists(collection, token_id),
+ <CommonError<T>>::CantApproveMoreThanOwned
+ );
+ }
+
+ // =========
+
+ Self::set_allowance_unchecked(collection, from, to, token_id, amount);
+ Ok(())
+ }
+
/// Returns allowance, which should be set after transaction
fn check_allowed(
collection: &RefungibleHandle<T>,
pallets/refungible/src/weights.rsdiffbeforeafterboth--- a/pallets/refungible/src/weights.rs
+++ b/pallets/refungible/src/weights.rs
@@ -45,6 +45,7 @@
fn transfer_removing() -> Weight;
fn transfer_creating_removing() -> Weight;
fn approve() -> Weight;
+ fn approve_from() -> Weight;
fn transfer_from_normal() -> Weight;
fn transfer_from_creating() -> Weight;
fn transfer_from_removing() -> Weight;
@@ -175,6 +176,13 @@
.saturating_add(T::DbWeight::get().reads(1 as u64))
.saturating_add(T::DbWeight::get().writes(1 as u64))
}
+ // Storage: Refungible Balance (r:1 w:0)
+ // Storage: Refungible Allowance (r:0 w:1)
+ fn approve_from() -> Weight {
+ Weight::from_ref_time(20_649_000 as u64)
+ .saturating_add(T::DbWeight::get().reads(1 as u64))
+ .saturating_add(T::DbWeight::get().writes(1 as u64))
+ }
// Storage: Refungible Allowance (r:1 w:1)
// Storage: Refungible CollectionAllowance (r:1 w:0)
// Storage: Refungible Balance (r:2 w:2)
@@ -400,6 +408,13 @@
.saturating_add(RocksDbWeight::get().reads(1 as u64))
.saturating_add(RocksDbWeight::get().writes(1 as u64))
}
+ // Storage: Refungible Balance (r:1 w:0)
+ // Storage: Refungible Allowance (r:0 w:1)
+ fn approve_from() -> Weight {
+ Weight::from_ref_time(20_649_000 as u64)
+ .saturating_add(RocksDbWeight::get().reads(1 as u64))
+ .saturating_add(RocksDbWeight::get().writes(1 as u64))
+ }
// Storage: Refungible Allowance (r:1 w:1)
// Storage: Refungible CollectionAllowance (r:1 w:0)
// Storage: Refungible Balance (r:2 w:2)
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -851,6 +851,29 @@
dispatch_tx::<T, _>(collection_id, |d| d.approve(sender, spender, item_id, amount))
}
+ /// Allow a non-permissioned address to transfer or burn an item from owner's eth mirror.
+ ///
+ /// # Permissions
+ ///
+ /// * Collection owner
+ /// * Collection admin
+ /// * Current item owner
+ ///
+ /// # Arguments
+ ///
+ /// * `from`: Owner's account eth mirror
+ /// * `to`: Account to be approved to make specific transactions on non-owned tokens.
+ /// * `collection_id`: ID of the collection the item belongs to.
+ /// * `item_id`: ID of the item transactions on which are now approved.
+ /// * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
+ /// Set to 0 to revoke the approval.
+ #[weight = T::CommonWeightInfo::approve_from()]
+ pub fn approve_from(origin, from:T::CrossAccountId, to: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResultWithPostInfo {
+ let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
+
+ dispatch_tx::<T, _>(collection_id, |d| d.approve_from(sender, from, to, item_id, amount))
+ }
+
/// Change ownership of an item on behalf of the owner as a non-owner account.
///
/// See the [`approve`][`Pallet::approve`] method for additional information.
runtime/common/identity.rsdiffbeforeafterboth--- a/runtime/common/identity.rs
+++ b/runtime/common/identity.rs
@@ -21,9 +21,7 @@
use sp_runtime::{
traits::{DispatchInfoOf, SignedExtension},
- transaction_validity::{
- TransactionValidity, ValidTransaction, InvalidTransaction, TransactionValidityError,
- },
+ transaction_validity::{TransactionValidity, ValidTransaction, TransactionValidityError},
};
#[derive(Debug, Encode, Decode, PartialEq, Eq, Clone, TypeInfo)]
runtime/common/weights.rsdiffbeforeafterboth--- a/runtime/common/weights.rs
+++ b/runtime/common/weights.rs
@@ -101,6 +101,10 @@
dispatch_weight::<T>() + max_weight_of!(approve())
}
+ fn approve_from() -> Weight {
+ dispatch_weight::<T>() + max_weight_of!(approve_from())
+ }
+
fn transfer_from() -> Weight {
dispatch_weight::<T>() + max_weight_of!(transfer_from())
}
tests/src/approve.test.tsdiffbeforeafterboth--- a/tests/src/approve.test.ts
+++ b/tests/src/approve.test.ts
@@ -16,336 +16,521 @@
import {IKeyringPair} from '@polkadot/types/types';
import {expect, itSub, Pallets, usingPlaygrounds} from './util';
+import {CrossAccountId} from './util/playgrounds/unique';
+
-describe('Integration Test approve(spender, collection_id, item_id, amount):', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
+[
+ {method: 'approveToken', account: (account: IKeyringPair) => CrossAccountId.fromKeyring(account)},
+ {method: 'approveTokenFromEth', account: (account: IKeyringPair) => CrossAccountId.fromKeyring(account).toEthereum()},
+].map(testCase => {
+ describe(`Integration Test ${testCase.method}(spender, collection_id, item_id, amount):`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
});
- });
- itSub('[nft] Execute the extrinsic and check approvedList', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: alice.address});
- await helper.nft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.true;
- });
+ itSub('[nft] Execute the extrinsic and check approvedList', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice)});
+ await (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.true;
+ });
+
+ itSub('[fungible] Execute the extrinsic and check approvedList', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(alice));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ const amount = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amount).to.be.equal(BigInt(1));
+ });
+
+ itSub.ifWithPallets('[refungible] Execute the extrinsic and check approvedList', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice), pieces: 100n});
+ await (helper.rft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ const amount = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amount).to.be.equal(BigInt(1));
+ });
+
+ itSub('[nft] Remove approval by using 0 amount', async ({helper}) => {
+ const collection = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const collectionId = collection.collectionId;
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice)});
+ await (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.true;
+ await (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.false;
+ });
- itSub('[fungible] Execute the extrinsic and check approvedList', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, {Substrate: alice.address});
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- const amount = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amount).to.be.equal(BigInt(1));
- });
+ itSub('[fungible] Remove approval by using 0 amount', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(alice));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ const amountBefore = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountBefore).to.be.equal(BigInt(1));
- itSub.ifWithPallets('[refungible] Execute the extrinsic and check approvedList', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
- await helper.rft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- const amount = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amount).to.be.equal(BigInt(1));
- });
+ await (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
+ const amountAfter = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountAfter).to.be.equal(BigInt(0));
+ });
- itSub('[nft] Remove approval by using 0 amount', async ({helper}) => {
- const collection = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const collectionId = collection.collectionId;
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: alice.address});
- await helper.nft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.true;
- await helper.signTransaction(alice, helper.constructApiCall('api.tx.unique.approve', [{Substrate: bob.address}, collectionId, tokenId, 0]));
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.false;
- });
+ itSub.ifWithPallets('[refungible] Remove approval by using 0 amount', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice), pieces: 100n});
+ await (helper.rft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ const amountBefore = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountBefore).to.be.equal(BigInt(1));
- itSub('[fungible] Remove approval by using 0 amount', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, {Substrate: alice.address});
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- const amountBefore = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountBefore).to.be.equal(BigInt(1));
+ await (helper.rft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
+ const amountAfter = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountAfter).to.be.equal(BigInt(0));
+ });
- await helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
- const amountAfter = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountAfter).to.be.equal(BigInt(0));
+ itSub('can`t be called by collection owner on non-owned item when OwnerCanTransfer == false', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob)});
+ const result = (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: charlie.address});
+ await expect(result).to.be.rejected;
+ });
});
- itSub.ifWithPallets('[refungible] Remove approval by using 0 amount', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
- await helper.rft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- const amountBefore = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountBefore).to.be.equal(BigInt(1));
+ describe(`[${testCase.method}] Normal user can approve other users to transfer:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
- await helper.rft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
- const amountAfter = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountAfter).to.be.equal(BigInt(0));
- });
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
- itSub('can`t be called by collection owner on non-owned item when OwnerCanTransfer == false', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: bob.address});
- const approveTokenTx = () => helper.nft.approveToken(alice, collectionId, tokenId, {Substrate: charlie.address});
- await expect(approveTokenTx()).to.be.rejected;
- });
-});
+ itSub('NFT', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob)});
+ await (helper.nft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: charlie.address})).to.be.true;
+ });
-describe('Normal user can approve other users to transfer:', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
+ itSub('Fungible up to an approved amount', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(bob));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ const amount = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: charlie.address}, testCase.account(bob));
+ expect(amount).to.be.equal(BigInt(1));
+ });
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ itSub.ifWithPallets('ReFungible up to an approved amount', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob), pieces: 100n});
+ await (helper.rft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address}, 100n);
+ const amount = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: charlie.address}, testCase.account(bob));
+ expect(amount).to.be.equal(BigInt(100n));
});
});
- itSub('NFT', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: bob.address});
- await helper.nft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: charlie.address})).to.be.true;
- });
+ describe(`[${testCase.method}] Approved users can transferFrom up to approved amount:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
- itSub('Fungible up to an approved amount', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, bob.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- const amount = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: charlie.address}, {Substrate: bob.address});
- expect(amount).to.be.equal(BigInt(1));
- });
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
- itSub.ifWithPallets('ReFungible up to an approved amount', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: bob.address, pieces: 100n});
- await helper.rft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address}, 100n);
- const amount = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: charlie.address}, {Substrate: bob.address});
- expect(amount).to.be.equal(BigInt(100n));
+ itSub('NFT', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob)});
+ await (helper.nft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ await helper.nft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address});
+ const owner = await helper.nft.getTokenOwner(collectionId, tokenId);
+ expect(owner.Substrate).to.be.equal(alice.address);
+ });
+
+ itSub('Fungible up to an approved amount', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(bob));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ const before = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
+ await helper.ft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address}, 1n);
+ const after = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
+ expect(after - before).to.be.equal(BigInt(1));
+ });
+
+ itSub.ifWithPallets('ReFungible up to an approved amount', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob), pieces: 100n});
+ await (helper.rft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ const before = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
+ await helper.rft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address}, 1n);
+ const after = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
+ expect(after - before).to.be.equal(BigInt(1));
+ });
});
-});
-describe('Approved users can transferFrom up to approved amount:', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
+ describe(`[${testCase.method}] Approved users cannot use transferFrom to repeat transfers if approved amount was already transferred:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
+
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
+
+ itSub('NFT', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob)});
+ await (helper.nft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ await helper.nft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address});
+ const owner = await helper.nft.getTokenOwner(collectionId, tokenId);
+ expect(owner.Substrate).to.be.equal(alice.address);
+ const transferTokenFromTx = () => helper.nft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address});
+ await expect(transferTokenFromTx()).to.be.rejected;
+ });
+
+ itSub('Fungible up to an approved amount', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(bob));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ const before = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
+ await helper.ft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address}, 1n);
+ const after = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
+ expect(after - before).to.be.equal(BigInt(1));
+
+ const transferTokenFromTx = () => helper.ft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address}, 1n);
+ await expect(transferTokenFromTx()).to.be.rejected;
+ });
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ itSub.ifWithPallets('ReFungible up to an approved amount', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob), pieces: 100n});
+ await (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address}, 100n);
+ const before = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
+ await helper.rft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address}, 100n);
+ const after = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
+ expect(after - before).to.be.equal(BigInt(100));
+ const transferTokenFromTx = () => helper.rft.transferTokenFrom(charlie, collectionId, tokenId, testCase.account(bob), {Substrate: alice.address}, 100n);
+ await expect(transferTokenFromTx()).to.be.rejected;
});
});
- itSub('NFT', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: bob.address});
- await helper.nft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- await helper.nft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- const owner = await helper.nft.getTokenOwner(collectionId, tokenId);
- expect(owner.Substrate).to.be.equal(alice.address);
+ describe(`[${testCase.method}] Approved amount decreases by the transferred amount:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
+ let dave: IKeyringPair;
+
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie, dave] = await helper.arrange.createAccounts([100n, 100n, 100n, 100n], donor);
+ });
+ });
+
+ itSub('If a user B is approved to transfer 10 Fungible tokens from user A, they can transfer 2 tokens to user C, which will result in decreasing approval from 10 to 8. Then user B can transfer 8 tokens to user D.', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(alice));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 10n);
+
+ const charlieBefore = await helper.ft.getBalance(collectionId, {Substrate: charlie.address});
+ await helper.ft.transferTokenFrom(bob, collectionId, tokenId, testCase.account(alice), {Substrate: charlie.address}, 2n);
+ const charlieAfter = await helper.ft.getBalance(collectionId, {Substrate: charlie.address});
+ expect(charlieAfter - charlieBefore).to.be.equal(BigInt(2));
+
+ const daveBefore = await helper.ft.getBalance(collectionId, {Substrate: dave.address});
+ await helper.ft.transferTokenFrom(bob, collectionId, tokenId, testCase.account(alice), {Substrate: dave.address}, 8n);
+ const daveAfter = await helper.ft.getBalance(collectionId, {Substrate: dave.address});
+ expect(daveAfter - daveBefore).to.be.equal(BigInt(8));
+ });
});
- itSub('Fungible up to an approved amount', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, bob.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- const before = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
- await helper.ft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address}, 1n);
- const after = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
- expect(after - before).to.be.equal(BigInt(1));
+ describe(`[${testCase.method}] User may clear the approvals to approving for 0 amount:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
+
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
+
+ itSub('NFT', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice)});
+ await (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.true;
+ await (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.false;
+ const transferTokenFromTx = () => helper.nft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: bob.address}, {Substrate: bob.address});
+ await expect(transferTokenFromTx()).to.be.rejected;
+ });
+
+ itSub('Fungible', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(alice));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ await (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ const amountBefore = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountBefore).to.be.equal(BigInt(1));
+
+ await (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
+ const amountAfter = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountAfter).to.be.equal(BigInt(0));
+
+ const transferTokenFromTx = () => helper.ft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: bob.address}, {Substrate: charlie.address}, 1n);
+ await expect(transferTokenFromTx()).to.be.rejected;
+ });
+
+ itSub.ifWithPallets('ReFungible', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice), pieces: 100n});
+ await (helper.rft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address});
+ const amountBefore = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountBefore).to.be.equal(BigInt(1));
+
+ await (helper.rft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
+ const amountAfter = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, testCase.account(alice));
+ expect(amountAfter).to.be.equal(BigInt(0));
+
+ const transferTokenFromTx = () => helper.rft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: bob.address}, {Substrate: charlie.address}, 100n);
+ await expect(transferTokenFromTx()).to.be.rejected;
+ });
});
- itSub.ifWithPallets('ReFungible up to an approved amount', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: bob.address, pieces: 100n});
- await helper.rft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- const before = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
- await helper.rft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address}, 1n);
- const after = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
- expect(after - before).to.be.equal(BigInt(1));
+ describe(`[${testCase.method}] User cannot approve for the amount greater than they own:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
+
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
+
+ itSub('1 for NFT', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob)});
+ const result = (helper.nft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address}, 2n);
+ await expect(result).to.be.rejected;
+ expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: charlie.address})).to.be.false;
+ });
+
+ itSub('Fungible', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(alice));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ const result = (helper.ft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 11n);
+ await expect(result).to.be.rejected;
+ });
+
+ itSub.ifWithPallets('ReFungible', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice), pieces: 100n});
+ const result = (helper.rft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: bob.address}, 101n);
+ await expect(result).to.be.rejected;
+ });
});
-});
-describe('Approved users cannot use transferFrom to repeat transfers if approved amount was already transferred:', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
+ describe(`[${testCase.method}] Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions:`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
+
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ itSub('can be called by collection admin on non-owned item', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice)});
+ await helper.collection.addAdmin(alice, collectionId, {Substrate: bob.address});
+ const result = (helper.nft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: charlie.address});
+ await expect(result).to.be.rejected;
});
});
- itSub('NFT', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: bob.address});
- await helper.nft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- await helper.nft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- const owner = await helper.nft.getTokenOwner(collectionId, tokenId);
- expect(owner.Substrate).to.be.equal(alice.address);
- const transferTokenFromTx = () => helper.nft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- await expect(transferTokenFromTx()).to.be.rejected;
- });
+ describe(`[${testCase.method}] Negative Integration Test approve(spender, collection_id, item_id, amount):`, () => {
+ let alice: IKeyringPair;
+ let bob: IKeyringPair;
+ let charlie: IKeyringPair;
- itSub('Fungible up to an approved amount', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, bob.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- const before = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
- await helper.ft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address}, 1n);
- const after = await helper.ft.getBalance(collectionId, {Substrate: alice.address});
- expect(after - before).to.be.equal(BigInt(1));
+ before(async () => {
+ await usingPlaygrounds(async (helper, privateKey) => {
+ const donor = await privateKey({filename: __filename});
+ [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ });
+ });
- const transferTokenFromTx = () => helper.ft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address}, 1n);
- await expect(transferTokenFromTx()).to.be.rejected;
- });
+ itSub('[nft] Approve for a collection that does not exist', async ({helper}) => {
+ const collectionId = 1 << 32 - 1;
+ await expect((helper.nft as any)[testCase.method](bob, collectionId, 1, {Substrate: charlie.address})).to.be.rejected;
+ });
+
+ itSub('[fungible] Approve for a collection that does not exist', async ({helper}) => {
+ const collectionId = 1 << 32 - 1;
+ const approveTx = () => (helper.ft as any)[testCase.method](bob, collectionId, 1, {Substrate: charlie.address});
+ await expect(approveTx()).to.be.rejected;
+ });
- itSub.ifWithPallets('ReFungible up to an approved amount', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: bob.address, pieces: 100n});
- await helper.rft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address}, 100n);
- const before = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
- await helper.rft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address}, 100n);
- const after = await helper.rft.getTokenBalance(collectionId, tokenId, {Substrate: alice.address});
- expect(after - before).to.be.equal(BigInt(100));
- const transferTokenFromTx = () => helper.rft.transferTokenFrom(charlie, collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address}, 100n);
- await expect(transferTokenFromTx()).to.be.rejected;
- });
-});
+ itSub.ifWithPallets('[refungible] Approve for a collection that does not exist', [Pallets.ReFungible], async ({helper}) => {
+ const collectionId = 1 << 32 - 1;
+ const approveTx = () => (helper.rft as any)[testCase.method](bob, collectionId, 1, {Substrate: charlie.address});
+ await expect(approveTx()).to.be.rejected;
+ });
-describe('Approved amount decreases by the transferred amount:', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
- let dave: IKeyringPair;
+ itSub('[nft] Approve for a collection that was destroyed', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ await helper.nft.burn(alice, collectionId);
+ const approveTx = () => (helper.nft as any)[testCase.method](alice, collectionId, 1, {Substrate: bob.address});
+ await expect(approveTx()).to.be.rejected;
+ });
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie, dave] = await helper.arrange.createAccounts([100n, 100n, 100n, 100n], donor);
+ itSub('[fungible] Approve for a collection that was destroyed', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ await helper.ft.burn(alice, collectionId);
+ const approveTx = () => (helper.ft as any)[testCase.method](alice, collectionId, 1, {Substrate: bob.address});
+ await expect(approveTx()).to.be.rejected;
});
- });
- itSub('If a user B is approved to transfer 10 Fungible tokens from user A, they can transfer 2 tokens to user C, which will result in decreasing approval from 10 to 8. Then user B can transfer 8 tokens to user D.', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, alice.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 10n);
+ itSub.ifWithPallets('[refungible] Approve for a collection that was destroyed', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ await helper.rft.burn(alice, collectionId);
+ const approveTx = () => (helper.rft as any)[testCase.method](alice, collectionId, 1, {Substrate: bob.address});
+ await expect(approveTx()).to.be.rejected;
+ });
- const charlieBefore = await helper.ft.getBalance(collectionId, {Substrate: charlie.address});
- await helper.ft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: alice.address}, {Substrate: charlie.address}, 2n);
- const charlieAfter = await helper.ft.getBalance(collectionId, {Substrate: charlie.address});
- expect(charlieAfter - charlieBefore).to.be.equal(BigInt(2));
+ itSub('[nft] Approve transfer of a token that does not exist', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const approveTx = () => (helper.nft as any)[testCase.method](alice, collectionId, 2, {Substrate: bob.address});
+ await expect(approveTx()).to.be.rejected;
+ });
- const daveBefore = await helper.ft.getBalance(collectionId, {Substrate: dave.address});
- await helper.ft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: alice.address}, {Substrate: dave.address}, 8n);
- const daveAfter = await helper.ft.getBalance(collectionId, {Substrate: dave.address});
- expect(daveAfter - daveBefore).to.be.equal(BigInt(8));
- });
-});
+ itSub.ifWithPallets('[refungible] Approve transfer of a token that does not exist', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const approveTx = () => (helper.rft as any)[testCase.method](alice, collectionId, 2, {Substrate: bob.address});
+ await expect(approveTx()).to.be.rejected;
+ });
-describe('User may clear the approvals to approving for 0 amount:', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
+ itSub('[nft] Approve using the address that does not own the approved token', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice)});
+ const approveTx = () => (helper.nft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address});
+ await expect(approveTx()).to.be.rejected;
+ });
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ itSub('[fungible] Approve using the address that does not own the approved token', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ await helper.ft.mintTokens(alice, collectionId, 10n, testCase.account(alice));
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
+ const approveTx = () => (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address});
+ await expect(approveTx()).to.be.rejected;
});
- });
- itSub('NFT', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: alice.address});
- await helper.nft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.true;
- await helper.signTransaction(alice, helper.constructApiCall('api.tx.unique.approve', [{Substrate: bob.address}, collectionId, tokenId, 0]));
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: bob.address})).to.be.false;
- const transferTokenFromTx = () => helper.nft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: bob.address}, {Substrate: bob.address});
- await expect(transferTokenFromTx()).to.be.rejected;
- });
+ itSub.ifWithPallets('[refungible] Approve using the address that does not own the approved token', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(alice), pieces: 100n});
+ const approveTx = () => (helper.rft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address});
+ await expect(approveTx()).to.be.rejected;
+ });
- itSub('Fungible', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, alice.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- await helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- const amountBefore = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountBefore).to.be.equal(BigInt(1));
+ itSub.ifWithPallets('should fail if approved more ReFungibles than owned', [Pallets.ReFungible], async ({helper}) => {
+ const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
+ await helper.rft.transferToken(alice, collectionId, tokenId, testCase.account(bob), 100n);
+ await (helper.rft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address}, 100n);
- await helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
- const amountAfter = await helper.ft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountAfter).to.be.equal(BigInt(0));
+ const approveTx = () => (helper.rft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address}, 101n);
+ await expect(approveTx()).to.be.rejected;
+ });
- const transferTokenFromTx = () => helper.ft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: bob.address}, {Substrate: charlie.address}, 1n);
- await expect(transferTokenFromTx()).to.be.rejected;
- });
+ itSub('should fail if approved more Fungibles than owned', async ({helper}) => {
+ const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ await helper.ft.mintTokens(alice, collectionId, 10n, alice.address);
+ const tokenId = await helper.ft.getLastTokenId(collectionId);
- itSub.ifWithPallets('ReFungible', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
- await helper.rft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address});
- const amountBefore = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountBefore).to.be.equal(BigInt(1));
+ await helper.ft.transferToken(alice, collectionId, tokenId, testCase.account(bob), 10n);
+ await (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address}, 10n);
+ const approveTx = () => (helper.ft as any)[testCase.method](bob, collectionId, tokenId, {Substrate: alice.address}, 11n);
+ await expect(approveTx()).to.be.rejected;
+ });
- await helper.rft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 0n);
- const amountAfter = await helper.rft.getTokenApprovedPieces(collectionId, tokenId, {Substrate: bob.address}, {Substrate: alice.address});
- expect(amountAfter).to.be.equal(BigInt(0));
+ itSub('fails when called by collection owner on non-owned item when OwnerCanTransfer == false', async ({helper}) => {
+ const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
+ const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: testCase.account(bob)});
+ await helper.collection.setLimits(alice, collectionId, {ownerCanTransfer: false});
- const transferTokenFromTx = () => helper.rft.transferTokenFrom(bob, collectionId, tokenId, {Substrate: bob.address}, {Substrate: charlie.address}, 100n);
- await expect(transferTokenFromTx()).to.be.rejected;
+ const approveTx = () => (helper.nft as any)[testCase.method](alice, collectionId, tokenId, {Substrate: charlie.address});
+ await expect(approveTx()).to.be.rejected;
+ });
});
});
-describe('User cannot approve for the amount greater than they own:', () => {
+describe('Normal user can approve other users to be wallet operator:', () => {
let alice: IKeyringPair;
let bob: IKeyringPair;
- let charlie: IKeyringPair;
before(async () => {
await usingPlaygrounds(async (helper, privateKey) => {
const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
+ [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor);
});
});
- itSub('1 for NFT', async ({helper}) => {
+ itSub('[nft] Enable and disable approval', async ({helper}) => {
const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: bob.address});
- const approveTx = () => helper.signTransaction(bob, helper.constructApiCall('api.tx.unique.approve', [{Substrate: charlie.address}, collectionId, tokenId, 2]));
- await expect(approveTx()).to.be.rejected;
- expect(await helper.nft.isTokenApproved(collectionId, tokenId, {Substrate: charlie.address})).to.be.false;
- });
- itSub('Fungible', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'}, 0);
- await helper.ft.mintTokens(alice, collectionId, 10n, alice.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- const approveTx = () => helper.ft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 11n);
- await expect(approveTx()).to.be.rejected;
+ const checkBeforeApproval = await helper.nft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(checkBeforeApproval).to.be.false;
+
+ await helper.nft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, true);
+ const checkAfterApproval = await helper.nft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(checkAfterApproval).to.be.true;
+
+ await helper.nft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, false);
+ const checkAfterDisapproval = await helper.nft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(checkAfterDisapproval).to.be.false;
});
- itSub.ifWithPallets('ReFungible', [Pallets.ReFungible], async ({helper}) => {
+ 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 {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
- const approveTx = () => helper.rft.approveToken(alice, collectionId, tokenId, {Substrate: bob.address}, 101n);
- await expect(approveTx()).to.be.rejected;
+
+ const checkBeforeApproval = await helper.rft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(checkBeforeApproval).to.be.false;
+
+ await helper.rft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, true);
+ const checkAfterApproval = await helper.rft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(checkAfterApproval).to.be.true;
+
+ await helper.rft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, false);
+ const checkAfterDisapproval = await helper.rft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
+ expect(checkAfterDisapproval).to.be.false;
});
});
@@ -464,184 +649,5 @@
await token.approve(dave, {Substrate: bob.address}, 50n);
await expect(token.approve(dave, {Substrate: charlie.address}, 51n))
.to.be.rejectedWith('this test would fail (since it is skipped), replace this expecting message with what would have been received');
- });
-});
-
-describe('Integration Test approve(spender, collection_id, item_id, amount) with collection admin permissions:', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
-
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
- });
- });
-
- itSub('can be called by collection admin on non-owned item', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: alice.address});
- await helper.collection.addAdmin(alice, collectionId, {Substrate: bob.address});
- const approveTx = () => helper.nft.approveToken(bob, collectionId, tokenId, {Substrate: charlie.address});
- await expect(approveTx()).to.be.rejected;
- });
-});
-
-describe('Negative Integration Test approve(spender, collection_id, item_id, amount):', () => {
- let alice: IKeyringPair;
- let bob: IKeyringPair;
- let charlie: IKeyringPair;
-
- before(async () => {
- await usingPlaygrounds(async (helper, privateKey) => {
- const donor = await privateKey({filename: __filename});
- [alice, bob, charlie] = await helper.arrange.createAccounts([100n, 100n, 100n], donor);
- });
- });
-
- itSub('[nft] Approve for a collection that does not exist', async ({helper}) => {
- const collectionId = 1 << 32 - 1;
- const approveTx = () => helper.nft.approveToken(bob, collectionId, 1, {Substrate: charlie.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('[fungible] Approve for a collection that does not exist', async ({helper}) => {
- const collectionId = 1 << 32 - 1;
- const approveTx = () => helper.ft.approveToken(bob, collectionId, 1, {Substrate: charlie.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub.ifWithPallets('[refungible] Approve for a collection that does not exist', [Pallets.ReFungible], async ({helper}) => {
- const collectionId = 1 << 32 - 1;
- const approveTx = () => helper.rft.approveToken(bob, collectionId, 1, {Substrate: charlie.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('[nft] Approve for a collection that was destroyed', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- await helper.nft.burn(alice, collectionId);
- const approveTx = () => helper.nft.approveToken(alice, collectionId, 1, {Substrate: bob.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('[fungible] Approve for a collection that was destroyed', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- await helper.ft.burn(alice, collectionId);
- const approveTx = () => helper.ft.approveToken(alice, collectionId, 1, {Substrate: bob.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub.ifWithPallets('[refungible] Approve for a collection that was destroyed', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- await helper.rft.burn(alice, collectionId);
- const approveTx = () => helper.rft.approveToken(alice, collectionId, 1, {Substrate: bob.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('[nft] Approve transfer of a token that does not exist', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const approveTx = () => helper.nft.approveToken(alice, collectionId, 2, {Substrate: bob.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub.ifWithPallets('[refungible] Approve transfer of a token that does not exist', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const approveTx = () => helper.rft.approveToken(alice, collectionId, 2, {Substrate: bob.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('[nft] Approve using the address that does not own the approved token', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: alice.address});
- const approveTx = () => helper.nft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('[fungible] Approve using the address that does not own the approved token', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- await helper.ft.mintTokens(alice, collectionId, 10n, alice.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
- const approveTx = () => helper.ft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub.ifWithPallets('[refungible] Approve using the address that does not own the approved token', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
- const approveTx = () => helper.rft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address});
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub.ifWithPallets('should fail if approved more ReFungibles than owned', [Pallets.ReFungible], async ({helper}) => {
- const {collectionId} = await helper.rft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.rft.mintToken(alice, {collectionId: collectionId, owner: alice.address, pieces: 100n});
- await helper.rft.transferToken(alice, collectionId, tokenId, {Substrate: bob.address}, 100n);
- await helper.rft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address}, 100n);
-
- const approveTx = () => helper.rft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address}, 101n);
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('should fail if approved more Fungibles than owned', async ({helper}) => {
- const {collectionId} = await helper.ft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- await helper.ft.mintTokens(alice, collectionId, 10n, alice.address);
- const tokenId = await helper.ft.getLastTokenId(collectionId);
-
- await helper.ft.transferToken(alice, collectionId, tokenId, {Substrate: bob.address}, 10n);
- await helper.ft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address}, 10n);
- const approveTx = () => helper.ft.approveToken(bob, collectionId, tokenId, {Substrate: alice.address}, 11n);
- await expect(approveTx()).to.be.rejected;
- });
-
- itSub('fails when called by collection owner on non-owned item when OwnerCanTransfer == false', async ({helper}) => {
- const {collectionId} = await helper.nft.mintCollection(alice, {name: 'col', description: 'descr', tokenPrefix: 'COL'});
- const {tokenId} = await helper.nft.mintToken(alice, {collectionId: collectionId, owner: bob.address});
- await helper.collection.setLimits(alice, collectionId, {ownerCanTransfer: false});
-
- const approveTx = () => helper.nft.approveToken(alice, collectionId, tokenId, {Substrate: charlie.address});
- 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'});
-
- const checkBeforeApproval = await helper.nft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
- expect(checkBeforeApproval).to.be.false;
-
- await helper.nft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, true);
- const checkAfterApproval = await helper.nft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
- expect(checkAfterApproval).to.be.true;
-
- await helper.nft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, false);
- const checkAfterDisapproval = await helper.nft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
- expect(checkAfterDisapproval).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 checkBeforeApproval = await helper.rft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
- expect(checkBeforeApproval).to.be.false;
-
- await helper.rft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, true);
- const checkAfterApproval = await helper.rft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
- expect(checkAfterApproval).to.be.true;
-
- await helper.rft.setAllowanceForAll(alice, collectionId, {Substrate: bob.address}, false);
- const checkAfterDisapproval = await helper.rft.allowanceForAll(collectionId, {Substrate: alice.address}, {Substrate: bob.address});
- expect(checkAfterDisapproval).to.be.false;
});
});
tests/src/eth/api/ContractHelpers.soldiffbeforeafterboth--- a/tests/src/eth/api/ContractHelpers.sol
+++ b/tests/src/eth/api/ContractHelpers.sol
@@ -183,9 +183,9 @@
/// Ethereum representation of Optional value with CrossAddress.
struct OptionCrossAddress {
- /// TODO: field description
+ /// Whether or not this CrossAdress is valid and has meaning.
bool status;
- /// TODO: field description
+ /// The underlying CrossAddress value. If the status is false, can be set to whatever.
CrossAddress value;
}
tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -85,6 +85,10 @@
**/
AccountTokenLimitExceeded: AugmentedError<ApiType>;
/**
+ * Only spending from eth mirror could be approved
+ **/
+ AddressIsNotEthMirror: AugmentedError<ApiType>;
+ /**
* Can't transfer tokens to ethereum zero address
**/
AddressIsZero: AugmentedError<ApiType>;
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -1214,6 +1214,25 @@
**/
approve: AugmentedSubmittable<(spender: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
/**
+ * Allow a non-permissioned address to transfer or burn an item from owner's eth mirror.
+ *
+ * # Permissions
+ *
+ * * Collection owner
+ * * Collection admin
+ * * Current item owner
+ *
+ * # Arguments
+ *
+ * * `from`: Owner's account eth mirror
+ * * `to`: Account to be approved to make specific transactions on non-owned tokens.
+ * * `collection_id`: ID of the collection the item belongs to.
+ * * `item_id`: ID of the item transactions on which are now approved.
+ * * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
+ * Set to 0 to revoke the approval.
+ **/
+ approveFrom: AugmentedSubmittable<(from: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, to: PalletEvmAccountBasicCrossAccountIdRepr | { Substrate: any } | { Ethereum: any } | string | Uint8Array, collectionId: u32 | AnyNumber | Uint8Array, itemId: u32 | AnyNumber | Uint8Array, amount: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u32, u32, u128]>;
+ /**
* Destroy a token on behalf of the owner as a non-owner account.
*
* See also: [`approve`][`Pallet::approve`].
tests/src/interfaces/default/types.tsdiffbeforeafterboth--- a/tests/src/interfaces/default/types.ts
+++ b/tests/src/interfaces/default/types.ts
@@ -1216,6 +1216,7 @@
readonly isTokenValueTooLow: boolean;
readonly isApprovedValueTooLow: boolean;
readonly isCantApproveMoreThanOwned: boolean;
+ readonly isAddressIsNotEthMirror: boolean;
readonly isAddressIsZero: boolean;
readonly isUnsupportedOperation: boolean;
readonly isNotSufficientFounds: boolean;
@@ -1231,7 +1232,7 @@
readonly isCollectionIsInternal: boolean;
readonly isConfirmSponsorshipFail: boolean;
readonly isUserIsNotCollectionAdmin: boolean;
- readonly type: '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' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
+ readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsNotEthMirror' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';
}
/** @name PalletCommonEvent */
@@ -2306,6 +2307,14 @@
readonly itemId: u32;
readonly amount: u128;
} & Struct;
+ readonly isApproveFrom: boolean;
+ readonly asApproveFrom: {
+ readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
+ readonly to: PalletEvmAccountBasicCrossAccountIdRepr;
+ readonly collectionId: u32;
+ readonly itemId: u32;
+ readonly amount: u128;
+ } & Struct;
readonly isTransferFrom: boolean;
readonly asTransferFrom: {
readonly from: PalletEvmAccountBasicCrossAccountIdRepr;
@@ -2345,7 +2354,7 @@
readonly collectionId: u32;
readonly itemId: u32;
} & 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' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
+ 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' | 'ApproveFrom' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';
}
/** @name PalletUniqueError */
tests/src/interfaces/lookup.tsdiffbeforeafterboth--- a/tests/src/interfaces/lookup.ts
+++ b/tests/src/interfaces/lookup.ts
@@ -2264,6 +2264,13 @@
itemId: 'u32',
amount: 'u128',
},
+ approve_from: {
+ from: 'PalletEvmAccountBasicCrossAccountIdRepr',
+ to: 'PalletEvmAccountBasicCrossAccountIdRepr',
+ collectionId: 'u32',
+ itemId: 'u32',
+ amount: 'u128',
+ },
transfer_from: {
from: 'PalletEvmAccountBasicCrossAccountIdRepr',
recipient: 'PalletEvmAccountBasicCrossAccountIdRepr',
@@ -3280,7 +3287,7 @@
* Lookup423: pallet_common::pallet::Error<T>
**/
PalletCommonError: {
- _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', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']
+ _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsNotEthMirror', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin']
},
/**
* Lookup425: pallet_fungible::pallet::Error<T>
tests/src/interfaces/types-lookup.tsdiffbeforeafterboth1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';9import type { ITuple } from '@polkadot/types-codec/types';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';11import type { Event } from '@polkadot/types/interfaces/system';1213declare module '@polkadot/types/lookup' {14 /** @name FrameSystemAccountInfo (3) */15 interface FrameSystemAccountInfo extends Struct {16 readonly nonce: u32;17 readonly consumers: u32;18 readonly providers: u32;19 readonly sufficients: u32;20 readonly data: PalletBalancesAccountData;21 }2223 /** @name PalletBalancesAccountData (5) */24 interface PalletBalancesAccountData extends Struct {25 readonly free: u128;26 readonly reserved: u128;27 readonly miscFrozen: u128;28 readonly feeFrozen: u128;29 }3031 /** @name FrameSupportDispatchPerDispatchClassWeight (7) */32 interface FrameSupportDispatchPerDispatchClassWeight extends Struct {33 readonly normal: SpWeightsWeightV2Weight;34 readonly operational: SpWeightsWeightV2Weight;35 readonly mandatory: SpWeightsWeightV2Weight;36 }3738 /** @name SpWeightsWeightV2Weight (8) */39 interface SpWeightsWeightV2Weight extends Struct {40 readonly refTime: Compact<u64>;41 readonly proofSize: Compact<u64>;42 }4344 /** @name SpRuntimeDigest (13) */45 interface SpRuntimeDigest extends Struct {46 readonly logs: Vec<SpRuntimeDigestDigestItem>;47 }4849 /** @name SpRuntimeDigestDigestItem (15) */50 interface SpRuntimeDigestDigestItem extends Enum {51 readonly isOther: boolean;52 readonly asOther: Bytes;53 readonly isConsensus: boolean;54 readonly asConsensus: ITuple<[U8aFixed, Bytes]>;55 readonly isSeal: boolean;56 readonly asSeal: ITuple<[U8aFixed, Bytes]>;57 readonly isPreRuntime: boolean;58 readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;59 readonly isRuntimeEnvironmentUpdated: boolean;60 readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';61 }6263 /** @name FrameSystemEventRecord (18) */64 interface FrameSystemEventRecord extends Struct {65 readonly phase: FrameSystemPhase;66 readonly event: Event;67 readonly topics: Vec<H256>;68 }6970 /** @name FrameSystemEvent (20) */71 interface FrameSystemEvent extends Enum {72 readonly isExtrinsicSuccess: boolean;73 readonly asExtrinsicSuccess: {74 readonly dispatchInfo: FrameSupportDispatchDispatchInfo;75 } & Struct;76 readonly isExtrinsicFailed: boolean;77 readonly asExtrinsicFailed: {78 readonly dispatchError: SpRuntimeDispatchError;79 readonly dispatchInfo: FrameSupportDispatchDispatchInfo;80 } & Struct;81 readonly isCodeUpdated: boolean;82 readonly isNewAccount: boolean;83 readonly asNewAccount: {84 readonly account: AccountId32;85 } & Struct;86 readonly isKilledAccount: boolean;87 readonly asKilledAccount: {88 readonly account: AccountId32;89 } & Struct;90 readonly isRemarked: boolean;91 readonly asRemarked: {92 readonly sender: AccountId32;93 readonly hash_: H256;94 } & Struct;95 readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';96 }9798 /** @name FrameSupportDispatchDispatchInfo (21) */99 interface FrameSupportDispatchDispatchInfo extends Struct {100 readonly weight: SpWeightsWeightV2Weight;101 readonly class: FrameSupportDispatchDispatchClass;102 readonly paysFee: FrameSupportDispatchPays;103 }104105 /** @name FrameSupportDispatchDispatchClass (22) */106 interface FrameSupportDispatchDispatchClass extends Enum {107 readonly isNormal: boolean;108 readonly isOperational: boolean;109 readonly isMandatory: boolean;110 readonly type: 'Normal' | 'Operational' | 'Mandatory';111 }112113 /** @name FrameSupportDispatchPays (23) */114 interface FrameSupportDispatchPays extends Enum {115 readonly isYes: boolean;116 readonly isNo: boolean;117 readonly type: 'Yes' | 'No';118 }119120 /** @name SpRuntimeDispatchError (24) */121 interface SpRuntimeDispatchError extends Enum {122 readonly isOther: boolean;123 readonly isCannotLookup: boolean;124 readonly isBadOrigin: boolean;125 readonly isModule: boolean;126 readonly asModule: SpRuntimeModuleError;127 readonly isConsumerRemaining: boolean;128 readonly isNoProviders: boolean;129 readonly isTooManyConsumers: boolean;130 readonly isToken: boolean;131 readonly asToken: SpRuntimeTokenError;132 readonly isArithmetic: boolean;133 readonly asArithmetic: SpRuntimeArithmeticError;134 readonly isTransactional: boolean;135 readonly asTransactional: SpRuntimeTransactionalError;136 readonly isExhausted: boolean;137 readonly isCorruption: boolean;138 readonly isUnavailable: boolean;139 readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';140 }141142 /** @name SpRuntimeModuleError (25) */143 interface SpRuntimeModuleError extends Struct {144 readonly index: u8;145 readonly error: U8aFixed;146 }147148 /** @name SpRuntimeTokenError (26) */149 interface SpRuntimeTokenError extends Enum {150 readonly isNoFunds: boolean;151 readonly isWouldDie: boolean;152 readonly isBelowMinimum: boolean;153 readonly isCannotCreate: boolean;154 readonly isUnknownAsset: boolean;155 readonly isFrozen: boolean;156 readonly isUnsupported: boolean;157 readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';158 }159160 /** @name SpRuntimeArithmeticError (27) */161 interface SpRuntimeArithmeticError extends Enum {162 readonly isUnderflow: boolean;163 readonly isOverflow: boolean;164 readonly isDivisionByZero: boolean;165 readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';166 }167168 /** @name SpRuntimeTransactionalError (28) */169 interface SpRuntimeTransactionalError extends Enum {170 readonly isLimitReached: boolean;171 readonly isNoLayer: boolean;172 readonly type: 'LimitReached' | 'NoLayer';173 }174175 /** @name CumulusPalletParachainSystemEvent (29) */176 interface CumulusPalletParachainSystemEvent extends Enum {177 readonly isValidationFunctionStored: boolean;178 readonly isValidationFunctionApplied: boolean;179 readonly asValidationFunctionApplied: {180 readonly relayChainBlockNum: u32;181 } & Struct;182 readonly isValidationFunctionDiscarded: boolean;183 readonly isUpgradeAuthorized: boolean;184 readonly asUpgradeAuthorized: {185 readonly codeHash: H256;186 } & Struct;187 readonly isDownwardMessagesReceived: boolean;188 readonly asDownwardMessagesReceived: {189 readonly count: u32;190 } & Struct;191 readonly isDownwardMessagesProcessed: boolean;192 readonly asDownwardMessagesProcessed: {193 readonly weightUsed: SpWeightsWeightV2Weight;194 readonly dmqHead: H256;195 } & Struct;196 readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';197 }198199 /** @name PalletBalancesEvent (30) */200 interface PalletBalancesEvent extends Enum {201 readonly isEndowed: boolean;202 readonly asEndowed: {203 readonly account: AccountId32;204 readonly freeBalance: u128;205 } & Struct;206 readonly isDustLost: boolean;207 readonly asDustLost: {208 readonly account: AccountId32;209 readonly amount: u128;210 } & Struct;211 readonly isTransfer: boolean;212 readonly asTransfer: {213 readonly from: AccountId32;214 readonly to: AccountId32;215 readonly amount: u128;216 } & Struct;217 readonly isBalanceSet: boolean;218 readonly asBalanceSet: {219 readonly who: AccountId32;220 readonly free: u128;221 readonly reserved: u128;222 } & Struct;223 readonly isReserved: boolean;224 readonly asReserved: {225 readonly who: AccountId32;226 readonly amount: u128;227 } & Struct;228 readonly isUnreserved: boolean;229 readonly asUnreserved: {230 readonly who: AccountId32;231 readonly amount: u128;232 } & Struct;233 readonly isReserveRepatriated: boolean;234 readonly asReserveRepatriated: {235 readonly from: AccountId32;236 readonly to: AccountId32;237 readonly amount: u128;238 readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;239 } & Struct;240 readonly isDeposit: boolean;241 readonly asDeposit: {242 readonly who: AccountId32;243 readonly amount: u128;244 } & Struct;245 readonly isWithdraw: boolean;246 readonly asWithdraw: {247 readonly who: AccountId32;248 readonly amount: u128;249 } & Struct;250 readonly isSlashed: boolean;251 readonly asSlashed: {252 readonly who: AccountId32;253 readonly amount: u128;254 } & Struct;255 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';256 }257258 /** @name FrameSupportTokensMiscBalanceStatus (31) */259 interface FrameSupportTokensMiscBalanceStatus extends Enum {260 readonly isFree: boolean;261 readonly isReserved: boolean;262 readonly type: 'Free' | 'Reserved';263 }264265 /** @name PalletTransactionPaymentEvent (32) */266 interface PalletTransactionPaymentEvent extends Enum {267 readonly isTransactionFeePaid: boolean;268 readonly asTransactionFeePaid: {269 readonly who: AccountId32;270 readonly actualFee: u128;271 readonly tip: u128;272 } & Struct;273 readonly type: 'TransactionFeePaid';274 }275276 /** @name PalletTreasuryEvent (33) */277 interface PalletTreasuryEvent extends Enum {278 readonly isProposed: boolean;279 readonly asProposed: {280 readonly proposalIndex: u32;281 } & Struct;282 readonly isSpending: boolean;283 readonly asSpending: {284 readonly budgetRemaining: u128;285 } & Struct;286 readonly isAwarded: boolean;287 readonly asAwarded: {288 readonly proposalIndex: u32;289 readonly award: u128;290 readonly account: AccountId32;291 } & Struct;292 readonly isRejected: boolean;293 readonly asRejected: {294 readonly proposalIndex: u32;295 readonly slashed: u128;296 } & Struct;297 readonly isBurnt: boolean;298 readonly asBurnt: {299 readonly burntFunds: u128;300 } & Struct;301 readonly isRollover: boolean;302 readonly asRollover: {303 readonly rolloverBalance: u128;304 } & Struct;305 readonly isDeposit: boolean;306 readonly asDeposit: {307 readonly value: u128;308 } & Struct;309 readonly isSpendApproved: boolean;310 readonly asSpendApproved: {311 readonly proposalIndex: u32;312 readonly amount: u128;313 readonly beneficiary: AccountId32;314 } & Struct;315 readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';316 }317318 /** @name PalletSudoEvent (34) */319 interface PalletSudoEvent extends Enum {320 readonly isSudid: boolean;321 readonly asSudid: {322 readonly sudoResult: Result<Null, SpRuntimeDispatchError>;323 } & Struct;324 readonly isKeyChanged: boolean;325 readonly asKeyChanged: {326 readonly oldSudoer: Option<AccountId32>;327 } & Struct;328 readonly isSudoAsDone: boolean;329 readonly asSudoAsDone: {330 readonly sudoResult: Result<Null, SpRuntimeDispatchError>;331 } & Struct;332 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';333 }334335 /** @name OrmlVestingModuleEvent (38) */336 interface OrmlVestingModuleEvent extends Enum {337 readonly isVestingScheduleAdded: boolean;338 readonly asVestingScheduleAdded: {339 readonly from: AccountId32;340 readonly to: AccountId32;341 readonly vestingSchedule: OrmlVestingVestingSchedule;342 } & Struct;343 readonly isClaimed: boolean;344 readonly asClaimed: {345 readonly who: AccountId32;346 readonly amount: u128;347 } & Struct;348 readonly isVestingSchedulesUpdated: boolean;349 readonly asVestingSchedulesUpdated: {350 readonly who: AccountId32;351 } & Struct;352 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';353 }354355 /** @name OrmlVestingVestingSchedule (39) */356 interface OrmlVestingVestingSchedule extends Struct {357 readonly start: u32;358 readonly period: u32;359 readonly periodCount: u32;360 readonly perPeriod: Compact<u128>;361 }362363 /** @name OrmlXtokensModuleEvent (41) */364 interface OrmlXtokensModuleEvent extends Enum {365 readonly isTransferredMultiAssets: boolean;366 readonly asTransferredMultiAssets: {367 readonly sender: AccountId32;368 readonly assets: XcmV1MultiassetMultiAssets;369 readonly fee: XcmV1MultiAsset;370 readonly dest: XcmV1MultiLocation;371 } & Struct;372 readonly type: 'TransferredMultiAssets';373 }374375 /** @name XcmV1MultiassetMultiAssets (42) */376 interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}377378 /** @name XcmV1MultiAsset (44) */379 interface XcmV1MultiAsset extends Struct {380 readonly id: XcmV1MultiassetAssetId;381 readonly fun: XcmV1MultiassetFungibility;382 }383384 /** @name XcmV1MultiassetAssetId (45) */385 interface XcmV1MultiassetAssetId extends Enum {386 readonly isConcrete: boolean;387 readonly asConcrete: XcmV1MultiLocation;388 readonly isAbstract: boolean;389 readonly asAbstract: Bytes;390 readonly type: 'Concrete' | 'Abstract';391 }392393 /** @name XcmV1MultiLocation (46) */394 interface XcmV1MultiLocation extends Struct {395 readonly parents: u8;396 readonly interior: XcmV1MultilocationJunctions;397 }398399 /** @name XcmV1MultilocationJunctions (47) */400 interface XcmV1MultilocationJunctions extends Enum {401 readonly isHere: boolean;402 readonly isX1: boolean;403 readonly asX1: XcmV1Junction;404 readonly isX2: boolean;405 readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;406 readonly isX3: boolean;407 readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;408 readonly isX4: boolean;409 readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;410 readonly isX5: boolean;411 readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;412 readonly isX6: boolean;413 readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;414 readonly isX7: boolean;415 readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;416 readonly isX8: boolean;417 readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;418 readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';419 }420421 /** @name XcmV1Junction (48) */422 interface XcmV1Junction extends Enum {423 readonly isParachain: boolean;424 readonly asParachain: Compact<u32>;425 readonly isAccountId32: boolean;426 readonly asAccountId32: {427 readonly network: XcmV0JunctionNetworkId;428 readonly id: U8aFixed;429 } & Struct;430 readonly isAccountIndex64: boolean;431 readonly asAccountIndex64: {432 readonly network: XcmV0JunctionNetworkId;433 readonly index: Compact<u64>;434 } & Struct;435 readonly isAccountKey20: boolean;436 readonly asAccountKey20: {437 readonly network: XcmV0JunctionNetworkId;438 readonly key: U8aFixed;439 } & Struct;440 readonly isPalletInstance: boolean;441 readonly asPalletInstance: u8;442 readonly isGeneralIndex: boolean;443 readonly asGeneralIndex: Compact<u128>;444 readonly isGeneralKey: boolean;445 readonly asGeneralKey: Bytes;446 readonly isOnlyChild: boolean;447 readonly isPlurality: boolean;448 readonly asPlurality: {449 readonly id: XcmV0JunctionBodyId;450 readonly part: XcmV0JunctionBodyPart;451 } & Struct;452 readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';453 }454455 /** @name XcmV0JunctionNetworkId (50) */456 interface XcmV0JunctionNetworkId extends Enum {457 readonly isAny: boolean;458 readonly isNamed: boolean;459 readonly asNamed: Bytes;460 readonly isPolkadot: boolean;461 readonly isKusama: boolean;462 readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';463 }464465 /** @name XcmV0JunctionBodyId (53) */466 interface XcmV0JunctionBodyId extends Enum {467 readonly isUnit: boolean;468 readonly isNamed: boolean;469 readonly asNamed: Bytes;470 readonly isIndex: boolean;471 readonly asIndex: Compact<u32>;472 readonly isExecutive: boolean;473 readonly isTechnical: boolean;474 readonly isLegislative: boolean;475 readonly isJudicial: boolean;476 readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';477 }478479 /** @name XcmV0JunctionBodyPart (54) */480 interface XcmV0JunctionBodyPart extends Enum {481 readonly isVoice: boolean;482 readonly isMembers: boolean;483 readonly asMembers: {484 readonly count: Compact<u32>;485 } & Struct;486 readonly isFraction: boolean;487 readonly asFraction: {488 readonly nom: Compact<u32>;489 readonly denom: Compact<u32>;490 } & Struct;491 readonly isAtLeastProportion: boolean;492 readonly asAtLeastProportion: {493 readonly nom: Compact<u32>;494 readonly denom: Compact<u32>;495 } & Struct;496 readonly isMoreThanProportion: boolean;497 readonly asMoreThanProportion: {498 readonly nom: Compact<u32>;499 readonly denom: Compact<u32>;500 } & Struct;501 readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';502 }503504 /** @name XcmV1MultiassetFungibility (55) */505 interface XcmV1MultiassetFungibility extends Enum {506 readonly isFungible: boolean;507 readonly asFungible: Compact<u128>;508 readonly isNonFungible: boolean;509 readonly asNonFungible: XcmV1MultiassetAssetInstance;510 readonly type: 'Fungible' | 'NonFungible';511 }512513 /** @name XcmV1MultiassetAssetInstance (56) */514 interface XcmV1MultiassetAssetInstance extends Enum {515 readonly isUndefined: boolean;516 readonly isIndex: boolean;517 readonly asIndex: Compact<u128>;518 readonly isArray4: boolean;519 readonly asArray4: U8aFixed;520 readonly isArray8: boolean;521 readonly asArray8: U8aFixed;522 readonly isArray16: boolean;523 readonly asArray16: U8aFixed;524 readonly isArray32: boolean;525 readonly asArray32: U8aFixed;526 readonly isBlob: boolean;527 readonly asBlob: Bytes;528 readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';529 }530531 /** @name OrmlTokensModuleEvent (59) */532 interface OrmlTokensModuleEvent extends Enum {533 readonly isEndowed: boolean;534 readonly asEndowed: {535 readonly currencyId: PalletForeignAssetsAssetIds;536 readonly who: AccountId32;537 readonly amount: u128;538 } & Struct;539 readonly isDustLost: boolean;540 readonly asDustLost: {541 readonly currencyId: PalletForeignAssetsAssetIds;542 readonly who: AccountId32;543 readonly amount: u128;544 } & Struct;545 readonly isTransfer: boolean;546 readonly asTransfer: {547 readonly currencyId: PalletForeignAssetsAssetIds;548 readonly from: AccountId32;549 readonly to: AccountId32;550 readonly amount: u128;551 } & Struct;552 readonly isReserved: boolean;553 readonly asReserved: {554 readonly currencyId: PalletForeignAssetsAssetIds;555 readonly who: AccountId32;556 readonly amount: u128;557 } & Struct;558 readonly isUnreserved: boolean;559 readonly asUnreserved: {560 readonly currencyId: PalletForeignAssetsAssetIds;561 readonly who: AccountId32;562 readonly amount: u128;563 } & Struct;564 readonly isReserveRepatriated: boolean;565 readonly asReserveRepatriated: {566 readonly currencyId: PalletForeignAssetsAssetIds;567 readonly from: AccountId32;568 readonly to: AccountId32;569 readonly amount: u128;570 readonly status: FrameSupportTokensMiscBalanceStatus;571 } & Struct;572 readonly isBalanceSet: boolean;573 readonly asBalanceSet: {574 readonly currencyId: PalletForeignAssetsAssetIds;575 readonly who: AccountId32;576 readonly free: u128;577 readonly reserved: u128;578 } & Struct;579 readonly isTotalIssuanceSet: boolean;580 readonly asTotalIssuanceSet: {581 readonly currencyId: PalletForeignAssetsAssetIds;582 readonly amount: u128;583 } & Struct;584 readonly isWithdrawn: boolean;585 readonly asWithdrawn: {586 readonly currencyId: PalletForeignAssetsAssetIds;587 readonly who: AccountId32;588 readonly amount: u128;589 } & Struct;590 readonly isSlashed: boolean;591 readonly asSlashed: {592 readonly currencyId: PalletForeignAssetsAssetIds;593 readonly who: AccountId32;594 readonly freeAmount: u128;595 readonly reservedAmount: u128;596 } & Struct;597 readonly isDeposited: boolean;598 readonly asDeposited: {599 readonly currencyId: PalletForeignAssetsAssetIds;600 readonly who: AccountId32;601 readonly amount: u128;602 } & Struct;603 readonly isLockSet: boolean;604 readonly asLockSet: {605 readonly lockId: U8aFixed;606 readonly currencyId: PalletForeignAssetsAssetIds;607 readonly who: AccountId32;608 readonly amount: u128;609 } & Struct;610 readonly isLockRemoved: boolean;611 readonly asLockRemoved: {612 readonly lockId: U8aFixed;613 readonly currencyId: PalletForeignAssetsAssetIds;614 readonly who: AccountId32;615 } & Struct;616 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';617 }618619 /** @name PalletForeignAssetsAssetIds (60) */620 interface PalletForeignAssetsAssetIds extends Enum {621 readonly isForeignAssetId: boolean;622 readonly asForeignAssetId: u32;623 readonly isNativeAssetId: boolean;624 readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;625 readonly type: 'ForeignAssetId' | 'NativeAssetId';626 }627628 /** @name PalletForeignAssetsNativeCurrency (61) */629 interface PalletForeignAssetsNativeCurrency extends Enum {630 readonly isHere: boolean;631 readonly isParent: boolean;632 readonly type: 'Here' | 'Parent';633 }634635 /** @name CumulusPalletXcmpQueueEvent (62) */636 interface CumulusPalletXcmpQueueEvent extends Enum {637 readonly isSuccess: boolean;638 readonly asSuccess: {639 readonly messageHash: Option<H256>;640 readonly weight: SpWeightsWeightV2Weight;641 } & Struct;642 readonly isFail: boolean;643 readonly asFail: {644 readonly messageHash: Option<H256>;645 readonly error: XcmV2TraitsError;646 readonly weight: SpWeightsWeightV2Weight;647 } & Struct;648 readonly isBadVersion: boolean;649 readonly asBadVersion: {650 readonly messageHash: Option<H256>;651 } & Struct;652 readonly isBadFormat: boolean;653 readonly asBadFormat: {654 readonly messageHash: Option<H256>;655 } & Struct;656 readonly isUpwardMessageSent: boolean;657 readonly asUpwardMessageSent: {658 readonly messageHash: Option<H256>;659 } & Struct;660 readonly isXcmpMessageSent: boolean;661 readonly asXcmpMessageSent: {662 readonly messageHash: Option<H256>;663 } & Struct;664 readonly isOverweightEnqueued: boolean;665 readonly asOverweightEnqueued: {666 readonly sender: u32;667 readonly sentAt: u32;668 readonly index: u64;669 readonly required: SpWeightsWeightV2Weight;670 } & Struct;671 readonly isOverweightServiced: boolean;672 readonly asOverweightServiced: {673 readonly index: u64;674 readonly used: SpWeightsWeightV2Weight;675 } & Struct;676 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';677 }678679 /** @name XcmV2TraitsError (64) */680 interface XcmV2TraitsError extends Enum {681 readonly isOverflow: boolean;682 readonly isUnimplemented: boolean;683 readonly isUntrustedReserveLocation: boolean;684 readonly isUntrustedTeleportLocation: boolean;685 readonly isMultiLocationFull: boolean;686 readonly isMultiLocationNotInvertible: boolean;687 readonly isBadOrigin: boolean;688 readonly isInvalidLocation: boolean;689 readonly isAssetNotFound: boolean;690 readonly isFailedToTransactAsset: boolean;691 readonly isNotWithdrawable: boolean;692 readonly isLocationCannotHold: boolean;693 readonly isExceedsMaxMessageSize: boolean;694 readonly isDestinationUnsupported: boolean;695 readonly isTransport: boolean;696 readonly isUnroutable: boolean;697 readonly isUnknownClaim: boolean;698 readonly isFailedToDecode: boolean;699 readonly isMaxWeightInvalid: boolean;700 readonly isNotHoldingFees: boolean;701 readonly isTooExpensive: boolean;702 readonly isTrap: boolean;703 readonly asTrap: u64;704 readonly isUnhandledXcmVersion: boolean;705 readonly isWeightLimitReached: boolean;706 readonly asWeightLimitReached: u64;707 readonly isBarrier: boolean;708 readonly isWeightNotComputable: boolean;709 readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';710 }711712 /** @name PalletXcmEvent (66) */713 interface PalletXcmEvent extends Enum {714 readonly isAttempted: boolean;715 readonly asAttempted: XcmV2TraitsOutcome;716 readonly isSent: boolean;717 readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;718 readonly isUnexpectedResponse: boolean;719 readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;720 readonly isResponseReady: boolean;721 readonly asResponseReady: ITuple<[u64, XcmV2Response]>;722 readonly isNotified: boolean;723 readonly asNotified: ITuple<[u64, u8, u8]>;724 readonly isNotifyOverweight: boolean;725 readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>;726 readonly isNotifyDispatchError: boolean;727 readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;728 readonly isNotifyDecodeFailed: boolean;729 readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;730 readonly isInvalidResponder: boolean;731 readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;732 readonly isInvalidResponderVersion: boolean;733 readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;734 readonly isResponseTaken: boolean;735 readonly asResponseTaken: u64;736 readonly isAssetsTrapped: boolean;737 readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;738 readonly isVersionChangeNotified: boolean;739 readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;740 readonly isSupportedVersionChanged: boolean;741 readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;742 readonly isNotifyTargetSendFail: boolean;743 readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;744 readonly isNotifyTargetMigrationFail: boolean;745 readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;746 readonly isAssetsClaimed: boolean;747 readonly asAssetsClaimed: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;748 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';749 }750751 /** @name XcmV2TraitsOutcome (67) */752 interface XcmV2TraitsOutcome extends Enum {753 readonly isComplete: boolean;754 readonly asComplete: u64;755 readonly isIncomplete: boolean;756 readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;757 readonly isError: boolean;758 readonly asError: XcmV2TraitsError;759 readonly type: 'Complete' | 'Incomplete' | 'Error';760 }761762 /** @name XcmV2Xcm (68) */763 interface XcmV2Xcm extends Vec<XcmV2Instruction> {}764765 /** @name XcmV2Instruction (70) */766 interface XcmV2Instruction extends Enum {767 readonly isWithdrawAsset: boolean;768 readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;769 readonly isReserveAssetDeposited: boolean;770 readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;771 readonly isReceiveTeleportedAsset: boolean;772 readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;773 readonly isQueryResponse: boolean;774 readonly asQueryResponse: {775 readonly queryId: Compact<u64>;776 readonly response: XcmV2Response;777 readonly maxWeight: Compact<u64>;778 } & Struct;779 readonly isTransferAsset: boolean;780 readonly asTransferAsset: {781 readonly assets: XcmV1MultiassetMultiAssets;782 readonly beneficiary: XcmV1MultiLocation;783 } & Struct;784 readonly isTransferReserveAsset: boolean;785 readonly asTransferReserveAsset: {786 readonly assets: XcmV1MultiassetMultiAssets;787 readonly dest: XcmV1MultiLocation;788 readonly xcm: XcmV2Xcm;789 } & Struct;790 readonly isTransact: boolean;791 readonly asTransact: {792 readonly originType: XcmV0OriginKind;793 readonly requireWeightAtMost: Compact<u64>;794 readonly call: XcmDoubleEncoded;795 } & Struct;796 readonly isHrmpNewChannelOpenRequest: boolean;797 readonly asHrmpNewChannelOpenRequest: {798 readonly sender: Compact<u32>;799 readonly maxMessageSize: Compact<u32>;800 readonly maxCapacity: Compact<u32>;801 } & Struct;802 readonly isHrmpChannelAccepted: boolean;803 readonly asHrmpChannelAccepted: {804 readonly recipient: Compact<u32>;805 } & Struct;806 readonly isHrmpChannelClosing: boolean;807 readonly asHrmpChannelClosing: {808 readonly initiator: Compact<u32>;809 readonly sender: Compact<u32>;810 readonly recipient: Compact<u32>;811 } & Struct;812 readonly isClearOrigin: boolean;813 readonly isDescendOrigin: boolean;814 readonly asDescendOrigin: XcmV1MultilocationJunctions;815 readonly isReportError: boolean;816 readonly asReportError: {817 readonly queryId: Compact<u64>;818 readonly dest: XcmV1MultiLocation;819 readonly maxResponseWeight: Compact<u64>;820 } & Struct;821 readonly isDepositAsset: boolean;822 readonly asDepositAsset: {823 readonly assets: XcmV1MultiassetMultiAssetFilter;824 readonly maxAssets: Compact<u32>;825 readonly beneficiary: XcmV1MultiLocation;826 } & Struct;827 readonly isDepositReserveAsset: boolean;828 readonly asDepositReserveAsset: {829 readonly assets: XcmV1MultiassetMultiAssetFilter;830 readonly maxAssets: Compact<u32>;831 readonly dest: XcmV1MultiLocation;832 readonly xcm: XcmV2Xcm;833 } & Struct;834 readonly isExchangeAsset: boolean;835 readonly asExchangeAsset: {836 readonly give: XcmV1MultiassetMultiAssetFilter;837 readonly receive: XcmV1MultiassetMultiAssets;838 } & Struct;839 readonly isInitiateReserveWithdraw: boolean;840 readonly asInitiateReserveWithdraw: {841 readonly assets: XcmV1MultiassetMultiAssetFilter;842 readonly reserve: XcmV1MultiLocation;843 readonly xcm: XcmV2Xcm;844 } & Struct;845 readonly isInitiateTeleport: boolean;846 readonly asInitiateTeleport: {847 readonly assets: XcmV1MultiassetMultiAssetFilter;848 readonly dest: XcmV1MultiLocation;849 readonly xcm: XcmV2Xcm;850 } & Struct;851 readonly isQueryHolding: boolean;852 readonly asQueryHolding: {853 readonly queryId: Compact<u64>;854 readonly dest: XcmV1MultiLocation;855 readonly assets: XcmV1MultiassetMultiAssetFilter;856 readonly maxResponseWeight: Compact<u64>;857 } & Struct;858 readonly isBuyExecution: boolean;859 readonly asBuyExecution: {860 readonly fees: XcmV1MultiAsset;861 readonly weightLimit: XcmV2WeightLimit;862 } & Struct;863 readonly isRefundSurplus: boolean;864 readonly isSetErrorHandler: boolean;865 readonly asSetErrorHandler: XcmV2Xcm;866 readonly isSetAppendix: boolean;867 readonly asSetAppendix: XcmV2Xcm;868 readonly isClearError: boolean;869 readonly isClaimAsset: boolean;870 readonly asClaimAsset: {871 readonly assets: XcmV1MultiassetMultiAssets;872 readonly ticket: XcmV1MultiLocation;873 } & Struct;874 readonly isTrap: boolean;875 readonly asTrap: Compact<u64>;876 readonly isSubscribeVersion: boolean;877 readonly asSubscribeVersion: {878 readonly queryId: Compact<u64>;879 readonly maxResponseWeight: Compact<u64>;880 } & Struct;881 readonly isUnsubscribeVersion: boolean;882 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';883 }884885 /** @name XcmV2Response (71) */886 interface XcmV2Response extends Enum {887 readonly isNull: boolean;888 readonly isAssets: boolean;889 readonly asAssets: XcmV1MultiassetMultiAssets;890 readonly isExecutionResult: boolean;891 readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;892 readonly isVersion: boolean;893 readonly asVersion: u32;894 readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';895 }896897 /** @name XcmV0OriginKind (74) */898 interface XcmV0OriginKind extends Enum {899 readonly isNative: boolean;900 readonly isSovereignAccount: boolean;901 readonly isSuperuser: boolean;902 readonly isXcm: boolean;903 readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';904 }905906 /** @name XcmDoubleEncoded (75) */907 interface XcmDoubleEncoded extends Struct {908 readonly encoded: Bytes;909 }910911 /** @name XcmV1MultiassetMultiAssetFilter (76) */912 interface XcmV1MultiassetMultiAssetFilter extends Enum {913 readonly isDefinite: boolean;914 readonly asDefinite: XcmV1MultiassetMultiAssets;915 readonly isWild: boolean;916 readonly asWild: XcmV1MultiassetWildMultiAsset;917 readonly type: 'Definite' | 'Wild';918 }919920 /** @name XcmV1MultiassetWildMultiAsset (77) */921 interface XcmV1MultiassetWildMultiAsset extends Enum {922 readonly isAll: boolean;923 readonly isAllOf: boolean;924 readonly asAllOf: {925 readonly id: XcmV1MultiassetAssetId;926 readonly fun: XcmV1MultiassetWildFungibility;927 } & Struct;928 readonly type: 'All' | 'AllOf';929 }930931 /** @name XcmV1MultiassetWildFungibility (78) */932 interface XcmV1MultiassetWildFungibility extends Enum {933 readonly isFungible: boolean;934 readonly isNonFungible: boolean;935 readonly type: 'Fungible' | 'NonFungible';936 }937938 /** @name XcmV2WeightLimit (79) */939 interface XcmV2WeightLimit extends Enum {940 readonly isUnlimited: boolean;941 readonly isLimited: boolean;942 readonly asLimited: Compact<u64>;943 readonly type: 'Unlimited' | 'Limited';944 }945946 /** @name XcmVersionedMultiAssets (81) */947 interface XcmVersionedMultiAssets extends Enum {948 readonly isV0: boolean;949 readonly asV0: Vec<XcmV0MultiAsset>;950 readonly isV1: boolean;951 readonly asV1: XcmV1MultiassetMultiAssets;952 readonly type: 'V0' | 'V1';953 }954955 /** @name XcmV0MultiAsset (83) */956 interface XcmV0MultiAsset extends Enum {957 readonly isNone: boolean;958 readonly isAll: boolean;959 readonly isAllFungible: boolean;960 readonly isAllNonFungible: boolean;961 readonly isAllAbstractFungible: boolean;962 readonly asAllAbstractFungible: {963 readonly id: Bytes;964 } & Struct;965 readonly isAllAbstractNonFungible: boolean;966 readonly asAllAbstractNonFungible: {967 readonly class: Bytes;968 } & Struct;969 readonly isAllConcreteFungible: boolean;970 readonly asAllConcreteFungible: {971 readonly id: XcmV0MultiLocation;972 } & Struct;973 readonly isAllConcreteNonFungible: boolean;974 readonly asAllConcreteNonFungible: {975 readonly class: XcmV0MultiLocation;976 } & Struct;977 readonly isAbstractFungible: boolean;978 readonly asAbstractFungible: {979 readonly id: Bytes;980 readonly amount: Compact<u128>;981 } & Struct;982 readonly isAbstractNonFungible: boolean;983 readonly asAbstractNonFungible: {984 readonly class: Bytes;985 readonly instance: XcmV1MultiassetAssetInstance;986 } & Struct;987 readonly isConcreteFungible: boolean;988 readonly asConcreteFungible: {989 readonly id: XcmV0MultiLocation;990 readonly amount: Compact<u128>;991 } & Struct;992 readonly isConcreteNonFungible: boolean;993 readonly asConcreteNonFungible: {994 readonly class: XcmV0MultiLocation;995 readonly instance: XcmV1MultiassetAssetInstance;996 } & Struct;997 readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';998 }9991000 /** @name XcmV0MultiLocation (84) */1001 interface XcmV0MultiLocation extends Enum {1002 readonly isNull: boolean;1003 readonly isX1: boolean;1004 readonly asX1: XcmV0Junction;1005 readonly isX2: boolean;1006 readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;1007 readonly isX3: boolean;1008 readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1009 readonly isX4: boolean;1010 readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1011 readonly isX5: boolean;1012 readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1013 readonly isX6: boolean;1014 readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1015 readonly isX7: boolean;1016 readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1017 readonly isX8: boolean;1018 readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1019 readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1020 }10211022 /** @name XcmV0Junction (85) */1023 interface XcmV0Junction extends Enum {1024 readonly isParent: boolean;1025 readonly isParachain: boolean;1026 readonly asParachain: Compact<u32>;1027 readonly isAccountId32: boolean;1028 readonly asAccountId32: {1029 readonly network: XcmV0JunctionNetworkId;1030 readonly id: U8aFixed;1031 } & Struct;1032 readonly isAccountIndex64: boolean;1033 readonly asAccountIndex64: {1034 readonly network: XcmV0JunctionNetworkId;1035 readonly index: Compact<u64>;1036 } & Struct;1037 readonly isAccountKey20: boolean;1038 readonly asAccountKey20: {1039 readonly network: XcmV0JunctionNetworkId;1040 readonly key: U8aFixed;1041 } & Struct;1042 readonly isPalletInstance: boolean;1043 readonly asPalletInstance: u8;1044 readonly isGeneralIndex: boolean;1045 readonly asGeneralIndex: Compact<u128>;1046 readonly isGeneralKey: boolean;1047 readonly asGeneralKey: Bytes;1048 readonly isOnlyChild: boolean;1049 readonly isPlurality: boolean;1050 readonly asPlurality: {1051 readonly id: XcmV0JunctionBodyId;1052 readonly part: XcmV0JunctionBodyPart;1053 } & Struct;1054 readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1055 }10561057 /** @name XcmVersionedMultiLocation (86) */1058 interface XcmVersionedMultiLocation extends Enum {1059 readonly isV0: boolean;1060 readonly asV0: XcmV0MultiLocation;1061 readonly isV1: boolean;1062 readonly asV1: XcmV1MultiLocation;1063 readonly type: 'V0' | 'V1';1064 }10651066 /** @name CumulusPalletXcmEvent (87) */1067 interface CumulusPalletXcmEvent extends Enum {1068 readonly isInvalidFormat: boolean;1069 readonly asInvalidFormat: U8aFixed;1070 readonly isUnsupportedVersion: boolean;1071 readonly asUnsupportedVersion: U8aFixed;1072 readonly isExecutedDownward: boolean;1073 readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;1074 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1075 }10761077 /** @name CumulusPalletDmpQueueEvent (88) */1078 interface CumulusPalletDmpQueueEvent extends Enum {1079 readonly isInvalidFormat: boolean;1080 readonly asInvalidFormat: {1081 readonly messageId: U8aFixed;1082 } & Struct;1083 readonly isUnsupportedVersion: boolean;1084 readonly asUnsupportedVersion: {1085 readonly messageId: U8aFixed;1086 } & Struct;1087 readonly isExecutedDownward: boolean;1088 readonly asExecutedDownward: {1089 readonly messageId: U8aFixed;1090 readonly outcome: XcmV2TraitsOutcome;1091 } & Struct;1092 readonly isWeightExhausted: boolean;1093 readonly asWeightExhausted: {1094 readonly messageId: U8aFixed;1095 readonly remainingWeight: SpWeightsWeightV2Weight;1096 readonly requiredWeight: SpWeightsWeightV2Weight;1097 } & Struct;1098 readonly isOverweightEnqueued: boolean;1099 readonly asOverweightEnqueued: {1100 readonly messageId: U8aFixed;1101 readonly overweightIndex: u64;1102 readonly requiredWeight: SpWeightsWeightV2Weight;1103 } & Struct;1104 readonly isOverweightServiced: boolean;1105 readonly asOverweightServiced: {1106 readonly overweightIndex: u64;1107 readonly weightUsed: SpWeightsWeightV2Weight;1108 } & Struct;1109 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';1110 }11111112 /** @name PalletConfigurationEvent (89) */1113 interface PalletConfigurationEvent extends Enum {1114 readonly isNewDesiredCollators: boolean;1115 readonly asNewDesiredCollators: {1116 readonly desiredCollators: Option<u32>;1117 } & Struct;1118 readonly isNewCollatorLicenseBond: boolean;1119 readonly asNewCollatorLicenseBond: {1120 readonly bondCost: Option<u128>;1121 } & Struct;1122 readonly isNewCollatorKickThreshold: boolean;1123 readonly asNewCollatorKickThreshold: {1124 readonly lengthInBlocks: Option<u32>;1125 } & Struct;1126 readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';1127 }11281129 /** @name PalletCommonEvent (92) */1130 interface PalletCommonEvent extends Enum {1131 readonly isCollectionCreated: boolean;1132 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1133 readonly isCollectionDestroyed: boolean;1134 readonly asCollectionDestroyed: u32;1135 readonly isItemCreated: boolean;1136 readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1137 readonly isItemDestroyed: boolean;1138 readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1139 readonly isTransfer: boolean;1140 readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1141 readonly isApproved: boolean;1142 readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1143 readonly isApprovedForAll: boolean;1144 readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;1145 readonly isCollectionPropertySet: boolean;1146 readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1147 readonly isCollectionPropertyDeleted: boolean;1148 readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1149 readonly isTokenPropertySet: boolean;1150 readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1151 readonly isTokenPropertyDeleted: boolean;1152 readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1153 readonly isPropertyPermissionSet: boolean;1154 readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1155 readonly isAllowListAddressAdded: boolean;1156 readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1157 readonly isAllowListAddressRemoved: boolean;1158 readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1159 readonly isCollectionAdminAdded: boolean;1160 readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1161 readonly isCollectionAdminRemoved: boolean;1162 readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1163 readonly isCollectionLimitSet: boolean;1164 readonly asCollectionLimitSet: u32;1165 readonly isCollectionOwnerChanged: boolean;1166 readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>;1167 readonly isCollectionPermissionSet: boolean;1168 readonly asCollectionPermissionSet: u32;1169 readonly isCollectionSponsorSet: boolean;1170 readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1171 readonly isSponsorshipConfirmed: boolean;1172 readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1173 readonly isCollectionSponsorRemoved: boolean;1174 readonly asCollectionSponsorRemoved: u32;1175 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';1176 }11771178 /** @name PalletEvmAccountBasicCrossAccountIdRepr (95) */1179 interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1180 readonly isSubstrate: boolean;1181 readonly asSubstrate: AccountId32;1182 readonly isEthereum: boolean;1183 readonly asEthereum: H160;1184 readonly type: 'Substrate' | 'Ethereum';1185 }11861187 /** @name PalletStructureEvent (99) */1188 interface PalletStructureEvent extends Enum {1189 readonly isExecuted: boolean;1190 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1191 readonly type: 'Executed';1192 }11931194 /** @name PalletRmrkCoreEvent (100) */1195 interface PalletRmrkCoreEvent extends Enum {1196 readonly isCollectionCreated: boolean;1197 readonly asCollectionCreated: {1198 readonly issuer: AccountId32;1199 readonly collectionId: u32;1200 } & Struct;1201 readonly isCollectionDestroyed: boolean;1202 readonly asCollectionDestroyed: {1203 readonly issuer: AccountId32;1204 readonly collectionId: u32;1205 } & Struct;1206 readonly isIssuerChanged: boolean;1207 readonly asIssuerChanged: {1208 readonly oldIssuer: AccountId32;1209 readonly newIssuer: AccountId32;1210 readonly collectionId: u32;1211 } & Struct;1212 readonly isCollectionLocked: boolean;1213 readonly asCollectionLocked: {1214 readonly issuer: AccountId32;1215 readonly collectionId: u32;1216 } & Struct;1217 readonly isNftMinted: boolean;1218 readonly asNftMinted: {1219 readonly owner: AccountId32;1220 readonly collectionId: u32;1221 readonly nftId: u32;1222 } & Struct;1223 readonly isNftBurned: boolean;1224 readonly asNftBurned: {1225 readonly owner: AccountId32;1226 readonly nftId: u32;1227 } & Struct;1228 readonly isNftSent: boolean;1229 readonly asNftSent: {1230 readonly sender: AccountId32;1231 readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1232 readonly collectionId: u32;1233 readonly nftId: u32;1234 readonly approvalRequired: bool;1235 } & Struct;1236 readonly isNftAccepted: boolean;1237 readonly asNftAccepted: {1238 readonly sender: AccountId32;1239 readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1240 readonly collectionId: u32;1241 readonly nftId: u32;1242 } & Struct;1243 readonly isNftRejected: boolean;1244 readonly asNftRejected: {1245 readonly sender: AccountId32;1246 readonly collectionId: u32;1247 readonly nftId: u32;1248 } & Struct;1249 readonly isPropertySet: boolean;1250 readonly asPropertySet: {1251 readonly collectionId: u32;1252 readonly maybeNftId: Option<u32>;1253 readonly key: Bytes;1254 readonly value: Bytes;1255 } & Struct;1256 readonly isResourceAdded: boolean;1257 readonly asResourceAdded: {1258 readonly nftId: u32;1259 readonly resourceId: u32;1260 } & Struct;1261 readonly isResourceRemoval: boolean;1262 readonly asResourceRemoval: {1263 readonly nftId: u32;1264 readonly resourceId: u32;1265 } & Struct;1266 readonly isResourceAccepted: boolean;1267 readonly asResourceAccepted: {1268 readonly nftId: u32;1269 readonly resourceId: u32;1270 } & Struct;1271 readonly isResourceRemovalAccepted: boolean;1272 readonly asResourceRemovalAccepted: {1273 readonly nftId: u32;1274 readonly resourceId: u32;1275 } & Struct;1276 readonly isPrioritySet: boolean;1277 readonly asPrioritySet: {1278 readonly collectionId: u32;1279 readonly nftId: u32;1280 } & Struct;1281 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1282 }12831284 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (101) */1285 interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1286 readonly isAccountId: boolean;1287 readonly asAccountId: AccountId32;1288 readonly isCollectionAndNftTuple: boolean;1289 readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1290 readonly type: 'AccountId' | 'CollectionAndNftTuple';1291 }12921293 /** @name PalletRmrkEquipEvent (104) */1294 interface PalletRmrkEquipEvent extends Enum {1295 readonly isBaseCreated: boolean;1296 readonly asBaseCreated: {1297 readonly issuer: AccountId32;1298 readonly baseId: u32;1299 } & Struct;1300 readonly isEquippablesUpdated: boolean;1301 readonly asEquippablesUpdated: {1302 readonly baseId: u32;1303 readonly slotId: u32;1304 } & Struct;1305 readonly type: 'BaseCreated' | 'EquippablesUpdated';1306 }13071308 /** @name PalletAppPromotionEvent (105) */1309 interface PalletAppPromotionEvent extends Enum {1310 readonly isStakingRecalculation: boolean;1311 readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1312 readonly isStake: boolean;1313 readonly asStake: ITuple<[AccountId32, u128]>;1314 readonly isUnstake: boolean;1315 readonly asUnstake: ITuple<[AccountId32, u128]>;1316 readonly isSetAdmin: boolean;1317 readonly asSetAdmin: AccountId32;1318 readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1319 }13201321 /** @name PalletForeignAssetsModuleEvent (106) */1322 interface PalletForeignAssetsModuleEvent extends Enum {1323 readonly isForeignAssetRegistered: boolean;1324 readonly asForeignAssetRegistered: {1325 readonly assetId: u32;1326 readonly assetAddress: XcmV1MultiLocation;1327 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1328 } & Struct;1329 readonly isForeignAssetUpdated: boolean;1330 readonly asForeignAssetUpdated: {1331 readonly assetId: u32;1332 readonly assetAddress: XcmV1MultiLocation;1333 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1334 } & Struct;1335 readonly isAssetRegistered: boolean;1336 readonly asAssetRegistered: {1337 readonly assetId: PalletForeignAssetsAssetIds;1338 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1339 } & Struct;1340 readonly isAssetUpdated: boolean;1341 readonly asAssetUpdated: {1342 readonly assetId: PalletForeignAssetsAssetIds;1343 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1344 } & Struct;1345 readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1346 }13471348 /** @name PalletForeignAssetsModuleAssetMetadata (107) */1349 interface PalletForeignAssetsModuleAssetMetadata extends Struct {1350 readonly name: Bytes;1351 readonly symbol: Bytes;1352 readonly decimals: u8;1353 readonly minimalBalance: u128;1354 }13551356 /** @name PalletEvmEvent (108) */1357 interface PalletEvmEvent extends Enum {1358 readonly isLog: boolean;1359 readonly asLog: {1360 readonly log: EthereumLog;1361 } & Struct;1362 readonly isCreated: boolean;1363 readonly asCreated: {1364 readonly address: H160;1365 } & Struct;1366 readonly isCreatedFailed: boolean;1367 readonly asCreatedFailed: {1368 readonly address: H160;1369 } & Struct;1370 readonly isExecuted: boolean;1371 readonly asExecuted: {1372 readonly address: H160;1373 } & Struct;1374 readonly isExecutedFailed: boolean;1375 readonly asExecutedFailed: {1376 readonly address: H160;1377 } & Struct;1378 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';1379 }13801381 /** @name EthereumLog (109) */1382 interface EthereumLog extends Struct {1383 readonly address: H160;1384 readonly topics: Vec<H256>;1385 readonly data: Bytes;1386 }13871388 /** @name PalletEthereumEvent (111) */1389 interface PalletEthereumEvent extends Enum {1390 readonly isExecuted: boolean;1391 readonly asExecuted: {1392 readonly from: H160;1393 readonly to: H160;1394 readonly transactionHash: H256;1395 readonly exitReason: EvmCoreErrorExitReason;1396 } & Struct;1397 readonly type: 'Executed';1398 }13991400 /** @name EvmCoreErrorExitReason (112) */1401 interface EvmCoreErrorExitReason extends Enum {1402 readonly isSucceed: boolean;1403 readonly asSucceed: EvmCoreErrorExitSucceed;1404 readonly isError: boolean;1405 readonly asError: EvmCoreErrorExitError;1406 readonly isRevert: boolean;1407 readonly asRevert: EvmCoreErrorExitRevert;1408 readonly isFatal: boolean;1409 readonly asFatal: EvmCoreErrorExitFatal;1410 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1411 }14121413 /** @name EvmCoreErrorExitSucceed (113) */1414 interface EvmCoreErrorExitSucceed extends Enum {1415 readonly isStopped: boolean;1416 readonly isReturned: boolean;1417 readonly isSuicided: boolean;1418 readonly type: 'Stopped' | 'Returned' | 'Suicided';1419 }14201421 /** @name EvmCoreErrorExitError (114) */1422 interface EvmCoreErrorExitError extends Enum {1423 readonly isStackUnderflow: boolean;1424 readonly isStackOverflow: boolean;1425 readonly isInvalidJump: boolean;1426 readonly isInvalidRange: boolean;1427 readonly isDesignatedInvalid: boolean;1428 readonly isCallTooDeep: boolean;1429 readonly isCreateCollision: boolean;1430 readonly isCreateContractLimit: boolean;1431 readonly isOutOfOffset: boolean;1432 readonly isOutOfGas: boolean;1433 readonly isOutOfFund: boolean;1434 readonly isPcUnderflow: boolean;1435 readonly isCreateEmpty: boolean;1436 readonly isOther: boolean;1437 readonly asOther: Text;1438 readonly isInvalidCode: boolean;1439 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1440 }14411442 /** @name EvmCoreErrorExitRevert (117) */1443 interface EvmCoreErrorExitRevert extends Enum {1444 readonly isReverted: boolean;1445 readonly type: 'Reverted';1446 }14471448 /** @name EvmCoreErrorExitFatal (118) */1449 interface EvmCoreErrorExitFatal extends Enum {1450 readonly isNotSupported: boolean;1451 readonly isUnhandledInterrupt: boolean;1452 readonly isCallErrorAsFatal: boolean;1453 readonly asCallErrorAsFatal: EvmCoreErrorExitError;1454 readonly isOther: boolean;1455 readonly asOther: Text;1456 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1457 }14581459 /** @name PalletEvmContractHelpersEvent (119) */1460 interface PalletEvmContractHelpersEvent extends Enum {1461 readonly isContractSponsorSet: boolean;1462 readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1463 readonly isContractSponsorshipConfirmed: boolean;1464 readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1465 readonly isContractSponsorRemoved: boolean;1466 readonly asContractSponsorRemoved: H160;1467 readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1468 }14691470 /** @name PalletEvmMigrationEvent (120) */1471 interface PalletEvmMigrationEvent extends Enum {1472 readonly isTestEvent: boolean;1473 readonly type: 'TestEvent';1474 }14751476 /** @name PalletMaintenanceEvent (121) */1477 interface PalletMaintenanceEvent extends Enum {1478 readonly isMaintenanceEnabled: boolean;1479 readonly isMaintenanceDisabled: boolean;1480 readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';1481 }14821483 /** @name PalletTestUtilsEvent (122) */1484 interface PalletTestUtilsEvent extends Enum {1485 readonly isValueIsSet: boolean;1486 readonly isShouldRollback: boolean;1487 readonly isBatchCompleted: boolean;1488 readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';1489 }14901491 /** @name FrameSystemPhase (123) */1492 interface FrameSystemPhase extends Enum {1493 readonly isApplyExtrinsic: boolean;1494 readonly asApplyExtrinsic: u32;1495 readonly isFinalization: boolean;1496 readonly isInitialization: boolean;1497 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1498 }14991500 /** @name FrameSystemLastRuntimeUpgradeInfo (126) */1501 interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1502 readonly specVersion: Compact<u32>;1503 readonly specName: Text;1504 }15051506 /** @name FrameSystemCall (127) */1507 interface FrameSystemCall extends Enum {1508 readonly isRemark: boolean;1509 readonly asRemark: {1510 readonly remark: Bytes;1511 } & Struct;1512 readonly isSetHeapPages: boolean;1513 readonly asSetHeapPages: {1514 readonly pages: u64;1515 } & Struct;1516 readonly isSetCode: boolean;1517 readonly asSetCode: {1518 readonly code: Bytes;1519 } & Struct;1520 readonly isSetCodeWithoutChecks: boolean;1521 readonly asSetCodeWithoutChecks: {1522 readonly code: Bytes;1523 } & Struct;1524 readonly isSetStorage: boolean;1525 readonly asSetStorage: {1526 readonly items: Vec<ITuple<[Bytes, Bytes]>>;1527 } & Struct;1528 readonly isKillStorage: boolean;1529 readonly asKillStorage: {1530 readonly keys_: Vec<Bytes>;1531 } & Struct;1532 readonly isKillPrefix: boolean;1533 readonly asKillPrefix: {1534 readonly prefix: Bytes;1535 readonly subkeys: u32;1536 } & Struct;1537 readonly isRemarkWithEvent: boolean;1538 readonly asRemarkWithEvent: {1539 readonly remark: Bytes;1540 } & Struct;1541 readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1542 }15431544 /** @name FrameSystemLimitsBlockWeights (131) */1545 interface FrameSystemLimitsBlockWeights extends Struct {1546 readonly baseBlock: SpWeightsWeightV2Weight;1547 readonly maxBlock: SpWeightsWeightV2Weight;1548 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1549 }15501551 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (132) */1552 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1553 readonly normal: FrameSystemLimitsWeightsPerClass;1554 readonly operational: FrameSystemLimitsWeightsPerClass;1555 readonly mandatory: FrameSystemLimitsWeightsPerClass;1556 }15571558 /** @name FrameSystemLimitsWeightsPerClass (133) */1559 interface FrameSystemLimitsWeightsPerClass extends Struct {1560 readonly baseExtrinsic: SpWeightsWeightV2Weight;1561 readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;1562 readonly maxTotal: Option<SpWeightsWeightV2Weight>;1563 readonly reserved: Option<SpWeightsWeightV2Weight>;1564 }15651566 /** @name FrameSystemLimitsBlockLength (135) */1567 interface FrameSystemLimitsBlockLength extends Struct {1568 readonly max: FrameSupportDispatchPerDispatchClassU32;1569 }15701571 /** @name FrameSupportDispatchPerDispatchClassU32 (136) */1572 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1573 readonly normal: u32;1574 readonly operational: u32;1575 readonly mandatory: u32;1576 }15771578 /** @name SpWeightsRuntimeDbWeight (137) */1579 interface SpWeightsRuntimeDbWeight extends Struct {1580 readonly read: u64;1581 readonly write: u64;1582 }15831584 /** @name SpVersionRuntimeVersion (138) */1585 interface SpVersionRuntimeVersion extends Struct {1586 readonly specName: Text;1587 readonly implName: Text;1588 readonly authoringVersion: u32;1589 readonly specVersion: u32;1590 readonly implVersion: u32;1591 readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1592 readonly transactionVersion: u32;1593 readonly stateVersion: u8;1594 }15951596 /** @name FrameSystemError (143) */1597 interface FrameSystemError extends Enum {1598 readonly isInvalidSpecName: boolean;1599 readonly isSpecVersionNeedsToIncrease: boolean;1600 readonly isFailedToExtractRuntimeVersion: boolean;1601 readonly isNonDefaultComposite: boolean;1602 readonly isNonZeroRefCount: boolean;1603 readonly isCallFiltered: boolean;1604 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1605 }16061607 /** @name PolkadotPrimitivesV2PersistedValidationData (144) */1608 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1609 readonly parentHead: Bytes;1610 readonly relayParentNumber: u32;1611 readonly relayParentStorageRoot: H256;1612 readonly maxPovSize: u32;1613 }16141615 /** @name PolkadotPrimitivesV2UpgradeRestriction (147) */1616 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1617 readonly isPresent: boolean;1618 readonly type: 'Present';1619 }16201621 /** @name SpTrieStorageProof (148) */1622 interface SpTrieStorageProof extends Struct {1623 readonly trieNodes: BTreeSet<Bytes>;1624 }16251626 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (150) */1627 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1628 readonly dmqMqcHead: H256;1629 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1630 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1631 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1632 }16331634 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (153) */1635 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1636 readonly maxCapacity: u32;1637 readonly maxTotalSize: u32;1638 readonly maxMessageSize: u32;1639 readonly msgCount: u32;1640 readonly totalSize: u32;1641 readonly mqcHead: Option<H256>;1642 }16431644 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (154) */1645 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1646 readonly maxCodeSize: u32;1647 readonly maxHeadDataSize: u32;1648 readonly maxUpwardQueueCount: u32;1649 readonly maxUpwardQueueSize: u32;1650 readonly maxUpwardMessageSize: u32;1651 readonly maxUpwardMessageNumPerCandidate: u32;1652 readonly hrmpMaxMessageNumPerCandidate: u32;1653 readonly validationUpgradeCooldown: u32;1654 readonly validationUpgradeDelay: u32;1655 }16561657 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (160) */1658 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1659 readonly recipient: u32;1660 readonly data: Bytes;1661 }16621663 /** @name CumulusPalletParachainSystemCall (161) */1664 interface CumulusPalletParachainSystemCall extends Enum {1665 readonly isSetValidationData: boolean;1666 readonly asSetValidationData: {1667 readonly data: CumulusPrimitivesParachainInherentParachainInherentData;1668 } & Struct;1669 readonly isSudoSendUpwardMessage: boolean;1670 readonly asSudoSendUpwardMessage: {1671 readonly message: Bytes;1672 } & Struct;1673 readonly isAuthorizeUpgrade: boolean;1674 readonly asAuthorizeUpgrade: {1675 readonly codeHash: H256;1676 } & Struct;1677 readonly isEnactAuthorizedUpgrade: boolean;1678 readonly asEnactAuthorizedUpgrade: {1679 readonly code: Bytes;1680 } & Struct;1681 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1682 }16831684 /** @name CumulusPrimitivesParachainInherentParachainInherentData (162) */1685 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1686 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1687 readonly relayChainState: SpTrieStorageProof;1688 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1689 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1690 }16911692 /** @name PolkadotCorePrimitivesInboundDownwardMessage (164) */1693 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1694 readonly sentAt: u32;1695 readonly msg: Bytes;1696 }16971698 /** @name PolkadotCorePrimitivesInboundHrmpMessage (167) */1699 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1700 readonly sentAt: u32;1701 readonly data: Bytes;1702 }17031704 /** @name CumulusPalletParachainSystemError (170) */1705 interface CumulusPalletParachainSystemError extends Enum {1706 readonly isOverlappingUpgrades: boolean;1707 readonly isProhibitedByPolkadot: boolean;1708 readonly isTooBig: boolean;1709 readonly isValidationDataNotAvailable: boolean;1710 readonly isHostConfigurationNotAvailable: boolean;1711 readonly isNotScheduled: boolean;1712 readonly isNothingAuthorized: boolean;1713 readonly isUnauthorized: boolean;1714 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1715 }17161717 /** @name PalletBalancesBalanceLock (172) */1718 interface PalletBalancesBalanceLock extends Struct {1719 readonly id: U8aFixed;1720 readonly amount: u128;1721 readonly reasons: PalletBalancesReasons;1722 }17231724 /** @name PalletBalancesReasons (173) */1725 interface PalletBalancesReasons extends Enum {1726 readonly isFee: boolean;1727 readonly isMisc: boolean;1728 readonly isAll: boolean;1729 readonly type: 'Fee' | 'Misc' | 'All';1730 }17311732 /** @name PalletBalancesReserveData (176) */1733 interface PalletBalancesReserveData extends Struct {1734 readonly id: U8aFixed;1735 readonly amount: u128;1736 }17371738 /** @name PalletBalancesCall (178) */1739 interface PalletBalancesCall extends Enum {1740 readonly isTransfer: boolean;1741 readonly asTransfer: {1742 readonly dest: MultiAddress;1743 readonly value: Compact<u128>;1744 } & Struct;1745 readonly isSetBalance: boolean;1746 readonly asSetBalance: {1747 readonly who: MultiAddress;1748 readonly newFree: Compact<u128>;1749 readonly newReserved: Compact<u128>;1750 } & Struct;1751 readonly isForceTransfer: boolean;1752 readonly asForceTransfer: {1753 readonly source: MultiAddress;1754 readonly dest: MultiAddress;1755 readonly value: Compact<u128>;1756 } & Struct;1757 readonly isTransferKeepAlive: boolean;1758 readonly asTransferKeepAlive: {1759 readonly dest: MultiAddress;1760 readonly value: Compact<u128>;1761 } & Struct;1762 readonly isTransferAll: boolean;1763 readonly asTransferAll: {1764 readonly dest: MultiAddress;1765 readonly keepAlive: bool;1766 } & Struct;1767 readonly isForceUnreserve: boolean;1768 readonly asForceUnreserve: {1769 readonly who: MultiAddress;1770 readonly amount: u128;1771 } & Struct;1772 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1773 }17741775 /** @name PalletBalancesError (181) */1776 interface PalletBalancesError extends Enum {1777 readonly isVestingBalance: boolean;1778 readonly isLiquidityRestrictions: boolean;1779 readonly isInsufficientBalance: boolean;1780 readonly isExistentialDeposit: boolean;1781 readonly isKeepAlive: boolean;1782 readonly isExistingVestingSchedule: boolean;1783 readonly isDeadAccount: boolean;1784 readonly isTooManyReserves: boolean;1785 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1786 }17871788 /** @name PalletTimestampCall (183) */1789 interface PalletTimestampCall extends Enum {1790 readonly isSet: boolean;1791 readonly asSet: {1792 readonly now: Compact<u64>;1793 } & Struct;1794 readonly type: 'Set';1795 }17961797 /** @name PalletTransactionPaymentReleases (185) */1798 interface PalletTransactionPaymentReleases extends Enum {1799 readonly isV1Ancient: boolean;1800 readonly isV2: boolean;1801 readonly type: 'V1Ancient' | 'V2';1802 }18031804 /** @name PalletTreasuryProposal (186) */1805 interface PalletTreasuryProposal extends Struct {1806 readonly proposer: AccountId32;1807 readonly value: u128;1808 readonly beneficiary: AccountId32;1809 readonly bond: u128;1810 }18111812 /** @name PalletTreasuryCall (189) */1813 interface PalletTreasuryCall extends Enum {1814 readonly isProposeSpend: boolean;1815 readonly asProposeSpend: {1816 readonly value: Compact<u128>;1817 readonly beneficiary: MultiAddress;1818 } & Struct;1819 readonly isRejectProposal: boolean;1820 readonly asRejectProposal: {1821 readonly proposalId: Compact<u32>;1822 } & Struct;1823 readonly isApproveProposal: boolean;1824 readonly asApproveProposal: {1825 readonly proposalId: Compact<u32>;1826 } & Struct;1827 readonly isSpend: boolean;1828 readonly asSpend: {1829 readonly amount: Compact<u128>;1830 readonly beneficiary: MultiAddress;1831 } & Struct;1832 readonly isRemoveApproval: boolean;1833 readonly asRemoveApproval: {1834 readonly proposalId: Compact<u32>;1835 } & Struct;1836 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1837 }18381839 /** @name FrameSupportPalletId (191) */1840 interface FrameSupportPalletId extends U8aFixed {}18411842 /** @name PalletTreasuryError (192) */1843 interface PalletTreasuryError extends Enum {1844 readonly isInsufficientProposersBalance: boolean;1845 readonly isInvalidIndex: boolean;1846 readonly isTooManyApprovals: boolean;1847 readonly isInsufficientPermission: boolean;1848 readonly isProposalNotApproved: boolean;1849 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1850 }18511852 /** @name PalletSudoCall (193) */1853 interface PalletSudoCall extends Enum {1854 readonly isSudo: boolean;1855 readonly asSudo: {1856 readonly call: Call;1857 } & Struct;1858 readonly isSudoUncheckedWeight: boolean;1859 readonly asSudoUncheckedWeight: {1860 readonly call: Call;1861 readonly weight: SpWeightsWeightV2Weight;1862 } & Struct;1863 readonly isSetKey: boolean;1864 readonly asSetKey: {1865 readonly new_: MultiAddress;1866 } & Struct;1867 readonly isSudoAs: boolean;1868 readonly asSudoAs: {1869 readonly who: MultiAddress;1870 readonly call: Call;1871 } & Struct;1872 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1873 }18741875 /** @name OrmlVestingModuleCall (195) */1876 interface OrmlVestingModuleCall extends Enum {1877 readonly isClaim: boolean;1878 readonly isVestedTransfer: boolean;1879 readonly asVestedTransfer: {1880 readonly dest: MultiAddress;1881 readonly schedule: OrmlVestingVestingSchedule;1882 } & Struct;1883 readonly isUpdateVestingSchedules: boolean;1884 readonly asUpdateVestingSchedules: {1885 readonly who: MultiAddress;1886 readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;1887 } & Struct;1888 readonly isClaimFor: boolean;1889 readonly asClaimFor: {1890 readonly dest: MultiAddress;1891 } & Struct;1892 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1893 }18941895 /** @name OrmlXtokensModuleCall (197) */1896 interface OrmlXtokensModuleCall extends Enum {1897 readonly isTransfer: boolean;1898 readonly asTransfer: {1899 readonly currencyId: PalletForeignAssetsAssetIds;1900 readonly amount: u128;1901 readonly dest: XcmVersionedMultiLocation;1902 readonly destWeightLimit: XcmV2WeightLimit;1903 } & Struct;1904 readonly isTransferMultiasset: boolean;1905 readonly asTransferMultiasset: {1906 readonly asset: XcmVersionedMultiAsset;1907 readonly dest: XcmVersionedMultiLocation;1908 readonly destWeightLimit: XcmV2WeightLimit;1909 } & Struct;1910 readonly isTransferWithFee: boolean;1911 readonly asTransferWithFee: {1912 readonly currencyId: PalletForeignAssetsAssetIds;1913 readonly amount: u128;1914 readonly fee: u128;1915 readonly dest: XcmVersionedMultiLocation;1916 readonly destWeightLimit: XcmV2WeightLimit;1917 } & Struct;1918 readonly isTransferMultiassetWithFee: boolean;1919 readonly asTransferMultiassetWithFee: {1920 readonly asset: XcmVersionedMultiAsset;1921 readonly fee: XcmVersionedMultiAsset;1922 readonly dest: XcmVersionedMultiLocation;1923 readonly destWeightLimit: XcmV2WeightLimit;1924 } & Struct;1925 readonly isTransferMulticurrencies: boolean;1926 readonly asTransferMulticurrencies: {1927 readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;1928 readonly feeItem: u32;1929 readonly dest: XcmVersionedMultiLocation;1930 readonly destWeightLimit: XcmV2WeightLimit;1931 } & Struct;1932 readonly isTransferMultiassets: boolean;1933 readonly asTransferMultiassets: {1934 readonly assets: XcmVersionedMultiAssets;1935 readonly feeItem: u32;1936 readonly dest: XcmVersionedMultiLocation;1937 readonly destWeightLimit: XcmV2WeightLimit;1938 } & Struct;1939 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1940 }19411942 /** @name XcmVersionedMultiAsset (198) */1943 interface XcmVersionedMultiAsset extends Enum {1944 readonly isV0: boolean;1945 readonly asV0: XcmV0MultiAsset;1946 readonly isV1: boolean;1947 readonly asV1: XcmV1MultiAsset;1948 readonly type: 'V0' | 'V1';1949 }19501951 /** @name OrmlTokensModuleCall (201) */1952 interface OrmlTokensModuleCall extends Enum {1953 readonly isTransfer: boolean;1954 readonly asTransfer: {1955 readonly dest: MultiAddress;1956 readonly currencyId: PalletForeignAssetsAssetIds;1957 readonly amount: Compact<u128>;1958 } & Struct;1959 readonly isTransferAll: boolean;1960 readonly asTransferAll: {1961 readonly dest: MultiAddress;1962 readonly currencyId: PalletForeignAssetsAssetIds;1963 readonly keepAlive: bool;1964 } & Struct;1965 readonly isTransferKeepAlive: boolean;1966 readonly asTransferKeepAlive: {1967 readonly dest: MultiAddress;1968 readonly currencyId: PalletForeignAssetsAssetIds;1969 readonly amount: Compact<u128>;1970 } & Struct;1971 readonly isForceTransfer: boolean;1972 readonly asForceTransfer: {1973 readonly source: MultiAddress;1974 readonly dest: MultiAddress;1975 readonly currencyId: PalletForeignAssetsAssetIds;1976 readonly amount: Compact<u128>;1977 } & Struct;1978 readonly isSetBalance: boolean;1979 readonly asSetBalance: {1980 readonly who: MultiAddress;1981 readonly currencyId: PalletForeignAssetsAssetIds;1982 readonly newFree: Compact<u128>;1983 readonly newReserved: Compact<u128>;1984 } & Struct;1985 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1986 }19871988 /** @name CumulusPalletXcmpQueueCall (202) */1989 interface CumulusPalletXcmpQueueCall extends Enum {1990 readonly isServiceOverweight: boolean;1991 readonly asServiceOverweight: {1992 readonly index: u64;1993 readonly weightLimit: u64;1994 } & Struct;1995 readonly isSuspendXcmExecution: boolean;1996 readonly isResumeXcmExecution: boolean;1997 readonly isUpdateSuspendThreshold: boolean;1998 readonly asUpdateSuspendThreshold: {1999 readonly new_: u32;2000 } & Struct;2001 readonly isUpdateDropThreshold: boolean;2002 readonly asUpdateDropThreshold: {2003 readonly new_: u32;2004 } & Struct;2005 readonly isUpdateResumeThreshold: boolean;2006 readonly asUpdateResumeThreshold: {2007 readonly new_: u32;2008 } & Struct;2009 readonly isUpdateThresholdWeight: boolean;2010 readonly asUpdateThresholdWeight: {2011 readonly new_: u64;2012 } & Struct;2013 readonly isUpdateWeightRestrictDecay: boolean;2014 readonly asUpdateWeightRestrictDecay: {2015 readonly new_: u64;2016 } & Struct;2017 readonly isUpdateXcmpMaxIndividualWeight: boolean;2018 readonly asUpdateXcmpMaxIndividualWeight: {2019 readonly new_: u64;2020 } & Struct;2021 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2022 }20232024 /** @name PalletXcmCall (203) */2025 interface PalletXcmCall extends Enum {2026 readonly isSend: boolean;2027 readonly asSend: {2028 readonly dest: XcmVersionedMultiLocation;2029 readonly message: XcmVersionedXcm;2030 } & Struct;2031 readonly isTeleportAssets: boolean;2032 readonly asTeleportAssets: {2033 readonly dest: XcmVersionedMultiLocation;2034 readonly beneficiary: XcmVersionedMultiLocation;2035 readonly assets: XcmVersionedMultiAssets;2036 readonly feeAssetItem: u32;2037 } & Struct;2038 readonly isReserveTransferAssets: boolean;2039 readonly asReserveTransferAssets: {2040 readonly dest: XcmVersionedMultiLocation;2041 readonly beneficiary: XcmVersionedMultiLocation;2042 readonly assets: XcmVersionedMultiAssets;2043 readonly feeAssetItem: u32;2044 } & Struct;2045 readonly isExecute: boolean;2046 readonly asExecute: {2047 readonly message: XcmVersionedXcm;2048 readonly maxWeight: u64;2049 } & Struct;2050 readonly isForceXcmVersion: boolean;2051 readonly asForceXcmVersion: {2052 readonly location: XcmV1MultiLocation;2053 readonly xcmVersion: u32;2054 } & Struct;2055 readonly isForceDefaultXcmVersion: boolean;2056 readonly asForceDefaultXcmVersion: {2057 readonly maybeXcmVersion: Option<u32>;2058 } & Struct;2059 readonly isForceSubscribeVersionNotify: boolean;2060 readonly asForceSubscribeVersionNotify: {2061 readonly location: XcmVersionedMultiLocation;2062 } & Struct;2063 readonly isForceUnsubscribeVersionNotify: boolean;2064 readonly asForceUnsubscribeVersionNotify: {2065 readonly location: XcmVersionedMultiLocation;2066 } & Struct;2067 readonly isLimitedReserveTransferAssets: boolean;2068 readonly asLimitedReserveTransferAssets: {2069 readonly dest: XcmVersionedMultiLocation;2070 readonly beneficiary: XcmVersionedMultiLocation;2071 readonly assets: XcmVersionedMultiAssets;2072 readonly feeAssetItem: u32;2073 readonly weightLimit: XcmV2WeightLimit;2074 } & Struct;2075 readonly isLimitedTeleportAssets: boolean;2076 readonly asLimitedTeleportAssets: {2077 readonly dest: XcmVersionedMultiLocation;2078 readonly beneficiary: XcmVersionedMultiLocation;2079 readonly assets: XcmVersionedMultiAssets;2080 readonly feeAssetItem: u32;2081 readonly weightLimit: XcmV2WeightLimit;2082 } & Struct;2083 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2084 }20852086 /** @name XcmVersionedXcm (204) */2087 interface XcmVersionedXcm extends Enum {2088 readonly isV0: boolean;2089 readonly asV0: XcmV0Xcm;2090 readonly isV1: boolean;2091 readonly asV1: XcmV1Xcm;2092 readonly isV2: boolean;2093 readonly asV2: XcmV2Xcm;2094 readonly type: 'V0' | 'V1' | 'V2';2095 }20962097 /** @name XcmV0Xcm (205) */2098 interface XcmV0Xcm extends Enum {2099 readonly isWithdrawAsset: boolean;2100 readonly asWithdrawAsset: {2101 readonly assets: Vec<XcmV0MultiAsset>;2102 readonly effects: Vec<XcmV0Order>;2103 } & Struct;2104 readonly isReserveAssetDeposit: boolean;2105 readonly asReserveAssetDeposit: {2106 readonly assets: Vec<XcmV0MultiAsset>;2107 readonly effects: Vec<XcmV0Order>;2108 } & Struct;2109 readonly isTeleportAsset: boolean;2110 readonly asTeleportAsset: {2111 readonly assets: Vec<XcmV0MultiAsset>;2112 readonly effects: Vec<XcmV0Order>;2113 } & Struct;2114 readonly isQueryResponse: boolean;2115 readonly asQueryResponse: {2116 readonly queryId: Compact<u64>;2117 readonly response: XcmV0Response;2118 } & Struct;2119 readonly isTransferAsset: boolean;2120 readonly asTransferAsset: {2121 readonly assets: Vec<XcmV0MultiAsset>;2122 readonly dest: XcmV0MultiLocation;2123 } & Struct;2124 readonly isTransferReserveAsset: boolean;2125 readonly asTransferReserveAsset: {2126 readonly assets: Vec<XcmV0MultiAsset>;2127 readonly dest: XcmV0MultiLocation;2128 readonly effects: Vec<XcmV0Order>;2129 } & Struct;2130 readonly isTransact: boolean;2131 readonly asTransact: {2132 readonly originType: XcmV0OriginKind;2133 readonly requireWeightAtMost: u64;2134 readonly call: XcmDoubleEncoded;2135 } & Struct;2136 readonly isHrmpNewChannelOpenRequest: boolean;2137 readonly asHrmpNewChannelOpenRequest: {2138 readonly sender: Compact<u32>;2139 readonly maxMessageSize: Compact<u32>;2140 readonly maxCapacity: Compact<u32>;2141 } & Struct;2142 readonly isHrmpChannelAccepted: boolean;2143 readonly asHrmpChannelAccepted: {2144 readonly recipient: Compact<u32>;2145 } & Struct;2146 readonly isHrmpChannelClosing: boolean;2147 readonly asHrmpChannelClosing: {2148 readonly initiator: Compact<u32>;2149 readonly sender: Compact<u32>;2150 readonly recipient: Compact<u32>;2151 } & Struct;2152 readonly isRelayedFrom: boolean;2153 readonly asRelayedFrom: {2154 readonly who: XcmV0MultiLocation;2155 readonly message: XcmV0Xcm;2156 } & Struct;2157 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2158 }21592160 /** @name XcmV0Order (207) */2161 interface XcmV0Order extends Enum {2162 readonly isNull: boolean;2163 readonly isDepositAsset: boolean;2164 readonly asDepositAsset: {2165 readonly assets: Vec<XcmV0MultiAsset>;2166 readonly dest: XcmV0MultiLocation;2167 } & Struct;2168 readonly isDepositReserveAsset: boolean;2169 readonly asDepositReserveAsset: {2170 readonly assets: Vec<XcmV0MultiAsset>;2171 readonly dest: XcmV0MultiLocation;2172 readonly effects: Vec<XcmV0Order>;2173 } & Struct;2174 readonly isExchangeAsset: boolean;2175 readonly asExchangeAsset: {2176 readonly give: Vec<XcmV0MultiAsset>;2177 readonly receive: Vec<XcmV0MultiAsset>;2178 } & Struct;2179 readonly isInitiateReserveWithdraw: boolean;2180 readonly asInitiateReserveWithdraw: {2181 readonly assets: Vec<XcmV0MultiAsset>;2182 readonly reserve: XcmV0MultiLocation;2183 readonly effects: Vec<XcmV0Order>;2184 } & Struct;2185 readonly isInitiateTeleport: boolean;2186 readonly asInitiateTeleport: {2187 readonly assets: Vec<XcmV0MultiAsset>;2188 readonly dest: XcmV0MultiLocation;2189 readonly effects: Vec<XcmV0Order>;2190 } & Struct;2191 readonly isQueryHolding: boolean;2192 readonly asQueryHolding: {2193 readonly queryId: Compact<u64>;2194 readonly dest: XcmV0MultiLocation;2195 readonly assets: Vec<XcmV0MultiAsset>;2196 } & Struct;2197 readonly isBuyExecution: boolean;2198 readonly asBuyExecution: {2199 readonly fees: XcmV0MultiAsset;2200 readonly weight: u64;2201 readonly debt: u64;2202 readonly haltOnError: bool;2203 readonly xcm: Vec<XcmV0Xcm>;2204 } & Struct;2205 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2206 }22072208 /** @name XcmV0Response (209) */2209 interface XcmV0Response extends Enum {2210 readonly isAssets: boolean;2211 readonly asAssets: Vec<XcmV0MultiAsset>;2212 readonly type: 'Assets';2213 }22142215 /** @name XcmV1Xcm (210) */2216 interface XcmV1Xcm extends Enum {2217 readonly isWithdrawAsset: boolean;2218 readonly asWithdrawAsset: {2219 readonly assets: XcmV1MultiassetMultiAssets;2220 readonly effects: Vec<XcmV1Order>;2221 } & Struct;2222 readonly isReserveAssetDeposited: boolean;2223 readonly asReserveAssetDeposited: {2224 readonly assets: XcmV1MultiassetMultiAssets;2225 readonly effects: Vec<XcmV1Order>;2226 } & Struct;2227 readonly isReceiveTeleportedAsset: boolean;2228 readonly asReceiveTeleportedAsset: {2229 readonly assets: XcmV1MultiassetMultiAssets;2230 readonly effects: Vec<XcmV1Order>;2231 } & Struct;2232 readonly isQueryResponse: boolean;2233 readonly asQueryResponse: {2234 readonly queryId: Compact<u64>;2235 readonly response: XcmV1Response;2236 } & Struct;2237 readonly isTransferAsset: boolean;2238 readonly asTransferAsset: {2239 readonly assets: XcmV1MultiassetMultiAssets;2240 readonly beneficiary: XcmV1MultiLocation;2241 } & Struct;2242 readonly isTransferReserveAsset: boolean;2243 readonly asTransferReserveAsset: {2244 readonly assets: XcmV1MultiassetMultiAssets;2245 readonly dest: XcmV1MultiLocation;2246 readonly effects: Vec<XcmV1Order>;2247 } & Struct;2248 readonly isTransact: boolean;2249 readonly asTransact: {2250 readonly originType: XcmV0OriginKind;2251 readonly requireWeightAtMost: u64;2252 readonly call: XcmDoubleEncoded;2253 } & Struct;2254 readonly isHrmpNewChannelOpenRequest: boolean;2255 readonly asHrmpNewChannelOpenRequest: {2256 readonly sender: Compact<u32>;2257 readonly maxMessageSize: Compact<u32>;2258 readonly maxCapacity: Compact<u32>;2259 } & Struct;2260 readonly isHrmpChannelAccepted: boolean;2261 readonly asHrmpChannelAccepted: {2262 readonly recipient: Compact<u32>;2263 } & Struct;2264 readonly isHrmpChannelClosing: boolean;2265 readonly asHrmpChannelClosing: {2266 readonly initiator: Compact<u32>;2267 readonly sender: Compact<u32>;2268 readonly recipient: Compact<u32>;2269 } & Struct;2270 readonly isRelayedFrom: boolean;2271 readonly asRelayedFrom: {2272 readonly who: XcmV1MultilocationJunctions;2273 readonly message: XcmV1Xcm;2274 } & Struct;2275 readonly isSubscribeVersion: boolean;2276 readonly asSubscribeVersion: {2277 readonly queryId: Compact<u64>;2278 readonly maxResponseWeight: Compact<u64>;2279 } & Struct;2280 readonly isUnsubscribeVersion: boolean;2281 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2282 }22832284 /** @name XcmV1Order (212) */2285 interface XcmV1Order extends Enum {2286 readonly isNoop: boolean;2287 readonly isDepositAsset: boolean;2288 readonly asDepositAsset: {2289 readonly assets: XcmV1MultiassetMultiAssetFilter;2290 readonly maxAssets: u32;2291 readonly beneficiary: XcmV1MultiLocation;2292 } & Struct;2293 readonly isDepositReserveAsset: boolean;2294 readonly asDepositReserveAsset: {2295 readonly assets: XcmV1MultiassetMultiAssetFilter;2296 readonly maxAssets: u32;2297 readonly dest: XcmV1MultiLocation;2298 readonly effects: Vec<XcmV1Order>;2299 } & Struct;2300 readonly isExchangeAsset: boolean;2301 readonly asExchangeAsset: {2302 readonly give: XcmV1MultiassetMultiAssetFilter;2303 readonly receive: XcmV1MultiassetMultiAssets;2304 } & Struct;2305 readonly isInitiateReserveWithdraw: boolean;2306 readonly asInitiateReserveWithdraw: {2307 readonly assets: XcmV1MultiassetMultiAssetFilter;2308 readonly reserve: XcmV1MultiLocation;2309 readonly effects: Vec<XcmV1Order>;2310 } & Struct;2311 readonly isInitiateTeleport: boolean;2312 readonly asInitiateTeleport: {2313 readonly assets: XcmV1MultiassetMultiAssetFilter;2314 readonly dest: XcmV1MultiLocation;2315 readonly effects: Vec<XcmV1Order>;2316 } & Struct;2317 readonly isQueryHolding: boolean;2318 readonly asQueryHolding: {2319 readonly queryId: Compact<u64>;2320 readonly dest: XcmV1MultiLocation;2321 readonly assets: XcmV1MultiassetMultiAssetFilter;2322 } & Struct;2323 readonly isBuyExecution: boolean;2324 readonly asBuyExecution: {2325 readonly fees: XcmV1MultiAsset;2326 readonly weight: u64;2327 readonly debt: u64;2328 readonly haltOnError: bool;2329 readonly instructions: Vec<XcmV1Xcm>;2330 } & Struct;2331 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2332 }23332334 /** @name XcmV1Response (214) */2335 interface XcmV1Response extends Enum {2336 readonly isAssets: boolean;2337 readonly asAssets: XcmV1MultiassetMultiAssets;2338 readonly isVersion: boolean;2339 readonly asVersion: u32;2340 readonly type: 'Assets' | 'Version';2341 }23422343 /** @name CumulusPalletXcmCall (228) */2344 type CumulusPalletXcmCall = Null;23452346 /** @name CumulusPalletDmpQueueCall (229) */2347 interface CumulusPalletDmpQueueCall extends Enum {2348 readonly isServiceOverweight: boolean;2349 readonly asServiceOverweight: {2350 readonly index: u64;2351 readonly weightLimit: u64;2352 } & Struct;2353 readonly type: 'ServiceOverweight';2354 }23552356 /** @name PalletInflationCall (230) */2357 interface PalletInflationCall extends Enum {2358 readonly isStartInflation: boolean;2359 readonly asStartInflation: {2360 readonly inflationStartRelayBlock: u32;2361 } & Struct;2362 readonly type: 'StartInflation';2363 }23642365 /** @name PalletUniqueCall (231) */2366 interface PalletUniqueCall extends Enum {2367 readonly isCreateCollection: boolean;2368 readonly asCreateCollection: {2369 readonly collectionName: Vec<u16>;2370 readonly collectionDescription: Vec<u16>;2371 readonly tokenPrefix: Bytes;2372 readonly mode: UpDataStructsCollectionMode;2373 } & Struct;2374 readonly isCreateCollectionEx: boolean;2375 readonly asCreateCollectionEx: {2376 readonly data: UpDataStructsCreateCollectionData;2377 } & Struct;2378 readonly isDestroyCollection: boolean;2379 readonly asDestroyCollection: {2380 readonly collectionId: u32;2381 } & Struct;2382 readonly isAddToAllowList: boolean;2383 readonly asAddToAllowList: {2384 readonly collectionId: u32;2385 readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2386 } & Struct;2387 readonly isRemoveFromAllowList: boolean;2388 readonly asRemoveFromAllowList: {2389 readonly collectionId: u32;2390 readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2391 } & Struct;2392 readonly isChangeCollectionOwner: boolean;2393 readonly asChangeCollectionOwner: {2394 readonly collectionId: u32;2395 readonly newOwner: AccountId32;2396 } & Struct;2397 readonly isAddCollectionAdmin: boolean;2398 readonly asAddCollectionAdmin: {2399 readonly collectionId: u32;2400 readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;2401 } & Struct;2402 readonly isRemoveCollectionAdmin: boolean;2403 readonly asRemoveCollectionAdmin: {2404 readonly collectionId: u32;2405 readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;2406 } & Struct;2407 readonly isSetCollectionSponsor: boolean;2408 readonly asSetCollectionSponsor: {2409 readonly collectionId: u32;2410 readonly newSponsor: AccountId32;2411 } & Struct;2412 readonly isConfirmSponsorship: boolean;2413 readonly asConfirmSponsorship: {2414 readonly collectionId: u32;2415 } & Struct;2416 readonly isRemoveCollectionSponsor: boolean;2417 readonly asRemoveCollectionSponsor: {2418 readonly collectionId: u32;2419 } & Struct;2420 readonly isCreateItem: boolean;2421 readonly asCreateItem: {2422 readonly collectionId: u32;2423 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2424 readonly data: UpDataStructsCreateItemData;2425 } & Struct;2426 readonly isCreateMultipleItems: boolean;2427 readonly asCreateMultipleItems: {2428 readonly collectionId: u32;2429 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2430 readonly itemsData: Vec<UpDataStructsCreateItemData>;2431 } & Struct;2432 readonly isSetCollectionProperties: boolean;2433 readonly asSetCollectionProperties: {2434 readonly collectionId: u32;2435 readonly properties: Vec<UpDataStructsProperty>;2436 } & Struct;2437 readonly isDeleteCollectionProperties: boolean;2438 readonly asDeleteCollectionProperties: {2439 readonly collectionId: u32;2440 readonly propertyKeys: Vec<Bytes>;2441 } & Struct;2442 readonly isSetTokenProperties: boolean;2443 readonly asSetTokenProperties: {2444 readonly collectionId: u32;2445 readonly tokenId: u32;2446 readonly properties: Vec<UpDataStructsProperty>;2447 } & Struct;2448 readonly isDeleteTokenProperties: boolean;2449 readonly asDeleteTokenProperties: {2450 readonly collectionId: u32;2451 readonly tokenId: u32;2452 readonly propertyKeys: Vec<Bytes>;2453 } & Struct;2454 readonly isSetTokenPropertyPermissions: boolean;2455 readonly asSetTokenPropertyPermissions: {2456 readonly collectionId: u32;2457 readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2458 } & Struct;2459 readonly isCreateMultipleItemsEx: boolean;2460 readonly asCreateMultipleItemsEx: {2461 readonly collectionId: u32;2462 readonly data: UpDataStructsCreateItemExData;2463 } & Struct;2464 readonly isSetTransfersEnabledFlag: boolean;2465 readonly asSetTransfersEnabledFlag: {2466 readonly collectionId: u32;2467 readonly value: bool;2468 } & Struct;2469 readonly isBurnItem: boolean;2470 readonly asBurnItem: {2471 readonly collectionId: u32;2472 readonly itemId: u32;2473 readonly value: u128;2474 } & Struct;2475 readonly isBurnFrom: boolean;2476 readonly asBurnFrom: {2477 readonly collectionId: u32;2478 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2479 readonly itemId: u32;2480 readonly value: u128;2481 } & Struct;2482 readonly isTransfer: boolean;2483 readonly asTransfer: {2484 readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2485 readonly collectionId: u32;2486 readonly itemId: u32;2487 readonly value: u128;2488 } & Struct;2489 readonly isApprove: boolean;2490 readonly asApprove: {2491 readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;2492 readonly collectionId: u32;2493 readonly itemId: u32;2494 readonly amount: u128;2495 } & Struct;2496 readonly isTransferFrom: boolean;2497 readonly asTransferFrom: {2498 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2499 readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2500 readonly collectionId: u32;2501 readonly itemId: u32;2502 readonly value: u128;2503 } & Struct;2504 readonly isSetCollectionLimits: boolean;2505 readonly asSetCollectionLimits: {2506 readonly collectionId: u32;2507 readonly newLimit: UpDataStructsCollectionLimits;2508 } & Struct;2509 readonly isSetCollectionPermissions: boolean;2510 readonly asSetCollectionPermissions: {2511 readonly collectionId: u32;2512 readonly newPermission: UpDataStructsCollectionPermissions;2513 } & Struct;2514 readonly isRepartition: boolean;2515 readonly asRepartition: {2516 readonly collectionId: u32;2517 readonly tokenId: u32;2518 readonly amount: u128;2519 } & Struct;2520 readonly isSetAllowanceForAll: boolean;2521 readonly asSetAllowanceForAll: {2522 readonly collectionId: u32;2523 readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;2524 readonly approve: bool;2525 } & Struct;2526 readonly isForceRepairCollection: boolean;2527 readonly asForceRepairCollection: {2528 readonly collectionId: u32;2529 } & Struct;2530 readonly isForceRepairItem: boolean;2531 readonly asForceRepairItem: {2532 readonly collectionId: u32;2533 readonly itemId: u32;2534 } & Struct;2535 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' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';2536 }25372538 /** @name UpDataStructsCollectionMode (236) */2539 interface UpDataStructsCollectionMode extends Enum {2540 readonly isNft: boolean;2541 readonly isFungible: boolean;2542 readonly asFungible: u8;2543 readonly isReFungible: boolean;2544 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2545 }25462547 /** @name UpDataStructsCreateCollectionData (237) */2548 interface UpDataStructsCreateCollectionData extends Struct {2549 readonly mode: UpDataStructsCollectionMode;2550 readonly access: Option<UpDataStructsAccessMode>;2551 readonly name: Vec<u16>;2552 readonly description: Vec<u16>;2553 readonly tokenPrefix: Bytes;2554 readonly pendingSponsor: Option<AccountId32>;2555 readonly limits: Option<UpDataStructsCollectionLimits>;2556 readonly permissions: Option<UpDataStructsCollectionPermissions>;2557 readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2558 readonly properties: Vec<UpDataStructsProperty>;2559 }25602561 /** @name UpDataStructsAccessMode (239) */2562 interface UpDataStructsAccessMode extends Enum {2563 readonly isNormal: boolean;2564 readonly isAllowList: boolean;2565 readonly type: 'Normal' | 'AllowList';2566 }25672568 /** @name UpDataStructsCollectionLimits (241) */2569 interface UpDataStructsCollectionLimits extends Struct {2570 readonly accountTokenOwnershipLimit: Option<u32>;2571 readonly sponsoredDataSize: Option<u32>;2572 readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2573 readonly tokenLimit: Option<u32>;2574 readonly sponsorTransferTimeout: Option<u32>;2575 readonly sponsorApproveTimeout: Option<u32>;2576 readonly ownerCanTransfer: Option<bool>;2577 readonly ownerCanDestroy: Option<bool>;2578 readonly transfersEnabled: Option<bool>;2579 }25802581 /** @name UpDataStructsSponsoringRateLimit (243) */2582 interface UpDataStructsSponsoringRateLimit extends Enum {2583 readonly isSponsoringDisabled: boolean;2584 readonly isBlocks: boolean;2585 readonly asBlocks: u32;2586 readonly type: 'SponsoringDisabled' | 'Blocks';2587 }25882589 /** @name UpDataStructsCollectionPermissions (246) */2590 interface UpDataStructsCollectionPermissions extends Struct {2591 readonly access: Option<UpDataStructsAccessMode>;2592 readonly mintMode: Option<bool>;2593 readonly nesting: Option<UpDataStructsNestingPermissions>;2594 }25952596 /** @name UpDataStructsNestingPermissions (248) */2597 interface UpDataStructsNestingPermissions extends Struct {2598 readonly tokenOwner: bool;2599 readonly collectionAdmin: bool;2600 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2601 }26022603 /** @name UpDataStructsOwnerRestrictedSet (250) */2604 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}26052606 /** @name UpDataStructsPropertyKeyPermission (255) */2607 interface UpDataStructsPropertyKeyPermission extends Struct {2608 readonly key: Bytes;2609 readonly permission: UpDataStructsPropertyPermission;2610 }26112612 /** @name UpDataStructsPropertyPermission (256) */2613 interface UpDataStructsPropertyPermission extends Struct {2614 readonly mutable: bool;2615 readonly collectionAdmin: bool;2616 readonly tokenOwner: bool;2617 }26182619 /** @name UpDataStructsProperty (259) */2620 interface UpDataStructsProperty extends Struct {2621 readonly key: Bytes;2622 readonly value: Bytes;2623 }26242625 /** @name UpDataStructsCreateItemData (262) */2626 interface UpDataStructsCreateItemData extends Enum {2627 readonly isNft: boolean;2628 readonly asNft: UpDataStructsCreateNftData;2629 readonly isFungible: boolean;2630 readonly asFungible: UpDataStructsCreateFungibleData;2631 readonly isReFungible: boolean;2632 readonly asReFungible: UpDataStructsCreateReFungibleData;2633 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2634 }26352636 /** @name UpDataStructsCreateNftData (263) */2637 interface UpDataStructsCreateNftData extends Struct {2638 readonly properties: Vec<UpDataStructsProperty>;2639 }26402641 /** @name UpDataStructsCreateFungibleData (264) */2642 interface UpDataStructsCreateFungibleData extends Struct {2643 readonly value: u128;2644 }26452646 /** @name UpDataStructsCreateReFungibleData (265) */2647 interface UpDataStructsCreateReFungibleData extends Struct {2648 readonly pieces: u128;2649 readonly properties: Vec<UpDataStructsProperty>;2650 }26512652 /** @name UpDataStructsCreateItemExData (268) */2653 interface UpDataStructsCreateItemExData extends Enum {2654 readonly isNft: boolean;2655 readonly asNft: Vec<UpDataStructsCreateNftExData>;2656 readonly isFungible: boolean;2657 readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2658 readonly isRefungibleMultipleItems: boolean;2659 readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2660 readonly isRefungibleMultipleOwners: boolean;2661 readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2662 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2663 }26642665 /** @name UpDataStructsCreateNftExData (270) */2666 interface UpDataStructsCreateNftExData extends Struct {2667 readonly properties: Vec<UpDataStructsProperty>;2668 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2669 }26702671 /** @name UpDataStructsCreateRefungibleExSingleOwner (277) */2672 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2673 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2674 readonly pieces: u128;2675 readonly properties: Vec<UpDataStructsProperty>;2676 }26772678 /** @name UpDataStructsCreateRefungibleExMultipleOwners (279) */2679 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2680 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2681 readonly properties: Vec<UpDataStructsProperty>;2682 }26832684 /** @name PalletConfigurationCall (280) */2685 interface PalletConfigurationCall extends Enum {2686 readonly isSetWeightToFeeCoefficientOverride: boolean;2687 readonly asSetWeightToFeeCoefficientOverride: {2688 readonly coeff: Option<u64>;2689 } & Struct;2690 readonly isSetMinGasPriceOverride: boolean;2691 readonly asSetMinGasPriceOverride: {2692 readonly coeff: Option<u64>;2693 } & Struct;2694 readonly isSetXcmAllowedLocations: boolean;2695 readonly asSetXcmAllowedLocations: {2696 readonly locations: Option<Vec<XcmV1MultiLocation>>;2697 } & Struct;2698 readonly isSetAppPromotionConfigurationOverride: boolean;2699 readonly asSetAppPromotionConfigurationOverride: {2700 readonly configuration: PalletConfigurationAppPromotionConfiguration;2701 } & Struct;2702 readonly isSetCollatorSelectionDesiredCollators: boolean;2703 readonly asSetCollatorSelectionDesiredCollators: {2704 readonly max: Option<u32>;2705 } & Struct;2706 readonly isSetCollatorSelectionLicenseBond: boolean;2707 readonly asSetCollatorSelectionLicenseBond: {2708 readonly amount: Option<u128>;2709 } & Struct;2710 readonly isSetCollatorSelectionKickThreshold: boolean;2711 readonly asSetCollatorSelectionKickThreshold: {2712 readonly threshold: Option<u32>;2713 } & Struct;2714 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';2715 }27162717 /** @name PalletConfigurationAppPromotionConfiguration (285) */2718 interface PalletConfigurationAppPromotionConfiguration extends Struct {2719 readonly recalculationInterval: Option<u32>;2720 readonly pendingInterval: Option<u32>;2721 readonly intervalIncome: Option<Perbill>;2722 readonly maxStakersPerCalculation: Option<u8>;2723 }27242725 /** @name PalletTemplateTransactionPaymentCall (289) */2726 type PalletTemplateTransactionPaymentCall = Null;27272728 /** @name PalletStructureCall (290) */2729 type PalletStructureCall = Null;27302731 /** @name PalletRmrkCoreCall (291) */2732 interface PalletRmrkCoreCall extends Enum {2733 readonly isCreateCollection: boolean;2734 readonly asCreateCollection: {2735 readonly metadata: Bytes;2736 readonly max: Option<u32>;2737 readonly symbol: Bytes;2738 } & Struct;2739 readonly isDestroyCollection: boolean;2740 readonly asDestroyCollection: {2741 readonly collectionId: u32;2742 } & Struct;2743 readonly isChangeCollectionIssuer: boolean;2744 readonly asChangeCollectionIssuer: {2745 readonly collectionId: u32;2746 readonly newIssuer: MultiAddress;2747 } & Struct;2748 readonly isLockCollection: boolean;2749 readonly asLockCollection: {2750 readonly collectionId: u32;2751 } & Struct;2752 readonly isMintNft: boolean;2753 readonly asMintNft: {2754 readonly owner: Option<AccountId32>;2755 readonly collectionId: u32;2756 readonly recipient: Option<AccountId32>;2757 readonly royaltyAmount: Option<Permill>;2758 readonly metadata: Bytes;2759 readonly transferable: bool;2760 readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;2761 } & Struct;2762 readonly isBurnNft: boolean;2763 readonly asBurnNft: {2764 readonly collectionId: u32;2765 readonly nftId: u32;2766 readonly maxBurns: u32;2767 } & Struct;2768 readonly isSend: boolean;2769 readonly asSend: {2770 readonly rmrkCollectionId: u32;2771 readonly rmrkNftId: u32;2772 readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2773 } & Struct;2774 readonly isAcceptNft: boolean;2775 readonly asAcceptNft: {2776 readonly rmrkCollectionId: u32;2777 readonly rmrkNftId: u32;2778 readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2779 } & Struct;2780 readonly isRejectNft: boolean;2781 readonly asRejectNft: {2782 readonly rmrkCollectionId: u32;2783 readonly rmrkNftId: u32;2784 } & Struct;2785 readonly isAcceptResource: boolean;2786 readonly asAcceptResource: {2787 readonly rmrkCollectionId: u32;2788 readonly rmrkNftId: u32;2789 readonly resourceId: u32;2790 } & Struct;2791 readonly isAcceptResourceRemoval: boolean;2792 readonly asAcceptResourceRemoval: {2793 readonly rmrkCollectionId: u32;2794 readonly rmrkNftId: u32;2795 readonly resourceId: u32;2796 } & Struct;2797 readonly isSetProperty: boolean;2798 readonly asSetProperty: {2799 readonly rmrkCollectionId: Compact<u32>;2800 readonly maybeNftId: Option<u32>;2801 readonly key: Bytes;2802 readonly value: Bytes;2803 } & Struct;2804 readonly isSetPriority: boolean;2805 readonly asSetPriority: {2806 readonly rmrkCollectionId: u32;2807 readonly rmrkNftId: u32;2808 readonly priorities: Vec<u32>;2809 } & Struct;2810 readonly isAddBasicResource: boolean;2811 readonly asAddBasicResource: {2812 readonly rmrkCollectionId: u32;2813 readonly nftId: u32;2814 readonly resource: RmrkTraitsResourceBasicResource;2815 } & Struct;2816 readonly isAddComposableResource: boolean;2817 readonly asAddComposableResource: {2818 readonly rmrkCollectionId: u32;2819 readonly nftId: u32;2820 readonly resource: RmrkTraitsResourceComposableResource;2821 } & Struct;2822 readonly isAddSlotResource: boolean;2823 readonly asAddSlotResource: {2824 readonly rmrkCollectionId: u32;2825 readonly nftId: u32;2826 readonly resource: RmrkTraitsResourceSlotResource;2827 } & Struct;2828 readonly isRemoveResource: boolean;2829 readonly asRemoveResource: {2830 readonly rmrkCollectionId: u32;2831 readonly nftId: u32;2832 readonly resourceId: u32;2833 } & Struct;2834 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2835 }28362837 /** @name RmrkTraitsResourceResourceTypes (297) */2838 interface RmrkTraitsResourceResourceTypes extends Enum {2839 readonly isBasic: boolean;2840 readonly asBasic: RmrkTraitsResourceBasicResource;2841 readonly isComposable: boolean;2842 readonly asComposable: RmrkTraitsResourceComposableResource;2843 readonly isSlot: boolean;2844 readonly asSlot: RmrkTraitsResourceSlotResource;2845 readonly type: 'Basic' | 'Composable' | 'Slot';2846 }28472848 /** @name RmrkTraitsResourceBasicResource (299) */2849 interface RmrkTraitsResourceBasicResource extends Struct {2850 readonly src: Option<Bytes>;2851 readonly metadata: Option<Bytes>;2852 readonly license: Option<Bytes>;2853 readonly thumb: Option<Bytes>;2854 }28552856 /** @name RmrkTraitsResourceComposableResource (301) */2857 interface RmrkTraitsResourceComposableResource extends Struct {2858 readonly parts: Vec<u32>;2859 readonly base: u32;2860 readonly src: Option<Bytes>;2861 readonly metadata: Option<Bytes>;2862 readonly license: Option<Bytes>;2863 readonly thumb: Option<Bytes>;2864 }28652866 /** @name RmrkTraitsResourceSlotResource (302) */2867 interface RmrkTraitsResourceSlotResource extends Struct {2868 readonly base: u32;2869 readonly src: Option<Bytes>;2870 readonly metadata: Option<Bytes>;2871 readonly slot: u32;2872 readonly license: Option<Bytes>;2873 readonly thumb: Option<Bytes>;2874 }28752876 /** @name PalletRmrkEquipCall (305) */2877 interface PalletRmrkEquipCall extends Enum {2878 readonly isCreateBase: boolean;2879 readonly asCreateBase: {2880 readonly baseType: Bytes;2881 readonly symbol: Bytes;2882 readonly parts: Vec<RmrkTraitsPartPartType>;2883 } & Struct;2884 readonly isThemeAdd: boolean;2885 readonly asThemeAdd: {2886 readonly baseId: u32;2887 readonly theme: RmrkTraitsTheme;2888 } & Struct;2889 readonly isEquippable: boolean;2890 readonly asEquippable: {2891 readonly baseId: u32;2892 readonly slotId: u32;2893 readonly equippables: RmrkTraitsPartEquippableList;2894 } & Struct;2895 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2896 }28972898 /** @name RmrkTraitsPartPartType (308) */2899 interface RmrkTraitsPartPartType extends Enum {2900 readonly isFixedPart: boolean;2901 readonly asFixedPart: RmrkTraitsPartFixedPart;2902 readonly isSlotPart: boolean;2903 readonly asSlotPart: RmrkTraitsPartSlotPart;2904 readonly type: 'FixedPart' | 'SlotPart';2905 }29062907 /** @name RmrkTraitsPartFixedPart (310) */2908 interface RmrkTraitsPartFixedPart extends Struct {2909 readonly id: u32;2910 readonly z: u32;2911 readonly src: Bytes;2912 }29132914 /** @name RmrkTraitsPartSlotPart (311) */2915 interface RmrkTraitsPartSlotPart extends Struct {2916 readonly id: u32;2917 readonly equippable: RmrkTraitsPartEquippableList;2918 readonly src: Bytes;2919 readonly z: u32;2920 }29212922 /** @name RmrkTraitsPartEquippableList (312) */2923 interface RmrkTraitsPartEquippableList extends Enum {2924 readonly isAll: boolean;2925 readonly isEmpty: boolean;2926 readonly isCustom: boolean;2927 readonly asCustom: Vec<u32>;2928 readonly type: 'All' | 'Empty' | 'Custom';2929 }29302931 /** @name RmrkTraitsTheme (314) */2932 interface RmrkTraitsTheme extends Struct {2933 readonly name: Bytes;2934 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2935 readonly inherit: bool;2936 }29372938 /** @name RmrkTraitsThemeThemeProperty (316) */2939 interface RmrkTraitsThemeThemeProperty extends Struct {2940 readonly key: Bytes;2941 readonly value: Bytes;2942 }29432944 /** @name PalletAppPromotionCall (318) */2945 interface PalletAppPromotionCall extends Enum {2946 readonly isSetAdminAddress: boolean;2947 readonly asSetAdminAddress: {2948 readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;2949 } & Struct;2950 readonly isStake: boolean;2951 readonly asStake: {2952 readonly amount: u128;2953 } & Struct;2954 readonly isUnstake: boolean;2955 readonly isSponsorCollection: boolean;2956 readonly asSponsorCollection: {2957 readonly collectionId: u32;2958 } & Struct;2959 readonly isStopSponsoringCollection: boolean;2960 readonly asStopSponsoringCollection: {2961 readonly collectionId: u32;2962 } & Struct;2963 readonly isSponsorContract: boolean;2964 readonly asSponsorContract: {2965 readonly contractId: H160;2966 } & Struct;2967 readonly isStopSponsoringContract: boolean;2968 readonly asStopSponsoringContract: {2969 readonly contractId: H160;2970 } & Struct;2971 readonly isPayoutStakers: boolean;2972 readonly asPayoutStakers: {2973 readonly stakersNumber: Option<u8>;2974 } & Struct;2975 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2976 }29772978 /** @name PalletForeignAssetsModuleCall (319) */2979 interface PalletForeignAssetsModuleCall extends Enum {2980 readonly isRegisterForeignAsset: boolean;2981 readonly asRegisterForeignAsset: {2982 readonly owner: AccountId32;2983 readonly location: XcmVersionedMultiLocation;2984 readonly metadata: PalletForeignAssetsModuleAssetMetadata;2985 } & Struct;2986 readonly isUpdateForeignAsset: boolean;2987 readonly asUpdateForeignAsset: {2988 readonly foreignAssetId: u32;2989 readonly location: XcmVersionedMultiLocation;2990 readonly metadata: PalletForeignAssetsModuleAssetMetadata;2991 } & Struct;2992 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';2993 }29942995 /** @name PalletEvmCall (320) */2996 interface PalletEvmCall extends Enum {2997 readonly isWithdraw: boolean;2998 readonly asWithdraw: {2999 readonly address: H160;3000 readonly value: u128;3001 } & Struct;3002 readonly isCall: boolean;3003 readonly asCall: {3004 readonly source: H160;3005 readonly target: H160;3006 readonly input: Bytes;3007 readonly value: U256;3008 readonly gasLimit: u64;3009 readonly maxFeePerGas: U256;3010 readonly maxPriorityFeePerGas: Option<U256>;3011 readonly nonce: Option<U256>;3012 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3013 } & Struct;3014 readonly isCreate: boolean;3015 readonly asCreate: {3016 readonly source: H160;3017 readonly init: Bytes;3018 readonly value: U256;3019 readonly gasLimit: u64;3020 readonly maxFeePerGas: U256;3021 readonly maxPriorityFeePerGas: Option<U256>;3022 readonly nonce: Option<U256>;3023 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3024 } & Struct;3025 readonly isCreate2: boolean;3026 readonly asCreate2: {3027 readonly source: H160;3028 readonly init: Bytes;3029 readonly salt: H256;3030 readonly value: U256;3031 readonly gasLimit: u64;3032 readonly maxFeePerGas: U256;3033 readonly maxPriorityFeePerGas: Option<U256>;3034 readonly nonce: Option<U256>;3035 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3036 } & Struct;3037 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3038 }30393040 /** @name PalletEthereumCall (326) */3041 interface PalletEthereumCall extends Enum {3042 readonly isTransact: boolean;3043 readonly asTransact: {3044 readonly transaction: EthereumTransactionTransactionV2;3045 } & Struct;3046 readonly type: 'Transact';3047 }30483049 /** @name EthereumTransactionTransactionV2 (327) */3050 interface EthereumTransactionTransactionV2 extends Enum {3051 readonly isLegacy: boolean;3052 readonly asLegacy: EthereumTransactionLegacyTransaction;3053 readonly isEip2930: boolean;3054 readonly asEip2930: EthereumTransactionEip2930Transaction;3055 readonly isEip1559: boolean;3056 readonly asEip1559: EthereumTransactionEip1559Transaction;3057 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3058 }30593060 /** @name EthereumTransactionLegacyTransaction (328) */3061 interface EthereumTransactionLegacyTransaction extends Struct {3062 readonly nonce: U256;3063 readonly gasPrice: U256;3064 readonly gasLimit: U256;3065 readonly action: EthereumTransactionTransactionAction;3066 readonly value: U256;3067 readonly input: Bytes;3068 readonly signature: EthereumTransactionTransactionSignature;3069 }30703071 /** @name EthereumTransactionTransactionAction (329) */3072 interface EthereumTransactionTransactionAction extends Enum {3073 readonly isCall: boolean;3074 readonly asCall: H160;3075 readonly isCreate: boolean;3076 readonly type: 'Call' | 'Create';3077 }30783079 /** @name EthereumTransactionTransactionSignature (330) */3080 interface EthereumTransactionTransactionSignature extends Struct {3081 readonly v: u64;3082 readonly r: H256;3083 readonly s: H256;3084 }30853086 /** @name EthereumTransactionEip2930Transaction (332) */3087 interface EthereumTransactionEip2930Transaction extends Struct {3088 readonly chainId: u64;3089 readonly nonce: U256;3090 readonly gasPrice: U256;3091 readonly gasLimit: U256;3092 readonly action: EthereumTransactionTransactionAction;3093 readonly value: U256;3094 readonly input: Bytes;3095 readonly accessList: Vec<EthereumTransactionAccessListItem>;3096 readonly oddYParity: bool;3097 readonly r: H256;3098 readonly s: H256;3099 }31003101 /** @name EthereumTransactionAccessListItem (334) */3102 interface EthereumTransactionAccessListItem extends Struct {3103 readonly address: H160;3104 readonly storageKeys: Vec<H256>;3105 }31063107 /** @name EthereumTransactionEip1559Transaction (335) */3108 interface EthereumTransactionEip1559Transaction extends Struct {3109 readonly chainId: u64;3110 readonly nonce: U256;3111 readonly maxPriorityFeePerGas: U256;3112 readonly maxFeePerGas: U256;3113 readonly gasLimit: U256;3114 readonly action: EthereumTransactionTransactionAction;3115 readonly value: U256;3116 readonly input: Bytes;3117 readonly accessList: Vec<EthereumTransactionAccessListItem>;3118 readonly oddYParity: bool;3119 readonly r: H256;3120 readonly s: H256;3121 }31223123 /** @name PalletEvmMigrationCall (336) */3124 interface PalletEvmMigrationCall extends Enum {3125 readonly isBegin: boolean;3126 readonly asBegin: {3127 readonly address: H160;3128 } & Struct;3129 readonly isSetData: boolean;3130 readonly asSetData: {3131 readonly address: H160;3132 readonly data: Vec<ITuple<[H256, H256]>>;3133 } & Struct;3134 readonly isFinish: boolean;3135 readonly asFinish: {3136 readonly address: H160;3137 readonly code: Bytes;3138 } & Struct;3139 readonly isInsertEthLogs: boolean;3140 readonly asInsertEthLogs: {3141 readonly logs: Vec<EthereumLog>;3142 } & Struct;3143 readonly isInsertEvents: boolean;3144 readonly asInsertEvents: {3145 readonly events: Vec<Bytes>;3146 } & Struct;3147 readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';3148 }31493150 /** @name PalletMaintenanceCall (340) */3151 interface PalletMaintenanceCall extends Enum {3152 readonly isEnable: boolean;3153 readonly isDisable: boolean;3154 readonly type: 'Enable' | 'Disable';3155 }31563157 /** @name PalletTestUtilsCall (341) */3158 interface PalletTestUtilsCall extends Enum {3159 readonly isEnable: boolean;3160 readonly isSetTestValue: boolean;3161 readonly asSetTestValue: {3162 readonly value: u32;3163 } & Struct;3164 readonly isSetTestValueAndRollback: boolean;3165 readonly asSetTestValueAndRollback: {3166 readonly value: u32;3167 } & Struct;3168 readonly isIncTestValue: boolean;3169 readonly isJustTakeFee: boolean;3170 readonly isBatchAll: boolean;3171 readonly asBatchAll: {3172 readonly calls: Vec<Call>;3173 } & Struct;3174 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';3175 }31763177 /** @name PalletSudoError (343) */3178 interface PalletSudoError extends Enum {3179 readonly isRequireSudo: boolean;3180 readonly type: 'RequireSudo';3181 }31823183 /** @name OrmlVestingModuleError (345) */3184 interface OrmlVestingModuleError extends Enum {3185 readonly isZeroVestingPeriod: boolean;3186 readonly isZeroVestingPeriodCount: boolean;3187 readonly isInsufficientBalanceToLock: boolean;3188 readonly isTooManyVestingSchedules: boolean;3189 readonly isAmountLow: boolean;3190 readonly isMaxVestingSchedulesExceeded: boolean;3191 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3192 }31933194 /** @name OrmlXtokensModuleError (346) */3195 interface OrmlXtokensModuleError extends Enum {3196 readonly isAssetHasNoReserve: boolean;3197 readonly isNotCrossChainTransfer: boolean;3198 readonly isInvalidDest: boolean;3199 readonly isNotCrossChainTransferableCurrency: boolean;3200 readonly isUnweighableMessage: boolean;3201 readonly isXcmExecutionFailed: boolean;3202 readonly isCannotReanchor: boolean;3203 readonly isInvalidAncestry: boolean;3204 readonly isInvalidAsset: boolean;3205 readonly isDestinationNotInvertible: boolean;3206 readonly isBadVersion: boolean;3207 readonly isDistinctReserveForAssetAndFee: boolean;3208 readonly isZeroFee: boolean;3209 readonly isZeroAmount: boolean;3210 readonly isTooManyAssetsBeingSent: boolean;3211 readonly isAssetIndexNonExistent: boolean;3212 readonly isFeeNotEnough: boolean;3213 readonly isNotSupportedMultiLocation: boolean;3214 readonly isMinXcmFeeNotDefined: boolean;3215 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3216 }32173218 /** @name OrmlTokensBalanceLock (349) */3219 interface OrmlTokensBalanceLock extends Struct {3220 readonly id: U8aFixed;3221 readonly amount: u128;3222 }32233224 /** @name OrmlTokensAccountData (351) */3225 interface OrmlTokensAccountData extends Struct {3226 readonly free: u128;3227 readonly reserved: u128;3228 readonly frozen: u128;3229 }32303231 /** @name OrmlTokensReserveData (353) */3232 interface OrmlTokensReserveData extends Struct {3233 readonly id: Null;3234 readonly amount: u128;3235 }32363237 /** @name OrmlTokensModuleError (355) */3238 interface OrmlTokensModuleError extends Enum {3239 readonly isBalanceTooLow: boolean;3240 readonly isAmountIntoBalanceFailed: boolean;3241 readonly isLiquidityRestrictions: boolean;3242 readonly isMaxLocksExceeded: boolean;3243 readonly isKeepAlive: boolean;3244 readonly isExistentialDeposit: boolean;3245 readonly isDeadAccount: boolean;3246 readonly isTooManyReserves: boolean;3247 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3248 }32493250 /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */3251 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3252 readonly sender: u32;3253 readonly state: CumulusPalletXcmpQueueInboundState;3254 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3255 }32563257 /** @name CumulusPalletXcmpQueueInboundState (358) */3258 interface CumulusPalletXcmpQueueInboundState extends Enum {3259 readonly isOk: boolean;3260 readonly isSuspended: boolean;3261 readonly type: 'Ok' | 'Suspended';3262 }32633264 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */3265 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3266 readonly isConcatenatedVersionedXcm: boolean;3267 readonly isConcatenatedEncodedBlob: boolean;3268 readonly isSignals: boolean;3269 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3270 }32713272 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */3273 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3274 readonly recipient: u32;3275 readonly state: CumulusPalletXcmpQueueOutboundState;3276 readonly signalsExist: bool;3277 readonly firstIndex: u16;3278 readonly lastIndex: u16;3279 }32803281 /** @name CumulusPalletXcmpQueueOutboundState (365) */3282 interface CumulusPalletXcmpQueueOutboundState extends Enum {3283 readonly isOk: boolean;3284 readonly isSuspended: boolean;3285 readonly type: 'Ok' | 'Suspended';3286 }32873288 /** @name CumulusPalletXcmpQueueQueueConfigData (367) */3289 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3290 readonly suspendThreshold: u32;3291 readonly dropThreshold: u32;3292 readonly resumeThreshold: u32;3293 readonly thresholdWeight: SpWeightsWeightV2Weight;3294 readonly weightRestrictDecay: SpWeightsWeightV2Weight;3295 readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;3296 }32973298 /** @name CumulusPalletXcmpQueueError (369) */3299 interface CumulusPalletXcmpQueueError extends Enum {3300 readonly isFailedToSend: boolean;3301 readonly isBadXcmOrigin: boolean;3302 readonly isBadXcm: boolean;3303 readonly isBadOverweightIndex: boolean;3304 readonly isWeightOverLimit: boolean;3305 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3306 }33073308 /** @name PalletXcmError (370) */3309 interface PalletXcmError extends Enum {3310 readonly isUnreachable: boolean;3311 readonly isSendFailure: boolean;3312 readonly isFiltered: boolean;3313 readonly isUnweighableMessage: boolean;3314 readonly isDestinationNotInvertible: boolean;3315 readonly isEmpty: boolean;3316 readonly isCannotReanchor: boolean;3317 readonly isTooManyAssets: boolean;3318 readonly isInvalidOrigin: boolean;3319 readonly isBadVersion: boolean;3320 readonly isBadLocation: boolean;3321 readonly isNoSubscription: boolean;3322 readonly isAlreadySubscribed: boolean;3323 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3324 }33253326 /** @name CumulusPalletXcmError (371) */3327 type CumulusPalletXcmError = Null;33283329 /** @name CumulusPalletDmpQueueConfigData (372) */3330 interface CumulusPalletDmpQueueConfigData extends Struct {3331 readonly maxIndividual: SpWeightsWeightV2Weight;3332 }33333334 /** @name CumulusPalletDmpQueuePageIndexData (373) */3335 interface CumulusPalletDmpQueuePageIndexData extends Struct {3336 readonly beginUsed: u32;3337 readonly endUsed: u32;3338 readonly overweightCount: u64;3339 }33403341 /** @name CumulusPalletDmpQueueError (376) */3342 interface CumulusPalletDmpQueueError extends Enum {3343 readonly isUnknown: boolean;3344 readonly isOverLimit: boolean;3345 readonly type: 'Unknown' | 'OverLimit';3346 }33473348 /** @name PalletUniqueError (380) */3349 interface PalletUniqueError extends Enum {3350 readonly isCollectionDecimalPointLimitExceeded: boolean;3351 readonly isEmptyArgument: boolean;3352 readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3353 readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3354 }33553356 /** @name PalletConfigurationError (381) */3357 interface PalletConfigurationError extends Enum {3358 readonly isInconsistentConfiguration: boolean;3359 readonly type: 'InconsistentConfiguration';3360 }33613362 /** @name UpDataStructsCollection (382) */3363 interface UpDataStructsCollection extends Struct {3364 readonly owner: AccountId32;3365 readonly mode: UpDataStructsCollectionMode;3366 readonly name: Vec<u16>;3367 readonly description: Vec<u16>;3368 readonly tokenPrefix: Bytes;3369 readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3370 readonly limits: UpDataStructsCollectionLimits;3371 readonly permissions: UpDataStructsCollectionPermissions;3372 readonly flags: U8aFixed;3373 }33743375 /** @name UpDataStructsSponsorshipStateAccountId32 (383) */3376 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3377 readonly isDisabled: boolean;3378 readonly isUnconfirmed: boolean;3379 readonly asUnconfirmed: AccountId32;3380 readonly isConfirmed: boolean;3381 readonly asConfirmed: AccountId32;3382 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3383 }33843385 /** @name UpDataStructsProperties (385) */3386 interface UpDataStructsProperties extends Struct {3387 readonly map: UpDataStructsPropertiesMapBoundedVec;3388 readonly consumedSpace: u32;3389 readonly spaceLimit: u32;3390 }33913392 /** @name UpDataStructsPropertiesMapBoundedVec (386) */3393 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}33943395 /** @name UpDataStructsPropertiesMapPropertyPermission (391) */3396 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}33973398 /** @name UpDataStructsCollectionStats (398) */3399 interface UpDataStructsCollectionStats extends Struct {3400 readonly created: u32;3401 readonly destroyed: u32;3402 readonly alive: u32;3403 }34043405 /** @name UpDataStructsTokenChild (399) */3406 interface UpDataStructsTokenChild extends Struct {3407 readonly token: u32;3408 readonly collection: u32;3409 }34103411 /** @name PhantomTypeUpDataStructs (400) */3412 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild, UpPovEstimateRpcPovInfo]>> {}34133414 /** @name UpDataStructsTokenData (402) */3415 interface UpDataStructsTokenData extends Struct {3416 readonly properties: Vec<UpDataStructsProperty>;3417 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3418 readonly pieces: u128;3419 }34203421 /** @name UpDataStructsRpcCollection (404) */3422 interface UpDataStructsRpcCollection extends Struct {3423 readonly owner: AccountId32;3424 readonly mode: UpDataStructsCollectionMode;3425 readonly name: Vec<u16>;3426 readonly description: Vec<u16>;3427 readonly tokenPrefix: Bytes;3428 readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3429 readonly limits: UpDataStructsCollectionLimits;3430 readonly permissions: UpDataStructsCollectionPermissions;3431 readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3432 readonly properties: Vec<UpDataStructsProperty>;3433 readonly readOnly: bool;3434 readonly flags: UpDataStructsRpcCollectionFlags;3435 }34363437 /** @name UpDataStructsRpcCollectionFlags (405) */3438 interface UpDataStructsRpcCollectionFlags extends Struct {3439 readonly foreign: bool;3440 readonly erc721metadata: bool;3441 }34423443 /** @name RmrkTraitsCollectionCollectionInfo (406) */3444 interface RmrkTraitsCollectionCollectionInfo extends Struct {3445 readonly issuer: AccountId32;3446 readonly metadata: Bytes;3447 readonly max: Option<u32>;3448 readonly symbol: Bytes;3449 readonly nftsCount: u32;3450 }34513452 /** @name RmrkTraitsNftNftInfo (407) */3453 interface RmrkTraitsNftNftInfo extends Struct {3454 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3455 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3456 readonly metadata: Bytes;3457 readonly equipped: bool;3458 readonly pending: bool;3459 }34603461 /** @name RmrkTraitsNftRoyaltyInfo (409) */3462 interface RmrkTraitsNftRoyaltyInfo extends Struct {3463 readonly recipient: AccountId32;3464 readonly amount: Permill;3465 }34663467 /** @name RmrkTraitsResourceResourceInfo (410) */3468 interface RmrkTraitsResourceResourceInfo extends Struct {3469 readonly id: u32;3470 readonly resource: RmrkTraitsResourceResourceTypes;3471 readonly pending: bool;3472 readonly pendingRemoval: bool;3473 }34743475 /** @name RmrkTraitsPropertyPropertyInfo (411) */3476 interface RmrkTraitsPropertyPropertyInfo extends Struct {3477 readonly key: Bytes;3478 readonly value: Bytes;3479 }34803481 /** @name RmrkTraitsBaseBaseInfo (412) */3482 interface RmrkTraitsBaseBaseInfo extends Struct {3483 readonly issuer: AccountId32;3484 readonly baseType: Bytes;3485 readonly symbol: Bytes;3486 }34873488 /** @name RmrkTraitsNftNftChild (413) */3489 interface RmrkTraitsNftNftChild extends Struct {3490 readonly collectionId: u32;3491 readonly nftId: u32;3492 }34933494 /** @name UpPovEstimateRpcPovInfo (414) */3495 interface UpPovEstimateRpcPovInfo extends Struct {3496 readonly proofSize: u64;3497 readonly compactProofSize: u64;3498 readonly compressedProofSize: u64;3499 readonly results: Vec<Result<Result<Null, SpRuntimeDispatchError>, SpRuntimeTransactionValidityTransactionValidityError>>;3500 readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;3501 }35023503 /** @name SpRuntimeTransactionValidityTransactionValidityError (417) */3504 interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {3505 readonly isInvalid: boolean;3506 readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;3507 readonly isUnknown: boolean;3508 readonly asUnknown: SpRuntimeTransactionValidityUnknownTransaction;3509 readonly type: 'Invalid' | 'Unknown';3510 }35113512 /** @name SpRuntimeTransactionValidityInvalidTransaction (418) */3513 interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {3514 readonly isCall: boolean;3515 readonly isPayment: boolean;3516 readonly isFuture: boolean;3517 readonly isStale: boolean;3518 readonly isBadProof: boolean;3519 readonly isAncientBirthBlock: boolean;3520 readonly isExhaustsResources: boolean;3521 readonly isCustom: boolean;3522 readonly asCustom: u8;3523 readonly isBadMandatory: boolean;3524 readonly isMandatoryValidation: boolean;3525 readonly isBadSigner: boolean;3526 readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner';3527 }35283529 /** @name SpRuntimeTransactionValidityUnknownTransaction (419) */3530 interface SpRuntimeTransactionValidityUnknownTransaction extends Enum {3531 readonly isCannotLookup: boolean;3532 readonly isNoUnsignedValidator: boolean;3533 readonly isCustom: boolean;3534 readonly asCustom: u8;3535 readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom';3536 }35373538 /** @name UpPovEstimateRpcTrieKeyValue (421) */3539 interface UpPovEstimateRpcTrieKeyValue extends Struct {3540 readonly key: Bytes;3541 readonly value: Bytes;3542 }35433544 /** @name PalletCommonError (423) */3545 interface PalletCommonError extends Enum {3546 readonly isCollectionNotFound: boolean;3547 readonly isMustBeTokenOwner: boolean;3548 readonly isNoPermission: boolean;3549 readonly isCantDestroyNotEmptyCollection: boolean;3550 readonly isPublicMintingNotAllowed: boolean;3551 readonly isAddressNotInAllowlist: boolean;3552 readonly isCollectionNameLimitExceeded: boolean;3553 readonly isCollectionDescriptionLimitExceeded: boolean;3554 readonly isCollectionTokenPrefixLimitExceeded: boolean;3555 readonly isTotalCollectionsLimitExceeded: boolean;3556 readonly isCollectionAdminCountExceeded: boolean;3557 readonly isCollectionLimitBoundsExceeded: boolean;3558 readonly isOwnerPermissionsCantBeReverted: boolean;3559 readonly isTransferNotAllowed: boolean;3560 readonly isAccountTokenLimitExceeded: boolean;3561 readonly isCollectionTokenLimitExceeded: boolean;3562 readonly isMetadataFlagFrozen: boolean;3563 readonly isTokenNotFound: boolean;3564 readonly isTokenValueTooLow: boolean;3565 readonly isApprovedValueTooLow: boolean;3566 readonly isCantApproveMoreThanOwned: boolean;3567 readonly isAddressIsZero: boolean;3568 readonly isUnsupportedOperation: boolean;3569 readonly isNotSufficientFounds: boolean;3570 readonly isUserIsNotAllowedToNest: boolean;3571 readonly isSourceCollectionIsNotAllowedToNest: boolean;3572 readonly isCollectionFieldSizeExceeded: boolean;3573 readonly isNoSpaceForProperty: boolean;3574 readonly isPropertyLimitReached: boolean;3575 readonly isPropertyKeyIsTooLong: boolean;3576 readonly isInvalidCharacterInPropertyKey: boolean;3577 readonly isEmptyPropertyKey: boolean;3578 readonly isCollectionIsExternal: boolean;3579 readonly isCollectionIsInternal: boolean;3580 readonly isConfirmSponsorshipFail: boolean;3581 readonly isUserIsNotCollectionAdmin: boolean;3582 readonly type: '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' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';3583 }35843585 /** @name PalletFungibleError (425) */3586 interface PalletFungibleError extends Enum {3587 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3588 readonly isFungibleItemsHaveNoId: boolean;3589 readonly isFungibleItemsDontHaveData: boolean;3590 readonly isFungibleDisallowsNesting: boolean;3591 readonly isSettingPropertiesNotAllowed: boolean;3592 readonly isSettingAllowanceForAllNotAllowed: boolean;3593 readonly isFungibleTokensAreAlwaysValid: boolean;3594 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';3595 }35963597 /** @name PalletRefungibleError (429) */3598 interface PalletRefungibleError extends Enum {3599 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3600 readonly isWrongRefungiblePieces: boolean;3601 readonly isRepartitionWhileNotOwningAllPieces: boolean;3602 readonly isRefungibleDisallowsNesting: boolean;3603 readonly isSettingPropertiesNotAllowed: boolean;3604 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3605 }36063607 /** @name PalletNonfungibleItemData (430) */3608 interface PalletNonfungibleItemData extends Struct {3609 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3610 }36113612 /** @name UpDataStructsPropertyScope (432) */3613 interface UpDataStructsPropertyScope extends Enum {3614 readonly isNone: boolean;3615 readonly isRmrk: boolean;3616 readonly type: 'None' | 'Rmrk';3617 }36183619 /** @name PalletNonfungibleError (435) */3620 interface PalletNonfungibleError extends Enum {3621 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3622 readonly isNonfungibleItemsHaveNoAmount: boolean;3623 readonly isCantBurnNftWithChildren: boolean;3624 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3625 }36263627 /** @name PalletStructureError (436) */3628 interface PalletStructureError extends Enum {3629 readonly isOuroborosDetected: boolean;3630 readonly isDepthLimit: boolean;3631 readonly isBreadthLimit: boolean;3632 readonly isTokenNotFound: boolean;3633 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3634 }36353636 /** @name PalletRmrkCoreError (437) */3637 interface PalletRmrkCoreError extends Enum {3638 readonly isCorruptedCollectionType: boolean;3639 readonly isRmrkPropertyKeyIsTooLong: boolean;3640 readonly isRmrkPropertyValueIsTooLong: boolean;3641 readonly isRmrkPropertyIsNotFound: boolean;3642 readonly isUnableToDecodeRmrkData: boolean;3643 readonly isCollectionNotEmpty: boolean;3644 readonly isNoAvailableCollectionId: boolean;3645 readonly isNoAvailableNftId: boolean;3646 readonly isCollectionUnknown: boolean;3647 readonly isNoPermission: boolean;3648 readonly isNonTransferable: boolean;3649 readonly isCollectionFullOrLocked: boolean;3650 readonly isResourceDoesntExist: boolean;3651 readonly isCannotSendToDescendentOrSelf: boolean;3652 readonly isCannotAcceptNonOwnedNft: boolean;3653 readonly isCannotRejectNonOwnedNft: boolean;3654 readonly isCannotRejectNonPendingNft: boolean;3655 readonly isResourceNotPending: boolean;3656 readonly isNoAvailableResourceId: boolean;3657 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3658 }36593660 /** @name PalletRmrkEquipError (439) */3661 interface PalletRmrkEquipError extends Enum {3662 readonly isPermissionError: boolean;3663 readonly isNoAvailableBaseId: boolean;3664 readonly isNoAvailablePartId: boolean;3665 readonly isBaseDoesntExist: boolean;3666 readonly isNeedsDefaultThemeFirst: boolean;3667 readonly isPartDoesntExist: boolean;3668 readonly isNoEquippableOnFixedPart: boolean;3669 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3670 }36713672 /** @name PalletAppPromotionError (445) */3673 interface PalletAppPromotionError extends Enum {3674 readonly isAdminNotSet: boolean;3675 readonly isNoPermission: boolean;3676 readonly isNotSufficientFunds: boolean;3677 readonly isPendingForBlockOverflow: boolean;3678 readonly isSponsorNotSet: boolean;3679 readonly isIncorrectLockedBalanceOperation: boolean;3680 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3681 }36823683 /** @name PalletForeignAssetsModuleError (446) */3684 interface PalletForeignAssetsModuleError extends Enum {3685 readonly isBadLocation: boolean;3686 readonly isMultiLocationExisted: boolean;3687 readonly isAssetIdNotExists: boolean;3688 readonly isAssetIdExisted: boolean;3689 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3690 }36913692 /** @name PalletEvmError (448) */3693 interface PalletEvmError extends Enum {3694 readonly isBalanceLow: boolean;3695 readonly isFeeOverflow: boolean;3696 readonly isPaymentOverflow: boolean;3697 readonly isWithdrawFailed: boolean;3698 readonly isGasPriceTooLow: boolean;3699 readonly isInvalidNonce: boolean;3700 readonly isGasLimitTooLow: boolean;3701 readonly isGasLimitTooHigh: boolean;3702 readonly isUndefined: boolean;3703 readonly isReentrancy: boolean;3704 readonly isTransactionMustComeFromEOA: boolean;3705 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';3706 }37073708 /** @name FpRpcTransactionStatus (451) */3709 interface FpRpcTransactionStatus extends Struct {3710 readonly transactionHash: H256;3711 readonly transactionIndex: u32;3712 readonly from: H160;3713 readonly to: Option<H160>;3714 readonly contractAddress: Option<H160>;3715 readonly logs: Vec<EthereumLog>;3716 readonly logsBloom: EthbloomBloom;3717 }37183719 /** @name EthbloomBloom (453) */3720 interface EthbloomBloom extends U8aFixed {}37213722 /** @name EthereumReceiptReceiptV3 (455) */3723 interface EthereumReceiptReceiptV3 extends Enum {3724 readonly isLegacy: boolean;3725 readonly asLegacy: EthereumReceiptEip658ReceiptData;3726 readonly isEip2930: boolean;3727 readonly asEip2930: EthereumReceiptEip658ReceiptData;3728 readonly isEip1559: boolean;3729 readonly asEip1559: EthereumReceiptEip658ReceiptData;3730 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3731 }37323733 /** @name EthereumReceiptEip658ReceiptData (456) */3734 interface EthereumReceiptEip658ReceiptData extends Struct {3735 readonly statusCode: u8;3736 readonly usedGas: U256;3737 readonly logsBloom: EthbloomBloom;3738 readonly logs: Vec<EthereumLog>;3739 }37403741 /** @name EthereumBlock (457) */3742 interface EthereumBlock extends Struct {3743 readonly header: EthereumHeader;3744 readonly transactions: Vec<EthereumTransactionTransactionV2>;3745 readonly ommers: Vec<EthereumHeader>;3746 }37473748 /** @name EthereumHeader (458) */3749 interface EthereumHeader extends Struct {3750 readonly parentHash: H256;3751 readonly ommersHash: H256;3752 readonly beneficiary: H160;3753 readonly stateRoot: H256;3754 readonly transactionsRoot: H256;3755 readonly receiptsRoot: H256;3756 readonly logsBloom: EthbloomBloom;3757 readonly difficulty: U256;3758 readonly number: U256;3759 readonly gasLimit: U256;3760 readonly gasUsed: U256;3761 readonly timestamp: u64;3762 readonly extraData: Bytes;3763 readonly mixHash: H256;3764 readonly nonce: EthereumTypesHashH64;3765 }37663767 /** @name EthereumTypesHashH64 (459) */3768 interface EthereumTypesHashH64 extends U8aFixed {}37693770 /** @name PalletEthereumError (464) */3771 interface PalletEthereumError extends Enum {3772 readonly isInvalidSignature: boolean;3773 readonly isPreLogExists: boolean;3774 readonly type: 'InvalidSignature' | 'PreLogExists';3775 }37763777 /** @name PalletEvmCoderSubstrateError (465) */3778 interface PalletEvmCoderSubstrateError extends Enum {3779 readonly isOutOfGas: boolean;3780 readonly isOutOfFund: boolean;3781 readonly type: 'OutOfGas' | 'OutOfFund';3782 }37833784 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (466) */3785 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3786 readonly isDisabled: boolean;3787 readonly isUnconfirmed: boolean;3788 readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3789 readonly isConfirmed: boolean;3790 readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3791 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3792 }37933794 /** @name PalletEvmContractHelpersSponsoringModeT (467) */3795 interface PalletEvmContractHelpersSponsoringModeT extends Enum {3796 readonly isDisabled: boolean;3797 readonly isAllowlisted: boolean;3798 readonly isGenerous: boolean;3799 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3800 }38013802 /** @name PalletEvmContractHelpersError (473) */3803 interface PalletEvmContractHelpersError extends Enum {3804 readonly isNoPermission: boolean;3805 readonly isNoPendingSponsor: boolean;3806 readonly isTooManyMethodsHaveSponsoredLimit: boolean;3807 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3808 }38093810 /** @name PalletEvmMigrationError (474) */3811 interface PalletEvmMigrationError extends Enum {3812 readonly isAccountNotEmpty: boolean;3813 readonly isAccountIsNotMigrating: boolean;3814 readonly isBadEvent: boolean;3815 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';3816 }38173818 /** @name PalletMaintenanceError (475) */3819 type PalletMaintenanceError = Null;38203821 /** @name PalletTestUtilsError (476) */3822 interface PalletTestUtilsError extends Enum {3823 readonly isTestPalletDisabled: boolean;3824 readonly isTriggerRollback: boolean;3825 readonly type: 'TestPalletDisabled' | 'TriggerRollback';3826 }38273828 /** @name SpRuntimeMultiSignature (478) */3829 interface SpRuntimeMultiSignature extends Enum {3830 readonly isEd25519: boolean;3831 readonly asEd25519: SpCoreEd25519Signature;3832 readonly isSr25519: boolean;3833 readonly asSr25519: SpCoreSr25519Signature;3834 readonly isEcdsa: boolean;3835 readonly asEcdsa: SpCoreEcdsaSignature;3836 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3837 }38383839 /** @name SpCoreEd25519Signature (479) */3840 interface SpCoreEd25519Signature extends U8aFixed {}38413842 /** @name SpCoreSr25519Signature (481) */3843 interface SpCoreSr25519Signature extends U8aFixed {}38443845 /** @name SpCoreEcdsaSignature (482) */3846 interface SpCoreEcdsaSignature extends U8aFixed {}38473848 /** @name FrameSystemExtensionsCheckSpecVersion (485) */3849 type FrameSystemExtensionsCheckSpecVersion = Null;38503851 /** @name FrameSystemExtensionsCheckTxVersion (486) */3852 type FrameSystemExtensionsCheckTxVersion = Null;38533854 /** @name FrameSystemExtensionsCheckGenesis (487) */3855 type FrameSystemExtensionsCheckGenesis = Null;38563857 /** @name FrameSystemExtensionsCheckNonce (490) */3858 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}38593860 /** @name FrameSystemExtensionsCheckWeight (491) */3861 type FrameSystemExtensionsCheckWeight = Null;38623863 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (492) */3864 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;38653866 /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (493) */3867 type OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null;38683869 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (494) */3870 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}38713872 /** @name OpalRuntimeRuntime (495) */3873 type OpalRuntimeRuntime = Null;38743875 /** @name PalletEthereumFakeTransactionFinalizer (496) */3876 type PalletEthereumFakeTransactionFinalizer = Null;38773878} // declare module1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34// import type lookup before we augment - in some environments5// this is required to allow for ambient/previous definitions6import '@polkadot/types/lookup';78import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';9import type { ITuple } from '@polkadot/types-codec/types';10import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';11import type { Event } from '@polkadot/types/interfaces/system';1213declare module '@polkadot/types/lookup' {14 /** @name FrameSystemAccountInfo (3) */15 interface FrameSystemAccountInfo extends Struct {16 readonly nonce: u32;17 readonly consumers: u32;18 readonly providers: u32;19 readonly sufficients: u32;20 readonly data: PalletBalancesAccountData;21 }2223 /** @name PalletBalancesAccountData (5) */24 interface PalletBalancesAccountData extends Struct {25 readonly free: u128;26 readonly reserved: u128;27 readonly miscFrozen: u128;28 readonly feeFrozen: u128;29 }3031 /** @name FrameSupportDispatchPerDispatchClassWeight (7) */32 interface FrameSupportDispatchPerDispatchClassWeight extends Struct {33 readonly normal: SpWeightsWeightV2Weight;34 readonly operational: SpWeightsWeightV2Weight;35 readonly mandatory: SpWeightsWeightV2Weight;36 }3738 /** @name SpWeightsWeightV2Weight (8) */39 interface SpWeightsWeightV2Weight extends Struct {40 readonly refTime: Compact<u64>;41 readonly proofSize: Compact<u64>;42 }4344 /** @name SpRuntimeDigest (13) */45 interface SpRuntimeDigest extends Struct {46 readonly logs: Vec<SpRuntimeDigestDigestItem>;47 }4849 /** @name SpRuntimeDigestDigestItem (15) */50 interface SpRuntimeDigestDigestItem extends Enum {51 readonly isOther: boolean;52 readonly asOther: Bytes;53 readonly isConsensus: boolean;54 readonly asConsensus: ITuple<[U8aFixed, Bytes]>;55 readonly isSeal: boolean;56 readonly asSeal: ITuple<[U8aFixed, Bytes]>;57 readonly isPreRuntime: boolean;58 readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;59 readonly isRuntimeEnvironmentUpdated: boolean;60 readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';61 }6263 /** @name FrameSystemEventRecord (18) */64 interface FrameSystemEventRecord extends Struct {65 readonly phase: FrameSystemPhase;66 readonly event: Event;67 readonly topics: Vec<H256>;68 }6970 /** @name FrameSystemEvent (20) */71 interface FrameSystemEvent extends Enum {72 readonly isExtrinsicSuccess: boolean;73 readonly asExtrinsicSuccess: {74 readonly dispatchInfo: FrameSupportDispatchDispatchInfo;75 } & Struct;76 readonly isExtrinsicFailed: boolean;77 readonly asExtrinsicFailed: {78 readonly dispatchError: SpRuntimeDispatchError;79 readonly dispatchInfo: FrameSupportDispatchDispatchInfo;80 } & Struct;81 readonly isCodeUpdated: boolean;82 readonly isNewAccount: boolean;83 readonly asNewAccount: {84 readonly account: AccountId32;85 } & Struct;86 readonly isKilledAccount: boolean;87 readonly asKilledAccount: {88 readonly account: AccountId32;89 } & Struct;90 readonly isRemarked: boolean;91 readonly asRemarked: {92 readonly sender: AccountId32;93 readonly hash_: H256;94 } & Struct;95 readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';96 }9798 /** @name FrameSupportDispatchDispatchInfo (21) */99 interface FrameSupportDispatchDispatchInfo extends Struct {100 readonly weight: SpWeightsWeightV2Weight;101 readonly class: FrameSupportDispatchDispatchClass;102 readonly paysFee: FrameSupportDispatchPays;103 }104105 /** @name FrameSupportDispatchDispatchClass (22) */106 interface FrameSupportDispatchDispatchClass extends Enum {107 readonly isNormal: boolean;108 readonly isOperational: boolean;109 readonly isMandatory: boolean;110 readonly type: 'Normal' | 'Operational' | 'Mandatory';111 }112113 /** @name FrameSupportDispatchPays (23) */114 interface FrameSupportDispatchPays extends Enum {115 readonly isYes: boolean;116 readonly isNo: boolean;117 readonly type: 'Yes' | 'No';118 }119120 /** @name SpRuntimeDispatchError (24) */121 interface SpRuntimeDispatchError extends Enum {122 readonly isOther: boolean;123 readonly isCannotLookup: boolean;124 readonly isBadOrigin: boolean;125 readonly isModule: boolean;126 readonly asModule: SpRuntimeModuleError;127 readonly isConsumerRemaining: boolean;128 readonly isNoProviders: boolean;129 readonly isTooManyConsumers: boolean;130 readonly isToken: boolean;131 readonly asToken: SpRuntimeTokenError;132 readonly isArithmetic: boolean;133 readonly asArithmetic: SpRuntimeArithmeticError;134 readonly isTransactional: boolean;135 readonly asTransactional: SpRuntimeTransactionalError;136 readonly isExhausted: boolean;137 readonly isCorruption: boolean;138 readonly isUnavailable: boolean;139 readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional' | 'Exhausted' | 'Corruption' | 'Unavailable';140 }141142 /** @name SpRuntimeModuleError (25) */143 interface SpRuntimeModuleError extends Struct {144 readonly index: u8;145 readonly error: U8aFixed;146 }147148 /** @name SpRuntimeTokenError (26) */149 interface SpRuntimeTokenError extends Enum {150 readonly isNoFunds: boolean;151 readonly isWouldDie: boolean;152 readonly isBelowMinimum: boolean;153 readonly isCannotCreate: boolean;154 readonly isUnknownAsset: boolean;155 readonly isFrozen: boolean;156 readonly isUnsupported: boolean;157 readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';158 }159160 /** @name SpRuntimeArithmeticError (27) */161 interface SpRuntimeArithmeticError extends Enum {162 readonly isUnderflow: boolean;163 readonly isOverflow: boolean;164 readonly isDivisionByZero: boolean;165 readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';166 }167168 /** @name SpRuntimeTransactionalError (28) */169 interface SpRuntimeTransactionalError extends Enum {170 readonly isLimitReached: boolean;171 readonly isNoLayer: boolean;172 readonly type: 'LimitReached' | 'NoLayer';173 }174175 /** @name CumulusPalletParachainSystemEvent (29) */176 interface CumulusPalletParachainSystemEvent extends Enum {177 readonly isValidationFunctionStored: boolean;178 readonly isValidationFunctionApplied: boolean;179 readonly asValidationFunctionApplied: {180 readonly relayChainBlockNum: u32;181 } & Struct;182 readonly isValidationFunctionDiscarded: boolean;183 readonly isUpgradeAuthorized: boolean;184 readonly asUpgradeAuthorized: {185 readonly codeHash: H256;186 } & Struct;187 readonly isDownwardMessagesReceived: boolean;188 readonly asDownwardMessagesReceived: {189 readonly count: u32;190 } & Struct;191 readonly isDownwardMessagesProcessed: boolean;192 readonly asDownwardMessagesProcessed: {193 readonly weightUsed: SpWeightsWeightV2Weight;194 readonly dmqHead: H256;195 } & Struct;196 readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';197 }198199 /** @name PalletBalancesEvent (30) */200 interface PalletBalancesEvent extends Enum {201 readonly isEndowed: boolean;202 readonly asEndowed: {203 readonly account: AccountId32;204 readonly freeBalance: u128;205 } & Struct;206 readonly isDustLost: boolean;207 readonly asDustLost: {208 readonly account: AccountId32;209 readonly amount: u128;210 } & Struct;211 readonly isTransfer: boolean;212 readonly asTransfer: {213 readonly from: AccountId32;214 readonly to: AccountId32;215 readonly amount: u128;216 } & Struct;217 readonly isBalanceSet: boolean;218 readonly asBalanceSet: {219 readonly who: AccountId32;220 readonly free: u128;221 readonly reserved: u128;222 } & Struct;223 readonly isReserved: boolean;224 readonly asReserved: {225 readonly who: AccountId32;226 readonly amount: u128;227 } & Struct;228 readonly isUnreserved: boolean;229 readonly asUnreserved: {230 readonly who: AccountId32;231 readonly amount: u128;232 } & Struct;233 readonly isReserveRepatriated: boolean;234 readonly asReserveRepatriated: {235 readonly from: AccountId32;236 readonly to: AccountId32;237 readonly amount: u128;238 readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;239 } & Struct;240 readonly isDeposit: boolean;241 readonly asDeposit: {242 readonly who: AccountId32;243 readonly amount: u128;244 } & Struct;245 readonly isWithdraw: boolean;246 readonly asWithdraw: {247 readonly who: AccountId32;248 readonly amount: u128;249 } & Struct;250 readonly isSlashed: boolean;251 readonly asSlashed: {252 readonly who: AccountId32;253 readonly amount: u128;254 } & Struct;255 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';256 }257258 /** @name FrameSupportTokensMiscBalanceStatus (31) */259 interface FrameSupportTokensMiscBalanceStatus extends Enum {260 readonly isFree: boolean;261 readonly isReserved: boolean;262 readonly type: 'Free' | 'Reserved';263 }264265 /** @name PalletTransactionPaymentEvent (32) */266 interface PalletTransactionPaymentEvent extends Enum {267 readonly isTransactionFeePaid: boolean;268 readonly asTransactionFeePaid: {269 readonly who: AccountId32;270 readonly actualFee: u128;271 readonly tip: u128;272 } & Struct;273 readonly type: 'TransactionFeePaid';274 }275276 /** @name PalletTreasuryEvent (33) */277 interface PalletTreasuryEvent extends Enum {278 readonly isProposed: boolean;279 readonly asProposed: {280 readonly proposalIndex: u32;281 } & Struct;282 readonly isSpending: boolean;283 readonly asSpending: {284 readonly budgetRemaining: u128;285 } & Struct;286 readonly isAwarded: boolean;287 readonly asAwarded: {288 readonly proposalIndex: u32;289 readonly award: u128;290 readonly account: AccountId32;291 } & Struct;292 readonly isRejected: boolean;293 readonly asRejected: {294 readonly proposalIndex: u32;295 readonly slashed: u128;296 } & Struct;297 readonly isBurnt: boolean;298 readonly asBurnt: {299 readonly burntFunds: u128;300 } & Struct;301 readonly isRollover: boolean;302 readonly asRollover: {303 readonly rolloverBalance: u128;304 } & Struct;305 readonly isDeposit: boolean;306 readonly asDeposit: {307 readonly value: u128;308 } & Struct;309 readonly isSpendApproved: boolean;310 readonly asSpendApproved: {311 readonly proposalIndex: u32;312 readonly amount: u128;313 readonly beneficiary: AccountId32;314 } & Struct;315 readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit' | 'SpendApproved';316 }317318 /** @name PalletSudoEvent (34) */319 interface PalletSudoEvent extends Enum {320 readonly isSudid: boolean;321 readonly asSudid: {322 readonly sudoResult: Result<Null, SpRuntimeDispatchError>;323 } & Struct;324 readonly isKeyChanged: boolean;325 readonly asKeyChanged: {326 readonly oldSudoer: Option<AccountId32>;327 } & Struct;328 readonly isSudoAsDone: boolean;329 readonly asSudoAsDone: {330 readonly sudoResult: Result<Null, SpRuntimeDispatchError>;331 } & Struct;332 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';333 }334335 /** @name OrmlVestingModuleEvent (38) */336 interface OrmlVestingModuleEvent extends Enum {337 readonly isVestingScheduleAdded: boolean;338 readonly asVestingScheduleAdded: {339 readonly from: AccountId32;340 readonly to: AccountId32;341 readonly vestingSchedule: OrmlVestingVestingSchedule;342 } & Struct;343 readonly isClaimed: boolean;344 readonly asClaimed: {345 readonly who: AccountId32;346 readonly amount: u128;347 } & Struct;348 readonly isVestingSchedulesUpdated: boolean;349 readonly asVestingSchedulesUpdated: {350 readonly who: AccountId32;351 } & Struct;352 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';353 }354355 /** @name OrmlVestingVestingSchedule (39) */356 interface OrmlVestingVestingSchedule extends Struct {357 readonly start: u32;358 readonly period: u32;359 readonly periodCount: u32;360 readonly perPeriod: Compact<u128>;361 }362363 /** @name OrmlXtokensModuleEvent (41) */364 interface OrmlXtokensModuleEvent extends Enum {365 readonly isTransferredMultiAssets: boolean;366 readonly asTransferredMultiAssets: {367 readonly sender: AccountId32;368 readonly assets: XcmV1MultiassetMultiAssets;369 readonly fee: XcmV1MultiAsset;370 readonly dest: XcmV1MultiLocation;371 } & Struct;372 readonly type: 'TransferredMultiAssets';373 }374375 /** @name XcmV1MultiassetMultiAssets (42) */376 interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}377378 /** @name XcmV1MultiAsset (44) */379 interface XcmV1MultiAsset extends Struct {380 readonly id: XcmV1MultiassetAssetId;381 readonly fun: XcmV1MultiassetFungibility;382 }383384 /** @name XcmV1MultiassetAssetId (45) */385 interface XcmV1MultiassetAssetId extends Enum {386 readonly isConcrete: boolean;387 readonly asConcrete: XcmV1MultiLocation;388 readonly isAbstract: boolean;389 readonly asAbstract: Bytes;390 readonly type: 'Concrete' | 'Abstract';391 }392393 /** @name XcmV1MultiLocation (46) */394 interface XcmV1MultiLocation extends Struct {395 readonly parents: u8;396 readonly interior: XcmV1MultilocationJunctions;397 }398399 /** @name XcmV1MultilocationJunctions (47) */400 interface XcmV1MultilocationJunctions extends Enum {401 readonly isHere: boolean;402 readonly isX1: boolean;403 readonly asX1: XcmV1Junction;404 readonly isX2: boolean;405 readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;406 readonly isX3: boolean;407 readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;408 readonly isX4: boolean;409 readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;410 readonly isX5: boolean;411 readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;412 readonly isX6: boolean;413 readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;414 readonly isX7: boolean;415 readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;416 readonly isX8: boolean;417 readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;418 readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';419 }420421 /** @name XcmV1Junction (48) */422 interface XcmV1Junction extends Enum {423 readonly isParachain: boolean;424 readonly asParachain: Compact<u32>;425 readonly isAccountId32: boolean;426 readonly asAccountId32: {427 readonly network: XcmV0JunctionNetworkId;428 readonly id: U8aFixed;429 } & Struct;430 readonly isAccountIndex64: boolean;431 readonly asAccountIndex64: {432 readonly network: XcmV0JunctionNetworkId;433 readonly index: Compact<u64>;434 } & Struct;435 readonly isAccountKey20: boolean;436 readonly asAccountKey20: {437 readonly network: XcmV0JunctionNetworkId;438 readonly key: U8aFixed;439 } & Struct;440 readonly isPalletInstance: boolean;441 readonly asPalletInstance: u8;442 readonly isGeneralIndex: boolean;443 readonly asGeneralIndex: Compact<u128>;444 readonly isGeneralKey: boolean;445 readonly asGeneralKey: Bytes;446 readonly isOnlyChild: boolean;447 readonly isPlurality: boolean;448 readonly asPlurality: {449 readonly id: XcmV0JunctionBodyId;450 readonly part: XcmV0JunctionBodyPart;451 } & Struct;452 readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';453 }454455 /** @name XcmV0JunctionNetworkId (50) */456 interface XcmV0JunctionNetworkId extends Enum {457 readonly isAny: boolean;458 readonly isNamed: boolean;459 readonly asNamed: Bytes;460 readonly isPolkadot: boolean;461 readonly isKusama: boolean;462 readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';463 }464465 /** @name XcmV0JunctionBodyId (53) */466 interface XcmV0JunctionBodyId extends Enum {467 readonly isUnit: boolean;468 readonly isNamed: boolean;469 readonly asNamed: Bytes;470 readonly isIndex: boolean;471 readonly asIndex: Compact<u32>;472 readonly isExecutive: boolean;473 readonly isTechnical: boolean;474 readonly isLegislative: boolean;475 readonly isJudicial: boolean;476 readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';477 }478479 /** @name XcmV0JunctionBodyPart (54) */480 interface XcmV0JunctionBodyPart extends Enum {481 readonly isVoice: boolean;482 readonly isMembers: boolean;483 readonly asMembers: {484 readonly count: Compact<u32>;485 } & Struct;486 readonly isFraction: boolean;487 readonly asFraction: {488 readonly nom: Compact<u32>;489 readonly denom: Compact<u32>;490 } & Struct;491 readonly isAtLeastProportion: boolean;492 readonly asAtLeastProportion: {493 readonly nom: Compact<u32>;494 readonly denom: Compact<u32>;495 } & Struct;496 readonly isMoreThanProportion: boolean;497 readonly asMoreThanProportion: {498 readonly nom: Compact<u32>;499 readonly denom: Compact<u32>;500 } & Struct;501 readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';502 }503504 /** @name XcmV1MultiassetFungibility (55) */505 interface XcmV1MultiassetFungibility extends Enum {506 readonly isFungible: boolean;507 readonly asFungible: Compact<u128>;508 readonly isNonFungible: boolean;509 readonly asNonFungible: XcmV1MultiassetAssetInstance;510 readonly type: 'Fungible' | 'NonFungible';511 }512513 /** @name XcmV1MultiassetAssetInstance (56) */514 interface XcmV1MultiassetAssetInstance extends Enum {515 readonly isUndefined: boolean;516 readonly isIndex: boolean;517 readonly asIndex: Compact<u128>;518 readonly isArray4: boolean;519 readonly asArray4: U8aFixed;520 readonly isArray8: boolean;521 readonly asArray8: U8aFixed;522 readonly isArray16: boolean;523 readonly asArray16: U8aFixed;524 readonly isArray32: boolean;525 readonly asArray32: U8aFixed;526 readonly isBlob: boolean;527 readonly asBlob: Bytes;528 readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';529 }530531 /** @name OrmlTokensModuleEvent (59) */532 interface OrmlTokensModuleEvent extends Enum {533 readonly isEndowed: boolean;534 readonly asEndowed: {535 readonly currencyId: PalletForeignAssetsAssetIds;536 readonly who: AccountId32;537 readonly amount: u128;538 } & Struct;539 readonly isDustLost: boolean;540 readonly asDustLost: {541 readonly currencyId: PalletForeignAssetsAssetIds;542 readonly who: AccountId32;543 readonly amount: u128;544 } & Struct;545 readonly isTransfer: boolean;546 readonly asTransfer: {547 readonly currencyId: PalletForeignAssetsAssetIds;548 readonly from: AccountId32;549 readonly to: AccountId32;550 readonly amount: u128;551 } & Struct;552 readonly isReserved: boolean;553 readonly asReserved: {554 readonly currencyId: PalletForeignAssetsAssetIds;555 readonly who: AccountId32;556 readonly amount: u128;557 } & Struct;558 readonly isUnreserved: boolean;559 readonly asUnreserved: {560 readonly currencyId: PalletForeignAssetsAssetIds;561 readonly who: AccountId32;562 readonly amount: u128;563 } & Struct;564 readonly isReserveRepatriated: boolean;565 readonly asReserveRepatriated: {566 readonly currencyId: PalletForeignAssetsAssetIds;567 readonly from: AccountId32;568 readonly to: AccountId32;569 readonly amount: u128;570 readonly status: FrameSupportTokensMiscBalanceStatus;571 } & Struct;572 readonly isBalanceSet: boolean;573 readonly asBalanceSet: {574 readonly currencyId: PalletForeignAssetsAssetIds;575 readonly who: AccountId32;576 readonly free: u128;577 readonly reserved: u128;578 } & Struct;579 readonly isTotalIssuanceSet: boolean;580 readonly asTotalIssuanceSet: {581 readonly currencyId: PalletForeignAssetsAssetIds;582 readonly amount: u128;583 } & Struct;584 readonly isWithdrawn: boolean;585 readonly asWithdrawn: {586 readonly currencyId: PalletForeignAssetsAssetIds;587 readonly who: AccountId32;588 readonly amount: u128;589 } & Struct;590 readonly isSlashed: boolean;591 readonly asSlashed: {592 readonly currencyId: PalletForeignAssetsAssetIds;593 readonly who: AccountId32;594 readonly freeAmount: u128;595 readonly reservedAmount: u128;596 } & Struct;597 readonly isDeposited: boolean;598 readonly asDeposited: {599 readonly currencyId: PalletForeignAssetsAssetIds;600 readonly who: AccountId32;601 readonly amount: u128;602 } & Struct;603 readonly isLockSet: boolean;604 readonly asLockSet: {605 readonly lockId: U8aFixed;606 readonly currencyId: PalletForeignAssetsAssetIds;607 readonly who: AccountId32;608 readonly amount: u128;609 } & Struct;610 readonly isLockRemoved: boolean;611 readonly asLockRemoved: {612 readonly lockId: U8aFixed;613 readonly currencyId: PalletForeignAssetsAssetIds;614 readonly who: AccountId32;615 } & Struct;616 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'BalanceSet' | 'TotalIssuanceSet' | 'Withdrawn' | 'Slashed' | 'Deposited' | 'LockSet' | 'LockRemoved';617 }618619 /** @name PalletForeignAssetsAssetIds (60) */620 interface PalletForeignAssetsAssetIds extends Enum {621 readonly isForeignAssetId: boolean;622 readonly asForeignAssetId: u32;623 readonly isNativeAssetId: boolean;624 readonly asNativeAssetId: PalletForeignAssetsNativeCurrency;625 readonly type: 'ForeignAssetId' | 'NativeAssetId';626 }627628 /** @name PalletForeignAssetsNativeCurrency (61) */629 interface PalletForeignAssetsNativeCurrency extends Enum {630 readonly isHere: boolean;631 readonly isParent: boolean;632 readonly type: 'Here' | 'Parent';633 }634635 /** @name CumulusPalletXcmpQueueEvent (62) */636 interface CumulusPalletXcmpQueueEvent extends Enum {637 readonly isSuccess: boolean;638 readonly asSuccess: {639 readonly messageHash: Option<H256>;640 readonly weight: SpWeightsWeightV2Weight;641 } & Struct;642 readonly isFail: boolean;643 readonly asFail: {644 readonly messageHash: Option<H256>;645 readonly error: XcmV2TraitsError;646 readonly weight: SpWeightsWeightV2Weight;647 } & Struct;648 readonly isBadVersion: boolean;649 readonly asBadVersion: {650 readonly messageHash: Option<H256>;651 } & Struct;652 readonly isBadFormat: boolean;653 readonly asBadFormat: {654 readonly messageHash: Option<H256>;655 } & Struct;656 readonly isUpwardMessageSent: boolean;657 readonly asUpwardMessageSent: {658 readonly messageHash: Option<H256>;659 } & Struct;660 readonly isXcmpMessageSent: boolean;661 readonly asXcmpMessageSent: {662 readonly messageHash: Option<H256>;663 } & Struct;664 readonly isOverweightEnqueued: boolean;665 readonly asOverweightEnqueued: {666 readonly sender: u32;667 readonly sentAt: u32;668 readonly index: u64;669 readonly required: SpWeightsWeightV2Weight;670 } & Struct;671 readonly isOverweightServiced: boolean;672 readonly asOverweightServiced: {673 readonly index: u64;674 readonly used: SpWeightsWeightV2Weight;675 } & Struct;676 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';677 }678679 /** @name XcmV2TraitsError (64) */680 interface XcmV2TraitsError extends Enum {681 readonly isOverflow: boolean;682 readonly isUnimplemented: boolean;683 readonly isUntrustedReserveLocation: boolean;684 readonly isUntrustedTeleportLocation: boolean;685 readonly isMultiLocationFull: boolean;686 readonly isMultiLocationNotInvertible: boolean;687 readonly isBadOrigin: boolean;688 readonly isInvalidLocation: boolean;689 readonly isAssetNotFound: boolean;690 readonly isFailedToTransactAsset: boolean;691 readonly isNotWithdrawable: boolean;692 readonly isLocationCannotHold: boolean;693 readonly isExceedsMaxMessageSize: boolean;694 readonly isDestinationUnsupported: boolean;695 readonly isTransport: boolean;696 readonly isUnroutable: boolean;697 readonly isUnknownClaim: boolean;698 readonly isFailedToDecode: boolean;699 readonly isMaxWeightInvalid: boolean;700 readonly isNotHoldingFees: boolean;701 readonly isTooExpensive: boolean;702 readonly isTrap: boolean;703 readonly asTrap: u64;704 readonly isUnhandledXcmVersion: boolean;705 readonly isWeightLimitReached: boolean;706 readonly asWeightLimitReached: u64;707 readonly isBarrier: boolean;708 readonly isWeightNotComputable: boolean;709 readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable';710 }711712 /** @name PalletXcmEvent (66) */713 interface PalletXcmEvent extends Enum {714 readonly isAttempted: boolean;715 readonly asAttempted: XcmV2TraitsOutcome;716 readonly isSent: boolean;717 readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;718 readonly isUnexpectedResponse: boolean;719 readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;720 readonly isResponseReady: boolean;721 readonly asResponseReady: ITuple<[u64, XcmV2Response]>;722 readonly isNotified: boolean;723 readonly asNotified: ITuple<[u64, u8, u8]>;724 readonly isNotifyOverweight: boolean;725 readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>;726 readonly isNotifyDispatchError: boolean;727 readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;728 readonly isNotifyDecodeFailed: boolean;729 readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;730 readonly isInvalidResponder: boolean;731 readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;732 readonly isInvalidResponderVersion: boolean;733 readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;734 readonly isResponseTaken: boolean;735 readonly asResponseTaken: u64;736 readonly isAssetsTrapped: boolean;737 readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;738 readonly isVersionChangeNotified: boolean;739 readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;740 readonly isSupportedVersionChanged: boolean;741 readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;742 readonly isNotifyTargetSendFail: boolean;743 readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;744 readonly isNotifyTargetMigrationFail: boolean;745 readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;746 readonly isAssetsClaimed: boolean;747 readonly asAssetsClaimed: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;748 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'AssetsClaimed';749 }750751 /** @name XcmV2TraitsOutcome (67) */752 interface XcmV2TraitsOutcome extends Enum {753 readonly isComplete: boolean;754 readonly asComplete: u64;755 readonly isIncomplete: boolean;756 readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;757 readonly isError: boolean;758 readonly asError: XcmV2TraitsError;759 readonly type: 'Complete' | 'Incomplete' | 'Error';760 }761762 /** @name XcmV2Xcm (68) */763 interface XcmV2Xcm extends Vec<XcmV2Instruction> {}764765 /** @name XcmV2Instruction (70) */766 interface XcmV2Instruction extends Enum {767 readonly isWithdrawAsset: boolean;768 readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;769 readonly isReserveAssetDeposited: boolean;770 readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;771 readonly isReceiveTeleportedAsset: boolean;772 readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;773 readonly isQueryResponse: boolean;774 readonly asQueryResponse: {775 readonly queryId: Compact<u64>;776 readonly response: XcmV2Response;777 readonly maxWeight: Compact<u64>;778 } & Struct;779 readonly isTransferAsset: boolean;780 readonly asTransferAsset: {781 readonly assets: XcmV1MultiassetMultiAssets;782 readonly beneficiary: XcmV1MultiLocation;783 } & Struct;784 readonly isTransferReserveAsset: boolean;785 readonly asTransferReserveAsset: {786 readonly assets: XcmV1MultiassetMultiAssets;787 readonly dest: XcmV1MultiLocation;788 readonly xcm: XcmV2Xcm;789 } & Struct;790 readonly isTransact: boolean;791 readonly asTransact: {792 readonly originType: XcmV0OriginKind;793 readonly requireWeightAtMost: Compact<u64>;794 readonly call: XcmDoubleEncoded;795 } & Struct;796 readonly isHrmpNewChannelOpenRequest: boolean;797 readonly asHrmpNewChannelOpenRequest: {798 readonly sender: Compact<u32>;799 readonly maxMessageSize: Compact<u32>;800 readonly maxCapacity: Compact<u32>;801 } & Struct;802 readonly isHrmpChannelAccepted: boolean;803 readonly asHrmpChannelAccepted: {804 readonly recipient: Compact<u32>;805 } & Struct;806 readonly isHrmpChannelClosing: boolean;807 readonly asHrmpChannelClosing: {808 readonly initiator: Compact<u32>;809 readonly sender: Compact<u32>;810 readonly recipient: Compact<u32>;811 } & Struct;812 readonly isClearOrigin: boolean;813 readonly isDescendOrigin: boolean;814 readonly asDescendOrigin: XcmV1MultilocationJunctions;815 readonly isReportError: boolean;816 readonly asReportError: {817 readonly queryId: Compact<u64>;818 readonly dest: XcmV1MultiLocation;819 readonly maxResponseWeight: Compact<u64>;820 } & Struct;821 readonly isDepositAsset: boolean;822 readonly asDepositAsset: {823 readonly assets: XcmV1MultiassetMultiAssetFilter;824 readonly maxAssets: Compact<u32>;825 readonly beneficiary: XcmV1MultiLocation;826 } & Struct;827 readonly isDepositReserveAsset: boolean;828 readonly asDepositReserveAsset: {829 readonly assets: XcmV1MultiassetMultiAssetFilter;830 readonly maxAssets: Compact<u32>;831 readonly dest: XcmV1MultiLocation;832 readonly xcm: XcmV2Xcm;833 } & Struct;834 readonly isExchangeAsset: boolean;835 readonly asExchangeAsset: {836 readonly give: XcmV1MultiassetMultiAssetFilter;837 readonly receive: XcmV1MultiassetMultiAssets;838 } & Struct;839 readonly isInitiateReserveWithdraw: boolean;840 readonly asInitiateReserveWithdraw: {841 readonly assets: XcmV1MultiassetMultiAssetFilter;842 readonly reserve: XcmV1MultiLocation;843 readonly xcm: XcmV2Xcm;844 } & Struct;845 readonly isInitiateTeleport: boolean;846 readonly asInitiateTeleport: {847 readonly assets: XcmV1MultiassetMultiAssetFilter;848 readonly dest: XcmV1MultiLocation;849 readonly xcm: XcmV2Xcm;850 } & Struct;851 readonly isQueryHolding: boolean;852 readonly asQueryHolding: {853 readonly queryId: Compact<u64>;854 readonly dest: XcmV1MultiLocation;855 readonly assets: XcmV1MultiassetMultiAssetFilter;856 readonly maxResponseWeight: Compact<u64>;857 } & Struct;858 readonly isBuyExecution: boolean;859 readonly asBuyExecution: {860 readonly fees: XcmV1MultiAsset;861 readonly weightLimit: XcmV2WeightLimit;862 } & Struct;863 readonly isRefundSurplus: boolean;864 readonly isSetErrorHandler: boolean;865 readonly asSetErrorHandler: XcmV2Xcm;866 readonly isSetAppendix: boolean;867 readonly asSetAppendix: XcmV2Xcm;868 readonly isClearError: boolean;869 readonly isClaimAsset: boolean;870 readonly asClaimAsset: {871 readonly assets: XcmV1MultiassetMultiAssets;872 readonly ticket: XcmV1MultiLocation;873 } & Struct;874 readonly isTrap: boolean;875 readonly asTrap: Compact<u64>;876 readonly isSubscribeVersion: boolean;877 readonly asSubscribeVersion: {878 readonly queryId: Compact<u64>;879 readonly maxResponseWeight: Compact<u64>;880 } & Struct;881 readonly isUnsubscribeVersion: boolean;882 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion';883 }884885 /** @name XcmV2Response (71) */886 interface XcmV2Response extends Enum {887 readonly isNull: boolean;888 readonly isAssets: boolean;889 readonly asAssets: XcmV1MultiassetMultiAssets;890 readonly isExecutionResult: boolean;891 readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;892 readonly isVersion: boolean;893 readonly asVersion: u32;894 readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';895 }896897 /** @name XcmV0OriginKind (74) */898 interface XcmV0OriginKind extends Enum {899 readonly isNative: boolean;900 readonly isSovereignAccount: boolean;901 readonly isSuperuser: boolean;902 readonly isXcm: boolean;903 readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';904 }905906 /** @name XcmDoubleEncoded (75) */907 interface XcmDoubleEncoded extends Struct {908 readonly encoded: Bytes;909 }910911 /** @name XcmV1MultiassetMultiAssetFilter (76) */912 interface XcmV1MultiassetMultiAssetFilter extends Enum {913 readonly isDefinite: boolean;914 readonly asDefinite: XcmV1MultiassetMultiAssets;915 readonly isWild: boolean;916 readonly asWild: XcmV1MultiassetWildMultiAsset;917 readonly type: 'Definite' | 'Wild';918 }919920 /** @name XcmV1MultiassetWildMultiAsset (77) */921 interface XcmV1MultiassetWildMultiAsset extends Enum {922 readonly isAll: boolean;923 readonly isAllOf: boolean;924 readonly asAllOf: {925 readonly id: XcmV1MultiassetAssetId;926 readonly fun: XcmV1MultiassetWildFungibility;927 } & Struct;928 readonly type: 'All' | 'AllOf';929 }930931 /** @name XcmV1MultiassetWildFungibility (78) */932 interface XcmV1MultiassetWildFungibility extends Enum {933 readonly isFungible: boolean;934 readonly isNonFungible: boolean;935 readonly type: 'Fungible' | 'NonFungible';936 }937938 /** @name XcmV2WeightLimit (79) */939 interface XcmV2WeightLimit extends Enum {940 readonly isUnlimited: boolean;941 readonly isLimited: boolean;942 readonly asLimited: Compact<u64>;943 readonly type: 'Unlimited' | 'Limited';944 }945946 /** @name XcmVersionedMultiAssets (81) */947 interface XcmVersionedMultiAssets extends Enum {948 readonly isV0: boolean;949 readonly asV0: Vec<XcmV0MultiAsset>;950 readonly isV1: boolean;951 readonly asV1: XcmV1MultiassetMultiAssets;952 readonly type: 'V0' | 'V1';953 }954955 /** @name XcmV0MultiAsset (83) */956 interface XcmV0MultiAsset extends Enum {957 readonly isNone: boolean;958 readonly isAll: boolean;959 readonly isAllFungible: boolean;960 readonly isAllNonFungible: boolean;961 readonly isAllAbstractFungible: boolean;962 readonly asAllAbstractFungible: {963 readonly id: Bytes;964 } & Struct;965 readonly isAllAbstractNonFungible: boolean;966 readonly asAllAbstractNonFungible: {967 readonly class: Bytes;968 } & Struct;969 readonly isAllConcreteFungible: boolean;970 readonly asAllConcreteFungible: {971 readonly id: XcmV0MultiLocation;972 } & Struct;973 readonly isAllConcreteNonFungible: boolean;974 readonly asAllConcreteNonFungible: {975 readonly class: XcmV0MultiLocation;976 } & Struct;977 readonly isAbstractFungible: boolean;978 readonly asAbstractFungible: {979 readonly id: Bytes;980 readonly amount: Compact<u128>;981 } & Struct;982 readonly isAbstractNonFungible: boolean;983 readonly asAbstractNonFungible: {984 readonly class: Bytes;985 readonly instance: XcmV1MultiassetAssetInstance;986 } & Struct;987 readonly isConcreteFungible: boolean;988 readonly asConcreteFungible: {989 readonly id: XcmV0MultiLocation;990 readonly amount: Compact<u128>;991 } & Struct;992 readonly isConcreteNonFungible: boolean;993 readonly asConcreteNonFungible: {994 readonly class: XcmV0MultiLocation;995 readonly instance: XcmV1MultiassetAssetInstance;996 } & Struct;997 readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';998 }9991000 /** @name XcmV0MultiLocation (84) */1001 interface XcmV0MultiLocation extends Enum {1002 readonly isNull: boolean;1003 readonly isX1: boolean;1004 readonly asX1: XcmV0Junction;1005 readonly isX2: boolean;1006 readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;1007 readonly isX3: boolean;1008 readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1009 readonly isX4: boolean;1010 readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1011 readonly isX5: boolean;1012 readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1013 readonly isX6: boolean;1014 readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1015 readonly isX7: boolean;1016 readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1017 readonly isX8: boolean;1018 readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;1019 readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';1020 }10211022 /** @name XcmV0Junction (85) */1023 interface XcmV0Junction extends Enum {1024 readonly isParent: boolean;1025 readonly isParachain: boolean;1026 readonly asParachain: Compact<u32>;1027 readonly isAccountId32: boolean;1028 readonly asAccountId32: {1029 readonly network: XcmV0JunctionNetworkId;1030 readonly id: U8aFixed;1031 } & Struct;1032 readonly isAccountIndex64: boolean;1033 readonly asAccountIndex64: {1034 readonly network: XcmV0JunctionNetworkId;1035 readonly index: Compact<u64>;1036 } & Struct;1037 readonly isAccountKey20: boolean;1038 readonly asAccountKey20: {1039 readonly network: XcmV0JunctionNetworkId;1040 readonly key: U8aFixed;1041 } & Struct;1042 readonly isPalletInstance: boolean;1043 readonly asPalletInstance: u8;1044 readonly isGeneralIndex: boolean;1045 readonly asGeneralIndex: Compact<u128>;1046 readonly isGeneralKey: boolean;1047 readonly asGeneralKey: Bytes;1048 readonly isOnlyChild: boolean;1049 readonly isPlurality: boolean;1050 readonly asPlurality: {1051 readonly id: XcmV0JunctionBodyId;1052 readonly part: XcmV0JunctionBodyPart;1053 } & Struct;1054 readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';1055 }10561057 /** @name XcmVersionedMultiLocation (86) */1058 interface XcmVersionedMultiLocation extends Enum {1059 readonly isV0: boolean;1060 readonly asV0: XcmV0MultiLocation;1061 readonly isV1: boolean;1062 readonly asV1: XcmV1MultiLocation;1063 readonly type: 'V0' | 'V1';1064 }10651066 /** @name CumulusPalletXcmEvent (87) */1067 interface CumulusPalletXcmEvent extends Enum {1068 readonly isInvalidFormat: boolean;1069 readonly asInvalidFormat: U8aFixed;1070 readonly isUnsupportedVersion: boolean;1071 readonly asUnsupportedVersion: U8aFixed;1072 readonly isExecutedDownward: boolean;1073 readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;1074 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';1075 }10761077 /** @name CumulusPalletDmpQueueEvent (88) */1078 interface CumulusPalletDmpQueueEvent extends Enum {1079 readonly isInvalidFormat: boolean;1080 readonly asInvalidFormat: {1081 readonly messageId: U8aFixed;1082 } & Struct;1083 readonly isUnsupportedVersion: boolean;1084 readonly asUnsupportedVersion: {1085 readonly messageId: U8aFixed;1086 } & Struct;1087 readonly isExecutedDownward: boolean;1088 readonly asExecutedDownward: {1089 readonly messageId: U8aFixed;1090 readonly outcome: XcmV2TraitsOutcome;1091 } & Struct;1092 readonly isWeightExhausted: boolean;1093 readonly asWeightExhausted: {1094 readonly messageId: U8aFixed;1095 readonly remainingWeight: SpWeightsWeightV2Weight;1096 readonly requiredWeight: SpWeightsWeightV2Weight;1097 } & Struct;1098 readonly isOverweightEnqueued: boolean;1099 readonly asOverweightEnqueued: {1100 readonly messageId: U8aFixed;1101 readonly overweightIndex: u64;1102 readonly requiredWeight: SpWeightsWeightV2Weight;1103 } & Struct;1104 readonly isOverweightServiced: boolean;1105 readonly asOverweightServiced: {1106 readonly overweightIndex: u64;1107 readonly weightUsed: SpWeightsWeightV2Weight;1108 } & Struct;1109 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';1110 }11111112 /** @name PalletConfigurationEvent (89) */1113 interface PalletConfigurationEvent extends Enum {1114 readonly isNewDesiredCollators: boolean;1115 readonly asNewDesiredCollators: {1116 readonly desiredCollators: Option<u32>;1117 } & Struct;1118 readonly isNewCollatorLicenseBond: boolean;1119 readonly asNewCollatorLicenseBond: {1120 readonly bondCost: Option<u128>;1121 } & Struct;1122 readonly isNewCollatorKickThreshold: boolean;1123 readonly asNewCollatorKickThreshold: {1124 readonly lengthInBlocks: Option<u32>;1125 } & Struct;1126 readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';1127 }11281129 /** @name PalletCommonEvent (92) */1130 interface PalletCommonEvent extends Enum {1131 readonly isCollectionCreated: boolean;1132 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;1133 readonly isCollectionDestroyed: boolean;1134 readonly asCollectionDestroyed: u32;1135 readonly isItemCreated: boolean;1136 readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1137 readonly isItemDestroyed: boolean;1138 readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1139 readonly isTransfer: boolean;1140 readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1141 readonly isApproved: boolean;1142 readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;1143 readonly isApprovedForAll: boolean;1144 readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>;1145 readonly isCollectionPropertySet: boolean;1146 readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;1147 readonly isCollectionPropertyDeleted: boolean;1148 readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;1149 readonly isTokenPropertySet: boolean;1150 readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;1151 readonly isTokenPropertyDeleted: boolean;1152 readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;1153 readonly isPropertyPermissionSet: boolean;1154 readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;1155 readonly isAllowListAddressAdded: boolean;1156 readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1157 readonly isAllowListAddressRemoved: boolean;1158 readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1159 readonly isCollectionAdminAdded: boolean;1160 readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1161 readonly isCollectionAdminRemoved: boolean;1162 readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1163 readonly isCollectionLimitSet: boolean;1164 readonly asCollectionLimitSet: u32;1165 readonly isCollectionOwnerChanged: boolean;1166 readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>;1167 readonly isCollectionPermissionSet: boolean;1168 readonly asCollectionPermissionSet: u32;1169 readonly isCollectionSponsorSet: boolean;1170 readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1171 readonly isSponsorshipConfirmed: boolean;1172 readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1173 readonly isCollectionSponsorRemoved: boolean;1174 readonly asCollectionSponsorRemoved: u32;1175 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved';1176 }11771178 /** @name PalletEvmAccountBasicCrossAccountIdRepr (95) */1179 interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {1180 readonly isSubstrate: boolean;1181 readonly asSubstrate: AccountId32;1182 readonly isEthereum: boolean;1183 readonly asEthereum: H160;1184 readonly type: 'Substrate' | 'Ethereum';1185 }11861187 /** @name PalletStructureEvent (99) */1188 interface PalletStructureEvent extends Enum {1189 readonly isExecuted: boolean;1190 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1191 readonly type: 'Executed';1192 }11931194 /** @name PalletRmrkCoreEvent (100) */1195 interface PalletRmrkCoreEvent extends Enum {1196 readonly isCollectionCreated: boolean;1197 readonly asCollectionCreated: {1198 readonly issuer: AccountId32;1199 readonly collectionId: u32;1200 } & Struct;1201 readonly isCollectionDestroyed: boolean;1202 readonly asCollectionDestroyed: {1203 readonly issuer: AccountId32;1204 readonly collectionId: u32;1205 } & Struct;1206 readonly isIssuerChanged: boolean;1207 readonly asIssuerChanged: {1208 readonly oldIssuer: AccountId32;1209 readonly newIssuer: AccountId32;1210 readonly collectionId: u32;1211 } & Struct;1212 readonly isCollectionLocked: boolean;1213 readonly asCollectionLocked: {1214 readonly issuer: AccountId32;1215 readonly collectionId: u32;1216 } & Struct;1217 readonly isNftMinted: boolean;1218 readonly asNftMinted: {1219 readonly owner: AccountId32;1220 readonly collectionId: u32;1221 readonly nftId: u32;1222 } & Struct;1223 readonly isNftBurned: boolean;1224 readonly asNftBurned: {1225 readonly owner: AccountId32;1226 readonly nftId: u32;1227 } & Struct;1228 readonly isNftSent: boolean;1229 readonly asNftSent: {1230 readonly sender: AccountId32;1231 readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1232 readonly collectionId: u32;1233 readonly nftId: u32;1234 readonly approvalRequired: bool;1235 } & Struct;1236 readonly isNftAccepted: boolean;1237 readonly asNftAccepted: {1238 readonly sender: AccountId32;1239 readonly recipient: RmrkTraitsNftAccountIdOrCollectionNftTuple;1240 readonly collectionId: u32;1241 readonly nftId: u32;1242 } & Struct;1243 readonly isNftRejected: boolean;1244 readonly asNftRejected: {1245 readonly sender: AccountId32;1246 readonly collectionId: u32;1247 readonly nftId: u32;1248 } & Struct;1249 readonly isPropertySet: boolean;1250 readonly asPropertySet: {1251 readonly collectionId: u32;1252 readonly maybeNftId: Option<u32>;1253 readonly key: Bytes;1254 readonly value: Bytes;1255 } & Struct;1256 readonly isResourceAdded: boolean;1257 readonly asResourceAdded: {1258 readonly nftId: u32;1259 readonly resourceId: u32;1260 } & Struct;1261 readonly isResourceRemoval: boolean;1262 readonly asResourceRemoval: {1263 readonly nftId: u32;1264 readonly resourceId: u32;1265 } & Struct;1266 readonly isResourceAccepted: boolean;1267 readonly asResourceAccepted: {1268 readonly nftId: u32;1269 readonly resourceId: u32;1270 } & Struct;1271 readonly isResourceRemovalAccepted: boolean;1272 readonly asResourceRemovalAccepted: {1273 readonly nftId: u32;1274 readonly resourceId: u32;1275 } & Struct;1276 readonly isPrioritySet: boolean;1277 readonly asPrioritySet: {1278 readonly collectionId: u32;1279 readonly nftId: u32;1280 } & Struct;1281 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet';1282 }12831284 /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (101) */1285 interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum {1286 readonly isAccountId: boolean;1287 readonly asAccountId: AccountId32;1288 readonly isCollectionAndNftTuple: boolean;1289 readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;1290 readonly type: 'AccountId' | 'CollectionAndNftTuple';1291 }12921293 /** @name PalletRmrkEquipEvent (104) */1294 interface PalletRmrkEquipEvent extends Enum {1295 readonly isBaseCreated: boolean;1296 readonly asBaseCreated: {1297 readonly issuer: AccountId32;1298 readonly baseId: u32;1299 } & Struct;1300 readonly isEquippablesUpdated: boolean;1301 readonly asEquippablesUpdated: {1302 readonly baseId: u32;1303 readonly slotId: u32;1304 } & Struct;1305 readonly type: 'BaseCreated' | 'EquippablesUpdated';1306 }13071308 /** @name PalletAppPromotionEvent (105) */1309 interface PalletAppPromotionEvent extends Enum {1310 readonly isStakingRecalculation: boolean;1311 readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>;1312 readonly isStake: boolean;1313 readonly asStake: ITuple<[AccountId32, u128]>;1314 readonly isUnstake: boolean;1315 readonly asUnstake: ITuple<[AccountId32, u128]>;1316 readonly isSetAdmin: boolean;1317 readonly asSetAdmin: AccountId32;1318 readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin';1319 }13201321 /** @name PalletForeignAssetsModuleEvent (106) */1322 interface PalletForeignAssetsModuleEvent extends Enum {1323 readonly isForeignAssetRegistered: boolean;1324 readonly asForeignAssetRegistered: {1325 readonly assetId: u32;1326 readonly assetAddress: XcmV1MultiLocation;1327 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1328 } & Struct;1329 readonly isForeignAssetUpdated: boolean;1330 readonly asForeignAssetUpdated: {1331 readonly assetId: u32;1332 readonly assetAddress: XcmV1MultiLocation;1333 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1334 } & Struct;1335 readonly isAssetRegistered: boolean;1336 readonly asAssetRegistered: {1337 readonly assetId: PalletForeignAssetsAssetIds;1338 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1339 } & Struct;1340 readonly isAssetUpdated: boolean;1341 readonly asAssetUpdated: {1342 readonly assetId: PalletForeignAssetsAssetIds;1343 readonly metadata: PalletForeignAssetsModuleAssetMetadata;1344 } & Struct;1345 readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';1346 }13471348 /** @name PalletForeignAssetsModuleAssetMetadata (107) */1349 interface PalletForeignAssetsModuleAssetMetadata extends Struct {1350 readonly name: Bytes;1351 readonly symbol: Bytes;1352 readonly decimals: u8;1353 readonly minimalBalance: u128;1354 }13551356 /** @name PalletEvmEvent (108) */1357 interface PalletEvmEvent extends Enum {1358 readonly isLog: boolean;1359 readonly asLog: {1360 readonly log: EthereumLog;1361 } & Struct;1362 readonly isCreated: boolean;1363 readonly asCreated: {1364 readonly address: H160;1365 } & Struct;1366 readonly isCreatedFailed: boolean;1367 readonly asCreatedFailed: {1368 readonly address: H160;1369 } & Struct;1370 readonly isExecuted: boolean;1371 readonly asExecuted: {1372 readonly address: H160;1373 } & Struct;1374 readonly isExecutedFailed: boolean;1375 readonly asExecutedFailed: {1376 readonly address: H160;1377 } & Struct;1378 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';1379 }13801381 /** @name EthereumLog (109) */1382 interface EthereumLog extends Struct {1383 readonly address: H160;1384 readonly topics: Vec<H256>;1385 readonly data: Bytes;1386 }13871388 /** @name PalletEthereumEvent (111) */1389 interface PalletEthereumEvent extends Enum {1390 readonly isExecuted: boolean;1391 readonly asExecuted: {1392 readonly from: H160;1393 readonly to: H160;1394 readonly transactionHash: H256;1395 readonly exitReason: EvmCoreErrorExitReason;1396 } & Struct;1397 readonly type: 'Executed';1398 }13991400 /** @name EvmCoreErrorExitReason (112) */1401 interface EvmCoreErrorExitReason extends Enum {1402 readonly isSucceed: boolean;1403 readonly asSucceed: EvmCoreErrorExitSucceed;1404 readonly isError: boolean;1405 readonly asError: EvmCoreErrorExitError;1406 readonly isRevert: boolean;1407 readonly asRevert: EvmCoreErrorExitRevert;1408 readonly isFatal: boolean;1409 readonly asFatal: EvmCoreErrorExitFatal;1410 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';1411 }14121413 /** @name EvmCoreErrorExitSucceed (113) */1414 interface EvmCoreErrorExitSucceed extends Enum {1415 readonly isStopped: boolean;1416 readonly isReturned: boolean;1417 readonly isSuicided: boolean;1418 readonly type: 'Stopped' | 'Returned' | 'Suicided';1419 }14201421 /** @name EvmCoreErrorExitError (114) */1422 interface EvmCoreErrorExitError extends Enum {1423 readonly isStackUnderflow: boolean;1424 readonly isStackOverflow: boolean;1425 readonly isInvalidJump: boolean;1426 readonly isInvalidRange: boolean;1427 readonly isDesignatedInvalid: boolean;1428 readonly isCallTooDeep: boolean;1429 readonly isCreateCollision: boolean;1430 readonly isCreateContractLimit: boolean;1431 readonly isOutOfOffset: boolean;1432 readonly isOutOfGas: boolean;1433 readonly isOutOfFund: boolean;1434 readonly isPcUnderflow: boolean;1435 readonly isCreateEmpty: boolean;1436 readonly isOther: boolean;1437 readonly asOther: Text;1438 readonly isInvalidCode: boolean;1439 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';1440 }14411442 /** @name EvmCoreErrorExitRevert (117) */1443 interface EvmCoreErrorExitRevert extends Enum {1444 readonly isReverted: boolean;1445 readonly type: 'Reverted';1446 }14471448 /** @name EvmCoreErrorExitFatal (118) */1449 interface EvmCoreErrorExitFatal extends Enum {1450 readonly isNotSupported: boolean;1451 readonly isUnhandledInterrupt: boolean;1452 readonly isCallErrorAsFatal: boolean;1453 readonly asCallErrorAsFatal: EvmCoreErrorExitError;1454 readonly isOther: boolean;1455 readonly asOther: Text;1456 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';1457 }14581459 /** @name PalletEvmContractHelpersEvent (119) */1460 interface PalletEvmContractHelpersEvent extends Enum {1461 readonly isContractSponsorSet: boolean;1462 readonly asContractSponsorSet: ITuple<[H160, AccountId32]>;1463 readonly isContractSponsorshipConfirmed: boolean;1464 readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>;1465 readonly isContractSponsorRemoved: boolean;1466 readonly asContractSponsorRemoved: H160;1467 readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved';1468 }14691470 /** @name PalletEvmMigrationEvent (120) */1471 interface PalletEvmMigrationEvent extends Enum {1472 readonly isTestEvent: boolean;1473 readonly type: 'TestEvent';1474 }14751476 /** @name PalletMaintenanceEvent (121) */1477 interface PalletMaintenanceEvent extends Enum {1478 readonly isMaintenanceEnabled: boolean;1479 readonly isMaintenanceDisabled: boolean;1480 readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';1481 }14821483 /** @name PalletTestUtilsEvent (122) */1484 interface PalletTestUtilsEvent extends Enum {1485 readonly isValueIsSet: boolean;1486 readonly isShouldRollback: boolean;1487 readonly isBatchCompleted: boolean;1488 readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';1489 }14901491 /** @name FrameSystemPhase (123) */1492 interface FrameSystemPhase extends Enum {1493 readonly isApplyExtrinsic: boolean;1494 readonly asApplyExtrinsic: u32;1495 readonly isFinalization: boolean;1496 readonly isInitialization: boolean;1497 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';1498 }14991500 /** @name FrameSystemLastRuntimeUpgradeInfo (126) */1501 interface FrameSystemLastRuntimeUpgradeInfo extends Struct {1502 readonly specVersion: Compact<u32>;1503 readonly specName: Text;1504 }15051506 /** @name FrameSystemCall (127) */1507 interface FrameSystemCall extends Enum {1508 readonly isRemark: boolean;1509 readonly asRemark: {1510 readonly remark: Bytes;1511 } & Struct;1512 readonly isSetHeapPages: boolean;1513 readonly asSetHeapPages: {1514 readonly pages: u64;1515 } & Struct;1516 readonly isSetCode: boolean;1517 readonly asSetCode: {1518 readonly code: Bytes;1519 } & Struct;1520 readonly isSetCodeWithoutChecks: boolean;1521 readonly asSetCodeWithoutChecks: {1522 readonly code: Bytes;1523 } & Struct;1524 readonly isSetStorage: boolean;1525 readonly asSetStorage: {1526 readonly items: Vec<ITuple<[Bytes, Bytes]>>;1527 } & Struct;1528 readonly isKillStorage: boolean;1529 readonly asKillStorage: {1530 readonly keys_: Vec<Bytes>;1531 } & Struct;1532 readonly isKillPrefix: boolean;1533 readonly asKillPrefix: {1534 readonly prefix: Bytes;1535 readonly subkeys: u32;1536 } & Struct;1537 readonly isRemarkWithEvent: boolean;1538 readonly asRemarkWithEvent: {1539 readonly remark: Bytes;1540 } & Struct;1541 readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';1542 }15431544 /** @name FrameSystemLimitsBlockWeights (131) */1545 interface FrameSystemLimitsBlockWeights extends Struct {1546 readonly baseBlock: SpWeightsWeightV2Weight;1547 readonly maxBlock: SpWeightsWeightV2Weight;1548 readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;1549 }15501551 /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (132) */1552 interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {1553 readonly normal: FrameSystemLimitsWeightsPerClass;1554 readonly operational: FrameSystemLimitsWeightsPerClass;1555 readonly mandatory: FrameSystemLimitsWeightsPerClass;1556 }15571558 /** @name FrameSystemLimitsWeightsPerClass (133) */1559 interface FrameSystemLimitsWeightsPerClass extends Struct {1560 readonly baseExtrinsic: SpWeightsWeightV2Weight;1561 readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;1562 readonly maxTotal: Option<SpWeightsWeightV2Weight>;1563 readonly reserved: Option<SpWeightsWeightV2Weight>;1564 }15651566 /** @name FrameSystemLimitsBlockLength (135) */1567 interface FrameSystemLimitsBlockLength extends Struct {1568 readonly max: FrameSupportDispatchPerDispatchClassU32;1569 }15701571 /** @name FrameSupportDispatchPerDispatchClassU32 (136) */1572 interface FrameSupportDispatchPerDispatchClassU32 extends Struct {1573 readonly normal: u32;1574 readonly operational: u32;1575 readonly mandatory: u32;1576 }15771578 /** @name SpWeightsRuntimeDbWeight (137) */1579 interface SpWeightsRuntimeDbWeight extends Struct {1580 readonly read: u64;1581 readonly write: u64;1582 }15831584 /** @name SpVersionRuntimeVersion (138) */1585 interface SpVersionRuntimeVersion extends Struct {1586 readonly specName: Text;1587 readonly implName: Text;1588 readonly authoringVersion: u32;1589 readonly specVersion: u32;1590 readonly implVersion: u32;1591 readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1592 readonly transactionVersion: u32;1593 readonly stateVersion: u8;1594 }15951596 /** @name FrameSystemError (143) */1597 interface FrameSystemError extends Enum {1598 readonly isInvalidSpecName: boolean;1599 readonly isSpecVersionNeedsToIncrease: boolean;1600 readonly isFailedToExtractRuntimeVersion: boolean;1601 readonly isNonDefaultComposite: boolean;1602 readonly isNonZeroRefCount: boolean;1603 readonly isCallFiltered: boolean;1604 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';1605 }16061607 /** @name PolkadotPrimitivesV2PersistedValidationData (144) */1608 interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1609 readonly parentHead: Bytes;1610 readonly relayParentNumber: u32;1611 readonly relayParentStorageRoot: H256;1612 readonly maxPovSize: u32;1613 }16141615 /** @name PolkadotPrimitivesV2UpgradeRestriction (147) */1616 interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1617 readonly isPresent: boolean;1618 readonly type: 'Present';1619 }16201621 /** @name SpTrieStorageProof (148) */1622 interface SpTrieStorageProof extends Struct {1623 readonly trieNodes: BTreeSet<Bytes>;1624 }16251626 /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (150) */1627 interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {1628 readonly dmqMqcHead: H256;1629 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;1630 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1631 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;1632 }16331634 /** @name PolkadotPrimitivesV2AbridgedHrmpChannel (153) */1635 interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1636 readonly maxCapacity: u32;1637 readonly maxTotalSize: u32;1638 readonly maxMessageSize: u32;1639 readonly msgCount: u32;1640 readonly totalSize: u32;1641 readonly mqcHead: Option<H256>;1642 }16431644 /** @name PolkadotPrimitivesV2AbridgedHostConfiguration (154) */1645 interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1646 readonly maxCodeSize: u32;1647 readonly maxHeadDataSize: u32;1648 readonly maxUpwardQueueCount: u32;1649 readonly maxUpwardQueueSize: u32;1650 readonly maxUpwardMessageSize: u32;1651 readonly maxUpwardMessageNumPerCandidate: u32;1652 readonly hrmpMaxMessageNumPerCandidate: u32;1653 readonly validationUpgradeCooldown: u32;1654 readonly validationUpgradeDelay: u32;1655 }16561657 /** @name PolkadotCorePrimitivesOutboundHrmpMessage (160) */1658 interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1659 readonly recipient: u32;1660 readonly data: Bytes;1661 }16621663 /** @name CumulusPalletParachainSystemCall (161) */1664 interface CumulusPalletParachainSystemCall extends Enum {1665 readonly isSetValidationData: boolean;1666 readonly asSetValidationData: {1667 readonly data: CumulusPrimitivesParachainInherentParachainInherentData;1668 } & Struct;1669 readonly isSudoSendUpwardMessage: boolean;1670 readonly asSudoSendUpwardMessage: {1671 readonly message: Bytes;1672 } & Struct;1673 readonly isAuthorizeUpgrade: boolean;1674 readonly asAuthorizeUpgrade: {1675 readonly codeHash: H256;1676 } & Struct;1677 readonly isEnactAuthorizedUpgrade: boolean;1678 readonly asEnactAuthorizedUpgrade: {1679 readonly code: Bytes;1680 } & Struct;1681 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';1682 }16831684 /** @name CumulusPrimitivesParachainInherentParachainInherentData (162) */1685 interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {1686 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;1687 readonly relayChainState: SpTrieStorageProof;1688 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;1689 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;1690 }16911692 /** @name PolkadotCorePrimitivesInboundDownwardMessage (164) */1693 interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1694 readonly sentAt: u32;1695 readonly msg: Bytes;1696 }16971698 /** @name PolkadotCorePrimitivesInboundHrmpMessage (167) */1699 interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1700 readonly sentAt: u32;1701 readonly data: Bytes;1702 }17031704 /** @name CumulusPalletParachainSystemError (170) */1705 interface CumulusPalletParachainSystemError extends Enum {1706 readonly isOverlappingUpgrades: boolean;1707 readonly isProhibitedByPolkadot: boolean;1708 readonly isTooBig: boolean;1709 readonly isValidationDataNotAvailable: boolean;1710 readonly isHostConfigurationNotAvailable: boolean;1711 readonly isNotScheduled: boolean;1712 readonly isNothingAuthorized: boolean;1713 readonly isUnauthorized: boolean;1714 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';1715 }17161717 /** @name PalletBalancesBalanceLock (172) */1718 interface PalletBalancesBalanceLock extends Struct {1719 readonly id: U8aFixed;1720 readonly amount: u128;1721 readonly reasons: PalletBalancesReasons;1722 }17231724 /** @name PalletBalancesReasons (173) */1725 interface PalletBalancesReasons extends Enum {1726 readonly isFee: boolean;1727 readonly isMisc: boolean;1728 readonly isAll: boolean;1729 readonly type: 'Fee' | 'Misc' | 'All';1730 }17311732 /** @name PalletBalancesReserveData (176) */1733 interface PalletBalancesReserveData extends Struct {1734 readonly id: U8aFixed;1735 readonly amount: u128;1736 }17371738 /** @name PalletBalancesCall (178) */1739 interface PalletBalancesCall extends Enum {1740 readonly isTransfer: boolean;1741 readonly asTransfer: {1742 readonly dest: MultiAddress;1743 readonly value: Compact<u128>;1744 } & Struct;1745 readonly isSetBalance: boolean;1746 readonly asSetBalance: {1747 readonly who: MultiAddress;1748 readonly newFree: Compact<u128>;1749 readonly newReserved: Compact<u128>;1750 } & Struct;1751 readonly isForceTransfer: boolean;1752 readonly asForceTransfer: {1753 readonly source: MultiAddress;1754 readonly dest: MultiAddress;1755 readonly value: Compact<u128>;1756 } & Struct;1757 readonly isTransferKeepAlive: boolean;1758 readonly asTransferKeepAlive: {1759 readonly dest: MultiAddress;1760 readonly value: Compact<u128>;1761 } & Struct;1762 readonly isTransferAll: boolean;1763 readonly asTransferAll: {1764 readonly dest: MultiAddress;1765 readonly keepAlive: bool;1766 } & Struct;1767 readonly isForceUnreserve: boolean;1768 readonly asForceUnreserve: {1769 readonly who: MultiAddress;1770 readonly amount: u128;1771 } & Struct;1772 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';1773 }17741775 /** @name PalletBalancesError (181) */1776 interface PalletBalancesError extends Enum {1777 readonly isVestingBalance: boolean;1778 readonly isLiquidityRestrictions: boolean;1779 readonly isInsufficientBalance: boolean;1780 readonly isExistentialDeposit: boolean;1781 readonly isKeepAlive: boolean;1782 readonly isExistingVestingSchedule: boolean;1783 readonly isDeadAccount: boolean;1784 readonly isTooManyReserves: boolean;1785 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';1786 }17871788 /** @name PalletTimestampCall (183) */1789 interface PalletTimestampCall extends Enum {1790 readonly isSet: boolean;1791 readonly asSet: {1792 readonly now: Compact<u64>;1793 } & Struct;1794 readonly type: 'Set';1795 }17961797 /** @name PalletTransactionPaymentReleases (185) */1798 interface PalletTransactionPaymentReleases extends Enum {1799 readonly isV1Ancient: boolean;1800 readonly isV2: boolean;1801 readonly type: 'V1Ancient' | 'V2';1802 }18031804 /** @name PalletTreasuryProposal (186) */1805 interface PalletTreasuryProposal extends Struct {1806 readonly proposer: AccountId32;1807 readonly value: u128;1808 readonly beneficiary: AccountId32;1809 readonly bond: u128;1810 }18111812 /** @name PalletTreasuryCall (189) */1813 interface PalletTreasuryCall extends Enum {1814 readonly isProposeSpend: boolean;1815 readonly asProposeSpend: {1816 readonly value: Compact<u128>;1817 readonly beneficiary: MultiAddress;1818 } & Struct;1819 readonly isRejectProposal: boolean;1820 readonly asRejectProposal: {1821 readonly proposalId: Compact<u32>;1822 } & Struct;1823 readonly isApproveProposal: boolean;1824 readonly asApproveProposal: {1825 readonly proposalId: Compact<u32>;1826 } & Struct;1827 readonly isSpend: boolean;1828 readonly asSpend: {1829 readonly amount: Compact<u128>;1830 readonly beneficiary: MultiAddress;1831 } & Struct;1832 readonly isRemoveApproval: boolean;1833 readonly asRemoveApproval: {1834 readonly proposalId: Compact<u32>;1835 } & Struct;1836 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';1837 }18381839 /** @name FrameSupportPalletId (191) */1840 interface FrameSupportPalletId extends U8aFixed {}18411842 /** @name PalletTreasuryError (192) */1843 interface PalletTreasuryError extends Enum {1844 readonly isInsufficientProposersBalance: boolean;1845 readonly isInvalidIndex: boolean;1846 readonly isTooManyApprovals: boolean;1847 readonly isInsufficientPermission: boolean;1848 readonly isProposalNotApproved: boolean;1849 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved';1850 }18511852 /** @name PalletSudoCall (193) */1853 interface PalletSudoCall extends Enum {1854 readonly isSudo: boolean;1855 readonly asSudo: {1856 readonly call: Call;1857 } & Struct;1858 readonly isSudoUncheckedWeight: boolean;1859 readonly asSudoUncheckedWeight: {1860 readonly call: Call;1861 readonly weight: SpWeightsWeightV2Weight;1862 } & Struct;1863 readonly isSetKey: boolean;1864 readonly asSetKey: {1865 readonly new_: MultiAddress;1866 } & Struct;1867 readonly isSudoAs: boolean;1868 readonly asSudoAs: {1869 readonly who: MultiAddress;1870 readonly call: Call;1871 } & Struct;1872 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1873 }18741875 /** @name OrmlVestingModuleCall (195) */1876 interface OrmlVestingModuleCall extends Enum {1877 readonly isClaim: boolean;1878 readonly isVestedTransfer: boolean;1879 readonly asVestedTransfer: {1880 readonly dest: MultiAddress;1881 readonly schedule: OrmlVestingVestingSchedule;1882 } & Struct;1883 readonly isUpdateVestingSchedules: boolean;1884 readonly asUpdateVestingSchedules: {1885 readonly who: MultiAddress;1886 readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;1887 } & Struct;1888 readonly isClaimFor: boolean;1889 readonly asClaimFor: {1890 readonly dest: MultiAddress;1891 } & Struct;1892 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';1893 }18941895 /** @name OrmlXtokensModuleCall (197) */1896 interface OrmlXtokensModuleCall extends Enum {1897 readonly isTransfer: boolean;1898 readonly asTransfer: {1899 readonly currencyId: PalletForeignAssetsAssetIds;1900 readonly amount: u128;1901 readonly dest: XcmVersionedMultiLocation;1902 readonly destWeightLimit: XcmV2WeightLimit;1903 } & Struct;1904 readonly isTransferMultiasset: boolean;1905 readonly asTransferMultiasset: {1906 readonly asset: XcmVersionedMultiAsset;1907 readonly dest: XcmVersionedMultiLocation;1908 readonly destWeightLimit: XcmV2WeightLimit;1909 } & Struct;1910 readonly isTransferWithFee: boolean;1911 readonly asTransferWithFee: {1912 readonly currencyId: PalletForeignAssetsAssetIds;1913 readonly amount: u128;1914 readonly fee: u128;1915 readonly dest: XcmVersionedMultiLocation;1916 readonly destWeightLimit: XcmV2WeightLimit;1917 } & Struct;1918 readonly isTransferMultiassetWithFee: boolean;1919 readonly asTransferMultiassetWithFee: {1920 readonly asset: XcmVersionedMultiAsset;1921 readonly fee: XcmVersionedMultiAsset;1922 readonly dest: XcmVersionedMultiLocation;1923 readonly destWeightLimit: XcmV2WeightLimit;1924 } & Struct;1925 readonly isTransferMulticurrencies: boolean;1926 readonly asTransferMulticurrencies: {1927 readonly currencies: Vec<ITuple<[PalletForeignAssetsAssetIds, u128]>>;1928 readonly feeItem: u32;1929 readonly dest: XcmVersionedMultiLocation;1930 readonly destWeightLimit: XcmV2WeightLimit;1931 } & Struct;1932 readonly isTransferMultiassets: boolean;1933 readonly asTransferMultiassets: {1934 readonly assets: XcmVersionedMultiAssets;1935 readonly feeItem: u32;1936 readonly dest: XcmVersionedMultiLocation;1937 readonly destWeightLimit: XcmV2WeightLimit;1938 } & Struct;1939 readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';1940 }19411942 /** @name XcmVersionedMultiAsset (198) */1943 interface XcmVersionedMultiAsset extends Enum {1944 readonly isV0: boolean;1945 readonly asV0: XcmV0MultiAsset;1946 readonly isV1: boolean;1947 readonly asV1: XcmV1MultiAsset;1948 readonly type: 'V0' | 'V1';1949 }19501951 /** @name OrmlTokensModuleCall (201) */1952 interface OrmlTokensModuleCall extends Enum {1953 readonly isTransfer: boolean;1954 readonly asTransfer: {1955 readonly dest: MultiAddress;1956 readonly currencyId: PalletForeignAssetsAssetIds;1957 readonly amount: Compact<u128>;1958 } & Struct;1959 readonly isTransferAll: boolean;1960 readonly asTransferAll: {1961 readonly dest: MultiAddress;1962 readonly currencyId: PalletForeignAssetsAssetIds;1963 readonly keepAlive: bool;1964 } & Struct;1965 readonly isTransferKeepAlive: boolean;1966 readonly asTransferKeepAlive: {1967 readonly dest: MultiAddress;1968 readonly currencyId: PalletForeignAssetsAssetIds;1969 readonly amount: Compact<u128>;1970 } & Struct;1971 readonly isForceTransfer: boolean;1972 readonly asForceTransfer: {1973 readonly source: MultiAddress;1974 readonly dest: MultiAddress;1975 readonly currencyId: PalletForeignAssetsAssetIds;1976 readonly amount: Compact<u128>;1977 } & Struct;1978 readonly isSetBalance: boolean;1979 readonly asSetBalance: {1980 readonly who: MultiAddress;1981 readonly currencyId: PalletForeignAssetsAssetIds;1982 readonly newFree: Compact<u128>;1983 readonly newReserved: Compact<u128>;1984 } & Struct;1985 readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';1986 }19871988 /** @name CumulusPalletXcmpQueueCall (202) */1989 interface CumulusPalletXcmpQueueCall extends Enum {1990 readonly isServiceOverweight: boolean;1991 readonly asServiceOverweight: {1992 readonly index: u64;1993 readonly weightLimit: u64;1994 } & Struct;1995 readonly isSuspendXcmExecution: boolean;1996 readonly isResumeXcmExecution: boolean;1997 readonly isUpdateSuspendThreshold: boolean;1998 readonly asUpdateSuspendThreshold: {1999 readonly new_: u32;2000 } & Struct;2001 readonly isUpdateDropThreshold: boolean;2002 readonly asUpdateDropThreshold: {2003 readonly new_: u32;2004 } & Struct;2005 readonly isUpdateResumeThreshold: boolean;2006 readonly asUpdateResumeThreshold: {2007 readonly new_: u32;2008 } & Struct;2009 readonly isUpdateThresholdWeight: boolean;2010 readonly asUpdateThresholdWeight: {2011 readonly new_: u64;2012 } & Struct;2013 readonly isUpdateWeightRestrictDecay: boolean;2014 readonly asUpdateWeightRestrictDecay: {2015 readonly new_: u64;2016 } & Struct;2017 readonly isUpdateXcmpMaxIndividualWeight: boolean;2018 readonly asUpdateXcmpMaxIndividualWeight: {2019 readonly new_: u64;2020 } & Struct;2021 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';2022 }20232024 /** @name PalletXcmCall (203) */2025 interface PalletXcmCall extends Enum {2026 readonly isSend: boolean;2027 readonly asSend: {2028 readonly dest: XcmVersionedMultiLocation;2029 readonly message: XcmVersionedXcm;2030 } & Struct;2031 readonly isTeleportAssets: boolean;2032 readonly asTeleportAssets: {2033 readonly dest: XcmVersionedMultiLocation;2034 readonly beneficiary: XcmVersionedMultiLocation;2035 readonly assets: XcmVersionedMultiAssets;2036 readonly feeAssetItem: u32;2037 } & Struct;2038 readonly isReserveTransferAssets: boolean;2039 readonly asReserveTransferAssets: {2040 readonly dest: XcmVersionedMultiLocation;2041 readonly beneficiary: XcmVersionedMultiLocation;2042 readonly assets: XcmVersionedMultiAssets;2043 readonly feeAssetItem: u32;2044 } & Struct;2045 readonly isExecute: boolean;2046 readonly asExecute: {2047 readonly message: XcmVersionedXcm;2048 readonly maxWeight: u64;2049 } & Struct;2050 readonly isForceXcmVersion: boolean;2051 readonly asForceXcmVersion: {2052 readonly location: XcmV1MultiLocation;2053 readonly xcmVersion: u32;2054 } & Struct;2055 readonly isForceDefaultXcmVersion: boolean;2056 readonly asForceDefaultXcmVersion: {2057 readonly maybeXcmVersion: Option<u32>;2058 } & Struct;2059 readonly isForceSubscribeVersionNotify: boolean;2060 readonly asForceSubscribeVersionNotify: {2061 readonly location: XcmVersionedMultiLocation;2062 } & Struct;2063 readonly isForceUnsubscribeVersionNotify: boolean;2064 readonly asForceUnsubscribeVersionNotify: {2065 readonly location: XcmVersionedMultiLocation;2066 } & Struct;2067 readonly isLimitedReserveTransferAssets: boolean;2068 readonly asLimitedReserveTransferAssets: {2069 readonly dest: XcmVersionedMultiLocation;2070 readonly beneficiary: XcmVersionedMultiLocation;2071 readonly assets: XcmVersionedMultiAssets;2072 readonly feeAssetItem: u32;2073 readonly weightLimit: XcmV2WeightLimit;2074 } & Struct;2075 readonly isLimitedTeleportAssets: boolean;2076 readonly asLimitedTeleportAssets: {2077 readonly dest: XcmVersionedMultiLocation;2078 readonly beneficiary: XcmVersionedMultiLocation;2079 readonly assets: XcmVersionedMultiAssets;2080 readonly feeAssetItem: u32;2081 readonly weightLimit: XcmV2WeightLimit;2082 } & Struct;2083 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';2084 }20852086 /** @name XcmVersionedXcm (204) */2087 interface XcmVersionedXcm extends Enum {2088 readonly isV0: boolean;2089 readonly asV0: XcmV0Xcm;2090 readonly isV1: boolean;2091 readonly asV1: XcmV1Xcm;2092 readonly isV2: boolean;2093 readonly asV2: XcmV2Xcm;2094 readonly type: 'V0' | 'V1' | 'V2';2095 }20962097 /** @name XcmV0Xcm (205) */2098 interface XcmV0Xcm extends Enum {2099 readonly isWithdrawAsset: boolean;2100 readonly asWithdrawAsset: {2101 readonly assets: Vec<XcmV0MultiAsset>;2102 readonly effects: Vec<XcmV0Order>;2103 } & Struct;2104 readonly isReserveAssetDeposit: boolean;2105 readonly asReserveAssetDeposit: {2106 readonly assets: Vec<XcmV0MultiAsset>;2107 readonly effects: Vec<XcmV0Order>;2108 } & Struct;2109 readonly isTeleportAsset: boolean;2110 readonly asTeleportAsset: {2111 readonly assets: Vec<XcmV0MultiAsset>;2112 readonly effects: Vec<XcmV0Order>;2113 } & Struct;2114 readonly isQueryResponse: boolean;2115 readonly asQueryResponse: {2116 readonly queryId: Compact<u64>;2117 readonly response: XcmV0Response;2118 } & Struct;2119 readonly isTransferAsset: boolean;2120 readonly asTransferAsset: {2121 readonly assets: Vec<XcmV0MultiAsset>;2122 readonly dest: XcmV0MultiLocation;2123 } & Struct;2124 readonly isTransferReserveAsset: boolean;2125 readonly asTransferReserveAsset: {2126 readonly assets: Vec<XcmV0MultiAsset>;2127 readonly dest: XcmV0MultiLocation;2128 readonly effects: Vec<XcmV0Order>;2129 } & Struct;2130 readonly isTransact: boolean;2131 readonly asTransact: {2132 readonly originType: XcmV0OriginKind;2133 readonly requireWeightAtMost: u64;2134 readonly call: XcmDoubleEncoded;2135 } & Struct;2136 readonly isHrmpNewChannelOpenRequest: boolean;2137 readonly asHrmpNewChannelOpenRequest: {2138 readonly sender: Compact<u32>;2139 readonly maxMessageSize: Compact<u32>;2140 readonly maxCapacity: Compact<u32>;2141 } & Struct;2142 readonly isHrmpChannelAccepted: boolean;2143 readonly asHrmpChannelAccepted: {2144 readonly recipient: Compact<u32>;2145 } & Struct;2146 readonly isHrmpChannelClosing: boolean;2147 readonly asHrmpChannelClosing: {2148 readonly initiator: Compact<u32>;2149 readonly sender: Compact<u32>;2150 readonly recipient: Compact<u32>;2151 } & Struct;2152 readonly isRelayedFrom: boolean;2153 readonly asRelayedFrom: {2154 readonly who: XcmV0MultiLocation;2155 readonly message: XcmV0Xcm;2156 } & Struct;2157 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2158 }21592160 /** @name XcmV0Order (207) */2161 interface XcmV0Order extends Enum {2162 readonly isNull: boolean;2163 readonly isDepositAsset: boolean;2164 readonly asDepositAsset: {2165 readonly assets: Vec<XcmV0MultiAsset>;2166 readonly dest: XcmV0MultiLocation;2167 } & Struct;2168 readonly isDepositReserveAsset: boolean;2169 readonly asDepositReserveAsset: {2170 readonly assets: Vec<XcmV0MultiAsset>;2171 readonly dest: XcmV0MultiLocation;2172 readonly effects: Vec<XcmV0Order>;2173 } & Struct;2174 readonly isExchangeAsset: boolean;2175 readonly asExchangeAsset: {2176 readonly give: Vec<XcmV0MultiAsset>;2177 readonly receive: Vec<XcmV0MultiAsset>;2178 } & Struct;2179 readonly isInitiateReserveWithdraw: boolean;2180 readonly asInitiateReserveWithdraw: {2181 readonly assets: Vec<XcmV0MultiAsset>;2182 readonly reserve: XcmV0MultiLocation;2183 readonly effects: Vec<XcmV0Order>;2184 } & Struct;2185 readonly isInitiateTeleport: boolean;2186 readonly asInitiateTeleport: {2187 readonly assets: Vec<XcmV0MultiAsset>;2188 readonly dest: XcmV0MultiLocation;2189 readonly effects: Vec<XcmV0Order>;2190 } & Struct;2191 readonly isQueryHolding: boolean;2192 readonly asQueryHolding: {2193 readonly queryId: Compact<u64>;2194 readonly dest: XcmV0MultiLocation;2195 readonly assets: Vec<XcmV0MultiAsset>;2196 } & Struct;2197 readonly isBuyExecution: boolean;2198 readonly asBuyExecution: {2199 readonly fees: XcmV0MultiAsset;2200 readonly weight: u64;2201 readonly debt: u64;2202 readonly haltOnError: bool;2203 readonly xcm: Vec<XcmV0Xcm>;2204 } & Struct;2205 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2206 }22072208 /** @name XcmV0Response (209) */2209 interface XcmV0Response extends Enum {2210 readonly isAssets: boolean;2211 readonly asAssets: Vec<XcmV0MultiAsset>;2212 readonly type: 'Assets';2213 }22142215 /** @name XcmV1Xcm (210) */2216 interface XcmV1Xcm extends Enum {2217 readonly isWithdrawAsset: boolean;2218 readonly asWithdrawAsset: {2219 readonly assets: XcmV1MultiassetMultiAssets;2220 readonly effects: Vec<XcmV1Order>;2221 } & Struct;2222 readonly isReserveAssetDeposited: boolean;2223 readonly asReserveAssetDeposited: {2224 readonly assets: XcmV1MultiassetMultiAssets;2225 readonly effects: Vec<XcmV1Order>;2226 } & Struct;2227 readonly isReceiveTeleportedAsset: boolean;2228 readonly asReceiveTeleportedAsset: {2229 readonly assets: XcmV1MultiassetMultiAssets;2230 readonly effects: Vec<XcmV1Order>;2231 } & Struct;2232 readonly isQueryResponse: boolean;2233 readonly asQueryResponse: {2234 readonly queryId: Compact<u64>;2235 readonly response: XcmV1Response;2236 } & Struct;2237 readonly isTransferAsset: boolean;2238 readonly asTransferAsset: {2239 readonly assets: XcmV1MultiassetMultiAssets;2240 readonly beneficiary: XcmV1MultiLocation;2241 } & Struct;2242 readonly isTransferReserveAsset: boolean;2243 readonly asTransferReserveAsset: {2244 readonly assets: XcmV1MultiassetMultiAssets;2245 readonly dest: XcmV1MultiLocation;2246 readonly effects: Vec<XcmV1Order>;2247 } & Struct;2248 readonly isTransact: boolean;2249 readonly asTransact: {2250 readonly originType: XcmV0OriginKind;2251 readonly requireWeightAtMost: u64;2252 readonly call: XcmDoubleEncoded;2253 } & Struct;2254 readonly isHrmpNewChannelOpenRequest: boolean;2255 readonly asHrmpNewChannelOpenRequest: {2256 readonly sender: Compact<u32>;2257 readonly maxMessageSize: Compact<u32>;2258 readonly maxCapacity: Compact<u32>;2259 } & Struct;2260 readonly isHrmpChannelAccepted: boolean;2261 readonly asHrmpChannelAccepted: {2262 readonly recipient: Compact<u32>;2263 } & Struct;2264 readonly isHrmpChannelClosing: boolean;2265 readonly asHrmpChannelClosing: {2266 readonly initiator: Compact<u32>;2267 readonly sender: Compact<u32>;2268 readonly recipient: Compact<u32>;2269 } & Struct;2270 readonly isRelayedFrom: boolean;2271 readonly asRelayedFrom: {2272 readonly who: XcmV1MultilocationJunctions;2273 readonly message: XcmV1Xcm;2274 } & Struct;2275 readonly isSubscribeVersion: boolean;2276 readonly asSubscribeVersion: {2277 readonly queryId: Compact<u64>;2278 readonly maxResponseWeight: Compact<u64>;2279 } & Struct;2280 readonly isUnsubscribeVersion: boolean;2281 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2282 }22832284 /** @name XcmV1Order (212) */2285 interface XcmV1Order extends Enum {2286 readonly isNoop: boolean;2287 readonly isDepositAsset: boolean;2288 readonly asDepositAsset: {2289 readonly assets: XcmV1MultiassetMultiAssetFilter;2290 readonly maxAssets: u32;2291 readonly beneficiary: XcmV1MultiLocation;2292 } & Struct;2293 readonly isDepositReserveAsset: boolean;2294 readonly asDepositReserveAsset: {2295 readonly assets: XcmV1MultiassetMultiAssetFilter;2296 readonly maxAssets: u32;2297 readonly dest: XcmV1MultiLocation;2298 readonly effects: Vec<XcmV1Order>;2299 } & Struct;2300 readonly isExchangeAsset: boolean;2301 readonly asExchangeAsset: {2302 readonly give: XcmV1MultiassetMultiAssetFilter;2303 readonly receive: XcmV1MultiassetMultiAssets;2304 } & Struct;2305 readonly isInitiateReserveWithdraw: boolean;2306 readonly asInitiateReserveWithdraw: {2307 readonly assets: XcmV1MultiassetMultiAssetFilter;2308 readonly reserve: XcmV1MultiLocation;2309 readonly effects: Vec<XcmV1Order>;2310 } & Struct;2311 readonly isInitiateTeleport: boolean;2312 readonly asInitiateTeleport: {2313 readonly assets: XcmV1MultiassetMultiAssetFilter;2314 readonly dest: XcmV1MultiLocation;2315 readonly effects: Vec<XcmV1Order>;2316 } & Struct;2317 readonly isQueryHolding: boolean;2318 readonly asQueryHolding: {2319 readonly queryId: Compact<u64>;2320 readonly dest: XcmV1MultiLocation;2321 readonly assets: XcmV1MultiassetMultiAssetFilter;2322 } & Struct;2323 readonly isBuyExecution: boolean;2324 readonly asBuyExecution: {2325 readonly fees: XcmV1MultiAsset;2326 readonly weight: u64;2327 readonly debt: u64;2328 readonly haltOnError: bool;2329 readonly instructions: Vec<XcmV1Xcm>;2330 } & Struct;2331 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2332 }23332334 /** @name XcmV1Response (214) */2335 interface XcmV1Response extends Enum {2336 readonly isAssets: boolean;2337 readonly asAssets: XcmV1MultiassetMultiAssets;2338 readonly isVersion: boolean;2339 readonly asVersion: u32;2340 readonly type: 'Assets' | 'Version';2341 }23422343 /** @name CumulusPalletXcmCall (228) */2344 type CumulusPalletXcmCall = Null;23452346 /** @name CumulusPalletDmpQueueCall (229) */2347 interface CumulusPalletDmpQueueCall extends Enum {2348 readonly isServiceOverweight: boolean;2349 readonly asServiceOverweight: {2350 readonly index: u64;2351 readonly weightLimit: u64;2352 } & Struct;2353 readonly type: 'ServiceOverweight';2354 }23552356 /** @name PalletInflationCall (230) */2357 interface PalletInflationCall extends Enum {2358 readonly isStartInflation: boolean;2359 readonly asStartInflation: {2360 readonly inflationStartRelayBlock: u32;2361 } & Struct;2362 readonly type: 'StartInflation';2363 }23642365 /** @name PalletUniqueCall (231) */2366 interface PalletUniqueCall extends Enum {2367 readonly isCreateCollection: boolean;2368 readonly asCreateCollection: {2369 readonly collectionName: Vec<u16>;2370 readonly collectionDescription: Vec<u16>;2371 readonly tokenPrefix: Bytes;2372 readonly mode: UpDataStructsCollectionMode;2373 } & Struct;2374 readonly isCreateCollectionEx: boolean;2375 readonly asCreateCollectionEx: {2376 readonly data: UpDataStructsCreateCollectionData;2377 } & Struct;2378 readonly isDestroyCollection: boolean;2379 readonly asDestroyCollection: {2380 readonly collectionId: u32;2381 } & Struct;2382 readonly isAddToAllowList: boolean;2383 readonly asAddToAllowList: {2384 readonly collectionId: u32;2385 readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2386 } & Struct;2387 readonly isRemoveFromAllowList: boolean;2388 readonly asRemoveFromAllowList: {2389 readonly collectionId: u32;2390 readonly address: PalletEvmAccountBasicCrossAccountIdRepr;2391 } & Struct;2392 readonly isChangeCollectionOwner: boolean;2393 readonly asChangeCollectionOwner: {2394 readonly collectionId: u32;2395 readonly newOwner: AccountId32;2396 } & Struct;2397 readonly isAddCollectionAdmin: boolean;2398 readonly asAddCollectionAdmin: {2399 readonly collectionId: u32;2400 readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;2401 } & Struct;2402 readonly isRemoveCollectionAdmin: boolean;2403 readonly asRemoveCollectionAdmin: {2404 readonly collectionId: u32;2405 readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;2406 } & Struct;2407 readonly isSetCollectionSponsor: boolean;2408 readonly asSetCollectionSponsor: {2409 readonly collectionId: u32;2410 readonly newSponsor: AccountId32;2411 } & Struct;2412 readonly isConfirmSponsorship: boolean;2413 readonly asConfirmSponsorship: {2414 readonly collectionId: u32;2415 } & Struct;2416 readonly isRemoveCollectionSponsor: boolean;2417 readonly asRemoveCollectionSponsor: {2418 readonly collectionId: u32;2419 } & Struct;2420 readonly isCreateItem: boolean;2421 readonly asCreateItem: {2422 readonly collectionId: u32;2423 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2424 readonly data: UpDataStructsCreateItemData;2425 } & Struct;2426 readonly isCreateMultipleItems: boolean;2427 readonly asCreateMultipleItems: {2428 readonly collectionId: u32;2429 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2430 readonly itemsData: Vec<UpDataStructsCreateItemData>;2431 } & Struct;2432 readonly isSetCollectionProperties: boolean;2433 readonly asSetCollectionProperties: {2434 readonly collectionId: u32;2435 readonly properties: Vec<UpDataStructsProperty>;2436 } & Struct;2437 readonly isDeleteCollectionProperties: boolean;2438 readonly asDeleteCollectionProperties: {2439 readonly collectionId: u32;2440 readonly propertyKeys: Vec<Bytes>;2441 } & Struct;2442 readonly isSetTokenProperties: boolean;2443 readonly asSetTokenProperties: {2444 readonly collectionId: u32;2445 readonly tokenId: u32;2446 readonly properties: Vec<UpDataStructsProperty>;2447 } & Struct;2448 readonly isDeleteTokenProperties: boolean;2449 readonly asDeleteTokenProperties: {2450 readonly collectionId: u32;2451 readonly tokenId: u32;2452 readonly propertyKeys: Vec<Bytes>;2453 } & Struct;2454 readonly isSetTokenPropertyPermissions: boolean;2455 readonly asSetTokenPropertyPermissions: {2456 readonly collectionId: u32;2457 readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2458 } & Struct;2459 readonly isCreateMultipleItemsEx: boolean;2460 readonly asCreateMultipleItemsEx: {2461 readonly collectionId: u32;2462 readonly data: UpDataStructsCreateItemExData;2463 } & Struct;2464 readonly isSetTransfersEnabledFlag: boolean;2465 readonly asSetTransfersEnabledFlag: {2466 readonly collectionId: u32;2467 readonly value: bool;2468 } & Struct;2469 readonly isBurnItem: boolean;2470 readonly asBurnItem: {2471 readonly collectionId: u32;2472 readonly itemId: u32;2473 readonly value: u128;2474 } & Struct;2475 readonly isBurnFrom: boolean;2476 readonly asBurnFrom: {2477 readonly collectionId: u32;2478 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2479 readonly itemId: u32;2480 readonly value: u128;2481 } & Struct;2482 readonly isTransfer: boolean;2483 readonly asTransfer: {2484 readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2485 readonly collectionId: u32;2486 readonly itemId: u32;2487 readonly value: u128;2488 } & Struct;2489 readonly isApprove: boolean;2490 readonly asApprove: {2491 readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;2492 readonly collectionId: u32;2493 readonly itemId: u32;2494 readonly amount: u128;2495 } & Struct;2496 readonly isApproveFrom: boolean;2497 readonly asApproveFrom: {2498 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2499 readonly to: PalletEvmAccountBasicCrossAccountIdRepr;2500 readonly collectionId: u32;2501 readonly itemId: u32;2502 readonly amount: u128;2503 } & Struct;2504 readonly isTransferFrom: boolean;2505 readonly asTransferFrom: {2506 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;2507 readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;2508 readonly collectionId: u32;2509 readonly itemId: u32;2510 readonly value: u128;2511 } & Struct;2512 readonly isSetCollectionLimits: boolean;2513 readonly asSetCollectionLimits: {2514 readonly collectionId: u32;2515 readonly newLimit: UpDataStructsCollectionLimits;2516 } & Struct;2517 readonly isSetCollectionPermissions: boolean;2518 readonly asSetCollectionPermissions: {2519 readonly collectionId: u32;2520 readonly newPermission: UpDataStructsCollectionPermissions;2521 } & Struct;2522 readonly isRepartition: boolean;2523 readonly asRepartition: {2524 readonly collectionId: u32;2525 readonly tokenId: u32;2526 readonly amount: u128;2527 } & Struct;2528 readonly isSetAllowanceForAll: boolean;2529 readonly asSetAllowanceForAll: {2530 readonly collectionId: u32;2531 readonly operator: PalletEvmAccountBasicCrossAccountIdRepr;2532 readonly approve: bool;2533 } & Struct;2534 readonly isForceRepairCollection: boolean;2535 readonly asForceRepairCollection: {2536 readonly collectionId: u32;2537 } & Struct;2538 readonly isForceRepairItem: boolean;2539 readonly asForceRepairItem: {2540 readonly collectionId: u32;2541 readonly itemId: u32;2542 } & Struct;2543 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' | 'ApproveFrom' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem';2544 }25452546 /** @name UpDataStructsCollectionMode (236) */2547 interface UpDataStructsCollectionMode extends Enum {2548 readonly isNft: boolean;2549 readonly isFungible: boolean;2550 readonly asFungible: u8;2551 readonly isReFungible: boolean;2552 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2553 }25542555 /** @name UpDataStructsCreateCollectionData (237) */2556 interface UpDataStructsCreateCollectionData extends Struct {2557 readonly mode: UpDataStructsCollectionMode;2558 readonly access: Option<UpDataStructsAccessMode>;2559 readonly name: Vec<u16>;2560 readonly description: Vec<u16>;2561 readonly tokenPrefix: Bytes;2562 readonly pendingSponsor: Option<AccountId32>;2563 readonly limits: Option<UpDataStructsCollectionLimits>;2564 readonly permissions: Option<UpDataStructsCollectionPermissions>;2565 readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2566 readonly properties: Vec<UpDataStructsProperty>;2567 }25682569 /** @name UpDataStructsAccessMode (239) */2570 interface UpDataStructsAccessMode extends Enum {2571 readonly isNormal: boolean;2572 readonly isAllowList: boolean;2573 readonly type: 'Normal' | 'AllowList';2574 }25752576 /** @name UpDataStructsCollectionLimits (241) */2577 interface UpDataStructsCollectionLimits extends Struct {2578 readonly accountTokenOwnershipLimit: Option<u32>;2579 readonly sponsoredDataSize: Option<u32>;2580 readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;2581 readonly tokenLimit: Option<u32>;2582 readonly sponsorTransferTimeout: Option<u32>;2583 readonly sponsorApproveTimeout: Option<u32>;2584 readonly ownerCanTransfer: Option<bool>;2585 readonly ownerCanDestroy: Option<bool>;2586 readonly transfersEnabled: Option<bool>;2587 }25882589 /** @name UpDataStructsSponsoringRateLimit (243) */2590 interface UpDataStructsSponsoringRateLimit extends Enum {2591 readonly isSponsoringDisabled: boolean;2592 readonly isBlocks: boolean;2593 readonly asBlocks: u32;2594 readonly type: 'SponsoringDisabled' | 'Blocks';2595 }25962597 /** @name UpDataStructsCollectionPermissions (246) */2598 interface UpDataStructsCollectionPermissions extends Struct {2599 readonly access: Option<UpDataStructsAccessMode>;2600 readonly mintMode: Option<bool>;2601 readonly nesting: Option<UpDataStructsNestingPermissions>;2602 }26032604 /** @name UpDataStructsNestingPermissions (248) */2605 interface UpDataStructsNestingPermissions extends Struct {2606 readonly tokenOwner: bool;2607 readonly collectionAdmin: bool;2608 readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;2609 }26102611 /** @name UpDataStructsOwnerRestrictedSet (250) */2612 interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}26132614 /** @name UpDataStructsPropertyKeyPermission (255) */2615 interface UpDataStructsPropertyKeyPermission extends Struct {2616 readonly key: Bytes;2617 readonly permission: UpDataStructsPropertyPermission;2618 }26192620 /** @name UpDataStructsPropertyPermission (256) */2621 interface UpDataStructsPropertyPermission extends Struct {2622 readonly mutable: bool;2623 readonly collectionAdmin: bool;2624 readonly tokenOwner: bool;2625 }26262627 /** @name UpDataStructsProperty (259) */2628 interface UpDataStructsProperty extends Struct {2629 readonly key: Bytes;2630 readonly value: Bytes;2631 }26322633 /** @name UpDataStructsCreateItemData (262) */2634 interface UpDataStructsCreateItemData extends Enum {2635 readonly isNft: boolean;2636 readonly asNft: UpDataStructsCreateNftData;2637 readonly isFungible: boolean;2638 readonly asFungible: UpDataStructsCreateFungibleData;2639 readonly isReFungible: boolean;2640 readonly asReFungible: UpDataStructsCreateReFungibleData;2641 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2642 }26432644 /** @name UpDataStructsCreateNftData (263) */2645 interface UpDataStructsCreateNftData extends Struct {2646 readonly properties: Vec<UpDataStructsProperty>;2647 }26482649 /** @name UpDataStructsCreateFungibleData (264) */2650 interface UpDataStructsCreateFungibleData extends Struct {2651 readonly value: u128;2652 }26532654 /** @name UpDataStructsCreateReFungibleData (265) */2655 interface UpDataStructsCreateReFungibleData extends Struct {2656 readonly pieces: u128;2657 readonly properties: Vec<UpDataStructsProperty>;2658 }26592660 /** @name UpDataStructsCreateItemExData (268) */2661 interface UpDataStructsCreateItemExData extends Enum {2662 readonly isNft: boolean;2663 readonly asNft: Vec<UpDataStructsCreateNftExData>;2664 readonly isFungible: boolean;2665 readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2666 readonly isRefungibleMultipleItems: boolean;2667 readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExSingleOwner>;2668 readonly isRefungibleMultipleOwners: boolean;2669 readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners;2670 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2671 }26722673 /** @name UpDataStructsCreateNftExData (270) */2674 interface UpDataStructsCreateNftExData extends Struct {2675 readonly properties: Vec<UpDataStructsProperty>;2676 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2677 }26782679 /** @name UpDataStructsCreateRefungibleExSingleOwner (277) */2680 interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {2681 readonly user: PalletEvmAccountBasicCrossAccountIdRepr;2682 readonly pieces: u128;2683 readonly properties: Vec<UpDataStructsProperty>;2684 }26852686 /** @name UpDataStructsCreateRefungibleExMultipleOwners (279) */2687 interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {2688 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2689 readonly properties: Vec<UpDataStructsProperty>;2690 }26912692 /** @name PalletConfigurationCall (280) */2693 interface PalletConfigurationCall extends Enum {2694 readonly isSetWeightToFeeCoefficientOverride: boolean;2695 readonly asSetWeightToFeeCoefficientOverride: {2696 readonly coeff: Option<u64>;2697 } & Struct;2698 readonly isSetMinGasPriceOverride: boolean;2699 readonly asSetMinGasPriceOverride: {2700 readonly coeff: Option<u64>;2701 } & Struct;2702 readonly isSetXcmAllowedLocations: boolean;2703 readonly asSetXcmAllowedLocations: {2704 readonly locations: Option<Vec<XcmV1MultiLocation>>;2705 } & Struct;2706 readonly isSetAppPromotionConfigurationOverride: boolean;2707 readonly asSetAppPromotionConfigurationOverride: {2708 readonly configuration: PalletConfigurationAppPromotionConfiguration;2709 } & Struct;2710 readonly isSetCollatorSelectionDesiredCollators: boolean;2711 readonly asSetCollatorSelectionDesiredCollators: {2712 readonly max: Option<u32>;2713 } & Struct;2714 readonly isSetCollatorSelectionLicenseBond: boolean;2715 readonly asSetCollatorSelectionLicenseBond: {2716 readonly amount: Option<u128>;2717 } & Struct;2718 readonly isSetCollatorSelectionKickThreshold: boolean;2719 readonly asSetCollatorSelectionKickThreshold: {2720 readonly threshold: Option<u32>;2721 } & Struct;2722 readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetXcmAllowedLocations' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';2723 }27242725 /** @name PalletConfigurationAppPromotionConfiguration (285) */2726 interface PalletConfigurationAppPromotionConfiguration extends Struct {2727 readonly recalculationInterval: Option<u32>;2728 readonly pendingInterval: Option<u32>;2729 readonly intervalIncome: Option<Perbill>;2730 readonly maxStakersPerCalculation: Option<u8>;2731 }27322733 /** @name PalletTemplateTransactionPaymentCall (289) */2734 type PalletTemplateTransactionPaymentCall = Null;27352736 /** @name PalletStructureCall (290) */2737 type PalletStructureCall = Null;27382739 /** @name PalletRmrkCoreCall (291) */2740 interface PalletRmrkCoreCall extends Enum {2741 readonly isCreateCollection: boolean;2742 readonly asCreateCollection: {2743 readonly metadata: Bytes;2744 readonly max: Option<u32>;2745 readonly symbol: Bytes;2746 } & Struct;2747 readonly isDestroyCollection: boolean;2748 readonly asDestroyCollection: {2749 readonly collectionId: u32;2750 } & Struct;2751 readonly isChangeCollectionIssuer: boolean;2752 readonly asChangeCollectionIssuer: {2753 readonly collectionId: u32;2754 readonly newIssuer: MultiAddress;2755 } & Struct;2756 readonly isLockCollection: boolean;2757 readonly asLockCollection: {2758 readonly collectionId: u32;2759 } & Struct;2760 readonly isMintNft: boolean;2761 readonly asMintNft: {2762 readonly owner: Option<AccountId32>;2763 readonly collectionId: u32;2764 readonly recipient: Option<AccountId32>;2765 readonly royaltyAmount: Option<Permill>;2766 readonly metadata: Bytes;2767 readonly transferable: bool;2768 readonly resources: Option<Vec<RmrkTraitsResourceResourceTypes>>;2769 } & Struct;2770 readonly isBurnNft: boolean;2771 readonly asBurnNft: {2772 readonly collectionId: u32;2773 readonly nftId: u32;2774 readonly maxBurns: u32;2775 } & Struct;2776 readonly isSend: boolean;2777 readonly asSend: {2778 readonly rmrkCollectionId: u32;2779 readonly rmrkNftId: u32;2780 readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2781 } & Struct;2782 readonly isAcceptNft: boolean;2783 readonly asAcceptNft: {2784 readonly rmrkCollectionId: u32;2785 readonly rmrkNftId: u32;2786 readonly newOwner: RmrkTraitsNftAccountIdOrCollectionNftTuple;2787 } & Struct;2788 readonly isRejectNft: boolean;2789 readonly asRejectNft: {2790 readonly rmrkCollectionId: u32;2791 readonly rmrkNftId: u32;2792 } & Struct;2793 readonly isAcceptResource: boolean;2794 readonly asAcceptResource: {2795 readonly rmrkCollectionId: u32;2796 readonly rmrkNftId: u32;2797 readonly resourceId: u32;2798 } & Struct;2799 readonly isAcceptResourceRemoval: boolean;2800 readonly asAcceptResourceRemoval: {2801 readonly rmrkCollectionId: u32;2802 readonly rmrkNftId: u32;2803 readonly resourceId: u32;2804 } & Struct;2805 readonly isSetProperty: boolean;2806 readonly asSetProperty: {2807 readonly rmrkCollectionId: Compact<u32>;2808 readonly maybeNftId: Option<u32>;2809 readonly key: Bytes;2810 readonly value: Bytes;2811 } & Struct;2812 readonly isSetPriority: boolean;2813 readonly asSetPriority: {2814 readonly rmrkCollectionId: u32;2815 readonly rmrkNftId: u32;2816 readonly priorities: Vec<u32>;2817 } & Struct;2818 readonly isAddBasicResource: boolean;2819 readonly asAddBasicResource: {2820 readonly rmrkCollectionId: u32;2821 readonly nftId: u32;2822 readonly resource: RmrkTraitsResourceBasicResource;2823 } & Struct;2824 readonly isAddComposableResource: boolean;2825 readonly asAddComposableResource: {2826 readonly rmrkCollectionId: u32;2827 readonly nftId: u32;2828 readonly resource: RmrkTraitsResourceComposableResource;2829 } & Struct;2830 readonly isAddSlotResource: boolean;2831 readonly asAddSlotResource: {2832 readonly rmrkCollectionId: u32;2833 readonly nftId: u32;2834 readonly resource: RmrkTraitsResourceSlotResource;2835 } & Struct;2836 readonly isRemoveResource: boolean;2837 readonly asRemoveResource: {2838 readonly rmrkCollectionId: u32;2839 readonly nftId: u32;2840 readonly resourceId: u32;2841 } & Struct;2842 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource';2843 }28442845 /** @name RmrkTraitsResourceResourceTypes (297) */2846 interface RmrkTraitsResourceResourceTypes extends Enum {2847 readonly isBasic: boolean;2848 readonly asBasic: RmrkTraitsResourceBasicResource;2849 readonly isComposable: boolean;2850 readonly asComposable: RmrkTraitsResourceComposableResource;2851 readonly isSlot: boolean;2852 readonly asSlot: RmrkTraitsResourceSlotResource;2853 readonly type: 'Basic' | 'Composable' | 'Slot';2854 }28552856 /** @name RmrkTraitsResourceBasicResource (299) */2857 interface RmrkTraitsResourceBasicResource extends Struct {2858 readonly src: Option<Bytes>;2859 readonly metadata: Option<Bytes>;2860 readonly license: Option<Bytes>;2861 readonly thumb: Option<Bytes>;2862 }28632864 /** @name RmrkTraitsResourceComposableResource (301) */2865 interface RmrkTraitsResourceComposableResource extends Struct {2866 readonly parts: Vec<u32>;2867 readonly base: u32;2868 readonly src: Option<Bytes>;2869 readonly metadata: Option<Bytes>;2870 readonly license: Option<Bytes>;2871 readonly thumb: Option<Bytes>;2872 }28732874 /** @name RmrkTraitsResourceSlotResource (302) */2875 interface RmrkTraitsResourceSlotResource extends Struct {2876 readonly base: u32;2877 readonly src: Option<Bytes>;2878 readonly metadata: Option<Bytes>;2879 readonly slot: u32;2880 readonly license: Option<Bytes>;2881 readonly thumb: Option<Bytes>;2882 }28832884 /** @name PalletRmrkEquipCall (305) */2885 interface PalletRmrkEquipCall extends Enum {2886 readonly isCreateBase: boolean;2887 readonly asCreateBase: {2888 readonly baseType: Bytes;2889 readonly symbol: Bytes;2890 readonly parts: Vec<RmrkTraitsPartPartType>;2891 } & Struct;2892 readonly isThemeAdd: boolean;2893 readonly asThemeAdd: {2894 readonly baseId: u32;2895 readonly theme: RmrkTraitsTheme;2896 } & Struct;2897 readonly isEquippable: boolean;2898 readonly asEquippable: {2899 readonly baseId: u32;2900 readonly slotId: u32;2901 readonly equippables: RmrkTraitsPartEquippableList;2902 } & Struct;2903 readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable';2904 }29052906 /** @name RmrkTraitsPartPartType (308) */2907 interface RmrkTraitsPartPartType extends Enum {2908 readonly isFixedPart: boolean;2909 readonly asFixedPart: RmrkTraitsPartFixedPart;2910 readonly isSlotPart: boolean;2911 readonly asSlotPart: RmrkTraitsPartSlotPart;2912 readonly type: 'FixedPart' | 'SlotPart';2913 }29142915 /** @name RmrkTraitsPartFixedPart (310) */2916 interface RmrkTraitsPartFixedPart extends Struct {2917 readonly id: u32;2918 readonly z: u32;2919 readonly src: Bytes;2920 }29212922 /** @name RmrkTraitsPartSlotPart (311) */2923 interface RmrkTraitsPartSlotPart extends Struct {2924 readonly id: u32;2925 readonly equippable: RmrkTraitsPartEquippableList;2926 readonly src: Bytes;2927 readonly z: u32;2928 }29292930 /** @name RmrkTraitsPartEquippableList (312) */2931 interface RmrkTraitsPartEquippableList extends Enum {2932 readonly isAll: boolean;2933 readonly isEmpty: boolean;2934 readonly isCustom: boolean;2935 readonly asCustom: Vec<u32>;2936 readonly type: 'All' | 'Empty' | 'Custom';2937 }29382939 /** @name RmrkTraitsTheme (314) */2940 interface RmrkTraitsTheme extends Struct {2941 readonly name: Bytes;2942 readonly properties: Vec<RmrkTraitsThemeThemeProperty>;2943 readonly inherit: bool;2944 }29452946 /** @name RmrkTraitsThemeThemeProperty (316) */2947 interface RmrkTraitsThemeThemeProperty extends Struct {2948 readonly key: Bytes;2949 readonly value: Bytes;2950 }29512952 /** @name PalletAppPromotionCall (318) */2953 interface PalletAppPromotionCall extends Enum {2954 readonly isSetAdminAddress: boolean;2955 readonly asSetAdminAddress: {2956 readonly admin: PalletEvmAccountBasicCrossAccountIdRepr;2957 } & Struct;2958 readonly isStake: boolean;2959 readonly asStake: {2960 readonly amount: u128;2961 } & Struct;2962 readonly isUnstake: boolean;2963 readonly isSponsorCollection: boolean;2964 readonly asSponsorCollection: {2965 readonly collectionId: u32;2966 } & Struct;2967 readonly isStopSponsoringCollection: boolean;2968 readonly asStopSponsoringCollection: {2969 readonly collectionId: u32;2970 } & Struct;2971 readonly isSponsorContract: boolean;2972 readonly asSponsorContract: {2973 readonly contractId: H160;2974 } & Struct;2975 readonly isStopSponsoringContract: boolean;2976 readonly asStopSponsoringContract: {2977 readonly contractId: H160;2978 } & Struct;2979 readonly isPayoutStakers: boolean;2980 readonly asPayoutStakers: {2981 readonly stakersNumber: Option<u8>;2982 } & Struct;2983 readonly type: 'SetAdminAddress' | 'Stake' | 'Unstake' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers';2984 }29852986 /** @name PalletForeignAssetsModuleCall (319) */2987 interface PalletForeignAssetsModuleCall extends Enum {2988 readonly isRegisterForeignAsset: boolean;2989 readonly asRegisterForeignAsset: {2990 readonly owner: AccountId32;2991 readonly location: XcmVersionedMultiLocation;2992 readonly metadata: PalletForeignAssetsModuleAssetMetadata;2993 } & Struct;2994 readonly isUpdateForeignAsset: boolean;2995 readonly asUpdateForeignAsset: {2996 readonly foreignAssetId: u32;2997 readonly location: XcmVersionedMultiLocation;2998 readonly metadata: PalletForeignAssetsModuleAssetMetadata;2999 } & Struct;3000 readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';3001 }30023003 /** @name PalletEvmCall (320) */3004 interface PalletEvmCall extends Enum {3005 readonly isWithdraw: boolean;3006 readonly asWithdraw: {3007 readonly address: H160;3008 readonly value: u128;3009 } & Struct;3010 readonly isCall: boolean;3011 readonly asCall: {3012 readonly source: H160;3013 readonly target: H160;3014 readonly input: Bytes;3015 readonly value: U256;3016 readonly gasLimit: u64;3017 readonly maxFeePerGas: U256;3018 readonly maxPriorityFeePerGas: Option<U256>;3019 readonly nonce: Option<U256>;3020 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3021 } & Struct;3022 readonly isCreate: boolean;3023 readonly asCreate: {3024 readonly source: H160;3025 readonly init: Bytes;3026 readonly value: U256;3027 readonly gasLimit: u64;3028 readonly maxFeePerGas: U256;3029 readonly maxPriorityFeePerGas: Option<U256>;3030 readonly nonce: Option<U256>;3031 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3032 } & Struct;3033 readonly isCreate2: boolean;3034 readonly asCreate2: {3035 readonly source: H160;3036 readonly init: Bytes;3037 readonly salt: H256;3038 readonly value: U256;3039 readonly gasLimit: u64;3040 readonly maxFeePerGas: U256;3041 readonly maxPriorityFeePerGas: Option<U256>;3042 readonly nonce: Option<U256>;3043 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;3044 } & Struct;3045 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';3046 }30473048 /** @name PalletEthereumCall (326) */3049 interface PalletEthereumCall extends Enum {3050 readonly isTransact: boolean;3051 readonly asTransact: {3052 readonly transaction: EthereumTransactionTransactionV2;3053 } & Struct;3054 readonly type: 'Transact';3055 }30563057 /** @name EthereumTransactionTransactionV2 (327) */3058 interface EthereumTransactionTransactionV2 extends Enum {3059 readonly isLegacy: boolean;3060 readonly asLegacy: EthereumTransactionLegacyTransaction;3061 readonly isEip2930: boolean;3062 readonly asEip2930: EthereumTransactionEip2930Transaction;3063 readonly isEip1559: boolean;3064 readonly asEip1559: EthereumTransactionEip1559Transaction;3065 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3066 }30673068 /** @name EthereumTransactionLegacyTransaction (328) */3069 interface EthereumTransactionLegacyTransaction extends Struct {3070 readonly nonce: U256;3071 readonly gasPrice: U256;3072 readonly gasLimit: U256;3073 readonly action: EthereumTransactionTransactionAction;3074 readonly value: U256;3075 readonly input: Bytes;3076 readonly signature: EthereumTransactionTransactionSignature;3077 }30783079 /** @name EthereumTransactionTransactionAction (329) */3080 interface EthereumTransactionTransactionAction extends Enum {3081 readonly isCall: boolean;3082 readonly asCall: H160;3083 readonly isCreate: boolean;3084 readonly type: 'Call' | 'Create';3085 }30863087 /** @name EthereumTransactionTransactionSignature (330) */3088 interface EthereumTransactionTransactionSignature extends Struct {3089 readonly v: u64;3090 readonly r: H256;3091 readonly s: H256;3092 }30933094 /** @name EthereumTransactionEip2930Transaction (332) */3095 interface EthereumTransactionEip2930Transaction extends Struct {3096 readonly chainId: u64;3097 readonly nonce: U256;3098 readonly gasPrice: U256;3099 readonly gasLimit: U256;3100 readonly action: EthereumTransactionTransactionAction;3101 readonly value: U256;3102 readonly input: Bytes;3103 readonly accessList: Vec<EthereumTransactionAccessListItem>;3104 readonly oddYParity: bool;3105 readonly r: H256;3106 readonly s: H256;3107 }31083109 /** @name EthereumTransactionAccessListItem (334) */3110 interface EthereumTransactionAccessListItem extends Struct {3111 readonly address: H160;3112 readonly storageKeys: Vec<H256>;3113 }31143115 /** @name EthereumTransactionEip1559Transaction (335) */3116 interface EthereumTransactionEip1559Transaction extends Struct {3117 readonly chainId: u64;3118 readonly nonce: U256;3119 readonly maxPriorityFeePerGas: U256;3120 readonly maxFeePerGas: U256;3121 readonly gasLimit: U256;3122 readonly action: EthereumTransactionTransactionAction;3123 readonly value: U256;3124 readonly input: Bytes;3125 readonly accessList: Vec<EthereumTransactionAccessListItem>;3126 readonly oddYParity: bool;3127 readonly r: H256;3128 readonly s: H256;3129 }31303131 /** @name PalletEvmMigrationCall (336) */3132 interface PalletEvmMigrationCall extends Enum {3133 readonly isBegin: boolean;3134 readonly asBegin: {3135 readonly address: H160;3136 } & Struct;3137 readonly isSetData: boolean;3138 readonly asSetData: {3139 readonly address: H160;3140 readonly data: Vec<ITuple<[H256, H256]>>;3141 } & Struct;3142 readonly isFinish: boolean;3143 readonly asFinish: {3144 readonly address: H160;3145 readonly code: Bytes;3146 } & Struct;3147 readonly isInsertEthLogs: boolean;3148 readonly asInsertEthLogs: {3149 readonly logs: Vec<EthereumLog>;3150 } & Struct;3151 readonly isInsertEvents: boolean;3152 readonly asInsertEvents: {3153 readonly events: Vec<Bytes>;3154 } & Struct;3155 readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents';3156 }31573158 /** @name PalletMaintenanceCall (340) */3159 interface PalletMaintenanceCall extends Enum {3160 readonly isEnable: boolean;3161 readonly isDisable: boolean;3162 readonly type: 'Enable' | 'Disable';3163 }31643165 /** @name PalletTestUtilsCall (341) */3166 interface PalletTestUtilsCall extends Enum {3167 readonly isEnable: boolean;3168 readonly isSetTestValue: boolean;3169 readonly asSetTestValue: {3170 readonly value: u32;3171 } & Struct;3172 readonly isSetTestValueAndRollback: boolean;3173 readonly asSetTestValueAndRollback: {3174 readonly value: u32;3175 } & Struct;3176 readonly isIncTestValue: boolean;3177 readonly isJustTakeFee: boolean;3178 readonly isBatchAll: boolean;3179 readonly asBatchAll: {3180 readonly calls: Vec<Call>;3181 } & Struct;3182 readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';3183 }31843185 /** @name PalletSudoError (343) */3186 interface PalletSudoError extends Enum {3187 readonly isRequireSudo: boolean;3188 readonly type: 'RequireSudo';3189 }31903191 /** @name OrmlVestingModuleError (345) */3192 interface OrmlVestingModuleError extends Enum {3193 readonly isZeroVestingPeriod: boolean;3194 readonly isZeroVestingPeriodCount: boolean;3195 readonly isInsufficientBalanceToLock: boolean;3196 readonly isTooManyVestingSchedules: boolean;3197 readonly isAmountLow: boolean;3198 readonly isMaxVestingSchedulesExceeded: boolean;3199 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';3200 }32013202 /** @name OrmlXtokensModuleError (346) */3203 interface OrmlXtokensModuleError extends Enum {3204 readonly isAssetHasNoReserve: boolean;3205 readonly isNotCrossChainTransfer: boolean;3206 readonly isInvalidDest: boolean;3207 readonly isNotCrossChainTransferableCurrency: boolean;3208 readonly isUnweighableMessage: boolean;3209 readonly isXcmExecutionFailed: boolean;3210 readonly isCannotReanchor: boolean;3211 readonly isInvalidAncestry: boolean;3212 readonly isInvalidAsset: boolean;3213 readonly isDestinationNotInvertible: boolean;3214 readonly isBadVersion: boolean;3215 readonly isDistinctReserveForAssetAndFee: boolean;3216 readonly isZeroFee: boolean;3217 readonly isZeroAmount: boolean;3218 readonly isTooManyAssetsBeingSent: boolean;3219 readonly isAssetIndexNonExistent: boolean;3220 readonly isFeeNotEnough: boolean;3221 readonly isNotSupportedMultiLocation: boolean;3222 readonly isMinXcmFeeNotDefined: boolean;3223 readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined';3224 }32253226 /** @name OrmlTokensBalanceLock (349) */3227 interface OrmlTokensBalanceLock extends Struct {3228 readonly id: U8aFixed;3229 readonly amount: u128;3230 }32313232 /** @name OrmlTokensAccountData (351) */3233 interface OrmlTokensAccountData extends Struct {3234 readonly free: u128;3235 readonly reserved: u128;3236 readonly frozen: u128;3237 }32383239 /** @name OrmlTokensReserveData (353) */3240 interface OrmlTokensReserveData extends Struct {3241 readonly id: Null;3242 readonly amount: u128;3243 }32443245 /** @name OrmlTokensModuleError (355) */3246 interface OrmlTokensModuleError extends Enum {3247 readonly isBalanceTooLow: boolean;3248 readonly isAmountIntoBalanceFailed: boolean;3249 readonly isLiquidityRestrictions: boolean;3250 readonly isMaxLocksExceeded: boolean;3251 readonly isKeepAlive: boolean;3252 readonly isExistentialDeposit: boolean;3253 readonly isDeadAccount: boolean;3254 readonly isTooManyReserves: boolean;3255 readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves';3256 }32573258 /** @name CumulusPalletXcmpQueueInboundChannelDetails (357) */3259 interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {3260 readonly sender: u32;3261 readonly state: CumulusPalletXcmpQueueInboundState;3262 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;3263 }32643265 /** @name CumulusPalletXcmpQueueInboundState (358) */3266 interface CumulusPalletXcmpQueueInboundState extends Enum {3267 readonly isOk: boolean;3268 readonly isSuspended: boolean;3269 readonly type: 'Ok' | 'Suspended';3270 }32713272 /** @name PolkadotParachainPrimitivesXcmpMessageFormat (361) */3273 interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {3274 readonly isConcatenatedVersionedXcm: boolean;3275 readonly isConcatenatedEncodedBlob: boolean;3276 readonly isSignals: boolean;3277 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';3278 }32793280 /** @name CumulusPalletXcmpQueueOutboundChannelDetails (364) */3281 interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {3282 readonly recipient: u32;3283 readonly state: CumulusPalletXcmpQueueOutboundState;3284 readonly signalsExist: bool;3285 readonly firstIndex: u16;3286 readonly lastIndex: u16;3287 }32883289 /** @name CumulusPalletXcmpQueueOutboundState (365) */3290 interface CumulusPalletXcmpQueueOutboundState extends Enum {3291 readonly isOk: boolean;3292 readonly isSuspended: boolean;3293 readonly type: 'Ok' | 'Suspended';3294 }32953296 /** @name CumulusPalletXcmpQueueQueueConfigData (367) */3297 interface CumulusPalletXcmpQueueQueueConfigData extends Struct {3298 readonly suspendThreshold: u32;3299 readonly dropThreshold: u32;3300 readonly resumeThreshold: u32;3301 readonly thresholdWeight: SpWeightsWeightV2Weight;3302 readonly weightRestrictDecay: SpWeightsWeightV2Weight;3303 readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;3304 }33053306 /** @name CumulusPalletXcmpQueueError (369) */3307 interface CumulusPalletXcmpQueueError extends Enum {3308 readonly isFailedToSend: boolean;3309 readonly isBadXcmOrigin: boolean;3310 readonly isBadXcm: boolean;3311 readonly isBadOverweightIndex: boolean;3312 readonly isWeightOverLimit: boolean;3313 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';3314 }33153316 /** @name PalletXcmError (370) */3317 interface PalletXcmError extends Enum {3318 readonly isUnreachable: boolean;3319 readonly isSendFailure: boolean;3320 readonly isFiltered: boolean;3321 readonly isUnweighableMessage: boolean;3322 readonly isDestinationNotInvertible: boolean;3323 readonly isEmpty: boolean;3324 readonly isCannotReanchor: boolean;3325 readonly isTooManyAssets: boolean;3326 readonly isInvalidOrigin: boolean;3327 readonly isBadVersion: boolean;3328 readonly isBadLocation: boolean;3329 readonly isNoSubscription: boolean;3330 readonly isAlreadySubscribed: boolean;3331 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';3332 }33333334 /** @name CumulusPalletXcmError (371) */3335 type CumulusPalletXcmError = Null;33363337 /** @name CumulusPalletDmpQueueConfigData (372) */3338 interface CumulusPalletDmpQueueConfigData extends Struct {3339 readonly maxIndividual: SpWeightsWeightV2Weight;3340 }33413342 /** @name CumulusPalletDmpQueuePageIndexData (373) */3343 interface CumulusPalletDmpQueuePageIndexData extends Struct {3344 readonly beginUsed: u32;3345 readonly endUsed: u32;3346 readonly overweightCount: u64;3347 }33483349 /** @name CumulusPalletDmpQueueError (376) */3350 interface CumulusPalletDmpQueueError extends Enum {3351 readonly isUnknown: boolean;3352 readonly isOverLimit: boolean;3353 readonly type: 'Unknown' | 'OverLimit';3354 }33553356 /** @name PalletUniqueError (380) */3357 interface PalletUniqueError extends Enum {3358 readonly isCollectionDecimalPointLimitExceeded: boolean;3359 readonly isEmptyArgument: boolean;3360 readonly isRepartitionCalledOnNonRefungibleCollection: boolean;3361 readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection';3362 }33633364 /** @name PalletConfigurationError (381) */3365 interface PalletConfigurationError extends Enum {3366 readonly isInconsistentConfiguration: boolean;3367 readonly type: 'InconsistentConfiguration';3368 }33693370 /** @name UpDataStructsCollection (382) */3371 interface UpDataStructsCollection extends Struct {3372 readonly owner: AccountId32;3373 readonly mode: UpDataStructsCollectionMode;3374 readonly name: Vec<u16>;3375 readonly description: Vec<u16>;3376 readonly tokenPrefix: Bytes;3377 readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3378 readonly limits: UpDataStructsCollectionLimits;3379 readonly permissions: UpDataStructsCollectionPermissions;3380 readonly flags: U8aFixed;3381 }33823383 /** @name UpDataStructsSponsorshipStateAccountId32 (383) */3384 interface UpDataStructsSponsorshipStateAccountId32 extends Enum {3385 readonly isDisabled: boolean;3386 readonly isUnconfirmed: boolean;3387 readonly asUnconfirmed: AccountId32;3388 readonly isConfirmed: boolean;3389 readonly asConfirmed: AccountId32;3390 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3391 }33923393 /** @name UpDataStructsProperties (385) */3394 interface UpDataStructsProperties extends Struct {3395 readonly map: UpDataStructsPropertiesMapBoundedVec;3396 readonly consumedSpace: u32;3397 readonly spaceLimit: u32;3398 }33993400 /** @name UpDataStructsPropertiesMapBoundedVec (386) */3401 interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}34023403 /** @name UpDataStructsPropertiesMapPropertyPermission (391) */3404 interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}34053406 /** @name UpDataStructsCollectionStats (398) */3407 interface UpDataStructsCollectionStats extends Struct {3408 readonly created: u32;3409 readonly destroyed: u32;3410 readonly alive: u32;3411 }34123413 /** @name UpDataStructsTokenChild (399) */3414 interface UpDataStructsTokenChild extends Struct {3415 readonly token: u32;3416 readonly collection: u32;3417 }34183419 /** @name PhantomTypeUpDataStructs (400) */3420 interface PhantomTypeUpDataStructs extends Vec<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftNftInfo, RmrkTraitsResourceResourceInfo, RmrkTraitsPropertyPropertyInfo, RmrkTraitsBaseBaseInfo, RmrkTraitsPartPartType, RmrkTraitsTheme, RmrkTraitsNftNftChild, UpPovEstimateRpcPovInfo]>> {}34213422 /** @name UpDataStructsTokenData (402) */3423 interface UpDataStructsTokenData extends Struct {3424 readonly properties: Vec<UpDataStructsProperty>;3425 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;3426 readonly pieces: u128;3427 }34283429 /** @name UpDataStructsRpcCollection (404) */3430 interface UpDataStructsRpcCollection extends Struct {3431 readonly owner: AccountId32;3432 readonly mode: UpDataStructsCollectionMode;3433 readonly name: Vec<u16>;3434 readonly description: Vec<u16>;3435 readonly tokenPrefix: Bytes;3436 readonly sponsorship: UpDataStructsSponsorshipStateAccountId32;3437 readonly limits: UpDataStructsCollectionLimits;3438 readonly permissions: UpDataStructsCollectionPermissions;3439 readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;3440 readonly properties: Vec<UpDataStructsProperty>;3441 readonly readOnly: bool;3442 readonly flags: UpDataStructsRpcCollectionFlags;3443 }34443445 /** @name UpDataStructsRpcCollectionFlags (405) */3446 interface UpDataStructsRpcCollectionFlags extends Struct {3447 readonly foreign: bool;3448 readonly erc721metadata: bool;3449 }34503451 /** @name RmrkTraitsCollectionCollectionInfo (406) */3452 interface RmrkTraitsCollectionCollectionInfo extends Struct {3453 readonly issuer: AccountId32;3454 readonly metadata: Bytes;3455 readonly max: Option<u32>;3456 readonly symbol: Bytes;3457 readonly nftsCount: u32;3458 }34593460 /** @name RmrkTraitsNftNftInfo (407) */3461 interface RmrkTraitsNftNftInfo extends Struct {3462 readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple;3463 readonly royalty: Option<RmrkTraitsNftRoyaltyInfo>;3464 readonly metadata: Bytes;3465 readonly equipped: bool;3466 readonly pending: bool;3467 }34683469 /** @name RmrkTraitsNftRoyaltyInfo (409) */3470 interface RmrkTraitsNftRoyaltyInfo extends Struct {3471 readonly recipient: AccountId32;3472 readonly amount: Permill;3473 }34743475 /** @name RmrkTraitsResourceResourceInfo (410) */3476 interface RmrkTraitsResourceResourceInfo extends Struct {3477 readonly id: u32;3478 readonly resource: RmrkTraitsResourceResourceTypes;3479 readonly pending: bool;3480 readonly pendingRemoval: bool;3481 }34823483 /** @name RmrkTraitsPropertyPropertyInfo (411) */3484 interface RmrkTraitsPropertyPropertyInfo extends Struct {3485 readonly key: Bytes;3486 readonly value: Bytes;3487 }34883489 /** @name RmrkTraitsBaseBaseInfo (412) */3490 interface RmrkTraitsBaseBaseInfo extends Struct {3491 readonly issuer: AccountId32;3492 readonly baseType: Bytes;3493 readonly symbol: Bytes;3494 }34953496 /** @name RmrkTraitsNftNftChild (413) */3497 interface RmrkTraitsNftNftChild extends Struct {3498 readonly collectionId: u32;3499 readonly nftId: u32;3500 }35013502 /** @name UpPovEstimateRpcPovInfo (414) */3503 interface UpPovEstimateRpcPovInfo extends Struct {3504 readonly proofSize: u64;3505 readonly compactProofSize: u64;3506 readonly compressedProofSize: u64;3507 readonly results: Vec<Result<Result<Null, SpRuntimeDispatchError>, SpRuntimeTransactionValidityTransactionValidityError>>;3508 readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;3509 }35103511 /** @name SpRuntimeTransactionValidityTransactionValidityError (417) */3512 interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {3513 readonly isInvalid: boolean;3514 readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;3515 readonly isUnknown: boolean;3516 readonly asUnknown: SpRuntimeTransactionValidityUnknownTransaction;3517 readonly type: 'Invalid' | 'Unknown';3518 }35193520 /** @name SpRuntimeTransactionValidityInvalidTransaction (418) */3521 interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {3522 readonly isCall: boolean;3523 readonly isPayment: boolean;3524 readonly isFuture: boolean;3525 readonly isStale: boolean;3526 readonly isBadProof: boolean;3527 readonly isAncientBirthBlock: boolean;3528 readonly isExhaustsResources: boolean;3529 readonly isCustom: boolean;3530 readonly asCustom: u8;3531 readonly isBadMandatory: boolean;3532 readonly isMandatoryValidation: boolean;3533 readonly isBadSigner: boolean;3534 readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner';3535 }35363537 /** @name SpRuntimeTransactionValidityUnknownTransaction (419) */3538 interface SpRuntimeTransactionValidityUnknownTransaction extends Enum {3539 readonly isCannotLookup: boolean;3540 readonly isNoUnsignedValidator: boolean;3541 readonly isCustom: boolean;3542 readonly asCustom: u8;3543 readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom';3544 }35453546 /** @name UpPovEstimateRpcTrieKeyValue (421) */3547 interface UpPovEstimateRpcTrieKeyValue extends Struct {3548 readonly key: Bytes;3549 readonly value: Bytes;3550 }35513552 /** @name PalletCommonError (423) */3553 interface PalletCommonError extends Enum {3554 readonly isCollectionNotFound: boolean;3555 readonly isMustBeTokenOwner: boolean;3556 readonly isNoPermission: boolean;3557 readonly isCantDestroyNotEmptyCollection: boolean;3558 readonly isPublicMintingNotAllowed: boolean;3559 readonly isAddressNotInAllowlist: boolean;3560 readonly isCollectionNameLimitExceeded: boolean;3561 readonly isCollectionDescriptionLimitExceeded: boolean;3562 readonly isCollectionTokenPrefixLimitExceeded: boolean;3563 readonly isTotalCollectionsLimitExceeded: boolean;3564 readonly isCollectionAdminCountExceeded: boolean;3565 readonly isCollectionLimitBoundsExceeded: boolean;3566 readonly isOwnerPermissionsCantBeReverted: boolean;3567 readonly isTransferNotAllowed: boolean;3568 readonly isAccountTokenLimitExceeded: boolean;3569 readonly isCollectionTokenLimitExceeded: boolean;3570 readonly isMetadataFlagFrozen: boolean;3571 readonly isTokenNotFound: boolean;3572 readonly isTokenValueTooLow: boolean;3573 readonly isApprovedValueTooLow: boolean;3574 readonly isCantApproveMoreThanOwned: boolean;3575 readonly isAddressIsNotEthMirror: boolean;3576 readonly isAddressIsZero: boolean;3577 readonly isUnsupportedOperation: boolean;3578 readonly isNotSufficientFounds: boolean;3579 readonly isUserIsNotAllowedToNest: boolean;3580 readonly isSourceCollectionIsNotAllowedToNest: boolean;3581 readonly isCollectionFieldSizeExceeded: boolean;3582 readonly isNoSpaceForProperty: boolean;3583 readonly isPropertyLimitReached: boolean;3584 readonly isPropertyKeyIsTooLong: boolean;3585 readonly isInvalidCharacterInPropertyKey: boolean;3586 readonly isEmptyPropertyKey: boolean;3587 readonly isCollectionIsExternal: boolean;3588 readonly isCollectionIsInternal: boolean;3589 readonly isConfirmSponsorshipFail: boolean;3590 readonly isUserIsNotCollectionAdmin: boolean;3591 readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsNotEthMirror' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin';3592 }35933594 /** @name PalletFungibleError (425) */3595 interface PalletFungibleError extends Enum {3596 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;3597 readonly isFungibleItemsHaveNoId: boolean;3598 readonly isFungibleItemsDontHaveData: boolean;3599 readonly isFungibleDisallowsNesting: boolean;3600 readonly isSettingPropertiesNotAllowed: boolean;3601 readonly isSettingAllowanceForAllNotAllowed: boolean;3602 readonly isFungibleTokensAreAlwaysValid: boolean;3603 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid';3604 }36053606 /** @name PalletRefungibleError (429) */3607 interface PalletRefungibleError extends Enum {3608 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;3609 readonly isWrongRefungiblePieces: boolean;3610 readonly isRepartitionWhileNotOwningAllPieces: boolean;3611 readonly isRefungibleDisallowsNesting: boolean;3612 readonly isSettingPropertiesNotAllowed: boolean;3613 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';3614 }36153616 /** @name PalletNonfungibleItemData (430) */3617 interface PalletNonfungibleItemData extends Struct {3618 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;3619 }36203621 /** @name UpDataStructsPropertyScope (432) */3622 interface UpDataStructsPropertyScope extends Enum {3623 readonly isNone: boolean;3624 readonly isRmrk: boolean;3625 readonly type: 'None' | 'Rmrk';3626 }36273628 /** @name PalletNonfungibleError (435) */3629 interface PalletNonfungibleError extends Enum {3630 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;3631 readonly isNonfungibleItemsHaveNoAmount: boolean;3632 readonly isCantBurnNftWithChildren: boolean;3633 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren';3634 }36353636 /** @name PalletStructureError (436) */3637 interface PalletStructureError extends Enum {3638 readonly isOuroborosDetected: boolean;3639 readonly isDepthLimit: boolean;3640 readonly isBreadthLimit: boolean;3641 readonly isTokenNotFound: boolean;3642 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound';3643 }36443645 /** @name PalletRmrkCoreError (437) */3646 interface PalletRmrkCoreError extends Enum {3647 readonly isCorruptedCollectionType: boolean;3648 readonly isRmrkPropertyKeyIsTooLong: boolean;3649 readonly isRmrkPropertyValueIsTooLong: boolean;3650 readonly isRmrkPropertyIsNotFound: boolean;3651 readonly isUnableToDecodeRmrkData: boolean;3652 readonly isCollectionNotEmpty: boolean;3653 readonly isNoAvailableCollectionId: boolean;3654 readonly isNoAvailableNftId: boolean;3655 readonly isCollectionUnknown: boolean;3656 readonly isNoPermission: boolean;3657 readonly isNonTransferable: boolean;3658 readonly isCollectionFullOrLocked: boolean;3659 readonly isResourceDoesntExist: boolean;3660 readonly isCannotSendToDescendentOrSelf: boolean;3661 readonly isCannotAcceptNonOwnedNft: boolean;3662 readonly isCannotRejectNonOwnedNft: boolean;3663 readonly isCannotRejectNonPendingNft: boolean;3664 readonly isResourceNotPending: boolean;3665 readonly isNoAvailableResourceId: boolean;3666 readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId';3667 }36683669 /** @name PalletRmrkEquipError (439) */3670 interface PalletRmrkEquipError extends Enum {3671 readonly isPermissionError: boolean;3672 readonly isNoAvailableBaseId: boolean;3673 readonly isNoAvailablePartId: boolean;3674 readonly isBaseDoesntExist: boolean;3675 readonly isNeedsDefaultThemeFirst: boolean;3676 readonly isPartDoesntExist: boolean;3677 readonly isNoEquippableOnFixedPart: boolean;3678 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart';3679 }36803681 /** @name PalletAppPromotionError (445) */3682 interface PalletAppPromotionError extends Enum {3683 readonly isAdminNotSet: boolean;3684 readonly isNoPermission: boolean;3685 readonly isNotSufficientFunds: boolean;3686 readonly isPendingForBlockOverflow: boolean;3687 readonly isSponsorNotSet: boolean;3688 readonly isIncorrectLockedBalanceOperation: boolean;3689 readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'IncorrectLockedBalanceOperation';3690 }36913692 /** @name PalletForeignAssetsModuleError (446) */3693 interface PalletForeignAssetsModuleError extends Enum {3694 readonly isBadLocation: boolean;3695 readonly isMultiLocationExisted: boolean;3696 readonly isAssetIdNotExists: boolean;3697 readonly isAssetIdExisted: boolean;3698 readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted';3699 }37003701 /** @name PalletEvmError (448) */3702 interface PalletEvmError extends Enum {3703 readonly isBalanceLow: boolean;3704 readonly isFeeOverflow: boolean;3705 readonly isPaymentOverflow: boolean;3706 readonly isWithdrawFailed: boolean;3707 readonly isGasPriceTooLow: boolean;3708 readonly isInvalidNonce: boolean;3709 readonly isGasLimitTooLow: boolean;3710 readonly isGasLimitTooHigh: boolean;3711 readonly isUndefined: boolean;3712 readonly isReentrancy: boolean;3713 readonly isTransactionMustComeFromEOA: boolean;3714 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA';3715 }37163717 /** @name FpRpcTransactionStatus (451) */3718 interface FpRpcTransactionStatus extends Struct {3719 readonly transactionHash: H256;3720 readonly transactionIndex: u32;3721 readonly from: H160;3722 readonly to: Option<H160>;3723 readonly contractAddress: Option<H160>;3724 readonly logs: Vec<EthereumLog>;3725 readonly logsBloom: EthbloomBloom;3726 }37273728 /** @name EthbloomBloom (453) */3729 interface EthbloomBloom extends U8aFixed {}37303731 /** @name EthereumReceiptReceiptV3 (455) */3732 interface EthereumReceiptReceiptV3 extends Enum {3733 readonly isLegacy: boolean;3734 readonly asLegacy: EthereumReceiptEip658ReceiptData;3735 readonly isEip2930: boolean;3736 readonly asEip2930: EthereumReceiptEip658ReceiptData;3737 readonly isEip1559: boolean;3738 readonly asEip1559: EthereumReceiptEip658ReceiptData;3739 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';3740 }37413742 /** @name EthereumReceiptEip658ReceiptData (456) */3743 interface EthereumReceiptEip658ReceiptData extends Struct {3744 readonly statusCode: u8;3745 readonly usedGas: U256;3746 readonly logsBloom: EthbloomBloom;3747 readonly logs: Vec<EthereumLog>;3748 }37493750 /** @name EthereumBlock (457) */3751 interface EthereumBlock extends Struct {3752 readonly header: EthereumHeader;3753 readonly transactions: Vec<EthereumTransactionTransactionV2>;3754 readonly ommers: Vec<EthereumHeader>;3755 }37563757 /** @name EthereumHeader (458) */3758 interface EthereumHeader extends Struct {3759 readonly parentHash: H256;3760 readonly ommersHash: H256;3761 readonly beneficiary: H160;3762 readonly stateRoot: H256;3763 readonly transactionsRoot: H256;3764 readonly receiptsRoot: H256;3765 readonly logsBloom: EthbloomBloom;3766 readonly difficulty: U256;3767 readonly number: U256;3768 readonly gasLimit: U256;3769 readonly gasUsed: U256;3770 readonly timestamp: u64;3771 readonly extraData: Bytes;3772 readonly mixHash: H256;3773 readonly nonce: EthereumTypesHashH64;3774 }37753776 /** @name EthereumTypesHashH64 (459) */3777 interface EthereumTypesHashH64 extends U8aFixed {}37783779 /** @name PalletEthereumError (464) */3780 interface PalletEthereumError extends Enum {3781 readonly isInvalidSignature: boolean;3782 readonly isPreLogExists: boolean;3783 readonly type: 'InvalidSignature' | 'PreLogExists';3784 }37853786 /** @name PalletEvmCoderSubstrateError (465) */3787 interface PalletEvmCoderSubstrateError extends Enum {3788 readonly isOutOfGas: boolean;3789 readonly isOutOfFund: boolean;3790 readonly type: 'OutOfGas' | 'OutOfFund';3791 }37923793 /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (466) */3794 interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum {3795 readonly isDisabled: boolean;3796 readonly isUnconfirmed: boolean;3797 readonly asUnconfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3798 readonly isConfirmed: boolean;3799 readonly asConfirmed: PalletEvmAccountBasicCrossAccountIdRepr;3800 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';3801 }38023803 /** @name PalletEvmContractHelpersSponsoringModeT (467) */3804 interface PalletEvmContractHelpersSponsoringModeT extends Enum {3805 readonly isDisabled: boolean;3806 readonly isAllowlisted: boolean;3807 readonly isGenerous: boolean;3808 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';3809 }38103811 /** @name PalletEvmContractHelpersError (473) */3812 interface PalletEvmContractHelpersError extends Enum {3813 readonly isNoPermission: boolean;3814 readonly isNoPendingSponsor: boolean;3815 readonly isTooManyMethodsHaveSponsoredLimit: boolean;3816 readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit';3817 }38183819 /** @name PalletEvmMigrationError (474) */3820 interface PalletEvmMigrationError extends Enum {3821 readonly isAccountNotEmpty: boolean;3822 readonly isAccountIsNotMigrating: boolean;3823 readonly isBadEvent: boolean;3824 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent';3825 }38263827 /** @name PalletMaintenanceError (475) */3828 type PalletMaintenanceError = Null;38293830 /** @name PalletTestUtilsError (476) */3831 interface PalletTestUtilsError extends Enum {3832 readonly isTestPalletDisabled: boolean;3833 readonly isTriggerRollback: boolean;3834 readonly type: 'TestPalletDisabled' | 'TriggerRollback';3835 }38363837 /** @name SpRuntimeMultiSignature (478) */3838 interface SpRuntimeMultiSignature extends Enum {3839 readonly isEd25519: boolean;3840 readonly asEd25519: SpCoreEd25519Signature;3841 readonly isSr25519: boolean;3842 readonly asSr25519: SpCoreSr25519Signature;3843 readonly isEcdsa: boolean;3844 readonly asEcdsa: SpCoreEcdsaSignature;3845 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';3846 }38473848 /** @name SpCoreEd25519Signature (479) */3849 interface SpCoreEd25519Signature extends U8aFixed {}38503851 /** @name SpCoreSr25519Signature (481) */3852 interface SpCoreSr25519Signature extends U8aFixed {}38533854 /** @name SpCoreEcdsaSignature (482) */3855 interface SpCoreEcdsaSignature extends U8aFixed {}38563857 /** @name FrameSystemExtensionsCheckSpecVersion (485) */3858 type FrameSystemExtensionsCheckSpecVersion = Null;38593860 /** @name FrameSystemExtensionsCheckTxVersion (486) */3861 type FrameSystemExtensionsCheckTxVersion = Null;38623863 /** @name FrameSystemExtensionsCheckGenesis (487) */3864 type FrameSystemExtensionsCheckGenesis = Null;38653866 /** @name FrameSystemExtensionsCheckNonce (490) */3867 interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}38683869 /** @name FrameSystemExtensionsCheckWeight (491) */3870 type FrameSystemExtensionsCheckWeight = Null;38713872 /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (492) */3873 type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null;38743875 /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (493) */3876 type OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null;38773878 /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (494) */3879 interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}38803881 /** @name OpalRuntimeRuntime (495) */3882 type OpalRuntimeRuntime = Null;38833884 /** @name PalletEthereumFakeTransactionFinalizer (496) */3885 type PalletEthereumFakeTransactionFinalizer = Null;38863887} // declare moduletests/src/util/playgrounds/unique.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -633,6 +633,10 @@
let call = this.getApi() as any;
for(const part of apiCall.slice(4).split('.')) {
call = call[part];
+ if (!call) {
+ const advice = part.includes('_') ? ' Looks like it needs to be converted to camel case.' : '';
+ throw Error(`Function ${part} of api call ${apiCall} not found.${advice}`);
+ }
}
return call(...params);
}
@@ -1259,6 +1263,42 @@
}
/**
+ * Set, change, or remove approved address to transfer the ownership of the NFT from eth mirror.
+ *
+ * @param signer keyring of signer
+ * @param collectionId ID of collection
+ * @param tokenId ID of token
+ * @param fromAddressObj Signer's Ethereum address containing her tokens
+ * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens
+ * @param amount amount of token to be approved. For NFT must be set to 1n
+ * @returns ```true``` if extrinsic success, otherwise ```false```
+ */
+ async approveTokenFrom(signer: IKeyringPair, collectionId: number, tokenId: number, fromAddressObj: ICrossAccountId, toAddressObj: ICrossAccountId, amount=1n) {
+ const approveResult = await this.helper.executeExtrinsic(
+ signer,
+ 'api.tx.unique.approveFrom', [fromAddressObj, toAddressObj, collectionId, tokenId, amount],
+ true, // `Unable to approve token for ${label}`,
+ );
+
+ return this.helper.util.findCollectionInEvents(approveResult.result.events, collectionId, 'common', 'Approved');
+ }
+
+ /**
+ * Set, change, or remove approved address to transfer the ownership of the NFT from eth mirror.
+ *
+ * @param signer keyring of signer
+ * @param collectionId ID of collection
+ * @param tokenId ID of token
+ * @param toAddressObj Substrate or Ethereum address which gets approved use of the signer's tokens
+ * @param amount amount of token to be approved. For NFT must be set to 1n
+ * @returns ```true``` if extrinsic success, otherwise ```false```
+ */
+ async approveTokenFromEth(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount=1n) {
+ const ethMirror = CrossAccountId.fromKeyring(signer).toEthereum();
+ return await this.approveTokenFrom(signer, collectionId, tokenId, ethMirror, toAddressObj, amount);
+ }
+
+ /**
* Get the amount of token pieces approved to transfer or burn. Normally 0.
*
* @param collectionId ID of collection
@@ -1756,8 +1796,8 @@
* @example approveToken(aliceKeyring, 10, 5, {Substrate: "5DyN4Y92vZCjv38fg..."})
* @returns ```true``` if extrinsic success, otherwise ```false```
*/
- approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId) {
- return super.approveToken(signer, collectionId, tokenId, toAddressObj, 1n);
+ approveToken(signer: IKeyringPair, collectionId: number, tokenId: number, toAddressObj: ICrossAccountId, amount=1n) {
+ return super.approveToken(signer, collectionId, tokenId, toAddressObj, amount);
}
}