difftreelog
CORE-345 Split evm collection to collection and helper
in: master
16 files changed
Makefilediffbeforeafterboth--- a/Makefile
+++ b/Makefile
@@ -18,6 +18,9 @@
COLLECTION_STUBS=./pallets/unique/src/eth/stubs/
COLLECTION_ABI=./tests/src/eth/collectionAbi.json
+COLLECTION_HELPER_STUBS=$(COLLECTION_STUBS)
+COLLECTION_HELPER_ABI=./tests/src/eth/collectionHelperAbi.json
+
TESTS_API=./tests/src/eth/api/
.PHONY: regenerate_solidity
@@ -36,9 +39,13 @@
PACKAGE=pallet-evm-contract-helpers NAME=eth::contract_helpers_impl OUTPUT=$(CONTRACT_HELPERS_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
Collection.sol:
- PACKAGE=pallet-unique NAME=eth::pallet_evm_collection::collection_iface OUTPUT=$(TESTS_API)/$@ ./.maintain/scripts/generate_sol.sh
- PACKAGE=pallet-unique NAME=eth::pallet_evm_collection::collection_impl OUTPUT=$(COLLECTION_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
+ PACKAGE=pallet-unique NAME=eth::evm_collection::collection_iface OUTPUT=$(TESTS_API)/$@ ./.maintain/scripts/generate_sol.sh
+ PACKAGE=pallet-unique NAME=eth::evm_collection::collection_impl OUTPUT=$(COLLECTION_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
+CollectionHelper.sol:
+ PACKAGE=pallet-unique NAME=eth::evm_collection::collection_helper_iface OUTPUT=$(TESTS_API)/$@ ./.maintain/scripts/generate_sol.sh
+ PACKAGE=pallet-unique NAME=eth::evm_collection::collection_helper_impl OUTPUT=$(COLLECTION_HELPER_STUBS)/$@ ./.maintain/scripts/generate_sol.sh
+
UniqueFungible: UniqueFungible.sol
INPUT=$(FUNGIBLE_EVM_STUBS)/$< OUTPUT=$(FUNGIBLE_EVM_STUBS)/UniqueFungible.raw ./.maintain/scripts/compile_stub.sh
INPUT=$(FUNGIBLE_EVM_STUBS)/$< OUTPUT=$(FUNGIBLE_EVM_ABI) ./.maintain/scripts/generate_abi.sh
@@ -55,7 +62,11 @@
INPUT=$(COLLECTION_STUBS)/$< OUTPUT=$(COLLECTION_STUBS)/Collection.raw ./.maintain/scripts/compile_stub.sh
INPUT=$(COLLECTION_STUBS)/$< OUTPUT=$(COLLECTION_ABI) ./.maintain/scripts/generate_abi.sh
-evm_stubs: UniqueFungible UniqueNFT ContractHelpers Collection
+CollectionHelper: CollectionHelper.sol
+ INPUT=$(COLLECTION_HELPER_STUBS)/$< OUTPUT=$(COLLECTION_HELPER_STUBS)/CollectionHelper.raw ./.maintain/scripts/compile_stub.sh
+ INPUT=$(COLLECTION_HELPER_STUBS)/$< OUTPUT=$(COLLECTION_HELPER_ABI) ./.maintain/scripts/generate_abi.sh
+
+evm_stubs: UniqueFungible UniqueNFT ContractHelpers Collection CollectionHelper
.PHONY: _bench
_bench:
pallets/unique/src/eth/mod.rsdiffbeforeafterboth--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -112,7 +112,6 @@
use sp_std::{vec::Vec, rc::Rc};
use alloc::format;
- // #[pallet::config]
pub trait Config:
frame_system::Config
+ pallet_evm_coder_substrate::Config
@@ -122,8 +121,8 @@
type ContractAddress: Get<H160>;
}
- struct EvmCollection<T: Config>(Rc<SubstrateRecorder<T>>);
- impl<T: Config> WithRecorder<T> for EvmCollection<T> {
+ struct EvmCollectionHelper<T: Config>(Rc<SubstrateRecorder<T>>);
+ impl<T: Config> WithRecorder<T> for EvmCollectionHelper<T> {
fn recorder(&self) -> &SubstrateRecorder<T> {
&self.0
}
@@ -132,19 +131,9 @@
self.0
}
}
-
- #[derive(ToLog)]
- pub enum EthCollectionEvent {
- CollectionCreated {
- #[indexed]
- owner: address,
- #[indexed]
- collection_id: address,
- },
- }
-
- #[solidity_interface(name = "Collection")]
- impl<T: Config> EvmCollection<T> {
+
+ #[solidity_interface(name = "CollectionHelper")]
+ impl<T: Config> EvmCollectionHelper<T> {
fn create_721_collection(
&self,
caller: caller,
@@ -188,14 +177,37 @@
});
Ok(address)
}
+ }
+
+ struct EvmCollection<T: Config>(Rc<SubstrateRecorder<T>>);
+ impl<T: Config> WithRecorder<T> for EvmCollection<T> {
+ fn recorder(&self) -> &SubstrateRecorder<T> {
+ &self.0
+ }
+
+ fn into_recorder(self) -> Rc<SubstrateRecorder<T>> {
+ self.0
+ }
+ }
+
+ #[derive(ToLog)]
+ pub enum EthCollectionEvent {
+ CollectionCreated {
+ #[indexed]
+ owner: address,
+ #[indexed]
+ collection_id: address,
+ },
+ }
+ #[solidity_interface(name = "Collection")]
+ impl<T: Config> EvmCollection<T> {
fn set_sponsor(
&self,
caller: caller,
- collection_address: address,
sponsor: address,
) -> Result<void> {
- let mut collection = collection_from_address(collection_address, &self.0)?;
+ let mut collection = collection_from_address(self.contract_address(caller).unwrap(), &self.0)?;
check_is_owner(caller, &collection)?;
let sponsor = T::CrossAccountId::from_eth(sponsor);
@@ -203,8 +215,8 @@
save_eth(collection)
}
- fn confirm_sponsorship(&self, caller: caller, collection_address: address) -> Result<void> {
- let mut collection = collection_from_address(collection_address, &self.0)?;
+ fn confirm_sponsorship(&self, caller: caller) -> Result<void> {
+ let mut collection = collection_from_address(self.contract_address(caller).unwrap(), &self.0)?;
let caller = T::CrossAccountId::from_eth(caller);
if !collection.confirm_sponsorship(caller.as_sub()) {
return Err(Error::Revert("Caller is not set as sponsor".into()));
@@ -215,10 +227,9 @@
fn set_limits(
&self,
caller: caller,
- collection_address: address,
limits_json: string,
) -> Result<void> {
- let mut collection = collection_from_address(collection_address, &self.0)?;
+ let mut collection = collection_from_address(self.contract_address(caller).unwrap(), &self.0)?;
check_is_owner(caller, &collection)?;
let limits = serde_json_core::from_str(limits_json.as_ref())
@@ -226,6 +237,10 @@
collection.limits = limits.0;
save_eth(collection)
}
+
+ fn contract_address(&self, _caller: caller) -> Result<address> {
+ Ok(self.0.contract())
+ }
}
fn error_feild_too_long(feild: &str, bound: u32) -> Error {
@@ -251,9 +266,9 @@
.map_err(pallet_evm_coder_substrate::dispatch_to_evm::<T>)?;
Ok(())
}
-
- pub struct CollectionOnMethodCall<T: Config>(PhantomData<*const T>);
- impl<T: Config> OnMethodCall<T> for CollectionOnMethodCall<T> {
+
+ pub struct CollectionHelperOnMethodCall<T: Config>(PhantomData<*const T>);
+ impl<T: Config> OnMethodCall<T> for CollectionHelperOnMethodCall<T> {
fn is_reserved(contract: &sp_core::H160) -> bool {
contract == &T::ContractAddress::get()
}
@@ -273,6 +288,36 @@
return None;
}
+ let helpers = EvmCollectionHelper::<T>(Rc::new(SubstrateRecorder::<T>::new(*target, gas_left)));
+ pallet_evm_coder_substrate::call(*source, helpers, value, input)
+ }
+
+ fn get_code(contract: &sp_core::H160) -> Option<Vec<u8>> {
+ (contract == &T::ContractAddress::get())
+ .then(|| include_bytes!("./stubs/CollectionHelper.raw").to_vec())
+ }
+ }
+
+ generate_stubgen!(collection_helper_impl, CollectionHelperCall<()>, true);
+ generate_stubgen!(collection_helper_iface, CollectionHelperCall<()>, false);
+
+ pub struct CollectionOnMethodCall<T: Config>(PhantomData<*const T>);
+ impl<T: Config> OnMethodCall<T> for CollectionOnMethodCall<T> {
+ fn is_reserved(contract: &sp_core::H160) -> bool {
+ contract == &T::ContractAddress::get()
+ }
+
+ fn is_used(contract: &sp_core::H160) -> bool {
+ contract == &T::ContractAddress::get()
+ }
+
+ fn call(
+ source: &sp_core::H160,
+ target: &sp_core::H160,
+ gas_left: u64,
+ input: &[u8],
+ value: sp_core::U256,
+ ) -> Option<PrecompileResult> {
let helpers = EvmCollection::<T>(Rc::new(SubstrateRecorder::<T>::new(*target, gas_left)));
pallet_evm_coder_substrate::call(*source, helpers, value, input)
}
pallets/unique/src/eth/stubs/Collection.rawdiffbeforeafterbothbinary blob — no preview
pallets/unique/src/eth/stubs/Collection.soldiffbeforeafterboth--- a/pallets/unique/src/eth/stubs/Collection.sol
+++ b/pallets/unique/src/eth/stubs/Collection.sol
@@ -21,48 +21,32 @@
}
}
-// Selector: 1e95830f
+// Selector: 15cc740e
contract Collection is Dummy, ERC165 {
- // Selector: create721Collection(string,string,string) 951c0151
- function create721Collection(
- string memory name,
- string memory description,
- string memory tokenPrefix
- ) public view returns (address) {
+ // Selector: setSponsor(address) 59753fb1
+ function setSponsor(address sponsor) public view {
require(false, stub_error);
- name;
- description;
- tokenPrefix;
+ sponsor;
dummy;
- return 0x0000000000000000000000000000000000000000;
}
- // Selector: setSponsor(address,address) f01fba93
- function setSponsor(address collectionAddress, address sponsor)
- public
- view
- {
+ // Selector: confirmSponsorship() c8c6a056
+ function confirmSponsorship() public view {
require(false, stub_error);
- collectionAddress;
- sponsor;
dummy;
}
- // Selector: confirmSponsorship(address) abc00001
- function confirmSponsorship(address collectionAddress) public view {
+ // Selector: setLimits(string) 72cb345d
+ function setLimits(string memory limitsJson) public view {
require(false, stub_error);
- collectionAddress;
+ limitsJson;
dummy;
}
- // Selector: setLimits(address,string) d05638cc
- function setLimits(address collectionAddress, string memory limitsJson)
- public
- view
- {
+ // Selector: contractAddress() f6b4dfb4
+ function contractAddress() public view returns (address) {
require(false, stub_error);
- collectionAddress;
- limitsJson;
dummy;
+ return 0x0000000000000000000000000000000000000000;
}
}
pallets/unique/src/eth/stubs/CollectionHelper.rawdiffbeforeafterbothbinary blob — no preview
pallets/unique/src/eth/stubs/CollectionHelper.soldiffbeforeafterboth--- /dev/null
+++ b/pallets/unique/src/eth/stubs/CollectionHelper.sol
@@ -0,0 +1,39 @@
+// SPDX-License-Identifier: OTHER
+// This code is automatically generated
+
+pragma solidity >=0.8.0 <0.9.0;
+
+// Common stubs holder
+contract Dummy {
+ uint8 dummy;
+ string stub_error = "this contract is implemented in native";
+}
+
+contract ERC165 is Dummy {
+ function supportsInterface(bytes4 interfaceID)
+ external
+ view
+ returns (bool)
+ {
+ require(false, stub_error);
+ interfaceID;
+ return true;
+ }
+}
+
+// Selector: 951c0151
+contract CollectionHelper is Dummy, ERC165 {
+ // Selector: create721Collection(string,string,string) 951c0151
+ function create721Collection(
+ string memory name,
+ string memory description,
+ string memory tokenPrefix
+ ) public view returns (address) {
+ require(false, stub_error);
+ name;
+ description;
+ tokenPrefix;
+ dummy;
+ return 0x0000000000000000000000000000000000000000;
+ }
+}
runtime/opal/src/lib.rsdiffbeforeafterboth--- a/runtime/opal/src/lib.rs
+++ b/runtime/opal/src/lib.rs
@@ -308,6 +308,7 @@
pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
CollectionDispatchT<Self>,
evm_collection::CollectionOnMethodCall<Self>,
+ evm_collection::CollectionHelperOnMethodCall<Self>,
);
type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;
type ChainId = ChainId;
@@ -978,7 +979,7 @@
]);
// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
- pub const EvmCollectionAddress: H160 = H160([
+ pub const EvmCollectionHelperAddress: H160 = H160([
0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
]);
}
@@ -989,7 +990,7 @@
}
impl evm_collection::Config for Runtime {
- type ContractAddress = EvmCollectionAddress;
+ type ContractAddress = EvmCollectionHelperAddress;
}
construct_runtime!(
runtime/quartz/src/lib.rsdiffbeforeafterboth--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -280,6 +280,7 @@
pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
CollectionDispatchT<Self>,
evm_collection::CollectionOnMethodCall<Self>,
+ evm_collection::CollectionHelperOnMethodCall<Self>,
);
type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;
type ChainId = ChainId;
@@ -955,7 +956,7 @@
]);
// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
- pub const EvmCollectionAddress: H160 = H160([
+ pub const EvmCollectionHelperAddress: H160 = H160([
0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
]);
}
@@ -966,7 +967,7 @@
}
impl evm_collection::Config for Runtime {
- type ContractAddress = EvmCollectionAddress;
+ type ContractAddress = EvmCollectionHelperAddress;
}
construct_runtime!(
runtime/unique/src/lib.rsdiffbeforeafterboth--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -284,6 +284,7 @@
pallet_evm_contract_helpers::HelpersOnMethodCall<Self>,
CollectionDispatchT<Self>,
evm_collection::CollectionOnMethodCall<Self>,
+ evm_collection::CollectionHelperOnMethodCall<Self>,
);
type OnCreate = pallet_evm_contract_helpers::HelpersOnCreate<Self>;
type ChainId = ChainId;
@@ -960,7 +961,7 @@
]);
// 0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f
- pub const EvmCollectionAddress: H160 = H160([
+ pub const EvmCollectionHelperAddress: H160 = H160([
0x6c, 0x4e, 0x9f, 0xe1, 0xae, 0x37, 0xa4, 0x1e, 0x93, 0xce, 0xe4, 0x29, 0xe8, 0xe1, 0x88, 0x1a, 0xbd, 0xcb, 0xb5, 0x4f,
]);
}
@@ -971,7 +972,7 @@
}
impl evm_collection::Config for Runtime {
- type ContractAddress = EvmCollectionAddress;
+ type ContractAddress = EvmCollectionHelperAddress;
}
construct_runtime!(
tests/src/eth/api/Collection.soldiffbeforeafterboth--- a/tests/src/eth/api/Collection.sol
+++ b/tests/src/eth/api/Collection.sol
@@ -12,25 +12,17 @@
function supportsInterface(bytes4 interfaceID) external view returns (bool);
}
-// Selector: 1e95830f
+// Selector: 15cc740e
interface Collection is Dummy, ERC165 {
- // Selector: create721Collection(string,string,string) 951c0151
- function create721Collection(
- string memory name,
- string memory description,
- string memory tokenPrefix
- ) external view returns (address);
+ // Selector: setSponsor(address) 59753fb1
+ function setSponsor(address sponsor) external view;
- // Selector: setSponsor(address,address) f01fba93
- function setSponsor(address collectionAddress, address sponsor)
- external
- view;
+ // Selector: confirmSponsorship() c8c6a056
+ function confirmSponsorship() external view;
- // Selector: confirmSponsorship(address) abc00001
- function confirmSponsorship(address collectionAddress) external view;
+ // Selector: setLimits(string) 72cb345d
+ function setLimits(string memory limitsJson) external view;
- // Selector: setLimits(address,string) d05638cc
- function setLimits(address collectionAddress, string memory limitsJson)
- external
- view;
+ // Selector: contractAddress() f6b4dfb4
+ function contractAddress() external view returns (address);
}
tests/src/eth/api/CollectionHelper.soldiffbeforeafterboth--- /dev/null
+++ b/tests/src/eth/api/CollectionHelper.sol
@@ -0,0 +1,23 @@
+// SPDX-License-Identifier: OTHER
+// This code is automatically generated
+
+pragma solidity >=0.8.0 <0.9.0;
+
+// Common stubs holder
+interface Dummy {
+
+}
+
+interface ERC165 is Dummy {
+ function supportsInterface(bytes4 interfaceID) external view returns (bool);
+}
+
+// Selector: 951c0151
+interface CollectionHelper is Dummy, ERC165 {
+ // Selector: create721Collection(string,string,string) 951c0151
+ function create721Collection(
+ string memory name,
+ string memory description,
+ string memory tokenPrefix
+ ) external view returns (address);
+}
tests/src/eth/collectionAbi.jsondiffbeforeafterboth--- a/tests/src/eth/collectionAbi.json
+++ b/tests/src/eth/collectionAbi.json
@@ -1,35 +1,20 @@
[
{
- "inputs": [
- {
- "internalType": "address",
- "name": "collectionAddress",
- "type": "address"
- }
- ],
+ "inputs": [],
"name": "confirmSponsorship",
"outputs": [],
"stateMutability": "view",
"type": "function"
},
{
- "inputs": [
- { "internalType": "string", "name": "name", "type": "string" },
- { "internalType": "string", "name": "description", "type": "string" },
- { "internalType": "string", "name": "tokenPrefix", "type": "string" }
- ],
- "name": "create721Collection",
+ "inputs": [],
+ "name": "contractAddress",
"outputs": [{ "internalType": "address", "name": "", "type": "address" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
- {
- "internalType": "address",
- "name": "collectionAddress",
- "type": "address"
- },
{ "internalType": "string", "name": "limitsJson", "type": "string" }
],
"name": "setLimits",
@@ -39,11 +24,6 @@
},
{
"inputs": [
- {
- "internalType": "address",
- "name": "collectionAddress",
- "type": "address"
- },
{ "internalType": "address", "name": "sponsor", "type": "address" }
],
"name": "setSponsor",
tests/src/eth/collectionHelperAbi.jsondiffbeforeafterboth--- /dev/null
+++ b/tests/src/eth/collectionHelperAbi.json
@@ -0,0 +1,22 @@
+[
+ {
+ "inputs": [
+ { "internalType": "string", "name": "name", "type": "string" },
+ { "internalType": "string", "name": "description", "type": "string" },
+ { "internalType": "string", "name": "tokenPrefix", "type": "string" }
+ ],
+ "name": "create721Collection",
+ "outputs": [{ "internalType": "address", "name": "", "type": "address" }],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [
+ { "internalType": "bytes4", "name": "interfaceID", "type": "bytes4" }
+ ],
+ "name": "supportsInterface",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "view",
+ "type": "function"
+ }
+]
tests/src/eth/createCollection.test.tsdiffbeforeafterboth--- a/tests/src/eth/createCollection.test.ts
+++ b/tests/src/eth/createCollection.test.ts
@@ -20,11 +20,12 @@
import {expect} from 'chai';
import {getCreatedCollectionCount, getDetailedCollectionInfo} from '../util/helpers';
import {
- collectionHelper,
+ evmCollectionHelper,
collectionIdFromAddress,
collectionIdToAddress,
createEthAccount,
createEthAccountWithBalance,
+ evmCollection,
GAS_ARGS,
itWeb3,
normalizeAddress,
@@ -41,7 +42,7 @@
describe('Create collection from EVM', () => {
itWeb3('Create collection', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
+ const helper = evmCollectionHelper(web3, owner);
const collectionName = 'CollectionEVM';
const description = 'Some description';
const tokenPrefix = 'token prefix';
@@ -63,26 +64,27 @@
itWeb3('Set sponsorship', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
- let result = await helper.methods.create721Collection('Sponsor collection', '1', '1').send();
+ const collectionHelper = evmCollectionHelper(web3, owner);
+ let result = await collectionHelper.methods.create721Collection('Sponsor collection', '1', '1').send();
const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
const sponsor = await createEthAccountWithBalance(api, web3);
- result = await helper.methods.setSponsor(collectionIdAddress, sponsor).send();
- let collection = (await getDetailedCollectionInfo(api, collectionId))!;
- expect(collection.sponsorship.isUnconfirmed).to.be.true;
- expect(collection.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
- await expect(helper.methods.confirmSponsorship(collectionIdAddress).call()).to.be.rejectedWith('Caller is not set as sponsor');
- const sponsorHelper = collectionHelper(web3, sponsor);
- await sponsorHelper.methods.confirmSponsorship(collectionIdAddress).send();
- collection = (await getDetailedCollectionInfo(api, collectionId))!;
- expect(collection.sponsorship.isConfirmed).to.be.true;
- expect(collection.sponsorship.asConfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
+ const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
+ result = await collectionEvm.methods.setSponsor(sponsor).send();
+ let collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
+ expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;
+ expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
+ await expect(collectionEvm.methods.confirmSponsorship().call()).to.be.rejectedWith('Caller is not set as sponsor');
+ const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+ await sponsorCollection.methods.confirmSponsorship().send();
+ collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
+ expect(collectionSub.sponsorship.isConfirmed).to.be.true;
+ expect(collectionSub.sponsorship.asConfirmed.toHuman()).to.be.eq(evmToAddress(sponsor));
});
itWeb3('Set limits', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
- const result = await helper.methods.create721Collection('Const collection', '5', '5').send();
+ const collectionHelper = evmCollectionHelper(web3, owner);
+ const result = await collectionHelper.methods.create721Collection('Const collection', '5', '5').send();
const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
const limits = {
accountTokenOwnershipLimit: 1000,
@@ -97,23 +99,24 @@
};
const limitsJson = JSON.stringify(limits, null, 1);
- await helper.methods.setLimits(collectionIdAddress, limitsJson).send();
+ const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
+ await collectionEvm.methods.setLimits(limitsJson).send();
- const collection = (await getDetailedCollectionInfo(api, collectionId))!;
- expect(collection.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.be.eq(limits.accountTokenOwnershipLimit);
- expect(collection.limits.sponsoredDataSize.unwrap().toNumber()).to.be.eq(limits.sponsoredDataSize);
- expect(collection.limits.sponsoredDataRateLimit.unwrap().asBlocks.toNumber()).to.be.eq(limits.sponsoredDataRateLimit.Blocks);
- expect(collection.limits.tokenLimit.unwrap().toNumber()).to.be.eq(limits.tokenLimit);
- expect(collection.limits.sponsorTransferTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorTransferTimeout);
- expect(collection.limits.sponsorApproveTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorApproveTimeout);
- expect(collection.limits.ownerCanTransfer.toHuman()).to.be.eq(limits.ownerCanTransfer);
- expect(collection.limits.ownerCanDestroy.toHuman()).to.be.eq(limits.ownerCanDestroy);
- expect(collection.limits.transfersEnabled.toHuman()).to.be.eq(limits.transfersEnabled);
+ const collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;
+ expect(collectionSub.limits.accountTokenOwnershipLimit.unwrap().toNumber()).to.be.eq(limits.accountTokenOwnershipLimit);
+ expect(collectionSub.limits.sponsoredDataSize.unwrap().toNumber()).to.be.eq(limits.sponsoredDataSize);
+ expect(collectionSub.limits.sponsoredDataRateLimit.unwrap().asBlocks.toNumber()).to.be.eq(limits.sponsoredDataRateLimit.Blocks);
+ expect(collectionSub.limits.tokenLimit.unwrap().toNumber()).to.be.eq(limits.tokenLimit);
+ expect(collectionSub.limits.sponsorTransferTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorTransferTimeout);
+ expect(collectionSub.limits.sponsorApproveTimeout.unwrap().toNumber()).to.be.eq(limits.sponsorApproveTimeout);
+ expect(collectionSub.limits.ownerCanTransfer.toHuman()).to.be.eq(limits.ownerCanTransfer);
+ expect(collectionSub.limits.ownerCanDestroy.toHuman()).to.be.eq(limits.ownerCanDestroy);
+ expect(collectionSub.limits.transfersEnabled.toHuman()).to.be.eq(limits.transfersEnabled);
});
itWeb3('Check tokenURI', async ({web3, api}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
+ const helper = evmCollectionHelper(web3, owner);
let result = await helper.methods.create721Collection('Mint collection', '6', '6').send();
const {collectionIdAddress, collectionId} = await getCollectionAddressFromResult(api, result);
const receiver = createEthAccount(web3);
@@ -154,7 +157,7 @@
describe('(!negative tests!) Create collection from EVM', () => {
itWeb3('(!negative test!) Create collection (bad lengths)', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
+ const helper = evmCollectionHelper(web3, owner);
{
const MAX_NAME_LENGHT = 64;
const collectionName = 'A'.repeat(MAX_NAME_LENGHT + 1);
@@ -188,7 +191,7 @@
itWeb3('(!negative test!) Create collection (no funds)', async ({web3}) => {
const owner = await createEthAccount(web3);
- const helper = collectionHelper(web3, owner);
+ const helper = evmCollectionHelper(web3, owner);
const collectionName = 'A';
const description = 'A';
const tokenPrefix = 'A';
@@ -200,24 +203,24 @@
itWeb3('(!negative test!) Collection address (Contract is not an unique collection)', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
const collectionAddressWithBadPrefix = '0x00112233445566778899AABBCCDDEEFF00112233';
+ const collectionEvm = evmCollection(web3, owner, collectionAddressWithBadPrefix);
const EXPECTED_ERROR = 'Contract is not an unique collection';
{
const sponsor = await createEthAccountWithBalance(api, web3);
- await expect(helper.methods
- .setSponsor(collectionAddressWithBadPrefix, sponsor)
+ await expect(collectionEvm.methods
+ .setSponsor(sponsor)
.call()).to.be.rejectedWith(EXPECTED_ERROR);
- const sponsorHelper = collectionHelper(web3, sponsor);
- await expect(sponsorHelper.methods
- .confirmSponsorship(collectionAddressWithBadPrefix)
+ const sponsorCollection = evmCollection(web3, sponsor, collectionAddressWithBadPrefix);
+ await expect(sponsorCollection.methods
+ .confirmSponsorship()
.call()).to.be.rejectedWith(EXPECTED_ERROR);
}
{
const limits = '{"account_token_ownership_limit":1000}';
- await expect(helper.methods
- .setLimits(collectionAddressWithBadPrefix, limits)
+ await expect(collectionEvm.methods
+ .setLimits(limits)
.call()).to.be.rejectedWith(EXPECTED_ERROR);
}
});
@@ -225,38 +228,39 @@
itWeb3('(!negative test!) Check owner', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
const notOwner = await createEthAccount(web3);
- const helperFromOwner = collectionHelper(web3, owner);
- const helperFromNotOwner = collectionHelper(web3, notOwner);
- const result = await helperFromOwner.methods.create721Collection('A', 'A', 'A').send();
+ const collectionHelper = evmCollectionHelper(web3, owner);
+ const result = await collectionHelper.methods.create721Collection('A', 'A', 'A').send();
const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
+ const contractEvmFromNotOwner = evmCollection(web3, notOwner, collectionIdAddress);
const EXPECTED_ERROR = 'NoPermission';
{
const sponsor = await createEthAccountWithBalance(api, web3);
- await expect(helperFromNotOwner.methods
- .setSponsor(collectionIdAddress, sponsor)
+ await expect(contractEvmFromNotOwner.methods
+ .setSponsor(sponsor)
.call()).to.be.rejectedWith(EXPECTED_ERROR);
- const sponsorHelper = collectionHelper(web3, sponsor);
- await expect(sponsorHelper.methods
- .confirmSponsorship(collectionIdAddress)
+ const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);
+ await expect(sponsorCollection.methods
+ .confirmSponsorship()
.call()).to.be.rejectedWith('Caller is not set as sponsor');
}
{
const limits = '{"account_token_ownership_limit":1000}';
- await expect(helperFromNotOwner.methods
- .setLimits(collectionIdAddress, limits)
+ await expect(contractEvmFromNotOwner.methods
+ .setLimits(limits)
.call()).to.be.rejectedWith(EXPECTED_ERROR);
}
});
itWeb3('(!negative test!) Set limits', async ({api, web3}) => {
const owner = await createEthAccountWithBalance(api, web3);
- const helper = collectionHelper(web3, owner);
- const result = await helper.methods.create721Collection('Schema collection', 'A', 'A').send();
+ const collectionHelper = evmCollectionHelper(web3, owner);
+ const result = await collectionHelper.methods.create721Collection('Schema collection', 'A', 'A').send();
const {collectionIdAddress} = await getCollectionAddressFromResult(api, result);
+ const collectionEvm = evmCollection(web3, owner, collectionIdAddress);
const badJson = '{accountTokenOwnershipLimit: 1000}';
- await expect(helper.methods
- .setLimits(collectionIdAddress, badJson)
+ await expect(collectionEvm.methods
+ .setLimits(badJson)
.call()).to.be.rejectedWith('Parse JSON error:');
});
});
\ No newline at end of file
tests/src/eth/util/helpers.tsdiffbeforeafterboth--- a/tests/src/eth/util/helpers.ts
+++ b/tests/src/eth/util/helpers.ts
@@ -29,6 +29,7 @@
import privateKey from '../../substrate/privateKey';
import contractHelpersAbi from './contractHelpersAbi.json';
import collectionAbi from '../collectionAbi.json';
+import collectionHelperAbi from '../collectionHelperAbi.json';
import getBalance from '../../substrate/get-balance';
import waitNewBlocks from '../../substrate/wait-new-blocks';
@@ -283,13 +284,23 @@
}
/**
- * pallet evm_collection
+ * evm collection helper
* @param web3
* @param caller - eth address
* @returns
*/
-export function collectionHelper(web3: Web3, caller: string) {
- return new web3.eth.Contract(collectionAbi as any, '0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f', {from: caller, ...GAS_ARGS});
+export function evmCollectionHelper(web3: Web3, caller: string) {
+ return new web3.eth.Contract(collectionHelperAbi as any, '0x6c4e9fe1ae37a41e93cee429e8e1881abdcbb54f', {from: caller, ...GAS_ARGS});
+}
+
+/**
+ * evm collection
+ * @param web3
+ * @param caller - eth address
+ * @returns
+ */
+export function evmCollection(web3: Web3, caller: string, collection: string) {
+ return new web3.eth.Contract(collectionAbi as any, collection, {from: caller, ...GAS_ARGS});
}
/**
tests/src/interfaces/unique/types.tsdiffbeforeafterboth1// Auto-generated via `yarn polkadot-types-from-defs`, do not edit2/* eslint-disable */34import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec';5import type { ITuple } from '@polkadot/types-codec/types';6import type { AccountId32, Call, H160, H256, MultiAddress, Perbill, Permill } from '@polkadot/types/interfaces/runtime';7import type { Event } from '@polkadot/types/interfaces/system';89/** @name BTreeSet */10export interface BTreeSet extends BTreeSet<Bytes> {}1112/** @name CumulusPalletDmpQueueCall */13export interface CumulusPalletDmpQueueCall extends Enum {14 readonly isServiceOverweight: boolean;15 readonly asServiceOverweight: {16 readonly index: u64;17 readonly weightLimit: u64;18 } & Struct;19 readonly type: 'ServiceOverweight';20}2122/** @name CumulusPalletDmpQueueConfigData */23export interface CumulusPalletDmpQueueConfigData extends Struct {24 readonly maxIndividual: u64;25}2627/** @name CumulusPalletDmpQueueError */28export interface CumulusPalletDmpQueueError extends Enum {29 readonly isUnknown: boolean;30 readonly isOverLimit: boolean;31 readonly type: 'Unknown' | 'OverLimit';32}3334/** @name CumulusPalletDmpQueueEvent */35export interface CumulusPalletDmpQueueEvent extends Enum {36 readonly isInvalidFormat: boolean;37 readonly asInvalidFormat: U8aFixed;38 readonly isUnsupportedVersion: boolean;39 readonly asUnsupportedVersion: U8aFixed;40 readonly isExecutedDownward: boolean;41 readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;42 readonly isWeightExhausted: boolean;43 readonly asWeightExhausted: ITuple<[U8aFixed, u64, u64]>;44 readonly isOverweightEnqueued: boolean;45 readonly asOverweightEnqueued: ITuple<[U8aFixed, u64, u64]>;46 readonly isOverweightServiced: boolean;47 readonly asOverweightServiced: ITuple<[u64, u64]>;48 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced';49}5051/** @name CumulusPalletDmpQueuePageIndexData */52export interface CumulusPalletDmpQueuePageIndexData extends Struct {53 readonly beginUsed: u32;54 readonly endUsed: u32;55 readonly overweightCount: u64;56}5758/** @name CumulusPalletParachainSystemCall */59export interface CumulusPalletParachainSystemCall extends Enum {60 readonly isSetValidationData: boolean;61 readonly asSetValidationData: {62 readonly data: CumulusPrimitivesParachainInherentParachainInherentData;63 } & Struct;64 readonly isSudoSendUpwardMessage: boolean;65 readonly asSudoSendUpwardMessage: {66 readonly message: Bytes;67 } & Struct;68 readonly isAuthorizeUpgrade: boolean;69 readonly asAuthorizeUpgrade: {70 readonly codeHash: H256;71 } & Struct;72 readonly isEnactAuthorizedUpgrade: boolean;73 readonly asEnactAuthorizedUpgrade: {74 readonly code: Bytes;75 } & Struct;76 readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';77}7879/** @name CumulusPalletParachainSystemError */80export interface CumulusPalletParachainSystemError extends Enum {81 readonly isOverlappingUpgrades: boolean;82 readonly isProhibitedByPolkadot: boolean;83 readonly isTooBig: boolean;84 readonly isValidationDataNotAvailable: boolean;85 readonly isHostConfigurationNotAvailable: boolean;86 readonly isNotScheduled: boolean;87 readonly isNothingAuthorized: boolean;88 readonly isUnauthorized: boolean;89 readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized';90}9192/** @name CumulusPalletParachainSystemEvent */93export interface CumulusPalletParachainSystemEvent extends Enum {94 readonly isValidationFunctionStored: boolean;95 readonly isValidationFunctionApplied: boolean;96 readonly asValidationFunctionApplied: u32;97 readonly isValidationFunctionDiscarded: boolean;98 readonly isUpgradeAuthorized: boolean;99 readonly asUpgradeAuthorized: H256;100 readonly isDownwardMessagesReceived: boolean;101 readonly asDownwardMessagesReceived: u32;102 readonly isDownwardMessagesProcessed: boolean;103 readonly asDownwardMessagesProcessed: ITuple<[u64, H256]>;104 readonly type: 'ValidationFunctionStored' | 'ValidationFunctionApplied' | 'ValidationFunctionDiscarded' | 'UpgradeAuthorized' | 'DownwardMessagesReceived' | 'DownwardMessagesProcessed';105}106107/** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot */108export interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {109 readonly dmqMqcHead: H256;110 readonly relayDispatchQueueSize: ITuple<[u32, u32]>;111 readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;112 readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV2AbridgedHrmpChannel]>>;113}114115/** @name CumulusPalletXcmCall */116export interface CumulusPalletXcmCall extends Null {}117118/** @name CumulusPalletXcmError */119export interface CumulusPalletXcmError extends Null {}120121/** @name CumulusPalletXcmEvent */122export interface CumulusPalletXcmEvent extends Enum {123 readonly isInvalidFormat: boolean;124 readonly asInvalidFormat: U8aFixed;125 readonly isUnsupportedVersion: boolean;126 readonly asUnsupportedVersion: U8aFixed;127 readonly isExecutedDownward: boolean;128 readonly asExecutedDownward: ITuple<[U8aFixed, XcmV2TraitsOutcome]>;129 readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward';130}131132/** @name CumulusPalletXcmpQueueCall */133export interface CumulusPalletXcmpQueueCall extends Enum {134 readonly isServiceOverweight: boolean;135 readonly asServiceOverweight: {136 readonly index: u64;137 readonly weightLimit: u64;138 } & Struct;139 readonly isSuspendXcmExecution: boolean;140 readonly isResumeXcmExecution: boolean;141 readonly isUpdateSuspendThreshold: boolean;142 readonly asUpdateSuspendThreshold: {143 readonly new_: u32;144 } & Struct;145 readonly isUpdateDropThreshold: boolean;146 readonly asUpdateDropThreshold: {147 readonly new_: u32;148 } & Struct;149 readonly isUpdateResumeThreshold: boolean;150 readonly asUpdateResumeThreshold: {151 readonly new_: u32;152 } & Struct;153 readonly isUpdateThresholdWeight: boolean;154 readonly asUpdateThresholdWeight: {155 readonly new_: u64;156 } & Struct;157 readonly isUpdateWeightRestrictDecay: boolean;158 readonly asUpdateWeightRestrictDecay: {159 readonly new_: u64;160 } & Struct;161 readonly isUpdateXcmpMaxIndividualWeight: boolean;162 readonly asUpdateXcmpMaxIndividualWeight: {163 readonly new_: u64;164 } & Struct;165 readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';166}167168/** @name CumulusPalletXcmpQueueError */169export interface CumulusPalletXcmpQueueError extends Enum {170 readonly isFailedToSend: boolean;171 readonly isBadXcmOrigin: boolean;172 readonly isBadXcm: boolean;173 readonly isBadOverweightIndex: boolean;174 readonly isWeightOverLimit: boolean;175 readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit';176}177178/** @name CumulusPalletXcmpQueueEvent */179export interface CumulusPalletXcmpQueueEvent extends Enum {180 readonly isSuccess: boolean;181 readonly asSuccess: Option<H256>;182 readonly isFail: boolean;183 readonly asFail: ITuple<[Option<H256>, XcmV2TraitsError]>;184 readonly isBadVersion: boolean;185 readonly asBadVersion: Option<H256>;186 readonly isBadFormat: boolean;187 readonly asBadFormat: Option<H256>;188 readonly isUpwardMessageSent: boolean;189 readonly asUpwardMessageSent: Option<H256>;190 readonly isXcmpMessageSent: boolean;191 readonly asXcmpMessageSent: Option<H256>;192 readonly isOverweightEnqueued: boolean;193 readonly asOverweightEnqueued: ITuple<[u32, u32, u64, u64]>;194 readonly isOverweightServiced: boolean;195 readonly asOverweightServiced: ITuple<[u64, u64]>;196 readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';197}198199/** @name CumulusPalletXcmpQueueInboundChannelDetails */200export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct {201 readonly sender: u32;202 readonly state: CumulusPalletXcmpQueueInboundState;203 readonly messageMetadata: Vec<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;204}205206/** @name CumulusPalletXcmpQueueInboundState */207export interface CumulusPalletXcmpQueueInboundState extends Enum {208 readonly isOk: boolean;209 readonly isSuspended: boolean;210 readonly type: 'Ok' | 'Suspended';211}212213/** @name CumulusPalletXcmpQueueOutboundChannelDetails */214export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct {215 readonly recipient: u32;216 readonly state: CumulusPalletXcmpQueueOutboundState;217 readonly signalsExist: bool;218 readonly firstIndex: u16;219 readonly lastIndex: u16;220}221222/** @name CumulusPalletXcmpQueueOutboundState */223export interface CumulusPalletXcmpQueueOutboundState extends Enum {224 readonly isOk: boolean;225 readonly isSuspended: boolean;226 readonly type: 'Ok' | 'Suspended';227}228229/** @name CumulusPalletXcmpQueueQueueConfigData */230export interface CumulusPalletXcmpQueueQueueConfigData extends Struct {231 readonly suspendThreshold: u32;232 readonly dropThreshold: u32;233 readonly resumeThreshold: u32;234 readonly thresholdWeight: u64;235 readonly weightRestrictDecay: u64;236 readonly xcmpMaxIndividualWeight: u64;237}238239/** @name CumulusPrimitivesParachainInherentParachainInherentData */240export interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {241 readonly validationData: PolkadotPrimitivesV2PersistedValidationData;242 readonly relayChainState: SpTrieStorageProof;243 readonly downwardMessages: Vec<PolkadotCorePrimitivesInboundDownwardMessage>;244 readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;245}246247/** @name EthbloomBloom */248export interface EthbloomBloom extends U8aFixed {}249250/** @name EthereumBlock */251export interface EthereumBlock extends Struct {252 readonly header: EthereumHeader;253 readonly transactions: Vec<EthereumTransactionTransactionV2>;254 readonly ommers: Vec<EthereumHeader>;255}256257/** @name EthereumHeader */258export interface EthereumHeader extends Struct {259 readonly parentHash: H256;260 readonly ommersHash: H256;261 readonly beneficiary: H160;262 readonly stateRoot: H256;263 readonly transactionsRoot: H256;264 readonly receiptsRoot: H256;265 readonly logsBloom: EthbloomBloom;266 readonly difficulty: U256;267 readonly number: U256;268 readonly gasLimit: U256;269 readonly gasUsed: U256;270 readonly timestamp: u64;271 readonly extraData: Bytes;272 readonly mixHash: H256;273 readonly nonce: EthereumTypesHashH64;274}275276/** @name EthereumLog */277export interface EthereumLog extends Struct {278 readonly address: H160;279 readonly topics: Vec<H256>;280 readonly data: Bytes;281}282283/** @name EthereumReceiptEip658ReceiptData */284export interface EthereumReceiptEip658ReceiptData extends Struct {285 readonly statusCode: u8;286 readonly usedGas: U256;287 readonly logsBloom: EthbloomBloom;288 readonly logs: Vec<EthereumLog>;289}290291/** @name EthereumReceiptReceiptV3 */292export interface EthereumReceiptReceiptV3 extends Enum {293 readonly isLegacy: boolean;294 readonly asLegacy: EthereumReceiptEip658ReceiptData;295 readonly isEip2930: boolean;296 readonly asEip2930: EthereumReceiptEip658ReceiptData;297 readonly isEip1559: boolean;298 readonly asEip1559: EthereumReceiptEip658ReceiptData;299 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';300}301302/** @name EthereumTransactionAccessListItem */303export interface EthereumTransactionAccessListItem extends Struct {304 readonly address: H160;305 readonly storageKeys: Vec<H256>;306}307308/** @name EthereumTransactionEip1559Transaction */309export interface EthereumTransactionEip1559Transaction extends Struct {310 readonly chainId: u64;311 readonly nonce: U256;312 readonly maxPriorityFeePerGas: U256;313 readonly maxFeePerGas: U256;314 readonly gasLimit: U256;315 readonly action: EthereumTransactionTransactionAction;316 readonly value: U256;317 readonly input: Bytes;318 readonly accessList: Vec<EthereumTransactionAccessListItem>;319 readonly oddYParity: bool;320 readonly r: H256;321 readonly s: H256;322}323324/** @name EthereumTransactionEip2930Transaction */325export interface EthereumTransactionEip2930Transaction extends Struct {326 readonly chainId: u64;327 readonly nonce: U256;328 readonly gasPrice: U256;329 readonly gasLimit: U256;330 readonly action: EthereumTransactionTransactionAction;331 readonly value: U256;332 readonly input: Bytes;333 readonly accessList: Vec<EthereumTransactionAccessListItem>;334 readonly oddYParity: bool;335 readonly r: H256;336 readonly s: H256;337}338339/** @name EthereumTransactionLegacyTransaction */340export interface EthereumTransactionLegacyTransaction extends Struct {341 readonly nonce: U256;342 readonly gasPrice: U256;343 readonly gasLimit: U256;344 readonly action: EthereumTransactionTransactionAction;345 readonly value: U256;346 readonly input: Bytes;347 readonly signature: EthereumTransactionTransactionSignature;348}349350/** @name EthereumTransactionTransactionAction */351export interface EthereumTransactionTransactionAction extends Enum {352 readonly isCall: boolean;353 readonly asCall: H160;354 readonly isCreate: boolean;355 readonly type: 'Call' | 'Create';356}357358/** @name EthereumTransactionTransactionSignature */359export interface EthereumTransactionTransactionSignature extends Struct {360 readonly v: u64;361 readonly r: H256;362 readonly s: H256;363}364365/** @name EthereumTransactionTransactionV2 */366export interface EthereumTransactionTransactionV2 extends Enum {367 readonly isLegacy: boolean;368 readonly asLegacy: EthereumTransactionLegacyTransaction;369 readonly isEip2930: boolean;370 readonly asEip2930: EthereumTransactionEip2930Transaction;371 readonly isEip1559: boolean;372 readonly asEip1559: EthereumTransactionEip1559Transaction;373 readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';374}375376/** @name EthereumTypesHashH64 */377export interface EthereumTypesHashH64 extends U8aFixed {}378379/** @name EvmCoreErrorExitError */380export interface EvmCoreErrorExitError extends Enum {381 readonly isStackUnderflow: boolean;382 readonly isStackOverflow: boolean;383 readonly isInvalidJump: boolean;384 readonly isInvalidRange: boolean;385 readonly isDesignatedInvalid: boolean;386 readonly isCallTooDeep: boolean;387 readonly isCreateCollision: boolean;388 readonly isCreateContractLimit: boolean;389 readonly isOutOfOffset: boolean;390 readonly isOutOfGas: boolean;391 readonly isOutOfFund: boolean;392 readonly isPcUnderflow: boolean;393 readonly isCreateEmpty: boolean;394 readonly isOther: boolean;395 readonly asOther: Text;396 readonly isInvalidCode: boolean;397 readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode';398}399400/** @name EvmCoreErrorExitFatal */401export interface EvmCoreErrorExitFatal extends Enum {402 readonly isNotSupported: boolean;403 readonly isUnhandledInterrupt: boolean;404 readonly isCallErrorAsFatal: boolean;405 readonly asCallErrorAsFatal: EvmCoreErrorExitError;406 readonly isOther: boolean;407 readonly asOther: Text;408 readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other';409}410411/** @name EvmCoreErrorExitReason */412export interface EvmCoreErrorExitReason extends Enum {413 readonly isSucceed: boolean;414 readonly asSucceed: EvmCoreErrorExitSucceed;415 readonly isError: boolean;416 readonly asError: EvmCoreErrorExitError;417 readonly isRevert: boolean;418 readonly asRevert: EvmCoreErrorExitRevert;419 readonly isFatal: boolean;420 readonly asFatal: EvmCoreErrorExitFatal;421 readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal';422}423424/** @name EvmCoreErrorExitRevert */425export interface EvmCoreErrorExitRevert extends Enum {426 readonly isReverted: boolean;427 readonly type: 'Reverted';428}429430/** @name EvmCoreErrorExitSucceed */431export interface EvmCoreErrorExitSucceed extends Enum {432 readonly isStopped: boolean;433 readonly isReturned: boolean;434 readonly isSuicided: boolean;435 readonly type: 'Stopped' | 'Returned' | 'Suicided';436}437438/** @name FpRpcTransactionStatus */439export interface FpRpcTransactionStatus extends Struct {440 readonly transactionHash: H256;441 readonly transactionIndex: u32;442 readonly from: H160;443 readonly to: Option<H160>;444 readonly contractAddress: Option<H160>;445 readonly logs: Vec<EthereumLog>;446 readonly logsBloom: EthbloomBloom;447}448449/** @name FrameSupportPalletId */450export interface FrameSupportPalletId extends U8aFixed {}451452/** @name FrameSupportTokensMiscBalanceStatus */453export interface FrameSupportTokensMiscBalanceStatus extends Enum {454 readonly isFree: boolean;455 readonly isReserved: boolean;456 readonly type: 'Free' | 'Reserved';457}458459/** @name FrameSupportWeightsDispatchClass */460export interface FrameSupportWeightsDispatchClass extends Enum {461 readonly isNormal: boolean;462 readonly isOperational: boolean;463 readonly isMandatory: boolean;464 readonly type: 'Normal' | 'Operational' | 'Mandatory';465}466467/** @name FrameSupportWeightsDispatchInfo */468export interface FrameSupportWeightsDispatchInfo extends Struct {469 readonly weight: u64;470 readonly class: FrameSupportWeightsDispatchClass;471 readonly paysFee: FrameSupportWeightsPays;472}473474/** @name FrameSupportWeightsPays */475export interface FrameSupportWeightsPays extends Enum {476 readonly isYes: boolean;477 readonly isNo: boolean;478 readonly type: 'Yes' | 'No';479}480481/** @name FrameSupportWeightsPerDispatchClassU32 */482export interface FrameSupportWeightsPerDispatchClassU32 extends Struct {483 readonly normal: u32;484 readonly operational: u32;485 readonly mandatory: u32;486}487488/** @name FrameSupportWeightsPerDispatchClassU64 */489export interface FrameSupportWeightsPerDispatchClassU64 extends Struct {490 readonly normal: u64;491 readonly operational: u64;492 readonly mandatory: u64;493}494495/** @name FrameSupportWeightsPerDispatchClassWeightsPerClass */496export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct {497 readonly normal: FrameSystemLimitsWeightsPerClass;498 readonly operational: FrameSystemLimitsWeightsPerClass;499 readonly mandatory: FrameSystemLimitsWeightsPerClass;500}501502/** @name FrameSupportWeightsRuntimeDbWeight */503export interface FrameSupportWeightsRuntimeDbWeight extends Struct {504 readonly read: u64;505 readonly write: u64;506}507508/** @name FrameSupportWeightsWeightToFeeCoefficient */509export interface FrameSupportWeightsWeightToFeeCoefficient extends Struct {510 readonly coeffInteger: u128;511 readonly coeffFrac: Perbill;512 readonly negative: bool;513 readonly degree: u8;514}515516/** @name FrameSystemAccountInfo */517export interface FrameSystemAccountInfo extends Struct {518 readonly nonce: u32;519 readonly consumers: u32;520 readonly providers: u32;521 readonly sufficients: u32;522 readonly data: PalletBalancesAccountData;523}524525/** @name FrameSystemCall */526export interface FrameSystemCall extends Enum {527 readonly isFillBlock: boolean;528 readonly asFillBlock: {529 readonly ratio: Perbill;530 } & Struct;531 readonly isRemark: boolean;532 readonly asRemark: {533 readonly remark: Bytes;534 } & Struct;535 readonly isSetHeapPages: boolean;536 readonly asSetHeapPages: {537 readonly pages: u64;538 } & Struct;539 readonly isSetCode: boolean;540 readonly asSetCode: {541 readonly code: Bytes;542 } & Struct;543 readonly isSetCodeWithoutChecks: boolean;544 readonly asSetCodeWithoutChecks: {545 readonly code: Bytes;546 } & Struct;547 readonly isSetStorage: boolean;548 readonly asSetStorage: {549 readonly items: Vec<ITuple<[Bytes, Bytes]>>;550 } & Struct;551 readonly isKillStorage: boolean;552 readonly asKillStorage: {553 readonly keys_: Vec<Bytes>;554 } & Struct;555 readonly isKillPrefix: boolean;556 readonly asKillPrefix: {557 readonly prefix: Bytes;558 readonly subkeys: u32;559 } & Struct;560 readonly isRemarkWithEvent: boolean;561 readonly asRemarkWithEvent: {562 readonly remark: Bytes;563 } & Struct;564 readonly type: 'FillBlock' | 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent';565}566567/** @name FrameSystemError */568export interface FrameSystemError extends Enum {569 readonly isInvalidSpecName: boolean;570 readonly isSpecVersionNeedsToIncrease: boolean;571 readonly isFailedToExtractRuntimeVersion: boolean;572 readonly isNonDefaultComposite: boolean;573 readonly isNonZeroRefCount: boolean;574 readonly isCallFiltered: boolean;575 readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered';576}577578/** @name FrameSystemEvent */579export interface FrameSystemEvent extends Enum {580 readonly isExtrinsicSuccess: boolean;581 readonly asExtrinsicSuccess: {582 readonly dispatchInfo: FrameSupportWeightsDispatchInfo;583 } & Struct;584 readonly isExtrinsicFailed: boolean;585 readonly asExtrinsicFailed: {586 readonly dispatchError: SpRuntimeDispatchError;587 readonly dispatchInfo: FrameSupportWeightsDispatchInfo;588 } & Struct;589 readonly isCodeUpdated: boolean;590 readonly isNewAccount: boolean;591 readonly asNewAccount: {592 readonly account: AccountId32;593 } & Struct;594 readonly isKilledAccount: boolean;595 readonly asKilledAccount: {596 readonly account: AccountId32;597 } & Struct;598 readonly isRemarked: boolean;599 readonly asRemarked: {600 readonly sender: AccountId32;601 readonly hash_: H256;602 } & Struct;603 readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked';604}605606/** @name FrameSystemEventRecord */607export interface FrameSystemEventRecord extends Struct {608 readonly phase: FrameSystemPhase;609 readonly event: Event;610 readonly topics: Vec<H256>;611}612613/** @name FrameSystemExtensionsCheckGenesis */614export interface FrameSystemExtensionsCheckGenesis extends Null {}615616/** @name FrameSystemExtensionsCheckNonce */617export interface FrameSystemExtensionsCheckNonce extends Compact<u32> {}618619/** @name FrameSystemExtensionsCheckSpecVersion */620export interface FrameSystemExtensionsCheckSpecVersion extends Null {}621622/** @name FrameSystemExtensionsCheckWeight */623export interface FrameSystemExtensionsCheckWeight extends Null {}624625/** @name FrameSystemLastRuntimeUpgradeInfo */626export interface FrameSystemLastRuntimeUpgradeInfo extends Struct {627 readonly specVersion: Compact<u32>;628 readonly specName: Text;629}630631/** @name FrameSystemLimitsBlockLength */632export interface FrameSystemLimitsBlockLength extends Struct {633 readonly max: FrameSupportWeightsPerDispatchClassU32;634}635636/** @name FrameSystemLimitsBlockWeights */637export interface FrameSystemLimitsBlockWeights extends Struct {638 readonly baseBlock: u64;639 readonly maxBlock: u64;640 readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass;641}642643/** @name FrameSystemLimitsWeightsPerClass */644export interface FrameSystemLimitsWeightsPerClass extends Struct {645 readonly baseExtrinsic: u64;646 readonly maxExtrinsic: Option<u64>;647 readonly maxTotal: Option<u64>;648 readonly reserved: Option<u64>;649}650651/** @name FrameSystemPhase */652export interface FrameSystemPhase extends Enum {653 readonly isApplyExtrinsic: boolean;654 readonly asApplyExtrinsic: u32;655 readonly isFinalization: boolean;656 readonly isInitialization: boolean;657 readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization';658}659660/** @name OpalRuntimeRuntime */661export interface OpalRuntimeRuntime extends Null {}662663/** @name OrmlVestingModuleCall */664export interface OrmlVestingModuleCall extends Enum {665 readonly isClaim: boolean;666 readonly isVestedTransfer: boolean;667 readonly asVestedTransfer: {668 readonly dest: MultiAddress;669 readonly schedule: OrmlVestingVestingSchedule;670 } & Struct;671 readonly isUpdateVestingSchedules: boolean;672 readonly asUpdateVestingSchedules: {673 readonly who: MultiAddress;674 readonly vestingSchedules: Vec<OrmlVestingVestingSchedule>;675 } & Struct;676 readonly isClaimFor: boolean;677 readonly asClaimFor: {678 readonly dest: MultiAddress;679 } & Struct;680 readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';681}682683/** @name OrmlVestingModuleError */684export interface OrmlVestingModuleError extends Enum {685 readonly isZeroVestingPeriod: boolean;686 readonly isZeroVestingPeriodCount: boolean;687 readonly isInsufficientBalanceToLock: boolean;688 readonly isTooManyVestingSchedules: boolean;689 readonly isAmountLow: boolean;690 readonly isMaxVestingSchedulesExceeded: boolean;691 readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded';692}693694/** @name OrmlVestingModuleEvent */695export interface OrmlVestingModuleEvent extends Enum {696 readonly isVestingScheduleAdded: boolean;697 readonly asVestingScheduleAdded: {698 readonly from: AccountId32;699 readonly to: AccountId32;700 readonly vestingSchedule: OrmlVestingVestingSchedule;701 } & Struct;702 readonly isClaimed: boolean;703 readonly asClaimed: {704 readonly who: AccountId32;705 readonly amount: u128;706 } & Struct;707 readonly isVestingSchedulesUpdated: boolean;708 readonly asVestingSchedulesUpdated: {709 readonly who: AccountId32;710 } & Struct;711 readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated';712}713714/** @name OrmlVestingVestingSchedule */715export interface OrmlVestingVestingSchedule extends Struct {716 readonly start: u32;717 readonly period: u32;718 readonly periodCount: u32;719 readonly perPeriod: Compact<u128>;720}721722/** @name PalletBalancesAccountData */723export interface PalletBalancesAccountData extends Struct {724 readonly free: u128;725 readonly reserved: u128;726 readonly miscFrozen: u128;727 readonly feeFrozen: u128;728}729730/** @name PalletBalancesBalanceLock */731export interface PalletBalancesBalanceLock extends Struct {732 readonly id: U8aFixed;733 readonly amount: u128;734 readonly reasons: PalletBalancesReasons;735}736737/** @name PalletBalancesCall */738export interface PalletBalancesCall extends Enum {739 readonly isTransfer: boolean;740 readonly asTransfer: {741 readonly dest: MultiAddress;742 readonly value: Compact<u128>;743 } & Struct;744 readonly isSetBalance: boolean;745 readonly asSetBalance: {746 readonly who: MultiAddress;747 readonly newFree: Compact<u128>;748 readonly newReserved: Compact<u128>;749 } & Struct;750 readonly isForceTransfer: boolean;751 readonly asForceTransfer: {752 readonly source: MultiAddress;753 readonly dest: MultiAddress;754 readonly value: Compact<u128>;755 } & Struct;756 readonly isTransferKeepAlive: boolean;757 readonly asTransferKeepAlive: {758 readonly dest: MultiAddress;759 readonly value: Compact<u128>;760 } & Struct;761 readonly isTransferAll: boolean;762 readonly asTransferAll: {763 readonly dest: MultiAddress;764 readonly keepAlive: bool;765 } & Struct;766 readonly isForceUnreserve: boolean;767 readonly asForceUnreserve: {768 readonly who: MultiAddress;769 readonly amount: u128;770 } & Struct;771 readonly type: 'Transfer' | 'SetBalance' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve';772}773774/** @name PalletBalancesError */775export interface PalletBalancesError extends Enum {776 readonly isVestingBalance: boolean;777 readonly isLiquidityRestrictions: boolean;778 readonly isInsufficientBalance: boolean;779 readonly isExistentialDeposit: boolean;780 readonly isKeepAlive: boolean;781 readonly isExistingVestingSchedule: boolean;782 readonly isDeadAccount: boolean;783 readonly isTooManyReserves: boolean;784 readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'KeepAlive' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves';785}786787/** @name PalletBalancesEvent */788export interface PalletBalancesEvent extends Enum {789 readonly isEndowed: boolean;790 readonly asEndowed: {791 readonly account: AccountId32;792 readonly freeBalance: u128;793 } & Struct;794 readonly isDustLost: boolean;795 readonly asDustLost: {796 readonly account: AccountId32;797 readonly amount: u128;798 } & Struct;799 readonly isTransfer: boolean;800 readonly asTransfer: {801 readonly from: AccountId32;802 readonly to: AccountId32;803 readonly amount: u128;804 } & Struct;805 readonly isBalanceSet: boolean;806 readonly asBalanceSet: {807 readonly who: AccountId32;808 readonly free: u128;809 readonly reserved: u128;810 } & Struct;811 readonly isReserved: boolean;812 readonly asReserved: {813 readonly who: AccountId32;814 readonly amount: u128;815 } & Struct;816 readonly isUnreserved: boolean;817 readonly asUnreserved: {818 readonly who: AccountId32;819 readonly amount: u128;820 } & Struct;821 readonly isReserveRepatriated: boolean;822 readonly asReserveRepatriated: {823 readonly from: AccountId32;824 readonly to: AccountId32;825 readonly amount: u128;826 readonly destinationStatus: FrameSupportTokensMiscBalanceStatus;827 } & Struct;828 readonly isDeposit: boolean;829 readonly asDeposit: {830 readonly who: AccountId32;831 readonly amount: u128;832 } & Struct;833 readonly isWithdraw: boolean;834 readonly asWithdraw: {835 readonly who: AccountId32;836 readonly amount: u128;837 } & Struct;838 readonly isSlashed: boolean;839 readonly asSlashed: {840 readonly who: AccountId32;841 readonly amount: u128;842 } & Struct;843 readonly type: 'Endowed' | 'DustLost' | 'Transfer' | 'BalanceSet' | 'Reserved' | 'Unreserved' | 'ReserveRepatriated' | 'Deposit' | 'Withdraw' | 'Slashed';844}845846/** @name PalletBalancesReasons */847export interface PalletBalancesReasons extends Enum {848 readonly isFee: boolean;849 readonly isMisc: boolean;850 readonly isAll: boolean;851 readonly type: 'Fee' | 'Misc' | 'All';852}853854/** @name PalletBalancesReleases */855export interface PalletBalancesReleases extends Enum {856 readonly isV100: boolean;857 readonly isV200: boolean;858 readonly type: 'V100' | 'V200';859}860861/** @name PalletBalancesReserveData */862export interface PalletBalancesReserveData extends Struct {863 readonly id: U8aFixed;864 readonly amount: u128;865}866867/** @name PalletCommonError */868export interface PalletCommonError extends Enum {869 readonly isCollectionNotFound: boolean;870 readonly isMustBeTokenOwner: boolean;871 readonly isNoPermission: boolean;872 readonly isPublicMintingNotAllowed: boolean;873 readonly isAddressNotInAllowlist: boolean;874 readonly isCollectionNameLimitExceeded: boolean;875 readonly isCollectionDescriptionLimitExceeded: boolean;876 readonly isCollectionTokenPrefixLimitExceeded: boolean;877 readonly isTotalCollectionsLimitExceeded: boolean;878 readonly isCollectionAdminCountExceeded: boolean;879 readonly isCollectionLimitBoundsExceeded: boolean;880 readonly isOwnerPermissionsCantBeReverted: boolean;881 readonly isTransferNotAllowed: boolean;882 readonly isAccountTokenLimitExceeded: boolean;883 readonly isCollectionTokenLimitExceeded: boolean;884 readonly isMetadataFlagFrozen: boolean;885 readonly isTokenNotFound: boolean;886 readonly isTokenValueTooLow: boolean;887 readonly isApprovedValueTooLow: boolean;888 readonly isCantApproveMoreThanOwned: boolean;889 readonly isAddressIsZero: boolean;890 readonly isUnsupportedOperation: boolean;891 readonly isNotSufficientFounds: boolean;892 readonly isNestingIsDisabled: boolean;893 readonly isOnlyOwnerAllowedToNest: boolean;894 readonly isSourceCollectionIsNotAllowedToNest: boolean;895 readonly isCollectionFieldSizeExceeded: boolean;896 readonly isNoSpaceForProperty: boolean;897 readonly isPropertyLimitReached: boolean;898 readonly isPropertyKeyIsTooLong: boolean;899 readonly isInvalidCharacterInPropertyKey: boolean;900 readonly isEmptyPropertyKey: boolean;901 readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'NestingIsDisabled' | 'OnlyOwnerAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey';902}903904/** @name PalletCommonEvent */905export interface PalletCommonEvent extends Enum {906 readonly isCollectionCreated: boolean;907 readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>;908 readonly isCollectionDestroyed: boolean;909 readonly asCollectionDestroyed: u32;910 readonly isItemCreated: boolean;911 readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;912 readonly isItemDestroyed: boolean;913 readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;914 readonly isTransfer: boolean;915 readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;916 readonly isApproved: boolean;917 readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>;918 readonly isCollectionPropertySet: boolean;919 readonly asCollectionPropertySet: ITuple<[u32, Bytes]>;920 readonly isCollectionPropertyDeleted: boolean;921 readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>;922 readonly isTokenPropertySet: boolean;923 readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>;924 readonly isTokenPropertyDeleted: boolean;925 readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>;926 readonly isPropertyPermissionSet: boolean;927 readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>;928 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet';929}930931/** @name PalletEthereumCall */932export interface PalletEthereumCall extends Enum {933 readonly isTransact: boolean;934 readonly asTransact: {935 readonly transaction: EthereumTransactionTransactionV2;936 } & Struct;937 readonly type: 'Transact';938}939940/** @name PalletEthereumError */941export interface PalletEthereumError extends Enum {942 readonly isInvalidSignature: boolean;943 readonly isPreLogExists: boolean;944 readonly type: 'InvalidSignature' | 'PreLogExists';945}946947/** @name PalletEthereumEvent */948export interface PalletEthereumEvent extends Enum {949 readonly isExecuted: boolean;950 readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>;951 readonly type: 'Executed';952}953954/** @name PalletEthereumFakeTransactionFinalizer */955export interface PalletEthereumFakeTransactionFinalizer extends Null {}956957/** @name PalletEvmAccountBasicCrossAccountIdRepr */958export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {959 readonly isSubstrate: boolean;960 readonly asSubstrate: AccountId32;961 readonly isEthereum: boolean;962 readonly asEthereum: H160;963 readonly type: 'Substrate' | 'Ethereum';964}965966/** @name PalletEvmCall */967export interface PalletEvmCall extends Enum {968 readonly isWithdraw: boolean;969 readonly asWithdraw: {970 readonly address: H160;971 readonly value: u128;972 } & Struct;973 readonly isCall: boolean;974 readonly asCall: {975 readonly source: H160;976 readonly target: H160;977 readonly input: Bytes;978 readonly value: U256;979 readonly gasLimit: u64;980 readonly maxFeePerGas: U256;981 readonly maxPriorityFeePerGas: Option<U256>;982 readonly nonce: Option<U256>;983 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;984 } & Struct;985 readonly isCreate: boolean;986 readonly asCreate: {987 readonly source: H160;988 readonly init: Bytes;989 readonly value: U256;990 readonly gasLimit: u64;991 readonly maxFeePerGas: U256;992 readonly maxPriorityFeePerGas: Option<U256>;993 readonly nonce: Option<U256>;994 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;995 } & Struct;996 readonly isCreate2: boolean;997 readonly asCreate2: {998 readonly source: H160;999 readonly init: Bytes;1000 readonly salt: H256;1001 readonly value: U256;1002 readonly gasLimit: u64;1003 readonly maxFeePerGas: U256;1004 readonly maxPriorityFeePerGas: Option<U256>;1005 readonly nonce: Option<U256>;1006 readonly accessList: Vec<ITuple<[H160, Vec<H256>]>>;1007 } & Struct;1008 readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';1009}10101011/** @name PalletEvmCoderSubstrateError */1012export interface PalletEvmCoderSubstrateError extends Enum {1013 readonly isOutOfGas: boolean;1014 readonly isOutOfFund: boolean;1015 readonly type: 'OutOfGas' | 'OutOfFund';1016}10171018/** @name PalletEvmContractHelpersError */1019export interface PalletEvmContractHelpersError extends Enum {1020 readonly isNoPermission: boolean;1021 readonly type: 'NoPermission';1022}10231024/** @name PalletEvmContractHelpersSponsoringModeT */1025export interface PalletEvmContractHelpersSponsoringModeT extends Enum {1026 readonly isDisabled: boolean;1027 readonly isAllowlisted: boolean;1028 readonly isGenerous: boolean;1029 readonly type: 'Disabled' | 'Allowlisted' | 'Generous';1030}10311032/** @name PalletEvmError */1033export interface PalletEvmError extends Enum {1034 readonly isBalanceLow: boolean;1035 readonly isFeeOverflow: boolean;1036 readonly isPaymentOverflow: boolean;1037 readonly isWithdrawFailed: boolean;1038 readonly isGasPriceTooLow: boolean;1039 readonly isInvalidNonce: boolean;1040 readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce';1041}10421043/** @name PalletEvmEvent */1044export interface PalletEvmEvent extends Enum {1045 readonly isLog: boolean;1046 readonly asLog: EthereumLog;1047 readonly isCreated: boolean;1048 readonly asCreated: H160;1049 readonly isCreatedFailed: boolean;1050 readonly asCreatedFailed: H160;1051 readonly isExecuted: boolean;1052 readonly asExecuted: H160;1053 readonly isExecutedFailed: boolean;1054 readonly asExecutedFailed: H160;1055 readonly isBalanceDeposit: boolean;1056 readonly asBalanceDeposit: ITuple<[AccountId32, H160, U256]>;1057 readonly isBalanceWithdraw: boolean;1058 readonly asBalanceWithdraw: ITuple<[AccountId32, H160, U256]>;1059 readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw';1060}10611062/** @name PalletEvmMigrationCall */1063export interface PalletEvmMigrationCall extends Enum {1064 readonly isBegin: boolean;1065 readonly asBegin: {1066 readonly address: H160;1067 } & Struct;1068 readonly isSetData: boolean;1069 readonly asSetData: {1070 readonly address: H160;1071 readonly data: Vec<ITuple<[H256, H256]>>;1072 } & Struct;1073 readonly isFinish: boolean;1074 readonly asFinish: {1075 readonly address: H160;1076 readonly code: Bytes;1077 } & Struct;1078 readonly type: 'Begin' | 'SetData' | 'Finish';1079}10801081/** @name PalletEvmMigrationError */1082export interface PalletEvmMigrationError extends Enum {1083 readonly isAccountNotEmpty: boolean;1084 readonly isAccountIsNotMigrating: boolean;1085 readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating';1086}10871088/** @name PalletFungibleError */1089export interface PalletFungibleError extends Enum {1090 readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean;1091 readonly isFungibleItemsHaveNoId: boolean;1092 readonly isFungibleItemsDontHaveData: boolean;1093 readonly isFungibleDisallowsNesting: boolean;1094 readonly isSettingPropertiesNotAllowed: boolean;1095 readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1096}10971098/** @name PalletInflationCall */1099export interface PalletInflationCall extends Enum {1100 readonly isStartInflation: boolean;1101 readonly asStartInflation: {1102 readonly inflationStartRelayBlock: u32;1103 } & Struct;1104 readonly type: 'StartInflation';1105}11061107/** @name PalletNonfungibleError */1108export interface PalletNonfungibleError extends Enum {1109 readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean;1110 readonly isNonfungibleItemsHaveNoAmount: boolean;1111 readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount';1112}11131114/** @name PalletNonfungibleItemData */1115export interface PalletNonfungibleItemData extends Struct {1116 readonly constData: Bytes;1117 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1118}11191120/** @name PalletRefungibleError */1121export interface PalletRefungibleError extends Enum {1122 readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean;1123 readonly isWrongRefungiblePieces: boolean;1124 readonly isRefungibleDisallowsNesting: boolean;1125 readonly isSettingPropertiesNotAllowed: boolean;1126 readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed';1127}11281129/** @name PalletRefungibleItemData */1130export interface PalletRefungibleItemData extends Struct {1131 readonly constData: Bytes;1132}11331134/** @name PalletRmrkCoreCall */1135export interface PalletRmrkCoreCall extends Enum {1136 readonly isCreateCollection: boolean;1137 readonly asCreateCollection: {1138 readonly metadata: Bytes;1139 readonly max: Option<u32>;1140 readonly symbol: Bytes;1141 } & Struct;1142 readonly isDestroyCollection: boolean;1143 readonly asDestroyCollection: {1144 readonly collectionId: u32;1145 } & Struct;1146 readonly isChangeCollectionIssuer: boolean;1147 readonly asChangeCollectionIssuer: {1148 readonly collectionId: u32;1149 readonly newIssuer: MultiAddress;1150 } & Struct;1151 readonly isLockCollection: boolean;1152 readonly asLockCollection: {1153 readonly collectionId: u32;1154 } & Struct;1155 readonly isMintNft: boolean;1156 readonly asMintNft: {1157 readonly owner: AccountId32;1158 readonly collectionId: u32;1159 readonly recipient: Option<AccountId32>;1160 readonly royaltyAmount: Option<Permill>;1161 readonly metadata: Bytes;1162 } & Struct;1163 readonly isBurnNft: boolean;1164 readonly asBurnNft: {1165 readonly collectionId: u32;1166 readonly nftId: u32;1167 } & Struct;1168 readonly isSetProperty: boolean;1169 readonly asSetProperty: {1170 readonly rmrkCollectionId: Compact<u32>;1171 readonly maybeNftId: Option<u32>;1172 readonly key: Bytes;1173 readonly value: Bytes;1174 } & Struct;1175 readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'SetProperty';1176}11771178/** @name PalletRmrkCoreError */1179export interface PalletRmrkCoreError extends Enum {1180 readonly isCorruptedCollectionType: boolean;1181 readonly isNftTypeEncodeError: boolean;1182 readonly isRmrkPropertyKeyIsTooLong: boolean;1183 readonly isRmrkPropertyValueIsTooLong: boolean;1184 readonly isCollectionNotEmpty: boolean;1185 readonly isNoAvailableCollectionId: boolean;1186 readonly isNoAvailableNftId: boolean;1187 readonly isCollectionUnknown: boolean;1188 readonly isNoPermission: boolean;1189 readonly isCollectionFullOrLocked: boolean;1190 readonly type: 'CorruptedCollectionType' | 'NftTypeEncodeError' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'CollectionFullOrLocked';1191}11921193/** @name PalletRmrkCoreEvent */1194export interface PalletRmrkCoreEvent extends Enum {1195 readonly isCollectionCreated: boolean;1196 readonly asCollectionCreated: {1197 readonly issuer: AccountId32;1198 readonly collectionId: u32;1199 } & Struct;1200 readonly isCollectionDestroyed: boolean;1201 readonly asCollectionDestroyed: {1202 readonly issuer: AccountId32;1203 readonly collectionId: u32;1204 } & Struct;1205 readonly isIssuerChanged: boolean;1206 readonly asIssuerChanged: {1207 readonly oldIssuer: AccountId32;1208 readonly newIssuer: AccountId32;1209 readonly collectionId: u32;1210 } & Struct;1211 readonly isCollectionLocked: boolean;1212 readonly asCollectionLocked: {1213 readonly issuer: AccountId32;1214 readonly collectionId: u32;1215 } & Struct;1216 readonly isNftMinted: boolean;1217 readonly asNftMinted: {1218 readonly owner: AccountId32;1219 readonly collectionId: u32;1220 readonly nftId: u32;1221 } & Struct;1222 readonly isNftBurned: boolean;1223 readonly asNftBurned: {1224 readonly owner: AccountId32;1225 readonly nftId: u32;1226 } & Struct;1227 readonly isPropertySet: boolean;1228 readonly asPropertySet: {1229 readonly collectionId: u32;1230 readonly maybeNftId: Option<u32>;1231 readonly key: Bytes;1232 readonly value: Bytes;1233 } & Struct;1234 readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'PropertySet';1235}12361237/** @name PalletRmrkEquipCall */1238export interface PalletRmrkEquipCall extends Enum {1239 readonly isCreateBase: boolean;1240 readonly asCreateBase: {1241 readonly baseType: Bytes;1242 readonly symbol: Bytes;1243 readonly parts: Vec<UpDataStructsRmrkPartType>;1244 } & Struct;1245 readonly isThemeAdd: boolean;1246 readonly asThemeAdd: {1247 readonly baseId: u32;1248 readonly theme: UpDataStructsRmrkTheme;1249 } & Struct;1250 readonly type: 'CreateBase' | 'ThemeAdd';1251}12521253/** @name PalletRmrkEquipError */1254export interface PalletRmrkEquipError extends Enum {1255 readonly isPermissionError: boolean;1256 readonly isNoAvailableBaseId: boolean;1257 readonly isNoAvailablePartId: boolean;1258 readonly isBaseDoesntExist: boolean;1259 readonly isNeedsDefaultThemeFirst: boolean;1260 readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst';1261}12621263/** @name PalletRmrkEquipEvent */1264export interface PalletRmrkEquipEvent extends Enum {1265 readonly isBaseCreated: boolean;1266 readonly asBaseCreated: {1267 readonly issuer: AccountId32;1268 readonly baseId: u32;1269 } & Struct;1270 readonly type: 'BaseCreated';1271}12721273/** @name PalletStructureCall */1274export interface PalletStructureCall extends Null {}12751276/** @name PalletStructureError */1277export interface PalletStructureError extends Enum {1278 readonly isOuroborosDetected: boolean;1279 readonly isDepthLimit: boolean;1280 readonly isTokenNotFound: boolean;1281 readonly type: 'OuroborosDetected' | 'DepthLimit' | 'TokenNotFound';1282}12831284/** @name PalletStructureEvent */1285export interface PalletStructureEvent extends Enum {1286 readonly isExecuted: boolean;1287 readonly asExecuted: Result<Null, SpRuntimeDispatchError>;1288 readonly type: 'Executed';1289}12901291/** @name PalletSudoCall */1292export interface PalletSudoCall extends Enum {1293 readonly isSudo: boolean;1294 readonly asSudo: {1295 readonly call: Call;1296 } & Struct;1297 readonly isSudoUncheckedWeight: boolean;1298 readonly asSudoUncheckedWeight: {1299 readonly call: Call;1300 readonly weight: u64;1301 } & Struct;1302 readonly isSetKey: boolean;1303 readonly asSetKey: {1304 readonly new_: MultiAddress;1305 } & Struct;1306 readonly isSudoAs: boolean;1307 readonly asSudoAs: {1308 readonly who: MultiAddress;1309 readonly call: Call;1310 } & Struct;1311 readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';1312}13131314/** @name PalletSudoError */1315export interface PalletSudoError extends Enum {1316 readonly isRequireSudo: boolean;1317 readonly type: 'RequireSudo';1318}13191320/** @name PalletSudoEvent */1321export interface PalletSudoEvent extends Enum {1322 readonly isSudid: boolean;1323 readonly asSudid: {1324 readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1325 } & Struct;1326 readonly isKeyChanged: boolean;1327 readonly asKeyChanged: {1328 readonly oldSudoer: Option<AccountId32>;1329 } & Struct;1330 readonly isSudoAsDone: boolean;1331 readonly asSudoAsDone: {1332 readonly sudoResult: Result<Null, SpRuntimeDispatchError>;1333 } & Struct;1334 readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone';1335}13361337/** @name PalletTemplateTransactionPaymentCall */1338export interface PalletTemplateTransactionPaymentCall extends Null {}13391340/** @name PalletTemplateTransactionPaymentChargeTransactionPayment */1341export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact<u128> {}13421343/** @name PalletTimestampCall */1344export interface PalletTimestampCall extends Enum {1345 readonly isSet: boolean;1346 readonly asSet: {1347 readonly now: Compact<u64>;1348 } & Struct;1349 readonly type: 'Set';1350}13511352/** @name PalletTransactionPaymentReleases */1353export interface PalletTransactionPaymentReleases extends Enum {1354 readonly isV1Ancient: boolean;1355 readonly isV2: boolean;1356 readonly type: 'V1Ancient' | 'V2';1357}13581359/** @name PalletTreasuryCall */1360export interface PalletTreasuryCall extends Enum {1361 readonly isProposeSpend: boolean;1362 readonly asProposeSpend: {1363 readonly value: Compact<u128>;1364 readonly beneficiary: MultiAddress;1365 } & Struct;1366 readonly isRejectProposal: boolean;1367 readonly asRejectProposal: {1368 readonly proposalId: Compact<u32>;1369 } & Struct;1370 readonly isApproveProposal: boolean;1371 readonly asApproveProposal: {1372 readonly proposalId: Compact<u32>;1373 } & Struct;1374 readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal';1375}13761377/** @name PalletTreasuryError */1378export interface PalletTreasuryError extends Enum {1379 readonly isInsufficientProposersBalance: boolean;1380 readonly isInvalidIndex: boolean;1381 readonly isTooManyApprovals: boolean;1382 readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals';1383}13841385/** @name PalletTreasuryEvent */1386export interface PalletTreasuryEvent extends Enum {1387 readonly isProposed: boolean;1388 readonly asProposed: {1389 readonly proposalIndex: u32;1390 } & Struct;1391 readonly isSpending: boolean;1392 readonly asSpending: {1393 readonly budgetRemaining: u128;1394 } & Struct;1395 readonly isAwarded: boolean;1396 readonly asAwarded: {1397 readonly proposalIndex: u32;1398 readonly award: u128;1399 readonly account: AccountId32;1400 } & Struct;1401 readonly isRejected: boolean;1402 readonly asRejected: {1403 readonly proposalIndex: u32;1404 readonly slashed: u128;1405 } & Struct;1406 readonly isBurnt: boolean;1407 readonly asBurnt: {1408 readonly burntFunds: u128;1409 } & Struct;1410 readonly isRollover: boolean;1411 readonly asRollover: {1412 readonly rolloverBalance: u128;1413 } & Struct;1414 readonly isDeposit: boolean;1415 readonly asDeposit: {1416 readonly value: u128;1417 } & Struct;1418 readonly type: 'Proposed' | 'Spending' | 'Awarded' | 'Rejected' | 'Burnt' | 'Rollover' | 'Deposit';1419}14201421/** @name PalletTreasuryProposal */1422export interface PalletTreasuryProposal extends Struct {1423 readonly proposer: AccountId32;1424 readonly value: u128;1425 readonly beneficiary: AccountId32;1426 readonly bond: u128;1427}14281429/** @name PalletUniqueCall */1430export interface PalletUniqueCall extends Enum {1431 readonly isCreateCollection: boolean;1432 readonly asCreateCollection: {1433 readonly collectionName: Vec<u16>;1434 readonly collectionDescription: Vec<u16>;1435 readonly tokenPrefix: Bytes;1436 readonly mode: UpDataStructsCollectionMode;1437 } & Struct;1438 readonly isCreateCollectionEx: boolean;1439 readonly asCreateCollectionEx: {1440 readonly data: UpDataStructsCreateCollectionData;1441 } & Struct;1442 readonly isDestroyCollection: boolean;1443 readonly asDestroyCollection: {1444 readonly collectionId: u32;1445 } & Struct;1446 readonly isAddToAllowList: boolean;1447 readonly asAddToAllowList: {1448 readonly collectionId: u32;1449 readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1450 } & Struct;1451 readonly isRemoveFromAllowList: boolean;1452 readonly asRemoveFromAllowList: {1453 readonly collectionId: u32;1454 readonly address: PalletEvmAccountBasicCrossAccountIdRepr;1455 } & Struct;1456 readonly isSetPublicAccessMode: boolean;1457 readonly asSetPublicAccessMode: {1458 readonly collectionId: u32;1459 readonly mode: UpDataStructsAccessMode;1460 } & Struct;1461 readonly isSetMintPermission: boolean;1462 readonly asSetMintPermission: {1463 readonly collectionId: u32;1464 readonly mintPermission: bool;1465 } & Struct;1466 readonly isChangeCollectionOwner: boolean;1467 readonly asChangeCollectionOwner: {1468 readonly collectionId: u32;1469 readonly newOwner: AccountId32;1470 } & Struct;1471 readonly isAddCollectionAdmin: boolean;1472 readonly asAddCollectionAdmin: {1473 readonly collectionId: u32;1474 readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr;1475 } & Struct;1476 readonly isRemoveCollectionAdmin: boolean;1477 readonly asRemoveCollectionAdmin: {1478 readonly collectionId: u32;1479 readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr;1480 } & Struct;1481 readonly isSetCollectionSponsor: boolean;1482 readonly asSetCollectionSponsor: {1483 readonly collectionId: u32;1484 readonly newSponsor: AccountId32;1485 } & Struct;1486 readonly isConfirmSponsorship: boolean;1487 readonly asConfirmSponsorship: {1488 readonly collectionId: u32;1489 } & Struct;1490 readonly isRemoveCollectionSponsor: boolean;1491 readonly asRemoveCollectionSponsor: {1492 readonly collectionId: u32;1493 } & Struct;1494 readonly isCreateItem: boolean;1495 readonly asCreateItem: {1496 readonly collectionId: u32;1497 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1498 readonly data: UpDataStructsCreateItemData;1499 } & Struct;1500 readonly isCreateMultipleItems: boolean;1501 readonly asCreateMultipleItems: {1502 readonly collectionId: u32;1503 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;1504 readonly itemsData: Vec<UpDataStructsCreateItemData>;1505 } & Struct;1506 readonly isSetCollectionProperties: boolean;1507 readonly asSetCollectionProperties: {1508 readonly collectionId: u32;1509 readonly properties: Vec<UpDataStructsProperty>;1510 } & Struct;1511 readonly isDeleteCollectionProperties: boolean;1512 readonly asDeleteCollectionProperties: {1513 readonly collectionId: u32;1514 readonly propertyKeys: Vec<Bytes>;1515 } & Struct;1516 readonly isSetTokenProperties: boolean;1517 readonly asSetTokenProperties: {1518 readonly collectionId: u32;1519 readonly tokenId: u32;1520 readonly properties: Vec<UpDataStructsProperty>;1521 } & Struct;1522 readonly isDeleteTokenProperties: boolean;1523 readonly asDeleteTokenProperties: {1524 readonly collectionId: u32;1525 readonly tokenId: u32;1526 readonly propertyKeys: Vec<Bytes>;1527 } & Struct;1528 readonly isSetPropertyPermissions: boolean;1529 readonly asSetPropertyPermissions: {1530 readonly collectionId: u32;1531 readonly propertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;1532 } & Struct;1533 readonly isCreateMultipleItemsEx: boolean;1534 readonly asCreateMultipleItemsEx: {1535 readonly collectionId: u32;1536 readonly data: UpDataStructsCreateItemExData;1537 } & Struct;1538 readonly isSetTransfersEnabledFlag: boolean;1539 readonly asSetTransfersEnabledFlag: {1540 readonly collectionId: u32;1541 readonly value: bool;1542 } & Struct;1543 readonly isBurnItem: boolean;1544 readonly asBurnItem: {1545 readonly collectionId: u32;1546 readonly itemId: u32;1547 readonly value: u128;1548 } & Struct;1549 readonly isBurnFrom: boolean;1550 readonly asBurnFrom: {1551 readonly collectionId: u32;1552 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1553 readonly itemId: u32;1554 readonly value: u128;1555 } & Struct;1556 readonly isTransfer: boolean;1557 readonly asTransfer: {1558 readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1559 readonly collectionId: u32;1560 readonly itemId: u32;1561 readonly value: u128;1562 } & Struct;1563 readonly isApprove: boolean;1564 readonly asApprove: {1565 readonly spender: PalletEvmAccountBasicCrossAccountIdRepr;1566 readonly collectionId: u32;1567 readonly itemId: u32;1568 readonly amount: u128;1569 } & Struct;1570 readonly isTransferFrom: boolean;1571 readonly asTransferFrom: {1572 readonly from: PalletEvmAccountBasicCrossAccountIdRepr;1573 readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr;1574 readonly collectionId: u32;1575 readonly itemId: u32;1576 readonly value: u128;1577 } & Struct;1578 readonly isSetSchemaVersion: boolean;1579 readonly asSetSchemaVersion: {1580 readonly collectionId: u32;1581 readonly version: UpDataStructsSchemaVersion;1582 } & Struct;1583 readonly isSetOffchainSchema: boolean;1584 readonly asSetOffchainSchema: {1585 readonly collectionId: u32;1586 readonly schema: Bytes;1587 } & Struct;1588 readonly isSetConstOnChainSchema: boolean;1589 readonly asSetConstOnChainSchema: {1590 readonly collectionId: u32;1591 readonly schema: Bytes;1592 } & Struct;1593 readonly isSetCollectionLimits: boolean;1594 readonly asSetCollectionLimits: {1595 readonly collectionId: u32;1596 readonly newLimit: UpDataStructsCollectionLimits;1597 } & Struct;1598 readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'SetPublicAccessMode' | 'SetMintPermission' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'TransferFrom' | 'SetSchemaVersion' | 'SetOffchainSchema' | 'SetConstOnChainSchema' | 'SetCollectionLimits';1599}16001601/** @name PalletUniqueError */1602export interface PalletUniqueError extends Enum {1603 readonly isCollectionDecimalPointLimitExceeded: boolean;1604 readonly isConfirmUnsetSponsorFail: boolean;1605 readonly isEmptyArgument: boolean;1606 readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument';1607}16081609/** @name PalletUniqueRawEvent */1610export interface PalletUniqueRawEvent extends Enum {1611 readonly isCollectionSponsorRemoved: boolean;1612 readonly asCollectionSponsorRemoved: u32;1613 readonly isCollectionAdminAdded: boolean;1614 readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1615 readonly isCollectionOwnedChanged: boolean;1616 readonly asCollectionOwnedChanged: ITuple<[u32, AccountId32]>;1617 readonly isCollectionSponsorSet: boolean;1618 readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>;1619 readonly isConstOnChainSchemaSet: boolean;1620 readonly asConstOnChainSchemaSet: u32;1621 readonly isSponsorshipConfirmed: boolean;1622 readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>;1623 readonly isCollectionAdminRemoved: boolean;1624 readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1625 readonly isAllowListAddressRemoved: boolean;1626 readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1627 readonly isAllowListAddressAdded: boolean;1628 readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>;1629 readonly isCollectionLimitSet: boolean;1630 readonly asCollectionLimitSet: u32;1631 readonly isMintPermissionSet: boolean;1632 readonly asMintPermissionSet: u32;1633 readonly isOffchainSchemaSet: boolean;1634 readonly asOffchainSchemaSet: u32;1635 readonly isPublicAccessModeSet: boolean;1636 readonly asPublicAccessModeSet: ITuple<[u32, UpDataStructsAccessMode]>;1637 readonly isSchemaVersionSet: boolean;1638 readonly asSchemaVersionSet: u32;1639 readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'ConstOnChainSchemaSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'MintPermissionSet' | 'OffchainSchemaSet' | 'PublicAccessModeSet' | 'SchemaVersionSet';1640}16411642/** @name PalletXcmCall */1643export interface PalletXcmCall extends Enum {1644 readonly isSend: boolean;1645 readonly asSend: {1646 readonly dest: XcmVersionedMultiLocation;1647 readonly message: XcmVersionedXcm;1648 } & Struct;1649 readonly isTeleportAssets: boolean;1650 readonly asTeleportAssets: {1651 readonly dest: XcmVersionedMultiLocation;1652 readonly beneficiary: XcmVersionedMultiLocation;1653 readonly assets: XcmVersionedMultiAssets;1654 readonly feeAssetItem: u32;1655 } & Struct;1656 readonly isReserveTransferAssets: boolean;1657 readonly asReserveTransferAssets: {1658 readonly dest: XcmVersionedMultiLocation;1659 readonly beneficiary: XcmVersionedMultiLocation;1660 readonly assets: XcmVersionedMultiAssets;1661 readonly feeAssetItem: u32;1662 } & Struct;1663 readonly isExecute: boolean;1664 readonly asExecute: {1665 readonly message: XcmVersionedXcm;1666 readonly maxWeight: u64;1667 } & Struct;1668 readonly isForceXcmVersion: boolean;1669 readonly asForceXcmVersion: {1670 readonly location: XcmV1MultiLocation;1671 readonly xcmVersion: u32;1672 } & Struct;1673 readonly isForceDefaultXcmVersion: boolean;1674 readonly asForceDefaultXcmVersion: {1675 readonly maybeXcmVersion: Option<u32>;1676 } & Struct;1677 readonly isForceSubscribeVersionNotify: boolean;1678 readonly asForceSubscribeVersionNotify: {1679 readonly location: XcmVersionedMultiLocation;1680 } & Struct;1681 readonly isForceUnsubscribeVersionNotify: boolean;1682 readonly asForceUnsubscribeVersionNotify: {1683 readonly location: XcmVersionedMultiLocation;1684 } & Struct;1685 readonly isLimitedReserveTransferAssets: boolean;1686 readonly asLimitedReserveTransferAssets: {1687 readonly dest: XcmVersionedMultiLocation;1688 readonly beneficiary: XcmVersionedMultiLocation;1689 readonly assets: XcmVersionedMultiAssets;1690 readonly feeAssetItem: u32;1691 readonly weightLimit: XcmV2WeightLimit;1692 } & Struct;1693 readonly isLimitedTeleportAssets: boolean;1694 readonly asLimitedTeleportAssets: {1695 readonly dest: XcmVersionedMultiLocation;1696 readonly beneficiary: XcmVersionedMultiLocation;1697 readonly assets: XcmVersionedMultiAssets;1698 readonly feeAssetItem: u32;1699 readonly weightLimit: XcmV2WeightLimit;1700 } & Struct;1701 readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets';1702}17031704/** @name PalletXcmError */1705export interface PalletXcmError extends Enum {1706 readonly isUnreachable: boolean;1707 readonly isSendFailure: boolean;1708 readonly isFiltered: boolean;1709 readonly isUnweighableMessage: boolean;1710 readonly isDestinationNotInvertible: boolean;1711 readonly isEmpty: boolean;1712 readonly isCannotReanchor: boolean;1713 readonly isTooManyAssets: boolean;1714 readonly isInvalidOrigin: boolean;1715 readonly isBadVersion: boolean;1716 readonly isBadLocation: boolean;1717 readonly isNoSubscription: boolean;1718 readonly isAlreadySubscribed: boolean;1719 readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed';1720}17211722/** @name PalletXcmEvent */1723export interface PalletXcmEvent extends Enum {1724 readonly isAttempted: boolean;1725 readonly asAttempted: XcmV2TraitsOutcome;1726 readonly isSent: boolean;1727 readonly asSent: ITuple<[XcmV1MultiLocation, XcmV1MultiLocation, XcmV2Xcm]>;1728 readonly isUnexpectedResponse: boolean;1729 readonly asUnexpectedResponse: ITuple<[XcmV1MultiLocation, u64]>;1730 readonly isResponseReady: boolean;1731 readonly asResponseReady: ITuple<[u64, XcmV2Response]>;1732 readonly isNotified: boolean;1733 readonly asNotified: ITuple<[u64, u8, u8]>;1734 readonly isNotifyOverweight: boolean;1735 readonly asNotifyOverweight: ITuple<[u64, u8, u8, u64, u64]>;1736 readonly isNotifyDispatchError: boolean;1737 readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>;1738 readonly isNotifyDecodeFailed: boolean;1739 readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>;1740 readonly isInvalidResponder: boolean;1741 readonly asInvalidResponder: ITuple<[XcmV1MultiLocation, u64, Option<XcmV1MultiLocation>]>;1742 readonly isInvalidResponderVersion: boolean;1743 readonly asInvalidResponderVersion: ITuple<[XcmV1MultiLocation, u64]>;1744 readonly isResponseTaken: boolean;1745 readonly asResponseTaken: u64;1746 readonly isAssetsTrapped: boolean;1747 readonly asAssetsTrapped: ITuple<[H256, XcmV1MultiLocation, XcmVersionedMultiAssets]>;1748 readonly isVersionChangeNotified: boolean;1749 readonly asVersionChangeNotified: ITuple<[XcmV1MultiLocation, u32]>;1750 readonly isSupportedVersionChanged: boolean;1751 readonly asSupportedVersionChanged: ITuple<[XcmV1MultiLocation, u32]>;1752 readonly isNotifyTargetSendFail: boolean;1753 readonly asNotifyTargetSendFail: ITuple<[XcmV1MultiLocation, u64, XcmV2TraitsError]>;1754 readonly isNotifyTargetMigrationFail: boolean;1755 readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>;1756 readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail';1757}17581759/** @name PhantomTypeUpDataStructsBaseInfo */1760export interface PhantomTypeUpDataStructsBaseInfo extends Vec<Lookup375> {}17611762/** @name PhantomTypeUpDataStructsCollectionInfo */1763export interface PhantomTypeUpDataStructsCollectionInfo extends Vec<Lookup353> {}17641765/** @name PhantomTypeUpDataStructsNftChild */1766export interface PhantomTypeUpDataStructsNftChild extends Vec<Lookup382> {}17671768/** @name PhantomTypeUpDataStructsNftInfo */1769export interface PhantomTypeUpDataStructsNftInfo extends Vec<Lookup356> {}17701771/** @name PhantomTypeUpDataStructsPartType */1772export interface PhantomTypeUpDataStructsPartType extends Vec<Lookup215> {}17731774/** @name PhantomTypeUpDataStructsPropertyInfo */1775export interface PhantomTypeUpDataStructsPropertyInfo extends Vec<Lookup372> {}17761777/** @name PhantomTypeUpDataStructsResourceInfo */1778export interface PhantomTypeUpDataStructsResourceInfo extends Vec<Lookup362> {}17791780/** @name PhantomTypeUpDataStructsRpcCollection */1781export interface PhantomTypeUpDataStructsRpcCollection extends Vec<Lookup350> {}17821783/** @name PhantomTypeUpDataStructsTheme */1784export interface PhantomTypeUpDataStructsTheme extends Vec<Lookup221> {}17851786/** @name PhantomTypeUpDataStructsTokenData */1787export interface PhantomTypeUpDataStructsTokenData extends Vec<Lookup346> {}17881789/** @name PolkadotCorePrimitivesInboundDownwardMessage */1790export interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {1791 readonly sentAt: u32;1792 readonly msg: Bytes;1793}17941795/** @name PolkadotCorePrimitivesInboundHrmpMessage */1796export interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {1797 readonly sentAt: u32;1798 readonly data: Bytes;1799}18001801/** @name PolkadotCorePrimitivesOutboundHrmpMessage */1802export interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {1803 readonly recipient: u32;1804 readonly data: Bytes;1805}18061807/** @name PolkadotParachainPrimitivesXcmpMessageFormat */1808export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum {1809 readonly isConcatenatedVersionedXcm: boolean;1810 readonly isConcatenatedEncodedBlob: boolean;1811 readonly isSignals: boolean;1812 readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals';1813}18141815/** @name PolkadotPrimitivesV2AbridgedHostConfiguration */1816export interface PolkadotPrimitivesV2AbridgedHostConfiguration extends Struct {1817 readonly maxCodeSize: u32;1818 readonly maxHeadDataSize: u32;1819 readonly maxUpwardQueueCount: u32;1820 readonly maxUpwardQueueSize: u32;1821 readonly maxUpwardMessageSize: u32;1822 readonly maxUpwardMessageNumPerCandidate: u32;1823 readonly hrmpMaxMessageNumPerCandidate: u32;1824 readonly validationUpgradeCooldown: u32;1825 readonly validationUpgradeDelay: u32;1826}18271828/** @name PolkadotPrimitivesV2AbridgedHrmpChannel */1829export interface PolkadotPrimitivesV2AbridgedHrmpChannel extends Struct {1830 readonly maxCapacity: u32;1831 readonly maxTotalSize: u32;1832 readonly maxMessageSize: u32;1833 readonly msgCount: u32;1834 readonly totalSize: u32;1835 readonly mqcHead: Option<H256>;1836}18371838/** @name PolkadotPrimitivesV2PersistedValidationData */1839export interface PolkadotPrimitivesV2PersistedValidationData extends Struct {1840 readonly parentHead: Bytes;1841 readonly relayParentNumber: u32;1842 readonly relayParentStorageRoot: H256;1843 readonly maxPovSize: u32;1844}18451846/** @name PolkadotPrimitivesV2UpgradeRestriction */1847export interface PolkadotPrimitivesV2UpgradeRestriction extends Enum {1848 readonly isPresent: boolean;1849 readonly type: 'Present';1850}18511852/** @name SpCoreEcdsaSignature */1853export interface SpCoreEcdsaSignature extends U8aFixed {}18541855/** @name SpCoreEd25519Signature */1856export interface SpCoreEd25519Signature extends U8aFixed {}18571858/** @name SpCoreSr25519Signature */1859export interface SpCoreSr25519Signature extends U8aFixed {}18601861/** @name SpRuntimeArithmeticError */1862export interface SpRuntimeArithmeticError extends Enum {1863 readonly isUnderflow: boolean;1864 readonly isOverflow: boolean;1865 readonly isDivisionByZero: boolean;1866 readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero';1867}18681869/** @name SpRuntimeDigest */1870export interface SpRuntimeDigest extends Struct {1871 readonly logs: Vec<SpRuntimeDigestDigestItem>;1872}18731874/** @name SpRuntimeDigestDigestItem */1875export interface SpRuntimeDigestDigestItem extends Enum {1876 readonly isOther: boolean;1877 readonly asOther: Bytes;1878 readonly isConsensus: boolean;1879 readonly asConsensus: ITuple<[U8aFixed, Bytes]>;1880 readonly isSeal: boolean;1881 readonly asSeal: ITuple<[U8aFixed, Bytes]>;1882 readonly isPreRuntime: boolean;1883 readonly asPreRuntime: ITuple<[U8aFixed, Bytes]>;1884 readonly isRuntimeEnvironmentUpdated: boolean;1885 readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated';1886}18871888/** @name SpRuntimeDispatchError */1889export interface SpRuntimeDispatchError extends Enum {1890 readonly isOther: boolean;1891 readonly isCannotLookup: boolean;1892 readonly isBadOrigin: boolean;1893 readonly isModule: boolean;1894 readonly asModule: SpRuntimeModuleError;1895 readonly isConsumerRemaining: boolean;1896 readonly isNoProviders: boolean;1897 readonly isTooManyConsumers: boolean;1898 readonly isToken: boolean;1899 readonly asToken: SpRuntimeTokenError;1900 readonly isArithmetic: boolean;1901 readonly asArithmetic: SpRuntimeArithmeticError;1902 readonly isTransactional: boolean;1903 readonly asTransactional: SpRuntimeTransactionalError;1904 readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional';1905}19061907/** @name SpRuntimeModuleError */1908export interface SpRuntimeModuleError extends Struct {1909 readonly index: u8;1910 readonly error: U8aFixed;1911}19121913/** @name SpRuntimeMultiSignature */1914export interface SpRuntimeMultiSignature extends Enum {1915 readonly isEd25519: boolean;1916 readonly asEd25519: SpCoreEd25519Signature;1917 readonly isSr25519: boolean;1918 readonly asSr25519: SpCoreSr25519Signature;1919 readonly isEcdsa: boolean;1920 readonly asEcdsa: SpCoreEcdsaSignature;1921 readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa';1922}19231924/** @name SpRuntimeTokenError */1925export interface SpRuntimeTokenError extends Enum {1926 readonly isNoFunds: boolean;1927 readonly isWouldDie: boolean;1928 readonly isBelowMinimum: boolean;1929 readonly isCannotCreate: boolean;1930 readonly isUnknownAsset: boolean;1931 readonly isFrozen: boolean;1932 readonly isUnsupported: boolean;1933 readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported';1934}19351936/** @name SpRuntimeTransactionalError */1937export interface SpRuntimeTransactionalError extends Enum {1938 readonly isLimitReached: boolean;1939 readonly isNoLayer: boolean;1940 readonly type: 'LimitReached' | 'NoLayer';1941}19421943/** @name SpTrieStorageProof */1944export interface SpTrieStorageProof extends Struct {1945 readonly trieNodes: BTreeSet<Bytes>;1946}19471948/** @name SpVersionRuntimeVersion */1949export interface SpVersionRuntimeVersion extends Struct {1950 readonly specName: Text;1951 readonly implName: Text;1952 readonly authoringVersion: u32;1953 readonly specVersion: u32;1954 readonly implVersion: u32;1955 readonly apis: Vec<ITuple<[U8aFixed, u32]>>;1956 readonly transactionVersion: u32;1957 readonly stateVersion: u8;1958}19591960/** @name UpDataStructsAccessMode */1961export interface UpDataStructsAccessMode extends Enum {1962 readonly isNormal: boolean;1963 readonly isAllowList: boolean;1964 readonly type: 'Normal' | 'AllowList';1965}19661967/** @name UpDataStructsCollection */1968export interface UpDataStructsCollection extends Struct {1969 readonly owner: AccountId32;1970 readonly mode: UpDataStructsCollectionMode;1971 readonly access: UpDataStructsAccessMode;1972 readonly name: Vec<u16>;1973 readonly description: Vec<u16>;1974 readonly tokenPrefix: Bytes;1975 readonly mintMode: bool;1976 readonly schemaVersion: UpDataStructsSchemaVersion;1977 readonly sponsorship: UpDataStructsSponsorshipState;1978 readonly limits: UpDataStructsCollectionLimits;1979}19801981/** @name UpDataStructsCollectionField */1982export interface UpDataStructsCollectionField extends Enum {1983 readonly isConstOnChainSchema: boolean;1984 readonly isOffchainSchema: boolean;1985 readonly type: 'ConstOnChainSchema' | 'OffchainSchema';1986}19871988/** @name UpDataStructsCollectionLimits */1989export interface UpDataStructsCollectionLimits extends Struct {1990 readonly accountTokenOwnershipLimit: Option<u32>;1991 readonly sponsoredDataSize: Option<u32>;1992 readonly sponsoredDataRateLimit: Option<UpDataStructsSponsoringRateLimit>;1993 readonly tokenLimit: Option<u32>;1994 readonly sponsorTransferTimeout: Option<u32>;1995 readonly sponsorApproveTimeout: Option<u32>;1996 readonly ownerCanTransfer: Option<bool>;1997 readonly ownerCanDestroy: Option<bool>;1998 readonly transfersEnabled: Option<bool>;1999 readonly nestingRule: Option<UpDataStructsNestingRule>;2000}20012002/** @name UpDataStructsCollectionMode */2003export interface UpDataStructsCollectionMode extends Enum {2004 readonly isNft: boolean;2005 readonly isFungible: boolean;2006 readonly asFungible: u8;2007 readonly isReFungible: boolean;2008 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2009}20102011/** @name UpDataStructsCollectionStats */2012export interface UpDataStructsCollectionStats extends Struct {2013 readonly created: u32;2014 readonly destroyed: u32;2015 readonly alive: u32;2016}20172018/** @name UpDataStructsCreateCollectionData */2019export interface UpDataStructsCreateCollectionData extends Struct {2020 readonly mode: UpDataStructsCollectionMode;2021 readonly access: Option<UpDataStructsAccessMode>;2022 readonly name: Vec<u16>;2023 readonly description: Vec<u16>;2024 readonly tokenPrefix: Bytes;2025 readonly offchainSchema: Bytes;2026 readonly schemaVersion: Option<UpDataStructsSchemaVersion>;2027 readonly pendingSponsor: Option<AccountId32>;2028 readonly limits: Option<UpDataStructsCollectionLimits>;2029 readonly constOnChainSchema: Bytes;2030 readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2031 readonly properties: Vec<UpDataStructsProperty>;2032}20332034/** @name UpDataStructsCreateFungibleData */2035export interface UpDataStructsCreateFungibleData extends Struct {2036 readonly value: u128;2037}20382039/** @name UpDataStructsCreateItemData */2040export interface UpDataStructsCreateItemData extends Enum {2041 readonly isNft: boolean;2042 readonly asNft: UpDataStructsCreateNftData;2043 readonly isFungible: boolean;2044 readonly asFungible: UpDataStructsCreateFungibleData;2045 readonly isReFungible: boolean;2046 readonly asReFungible: UpDataStructsCreateReFungibleData;2047 readonly type: 'Nft' | 'Fungible' | 'ReFungible';2048}20492050/** @name UpDataStructsCreateItemExData */2051export interface UpDataStructsCreateItemExData extends Enum {2052 readonly isNft: boolean;2053 readonly asNft: Vec<UpDataStructsCreateNftExData>;2054 readonly isFungible: boolean;2055 readonly asFungible: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr,u128>;2056 readonly isRefungibleMultipleItems: boolean;2057 readonly asRefungibleMultipleItems: Vec<UpDataStructsCreateRefungibleExData>;2058 readonly isRefungibleMultipleOwners: boolean;2059 readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExData;2060 readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';2061}20622063/** @name UpDataStructsCreateNftData */2064export interface UpDataStructsCreateNftData extends Struct {2065 readonly constData: Bytes;2066 readonly properties: Vec<UpDataStructsProperty>;2067}20682069/** @name UpDataStructsCreateNftExData */2070export interface UpDataStructsCreateNftExData extends Struct {2071 readonly constData: Bytes;2072 readonly properties: Vec<UpDataStructsProperty>;2073 readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;2074}20752076/** @name UpDataStructsCreateReFungibleData */2077export interface UpDataStructsCreateReFungibleData extends Struct {2078 readonly constData: Bytes;2079 readonly pieces: u128;2080}20812082/** @name UpDataStructsCreateRefungibleExData */2083export interface UpDataStructsCreateRefungibleExData extends Struct {2084 readonly constData: Bytes;2085 readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;2086}20872088/** @name UpDataStructsNestingRule */2089export interface UpDataStructsNestingRule extends Enum {2090 readonly isDisabled: boolean;2091 readonly isOwner: boolean;2092 readonly isOwnerRestricted: boolean;2093 readonly asOwnerRestricted: BTreeSet<u32>;2094 readonly type: 'Disabled' | 'Owner' | 'OwnerRestricted';2095}20962097/** @name UpDataStructsProperties */2098export interface UpDataStructsProperties extends Struct {2099 readonly map: UpDataStructsPropertiesMapBoundedVec;2100 readonly consumedSpace: u32;2101 readonly spaceLimit: u32;2102}21032104/** @name UpDataStructsPropertiesMapBoundedVec */2105export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap<Bytes, Bytes> {}21062107/** @name UpDataStructsPropertiesMapPropertyPermission */2108export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}21092110/** @name UpDataStructsProperty */2111export interface UpDataStructsProperty extends Struct {2112 readonly key: Bytes;2113 readonly value: Bytes;2114}21152116/** @name UpDataStructsPropertyKeyPermission */2117export interface UpDataStructsPropertyKeyPermission extends Struct {2118 readonly key: Bytes;2119 readonly permission: UpDataStructsPropertyPermission;2120}21212122/** @name UpDataStructsPropertyPermission */2123export interface UpDataStructsPropertyPermission extends Struct {2124 readonly mutable: bool;2125 readonly collectionAdmin: bool;2126 readonly tokenOwner: bool;2127}21282129/** @name UpDataStructsRmrkAccountIdOrCollectionNftTuple */2130export interface UpDataStructsRmrkAccountIdOrCollectionNftTuple extends Enum {2131 readonly isAccountId: boolean;2132 readonly asAccountId: AccountId32;2133 readonly isCollectionAndNftTuple: boolean;2134 readonly asCollectionAndNftTuple: ITuple<[u32, u32]>;2135 readonly type: 'AccountId' | 'CollectionAndNftTuple';2136}21372138/** @name UpDataStructsRmrkBaseInfo */2139export interface UpDataStructsRmrkBaseInfo extends Struct {2140 readonly issuer: AccountId32;2141 readonly baseType: Bytes;2142 readonly symbol: Bytes;2143}21442145/** @name UpDataStructsRmrkBasicResource */2146export interface UpDataStructsRmrkBasicResource extends Struct {2147 readonly src: Option<Bytes>;2148 readonly metadata: Option<Bytes>;2149 readonly license: Option<Bytes>;2150 readonly thumb: Option<Bytes>;2151}21522153/** @name UpDataStructsRmrkCollectionInfo */2154export interface UpDataStructsRmrkCollectionInfo extends Struct {2155 readonly issuer: AccountId32;2156 readonly metadata: Bytes;2157 readonly max: Option<u32>;2158 readonly symbol: Bytes;2159 readonly nftsCount: u32;2160}21612162/** @name UpDataStructsRmrkComposableResource */2163export interface UpDataStructsRmrkComposableResource extends Struct {2164 readonly parts: Vec<u32>;2165 readonly base: u32;2166 readonly src: Option<Bytes>;2167 readonly metadata: Option<Bytes>;2168 readonly license: Option<Bytes>;2169 readonly thumb: Option<Bytes>;2170}21712172/** @name UpDataStructsRmrkEquippableList */2173export interface UpDataStructsRmrkEquippableList extends Enum {2174 readonly isAll: boolean;2175 readonly isEmpty: boolean;2176 readonly isCustom: boolean;2177 readonly asCustom: Vec<u32>;2178 readonly type: 'All' | 'Empty' | 'Custom';2179}21802181/** @name UpDataStructsRmrkFixedPart */2182export interface UpDataStructsRmrkFixedPart extends Struct {2183 readonly id: u32;2184 readonly z: u32;2185 readonly src: Bytes;2186}21872188/** @name UpDataStructsRmrkNftChild */2189export interface UpDataStructsRmrkNftChild extends Struct {2190 readonly collectionId: u32;2191 readonly nftId: u32;2192}21932194/** @name UpDataStructsRmrkNftInfo */2195export interface UpDataStructsRmrkNftInfo extends Struct {2196 readonly owner: UpDataStructsRmrkAccountIdOrCollectionNftTuple;2197 readonly royalty: Option<UpDataStructsRmrkRoyaltyInfo>;2198 readonly metadata: Bytes;2199 readonly equipped: bool;2200 readonly pending: bool;2201}22022203/** @name UpDataStructsRmrkPartType */2204export interface UpDataStructsRmrkPartType extends Enum {2205 readonly isFixedPart: boolean;2206 readonly asFixedPart: UpDataStructsRmrkFixedPart;2207 readonly isSlotPart: boolean;2208 readonly asSlotPart: UpDataStructsRmrkSlotPart;2209 readonly type: 'FixedPart' | 'SlotPart';2210}22112212/** @name UpDataStructsRmrkPropertyInfo */2213export interface UpDataStructsRmrkPropertyInfo extends Struct {2214 readonly key: Bytes;2215 readonly value: Bytes;2216}22172218/** @name UpDataStructsRmrkResourceInfo */2219export interface UpDataStructsRmrkResourceInfo extends Struct {2220 readonly id: Bytes;2221 readonly resource: UpDataStructsRmrkResourceTypes;2222 readonly pending: bool;2223 readonly pendingRemoval: bool;2224}22252226/** @name UpDataStructsRmrkResourceTypes */2227export interface UpDataStructsRmrkResourceTypes extends Enum {2228 readonly isBasic: boolean;2229 readonly asBasic: UpDataStructsRmrkBasicResource;2230 readonly isComposable: boolean;2231 readonly asComposable: UpDataStructsRmrkComposableResource;2232 readonly isSlot: boolean;2233 readonly asSlot: UpDataStructsRmrkSlotResource;2234 readonly type: 'Basic' | 'Composable' | 'Slot';2235}22362237/** @name UpDataStructsRmrkRoyaltyInfo */2238export interface UpDataStructsRmrkRoyaltyInfo extends Struct {2239 readonly recipient: AccountId32;2240 readonly amount: Permill;2241}22422243/** @name UpDataStructsRmrkSlotPart */2244export interface UpDataStructsRmrkSlotPart extends Struct {2245 readonly id: u32;2246 readonly equippable: UpDataStructsRmrkEquippableList;2247 readonly src: Bytes;2248 readonly z: u32;2249}22502251/** @name UpDataStructsRmrkSlotResource */2252export interface UpDataStructsRmrkSlotResource extends Struct {2253 readonly base: u32;2254 readonly src: Option<Bytes>;2255 readonly metadata: Option<Bytes>;2256 readonly slot: u32;2257 readonly license: Option<Bytes>;2258 readonly thumb: Option<Bytes>;2259}22602261/** @name UpDataStructsRmrkTheme */2262export interface UpDataStructsRmrkTheme extends Struct {2263 readonly name: Bytes;2264 readonly properties: Vec<UpDataStructsRmrkThemeProperty>;2265 readonly inherit: bool;2266}22672268/** @name UpDataStructsRmrkThemeProperty */2269export interface UpDataStructsRmrkThemeProperty extends Struct {2270 readonly key: Bytes;2271 readonly value: Bytes;2272}22732274/** @name UpDataStructsRpcCollection */2275export interface UpDataStructsRpcCollection extends Struct {2276 readonly owner: AccountId32;2277 readonly mode: UpDataStructsCollectionMode;2278 readonly access: UpDataStructsAccessMode;2279 readonly name: Vec<u16>;2280 readonly description: Vec<u16>;2281 readonly tokenPrefix: Bytes;2282 readonly mintMode: bool;2283 readonly offchainSchema: Bytes;2284 readonly schemaVersion: UpDataStructsSchemaVersion;2285 readonly sponsorship: UpDataStructsSponsorshipState;2286 readonly limits: UpDataStructsCollectionLimits;2287 readonly constOnChainSchema: Bytes;2288 readonly tokenPropertyPermissions: Vec<UpDataStructsPropertyKeyPermission>;2289 readonly properties: Vec<UpDataStructsProperty>;2290}22912292/** @name UpDataStructsSchemaVersion */2293export interface UpDataStructsSchemaVersion extends Enum {2294 readonly isImageURL: boolean;2295 readonly isUnique: boolean;2296 readonly type: 'ImageURL' | 'Unique';2297}22982299/** @name UpDataStructsSponsoringRateLimit */2300export interface UpDataStructsSponsoringRateLimit extends Enum {2301 readonly isSponsoringDisabled: boolean;2302 readonly isBlocks: boolean;2303 readonly asBlocks: u32;2304 readonly type: 'SponsoringDisabled' | 'Blocks';2305}23062307/** @name UpDataStructsSponsorshipState */2308export interface UpDataStructsSponsorshipState extends Enum {2309 readonly isDisabled: boolean;2310 readonly isUnconfirmed: boolean;2311 readonly asUnconfirmed: AccountId32;2312 readonly isConfirmed: boolean;2313 readonly asConfirmed: AccountId32;2314 readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed';2315}23162317/** @name UpDataStructsTokenData */2318export interface UpDataStructsTokenData extends Struct {2319 readonly constData: Bytes;2320 readonly properties: Vec<UpDataStructsProperty>;2321 readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;2322}23232324/** @name XcmDoubleEncoded */2325export interface XcmDoubleEncoded extends Struct {2326 readonly encoded: Bytes;2327}23282329/** @name XcmV0Junction */2330export interface XcmV0Junction extends Enum {2331 readonly isParent: boolean;2332 readonly isParachain: boolean;2333 readonly asParachain: Compact<u32>;2334 readonly isAccountId32: boolean;2335 readonly asAccountId32: {2336 readonly network: XcmV0JunctionNetworkId;2337 readonly id: U8aFixed;2338 } & Struct;2339 readonly isAccountIndex64: boolean;2340 readonly asAccountIndex64: {2341 readonly network: XcmV0JunctionNetworkId;2342 readonly index: Compact<u64>;2343 } & Struct;2344 readonly isAccountKey20: boolean;2345 readonly asAccountKey20: {2346 readonly network: XcmV0JunctionNetworkId;2347 readonly key: U8aFixed;2348 } & Struct;2349 readonly isPalletInstance: boolean;2350 readonly asPalletInstance: u8;2351 readonly isGeneralIndex: boolean;2352 readonly asGeneralIndex: Compact<u128>;2353 readonly isGeneralKey: boolean;2354 readonly asGeneralKey: Bytes;2355 readonly isOnlyChild: boolean;2356 readonly isPlurality: boolean;2357 readonly asPlurality: {2358 readonly id: XcmV0JunctionBodyId;2359 readonly part: XcmV0JunctionBodyPart;2360 } & Struct;2361 readonly type: 'Parent' | 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2362}23632364/** @name XcmV0JunctionBodyId */2365export interface XcmV0JunctionBodyId extends Enum {2366 readonly isUnit: boolean;2367 readonly isNamed: boolean;2368 readonly asNamed: Bytes;2369 readonly isIndex: boolean;2370 readonly asIndex: Compact<u32>;2371 readonly isExecutive: boolean;2372 readonly isTechnical: boolean;2373 readonly isLegislative: boolean;2374 readonly isJudicial: boolean;2375 readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial';2376}23772378/** @name XcmV0JunctionBodyPart */2379export interface XcmV0JunctionBodyPart extends Enum {2380 readonly isVoice: boolean;2381 readonly isMembers: boolean;2382 readonly asMembers: {2383 readonly count: Compact<u32>;2384 } & Struct;2385 readonly isFraction: boolean;2386 readonly asFraction: {2387 readonly nom: Compact<u32>;2388 readonly denom: Compact<u32>;2389 } & Struct;2390 readonly isAtLeastProportion: boolean;2391 readonly asAtLeastProportion: {2392 readonly nom: Compact<u32>;2393 readonly denom: Compact<u32>;2394 } & Struct;2395 readonly isMoreThanProportion: boolean;2396 readonly asMoreThanProportion: {2397 readonly nom: Compact<u32>;2398 readonly denom: Compact<u32>;2399 } & Struct;2400 readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';2401}24022403/** @name XcmV0JunctionNetworkId */2404export interface XcmV0JunctionNetworkId extends Enum {2405 readonly isAny: boolean;2406 readonly isNamed: boolean;2407 readonly asNamed: Bytes;2408 readonly isPolkadot: boolean;2409 readonly isKusama: boolean;2410 readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama';2411}24122413/** @name XcmV0MultiAsset */2414export interface XcmV0MultiAsset extends Enum {2415 readonly isNone: boolean;2416 readonly isAll: boolean;2417 readonly isAllFungible: boolean;2418 readonly isAllNonFungible: boolean;2419 readonly isAllAbstractFungible: boolean;2420 readonly asAllAbstractFungible: {2421 readonly id: Bytes;2422 } & Struct;2423 readonly isAllAbstractNonFungible: boolean;2424 readonly asAllAbstractNonFungible: {2425 readonly class: Bytes;2426 } & Struct;2427 readonly isAllConcreteFungible: boolean;2428 readonly asAllConcreteFungible: {2429 readonly id: XcmV0MultiLocation;2430 } & Struct;2431 readonly isAllConcreteNonFungible: boolean;2432 readonly asAllConcreteNonFungible: {2433 readonly class: XcmV0MultiLocation;2434 } & Struct;2435 readonly isAbstractFungible: boolean;2436 readonly asAbstractFungible: {2437 readonly id: Bytes;2438 readonly amount: Compact<u128>;2439 } & Struct;2440 readonly isAbstractNonFungible: boolean;2441 readonly asAbstractNonFungible: {2442 readonly class: Bytes;2443 readonly instance: XcmV1MultiassetAssetInstance;2444 } & Struct;2445 readonly isConcreteFungible: boolean;2446 readonly asConcreteFungible: {2447 readonly id: XcmV0MultiLocation;2448 readonly amount: Compact<u128>;2449 } & Struct;2450 readonly isConcreteNonFungible: boolean;2451 readonly asConcreteNonFungible: {2452 readonly class: XcmV0MultiLocation;2453 readonly instance: XcmV1MultiassetAssetInstance;2454 } & Struct;2455 readonly type: 'None' | 'All' | 'AllFungible' | 'AllNonFungible' | 'AllAbstractFungible' | 'AllAbstractNonFungible' | 'AllConcreteFungible' | 'AllConcreteNonFungible' | 'AbstractFungible' | 'AbstractNonFungible' | 'ConcreteFungible' | 'ConcreteNonFungible';2456}24572458/** @name XcmV0MultiLocation */2459export interface XcmV0MultiLocation extends Enum {2460 readonly isNull: boolean;2461 readonly isX1: boolean;2462 readonly asX1: XcmV0Junction;2463 readonly isX2: boolean;2464 readonly asX2: ITuple<[XcmV0Junction, XcmV0Junction]>;2465 readonly isX3: boolean;2466 readonly asX3: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2467 readonly isX4: boolean;2468 readonly asX4: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2469 readonly isX5: boolean;2470 readonly asX5: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2471 readonly isX6: boolean;2472 readonly asX6: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2473 readonly isX7: boolean;2474 readonly asX7: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2475 readonly isX8: boolean;2476 readonly asX8: ITuple<[XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction, XcmV0Junction]>;2477 readonly type: 'Null' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2478}24792480/** @name XcmV0Order */2481export interface XcmV0Order extends Enum {2482 readonly isNull: boolean;2483 readonly isDepositAsset: boolean;2484 readonly asDepositAsset: {2485 readonly assets: Vec<XcmV0MultiAsset>;2486 readonly dest: XcmV0MultiLocation;2487 } & Struct;2488 readonly isDepositReserveAsset: boolean;2489 readonly asDepositReserveAsset: {2490 readonly assets: Vec<XcmV0MultiAsset>;2491 readonly dest: XcmV0MultiLocation;2492 readonly effects: Vec<XcmV0Order>;2493 } & Struct;2494 readonly isExchangeAsset: boolean;2495 readonly asExchangeAsset: {2496 readonly give: Vec<XcmV0MultiAsset>;2497 readonly receive: Vec<XcmV0MultiAsset>;2498 } & Struct;2499 readonly isInitiateReserveWithdraw: boolean;2500 readonly asInitiateReserveWithdraw: {2501 readonly assets: Vec<XcmV0MultiAsset>;2502 readonly reserve: XcmV0MultiLocation;2503 readonly effects: Vec<XcmV0Order>;2504 } & Struct;2505 readonly isInitiateTeleport: boolean;2506 readonly asInitiateTeleport: {2507 readonly assets: Vec<XcmV0MultiAsset>;2508 readonly dest: XcmV0MultiLocation;2509 readonly effects: Vec<XcmV0Order>;2510 } & Struct;2511 readonly isQueryHolding: boolean;2512 readonly asQueryHolding: {2513 readonly queryId: Compact<u64>;2514 readonly dest: XcmV0MultiLocation;2515 readonly assets: Vec<XcmV0MultiAsset>;2516 } & Struct;2517 readonly isBuyExecution: boolean;2518 readonly asBuyExecution: {2519 readonly fees: XcmV0MultiAsset;2520 readonly weight: u64;2521 readonly debt: u64;2522 readonly haltOnError: bool;2523 readonly xcm: Vec<XcmV0Xcm>;2524 } & Struct;2525 readonly type: 'Null' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2526}25272528/** @name XcmV0OriginKind */2529export interface XcmV0OriginKind extends Enum {2530 readonly isNative: boolean;2531 readonly isSovereignAccount: boolean;2532 readonly isSuperuser: boolean;2533 readonly isXcm: boolean;2534 readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm';2535}25362537/** @name XcmV0Response */2538export interface XcmV0Response extends Enum {2539 readonly isAssets: boolean;2540 readonly asAssets: Vec<XcmV0MultiAsset>;2541 readonly type: 'Assets';2542}25432544/** @name XcmV0Xcm */2545export interface XcmV0Xcm extends Enum {2546 readonly isWithdrawAsset: boolean;2547 readonly asWithdrawAsset: {2548 readonly assets: Vec<XcmV0MultiAsset>;2549 readonly effects: Vec<XcmV0Order>;2550 } & Struct;2551 readonly isReserveAssetDeposit: boolean;2552 readonly asReserveAssetDeposit: {2553 readonly assets: Vec<XcmV0MultiAsset>;2554 readonly effects: Vec<XcmV0Order>;2555 } & Struct;2556 readonly isTeleportAsset: boolean;2557 readonly asTeleportAsset: {2558 readonly assets: Vec<XcmV0MultiAsset>;2559 readonly effects: Vec<XcmV0Order>;2560 } & Struct;2561 readonly isQueryResponse: boolean;2562 readonly asQueryResponse: {2563 readonly queryId: Compact<u64>;2564 readonly response: XcmV0Response;2565 } & Struct;2566 readonly isTransferAsset: boolean;2567 readonly asTransferAsset: {2568 readonly assets: Vec<XcmV0MultiAsset>;2569 readonly dest: XcmV0MultiLocation;2570 } & Struct;2571 readonly isTransferReserveAsset: boolean;2572 readonly asTransferReserveAsset: {2573 readonly assets: Vec<XcmV0MultiAsset>;2574 readonly dest: XcmV0MultiLocation;2575 readonly effects: Vec<XcmV0Order>;2576 } & Struct;2577 readonly isTransact: boolean;2578 readonly asTransact: {2579 readonly originType: XcmV0OriginKind;2580 readonly requireWeightAtMost: u64;2581 readonly call: XcmDoubleEncoded;2582 } & Struct;2583 readonly isHrmpNewChannelOpenRequest: boolean;2584 readonly asHrmpNewChannelOpenRequest: {2585 readonly sender: Compact<u32>;2586 readonly maxMessageSize: Compact<u32>;2587 readonly maxCapacity: Compact<u32>;2588 } & Struct;2589 readonly isHrmpChannelAccepted: boolean;2590 readonly asHrmpChannelAccepted: {2591 readonly recipient: Compact<u32>;2592 } & Struct;2593 readonly isHrmpChannelClosing: boolean;2594 readonly asHrmpChannelClosing: {2595 readonly initiator: Compact<u32>;2596 readonly sender: Compact<u32>;2597 readonly recipient: Compact<u32>;2598 } & Struct;2599 readonly isRelayedFrom: boolean;2600 readonly asRelayedFrom: {2601 readonly who: XcmV0MultiLocation;2602 readonly message: XcmV0Xcm;2603 } & Struct;2604 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposit' | 'TeleportAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom';2605}26062607/** @name XcmV1Junction */2608export interface XcmV1Junction extends Enum {2609 readonly isParachain: boolean;2610 readonly asParachain: Compact<u32>;2611 readonly isAccountId32: boolean;2612 readonly asAccountId32: {2613 readonly network: XcmV0JunctionNetworkId;2614 readonly id: U8aFixed;2615 } & Struct;2616 readonly isAccountIndex64: boolean;2617 readonly asAccountIndex64: {2618 readonly network: XcmV0JunctionNetworkId;2619 readonly index: Compact<u64>;2620 } & Struct;2621 readonly isAccountKey20: boolean;2622 readonly asAccountKey20: {2623 readonly network: XcmV0JunctionNetworkId;2624 readonly key: U8aFixed;2625 } & Struct;2626 readonly isPalletInstance: boolean;2627 readonly asPalletInstance: u8;2628 readonly isGeneralIndex: boolean;2629 readonly asGeneralIndex: Compact<u128>;2630 readonly isGeneralKey: boolean;2631 readonly asGeneralKey: Bytes;2632 readonly isOnlyChild: boolean;2633 readonly isPlurality: boolean;2634 readonly asPlurality: {2635 readonly id: XcmV0JunctionBodyId;2636 readonly part: XcmV0JunctionBodyPart;2637 } & Struct;2638 readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';2639}26402641/** @name XcmV1MultiAsset */2642export interface XcmV1MultiAsset extends Struct {2643 readonly id: XcmV1MultiassetAssetId;2644 readonly fun: XcmV1MultiassetFungibility;2645}26462647/** @name XcmV1MultiassetAssetId */2648export interface XcmV1MultiassetAssetId extends Enum {2649 readonly isConcrete: boolean;2650 readonly asConcrete: XcmV1MultiLocation;2651 readonly isAbstract: boolean;2652 readonly asAbstract: Bytes;2653 readonly type: 'Concrete' | 'Abstract';2654}26552656/** @name XcmV1MultiassetAssetInstance */2657export interface XcmV1MultiassetAssetInstance extends Enum {2658 readonly isUndefined: boolean;2659 readonly isIndex: boolean;2660 readonly asIndex: Compact<u128>;2661 readonly isArray4: boolean;2662 readonly asArray4: U8aFixed;2663 readonly isArray8: boolean;2664 readonly asArray8: U8aFixed;2665 readonly isArray16: boolean;2666 readonly asArray16: U8aFixed;2667 readonly isArray32: boolean;2668 readonly asArray32: U8aFixed;2669 readonly isBlob: boolean;2670 readonly asBlob: Bytes;2671 readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';2672}26732674/** @name XcmV1MultiassetFungibility */2675export interface XcmV1MultiassetFungibility extends Enum {2676 readonly isFungible: boolean;2677 readonly asFungible: Compact<u128>;2678 readonly isNonFungible: boolean;2679 readonly asNonFungible: XcmV1MultiassetAssetInstance;2680 readonly type: 'Fungible' | 'NonFungible';2681}26822683/** @name XcmV1MultiassetMultiAssetFilter */2684export interface XcmV1MultiassetMultiAssetFilter extends Enum {2685 readonly isDefinite: boolean;2686 readonly asDefinite: XcmV1MultiassetMultiAssets;2687 readonly isWild: boolean;2688 readonly asWild: XcmV1MultiassetWildMultiAsset;2689 readonly type: 'Definite' | 'Wild';2690}26912692/** @name XcmV1MultiassetMultiAssets */2693export interface XcmV1MultiassetMultiAssets extends Vec<XcmV1MultiAsset> {}26942695/** @name XcmV1MultiassetWildFungibility */2696export interface XcmV1MultiassetWildFungibility extends Enum {2697 readonly isFungible: boolean;2698 readonly isNonFungible: boolean;2699 readonly type: 'Fungible' | 'NonFungible';2700}27012702/** @name XcmV1MultiassetWildMultiAsset */2703export interface XcmV1MultiassetWildMultiAsset extends Enum {2704 readonly isAll: boolean;2705 readonly isAllOf: boolean;2706 readonly asAllOf: {2707 readonly id: XcmV1MultiassetAssetId;2708 readonly fun: XcmV1MultiassetWildFungibility;2709 } & Struct;2710 readonly type: 'All' | 'AllOf';2711}27122713/** @name XcmV1MultiLocation */2714export interface XcmV1MultiLocation extends Struct {2715 readonly parents: u8;2716 readonly interior: XcmV1MultilocationJunctions;2717}27182719/** @name XcmV1MultilocationJunctions */2720export interface XcmV1MultilocationJunctions extends Enum {2721 readonly isHere: boolean;2722 readonly isX1: boolean;2723 readonly asX1: XcmV1Junction;2724 readonly isX2: boolean;2725 readonly asX2: ITuple<[XcmV1Junction, XcmV1Junction]>;2726 readonly isX3: boolean;2727 readonly asX3: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2728 readonly isX4: boolean;2729 readonly asX4: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2730 readonly isX5: boolean;2731 readonly asX5: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2732 readonly isX6: boolean;2733 readonly asX6: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2734 readonly isX7: boolean;2735 readonly asX7: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2736 readonly isX8: boolean;2737 readonly asX8: ITuple<[XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction, XcmV1Junction]>;2738 readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8';2739}27402741/** @name XcmV1Order */2742export interface XcmV1Order extends Enum {2743 readonly isNoop: boolean;2744 readonly isDepositAsset: boolean;2745 readonly asDepositAsset: {2746 readonly assets: XcmV1MultiassetMultiAssetFilter;2747 readonly maxAssets: u32;2748 readonly beneficiary: XcmV1MultiLocation;2749 } & Struct;2750 readonly isDepositReserveAsset: boolean;2751 readonly asDepositReserveAsset: {2752 readonly assets: XcmV1MultiassetMultiAssetFilter;2753 readonly maxAssets: u32;2754 readonly dest: XcmV1MultiLocation;2755 readonly effects: Vec<XcmV1Order>;2756 } & Struct;2757 readonly isExchangeAsset: boolean;2758 readonly asExchangeAsset: {2759 readonly give: XcmV1MultiassetMultiAssetFilter;2760 readonly receive: XcmV1MultiassetMultiAssets;2761 } & Struct;2762 readonly isInitiateReserveWithdraw: boolean;2763 readonly asInitiateReserveWithdraw: {2764 readonly assets: XcmV1MultiassetMultiAssetFilter;2765 readonly reserve: XcmV1MultiLocation;2766 readonly effects: Vec<XcmV1Order>;2767 } & Struct;2768 readonly isInitiateTeleport: boolean;2769 readonly asInitiateTeleport: {2770 readonly assets: XcmV1MultiassetMultiAssetFilter;2771 readonly dest: XcmV1MultiLocation;2772 readonly effects: Vec<XcmV1Order>;2773 } & Struct;2774 readonly isQueryHolding: boolean;2775 readonly asQueryHolding: {2776 readonly queryId: Compact<u64>;2777 readonly dest: XcmV1MultiLocation;2778 readonly assets: XcmV1MultiassetMultiAssetFilter;2779 } & Struct;2780 readonly isBuyExecution: boolean;2781 readonly asBuyExecution: {2782 readonly fees: XcmV1MultiAsset;2783 readonly weight: u64;2784 readonly debt: u64;2785 readonly haltOnError: bool;2786 readonly instructions: Vec<XcmV1Xcm>;2787 } & Struct;2788 readonly type: 'Noop' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution';2789}27902791/** @name XcmV1Response */2792export interface XcmV1Response extends Enum {2793 readonly isAssets: boolean;2794 readonly asAssets: XcmV1MultiassetMultiAssets;2795 readonly isVersion: boolean;2796 readonly asVersion: u32;2797 readonly type: 'Assets' | 'Version';2798}27992800/** @name XcmV1Xcm */2801export interface XcmV1Xcm extends Enum {2802 readonly isWithdrawAsset: boolean;2803 readonly asWithdrawAsset: {2804 readonly assets: XcmV1MultiassetMultiAssets;2805 readonly effects: Vec<XcmV1Order>;2806 } & Struct;2807 readonly isReserveAssetDeposited: boolean;2808 readonly asReserveAssetDeposited: {2809 readonly assets: XcmV1MultiassetMultiAssets;2810 readonly effects: Vec<XcmV1Order>;2811 } & Struct;2812 readonly isReceiveTeleportedAsset: boolean;2813 readonly asReceiveTeleportedAsset: {2814 readonly assets: XcmV1MultiassetMultiAssets;2815 readonly effects: Vec<XcmV1Order>;2816 } & Struct;2817 readonly isQueryResponse: boolean;2818 readonly asQueryResponse: {2819 readonly queryId: Compact<u64>;2820 readonly response: XcmV1Response;2821 } & Struct;2822 readonly isTransferAsset: boolean;2823 readonly asTransferAsset: {2824 readonly assets: XcmV1MultiassetMultiAssets;2825 readonly beneficiary: XcmV1MultiLocation;2826 } & Struct;2827 readonly isTransferReserveAsset: boolean;2828 readonly asTransferReserveAsset: {2829 readonly assets: XcmV1MultiassetMultiAssets;2830 readonly dest: XcmV1MultiLocation;2831 readonly effects: Vec<XcmV1Order>;2832 } & Struct;2833 readonly isTransact: boolean;2834 readonly asTransact: {2835 readonly originType: XcmV0OriginKind;2836 readonly requireWeightAtMost: u64;2837 readonly call: XcmDoubleEncoded;2838 } & Struct;2839 readonly isHrmpNewChannelOpenRequest: boolean;2840 readonly asHrmpNewChannelOpenRequest: {2841 readonly sender: Compact<u32>;2842 readonly maxMessageSize: Compact<u32>;2843 readonly maxCapacity: Compact<u32>;2844 } & Struct;2845 readonly isHrmpChannelAccepted: boolean;2846 readonly asHrmpChannelAccepted: {2847 readonly recipient: Compact<u32>;2848 } & Struct;2849 readonly isHrmpChannelClosing: boolean;2850 readonly asHrmpChannelClosing: {2851 readonly initiator: Compact<u32>;2852 readonly sender: Compact<u32>;2853 readonly recipient: Compact<u32>;2854 } & Struct;2855 readonly isRelayedFrom: boolean;2856 readonly asRelayedFrom: {2857 readonly who: XcmV1MultilocationJunctions;2858 readonly message: XcmV1Xcm;2859 } & Struct;2860 readonly isSubscribeVersion: boolean;2861 readonly asSubscribeVersion: {2862 readonly queryId: Compact<u64>;2863 readonly maxResponseWeight: Compact<u64>;2864 } & Struct;2865 readonly isUnsubscribeVersion: boolean;2866 readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'RelayedFrom' | 'SubscribeVersion' | 'UnsubscribeVersion';2867}28682869/** @name XcmV2Instruction */2870export interface XcmV2Instruction extends Enum {2871 readonly isWithdrawAsset: boolean;2872 readonly asWithdrawAsset: XcmV1MultiassetMultiAssets;2873 readonly isReserveAssetDeposited: boolean;2874 readonly asReserveAssetDeposited: XcmV1MultiassetMultiAssets;2875 readonly isReceiveTeleportedAsset: boolean;2876 readonly asReceiveTeleportedAsset: XcmV1MultiassetMultiAssets;2877 readonly isQueryResponse: boolean;2878 readonly asQueryResponse: {2879 readonly queryId: Compact<u64>;2880 readonly response: XcmV2Response;2881 readonly maxWeight: Compact<u64>;2882 } & Struct;2883 readonly isTransferAsset: boolean;2884 readonly asTransferAsset: {2885 readonly assets: XcmV1MultiassetMultiAssets;2886 readonly beneficiary: XcmV1MultiLocation;2887 } & Struct;2888 readonly isTransferReserveAsset: boolean;2889 readonly asTransferReserveAsset: {2890 readonly assets: XcmV1MultiassetMultiAssets;2891 readonly dest: XcmV1MultiLocation;2892 readonly xcm: XcmV2Xcm;2893 } & Struct;2894 readonly isTransact: boolean;2895 readonly asTransact: {2896 readonly originType: XcmV0OriginKind;2897 readonly requireWeightAtMost: Compact<u64>;2898 readonly call: XcmDoubleEncoded;2899 } & Struct;2900 readonly isHrmpNewChannelOpenRequest: boolean;2901 readonly asHrmpNewChannelOpenRequest: {2902 readonly sender: Compact<u32>;2903 readonly maxMessageSize: Compact<u32>;2904 readonly maxCapacity: Compact<u32>;2905 } & Struct;2906 readonly isHrmpChannelAccepted: boolean;2907 readonly asHrmpChannelAccepted: {2908 readonly recipient: Compact<u32>;2909 } & Struct;2910 readonly isHrmpChannelClosing: boolean;2911 readonly asHrmpChannelClosing: {2912 readonly initiator: Compact<u32>;2913 readonly sender: Compact<u32>;2914 readonly recipient: Compact<u32>;2915 } & Struct;2916 readonly isClearOrigin: boolean;2917 readonly isDescendOrigin: boolean;2918 readonly asDescendOrigin: XcmV1MultilocationJunctions;2919 readonly isReportError: boolean;2920 readonly asReportError: {2921 readonly queryId: Compact<u64>;2922 readonly dest: XcmV1MultiLocation;2923 readonly maxResponseWeight: Compact<u64>;2924 } & Struct;2925 readonly isDepositAsset: boolean;2926 readonly asDepositAsset: {2927 readonly assets: XcmV1MultiassetMultiAssetFilter;2928 readonly maxAssets: Compact<u32>;2929 readonly beneficiary: XcmV1MultiLocation;2930 } & Struct;2931 readonly isDepositReserveAsset: boolean;2932 readonly asDepositReserveAsset: {2933 readonly assets: XcmV1MultiassetMultiAssetFilter;2934 readonly maxAssets: Compact<u32>;2935 readonly dest: XcmV1MultiLocation;2936 readonly xcm: XcmV2Xcm;2937 } & Struct;2938 readonly isExchangeAsset: boolean;2939 readonly asExchangeAsset: {2940 readonly give: XcmV1MultiassetMultiAssetFilter;2941 readonly receive: XcmV1MultiassetMultiAssets;2942 } & Struct;2943 readonly isInitiateReserveWithdraw: boolean;2944 readonly asInitiateReserveWithdraw: {2945 readonly assets: XcmV1MultiassetMultiAssetFilter;2946 readonly reserve: XcmV1MultiLocation;2947 readonly xcm: XcmV2Xcm;2948 } & Struct;2949 readonly isInitiateTeleport: boolean;2950 readonly asInitiateTeleport: {2951 readonly assets: XcmV1MultiassetMultiAssetFilter;2952 readonly dest: XcmV1MultiLocation;2953 readonly xcm: XcmV2Xcm;2954 } & Struct;2955 readonly isQueryHolding: boolean;2956 readonly asQueryHolding: {2957 readonly queryId: Compact<u64>;2958 readonly dest: XcmV1MultiLocation;2959 readonly assets: XcmV1MultiassetMultiAssetFilter;2960 readonly maxResponseWeight: Compact<u64>;2961 } & Struct;2962 readonly isBuyExecution: boolean;2963 readonly asBuyExecution: {2964 readonly fees: XcmV1MultiAsset;2965 readonly weightLimit: XcmV2WeightLimit;2966 } & Struct;2967 readonly isRefundSurplus: boolean;2968 readonly isSetErrorHandler: boolean;2969 readonly asSetErrorHandler: XcmV2Xcm;2970 readonly isSetAppendix: boolean;2971 readonly asSetAppendix: XcmV2Xcm;2972 readonly isClearError: boolean;2973 readonly isClaimAsset: boolean;2974 readonly asClaimAsset: {2975 readonly assets: XcmV1MultiassetMultiAssets;2976 readonly ticket: XcmV1MultiLocation;2977 } & Struct;2978 readonly isTrap: boolean;2979 readonly asTrap: Compact<u64>;2980 readonly isSubscribeVersion: boolean;2981 readonly asSubscribeVersion: {2982 readonly queryId: Compact<u64>;2983 readonly maxResponseWeight: Compact<u64>;2984 } & Struct;2985 readonly isUnsubscribeVersion: boolean;2986 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';2987}29882989/** @name XcmV2Response */2990export interface XcmV2Response extends Enum {2991 readonly isNull: boolean;2992 readonly isAssets: boolean;2993 readonly asAssets: XcmV1MultiassetMultiAssets;2994 readonly isExecutionResult: boolean;2995 readonly asExecutionResult: Option<ITuple<[u32, XcmV2TraitsError]>>;2996 readonly isVersion: boolean;2997 readonly asVersion: u32;2998 readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';2999}30003001/** @name XcmV2TraitsError */3002export interface XcmV2TraitsError extends Enum {3003 readonly isOverflow: boolean;3004 readonly isUnimplemented: boolean;3005 readonly isUntrustedReserveLocation: boolean;3006 readonly isUntrustedTeleportLocation: boolean;3007 readonly isMultiLocationFull: boolean;3008 readonly isMultiLocationNotInvertible: boolean;3009 readonly isBadOrigin: boolean;3010 readonly isInvalidLocation: boolean;3011 readonly isAssetNotFound: boolean;3012 readonly isFailedToTransactAsset: boolean;3013 readonly isNotWithdrawable: boolean;3014 readonly isLocationCannotHold: boolean;3015 readonly isExceedsMaxMessageSize: boolean;3016 readonly isDestinationUnsupported: boolean;3017 readonly isTransport: boolean;3018 readonly isUnroutable: boolean;3019 readonly isUnknownClaim: boolean;3020 readonly isFailedToDecode: boolean;3021 readonly isMaxWeightInvalid: boolean;3022 readonly isNotHoldingFees: boolean;3023 readonly isTooExpensive: boolean;3024 readonly isTrap: boolean;3025 readonly asTrap: u64;3026 readonly isUnhandledXcmVersion: boolean;3027 readonly isWeightLimitReached: boolean;3028 readonly asWeightLimitReached: u64;3029 readonly isBarrier: boolean;3030 readonly isWeightNotComputable: boolean;3031 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';3032}30333034/** @name XcmV2TraitsOutcome */3035export interface XcmV2TraitsOutcome extends Enum {3036 readonly isComplete: boolean;3037 readonly asComplete: u64;3038 readonly isIncomplete: boolean;3039 readonly asIncomplete: ITuple<[u64, XcmV2TraitsError]>;3040 readonly isError: boolean;3041 readonly asError: XcmV2TraitsError;3042 readonly type: 'Complete' | 'Incomplete' | 'Error';3043}30443045/** @name XcmV2WeightLimit */3046export interface XcmV2WeightLimit extends Enum {3047 readonly isUnlimited: boolean;3048 readonly isLimited: boolean;3049 readonly asLimited: Compact<u64>;3050 readonly type: 'Unlimited' | 'Limited';3051}30523053/** @name XcmV2Xcm */3054export interface XcmV2Xcm extends Vec<XcmV2Instruction> {}30553056/** @name XcmVersionedMultiAssets */3057export interface XcmVersionedMultiAssets extends Enum {3058 readonly isV0: boolean;3059 readonly asV0: Vec<XcmV0MultiAsset>;3060 readonly isV1: boolean;3061 readonly asV1: XcmV1MultiassetMultiAssets;3062 readonly type: 'V0' | 'V1';3063}30643065/** @name XcmVersionedMultiLocation */3066export interface XcmVersionedMultiLocation extends Enum {3067 readonly isV0: boolean;3068 readonly asV0: XcmV0MultiLocation;3069 readonly isV1: boolean;3070 readonly asV1: XcmV1MultiLocation;3071 readonly type: 'V0' | 'V1';3072}30733074/** @name XcmVersionedXcm */3075export interface XcmVersionedXcm extends Enum {3076 readonly isV0: boolean;3077 readonly asV0: XcmV0Xcm;3078 readonly isV1: boolean;3079 readonly asV1: XcmV1Xcm;3080 readonly isV2: boolean;3081 readonly asV2: XcmV2Xcm;3082 readonly type: 'V0' | 'V1' | 'V2';3083}30843085export type PHANTOM_UNIQUE = 'unique';