From 258c7f483482b36eb319d2eb0cdf610db226daff Mon Sep 17 00:00:00 2001 From: Alexander Aksenov Date: Mon, 15 Aug 2022 21:09:53 +0000 Subject: [PATCH] extensions yaml -> yml --- --- a/.docker/Dockerfile-parachain +++ b/.docker/Dockerfile-parachain @@ -41,7 +41,6 @@ RUN git clone $REPO_URL -b $BRANCH && \ cargo build --features=$FEATURE --$PROFILE - # ===== BUILD POLKADOT ===== FROM rust-builder as builder-polkadot --- a/.docker/docker-compose-master.yaml +++ /dev/null @@ -1,19 +0,0 @@ -version: "3.5" - -services: - blockchain_nodes: - build: - context: ../ - dockerfile: .docker/Dockerfile-parachain - image: blockchain_nodes - container_name: blockchain_nodes - expose: - - 9944 - - 9933 - ports: - - 127.0.0.1:9944:9944 - - 127.0.0.1:9933:9933 - logging: - options: - max-size: "1m" - max-file: "3" --- /dev/null +++ b/.docker/docker-compose-master.yml @@ -0,0 +1,19 @@ +version: "3.5" + +services: + blockchain_nodes: + build: + context: ../ + dockerfile: .docker/Dockerfile-parachain + image: blockchain_nodes + container_name: blockchain_nodes + expose: + - 9944 + - 9933 + ports: + - 127.0.0.1:9944:9944 + - 127.0.0.1:9933:9933 + logging: + options: + max-size: "1m" + max-file: "3" --- a/.docker/forking/docker-compose-fork.yaml +++ b/.docker/forking/docker-compose-fork.yaml @@ -3,8 +3,8 @@ services: parachain-fork: build: - context: ../ - dockerfile: .docker/forking/Dockerfile-parachain-live-fork + context: ./ + dockerfile: ./Dockerfile-parachain-live-fork image: parachain-fork container_name: parachain-fork volumes: --- a/.docker/forking/docker-compose.tmp-fork.j2 +++ b/.docker/forking/docker-compose.tmp-fork.j2 @@ -10,6 +10,4 @@ - "FEATURE={{ FEATURE }}" - "RUNTIME={{ RUNTIME }}" - "POLKADOT_BUILD_BRANCH={{ POLKADOT_BUILD_BRANCH }}" - - "MAINNET_TAG={{ MAINNET_TAG }}" - - "MAINNET_BRANCH={{ MAINNET_BRANCH }}" - "FORK_FROM={{ FORK_FROM }}" --- a/.github/workflows/build-test-master.yml +++ b/.github/workflows/build-test-master.yml @@ -22,7 +22,7 @@ # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - build: + master-build-and-test: # The type of runner that the job will run on runs-on: self-hosted-ci @@ -35,11 +35,11 @@ matrix: include: - network: "Opal" - features: " " + features: "opal-runtime" - network: "Quartz" - features: "--features=quartz-runtime" + features: "quartz-runtime" - network: "Unique" - features: "--features=unique-runtime" + features: "unique-runtime" steps: - name: Skip if pull request is in Draft --- a/.github/workflows/fork-update-withdata.yml +++ b/.github/workflows/fork-update-withdata.yml @@ -22,39 +22,7 @@ # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - prepare-execution-marix-fork: - - name: Prepare execution matrix for fork - - runs-on: self-hosted-ci - outputs: - matrix: ${{ steps.create_matrix.outputs.matrix }} - steps: - - - name: Clean Workspace - uses: AutoModality/action-clean@v1.1.0 - - # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - - uses: actions/checkout@v3 - with: - ref: ${{ github.head_ref }} #Checking out head commit - - - name: Read .env file - uses: xom9ikk/dotenv@v1.0.2 - - - name: Create Execution matrix - uses: fabiocaccamo/create-matrix-action@v2 - id: create_matrix - with: - matrix: | - network {Opal}, runtime {opal}, features {opal-runtime}, mainnet_branch {${{ env.OPAL_MAINNET_TAG }}}, fork_from_address {'wss://eu-ws-opal.unique.network:443'} - network {Quartz}, runtime {quartz}, features {quartz-runtime}, mainnet_branch {${{ env.QUARTZ_MAINNET_TAG }}}, fork_from_address {'wss://eu-ws-quartz.unique.network:443'} - network {Unique}, runtime {unique}, features {unique-runtime}, mainnet_branch {${{ env.UNIQUE_MAINNET_TAG }}}, fork_from_address {'wss://eu-ws.unique.network:443'} - - - fork-update-withdata: - needs: prepare-execution-marix-fork # The type of runner that the job will run on runs-on: self-hosted-ci @@ -64,7 +32,19 @@ strategy: matrix: - include: ${{fromJson(needs.prepare-execution-marix-fork.outputs.matrix)}} + include: + - network: Opal + features: opal-runtime + runtime: opal + fork_from_address: wss://eu-ws-opal.unique.network:443 + - network: Quartz + features: quartz-runtime + runtime: quartz + fork_from_address: wss://eu-ws-quartz.unique.network:443 + - network: Unique + features: unique-runtime + runtime: unique + fork_from_address: wss://eu-ws.unique.network:443 steps: - name: Skip if pull request is in Draft @@ -106,8 +86,6 @@ RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} POLKADOT_BUILD_BRANCH=${{ env.POLKADOT_BUILD_BRANCH }} POLKADOT_MAINNET_BRANCH=${{ env.POLKADOT_MAINNET_BRANCH }} - MAINNET_TAG=${{ matrix.mainnet_tag }} - MAINNET_BRANCH=${{ matrix.mainnet_branch }} FEATURE=${{ matrix.features }} RUNTIME=${{ matrix.runtime }} BRANCH=${{ github.head_ref }} --- a/.github/workflows/try-runtime.yml +++ b/.github/workflows/try-runtime.yml @@ -91,7 +91,7 @@ - name: Build the stack - run: docker-compose -f ".docker/docker-compose-try-runtime.yaml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300 + run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" up -d --build --force-recreate --timeout 300 - name: Collect Docker Logs @@ -114,4 +114,4 @@ - name: Stop running containers if: always() # run this step always - run: docker-compose -f ".docker/forking/docker-compose-try-runtime.yaml" -f ".docker/forking/docker-compose.try-runtime.${{ matrix.network }}.yml" down + run: docker-compose -f ".docker/docker-compose-try-runtime.yml" -f ".docker/docker-compose.try-runtime.${{ matrix.network }}.yml" down --- a/Cargo.lock +++ b/Cargo.lock @@ -5309,6 +5309,7 @@ "pallet-balances", "pallet-base-fee", "pallet-common", + "pallet-configuration", "pallet-ethereum", "pallet-evm", "pallet-evm-coder-substrate", @@ -5744,6 +5745,22 @@ ] [[package]] +name = "pallet-configuration" +version = "0.1.0" +dependencies = [ + "fp-evm", + "frame-support", + "frame-system", + "parity-scale-codec 3.1.5", + "scale-info", + "smallvec", + "sp-arithmetic", + "sp-core", + "sp-runtime", + "sp-std", +] + +[[package]] name = "pallet-democracy" version = "4.0.0-dev" source = "git+https://github.com/uniquenetwork/substrate?branch=polkadot-v0.9.24-hack-substitute#1fa76b0665d32b1e28c36da67e54da1816db3fa2" @@ -8625,6 +8642,7 @@ "pallet-balances", "pallet-base-fee", "pallet-common", + "pallet-configuration", "pallet-ethereum", "pallet-evm", "pallet-evm-coder-substrate", @@ -12630,6 +12648,7 @@ "pallet-balances", "pallet-base-fee", "pallet-common", + "pallet-configuration", "pallet-ethereum", "pallet-evm", "pallet-evm-coder-substrate", --- /dev/null +++ b/pallets/configuration/Cargo.toml @@ -0,0 +1,33 @@ +[package] +name = "pallet-configuration" +version = "0.1.0" +edition = "2021" + +[dependencies] +parity-scale-codec = { version = "3.1.5", features = [ + "derive", +], default-features = false } +scale-info = { version = "2.0.1", default-features = false, features = [ + "derive", +] } +frame-support = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" } +frame-system = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" } +sp-runtime = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" } +sp-std = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" } +sp-core = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" } +sp-arithmetic = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.24" } +fp-evm = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.24" } +smallvec = "1.6.1" + +[features] +default = ["std"] +std = [ + "parity-scale-codec/std", + "frame-support/std", + "frame-system/std", + "sp-runtime/std", + "sp-std/std", + "sp-core/std", + "sp-arithmetic/std", + "fp-evm/std", +] --- /dev/null +++ b/pallets/configuration/src/lib.rs @@ -0,0 +1,124 @@ +// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +#![cfg_attr(not(feature = "std"), no_std)] + +use core::marker::PhantomData; + +use frame_support::{ + pallet, + weights::{WeightToFeePolynomial, WeightToFeeCoefficients, WeightToFeeCoefficient}, + traits::Get, +}; +use sp_arithmetic::traits::{BaseArithmetic, Unsigned}; +use smallvec::smallvec; + +pub use pallet::*; +use sp_core::U256; +use sp_runtime::Perbill; + +#[pallet] +mod pallet { + use super::*; + use frame_support::{ + traits::Get, + pallet_prelude::{StorageValue, ValueQuery, DispatchResult}, + }; + use frame_system::{pallet_prelude::OriginFor, ensure_root}; + + #[pallet::config] + pub trait Config: frame_system::Config { + #[pallet::constant] + type DefaultWeightToFeeCoefficient: Get; + #[pallet::constant] + type DefaultMinGasPrice: Get; + } + + #[pallet::storage] + pub type WeightToFeeCoefficientOverride = StorageValue< + Value = u32, + QueryKind = ValueQuery, + OnEmpty = T::DefaultWeightToFeeCoefficient, + >; + + #[pallet::storage] + pub type MinGasPriceOverride = + StorageValue; + + #[pallet::call] + impl Pallet { + #[pallet::weight(T::DbWeight::get().writes(1))] + pub fn set_weight_to_fee_coefficient_override( + origin: OriginFor, + coeff: Option, + ) -> DispatchResult { + let _sender = ensure_root(origin)?; + if let Some(coeff) = coeff { + >::set(coeff); + } else { + >::kill(); + } + Ok(()) + } + + #[pallet::weight(T::DbWeight::get().writes(1))] + pub fn set_min_gas_price_override( + origin: OriginFor, + coeff: Option, + ) -> DispatchResult { + let _sender = ensure_root(origin)?; + if let Some(coeff) = coeff { + >::set(coeff); + } else { + >::kill(); + } + Ok(()) + } + } + + #[pallet::pallet] + #[pallet::generate_store(pub(super) trait Store)] + pub struct Pallet(_); +} + +pub struct WeightToFee(PhantomData<(T, B)>); + +impl WeightToFeePolynomial for WeightToFee +where + T: Config, + B: BaseArithmetic + From + Copy + Unsigned, +{ + type Balance = B; + + fn polynomial() -> WeightToFeeCoefficients { + smallvec!(WeightToFeeCoefficient { + coeff_integer: >::get().into(), + coeff_frac: Perbill::zero(), + negative: false, + degree: 1, + }) + } +} + +pub struct FeeCalculator(PhantomData); +impl fp_evm::FeeCalculator for FeeCalculator { + fn min_gas_price() -> (U256, u64) { + ( + >::get().into(), + T::DbWeight::get().reads(1), + ) + } +} --- a/pallets/refungible/src/benchmarking.rs +++ b/pallets/refungible/src/benchmarking.rs @@ -35,8 +35,8 @@ fn create_max_item_data( users: impl IntoIterator, -) -> CreateRefungibleExData { - CreateRefungibleExData { +) -> CreateItemData { + CreateItemData { users: users .into_iter() .collect::>() @@ -51,7 +51,7 @@ sender: &T::CrossAccountId, users: impl IntoIterator, ) -> Result { - let data: CreateRefungibleExData = create_max_item_data(users); + let data: CreateItemData = create_max_item_data(users); >::create_item(&collection, sender, data, &Unlimited)?; Ok(TokenId(>::get(&collection.id))) } --- a/primitives/common/src/constants.rs +++ b/primitives/common/src/constants.rs @@ -36,10 +36,10 @@ pub const UNIQUE: Balance = 100 * CENTIUNIQUE; // Targeting 0.1 UNQ per transfer -pub const WEIGHT_TO_FEE_COEFF: u32 = 207_890_902; +pub const WEIGHT_TO_FEE_COEFF: u32 = /**/207_267_232/**/; // Targeting 0.15 UNQ per transfer via ETH -pub const MIN_GAS_PRICE: u64 = 1_019_493_469_850; +pub const MIN_GAS_PRICE: u64 = /**/1_019_488_372_383/**/; /// We assume that ~10% of the block weight is consumed by `on_initalize` handlers. /// This is used to limit the maximal weight of a single extrinsic. --- a/runtime/common/config/ethereum.rs +++ b/runtime/common/config/ethereum.rs @@ -50,13 +50,6 @@ } } -pub struct FixedFee; -impl pallet_evm::FeeCalculator for FixedFee { - fn min_gas_price() -> (U256, u64) { - (MIN_GAS_PRICE.into(), 0) - } -} - pub struct EthereumFindAuthor(core::marker::PhantomData); impl> FindAuthor for EthereumFindAuthor { fn find_author<'a, I>(digests: I) -> Option @@ -73,7 +66,7 @@ impl pallet_evm::Config for Runtime { type BlockGasLimit = BlockGasLimit; - type FeeCalculator = FixedFee; + type FeeCalculator = pallet_configuration::FeeCalculator; type GasWeightMapping = FixedGasWeightMapping; type BlockHashMapping = pallet_ethereum::EthereumBlockHashMapping; type CallOrigin = EnsureAddressTruncated; --- a/runtime/common/config/pallets/mod.rs +++ b/runtime/common/config/pallets/mod.rs @@ -25,6 +25,7 @@ }, Runtime, Event, Call, Balances, }; +use frame_support::traits::{ConstU32, ConstU64}; use up_common::{ types::{AccountId, Balance, BlockNumber}, constants::*, @@ -91,3 +92,8 @@ type CommonWeightInfo = CommonWeights; type RefungibleExtensionsWeightInfo = CommonWeights; } + +impl pallet_configuration::Config for Runtime { + type DefaultWeightToFeeCoefficient = ConstU32<{ up_common::constants::WEIGHT_TO_FEE_COEFF }>; + type DefaultMinGasPrice = ConstU64<{ up_common::constants::MIN_GAS_PRICE }>; +} --- a/runtime/common/config/substrate.rs +++ b/runtime/common/config/substrate.rs @@ -18,8 +18,7 @@ traits::{Everything, ConstU32}, weights::{ constants::{BlockExecutionWeight, ExtrinsicBaseWeight, RocksDbWeight}, - DispatchClass, WeightToFeePolynomial, WeightToFeeCoefficients, ConstantMultiplier, - WeightToFeeCoefficient, + DispatchClass, ConstantMultiplier, }, parameter_types, PalletId, }; @@ -32,8 +31,6 @@ limits::{BlockLength, BlockWeights}, EnsureRoot, }; -use sp_arithmetic::traits::{BaseArithmetic, Unsigned}; -use smallvec::smallvec; use crate::{ runtime_common::DealWithFees, Runtime, Event, Call, Origin, PalletInfo, System, Balances, Treasury, SS58Prefix, Version, @@ -154,32 +151,13 @@ /// This value increases the priority of `Operational` transactions by adding /// a "virtual tip" that's equal to the `OperationalFeeMultiplier * final_fee`. pub const OperationalFeeMultiplier: u8 = 5; -} - -/// Linear implementor of `WeightToFeePolynomial` -pub struct LinearFee(sp_std::marker::PhantomData); - -impl WeightToFeePolynomial for LinearFee -where - T: BaseArithmetic + From + Copy + Unsigned, -{ - type Balance = T; - - fn polynomial() -> WeightToFeeCoefficients { - smallvec!(WeightToFeeCoefficient { - coeff_integer: WEIGHT_TO_FEE_COEFF.into(), - coeff_frac: Perbill::zero(), - negative: false, - degree: 1, - }) - } } impl pallet_transaction_payment::Config for Runtime { type OnChargeTransaction = pallet_transaction_payment::CurrencyAdapter; type LengthToFee = ConstantMultiplier; type OperationalFeeMultiplier = OperationalFeeMultiplier; - type WeightToFee = LinearFee; + type WeightToFee = pallet_configuration::WeightToFee; type FeeMultiplierUpdate = (); } --- a/runtime/common/config/xcm.rs +++ b/runtime/common/config/xcm.rs @@ -44,8 +44,7 @@ use xcm_executor::{Config, XcmExecutor, Assets}; use sp_std::marker::PhantomData; use crate::{ - runtime_common::config::substrate::LinearFee, Runtime, Call, Event, Origin, Balances, - ParachainInfo, ParachainSystem, PolkadotXcm, XcmpQueue, + Runtime, Call, Event, Origin, Balances, ParachainInfo, ParachainSystem, PolkadotXcm, XcmpQueue, }; use up_common::{ types::{AccountId, Balance}, @@ -234,8 +233,11 @@ } } -pub struct XcmConfig; -impl Config for XcmConfig { +pub struct XcmConfig(PhantomData); +impl Config for XcmConfig +where + T: pallet_configuration::Config, +{ type Call = Call; type XcmSender = XcmRouter; // How to withdraw and deposit an asset. @@ -246,8 +248,13 @@ type LocationInverter = LocationInverter; type Barrier = Barrier; type Weigher = FixedWeightBounds; - type Trader = - UsingOnlySelfCurrencyComponents, RelayLocation, AccountId, Balances, ()>; + type Trader = UsingOnlySelfCurrencyComponents< + pallet_configuration::WeightToFee, + RelayLocation, + AccountId, + Balances, + (), + >; type ResponseHandler = (); // Don't handle responses for now. type SubscriptionService = PolkadotXcm; @@ -261,7 +268,7 @@ type XcmRouter = XcmRouter; type ExecuteXcmOrigin = EnsureXcmOrigin; type XcmExecuteFilter = Everything; - type XcmExecutor = XcmExecutor; + type XcmExecutor = XcmExecutor>; type XcmTeleportFilter = Everything; type XcmReserveTransferFilter = Everything; type Weigher = FixedWeightBounds; @@ -274,13 +281,13 @@ impl cumulus_pallet_xcm::Config for Runtime { type Event = Event; - type XcmExecutor = XcmExecutor; + type XcmExecutor = XcmExecutor>; } impl cumulus_pallet_xcmp_queue::Config for Runtime { type WeightInfo = (); type Event = Event; - type XcmExecutor = XcmExecutor; + type XcmExecutor = XcmExecutor>; type ChannelInfo = ParachainSystem; type VersionWrapper = (); type ExecuteOverweightOrigin = frame_system::EnsureRoot; @@ -290,6 +297,6 @@ impl cumulus_pallet_dmp_queue::Config for Runtime { type Event = Event; - type XcmExecutor = XcmExecutor; + type XcmExecutor = XcmExecutor>; type ExecuteOverweightOrigin = frame_system::EnsureRoot; } --- a/runtime/common/construct_runtime/mod.rs +++ b/runtime/common/construct_runtime/mod.rs @@ -57,7 +57,7 @@ #[runtimes(opal)] Scheduler: pallet_unique_scheduler::{Pallet, Call, Storage, Event} = 62, - // free = 63 + Configuration: pallet_configuration::{Pallet, Call, Storage} = 63, Charging: pallet_charge_transaction::{Pallet, Call, Storage } = 64, // ContractHelpers: pallet_contract_helpers::{Pallet, Call, Storage} = 65, --- a/runtime/common/runtime_apis.rs +++ b/runtime/common/runtime_apis.rs @@ -639,14 +639,18 @@ list_benchmark!(list, extra, pallet_structure, Structure); list_benchmark!(list, extra, pallet_inflation, Inflation); list_benchmark!(list, extra, pallet_fungible, Fungible); + list_benchmark!(list, extra, pallet_nonfungible, Nonfungible); + + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] list_benchmark!(list, extra, pallet_refungible, Refungible); - list_benchmark!(list, extra, pallet_nonfungible, Nonfungible); + + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] list_benchmark!(list, extra, pallet_unique_scheduler, Scheduler); - #[cfg(not(feature = "unique-runtime"))] + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] list_benchmark!(list, extra, pallet_proxy_rmrk_core, RmrkCore); - #[cfg(not(feature = "unique-runtime"))] + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] list_benchmark!(list, extra, pallet_proxy_rmrk_equip, RmrkEquip); // list_benchmark!(list, extra, pallet_evm_coder_substrate, EvmCoderSubstrate); @@ -690,14 +694,18 @@ add_benchmark!(params, batches, pallet_structure, Structure); add_benchmark!(params, batches, pallet_inflation, Inflation); add_benchmark!(params, batches, pallet_fungible, Fungible); + add_benchmark!(params, batches, pallet_nonfungible, Nonfungible); + + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] add_benchmark!(params, batches, pallet_refungible, Refungible); - add_benchmark!(params, batches, pallet_nonfungible, Nonfungible); + + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] add_benchmark!(params, batches, pallet_unique_scheduler, Scheduler); - #[cfg(not(feature = "unique-runtime"))] + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] add_benchmark!(params, batches, pallet_proxy_rmrk_core, RmrkCore); - #[cfg(not(feature = "unique-runtime"))] + #[cfg(not(any(feature = "unique-runtime", feature = "quartz-runtime")))] add_benchmark!(params, batches, pallet_proxy_rmrk_equip, RmrkEquip); // add_benchmark!(params, batches, pallet_evm_coder_substrate, EvmCoderSubstrate); --- a/runtime/opal/Cargo.toml +++ b/runtime/opal/Cargo.toml @@ -87,6 +87,7 @@ 'parachain-info/std', 'serde', 'pallet-inflation/std', + 'pallet-configuration/std', 'pallet-common/std', 'pallet-structure/std', 'pallet-fungible/std', @@ -414,6 +415,7 @@ fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.24" } pallet-inflation = { path = '../../pallets/inflation', default-features = false } up-data-structs = { path = '../../primitives/data-structs', default-features = false } +pallet-configuration = { default-features = false, path = "../../pallets/configuration" } pallet-common = { default-features = false, path = "../../pallets/common" } pallet-structure = { default-features = false, path = "../../pallets/structure" } pallet-fungible = { default-features = false, path = "../../pallets/fungible" } --- a/runtime/quartz/Cargo.toml +++ b/runtime/quartz/Cargo.toml @@ -87,6 +87,7 @@ 'parachain-info/std', 'serde', 'pallet-inflation/std', + 'pallet-configuration/std', 'pallet-common/std', 'pallet-structure/std', 'pallet-fungible/std', @@ -418,6 +419,7 @@ fp-evm-mapping = { default-features = false, git = "https://github.com/uniquenetwork/frontier", branch = "unique-polkadot-v0.9.24" } pallet-inflation = { path = '../../pallets/inflation', default-features = false } up-data-structs = { path = '../../primitives/data-structs', default-features = false } +pallet-configuration = { default-features = false, path = "../../pallets/configuration" } pallet-common = { default-features = false, path = "../../pallets/common" } pallet-structure = { default-features = false, path = "../../pallets/structure" } pallet-fungible = { default-features = false, path = "../../pallets/fungible" } --- a/runtime/unique/Cargo.toml +++ b/runtime/unique/Cargo.toml @@ -88,6 +88,7 @@ 'parachain-info/std', 'serde', 'pallet-inflation/std', + 'pallet-configuration/std', 'pallet-common/std', 'pallet-structure/std', 'pallet-fungible/std', @@ -411,6 +412,7 @@ rmrk-rpc = { path = "../../primitives/rmrk-rpc", default-features = false } pallet-inflation = { path = '../../pallets/inflation', default-features = false } up-data-structs = { path = '../../primitives/data-structs', default-features = false } +pallet-configuration = { default-features = false, path = "../../pallets/configuration" } pallet-common = { default-features = false, path = "../../pallets/common" } pallet-structure = { default-features = false, path = "../../pallets/structure" } pallet-fungible = { default-features = false, path = "../../pallets/fungible" } --- a/tests/.eslintrc.json +++ b/tests/.eslintrc.json @@ -55,7 +55,13 @@ "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-non-null-assertion": "off", "@typescript-eslint/no-explicit-any": "off", - "@typescript-eslint/no-unused-vars": "warn", + "@typescript-eslint/no-unused-vars": [ + "warn", + { + "varsIgnorePattern": "_.+", + "argsIgnorePattern": "_.+" + } + ], "no-async-promise-executor": "warn", "@typescript-eslint/no-empty-interface": "off", "prefer-const": [ --- /dev/null +++ b/tests/src/calibrate.ts @@ -0,0 +1,182 @@ +import {ApiPromise} from '@polkadot/api'; +import {IKeyringPair} from '@polkadot/types/types'; +import Web3 from 'web3'; +import {collectionIdToAddress, createEthAccount, createEthAccountWithBalance, GAS_ARGS, recordEthFee, usingWeb3} from './eth/util/helpers'; +import usingApi, {executeTransaction} from './substrate/substrate-api'; +import {createCollectionExpectSuccess, createItemExpectSuccess, transferExpectSuccess, UNIQUE, waitNewBlocks} from './util/helpers'; +import nonFungibleAbi from './eth/nonFungibleAbi.json'; + +function linearRegression(points: { x: bigint, y: bigint }[]) { + let sumxy = 0n; + let sumx = 0n; + let sumy = 0n; + let sumx2 = 0n; + const n = points.length; + for (let i = 0; i < n; i++) { + const p = points[i]; + sumxy += p.x * p.y; + sumx += p.x; + sumy += p.y; + sumx2 += p.x * p.x; + } + + const nb = BigInt(n); + + const a = (nb * sumxy - sumx * sumy) / (nb * sumx2 - sumx * sumx); + const b = (sumy - a * sumx) / nb; + + return {a, b}; +} + +// JS has no builtin function to calculate sqrt of bigint +// https://stackoverflow.com/a/53684036/6190169 +function sqrt(value: bigint) { + if (value < 0n) { + throw 'square root of negative numbers is not supported'; + } + + if (value < 2n) { + return value; + } + + function newtonIteration(n: bigint, x0: bigint): bigint { + const x1 = ((n / x0) + x0) >> 1n; + if (x0 === x1 || x0 === (x1 - 1n)) { + return x0; + } + return newtonIteration(n, x1); + } + + return newtonIteration(value, 1n); +} + +function _error(points: { x: bigint, y: bigint }[], hypothesis: (a: bigint) => bigint) { + return sqrt(points.map(p => { + const v = hypothesis(p.x); + const vv = p.y; + + return (v - vv) ** 2n; + }).reduce((a, b) => a + b, 0n) / BigInt(points.length)); +} + +async function calibrateWeightToFee(api: ApiPromise, privateKey: (account: string) => IKeyringPair) { + const alice = privateKey('//Alice'); + const bob = privateKey('//Bob'); + const dataPoints = []; + + { + const collectionId = await createCollectionExpectSuccess(); + const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT'); + const aliceBalanceBefore = (await api.query.system.account(alice.address)).data.free.toBigInt(); + await transferExpectSuccess(collectionId, tokenId, alice, bob, 1, 'NFT'); + const aliceBalanceAfter = (await api.query.system.account(alice.address)).data.free.toBigInt(); + + console.log(`Original price: ${Number(aliceBalanceBefore - aliceBalanceAfter) / Number(UNIQUE)} UNQ`); + } + + const defaultCoeff = (api.consts.configuration.defaultWeightToFeeCoefficient as any).toBigInt(); + for (let i = -5; i < 5; i++) { + await executeTransaction(api, alice, api.tx.sudo.sudo(api.tx.configuration.setWeightToFeeCoefficientOverride(defaultCoeff + defaultCoeff / 1000n * BigInt(i)))); + + const coefficient = (await api.query.configuration.weightToFeeCoefficientOverride() as any).toBigInt(); + const collectionId = await createCollectionExpectSuccess(); + const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT'); + + const aliceBalanceBefore = (await api.query.system.account(alice.address)).data.free.toBigInt(); + await transferExpectSuccess(collectionId, tokenId, alice, bob, 1, 'NFT'); + const aliceBalanceAfter = (await api.query.system.account(alice.address)).data.free.toBigInt(); + + const transferPrice = aliceBalanceBefore - aliceBalanceAfter; + + dataPoints.push({x: transferPrice, y: coefficient}); + } + const {a, b} = linearRegression(dataPoints); + + // console.log(`Error: ${error(dataPoints, x => a*x+b)}`); + + const perfectValue = a * UNIQUE / 10n + b; + await executeTransaction(api, alice, api.tx.sudo.sudo(api.tx.configuration.setWeightToFeeCoefficientOverride(perfectValue.toString()))); + + { + const collectionId = await createCollectionExpectSuccess(); + const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT'); + const aliceBalanceBefore = (await api.query.system.account(alice.address)).data.free.toBigInt(); + await transferExpectSuccess(collectionId, tokenId, alice, bob, 1, 'NFT'); + const aliceBalanceAfter = (await api.query.system.account(alice.address)).data.free.toBigInt(); + + console.log(`Calibrated price: ${Number(aliceBalanceBefore - aliceBalanceAfter) / Number(UNIQUE)} UNQ`); + } +} + +async function calibrateMinGasPrice(api: ApiPromise, web3: Web3, privateKey: (account: string) => IKeyringPair) { + const alice = privateKey('//Alice'); + const caller = await createEthAccountWithBalance(api, web3, privateKey); + const receiver = createEthAccount(web3); + const dataPoints = []; + + { + const collectionId = await createCollectionExpectSuccess(); + const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', {Ethereum: caller}); + + const address = collectionIdToAddress(collectionId); + const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: caller, ...GAS_ARGS}); + + const cost = await recordEthFee(api, caller, () => contract.methods.transfer(receiver, tokenId).send(caller)); + + console.log(`Original price: ${Number(cost) / Number(UNIQUE)} UNQ`); + } + + const defaultCoeff = (api.consts.configuration.defaultMinGasPrice as any).toBigInt(); + for (let i = -8; i < 8; i++) { + const gasPrice = defaultCoeff + defaultCoeff / 100000n * BigInt(i); + const gasPriceStr = '0x' + gasPrice.toString(16); + await executeTransaction(api, alice, api.tx.sudo.sudo(api.tx.configuration.setMinGasPriceOverride(gasPrice))); + + const coefficient = (await api.query.configuration.minGasPriceOverride() as any).toBigInt(); + const collectionId = await createCollectionExpectSuccess(); + const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', {Ethereum: caller}); + + const address = collectionIdToAddress(collectionId); + const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: caller, gasPrice: gasPriceStr, ...GAS_ARGS}); + + const transferPrice = await recordEthFee(api, caller, () => contract.methods.transfer(receiver, tokenId).send(caller)); + + dataPoints.push({x: transferPrice, y: coefficient}); + } + + const {a, b} = linearRegression(dataPoints); + + // console.log(`Error: ${error(dataPoints, x => a*x+b)}`); + + // * 0.15 = * 10000 / 66666 + const perfectValue = a * UNIQUE * 1000000n / 6666666n + b; + await executeTransaction(api, alice, api.tx.sudo.sudo(api.tx.configuration.setMinGasPriceOverride(perfectValue.toString()))); + + { + const collectionId = await createCollectionExpectSuccess(); + const tokenId = await createItemExpectSuccess(alice, collectionId, 'NFT', {Ethereum: caller}); + + const address = collectionIdToAddress(collectionId); + const contract = new web3.eth.Contract(nonFungibleAbi as any, address, {from: caller, ...GAS_ARGS}); + + const cost = await recordEthFee(api, caller, () => contract.methods.transfer(receiver, tokenId).send(caller)); + + console.log(`Calibrated price: ${Number(cost) / Number(UNIQUE)} UNQ`); + } +} + +(async () => { + await usingApi(async (api, privateKey) => { + // Second run slightly reduces error sometimes, as price line is not actually straight, this is a curve + + await calibrateWeightToFee(api, privateKey); + await calibrateWeightToFee(api, privateKey); + + await usingWeb3(async web3 => { + await calibrateMinGasPrice(api, web3, privateKey); + await calibrateMinGasPrice(api, web3, privateKey); + }); + + await api.disconnect(); + }); +})(); --- /dev/null +++ b/tests/src/calibrateApply.ts @@ -0,0 +1,38 @@ +import {readFile, writeFile} from 'fs/promises'; +import path from 'path'; +import usingApi from './substrate/substrate-api'; + +const formatNumber = (num: string): string => num.split('').reverse().join('').replace(/([0-9]{3})/g, '$1_').split('').reverse().join('').replace(/^_/, ''); + +(async () => { + let weightToFeeCoefficientOverride: string; + let minGasPriceOverride: string; + await usingApi(async (api, _privateKey) => { + weightToFeeCoefficientOverride = (await api.query.configuration.weightToFeeCoefficientOverride() as any).toBigInt().toString(); + minGasPriceOverride = (await api.query.configuration.minGasPriceOverride() as any).toBigInt().toString(); + }); + const constantsFile = path.resolve(__dirname, '../../primitives/common/src/constants.rs'); + let constants = (await readFile(constantsFile)).toString(); + + let weight2feeFound = false; + constants = constants.replace(/(\/\*\*\/)[0-9_]+(\/\*<\/weight2fee>\*\/)/, (_f, p, s) => { + weight2feeFound = true; + return p+formatNumber(weightToFeeCoefficientOverride)+s; + }); + if (!weight2feeFound) { + throw new Error('failed to find weight2fee marker in source code'); + } + + let minGasPriceFound = false; + constants = constants.replace(/(\/\*\*\/)[0-9_]+(\/\*<\/mingasprice>\*\/)/, (_f, p, s) => { + minGasPriceFound = true; + return p+formatNumber(minGasPriceOverride)+s; + }); + if (!minGasPriceFound) { + throw new Error('failed to find mingasprice marker in source code'); + } + + await writeFile(constantsFile, constants); +})().catch(e => { + console.log(e.stack); +}); --- a/tests/src/eth/base.test.ts +++ b/tests/src/eth/base.test.ts @@ -15,14 +15,14 @@ // along with Unique Network. If not, see . import { - collectionIdToAddress, - createEthAccount, - createEthAccountWithBalance, - deployFlipper, - ethBalanceViaSub, - GAS_ARGS, - itWeb3, - recordEthFee, + collectionIdToAddress, + createEthAccount, + createEthAccountWithBalance, + deployFlipper, + ethBalanceViaSub, + GAS_ARGS, + itWeb3, + recordEthFee, usingWeb3, } from './util/helpers'; import {expect} from 'chai'; @@ -66,7 +66,7 @@ const fee = Number(cost) / Number(UNIQUE); const expectedFee = 0.15; - const tolerance = 0.00002; + const tolerance = 0.001; expect(Math.abs(fee - expectedFee)).to.be.lessThan(tolerance); }); --- a/tests/src/interfaces/augment-api-consts.ts +++ b/tests/src/interfaces/augment-api-consts.ts @@ -42,6 +42,14 @@ **/ [key: string]: Codec; }; + configuration: { + defaultMinGasPrice: u64 & AugmentedConst; + defaultWeightToFeeCoefficient: u32 & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; inflation: { /** * Number of blocks that pass between treasury balance updates due to inflation --- a/tests/src/interfaces/augment-api-errors.ts +++ b/tests/src/interfaces/augment-api-errors.ts @@ -173,7 +173,7 @@ **/ TransferNotAllowed: AugmentedError; /** - * Target collection doesn't support this operation + * The operation is not supported **/ UnsupportedOperation: AugmentedError; /** --- a/tests/src/interfaces/augment-api-query.ts +++ b/tests/src/interfaces/augment-api-query.ts @@ -110,6 +110,14 @@ **/ [key: string]: QueryableStorageEntry; }; + configuration: { + minGasPriceOverride: AugmentedQuery Observable, []> & QueryableStorageEntry; + weightToFeeCoefficientOverride: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; dmpQueue: { /** * The configuration. --- a/tests/src/interfaces/augment-api-tx.ts +++ b/tests/src/interfaces/augment-api-tx.ts @@ -104,6 +104,14 @@ **/ [key: string]: SubmittableExtrinsicFunction; }; + configuration: { + setMinGasPriceOverride: AugmentedSubmittable<(coeff: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Option]>; + setWeightToFeeCoefficientOverride: AugmentedSubmittable<(coeff: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Option]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; cumulusXcm: { /** * Generic tx --- a/tests/src/interfaces/augment-types.ts +++ b/tests/src/interfaces/augment-types.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default'; +import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from './default'; import type { Data, StorageKey } from '@polkadot/types'; import type { BitVec, Bool, Bytes, I128, I16, I256, I32, I64, I8, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; @@ -763,6 +763,7 @@ PalletCallMetadataV14: PalletCallMetadataV14; PalletCommonError: PalletCommonError; PalletCommonEvent: PalletCommonEvent; + PalletConfigurationCall: PalletConfigurationCall; PalletConstantMetadataLatest: PalletConstantMetadataLatest; PalletConstantMetadataV14: PalletConstantMetadataV14; PalletErrorMetadataLatest: PalletErrorMetadataLatest; --- a/tests/src/interfaces/default/types.ts +++ b/tests/src/interfaces/default/types.ts @@ -994,6 +994,19 @@ readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet'; } +/** @name PalletConfigurationCall */ +export interface PalletConfigurationCall extends Enum { + readonly isSetWeightToFeeCoefficientOverride: boolean; + readonly asSetWeightToFeeCoefficientOverride: { + readonly coeff: Option; + } & Struct; + readonly isSetMinGasPriceOverride: boolean; + readonly asSetMinGasPriceOverride: { + readonly coeff: Option; + } & Struct; + readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride'; +} + /** @name PalletEthereumCall */ export interface PalletEthereumCall extends Enum { readonly isTransact: boolean; --- a/tests/src/interfaces/lookup.ts +++ b/tests/src/interfaces/lookup.ts @@ -1571,15 +1571,28 @@ } }, /** - * Lookup207: pallet_template_transaction_payment::Call + * Lookup207: pallet_configuration::pallet::Call **/ + PalletConfigurationCall: { + _enum: { + set_weight_to_fee_coefficient_override: { + coeff: 'Option', + }, + set_min_gas_price_override: { + coeff: 'Option' + } + } + }, + /** + * Lookup209: pallet_template_transaction_payment::Call + **/ PalletTemplateTransactionPaymentCall: 'Null', /** - * Lookup208: pallet_structure::pallet::Call + * Lookup210: pallet_structure::pallet::Call **/ PalletStructureCall: 'Null', /** - * Lookup209: pallet_rmrk_core::pallet::Call + * Lookup211: pallet_rmrk_core::pallet::Call **/ PalletRmrkCoreCall: { _enum: { @@ -1670,7 +1683,7 @@ } }, /** - * Lookup215: rmrk_traits::resource::ResourceTypes, frame_support::storage::bounded_vec::BoundedVec> + * Lookup217: rmrk_traits::resource::ResourceTypes, frame_support::storage::bounded_vec::BoundedVec> **/ RmrkTraitsResourceResourceTypes: { _enum: { @@ -1680,7 +1693,7 @@ } }, /** - * Lookup217: rmrk_traits::resource::BasicResource> + * Lookup219: rmrk_traits::resource::BasicResource> **/ RmrkTraitsResourceBasicResource: { src: 'Option', @@ -1689,7 +1702,7 @@ thumb: 'Option' }, /** - * Lookup219: rmrk_traits::resource::ComposableResource, frame_support::storage::bounded_vec::BoundedVec> + * Lookup221: rmrk_traits::resource::ComposableResource, frame_support::storage::bounded_vec::BoundedVec> **/ RmrkTraitsResourceComposableResource: { parts: 'Vec', @@ -1700,7 +1713,7 @@ thumb: 'Option' }, /** - * Lookup220: rmrk_traits::resource::SlotResource> + * Lookup222: rmrk_traits::resource::SlotResource> **/ RmrkTraitsResourceSlotResource: { base: 'u32', @@ -1711,7 +1724,7 @@ thumb: 'Option' }, /** - * Lookup222: rmrk_traits::nft::AccountIdOrCollectionNftTuple + * Lookup224: rmrk_traits::nft::AccountIdOrCollectionNftTuple **/ RmrkTraitsNftAccountIdOrCollectionNftTuple: { _enum: { @@ -1720,7 +1733,7 @@ } }, /** - * Lookup226: pallet_rmrk_equip::pallet::Call + * Lookup228: pallet_rmrk_equip::pallet::Call **/ PalletRmrkEquipCall: { _enum: { @@ -1741,7 +1754,7 @@ } }, /** - * Lookup229: rmrk_traits::part::PartType, frame_support::storage::bounded_vec::BoundedVec> + * Lookup231: rmrk_traits::part::PartType, frame_support::storage::bounded_vec::BoundedVec> **/ RmrkTraitsPartPartType: { _enum: { @@ -1750,7 +1763,7 @@ } }, /** - * Lookup231: rmrk_traits::part::FixedPart> + * Lookup233: rmrk_traits::part::FixedPart> **/ RmrkTraitsPartFixedPart: { id: 'u32', @@ -1758,7 +1771,7 @@ src: 'Bytes' }, /** - * Lookup232: rmrk_traits::part::SlotPart, frame_support::storage::bounded_vec::BoundedVec> + * Lookup234: rmrk_traits::part::SlotPart, frame_support::storage::bounded_vec::BoundedVec> **/ RmrkTraitsPartSlotPart: { id: 'u32', @@ -1767,7 +1780,7 @@ z: 'u32' }, /** - * Lookup233: rmrk_traits::part::EquippableList> + * Lookup235: rmrk_traits::part::EquippableList> **/ RmrkTraitsPartEquippableList: { _enum: { @@ -1777,7 +1790,7 @@ } }, /** - * Lookup235: rmrk_traits::theme::Theme, frame_support::storage::bounded_vec::BoundedVec>, S>> + * Lookup237: rmrk_traits::theme::Theme, frame_support::storage::bounded_vec::BoundedVec>, S>> **/ RmrkTraitsTheme: { name: 'Bytes', @@ -1785,14 +1798,14 @@ inherit: 'bool' }, /** - * Lookup237: rmrk_traits::theme::ThemeProperty> + * Lookup239: rmrk_traits::theme::ThemeProperty> **/ RmrkTraitsThemeThemeProperty: { key: 'Bytes', value: 'Bytes' }, /** - * Lookup239: pallet_evm::pallet::Call + * Lookup241: pallet_evm::pallet::Call **/ PalletEvmCall: { _enum: { @@ -1835,7 +1848,7 @@ } }, /** - * Lookup245: pallet_ethereum::pallet::Call + * Lookup247: pallet_ethereum::pallet::Call **/ PalletEthereumCall: { _enum: { @@ -1845,7 +1858,7 @@ } }, /** - * Lookup246: ethereum::transaction::TransactionV2 + * Lookup248: ethereum::transaction::TransactionV2 **/ EthereumTransactionTransactionV2: { _enum: { @@ -1855,7 +1868,7 @@ } }, /** - * Lookup247: ethereum::transaction::LegacyTransaction + * Lookup249: ethereum::transaction::LegacyTransaction **/ EthereumTransactionLegacyTransaction: { nonce: 'U256', @@ -1867,7 +1880,7 @@ signature: 'EthereumTransactionTransactionSignature' }, /** - * Lookup248: ethereum::transaction::TransactionAction + * Lookup250: ethereum::transaction::TransactionAction **/ EthereumTransactionTransactionAction: { _enum: { @@ -1876,7 +1889,7 @@ } }, /** - * Lookup249: ethereum::transaction::TransactionSignature + * Lookup251: ethereum::transaction::TransactionSignature **/ EthereumTransactionTransactionSignature: { v: 'u64', @@ -1884,7 +1897,7 @@ s: 'H256' }, /** - * Lookup251: ethereum::transaction::EIP2930Transaction + * Lookup253: ethereum::transaction::EIP2930Transaction **/ EthereumTransactionEip2930Transaction: { chainId: 'u64', @@ -1900,14 +1913,14 @@ s: 'H256' }, /** - * Lookup253: ethereum::transaction::AccessListItem + * Lookup255: ethereum::transaction::AccessListItem **/ EthereumTransactionAccessListItem: { address: 'H160', storageKeys: 'Vec' }, /** - * Lookup254: ethereum::transaction::EIP1559Transaction + * Lookup256: ethereum::transaction::EIP1559Transaction **/ EthereumTransactionEip1559Transaction: { chainId: 'u64', @@ -1924,7 +1937,7 @@ s: 'H256' }, /** - * Lookup255: pallet_evm_migration::pallet::Call + * Lookup257: pallet_evm_migration::pallet::Call **/ PalletEvmMigrationCall: { _enum: { @@ -1942,7 +1955,7 @@ } }, /** - * Lookup258: pallet_sudo::pallet::Event + * Lookup260: pallet_sudo::pallet::Event **/ PalletSudoEvent: { _enum: { @@ -1958,7 +1971,7 @@ } }, /** - * Lookup260: sp_runtime::DispatchError + * Lookup262: sp_runtime::DispatchError **/ SpRuntimeDispatchError: { _enum: { @@ -1975,38 +1988,38 @@ } }, /** - * Lookup261: sp_runtime::ModuleError + * Lookup263: sp_runtime::ModuleError **/ SpRuntimeModuleError: { index: 'u8', error: '[u8;4]' }, /** - * Lookup262: sp_runtime::TokenError + * Lookup264: sp_runtime::TokenError **/ SpRuntimeTokenError: { _enum: ['NoFunds', 'WouldDie', 'BelowMinimum', 'CannotCreate', 'UnknownAsset', 'Frozen', 'Unsupported'] }, /** - * Lookup263: sp_runtime::ArithmeticError + * Lookup265: sp_runtime::ArithmeticError **/ SpRuntimeArithmeticError: { _enum: ['Underflow', 'Overflow', 'DivisionByZero'] }, /** - * Lookup264: sp_runtime::TransactionalError + * Lookup266: sp_runtime::TransactionalError **/ SpRuntimeTransactionalError: { _enum: ['LimitReached', 'NoLayer'] }, /** - * Lookup265: pallet_sudo::pallet::Error + * Lookup267: pallet_sudo::pallet::Error **/ PalletSudoError: { _enum: ['RequireSudo'] }, /** - * Lookup266: frame_system::AccountInfo> + * Lookup268: frame_system::AccountInfo> **/ FrameSystemAccountInfo: { nonce: 'u32', @@ -2016,7 +2029,7 @@ data: 'PalletBalancesAccountData' }, /** - * Lookup267: frame_support::weights::PerDispatchClass + * Lookup269: frame_support::weights::PerDispatchClass **/ FrameSupportWeightsPerDispatchClassU64: { normal: 'u64', @@ -2024,13 +2037,13 @@ mandatory: 'u64' }, /** - * Lookup268: sp_runtime::generic::digest::Digest + * Lookup270: sp_runtime::generic::digest::Digest **/ SpRuntimeDigest: { logs: 'Vec' }, /** - * Lookup270: sp_runtime::generic::digest::DigestItem + * Lookup272: sp_runtime::generic::digest::DigestItem **/ SpRuntimeDigestDigestItem: { _enum: { @@ -2046,7 +2059,7 @@ } }, /** - * Lookup272: frame_system::EventRecord + * Lookup274: frame_system::EventRecord **/ FrameSystemEventRecord: { phase: 'FrameSystemPhase', @@ -2054,7 +2067,7 @@ topics: 'Vec' }, /** - * Lookup274: frame_system::pallet::Event + * Lookup276: frame_system::pallet::Event **/ FrameSystemEvent: { _enum: { @@ -2082,7 +2095,7 @@ } }, /** - * Lookup275: frame_support::weights::DispatchInfo + * Lookup277: frame_support::weights::DispatchInfo **/ FrameSupportWeightsDispatchInfo: { weight: 'u64', @@ -2090,19 +2103,19 @@ paysFee: 'FrameSupportWeightsPays' }, /** - * Lookup276: frame_support::weights::DispatchClass + * Lookup278: frame_support::weights::DispatchClass **/ FrameSupportWeightsDispatchClass: { _enum: ['Normal', 'Operational', 'Mandatory'] }, /** - * Lookup277: frame_support::weights::Pays + * Lookup279: frame_support::weights::Pays **/ FrameSupportWeightsPays: { _enum: ['Yes', 'No'] }, /** - * Lookup278: orml_vesting::module::Event + * Lookup280: orml_vesting::module::Event **/ OrmlVestingModuleEvent: { _enum: { @@ -2121,7 +2134,7 @@ } }, /** - * Lookup279: cumulus_pallet_xcmp_queue::pallet::Event + * Lookup281: cumulus_pallet_xcmp_queue::pallet::Event **/ CumulusPalletXcmpQueueEvent: { _enum: { @@ -2136,7 +2149,7 @@ } }, /** - * Lookup280: pallet_xcm::pallet::Event + * Lookup282: pallet_xcm::pallet::Event **/ PalletXcmEvent: { _enum: { @@ -2159,7 +2172,7 @@ } }, /** - * Lookup281: xcm::v2::traits::Outcome + * Lookup283: xcm::v2::traits::Outcome **/ XcmV2TraitsOutcome: { _enum: { @@ -2169,7 +2182,7 @@ } }, /** - * Lookup283: cumulus_pallet_xcm::pallet::Event + * Lookup285: cumulus_pallet_xcm::pallet::Event **/ CumulusPalletXcmEvent: { _enum: { @@ -2179,7 +2192,7 @@ } }, /** - * Lookup284: cumulus_pallet_dmp_queue::pallet::Event + * Lookup286: cumulus_pallet_dmp_queue::pallet::Event **/ CumulusPalletDmpQueueEvent: { _enum: { @@ -2210,7 +2223,7 @@ } }, /** - * Lookup285: pallet_unique::RawEvent> + * Lookup287: pallet_unique::RawEvent> **/ PalletUniqueRawEvent: { _enum: { @@ -2227,7 +2240,7 @@ } }, /** - * Lookup286: pallet_unique_scheduler::pallet::Event + * Lookup288: pallet_unique_scheduler::pallet::Event **/ PalletUniqueSchedulerEvent: { _enum: { @@ -2252,13 +2265,13 @@ } }, /** - * Lookup288: frame_support::traits::schedule::LookupError + * Lookup290: frame_support::traits::schedule::LookupError **/ FrameSupportScheduleLookupError: { _enum: ['Unknown', 'BadFormat'] }, /** - * Lookup289: pallet_common::pallet::Event + * Lookup291: pallet_common::pallet::Event **/ PalletCommonEvent: { _enum: { @@ -2276,7 +2289,7 @@ } }, /** - * Lookup290: pallet_structure::pallet::Event + * Lookup292: pallet_structure::pallet::Event **/ PalletStructureEvent: { _enum: { @@ -2284,7 +2297,7 @@ } }, /** - * Lookup291: pallet_rmrk_core::pallet::Event + * Lookup293: pallet_rmrk_core::pallet::Event **/ PalletRmrkCoreEvent: { _enum: { @@ -2361,7 +2374,7 @@ } }, /** - * Lookup292: pallet_rmrk_equip::pallet::Event + * Lookup294: pallet_rmrk_equip::pallet::Event **/ PalletRmrkEquipEvent: { _enum: { @@ -2376,7 +2389,7 @@ } }, /** - * Lookup293: pallet_evm::pallet::Event + * Lookup295: pallet_evm::pallet::Event **/ PalletEvmEvent: { _enum: { @@ -2390,7 +2403,7 @@ } }, /** - * Lookup294: ethereum::log::Log + * Lookup296: ethereum::log::Log **/ EthereumLog: { address: 'H160', @@ -2398,7 +2411,7 @@ data: 'Bytes' }, /** - * Lookup295: pallet_ethereum::pallet::Event + * Lookup297: pallet_ethereum::pallet::Event **/ PalletEthereumEvent: { _enum: { @@ -2406,7 +2419,7 @@ } }, /** - * Lookup296: evm_core::error::ExitReason + * Lookup298: evm_core::error::ExitReason **/ EvmCoreErrorExitReason: { _enum: { @@ -2417,13 +2430,13 @@ } }, /** - * Lookup297: evm_core::error::ExitSucceed + * Lookup299: evm_core::error::ExitSucceed **/ EvmCoreErrorExitSucceed: { _enum: ['Stopped', 'Returned', 'Suicided'] }, /** - * Lookup298: evm_core::error::ExitError + * Lookup300: evm_core::error::ExitError **/ EvmCoreErrorExitError: { _enum: { @@ -2445,13 +2458,13 @@ } }, /** - * Lookup301: evm_core::error::ExitRevert + * Lookup303: evm_core::error::ExitRevert **/ EvmCoreErrorExitRevert: { _enum: ['Reverted'] }, /** - * Lookup302: evm_core::error::ExitFatal + * Lookup304: evm_core::error::ExitFatal **/ EvmCoreErrorExitFatal: { _enum: { @@ -2462,7 +2475,7 @@ } }, /** - * Lookup303: frame_system::Phase + * Lookup305: frame_system::Phase **/ FrameSystemPhase: { _enum: { @@ -2472,14 +2485,14 @@ } }, /** - * Lookup305: frame_system::LastRuntimeUpgradeInfo + * Lookup307: frame_system::LastRuntimeUpgradeInfo **/ FrameSystemLastRuntimeUpgradeInfo: { specVersion: 'Compact', specName: 'Text' }, /** - * Lookup306: frame_system::limits::BlockWeights + * Lookup308: frame_system::limits::BlockWeights **/ FrameSystemLimitsBlockWeights: { baseBlock: 'u64', @@ -2487,7 +2500,7 @@ perClass: 'FrameSupportWeightsPerDispatchClassWeightsPerClass' }, /** - * Lookup307: frame_support::weights::PerDispatchClass + * Lookup309: frame_support::weights::PerDispatchClass **/ FrameSupportWeightsPerDispatchClassWeightsPerClass: { normal: 'FrameSystemLimitsWeightsPerClass', @@ -2495,7 +2508,7 @@ mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup308: frame_system::limits::WeightsPerClass + * Lookup310: frame_system::limits::WeightsPerClass **/ FrameSystemLimitsWeightsPerClass: { baseExtrinsic: 'u64', @@ -2504,13 +2517,13 @@ reserved: 'Option' }, /** - * Lookup310: frame_system::limits::BlockLength + * Lookup311: frame_system::limits::BlockLength **/ FrameSystemLimitsBlockLength: { max: 'FrameSupportWeightsPerDispatchClassU32' }, /** - * Lookup311: frame_support::weights::PerDispatchClass + * Lookup312: frame_support::weights::PerDispatchClass **/ FrameSupportWeightsPerDispatchClassU32: { normal: 'u32', @@ -2518,14 +2531,14 @@ mandatory: 'u32' }, /** - * Lookup312: frame_support::weights::RuntimeDbWeight + * Lookup313: frame_support::weights::RuntimeDbWeight **/ FrameSupportWeightsRuntimeDbWeight: { read: 'u64', write: 'u64' }, /** - * Lookup313: sp_version::RuntimeVersion + * Lookup314: sp_version::RuntimeVersion **/ SpVersionRuntimeVersion: { specName: 'Text', @@ -2538,19 +2551,19 @@ stateVersion: 'u8' }, /** - * Lookup317: frame_system::pallet::Error + * Lookup318: frame_system::pallet::Error **/ FrameSystemError: { _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup319: orml_vesting::module::Error + * Lookup320: orml_vesting::module::Error **/ OrmlVestingModuleError: { _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded'] }, /** - * Lookup321: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup322: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -2558,19 +2571,19 @@ messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup322: cumulus_pallet_xcmp_queue::InboundState + * Lookup323: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup325: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup326: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup328: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup329: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -2580,13 +2593,13 @@ lastIndex: 'u16' }, /** - * Lookup329: cumulus_pallet_xcmp_queue::OutboundState + * Lookup330: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup331: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup332: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', @@ -2597,29 +2610,29 @@ xcmpMaxIndividualWeight: 'u64' }, /** - * Lookup333: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup334: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup334: pallet_xcm::pallet::Error + * Lookup335: pallet_xcm::pallet::Error **/ PalletXcmError: { _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed'] }, /** - * Lookup335: cumulus_pallet_xcm::pallet::Error + * Lookup336: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup336: cumulus_pallet_dmp_queue::ConfigData + * Lookup337: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { maxIndividual: 'u64' }, /** - * Lookup337: cumulus_pallet_dmp_queue::PageIndexData + * Lookup338: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -2627,19 +2640,19 @@ overweightCount: 'u64' }, /** - * Lookup340: cumulus_pallet_dmp_queue::pallet::Error + * Lookup341: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup344: pallet_unique::Error + * Lookup345: pallet_unique::Error **/ PalletUniqueError: { _enum: ['CollectionDecimalPointLimitExceeded', 'ConfirmUnsetSponsorFail', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection'] }, /** - * Lookup347: pallet_unique_scheduler::ScheduledV3, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32> + * Lookup348: pallet_unique_scheduler::ScheduledV3, BlockNumber, opal_runtime::OriginCaller, sp_core::crypto::AccountId32> **/ PalletUniqueSchedulerScheduledV3: { maybeId: 'Option<[u8;16]>', @@ -2649,7 +2662,7 @@ origin: 'OpalRuntimeOriginCaller' }, /** - * Lookup348: opal_runtime::OriginCaller + * Lookup349: opal_runtime::OriginCaller **/ OpalRuntimeOriginCaller: { _enum: { @@ -2758,7 +2771,7 @@ } }, /** - * Lookup349: frame_support::dispatch::RawOrigin + * Lookup350: frame_support::dispatch::RawOrigin **/ FrameSupportDispatchRawOrigin: { _enum: { @@ -2768,7 +2781,7 @@ } }, /** - * Lookup350: pallet_xcm::pallet::Origin + * Lookup351: pallet_xcm::pallet::Origin **/ PalletXcmOrigin: { _enum: { @@ -2777,7 +2790,7 @@ } }, /** - * Lookup351: cumulus_pallet_xcm::pallet::Origin + * Lookup352: cumulus_pallet_xcm::pallet::Origin **/ CumulusPalletXcmOrigin: { _enum: { @@ -2786,7 +2799,7 @@ } }, /** - * Lookup352: pallet_ethereum::RawOrigin + * Lookup353: pallet_ethereum::RawOrigin **/ PalletEthereumRawOrigin: { _enum: { @@ -2794,17 +2807,17 @@ } }, /** - * Lookup353: sp_core::Void + * Lookup354: sp_core::Void **/ SpCoreVoid: 'Null', /** - * Lookup354: pallet_unique_scheduler::pallet::Error + * Lookup355: pallet_unique_scheduler::pallet::Error **/ PalletUniqueSchedulerError: { _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange'] }, /** - * Lookup355: up_data_structs::Collection + * Lookup356: up_data_structs::Collection **/ UpDataStructsCollection: { owner: 'AccountId32', @@ -2818,7 +2831,7 @@ externalCollection: 'bool' }, /** - * Lookup356: up_data_structs::SponsorshipState + * Lookup357: up_data_structs::SponsorshipState **/ UpDataStructsSponsorshipState: { _enum: { @@ -2828,7 +2841,7 @@ } }, /** - * Lookup357: up_data_structs::Properties + * Lookup358: up_data_structs::Properties **/ UpDataStructsProperties: { map: 'UpDataStructsPropertiesMapBoundedVec', @@ -2836,15 +2849,15 @@ spaceLimit: 'u32' }, /** - * Lookup358: up_data_structs::PropertiesMap> + * Lookup359: up_data_structs::PropertiesMap> **/ UpDataStructsPropertiesMapBoundedVec: 'BTreeMap', /** - * Lookup363: up_data_structs::PropertiesMap + * Lookup364: up_data_structs::PropertiesMap **/ UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap', /** - * Lookup370: up_data_structs::CollectionStats + * Lookup371: up_data_structs::CollectionStats **/ UpDataStructsCollectionStats: { created: 'u32', @@ -2852,18 +2865,18 @@ alive: 'u32' }, /** - * Lookup371: up_data_structs::TokenChild + * Lookup372: up_data_structs::TokenChild **/ UpDataStructsTokenChild: { token: 'u32', collection: 'u32' }, /** - * Lookup372: PhantomType::up_data_structs + * Lookup373: PhantomType::up_data_structs **/ PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,RmrkTraitsCollectionCollectionInfo,RmrkTraitsNftNftInfo,RmrkTraitsResourceResourceInfo,RmrkTraitsPropertyPropertyInfo,RmrkTraitsBaseBaseInfo,RmrkTraitsPartPartType,RmrkTraitsTheme,RmrkTraitsNftNftChild);0]', /** - * Lookup374: up_data_structs::TokenData> + * Lookup375: up_data_structs::TokenData> **/ UpDataStructsTokenData: { properties: 'Vec', @@ -2871,7 +2884,7 @@ pieces: 'u128' }, /** - * Lookup376: up_data_structs::RpcCollection + * Lookup377: up_data_structs::RpcCollection **/ UpDataStructsRpcCollection: { owner: 'AccountId32', @@ -2887,7 +2900,7 @@ readOnly: 'bool' }, /** - * Lookup377: rmrk_traits::collection::CollectionInfo, frame_support::storage::bounded_vec::BoundedVec, sp_core::crypto::AccountId32> + * Lookup378: rmrk_traits::collection::CollectionInfo, frame_support::storage::bounded_vec::BoundedVec, sp_core::crypto::AccountId32> **/ RmrkTraitsCollectionCollectionInfo: { issuer: 'AccountId32', @@ -2897,7 +2910,7 @@ nftsCount: 'u32' }, /** - * Lookup378: rmrk_traits::nft::NftInfo> + * Lookup379: rmrk_traits::nft::NftInfo> **/ RmrkTraitsNftNftInfo: { owner: 'RmrkTraitsNftAccountIdOrCollectionNftTuple', @@ -2907,14 +2920,14 @@ pending: 'bool' }, /** - * Lookup380: rmrk_traits::nft::RoyaltyInfo + * Lookup381: rmrk_traits::nft::RoyaltyInfo **/ RmrkTraitsNftRoyaltyInfo: { recipient: 'AccountId32', amount: 'Permill' }, /** - * Lookup381: rmrk_traits::resource::ResourceInfo, frame_support::storage::bounded_vec::BoundedVec> + * Lookup382: rmrk_traits::resource::ResourceInfo, frame_support::storage::bounded_vec::BoundedVec> **/ RmrkTraitsResourceResourceInfo: { id: 'u32', @@ -2923,14 +2936,14 @@ pendingRemoval: 'bool' }, /** - * Lookup382: rmrk_traits::property::PropertyInfo, frame_support::storage::bounded_vec::BoundedVec> + * Lookup383: rmrk_traits::property::PropertyInfo, frame_support::storage::bounded_vec::BoundedVec> **/ RmrkTraitsPropertyPropertyInfo: { key: 'Bytes', value: 'Bytes' }, /** - * Lookup383: rmrk_traits::base::BaseInfo> + * Lookup384: rmrk_traits::base::BaseInfo> **/ RmrkTraitsBaseBaseInfo: { issuer: 'AccountId32', @@ -2938,80 +2951,80 @@ symbol: 'Bytes' }, /** - * Lookup384: rmrk_traits::nft::NftChild + * Lookup385: rmrk_traits::nft::NftChild **/ RmrkTraitsNftNftChild: { collectionId: 'u32', nftId: 'u32' }, /** - * Lookup386: pallet_common::pallet::Error + * Lookup387: pallet_common::pallet::Error **/ PalletCommonError: { _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal'] }, /** - * Lookup388: pallet_fungible::pallet::Error + * Lookup389: pallet_fungible::pallet::Error **/ PalletFungibleError: { _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed'] }, /** - * Lookup389: pallet_refungible::ItemData + * Lookup390: pallet_refungible::ItemData **/ PalletRefungibleItemData: { constData: 'Bytes' }, /** - * Lookup394: pallet_refungible::pallet::Error + * Lookup395: pallet_refungible::pallet::Error **/ PalletRefungibleError: { _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed'] }, /** - * Lookup395: pallet_nonfungible::ItemData> + * Lookup396: pallet_nonfungible::ItemData> **/ PalletNonfungibleItemData: { owner: 'PalletEvmAccountBasicCrossAccountIdRepr' }, /** - * Lookup397: up_data_structs::PropertyScope + * Lookup398: up_data_structs::PropertyScope **/ UpDataStructsPropertyScope: { _enum: ['None', 'Rmrk', 'Eth'] }, /** - * Lookup399: pallet_nonfungible::pallet::Error + * Lookup400: pallet_nonfungible::pallet::Error **/ PalletNonfungibleError: { _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren'] }, /** - * Lookup400: pallet_structure::pallet::Error + * Lookup401: pallet_structure::pallet::Error **/ PalletStructureError: { _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound'] }, /** - * Lookup401: pallet_rmrk_core::pallet::Error + * Lookup402: pallet_rmrk_core::pallet::Error **/ PalletRmrkCoreError: { _enum: ['CorruptedCollectionType', 'RmrkPropertyKeyIsTooLong', 'RmrkPropertyValueIsTooLong', 'RmrkPropertyIsNotFound', 'UnableToDecodeRmrkData', 'CollectionNotEmpty', 'NoAvailableCollectionId', 'NoAvailableNftId', 'CollectionUnknown', 'NoPermission', 'NonTransferable', 'CollectionFullOrLocked', 'ResourceDoesntExist', 'CannotSendToDescendentOrSelf', 'CannotAcceptNonOwnedNft', 'CannotRejectNonOwnedNft', 'CannotRejectNonPendingNft', 'ResourceNotPending', 'NoAvailableResourceId'] }, /** - * Lookup403: pallet_rmrk_equip::pallet::Error + * Lookup404: pallet_rmrk_equip::pallet::Error **/ PalletRmrkEquipError: { _enum: ['PermissionError', 'NoAvailableBaseId', 'NoAvailablePartId', 'BaseDoesntExist', 'NeedsDefaultThemeFirst', 'PartDoesntExist', 'NoEquippableOnFixedPart'] }, /** - * Lookup406: pallet_evm::pallet::Error + * Lookup407: pallet_evm::pallet::Error **/ PalletEvmError: { _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce'] }, /** - * Lookup409: fp_rpc::TransactionStatus + * Lookup410: fp_rpc::TransactionStatus **/ FpRpcTransactionStatus: { transactionHash: 'H256', @@ -3023,11 +3036,11 @@ logsBloom: 'EthbloomBloom' }, /** - * Lookup411: ethbloom::Bloom + * Lookup412: ethbloom::Bloom **/ EthbloomBloom: '[u8;256]', /** - * Lookup413: ethereum::receipt::ReceiptV3 + * Lookup414: ethereum::receipt::ReceiptV3 **/ EthereumReceiptReceiptV3: { _enum: { @@ -3037,7 +3050,7 @@ } }, /** - * Lookup414: ethereum::receipt::EIP658ReceiptData + * Lookup415: ethereum::receipt::EIP658ReceiptData **/ EthereumReceiptEip658ReceiptData: { statusCode: 'u8', @@ -3046,7 +3059,7 @@ logs: 'Vec' }, /** - * Lookup415: ethereum::block::Block + * Lookup416: ethereum::block::Block **/ EthereumBlock: { header: 'EthereumHeader', @@ -3054,7 +3067,7 @@ ommers: 'Vec' }, /** - * Lookup416: ethereum::header::Header + * Lookup417: ethereum::header::Header **/ EthereumHeader: { parentHash: 'H256', @@ -3074,41 +3087,41 @@ nonce: 'EthereumTypesHashH64' }, /** - * Lookup417: ethereum_types::hash::H64 + * Lookup418: ethereum_types::hash::H64 **/ EthereumTypesHashH64: '[u8;8]', /** - * Lookup422: pallet_ethereum::pallet::Error + * Lookup423: pallet_ethereum::pallet::Error **/ PalletEthereumError: { _enum: ['InvalidSignature', 'PreLogExists'] }, /** - * Lookup423: pallet_evm_coder_substrate::pallet::Error + * Lookup424: pallet_evm_coder_substrate::pallet::Error **/ PalletEvmCoderSubstrateError: { _enum: ['OutOfGas', 'OutOfFund'] }, /** - * Lookup424: pallet_evm_contract_helpers::SponsoringModeT + * Lookup425: pallet_evm_contract_helpers::SponsoringModeT **/ PalletEvmContractHelpersSponsoringModeT: { _enum: ['Disabled', 'Allowlisted', 'Generous'] }, /** - * Lookup426: pallet_evm_contract_helpers::pallet::Error + * Lookup427: pallet_evm_contract_helpers::pallet::Error **/ PalletEvmContractHelpersError: { _enum: ['NoPermission'] }, /** - * Lookup427: pallet_evm_migration::pallet::Error + * Lookup428: pallet_evm_migration::pallet::Error **/ PalletEvmMigrationError: { _enum: ['AccountNotEmpty', 'AccountIsNotMigrating'] }, /** - * Lookup429: sp_runtime::MultiSignature + * Lookup430: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -3118,43 +3131,43 @@ } }, /** - * Lookup430: sp_core::ed25519::Signature + * Lookup431: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup432: sp_core::sr25519::Signature + * Lookup433: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup433: sp_core::ecdsa::Signature + * Lookup434: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup436: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup437: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup437: frame_system::extensions::check_genesis::CheckGenesis + * Lookup438: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup440: frame_system::extensions::check_nonce::CheckNonce + * Lookup441: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup441: frame_system::extensions::check_weight::CheckWeight + * Lookup442: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup442: pallet_template_transaction_payment::ChargeTransactionPayment + * Lookup443: pallet_template_transaction_payment::ChargeTransactionPayment **/ PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact', /** - * Lookup443: opal_runtime::Runtime + * Lookup444: opal_runtime::Runtime **/ OpalRuntimeRuntime: 'Null', /** - * Lookup444: pallet_ethereum::FakeTransactionFinalizer + * Lookup445: pallet_ethereum::FakeTransactionFinalizer **/ PalletEthereumFakeTransactionFinalizer: 'Null' }; --- a/tests/src/interfaces/registry.ts +++ b/tests/src/interfaces/registry.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportScheduleLookupError, FrameSupportScheduleMaybeHashed, FrameSupportTokensMiscBalanceStatus, FrameSupportWeightsDispatchClass, FrameSupportWeightsDispatchInfo, FrameSupportWeightsPays, FrameSupportWeightsPerDispatchClassU32, FrameSupportWeightsPerDispatchClassU64, FrameSupportWeightsPerDispatchClassWeightsPerClass, FrameSupportWeightsRuntimeDbWeight, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeOriginCaller, OpalRuntimeRuntime, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesReasons, PalletBalancesReleases, PalletBalancesReserveData, PalletCommonError, PalletCommonEvent, PalletConfigurationCall, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCoderSubstrateError, PalletEvmContractHelpersError, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletFungibleError, PalletInflationCall, PalletNonfungibleError, PalletNonfungibleItemData, PalletRefungibleError, PalletRefungibleItemData, PalletRmrkCoreCall, PalletRmrkCoreError, PalletRmrkCoreEvent, PalletRmrkEquipCall, PalletRmrkEquipError, PalletRmrkEquipEvent, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentCall, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTimestampCall, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletUniqueRawEvent, PalletUniqueSchedulerCall, PalletUniqueSchedulerError, PalletUniqueSchedulerEvent, PalletUniqueSchedulerScheduledV3, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV2AbridgedHostConfiguration, PolkadotPrimitivesV2AbridgedHrmpChannel, PolkadotPrimitivesV2PersistedValidationData, PolkadotPrimitivesV2UpgradeRestriction, RmrkTraitsBaseBaseInfo, RmrkTraitsCollectionCollectionInfo, RmrkTraitsNftAccountIdOrCollectionNftTuple, RmrkTraitsNftNftChild, RmrkTraitsNftNftInfo, RmrkTraitsNftRoyaltyInfo, RmrkTraitsPartEquippableList, RmrkTraitsPartFixedPart, RmrkTraitsPartPartType, RmrkTraitsPartSlotPart, RmrkTraitsPropertyPropertyInfo, RmrkTraitsResourceBasicResource, RmrkTraitsResourceComposableResource, RmrkTraitsResourceResourceInfo, RmrkTraitsResourceResourceTypes, RmrkTraitsResourceSlotResource, RmrkTraitsTheme, RmrkTraitsThemeThemeProperty, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeArithmeticError, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipState, UpDataStructsTokenChild, UpDataStructsTokenData, XcmDoubleEncoded, XcmV0Junction, XcmV0JunctionBodyId, XcmV0JunctionBodyPart, XcmV0JunctionNetworkId, XcmV0MultiAsset, XcmV0MultiLocation, XcmV0Order, XcmV0OriginKind, XcmV0Response, XcmV0Xcm, XcmV1Junction, XcmV1MultiAsset, XcmV1MultiLocation, XcmV1MultiassetAssetId, XcmV1MultiassetAssetInstance, XcmV1MultiassetFungibility, XcmV1MultiassetMultiAssetFilter, XcmV1MultiassetMultiAssets, XcmV1MultiassetWildFungibility, XcmV1MultiassetWildMultiAsset, XcmV1MultilocationJunctions, XcmV1Order, XcmV1Response, XcmV1Xcm, XcmV2Instruction, XcmV2Response, XcmV2TraitsError, XcmV2TraitsOutcome, XcmV2WeightLimit, XcmV2Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { export interface InterfaceTypes { @@ -89,6 +89,7 @@ PalletBalancesReserveData: PalletBalancesReserveData; PalletCommonError: PalletCommonError; PalletCommonEvent: PalletCommonEvent; + PalletConfigurationCall: PalletConfigurationCall; PalletEthereumCall: PalletEthereumCall; PalletEthereumError: PalletEthereumError; PalletEthereumEvent: PalletEthereumEvent; --- a/tests/src/interfaces/types-lookup.ts +++ b/tests/src/interfaces/types-lookup.ts @@ -1697,13 +1697,26 @@ readonly type: 'Value' | 'Hash'; } - /** @name PalletTemplateTransactionPaymentCall (207) */ + /** @name PalletConfigurationCall (207) */ + export interface PalletConfigurationCall extends Enum { + readonly isSetWeightToFeeCoefficientOverride: boolean; + readonly asSetWeightToFeeCoefficientOverride: { + readonly coeff: Option; + } & Struct; + readonly isSetMinGasPriceOverride: boolean; + readonly asSetMinGasPriceOverride: { + readonly coeff: Option; + } & Struct; + readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride'; + } + + /** @name PalletTemplateTransactionPaymentCall (209) */ export type PalletTemplateTransactionPaymentCall = Null; - /** @name PalletStructureCall (208) */ + /** @name PalletStructureCall (210) */ export type PalletStructureCall = Null; - /** @name PalletRmrkCoreCall (209) */ + /** @name PalletRmrkCoreCall (211) */ export interface PalletRmrkCoreCall extends Enum { readonly isCreateCollection: boolean; readonly asCreateCollection: { @@ -1809,7 +1822,7 @@ readonly type: 'CreateCollection' | 'DestroyCollection' | 'ChangeCollectionIssuer' | 'LockCollection' | 'MintNft' | 'BurnNft' | 'Send' | 'AcceptNft' | 'RejectNft' | 'AcceptResource' | 'AcceptResourceRemoval' | 'SetProperty' | 'SetPriority' | 'AddBasicResource' | 'AddComposableResource' | 'AddSlotResource' | 'RemoveResource'; } - /** @name RmrkTraitsResourceResourceTypes (215) */ + /** @name RmrkTraitsResourceResourceTypes (217) */ export interface RmrkTraitsResourceResourceTypes extends Enum { readonly isBasic: boolean; readonly asBasic: RmrkTraitsResourceBasicResource; @@ -1820,7 +1833,7 @@ readonly type: 'Basic' | 'Composable' | 'Slot'; } - /** @name RmrkTraitsResourceBasicResource (217) */ + /** @name RmrkTraitsResourceBasicResource (219) */ export interface RmrkTraitsResourceBasicResource extends Struct { readonly src: Option; readonly metadata: Option; @@ -1828,7 +1841,7 @@ readonly thumb: Option; } - /** @name RmrkTraitsResourceComposableResource (219) */ + /** @name RmrkTraitsResourceComposableResource (221) */ export interface RmrkTraitsResourceComposableResource extends Struct { readonly parts: Vec; readonly base: u32; @@ -1838,7 +1851,7 @@ readonly thumb: Option; } - /** @name RmrkTraitsResourceSlotResource (220) */ + /** @name RmrkTraitsResourceSlotResource (222) */ export interface RmrkTraitsResourceSlotResource extends Struct { readonly base: u32; readonly src: Option; @@ -1848,7 +1861,7 @@ readonly thumb: Option; } - /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (222) */ + /** @name RmrkTraitsNftAccountIdOrCollectionNftTuple (224) */ export interface RmrkTraitsNftAccountIdOrCollectionNftTuple extends Enum { readonly isAccountId: boolean; readonly asAccountId: AccountId32; @@ -1857,7 +1870,7 @@ readonly type: 'AccountId' | 'CollectionAndNftTuple'; } - /** @name PalletRmrkEquipCall (226) */ + /** @name PalletRmrkEquipCall (228) */ export interface PalletRmrkEquipCall extends Enum { readonly isCreateBase: boolean; readonly asCreateBase: { @@ -1879,7 +1892,7 @@ readonly type: 'CreateBase' | 'ThemeAdd' | 'Equippable'; } - /** @name RmrkTraitsPartPartType (229) */ + /** @name RmrkTraitsPartPartType (231) */ export interface RmrkTraitsPartPartType extends Enum { readonly isFixedPart: boolean; readonly asFixedPart: RmrkTraitsPartFixedPart; @@ -1888,14 +1901,14 @@ readonly type: 'FixedPart' | 'SlotPart'; } - /** @name RmrkTraitsPartFixedPart (231) */ + /** @name RmrkTraitsPartFixedPart (233) */ export interface RmrkTraitsPartFixedPart extends Struct { readonly id: u32; readonly z: u32; readonly src: Bytes; } - /** @name RmrkTraitsPartSlotPart (232) */ + /** @name RmrkTraitsPartSlotPart (234) */ export interface RmrkTraitsPartSlotPart extends Struct { readonly id: u32; readonly equippable: RmrkTraitsPartEquippableList; @@ -1903,7 +1916,7 @@ readonly z: u32; } - /** @name RmrkTraitsPartEquippableList (233) */ + /** @name RmrkTraitsPartEquippableList (235) */ export interface RmrkTraitsPartEquippableList extends Enum { readonly isAll: boolean; readonly isEmpty: boolean; @@ -1912,20 +1925,20 @@ readonly type: 'All' | 'Empty' | 'Custom'; } - /** @name RmrkTraitsTheme (235) */ + /** @name RmrkTraitsTheme (237) */ export interface RmrkTraitsTheme extends Struct { readonly name: Bytes; readonly properties: Vec; readonly inherit: bool; } - /** @name RmrkTraitsThemeThemeProperty (237) */ + /** @name RmrkTraitsThemeThemeProperty (239) */ export interface RmrkTraitsThemeThemeProperty extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name PalletEvmCall (239) */ + /** @name PalletEvmCall (241) */ export interface PalletEvmCall extends Enum { readonly isWithdraw: boolean; readonly asWithdraw: { @@ -1970,7 +1983,7 @@ readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2'; } - /** @name PalletEthereumCall (245) */ + /** @name PalletEthereumCall (247) */ export interface PalletEthereumCall extends Enum { readonly isTransact: boolean; readonly asTransact: { @@ -1979,7 +1992,7 @@ readonly type: 'Transact'; } - /** @name EthereumTransactionTransactionV2 (246) */ + /** @name EthereumTransactionTransactionV2 (248) */ export interface EthereumTransactionTransactionV2 extends Enum { readonly isLegacy: boolean; readonly asLegacy: EthereumTransactionLegacyTransaction; @@ -1990,7 +2003,7 @@ readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name EthereumTransactionLegacyTransaction (247) */ + /** @name EthereumTransactionLegacyTransaction (249) */ export interface EthereumTransactionLegacyTransaction extends Struct { readonly nonce: U256; readonly gasPrice: U256; @@ -2001,7 +2014,7 @@ readonly signature: EthereumTransactionTransactionSignature; } - /** @name EthereumTransactionTransactionAction (248) */ + /** @name EthereumTransactionTransactionAction (250) */ export interface EthereumTransactionTransactionAction extends Enum { readonly isCall: boolean; readonly asCall: H160; @@ -2009,14 +2022,14 @@ readonly type: 'Call' | 'Create'; } - /** @name EthereumTransactionTransactionSignature (249) */ + /** @name EthereumTransactionTransactionSignature (251) */ export interface EthereumTransactionTransactionSignature extends Struct { readonly v: u64; readonly r: H256; readonly s: H256; } - /** @name EthereumTransactionEip2930Transaction (251) */ + /** @name EthereumTransactionEip2930Transaction (253) */ export interface EthereumTransactionEip2930Transaction extends Struct { readonly chainId: u64; readonly nonce: U256; @@ -2031,13 +2044,13 @@ readonly s: H256; } - /** @name EthereumTransactionAccessListItem (253) */ + /** @name EthereumTransactionAccessListItem (255) */ export interface EthereumTransactionAccessListItem extends Struct { readonly address: H160; readonly storageKeys: Vec; } - /** @name EthereumTransactionEip1559Transaction (254) */ + /** @name EthereumTransactionEip1559Transaction (256) */ export interface EthereumTransactionEip1559Transaction extends Struct { readonly chainId: u64; readonly nonce: U256; @@ -2053,7 +2066,7 @@ readonly s: H256; } - /** @name PalletEvmMigrationCall (255) */ + /** @name PalletEvmMigrationCall (257) */ export interface PalletEvmMigrationCall extends Enum { readonly isBegin: boolean; readonly asBegin: { @@ -2072,7 +2085,7 @@ readonly type: 'Begin' | 'SetData' | 'Finish'; } - /** @name PalletSudoEvent (258) */ + /** @name PalletSudoEvent (260) */ export interface PalletSudoEvent extends Enum { readonly isSudid: boolean; readonly asSudid: { @@ -2089,7 +2102,7 @@ readonly type: 'Sudid' | 'KeyChanged' | 'SudoAsDone'; } - /** @name SpRuntimeDispatchError (260) */ + /** @name SpRuntimeDispatchError (262) */ export interface SpRuntimeDispatchError extends Enum { readonly isOther: boolean; readonly isCannotLookup: boolean; @@ -2108,13 +2121,13 @@ readonly type: 'Other' | 'CannotLookup' | 'BadOrigin' | 'Module' | 'ConsumerRemaining' | 'NoProviders' | 'TooManyConsumers' | 'Token' | 'Arithmetic' | 'Transactional'; } - /** @name SpRuntimeModuleError (261) */ + /** @name SpRuntimeModuleError (263) */ export interface SpRuntimeModuleError extends Struct { readonly index: u8; readonly error: U8aFixed; } - /** @name SpRuntimeTokenError (262) */ + /** @name SpRuntimeTokenError (264) */ export interface SpRuntimeTokenError extends Enum { readonly isNoFunds: boolean; readonly isWouldDie: boolean; @@ -2126,7 +2139,7 @@ readonly type: 'NoFunds' | 'WouldDie' | 'BelowMinimum' | 'CannotCreate' | 'UnknownAsset' | 'Frozen' | 'Unsupported'; } - /** @name SpRuntimeArithmeticError (263) */ + /** @name SpRuntimeArithmeticError (265) */ export interface SpRuntimeArithmeticError extends Enum { readonly isUnderflow: boolean; readonly isOverflow: boolean; @@ -2134,20 +2147,20 @@ readonly type: 'Underflow' | 'Overflow' | 'DivisionByZero'; } - /** @name SpRuntimeTransactionalError (264) */ + /** @name SpRuntimeTransactionalError (266) */ export interface SpRuntimeTransactionalError extends Enum { readonly isLimitReached: boolean; readonly isNoLayer: boolean; readonly type: 'LimitReached' | 'NoLayer'; } - /** @name PalletSudoError (265) */ + /** @name PalletSudoError (267) */ export interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: 'RequireSudo'; } - /** @name FrameSystemAccountInfo (266) */ + /** @name FrameSystemAccountInfo (268) */ export interface FrameSystemAccountInfo extends Struct { readonly nonce: u32; readonly consumers: u32; @@ -2156,19 +2169,19 @@ readonly data: PalletBalancesAccountData; } - /** @name FrameSupportWeightsPerDispatchClassU64 (267) */ + /** @name FrameSupportWeightsPerDispatchClassU64 (269) */ export interface FrameSupportWeightsPerDispatchClassU64 extends Struct { readonly normal: u64; readonly operational: u64; readonly mandatory: u64; } - /** @name SpRuntimeDigest (268) */ + /** @name SpRuntimeDigest (270) */ export interface SpRuntimeDigest extends Struct { readonly logs: Vec; } - /** @name SpRuntimeDigestDigestItem (270) */ + /** @name SpRuntimeDigestDigestItem (272) */ export interface SpRuntimeDigestDigestItem extends Enum { readonly isOther: boolean; readonly asOther: Bytes; @@ -2182,14 +2195,14 @@ readonly type: 'Other' | 'Consensus' | 'Seal' | 'PreRuntime' | 'RuntimeEnvironmentUpdated'; } - /** @name FrameSystemEventRecord (272) */ + /** @name FrameSystemEventRecord (274) */ export interface FrameSystemEventRecord extends Struct { readonly phase: FrameSystemPhase; readonly event: Event; readonly topics: Vec; } - /** @name FrameSystemEvent (274) */ + /** @name FrameSystemEvent (276) */ export interface FrameSystemEvent extends Enum { readonly isExtrinsicSuccess: boolean; readonly asExtrinsicSuccess: { @@ -2217,14 +2230,14 @@ readonly type: 'ExtrinsicSuccess' | 'ExtrinsicFailed' | 'CodeUpdated' | 'NewAccount' | 'KilledAccount' | 'Remarked'; } - /** @name FrameSupportWeightsDispatchInfo (275) */ + /** @name FrameSupportWeightsDispatchInfo (277) */ export interface FrameSupportWeightsDispatchInfo extends Struct { readonly weight: u64; readonly class: FrameSupportWeightsDispatchClass; readonly paysFee: FrameSupportWeightsPays; } - /** @name FrameSupportWeightsDispatchClass (276) */ + /** @name FrameSupportWeightsDispatchClass (278) */ export interface FrameSupportWeightsDispatchClass extends Enum { readonly isNormal: boolean; readonly isOperational: boolean; @@ -2232,14 +2245,14 @@ readonly type: 'Normal' | 'Operational' | 'Mandatory'; } - /** @name FrameSupportWeightsPays (277) */ + /** @name FrameSupportWeightsPays (279) */ export interface FrameSupportWeightsPays extends Enum { readonly isYes: boolean; readonly isNo: boolean; readonly type: 'Yes' | 'No'; } - /** @name OrmlVestingModuleEvent (278) */ + /** @name OrmlVestingModuleEvent (280) */ export interface OrmlVestingModuleEvent extends Enum { readonly isVestingScheduleAdded: boolean; readonly asVestingScheduleAdded: { @@ -2259,7 +2272,7 @@ readonly type: 'VestingScheduleAdded' | 'Claimed' | 'VestingSchedulesUpdated'; } - /** @name CumulusPalletXcmpQueueEvent (279) */ + /** @name CumulusPalletXcmpQueueEvent (281) */ export interface CumulusPalletXcmpQueueEvent extends Enum { readonly isSuccess: boolean; readonly asSuccess: Option; @@ -2280,7 +2293,7 @@ readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'UpwardMessageSent' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name PalletXcmEvent (280) */ + /** @name PalletXcmEvent (282) */ export interface PalletXcmEvent extends Enum { readonly isAttempted: boolean; readonly asAttempted: XcmV2TraitsOutcome; @@ -2317,7 +2330,7 @@ readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail'; } - /** @name XcmV2TraitsOutcome (281) */ + /** @name XcmV2TraitsOutcome (283) */ export interface XcmV2TraitsOutcome extends Enum { readonly isComplete: boolean; readonly asComplete: u64; @@ -2328,7 +2341,7 @@ readonly type: 'Complete' | 'Incomplete' | 'Error'; } - /** @name CumulusPalletXcmEvent (283) */ + /** @name CumulusPalletXcmEvent (285) */ export interface CumulusPalletXcmEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: U8aFixed; @@ -2339,7 +2352,7 @@ readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } - /** @name CumulusPalletDmpQueueEvent (284) */ + /** @name CumulusPalletDmpQueueEvent (286) */ export interface CumulusPalletDmpQueueEvent extends Enum { readonly isInvalidFormat: boolean; readonly asInvalidFormat: { @@ -2374,7 +2387,7 @@ readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced'; } - /** @name PalletUniqueRawEvent (285) */ + /** @name PalletUniqueRawEvent (287) */ export interface PalletUniqueRawEvent extends Enum { readonly isCollectionSponsorRemoved: boolean; readonly asCollectionSponsorRemoved: u32; @@ -2399,7 +2412,7 @@ readonly type: 'CollectionSponsorRemoved' | 'CollectionAdminAdded' | 'CollectionOwnedChanged' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionAdminRemoved' | 'AllowListAddressRemoved' | 'AllowListAddressAdded' | 'CollectionLimitSet' | 'CollectionPermissionSet'; } - /** @name PalletUniqueSchedulerEvent (286) */ + /** @name PalletUniqueSchedulerEvent (288) */ export interface PalletUniqueSchedulerEvent extends Enum { readonly isScheduled: boolean; readonly asScheduled: { @@ -2426,14 +2439,14 @@ readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallLookupFailed'; } - /** @name FrameSupportScheduleLookupError (288) */ + /** @name FrameSupportScheduleLookupError (290) */ export interface FrameSupportScheduleLookupError extends Enum { readonly isUnknown: boolean; readonly isBadFormat: boolean; readonly type: 'Unknown' | 'BadFormat'; } - /** @name PalletCommonEvent (289) */ + /** @name PalletCommonEvent (291) */ export interface PalletCommonEvent extends Enum { readonly isCollectionCreated: boolean; readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>; @@ -2460,14 +2473,14 @@ readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet'; } - /** @name PalletStructureEvent (290) */ + /** @name PalletStructureEvent (292) */ export interface PalletStructureEvent extends Enum { readonly isExecuted: boolean; readonly asExecuted: Result; readonly type: 'Executed'; } - /** @name PalletRmrkCoreEvent (291) */ + /** @name PalletRmrkCoreEvent (293) */ export interface PalletRmrkCoreEvent extends Enum { readonly isCollectionCreated: boolean; readonly asCollectionCreated: { @@ -2557,7 +2570,7 @@ readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'IssuerChanged' | 'CollectionLocked' | 'NftMinted' | 'NftBurned' | 'NftSent' | 'NftAccepted' | 'NftRejected' | 'PropertySet' | 'ResourceAdded' | 'ResourceRemoval' | 'ResourceAccepted' | 'ResourceRemovalAccepted' | 'PrioritySet'; } - /** @name PalletRmrkEquipEvent (292) */ + /** @name PalletRmrkEquipEvent (294) */ export interface PalletRmrkEquipEvent extends Enum { readonly isBaseCreated: boolean; readonly asBaseCreated: { @@ -2572,7 +2585,7 @@ readonly type: 'BaseCreated' | 'EquippablesUpdated'; } - /** @name PalletEvmEvent (293) */ + /** @name PalletEvmEvent (295) */ export interface PalletEvmEvent extends Enum { readonly isLog: boolean; readonly asLog: EthereumLog; @@ -2591,21 +2604,21 @@ readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed' | 'BalanceDeposit' | 'BalanceWithdraw'; } - /** @name EthereumLog (294) */ + /** @name EthereumLog (296) */ export interface EthereumLog extends Struct { readonly address: H160; readonly topics: Vec; readonly data: Bytes; } - /** @name PalletEthereumEvent (295) */ + /** @name PalletEthereumEvent (297) */ export interface PalletEthereumEvent extends Enum { readonly isExecuted: boolean; readonly asExecuted: ITuple<[H160, H160, H256, EvmCoreErrorExitReason]>; readonly type: 'Executed'; } - /** @name EvmCoreErrorExitReason (296) */ + /** @name EvmCoreErrorExitReason (298) */ export interface EvmCoreErrorExitReason extends Enum { readonly isSucceed: boolean; readonly asSucceed: EvmCoreErrorExitSucceed; @@ -2618,7 +2631,7 @@ readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal'; } - /** @name EvmCoreErrorExitSucceed (297) */ + /** @name EvmCoreErrorExitSucceed (299) */ export interface EvmCoreErrorExitSucceed extends Enum { readonly isStopped: boolean; readonly isReturned: boolean; @@ -2626,7 +2639,7 @@ readonly type: 'Stopped' | 'Returned' | 'Suicided'; } - /** @name EvmCoreErrorExitError (298) */ + /** @name EvmCoreErrorExitError (300) */ export interface EvmCoreErrorExitError extends Enum { readonly isStackUnderflow: boolean; readonly isStackOverflow: boolean; @@ -2647,13 +2660,13 @@ readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'InvalidCode'; } - /** @name EvmCoreErrorExitRevert (301) */ + /** @name EvmCoreErrorExitRevert (303) */ export interface EvmCoreErrorExitRevert extends Enum { readonly isReverted: boolean; readonly type: 'Reverted'; } - /** @name EvmCoreErrorExitFatal (302) */ + /** @name EvmCoreErrorExitFatal (304) */ export interface EvmCoreErrorExitFatal extends Enum { readonly isNotSupported: boolean; readonly isUnhandledInterrupt: boolean; @@ -2664,7 +2677,7 @@ readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other'; } - /** @name FrameSystemPhase (303) */ + /** @name FrameSystemPhase (305) */ export interface FrameSystemPhase extends Enum { readonly isApplyExtrinsic: boolean; readonly asApplyExtrinsic: u32; @@ -2673,27 +2686,27 @@ readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name FrameSystemLastRuntimeUpgradeInfo (305) */ + /** @name FrameSystemLastRuntimeUpgradeInfo (307) */ export interface FrameSystemLastRuntimeUpgradeInfo extends Struct { readonly specVersion: Compact; readonly specName: Text; } - /** @name FrameSystemLimitsBlockWeights (306) */ + /** @name FrameSystemLimitsBlockWeights (308) */ export interface FrameSystemLimitsBlockWeights extends Struct { readonly baseBlock: u64; readonly maxBlock: u64; readonly perClass: FrameSupportWeightsPerDispatchClassWeightsPerClass; } - /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (307) */ + /** @name FrameSupportWeightsPerDispatchClassWeightsPerClass (309) */ export interface FrameSupportWeightsPerDispatchClassWeightsPerClass extends Struct { readonly normal: FrameSystemLimitsWeightsPerClass; readonly operational: FrameSystemLimitsWeightsPerClass; readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name FrameSystemLimitsWeightsPerClass (308) */ + /** @name FrameSystemLimitsWeightsPerClass (310) */ export interface FrameSystemLimitsWeightsPerClass extends Struct { readonly baseExtrinsic: u64; readonly maxExtrinsic: Option; @@ -2701,25 +2714,25 @@ readonly reserved: Option; } - /** @name FrameSystemLimitsBlockLength (310) */ + /** @name FrameSystemLimitsBlockLength (311) */ export interface FrameSystemLimitsBlockLength extends Struct { readonly max: FrameSupportWeightsPerDispatchClassU32; } - /** @name FrameSupportWeightsPerDispatchClassU32 (311) */ + /** @name FrameSupportWeightsPerDispatchClassU32 (312) */ export interface FrameSupportWeightsPerDispatchClassU32 extends Struct { readonly normal: u32; readonly operational: u32; readonly mandatory: u32; } - /** @name FrameSupportWeightsRuntimeDbWeight (312) */ + /** @name FrameSupportWeightsRuntimeDbWeight (313) */ export interface FrameSupportWeightsRuntimeDbWeight extends Struct { readonly read: u64; readonly write: u64; } - /** @name SpVersionRuntimeVersion (313) */ + /** @name SpVersionRuntimeVersion (314) */ export interface SpVersionRuntimeVersion extends Struct { readonly specName: Text; readonly implName: Text; @@ -2731,7 +2744,7 @@ readonly stateVersion: u8; } - /** @name FrameSystemError (317) */ + /** @name FrameSystemError (318) */ export interface FrameSystemError extends Enum { readonly isInvalidSpecName: boolean; readonly isSpecVersionNeedsToIncrease: boolean; @@ -2742,7 +2755,7 @@ readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name OrmlVestingModuleError (319) */ + /** @name OrmlVestingModuleError (320) */ export interface OrmlVestingModuleError extends Enum { readonly isZeroVestingPeriod: boolean; readonly isZeroVestingPeriodCount: boolean; @@ -2753,21 +2766,21 @@ readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (321) */ + /** @name CumulusPalletXcmpQueueInboundChannelDetails (322) */ export interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (322) */ + /** @name CumulusPalletXcmpQueueInboundState (323) */ export interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (325) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (326) */ export interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -2775,7 +2788,7 @@ readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (328) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (329) */ export interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -2784,14 +2797,14 @@ readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (329) */ + /** @name CumulusPalletXcmpQueueOutboundState (330) */ export interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (331) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (332) */ export interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; @@ -2801,7 +2814,7 @@ readonly xcmpMaxIndividualWeight: u64; } - /** @name CumulusPalletXcmpQueueError (333) */ + /** @name CumulusPalletXcmpQueueError (334) */ export interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -2811,7 +2824,7 @@ readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmError (334) */ + /** @name PalletXcmError (335) */ export interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -2829,29 +2842,29 @@ readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed'; } - /** @name CumulusPalletXcmError (335) */ + /** @name CumulusPalletXcmError (336) */ export type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (336) */ + /** @name CumulusPalletDmpQueueConfigData (337) */ export interface CumulusPalletDmpQueueConfigData extends Struct { readonly maxIndividual: u64; } - /** @name CumulusPalletDmpQueuePageIndexData (337) */ + /** @name CumulusPalletDmpQueuePageIndexData (338) */ export interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (340) */ + /** @name CumulusPalletDmpQueueError (341) */ export interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name PalletUniqueError (344) */ + /** @name PalletUniqueError (345) */ export interface PalletUniqueError extends Enum { readonly isCollectionDecimalPointLimitExceeded: boolean; readonly isConfirmUnsetSponsorFail: boolean; @@ -2860,7 +2873,7 @@ readonly type: 'CollectionDecimalPointLimitExceeded' | 'ConfirmUnsetSponsorFail' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection'; } - /** @name PalletUniqueSchedulerScheduledV3 (347) */ + /** @name PalletUniqueSchedulerScheduledV3 (348) */ export interface PalletUniqueSchedulerScheduledV3 extends Struct { readonly maybeId: Option; readonly priority: u8; @@ -2869,7 +2882,7 @@ readonly origin: OpalRuntimeOriginCaller; } - /** @name OpalRuntimeOriginCaller (348) */ + /** @name OpalRuntimeOriginCaller (349) */ export interface OpalRuntimeOriginCaller extends Enum { readonly isVoid: boolean; readonly isSystem: boolean; @@ -2883,7 +2896,7 @@ readonly type: 'Void' | 'System' | 'PolkadotXcm' | 'CumulusXcm' | 'Ethereum'; } - /** @name FrameSupportDispatchRawOrigin (349) */ + /** @name FrameSupportDispatchRawOrigin (350) */ export interface FrameSupportDispatchRawOrigin extends Enum { readonly isRoot: boolean; readonly isSigned: boolean; @@ -2892,7 +2905,7 @@ readonly type: 'Root' | 'Signed' | 'None'; } - /** @name PalletXcmOrigin (350) */ + /** @name PalletXcmOrigin (351) */ export interface PalletXcmOrigin extends Enum { readonly isXcm: boolean; readonly asXcm: XcmV1MultiLocation; @@ -2901,7 +2914,7 @@ readonly type: 'Xcm' | 'Response'; } - /** @name CumulusPalletXcmOrigin (351) */ + /** @name CumulusPalletXcmOrigin (352) */ export interface CumulusPalletXcmOrigin extends Enum { readonly isRelay: boolean; readonly isSiblingParachain: boolean; @@ -2909,17 +2922,17 @@ readonly type: 'Relay' | 'SiblingParachain'; } - /** @name PalletEthereumRawOrigin (352) */ + /** @name PalletEthereumRawOrigin (353) */ export interface PalletEthereumRawOrigin extends Enum { readonly isEthereumTransaction: boolean; readonly asEthereumTransaction: H160; readonly type: 'EthereumTransaction'; } - /** @name SpCoreVoid (353) */ + /** @name SpCoreVoid (354) */ export type SpCoreVoid = Null; - /** @name PalletUniqueSchedulerError (354) */ + /** @name PalletUniqueSchedulerError (355) */ export interface PalletUniqueSchedulerError extends Enum { readonly isFailedToSchedule: boolean; readonly isNotFound: boolean; @@ -2928,7 +2941,7 @@ readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange'; } - /** @name UpDataStructsCollection (355) */ + /** @name UpDataStructsCollection (356) */ export interface UpDataStructsCollection extends Struct { readonly owner: AccountId32; readonly mode: UpDataStructsCollectionMode; @@ -2941,7 +2954,7 @@ readonly externalCollection: bool; } - /** @name UpDataStructsSponsorshipState (356) */ + /** @name UpDataStructsSponsorshipState (357) */ export interface UpDataStructsSponsorshipState extends Enum { readonly isDisabled: boolean; readonly isUnconfirmed: boolean; @@ -2951,43 +2964,43 @@ readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed'; } - /** @name UpDataStructsProperties (357) */ + /** @name UpDataStructsProperties (358) */ export interface UpDataStructsProperties extends Struct { readonly map: UpDataStructsPropertiesMapBoundedVec; readonly consumedSpace: u32; readonly spaceLimit: u32; } - /** @name UpDataStructsPropertiesMapBoundedVec (358) */ + /** @name UpDataStructsPropertiesMapBoundedVec (359) */ export interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap {} - /** @name UpDataStructsPropertiesMapPropertyPermission (363) */ + /** @name UpDataStructsPropertiesMapPropertyPermission (364) */ export interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap {} - /** @name UpDataStructsCollectionStats (370) */ + /** @name UpDataStructsCollectionStats (371) */ export interface UpDataStructsCollectionStats extends Struct { readonly created: u32; readonly destroyed: u32; readonly alive: u32; } - /** @name UpDataStructsTokenChild (371) */ + /** @name UpDataStructsTokenChild (372) */ export interface UpDataStructsTokenChild extends Struct { readonly token: u32; readonly collection: u32; } - /** @name PhantomTypeUpDataStructs (372) */ + /** @name PhantomTypeUpDataStructs (373) */ export interface PhantomTypeUpDataStructs extends Vec> {} - /** @name UpDataStructsTokenData (374) */ + /** @name UpDataStructsTokenData (375) */ export interface UpDataStructsTokenData extends Struct { readonly properties: Vec; readonly owner: Option; readonly pieces: u128; } - /** @name UpDataStructsRpcCollection (376) */ + /** @name UpDataStructsRpcCollection (377) */ export interface UpDataStructsRpcCollection extends Struct { readonly owner: AccountId32; readonly mode: UpDataStructsCollectionMode; @@ -3002,7 +3015,7 @@ readonly readOnly: bool; } - /** @name RmrkTraitsCollectionCollectionInfo (377) */ + /** @name RmrkTraitsCollectionCollectionInfo (378) */ export interface RmrkTraitsCollectionCollectionInfo extends Struct { readonly issuer: AccountId32; readonly metadata: Bytes; @@ -3011,7 +3024,7 @@ readonly nftsCount: u32; } - /** @name RmrkTraitsNftNftInfo (378) */ + /** @name RmrkTraitsNftNftInfo (379) */ export interface RmrkTraitsNftNftInfo extends Struct { readonly owner: RmrkTraitsNftAccountIdOrCollectionNftTuple; readonly royalty: Option; @@ -3020,13 +3033,13 @@ readonly pending: bool; } - /** @name RmrkTraitsNftRoyaltyInfo (380) */ + /** @name RmrkTraitsNftRoyaltyInfo (381) */ export interface RmrkTraitsNftRoyaltyInfo extends Struct { readonly recipient: AccountId32; readonly amount: Permill; } - /** @name RmrkTraitsResourceResourceInfo (381) */ + /** @name RmrkTraitsResourceResourceInfo (382) */ export interface RmrkTraitsResourceResourceInfo extends Struct { readonly id: u32; readonly resource: RmrkTraitsResourceResourceTypes; @@ -3034,26 +3047,26 @@ readonly pendingRemoval: bool; } - /** @name RmrkTraitsPropertyPropertyInfo (382) */ + /** @name RmrkTraitsPropertyPropertyInfo (383) */ export interface RmrkTraitsPropertyPropertyInfo extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name RmrkTraitsBaseBaseInfo (383) */ + /** @name RmrkTraitsBaseBaseInfo (384) */ export interface RmrkTraitsBaseBaseInfo extends Struct { readonly issuer: AccountId32; readonly baseType: Bytes; readonly symbol: Bytes; } - /** @name RmrkTraitsNftNftChild (384) */ + /** @name RmrkTraitsNftNftChild (385) */ export interface RmrkTraitsNftNftChild extends Struct { readonly collectionId: u32; readonly nftId: u32; } - /** @name PalletCommonError (386) */ + /** @name PalletCommonError (387) */ export interface PalletCommonError extends Enum { readonly isCollectionNotFound: boolean; readonly isMustBeTokenOwner: boolean; @@ -3092,7 +3105,7 @@ readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal'; } - /** @name PalletFungibleError (388) */ + /** @name PalletFungibleError (389) */ export interface PalletFungibleError extends Enum { readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isFungibleItemsHaveNoId: boolean; @@ -3102,12 +3115,12 @@ readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; } - /** @name PalletRefungibleItemData (389) */ + /** @name PalletRefungibleItemData (390) */ export interface PalletRefungibleItemData extends Struct { readonly constData: Bytes; } - /** @name PalletRefungibleError (394) */ + /** @name PalletRefungibleError (395) */ export interface PalletRefungibleError extends Enum { readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isWrongRefungiblePieces: boolean; @@ -3117,12 +3130,12 @@ readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; } - /** @name PalletNonfungibleItemData (395) */ + /** @name PalletNonfungibleItemData (396) */ export interface PalletNonfungibleItemData extends Struct { readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; } - /** @name UpDataStructsPropertyScope (397) */ + /** @name UpDataStructsPropertyScope (398) */ export interface UpDataStructsPropertyScope extends Enum { readonly isNone: boolean; readonly isRmrk: boolean; @@ -3130,7 +3143,7 @@ readonly type: 'None' | 'Rmrk' | 'Eth'; } - /** @name PalletNonfungibleError (399) */ + /** @name PalletNonfungibleError (400) */ export interface PalletNonfungibleError extends Enum { readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isNonfungibleItemsHaveNoAmount: boolean; @@ -3138,7 +3151,7 @@ readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren'; } - /** @name PalletStructureError (400) */ + /** @name PalletStructureError (401) */ export interface PalletStructureError extends Enum { readonly isOuroborosDetected: boolean; readonly isDepthLimit: boolean; @@ -3147,7 +3160,7 @@ readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound'; } - /** @name PalletRmrkCoreError (401) */ + /** @name PalletRmrkCoreError (402) */ export interface PalletRmrkCoreError extends Enum { readonly isCorruptedCollectionType: boolean; readonly isRmrkPropertyKeyIsTooLong: boolean; @@ -3171,7 +3184,7 @@ readonly type: 'CorruptedCollectionType' | 'RmrkPropertyKeyIsTooLong' | 'RmrkPropertyValueIsTooLong' | 'RmrkPropertyIsNotFound' | 'UnableToDecodeRmrkData' | 'CollectionNotEmpty' | 'NoAvailableCollectionId' | 'NoAvailableNftId' | 'CollectionUnknown' | 'NoPermission' | 'NonTransferable' | 'CollectionFullOrLocked' | 'ResourceDoesntExist' | 'CannotSendToDescendentOrSelf' | 'CannotAcceptNonOwnedNft' | 'CannotRejectNonOwnedNft' | 'CannotRejectNonPendingNft' | 'ResourceNotPending' | 'NoAvailableResourceId'; } - /** @name PalletRmrkEquipError (403) */ + /** @name PalletRmrkEquipError (404) */ export interface PalletRmrkEquipError extends Enum { readonly isPermissionError: boolean; readonly isNoAvailableBaseId: boolean; @@ -3183,7 +3196,7 @@ readonly type: 'PermissionError' | 'NoAvailableBaseId' | 'NoAvailablePartId' | 'BaseDoesntExist' | 'NeedsDefaultThemeFirst' | 'PartDoesntExist' | 'NoEquippableOnFixedPart'; } - /** @name PalletEvmError (406) */ + /** @name PalletEvmError (407) */ export interface PalletEvmError extends Enum { readonly isBalanceLow: boolean; readonly isFeeOverflow: boolean; @@ -3194,7 +3207,7 @@ readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce'; } - /** @name FpRpcTransactionStatus (409) */ + /** @name FpRpcTransactionStatus (410) */ export interface FpRpcTransactionStatus extends Struct { readonly transactionHash: H256; readonly transactionIndex: u32; @@ -3205,10 +3218,10 @@ readonly logsBloom: EthbloomBloom; } - /** @name EthbloomBloom (411) */ + /** @name EthbloomBloom (412) */ export interface EthbloomBloom extends U8aFixed {} - /** @name EthereumReceiptReceiptV3 (413) */ + /** @name EthereumReceiptReceiptV3 (414) */ export interface EthereumReceiptReceiptV3 extends Enum { readonly isLegacy: boolean; readonly asLegacy: EthereumReceiptEip658ReceiptData; @@ -3219,7 +3232,7 @@ readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name EthereumReceiptEip658ReceiptData (414) */ + /** @name EthereumReceiptEip658ReceiptData (415) */ export interface EthereumReceiptEip658ReceiptData extends Struct { readonly statusCode: u8; readonly usedGas: U256; @@ -3227,14 +3240,14 @@ readonly logs: Vec; } - /** @name EthereumBlock (415) */ + /** @name EthereumBlock (416) */ export interface EthereumBlock extends Struct { readonly header: EthereumHeader; readonly transactions: Vec; readonly ommers: Vec; } - /** @name EthereumHeader (416) */ + /** @name EthereumHeader (417) */ export interface EthereumHeader extends Struct { readonly parentHash: H256; readonly ommersHash: H256; @@ -3253,24 +3266,24 @@ readonly nonce: EthereumTypesHashH64; } - /** @name EthereumTypesHashH64 (417) */ + /** @name EthereumTypesHashH64 (418) */ export interface EthereumTypesHashH64 extends U8aFixed {} - /** @name PalletEthereumError (422) */ + /** @name PalletEthereumError (423) */ export interface PalletEthereumError extends Enum { readonly isInvalidSignature: boolean; readonly isPreLogExists: boolean; readonly type: 'InvalidSignature' | 'PreLogExists'; } - /** @name PalletEvmCoderSubstrateError (423) */ + /** @name PalletEvmCoderSubstrateError (424) */ export interface PalletEvmCoderSubstrateError extends Enum { readonly isOutOfGas: boolean; readonly isOutOfFund: boolean; readonly type: 'OutOfGas' | 'OutOfFund'; } - /** @name PalletEvmContractHelpersSponsoringModeT (424) */ + /** @name PalletEvmContractHelpersSponsoringModeT (425) */ export interface PalletEvmContractHelpersSponsoringModeT extends Enum { readonly isDisabled: boolean; readonly isAllowlisted: boolean; @@ -3278,20 +3291,20 @@ readonly type: 'Disabled' | 'Allowlisted' | 'Generous'; } - /** @name PalletEvmContractHelpersError (426) */ + /** @name PalletEvmContractHelpersError (427) */ export interface PalletEvmContractHelpersError extends Enum { readonly isNoPermission: boolean; readonly type: 'NoPermission'; } - /** @name PalletEvmMigrationError (427) */ + /** @name PalletEvmMigrationError (428) */ export interface PalletEvmMigrationError extends Enum { readonly isAccountNotEmpty: boolean; readonly isAccountIsNotMigrating: boolean; readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating'; } - /** @name SpRuntimeMultiSignature (429) */ + /** @name SpRuntimeMultiSignature (430) */ export interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -3302,34 +3315,34 @@ readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (430) */ + /** @name SpCoreEd25519Signature (431) */ export interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (432) */ + /** @name SpCoreSr25519Signature (433) */ export interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (433) */ + /** @name SpCoreEcdsaSignature (434) */ export interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name FrameSystemExtensionsCheckSpecVersion (436) */ + /** @name FrameSystemExtensionsCheckSpecVersion (437) */ export type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (437) */ + /** @name FrameSystemExtensionsCheckGenesis (438) */ export type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (440) */ + /** @name FrameSystemExtensionsCheckNonce (441) */ export interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (441) */ + /** @name FrameSystemExtensionsCheckWeight (442) */ export type FrameSystemExtensionsCheckWeight = Null; - /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (442) */ + /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (443) */ export interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name OpalRuntimeRuntime (443) */ + /** @name OpalRuntimeRuntime (444) */ export type OpalRuntimeRuntime = Null; - /** @name PalletEthereumFakeTransactionFinalizer (444) */ + /** @name PalletEthereumFakeTransactionFinalizer (445) */ export type PalletEthereumFakeTransactionFinalizer = Null; } // declare module --- a/tests/src/pallet-presence.test.ts +++ b/tests/src/pallet-presence.test.ts @@ -50,6 +50,7 @@ 'unique', 'nonfungible', 'charging', + 'configuration', ]; // Pallets that depend on consensus and governance configuration -- gitstuff