import { StorageDescriptor, PlainDescriptor, TxDescriptor, RuntimeDescriptor, Enum, ApisFromDef, QueryFromPalletsDef, TxFromPalletsDef, EventsFromPalletsDef, ErrorsFromPalletsDef, ConstFromPalletsDef, ViewFnsFromPalletsDef, SS58String, SizedHex, FixedSizeArray } from "polkadot-api";
import type { I5sesotjlssv2d, Iffmde3ekjedi9, I4mddgoa69c0a2, I51chctpcbqpt0, I95g6i7ilua7lq, Ieniouoqkq4icf, Phase, Ibgl04rn6nbfm6, I4q39t5hn830vp, I5hmeclnecr5hf, I95l2k9b1re95f, In7a38730s6qs, If15el53dd76v9, I9s0ave7t0vnrk, I4fo08joqmcqnm, Ief08v0p81vcpt, I4ov6e94l79mbg, Ib8aunjr0j420u, I62ob1nv137pof, Ia5cotcvi888ln, I21jsa919m88fd, Iegif7m3upfe1k, I9kt8c221c83ln, Ic76kfh5ebqkpl, Icscpmubum33bq, I21d2olof7eb60, Ibgm4rnf22lal1, Ie68np0vpihith, I9bnv6lu0crf1q, Iauhjqifrdklq7, Ie1uso9m8rt5cf, Ibplkiqg5rvr3e, Icnmrtlo128skq, Icojqvn3afk41n, I5r8t4iaend96p, Iftvbctbo05fu4, XcmVersionedXcm, Ic0c3req3mlc1l, XcmVersionedAssetId, I7ocn4njqde3v5, XcmVersionedLocation, Iek7ha36da9mf5, I4h8nkgupb7obf, I5p81usncg27jm, Ic0lblghfsnsek, I3j4kvev2lhre2 } from "./common-types";
type AnonymousEnum<T extends {}> = T & {
    __anonymous: true;
};
type MyTuple<T> = [T, ...T[]];
type SeparateUndefined<T> = undefined extends T ? undefined | Exclude<T, undefined> : T;
type Anonymize<T> = SeparateUndefined<T extends string | number | bigint | boolean | void | undefined | null | symbol | Uint8Array | Enum<any> ? T : T extends AnonymousEnum<infer V> ? Enum<V> : T extends MyTuple<any> ? {
    [K in keyof T]: T[K];
} : T extends [] ? [] : T extends FixedSizeArray<infer L, infer T> ? number extends L ? Array<T> : FixedSizeArray<L, T> : {
    [K in keyof T & string]: T[K];
}>;
type IStorage = {
    System: {
        /**
         * The full account information for a particular account ID.
         */
        Account: StorageDescriptor<[Key: SS58String], Anonymize<I5sesotjlssv2d>, false, never>;
        /**
         * Total extrinsics count for the current block.
         */
        ExtrinsicCount: StorageDescriptor<[], number, true, never>;
        /**
         * Whether all inherents have been applied.
         */
        InherentsApplied: StorageDescriptor<[], boolean, false, never>;
        /**
         * The current weight for the block.
         */
        BlockWeight: StorageDescriptor<[], Anonymize<Iffmde3ekjedi9>, false, never>;
        /**
         * Total length (in bytes) for all extrinsics put together, for the current block.
         */
        AllExtrinsicsLen: StorageDescriptor<[], number, true, never>;
        /**
         * Map of block numbers to block hashes.
         */
        BlockHash: StorageDescriptor<[Key: number], SizedHex<32>, false, never>;
        /**
         * Extrinsics data for the current block (maps an extrinsic's index to its data).
         */
        ExtrinsicData: StorageDescriptor<[Key: number], Uint8Array, false, never>;
        /**
         * The current block number being processed. Set by `execute_block`.
         */
        Number: StorageDescriptor<[], number, false, never>;
        /**
         * Hash of the previous block.
         */
        ParentHash: StorageDescriptor<[], SizedHex<32>, false, never>;
        /**
         * Digest of the current block, also part of the block header.
         */
        Digest: StorageDescriptor<[], Anonymize<I4mddgoa69c0a2>, false, never>;
        /**
         * Events deposited for the current block.
         *
         * NOTE: The item is unbound and should therefore never be read on chain.
         * It could otherwise inflate the PoV size of a block.
         *
         * Events have a large in-memory size. Box the events to not go out-of-memory
         * just in case someone still reads them from within the runtime.
         */
        Events: StorageDescriptor<[], Anonymize<I51chctpcbqpt0>, false, never>;
        /**
         * The number of events in the `Events<T>` list.
         */
        EventCount: StorageDescriptor<[], number, false, never>;
        /**
         * Mapping between a topic (represented by T::Hash) and a vector of indexes
         * of events in the `<Events<T>>` list.
         *
         * All topic vectors have deterministic storage locations depending on the topic. This
         * allows light-clients to leverage the changes trie storage tracking mechanism and
         * in case of changes fetch the list of events of interest.
         *
         * The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just
         * the `EventIndex` then in case if the topic has the same contents on the next block
         * no notification will be triggered thus the event might be lost.
         */
        EventTopics: StorageDescriptor<[Key: SizedHex<32>], Anonymize<I95g6i7ilua7lq>, false, never>;
        /**
         * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.
         */
        LastRuntimeUpgrade: StorageDescriptor<[], Anonymize<Ieniouoqkq4icf>, true, never>;
        /**
         * True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.
         */
        UpgradedToU32RefCount: StorageDescriptor<[], boolean, false, never>;
        /**
         * True if we have upgraded so that AccountInfo contains three types of `RefCount`. False
         * (default) if not.
         */
        UpgradedToTripleRefCount: StorageDescriptor<[], boolean, false, never>;
        /**
         * The execution phase of the block.
         */
        ExecutionPhase: StorageDescriptor<[], Phase, true, never>;
        /**
         * `Some` if a code upgrade has been authorized.
         */
        AuthorizedUpgrade: StorageDescriptor<[], Anonymize<Ibgl04rn6nbfm6>, true, never>;
        /**
         * The weight reclaimed for the extrinsic.
         *
         * This information is available until the end of the extrinsic execution.
         * More precisely this information is removed in `note_applied_extrinsic`.
         *
         * Logic doing some post dispatch weight reduction must update this storage to avoid duplicate
         * reduction.
         */
        ExtrinsicWeightReclaimed: StorageDescriptor<[], Anonymize<I4q39t5hn830vp>, false, never>;
    };
    Intent: {
        /**
        
         */
        Intents: StorageDescriptor<[Key: bigint], Anonymize<I5hmeclnecr5hf>, true, never>;
        /**
        
         */
        IntentOwner: StorageDescriptor<[Key: bigint], SS58String, true, never>;
        /**
         * Intent id sequencer
         */
        NextIncrementalId: StorageDescriptor<[], bigint, false, never>;
        /**
         * Reverse index mapping account to its intent ids for easy lookup.
         */
        AccountIntents: StorageDescriptor<Anonymize<I95l2k9b1re95f>, null, true, never>;
        /**
         * Number of intents per account.
         */
        AccountIntentCount: StorageDescriptor<[Key: SS58String], number, false, never>;
    };
    ICE: {
        /**
         * Protocol fee taken from each resolved intent's output amount.
         * Defaults to `T::Fee` constant. Can be overridden via `set_protocol_fee`.
         */
        ProtocolFee: StorageDescriptor<[], number, false, never>;
    };
};
type ICalls = {
    Intent: {
        /**
         * Submit intent by user.
         *
         * This extrinsics reserves fund for intents' execution.
         * WARN: partial intents are not supported at the moment and its' creation is not allowed.
         *
         * Parameters:
         * - `intent`: intent's data
         *
         * Emits:
         * - `IntentSubmitted` when successful
         *
         */
        submit_intent: TxDescriptor<Anonymize<Ief08v0p81vcpt>>;
        /**
         * Extrinsic unlocks reserved funds and removes intent.
         *
         * Only intent's owner can cancel intent.
         *
         * Parameters:
         * - `id`: id of intent to be canceled.
         *
         * Emits:
         * - `IntentCanceled` when successful
         *
         */
        remove_intent: TxDescriptor<Anonymize<I4ov6e94l79mbg>>;
        /**
         * Extrinsic removes expired intent, queue intent's on failure callback and unlocks funds.
         *
         * Failure to queue callback for future execution doesn't fail clean up function.
         * This is called automatically from OCW to remove expired intents but it can be called also
         * called by any users.
         *
         * Parameters:
         * - `id`: id of intent to be cleaned up from storage.
         *
         * Emits:
         * - `FailedToQueueCallback` when callback's queuing fails
         * - `IntentExpired` when successful
         */
        cleanup_intent: TxDescriptor<Anonymize<I4ov6e94l79mbg>>;
    };
    ICE: {
        /**
         * Execute `solution` submitted by OCW.
         *
         * Solution can be executed only as a whole solution.
         *
         * Parameters:
         * - `solution`: solution to execute
         *
         * Emits:
         * - `SolutionExecuted`when `solution` was executed successfully
         *
         */
        submit_solution: TxDescriptor<Anonymize<Ib8aunjr0j420u>>;
        /**
         * Set the protocol fee for resolved intents.
         *
         * If `fee` matches the default constant (`T::Fee`), the storage override
         * is removed — there is no need to store the default value.
         *
         * Can only be called by `AuthorityOrigin` (e.g. TechnicalCommittee or Root).
         *
         * Emits `ProtocolFeeSet`.
         */
        set_protocol_fee: TxDescriptor<Anonymize<I62ob1nv137pof>>;
    };
    PolkadotXcm: {
        /**
        
         */
        send: TxDescriptor<Anonymize<Ia5cotcvi888ln>>;
        /**
         * Teleport some assets from the local chain to some destination chain.
         *
         * **This function is deprecated: Use `limited_teleport_assets` instead.**
         *
         * Fee payment on the destination side is made from the asset in the `assets` vector of
         * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,
         * with all fees taken as needed from the asset.
         *
         * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
         * - `dest`: Destination context for the assets. Will typically be `[Parent,
         * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
         * relay to parachain.
         * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
         * generally be an `AccountId32` value.
         * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
         * fee on the `dest` chain.
         * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
         * fees.
         */
        teleport_assets: TxDescriptor<Anonymize<I21jsa919m88fd>>;
        /**
         * Transfer some assets from the local chain to the destination chain through their local,
         * destination or remote reserve.
         *
         * `assets` must have same reserve location and may not be teleportable to `dest`.
         * - `assets` have local reserve: transfer assets to sovereign account of destination
         * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
         * assets to `beneficiary`.
         * - `assets` have destination reserve: burn local assets and forward a notification to
         * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
         * deposit them to `beneficiary`.
         * - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move
         * reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`
         * to mint and deposit reserve-based assets to `beneficiary`.
         *
         * **This function is deprecated: Use `limited_reserve_transfer_assets` instead.**
         *
         * Fee payment on the destination side is made from the asset in the `assets` vector of
         * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,
         * with all fees taken as needed from the asset.
         *
         * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
         * - `dest`: Destination context for the assets. Will typically be `[Parent,
         * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
         * relay to parachain.
         * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
         * generally be an `AccountId32` value.
         * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
         * fee on the `dest` (and possibly reserve) chains.
         * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
         * fees.
         */
        reserve_transfer_assets: TxDescriptor<Anonymize<I21jsa919m88fd>>;
        /**
         * Execute an XCM message from a local, signed, origin.
         *
         * An event is deposited indicating whether `msg` could be executed completely or only
         * partially.
         *
         * No more than `max_weight` will be used in its attempted execution. If this is less than
         * the maximum amount of weight that the message could take to be executed, then no
         * execution attempt will be made.
         */
        execute: TxDescriptor<Anonymize<Iegif7m3upfe1k>>;
        /**
         * Extoll that a particular destination can be communicated with through a particular
         * version of XCM.
         *
         * - `origin`: Must be an origin specified by AdminOrigin.
         * - `location`: The destination that is being described.
         * - `xcm_version`: The latest version of XCM that `location` supports.
         */
        force_xcm_version: TxDescriptor<Anonymize<I9kt8c221c83ln>>;
        /**
         * Set a safe XCM version (the version that XCM should be encoded with if the most recent
         * version a destination can accept is unknown).
         *
         * - `origin`: Must be an origin specified by AdminOrigin.
         * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.
         */
        force_default_xcm_version: TxDescriptor<Anonymize<Ic76kfh5ebqkpl>>;
        /**
         * Ask a location to notify us regarding their XCM version and any changes to it.
         *
         * - `origin`: Must be an origin specified by AdminOrigin.
         * - `location`: The location to which we should subscribe for XCM version notifications.
         */
        force_subscribe_version_notify: TxDescriptor<Anonymize<Icscpmubum33bq>>;
        /**
         * Require that a particular destination should no longer notify us regarding any XCM
         * version changes.
         *
         * - `origin`: Must be an origin specified by AdminOrigin.
         * - `location`: The location to which we are currently subscribed for XCM version
         * notifications which we no longer desire.
         */
        force_unsubscribe_version_notify: TxDescriptor<Anonymize<Icscpmubum33bq>>;
        /**
         * Transfer some assets from the local chain to the destination chain through their local,
         * destination or remote reserve.
         *
         * `assets` must have same reserve location and may not be teleportable to `dest`.
         * - `assets` have local reserve: transfer assets to sovereign account of destination
         * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
         * assets to `beneficiary`.
         * - `assets` have destination reserve: burn local assets and forward a notification to
         * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
         * deposit them to `beneficiary`.
         * - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move
         * reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`
         * to mint and deposit reserve-based assets to `beneficiary`.
         *
         * Fee payment on the destination side is made from the asset in the `assets` vector of
         * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight
         * is needed than `weight_limit`, then the operation will fail and the sent assets may be
         * at risk.
         *
         * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
         * - `dest`: Destination context for the assets. Will typically be `[Parent,
         * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
         * relay to parachain.
         * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
         * generally be an `AccountId32` value.
         * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
         * fee on the `dest` (and possibly reserve) chains.
         * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
         * fees.
         * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
         */
        limited_reserve_transfer_assets: TxDescriptor<Anonymize<I21d2olof7eb60>>;
        /**
         * Teleport some assets from the local chain to some destination chain.
         *
         * Fee payment on the destination side is made from the asset in the `assets` vector of
         * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight
         * is needed than `weight_limit`, then the operation will fail and the sent assets may be
         * at risk.
         *
         * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
         * - `dest`: Destination context for the assets. Will typically be `[Parent,
         * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
         * relay to parachain.
         * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
         * generally be an `AccountId32` value.
         * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
         * fee on the `dest` chain.
         * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
         * fees.
         * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
         */
        limited_teleport_assets: TxDescriptor<Anonymize<I21d2olof7eb60>>;
        /**
         * Set or unset the global suspension state of the XCM executor.
         *
         * - `origin`: Must be an origin specified by AdminOrigin.
         * - `suspended`: `true` to suspend, `false` to resume.
         */
        force_suspension: TxDescriptor<Anonymize<Ibgm4rnf22lal1>>;
        /**
         * Transfer some assets from the local chain to the destination chain through their local,
         * destination or remote reserve, or through teleports.
         *
         * Fee payment on the destination side is made from the asset in the `assets` vector of
         * index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for
         * `weight_limit` of weight. If more weight is needed than `weight_limit`, then the
         * operation will fail and the sent assets may be at risk.
         *
         * `assets` (excluding `fees`) must have same reserve location or otherwise be teleportable
         * to `dest`, no limitations imposed on `fees`.
         * - for local reserve: transfer assets to sovereign account of destination chain and
         * forward a notification XCM to `dest` to mint and deposit reserve-based assets to
         * `beneficiary`.
         * - for destination reserve: burn local assets and forward a notification to `dest` chain
         * to withdraw the reserve assets from this chain's sovereign account and deposit them
         * to `beneficiary`.
         * - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves
         * from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint
         * and deposit reserve-based assets to `beneficiary`.
         * - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport
         * assets and deposit them to `beneficiary`.
         *
         * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
         * - `dest`: Destination context for the assets. Will typically be `X2(Parent,
         * Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send
         * from relay to parachain.
         * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
         * generally be an `AccountId32` value.
         * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
         * fee on the `dest` (and possibly reserve) chains.
         * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
         * fees.
         * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
         */
        transfer_assets: TxDescriptor<Anonymize<I21d2olof7eb60>>;
        /**
         * Claims assets trapped on this pallet because of leftover assets during XCM execution.
         *
         * - `origin`: Anyone can call this extrinsic.
         * - `assets`: The exact assets that were trapped. Use the version to specify what version
         * was the latest when they were trapped.
         * - `beneficiary`: The location/account where the claimed assets will be deposited.
         */
        claim_assets: TxDescriptor<Anonymize<Ie68np0vpihith>>;
        /**
         * Transfer assets from the local chain to the destination chain using explicit transfer
         * types for assets and fees.
         *
         * `assets` must have same reserve location or may be teleportable to `dest`. Caller must
         * provide the `assets_transfer_type` to be used for `assets`:
         * - `TransferType::LocalReserve`: transfer assets to sovereign account of destination
         * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
         * assets to `beneficiary`.
         * - `TransferType::DestinationReserve`: burn local assets and forward a notification to
         * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
         * deposit them to `beneficiary`.
         * - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`
         * chain to move reserves from this chain's SA to `dest` chain's SA, and forward another
         * XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically
         * the remote `reserve` is Asset Hub.
         * - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to
         * mint/teleport assets and deposit them to `beneficiary`.
         *
         * On the destination chain, as well as any intermediary hops, `BuyExecution` is used to
         * buy execution using transferred `assets` identified by `remote_fees_id`.
         * Make sure enough of the specified `remote_fees_id` asset is included in the given list
         * of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight
         * is needed than `weight_limit`, then the operation will fail and the sent assets may be
         * at risk.
         *
         * `remote_fees_id` may use different transfer type than rest of `assets` and can be
         * specified through `fees_transfer_type`.
         *
         * The caller needs to specify what should happen to the transferred assets once they reach
         * the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which
         * contains the instructions to execute on `dest` as a final step.
         * This is usually as simple as:
         * `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,
         * but could be something more exotic like sending the `assets` even further.
         *
         * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
         * - `dest`: Destination context for the assets. Will typically be `[Parent,
         * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
         * relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from
         * parachain across a bridge to another ecosystem destination.
         * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
         * fee on the `dest` (and possibly reserve) chains.
         * - `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.
         * - `remote_fees_id`: One of the included `assets` to be used to pay fees.
         * - `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.
         * - `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the
         * transfer, which also determines what happens to the assets on the destination chain.
         * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
         */
        transfer_assets_using_type_and_then: TxDescriptor<Anonymize<I9bnv6lu0crf1q>>;
        /**
         * Authorize another `aliaser` location to alias into the local `origin` making this call.
         * The `aliaser` is only authorized until the provided `expiry` block number.
         * The call can also be used for a previously authorized alias in order to update its
         * `expiry` block number.
         *
         * Usually useful to allow your local account to be aliased into from a remote location
         * also under your control (like your account on another chain).
         *
         * WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in
         * their/your name. Once authorized using this call, the `aliaser` can freely impersonate
         * `origin` in XCM programs executed on the local chain.
         */
        add_authorized_alias: TxDescriptor<Anonymize<Iauhjqifrdklq7>>;
        /**
         * Remove a previously authorized `aliaser` from the list of locations that can alias into
         * the local `origin` making this call.
         */
        remove_authorized_alias: TxDescriptor<Anonymize<Ie1uso9m8rt5cf>>;
        /**
         * Remove all previously authorized `aliaser`s that can alias into the local `origin`
         * making this call.
         */
        remove_all_authorized_aliases: TxDescriptor<undefined>;
    };
};
type IEvent = {};
type IError = {
    System: {
        /**
         * The name of specification does not match between the current runtime
         * and the new runtime.
         */
        InvalidSpecName: PlainDescriptor<undefined>;
        /**
         * The specification version is not allowed to decrease between the current runtime
         * and the new runtime.
         */
        SpecVersionNeedsToIncrease: PlainDescriptor<undefined>;
        /**
         * Failed to extract the runtime version from the new runtime.
         *
         * Either calling `Core_version` or decoding `RuntimeVersion` failed.
         */
        FailedToExtractRuntimeVersion: PlainDescriptor<undefined>;
        /**
         * Suicide called when the account has non-default composite data.
         */
        NonDefaultComposite: PlainDescriptor<undefined>;
        /**
         * There is a non-zero reference count preventing the account from being purged.
         */
        NonZeroRefCount: PlainDescriptor<undefined>;
        /**
         * The origin filter prevent the call to be dispatched.
         */
        CallFiltered: PlainDescriptor<undefined>;
        /**
         * A multi-block migration is ongoing and prevents the current code from being replaced.
         */
        MultiBlockMigrationsOngoing: PlainDescriptor<undefined>;
        /**
         * No upgrade authorized.
         */
        NothingAuthorized: PlainDescriptor<undefined>;
        /**
         * The submitted code is not authorized.
         */
        Unauthorized: PlainDescriptor<undefined>;
    };
    Balances: {
        /**
         * Vesting balance too high to send value.
         */
        VestingBalance: PlainDescriptor<undefined>;
        /**
         * Account liquidity restrictions prevent withdrawal.
         */
        LiquidityRestrictions: PlainDescriptor<undefined>;
        /**
         * Balance too low to send value.
         */
        InsufficientBalance: PlainDescriptor<undefined>;
        /**
         * Value too low to create account due to existential deposit.
         */
        ExistentialDeposit: PlainDescriptor<undefined>;
        /**
         * Transfer/payment would kill account.
         */
        Expendability: PlainDescriptor<undefined>;
        /**
         * A vesting schedule already exists for this account.
         */
        ExistingVestingSchedule: PlainDescriptor<undefined>;
        /**
         * Beneficiary account must pre-exist.
         */
        DeadAccount: PlainDescriptor<undefined>;
        /**
         * Number of named reserves exceed `MaxReserves`.
         */
        TooManyReserves: PlainDescriptor<undefined>;
        /**
         * Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`.
         */
        TooManyHolds: PlainDescriptor<undefined>;
        /**
         * Number of freezes exceed `MaxFreezes`.
         */
        TooManyFreezes: PlainDescriptor<undefined>;
        /**
         * The issuance cannot be modified since it is already deactivated.
         */
        IssuanceDeactivated: PlainDescriptor<undefined>;
        /**
         * The delta cannot be zero.
         */
        DeltaZero: PlainDescriptor<undefined>;
    };
    MultiTransactionPayment: {
        /**
         * Selected currency is not supported.
         */
        UnsupportedCurrency: PlainDescriptor<undefined>;
        /**
         * Account balance should be non-zero.
         */
        ZeroBalance: PlainDescriptor<undefined>;
        /**
         * Currency is already in the list of accepted currencies.
         */
        AlreadyAccepted: PlainDescriptor<undefined>;
        /**
         * It is not allowed to add Core Asset as accepted currency. Core asset is accepted by design.
         */
        CoreAssetNotAllowed: PlainDescriptor<undefined>;
        /**
         * Fallback price cannot be zero.
         */
        ZeroPrice: PlainDescriptor<undefined>;
        /**
         * Fallback price was not found.
         */
        FallbackPriceNotFound: PlainDescriptor<undefined>;
        /**
         * Math overflow
         */
        Overflow: PlainDescriptor<undefined>;
        /**
         * It is not allowed to change payment currency of an EVM account.
         */
        EvmAccountNotAllowed: PlainDescriptor<undefined>;
        /**
         * EVM permit expired.
         */
        EvmPermitExpired: PlainDescriptor<undefined>;
        /**
         * EVM permit is invalid.
         */
        EvmPermitInvalid: PlainDescriptor<undefined>;
        /**
         * EVM permit call failed.
         */
        EvmPermitCallExecutionError: PlainDescriptor<undefined>;
        /**
         * EVM permit call failed.
         */
        EvmPermitRunnerError: PlainDescriptor<undefined>;
        /**
         * EVM permit must not affect account nonce.
         */
        EvmPermitNonceInvariantViolated: PlainDescriptor<undefined>;
    };
    Treasury: {
        /**
         * No proposal, bounty or spend at that index.
         */
        InvalidIndex: PlainDescriptor<undefined>;
        /**
         * Too many approvals in the queue.
         */
        TooManyApprovals: PlainDescriptor<undefined>;
        /**
         * The spend origin is valid but the amount it is allowed to spend is lower than the
         * amount to be spent.
         */
        InsufficientPermission: PlainDescriptor<undefined>;
        /**
         * Proposal has not been approved.
         */
        ProposalNotApproved: PlainDescriptor<undefined>;
        /**
         * The balance of the asset kind is not convertible to the balance of the native asset.
         */
        FailedToConvertBalance: PlainDescriptor<undefined>;
        /**
         * The spend has expired and cannot be claimed.
         */
        SpendExpired: PlainDescriptor<undefined>;
        /**
         * The spend is not yet eligible for payout.
         */
        EarlyPayout: PlainDescriptor<undefined>;
        /**
         * The payment has already been attempted.
         */
        AlreadyAttempted: PlainDescriptor<undefined>;
        /**
         * There was some issue with the mechanism of payment.
         */
        PayoutError: PlainDescriptor<undefined>;
        /**
         * The payout was not yet attempted/claimed.
         */
        NotAttempted: PlainDescriptor<undefined>;
        /**
         * The payment has neither failed nor succeeded yet.
         */
        Inconclusive: PlainDescriptor<undefined>;
    };
    Utility: {
        /**
         * Too many calls batched.
         */
        TooManyCalls: PlainDescriptor<undefined>;
    };
    Preimage: {
        /**
         * Preimage is too large to store on-chain.
         */
        TooBig: PlainDescriptor<undefined>;
        /**
         * Preimage has already been noted on-chain.
         */
        AlreadyNoted: PlainDescriptor<undefined>;
        /**
         * The user is not authorized to perform this action.
         */
        NotAuthorized: PlainDescriptor<undefined>;
        /**
         * The preimage cannot be removed since it has not yet been noted.
         */
        NotNoted: PlainDescriptor<undefined>;
        /**
         * A preimage may not be removed when there are outstanding requests.
         */
        Requested: PlainDescriptor<undefined>;
        /**
         * The preimage request cannot be removed since no outstanding requests exist.
         */
        NotRequested: PlainDescriptor<undefined>;
        /**
         * More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once.
         */
        TooMany: PlainDescriptor<undefined>;
        /**
         * Too few hashes were requested to be upgraded (i.e. zero).
         */
        TooFew: PlainDescriptor<undefined>;
    };
    Identity: {
        /**
         * Too many subs-accounts.
         */
        TooManySubAccounts: PlainDescriptor<undefined>;
        /**
         * Account isn't found.
         */
        NotFound: PlainDescriptor<undefined>;
        /**
         * Account isn't named.
         */
        NotNamed: PlainDescriptor<undefined>;
        /**
         * Empty index.
         */
        EmptyIndex: PlainDescriptor<undefined>;
        /**
         * Fee is changed.
         */
        FeeChanged: PlainDescriptor<undefined>;
        /**
         * No identity found.
         */
        NoIdentity: PlainDescriptor<undefined>;
        /**
         * Sticky judgement.
         */
        StickyJudgement: PlainDescriptor<undefined>;
        /**
         * Judgement given.
         */
        JudgementGiven: PlainDescriptor<undefined>;
        /**
         * Invalid judgement.
         */
        InvalidJudgement: PlainDescriptor<undefined>;
        /**
         * The index is invalid.
         */
        InvalidIndex: PlainDescriptor<undefined>;
        /**
         * The target is invalid.
         */
        InvalidTarget: PlainDescriptor<undefined>;
        /**
         * Maximum amount of registrars reached. Cannot add any more.
         */
        TooManyRegistrars: PlainDescriptor<undefined>;
        /**
         * Account ID is already named.
         */
        AlreadyClaimed: PlainDescriptor<undefined>;
        /**
         * Sender is not a sub-account.
         */
        NotSub: PlainDescriptor<undefined>;
        /**
         * Sub-account isn't owned by sender.
         */
        NotOwned: PlainDescriptor<undefined>;
        /**
         * The provided judgement was for a different identity.
         */
        JudgementForDifferentIdentity: PlainDescriptor<undefined>;
        /**
         * Error that occurs when there is an issue paying for judgement.
         */
        JudgementPaymentFailed: PlainDescriptor<undefined>;
        /**
         * The provided suffix is too long.
         */
        InvalidSuffix: PlainDescriptor<undefined>;
        /**
         * The sender does not have permission to issue a username.
         */
        NotUsernameAuthority: PlainDescriptor<undefined>;
        /**
         * The authority cannot allocate any more usernames.
         */
        NoAllocation: PlainDescriptor<undefined>;
        /**
         * The signature on a username was not valid.
         */
        InvalidSignature: PlainDescriptor<undefined>;
        /**
         * Setting this username requires a signature, but none was provided.
         */
        RequiresSignature: PlainDescriptor<undefined>;
        /**
         * The username does not meet the requirements.
         */
        InvalidUsername: PlainDescriptor<undefined>;
        /**
         * The username is already taken.
         */
        UsernameTaken: PlainDescriptor<undefined>;
        /**
         * The requested username does not exist.
         */
        NoUsername: PlainDescriptor<undefined>;
        /**
         * The username cannot be forcefully removed because it can still be accepted.
         */
        NotExpired: PlainDescriptor<undefined>;
        /**
         * The username cannot be removed because it's still in the grace period.
         */
        TooEarly: PlainDescriptor<undefined>;
        /**
         * The username cannot be removed because it is not unbinding.
         */
        NotUnbinding: PlainDescriptor<undefined>;
        /**
         * The username cannot be unbound because it is already unbinding.
         */
        AlreadyUnbinding: PlainDescriptor<undefined>;
        /**
         * The action cannot be performed because of insufficient privileges (e.g. authority
         * trying to unbind a username provided by the system).
         */
        InsufficientPrivileges: PlainDescriptor<undefined>;
    };
    Democracy: {
        /**
         * Value too low
         */
        ValueLow: PlainDescriptor<undefined>;
        /**
         * Proposal does not exist
         */
        ProposalMissing: PlainDescriptor<undefined>;
        /**
         * Cannot cancel the same proposal twice
         */
        AlreadyCanceled: PlainDescriptor<undefined>;
        /**
         * Proposal already made
         */
        DuplicateProposal: PlainDescriptor<undefined>;
        /**
         * Proposal still blacklisted
         */
        ProposalBlacklisted: PlainDescriptor<undefined>;
        /**
         * Next external proposal not simple majority
         */
        NotSimpleMajority: PlainDescriptor<undefined>;
        /**
         * Invalid hash
         */
        InvalidHash: PlainDescriptor<undefined>;
        /**
         * No external proposal
         */
        NoProposal: PlainDescriptor<undefined>;
        /**
         * Identity may not veto a proposal twice
         */
        AlreadyVetoed: PlainDescriptor<undefined>;
        /**
         * Vote given for invalid referendum
         */
        ReferendumInvalid: PlainDescriptor<undefined>;
        /**
         * No proposals waiting
         */
        NoneWaiting: PlainDescriptor<undefined>;
        /**
         * The given account did not vote on the referendum.
         */
        NotVoter: PlainDescriptor<undefined>;
        /**
         * The actor has no permission to conduct the action.
         */
        NoPermission: PlainDescriptor<undefined>;
        /**
         * The account is already delegating.
         */
        AlreadyDelegating: PlainDescriptor<undefined>;
        /**
         * Too high a balance was provided that the account cannot afford.
         */
        InsufficientFunds: PlainDescriptor<undefined>;
        /**
         * The account is not currently delegating.
         */
        NotDelegating: PlainDescriptor<undefined>;
        /**
         * The account currently has votes attached to it and the operation cannot succeed until
         * these are removed, either through `unvote` or `reap_vote`.
         */
        VotesExist: PlainDescriptor<undefined>;
        /**
         * The instant referendum origin is currently disallowed.
         */
        InstantNotAllowed: PlainDescriptor<undefined>;
        /**
         * Delegation to oneself makes no sense.
         */
        Nonsense: PlainDescriptor<undefined>;
        /**
         * Invalid upper bound.
         */
        WrongUpperBound: PlainDescriptor<undefined>;
        /**
         * Maximum number of votes reached.
         */
        MaxVotesReached: PlainDescriptor<undefined>;
        /**
         * Maximum number of items reached.
         */
        TooMany: PlainDescriptor<undefined>;
        /**
         * Voting period too low
         */
        VotingPeriodLow: PlainDescriptor<undefined>;
        /**
         * The preimage does not exist.
         */
        PreimageNotExist: PlainDescriptor<undefined>;
    };
    TechnicalCommittee: {
        /**
         * Account is not a member
         */
        NotMember: PlainDescriptor<undefined>;
        /**
         * Duplicate proposals not allowed
         */
        DuplicateProposal: PlainDescriptor<undefined>;
        /**
         * Proposal must exist
         */
        ProposalMissing: PlainDescriptor<undefined>;
        /**
         * Mismatched index
         */
        WrongIndex: PlainDescriptor<undefined>;
        /**
         * Duplicate vote ignored
         */
        DuplicateVote: PlainDescriptor<undefined>;
        /**
         * Members are already initialized!
         */
        AlreadyInitialized: PlainDescriptor<undefined>;
        /**
         * The close call was made too early, before the end of the voting.
         */
        TooEarly: PlainDescriptor<undefined>;
        /**
         * There can only be a maximum of `MaxProposals` active proposals.
         */
        TooManyProposals: PlainDescriptor<undefined>;
        /**
         * The given weight bound for the proposal was too low.
         */
        WrongProposalWeight: PlainDescriptor<undefined>;
        /**
         * The given length bound for the proposal was too low.
         */
        WrongProposalLength: PlainDescriptor<undefined>;
        /**
         * Prime account is not a member
         */
        PrimeAccountNotMember: PlainDescriptor<undefined>;
        /**
         * Proposal is still active.
         */
        ProposalActive: PlainDescriptor<undefined>;
    };
    Proxy: {
        /**
         * There are too many proxies registered or too many announcements pending.
         */
        TooMany: PlainDescriptor<undefined>;
        /**
         * Proxy registration not found.
         */
        NotFound: PlainDescriptor<undefined>;
        /**
         * Sender is not a proxy of the account to be proxied.
         */
        NotProxy: PlainDescriptor<undefined>;
        /**
         * A call which is incompatible with the proxy type's filter was attempted.
         */
        Unproxyable: PlainDescriptor<undefined>;
        /**
         * Account is already a proxy.
         */
        Duplicate: PlainDescriptor<undefined>;
        /**
         * Call may not be made by proxy because it may escalate its privileges.
         */
        NoPermission: PlainDescriptor<undefined>;
        /**
         * Announcement, if made at all, was made too recently.
         */
        Unannounced: PlainDescriptor<undefined>;
        /**
         * Cannot add self as proxy.
         */
        NoSelfProxy: PlainDescriptor<undefined>;
    };
    Multisig: {
        /**
         * Threshold must be 2 or greater.
         */
        MinimumThreshold: PlainDescriptor<undefined>;
        /**
         * Call is already approved by this signatory.
         */
        AlreadyApproved: PlainDescriptor<undefined>;
        /**
         * Call doesn't need any (more) approvals.
         */
        NoApprovalsNeeded: PlainDescriptor<undefined>;
        /**
         * There are too few signatories in the list.
         */
        TooFewSignatories: PlainDescriptor<undefined>;
        /**
         * There are too many signatories in the list.
         */
        TooManySignatories: PlainDescriptor<undefined>;
        /**
         * The signatories were provided out of order; they should be ordered.
         */
        SignatoriesOutOfOrder: PlainDescriptor<undefined>;
        /**
         * The sender was contained in the other signatories; it shouldn't be.
         */
        SenderInSignatories: PlainDescriptor<undefined>;
        /**
         * Multisig operation not found in storage.
         */
        NotFound: PlainDescriptor<undefined>;
        /**
         * Only the account that originally created the multisig is able to cancel it or update
         * its deposits.
         */
        NotOwner: PlainDescriptor<undefined>;
        /**
         * No timepoint was given, yet the multisig operation is already underway.
         */
        NoTimepoint: PlainDescriptor<undefined>;
        /**
         * A different timepoint was given to the multisig operation that is underway.
         */
        WrongTimepoint: PlainDescriptor<undefined>;
        /**
         * A timepoint was given, yet no multisig operation is underway.
         */
        UnexpectedTimepoint: PlainDescriptor<undefined>;
        /**
         * The maximum weight information provided was too low.
         */
        MaxWeightTooLow: PlainDescriptor<undefined>;
        /**
         * The data to be stored is already stored.
         */
        AlreadyStored: PlainDescriptor<undefined>;
    };
    Uniques: {
        /**
         * The signing account has no permission to do the operation.
         */
        NoPermission: PlainDescriptor<undefined>;
        /**
         * The given item ID is unknown.
         */
        UnknownCollection: PlainDescriptor<undefined>;
        /**
         * The item ID has already been used for an item.
         */
        AlreadyExists: PlainDescriptor<undefined>;
        /**
         * The owner turned out to be different to what was expected.
         */
        WrongOwner: PlainDescriptor<undefined>;
        /**
         * Invalid witness data given.
         */
        BadWitness: PlainDescriptor<undefined>;
        /**
         * The item ID is already taken.
         */
        InUse: PlainDescriptor<undefined>;
        /**
         * The item or collection is frozen.
         */
        Frozen: PlainDescriptor<undefined>;
        /**
         * The delegate turned out to be different to what was expected.
         */
        WrongDelegate: PlainDescriptor<undefined>;
        /**
         * There is no delegate approved.
         */
        NoDelegate: PlainDescriptor<undefined>;
        /**
         * No approval exists that would allow the transfer.
         */
        Unapproved: PlainDescriptor<undefined>;
        /**
         * The named owner has not signed ownership of the collection is acceptable.
         */
        Unaccepted: PlainDescriptor<undefined>;
        /**
         * The item is locked.
         */
        Locked: PlainDescriptor<undefined>;
        /**
         * All items have been minted.
         */
        MaxSupplyReached: PlainDescriptor<undefined>;
        /**
         * The max supply has already been set.
         */
        MaxSupplyAlreadySet: PlainDescriptor<undefined>;
        /**
         * The provided max supply is less to the amount of items a collection already has.
         */
        MaxSupplyTooSmall: PlainDescriptor<undefined>;
        /**
         * The given item ID is unknown.
         */
        UnknownItem: PlainDescriptor<undefined>;
        /**
         * Item is not for sale.
         */
        NotForSale: PlainDescriptor<undefined>;
        /**
         * The provided bid is too low.
         */
        BidTooLow: PlainDescriptor<undefined>;
        /**
         * No metadata is found.
         */
        NoMetadata: PlainDescriptor<undefined>;
        /**
         * Wrong metadata key/value bytes supplied.
         */
        WrongMetadata: PlainDescriptor<undefined>;
        /**
         * An attribute is not found.
         */
        AttributeNotFound: PlainDescriptor<undefined>;
        /**
         * Wrong attribute key/value bytes supplied.
         */
        WrongAttribute: PlainDescriptor<undefined>;
    };
    StateTrieMigration: {
        /**
         * Max signed limits not respected.
         */
        MaxSignedLimits: PlainDescriptor<undefined>;
        /**
         * A key was longer than the configured maximum.
         *
         * This means that the migration halted at the current [`Progress`] and
         * can be resumed with a larger [`crate::Config::MaxKeyLen`] value.
         * Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.
         * The value should only be increased to avoid a storage migration for the currently
         * stored [`crate::Progress::LastKey`].
         */
        KeyTooLong: PlainDescriptor<undefined>;
        /**
         * submitter does not have enough funds.
         */
        NotEnoughFunds: PlainDescriptor<undefined>;
        /**
         * Bad witness data provided.
         */
        BadWitness: PlainDescriptor<undefined>;
        /**
         * Signed migration is not allowed because the maximum limit is not set yet.
         */
        SignedMigrationNotAllowed: PlainDescriptor<undefined>;
        /**
         * Bad child root provided.
         */
        BadChildRoot: PlainDescriptor<undefined>;
    };
    ConvictionVoting: {
        /**
         * Poll is not ongoing.
         */
        NotOngoing: PlainDescriptor<undefined>;
        /**
         * The given account did not vote on the poll.
         */
        NotVoter: PlainDescriptor<undefined>;
        /**
         * The actor has no permission to conduct the action.
         */
        NoPermission: PlainDescriptor<undefined>;
        /**
         * The actor has no permission to conduct the action right now but will do in the future.
         */
        NoPermissionYet: PlainDescriptor<undefined>;
        /**
         * The account is already delegating.
         */
        AlreadyDelegating: PlainDescriptor<undefined>;
        /**
         * The account currently has votes attached to it and the operation cannot succeed until
         * these are removed through `remove_vote`.
         */
        AlreadyVoting: PlainDescriptor<undefined>;
        /**
         * Too high a balance was provided that the account cannot afford.
         */
        InsufficientFunds: PlainDescriptor<undefined>;
        /**
         * The account is not currently delegating.
         */
        NotDelegating: PlainDescriptor<undefined>;
        /**
         * Delegation to oneself makes no sense.
         */
        Nonsense: PlainDescriptor<undefined>;
        /**
         * Maximum number of votes reached.
         */
        MaxVotesReached: PlainDescriptor<undefined>;
        /**
         * The class must be supplied since it is not easily determinable from the state.
         */
        ClassNeeded: PlainDescriptor<undefined>;
        /**
         * The class ID supplied is invalid.
         */
        BadClass: PlainDescriptor<undefined>;
    };
    Referenda: {
        /**
         * Referendum is not ongoing.
         */
        NotOngoing: PlainDescriptor<undefined>;
        /**
         * Referendum's decision deposit is already paid.
         */
        HasDeposit: PlainDescriptor<undefined>;
        /**
         * The track identifier given was invalid.
         */
        BadTrack: PlainDescriptor<undefined>;
        /**
         * There are already a full complement of referenda in progress for this track.
         */
        Full: PlainDescriptor<undefined>;
        /**
         * The queue of the track is empty.
         */
        QueueEmpty: PlainDescriptor<undefined>;
        /**
         * The referendum index provided is invalid in this context.
         */
        BadReferendum: PlainDescriptor<undefined>;
        /**
         * There was nothing to do in the advancement.
         */
        NothingToDo: PlainDescriptor<undefined>;
        /**
         * No track exists for the proposal origin.
         */
        NoTrack: PlainDescriptor<undefined>;
        /**
         * Any deposit cannot be refunded until after the decision is over.
         */
        Unfinished: PlainDescriptor<undefined>;
        /**
         * The deposit refunder is not the depositor.
         */
        NoPermission: PlainDescriptor<undefined>;
        /**
         * The deposit cannot be refunded since none was made.
         */
        NoDeposit: PlainDescriptor<undefined>;
        /**
         * The referendum status is invalid for this operation.
         */
        BadStatus: PlainDescriptor<undefined>;
        /**
         * The preimage does not exist.
         */
        PreimageNotExist: PlainDescriptor<undefined>;
        /**
         * The preimage is stored with a different length than the one provided.
         */
        PreimageStoredWithDifferentLength: PlainDescriptor<undefined>;
    };
    Whitelist: {
        /**
         * The preimage of the call hash could not be loaded.
         */
        UnavailablePreImage: PlainDescriptor<undefined>;
        /**
         * The call could not be decoded.
         */
        UndecodableCall: PlainDescriptor<undefined>;
        /**
         * The weight of the decoded call was higher than the witness.
         */
        InvalidCallWeightWitness: PlainDescriptor<undefined>;
        /**
         * The call was not whitelisted.
         */
        CallIsNotWhitelisted: PlainDescriptor<undefined>;
        /**
         * The call was already whitelisted; No-Op.
         */
        CallAlreadyWhitelisted: PlainDescriptor<undefined>;
    };
    Dispatcher: {
        /**
         * The EVM call execution failed. This happens when the EVM returns an exit reason
         * other than `ExitSucceed(Returned)` or `ExitSucceed(Stopped)`.
         */
        EvmCallFailed: PlainDescriptor<undefined>;
        /**
         * The provided call is not an EVM call. This extrinsic only accepts `pallet_evm::Call::call`.
         */
        NotEvmCall: PlainDescriptor<undefined>;
        /**
         * The EVM call ran out of gas.
         */
        EvmOutOfGas: PlainDescriptor<undefined>;
        /**
         * The EVM call resulted in an arithmetic overflow or underflow.
         */
        EvmArithmeticOverflowOrUnderflow: PlainDescriptor<undefined>;
        /**
         * Aave - supply cap has been exceeded.
         */
        AaveSupplyCapExceeded: PlainDescriptor<undefined>;
        /**
         * Aave - borrow cap has been exceeded.
         */
        AaveBorrowCapExceeded: PlainDescriptor<undefined>;
        /**
         * Aave - health factor is not below the threshold.
         */
        AaveHealthFactorNotBelowThreshold: PlainDescriptor<undefined>;
        /**
         * Aave - health factor is lesser than the liquidation threshold
         */
        AaveHealthFactorLowerThanLiquidationThreshold: PlainDescriptor<undefined>;
        /**
         * Aave - there is not enough collateral to cover a new borrow
         */
        CollateralCannotCoverNewBorrow: PlainDescriptor<undefined>;
        /**
         * Aave - the reserve is paused and no operations are allowed
         */
        AaveReservePaused: PlainDescriptor<undefined>;
    };
    AssetRegistry: {
        /**
         * Asset ID is not available. This only happens when it reaches the MAX value of given id type.
         */
        NoIdAvailable: PlainDescriptor<undefined>;
        /**
         * Invalid asset name or symbol.
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * Length of name or symbol is less than min. length.
         */
        TooShort: PlainDescriptor<undefined>;
        /**
         * Asset's symbol can't contain whitespace characters .
         */
        InvalidSymbol: PlainDescriptor<undefined>;
        /**
         * Asset ID is not registered in the asset-registry.
         */
        AssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Asset is already registered.
         */
        AssetAlreadyRegistered: PlainDescriptor<undefined>;
        /**
         * Incorrect number of assets provided to create shared asset.
         */
        InvalidSharedAssetLen: PlainDescriptor<undefined>;
        /**
         * Cannot update asset location.
         */
        CannotUpdateLocation: PlainDescriptor<undefined>;
        /**
         * Selected asset id is out of reserved range.
         */
        NotInReservedRange: PlainDescriptor<undefined>;
        /**
         * Location already registered with different asset.
         */
        LocationAlreadyRegistered: PlainDescriptor<undefined>;
        /**
         * Origin is forbidden to set/update value.
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Balance too low.
         */
        InsufficientBalance: PlainDescriptor<undefined>;
        /**
         * Sufficient assets can't be changed to insufficient.
         */
        ForbiddenSufficiencyChange: PlainDescriptor<undefined>;
        /**
         * Asset is already banned.
         */
        AssetAlreadyBanned: PlainDescriptor<undefined>;
        /**
         * Asset is not banned.
         */
        AssetNotBanned: PlainDescriptor<undefined>;
    };
    Claims: {
        /**
         * Ethereum signature is not valid
         */
        InvalidEthereumSignature: PlainDescriptor<undefined>;
        /**
         * Claim is not valid
         */
        NoClaimOrAlreadyClaimed: PlainDescriptor<undefined>;
        /**
         * Value reached maximum and cannot be incremented further
         */
        BalanceOverflow: PlainDescriptor<undefined>;
    };
    Omnipool: {
        /**
         * Balance too low
         */
        InsufficientBalance: PlainDescriptor<undefined>;
        /**
         * Asset is already in omnipool
         */
        AssetAlreadyAdded: PlainDescriptor<undefined>;
        /**
         * Asset is not in omnipool
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * Failed to add token to Omnipool due to insufficient initial liquidity.
         */
        MissingBalance: PlainDescriptor<undefined>;
        /**
         * Invalid initial asset price.
         */
        InvalidInitialAssetPrice: PlainDescriptor<undefined>;
        /**
         * Slippage protection - minimum limit has not been reached.
         */
        BuyLimitNotReached: PlainDescriptor<undefined>;
        /**
         * Slippage protection - maximum limit has been exceeded.
         */
        SellLimitExceeded: PlainDescriptor<undefined>;
        /**
         * Position has not been found.
         */
        PositionNotFound: PlainDescriptor<undefined>;
        /**
         * Insufficient shares in position
         */
        InsufficientShares: PlainDescriptor<undefined>;
        /**
         * Asset is not allowed to be traded.
         */
        NotAllowed: PlainDescriptor<undefined>;
        /**
         * Signed account is not owner of position instance.
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Asset weight cap has been exceeded.
         */
        AssetWeightCapExceeded: PlainDescriptor<undefined>;
        /**
         * Asset is not registered in asset registry
         */
        AssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Provided liquidity is below minimum allowed limit
         */
        InsufficientLiquidity: PlainDescriptor<undefined>;
        /**
         * Traded amount is below minimum allowed limit
         */
        InsufficientTradingAmount: PlainDescriptor<undefined>;
        /**
         * Sell or buy with same asset ids is not allowed.
         */
        SameAssetTradeNotAllowed: PlainDescriptor<undefined>;
        /**
         * Hub asset reserve update after trade resulted in unexpected Decrease.
         */
        HubAssetUpdateError: PlainDescriptor<undefined>;
        /**
         * Amount of shares provided cannot be 0.
         */
        InvalidSharesAmount: PlainDescriptor<undefined>;
        /**
         * Hub asset is only allowed to be sold.
         */
        InvalidHubAssetTradableState: PlainDescriptor<undefined>;
        /**
         * Asset is not allowed to be refunded.
         */
        AssetRefundNotAllowed: PlainDescriptor<undefined>;
        /**
         * Max fraction of asset to buy has been exceeded.
         */
        MaxOutRatioExceeded: PlainDescriptor<undefined>;
        /**
         * Max fraction of asset to sell has been exceeded.
         */
        MaxInRatioExceeded: PlainDescriptor<undefined>;
        /**
         * Max allowed price difference has been exceeded.
         */
        PriceDifferenceTooHigh: PlainDescriptor<undefined>;
        /**
         * Invalid oracle price - division by zero.
         */
        InvalidOraclePrice: PlainDescriptor<undefined>;
        /**
         * Failed to calculate withdrawal fee.
         */
        InvalidWithdrawalFee: PlainDescriptor<undefined>;
        /**
         * More than allowed amount of fee has been transferred.
         */
        FeeOverdraft: PlainDescriptor<undefined>;
        /**
         * Token cannot be removed from Omnipool due to shares still owned by other users.
         */
        SharesRemaining: PlainDescriptor<undefined>;
        /**
         * Token cannot be removed from Omnipool because asset is not frozen.
         */
        AssetNotFrozen: PlainDescriptor<undefined>;
        /**
         * Calculated amount out from sell trade is zero.
         */
        ZeroAmountOut: PlainDescriptor<undefined>;
        /**
         * Existential deposit of asset is not available.
         */
        ExistentialDepositNotAvailable: PlainDescriptor<undefined>;
        /**
         * Slippage protection
         */
        SlippageLimit: PlainDescriptor<undefined>;
        /**
         * Extra protocol fee has not been consumed.
         */
        ProtocolFeeNotConsumed: PlainDescriptor<undefined>;
        /**
         * Slip fee configuration exceeds the allowed maximum (50%).
         */
        MaxSlipFeeTooHigh: PlainDescriptor<undefined>;
        /**
         * Invariant check failed inside a trade or liquidity operation.
         */
        InvariantError: PlainDescriptor<undefined>;
        /**
         * Hub asset free balance in the protocol account is less than the sum of recorded
         * asset hub reserves. Indicates corrupted hub-asset accounting; should never happen.
         */
        InvalidOmnipoolHubReserve: PlainDescriptor<undefined>;
    };
    TransactionPause: {
        /**
         * can not pause
         */
        CannotPause: PlainDescriptor<undefined>;
        /**
         * invalid character encoding
         */
        InvalidCharacter: PlainDescriptor<undefined>;
        /**
         * pallet name or function name is too long
         */
        NameTooLong: PlainDescriptor<undefined>;
    };
    Duster: {
        /**
         * Account is excluded from dusting.
         */
        AccountWhitelisted: PlainDescriptor<undefined>;
        /**
         * Account is not present in the non-dustable list.
         */
        AccountNotWhitelisted: PlainDescriptor<undefined>;
        /**
         * The balance is zero.
         */
        ZeroBalance: PlainDescriptor<undefined>;
        /**
         * The balance was not fully dusted, there is some leftover on the account. Normally, it should never happen.
         */
        NonZeroBalance: PlainDescriptor<undefined>;
        /**
         * The balance is sufficient to keep account open.
         */
        BalanceSufficient: PlainDescriptor<undefined>;
        /**
         * Reserve account is not set.
         */
        ReserveAccountNotSet: PlainDescriptor<undefined>;
    };
    OmnipoolWarehouseLM: {
        /**
         * Global farm does not exist.
         */
        GlobalFarmNotFound: PlainDescriptor<undefined>;
        /**
         * Yield farm does not exist.
         */
        YieldFarmNotFound: PlainDescriptor<undefined>;
        /**
         * Multiple claims in the same period is not allowed.
         */
        DoubleClaimInPeriod: PlainDescriptor<undefined>;
        /**
         * Liquidity mining is canceled.
         */
        LiquidityMiningCanceled: PlainDescriptor<undefined>;
        /**
         * Liquidity mining is not canceled.
         */
        LiquidityMiningIsActive: PlainDescriptor<undefined>;
        /**
         * Liquidity mining is in `active` or `terminated` state and action cannot be completed.
         */
        LiquidityMiningIsNotStopped: PlainDescriptor<undefined>;
        /**
         * Account is not allowed to perform action.
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Yield farm multiplier can't be 0.
         */
        InvalidMultiplier: PlainDescriptor<undefined>;
        /**
         * Yield farm with given `amm_pool_id` already exists in global farm.
         */
        YieldFarmAlreadyExists: PlainDescriptor<undefined>;
        /**
         * Loyalty curve's initial reward percentage is not valid. Valid range is: [0, 1).
         */
        InvalidInitialRewardPercentage: PlainDescriptor<undefined>;
        /**
         * One or more yield farms exist in global farm.
         */
        GlobalFarmIsNotEmpty: PlainDescriptor<undefined>;
        /**
         * Farm's `incentivized_asset` is missing in provided asset pair.
         */
        MissingIncentivizedAsset: PlainDescriptor<undefined>;
        /**
         * Reward currency balance is not sufficient.
         */
        InsufficientRewardCurrencyBalance: PlainDescriptor<undefined>;
        /**
         * Blocks per period can't be 0.
         */
        InvalidBlocksPerPeriod: PlainDescriptor<undefined>;
        /**
         * Yield per period can't be 0.
         */
        InvalidYieldPerPeriod: PlainDescriptor<undefined>;
        /**
         * Total rewards is less than `MinTotalFarmRewards`.
         */
        InvalidTotalRewards: PlainDescriptor<undefined>;
        /**
         * Planned yielding periods is less than `MinPlannedYieldingPeriods`.
         */
        InvalidPlannedYieldingPeriods: PlainDescriptor<undefined>;
        /**
         * Maximum number of locks reached for deposit.
         */
        MaxEntriesPerDeposit: PlainDescriptor<undefined>;
        /**
         * Trying to lock LP shares into already locked yield farm.
         */
        DoubleLock: PlainDescriptor<undefined>;
        /**
         * Yield farm entry doesn't exist for given deposit.
         */
        YieldFarmEntryNotFound: PlainDescriptor<undefined>;
        /**
         * Max number of yield farms in global farm was reached. Global farm can't accept new
         * yield farms until some yield farm is not removed from storage.
         */
        GlobalFarmIsFull: PlainDescriptor<undefined>;
        /**
         * Invalid min. deposit was set for global farm.
         */
        InvalidMinDeposit: PlainDescriptor<undefined>;
        /**
         * Price adjustment multiplier can't be 0.
         */
        InvalidPriceAdjustment: PlainDescriptor<undefined>;
        /**
         * Account creation from id failed.
         */
        ErrorGetAccountId: PlainDescriptor<undefined>;
        /**
         * Value of deposited shares amount in reward currency is bellow min. limit.
         */
        IncorrectValuedShares: PlainDescriptor<undefined>;
        /**
         * `reward_currency` is not registered in asset registry.
         */
        RewardCurrencyNotRegistered: PlainDescriptor<undefined>;
        /**
         * `incentivized_asset` is not registered in asset registry.
         */
        IncentivizedAssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Provided `amm_pool_id` doesn't match deposit's `amm_pool_id`.
         */
        AmmPoolIdMismatch: PlainDescriptor<undefined>;
        /**
         * Action cannot be completed because unexpected error has occurred. This should be reported
         * to protocol maintainers.
         */
        InconsistentState: PlainDescriptor<Anonymize<Ibplkiqg5rvr3e>>;
    };
    OmnipoolLiquidityMining: {
        /**
         * Asset is not in the omnipool.
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * Signed account is not owner of the deposit.
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Rewards to claim are 0.
         */
        ZeroClaimedRewards: PlainDescriptor<undefined>;
        /**
         * Action cannot be completed because unexpected error has occurred. This should be reported
         * to protocol maintainers.
         */
        InconsistentState: PlainDescriptor<Anonymize<Icnmrtlo128skq>>;
        /**
         * Oracle could not be found for requested assets.
         */
        OracleNotAvailable: PlainDescriptor<undefined>;
        /**
         * Oracle providing `price_adjustment` could not be found for requested assets.
         */
        PriceAdjustmentNotAvailable: PlainDescriptor<undefined>;
        /**
         * No farms specified to join
         */
        NoFarmEntriesSpecified: PlainDescriptor<undefined>;
        /**
         * No assets specified in the withdrawal
         */
        NoAssetsSpecified: PlainDescriptor<undefined>;
        /**
         * The provided position_id does not match the deposit's associated position.
         */
        PositionIdMismatch: PlainDescriptor<undefined>;
    };
    OTC: {
        /**
         * Asset does not exist in registry
         */
        AssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Order cannot be found
         */
        OrderNotFound: PlainDescriptor<undefined>;
        /**
         * Size of order ID exceeds the bound
         */
        OrderIdOutOfBound: PlainDescriptor<undefined>;
        /**
         * Cannot partially fill an order which is not partially fillable
         */
        OrderNotPartiallyFillable: PlainDescriptor<undefined>;
        /**
         * Order amount_in and amount_out must at all times be greater than the existential deposit
         * for the asset multiplied by the ExistentialDepositMultiplier.
         * A fill order may not leave behind amounts smaller than this.
         */
        OrderAmountTooSmall: PlainDescriptor<undefined>;
        /**
         * Error with math calculations
         */
        MathError: PlainDescriptor<undefined>;
        /**
         * The caller does not have permission to complete the action
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Reserved amount not sufficient.
         */
        InsufficientReservedAmount: PlainDescriptor<undefined>;
    };
    CircuitBreaker: {
        /**
         * Invalid value for a limit. Limit must be non-zero.
         */
        InvalidLimitValue: PlainDescriptor<undefined>;
        /**
         * Allowed liquidity limit is not stored for asset
         */
        LiquidityLimitNotStoredForAsset: PlainDescriptor<undefined>;
        /**
         * Token trade outflow per block has been reached
         */
        TokenOutflowLimitReached: PlainDescriptor<undefined>;
        /**
         * Token trade influx per block has been reached
         */
        TokenInfluxLimitReached: PlainDescriptor<undefined>;
        /**
         * Maximum pool's liquidity limit per block has been reached
         */
        MaxLiquidityLimitPerBlockReached: PlainDescriptor<undefined>;
        /**
         * Asset is not allowed to have a limit
         */
        NotAllowed: PlainDescriptor<undefined>;
        /**
         * Asset still in lockdown as it reached the allowed deposit limit for the period
         * Query the `asset_lockdown_state` storage to determine until which block the asset is locked,
         * so that the deposit can be released afterward.
         */
        AssetInLockdown: PlainDescriptor<undefined>;
        /**
         * Asset is not in a lockdown
         */
        AssetNotInLockdown: PlainDescriptor<undefined>;
        /**
         * Invalid amount to save deposit
         */
        InvalidAmount: PlainDescriptor<undefined>;
        /**
         * Deposit limit would be exceeded for a whitelisted account.
         * Operation rejected to prevent funds being locked on system accounts.
         */
        DepositLimitExceededForWhitelistedAccount: PlainDescriptor<undefined>;
        /**
         * Global lockdown is active and withdrawals that participate in the global limit are blocked.
         */
        WithdrawLockdownActive: PlainDescriptor<undefined>;
        /**
         * Applying the increment would exceed the configured global limit -> lockdown is triggered and operation fails.
         */
        GlobalWithdrawLimitExceeded: PlainDescriptor<undefined>;
        /**
         * Asset to withdraw cannot be converted to reference currency.
         */
        FailedToConvertAsset: PlainDescriptor<undefined>;
    };
    Router: {
        /**
         * The trading limit has been reached
         */
        TradingLimitReached: PlainDescriptor<undefined>;
        /**
         * The the max number of trades limit is reached
         */
        MaxTradesExceeded: PlainDescriptor<undefined>;
        /**
         * The AMM pool is not supported for executing trades
         */
        PoolNotSupported: PlainDescriptor<undefined>;
        /**
         * The user has not enough balance to execute the trade
         */
        InsufficientBalance: PlainDescriptor<undefined>;
        /**
         * The calculation of route trade amounts failed in the underlying AMM
         */
        RouteCalculationFailed: PlainDescriptor<undefined>;
        /**
         * The route is invalid
         */
        InvalidRoute: PlainDescriptor<undefined>;
        /**
         * The route update was not successful
         */
        RouteUpdateIsNotSuccessful: PlainDescriptor<undefined>;
        /**
         * Route contains assets that has no oracle data
         */
        RouteHasNoOracle: PlainDescriptor<undefined>;
        /**
         * The route execution failed in the underlying AMM
         */
        InvalidRouteExecution: PlainDescriptor<undefined>;
        /**
         * Trading same assets is not allowed.
         */
        NotAllowed: PlainDescriptor<undefined>;
    };
    DynamicFees: {
        /**
         * Invalid fee parameters provided
         */
        InvalidFeeParameters: PlainDescriptor<undefined>;
    };
    Staking: {
        /**
         * Balance is too low.
         */
        InsufficientBalance: PlainDescriptor<undefined>;
        /**
         * Staked amount is too low.
         */
        InsufficientStake: PlainDescriptor<undefined>;
        /**
         * Staking position has not been found.
         */
        PositionNotFound: PlainDescriptor<undefined>;
        /**
         * Maximum amount of votes were reached for staking position.
         */
        MaxVotesReached: PlainDescriptor<undefined>;
        /**
         * Staking is not initialized.
         */
        NotInitialized: PlainDescriptor<undefined>;
        /**
         * Staking is already initialized.
         */
        AlreadyInitialized: PlainDescriptor<undefined>;
        /**
         * Arithmetic error.
         */
        Arithmetic: PlainDescriptor<undefined>;
        /**
         * Pot's balance is zero.
         */
        MissingPotBalance: PlainDescriptor<undefined>;
        /**
         * Account's position already exists.
         */
        PositionAlreadyExists: PlainDescriptor<undefined>;
        /**
         * Signer is not an owner of the staking position.
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Position contains registered votes.
         */
        ExistingVotes: PlainDescriptor<undefined>;
        /**
         * Position contains processed votes. Removed these votes first before increasing stake or claiming.
         */
        ExistingProcessedVotes: PlainDescriptor<undefined>;
        /**
         * Action cannot be completed because unexpected error has occurred. This should be reported
         * to protocol maintainers.
         */
        InconsistentState: PlainDescriptor<Anonymize<Icojqvn3afk41n>>;
    };
    Stableswap: {
        /**
         * Creating a pool with same assets or less than 2 assets is not allowed.
         */
        IncorrectAssets: PlainDescriptor<undefined>;
        /**
         * Maximum number of assets has been exceeded.
         */
        MaxAssetsExceeded: PlainDescriptor<undefined>;
        /**
         * A pool with given assets does not exist.
         */
        PoolNotFound: PlainDescriptor<undefined>;
        /**
         * A pool with given assets already exists.
         */
        PoolExists: PlainDescriptor<undefined>;
        /**
         * Asset is not in the pool.
         */
        AssetNotInPool: PlainDescriptor<undefined>;
        /**
         * Share asset is not registered in Registry.
         */
        ShareAssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Share asset is amount assets when creating a pool.
         */
        ShareAssetInPoolAssets: PlainDescriptor<undefined>;
        /**
         * One or more assets are not registered in AssetRegistry
         */
        AssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Invalid asset amount provided. Amount must be greater than zero.
         */
        InvalidAssetAmount: PlainDescriptor<undefined>;
        /**
         * Balance of an asset is not sufficient to perform a trade.
         */
        InsufficientBalance: PlainDescriptor<undefined>;
        /**
         * Balance of a share asset is not sufficient to withdraw liquidity.
         */
        InsufficientShares: PlainDescriptor<undefined>;
        /**
         * Liquidity has not reached the required minimum.
         */
        InsufficientLiquidity: PlainDescriptor<undefined>;
        /**
         * Insufficient liquidity left in the pool after withdrawal.
         */
        InsufficientLiquidityRemaining: PlainDescriptor<undefined>;
        /**
         * Amount is less than the minimum trading amount configured.
         */
        InsufficientTradingAmount: PlainDescriptor<undefined>;
        /**
         * Minimum limit has not been reached during trade.
         */
        BuyLimitNotReached: PlainDescriptor<undefined>;
        /**
         * Maximum limit has been exceeded during trade.
         */
        SellLimitExceeded: PlainDescriptor<undefined>;
        /**
         * Initial liquidity of asset must be > 0.
         */
        InvalidInitialLiquidity: PlainDescriptor<undefined>;
        /**
         * Amplification is outside configured range.
         */
        InvalidAmplification: PlainDescriptor<undefined>;
        /**
         * Remaining balance of share asset is below asset's existential deposit.
         */
        InsufficientShareBalance: PlainDescriptor<undefined>;
        /**
         * Not allowed to perform an operation on given asset.
         */
        NotAllowed: PlainDescriptor<undefined>;
        /**
         * Future block number is in the past.
         */
        PastBlock: PlainDescriptor<undefined>;
        /**
         * New amplification is equal to the previous value.
         */
        SameAmplification: PlainDescriptor<undefined>;
        /**
         * Slippage protection.
         */
        SlippageLimit: PlainDescriptor<undefined>;
        /**
         * Failed to retrieve asset decimals.
         */
        UnknownDecimals: PlainDescriptor<undefined>;
        /**
         * List of provided pegs is incorrect.
         */
        IncorrectInitialPegs: PlainDescriptor<undefined>;
        /**
         * Failed to retrieve oracle entry.
         */
        MissingTargetPegOracle: PlainDescriptor<undefined>;
        /**
         * Creating pool with pegs is not allowed for asset with different decimals.
         */
        IncorrectAssetDecimals: PlainDescriptor<undefined>;
        /**
         * Pool does not have pegs configured.
         */
        NoPegSource: PlainDescriptor<undefined>;
        /**
         * Trade would result in zero amount out.
         */
        ZeroAmountOut: PlainDescriptor<undefined>;
        /**
         * Trade would result in zero amount in.
         */
        ZeroAmountIn: PlainDescriptor<undefined>;
        /**
         * Invariant check failed inside a trade or liquidity operation.
         */
        InvariantError: PlainDescriptor<undefined>;
    };
    Bonds: {
        /**
         * Bond not registered
         */
        NotRegistered: PlainDescriptor<undefined>;
        /**
         * Bond is not mature
         */
        NotMature: PlainDescriptor<undefined>;
        /**
         * Maturity not long enough
         */
        InvalidMaturity: PlainDescriptor<undefined>;
        /**
         * Asset type not allowed for underlying asset
         */
        DisallowedAsset: PlainDescriptor<undefined>;
        /**
         * Asset is not registered in `AssetRegistry`
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * Generated name is not valid.
         */
        InvalidBondName: PlainDescriptor<undefined>;
        /**
         * Bond's name parsing was now successful
         */
        FailToParseName: PlainDescriptor<undefined>;
    };
    OtcSettlements: {
        /**
         * Otc order not found
         */
        OrderNotFound: PlainDescriptor<undefined>;
        /**
         * OTC order is not partially fillable
         */
        NotPartiallyFillable: PlainDescriptor<undefined>;
        /**
         * Provided route doesn't match the existing route
         */
        InvalidRoute: PlainDescriptor<undefined>;
        /**
         * Initial and final balance are different
         */
        BalanceInconsistency: PlainDescriptor<undefined>;
        /**
         * Trade amount higher than necessary
         */
        TradeAmountTooHigh: PlainDescriptor<undefined>;
        /**
         * Trade amount lower than necessary
         */
        TradeAmountTooLow: PlainDescriptor<undefined>;
        /**
         * Price for a route is not available
         */
        PriceNotAvailable: PlainDescriptor<undefined>;
    };
    LBP: {
        /**
         * Pool assets can not be the same
         */
        CannotCreatePoolWithSameAssets: PlainDescriptor<undefined>;
        /**
         * Account is not a pool owner
         */
        NotOwner: PlainDescriptor<undefined>;
        /**
         * Sale already started
         */
        SaleStarted: PlainDescriptor<undefined>;
        /**
         * Sale is still in progress
         */
        SaleNotEnded: PlainDescriptor<undefined>;
        /**
         * Sale is not running
         */
        SaleIsNotRunning: PlainDescriptor<undefined>;
        /**
         * Sale duration is too long
         */
        MaxSaleDurationExceeded: PlainDescriptor<undefined>;
        /**
         * Liquidity being added should not be zero
         */
        CannotAddZeroLiquidity: PlainDescriptor<undefined>;
        /**
         * Asset balance too low
         */
        InsufficientAssetBalance: PlainDescriptor<undefined>;
        /**
         * Pool does not exist
         */
        PoolNotFound: PlainDescriptor<undefined>;
        /**
         * Pool has been already created
         */
        PoolAlreadyExists: PlainDescriptor<undefined>;
        /**
         * Invalid block range
         */
        InvalidBlockRange: PlainDescriptor<undefined>;
        /**
         * Calculation error
         */
        WeightCalculationError: PlainDescriptor<undefined>;
        /**
         * Weight set is out of range
         */
        InvalidWeight: PlainDescriptor<undefined>;
        /**
         * Can not perform a trade with zero amount
         */
        ZeroAmount: PlainDescriptor<undefined>;
        /**
         * Trade amount is too high
         */
        MaxInRatioExceeded: PlainDescriptor<undefined>;
        /**
         * Trade amount is too high
         */
        MaxOutRatioExceeded: PlainDescriptor<undefined>;
        /**
         * Invalid fee amount
         */
        FeeAmountInvalid: PlainDescriptor<undefined>;
        /**
         * Trading limit reached
         */
        TradingLimitReached: PlainDescriptor<undefined>;
        /**
         * An unexpected integer overflow occurred
         */
        Overflow: PlainDescriptor<undefined>;
        /**
         * Nothing to update
         */
        NothingToUpdate: PlainDescriptor<undefined>;
        /**
         * Liquidity has not reached the required minimum.
         */
        InsufficientLiquidity: PlainDescriptor<undefined>;
        /**
         * Amount is less than minimum trading limit.
         */
        InsufficientTradingAmount: PlainDescriptor<undefined>;
        /**
         * Not more than one fee collector per asset id
         */
        FeeCollectorWithAssetAlreadyUsed: PlainDescriptor<undefined>;
    };
    XYK: {
        /**
         * It is not allowed to create a pool between same assets.
         */
        CannotCreatePoolWithSameAssets: PlainDescriptor<undefined>;
        /**
         * Liquidity has not reached the required minimum.
         */
        InsufficientLiquidity: PlainDescriptor<undefined>;
        /**
         * Amount is less than min trading limit.
         */
        InsufficientTradingAmount: PlainDescriptor<undefined>;
        /**
         * Liquidity is zero.
         */
        ZeroLiquidity: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        InvalidMintedLiquidity: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        InvalidLiquidityAmount: PlainDescriptor<undefined>;
        /**
         * Asset amount has exceeded given limit.
         */
        AssetAmountExceededLimit: PlainDescriptor<undefined>;
        /**
         * Asset amount has not reached given limit.
         */
        AssetAmountNotReachedLimit: PlainDescriptor<undefined>;
        /**
         * Asset balance is not sufficient.
         */
        InsufficientAssetBalance: PlainDescriptor<undefined>;
        /**
         * Not enough asset liquidity in the pool.
         */
        InsufficientPoolAssetBalance: PlainDescriptor<undefined>;
        /**
         * Not enough core asset liquidity in the pool.
         */
        InsufficientNativeCurrencyBalance: PlainDescriptor<undefined>;
        /**
         * Liquidity pool for given assets does not exist.
         */
        TokenPoolNotFound: PlainDescriptor<undefined>;
        /**
         * Liquidity pool for given assets already exists.
         */
        TokenPoolAlreadyExists: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        AddAssetAmountInvalid: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        RemoveAssetAmountInvalid: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        SellAssetAmountInvalid: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        BuyAssetAmountInvalid: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        FeeAmountInvalid: PlainDescriptor<undefined>;
        /**
         * Max fraction of pool to buy in single transaction has been exceeded.
         */
        MaxOutRatioExceeded: PlainDescriptor<undefined>;
        /**
         * Max fraction of pool to sell in single transaction has been exceeded.
         */
        MaxInRatioExceeded: PlainDescriptor<undefined>;
        /**
         * Overflow
         */
        Overflow: PlainDescriptor<undefined>;
        /**
         * Pool cannot be created due to outside factors.
         */
        CannotCreatePool: PlainDescriptor<undefined>;
        /**
         * Slippage protection.
         */
        SlippageLimit: PlainDescriptor<undefined>;
    };
    Referrals: {
        /**
         * Referral code is too long.
         */
        TooLong: PlainDescriptor<undefined>;
        /**
         * Referral code is too short.
         */
        TooShort: PlainDescriptor<undefined>;
        /**
         * Referral code contains invalid character. Only alphanumeric characters are allowed.
         */
        InvalidCharacter: PlainDescriptor<undefined>;
        /**
         * Referral code already exists.
         */
        AlreadyExists: PlainDescriptor<undefined>;
        /**
         * Provided referral code is invalid. Either does not exist or is too long.
         */
        InvalidCode: PlainDescriptor<undefined>;
        /**
         * Account is already linked to another referral account.
         */
        AlreadyLinked: PlainDescriptor<undefined>;
        /**
         * Nothing in the referral pot account for the asset.
         */
        ZeroAmount: PlainDescriptor<undefined>;
        /**
         * Linking an account to the same referral account is not allowed.
         */
        LinkNotAllowed: PlainDescriptor<undefined>;
        /**
         * Calculated rewards are more than the fee amount. This can happen if percentages are incorrectly set.
         */
        IncorrectRewardCalculation: PlainDescriptor<undefined>;
        /**
         * Given referrer and trader percentages exceeds 100% percent.
         */
        IncorrectRewardPercentage: PlainDescriptor<undefined>;
        /**
         * The account has already a code registered.
         */
        AlreadyRegistered: PlainDescriptor<undefined>;
        /**
         * Price for given asset pair not found.
         */
        PriceNotFound: PlainDescriptor<undefined>;
        /**
         * Minimum trading amount for conversion has not been reached.
         */
        ConversionMinTradingAmountNotReached: PlainDescriptor<undefined>;
        /**
         * Zero amount received from conversion.
         */
        ConversionZeroAmountReceived: PlainDescriptor<undefined>;
    };
    Liquidation: {
        /**
         * AssetId to EVM address conversion failed
         */
        AssetConversionFailed: PlainDescriptor<undefined>;
        /**
         * Liquidation call failed
         */
        LiquidationCallFailed: PlainDescriptor<undefined>;
        /**
         * Provided route doesn't match the existing route
         */
        InvalidRoute: PlainDescriptor<undefined>;
        /**
         * Liquidation was not profitable enough to repay flash loan
         */
        NotProfitable: PlainDescriptor<undefined>;
        /**
         * Flash minter contract address not set. It is required for Hollar liquidations.
         */
        FlashMinterNotSet: PlainDescriptor<undefined>;
        /**
         * Invalid liquidation data provided
         */
        InvalidLiquidationData: PlainDescriptor<undefined>;
    };
    HSM: {
        /**
         * Asset is not approved as collateral
         *
         * The operation attempted to use an asset that is not registered as an approved collateral.
         */
        AssetNotApproved: PlainDescriptor<undefined>;
        /**
         * Asset is already approved as collateral
         *
         * Attempted to add an asset that is already registered as a collateral.
         */
        AssetAlreadyApproved: PlainDescriptor<undefined>;
        /**
         * Another asset from the same pool is already approved
         *
         * Only one asset from each StableSwap pool can be used as collateral.
         */
        PoolAlreadyHasCollateral: PlainDescriptor<undefined>;
        /**
         * Invalid asset pair, must be Hollar and approved collateral
         *
         * The asset pair for buy/sell operations must include Hollar as one side and an approved collateral as the other.
         */
        InvalidAssetPair: PlainDescriptor<undefined>;
        /**
         * Max buy price exceeded
         *
         * The calculated buy price exceeds the maximum allowed buy price for the collateral.
         */
        MaxBuyPriceExceeded: PlainDescriptor<undefined>;
        /**
         * Max buy back amount in single block exceeded
         *
         * The amount of Hollar being sold to HSM exceeds the maximum allowed in a single block for this collateral.
         */
        MaxBuyBackExceeded: PlainDescriptor<undefined>;
        /**
         * Max holding amount for collateral exceeded
         *
         * The operation would cause the HSM to hold more of the collateral than the configured maximum.
         */
        MaxHoldingExceeded: PlainDescriptor<undefined>;
        /**
         * Slippage limit exceeded
         *
         * The calculated amount is worse than the provided slippage limit.
         */
        SlippageLimitExceeded: PlainDescriptor<undefined>;
        /**
         * Invalid EVM contract interaction
         *
         * The call to the EVM contract (GHO Hollar token) failed.
         */
        InvalidEVMInteraction: PlainDescriptor<undefined>;
        /**
         * Decimal retrieval failed
         *
         * Failed to retrieve the decimal information for an asset.
         */
        DecimalRetrievalFailed: PlainDescriptor<undefined>;
        /**
         * No arbitrage opportunity
         *
         * There is no profitable arbitrage opportunity for the specified collateral.
         */
        NoArbitrageOpportunity: PlainDescriptor<undefined>;
        /**
         * Asset not in the pool
         *
         * The specified asset was not found in the pool.
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * Provided pool state is invalid
         *
         * The retrieved pool state has inconsistent or invalid data.
         */
        InvalidPoolState: PlainDescriptor<undefined>;
        /**
         * Collateral is not empty
         *
         * Cannot remove a collateral asset that still has a non-zero balance in the HSM account.
         */
        CollateralNotEmpty: PlainDescriptor<undefined>;
        /**
         * Asset not in the pool
         *
         * The collateral asset is not present in the specified pool.
         */
        AssetNotInPool: PlainDescriptor<undefined>;
        /**
         * Hollar is not in the pool
         *
         * The Hollar asset is not present in the specified pool.
         */
        HollarNotInPool: PlainDescriptor<undefined>;
        /**
         * Insufficient collateral balance
         *
         * The HSM does not have enough of the collateral asset to complete the operation.
         */
        InsufficientCollateralBalance: PlainDescriptor<undefined>;
        /**
         * GHO Contract address not found
         *
         * The EVM address for the GHO (Hollar) token contract was not found.
         */
        HollarContractAddressNotFound: PlainDescriptor<undefined>;
        /**
         * HSM contains maximum number of allowed collateral assets.
         */
        MaxNumberOfCollateralsReached: PlainDescriptor<undefined>;
        /**
         * Flash minter address not set
         */
        FlashMinterNotSet: PlainDescriptor<undefined>;
        /**
         * Provided arbitrage data is invalid
         */
        InvalidArbitrageData: PlainDescriptor<undefined>;
    };
    Signet: {
        /**
         * The pallet has not been configured yet
         */
        NotConfigured: PlainDescriptor<undefined>;
        /**
         * Pallet is paused and cannot process this call.
         */
        Paused: PlainDescriptor<undefined>;
        /**
         * Insufficient funds for withdrawal
         */
        InsufficientFunds: PlainDescriptor<undefined>;
        /**
         * Invalid transaction data (empty)
         */
        InvalidTransaction: PlainDescriptor<undefined>;
        /**
         * Arrays must have the same length
         */
        InvalidInputLength: PlainDescriptor<undefined>;
        /**
         * Transaction data exceeds maximum allowed length
         */
        DataTooLong: PlainDescriptor<undefined>;
        /**
         * Invalid address format - must be exactly 20 bytes
         */
        InvalidAddress: PlainDescriptor<undefined>;
        /**
         * Priority fee cannot exceed max fee per gas (EIP-1559 requirement)
         */
        InvalidGasPrice: PlainDescriptor<undefined>;
    };
    EthDispenser: {
        /**
         * The pallet has not been configured yet.
         */
        NotConfigured: PlainDescriptor<undefined>;
        /**
         * Request ID has already been used.
         */
        DuplicateRequest: PlainDescriptor<undefined>;
        /**
         * Failed to (de)serialize data.
         */
        Serialization: PlainDescriptor<undefined>;
        /**
         * Output data did not match the expected format.
         */
        InvalidOutput: PlainDescriptor<undefined>;
        /**
         * Request ID does not match the derived ID for the provided data.
         */
        InvalidRequestId: PlainDescriptor<undefined>;
        /**
         * Pallet is paused and cannot process this call.
         */
        Paused: PlainDescriptor<undefined>;
        /**
         * Requested amount is below the configured minimum.
         */
        AmountTooSmall: PlainDescriptor<undefined>;
        /**
         * Requested amount exceeds the configured maximum.
         */
        AmountTooLarge: PlainDescriptor<undefined>;
        /**
         * EVM address parameter is invalid (e.g., zero address).
         */
        InvalidAddress: PlainDescriptor<undefined>;
        /**
         * Faucet balance would fall below the configured threshold after this request.
         */
        FaucetBalanceBelowThreshold: PlainDescriptor<undefined>;
        /**
         * Caller does not have enough balance of the fee asset.
         */
        NotEnoughFeeFunds: PlainDescriptor<undefined>;
        /**
         * Caller does not have enough balance of the faucet asset.
         */
        NotEnoughFaucetFunds: PlainDescriptor<undefined>;
        /**
         * Configuration parameters are invalid (e.g., min_request > max_dispense).
         */
        InvalidConfig: PlainDescriptor<undefined>;
    };
    LazyExecutor: {
        /**
         * Failed to decode provided call data.
         */
        Corrupted: PlainDescriptor<undefined>;
        /**
         * `id` reached max. value.
         */
        IdOverflow: PlainDescriptor<undefined>;
        /**
         * Arithmetic or type conversion overflow
         */
        Overflow: PlainDescriptor<undefined>;
        /**
         * User failed to pay fees for future execution.
         */
        FailedToPayFees: PlainDescriptor<undefined>;
        /**
         * Failed to deposit collected fees.
         */
        FailedToDepositFees: PlainDescriptor<undefined>;
        /**
         * Queue is empty.
         */
        EmptyQueue: PlainDescriptor<undefined>;
        /**
         * Call's weight is bigger than max allowed weight.
         */
        Overweight: PlainDescriptor<undefined>;
    };
    Intent: {
        /**
         * Invalid deadline
         */
        InvalidDeadline: PlainDescriptor<undefined>;
        /**
         * Invalid intent parameters
         */
        InvalidIntent: PlainDescriptor<undefined>;
        /**
         * Referenced intent doesn't exist.
         */
        IntentNotFound: PlainDescriptor<undefined>;
        /**
         * Referenced intent has expired.
         */
        IntentExpired: PlainDescriptor<undefined>;
        /**
         * Referenced intent is still active.
         */
        IntentActive: PlainDescriptor<undefined>;
        /**
         * Intent's resolution doesn't match intent's parameters.
         */
        ResolveMismatch: PlainDescriptor<undefined>;
        /**
         * Resolution violates intent's limits.
         */
        LimitViolation: PlainDescriptor<undefined>;
        /**
         * Calculation overflow.
         */
        ArithmeticOverflow: PlainDescriptor<undefined>;
        /**
         * Referenced intent's owner doesn't exist.
         */
        IntentOwnerNotFound: PlainDescriptor<undefined>;
        /**
         * Account is not intent's owner.
         */
        InvalidOwner: PlainDescriptor<undefined>;
        /**
         * User doesn't have enough reserved funds.
         */
        InsufficientReservedBalance: PlainDescriptor<undefined>;
        /**
         * Partial intents are not supported at the moment.
         */
        NotImplemented: PlainDescriptor<undefined>;
        /**
         * Asset with specified id doesn't exists.
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * DCA period is below minimum.
         */
        InvalidDcaPeriod: PlainDescriptor<undefined>;
        /**
         * DCA budget is less than a single trade amount.
         */
        InvalidDcaBudget: PlainDescriptor<undefined>;
        /**
         * DCA intent must not have a deadline.
         */
        InvalidDcaDeadline: PlainDescriptor<undefined>;
        /**
         * Account has reached the maximum number of allowed intents.
         */
        MaxIntentsReached: PlainDescriptor<undefined>;
    };
    ICE: {
        /**
         * Provided solution is not valid.
         */
        InvalidSolution: PlainDescriptor<undefined>;
        /**
         * Referenced intent doesn't exist.
         */
        IntentNotFound: PlainDescriptor<undefined>;
        /**
         * Referenced intent's owner doesn't exist.
         */
        IntentOwnerNotFound: PlainDescriptor<undefined>;
        /**
         * Resolution violates user's limit.
         */
        LimitViolation: PlainDescriptor<undefined>;
        /**
         * Trade price doesn't match execution price.
         */
        PriceInconsistency: PlainDescriptor<undefined>;
        /**
         * Intent was referenced multiple times.
         */
        DuplicateIntent: PlainDescriptor<undefined>;
        /**
         * Trade's route is invalid.
         */
        InvalidRoute: PlainDescriptor<undefined>;
        /**
         * Provided score doesn't match execution score.
         */
        ScoreMismatch: PlainDescriptor<undefined>;
        /**
         * Intent's kind is not supported.
         */
        UnsupportedIntentKind: PlainDescriptor<undefined>;
        /**
         * Calculation overflow.
         */
        ArithmeticOverflow: PlainDescriptor<undefined>;
        /**
         * Asset with specified id doesn't exists.
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * Traded amount is bellow limit.
         */
        InvalidAmount: PlainDescriptor<undefined>;
    };
    Tokens: {
        /**
         * The balance is too low
         */
        BalanceTooLow: PlainDescriptor<undefined>;
        /**
         * Cannot convert Amount into Balance type
         */
        AmountIntoBalanceFailed: PlainDescriptor<undefined>;
        /**
         * Failed because liquidity restrictions due to locking
         */
        LiquidityRestrictions: PlainDescriptor<undefined>;
        /**
         * Failed because the maximum locks was exceeded
         */
        MaxLocksExceeded: PlainDescriptor<undefined>;
        /**
         * Transfer/payment would kill account
         */
        KeepAlive: PlainDescriptor<undefined>;
        /**
         * Value too low to create account due to existential deposit
         */
        ExistentialDeposit: PlainDescriptor<undefined>;
        /**
         * Beneficiary account must pre-exist
         */
        DeadAccount: PlainDescriptor<undefined>;
        /**
        
         */
        TooManyReserves: PlainDescriptor<undefined>;
    };
    Currencies: {
        /**
         * Unable to convert the Amount type into Balance.
         */
        AmountIntoBalanceFailed: PlainDescriptor<undefined>;
        /**
         * Balance is too low.
         */
        BalanceTooLow: PlainDescriptor<undefined>;
        /**
         * Deposit result is not expected
         */
        DepositFailed: PlainDescriptor<undefined>;
        /**
         * Operation is not supported for this currency
         */
        NotSupported: PlainDescriptor<undefined>;
    };
    Vesting: {
        /**
         * Vesting period is zero
         */
        ZeroVestingPeriod: PlainDescriptor<undefined>;
        /**
         * Number of vests is zero
         */
        ZeroVestingPeriodCount: PlainDescriptor<undefined>;
        /**
         * Insufficient amount of balance to lock
         */
        InsufficientBalanceToLock: PlainDescriptor<undefined>;
        /**
         * This account have too many vesting schedules
         */
        TooManyVestingSchedules: PlainDescriptor<undefined>;
        /**
         * The vested transfer amount is too low
         */
        AmountLow: PlainDescriptor<undefined>;
        /**
         * Failed because the maximum vesting schedules was exceeded
         */
        MaxVestingSchedulesExceeded: PlainDescriptor<undefined>;
    };
    EVM: {
        /**
         * Not enough balance to perform action
         */
        BalanceLow: PlainDescriptor<undefined>;
        /**
         * Calculating total fee overflowed
         */
        FeeOverflow: PlainDescriptor<undefined>;
        /**
         * Calculating total payment overflowed
         */
        PaymentOverflow: PlainDescriptor<undefined>;
        /**
         * Withdraw fee failed
         */
        WithdrawFailed: PlainDescriptor<undefined>;
        /**
         * Gas price is too low.
         */
        GasPriceTooLow: PlainDescriptor<undefined>;
        /**
         * Nonce is invalid
         */
        InvalidNonce: PlainDescriptor<undefined>;
        /**
         * Gas limit is too low.
         */
        GasLimitTooLow: PlainDescriptor<undefined>;
        /**
         * Gas limit exceeds block gas limit.
         */
        GasLimitExceedsBlockLimit: PlainDescriptor<undefined>;
        /**
         * The chain id is invalid.
         */
        InvalidChainId: PlainDescriptor<undefined>;
        /**
         * the signature is invalid.
         */
        InvalidSignature: PlainDescriptor<undefined>;
        /**
         * EVM reentrancy
         */
        Reentrancy: PlainDescriptor<undefined>;
        /**
         * EIP-3607,
         */
        TransactionMustComeFromEOA: PlainDescriptor<undefined>;
        /**
         * Undefined error.
         */
        Undefined: PlainDescriptor<undefined>;
        /**
         * Address not allowed to deploy contracts either via CREATE or CALL(CREATE).
         */
        CreateOriginNotAllowed: PlainDescriptor<undefined>;
        /**
         * EIP-7825: Transaction gas limit exceeds protocol cap (2^24).
         */
        TransactionGasLimitExceedsCap: PlainDescriptor<undefined>;
    };
    Ethereum: {
        /**
         * Signature is invalid.
         */
        InvalidSignature: PlainDescriptor<undefined>;
        /**
         * Pre-log is present, therefore transact is not allowed.
         */
        PreLogExists: PlainDescriptor<undefined>;
    };
    EVMAccounts: {
        /**
         * Active EVM account cannot be bound
         */
        TruncatedAccountAlreadyUsed: PlainDescriptor<undefined>;
        /**
         * Address is already bound
         */
        AddressAlreadyBound: PlainDescriptor<undefined>;
        /**
         * Bound address cannot be used
         */
        BoundAddressCannotBeUsed: PlainDescriptor<undefined>;
        /**
         * Address not whitelisted
         */
        AddressNotWhitelisted: PlainDescriptor<undefined>;
        /**
         * Provided signature is invalid
         */
        InvalidSignature: PlainDescriptor<undefined>;
        /**
         * Account already exists in the system pallet
         */
        AccountAlreadyExists: PlainDescriptor<undefined>;
        /**
         * Insufficient asset balance of the claimed asset
         */
        InsufficientAssetBalance: PlainDescriptor<undefined>;
    };
    XYKLiquidityMining: {
        /**
         * Nft pallet didn't return an owner.
         */
        CantFindDepositOwner: PlainDescriptor<undefined>;
        /**
         * Account balance of XYK pool shares is not sufficient.
         */
        InsufficientXykSharesBalance: PlainDescriptor<undefined>;
        /**
         * XYK pool does not exist
         */
        XykPoolDoesntExist: PlainDescriptor<undefined>;
        /**
         * Account is not deposit owner.
         */
        NotDepositOwner: PlainDescriptor<undefined>;
        /**
         * XYK did not return assets for given pool id
         */
        CantGetXykAssets: PlainDescriptor<undefined>;
        /**
         * Deposit data not found
         */
        DepositDataNotFound: PlainDescriptor<undefined>;
        /**
         * Calculated reward to claim is 0.
         */
        ZeroClaimedRewards: PlainDescriptor<undefined>;
        /**
         * Asset is not in the `AssetPair`.
         */
        AssetNotInAssetPair: PlainDescriptor<undefined>;
        /**
         * Provided `AssetPair` is not used by the deposit.
         */
        InvalidAssetPair: PlainDescriptor<undefined>;
        /**
         * Asset is not registered in asset registry.
         */
        AssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Failed to calculate `pot`'s account.
         */
        FailToGetPotId: PlainDescriptor<undefined>;
        /**
         * No global farm - yield farm pairs specified to join
         */
        NoFarmsSpecified: PlainDescriptor<undefined>;
        /**
         * Failed to calculate value of xyk shares
         */
        FailedToValueShares: PlainDescriptor<undefined>;
    };
    XYKWarehouseLM: {
        /**
         * Global farm does not exist.
         */
        GlobalFarmNotFound: PlainDescriptor<undefined>;
        /**
         * Yield farm does not exist.
         */
        YieldFarmNotFound: PlainDescriptor<undefined>;
        /**
         * Multiple claims in the same period is not allowed.
         */
        DoubleClaimInPeriod: PlainDescriptor<undefined>;
        /**
         * Liquidity mining is canceled.
         */
        LiquidityMiningCanceled: PlainDescriptor<undefined>;
        /**
         * Liquidity mining is not canceled.
         */
        LiquidityMiningIsActive: PlainDescriptor<undefined>;
        /**
         * Liquidity mining is in `active` or `terminated` state and action cannot be completed.
         */
        LiquidityMiningIsNotStopped: PlainDescriptor<undefined>;
        /**
         * Account is not allowed to perform action.
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * Yield farm multiplier can't be 0.
         */
        InvalidMultiplier: PlainDescriptor<undefined>;
        /**
         * Yield farm with given `amm_pool_id` already exists in global farm.
         */
        YieldFarmAlreadyExists: PlainDescriptor<undefined>;
        /**
         * Loyalty curve's initial reward percentage is not valid. Valid range is: [0, 1).
         */
        InvalidInitialRewardPercentage: PlainDescriptor<undefined>;
        /**
         * One or more yield farms exist in global farm.
         */
        GlobalFarmIsNotEmpty: PlainDescriptor<undefined>;
        /**
         * Farm's `incentivized_asset` is missing in provided asset pair.
         */
        MissingIncentivizedAsset: PlainDescriptor<undefined>;
        /**
         * Reward currency balance is not sufficient.
         */
        InsufficientRewardCurrencyBalance: PlainDescriptor<undefined>;
        /**
         * Blocks per period can't be 0.
         */
        InvalidBlocksPerPeriod: PlainDescriptor<undefined>;
        /**
         * Yield per period can't be 0.
         */
        InvalidYieldPerPeriod: PlainDescriptor<undefined>;
        /**
         * Total rewards is less than `MinTotalFarmRewards`.
         */
        InvalidTotalRewards: PlainDescriptor<undefined>;
        /**
         * Planned yielding periods is less than `MinPlannedYieldingPeriods`.
         */
        InvalidPlannedYieldingPeriods: PlainDescriptor<undefined>;
        /**
         * Maximum number of locks reached for deposit.
         */
        MaxEntriesPerDeposit: PlainDescriptor<undefined>;
        /**
         * Trying to lock LP shares into already locked yield farm.
         */
        DoubleLock: PlainDescriptor<undefined>;
        /**
         * Yield farm entry doesn't exist for given deposit.
         */
        YieldFarmEntryNotFound: PlainDescriptor<undefined>;
        /**
         * Max number of yield farms in global farm was reached. Global farm can't accept new
         * yield farms until some yield farm is not removed from storage.
         */
        GlobalFarmIsFull: PlainDescriptor<undefined>;
        /**
         * Invalid min. deposit was set for global farm.
         */
        InvalidMinDeposit: PlainDescriptor<undefined>;
        /**
         * Price adjustment multiplier can't be 0.
         */
        InvalidPriceAdjustment: PlainDescriptor<undefined>;
        /**
         * Account creation from id failed.
         */
        ErrorGetAccountId: PlainDescriptor<undefined>;
        /**
         * Value of deposited shares amount in reward currency is bellow min. limit.
         */
        IncorrectValuedShares: PlainDescriptor<undefined>;
        /**
         * `reward_currency` is not registered in asset registry.
         */
        RewardCurrencyNotRegistered: PlainDescriptor<undefined>;
        /**
         * `incentivized_asset` is not registered in asset registry.
         */
        IncentivizedAssetNotRegistered: PlainDescriptor<undefined>;
        /**
         * Provided `amm_pool_id` doesn't match deposit's `amm_pool_id`.
         */
        AmmPoolIdMismatch: PlainDescriptor<undefined>;
        /**
         * Action cannot be completed because unexpected error has occurred. This should be reported
         * to protocol maintainers.
         */
        InconsistentState: PlainDescriptor<Anonymize<Ibplkiqg5rvr3e>>;
    };
    DCA: {
        /**
         * Schedule not exist
         */
        ScheduleNotFound: PlainDescriptor<undefined>;
        /**
         * The min trade amount is not reached
         */
        MinTradeAmountNotReached: PlainDescriptor<undefined>;
        /**
         * Forbidden as the user is not the owner of the schedule
         */
        Forbidden: PlainDescriptor<undefined>;
        /**
         * The next execution block number is not in the future
         */
        BlockNumberIsNotInFuture: PlainDescriptor<undefined>;
        /**
         * Price is unstable as price change from oracle data is bigger than max allowed
         */
        PriceUnstable: PlainDescriptor<undefined>;
        /**
         * Order was randomly rescheduled to next block
         */
        Bumped: PlainDescriptor<undefined>;
        /**
         * Error occurred when calculating price
         */
        CalculatingPriceError: PlainDescriptor<undefined>;
        /**
         * The total amount to be reserved is smaller than min budget
         */
        TotalAmountIsSmallerThanMinBudget: PlainDescriptor<undefined>;
        /**
         * The budget is too low for executing at least two orders
         */
        BudgetTooLow: PlainDescriptor<undefined>;
        /**
         * There is no free block found to plan DCA execution
         */
        NoFreeBlockFound: PlainDescriptor<undefined>;
        /**
         * The DCA schedule has been manually terminated
         */
        ManuallyTerminated: PlainDescriptor<undefined>;
        /**
         * Max number of retries reached for schedule
         */
        MaxRetryReached: PlainDescriptor<undefined>;
        /**
         * Absolutely trade limit reached, leading to retry
         */
        TradeLimitReached: PlainDescriptor<undefined>;
        /**
         * Slippage limit calculated from oracle is reached, leading to retry
         */
        SlippageLimitReached: PlainDescriptor<undefined>;
        /**
         * No parent hash has been found from relay chain
         */
        NoParentHashFound: PlainDescriptor<undefined>;
        /**
         * Error that should not really happen only in case of invalid state of the schedule storage entries
         */
        InvalidState: PlainDescriptor<undefined>;
        /**
         * Period should be longer than 5 blocks
         */
        PeriodTooShort: PlainDescriptor<undefined>;
        /**
         * Stability threshold cannot be higher than `MaxConfigurablePriceDifferenceBetweenBlock`
         */
        StabilityThresholdTooHigh: PlainDescriptor<undefined>;
        /**
         * User still has active DCA schedules and cannot unlock reserves
         */
        HasActiveSchedules: PlainDescriptor<undefined>;
        /**
         * No reserves are locked for the user for the given asset
         */
        NoReservesLocked: PlainDescriptor<undefined>;
    };
    Scheduler: {
        /**
         * Failed to schedule a call
         */
        FailedToSchedule: PlainDescriptor<undefined>;
        /**
         * Cannot find the scheduled call.
         */
        NotFound: PlainDescriptor<undefined>;
        /**
         * Given target block number is in the past.
         */
        TargetBlockNumberInPast: PlainDescriptor<undefined>;
        /**
         * Reschedule failed because it does not change scheduled time.
         */
        RescheduleNoChange: PlainDescriptor<undefined>;
        /**
         * Attempt to use a non-named function on a named task.
         */
        Named: PlainDescriptor<undefined>;
    };
    ParachainSystem: {
        /**
         * Attempt to upgrade validation function while existing upgrade pending.
         */
        OverlappingUpgrades: PlainDescriptor<undefined>;
        /**
         * Polkadot currently prohibits this parachain from upgrading its validation function.
         */
        ProhibitedByPolkadot: PlainDescriptor<undefined>;
        /**
         * The supplied validation function has compiled into a blob larger than Polkadot is
         * willing to run.
         */
        TooBig: PlainDescriptor<undefined>;
        /**
         * The inherent which supplies the validation data did not run this block.
         */
        ValidationDataNotAvailable: PlainDescriptor<undefined>;
        /**
         * The inherent which supplies the host configuration did not run this block.
         */
        HostConfigurationNotAvailable: PlainDescriptor<undefined>;
        /**
         * No validation function upgrade is currently scheduled.
         */
        NotScheduled: PlainDescriptor<undefined>;
    };
    PolkadotXcm: {
        /**
         * The desired destination was unreachable, generally because there is a no way of routing
         * to it.
         */
        Unreachable: PlainDescriptor<undefined>;
        /**
         * There was some other issue (i.e. not to do with routing) in sending the message.
         * Perhaps a lack of space for buffering the message.
         */
        SendFailure: PlainDescriptor<undefined>;
        /**
         * The message execution fails the filter.
         */
        Filtered: PlainDescriptor<undefined>;
        /**
         * The message's weight could not be determined.
         */
        UnweighableMessage: PlainDescriptor<undefined>;
        /**
         * The destination `Location` provided cannot be inverted.
         */
        DestinationNotInvertible: PlainDescriptor<undefined>;
        /**
         * The assets to be sent are empty.
         */
        Empty: PlainDescriptor<undefined>;
        /**
         * Could not re-anchor the assets to declare the fees for the destination chain.
         */
        CannotReanchor: PlainDescriptor<undefined>;
        /**
         * Too many assets have been attempted for transfer.
         */
        TooManyAssets: PlainDescriptor<undefined>;
        /**
         * Origin is invalid for sending.
         */
        InvalidOrigin: PlainDescriptor<undefined>;
        /**
         * The version of the `Versioned` value used is not able to be interpreted.
         */
        BadVersion: PlainDescriptor<undefined>;
        /**
         * The given location could not be used (e.g. because it cannot be expressed in the
         * desired version of XCM).
         */
        BadLocation: PlainDescriptor<undefined>;
        /**
         * The referenced subscription could not be found.
         */
        NoSubscription: PlainDescriptor<undefined>;
        /**
         * The location is invalid since it already has a subscription from us.
         */
        AlreadySubscribed: PlainDescriptor<undefined>;
        /**
         * Could not check-out the assets for teleportation to the destination chain.
         */
        CannotCheckOutTeleport: PlainDescriptor<undefined>;
        /**
         * The owner does not own (all) of the asset that they wish to do the operation on.
         */
        LowBalance: PlainDescriptor<undefined>;
        /**
         * The asset owner has too many locks on the asset.
         */
        TooManyLocks: PlainDescriptor<undefined>;
        /**
         * The given account is not an identifiable sovereign account for any location.
         */
        AccountNotSovereign: PlainDescriptor<undefined>;
        /**
         * The operation required fees to be paid which the initiator could not meet.
         */
        FeesNotMet: PlainDescriptor<undefined>;
        /**
         * A remote lock with the corresponding data could not be found.
         */
        LockNotFound: PlainDescriptor<undefined>;
        /**
         * The unlock operation cannot succeed because there are still consumers of the lock.
         */
        InUse: PlainDescriptor<undefined>;
        /**
         * Invalid asset, reserve chain could not be determined for it.
         */
        InvalidAssetUnknownReserve: PlainDescriptor<undefined>;
        /**
         * Invalid asset, do not support remote asset reserves with different fees reserves.
         */
        InvalidAssetUnsupportedReserve: PlainDescriptor<undefined>;
        /**
         * Too many assets with different reserve locations have been attempted for transfer.
         */
        TooManyReserves: PlainDescriptor<undefined>;
        /**
         * Local XCM execution incomplete.
         */
        LocalExecutionIncomplete: PlainDescriptor<undefined>;
        /**
         * Too many locations authorized to alias origin.
         */
        TooManyAuthorizedAliases: PlainDescriptor<undefined>;
        /**
         * Expiry block number is in the past.
         */
        ExpiresInPast: PlainDescriptor<undefined>;
        /**
         * The alias to remove authorization for was not found.
         */
        AliasNotFound: PlainDescriptor<undefined>;
        /**
         * Local XCM execution incomplete with the actual XCM error and the index of the
         * instruction that caused the error.
         */
        LocalExecutionIncompleteWithError: PlainDescriptor<Anonymize<I5r8t4iaend96p>>;
    };
    XcmpQueue: {
        /**
         * Setting the queue config failed since one of its values was invalid.
         */
        BadQueueConfig: PlainDescriptor<undefined>;
        /**
         * The execution is already suspended.
         */
        AlreadySuspended: PlainDescriptor<undefined>;
        /**
         * The execution is already resumed.
         */
        AlreadyResumed: PlainDescriptor<undefined>;
        /**
         * There are too many active outbound channels.
         */
        TooManyActiveOutboundChannels: PlainDescriptor<undefined>;
        /**
         * The message is too big.
         */
        TooBig: PlainDescriptor<undefined>;
    };
    MessageQueue: {
        /**
         * Page is not reapable because it has items remaining to be processed and is not old
         * enough.
         */
        NotReapable: PlainDescriptor<undefined>;
        /**
         * Page to be reaped does not exist.
         */
        NoPage: PlainDescriptor<undefined>;
        /**
         * The referenced message could not be found.
         */
        NoMessage: PlainDescriptor<undefined>;
        /**
         * The message was already processed and cannot be processed again.
         */
        AlreadyProcessed: PlainDescriptor<undefined>;
        /**
         * The message is queued for future execution.
         */
        Queued: PlainDescriptor<undefined>;
        /**
         * There is temporarily not enough weight to continue servicing messages.
         */
        InsufficientWeight: PlainDescriptor<undefined>;
        /**
         * This message is temporarily unprocessable.
         *
         * Such errors are expected, but not guaranteed, to resolve themselves eventually through
         * retrying.
         */
        TemporarilyUnprocessable: PlainDescriptor<undefined>;
        /**
         * The queue is paused and no message can be executed from it.
         *
         * This can change at any time and may resolve in the future by re-trying.
         */
        QueuePaused: PlainDescriptor<undefined>;
        /**
         * Another call is in progress and needs to finish before this call can happen.
         */
        RecursiveDisallowed: PlainDescriptor<undefined>;
    };
    MultiBlockMigrations: {
        /**
         * The operation cannot complete since some MBMs are ongoing.
         */
        Ongoing: PlainDescriptor<undefined>;
    };
    OrmlXcm: {
        /**
         * The message and destination combination was not recognized as being
         * reachable.
         */
        Unreachable: PlainDescriptor<undefined>;
        /**
         * The message and destination was recognized as being reachable but
         * the operation could not be completed.
         */
        SendFailure: PlainDescriptor<undefined>;
        /**
         * The version of the `Versioned` value used is not able to be
         * interpreted.
         */
        BadVersion: PlainDescriptor<undefined>;
    };
    XTokens: {
        /**
         * Asset has no reserve location.
         */
        AssetHasNoReserve: PlainDescriptor<undefined>;
        /**
         * Not cross-chain transfer.
         */
        NotCrossChainTransfer: PlainDescriptor<undefined>;
        /**
         * Invalid transfer destination.
         */
        InvalidDest: PlainDescriptor<undefined>;
        /**
         * Currency is not cross-chain transferable.
         */
        NotCrossChainTransferableCurrency: PlainDescriptor<undefined>;
        /**
         * The message's weight could not be determined.
         */
        UnweighableMessage: PlainDescriptor<undefined>;
        /**
         * XCM execution failed.
         */
        XcmExecutionFailed: PlainDescriptor<undefined>;
        /**
         * Could not re-anchor the assets to declare the fees for the
         * destination chain.
         */
        CannotReanchor: PlainDescriptor<undefined>;
        /**
         * Could not get ancestry of asset reserve location.
         */
        InvalidAncestry: PlainDescriptor<undefined>;
        /**
         * The Asset is invalid.
         */
        InvalidAsset: PlainDescriptor<undefined>;
        /**
         * The destination `Location` provided cannot be inverted.
         */
        DestinationNotInvertible: PlainDescriptor<undefined>;
        /**
         * The version of the `Versioned` value used is not able to be
         * interpreted.
         */
        BadVersion: PlainDescriptor<undefined>;
        /**
         * We tried sending distinct asset and fee but they have different
         * reserve chains.
         */
        DistinctReserveForAssetAndFee: PlainDescriptor<undefined>;
        /**
         * The fee is zero.
         */
        ZeroFee: PlainDescriptor<undefined>;
        /**
         * The transferring asset amount is zero.
         */
        ZeroAmount: PlainDescriptor<undefined>;
        /**
         * The number of assets to be sent is over the maximum.
         */
        TooManyAssetsBeingSent: PlainDescriptor<undefined>;
        /**
         * The specified index does not exist in a Assets struct.
         */
        AssetIndexNonExistent: PlainDescriptor<undefined>;
        /**
         * Fee is not enough.
         */
        FeeNotEnough: PlainDescriptor<undefined>;
        /**
         * Not supported Location
         */
        NotSupportedLocation: PlainDescriptor<undefined>;
        /**
         * MinXcmFee not registered for certain reserve location
         */
        MinXcmFeeNotDefined: PlainDescriptor<undefined>;
        /**
         * Asset transfer is limited by RateLimiter.
         */
        RateLimited: PlainDescriptor<undefined>;
    };
    UnknownTokens: {
        /**
         * The balance is too low.
         */
        BalanceTooLow: PlainDescriptor<undefined>;
        /**
         * The operation will cause balance to overflow.
         */
        BalanceOverflow: PlainDescriptor<undefined>;
        /**
         * Unhandled asset.
         */
        UnhandledAsset: PlainDescriptor<undefined>;
    };
    CollatorSelection: {
        /**
         * The pallet has too many candidates.
         */
        TooManyCandidates: PlainDescriptor<undefined>;
        /**
         * Leaving would result in too few candidates.
         */
        TooFewEligibleCollators: PlainDescriptor<undefined>;
        /**
         * Account is already a candidate.
         */
        AlreadyCandidate: PlainDescriptor<undefined>;
        /**
         * Account is not a candidate.
         */
        NotCandidate: PlainDescriptor<undefined>;
        /**
         * There are too many Invulnerables.
         */
        TooManyInvulnerables: PlainDescriptor<undefined>;
        /**
         * Account is already an Invulnerable.
         */
        AlreadyInvulnerable: PlainDescriptor<undefined>;
        /**
         * Account is not an Invulnerable.
         */
        NotInvulnerable: PlainDescriptor<undefined>;
        /**
         * Account has no associated validator ID.
         */
        NoAssociatedValidatorId: PlainDescriptor<undefined>;
        /**
         * Validator ID is not yet registered.
         */
        ValidatorNotRegistered: PlainDescriptor<undefined>;
        /**
         * Could not insert in the candidate list.
         */
        InsertToCandidateListFailed: PlainDescriptor<undefined>;
        /**
         * Could not remove from the candidate list.
         */
        RemoveFromCandidateListFailed: PlainDescriptor<undefined>;
        /**
         * New deposit amount would be below the minimum candidacy bond.
         */
        DepositTooLow: PlainDescriptor<undefined>;
        /**
         * Could not update the candidate list.
         */
        UpdateCandidateListFailed: PlainDescriptor<undefined>;
        /**
         * Deposit amount is too low to take the target's slot in the candidate list.
         */
        InsufficientBond: PlainDescriptor<undefined>;
        /**
         * The target account to be replaced in the candidate list is not a candidate.
         */
        TargetIsNotCandidate: PlainDescriptor<undefined>;
        /**
         * The updated deposit amount is equal to the amount already reserved.
         */
        IdenticalDeposit: PlainDescriptor<undefined>;
        /**
         * Cannot lower candidacy bond while occupying a future collator slot in the list.
         */
        InvalidUnreserve: PlainDescriptor<undefined>;
    };
    Session: {
        /**
         * Invalid ownership proof.
         */
        InvalidProof: PlainDescriptor<undefined>;
        /**
         * No associated validator ID for account.
         */
        NoAssociatedValidatorId: PlainDescriptor<undefined>;
        /**
         * Registered duplicate key.
         */
        DuplicatedKey: PlainDescriptor<undefined>;
        /**
         * No keys are associated with this account.
         */
        NoKeys: PlainDescriptor<undefined>;
        /**
         * Key setting account is not live, so it's impossible to associate keys.
         */
        NoAccount: PlainDescriptor<undefined>;
    };
    EmaOracle: {
        /**
        
         */
        TooManyUniqueEntries: PlainDescriptor<undefined>;
        /**
        
         */
        OnTradeValueZero: PlainDescriptor<undefined>;
        /**
        
         */
        OracleNotFound: PlainDescriptor<undefined>;
        /**
         * Asset not found
         */
        AssetNotFound: PlainDescriptor<undefined>;
        /**
         * The external source is already registered.
         */
        SourceAlreadyRegistered: PlainDescriptor<undefined>;
        /**
         * The external source was not found.
         */
        SourceNotFound: PlainDescriptor<undefined>;
        /**
         * The caller is not authorized for the given (source, pair).
         */
        NotAuthorized: PlainDescriptor<undefined>;
        /**
         * Price must not be zero.
         */
        PriceIsZero: PlainDescriptor<undefined>;
    };
    Broadcast: {
        /**
         * The execution context call stack has reached its maximum size
         */
        ExecutionCallStackOverflow: PlainDescriptor<undefined>;
        /**
         * The execution context call stack is empty, unable to decrease level
         */
        ExecutionCallStackUnderflow: PlainDescriptor<undefined>;
    };
};
type IConstants = {
    System: {
        /**
         * Block & extrinsics weights: base values and limits.
         */
        BlockWeights: PlainDescriptor<Anonymize<In7a38730s6qs>>;
        /**
         * The maximum length of a block (in bytes).
         */
        BlockLength: PlainDescriptor<Anonymize<If15el53dd76v9>>;
        /**
         * Maximum number of block number to block hash mappings to keep (oldest pruned first).
         */
        BlockHashCount: PlainDescriptor<number>;
        /**
         * The weight of runtime database operations the runtime can invoke.
         */
        DbWeight: PlainDescriptor<Anonymize<I9s0ave7t0vnrk>>;
        /**
         * Get the chain's in-code version.
         */
        Version: PlainDescriptor<Anonymize<I4fo08joqmcqnm>>;
        /**
         * The designated SS58 prefix of this chain.
         *
         * This replaces the "ss58Format" property declared in the chain spec. Reason is
         * that the runtime should know about the prefix in order to make use of it as
         * an identifier of the chain.
         */
        SS58Prefix: PlainDescriptor<number>;
    };
    Intent: {
        /**
         * Asset Id of hub asset
         */
        HubAssetId: PlainDescriptor<number>;
        /**
         * Maximum deadline for intent in milliseconds.
         */
        MaxAllowedIntentDuration: PlainDescriptor<bigint>;
        /**
         * Minimum DCA period in blocks.
         */
        MinDcaPeriod: PlainDescriptor<number>;
        /**
         * Maximum number of intents a single account can have at the same time.
         */
        MaxIntentsPerAccount: PlainDescriptor<number>;
    };
    ICE: {
        /**
         * Pallet id - used to create a holding account
         */
        PalletId: PlainDescriptor<SizedHex<8>>;
        /**
         * Default protocol fee taken from each resolved intent's output amount.
         * Fee stays in the ICE holding account.
         * Can be overridden via governance using `set_protocol_fee`.
         */
        Fee: PlainDescriptor<number>;
    };
};
type IViewFns = {};
type IRuntimeCalls = {
    /**
     * A trait of XCM payment API.
     *
     * API provides functionality for obtaining:
     *
     * * the weight required to execute an XCM message,
     * * a list of acceptable `AssetId`s for message execution payment,
     * * the cost of the weight in the specified acceptable `AssetId`.
     * * the fees for an XCM message delivery.
     *
     * To determine the execution weight of the calls required for
     * [`xcm::latest::Instruction::Transact`] instruction, `TransactionPaymentCallApi` can be used.
     */
    XcmPaymentApi: {
        /**
         * Returns a list of acceptable payment assets.
         *
         * # Arguments
         *
         * * `xcm_version`: Version.
         */
        query_acceptable_payment_assets: RuntimeDescriptor<[xcm_version: number], Anonymize<Iftvbctbo05fu4>>;
        /**
         * Returns a weight needed to execute a XCM.
         *
         * # Arguments
         *
         * * `message`: `VersionedXcm`.
         */
        query_xcm_weight: RuntimeDescriptor<[message: XcmVersionedXcm], Anonymize<Ic0c3req3mlc1l>>;
        /**
         * Converts a weight into a fee for the specified `AssetId`.
         *
         * # Arguments
         *
         * * `weight`: convertible `Weight`.
         * * `asset`: `VersionedAssetId`.
         */
        query_weight_to_asset_fee: RuntimeDescriptor<[weight: Anonymize<I4q39t5hn830vp>, asset: XcmVersionedAssetId], Anonymize<I7ocn4njqde3v5>>;
        /**
         * Get delivery fees for sending a specific `message` to a `destination`.
         * These always come in a specific asset, defined by the chain.
         *
         * # Arguments
         * * `message`: The message that'll be sent, necessary because most delivery fees are based on the
         * size of the message.
         * * `destination`: The destination to send the message to. Different destinations may use
         * different senders that charge different fees.
         */
        query_delivery_fees: RuntimeDescriptor<[destination: XcmVersionedLocation, message: XcmVersionedXcm], Anonymize<Iek7ha36da9mf5>>;
    };
    /**
     * API for dry-running extrinsics and XCM programs to get the programs that need to be passed to the fees API.
     *
     * All calls return a vector of tuples (location, xcm) where each "xcm" is executed in "location".
     * If there's local execution, the location will be "Here".
     * This vector can be used to calculate both execution and delivery fees.
     *
     * Calls or XCMs might fail when executed, this doesn't mean the result of these calls will be an `Err`.
     * In those cases, there might still be a valid result, with the execution error inside it.
     * The only reasons why these calls might return an error are listed in the [`Error`] enum.
     */
    DryRunApi: {
        /**
         * Dry run call V2.
         */
        dry_run_call: RuntimeDescriptor<[origin: Anonymize<I4h8nkgupb7obf>, call: Anonymize<I5p81usncg27jm>, result_xcms_version: number], Anonymize<Ic0lblghfsnsek>>;
        /**
         * Dry run XCM program
         */
        dry_run_xcm: RuntimeDescriptor<[origin_location: XcmVersionedLocation, xcm: XcmVersionedXcm], Anonymize<I3j4kvev2lhre2>>;
    };
};
export type HydrationIceDispatchError = unknown;
type IAsset = PlainDescriptor<void>;
export type HydrationIceExtensions = {};
type PalletsTypedef = {
    __storage: IStorage;
    __tx: ICalls;
    __event: IEvent;
    __error: IError;
    __const: IConstants;
    __view: IViewFns;
};
export type HydrationIce = {
    descriptors: {
        pallets: PalletsTypedef;
        apis: IRuntimeCalls;
    } & Promise<any>;
    metadataTypes: Promise<Uint8Array>;
    asset: IAsset;
    extensions: HydrationIceExtensions;
    getMetadata: () => Promise<Uint8Array>;
    genesis: string | undefined;
};
declare const _allDescriptors: HydrationIce;
export default _allDescriptors;
export type HydrationIceApis = ApisFromDef<IRuntimeCalls>;
export type HydrationIceQueries = QueryFromPalletsDef<PalletsTypedef>;
export type HydrationIceCalls = TxFromPalletsDef<PalletsTypedef>;
export type HydrationIceEvents = EventsFromPalletsDef<PalletsTypedef>;
export type HydrationIceErrors = ErrorsFromPalletsDef<PalletsTypedef>;
export type HydrationIceConstants = ConstFromPalletsDef<PalletsTypedef>;
export type HydrationIceViewFns = ViewFnsFromPalletsDef<PalletsTypedef>;
export type HydrationIceCallData = Anonymize<I5p81usncg27jm> & {
    value: {
        type: string;
    };
};
type AllInteractions = {
    storage: {
        System: ['Account', 'ExtrinsicCount', 'InherentsApplied', 'BlockWeight', 'AllExtrinsicsLen', 'BlockHash', 'ExtrinsicData', 'Number', 'ParentHash', 'Digest', 'Events', 'EventCount', 'EventTopics', 'LastRuntimeUpgrade', 'UpgradedToU32RefCount', 'UpgradedToTripleRefCount', 'ExecutionPhase', 'AuthorizedUpgrade', 'ExtrinsicWeightReclaimed'];
        Timestamp: ['Now', 'DidUpdate'];
        Balances: ['TotalIssuance', 'InactiveIssuance', 'Account', 'Locks', 'Reserves', 'Holds', 'Freezes'];
        TransactionPayment: ['NextFeeMultiplier', 'StorageVersion'];
        MultiTransactionPayment: ['AccountCurrencyMap', 'AcceptedCurrencies', 'AcceptedCurrencyPrice', 'TransactionCurrencyOverride'];
        Treasury: ['ProposalCount', 'Proposals', 'Deactivated', 'Approvals', 'SpendCount', 'Spends', 'LastSpendPeriod'];
        Preimage: ['StatusFor', 'RequestStatusFor', 'PreimageFor'];
        Identity: ['IdentityOf', 'UsernameOf', 'SuperOf', 'SubsOf', 'Registrars', 'AuthorityOf', 'UsernameInfoOf', 'PendingUsernames', 'UnbindingUsernames'];
        Democracy: ['PublicPropCount', 'PublicProps', 'DepositOf', 'ReferendumCount', 'LowestUnbaked', 'ReferendumInfoOf', 'VotingOf', 'LastTabledWasExternal', 'NextExternal', 'Blacklist', 'Cancellations', 'MetadataOf'];
        TechnicalCommittee: ['Proposals', 'ProposalOf', 'CostOf', 'Voting', 'ProposalCount', 'Members', 'Prime'];
        Proxy: ['Proxies', 'Announcements'];
        Multisig: ['Multisigs'];
        Uniques: ['Class', 'OwnershipAcceptance', 'Account', 'ClassAccount', 'Asset', 'ClassMetadataOf', 'InstanceMetadataOf', 'Attribute', 'ItemPriceOf', 'CollectionMaxSupply'];
        StateTrieMigration: ['MigrationProcess', 'AutoLimits', 'SignedMigrationMaxLimits'];
        ConvictionVoting: ['VotingFor', 'ClassLocksFor'];
        Referenda: ['ReferendumCount', 'ReferendumInfoFor', 'TrackQueue', 'DecidingCount', 'MetadataOf'];
        Whitelist: ['WhitelistedCall'];
        Dispatcher: ['AaveManagerAccount', 'ExtraGas', 'LastEvmCallExitReason'];
        AssetRegistry: ['Assets', 'NextAssetId', 'AssetIds', 'AssetLocations', 'BannedAssets', 'LocationAssets', 'ExistentialDepositCounter'];
        Claims: ['Claims'];
        GenesisHistory: ['PreviousChain'];
        CollatorRewards: ['Collators'];
        Omnipool: ['Assets', 'HubAssetTradability', 'Positions', 'NextPositionId', 'SlipFee', 'SlipFeeHubReserveAtBlockStart', 'SlipFeeDelta'];
        TransactionPause: ['PausedTransactions'];
        Duster: ['AccountWhitelist'];
        OmnipoolWarehouseLM: ['FarmSequencer', 'DepositSequencer', 'GlobalFarm', 'YieldFarm', 'Deposit', 'ActiveYieldFarm'];
        OmnipoolLiquidityMining: ['OmniPositionId'];
        OTC: ['NextOrderId', 'Orders'];
        CircuitBreaker: ['TradeVolumeLimitPerAsset', 'AllowedTradeVolumeLimitPerAsset', 'LiquidityAddLimitPerAsset', 'AllowedAddLiquidityAmountPerAsset', 'AssetLockdownState', 'LiquidityRemoveLimitPerAsset', 'AllowedRemoveLiquidityAmountPerAsset', 'GlobalWithdrawLimitConfig', 'WithdrawLimitAccumulator', 'WithdrawLockdownUntil', 'EgressAccounts', 'IgnoreWithdrawLimit', 'GlobalAssetOverrides', 'XcmEgressBuffer'];
        Router: ['Routes'];
        DynamicFees: ['AssetFee', 'AssetFeeConfiguration'];
        Staking: ['Staking', 'Positions', 'NextPositionId', 'Votes', 'VotesRewarded', 'PositionVotes', 'ProcessedVotes', 'SixSecBlocksSince'];
        Stableswap: ['Pools', 'PoolPegs', 'AssetTradability', 'PoolSnapshots', 'BlockFee'];
        Bonds: ['BondIds', 'Bonds'];
        LBP: ['PoolData', 'FeeCollectorWithAsset'];
        XYK: ['ShareToken', 'TotalLiquidity', 'PoolAssets'];
        Referrals: ['ReferralCodes', 'ReferralAccounts', 'LinkedAccounts', 'ReferrerShares', 'TraderShares', 'TotalShares', 'Referrer', 'AssetRewards', 'PendingConversions', 'CounterForPendingConversions'];
        Liquidation: ['BorrowingContract'];
        HSM: ['Collaterals', 'HollarAmountReceived', 'FlashMinter'];
        Parameters: ['IsTestnet', 'RelayParentOffsetOverride'];
        Signet: ['SignetConfig'];
        EthDispenser: ['DispenserConfig', 'UsedRequestIds'];
        LazyExecutor: ['MaxTxPerBlock', 'MaxCallWeight', 'Sequencer', 'DispatchNextId', 'CallQueue'];
        Intent: ['Intents', 'IntentOwner', 'NextIncrementalId', 'AccountIntents', 'AccountIntentCount'];
        ICE: ['ProtocolFee'];
        Tokens: ['TotalIssuance', 'Locks', 'Accounts', 'Reserves'];
        Vesting: ['VestingSchedules'];
        EVM: ['AccountCodes', 'AccountCodesMetadata', 'AccountStorages'];
        EVMChainId: ['ChainId'];
        Ethereum: ['Pending', 'CounterForPending', 'CurrentBlock', 'CurrentReceipts', 'CurrentTransactionStatuses', 'BlockHash'];
        EVMAccounts: ['AccountExtension', 'ContractDeployer', 'ApprovedContract', 'MarkedEvmAccounts', 'Allowances'];
        DynamicEvmFee: ['BaseFeePerGas'];
        XYKWarehouseLM: ['FarmSequencer', 'DepositSequencer', 'GlobalFarm', 'YieldFarm', 'Deposit', 'ActiveYieldFarm'];
        DCA: ['ScheduleIdSequencer', 'Schedules', 'ScheduleOwnership', 'RemainingAmounts', 'RetriesOnError', 'ScheduleExecutionBlock', 'ScheduleIdsPerBlock', 'ScheduleExtraGas'];
        Scheduler: ['IncompleteSince', 'Agenda', 'Retries', 'Lookup'];
        ParachainSystem: ['UnincludedSegment', 'AggregatedUnincludedSegment', 'PendingValidationCode', 'NewValidationCode', 'ValidationData', 'DidSetValidationCode', 'LastRelayChainBlockNumber', 'UpgradeRestrictionSignal', 'UpgradeGoAhead', 'RelayStateProof', 'RelevantMessagingState', 'HostConfiguration', 'LastDmqMqcHead', 'LastHrmpMqcHeads', 'ProcessedDownwardMessages', 'HrmpWatermark', 'HrmpOutboundMessages', 'UpwardMessages', 'PendingUpwardMessages', 'UpwardDeliveryFeeFactor', 'AnnouncedHrmpMessagesPerCandidate', 'ReservedXcmpWeightOverride', 'ReservedDmpWeightOverride', 'CustomValidationHeadData'];
        ParachainInfo: ['ParachainId'];
        PolkadotXcm: ['QueryCounter', 'Queries', 'AssetTraps', 'SafeXcmVersion', 'SupportedVersion', 'VersionNotifiers', 'VersionNotifyTargets', 'VersionDiscoveryQueue', 'CurrentMigration', 'RemoteLockedFungibles', 'LockedFungibles', 'XcmExecutionSuspended', 'ShouldRecordXcm', 'RecordedXcm', 'AuthorizedAliases'];
        XcmpQueue: ['InboundXcmpSuspended', 'OutboundXcmpStatus', 'OutboundXcmpMessages', 'SignalMessages', 'QueueConfig', 'QueueSuspended', 'DeliveryFeeFactor'];
        MessageQueue: ['BookStateFor', 'ServiceHead', 'Pages'];
        MultiBlockMigrations: ['Cursor', 'Historic'];
        UnknownTokens: ['ConcreteFungibleBalances', 'AbstractFungibleBalances'];
        Authorship: ['Author'];
        CollatorSelection: ['Invulnerables', 'CandidateList', 'LastAuthoredBlock', 'DesiredCandidates', 'CandidacyBond'];
        Session: ['Validators', 'CurrentIndex', 'QueuedChanged', 'QueuedKeys', 'DisabledValidators', 'NextKeys', 'KeyOwner'];
        Aura: ['Authorities', 'CurrentSlot'];
        AuraExt: ['Authorities', 'RelaySlotInfo'];
        EmaOracle: ['Accumulator', 'Oracles', 'WhitelistedAssets', 'ExternalSources', 'AuthorizedAccounts'];
        Broadcast: ['IncrementalId', 'ExecutionContext', 'Swapper'];
    };
    tx: {
        System: ['remark', 'set_heap_pages', 'set_code', 'set_code_without_checks', 'set_storage', 'kill_storage', 'kill_prefix', 'remark_with_event', 'authorize_upgrade', 'authorize_upgrade_without_checks', 'apply_authorized_upgrade'];
        Timestamp: ['set'];
        Balances: ['transfer_allow_death', 'force_transfer', 'transfer_keep_alive', 'transfer_all', 'force_unreserve', 'upgrade_accounts', 'force_set_balance', 'force_adjust_total_issuance', 'burn'];
        MultiTransactionPayment: ['set_currency', 'add_currency', 'remove_currency', 'reset_payment_currency', 'dispatch_permit'];
        Treasury: ['spend_local', 'remove_approval', 'spend', 'payout', 'check_status', 'void_spend'];
        Utility: ['batch', 'as_derivative', 'batch_all', 'dispatch_as', 'force_batch', 'with_weight', 'if_else', 'dispatch_as_fallible'];
        Preimage: ['note_preimage', 'unnote_preimage', 'request_preimage', 'unrequest_preimage', 'ensure_updated'];
        Identity: ['add_registrar', 'set_identity', 'set_subs', 'clear_identity', 'request_judgement', 'cancel_request', 'set_fee', 'set_account_id', 'set_fields', 'provide_judgement', 'kill_identity', 'add_sub', 'rename_sub', 'remove_sub', 'quit_sub', 'add_username_authority', 'remove_username_authority', 'set_username_for', 'accept_username', 'remove_expired_approval', 'set_primary_username', 'unbind_username', 'remove_username', 'kill_username'];
        Democracy: ['propose', 'second', 'vote', 'emergency_cancel', 'external_propose', 'external_propose_majority', 'external_propose_default', 'fast_track', 'veto_external', 'cancel_referendum', 'delegate', 'undelegate', 'clear_public_proposals', 'unlock', 'remove_vote', 'remove_other_vote', 'blacklist', 'cancel_proposal', 'set_metadata', 'force_remove_vote'];
        TechnicalCommittee: ['set_members', 'execute', 'propose', 'vote', 'disapprove_proposal', 'close', 'kill', 'release_proposal_cost'];
        Proxy: ['proxy', 'add_proxy', 'remove_proxy', 'remove_proxies', 'create_pure', 'kill_pure', 'announce', 'remove_announcement', 'reject_announcement', 'proxy_announced', 'poke_deposit'];
        Multisig: ['as_multi_threshold_1', 'as_multi', 'approve_as_multi', 'cancel_as_multi', 'poke_deposit'];
        Uniques: ['create', 'force_create', 'destroy', 'mint', 'burn', 'transfer', 'redeposit', 'freeze', 'thaw', 'freeze_collection', 'thaw_collection', 'transfer_ownership', 'set_team', 'approve_transfer', 'cancel_approval', 'force_item_status', 'set_attribute', 'clear_attribute', 'set_metadata', 'clear_metadata', 'set_collection_metadata', 'clear_collection_metadata', 'set_accept_ownership', 'set_collection_max_supply', 'set_price', 'buy_item'];
        StateTrieMigration: ['control_auto_migration', 'continue_migrate', 'migrate_custom_top', 'migrate_custom_child', 'set_signed_max_limits', 'force_set_progress'];
        ConvictionVoting: ['vote', 'delegate', 'undelegate', 'unlock', 'remove_vote', 'remove_other_vote', 'force_remove_vote'];
        Referenda: ['submit', 'place_decision_deposit', 'refund_decision_deposit', 'cancel', 'kill', 'nudge_referendum', 'one_fewer_deciding', 'refund_submission_deposit', 'set_metadata'];
        Whitelist: ['whitelist_call', 'remove_whitelisted_call', 'dispatch_whitelisted_call', 'dispatch_whitelisted_call_with_preimage'];
        Dispatcher: ['dispatch_as_treasury', 'dispatch_as_aave_manager', 'note_aave_manager', 'dispatch_with_extra_gas', 'dispatch_evm_call', 'dispatch_as_emergency_admin', 'dispatch_with_fee_payer'];
        AssetRegistry: ['register', 'update', 'register_external', 'ban_asset', 'unban_asset'];
        Claims: ['claim'];
        Omnipool: ['add_token', 'add_liquidity', 'add_liquidity_with_limit', 'add_all_liquidity', 'remove_liquidity', 'remove_liquidity_with_limit', 'remove_all_liquidity', 'sacrifice_position', 'sell', 'buy', 'set_asset_tradable_state', 'refund_refused_asset', 'set_asset_weight_cap', 'withdraw_protocol_liquidity', 'remove_token', 'set_slip_fee'];
        TransactionPause: ['pause_transaction', 'unpause_transaction'];
        Duster: ['dust_account', 'whitelist_account', 'remove_from_whitelist'];
        OmnipoolLiquidityMining: ['create_global_farm', 'terminate_global_farm', 'create_yield_farm', 'update_yield_farm', 'stop_yield_farm', 'resume_yield_farm', 'terminate_yield_farm', 'deposit_shares', 'redeposit_shares', 'claim_rewards', 'withdraw_shares', 'update_global_farm', 'join_farms', 'add_liquidity_and_join_farms', 'exit_farms', 'add_liquidity_stableswap_omnipool_and_join_farms', 'remove_liquidity_stableswap_omnipool_and_exit_farms'];
        OTC: ['place_order', 'partial_fill_order', 'fill_order', 'cancel_order'];
        CircuitBreaker: ['set_trade_volume_limit', 'set_add_liquidity_limit', 'set_remove_liquidity_limit', 'lockdown_asset', 'force_lift_lockdown', 'release_deposit', 'set_global_withdraw_limit_params', 'reset_withdraw_lockdown', 'add_egress_accounts', 'remove_egress_accounts', 'set_global_withdraw_lockdown', 'set_asset_category'];
        Router: ['sell', 'buy', 'set_route', 'force_insert_route', 'sell_all'];
        DynamicFees: ['set_asset_fee', 'remove_asset_fee'];
        Staking: ['initialize_staking', 'stake', 'increase_stake', 'claim', 'unstake'];
        Stableswap: ['create_pool', 'update_pool_fee', 'update_amplification', 'add_liquidity_shares', 'remove_liquidity_one_asset', 'withdraw_asset_amount', 'sell', 'buy', 'set_asset_tradable_state', 'remove_liquidity', 'create_pool_with_pegs', 'add_assets_liquidity', 'update_asset_peg_source', 'update_pool_max_peg_update'];
        Bonds: ['issue', 'redeem'];
        OtcSettlements: ['settle_otc_order'];
        LBP: ['create_pool', 'update_pool_data', 'add_liquidity', 'remove_liquidity', 'sell', 'buy'];
        XYK: ['create_pool', 'add_liquidity', 'add_liquidity_with_limits', 'remove_liquidity', 'remove_liquidity_with_limits', 'sell', 'buy'];
        Referrals: ['register_code', 'link_code', 'convert', 'claim_rewards', 'set_reward_percentage'];
        Liquidation: ['liquidate', 'set_borrowing_contract'];
        HSM: ['add_collateral_asset', 'remove_collateral_asset', 'update_collateral_asset', 'sell', 'buy', 'execute_arbitrage', 'set_flash_minter'];
        Signet: ['set_config', 'withdraw_funds', 'sign', 'sign_bidirectional', 'respond', 'respond_error', 'respond_bidirectional', 'pause', 'unpause'];
        EthDispenser: ['request_fund', 'set_config', 'pause', 'unpause'];
        LazyExecutor: ['dispatch_top'];
        Intent: ['submit_intent', 'remove_intent', 'cleanup_intent'];
        ICE: ['submit_solution', 'set_protocol_fee'];
        Tokens: ['transfer', 'transfer_all', 'transfer_keep_alive', 'force_transfer', 'set_balance'];
        Currencies: ['transfer', 'transfer_native_currency', 'update_balance'];
        Vesting: ['claim', 'vested_transfer', 'update_vesting_schedules', 'claim_for'];
        EVM: ['withdraw', 'call', 'create', 'create2'];
        Ethereum: ['transact'];
        EVMAccounts: ['bind_evm_address', 'add_contract_deployer', 'remove_contract_deployer', 'renounce_contract_deployer', 'approve_contract', 'disapprove_contract', 'claim_account'];
        XYKLiquidityMining: ['create_global_farm', 'update_global_farm', 'terminate_global_farm', 'create_yield_farm', 'update_yield_farm', 'stop_yield_farm', 'resume_yield_farm', 'terminate_yield_farm', 'deposit_shares', 'join_farms', 'add_liquidity_and_join_farms', 'redeposit_shares', 'claim_rewards', 'withdraw_shares', 'exit_farms'];
        DCA: ['schedule', 'terminate', 'unlock_reserves'];
        Scheduler: ['schedule', 'cancel', 'schedule_named', 'cancel_named', 'schedule_after', 'schedule_named_after', 'set_retry', 'set_retry_named', 'cancel_retry', 'cancel_retry_named'];
        ParachainSystem: ['set_validation_data', 'sudo_send_upward_message'];
        PolkadotXcm: ['send', 'teleport_assets', 'reserve_transfer_assets', 'execute', 'force_xcm_version', 'force_default_xcm_version', 'force_subscribe_version_notify', 'force_unsubscribe_version_notify', 'limited_reserve_transfer_assets', 'limited_teleport_assets', 'force_suspension', 'transfer_assets', 'claim_assets', 'transfer_assets_using_type_and_then', 'add_authorized_alias', 'remove_authorized_alias', 'remove_all_authorized_aliases'];
        MessageQueue: ['reap_page', 'execute_overweight'];
        MultiBlockMigrations: ['force_set_cursor', 'force_set_active_cursor', 'force_onboard_mbms', 'clear_historic'];
        OrmlXcm: ['send_as_sovereign'];
        XTokens: ['transfer', 'transfer_multiasset', 'transfer_with_fee', 'transfer_multiasset_with_fee', 'transfer_multicurrencies', 'transfer_multiassets'];
        CollatorSelection: ['set_invulnerables', 'set_desired_candidates', 'set_candidacy_bond', 'register_as_candidate', 'leave_intent', 'add_invulnerable', 'remove_invulnerable', 'update_bond', 'take_candidate_slot'];
        Session: ['set_keys', 'purge_keys'];
        EmaOracle: ['add_oracle', 'remove_oracle', 'update_bifrost_oracle', 'set_external_oracle', 'set_external_oracle_by_ids', 'register_external_source', 'remove_external_source', 'add_authorized_account', 'remove_authorized_account'];
    };
    events: {
        System: ['ExtrinsicSuccess', 'ExtrinsicFailed', 'CodeUpdated', 'NewAccount', 'KilledAccount', 'Remarked', 'UpgradeAuthorized', 'RejectedInvalidAuthorizedUpgrade'];
        Balances: ['Endowed', 'DustLost', 'Transfer', 'BalanceSet', 'Reserved', 'Unreserved', 'ReserveRepatriated', 'Deposit', 'Withdraw', 'Slashed', 'Minted', 'Burned', 'Suspended', 'Restored', 'Upgraded', 'Issued', 'Rescinded', 'Locked', 'Unlocked', 'Frozen', 'Thawed', 'TotalIssuanceForced'];
        TransactionPayment: ['TransactionFeePaid'];
        MultiTransactionPayment: ['CurrencySet', 'CurrencyAdded', 'CurrencyRemoved', 'FeeWithdrawn'];
        Treasury: ['Spending', 'Awarded', 'Burnt', 'Rollover', 'Deposit', 'SpendApproved', 'UpdatedInactive', 'AssetSpendApproved', 'AssetSpendVoided', 'Paid', 'PaymentFailed', 'SpendProcessed'];
        Utility: ['BatchInterrupted', 'BatchCompleted', 'BatchCompletedWithErrors', 'ItemCompleted', 'ItemFailed', 'DispatchedAs', 'IfElseMainSuccess', 'IfElseFallbackCalled'];
        Preimage: ['Noted', 'Requested', 'Cleared'];
        Identity: ['IdentitySet', 'IdentityCleared', 'IdentityKilled', 'JudgementRequested', 'JudgementUnrequested', 'JudgementGiven', 'RegistrarAdded', 'SubIdentityAdded', 'SubIdentitiesSet', 'SubIdentityRenamed', 'SubIdentityRemoved', 'SubIdentityRevoked', 'AuthorityAdded', 'AuthorityRemoved', 'UsernameSet', 'UsernameQueued', 'PreapprovalExpired', 'PrimaryUsernameSet', 'DanglingUsernameRemoved', 'UsernameUnbound', 'UsernameRemoved', 'UsernameKilled'];
        Democracy: ['Proposed', 'Tabled', 'ExternalTabled', 'Started', 'Passed', 'NotPassed', 'Cancelled', 'Delegated', 'Undelegated', 'Vetoed', 'Blacklisted', 'Voted', 'Seconded', 'ProposalCanceled', 'MetadataSet', 'MetadataCleared', 'MetadataTransferred'];
        TechnicalCommittee: ['Proposed', 'Voted', 'Approved', 'Disapproved', 'Executed', 'MemberExecuted', 'Closed', 'Killed', 'ProposalCostBurned', 'ProposalCostReleased'];
        Proxy: ['ProxyExecuted', 'PureCreated', 'PureKilled', 'Announced', 'ProxyAdded', 'ProxyRemoved', 'DepositPoked'];
        Multisig: ['NewMultisig', 'MultisigApproval', 'MultisigExecuted', 'MultisigCancelled', 'DepositPoked'];
        Uniques: ['Created', 'ForceCreated', 'Destroyed', 'Issued', 'Transferred', 'Burned', 'Frozen', 'Thawed', 'CollectionFrozen', 'CollectionThawed', 'OwnerChanged', 'TeamChanged', 'ApprovedTransfer', 'ApprovalCancelled', 'ItemStatusChanged', 'CollectionMetadataSet', 'CollectionMetadataCleared', 'MetadataSet', 'MetadataCleared', 'Redeposited', 'AttributeSet', 'AttributeCleared', 'OwnershipAcceptanceChanged', 'CollectionMaxSupplySet', 'ItemPriceSet', 'ItemPriceRemoved', 'ItemBought'];
        StateTrieMigration: ['Migrated', 'Slashed', 'AutoMigrationFinished', 'Halted'];
        ConvictionVoting: ['Delegated', 'Undelegated', 'Voted', 'VoteRemoved', 'VoteUnlocked'];
        Referenda: ['Submitted', 'DecisionDepositPlaced', 'DecisionDepositRefunded', 'DepositSlashed', 'DecisionStarted', 'ConfirmStarted', 'ConfirmAborted', 'Confirmed', 'Approved', 'Rejected', 'TimedOut', 'Cancelled', 'Killed', 'SubmissionDepositRefunded', 'MetadataSet', 'MetadataCleared'];
        Whitelist: ['CallWhitelisted', 'WhitelistedCallRemoved', 'WhitelistedCallDispatched'];
        Dispatcher: ['TreasuryManagerCallDispatched', 'AaveManagerCallDispatched', 'EmergencyAdminCallDispatched'];
        AssetRegistry: ['ExistentialDepositPaid', 'Registered', 'Updated', 'LocationSet', 'AssetBanned', 'AssetUnbanned'];
        Claims: ['Claim'];
        CollatorRewards: ['CollatorRewarded'];
        CollatorRotation: ['CollatorBenched'];
        Omnipool: ['TokenAdded', 'TokenRemoved', 'LiquidityAdded', 'LiquidityRemoved', 'ProtocolLiquidityRemoved', 'SellExecuted', 'BuyExecuted', 'PositionCreated', 'PositionDestroyed', 'PositionUpdated', 'TradableStateUpdated', 'AssetRefunded', 'AssetWeightCapUpdated', 'SlipFeeSet'];
        TransactionPause: ['TransactionPaused', 'TransactionUnpaused'];
        Duster: ['Dusted', 'Added', 'Removed'];
        OmnipoolWarehouseLM: ['GlobalFarmAccRPZUpdated', 'YieldFarmAccRPVSUpdated', 'AllRewardsDistributed'];
        OmnipoolLiquidityMining: ['GlobalFarmCreated', 'GlobalFarmUpdated', 'GlobalFarmTerminated', 'YieldFarmCreated', 'YieldFarmUpdated', 'YieldFarmStopped', 'YieldFarmResumed', 'YieldFarmTerminated', 'SharesDeposited', 'SharesRedeposited', 'RewardClaimed', 'SharesWithdrawn', 'DepositDestroyed'];
        OTC: ['Cancelled', 'Filled', 'PartiallyFilled', 'Placed'];
        CircuitBreaker: ['TradeVolumeLimitChanged', 'AddLiquidityLimitChanged', 'RemoveLiquidityLimitChanged', 'AssetLockdown', 'AssetLockdownRemoved', 'DepositReleased', 'WithdrawLockdownLifted', 'WithdrawLockdownReset', 'WithdrawLimitConfigUpdated', 'WithdrawLockdownTriggered', 'EgressAccountsAdded', 'EgressAccountsRemoved', 'AssetCategoryUpdated'];
        Router: ['Executed', 'RouteUpdated'];
        DynamicFees: ['AssetFeeConfigSet', 'AssetFeeConfigRemoved'];
        Staking: ['PositionCreated', 'StakeAdded', 'RewardsClaimed', 'Unstaked', 'StakingInitialized', 'AccumulatedRpsUpdated'];
        Stableswap: ['PoolCreated', 'FeeUpdated', 'LiquidityAdded', 'LiquidityRemoved', 'SellExecuted', 'BuyExecuted', 'TradableStateUpdated', 'AmplificationChanging', 'PoolDestroyed', 'PoolPegSourceUpdated', 'PoolMaxPegUpdateUpdated'];
        Bonds: ['TokenCreated', 'Issued', 'Redeemed'];
        OtcSettlements: ['Executed'];
        LBP: ['PoolCreated', 'PoolUpdated', 'LiquidityAdded', 'LiquidityRemoved', 'SellExecuted', 'BuyExecuted'];
        XYK: ['LiquidityAdded', 'LiquidityRemoved', 'PoolCreated', 'PoolDestroyed', 'SellExecuted', 'BuyExecuted'];
        Referrals: ['CodeRegistered', 'CodeLinked', 'Converted', 'Claimed', 'AssetRewardsUpdated', 'LevelUp'];
        Liquidation: ['Liquidated'];
        HSM: ['CollateralAdded', 'CollateralRemoved', 'CollateralUpdated', 'ArbitrageExecuted', 'FlashMinterSet'];
        Signet: ['ConfigUpdated', 'Paused', 'Unpaused', 'FundsWithdrawn', 'SignatureRequested', 'SignBidirectionalRequested', 'SignatureResponded', 'SignatureError', 'RespondBidirectionalEvent'];
        EthDispenser: ['ConfigUpdated', 'Paused', 'Unpaused', 'FundRequested'];
        LazyExecutor: ['Queued', 'Executed'];
        Intent: ['IntentSubmitted', 'IntentResolved', 'IntentResovedPartially', 'IntentCanceled', 'IntentExpired', 'FailedToQueueCallback', 'DcaTradeExecuted', 'DcaCompleted'];
        ICE: ['SolutionExecuted', 'ProtocolFeeSet'];
        Tokens: ['Endowed', 'DustLost', 'Transfer', 'Reserved', 'Unreserved', 'ReserveRepatriated', 'BalanceSet', 'TotalIssuanceSet', 'Withdrawn', 'Slashed', 'Deposited', 'LockSet', 'LockRemoved', 'Locked', 'Unlocked', 'Issued', 'Rescinded'];
        Currencies: ['Transferred', 'BalanceUpdated', 'Deposited', 'Withdrawn'];
        Vesting: ['VestingScheduleAdded', 'Claimed', 'VestingSchedulesUpdated'];
        EVM: ['Log', 'Created', 'CreatedFailed', 'Executed', 'ExecutedFailed'];
        Ethereum: ['Executed'];
        EVMAccounts: ['Bound', 'DeployerAdded', 'DeployerRemoved', 'ContractApproved', 'ContractDisapproved', 'AccountClaimed'];
        XYKLiquidityMining: ['GlobalFarmCreated', 'GlobalFarmUpdated', 'YieldFarmCreated', 'GlobalFarmTerminated', 'SharesDeposited', 'SharesRedeposited', 'RewardClaimed', 'SharesWithdrawn', 'YieldFarmStopped', 'YieldFarmResumed', 'YieldFarmTerminated', 'YieldFarmUpdated', 'DepositDestroyed'];
        XYKWarehouseLM: ['GlobalFarmAccRPZUpdated', 'YieldFarmAccRPVSUpdated', 'AllRewardsDistributed'];
        RelayChainInfo: ['CurrentBlockNumbers'];
        DCA: ['ExecutionStarted', 'Scheduled', 'ExecutionPlanned', 'TradeExecuted', 'TradeFailed', 'Terminated', 'Completed', 'RandomnessGenerationFailed', 'ReserveUnlocked'];
        Scheduler: ['Scheduled', 'Canceled', 'Dispatched', 'RetrySet', 'RetryCancelled', 'CallUnavailable', 'PeriodicFailed', 'RetryFailed', 'PermanentlyOverweight', 'AgendaIncomplete'];
        ParachainSystem: ['ValidationFunctionStored', 'ValidationFunctionApplied', 'ValidationFunctionDiscarded', 'DownwardMessagesReceived', 'DownwardMessagesProcessed', 'UpwardMessageSent'];
        PolkadotXcm: ['Attempted', 'Sent', 'SendFailed', 'ProcessXcmError', 'UnexpectedResponse', 'ResponseReady', 'Notified', 'NotifyOverweight', 'NotifyDispatchError', 'NotifyDecodeFailed', 'InvalidResponder', 'InvalidResponderVersion', 'ResponseTaken', 'AssetsTrapped', 'VersionChangeNotified', 'SupportedVersionChanged', 'NotifyTargetSendFail', 'NotifyTargetMigrationFail', 'InvalidQuerierVersion', 'InvalidQuerier', 'VersionNotifyStarted', 'VersionNotifyRequested', 'VersionNotifyUnrequested', 'FeesPaid', 'AssetsClaimed', 'VersionMigrationFinished', 'AliasAuthorized', 'AliasAuthorizationRemoved', 'AliasesAuthorizationsRemoved'];
        CumulusXcm: ['InvalidFormat', 'UnsupportedVersion', 'ExecutedDownward'];
        XcmpQueue: ['XcmpMessageSent'];
        MessageQueue: ['ProcessingFailed', 'Processed', 'OverweightEnqueued', 'PageReaped'];
        MultiBlockMigrations: ['UpgradeStarted', 'UpgradeCompleted', 'UpgradeFailed', 'MigrationSkipped', 'MigrationAdvanced', 'MigrationCompleted', 'MigrationFailed', 'HistoricCleared'];
        OrmlXcm: ['Sent'];
        XTokens: ['TransferredAssets'];
        UnknownTokens: ['Deposited', 'Withdrawn'];
        CollatorSelection: ['NewInvulnerables', 'InvulnerableAdded', 'InvulnerableRemoved', 'NewDesiredCandidates', 'NewCandidacyBond', 'CandidateAdded', 'CandidateBondUpdated', 'CandidateRemoved', 'CandidateReplaced', 'InvalidInvulnerableSkipped'];
        Session: ['NewSession', 'NewQueued', 'ValidatorDisabled', 'ValidatorReenabled'];
        EmaOracle: ['AddedToWhitelist', 'RemovedFromWhitelist', 'OracleUpdated', 'ExternalSourceRegistered', 'ExternalSourceRemoved', 'AuthorizedAccountAdded', 'AuthorizedAccountRemoved'];
        Broadcast: ['Swapped3'];
    };
    errors: {
        System: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered', 'MultiBlockMigrationsOngoing', 'NothingAuthorized', 'Unauthorized'];
        Balances: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes', 'IssuanceDeactivated', 'DeltaZero'];
        MultiTransactionPayment: ['UnsupportedCurrency', 'ZeroBalance', 'AlreadyAccepted', 'CoreAssetNotAllowed', 'ZeroPrice', 'FallbackPriceNotFound', 'Overflow', 'EvmAccountNotAllowed', 'EvmPermitExpired', 'EvmPermitInvalid', 'EvmPermitCallExecutionError', 'EvmPermitRunnerError', 'EvmPermitNonceInvariantViolated'];
        Treasury: ['InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved', 'FailedToConvertBalance', 'SpendExpired', 'EarlyPayout', 'AlreadyAttempted', 'PayoutError', 'NotAttempted', 'Inconclusive'];
        Utility: ['TooManyCalls'];
        Preimage: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested', 'TooMany', 'TooFew'];
        Identity: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed', 'InvalidSuffix', 'NotUsernameAuthority', 'NoAllocation', 'InvalidSignature', 'RequiresSignature', 'InvalidUsername', 'UsernameTaken', 'NoUsername', 'NotExpired', 'TooEarly', 'NotUnbinding', 'AlreadyUnbinding', 'InsufficientPrivileges'];
        Democracy: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist'];
        TechnicalCommittee: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength', 'PrimeAccountNotMember', 'ProposalActive'];
        Proxy: ['TooMany', 'NotFound', 'NotProxy', 'Unproxyable', 'Duplicate', 'NoPermission', 'Unannounced', 'NoSelfProxy'];
        Multisig: ['MinimumThreshold', 'AlreadyApproved', 'NoApprovalsNeeded', 'TooFewSignatories', 'TooManySignatories', 'SignatoriesOutOfOrder', 'SenderInSignatories', 'NotFound', 'NotOwner', 'NoTimepoint', 'WrongTimepoint', 'UnexpectedTimepoint', 'MaxWeightTooLow', 'AlreadyStored'];
        Uniques: ['NoPermission', 'UnknownCollection', 'AlreadyExists', 'WrongOwner', 'BadWitness', 'InUse', 'Frozen', 'WrongDelegate', 'NoDelegate', 'Unapproved', 'Unaccepted', 'Locked', 'MaxSupplyReached', 'MaxSupplyAlreadySet', 'MaxSupplyTooSmall', 'UnknownItem', 'NotForSale', 'BidTooLow', 'NoMetadata', 'WrongMetadata', 'AttributeNotFound', 'WrongAttribute'];
        StateTrieMigration: ['MaxSignedLimits', 'KeyTooLong', 'NotEnoughFunds', 'BadWitness', 'SignedMigrationNotAllowed', 'BadChildRoot'];
        ConvictionVoting: ['NotOngoing', 'NotVoter', 'NoPermission', 'NoPermissionYet', 'AlreadyDelegating', 'AlreadyVoting', 'InsufficientFunds', 'NotDelegating', 'Nonsense', 'MaxVotesReached', 'ClassNeeded', 'BadClass'];
        Referenda: ['NotOngoing', 'HasDeposit', 'BadTrack', 'Full', 'QueueEmpty', 'BadReferendum', 'NothingToDo', 'NoTrack', 'Unfinished', 'NoPermission', 'NoDeposit', 'BadStatus', 'PreimageNotExist', 'PreimageStoredWithDifferentLength'];
        Whitelist: ['UnavailablePreImage', 'UndecodableCall', 'InvalidCallWeightWitness', 'CallIsNotWhitelisted', 'CallAlreadyWhitelisted'];
        Dispatcher: ['EvmCallFailed', 'NotEvmCall', 'EvmOutOfGas', 'EvmArithmeticOverflowOrUnderflow', 'AaveSupplyCapExceeded', 'AaveBorrowCapExceeded', 'AaveHealthFactorNotBelowThreshold', 'AaveHealthFactorLowerThanLiquidationThreshold', 'CollateralCannotCoverNewBorrow', 'AaveReservePaused'];
        AssetRegistry: ['NoIdAvailable', 'AssetNotFound', 'TooShort', 'InvalidSymbol', 'AssetNotRegistered', 'AssetAlreadyRegistered', 'InvalidSharedAssetLen', 'CannotUpdateLocation', 'NotInReservedRange', 'LocationAlreadyRegistered', 'Forbidden', 'InsufficientBalance', 'ForbiddenSufficiencyChange', 'AssetAlreadyBanned', 'AssetNotBanned'];
        Claims: ['InvalidEthereumSignature', 'NoClaimOrAlreadyClaimed', 'BalanceOverflow'];
        Omnipool: ['InsufficientBalance', 'AssetAlreadyAdded', 'AssetNotFound', 'MissingBalance', 'InvalidInitialAssetPrice', 'BuyLimitNotReached', 'SellLimitExceeded', 'PositionNotFound', 'InsufficientShares', 'NotAllowed', 'Forbidden', 'AssetWeightCapExceeded', 'AssetNotRegistered', 'InsufficientLiquidity', 'InsufficientTradingAmount', 'SameAssetTradeNotAllowed', 'HubAssetUpdateError', 'InvalidSharesAmount', 'InvalidHubAssetTradableState', 'AssetRefundNotAllowed', 'MaxOutRatioExceeded', 'MaxInRatioExceeded', 'PriceDifferenceTooHigh', 'InvalidOraclePrice', 'InvalidWithdrawalFee', 'FeeOverdraft', 'SharesRemaining', 'AssetNotFrozen', 'ZeroAmountOut', 'ExistentialDepositNotAvailable', 'SlippageLimit', 'ProtocolFeeNotConsumed', 'MaxSlipFeeTooHigh', 'InvariantError', 'InvalidOmnipoolHubReserve'];
        TransactionPause: ['CannotPause', 'InvalidCharacter', 'NameTooLong'];
        Duster: ['AccountWhitelisted', 'AccountNotWhitelisted', 'ZeroBalance', 'NonZeroBalance', 'BalanceSufficient', 'ReserveAccountNotSet'];
        OmnipoolWarehouseLM: ['GlobalFarmNotFound', 'YieldFarmNotFound', 'DoubleClaimInPeriod', 'LiquidityMiningCanceled', 'LiquidityMiningIsActive', 'LiquidityMiningIsNotStopped', 'Forbidden', 'InvalidMultiplier', 'YieldFarmAlreadyExists', 'InvalidInitialRewardPercentage', 'GlobalFarmIsNotEmpty', 'MissingIncentivizedAsset', 'InsufficientRewardCurrencyBalance', 'InvalidBlocksPerPeriod', 'InvalidYieldPerPeriod', 'InvalidTotalRewards', 'InvalidPlannedYieldingPeriods', 'MaxEntriesPerDeposit', 'DoubleLock', 'YieldFarmEntryNotFound', 'GlobalFarmIsFull', 'InvalidMinDeposit', 'InvalidPriceAdjustment', 'ErrorGetAccountId', 'IncorrectValuedShares', 'RewardCurrencyNotRegistered', 'IncentivizedAssetNotRegistered', 'AmmPoolIdMismatch', 'InconsistentState'];
        OmnipoolLiquidityMining: ['AssetNotFound', 'Forbidden', 'ZeroClaimedRewards', 'InconsistentState', 'OracleNotAvailable', 'PriceAdjustmentNotAvailable', 'NoFarmEntriesSpecified', 'NoAssetsSpecified', 'PositionIdMismatch'];
        OTC: ['AssetNotRegistered', 'OrderNotFound', 'OrderIdOutOfBound', 'OrderNotPartiallyFillable', 'OrderAmountTooSmall', 'MathError', 'Forbidden', 'InsufficientReservedAmount'];
        CircuitBreaker: ['InvalidLimitValue', 'LiquidityLimitNotStoredForAsset', 'TokenOutflowLimitReached', 'TokenInfluxLimitReached', 'MaxLiquidityLimitPerBlockReached', 'NotAllowed', 'AssetInLockdown', 'AssetNotInLockdown', 'InvalidAmount', 'DepositLimitExceededForWhitelistedAccount', 'WithdrawLockdownActive', 'GlobalWithdrawLimitExceeded', 'FailedToConvertAsset'];
        Router: ['TradingLimitReached', 'MaxTradesExceeded', 'PoolNotSupported', 'InsufficientBalance', 'RouteCalculationFailed', 'InvalidRoute', 'RouteUpdateIsNotSuccessful', 'RouteHasNoOracle', 'InvalidRouteExecution', 'NotAllowed'];
        DynamicFees: ['InvalidFeeParameters'];
        Staking: ['InsufficientBalance', 'InsufficientStake', 'PositionNotFound', 'MaxVotesReached', 'NotInitialized', 'AlreadyInitialized', 'Arithmetic', 'MissingPotBalance', 'PositionAlreadyExists', 'Forbidden', 'ExistingVotes', 'ExistingProcessedVotes', 'InconsistentState'];
        Stableswap: ['IncorrectAssets', 'MaxAssetsExceeded', 'PoolNotFound', 'PoolExists', 'AssetNotInPool', 'ShareAssetNotRegistered', 'ShareAssetInPoolAssets', 'AssetNotRegistered', 'InvalidAssetAmount', 'InsufficientBalance', 'InsufficientShares', 'InsufficientLiquidity', 'InsufficientLiquidityRemaining', 'InsufficientTradingAmount', 'BuyLimitNotReached', 'SellLimitExceeded', 'InvalidInitialLiquidity', 'InvalidAmplification', 'InsufficientShareBalance', 'NotAllowed', 'PastBlock', 'SameAmplification', 'SlippageLimit', 'UnknownDecimals', 'IncorrectInitialPegs', 'MissingTargetPegOracle', 'IncorrectAssetDecimals', 'NoPegSource', 'ZeroAmountOut', 'ZeroAmountIn', 'InvariantError'];
        Bonds: ['NotRegistered', 'NotMature', 'InvalidMaturity', 'DisallowedAsset', 'AssetNotFound', 'InvalidBondName', 'FailToParseName'];
        OtcSettlements: ['OrderNotFound', 'NotPartiallyFillable', 'InvalidRoute', 'BalanceInconsistency', 'TradeAmountTooHigh', 'TradeAmountTooLow', 'PriceNotAvailable'];
        LBP: ['CannotCreatePoolWithSameAssets', 'NotOwner', 'SaleStarted', 'SaleNotEnded', 'SaleIsNotRunning', 'MaxSaleDurationExceeded', 'CannotAddZeroLiquidity', 'InsufficientAssetBalance', 'PoolNotFound', 'PoolAlreadyExists', 'InvalidBlockRange', 'WeightCalculationError', 'InvalidWeight', 'ZeroAmount', 'MaxInRatioExceeded', 'MaxOutRatioExceeded', 'FeeAmountInvalid', 'TradingLimitReached', 'Overflow', 'NothingToUpdate', 'InsufficientLiquidity', 'InsufficientTradingAmount', 'FeeCollectorWithAssetAlreadyUsed'];
        XYK: ['CannotCreatePoolWithSameAssets', 'InsufficientLiquidity', 'InsufficientTradingAmount', 'ZeroLiquidity', 'InvalidMintedLiquidity', 'InvalidLiquidityAmount', 'AssetAmountExceededLimit', 'AssetAmountNotReachedLimit', 'InsufficientAssetBalance', 'InsufficientPoolAssetBalance', 'InsufficientNativeCurrencyBalance', 'TokenPoolNotFound', 'TokenPoolAlreadyExists', 'AddAssetAmountInvalid', 'RemoveAssetAmountInvalid', 'SellAssetAmountInvalid', 'BuyAssetAmountInvalid', 'FeeAmountInvalid', 'MaxOutRatioExceeded', 'MaxInRatioExceeded', 'Overflow', 'CannotCreatePool', 'SlippageLimit'];
        Referrals: ['TooLong', 'TooShort', 'InvalidCharacter', 'AlreadyExists', 'InvalidCode', 'AlreadyLinked', 'ZeroAmount', 'LinkNotAllowed', 'IncorrectRewardCalculation', 'IncorrectRewardPercentage', 'AlreadyRegistered', 'PriceNotFound', 'ConversionMinTradingAmountNotReached', 'ConversionZeroAmountReceived'];
        Liquidation: ['AssetConversionFailed', 'LiquidationCallFailed', 'InvalidRoute', 'NotProfitable', 'FlashMinterNotSet', 'InvalidLiquidationData'];
        HSM: ['AssetNotApproved', 'AssetAlreadyApproved', 'PoolAlreadyHasCollateral', 'InvalidAssetPair', 'MaxBuyPriceExceeded', 'MaxBuyBackExceeded', 'MaxHoldingExceeded', 'SlippageLimitExceeded', 'InvalidEVMInteraction', 'DecimalRetrievalFailed', 'NoArbitrageOpportunity', 'AssetNotFound', 'InvalidPoolState', 'CollateralNotEmpty', 'AssetNotInPool', 'HollarNotInPool', 'InsufficientCollateralBalance', 'HollarContractAddressNotFound', 'MaxNumberOfCollateralsReached', 'FlashMinterNotSet', 'InvalidArbitrageData'];
        Signet: ['NotConfigured', 'Paused', 'InsufficientFunds', 'InvalidTransaction', 'InvalidInputLength', 'DataTooLong', 'InvalidAddress', 'InvalidGasPrice'];
        EthDispenser: ['NotConfigured', 'DuplicateRequest', 'Serialization', 'InvalidOutput', 'InvalidRequestId', 'Paused', 'AmountTooSmall', 'AmountTooLarge', 'InvalidAddress', 'FaucetBalanceBelowThreshold', 'NotEnoughFeeFunds', 'NotEnoughFaucetFunds', 'InvalidConfig'];
        LazyExecutor: ['Corrupted', 'IdOverflow', 'Overflow', 'FailedToPayFees', 'FailedToDepositFees', 'EmptyQueue', 'Overweight'];
        Intent: ['InvalidDeadline', 'InvalidIntent', 'IntentNotFound', 'IntentExpired', 'IntentActive', 'ResolveMismatch', 'LimitViolation', 'ArithmeticOverflow', 'IntentOwnerNotFound', 'InvalidOwner', 'InsufficientReservedBalance', 'NotImplemented', 'AssetNotFound', 'InvalidDcaPeriod', 'InvalidDcaBudget', 'InvalidDcaDeadline', 'MaxIntentsReached'];
        ICE: ['InvalidSolution', 'IntentNotFound', 'IntentOwnerNotFound', 'LimitViolation', 'PriceInconsistency', 'DuplicateIntent', 'InvalidRoute', 'ScoreMismatch', 'UnsupportedIntentKind', 'ArithmeticOverflow', 'AssetNotFound', 'InvalidAmount'];
        Tokens: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves'];
        Currencies: ['AmountIntoBalanceFailed', 'BalanceTooLow', 'DepositFailed', 'NotSupported'];
        Vesting: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded'];
        EVM: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitExceedsBlockLimit', 'InvalidChainId', 'InvalidSignature', 'Reentrancy', 'TransactionMustComeFromEOA', 'Undefined', 'CreateOriginNotAllowed', 'TransactionGasLimitExceedsCap'];
        Ethereum: ['InvalidSignature', 'PreLogExists'];
        EVMAccounts: ['TruncatedAccountAlreadyUsed', 'AddressAlreadyBound', 'BoundAddressCannotBeUsed', 'AddressNotWhitelisted', 'InvalidSignature', 'AccountAlreadyExists', 'InsufficientAssetBalance'];
        XYKLiquidityMining: ['CantFindDepositOwner', 'InsufficientXykSharesBalance', 'XykPoolDoesntExist', 'NotDepositOwner', 'CantGetXykAssets', 'DepositDataNotFound', 'ZeroClaimedRewards', 'AssetNotInAssetPair', 'InvalidAssetPair', 'AssetNotRegistered', 'FailToGetPotId', 'NoFarmsSpecified', 'FailedToValueShares'];
        XYKWarehouseLM: ['GlobalFarmNotFound', 'YieldFarmNotFound', 'DoubleClaimInPeriod', 'LiquidityMiningCanceled', 'LiquidityMiningIsActive', 'LiquidityMiningIsNotStopped', 'Forbidden', 'InvalidMultiplier', 'YieldFarmAlreadyExists', 'InvalidInitialRewardPercentage', 'GlobalFarmIsNotEmpty', 'MissingIncentivizedAsset', 'InsufficientRewardCurrencyBalance', 'InvalidBlocksPerPeriod', 'InvalidYieldPerPeriod', 'InvalidTotalRewards', 'InvalidPlannedYieldingPeriods', 'MaxEntriesPerDeposit', 'DoubleLock', 'YieldFarmEntryNotFound', 'GlobalFarmIsFull', 'InvalidMinDeposit', 'InvalidPriceAdjustment', 'ErrorGetAccountId', 'IncorrectValuedShares', 'RewardCurrencyNotRegistered', 'IncentivizedAssetNotRegistered', 'AmmPoolIdMismatch', 'InconsistentState'];
        DCA: ['ScheduleNotFound', 'MinTradeAmountNotReached', 'Forbidden', 'BlockNumberIsNotInFuture', 'PriceUnstable', 'Bumped', 'CalculatingPriceError', 'TotalAmountIsSmallerThanMinBudget', 'BudgetTooLow', 'NoFreeBlockFound', 'ManuallyTerminated', 'MaxRetryReached', 'TradeLimitReached', 'SlippageLimitReached', 'NoParentHashFound', 'InvalidState', 'PeriodTooShort', 'StabilityThresholdTooHigh', 'HasActiveSchedules', 'NoReservesLocked'];
        Scheduler: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'];
        ParachainSystem: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled'];
        PolkadotXcm: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'CannotCheckOutTeleport', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse', 'InvalidAssetUnknownReserve', 'InvalidAssetUnsupportedReserve', 'TooManyReserves', 'LocalExecutionIncomplete', 'TooManyAuthorizedAliases', 'ExpiresInPast', 'AliasNotFound', 'LocalExecutionIncompleteWithError'];
        XcmpQueue: ['BadQueueConfig', 'AlreadySuspended', 'AlreadyResumed', 'TooManyActiveOutboundChannels', 'TooBig'];
        MessageQueue: ['NotReapable', 'NoPage', 'NoMessage', 'AlreadyProcessed', 'Queued', 'InsufficientWeight', 'TemporarilyUnprocessable', 'QueuePaused', 'RecursiveDisallowed'];
        MultiBlockMigrations: ['Ongoing'];
        OrmlXcm: ['Unreachable', 'SendFailure', 'BadVersion'];
        XTokens: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedLocation', 'MinXcmFeeNotDefined', 'RateLimited'];
        UnknownTokens: ['BalanceTooLow', 'BalanceOverflow', 'UnhandledAsset'];
        CollatorSelection: ['TooManyCandidates', 'TooFewEligibleCollators', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered', 'InsertToCandidateListFailed', 'RemoveFromCandidateListFailed', 'DepositTooLow', 'UpdateCandidateListFailed', 'InsufficientBond', 'TargetIsNotCandidate', 'IdenticalDeposit', 'InvalidUnreserve'];
        Session: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'];
        EmaOracle: ['TooManyUniqueEntries', 'OnTradeValueZero', 'OracleNotFound', 'AssetNotFound', 'SourceAlreadyRegistered', 'SourceNotFound', 'NotAuthorized', 'PriceIsZero'];
        Broadcast: ['ExecutionCallStackOverflow', 'ExecutionCallStackUnderflow'];
    };
    constants: {
        System: ['BlockWeights', 'BlockLength', 'BlockHashCount', 'DbWeight', 'Version', 'SS58Prefix'];
        Timestamp: ['MinimumPeriod'];
        Balances: ['ExistentialDeposit', 'MaxLocks', 'MaxReserves', 'MaxFreezes'];
        TransactionPayment: ['OperationalFeeMultiplier'];
        MultiTransactionPayment: ['NativeAssetId', 'PolkadotNativeAssetId', 'EvmAssetId'];
        Treasury: ['SpendPeriod', 'Burn', 'PalletId', 'MaxApprovals', 'PayoutPeriod', 'pot_account'];
        Utility: ['batched_calls_limit'];
        Identity: ['BasicDeposit', 'ByteDeposit', 'UsernameDeposit', 'SubAccountDeposit', 'MaxSubAccounts', 'MaxRegistrars', 'PendingUsernameExpiration', 'UsernameGracePeriod', 'MaxSuffixLength', 'MaxUsernameLength'];
        Democracy: ['EnactmentPeriod', 'LaunchPeriod', 'VotingPeriod', 'VoteLockingPeriod', 'MinimumDeposit', 'InstantAllowed', 'FastTrackVotingPeriod', 'CooloffPeriod', 'MaxVotes', 'MaxProposals', 'MaxDeposits', 'MaxBlacklisted'];
        TechnicalCommittee: ['MaxProposalWeight'];
        Proxy: ['ProxyDepositBase', 'ProxyDepositFactor', 'MaxProxies', 'MaxPending', 'AnnouncementDepositBase', 'AnnouncementDepositFactor'];
        Multisig: ['DepositBase', 'DepositFactor', 'MaxSignatories'];
        Uniques: ['CollectionDeposit', 'ItemDeposit', 'MetadataDepositBase', 'AttributeDepositBase', 'DepositPerByte', 'StringLimit', 'KeyLimit', 'ValueLimit'];
        StateTrieMigration: ['MaxKeyLen'];
        ConvictionVoting: ['MaxVotes', 'VoteLockingPeriod'];
        Referenda: ['SubmissionDeposit', 'MaxQueued', 'UndecidingTimeout', 'AlarmInterval', 'Tracks'];
        AssetRegistry: ['SequentialIdStartAt', 'StringLimit', 'MinStringLimit', 'RegExternalWeightMultiplier'];
        CollatorRewards: ['RewardPerCollator', 'RewardCurrencyId', 'RewardsBag'];
        Omnipool: ['HdxAssetId', 'HubAssetId', 'MinWithdrawalFee', 'MinimumTradingLimit', 'MinimumPoolLiquidity', 'MaxInRatio', 'MaxOutRatio', 'NFTCollectionId', 'BurnProtocolFee'];
        Duster: ['TreasuryAccountId'];
        OmnipoolWarehouseLM: ['PalletId', 'TreasuryAccountId', 'MinTotalFarmRewards', 'MinPlannedYieldingPeriods', 'MaxFarmEntriesPerDeposit', 'MaxYieldFarmsPerGlobalFarm'];
        OmnipoolLiquidityMining: ['NFTCollectionId', 'OracleSource', 'OraclePeriod'];
        OTC: ['ExistentialDepositMultiplier', 'Fee', 'FeeReceiver'];
        CircuitBreaker: ['DefaultMaxNetTradeVolumeLimitPerBlock', 'DefaultMaxAddLiquidityLimitPerBlock', 'DefaultMaxRemoveLiquidityLimitPerBlock'];
        Router: ['NativeAssetId', 'OraclePeriod'];
        DynamicFees: ['AssetFeeParameters', 'ProtocolFeeParameters'];
        Staking: ['PeriodLength', 'PalletId', 'NativeAssetId', 'MinStake', 'TimePointsWeight', 'ActionPointsWeight', 'TimePointsPerPeriod', 'UnclaimablePeriods', 'CurrentStakeWeight', 'MaxVotes', 'NFTCollectionId'];
        Stableswap: ['MinPoolLiquidity', 'MinTradingLimit', 'AmplificationRange'];
        Bonds: ['PalletId', 'ProtocolFee', 'FeeReceiver'];
        OtcSettlements: ['ProfitReceiver', 'MinProfitPercentage', 'PricePrecision', 'MinTradingLimit', 'MaxIterations'];
        LBP: ['MinTradingLimit', 'MinPoolLiquidity', 'MaxInRatio', 'MaxOutRatio', 'repay_fee'];
        XYK: ['NativeAssetId', 'GetExchangeFee', 'MinTradingLimit', 'MinPoolLiquidity', 'MaxInRatio', 'MaxOutRatio', 'OracleSource'];
        Referrals: ['RewardAsset', 'PalletId', 'RegistrationFee', 'CodeLength', 'MinCodeLength', 'SeedNativeAmount'];
        Liquidation: ['GasLimit', 'ProfitReceiver', 'HollarId'];
        HSM: ['HollarId', 'PalletId', 'MinArbitrageAmount', 'FlashLoanReceiver', 'GasLimit'];
        Signet: ['PalletId'];
        EthDispenser: ['FeeAsset', 'FaucetAsset', 'FeeDestination', 'PalletId'];
        LazyExecutor: ['UnsignedPriority', 'UnsignedLongevity'];
        Intent: ['HubAssetId', 'MaxAllowedIntentDuration', 'MinDcaPeriod', 'MaxIntentsPerAccount'];
        ICE: ['PalletId', 'Fee'];
        Tokens: ['MaxLocks', 'MaxReserves'];
        Currencies: ['ReserveAccount', 'GetNativeCurrencyId'];
        Vesting: ['MinVestedTransfer'];
        EVMAccounts: ['FeeMultiplier'];
        DynamicEvmFee: ['WethAssetId'];
        XYKLiquidityMining: ['NFTCollectionId', 'OracleSource', 'OraclePeriod'];
        XYKWarehouseLM: ['PalletId', 'TreasuryAccountId', 'MinTotalFarmRewards', 'MinPlannedYieldingPeriods', 'MaxFarmEntriesPerDeposit', 'MaxYieldFarmsPerGlobalFarm'];
        DCA: ['MaxPriceDifferenceBetweenBlocks', 'MaxConfigurablePriceDifferenceBetweenBlocks', 'MaxSchedulePerBlock', 'MaxNumberOfRetriesOnError', 'MinimalPeriod', 'BumpChance', 'MinimumTradingLimit', 'NativeAssetId', 'PolkadotNativeAssetId', 'MinBudgetInNativeCurrency', 'FeeReceiver', 'NamedReserveId'];
        Scheduler: ['MaximumWeight', 'MaxScheduledPerBlock'];
        ParachainSystem: ['SelfParaId'];
        PolkadotXcm: ['UniversalLocation', 'AdvertisedXcmVersion', 'MaxLockers', 'MaxRemoteLockConsumers'];
        XcmpQueue: ['MaxInboundSuspended', 'MaxActiveOutboundChannels', 'MaxPageSize'];
        MessageQueue: ['HeapSize', 'MaxStale', 'ServiceWeight', 'IdleMaxServiceWeight'];
        MultiBlockMigrations: ['CursorMaxLen', 'IdentifierMaxLen'];
        XTokens: ['SelfLocation', 'BaseXcmWeight', 'RateLimiterId'];
        CollatorSelection: ['PotId', 'MaxCandidates', 'MinEligibleCollators', 'MaxInvulnerables', 'KickThreshold', 'pot_account'];
        Aura: ['SlotDuration'];
        EmaOracle: ['MaxUniqueEntries'];
    };
    viewFns: {
        Proxy: ['check_permissions', 'is_superset'];
    };
    apis: {
        Core: ['version', 'execute_block', 'initialize_block'];
        Metadata: ['metadata', 'metadata_at_version', 'metadata_versions'];
        BlockBuilder: ['apply_extrinsic', 'finalize_block', 'inherent_extrinsics', 'check_inherents'];
        TaggedTransactionQueue: ['validate_transaction'];
        OffchainWorkerApi: ['offchain_worker'];
        SessionKeys: ['generate_session_keys', 'decode_session_keys'];
        AuraApi: ['slot_duration', 'authorities'];
        CollectCollationInfo: ['collect_collation_info'];
        GetCoreSelectorApi: ['core_selector'];
        CurrenciesApi: ['account', 'accounts', 'free_balance', 'minimum_balance'];
        AccountNonceApi: ['account_nonce'];
        TransactionPaymentApi: ['query_info', 'query_fee_details', 'query_weight_to_fee', 'query_length_to_fee'];
        EthereumRuntimeRPCApi: ['chain_id', 'account_basic', 'gas_price', 'account_code_at', 'author', 'storage_at', 'call', 'create', 'current_block', 'current_receipts', 'current_transaction_statuses', 'current_all', 'extrinsic_filter', 'elasticity', 'gas_limit_multiplier_support', 'pending_block', 'initialize_pending_block'];
        ConvertTransactionRuntimeApi: ['convert_transaction'];
        EvmAccountsApi: ['evm_address', 'bound_account_id', 'account_id'];
        DusterApi: ['is_whitelisted'];
        Erc20MappingApi: ['asset_address', 'address_to_asset'];
        XcmPaymentApi: ['query_acceptable_payment_assets', 'query_xcm_weight', 'query_weight_to_asset_fee', 'query_delivery_fees'];
        AuraUnincludedSegmentApi: ['can_build_upon'];
        RelayParentOffsetApi: ['relay_parent_offset'];
        DryRunApi: ['dry_run_call', 'dry_run_xcm'];
        LocationToAccountApi: ['convert_location'];
        ChainlinkAdapterApi: ['encode_oracle_address', 'decode_oracle_address'];
        AaveTradeExecutor: ['pairs', 'liquidity_depth', 'pool', 'pools'];
        GenesisBuilder: ['build_state', 'get_preset', 'preset_names'];
    };
};
export type HydrationIceWhitelistEntry = PalletKey | `query.${NestedKey<AllInteractions['storage']>}` | `tx.${NestedKey<AllInteractions['tx']>}` | `event.${NestedKey<AllInteractions['events']>}` | `error.${NestedKey<AllInteractions['errors']>}` | `const.${NestedKey<AllInteractions['constants']>}` | `view.${NestedKey<AllInteractions['viewFns']>}` | `api.${NestedKey<AllInteractions['apis']>}`;
type PalletKey = `*.${({
    [K in keyof AllInteractions]: K extends 'apis' ? never : keyof AllInteractions[K];
})[keyof AllInteractions]}`;
type NestedKey<D extends Record<string, string[]>> = "*" | {
    [P in keyof D & string]: `${P}.*` | `${P}.${D[P][number]}`;
}[keyof D & string];
