import { Enum, GetEnum, Binary, FixedSizeBinary, FixedSizeArray, SS58String, TxCallData, ResultPayload } from "polkadot-api";
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 FixedSizeBinary<infer L> ? number extends L ? Binary : FixedSizeBinary<L> : 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];
}>;
export type I5sesotjlssv2d = {
    "nonce": number;
    "consumers": number;
    "providers": number;
    "sufficients": number;
    "data": {
        "free": bigint;
        "reserved": bigint;
        "frozen": bigint;
        "flags": bigint;
    };
};
export type Ifj0li5nn5unet = {
    "name"?: Anonymize<Iabpgqcjikia83>;
    "asset_type": Anonymize<I95262dsbtfh4d>;
    "existential_deposit": bigint;
    "symbol"?: Anonymize<Iabpgqcjikia83>;
    "decimals"?: Anonymize<I4arjljr6dpflb>;
    "xcm_rate_limit"?: Anonymize<I35p85j063s0il>;
    "is_sufficient": boolean;
};
export type Iabpgqcjikia83 = (Binary) | undefined;
export type I95262dsbtfh4d = AnonymousEnum<{
    "Token": undefined;
    "XYK": undefined;
    "StableSwap": undefined;
    "Bond": undefined;
    "External": undefined;
    "Erc20": undefined;
}>;
export type I4arjljr6dpflb = (number) | undefined;
export type I35p85j063s0il = (bigint) | undefined;
export type I4c0s5cioidn76 = {
    "parents": number;
    "interior": XcmV3Junctions;
};
export type XcmV3Junctions = Enum<{
    "Here": undefined;
    "X1": XcmV3Junction;
    "X2": FixedSizeArray<2, XcmV3Junction>;
    "X3": FixedSizeArray<3, XcmV3Junction>;
    "X4": FixedSizeArray<4, XcmV3Junction>;
    "X5": FixedSizeArray<5, XcmV3Junction>;
    "X6": FixedSizeArray<6, XcmV3Junction>;
    "X7": FixedSizeArray<7, XcmV3Junction>;
    "X8": FixedSizeArray<8, XcmV3Junction>;
}>;
export declare const XcmV3Junctions: GetEnum<XcmV3Junctions>;
export type XcmV3Junction = Enum<{
    "Parachain": number;
    "AccountId32": {
        "network"?: Anonymize<Idcq3vns9tgp5p>;
        "id": FixedSizeBinary<32>;
    };
    "AccountIndex64": {
        "network"?: Anonymize<Idcq3vns9tgp5p>;
        "index": bigint;
    };
    "AccountKey20": {
        "network"?: Anonymize<Idcq3vns9tgp5p>;
        "key": FixedSizeBinary<20>;
    };
    "PalletInstance": number;
    "GeneralIndex": bigint;
    "GeneralKey": {
        "length": number;
        "data": FixedSizeBinary<32>;
    };
    "OnlyChild": undefined;
    "Plurality": {
        "id": XcmV3JunctionBodyId;
        "part": XcmV2JunctionBodyPart;
    };
    "GlobalConsensus": XcmV3JunctionNetworkId;
}>;
export declare const XcmV3Junction: GetEnum<XcmV3Junction>;
export type Idcq3vns9tgp5p = (XcmV3JunctionNetworkId) | undefined;
export type XcmV3JunctionNetworkId = Enum<{
    "ByGenesis": FixedSizeBinary<32>;
    "ByFork": {
        "block_number": bigint;
        "block_hash": FixedSizeBinary<32>;
    };
    "Polkadot": undefined;
    "Kusama": undefined;
    "Westend": undefined;
    "Rococo": undefined;
    "Wococo": undefined;
    "Ethereum": {
        "chain_id": bigint;
    };
    "BitcoinCore": undefined;
    "BitcoinCash": undefined;
    "PolkadotBulletin": undefined;
}>;
export declare const XcmV3JunctionNetworkId: GetEnum<XcmV3JunctionNetworkId>;
export type XcmV3JunctionBodyId = Enum<{
    "Unit": undefined;
    "Moniker": FixedSizeBinary<4>;
    "Index": number;
    "Executive": undefined;
    "Technical": undefined;
    "Legislative": undefined;
    "Judicial": undefined;
    "Defense": undefined;
    "Administration": undefined;
    "Treasury": undefined;
}>;
export declare const XcmV3JunctionBodyId: GetEnum<XcmV3JunctionBodyId>;
export type XcmV2JunctionBodyPart = Enum<{
    "Voice": undefined;
    "Members": Anonymize<Iafscmv8tjf0ou>;
    "Fraction": {
        "nom": number;
        "denom": number;
    };
    "AtLeastProportion": {
        "nom": number;
        "denom": number;
    };
    "MoreThanProportion": {
        "nom": number;
        "denom": number;
    };
}>;
export declare const XcmV2JunctionBodyPart: GetEnum<XcmV2JunctionBodyPart>;
export type Iafscmv8tjf0ou = {
    "count": number;
};
export type I8ikpj86u2na1q = {
    "hub_reserve": bigint;
    "shares": bigint;
    "protocol_shares": bigint;
    "cap": bigint;
    "tradable": number;
};
export type Ibn3i0ad6beo5l = {
    "asset_fee": number;
    "protocol_fee": number;
    "timestamp": number;
};
export type I1p5pqg6bllgtl = {
    "assets": Anonymize<Icgljjb6j82uhn>;
    "initial_amplification": number;
    "final_amplification": number;
    "initial_block": number;
    "final_block": number;
    "fee": number;
};
export type Icgljjb6j82uhn = Array<number>;
export type I9jd27rnpm8ttv = FixedSizeArray<2, number>;
export type I4ojmnsk1dchql = [number, bigint];
export type Iesq88051ch8ht = {
    "owner": SS58String;
    "start"?: Anonymize<I4arjljr6dpflb>;
    "end"?: Anonymize<I4arjljr6dpflb>;
    "assets": Anonymize<I9jd27rnpm8ttv>;
    "initial_weight": number;
    "final_weight": number;
    "weight_curve": Anonymize<I9ismjef26dgjt>;
    "fee": Anonymize<I9jd27rnpm8ttv>;
    "fee_collector": SS58String;
    "repay_target": bigint;
};
export type I9ismjef26dgjt = AnonymousEnum<{
    "Linear": undefined;
}>;
export type Ic02kut0350gb0 = {
    "free": bigint;
    "reserved": bigint;
    "frozen": bigint;
};
export type I6ouflveob4eli = [SS58String, number];
export type Ifn6q3equiq9qi = {
    "parent_head": Binary;
    "relay_parent_number": number;
    "relay_parent_storage_root": FixedSizeBinary<32>;
    "max_pov_size": number;
};
export type In7a38730s6qs = {
    "base_block": Anonymize<I4q39t5hn830vp>;
    "max_block": Anonymize<I4q39t5hn830vp>;
    "per_class": {
        "normal": {
            "base_extrinsic": Anonymize<I4q39t5hn830vp>;
            "max_extrinsic"?: Anonymize<Iasb8k6ash5mjn>;
            "max_total"?: Anonymize<Iasb8k6ash5mjn>;
            "reserved"?: Anonymize<Iasb8k6ash5mjn>;
        };
        "operational": {
            "base_extrinsic": Anonymize<I4q39t5hn830vp>;
            "max_extrinsic"?: Anonymize<Iasb8k6ash5mjn>;
            "max_total"?: Anonymize<Iasb8k6ash5mjn>;
            "reserved"?: Anonymize<Iasb8k6ash5mjn>;
        };
        "mandatory": {
            "base_extrinsic": Anonymize<I4q39t5hn830vp>;
            "max_extrinsic"?: Anonymize<Iasb8k6ash5mjn>;
            "max_total"?: Anonymize<Iasb8k6ash5mjn>;
            "reserved"?: Anonymize<Iasb8k6ash5mjn>;
        };
    };
};
export type I4q39t5hn830vp = {
    "ref_time": bigint;
    "proof_size": bigint;
};
export type Iasb8k6ash5mjn = (Anonymize<I4q39t5hn830vp>) | undefined;
export type If15el53dd76v9 = {
    "normal": number;
    "operational": number;
    "mandatory": number;
};
export type I9s0ave7t0vnrk = {
    "read": bigint;
    "write": bigint;
};
export type Ic6nglu2db2c36 = {
    "spec_name": string;
    "impl_name": string;
    "authoring_version": number;
    "spec_version": number;
    "impl_version": number;
    "apis": Array<[FixedSizeBinary<8>, number]>;
    "transaction_version": number;
    "state_version": number;
};
export type Ie5fbn0f5capo3 = {
    "min_fee": number;
    "max_fee": number;
    "decay": bigint;
    "amplification": bigint;
};
export type Ia9ai1mp1viqjd = {
    "start": number;
    "end": number;
};
export type I7hj5v0kif768l = AnonymousEnum<{
    "dispatch_as_treasury": Anonymize<I4q47u65qosg7e>;
    "dispatch_as_aave_manager": Anonymize<I4q47u65qosg7e>;
    /**
     * Sets the Aave manager account to be used as origin for dispatching calls.
     *
     * This doesn't actually changes any ACL in the pool.
     *
     * This is intented to be mainly used in testnet environments, where the manager account
     * can be different.
     */
    "note_aave_manager": Anonymize<Icbccs0ug47ilf>;
    /**
     * Dispatch a call with extra gas.
     *
     * This allows executing calls with additional weight (gas) limit.
     * The extra gas is not refunded, even if not used.
     */
    "dispatch_with_extra_gas": Anonymize<I11jcgems8sdco>;
}>;
export type I4q47u65qosg7e = {
    "call": TxCallData;
};
export type Icbccs0ug47ilf = {
    "account": SS58String;
};
export type I11jcgems8sdco = {
    "call": TxCallData;
    "extra_gas": bigint;
};
export type I27hrps0svs76v = AnonymousEnum<{
    /**
     * Execute a swap of `asset_in` for `asset_out`.
     *
     * Price is determined by the Omnipool.
     *
     * Hub asset is traded separately.
     *
     * Asset's tradable states must contain SELL flag for asset_in and BUY flag for asset_out, otherwise `NotAllowed` error is returned.
     *
     * Parameters:
     * - `asset_in`: ID of asset sold to the pool
     * - `asset_out`: ID of asset bought from the pool
     * - `amount`: Amount of asset sold
     * - `min_buy_amount`: Minimum amount required to receive
     *
     * Emits `SellExecuted` event when successful. Deprecated.
     * Emits `pallet_broadcast::Swapped` event when successful.
     *
     */
    "sell": Anonymize<Ievca65alkkho9>;
    /**
     * Execute a swap of `asset_out` for `asset_in`.
     *
     * Price is determined by the Omnipool.
     *
     * Hub asset is traded separately.
     *
     * Asset's tradable states must contain SELL flag for asset_in and BUY flag for asset_out, otherwise `NotAllowed` error is returned.
     *
     * Parameters:
     * - `asset_in`: ID of asset sold to the pool
     * - `asset_out`: ID of asset bought from the pool
     * - `amount`: Amount of asset sold
     * - `max_sell_amount`: Maximum amount to be sold.
     *
     * Emits `BuyExecuted` event when successful. Deprecated.
     * Emits `pallet_broadcast::Swapped` event when successful.
     *
     */
    "buy": Anonymize<I2qkf9i0e8mf1f>;
}>;
export type Ievca65alkkho9 = {
    "asset_in": number;
    "asset_out": number;
    "amount": bigint;
    "min_buy_amount": bigint;
};
export type I2qkf9i0e8mf1f = {
    "asset_out": number;
    "asset_in": number;
    "amount": bigint;
    "max_sell_amount": bigint;
};
export type I9hpi41avmttfv = AnonymousEnum<{
    /**
     * Executes a sell with a series of trades specified in the route.
     * The price for each trade is determined by the corresponding AMM.
     *
     * - `origin`: The executor of the trade
     * - `asset_in`: The identifier of the asset to sell
     * - `asset_out`: The identifier of the asset to receive
     * - `amount_in`: The amount of `asset_in` to sell
     * - `min_amount_out`: The minimum amount of `asset_out` to receive.
     * - `route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
     * If not specified, than the on-chain route is used.
     * If no on-chain is present, then omnipool route is used as default
     *
     * Emits `RouteExecuted` when successful.
     */
    "sell": Anonymize<Ib0voua2mn0e9p>;
    /**
     * Executes a buy with a series of trades specified in the route.
     * The price for each trade is determined by the corresponding AMM.
     *
     * - `origin`: The executor of the trade
     * - `asset_in`: The identifier of the asset to be swapped to buy `asset_out`
     * - `asset_out`: The identifier of the asset to buy
     * - `amount_out`: The amount of `asset_out` to buy
     * - `max_amount_in`: The max amount of `asset_in` to spend on the buy.
     * - `route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
     * If not specified, than the on-chain route is used.
     * If no on-chain is present, then omnipool route is used as default
     *
     * Emits `RouteExecuted` when successful.
     */
    "buy": Anonymize<I2lu1qfhumniu5>;
    /**
     * Executes a sell with a series of trades specified in the route.
     * It sells all reducible user balance of `asset_in`
     * The price for each trade is determined by the corresponding AMM.
     *
     * - `origin`: The executor of the trade
     * - `asset_in`: The identifier of the asset to sell
     * - `asset_out`: The identifier of the asset to receive
     * - `min_amount_out`: The minimum amount of `asset_out` to receive.
     * - `route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
     * If not specified, than the on-chain route is used.
     * If no on-chain is present, then omnipool route is used as default
     *
     * Emits `RouteExecuted` when successful.
     *
     */
    "sell_all": Anonymize<Ii64qoo6q5lth>;
}>;
export type Ib0voua2mn0e9p = {
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "min_amount_out": bigint;
    "route": Anonymize<I7qjksqmdos4g7>;
};
export type I7qjksqmdos4g7 = Array<{
    "pool": Enum<{
        "XYK": undefined;
        "LBP": undefined;
        "Stableswap": number;
        "Omnipool": undefined;
        "Aave": undefined;
    }>;
    "asset_in": number;
    "asset_out": number;
}>;
export type I2lu1qfhumniu5 = {
    "asset_in": number;
    "asset_out": number;
    "amount_out": bigint;
    "max_amount_in": bigint;
    "route": Anonymize<I7qjksqmdos4g7>;
};
export type Ii64qoo6q5lth = {
    "asset_in": number;
    "asset_out": number;
    "min_amount_out": bigint;
    "route": Anonymize<I7qjksqmdos4g7>;
};
export type Icv71jko2qbiu2 = AnonymousEnum<{
    /**
     * Creates a new DCA (Dollar-Cost Averaging) schedule and plans the next execution
     * for the specified block.
     *
     * If the block is not specified, the execution is planned for the next block.
     * If the given block is full, the execution will be planned in the subsequent block.
     *
     * Once the schedule is created, the specified `total_amount` will be reserved for DCA.
     * The reservation currency will be the `amount_in` currency of the order.
     *
     * Trades are executed as long as there is budget remaining
     * from the initial `total_amount` allocation, unless `total_amount` is 0, then trades
     * are executed until schedule is terminated.
     *
     * If a trade fails due to slippage limit or price stability errors, it will be retried.
     * If the number of retries reaches the maximum allowed,
     * the schedule will be terminated permanently.
     * In the case of a successful trade, the retry counter is reset.
     *
     * Parameters:
     * - `origin`: schedule owner
     * - `schedule`: schedule details
     * - `start_execution_block`: first possible execution block for the schedule
     *
     * Emits `Scheduled` and `ExecutionPlanned` event when successful.
     *
     */
    "schedule": Anonymize<I2pi935s6uqbh>;
    /**
     * Terminates a DCA schedule and remove it completely from the chain.
     *
     * This can be called by both schedule owner or the configured `T::TerminateOrigin`
     *
     * Parameters:
     * - `origin`: schedule owner
     * - `schedule_id`: schedule id
     * - `next_execution_block`: block number where the schedule is planned.
     *
     * Emits `Terminated` event when successful.
     *
     */
    "terminate": Anonymize<Ib9aiguc778ujf>;
}>;
export type I2pi935s6uqbh = {
    "schedule": {
        "owner": SS58String;
        "period": number;
        "total_amount": bigint;
        "max_retries"?: Anonymize<I4arjljr6dpflb>;
        "stability_threshold"?: Anonymize<I4arjljr6dpflb>;
        "slippage"?: Anonymize<I4arjljr6dpflb>;
        "order": Anonymize<I3u6l9cad6tdj5>;
    };
    "start_execution_block"?: Anonymize<I4arjljr6dpflb>;
};
export type I3u6l9cad6tdj5 = AnonymousEnum<{
    "Sell": Anonymize<Ib0voua2mn0e9p>;
    "Buy": Anonymize<I2lu1qfhumniu5>;
}>;
export type Ib9aiguc778ujf = {
    "schedule_id": number;
    "next_execution_block"?: Anonymize<I4arjljr6dpflb>;
};
export type Idp0mmhs2rkct1 = AnonymousEnum<{
    /**
     * The route with trades has been successfully executed
     */
    "Executed": Anonymize<If1007933akv96>;
}>;
export type If1007933akv96 = {
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "amount_out": bigint;
    "event_id": number;
};
export type Ia3793sttioo6c = AnonymousEnum<{
    /**
     * Ethereum events from contracts.
     */
    "Log": Anonymize<Ifmc9boeeia623>;
}>;
export type Ifmc9boeeia623 = {
    "log": {
        "address": FixedSizeBinary<20>;
        "topics": Anonymize<Ic5m5lp1oioo8r>;
        "data": Binary;
    };
};
export type Ic5m5lp1oioo8r = Array<FixedSizeBinary<32>>;
export type I5o0s7c8q1cc9b = AnonymousEnum<{
    /**
     * The name of specification does not match between the current runtime
     * and the new runtime.
     */
    "InvalidSpecName": undefined;
    /**
     * The specification version is not allowed to decrease between the current runtime
     * and the new runtime.
     */
    "SpecVersionNeedsToIncrease": undefined;
    /**
     * Failed to extract the runtime version from the new runtime.
     *
     * Either calling `Core_version` or decoding `RuntimeVersion` failed.
     */
    "FailedToExtractRuntimeVersion": undefined;
    /**
     * Suicide called when the account has non-default composite data.
     */
    "NonDefaultComposite": undefined;
    /**
     * There is a non-zero reference count preventing the account from being purged.
     */
    "NonZeroRefCount": undefined;
    /**
     * The origin filter prevent the call to be dispatched.
     */
    "CallFiltered": undefined;
    /**
     * A multi-block migration is ongoing and prevents the current code from being replaced.
     */
    "MultiBlockMigrationsOngoing": undefined;
    /**
     * No upgrade authorized.
     */
    "NothingAuthorized": undefined;
    /**
     * The submitted code is not authorized.
     */
    "Unauthorized": undefined;
}>;
export type Idj13i7adlomht = AnonymousEnum<{
    /**
     * Vesting balance too high to send value.
     */
    "VestingBalance": undefined;
    /**
     * Account liquidity restrictions prevent withdrawal.
     */
    "LiquidityRestrictions": undefined;
    /**
     * Balance too low to send value.
     */
    "InsufficientBalance": undefined;
    /**
     * Value too low to create account due to existential deposit.
     */
    "ExistentialDeposit": undefined;
    /**
     * Transfer/payment would kill account.
     */
    "Expendability": undefined;
    /**
     * A vesting schedule already exists for this account.
     */
    "ExistingVestingSchedule": undefined;
    /**
     * Beneficiary account must pre-exist.
     */
    "DeadAccount": undefined;
    /**
     * Number of named reserves exceed `MaxReserves`.
     */
    "TooManyReserves": undefined;
    /**
     * Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`.
     */
    "TooManyHolds": undefined;
    /**
     * Number of freezes exceed `MaxFreezes`.
     */
    "TooManyFreezes": undefined;
    /**
     * The issuance cannot be modified since it is already deactivated.
     */
    "IssuanceDeactivated": undefined;
    /**
     * The delta cannot be zero.
     */
    "DeltaZero": undefined;
}>;
export type Iedfhur3vm7bgd = AnonymousEnum<{
    /**
     * Selected currency is not supported.
     */
    "UnsupportedCurrency": undefined;
    /**
     * Account balance should be non-zero.
     */
    "ZeroBalance": undefined;
    /**
     * Currency is already in the list of accepted currencies.
     */
    "AlreadyAccepted": undefined;
    /**
     * It is not allowed to add Core Asset as accepted currency. Core asset is accepted by design.
     */
    "CoreAssetNotAllowed": undefined;
    /**
     * Fallback price cannot be zero.
     */
    "ZeroPrice": undefined;
    /**
     * Fallback price was not found.
     */
    "FallbackPriceNotFound": undefined;
    /**
     * Math overflow
     */
    "Overflow": undefined;
    /**
     * It is not allowed to change payment currency of an EVM account.
     */
    "EvmAccountNotAllowed": undefined;
    /**
     * EVM permit expired.
     */
    "EvmPermitExpired": undefined;
    /**
     * EVM permit is invalid.
     */
    "EvmPermitInvalid": undefined;
    /**
     * EVM permit call failed.
     */
    "EvmPermitCallExecutionError": undefined;
    /**
     * EVM permit call failed.
     */
    "EvmPermitRunnerError": undefined;
}>;
export type I36uss0m9fpcsf = AnonymousEnum<{
    /**
     * No proposal, bounty or spend at that index.
     */
    "InvalidIndex": undefined;
    /**
     * Too many approvals in the queue.
     */
    "TooManyApprovals": undefined;
    /**
     * The spend origin is valid but the amount it is allowed to spend is lower than the
     * amount to be spent.
     */
    "InsufficientPermission": undefined;
    /**
     * Proposal has not been approved.
     */
    "ProposalNotApproved": undefined;
    /**
     * The balance of the asset kind is not convertible to the balance of the native asset.
     */
    "FailedToConvertBalance": undefined;
    /**
     * The spend has expired and cannot be claimed.
     */
    "SpendExpired": undefined;
    /**
     * The spend is not yet eligible for payout.
     */
    "EarlyPayout": undefined;
    /**
     * The payment has already been attempted.
     */
    "AlreadyAttempted": undefined;
    /**
     * There was some issue with the mechanism of payment.
     */
    "PayoutError": undefined;
    /**
     * The payout was not yet attempted/claimed.
     */
    "NotAttempted": undefined;
    /**
     * The payment has neither failed nor succeeded yet.
     */
    "Inconclusive": undefined;
}>;
export type I8dt2g2hcrgh36 = AnonymousEnum<{
    /**
     * Too many calls batched.
     */
    "TooManyCalls": undefined;
}>;
export type I4cfhml1prt4lu = AnonymousEnum<{
    /**
     * Preimage is too large to store on-chain.
     */
    "TooBig": undefined;
    /**
     * Preimage has already been noted on-chain.
     */
    "AlreadyNoted": undefined;
    /**
     * The user is not authorized to perform this action.
     */
    "NotAuthorized": undefined;
    /**
     * The preimage cannot be removed since it has not yet been noted.
     */
    "NotNoted": undefined;
    /**
     * A preimage may not be removed when there are outstanding requests.
     */
    "Requested": undefined;
    /**
     * The preimage request cannot be removed since no outstanding requests exist.
     */
    "NotRequested": undefined;
    /**
     * More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once.
     */
    "TooMany": undefined;
    /**
     * Too few hashes were requested to be upgraded (i.e. zero).
     */
    "TooFew": undefined;
}>;
export type I9mq328955mgb8 = AnonymousEnum<{
    /**
     * Too many subs-accounts.
     */
    "TooManySubAccounts": undefined;
    /**
     * Account isn't found.
     */
    "NotFound": undefined;
    /**
     * Account isn't named.
     */
    "NotNamed": undefined;
    /**
     * Empty index.
     */
    "EmptyIndex": undefined;
    /**
     * Fee is changed.
     */
    "FeeChanged": undefined;
    /**
     * No identity found.
     */
    "NoIdentity": undefined;
    /**
     * Sticky judgement.
     */
    "StickyJudgement": undefined;
    /**
     * Judgement given.
     */
    "JudgementGiven": undefined;
    /**
     * Invalid judgement.
     */
    "InvalidJudgement": undefined;
    /**
     * The index is invalid.
     */
    "InvalidIndex": undefined;
    /**
     * The target is invalid.
     */
    "InvalidTarget": undefined;
    /**
     * Maximum amount of registrars reached. Cannot add any more.
     */
    "TooManyRegistrars": undefined;
    /**
     * Account ID is already named.
     */
    "AlreadyClaimed": undefined;
    /**
     * Sender is not a sub-account.
     */
    "NotSub": undefined;
    /**
     * Sub-account isn't owned by sender.
     */
    "NotOwned": undefined;
    /**
     * The provided judgement was for a different identity.
     */
    "JudgementForDifferentIdentity": undefined;
    /**
     * Error that occurs when there is an issue paying for judgement.
     */
    "JudgementPaymentFailed": undefined;
    /**
     * The provided suffix is too long.
     */
    "InvalidSuffix": undefined;
    /**
     * The sender does not have permission to issue a username.
     */
    "NotUsernameAuthority": undefined;
    /**
     * The authority cannot allocate any more usernames.
     */
    "NoAllocation": undefined;
    /**
     * The signature on a username was not valid.
     */
    "InvalidSignature": undefined;
    /**
     * Setting this username requires a signature, but none was provided.
     */
    "RequiresSignature": undefined;
    /**
     * The username does not meet the requirements.
     */
    "InvalidUsername": undefined;
    /**
     * The username is already taken.
     */
    "UsernameTaken": undefined;
    /**
     * The requested username does not exist.
     */
    "NoUsername": undefined;
    /**
     * The username cannot be forcefully removed because it can still be accepted.
     */
    "NotExpired": undefined;
}>;
export type I67neb7i10udig = AnonymousEnum<{
    /**
     * Value too low
     */
    "ValueLow": undefined;
    /**
     * Proposal does not exist
     */
    "ProposalMissing": undefined;
    /**
     * Cannot cancel the same proposal twice
     */
    "AlreadyCanceled": undefined;
    /**
     * Proposal already made
     */
    "DuplicateProposal": undefined;
    /**
     * Proposal still blacklisted
     */
    "ProposalBlacklisted": undefined;
    /**
     * Next external proposal not simple majority
     */
    "NotSimpleMajority": undefined;
    /**
     * Invalid hash
     */
    "InvalidHash": undefined;
    /**
     * No external proposal
     */
    "NoProposal": undefined;
    /**
     * Identity may not veto a proposal twice
     */
    "AlreadyVetoed": undefined;
    /**
     * Vote given for invalid referendum
     */
    "ReferendumInvalid": undefined;
    /**
     * No proposals waiting
     */
    "NoneWaiting": undefined;
    /**
     * The given account did not vote on the referendum.
     */
    "NotVoter": undefined;
    /**
     * The actor has no permission to conduct the action.
     */
    "NoPermission": undefined;
    /**
     * The account is already delegating.
     */
    "AlreadyDelegating": undefined;
    /**
     * Too high a balance was provided that the account cannot afford.
     */
    "InsufficientFunds": undefined;
    /**
     * The account is not currently delegating.
     */
    "NotDelegating": 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": undefined;
    /**
     * The instant referendum origin is currently disallowed.
     */
    "InstantNotAllowed": undefined;
    /**
     * Delegation to oneself makes no sense.
     */
    "Nonsense": undefined;
    /**
     * Invalid upper bound.
     */
    "WrongUpperBound": undefined;
    /**
     * Maximum number of votes reached.
     */
    "MaxVotesReached": undefined;
    /**
     * Maximum number of items reached.
     */
    "TooMany": undefined;
    /**
     * Voting period too low
     */
    "VotingPeriodLow": undefined;
    /**
     * The preimage does not exist.
     */
    "PreimageNotExist": undefined;
}>;
export type I96u72l8br1ego = AnonymousEnum<{
    /**
     * Cannot vote when no candidates or members exist.
     */
    "UnableToVote": undefined;
    /**
     * Must vote for at least one candidate.
     */
    "NoVotes": undefined;
    /**
     * Cannot vote more than candidates.
     */
    "TooManyVotes": undefined;
    /**
     * Cannot vote more than maximum allowed.
     */
    "MaximumVotesExceeded": undefined;
    /**
     * Cannot vote with stake less than minimum balance.
     */
    "LowBalance": undefined;
    /**
     * Voter can not pay voting bond.
     */
    "UnableToPayBond": undefined;
    /**
     * Must be a voter.
     */
    "MustBeVoter": undefined;
    /**
     * Duplicated candidate submission.
     */
    "DuplicatedCandidate": undefined;
    /**
     * Too many candidates have been created.
     */
    "TooManyCandidates": undefined;
    /**
     * Member cannot re-submit candidacy.
     */
    "MemberSubmit": undefined;
    /**
     * Runner cannot re-submit candidacy.
     */
    "RunnerUpSubmit": undefined;
    /**
     * Candidate does not have enough funds.
     */
    "InsufficientCandidateFunds": undefined;
    /**
     * Not a member.
     */
    "NotMember": undefined;
    /**
     * The provided count of number of candidates is incorrect.
     */
    "InvalidWitnessData": undefined;
    /**
     * The provided count of number of votes is incorrect.
     */
    "InvalidVoteCount": undefined;
    /**
     * The renouncing origin presented a wrong `Renouncing` parameter.
     */
    "InvalidRenouncing": undefined;
    /**
     * Prediction regarding replacement after member removal is wrong.
     */
    "InvalidReplacement": undefined;
}>;
export type Icapevgbpfn5p9 = AnonymousEnum<{
    /**
     * Account is not a member
     */
    "NotMember": undefined;
    /**
     * Duplicate proposals not allowed
     */
    "DuplicateProposal": undefined;
    /**
     * Proposal must exist
     */
    "ProposalMissing": undefined;
    /**
     * Mismatched index
     */
    "WrongIndex": undefined;
    /**
     * Duplicate vote ignored
     */
    "DuplicateVote": undefined;
    /**
     * Members are already initialized!
     */
    "AlreadyInitialized": undefined;
    /**
     * The close call was made too early, before the end of the voting.
     */
    "TooEarly": undefined;
    /**
     * There can only be a maximum of `MaxProposals` active proposals.
     */
    "TooManyProposals": undefined;
    /**
     * The given weight bound for the proposal was too low.
     */
    "WrongProposalWeight": undefined;
    /**
     * The given length bound for the proposal was too low.
     */
    "WrongProposalLength": undefined;
    /**
     * Prime account is not a member
     */
    "PrimeAccountNotMember": undefined;
}>;
export type I8c24qlovva8mi = AnonymousEnum<{
    /**
     * The reason given is just too big.
     */
    "ReasonTooBig": undefined;
    /**
     * The tip was already found/started.
     */
    "AlreadyKnown": undefined;
    /**
     * The tip hash is unknown.
     */
    "UnknownTip": undefined;
    /**
     * The tip given was too generous.
     */
    "MaxTipAmountExceeded": undefined;
    /**
     * The account attempting to retract the tip is not the finder of the tip.
     */
    "NotFinder": undefined;
    /**
     * The tip cannot be claimed/closed because there are not enough tippers yet.
     */
    "StillOpen": undefined;
    /**
     * The tip cannot be claimed/closed because it's still in the countdown period.
     */
    "Premature": undefined;
}>;
export type Iuvt54ei4cehc = AnonymousEnum<{
    /**
     * There are too many proxies registered or too many announcements pending.
     */
    "TooMany": undefined;
    /**
     * Proxy registration not found.
     */
    "NotFound": undefined;
    /**
     * Sender is not a proxy of the account to be proxied.
     */
    "NotProxy": undefined;
    /**
     * A call which is incompatible with the proxy type's filter was attempted.
     */
    "Unproxyable": undefined;
    /**
     * Account is already a proxy.
     */
    "Duplicate": undefined;
    /**
     * Call may not be made by proxy because it may escalate its privileges.
     */
    "NoPermission": undefined;
    /**
     * Announcement, if made at all, was made too recently.
     */
    "Unannounced": undefined;
    /**
     * Cannot add self as proxy.
     */
    "NoSelfProxy": undefined;
}>;
export type Ia76qmhhg4jvb9 = AnonymousEnum<{
    /**
     * Threshold must be 2 or greater.
     */
    "MinimumThreshold": undefined;
    /**
     * Call is already approved by this signatory.
     */
    "AlreadyApproved": undefined;
    /**
     * Call doesn't need any (more) approvals.
     */
    "NoApprovalsNeeded": undefined;
    /**
     * There are too few signatories in the list.
     */
    "TooFewSignatories": undefined;
    /**
     * There are too many signatories in the list.
     */
    "TooManySignatories": undefined;
    /**
     * The signatories were provided out of order; they should be ordered.
     */
    "SignatoriesOutOfOrder": undefined;
    /**
     * The sender was contained in the other signatories; it shouldn't be.
     */
    "SenderInSignatories": undefined;
    /**
     * Multisig operation not found when attempting to cancel.
     */
    "NotFound": undefined;
    /**
     * Only the account that originally created the multisig is able to cancel it.
     */
    "NotOwner": undefined;
    /**
     * No timepoint was given, yet the multisig operation is already underway.
     */
    "NoTimepoint": undefined;
    /**
     * A different timepoint was given to the multisig operation that is underway.
     */
    "WrongTimepoint": undefined;
    /**
     * A timepoint was given, yet no multisig operation is underway.
     */
    "UnexpectedTimepoint": undefined;
    /**
     * The maximum weight information provided was too low.
     */
    "MaxWeightTooLow": undefined;
    /**
     * The data to be stored is already stored.
     */
    "AlreadyStored": undefined;
}>;
export type Ienq2ge2rhv4jm = AnonymousEnum<{
    /**
     * The signing account has no permission to do the operation.
     */
    "NoPermission": undefined;
    /**
     * The given item ID is unknown.
     */
    "UnknownCollection": undefined;
    /**
     * The item ID has already been used for an item.
     */
    "AlreadyExists": undefined;
    /**
     * The owner turned out to be different to what was expected.
     */
    "WrongOwner": undefined;
    /**
     * Invalid witness data given.
     */
    "BadWitness": undefined;
    /**
     * The item ID is already taken.
     */
    "InUse": undefined;
    /**
     * The item or collection is frozen.
     */
    "Frozen": undefined;
    /**
     * The delegate turned out to be different to what was expected.
     */
    "WrongDelegate": undefined;
    /**
     * There is no delegate approved.
     */
    "NoDelegate": undefined;
    /**
     * No approval exists that would allow the transfer.
     */
    "Unapproved": undefined;
    /**
     * The named owner has not signed ownership of the collection is acceptable.
     */
    "Unaccepted": undefined;
    /**
     * The item is locked.
     */
    "Locked": undefined;
    /**
     * All items have been minted.
     */
    "MaxSupplyReached": undefined;
    /**
     * The max supply has already been set.
     */
    "MaxSupplyAlreadySet": undefined;
    /**
     * The provided max supply is less to the amount of items a collection already has.
     */
    "MaxSupplyTooSmall": undefined;
    /**
     * The given item ID is unknown.
     */
    "UnknownItem": undefined;
    /**
     * Item is not for sale.
     */
    "NotForSale": undefined;
    /**
     * The provided bid is too low.
     */
    "BidTooLow": undefined;
}>;
export type I96objte63brjr = AnonymousEnum<{
    /**
     * Max signed limits not respected.
     */
    "MaxSignedLimits": 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": undefined;
    /**
     * submitter does not have enough funds.
     */
    "NotEnoughFunds": undefined;
    /**
     * Bad witness data provided.
     */
    "BadWitness": undefined;
    /**
     * Signed migration is not allowed because the maximum limit is not set yet.
     */
    "SignedMigrationNotAllowed": undefined;
    /**
     * Bad child root provided.
     */
    "BadChildRoot": undefined;
}>;
export type Idfa8k8ikssbsf = AnonymousEnum<{
    /**
     * Poll is not ongoing.
     */
    "NotOngoing": undefined;
    /**
     * The given account did not vote on the poll.
     */
    "NotVoter": undefined;
    /**
     * The actor has no permission to conduct the action.
     */
    "NoPermission": undefined;
    /**
     * The actor has no permission to conduct the action right now but will do in the future.
     */
    "NoPermissionYet": undefined;
    /**
     * The account is already delegating.
     */
    "AlreadyDelegating": undefined;
    /**
     * The account currently has votes attached to it and the operation cannot succeed until
     * these are removed through `remove_vote`.
     */
    "AlreadyVoting": undefined;
    /**
     * Too high a balance was provided that the account cannot afford.
     */
    "InsufficientFunds": undefined;
    /**
     * The account is not currently delegating.
     */
    "NotDelegating": undefined;
    /**
     * Delegation to oneself makes no sense.
     */
    "Nonsense": undefined;
    /**
     * Maximum number of votes reached.
     */
    "MaxVotesReached": undefined;
    /**
     * The class must be supplied since it is not easily determinable from the state.
     */
    "ClassNeeded": undefined;
    /**
     * The class ID supplied is invalid.
     */
    "BadClass": undefined;
}>;
export type I84u4ul208g742 = AnonymousEnum<{
    /**
     * Referendum is not ongoing.
     */
    "NotOngoing": undefined;
    /**
     * Referendum's decision deposit is already paid.
     */
    "HasDeposit": undefined;
    /**
     * The track identifier given was invalid.
     */
    "BadTrack": undefined;
    /**
     * There are already a full complement of referenda in progress for this track.
     */
    "Full": undefined;
    /**
     * The queue of the track is empty.
     */
    "QueueEmpty": undefined;
    /**
     * The referendum index provided is invalid in this context.
     */
    "BadReferendum": undefined;
    /**
     * There was nothing to do in the advancement.
     */
    "NothingToDo": undefined;
    /**
     * No track exists for the proposal origin.
     */
    "NoTrack": undefined;
    /**
     * Any deposit cannot be refunded until after the decision is over.
     */
    "Unfinished": undefined;
    /**
     * The deposit refunder is not the depositor.
     */
    "NoPermission": undefined;
    /**
     * The deposit cannot be refunded since none was made.
     */
    "NoDeposit": undefined;
    /**
     * The referendum status is invalid for this operation.
     */
    "BadStatus": undefined;
    /**
     * The preimage does not exist.
     */
    "PreimageNotExist": undefined;
    /**
     * The preimage is stored with a different length than the one provided.
     */
    "PreimageStoredWithDifferentLength": undefined;
}>;
export type I15nctscutpbeh = AnonymousEnum<{
    /**
     * The preimage of the call hash could not be loaded.
     */
    "UnavailablePreImage": undefined;
    /**
     * The call could not be decoded.
     */
    "UndecodableCall": undefined;
    /**
     * The weight of the decoded call was higher than the witness.
     */
    "InvalidCallWeightWitness": undefined;
    /**
     * The call was not whitelisted.
     */
    "CallIsNotWhitelisted": undefined;
    /**
     * The call was already whitelisted; No-Op.
     */
    "CallAlreadyWhitelisted": undefined;
}>;
export type Iimgfr2idjdm4 = AnonymousEnum<{
    /**
     * Asset ID is not available. This only happens when it reaches the MAX value of given id type.
     */
    "NoIdAvailable": undefined;
    /**
     * Invalid asset name or symbol.
     */
    "AssetNotFound": undefined;
    /**
     * Length of name or symbol is less than min. length.
     */
    "TooShort": undefined;
    /**
     * Asset's symbol can't contain whitespace characters .
     */
    "InvalidSymbol": undefined;
    /**
     * Asset ID is not registered in the asset-registry.
     */
    "AssetNotRegistered": undefined;
    /**
     * Asset is already registered.
     */
    "AssetAlreadyRegistered": undefined;
    /**
     * Incorrect number of assets provided to create shared asset.
     */
    "InvalidSharedAssetLen": undefined;
    /**
     * Cannot update asset location.
     */
    "CannotUpdateLocation": undefined;
    /**
     * Selected asset id is out of reserved range.
     */
    "NotInReservedRange": undefined;
    /**
     * Location already registered with different asset.
     */
    "LocationAlreadyRegistered": undefined;
    /**
     * Origin is forbidden to set/update value.
     */
    "Forbidden": undefined;
    /**
     * Balance too low.
     */
    "InsufficientBalance": undefined;
    /**
     * Sufficient assets can't be changed to insufficient.
     */
    "ForbiddenSufficiencyChange": undefined;
    /**
     * Asset is already banned.
     */
    "AssetAlreadyBanned": undefined;
    /**
     * Asset is not banned.
     */
    "AssetNotBanned": undefined;
}>;
export type Ieesotejglstun = AnonymousEnum<{
    /**
     * Ethereum signature is not valid
     */
    "InvalidEthereumSignature": undefined;
    /**
     * Claim is not valid
     */
    "NoClaimOrAlreadyClaimed": undefined;
    /**
     * Value reached maximum and cannot be incremented further
     */
    "BalanceOverflow": undefined;
}>;
export type Ibllfng3pqvvev = AnonymousEnum<{
    /**
     * Balance too low
     */
    "InsufficientBalance": undefined;
    /**
     * Asset is already in omnipool
     */
    "AssetAlreadyAdded": undefined;
    /**
     * Asset is not in omnipool
     */
    "AssetNotFound": undefined;
    /**
     * Failed to add token to Omnipool due to insufficient initial liquidity.
     */
    "MissingBalance": undefined;
    /**
     * Invalid initial asset price.
     */
    "InvalidInitialAssetPrice": undefined;
    /**
     * Slippage protection - minimum limit has not been reached.
     */
    "BuyLimitNotReached": undefined;
    /**
     * Slippage protection - maximum limit has been exceeded.
     */
    "SellLimitExceeded": undefined;
    /**
     * Position has not been found.
     */
    "PositionNotFound": undefined;
    /**
     * Insufficient shares in position
     */
    "InsufficientShares": undefined;
    /**
     * Asset is not allowed to be traded.
     */
    "NotAllowed": undefined;
    /**
     * Signed account is not owner of position instance.
     */
    "Forbidden": undefined;
    /**
     * Asset weight cap has been exceeded.
     */
    "AssetWeightCapExceeded": undefined;
    /**
     * Asset is not registered in asset registry
     */
    "AssetNotRegistered": undefined;
    /**
     * Provided liquidity is below minimum allowed limit
     */
    "InsufficientLiquidity": undefined;
    /**
     * Traded amount is below minimum allowed limit
     */
    "InsufficientTradingAmount": undefined;
    /**
     * Sell or buy with same asset ids is not allowed.
     */
    "SameAssetTradeNotAllowed": undefined;
    /**
     * LRNA update after trade results in positive value.
     */
    "HubAssetUpdateError": undefined;
    /**
     * Amount of shares provided cannot be 0.
     */
    "InvalidSharesAmount": undefined;
    /**
     * Hub asset is only allowed to be sold.
     */
    "InvalidHubAssetTradableState": undefined;
    /**
     * Asset is not allowed to be refunded.
     */
    "AssetRefundNotAllowed": undefined;
    /**
     * Max fraction of asset to buy has been exceeded.
     */
    "MaxOutRatioExceeded": undefined;
    /**
     * Max fraction of asset to sell has been exceeded.
     */
    "MaxInRatioExceeded": undefined;
    /**
     * Max allowed price difference has been exceeded.
     */
    "PriceDifferenceTooHigh": undefined;
    /**
     * Invalid oracle price - division by zero.
     */
    "InvalidOraclePrice": undefined;
    /**
     * Failed to calculate withdrawal fee.
     */
    "InvalidWithdrawalFee": undefined;
    /**
     * More than allowed amount of fee has been transferred.
     */
    "FeeOverdraft": undefined;
    /**
     * Token cannot be removed from Omnipool due to shares still owned by other users.
     */
    "SharesRemaining": undefined;
    /**
     * Token cannot be removed from Omnipool because asset is not frozen.
     */
    "AssetNotFrozen": undefined;
    /**
     * Calculated amount out from sell trade is zero.
     */
    "ZeroAmountOut": undefined;
    /**
     * Existential deposit of asset is not available.
     */
    "ExistentialDepositNotAvailable": undefined;
    /**
     * Slippage protection
     */
    "SlippageLimit": undefined;
    /**
     * Extra protocol fee has not been consumed.
     */
    "ProtocolFeeNotConsumed": undefined;
}>;
export type Ia4jj5ajguk6ba = AnonymousEnum<{
    /**
     * can not pause
     */
    "CannotPause": undefined;
    /**
     * invalid character encoding
     */
    "InvalidCharacter": undefined;
    /**
     * pallet name or function name is too long
     */
    "NameTooLong": undefined;
}>;
export type Igjgeha0sds9v = AnonymousEnum<{
    /**
     * Account is excluded from dusting.
     */
    "AccountBlacklisted": undefined;
    /**
     * Account is not present in the non-dustable list.
     */
    "AccountNotBlacklisted": undefined;
    /**
     * The balance is zero.
     */
    "ZeroBalance": undefined;
    /**
     * The balance is sufficient to keep account open.
     */
    "BalanceSufficient": undefined;
    /**
     * Dust account is not set.
     */
    "DustAccountNotSet": undefined;
    /**
     * Reserve account is not set.
     */
    "ReserveAccountNotSet": undefined;
}>;
export type Ib26q43rgjm5dv = AnonymousEnum<{
    /**
     * Global farm does not exist.
     */
    "GlobalFarmNotFound": undefined;
    /**
     * Yield farm does not exist.
     */
    "YieldFarmNotFound": undefined;
    /**
     * Multiple claims in the same period is not allowed.
     */
    "DoubleClaimInPeriod": undefined;
    /**
     * Liquidity mining is canceled.
     */
    "LiquidityMiningCanceled": undefined;
    /**
     * Liquidity mining is not canceled.
     */
    "LiquidityMiningIsActive": undefined;
    /**
     * Liquidity mining is in `active` or `terminated` state and action cannot be completed.
     */
    "LiquidityMiningIsNotStopped": undefined;
    /**
     * LP shares amount is not valid.
     */
    "InvalidDepositAmount": undefined;
    /**
     * Account is not allowed to perform action.
     */
    "Forbidden": undefined;
    /**
     * Yield farm multiplier can't be 0.
     */
    "InvalidMultiplier": undefined;
    /**
     * Yield farm with given `amm_pool_id` already exists in global farm.
     */
    "YieldFarmAlreadyExists": undefined;
    /**
     * Loyalty curve's initial reward percentage is not valid. Valid range is: [0, 1).
     */
    "InvalidInitialRewardPercentage": undefined;
    /**
     * One or more yield farms exist in global farm.
     */
    "GlobalFarmIsNotEmpty": undefined;
    /**
     * Farm's `incentivized_asset` is missing in provided asset pair.
     */
    "MissingIncentivizedAsset": undefined;
    /**
     * Reward currency balance is not sufficient.
     */
    "InsufficientRewardCurrencyBalance": undefined;
    /**
     * Blocks per period can't be 0.
     */
    "InvalidBlocksPerPeriod": undefined;
    /**
     * Yield per period can't be 0.
     */
    "InvalidYieldPerPeriod": undefined;
    /**
     * Total rewards is less than `MinTotalFarmRewards`.
     */
    "InvalidTotalRewards": undefined;
    /**
     * Planned yielding periods is less than `MinPlannedYieldingPeriods`.
     */
    "InvalidPlannedYieldingPeriods": undefined;
    /**
     * Maximum number of locks reached for deposit.
     */
    "MaxEntriesPerDeposit": undefined;
    /**
     * Trying to lock LP shares into already locked yield farm.
     */
    "DoubleLock": undefined;
    /**
     * Yield farm entry doesn't exist for given deposit.
     */
    "YieldFarmEntryNotFound": 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": undefined;
    /**
     * Invalid min. deposit was set for global farm.
     */
    "InvalidMinDeposit": undefined;
    /**
     * Price adjustment multiplier can't be 0.
     */
    "InvalidPriceAdjustment": undefined;
    /**
     * Account creation from id failed.
     */
    "ErrorGetAccountId": undefined;
    /**
     * Value of deposited shares amount in reward currency is bellow min. limit.
     */
    "IncorrectValuedShares": undefined;
    /**
     * `reward_currency` is not registered in asset registry.
     */
    "RewardCurrencyNotRegistered": undefined;
    /**
     * `incentivized_asset` is not registered in asset registry.
     */
    "IncentivizedAssetNotRegistered": undefined;
    /**
     * Action cannot be completed because unexpected error has occurred. This should be reported
     * to protocol maintainers.
     */
    "InconsistentState": Anonymize<Ibplkiqg5rvr3e>;
}>;
export type Ibplkiqg5rvr3e = AnonymousEnum<{
    "YieldFarmNotFound": undefined;
    "GlobalFarmNotFound": undefined;
    "LiquidityIsNotActive": undefined;
    "GlobalFarmIsNotActive": undefined;
    "DepositNotFound": undefined;
    "InvalidPeriod": undefined;
    "NotEnoughRewardsInYieldFarm": undefined;
    "InvalidLiveYielFarmsCount": undefined;
    "InvalidTotalYieldFarmsCount": undefined;
    "InvalidYieldFarmEntriesCount": undefined;
    "InvalidTotalShares": undefined;
    "InvalidValuedShares": undefined;
    "InvalidTotalSharesZ": undefined;
    "InvalidPaidAccumulatedRewards": undefined;
    "InvalidFarmId": undefined;
    "InvalidLoyaltyMultiplier": undefined;
    "NoExistentialDepositForAsset": undefined;
}>;
export type I3pmdtg46in2f0 = AnonymousEnum<{
    /**
     * Asset is not in the omnipool.
     */
    "AssetNotFound": undefined;
    /**
     * Signed account is not owner of the deposit.
     */
    "Forbidden": undefined;
    /**
     * Rewards to claim are 0.
     */
    "ZeroClaimedRewards": undefined;
    /**
     * Action cannot be completed because unexpected error has occurred. This should be reported
     * to protocol maintainers.
     */
    "InconsistentState": Anonymize<Icnmrtlo128skq>;
    /**
     * Oracle could not be found for requested assets.
     */
    "OracleNotAvailable": undefined;
    /**
     * Oracle providing `price_adjustment` could not be found for requested assets.
     */
    "PriceAdjustmentNotAvailable": undefined;
    /**
     * No farms specified to join
     */
    "NoFarmEntriesSpecified": undefined;
}>;
export type Icnmrtlo128skq = AnonymousEnum<{
    "MissingLpPosition": undefined;
    "DepositDataNotFound": undefined;
}>;
export type I1kp1c5al384as = AnonymousEnum<{
    /**
     * Asset does not exist in registry
     */
    "AssetNotRegistered": undefined;
    /**
     * Order cannot be found
     */
    "OrderNotFound": undefined;
    /**
     * Size of order ID exceeds the bound
     */
    "OrderIdOutOfBound": undefined;
    /**
     * Cannot partially fill an order which is not partially fillable
     */
    "OrderNotPartiallyFillable": 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": undefined;
    /**
     * Error with math calculations
     */
    "MathError": undefined;
    /**
     * The caller does not have permission to complete the action
     */
    "Forbidden": undefined;
    /**
     * Reserved amount not sufficient.
     */
    "InsufficientReservedAmount": undefined;
}>;
export type I4vmqfcgsdr1l9 = AnonymousEnum<{
    /**
     * Invalid value for a limit. Limit must be non-zero.
     */
    "InvalidLimitValue": undefined;
    /**
     * Allowed liquidity limit is not stored for asset
     */
    "LiquidityLimitNotStoredForAsset": undefined;
    /**
     * Token trade outflow per block has been reached
     */
    "TokenOutflowLimitReached": undefined;
    /**
     * Token trade influx per block has been reached
     */
    "TokenInfluxLimitReached": undefined;
    /**
     * Maximum pool's liquidity limit per block has been reached
     */
    "MaxLiquidityLimitPerBlockReached": undefined;
    /**
     * Asset is not allowed to have a limit
     */
    "NotAllowed": undefined;
}>;
export type Ifntb1290uuatm = AnonymousEnum<{
    /**
     * The trading limit has been reached
     */
    "TradingLimitReached": undefined;
    /**
     * The the max number of trades limit is reached
     */
    "MaxTradesExceeded": undefined;
    /**
     * The AMM pool is not supported for executing trades
     */
    "PoolNotSupported": undefined;
    /**
     * The user has not enough balance to execute the trade
     */
    "InsufficientBalance": undefined;
    /**
     * The calculation of route trade amounts failed in the underlying AMM
     */
    "RouteCalculationFailed": undefined;
    /**
     * The route is invalid
     */
    "InvalidRoute": undefined;
    /**
     * The route update was not successful
     */
    "RouteUpdateIsNotSuccessful": undefined;
    /**
     * Route contains assets that has no oracle data
     */
    "RouteHasNoOracle": undefined;
    /**
     * The route execution failed in the underlying AMM
     */
    "InvalidRouteExecution": undefined;
    /**
     * Trading same assets is not allowed.
     */
    "NotAllowed": undefined;
}>;
export type Idhbjtd7at0b1k = AnonymousEnum<{
    /**
     * Balance is too low.
     */
    "InsufficientBalance": undefined;
    /**
     * Staked amount is too low.
     */
    "InsufficientStake": undefined;
    /**
     * Staking position has not been found.
     */
    "PositionNotFound": undefined;
    /**
     * Maximum amount of votes were reached for staking position.
     */
    "MaxVotesReached": undefined;
    /**
     * Staking is not initialized.
     */
    "NotInitialized": undefined;
    /**
     * Staking is already initialized.
     */
    "AlreadyInitialized": undefined;
    /**
     * Arithmetic error.
     */
    "Arithmetic": undefined;
    /**
     * Pot's balance is zero.
     */
    "MissingPotBalance": undefined;
    /**
     * Account's position already exists.
     */
    "PositionAlreadyExists": undefined;
    /**
     * Signer is not an owner of the staking position.
     */
    "Forbidden": undefined;
    /**
     * Position contains registered votes.
     */
    "ExistingVotes": undefined;
    /**
     * Position contains processed votes. Removed these votes first before increasing stake or claiming.
     */
    "ExistingProcessedVotes": undefined;
    /**
     * Action cannot be completed because unexpected error has occurred. This should be reported
     * to protocol maintainers.
     */
    "InconsistentState": Anonymize<Icojqvn3afk41n>;
}>;
export type Icojqvn3afk41n = AnonymousEnum<{
    "PositionNotFound": undefined;
    "NegativePendingRewards": undefined;
    "NegativeUnpaidRewards": undefined;
    "TooManyPositions": undefined;
    "Arithmetic": undefined;
}>;
export type Icjghjcmnulssm = AnonymousEnum<{
    /**
     * Creating a pool with same assets or less than 2 assets is not allowed.
     */
    "IncorrectAssets": undefined;
    /**
     * Maximum number of assets has been exceeded.
     */
    "MaxAssetsExceeded": undefined;
    /**
     * A pool with given assets does not exist.
     */
    "PoolNotFound": undefined;
    /**
     * A pool with given assets already exists.
     */
    "PoolExists": undefined;
    /**
     * Asset is not in the pool.
     */
    "AssetNotInPool": undefined;
    /**
     * Share asset is not registered in Registry.
     */
    "ShareAssetNotRegistered": undefined;
    /**
     * Share asset is amount assets when creating a pool.
     */
    "ShareAssetInPoolAssets": undefined;
    /**
     * One or more assets are not registered in AssetRegistry
     */
    "AssetNotRegistered": undefined;
    /**
     * Invalid asset amount provided. Amount must be greater than zero.
     */
    "InvalidAssetAmount": undefined;
    /**
     * Balance of an asset is not sufficient to perform a trade.
     */
    "InsufficientBalance": undefined;
    /**
     * Balance of a share asset is not sufficient to withdraw liquidity.
     */
    "InsufficientShares": undefined;
    /**
     * Liquidity has not reached the required minimum.
     */
    "InsufficientLiquidity": undefined;
    /**
     * Insufficient liquidity left in the pool after withdrawal.
     */
    "InsufficientLiquidityRemaining": undefined;
    /**
     * Amount is less than the minimum trading amount configured.
     */
    "InsufficientTradingAmount": undefined;
    /**
     * Minimum limit has not been reached during trade.
     */
    "BuyLimitNotReached": undefined;
    /**
     * Maximum limit has been exceeded during trade.
     */
    "SellLimitExceeded": undefined;
    /**
     * Initial liquidity of asset must be > 0.
     */
    "InvalidInitialLiquidity": undefined;
    /**
     * Amplification is outside configured range.
     */
    "InvalidAmplification": undefined;
    /**
     * Remaining balance of share asset is below asset's existential deposit.
     */
    "InsufficientShareBalance": undefined;
    /**
     * Not allowed to perform an operation on given asset.
     */
    "NotAllowed": undefined;
    /**
     * Future block number is in the past.
     */
    "PastBlock": undefined;
    /**
     * New amplification is equal to the previous value.
     */
    "SameAmplification": undefined;
    /**
     * Slippage protection.
     */
    "SlippageLimit": undefined;
    /**
     * Failed to retrieve asset decimals.
     */
    "UnknownDecimals": undefined;
    /**
     * List of provided pegs is incorrect.
     */
    "IncorrectInitialPegs": undefined;
    /**
     * Failed to retrieve oracle entry.
     */
    "MissingTargetPegOracle": undefined;
    /**
     * Creating pool with pegs is not allowed for asset with different decimals.
     */
    "IncorrectAssetDecimals": undefined;
}>;
export type Ibj08k850p0j34 = AnonymousEnum<{
    /**
     * Bond not registered
     */
    "NotRegistered": undefined;
    /**
     * Bond is not mature
     */
    "NotMature": undefined;
    /**
     * Maturity not long enough
     */
    "InvalidMaturity": undefined;
    /**
     * Asset type not allowed for underlying asset
     */
    "DisallowedAsset": undefined;
    /**
     * Asset is not registered in `AssetRegistry`
     */
    "AssetNotFound": undefined;
    /**
     * Generated name is not valid.
     */
    "InvalidBondName": undefined;
    /**
     * Bond's name parsing was now successful
     */
    "FailToParseName": undefined;
}>;
export type I1jtj4pc4jltpf = AnonymousEnum<{
    /**
     * Otc order not found
     */
    "OrderNotFound": undefined;
    /**
     * OTC order is not partially fillable
     */
    "NotPartiallyFillable": undefined;
    /**
     * Provided route doesn't match the existing route
     */
    "InvalidRoute": undefined;
    /**
     * Initial and final balance are different
     */
    "BalanceInconsistency": undefined;
    /**
     * Trade amount higher than necessary
     */
    "TradeAmountTooHigh": undefined;
    /**
     * Trade amount lower than necessary
     */
    "TradeAmountTooLow": undefined;
    /**
     * Price for a route is not available
     */
    "PriceNotAvailable": undefined;
}>;
export type Ic99uoklag6hh0 = AnonymousEnum<{
    /**
     * Pool assets can not be the same
     */
    "CannotCreatePoolWithSameAssets": undefined;
    /**
     * Account is not a pool owner
     */
    "NotOwner": undefined;
    /**
     * Sale already started
     */
    "SaleStarted": undefined;
    /**
     * Sale is still in progress
     */
    "SaleNotEnded": undefined;
    /**
     * Sale is not running
     */
    "SaleIsNotRunning": undefined;
    /**
     * Sale duration is too long
     */
    "MaxSaleDurationExceeded": undefined;
    /**
     * Liquidity being added should not be zero
     */
    "CannotAddZeroLiquidity": undefined;
    /**
     * Asset balance too low
     */
    "InsufficientAssetBalance": undefined;
    /**
     * Pool does not exist
     */
    "PoolNotFound": undefined;
    /**
     * Pool has been already created
     */
    "PoolAlreadyExists": undefined;
    /**
     * Invalid block range
     */
    "InvalidBlockRange": undefined;
    /**
     * Calculation error
     */
    "WeightCalculationError": undefined;
    /**
     * Weight set is out of range
     */
    "InvalidWeight": undefined;
    /**
     * Can not perform a trade with zero amount
     */
    "ZeroAmount": undefined;
    /**
     * Trade amount is too high
     */
    "MaxInRatioExceeded": undefined;
    /**
     * Trade amount is too high
     */
    "MaxOutRatioExceeded": undefined;
    /**
     * Invalid fee amount
     */
    "FeeAmountInvalid": undefined;
    /**
     * Trading limit reached
     */
    "TradingLimitReached": undefined;
    /**
     * An unexpected integer overflow occurred
     */
    "Overflow": undefined;
    /**
     * Nothing to update
     */
    "NothingToUpdate": undefined;
    /**
     * Liquidity has not reached the required minimum.
     */
    "InsufficientLiquidity": undefined;
    /**
     * Amount is less than minimum trading limit.
     */
    "InsufficientTradingAmount": undefined;
    /**
     * Not more than one fee collector per asset id
     */
    "FeeCollectorWithAssetAlreadyUsed": undefined;
}>;
export type I6a3vdng69e2ne = AnonymousEnum<{
    /**
     * It is not allowed to create a pool between same assets.
     */
    "CannotCreatePoolWithSameAssets": undefined;
    /**
     * Liquidity has not reached the required minimum.
     */
    "InsufficientLiquidity": undefined;
    /**
     * Amount is less than min trading limit.
     */
    "InsufficientTradingAmount": undefined;
    /**
     * Liquidity is zero.
     */
    "ZeroLiquidity": undefined;
    /**
     * It is not allowed to create a pool with zero initial price.
     * Not used, kept for backward compatibility
     */
    "ZeroInitialPrice": undefined;
    /**
     * Overflow
     * Not used, kept for backward compatibility
     */
    "CreatePoolAssetAmountInvalid": undefined;
    /**
     * Overflow
     */
    "InvalidMintedLiquidity": undefined;
    /**
     * Overflow
     */
    "InvalidLiquidityAmount": undefined;
    /**
     * Asset amount has exceeded given limit.
     */
    "AssetAmountExceededLimit": undefined;
    /**
     * Asset amount has not reached given limit.
     */
    "AssetAmountNotReachedLimit": undefined;
    /**
     * Asset balance is not sufficient.
     */
    "InsufficientAssetBalance": undefined;
    /**
     * Not enough asset liquidity in the pool.
     */
    "InsufficientPoolAssetBalance": undefined;
    /**
     * Not enough core asset liquidity in the pool.
     */
    "InsufficientNativeCurrencyBalance": undefined;
    /**
     * Liquidity pool for given assets does not exist.
     */
    "TokenPoolNotFound": undefined;
    /**
     * Liquidity pool for given assets already exists.
     */
    "TokenPoolAlreadyExists": undefined;
    /**
     * Overflow
     */
    "AddAssetAmountInvalid": undefined;
    /**
     * Overflow
     */
    "RemoveAssetAmountInvalid": undefined;
    /**
     * Overflow
     */
    "SellAssetAmountInvalid": undefined;
    /**
     * Overflow
     */
    "BuyAssetAmountInvalid": undefined;
    /**
     * Overflow
     */
    "FeeAmountInvalid": undefined;
    /**
     * Overflow
     */
    "CannotApplyDiscount": undefined;
    /**
     * Max fraction of pool to buy in single transaction has been exceeded.
     */
    "MaxOutRatioExceeded": undefined;
    /**
     * Max fraction of pool to sell in single transaction has been exceeded.
     */
    "MaxInRatioExceeded": undefined;
    /**
     * Overflow
     */
    "Overflow": undefined;
    /**
     * Pool cannot be created due to outside factors.
     */
    "CannotCreatePool": undefined;
    /**
     * Slippage protection.
     */
    "SlippageLimit": undefined;
}>;
export type Iaqb0qr3l7g0ub = AnonymousEnum<{
    /**
     * Referral code is too long.
     */
    "TooLong": undefined;
    /**
     * Referral code is too short.
     */
    "TooShort": undefined;
    /**
     * Referral code contains invalid character. Only alphanumeric characters are allowed.
     */
    "InvalidCharacter": undefined;
    /**
     * Referral code already exists.
     */
    "AlreadyExists": undefined;
    /**
     * Provided referral code is invalid. Either does not exist or is too long.
     */
    "InvalidCode": undefined;
    /**
     * Account is already linked to another referral account.
     */
    "AlreadyLinked": undefined;
    /**
     * Nothing in the referral pot account for the asset.
     */
    "ZeroAmount": undefined;
    /**
     * Linking an account to the same referral account is not allowed.
     */
    "LinkNotAllowed": undefined;
    /**
     * Calculated rewards are more than the fee amount. This can happen if percentages are incorrectly set.
     */
    "IncorrectRewardCalculation": undefined;
    /**
     * Given referrer and trader percentages exceeds 100% percent.
     */
    "IncorrectRewardPercentage": undefined;
    /**
     * The account has already a code registered.
     */
    "AlreadyRegistered": undefined;
    /**
     * Price for given asset pair not found.
     */
    "PriceNotFound": undefined;
    /**
     * Minimum trading amount for conversion has not been reached.
     */
    "ConversionMinTradingAmountNotReached": undefined;
    /**
     * Zero amount received from conversion.
     */
    "ConversionZeroAmountReceived": undefined;
}>;
export type I2isghqcs9gp7d = AnonymousEnum<{
    /**
     * AssetId to EVM address conversion failed
     */
    "AssetConversionFailed": undefined;
    /**
     * Liquidation call failed
     */
    "LiquidationCallFailed": undefined;
    /**
     * Provided route doesn't match the existing route
     */
    "InvalidRoute": undefined;
    /**
     * Liquidation was not profitable enough to repay flash loan
     */
    "NotProfitable": undefined;
}>;
export type Icc7o7ep6n36h2 = AnonymousEnum<{
    /**
     * The balance is too low
     */
    "BalanceTooLow": undefined;
    /**
     * Cannot convert Amount into Balance type
     */
    "AmountIntoBalanceFailed": undefined;
    /**
     * Failed because liquidity restrictions due to locking
     */
    "LiquidityRestrictions": undefined;
    /**
     * Failed because the maximum locks was exceeded
     */
    "MaxLocksExceeded": undefined;
    /**
     * Transfer/payment would kill account
     */
    "KeepAlive": undefined;
    /**
     * Value too low to create account due to existential deposit
     */
    "ExistentialDeposit": undefined;
    /**
     * Beneficiary account must pre-exist
     */
    "DeadAccount": undefined;
    "TooManyReserves": undefined;
}>;
export type Iejalhtid1s0pt = AnonymousEnum<{
    /**
     * Unable to convert the Amount type into Balance.
     */
    "AmountIntoBalanceFailed": undefined;
    /**
     * Balance is too low.
     */
    "BalanceTooLow": undefined;
    /**
     * Deposit result is not expected
     */
    "DepositFailed": undefined;
    /**
     * Operation is not supported for this currency
     */
    "NotSupported": undefined;
}>;
export type Ifkcmnj410r9fh = AnonymousEnum<{
    /**
     * Vesting period is zero
     */
    "ZeroVestingPeriod": undefined;
    /**
     * Number of vests is zero
     */
    "ZeroVestingPeriodCount": undefined;
    /**
     * Insufficient amount of balance to lock
     */
    "InsufficientBalanceToLock": undefined;
    /**
     * This account have too many vesting schedules
     */
    "TooManyVestingSchedules": undefined;
    /**
     * The vested transfer amount is too low
     */
    "AmountLow": undefined;
    /**
     * Failed because the maximum vesting schedules was exceeded
     */
    "MaxVestingSchedulesExceeded": undefined;
}>;
export type I4pkfap0t7vk0t = AnonymousEnum<{
    /**
     * Not enough balance to perform action
     */
    "BalanceLow": undefined;
    /**
     * Calculating total fee overflowed
     */
    "FeeOverflow": undefined;
    /**
     * Calculating total payment overflowed
     */
    "PaymentOverflow": undefined;
    /**
     * Withdraw fee failed
     */
    "WithdrawFailed": undefined;
    /**
     * Gas price is too low.
     */
    "GasPriceTooLow": undefined;
    /**
     * Nonce is invalid
     */
    "InvalidNonce": undefined;
    /**
     * Gas limit is too low.
     */
    "GasLimitTooLow": undefined;
    /**
     * Gas limit is too high.
     */
    "GasLimitTooHigh": undefined;
    /**
     * The chain id is invalid.
     */
    "InvalidChainId": undefined;
    /**
     * the signature is invalid.
     */
    "InvalidSignature": undefined;
    /**
     * EVM reentrancy
     */
    "Reentrancy": undefined;
    /**
     * EIP-3607,
     */
    "TransactionMustComeFromEOA": undefined;
    /**
     * Undefined error.
     */
    "Undefined": undefined;
}>;
export type I1mp6vnoh32l4q = AnonymousEnum<{
    /**
     * Signature is invalid.
     */
    "InvalidSignature": undefined;
    /**
     * Pre-log is present, therefore transact is not allowed.
     */
    "PreLogExists": undefined;
}>;
export type Ie65vecqacffpm = AnonymousEnum<{
    /**
     * Active EVM account cannot be bound
     */
    "TruncatedAccountAlreadyUsed": undefined;
    /**
     * Address is already bound
     */
    "AddressAlreadyBound": undefined;
    /**
     * Bound address cannot be used
     */
    "BoundAddressCannotBeUsed": undefined;
    /**
     * Address not whitelisted
     */
    "AddressNotWhitelisted": undefined;
}>;
export type I6q09f6hmj7elp = AnonymousEnum<{
    /**
     * Nft pallet didn't return an owner.
     */
    "CantFindDepositOwner": undefined;
    /**
     * Account balance of XYK pool shares is not sufficient.
     */
    "InsufficientXykSharesBalance": undefined;
    /**
     * XYK pool does not exist
     */
    "XykPoolDoesntExist": undefined;
    /**
     * Account is not deposit owner.
     */
    "NotDepositOwner": undefined;
    /**
     * XYK did not return assets for given pool id
     */
    "CantGetXykAssets": undefined;
    /**
     * Deposit data not found
     */
    "DepositDataNotFound": undefined;
    /**
     * Calculated reward to claim is 0.
     */
    "ZeroClaimedRewards": undefined;
    /**
     * Asset is not in the `AssetPair`.
     */
    "AssetNotInAssetPair": undefined;
    /**
     * Provided `AssetPair` is not used by the deposit.
     */
    "InvalidAssetPair": undefined;
    /**
     * Asset is not registered in asset registry.
     */
    "AssetNotRegistered": undefined;
    /**
     * Failed to calculate `pot`'s account.
     */
    "FailToGetPotId": undefined;
    /**
     * No global farm - yield farm pairs specified to join
     */
    "NoFarmsSpecified": undefined;
}>;
export type Ic4d0pk1ndfilm = AnonymousEnum<{
    /**
     * Schedule not exist
     */
    "ScheduleNotFound": undefined;
    /**
     * The min trade amount is not reached
     */
    "MinTradeAmountNotReached": undefined;
    /**
     * Forbidden as the user is not the owner of the schedule
     */
    "Forbidden": undefined;
    /**
     * The next execution block number is not in the future
     */
    "BlockNumberIsNotInFuture": undefined;
    /**
     * Price is unstable as price change from oracle data is bigger than max allowed
     */
    "PriceUnstable": undefined;
    /**
     * Order was randomly rescheduled to next block
     */
    "Bumped": undefined;
    /**
     * Error occurred when calculating price
     */
    "CalculatingPriceError": undefined;
    /**
     * The total amount to be reserved is smaller than min budget
     */
    "TotalAmountIsSmallerThanMinBudget": undefined;
    /**
     * The budget is too low for executing at least two orders
     */
    "BudgetTooLow": undefined;
    /**
     * There is no free block found to plan DCA execution
     */
    "NoFreeBlockFound": undefined;
    /**
     * The DCA schedule has been manually terminated
     */
    "ManuallyTerminated": undefined;
    /**
     * Max number of retries reached for schedule
     */
    "MaxRetryReached": undefined;
    /**
     * Absolutely trade limit reached, leading to retry
     */
    "TradeLimitReached": undefined;
    /**
     * Slippage limit calculated from oracle is reached, leading to retry
     */
    "SlippageLimitReached": undefined;
    /**
     * No parent hash has been found from relay chain
     */
    "NoParentHashFound": undefined;
    /**
     * Error that should not really happen only in case of invalid state of the schedule storage entries
     */
    "InvalidState": undefined;
    /**
     * Period should be longer than 5 blocks
     */
    "PeriodTooShort": undefined;
    /**
     * Stability threshold cannot be higher than `MaxConfigurablePriceDifferenceBetweenBlock`
     */
    "StabilityThresholdTooHigh": undefined;
}>;
export type If7oa8fprnilo5 = AnonymousEnum<{
    /**
     * Failed to schedule a call
     */
    "FailedToSchedule": undefined;
    /**
     * Cannot find the scheduled call.
     */
    "NotFound": undefined;
    /**
     * Given target block number is in the past.
     */
    "TargetBlockNumberInPast": undefined;
    /**
     * Reschedule failed because it does not change scheduled time.
     */
    "RescheduleNoChange": undefined;
    /**
     * Attempt to use a non-named function on a named task.
     */
    "Named": undefined;
}>;
export type I9p95gln24a0rn = AnonymousEnum<{
    /**
     * Attempt to upgrade validation function while existing upgrade pending.
     */
    "OverlappingUpgrades": undefined;
    /**
     * Polkadot currently prohibits this parachain from upgrading its validation function.
     */
    "ProhibitedByPolkadot": undefined;
    /**
     * The supplied validation function has compiled into a blob larger than Polkadot is
     * willing to run.
     */
    "TooBig": undefined;
    /**
     * The inherent which supplies the validation data did not run this block.
     */
    "ValidationDataNotAvailable": undefined;
    /**
     * The inherent which supplies the host configuration did not run this block.
     */
    "HostConfigurationNotAvailable": undefined;
    /**
     * No validation function upgrade is currently scheduled.
     */
    "NotScheduled": undefined;
    /**
     * No code upgrade has been authorized.
     */
    "NothingAuthorized": undefined;
    /**
     * The given code upgrade has not been authorized.
     */
    "Unauthorized": undefined;
}>;
export type I87j95aq93d7dq = AnonymousEnum<{
    /**
     * The desired destination was unreachable, generally because there is a no way of routing
     * to it.
     */
    "Unreachable": 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": undefined;
    /**
     * The message execution fails the filter.
     */
    "Filtered": undefined;
    /**
     * The message's weight could not be determined.
     */
    "UnweighableMessage": undefined;
    /**
     * The destination `Location` provided cannot be inverted.
     */
    "DestinationNotInvertible": undefined;
    /**
     * The assets to be sent are empty.
     */
    "Empty": undefined;
    /**
     * Could not re-anchor the assets to declare the fees for the destination chain.
     */
    "CannotReanchor": undefined;
    /**
     * Too many assets have been attempted for transfer.
     */
    "TooManyAssets": undefined;
    /**
     * Origin is invalid for sending.
     */
    "InvalidOrigin": undefined;
    /**
     * The version of the `Versioned` value used is not able to be interpreted.
     */
    "BadVersion": undefined;
    /**
     * The given location could not be used (e.g. because it cannot be expressed in the
     * desired version of XCM).
     */
    "BadLocation": undefined;
    /**
     * The referenced subscription could not be found.
     */
    "NoSubscription": undefined;
    /**
     * The location is invalid since it already has a subscription from us.
     */
    "AlreadySubscribed": undefined;
    /**
     * Could not check-out the assets for teleportation to the destination chain.
     */
    "CannotCheckOutTeleport": undefined;
    /**
     * The owner does not own (all) of the asset that they wish to do the operation on.
     */
    "LowBalance": undefined;
    /**
     * The asset owner has too many locks on the asset.
     */
    "TooManyLocks": undefined;
    /**
     * The given account is not an identifiable sovereign account for any location.
     */
    "AccountNotSovereign": undefined;
    /**
     * The operation required fees to be paid which the initiator could not meet.
     */
    "FeesNotMet": undefined;
    /**
     * A remote lock with the corresponding data could not be found.
     */
    "LockNotFound": undefined;
    /**
     * The unlock operation cannot succeed because there are still consumers of the lock.
     */
    "InUse": undefined;
    /**
     * Invalid asset, reserve chain could not be determined for it.
     */
    "InvalidAssetUnknownReserve": undefined;
    /**
     * Invalid asset, do not support remote asset reserves with different fees reserves.
     */
    "InvalidAssetUnsupportedReserve": undefined;
    /**
     * Too many assets with different reserve locations have been attempted for transfer.
     */
    "TooManyReserves": undefined;
    /**
     * Local XCM execution incomplete.
     */
    "LocalExecutionIncomplete": undefined;
}>;
export type Idnnbndsjjeqqs = AnonymousEnum<{
    /**
     * Setting the queue config failed since one of its values was invalid.
     */
    "BadQueueConfig": undefined;
    /**
     * The execution is already suspended.
     */
    "AlreadySuspended": undefined;
    /**
     * The execution is already resumed.
     */
    "AlreadyResumed": undefined;
    /**
     * There are too many active outbound channels.
     */
    "TooManyActiveOutboundChannels": undefined;
    /**
     * The message is too big.
     */
    "TooBig": undefined;
}>;
export type I5iupade5ag2dp = AnonymousEnum<{
    /**
     * Page is not reapable because it has items remaining to be processed and is not old
     * enough.
     */
    "NotReapable": undefined;
    /**
     * Page to be reaped does not exist.
     */
    "NoPage": undefined;
    /**
     * The referenced message could not be found.
     */
    "NoMessage": undefined;
    /**
     * The message was already processed and cannot be processed again.
     */
    "AlreadyProcessed": undefined;
    /**
     * The message is queued for future execution.
     */
    "Queued": undefined;
    /**
     * There is temporarily not enough weight to continue servicing messages.
     */
    "InsufficientWeight": undefined;
    /**
     * This message is temporarily unprocessable.
     *
     * Such errors are expected, but not guaranteed, to resolve themselves eventually through
     * retrying.
     */
    "TemporarilyUnprocessable": 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": undefined;
    /**
     * Another call is in progress and needs to finish before this call can happen.
     */
    "RecursiveDisallowed": undefined;
}>;
export type Ifv4efjta13rhe = AnonymousEnum<{
    /**
     * The message and destination combination was not recognized as being
     * reachable.
     */
    "Unreachable": undefined;
    /**
     * The message and destination was recognized as being reachable but
     * the operation could not be completed.
     */
    "SendFailure": undefined;
    /**
     * The version of the `Versioned` value used is not able to be
     * interpreted.
     */
    "BadVersion": undefined;
}>;
export type I8g8tbk0anjali = AnonymousEnum<{
    /**
     * Asset has no reserve location.
     */
    "AssetHasNoReserve": undefined;
    /**
     * Not cross-chain transfer.
     */
    "NotCrossChainTransfer": undefined;
    /**
     * Invalid transfer destination.
     */
    "InvalidDest": undefined;
    /**
     * Currency is not cross-chain transferable.
     */
    "NotCrossChainTransferableCurrency": undefined;
    /**
     * The message's weight could not be determined.
     */
    "UnweighableMessage": undefined;
    /**
     * XCM execution failed.
     */
    "XcmExecutionFailed": undefined;
    /**
     * Could not re-anchor the assets to declare the fees for the
     * destination chain.
     */
    "CannotReanchor": undefined;
    /**
     * Could not get ancestry of asset reserve location.
     */
    "InvalidAncestry": undefined;
    /**
     * The Asset is invalid.
     */
    "InvalidAsset": undefined;
    /**
     * The destination `Location` provided cannot be inverted.
     */
    "DestinationNotInvertible": undefined;
    /**
     * The version of the `Versioned` value used is not able to be
     * interpreted.
     */
    "BadVersion": undefined;
    /**
     * We tried sending distinct asset and fee but they have different
     * reserve chains.
     */
    "DistinctReserveForAssetAndFee": undefined;
    /**
     * The fee is zero.
     */
    "ZeroFee": undefined;
    /**
     * The transfering asset amount is zero.
     */
    "ZeroAmount": undefined;
    /**
     * The number of assets to be sent is over the maximum.
     */
    "TooManyAssetsBeingSent": undefined;
    /**
     * The specified index does not exist in a Assets struct.
     */
    "AssetIndexNonExistent": undefined;
    /**
     * Fee is not enough.
     */
    "FeeNotEnough": undefined;
    /**
     * Not supported Location
     */
    "NotSupportedLocation": undefined;
    /**
     * MinXcmFee not registered for certain reserve location
     */
    "MinXcmFeeNotDefined": undefined;
    /**
     * Asset transfer is limited by RateLimiter.
     */
    "RateLimited": undefined;
}>;
export type I5llpdov40t5vu = AnonymousEnum<{
    /**
     * The balance is too low.
     */
    "BalanceTooLow": undefined;
    /**
     * The operation will cause balance to overflow.
     */
    "BalanceOverflow": undefined;
    /**
     * Unhandled asset.
     */
    "UnhandledAsset": undefined;
}>;
export type I36bcffk2387dv = AnonymousEnum<{
    /**
     * The pallet has too many candidates.
     */
    "TooManyCandidates": undefined;
    /**
     * Leaving would result in too few candidates.
     */
    "TooFewEligibleCollators": undefined;
    /**
     * Account is already a candidate.
     */
    "AlreadyCandidate": undefined;
    /**
     * Account is not a candidate.
     */
    "NotCandidate": undefined;
    /**
     * There are too many Invulnerables.
     */
    "TooManyInvulnerables": undefined;
    /**
     * Account is already an Invulnerable.
     */
    "AlreadyInvulnerable": undefined;
    /**
     * Account is not an Invulnerable.
     */
    "NotInvulnerable": undefined;
    /**
     * Account has no associated validator ID.
     */
    "NoAssociatedValidatorId": undefined;
    /**
     * Validator ID is not yet registered.
     */
    "ValidatorNotRegistered": undefined;
    /**
     * Could not insert in the candidate list.
     */
    "InsertToCandidateListFailed": undefined;
    /**
     * Could not remove from the candidate list.
     */
    "RemoveFromCandidateListFailed": undefined;
    /**
     * New deposit amount would be below the minimum candidacy bond.
     */
    "DepositTooLow": undefined;
    /**
     * Could not update the candidate list.
     */
    "UpdateCandidateListFailed": undefined;
    /**
     * Deposit amount is too low to take the target's slot in the candidate list.
     */
    "InsufficientBond": undefined;
    /**
     * The target account to be replaced in the candidate list is not a candidate.
     */
    "TargetIsNotCandidate": undefined;
    /**
     * The updated deposit amount is equal to the amount already reserved.
     */
    "IdenticalDeposit": undefined;
    /**
     * Cannot lower candidacy bond while occupying a future collator slot in the list.
     */
    "InvalidUnreserve": undefined;
}>;
export type I1e07dgbaqd1sq = AnonymousEnum<{
    /**
     * Invalid ownership proof.
     */
    "InvalidProof": undefined;
    /**
     * No associated validator ID for account.
     */
    "NoAssociatedValidatorId": undefined;
    /**
     * Registered duplicate key.
     */
    "DuplicatedKey": undefined;
    /**
     * No keys are associated with this account.
     */
    "NoKeys": undefined;
    /**
     * Key setting account is not live, so it's impossible to associate keys.
     */
    "NoAccount": undefined;
}>;
export type I7rp5ecu8mpg3e = AnonymousEnum<{
    "TooManyUniqueEntries": undefined;
    "OnTradeValueZero": undefined;
    "OracleNotFound": undefined;
    /**
     * Asset not found
     */
    "AssetNotFound": undefined;
    /**
     * The new price is outside the max allowed range
     */
    "PriceOutsideAllowedRange": undefined;
}>;
export type I67a3g81377tev = AnonymousEnum<{
    /**
     * The execution context call stack has reached its maximum size
     */
    "ExecutionCallStackOverflow": undefined;
    /**
     * The execution context call stack is empty, unable to decrease level
     */
    "ExecutionCallStackUnderflow": undefined;
}>;
export type I4g15ko4u63fja = Array<[number, Anonymize<Ic02kut0350gb0>]>;
export type I8rbu1vdc38cnp = AnonymousEnum<{
    "system": DispatchRawOrigin;
    "Council": Enum<{
        "Members": Anonymize<I9jd27rnpm8ttv>;
        "Member": SS58String;
        "_Phantom": undefined;
    }>;
    "TechnicalCommittee": Enum<{
        "Members": Anonymize<I9jd27rnpm8ttv>;
        "Member": SS58String;
        "_Phantom": undefined;
    }>;
    "Origins": Enum<{
        "WhitelistedCaller": undefined;
        "ReferendumCanceller": undefined;
        "ReferendumKiller": undefined;
        "GeneralAdmin": undefined;
        "OmnipoolAdmin": undefined;
        "Treasurer": undefined;
        "Spender": undefined;
        "Tipper": undefined;
        "EconomicParameters": undefined;
    }>;
    "Ethereum": Enum<{
        "EthereumTransaction": FixedSizeBinary<20>;
    }>;
    "PolkadotXcm": XcmPalletOrigin;
    "CumulusXcm": Enum<{
        "Relay": undefined;
        "SiblingParachain": number;
    }>;
    "Void": undefined;
}>;
export type DispatchRawOrigin = Enum<{
    "Root": undefined;
    "Signed": SS58String;
    "None": undefined;
}>;
export declare const DispatchRawOrigin: GetEnum<DispatchRawOrigin>;
export type XcmPalletOrigin = Enum<{
    "Xcm": Anonymize<I4c0s5cioidn76>;
    "Response": Anonymize<I4c0s5cioidn76>;
}>;
export declare const XcmPalletOrigin: GetEnum<XcmPalletOrigin>;
export type Ick2k1hvh0bm22 = AnonymousEnum<{
    "System": Enum<{
        /**
         * Make some on-chain remark.
         *
         * Can be executed by every `origin`.
         */
        "remark": {
            "remark": Binary;
        };
        /**
         * Set the number of pages in the WebAssembly environment's heap.
         */
        "set_heap_pages": {
            "pages": bigint;
        };
        /**
         * Set the new runtime code.
         */
        "set_code": Anonymize<I6pjjpfvhvcfru>;
        /**
         * Set the new runtime code without doing any checks of the given `code`.
         *
         * Note that runtime upgrades will not run if this is called with a not-increasing spec
         * version!
         */
        "set_code_without_checks": Anonymize<I6pjjpfvhvcfru>;
        /**
         * Set some items of storage.
         */
        "set_storage": {
            "items": Array<FixedSizeArray<2, Binary>>;
        };
        /**
         * Kill some items from storage.
         */
        "kill_storage": {
            "keys": Anonymize<Itom7fk49o0c9>;
        };
        /**
         * Kill all storage items with a key that starts with the given prefix.
         *
         * **NOTE:** We rely on the Root origin to provide us the number of subkeys under
         * the prefix we are removing to accurately calculate the weight of this function.
         */
        "kill_prefix": {
            "prefix": Binary;
            "subkeys": number;
        };
        /**
         * Make some on-chain remark and emit event.
         */
        "remark_with_event": {
            "remark": Binary;
        };
        /**
         * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied
         * later.
         *
         * This call requires Root origin.
         */
        "authorize_upgrade": {
            "code_hash": FixedSizeBinary<32>;
        };
        /**
         * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied
         * later.
         *
         * WARNING: This authorizes an upgrade that will take place without any safety checks, for
         * example that the spec name remains the same and that the version number increases. Not
         * recommended for normal use. Use `authorize_upgrade` instead.
         *
         * This call requires Root origin.
         */
        "authorize_upgrade_without_checks": {
            "code_hash": FixedSizeBinary<32>;
        };
        /**
         * Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.
         *
         * If the authorization required a version check, this call will ensure the spec name
         * remains unchanged and that the spec version has increased.
         *
         * Depending on the runtime's `OnSetCode` configuration, this function may directly apply
         * the new `code` in the same block or attempt to schedule the upgrade.
         *
         * All origins are allowed.
         */
        "apply_authorized_upgrade": Anonymize<I6pjjpfvhvcfru>;
    }>;
    "Timestamp": Enum<{
        /**
         * Set the current time.
         *
         * This call should be invoked exactly once per block. It will panic at the finalization
         * phase, if this call hasn't been invoked by that time.
         *
         * The timestamp should be greater than the previous one by the amount specified by
         * [`Config::MinimumPeriod`].
         *
         * The dispatch origin for this call must be _None_.
         *
         * This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware
         * that changing the complexity of this call could result exhausting the resources in a
         * block to execute any other calls.
         *
         * ## Complexity
         * - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)
         * - 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in
         * `on_finalize`)
         * - 1 event handler `on_timestamp_set`. Must be `O(1)`.
         */
        "set": {
            "now": bigint;
        };
    }>;
    "Balances": Enum<{
        /**
         * Transfer some liquid free balance to another account.
         *
         * `transfer_allow_death` will set the `FreeBalance` of the sender and receiver.
         * If the sender's account is below the existential deposit as a result
         * of the transfer, the account will be reaped.
         *
         * The dispatch origin for this call must be `Signed` by the transactor.
         */
        "transfer_allow_death": {
            "dest": SS58String;
            "value": bigint;
        };
        /**
         * Exactly as `transfer_allow_death`, except the origin must be root and the source account
         * may be specified.
         */
        "force_transfer": {
            "source": SS58String;
            "dest": SS58String;
            "value": bigint;
        };
        /**
         * Same as the [`transfer_allow_death`] call, but with a check that the transfer will not
         * kill the origin account.
         *
         * 99% of the time you want [`transfer_allow_death`] instead.
         *
         * [`transfer_allow_death`]: struct.Pallet.html#method.transfer
         */
        "transfer_keep_alive": {
            "dest": SS58String;
            "value": bigint;
        };
        /**
         * Transfer the entire transferable balance from the caller account.
         *
         * NOTE: This function only attempts to transfer _transferable_ balances. This means that
         * any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be
         * transferred by this function. To ensure that this function results in a killed account,
         * you might need to prepare the account by removing any reference counters, storage
         * deposits, etc...
         *
         * The dispatch origin of this call must be Signed.
         *
         * - `dest`: The recipient of the transfer.
         * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all
         * of the funds the account has, causing the sender account to be killed (false), or
         * transfer everything except at least the existential deposit, which will guarantee to
         * keep the sender account alive (true).
         */
        "transfer_all": {
            "dest": SS58String;
            "keep_alive": boolean;
        };
        /**
         * Unreserve some balance from a user by force.
         *
         * Can only be called by ROOT.
         */
        "force_unreserve": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Upgrade a specified account.
         *
         * - `origin`: Must be `Signed`.
         * - `who`: The account to be upgraded.
         *
         * This will waive the transaction fee if at least all but 10% of the accounts needed to
         * be upgraded. (We let some not have to be upgraded just in order to allow for the
         * possibility of churn).
         */
        "upgrade_accounts": {
            "who": Anonymize<Ia2lhg7l2hilo3>;
        };
        /**
         * Set the regular balance of a given account.
         *
         * The dispatch origin for this call is `root`.
         */
        "force_set_balance": {
            "who": SS58String;
            "new_free": bigint;
        };
        /**
         * Adjust the total issuance in a saturating way.
         *
         * Can only be called by root and always needs a positive `delta`.
         *
         * # Example
         */
        "force_adjust_total_issuance": {
            "direction": BalancesAdjustmentDirection;
            "delta": bigint;
        };
        /**
         * Burn the specified liquid free balance from the origin account.
         *
         * If the origin's account ends up below the existential deposit as a result
         * of the burn and `keep_alive` is false, the account will be reaped.
         *
         * Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,
         * this `burn` operation will reduce total issuance by the amount _burned_.
         */
        "burn": {
            "value": bigint;
            "keep_alive": boolean;
        };
    }>;
    "MultiTransactionPayment": Enum<{
        /**
         * Set selected currency for given account.
         *
         * This allows to set a currency for an account in which all transaction fees will be paid.
         * Account balance cannot be zero.
         *
         * In case of sufficient asset, the chosen currency must be in the list of accepted currencies
         * In case of insufficient asset, the chosen currency must have a XYK pool with DOT
         *
         * When currency is set, fixed fee is withdrawn from the account to pay for the currency change
         *
         * EVM accounts are now allowed to change thier payment currency.
         *
         * Emits `CurrencySet` event when successful.
         */
        "set_currency": {
            "currency": number;
        };
        /**
         * Add a currency to the list of accepted currencies.
         *
         * Only member can perform this action.
         *
         * Currency must not be already accepted. Core asset id cannot be explicitly added.
         *
         * Emits `CurrencyAdded` event when successful.
         */
        "add_currency": {
            "currency": number;
            "price": bigint;
        };
        /**
         * Remove currency from the list of supported currencies
         * Only selected members can perform this action
         *
         * Core asset cannot be removed.
         *
         * Emits `CurrencyRemoved` when successful.
         */
        "remove_currency": {
            "currency": number;
        };
        /**
         * Reset currency of the specified account to HDX.
         * If the account is EVM account, the payment currency is reset to WETH.
         * Only selected members can perform this action.
         *
         * Emits `CurrencySet` when successful.
         */
        "reset_payment_currency": Anonymize<I6v8sm60vvkmk7>;
        /**
         * Dispatch EVM permit.
         * The main purpose of this function is to allow EVM accounts to pay for the transaction fee in non-native currency
         * by allowing them to self-dispatch pre-signed permit.
         * The EVM fee is paid in the currency set for the account.
         */
        "dispatch_permit": {
            "from": FixedSizeBinary<20>;
            "to": FixedSizeBinary<20>;
            "value": Anonymize<I4totqt881mlti>;
            "data": Binary;
            "gas_limit": bigint;
            "deadline": Anonymize<I4totqt881mlti>;
            "v": number;
            "r": FixedSizeBinary<32>;
            "s": FixedSizeBinary<32>;
        };
    }>;
    "Treasury": Enum<{
        /**
         * Propose and approve a spend of treasury funds.
         *
         * ## Dispatch Origin
         *
         * Must be [`Config::SpendOrigin`] with the `Success` value being at least `amount`.
         *
         * ### Details
         * NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the
         * beneficiary.
         *
         * ### Parameters
         * - `amount`: The amount to be transferred from the treasury to the `beneficiary`.
         * - `beneficiary`: The destination account for the transfer.
         *
         * ## Events
         *
         * Emits [`Event::SpendApproved`] if successful.
         */
        "spend_local": {
            "amount": bigint;
            "beneficiary": SS58String;
        };
        /**
         * Force a previously approved proposal to be removed from the approval queue.
         *
         * ## Dispatch Origin
         *
         * Must be [`Config::RejectOrigin`].
         *
         * ## Details
         *
         * The original deposit will no longer be returned.
         *
         * ### Parameters
         * - `proposal_id`: The index of a proposal
         *
         * ### Complexity
         * - O(A) where `A` is the number of approvals
         *
         * ### Errors
         * - [`Error::ProposalNotApproved`]: The `proposal_id` supplied was not found in the
         * approval queue, i.e., the proposal has not been approved. This could also mean the
         * proposal does not exist altogether, thus there is no way it would have been approved
         * in the first place.
         */
        "remove_approval": {
            "proposal_id": number;
        };
        /**
         * Propose and approve a spend of treasury funds.
         *
         * ## Dispatch Origin
         *
         * Must be [`Config::SpendOrigin`] with the `Success` value being at least
         * `amount` of `asset_kind` in the native asset. The amount of `asset_kind` is converted
         * for assertion using the [`Config::BalanceConverter`].
         *
         * ## Details
         *
         * Create an approved spend for transferring a specific `amount` of `asset_kind` to a
         * designated beneficiary. The spend must be claimed using the `payout` dispatchable within
         * the [`Config::PayoutPeriod`].
         *
         * ### Parameters
         * - `asset_kind`: An indicator of the specific asset class to be spent.
         * - `amount`: The amount to be transferred from the treasury to the `beneficiary`.
         * - `beneficiary`: The beneficiary of the spend.
         * - `valid_from`: The block number from which the spend can be claimed. It can refer to
         * the past if the resulting spend has not yet expired according to the
         * [`Config::PayoutPeriod`]. If `None`, the spend can be claimed immediately after
         * approval.
         *
         * ## Events
         *
         * Emits [`Event::AssetSpendApproved`] if successful.
         */
        "spend": {
            "amount": bigint;
            "beneficiary": SS58String;
            "valid_from"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Claim a spend.
         *
         * ## Dispatch Origin
         *
         * Must be signed
         *
         * ## Details
         *
         * Spends must be claimed within some temporal bounds. A spend may be claimed within one
         * [`Config::PayoutPeriod`] from the `valid_from` block.
         * In case of a payout failure, the spend status must be updated with the `check_status`
         * dispatchable before retrying with the current function.
         *
         * ### Parameters
         * - `index`: The spend index.
         *
         * ## Events
         *
         * Emits [`Event::Paid`] if successful.
         */
        "payout": Anonymize<I666bl2fqjkejo>;
        /**
         * Check the status of the spend and remove it from the storage if processed.
         *
         * ## Dispatch Origin
         *
         * Must be signed.
         *
         * ## Details
         *
         * The status check is a prerequisite for retrying a failed payout.
         * If a spend has either succeeded or expired, it is removed from the storage by this
         * function. In such instances, transaction fees are refunded.
         *
         * ### Parameters
         * - `index`: The spend index.
         *
         * ## Events
         *
         * Emits [`Event::PaymentFailed`] if the spend payout has failed.
         * Emits [`Event::SpendProcessed`] if the spend payout has succeed.
         */
        "check_status": Anonymize<I666bl2fqjkejo>;
        /**
         * Void previously approved spend.
         *
         * ## Dispatch Origin
         *
         * Must be [`Config::RejectOrigin`].
         *
         * ## Details
         *
         * A spend void is only possible if the payout has not been attempted yet.
         *
         * ### Parameters
         * - `index`: The spend index.
         *
         * ## Events
         *
         * Emits [`Event::AssetSpendVoided`] if successful.
         */
        "void_spend": Anonymize<I666bl2fqjkejo>;
    }>;
    "Utility": Enum<{
        /**
         * Send a batch of dispatch calls.
         *
         * May be called from any origin except `None`.
         *
         * - `calls`: The calls to be dispatched from the same origin. The number of call must not
         * exceed the constant: `batched_calls_limit` (available in constant metadata).
         *
         * If origin is root then the calls are dispatched without checking origin filter. (This
         * includes bypassing `frame_system::Config::BaseCallFilter`).
         *
         * ## Complexity
         * - O(C) where C is the number of calls to be batched.
         *
         * This will return `Ok` in all circumstances. To determine the success of the batch, an
         * event is deposited. If a call failed and the batch was interrupted, then the
         * `BatchInterrupted` event is deposited, along with the number of successful calls made
         * and the error of the failed call. If all were successful, then the `BatchCompleted`
         * event is deposited.
         */
        "batch": {
            "calls": Array<TxCallData>;
        };
        /**
         * Send a call through an indexed pseudonym of the sender.
         *
         * Filter from origin are passed along. The call will be dispatched with an origin which
         * use the same filter as the origin of this call.
         *
         * NOTE: If you need to ensure that any account-based filtering is not honored (i.e.
         * because you expect `proxy` to have been used prior in the call stack and you do not want
         * the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`
         * in the Multisig pallet instead.
         *
         * NOTE: Prior to version *12, this was called `as_limited_sub`.
         *
         * The dispatch origin for this call must be _Signed_.
         */
        "as_derivative": {
            "index": number;
            "call": TxCallData;
        };
        /**
         * Send a batch of dispatch calls and atomically execute them.
         * The whole transaction will rollback and fail if any of the calls failed.
         *
         * May be called from any origin except `None`.
         *
         * - `calls`: The calls to be dispatched from the same origin. The number of call must not
         * exceed the constant: `batched_calls_limit` (available in constant metadata).
         *
         * If origin is root then the calls are dispatched without checking origin filter. (This
         * includes bypassing `frame_system::Config::BaseCallFilter`).
         *
         * ## Complexity
         * - O(C) where C is the number of calls to be batched.
         */
        "batch_all": {
            "calls": Array<TxCallData>;
        };
        /**
         * Dispatches a function call with a provided origin.
         *
         * The dispatch origin for this call must be _Root_.
         *
         * ## Complexity
         * - O(1).
         */
        "dispatch_as": {
            "as_origin": Anonymize<I8rbu1vdc38cnp>;
            "call": TxCallData;
        };
        /**
         * Send a batch of dispatch calls.
         * Unlike `batch`, it allows errors and won't interrupt.
         *
         * May be called from any origin except `None`.
         *
         * - `calls`: The calls to be dispatched from the same origin. The number of call must not
         * exceed the constant: `batched_calls_limit` (available in constant metadata).
         *
         * If origin is root then the calls are dispatch without checking origin filter. (This
         * includes bypassing `frame_system::Config::BaseCallFilter`).
         *
         * ## Complexity
         * - O(C) where C is the number of calls to be batched.
         */
        "force_batch": {
            "calls": Array<TxCallData>;
        };
        /**
         * Dispatch a function call with a specified weight.
         *
         * This function does not check the weight of the call, and instead allows the
         * Root origin to specify the weight of the call.
         *
         * The dispatch origin for this call must be _Root_.
         */
        "with_weight": {
            "call": TxCallData;
            "weight": Anonymize<I4q39t5hn830vp>;
        };
    }>;
    "Preimage": Enum<{
        /**
         * Register a preimage on-chain.
         *
         * If the preimage was previously requested, no fees or deposits are taken for providing
         * the preimage. Otherwise, a deposit is taken proportional to the size of the preimage.
         */
        "note_preimage": {
            "bytes": Binary;
        };
        /**
         * Clear an unrequested preimage from the runtime storage.
         *
         * If `len` is provided, then it will be a much cheaper operation.
         *
         * - `hash`: The hash of the preimage to be removed from the store.
         * - `len`: The length of the preimage of `hash`.
         */
        "unnote_preimage": Anonymize<I1jm8m1rh9e20v>;
        /**
         * Request a preimage be uploaded to the chain without paying any fees or deposits.
         *
         * If the preimage requests has already been provided on-chain, we unreserve any deposit
         * a user may have paid, and take the control of the preimage out of their hands.
         */
        "request_preimage": Anonymize<I1jm8m1rh9e20v>;
        /**
         * Clear a previously made request for a preimage.
         *
         * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`.
         */
        "unrequest_preimage": Anonymize<I1jm8m1rh9e20v>;
        /**
         * Ensure that the a bulk of pre-images is upgraded.
         *
         * The caller pays no fee if at least 90% of pre-images were successfully updated.
         */
        "ensure_updated": {
            "hashes": Anonymize<Ic5m5lp1oioo8r>;
        };
    }>;
    "Identity": Enum<{
        /**
         * Add a registrar to the system.
         *
         * The dispatch origin for this call must be `T::RegistrarOrigin`.
         *
         * - `account`: the account of the registrar.
         *
         * Emits `RegistrarAdded` if successful.
         */
        "add_registrar": Anonymize<Icbccs0ug47ilf>;
        /**
         * Set an account's identity information and reserve the appropriate deposit.
         *
         * If the account already has identity information, the deposit is taken as part payment
         * for the new deposit.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `info`: The identity information.
         *
         * Emits `IdentitySet` if successful.
         */
        "set_identity": {
            "info": {
                "additional": Array<FixedSizeArray<2, IdentityData>>;
                "display": IdentityData;
                "legal": IdentityData;
                "web": IdentityData;
                "riot": IdentityData;
                "email": IdentityData;
                "pgp_fingerprint"?: (FixedSizeBinary<20>) | undefined;
                "image": IdentityData;
                "twitter": IdentityData;
            };
        };
        /**
         * Set the sub-accounts of the sender.
         *
         * Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned
         * and an amount `SubAccountDeposit` will be reserved for each item in `subs`.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a registered
         * identity.
         *
         * - `subs`: The identity's (new) sub-accounts.
         */
        "set_subs": {
            "subs": Array<[SS58String, IdentityData]>;
        };
        /**
         * Clear an account's identity info and all sub-accounts and return all deposits.
         *
         * Payment: All reserved balances on the account are returned.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a registered
         * identity.
         *
         * Emits `IdentityCleared` if successful.
         */
        "clear_identity": undefined;
        /**
         * Request a judgement from a registrar.
         *
         * Payment: At most `max_fee` will be reserved for payment to the registrar if judgement
         * given.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a
         * registered identity.
         *
         * - `reg_index`: The index of the registrar whose judgement is requested.
         * - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as:
         *
         * ```nocompile
         * Registrars::<T>::get().get(reg_index).unwrap().fee
         * ```
         *
         * Emits `JudgementRequested` if successful.
         */
        "request_judgement": {
            "reg_index": number;
            "max_fee": bigint;
        };
        /**
         * Cancel a previous request.
         *
         * Payment: A previously reserved deposit is returned on success.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a
         * registered identity.
         *
         * - `reg_index`: The index of the registrar whose judgement is no longer requested.
         *
         * Emits `JudgementUnrequested` if successful.
         */
        "cancel_request": {
            "reg_index": number;
        };
        /**
         * Set the fee required for a judgement to be requested from a registrar.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must be the account
         * of the registrar whose index is `index`.
         *
         * - `index`: the index of the registrar whose fee is to be set.
         * - `fee`: the new fee.
         */
        "set_fee": {
            "index": number;
            "fee": bigint;
        };
        /**
         * Change the account associated with a registrar.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must be the account
         * of the registrar whose index is `index`.
         *
         * - `index`: the index of the registrar whose fee is to be set.
         * - `new`: the new account ID.
         */
        "set_account_id": {
            "index": number;
            "new": SS58String;
        };
        /**
         * Set the field information for a registrar.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must be the account
         * of the registrar whose index is `index`.
         *
         * - `index`: the index of the registrar whose fee is to be set.
         * - `fields`: the fields that the registrar concerns themselves with.
         */
        "set_fields": {
            "index": number;
            "fields": bigint;
        };
        /**
         * Provide a judgement for an account's identity.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must be the account
         * of the registrar whose index is `reg_index`.
         *
         * - `reg_index`: the index of the registrar whose judgement is being made.
         * - `target`: the account whose identity the judgement is upon. This must be an account
         * with a registered identity.
         * - `judgement`: the judgement of the registrar of index `reg_index` about `target`.
         * - `identity`: The hash of the [`IdentityInformationProvider`] for that the judgement is
         * provided.
         *
         * Note: Judgements do not apply to a username.
         *
         * Emits `JudgementGiven` if successful.
         */
        "provide_judgement": {
            "reg_index": number;
            "target": SS58String;
            "judgement": IdentityJudgement;
            "identity": FixedSizeBinary<32>;
        };
        /**
         * Remove an account's identity and sub-account information and slash the deposits.
         *
         * Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by
         * `Slash`. Verification request deposits are not returned; they should be cancelled
         * manually using `cancel_request`.
         *
         * The dispatch origin for this call must match `T::ForceOrigin`.
         *
         * - `target`: the account whose identity the judgement is upon. This must be an account
         * with a registered identity.
         *
         * Emits `IdentityKilled` if successful.
         */
        "kill_identity": Anonymize<I14p0q0qs0fqbj>;
        /**
         * Add the given account to the sender's subs.
         *
         * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated
         * to the sender.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a registered
         * sub identity of `sub`.
         */
        "add_sub": {
            "sub": SS58String;
            "data": IdentityData;
        };
        /**
         * Alter the associated name of the given sub-account.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a registered
         * sub identity of `sub`.
         */
        "rename_sub": {
            "sub": SS58String;
            "data": IdentityData;
        };
        /**
         * Remove the given account from the sender's subs.
         *
         * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated
         * to the sender.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a registered
         * sub identity of `sub`.
         */
        "remove_sub": {
            "sub": SS58String;
        };
        /**
         * Remove the sender as a sub-account.
         *
         * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated
         * to the sender (*not* the original depositor).
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have a registered
         * super-identity.
         *
         * NOTE: This should not normally be used, but is provided in the case that the non-
         * controller of an account is maliciously registered as a sub-account.
         */
        "quit_sub": undefined;
        /**
         * Add an `AccountId` with permission to grant usernames with a given `suffix` appended.
         *
         * The authority can grant up to `allocation` usernames. To top up their allocation, they
         * should just issue (or request via governance) a new `add_username_authority` call.
         */
        "add_username_authority": {
            "authority": SS58String;
            "suffix": Binary;
            "allocation": number;
        };
        /**
         * Remove `authority` from the username authorities.
         */
        "remove_username_authority": Anonymize<I2rg5btjrsqec0>;
        /**
         * Set the username for `who`. Must be called by a username authority.
         *
         * The authority must have an `allocation`. Users can either pre-sign their usernames or
         * accept them later.
         *
         * Usernames must:
         * - Only contain lowercase ASCII characters or digits.
         * - When combined with the suffix of the issuing authority be _less than_ the
         * `MaxUsernameLength`.
         */
        "set_username_for": {
            "who": SS58String;
            "username": Binary;
            "signature"?: (MultiSignature) | undefined;
        };
        /**
         * Accept a given username that an `authority` granted. The call must include the full
         * username, as in `username.suffix`.
         */
        "accept_username": {
            "username": Binary;
        };
        /**
         * Remove an expired username approval. The username was approved by an authority but never
         * accepted by the user and must now be beyond its expiration. The call must include the
         * full username, as in `username.suffix`.
         */
        "remove_expired_approval": {
            "username": Binary;
        };
        /**
         * Set a given username as the primary. The username should include the suffix.
         */
        "set_primary_username": {
            "username": Binary;
        };
        /**
         * Remove a username that corresponds to an account with no identity. Exists when a user
         * gets a username but then calls `clear_identity`.
         */
        "remove_dangling_username": {
            "username": Binary;
        };
    }>;
    "Democracy": Enum<{
        /**
         * Propose a sensitive action to be taken.
         *
         * The dispatch origin of this call must be _Signed_ and the sender must
         * have funds to cover the deposit.
         *
         * - `proposal_hash`: The hash of the proposal preimage.
         * - `value`: The amount of deposit (must be at least `MinimumDeposit`).
         *
         * Emits `Proposed`.
         */
        "propose": {
            "proposal": PreimagesBounded;
            "value": bigint;
        };
        /**
         * Signals agreement with a particular proposal.
         *
         * The dispatch origin of this call must be _Signed_ and the sender
         * must have funds to cover the deposit, equal to the original deposit.
         *
         * - `proposal`: The index of the proposal to second.
         */
        "second": {
            "proposal": number;
        };
        /**
         * Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal;
         * otherwise it is a vote to keep the status quo.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `ref_index`: The index of the referendum to vote for.
         * - `vote`: The vote configuration.
         */
        "vote": {
            "ref_index": number;
            "vote": Anonymize<Ia9hdots6g53fs>;
        };
        /**
         * Schedule an emergency cancellation of a referendum. Cannot happen twice to the same
         * referendum.
         *
         * The dispatch origin of this call must be `CancellationOrigin`.
         *
         * -`ref_index`: The index of the referendum to cancel.
         *
         * Weight: `O(1)`.
         */
        "emergency_cancel": Anonymize<Ied9mja4bq7va8>;
        /**
         * Schedule a referendum to be tabled once it is legal to schedule an external
         * referendum.
         *
         * The dispatch origin of this call must be `ExternalOrigin`.
         *
         * - `proposal_hash`: The preimage hash of the proposal.
         */
        "external_propose": {
            "proposal": PreimagesBounded;
        };
        /**
         * Schedule a majority-carries referendum to be tabled next once it is legal to schedule
         * an external referendum.
         *
         * The dispatch of this call must be `ExternalMajorityOrigin`.
         *
         * - `proposal_hash`: The preimage hash of the proposal.
         *
         * Unlike `external_propose`, blacklisting has no effect on this and it may replace a
         * pre-scheduled `external_propose` call.
         *
         * Weight: `O(1)`
         */
        "external_propose_majority": {
            "proposal": PreimagesBounded;
        };
        /**
         * Schedule a negative-turnout-bias referendum to be tabled next once it is legal to
         * schedule an external referendum.
         *
         * The dispatch of this call must be `ExternalDefaultOrigin`.
         *
         * - `proposal_hash`: The preimage hash of the proposal.
         *
         * Unlike `external_propose`, blacklisting has no effect on this and it may replace a
         * pre-scheduled `external_propose` call.
         *
         * Weight: `O(1)`
         */
        "external_propose_default": {
            "proposal": PreimagesBounded;
        };
        /**
         * Schedule the currently externally-proposed majority-carries referendum to be tabled
         * immediately. If there is no externally-proposed referendum currently, or if there is one
         * but it is not a majority-carries referendum then it fails.
         *
         * The dispatch of this call must be `FastTrackOrigin`.
         *
         * - `proposal_hash`: The hash of the current external proposal.
         * - `voting_period`: The period that is allowed for voting on this proposal. Increased to
         * Must be always greater than zero.
         * For `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`.
         * - `delay`: The number of block after voting has ended in approval and this should be
         * enacted. This doesn't have a minimum amount.
         *
         * Emits `Started`.
         *
         * Weight: `O(1)`
         */
        "fast_track": {
            "proposal_hash": FixedSizeBinary<32>;
            "voting_period": number;
            "delay": number;
        };
        /**
         * Veto and blacklist the external proposal hash.
         *
         * The dispatch origin of this call must be `VetoOrigin`.
         *
         * - `proposal_hash`: The preimage hash of the proposal to veto and blacklist.
         *
         * Emits `Vetoed`.
         *
         * Weight: `O(V + log(V))` where V is number of `existing vetoers`
         */
        "veto_external": Anonymize<I2ev73t79f46tb>;
        /**
         * Remove a referendum.
         *
         * The dispatch origin of this call must be _Root_.
         *
         * - `ref_index`: The index of the referendum to cancel.
         *
         * # Weight: `O(1)`.
         */
        "cancel_referendum": Anonymize<Ied9mja4bq7va8>;
        /**
         * Delegate the voting power (with some given conviction) of the sending account.
         *
         * The balance delegated is locked for as long as it's delegated, and thereafter for the
         * time appropriate for the conviction's lock period.
         *
         * The dispatch origin of this call must be _Signed_, and the signing account must either:
         * - be delegating already; or
         * - have no voting activity (if there is, then it will need to be removed/consolidated
         * through `reap_vote` or `unvote`).
         *
         * - `to`: The account whose voting the `target` account's voting power will follow.
         * - `conviction`: The conviction that will be attached to the delegated votes. When the
         * account is undelegated, the funds will be locked for the corresponding period.
         * - `balance`: The amount of the account's balance to be used in delegating. This must not
         * be more than the account's current balance.
         *
         * Emits `Delegated`.
         *
         * Weight: `O(R)` where R is the number of referendums the voter delegating to has
         * voted on. Weight is charged as if maximum votes.
         */
        "delegate": {
            "to": SS58String;
            "conviction": VotingConviction;
            "balance": bigint;
        };
        /**
         * Undelegate the voting power of the sending account.
         *
         * Tokens may be unlocked following once an amount of time consistent with the lock period
         * of the conviction with which the delegation was issued.
         *
         * The dispatch origin of this call must be _Signed_ and the signing account must be
         * currently delegating.
         *
         * Emits `Undelegated`.
         *
         * Weight: `O(R)` where R is the number of referendums the voter delegating to has
         * voted on. Weight is charged as if maximum votes.
         */
        "undelegate": undefined;
        /**
         * Clears all public proposals.
         *
         * The dispatch origin of this call must be _Root_.
         *
         * Weight: `O(1)`.
         */
        "clear_public_proposals": undefined;
        /**
         * Unlock tokens that have an expired lock.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `target`: The account to remove the lock on.
         *
         * Weight: `O(R)` with R number of vote of target.
         */
        "unlock": Anonymize<I14p0q0qs0fqbj>;
        /**
         * Remove a vote for a referendum.
         *
         * If:
         * - the referendum was cancelled, or
         * - the referendum is ongoing, or
         * - the referendum has ended such that
         * - the vote of the account was in opposition to the result; or
         * - there was no conviction to the account's vote; or
         * - the account made a split vote
         * ...then the vote is removed cleanly and a following call to `unlock` may result in more
         * funds being available.
         *
         * If, however, the referendum has ended and:
         * - it finished corresponding to the vote of the account, and
         * - the account made a standard vote with conviction, and
         * - the lock period of the conviction is not over
         * ...then the lock will be aggregated into the overall account's lock, which may involve
         * *overlocking* (where the two locks are combined into a single lock that is the maximum
         * of both the amount locked and the time is it locked for).
         *
         * The dispatch origin of this call must be _Signed_, and the signer must have a vote
         * registered for referendum `index`.
         *
         * - `index`: The index of referendum of the vote to be removed.
         *
         * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.
         * Weight is calculated for the maximum number of vote.
         */
        "remove_vote": Anonymize<I666bl2fqjkejo>;
        /**
         * Remove a vote for a referendum.
         *
         * If the `target` is equal to the signer, then this function is exactly equivalent to
         * `remove_vote`. If not equal to the signer, then the vote must have expired,
         * either because the referendum was cancelled, because the voter lost the referendum or
         * because the conviction period is over.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `target`: The account of the vote to be removed; this account must have voted for
         * referendum `index`.
         * - `index`: The index of referendum of the vote to be removed.
         *
         * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.
         * Weight is calculated for the maximum number of vote.
         */
        "remove_other_vote": {
            "target": SS58String;
            "index": number;
        };
        /**
         * Permanently place a proposal into the blacklist. This prevents it from ever being
         * proposed again.
         *
         * If called on a queued public or external proposal, then this will result in it being
         * removed. If the `ref_index` supplied is an active referendum with the proposal hash,
         * then it will be cancelled.
         *
         * The dispatch origin of this call must be `BlacklistOrigin`.
         *
         * - `proposal_hash`: The proposal hash to blacklist permanently.
         * - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be
         * cancelled.
         *
         * Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a
         * reasonable value).
         */
        "blacklist": {
            "proposal_hash": FixedSizeBinary<32>;
            "maybe_ref_index"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Remove a proposal.
         *
         * The dispatch origin of this call must be `CancelProposalOrigin`.
         *
         * - `prop_index`: The index of the proposal to cancel.
         *
         * Weight: `O(p)` where `p = PublicProps::<T>::decode_len()`
         */
        "cancel_proposal": Anonymize<I9mnj4k4u8ls2c>;
        /**
         * Set or clear a metadata of a proposal or a referendum.
         *
         * Parameters:
         * - `origin`: Must correspond to the `MetadataOwner`.
         * - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`
         * threshold.
         * - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`
         * threshold.
         * - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`
         * threshold.
         * - `Signed` by a creator for a public proposal.
         * - `Signed` to clear a metadata for a finished referendum.
         * - `Root` to set a metadata for an ongoing referendum.
         * - `owner`: an identifier of a metadata owner.
         * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata.
         */
        "set_metadata": {
            "owner": Anonymize<I2itl2k1j2q8nf>;
            "maybe_hash"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * Allow to force remove a vote for a referendum.
         *
         * Same as `remove_other_vote`, except the scope is overriden by forced flag.
         * The dispatch origin of this call must be `VoteRemovalOrigin`.
         *
         * Only allowed if the referendum is finished.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `target`: The account of the vote to be removed; this account must have voted for
         * referendum `index`.
         * - `index`: The index of referendum of the vote to be removed.
         *
         * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.
         * Weight is calculated for the maximum number of vote.
         */
        "force_remove_vote": {
            "target": SS58String;
            "index": number;
        };
    }>;
    "Elections": Enum<{
        /**
         * Vote for a set of candidates for the upcoming round of election. This can be called to
         * set the initial votes, or update already existing votes.
         *
         * Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is
         * reserved. The deposit is based on the number of votes and can be updated over time.
         *
         * The `votes` should:
         * - not be empty.
         * - be less than the number of possible candidates. Note that all current members and
         * runners-up are also automatically candidates for the next round.
         *
         * If `value` is more than `who`'s free balance, then the maximum of the two is used.
         *
         * The dispatch origin of this call must be signed.
         *
         * ### Warning
         *
         * It is the responsibility of the caller to **NOT** place all of their balance into the
         * lock and keep some for further operations.
         */
        "vote": {
            "votes": Anonymize<Ia2lhg7l2hilo3>;
            "value": bigint;
        };
        /**
         * Remove `origin` as a voter.
         *
         * This removes the lock and returns the deposit.
         *
         * The dispatch origin of this call must be signed and be a voter.
         */
        "remove_voter": undefined;
        /**
         * Submit oneself for candidacy. A fixed amount of deposit is recorded.
         *
         * All candidates are wiped at the end of the term. They either become a member/runner-up,
         * or leave the system while their deposit is slashed.
         *
         * The dispatch origin of this call must be signed.
         *
         * ### Warning
         *
         * Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`]
         * to get their deposit back. Losing the spot in an election will always lead to a slash.
         *
         * The number of current candidates must be provided as witness data.
         * ## Complexity
         * O(C + log(C)) where C is candidate_count.
         */
        "submit_candidacy": {
            "candidate_count": number;
        };
        /**
         * Renounce one's intention to be a candidate for the next election round. 3 potential
         * outcomes exist:
         *
         * - `origin` is a candidate and not elected in any set. In this case, the deposit is
         * unreserved, returned and origin is removed as a candidate.
         * - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and
         * origin is removed as a runner-up.
         * - `origin` is a current member. In this case, the deposit is unreserved and origin is
         * removed as a member, consequently not being a candidate for the next round anymore.
         * Similar to [`remove_member`](Self::remove_member), if replacement runners exists, they
         * are immediately used. If the prime is renouncing, then no prime will exist until the
         * next round.
         *
         * The dispatch origin of this call must be signed, and have one of the above roles.
         * The type of renouncing must be provided as witness data.
         *
         * ## Complexity
         * - Renouncing::Candidate(count): O(count + log(count))
         * - Renouncing::Member: O(1)
         * - Renouncing::RunnerUp: O(1)
         */
        "renounce_candidacy": {
            "renouncing": Enum<{
                "Member": undefined;
                "RunnerUp": undefined;
                "Candidate": number;
            }>;
        };
        /**
         * Remove a particular member from the set. This is effective immediately and the bond of
         * the outgoing member is slashed.
         *
         * If a runner-up is available, then the best runner-up will be removed and replaces the
         * outgoing member. Otherwise, if `rerun_election` is `true`, a new phragmen election is
         * started, else, nothing happens.
         *
         * If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,
         * it is returned.
         *
         * The dispatch origin of this call must be root.
         *
         * Note that this does not affect the designated block number of the next election.
         *
         * ## Complexity
         * - Check details of remove_and_replace_member() and do_phragmen().
         */
        "remove_member": {
            "who": SS58String;
            "slash_bond": boolean;
            "rerun_election": boolean;
        };
        /**
         * Clean all voters who are defunct (i.e. they do not serve any purpose at all). The
         * deposit of the removed voters are returned.
         *
         * This is an root function to be used only for cleaning the state.
         *
         * The dispatch origin of this call must be root.
         *
         * ## Complexity
         * - Check is_defunct_voter() details.
         */
        "clean_defunct_voters": {
            "num_voters": number;
            "num_defunct": number;
        };
    }>;
    "Council": Enum<{
        /**
         * Set the collective's membership.
         *
         * - `new_members`: The new member list. Be nice to the chain and provide it sorted.
         * - `prime`: The prime member whose vote sets the default.
         * - `old_count`: The upper bound for the previous number of members in storage. Used for
         * weight estimation.
         *
         * The dispatch of this call must be `SetMembersOrigin`.
         *
         * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but
         * the weight estimations rely on it to estimate dispatchable weight.
         *
         * # WARNING:
         *
         * The `pallet-collective` can also be managed by logic outside of the pallet through the
         * implementation of the trait [`ChangeMembers`].
         * Any call to `set_members` must be careful that the member set doesn't get out of sync
         * with other logic managing the member set.
         *
         * ## Complexity:
         * - `O(MP + N)` where:
         * - `M` old-members-count (code- and governance-bounded)
         * - `N` new-members-count (code- and governance-bounded)
         * - `P` proposals-count (code-bounded)
         */
        "set_members": {
            "new_members": Anonymize<Ia2lhg7l2hilo3>;
            "prime"?: Anonymize<Ihfphjolmsqq1>;
            "old_count": number;
        };
        /**
         * Dispatch a proposal from a member using the `Member` origin.
         *
         * Origin must be a member of the collective.
         *
         * ## Complexity:
         * - `O(B + M + P)` where:
         * - `B` is `proposal` size in bytes (length-fee-bounded)
         * - `M` members-count (code-bounded)
         * - `P` complexity of dispatching `proposal`
         */
        "execute": {
            "proposal": TxCallData;
            "length_bound": number;
        };
        /**
         * Add a new proposal to either be voted on or executed directly.
         *
         * Requires the sender to be member.
         *
         * `threshold` determines whether `proposal` is executed directly (`threshold < 2`)
         * or put up for voting.
         *
         * ## Complexity
         * - `O(B + M + P1)` or `O(B + M + P2)` where:
         * - `B` is `proposal` size in bytes (length-fee-bounded)
         * - `M` is members-count (code- and governance-bounded)
         * - branching is influenced by `threshold` where:
         * - `P1` is proposal execution complexity (`threshold < 2`)
         * - `P2` is proposals-count (code-bounded) (`threshold >= 2`)
         */
        "propose": {
            "threshold": number;
            "proposal": TxCallData;
            "length_bound": number;
        };
        /**
         * Add an aye or nay vote for the sender to the given proposal.
         *
         * Requires the sender to be a member.
         *
         * Transaction fees will be waived if the member is voting on any particular proposal
         * for the first time and the call is successful. Subsequent vote changes will charge a
         * fee.
         * ## Complexity
         * - `O(M)` where `M` is members-count (code- and governance-bounded)
         */
        "vote": {
            "proposal": FixedSizeBinary<32>;
            "index": number;
            "approve": boolean;
        };
        /**
         * Disapprove a proposal, close, and remove it from the system, regardless of its current
         * state.
         *
         * Must be called by the Root origin.
         *
         * Parameters:
         * * `proposal_hash`: The hash of the proposal that should be disapproved.
         *
         * ## Complexity
         * O(P) where P is the number of max proposals
         */
        "disapprove_proposal": Anonymize<I2ev73t79f46tb>;
        /**
         * Close a vote that is either approved, disapproved or whose voting period has ended.
         *
         * May be called by any signed account in order to finish voting and close the proposal.
         *
         * If called before the end of the voting period it will only close the vote if it is
         * has enough votes to be approved or disapproved.
         *
         * If called after the end of the voting period abstentions are counted as rejections
         * unless there is a prime member set and the prime member cast an approval.
         *
         * If the close operation completes successfully with disapproval, the transaction fee will
         * be waived. Otherwise execution of the approved operation will be charged to the caller.
         *
         * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed
         * proposal.
         * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via
         * `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.
         *
         * ## Complexity
         * - `O(B + M + P1 + P2)` where:
         * - `B` is `proposal` size in bytes (length-fee-bounded)
         * - `M` is members-count (code- and governance-bounded)
         * - `P1` is the complexity of `proposal` preimage.
         * - `P2` is proposal-count (code-bounded)
         */
        "close": {
            "proposal_hash": FixedSizeBinary<32>;
            "index": number;
            "proposal_weight_bound": Anonymize<I4q39t5hn830vp>;
            "length_bound": number;
        };
    }>;
    "TechnicalCommittee": Enum<{
        /**
         * Set the collective's membership.
         *
         * - `new_members`: The new member list. Be nice to the chain and provide it sorted.
         * - `prime`: The prime member whose vote sets the default.
         * - `old_count`: The upper bound for the previous number of members in storage. Used for
         * weight estimation.
         *
         * The dispatch of this call must be `SetMembersOrigin`.
         *
         * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but
         * the weight estimations rely on it to estimate dispatchable weight.
         *
         * # WARNING:
         *
         * The `pallet-collective` can also be managed by logic outside of the pallet through the
         * implementation of the trait [`ChangeMembers`].
         * Any call to `set_members` must be careful that the member set doesn't get out of sync
         * with other logic managing the member set.
         *
         * ## Complexity:
         * - `O(MP + N)` where:
         * - `M` old-members-count (code- and governance-bounded)
         * - `N` new-members-count (code- and governance-bounded)
         * - `P` proposals-count (code-bounded)
         */
        "set_members": {
            "new_members": Anonymize<Ia2lhg7l2hilo3>;
            "prime"?: Anonymize<Ihfphjolmsqq1>;
            "old_count": number;
        };
        /**
         * Dispatch a proposal from a member using the `Member` origin.
         *
         * Origin must be a member of the collective.
         *
         * ## Complexity:
         * - `O(B + M + P)` where:
         * - `B` is `proposal` size in bytes (length-fee-bounded)
         * - `M` members-count (code-bounded)
         * - `P` complexity of dispatching `proposal`
         */
        "execute": {
            "proposal": TxCallData;
            "length_bound": number;
        };
        /**
         * Add a new proposal to either be voted on or executed directly.
         *
         * Requires the sender to be member.
         *
         * `threshold` determines whether `proposal` is executed directly (`threshold < 2`)
         * or put up for voting.
         *
         * ## Complexity
         * - `O(B + M + P1)` or `O(B + M + P2)` where:
         * - `B` is `proposal` size in bytes (length-fee-bounded)
         * - `M` is members-count (code- and governance-bounded)
         * - branching is influenced by `threshold` where:
         * - `P1` is proposal execution complexity (`threshold < 2`)
         * - `P2` is proposals-count (code-bounded) (`threshold >= 2`)
         */
        "propose": {
            "threshold": number;
            "proposal": TxCallData;
            "length_bound": number;
        };
        /**
         * Add an aye or nay vote for the sender to the given proposal.
         *
         * Requires the sender to be a member.
         *
         * Transaction fees will be waived if the member is voting on any particular proposal
         * for the first time and the call is successful. Subsequent vote changes will charge a
         * fee.
         * ## Complexity
         * - `O(M)` where `M` is members-count (code- and governance-bounded)
         */
        "vote": {
            "proposal": FixedSizeBinary<32>;
            "index": number;
            "approve": boolean;
        };
        /**
         * Disapprove a proposal, close, and remove it from the system, regardless of its current
         * state.
         *
         * Must be called by the Root origin.
         *
         * Parameters:
         * * `proposal_hash`: The hash of the proposal that should be disapproved.
         *
         * ## Complexity
         * O(P) where P is the number of max proposals
         */
        "disapprove_proposal": Anonymize<I2ev73t79f46tb>;
        /**
         * Close a vote that is either approved, disapproved or whose voting period has ended.
         *
         * May be called by any signed account in order to finish voting and close the proposal.
         *
         * If called before the end of the voting period it will only close the vote if it is
         * has enough votes to be approved or disapproved.
         *
         * If called after the end of the voting period abstentions are counted as rejections
         * unless there is a prime member set and the prime member cast an approval.
         *
         * If the close operation completes successfully with disapproval, the transaction fee will
         * be waived. Otherwise execution of the approved operation will be charged to the caller.
         *
         * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed
         * proposal.
         * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via
         * `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.
         *
         * ## Complexity
         * - `O(B + M + P1 + P2)` where:
         * - `B` is `proposal` size in bytes (length-fee-bounded)
         * - `M` is members-count (code- and governance-bounded)
         * - `P1` is the complexity of `proposal` preimage.
         * - `P2` is proposal-count (code-bounded)
         */
        "close": {
            "proposal_hash": FixedSizeBinary<32>;
            "index": number;
            "proposal_weight_bound": Anonymize<I4q39t5hn830vp>;
            "length_bound": number;
        };
    }>;
    "Tips": Enum<{
        /**
         * Report something `reason` that deserves a tip and claim any eventual the finder's fee.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as
         * `DataDepositPerByte` for each byte in `reason`.
         *
         * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be
         * a UTF-8-encoded URL.
         * - `who`: The account which should be credited for the tip.
         *
         * Emits `NewTip` if successful.
         *
         * ## Complexity
         * - `O(R)` where `R` length of `reason`.
         * - encoding and hashing of 'reason'
         */
        "report_awesome": {
            "reason": Binary;
            "who": SS58String;
        };
        /**
         * Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.
         *
         * If successful, the original deposit will be unreserved.
         *
         * The dispatch origin for this call must be _Signed_ and the tip identified by `hash`
         * must have been reported by the signing account through `report_awesome` (and not
         * through `tip_new`).
         *
         * - `hash`: The identity of the open tip for which a tip value is declared. This is formed
         * as the hash of the tuple of the original tip `reason` and the beneficiary account ID.
         *
         * Emits `TipRetracted` if successful.
         *
         * ## Complexity
         * - `O(1)`
         * - Depends on the length of `T::Hash` which is fixed.
         */
        "retract_tip": Anonymize<I1jm8m1rh9e20v>;
        /**
         * Give a tip for something new; no finder's fee will be taken.
         *
         * The dispatch origin for this call must be _Signed_ and the signing account must be a
         * member of the `Tippers` set.
         *
         * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be
         * a UTF-8-encoded URL.
         * - `who`: The account which should be credited for the tip.
         * - `tip_value`: The amount of tip that the sender would like to give. The median tip
         * value of active tippers will be given to the `who`.
         *
         * Emits `NewTip` if successful.
         *
         * ## Complexity
         * - `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.
         * - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by
         * `ContainsLengthBound`. The actual cost depends on the implementation of
         * `T::Tippers`.
         * - `O(R)`: hashing and encoding of reason of length `R`
         */
        "tip_new": {
            "reason": Binary;
            "who": SS58String;
            "tip_value": bigint;
        };
        /**
         * Declare a tip value for an already-open tip.
         *
         * The dispatch origin for this call must be _Signed_ and the signing account must be a
         * member of the `Tippers` set.
         *
         * - `hash`: The identity of the open tip for which a tip value is declared. This is formed
         * as the hash of the tuple of the hash of the original tip `reason` and the beneficiary
         * account ID.
         * - `tip_value`: The amount of tip that the sender would like to give. The median tip
         * value of active tippers will be given to the `who`.
         *
         * Emits `TipClosing` if the threshold of tippers has been reached and the countdown period
         * has started.
         *
         * ## Complexity
         * - `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert
         * tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`.
         * The actual cost depends on the implementation of `T::Tippers`.
         *
         * Actually weight could be lower as it depends on how many tips are in `OpenTip` but it
         * is weighted as if almost full i.e of length `T-1`.
         */
        "tip": {
            "hash": FixedSizeBinary<32>;
            "tip_value": bigint;
        };
        /**
         * Close and payout a tip.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * The tip identified by `hash` must have finished its countdown period.
         *
         * - `hash`: The identity of the open tip for which a tip value is declared. This is formed
         * as the hash of the tuple of the original tip `reason` and the beneficiary account ID.
         *
         * ## Complexity
         * - : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`
         * is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on
         * the implementation of `T::Tippers`.
         */
        "close_tip": Anonymize<I1jm8m1rh9e20v>;
        /**
         * Remove and slash an already-open tip.
         *
         * May only be called from `T::RejectOrigin`.
         *
         * As a result, the finder is slashed and the deposits are lost.
         *
         * Emits `TipSlashed` if successful.
         *
         * ## Complexity
         * - O(1).
         */
        "slash_tip": Anonymize<I1jm8m1rh9e20v>;
    }>;
    "Proxy": Enum<{
        /**
         * Dispatch the given `call` from an account that the sender is authorised for through
         * `add_proxy`.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `real`: The account that the proxy will make a call on behalf of.
         * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.
         * - `call`: The call to be made by the `real` account.
         */
        "proxy": {
            "real": SS58String;
            "force_proxy_type"?: Anonymize<Idnl0r1a4nmeek>;
            "call": TxCallData;
        };
        /**
         * Register a proxy account for the sender that is able to make calls on its behalf.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `proxy`: The account that the `caller` would like to make a proxy.
         * - `proxy_type`: The permissions allowed for this proxy account.
         * - `delay`: The announcement period required of the initial proxy. Will generally be
         * zero.
         */
        "add_proxy": {
            "delegate": SS58String;
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "delay": number;
        };
        /**
         * Unregister a proxy account for the sender.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `proxy`: The account that the `caller` would like to remove as a proxy.
         * - `proxy_type`: The permissions currently enabled for the removed proxy account.
         */
        "remove_proxy": {
            "delegate": SS58String;
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "delay": number;
        };
        /**
         * Unregister all proxy accounts for the sender.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * WARNING: This may be called on accounts created by `pure`, however if done, then
         * the unreserved fees will be inaccessible. **All access to this account will be lost.**
         */
        "remove_proxies": undefined;
        /**
         * Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and
         * initialize it with a proxy of `proxy_type` for `origin` sender.
         *
         * Requires a `Signed` origin.
         *
         * - `proxy_type`: The type of the proxy that the sender will be registered as over the
         * new account. This will almost always be the most permissive `ProxyType` possible to
         * allow for maximum flexibility.
         * - `index`: A disambiguation index, in case this is called multiple times in the same
         * transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just
         * want to use `0`.
         * - `delay`: The announcement period required of the initial proxy. Will generally be
         * zero.
         *
         * Fails with `Duplicate` if this has already been called in this transaction, from the
         * same sender, with the same parameters.
         *
         * Fails if there are insufficient funds to pay for deposit.
         */
        "create_pure": {
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "delay": number;
            "index": number;
        };
        /**
         * Removes a previously spawned pure proxy.
         *
         * WARNING: **All access to this account will be lost.** Any funds held in it will be
         * inaccessible.
         *
         * Requires a `Signed` origin, and the sender account must have been created by a call to
         * `pure` with corresponding parameters.
         *
         * - `spawner`: The account that originally called `pure` to create this account.
         * - `index`: The disambiguation index originally passed to `pure`. Probably `0`.
         * - `proxy_type`: The proxy type originally passed to `pure`.
         * - `height`: The height of the chain when the call to `pure` was processed.
         * - `ext_index`: The extrinsic index in which the call to `pure` was processed.
         *
         * Fails with `NoPermission` in case the caller is not a previously created pure
         * account whose `pure` call has corresponding parameters.
         */
        "kill_pure": {
            "spawner": SS58String;
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "index": number;
            "height": number;
            "ext_index": number;
        };
        /**
         * Publish the hash of a proxy-call that will be made in the future.
         *
         * This must be called some number of blocks before the corresponding `proxy` is attempted
         * if the delay associated with the proxy relationship is greater than zero.
         *
         * No more than `MaxPending` announcements may be made at any one time.
         *
         * This will take a deposit of `AnnouncementDepositFactor` as well as
         * `AnnouncementDepositBase` if there are no other pending announcements.
         *
         * The dispatch origin for this call must be _Signed_ and a proxy of `real`.
         *
         * Parameters:
         * - `real`: The account that the proxy will make a call on behalf of.
         * - `call_hash`: The hash of the call to be made by the `real` account.
         */
        "announce": {
            "real": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
        /**
         * Remove a given announcement.
         *
         * May be called by a proxy account to remove a call they previously announced and return
         * the deposit.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `real`: The account that the proxy will make a call on behalf of.
         * - `call_hash`: The hash of the call to be made by the `real` account.
         */
        "remove_announcement": {
            "real": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
        /**
         * Remove the given announcement of a delegate.
         *
         * May be called by a target (proxied) account to remove a call that one of their delegates
         * (`delegate`) has announced they want to execute. The deposit is returned.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `delegate`: The account that previously announced the call.
         * - `call_hash`: The hash of the call to be made.
         */
        "reject_announcement": {
            "delegate": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
        /**
         * Dispatch the given `call` from an account that the sender is authorized for through
         * `add_proxy`.
         *
         * Removes any corresponding announcement(s).
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `real`: The account that the proxy will make a call on behalf of.
         * - `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.
         * - `call`: The call to be made by the `real` account.
         */
        "proxy_announced": {
            "delegate": SS58String;
            "real": SS58String;
            "force_proxy_type"?: Anonymize<Idnl0r1a4nmeek>;
            "call": TxCallData;
        };
    }>;
    "Multisig": Enum<{
        /**
         * Immediately dispatch a multi-signature call using a single approval from the caller.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `other_signatories`: The accounts (other than the sender) who are part of the
         * multi-signature, but do not participate in the approval process.
         * - `call`: The call to be executed.
         *
         * Result is equivalent to the dispatched result.
         *
         * ## Complexity
         * O(Z + C) where Z is the length of the call and C its execution weight.
         */
        "as_multi_threshold_1": {
            "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
            "call": TxCallData;
        };
        /**
         * Register approval for a dispatch to be made from a deterministic composite account if
         * approved by a total of `threshold - 1` of `other_signatories`.
         *
         * If there are enough, then dispatch the call.
         *
         * Payment: `DepositBase` will be reserved if this is the first approval, plus
         * `threshold` times `DepositFactor`. It is returned once this dispatch happens or
         * is cancelled.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `threshold`: The total number of approvals for this dispatch before it is executed.
         * - `other_signatories`: The accounts (other than the sender) who can approve this
         * dispatch. May not be empty.
         * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is
         * not the first approval, then it must be `Some`, with the timepoint (block number and
         * transaction index) of the first approval transaction.
         * - `call`: The call to be executed.
         *
         * NOTE: Unless this is the final approval, you will generally want to use
         * `approve_as_multi` instead, since it only requires a hash of the call.
         *
         * Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise
         * on success, result is `Ok` and the result from the interior call, if it was executed,
         * may be found in the deposited `MultisigExecuted` event.
         *
         * ## Complexity
         * - `O(S + Z + Call)`.
         * - Up to one balance-reserve or unreserve operation.
         * - One passthrough operation, one insert, both `O(S)` where `S` is the number of
         * signatories. `S` is capped by `MaxSignatories`, with weight being proportional.
         * - One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.
         * - One encode & hash, both of complexity `O(S)`.
         * - Up to one binary search and insert (`O(logS + S)`).
         * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.
         * - One event.
         * - The weight of the `call`.
         * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit
         * taken for its lifetime of `DepositBase + threshold * DepositFactor`.
         */
        "as_multi": {
            "threshold": number;
            "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
            "maybe_timepoint"?: Anonymize<I95jfd8j5cr5eh>;
            "call": TxCallData;
            "max_weight": Anonymize<I4q39t5hn830vp>;
        };
        /**
         * Register approval for a dispatch to be made from a deterministic composite account if
         * approved by a total of `threshold - 1` of `other_signatories`.
         *
         * Payment: `DepositBase` will be reserved if this is the first approval, plus
         * `threshold` times `DepositFactor`. It is returned once this dispatch happens or
         * is cancelled.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `threshold`: The total number of approvals for this dispatch before it is executed.
         * - `other_signatories`: The accounts (other than the sender) who can approve this
         * dispatch. May not be empty.
         * - `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is
         * not the first approval, then it must be `Some`, with the timepoint (block number and
         * transaction index) of the first approval transaction.
         * - `call_hash`: The hash of the call to be executed.
         *
         * NOTE: If this is the final approval, you will want to use `as_multi` instead.
         *
         * ## Complexity
         * - `O(S)`.
         * - Up to one balance-reserve or unreserve operation.
         * - One passthrough operation, one insert, both `O(S)` where `S` is the number of
         * signatories. `S` is capped by `MaxSignatories`, with weight being proportional.
         * - One encode & hash, both of complexity `O(S)`.
         * - Up to one binary search and insert (`O(logS + S)`).
         * - I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.
         * - One event.
         * - Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit
         * taken for its lifetime of `DepositBase + threshold * DepositFactor`.
         */
        "approve_as_multi": {
            "threshold": number;
            "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
            "maybe_timepoint"?: Anonymize<I95jfd8j5cr5eh>;
            "call_hash": FixedSizeBinary<32>;
            "max_weight": Anonymize<I4q39t5hn830vp>;
        };
        /**
         * Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously
         * for this operation will be unreserved on success.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `threshold`: The total number of approvals for this dispatch before it is executed.
         * - `other_signatories`: The accounts (other than the sender) who can approve this
         * dispatch. May not be empty.
         * - `timepoint`: The timepoint (block number and transaction index) of the first approval
         * transaction for this dispatch.
         * - `call_hash`: The hash of the call to be executed.
         *
         * ## Complexity
         * - `O(S)`.
         * - Up to one balance-reserve or unreserve operation.
         * - One passthrough operation, one insert, both `O(S)` where `S` is the number of
         * signatories. `S` is capped by `MaxSignatories`, with weight being proportional.
         * - One encode & hash, both of complexity `O(S)`.
         * - One event.
         * - I/O: 1 read `O(S)`, one remove.
         * - Storage: removes one item.
         */
        "cancel_as_multi": {
            "threshold": number;
            "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "call_hash": FixedSizeBinary<32>;
        };
    }>;
    "Uniques": Enum<{
        /**
         * Issue a new collection of non-fungible items from a public origin.
         *
         * This new collection has no items initially and its owner is the origin.
         *
         * The origin must conform to the configured `CreateOrigin` and have sufficient funds free.
         *
         * `ItemDeposit` funds of sender are reserved.
         *
         * Parameters:
         * - `collection`: The identifier of the new collection. This must not be currently in use.
         * - `admin`: The admin of this collection. The admin is the initial address of each
         * member of the collection's admin team.
         *
         * Emits `Created` event when successful.
         *
         * Weight: `O(1)`
         */
        "create": {
            "collection": bigint;
            "admin": SS58String;
        };
        /**
         * Issue a new collection of non-fungible items from a privileged origin.
         *
         * This new collection has no items initially.
         *
         * The origin must conform to `ForceOrigin`.
         *
         * Unlike `create`, no funds are reserved.
         *
         * - `collection`: The identifier of the new item. This must not be currently in use.
         * - `owner`: The owner of this collection of items. The owner has full superuser
         * permissions
         * over this item, but may later change and configure the permissions using
         * `transfer_ownership` and `set_team`.
         *
         * Emits `ForceCreated` event when successful.
         *
         * Weight: `O(1)`
         */
        "force_create": {
            "collection": bigint;
            "owner": SS58String;
            "free_holding": boolean;
        };
        /**
         * Destroy a collection of fungible items.
         *
         * The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the
         * owner of the `collection`.
         *
         * - `collection`: The identifier of the collection to be destroyed.
         * - `witness`: Information on the items minted in the collection. This must be
         * correct.
         *
         * Emits `Destroyed` event when successful.
         *
         * Weight: `O(n + m)` where:
         * - `n = witness.items`
         * - `m = witness.item_metadatas`
         * - `a = witness.attributes`
         */
        "destroy": {
            "collection": bigint;
            "witness": {
                "items": number;
                "item_metadatas": number;
                "attributes": number;
            };
        };
        /**
         * Mint an item of a particular collection.
         *
         * The origin must be Signed and the sender must be the Issuer of the `collection`.
         *
         * - `collection`: The collection of the item to be minted.
         * - `item`: The item value of the item to be minted.
         * - `beneficiary`: The initial owner of the minted item.
         *
         * Emits `Issued` event when successful.
         *
         * Weight: `O(1)`
         */
        "mint": Anonymize<I846j8gk91gp4q>;
        /**
         * Destroy a single item.
         *
         * Origin must be Signed and the signing account must be either:
         * - the Admin of the `collection`;
         * - the Owner of the `item`;
         *
         * - `collection`: The collection of the item to be burned.
         * - `item`: The item of the item to be burned.
         * - `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the
         * item is owned by this value.
         *
         * Emits `Burned` with the actual amount burned.
         *
         * Weight: `O(1)`
         * Modes: `check_owner.is_some()`.
         */
        "burn": {
            "collection": bigint;
            "item": bigint;
            "check_owner"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * Move an item from the sender account to another.
         *
         * This resets the approved account of the item.
         *
         * Origin must be Signed and the signing account must be either:
         * - the Admin of the `collection`;
         * - the Owner of the `item`;
         * - the approved delegate for the `item` (in this case, the approval is reset).
         *
         * Arguments:
         * - `collection`: The collection of the item to be transferred.
         * - `item`: The item of the item to be transferred.
         * - `dest`: The account to receive ownership of the item.
         *
         * Emits `Transferred`.
         *
         * Weight: `O(1)`
         */
        "transfer": {
            "collection": bigint;
            "item": bigint;
            "dest": SS58String;
        };
        /**
         * Reevaluate the deposits on some items.
         *
         * Origin must be Signed and the sender should be the Owner of the `collection`.
         *
         * - `collection`: The collection to be frozen.
         * - `items`: The items of the collection whose deposits will be reevaluated.
         *
         * NOTE: This exists as a best-effort function. Any items which are unknown or
         * in the case that the owner account does not have reservable funds to pay for a
         * deposit increase are ignored. Generally the owner isn't going to call this on items
         * whose existing deposit is less than the refreshed deposit as it would only cost them,
         * so it's of little consequence.
         *
         * It will still return an error in the case that the collection is unknown of the signer
         * is not permitted to call it.
         *
         * Weight: `O(items.len())`
         */
        "redeposit": {
            "collection": bigint;
            "items": Anonymize<Iafqnechp3omqg>;
        };
        /**
         * Disallow further unprivileged transfer of an item.
         *
         * Origin must be Signed and the sender should be the Freezer of the `collection`.
         *
         * - `collection`: The collection of the item to be frozen.
         * - `item`: The item of the item to be frozen.
         *
         * Emits `Frozen`.
         *
         * Weight: `O(1)`
         */
        "freeze": Anonymize<I92ucef7ff2o7l>;
        /**
         * Re-allow unprivileged transfer of an item.
         *
         * Origin must be Signed and the sender should be the Freezer of the `collection`.
         *
         * - `collection`: The collection of the item to be thawed.
         * - `item`: The item of the item to be thawed.
         *
         * Emits `Thawed`.
         *
         * Weight: `O(1)`
         */
        "thaw": Anonymize<I92ucef7ff2o7l>;
        /**
         * Disallow further unprivileged transfers for a whole collection.
         *
         * Origin must be Signed and the sender should be the Freezer of the `collection`.
         *
         * - `collection`: The collection to be frozen.
         *
         * Emits `CollectionFrozen`.
         *
         * Weight: `O(1)`
         */
        "freeze_collection": Anonymize<I88sl1jplq27bh>;
        /**
         * Re-allow unprivileged transfers for a whole collection.
         *
         * Origin must be Signed and the sender should be the Admin of the `collection`.
         *
         * - `collection`: The collection to be thawed.
         *
         * Emits `CollectionThawed`.
         *
         * Weight: `O(1)`
         */
        "thaw_collection": Anonymize<I88sl1jplq27bh>;
        /**
         * Change the Owner of a collection.
         *
         * Origin must be Signed and the sender should be the Owner of the `collection`.
         *
         * - `collection`: The collection whose owner should be changed.
         * - `owner`: The new Owner of this collection. They must have called
         * `set_accept_ownership` with `collection` in order for this operation to succeed.
         *
         * Emits `OwnerChanged`.
         *
         * Weight: `O(1)`
         */
        "transfer_ownership": Anonymize<I2970lus2v0qct>;
        /**
         * Change the Issuer, Admin and Freezer of a collection.
         *
         * Origin must be Signed and the sender should be the Owner of the `collection`.
         *
         * - `collection`: The collection whose team should be changed.
         * - `issuer`: The new Issuer of this collection.
         * - `admin`: The new Admin of this collection.
         * - `freezer`: The new Freezer of this collection.
         *
         * Emits `TeamChanged`.
         *
         * Weight: `O(1)`
         */
        "set_team": Anonymize<I1vsbo63n9pu69>;
        /**
         * Approve an item to be transferred by a delegated third-party account.
         *
         * The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be
         * either the owner of the `item` or the admin of the collection.
         *
         * - `collection`: The collection of the item to be approved for delegated transfer.
         * - `item`: The item of the item to be approved for delegated transfer.
         * - `delegate`: The account to delegate permission to transfer the item.
         *
         * Important NOTE: The `approved` account gets reset after each transfer.
         *
         * Emits `ApprovedTransfer` on success.
         *
         * Weight: `O(1)`
         */
        "approve_transfer": {
            "collection": bigint;
            "item": bigint;
            "delegate": SS58String;
        };
        /**
         * Cancel the prior approval for the transfer of an item by a delegate.
         *
         * Origin must be either:
         * - the `Force` origin;
         * - `Signed` with the signer being the Admin of the `collection`;
         * - `Signed` with the signer being the Owner of the `item`;
         *
         * Arguments:
         * - `collection`: The collection of the item of whose approval will be cancelled.
         * - `item`: The item of the item of whose approval will be cancelled.
         * - `maybe_check_delegate`: If `Some` will ensure that the given account is the one to
         * which permission of transfer is delegated.
         *
         * Emits `ApprovalCancelled` on success.
         *
         * Weight: `O(1)`
         */
        "cancel_approval": {
            "collection": bigint;
            "item": bigint;
            "maybe_check_delegate"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * Alter the attributes of a given item.
         *
         * Origin must be `ForceOrigin`.
         *
         * - `collection`: The identifier of the item.
         * - `owner`: The new Owner of this item.
         * - `issuer`: The new Issuer of this item.
         * - `admin`: The new Admin of this item.
         * - `freezer`: The new Freezer of this item.
         * - `free_holding`: Whether a deposit is taken for holding an item of this collection.
         * - `is_frozen`: Whether this collection is frozen except for permissioned/admin
         * instructions.
         *
         * Emits `ItemStatusChanged` with the identity of the item.
         *
         * Weight: `O(1)`
         */
        "force_item_status": {
            "collection": bigint;
            "owner": SS58String;
            "issuer": SS58String;
            "admin": SS58String;
            "freezer": SS58String;
            "free_holding": boolean;
            "is_frozen": boolean;
        };
        /**
         * Set an attribute for a collection or item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * `collection`.
         *
         * If the origin is Signed, then funds of signer are reserved according to the formula:
         * `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into
         * account any already reserved funds.
         *
         * - `collection`: The identifier of the collection whose item's metadata to set.
         * - `maybe_item`: The identifier of the item whose metadata to set.
         * - `key`: The key of the attribute.
         * - `value`: The value to which to set the attribute.
         *
         * Emits `AttributeSet`.
         *
         * Weight: `O(1)`
         */
        "set_attribute": Anonymize<I62ht2i39rtkaa>;
        /**
         * Clear an attribute for a collection or item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * `collection`.
         *
         * Any deposit is freed for the collection's owner.
         *
         * - `collection`: The identifier of the collection whose item's metadata to clear.
         * - `maybe_item`: The identifier of the item whose metadata to clear.
         * - `key`: The key of the attribute.
         *
         * Emits `AttributeCleared`.
         *
         * Weight: `O(1)`
         */
        "clear_attribute": Anonymize<Ichf8eu9t3dtc2>;
        /**
         * Set the metadata for an item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * `collection`.
         *
         * If the origin is Signed, then funds of signer are reserved according to the formula:
         * `MetadataDepositBase + DepositPerByte * data.len` taking into
         * account any already reserved funds.
         *
         * - `collection`: The identifier of the collection whose item's metadata to set.
         * - `item`: The identifier of the item whose metadata to set.
         * - `data`: The general information of this item. Limited in length by `StringLimit`.
         * - `is_frozen`: Whether the metadata should be frozen against further changes.
         *
         * Emits `MetadataSet`.
         *
         * Weight: `O(1)`
         */
        "set_metadata": Anonymize<I9e4bfe80t2int>;
        /**
         * Clear the metadata for an item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * `item`.
         *
         * Any deposit is freed for the collection's owner.
         *
         * - `collection`: The identifier of the collection whose item's metadata to clear.
         * - `item`: The identifier of the item whose metadata to clear.
         *
         * Emits `MetadataCleared`.
         *
         * Weight: `O(1)`
         */
        "clear_metadata": Anonymize<I92ucef7ff2o7l>;
        /**
         * Set the metadata for a collection.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of
         * the `collection`.
         *
         * If the origin is `Signed`, then funds of signer are reserved according to the formula:
         * `MetadataDepositBase + DepositPerByte * data.len` taking into
         * account any already reserved funds.
         *
         * - `collection`: The identifier of the item whose metadata to update.
         * - `data`: The general information of this item. Limited in length by `StringLimit`.
         * - `is_frozen`: Whether the metadata should be frozen against further changes.
         *
         * Emits `CollectionMetadataSet`.
         *
         * Weight: `O(1)`
         */
        "set_collection_metadata": Anonymize<I9oai3q0an1tbo>;
        /**
         * Clear the metadata for a collection.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of
         * the `collection`.
         *
         * Any deposit is freed for the collection's owner.
         *
         * - `collection`: The identifier of the collection whose metadata to clear.
         *
         * Emits `CollectionMetadataCleared`.
         *
         * Weight: `O(1)`
         */
        "clear_collection_metadata": Anonymize<I88sl1jplq27bh>;
        /**
         * Set (or reset) the acceptance of ownership for a particular account.
         *
         * Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a
         * provider reference.
         *
         * - `maybe_collection`: The identifier of the collection whose ownership the signer is
         * willing to accept, or if `None`, an indication that the signer is willing to accept no
         * ownership transferal.
         *
         * Emits `OwnershipAcceptanceChanged`.
         */
        "set_accept_ownership": {
            "maybe_collection"?: Anonymize<I35p85j063s0il>;
        };
        /**
         * Set the maximum amount of items a collection could have.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of
         * the `collection`.
         *
         * Note: This function can only succeed once per collection.
         *
         * - `collection`: The identifier of the collection to change.
         * - `max_supply`: The maximum amount of items a collection could have.
         *
         * Emits `CollectionMaxSupplySet` event when successful.
         */
        "set_collection_max_supply": Anonymize<Idj9k8sn80h3m6>;
        /**
         * Set (or reset) the price for an item.
         *
         * Origin must be Signed and must be the owner of the asset `item`.
         *
         * - `collection`: The collection of the item.
         * - `item`: The item to set the price for.
         * - `price`: The price for the item. Pass `None`, to reset the price.
         * - `buyer`: Restricts the buy operation to a specific account.
         *
         * Emits `ItemPriceSet` on success if the price is not `None`.
         * Emits `ItemPriceRemoved` on success if the price is `None`.
         */
        "set_price": {
            "collection": bigint;
            "item": bigint;
            "price"?: Anonymize<I35p85j063s0il>;
            "whitelisted_buyer"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * Allows to buy an item if it's up for sale.
         *
         * Origin must be Signed and must not be the owner of the `item`.
         *
         * - `collection`: The collection of the item.
         * - `item`: The item the sender wants to buy.
         * - `bid_price`: The price the sender is willing to pay.
         *
         * Emits `ItemBought` on success.
         */
        "buy_item": {
            "collection": bigint;
            "item": bigint;
            "bid_price": bigint;
        };
    }>;
    "StateTrieMigration": Enum<{
        /**
         * Control the automatic migration.
         *
         * The dispatch origin of this call must be [`Config::ControlOrigin`].
         */
        "control_auto_migration": {
            "maybe_config"?: (Anonymize<I215mkl885p4da>) | undefined;
        };
        /**
         * Continue the migration for the given `limits`.
         *
         * The dispatch origin of this call can be any signed account.
         *
         * This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,
         * Upon successful execution, the transaction fee is returned.
         *
         * The (potentially over-estimated) of the byte length of all the data read must be
         * provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing
         * that executing the current `MigrationTask` with the given `limits` will not exceed
         * `real_size_upper` bytes of read data.
         *
         * The `witness_task` is merely a helper to prevent the caller from being slashed or
         * generally trigger a migration that they do not intend. This parameter is just a message
         * from caller, saying that they believed `witness_task` was the last state of the
         * migration, and they only wish for their transaction to do anything, if this assumption
         * holds. In case `witness_task` does not match, the transaction fails.
         *
         * Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the
         * recommended way of doing this is to pass a `limit` that only bounds `count`, as the
         * `size` limit can always be overwritten.
         */
        "continue_migrate": {
            "limits": Anonymize<I215mkl885p4da>;
            "real_size_upper": number;
            "witness_task": {
                "progress_top": Anonymize<I1ufmh6d8psvik>;
                "progress_child": Anonymize<I1ufmh6d8psvik>;
                "size": number;
                "top_items": number;
                "child_items": number;
            };
        };
        /**
         * Migrate the list of top keys by iterating each of them one by one.
         *
         * This does not affect the global migration process tracker ([`MigrationProcess`]), and
         * should only be used in case any keys are leftover due to a bug.
         */
        "migrate_custom_top": {
            "keys": Anonymize<Itom7fk49o0c9>;
            "witness_size": number;
        };
        /**
         * Migrate the list of child keys by iterating each of them one by one.
         *
         * All of the given child keys must be present under one `child_root`.
         *
         * This does not affect the global migration process tracker ([`MigrationProcess`]), and
         * should only be used in case any keys are leftover due to a bug.
         */
        "migrate_custom_child": {
            "root": Binary;
            "child_keys": Anonymize<Itom7fk49o0c9>;
            "total_size": number;
        };
        /**
         * Set the maximum limit of the signed migration.
         */
        "set_signed_max_limits": {
            "limits": Anonymize<I215mkl885p4da>;
        };
        /**
         * Forcefully set the progress the running migration.
         *
         * This is only useful in one case: the next key to migrate is too big to be migrated with
         * a signed account, in a parachain context, and we simply want to skip it. A reasonable
         * example of this would be `:code:`, which is both very expensive to migrate, and commonly
         * used, so probably it is already migrated.
         *
         * In case you mess things up, you can also, in principle, use this to reset the migration
         * process.
         */
        "force_set_progress": {
            "progress_top": Anonymize<I1ufmh6d8psvik>;
            "progress_child": Anonymize<I1ufmh6d8psvik>;
        };
    }>;
    "ConvictionVoting": Enum<{
        /**
         * Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;
         * otherwise it is a vote to keep the status quo.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `poll_index`: The index of the poll to vote for.
         * - `vote`: The vote configuration.
         *
         * Weight: `O(R)` where R is the number of polls the voter has voted on.
         */
        "vote": {
            "poll_index": number;
            "vote": ConvictionVotingVoteAccountVote;
        };
        /**
         * Delegate the voting power (with some given conviction) of the sending account for a
         * particular class of polls.
         *
         * The balance delegated is locked for as long as it's delegated, and thereafter for the
         * time appropriate for the conviction's lock period.
         *
         * The dispatch origin of this call must be _Signed_, and the signing account must either:
         * - be delegating already; or
         * - have no voting activity (if there is, then it will need to be removed through
         * `remove_vote`).
         *
         * - `to`: The account whose voting the `target` account's voting power will follow.
         * - `class`: The class of polls to delegate. To delegate multiple classes, multiple calls
         * to this function are required.
         * - `conviction`: The conviction that will be attached to the delegated votes. When the
         * account is undelegated, the funds will be locked for the corresponding period.
         * - `balance`: The amount of the account's balance to be used in delegating. This must not
         * be more than the account's current balance.
         *
         * Emits `Delegated`.
         *
         * Weight: `O(R)` where R is the number of polls the voter delegating to has
         * voted on. Weight is initially charged as if maximum votes, but is refunded later.
         */
        "delegate": {
            "class": number;
            "to": SS58String;
            "conviction": VotingConviction;
            "balance": bigint;
        };
        /**
         * Undelegate the voting power of the sending account for a particular class of polls.
         *
         * Tokens may be unlocked following once an amount of time consistent with the lock period
         * of the conviction with which the delegation was issued has passed.
         *
         * The dispatch origin of this call must be _Signed_ and the signing account must be
         * currently delegating.
         *
         * - `class`: The class of polls to remove the delegation from.
         *
         * Emits `Undelegated`.
         *
         * Weight: `O(R)` where R is the number of polls the voter delegating to has
         * voted on. Weight is initially charged as if maximum votes, but is refunded later.
         */
        "undelegate": {
            "class": number;
        };
        /**
         * Remove the lock caused by prior voting/delegating which has expired within a particular
         * class.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `class`: The class of polls to unlock.
         * - `target`: The account to remove the lock on.
         *
         * Weight: `O(R)` with R number of vote of target.
         */
        "unlock": {
            "class": number;
            "target": SS58String;
        };
        /**
         * Remove a vote for a poll.
         *
         * If:
         * - the poll was cancelled, or
         * - the poll is ongoing, or
         * - the poll has ended such that
         * - the vote of the account was in opposition to the result; or
         * - there was no conviction to the account's vote; or
         * - the account made a split vote
         * ...then the vote is removed cleanly and a following call to `unlock` may result in more
         * funds being available.
         *
         * If, however, the poll has ended and:
         * - it finished corresponding to the vote of the account, and
         * - the account made a standard vote with conviction, and
         * - the lock period of the conviction is not over
         * ...then the lock will be aggregated into the overall account's lock, which may involve
         * *overlocking* (where the two locks are combined into a single lock that is the maximum
         * of both the amount locked and the time is it locked for).
         *
         * The dispatch origin of this call must be _Signed_, and the signer must have a vote
         * registered for poll `index`.
         *
         * - `index`: The index of poll of the vote to be removed.
         * - `class`: Optional parameter, if given it indicates the class of the poll. For polls
         * which have finished or are cancelled, this must be `Some`.
         *
         * Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.
         * Weight is calculated for the maximum number of vote.
         */
        "remove_vote": {
            "class"?: Anonymize<I4arjljr6dpflb>;
            "index": number;
        };
        /**
         * Remove a vote for a poll.
         *
         * If the `target` is equal to the signer, then this function is exactly equivalent to
         * `remove_vote`. If not equal to the signer, then the vote must have expired,
         * either because the poll was cancelled, because the voter lost the poll or
         * because the conviction period is over.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `target`: The account of the vote to be removed; this account must have voted for poll
         * `index`.
         * - `index`: The index of poll of the vote to be removed.
         * - `class`: The class of the poll.
         *
         * Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.
         * Weight is calculated for the maximum number of vote.
         */
        "remove_other_vote": {
            "target": SS58String;
            "class": number;
            "index": number;
        };
        /**
         * Allow to force remove a vote for a referendum.
         *
         * The dispatch origin of this call must be `VoteRemovalOrigin`.
         *
         * Only allowed if the referendum is finished.
         *
         * The dispatch origin of this call must be _Signed_.
         *
         * - `target`: The account of the vote to be removed; this account must have voted for
         * referendum `index`.
         * - `index`: The index of referendum of the vote to be removed.
         *
         * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.
         * Weight is calculated for the maximum number of vote.
         */
        "force_remove_vote": {
            "target": SS58String;
            "class": number;
            "index": number;
        };
    }>;
    "Referenda": Enum<{
        /**
         * Propose a referendum on a privileged action.
         *
         * - `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds
         * available.
         * - `proposal_origin`: The origin from which the proposal should be executed.
         * - `proposal`: The proposal.
         * - `enactment_moment`: The moment that the proposal should be enacted.
         *
         * Emits `Submitted`.
         */
        "submit": {
            "proposal_origin": Anonymize<I8rbu1vdc38cnp>;
            "proposal": PreimagesBounded;
            "enactment_moment": TraitsScheduleDispatchTime;
        };
        /**
         * Post the Decision Deposit for a referendum.
         *
         * - `origin`: must be `Signed` and the account must have funds available for the
         * referendum's track's Decision Deposit.
         * - `index`: The index of the submitted referendum whose Decision Deposit is yet to be
         * posted.
         *
         * Emits `DecisionDepositPlaced`.
         */
        "place_decision_deposit": Anonymize<I666bl2fqjkejo>;
        /**
         * Refund the Decision Deposit for a closed referendum back to the depositor.
         *
         * - `origin`: must be `Signed` or `Root`.
         * - `index`: The index of a closed referendum whose Decision Deposit has not yet been
         * refunded.
         *
         * Emits `DecisionDepositRefunded`.
         */
        "refund_decision_deposit": Anonymize<I666bl2fqjkejo>;
        /**
         * Cancel an ongoing referendum.
         *
         * - `origin`: must be the `CancelOrigin`.
         * - `index`: The index of the referendum to be cancelled.
         *
         * Emits `Cancelled`.
         */
        "cancel": Anonymize<I666bl2fqjkejo>;
        /**
         * Cancel an ongoing referendum and slash the deposits.
         *
         * - `origin`: must be the `KillOrigin`.
         * - `index`: The index of the referendum to be cancelled.
         *
         * Emits `Killed` and `DepositSlashed`.
         */
        "kill": Anonymize<I666bl2fqjkejo>;
        /**
         * Advance a referendum onto its next logical state. Only used internally.
         *
         * - `origin`: must be `Root`.
         * - `index`: the referendum to be advanced.
         */
        "nudge_referendum": Anonymize<I666bl2fqjkejo>;
        /**
         * Advance a track onto its next logical state. Only used internally.
         *
         * - `origin`: must be `Root`.
         * - `track`: the track to be advanced.
         *
         * Action item for when there is now one fewer referendum in the deciding phase and the
         * `DecidingCount` is not yet updated. This means that we should either:
         * - begin deciding another referendum (and leave `DecidingCount` alone); or
         * - decrement `DecidingCount`.
         */
        "one_fewer_deciding": {
            "track": number;
        };
        /**
         * Refund the Submission Deposit for a closed referendum back to the depositor.
         *
         * - `origin`: must be `Signed` or `Root`.
         * - `index`: The index of a closed referendum whose Submission Deposit has not yet been
         * refunded.
         *
         * Emits `SubmissionDepositRefunded`.
         */
        "refund_submission_deposit": Anonymize<I666bl2fqjkejo>;
        /**
         * Set or clear metadata of a referendum.
         *
         * Parameters:
         * - `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a
         * metadata of a finished referendum.
         * - `index`:  The index of a referendum to set or clear metadata for.
         * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata.
         */
        "set_metadata": {
            "index": number;
            "maybe_hash"?: Anonymize<I4s6vifaf8k998>;
        };
    }>;
    "Whitelist": Enum<{
        "whitelist_call": Anonymize<I1adbcfi5uc62r>;
        "remove_whitelisted_call": Anonymize<I1adbcfi5uc62r>;
        "dispatch_whitelisted_call": {
            "call_hash": FixedSizeBinary<32>;
            "call_encoded_len": number;
            "call_weight_witness": Anonymize<I4q39t5hn830vp>;
        };
        "dispatch_whitelisted_call_with_preimage": Anonymize<I4q47u65qosg7e>;
    }>;
    "Dispatcher": Anonymize<I7hj5v0kif768l>;
    "AssetRegistry": Enum<{
        /**
         * Register a new asset.
         *
         * New asset is given `NextAssetId` - sequential asset id
         *
         * Asset's id is optional and it can't be used by another asset if it's provided.
         * Provided `asset_id` must be from within reserved range.
         * If `asset_id` is `None`, new asset is given id for sequential ids.
         *
         * Asset's name is optional and it can't be used by another asset if it's provided.
         * Adds mapping between `name` and assigned `asset_id` so asset id can be retrieved by name too (Note: this approach is used in AMM implementation (xyk))
         *
         * Emits 'Registered` event when successful.
         */
        "register": {
            "asset_id"?: Anonymize<I4arjljr6dpflb>;
            "name"?: Anonymize<Iabpgqcjikia83>;
            "asset_type": Anonymize<I95262dsbtfh4d>;
            "existential_deposit"?: Anonymize<I35p85j063s0il>;
            "symbol"?: Anonymize<Iabpgqcjikia83>;
            "decimals"?: Anonymize<I4arjljr6dpflb>;
            "location"?: Anonymize<Ia9cgf4r40b26h>;
            "xcm_rate_limit"?: Anonymize<I35p85j063s0il>;
            "is_sufficient": boolean;
        };
        /**
         * Update registered asset.
         *
         * All parameteres are optional and value is not updated if param is `None`.
         *
         * `decimals` - can be update by `UpdateOrigin` only if it wasn't set yet. Only
         * `RegistryOrigin` can update `decimals` if it was previously set.
         *
         * `location` - can be updated only by `RegistryOrigin`.
         *
         * Emits `Updated` event when successful.
         */
        "update": {
            "asset_id": number;
            "name"?: Anonymize<Iabpgqcjikia83>;
            "asset_type"?: (Anonymize<I95262dsbtfh4d>) | undefined;
            "existential_deposit"?: Anonymize<I35p85j063s0il>;
            "xcm_rate_limit"?: Anonymize<I35p85j063s0il>;
            "is_sufficient"?: (boolean) | undefined;
            "symbol"?: Anonymize<Iabpgqcjikia83>;
            "decimals"?: Anonymize<I4arjljr6dpflb>;
            "location"?: Anonymize<Ia9cgf4r40b26h>;
        };
        "register_external": {
            "location": Anonymize<I4c0s5cioidn76>;
        };
        "ban_asset": Anonymize<Ia5le7udkgbaq9>;
        "unban_asset": Anonymize<Ia5le7udkgbaq9>;
    }>;
    "Claims": Enum<{
        /**
         * Claim xHDX by providing signed message with Ethereum address.
         */
        "claim": {
            "ethereum_signature": FixedSizeBinary<65>;
        };
    }>;
    "GenesisHistory": undefined;
    "Omnipool": Enum<{
        /**
         * Add new token to omnipool in quantity `amount` at price `initial_price`
         *
         * Initial liquidity must be transferred to pool's account for this new token manually prior to calling `add_token`.
         *
         * Initial liquidity is pool's account balance of the token.
         *
         * Position NFT token is minted for `position_owner`.
         *
         * Parameters:
         * - `asset`: The identifier of the new asset added to the pool. Must be registered in Asset registry
         * - `initial_price`: Initial price
         * - `position_owner`: account id for which share are distributed in form on NFT
         * - `weight_cap`: asset weight cap
         *
         * Emits `TokenAdded` event when successful.
         *
         */
        "add_token": {
            "asset": number;
            "initial_price": bigint;
            "weight_cap": number;
            "position_owner": SS58String;
        };
        /**
         * Add liquidity of asset `asset` in quantity `amount` to Omnipool
         *
         * `add_liquidity` adds specified asset amount to Omnipool and in exchange gives the origin
         * corresponding shares amount in form of NFT at current price.
         *
         * Asset's tradable state must contain ADD_LIQUIDITY flag, otherwise `NotAllowed` error is returned.
         *
         * NFT is minted using NTFHandler which implements non-fungibles traits from frame_support.
         *
         * Asset weight cap must be respected, otherwise `AssetWeightExceeded` error is returned.
         * Asset weight is ratio between new HubAsset reserve and total reserve of Hub asset in Omnipool.
         *
         * Add liquidity fails if price difference between spot price and oracle price is higher than allowed by `PriceBarrier`.
         *
         * Parameters:
         * - `asset`: The identifier of the new asset added to the pool. Must be already in the pool
         * - `amount`: Amount of asset added to omnipool
         *
         * Emits `LiquidityAdded` event when successful.
         *
         */
        "add_liquidity": Anonymize<Ing3etrevsfg0>;
        /**
         * Add liquidity of asset `asset` in quantity `amount` to Omnipool.
         *
         * Limit protection is applied.
         *
         * `add_liquidity` adds specified asset amount to Omnipool and in exchange gives the origin
         * corresponding shares amount in form of NFT at current price.
         *
         * Asset's tradable state must contain ADD_LIQUIDITY flag, otherwise `NotAllowed` error is returned.
         *
         * NFT is minted using NTFHandler which implements non-fungibles traits from frame_support.
         *
         * Asset weight cap must be respected, otherwise `AssetWeightExceeded` error is returned.
         * Asset weight is ratio between new HubAsset reserve and total reserve of Hub asset in Omnipool.
         *
         * Add liquidity fails if price difference between spot price and oracle price is higher than allowed by `PriceBarrier`.
         *
         * Parameters:
         * - `asset`: The identifier of the new asset added to the pool. Must be already in the pool
         * - `amount`: Amount of asset added to omnipool
         * - `min_shares_limit`: The min amount of delta share asset the user should receive in the position
         *
         * Emits `LiquidityAdded` event when successful.
         *
         */
        "add_liquidity_with_limit": {
            "asset": number;
            "amount": bigint;
            "min_shares_limit": bigint;
        };
        /**
         * Remove liquidity of asset `asset` in quantity `amount` from Omnipool
         *
         * `remove_liquidity` removes specified shares amount from given PositionId (NFT instance).
         *
         * Asset's tradable state must contain REMOVE_LIQUIDITY flag, otherwise `NotAllowed` error is returned.
         *
         * if all shares from given position are removed, position is destroyed and NFT is burned.
         *
         * Remove liquidity fails if price difference between spot price and oracle price is higher than allowed by `PriceBarrier`.
         *
         * Dynamic withdrawal fee is applied if withdrawal is not safe. It is calculated using spot price and external price oracle.
         * Withdrawal is considered safe when trading is disabled.
         *
         * Parameters:
         * - `position_id`: The identifier of position which liquidity is removed from.
         * - `amount`: Amount of shares removed from omnipool
         *
         * Emits `LiquidityRemoved` event when successful.
         *
         */
        "remove_liquidity": Anonymize<Icqdi7b9m95ug3>;
        /**
         * Remove liquidity of asset `asset` in quantity `amount` from Omnipool
         *
         * Limit protection is applied.
         *
         * `remove_liquidity` removes specified shares amount from given PositionId (NFT instance).
         *
         * Asset's tradable state must contain REMOVE_LIQUIDITY flag, otherwise `NotAllowed` error is returned.
         *
         * if all shares from given position are removed, position is destroyed and NFT is burned.
         *
         * Remove liquidity fails if price difference between spot price and oracle price is higher than allowed by `PriceBarrier`.
         *
         * Dynamic withdrawal fee is applied if withdrawal is not safe. It is calculated using spot price and external price oracle.
         * Withdrawal is considered safe when trading is disabled.
         *
         * Parameters:
         * - `position_id`: The identifier of position which liquidity is removed from.
         * - `amount`: Amount of shares removed from omnipool
         * - `min_limit`: The min amount of asset to be removed for the user
         *
         * Emits `LiquidityRemoved` event when successful.
         *
         */
        "remove_liquidity_with_limit": {
            "position_id": bigint;
            "amount": bigint;
            "min_limit": bigint;
        };
        /**
         * Sacrifice LP position in favor of pool.
         *
         * A position is destroyed and liquidity owned by LP becomes pool owned liquidity.
         *
         * Only owner of position can perform this action.
         *
         * Emits `PositionDestroyed`.
         */
        "sacrifice_position": Anonymize<I6vhvcln14dp4d>;
        /**
         * Execute a swap of `asset_in` for `asset_out`.
         *
         * Price is determined by the Omnipool.
         *
         * Hub asset is traded separately.
         *
         * Asset's tradable states must contain SELL flag for asset_in and BUY flag for asset_out, otherwise `NotAllowed` error is returned.
         *
         * Parameters:
         * - `asset_in`: ID of asset sold to the pool
         * - `asset_out`: ID of asset bought from the pool
         * - `amount`: Amount of asset sold
         * - `min_buy_amount`: Minimum amount required to receive
         *
         * Emits `SellExecuted` event when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` event when successful.
         *
         */
        "sell": Anonymize<Ievca65alkkho9>;
        /**
         * Execute a swap of `asset_out` for `asset_in`.
         *
         * Price is determined by the Omnipool.
         *
         * Hub asset is traded separately.
         *
         * Asset's tradable states must contain SELL flag for asset_in and BUY flag for asset_out, otherwise `NotAllowed` error is returned.
         *
         * Parameters:
         * - `asset_in`: ID of asset sold to the pool
         * - `asset_out`: ID of asset bought from the pool
         * - `amount`: Amount of asset sold
         * - `max_sell_amount`: Maximum amount to be sold.
         *
         * Emits `BuyExecuted` event when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` event when successful.
         *
         */
        "buy": Anonymize<I2qkf9i0e8mf1f>;
        /**
         * Update asset's tradable state.
         *
         * Parameters:
         * - `asset_id`: asset id
         * - `state`: new state
         *
         * Emits `TradableStateUpdated` event when successful.
         *
         */
        "set_asset_tradable_state": Anonymize<Iefviakco48cs2>;
        /**
         * Refund given amount of asset to a recipient.
         *
         * A refund is needed when a token is refused to be added to Omnipool, and initial liquidity of the asset has been already transferred to pool's account.
         *
         * Transfer can be executed only if asset is not in Omnipool and pool's balance has sufficient amount.
         *
         * Only `AuthorityOrigin` can perform this operation.
         *
         * Emits `AssetRefunded`
         */
        "refund_refused_asset": Anonymize<Iakb7idgif10m8>;
        /**
         * Update asset's weight cap
         *
         * Parameters:
         * - `asset_id`: asset id
         * - `cap`: new weight cap
         *
         * Emits `AssetWeightCapUpdated` event when successful.
         *
         */
        "set_asset_weight_cap": Anonymize<Id7aqsj1u6b2r2>;
        /**
         * Removes protocol liquidity.
         *
         * Protocol liquidity is liquidity from sacrificed positions. In order to remove protocol liquidity,
         * we need the know the price of the position at the time of sacrifice. Hence this specific call.
         *
         * Only `AuthorityOrigin` can perform this call.
         *
         * Note that sacrifice position will be deprecated in future. There is no longer a need for that.
         *
         * It works the same way as remove liquidity call, but position is temporary reconstructed.
         *
         */
        "withdraw_protocol_liquidity": {
            "asset_id": number;
            "amount": bigint;
            "price": Anonymize<I200n1ov5tbcvr>;
            "dest": SS58String;
        };
        /**
         * Removes token from Omnipool.
         *
         * Asset's tradability must be FROZEN, otherwise `AssetNotFrozen` error is returned.
         *
         * Remaining shares must belong to protocol, otherwise `SharesRemaining` error is returned.
         *
         * Protocol's liquidity is transferred to the beneficiary account and hub asset amount is burned.
         *
         * Only `AuthorityOrigin` can perform this call.
         *
         * Emits `TokenRemoved` event when successful.
         */
        "remove_token": {
            "asset_id": number;
            "beneficiary": SS58String;
        };
    }>;
    "TransactionPause": Enum<{
        "pause_transaction": {
            "pallet_name": Binary;
            "function_name": Binary;
        };
        "unpause_transaction": {
            "pallet_name": Binary;
            "function_name": Binary;
        };
    }>;
    "Duster": Enum<{
        /**
         * Dust specified account.
         * IF account balance is < min. existential deposit of given currency, and account is allowed to
         * be dusted, the remaining balance is transferred to selected account (usually treasury).
         *
         * Caller is rewarded with chosen reward in native currency.
         */
        "dust_account": {
            "account": SS58String;
            "currency_id": number;
        };
        /**
         * Add account to list of non-dustable account. Account whihc are excluded from udsting.
         * If such account should be dusted - `AccountBlacklisted` error is returned.
         * Only root can perform this action.
         */
        "add_nondustable_account": Anonymize<Icbccs0ug47ilf>;
        /**
         * Remove account from list of non-dustable accounts. That means account can be dusted again.
         */
        "remove_nondustable_account": Anonymize<Icbccs0ug47ilf>;
    }>;
    "OmnipoolWarehouseLM": undefined;
    "OmnipoolLiquidityMining": Enum<{
        /**
         * Create a new liquidity mining program with provided parameters.
         *
         * `owner` account has to have at least `total_rewards` balance. These funds will be
         * transferred from `owner` to farm account.
         *
         * The dispatch origin for this call must be `T::CreateOrigin`.
         * !!!WARN: `T::CreateOrigin` has power over funds of `owner`'s account and it should be
         * configured to trusted origin e.g Sudo or Governance.
         *
         * Parameters:
         * - `origin`: account allowed to create new liquidity mining program(root, governance).
         * - `total_rewards`: total rewards planned to distribute. These rewards will be
         * distributed between all yield farms in the global farm.
         * - `planned_yielding_periods`: planned number of periods to distribute `total_rewards`.
         * WARN: THIS IS NOT HARD DEADLINE. Not all rewards have to be distributed in
         * `planned_yielding_periods`. Rewards are distributed based on the situation in the yield
         * farms and can be distributed in a longer, though never in a shorter, time frame.
         * - `blocks_per_period`:  number of blocks in a single period. Min. number of blocks per
         * period is 1.
         * - `reward_currency`: payoff currency of rewards.
         * - `owner`: liq. mining farm owner. This account will be able to manage created
         * liquidity mining program.
         * - `yield_per_period`: percentage return on `reward_currency` of all farms.
         * - `min_deposit`: minimum amount of LP shares to be deposited into the liquidity mining by each user.
         * - `lrna_price_adjustment`: price adjustment between `[LRNA]` and `reward_currency`.
         *
         * Emits `GlobalFarmCreated` when successful.
         *
         */
        "create_global_farm": {
            "total_rewards": bigint;
            "planned_yielding_periods": number;
            "blocks_per_period": number;
            "reward_currency": number;
            "owner": SS58String;
            "yield_per_period": bigint;
            "min_deposit": bigint;
            "lrna_price_adjustment": bigint;
        };
        /**
         * Terminate existing liq. mining program.
         *
         * Only farm owner can perform this action.
         *
         * WARN: To successfully terminate a global farm, farm have to be empty
         * (all yield farms in the global farm must be terminated).
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: id of global farm to be terminated.
         *
         * Emits `GlobalFarmTerminated` event when successful.
         *
         */
        "terminate_global_farm": Anonymize<I9q8qmop6bko5m>;
        /**
         * Create yield farm for given `asset_id` in the omnipool.
         *
         * Only farm owner can perform this action.
         *
         * Asset with `asset_id` has to be registered in the omnipool.
         * At most one `active` yield farm can exist in one global farm for the same `asset_id`.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: global farm id to which a yield farm will be added.
         * - `asset_id`: id of a asset in the omnipool. Yield farm will be created
         * for this asset and user will be able to lock LP shares into this yield farm immediately.
         * - `multiplier`: yield farm's multiplier.
         * - `loyalty_curve`: curve to calculate loyalty multiplier to distribute rewards to users
         * with time incentive. `None` means no loyalty multiplier.
         *
         * Emits `YieldFarmCreated` event when successful.
         *
         */
        "create_yield_farm": {
            "global_farm_id": number;
            "asset_id": number;
            "multiplier": bigint;
            "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
        };
        /**
         * Update yield farm's multiplier.
         *
         * Only farm owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: global farm id in which yield farm will be updated.
         * - `asset_id`: id of the asset identifying yield farm in the global farm.
         * - `multiplier`: new yield farm's multiplier.
         *
         * Emits `YieldFarmUpdated` event when successful.
         *
         */
        "update_yield_farm": {
            "global_farm_id": number;
            "asset_id": number;
            "multiplier": bigint;
        };
        /**
         * Stop liquidity miming for specific yield farm.
         *
         * This function claims rewards from `GlobalFarm` last time and stop yield farm
         * incentivization from a `GlobalFarm`. Users will be able to only withdraw
         * shares(with claiming) after calling this function.
         * `deposit_shares()` is not allowed on stopped yield farm.
         *
         * Only farm owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: farm id in which yield farm will be canceled.
         * - `asset_id`: id of the asset identifying yield farm in the global farm.
         *
         * Emits `YieldFarmStopped` event when successful.
         *
         */
        "stop_yield_farm": {
            "global_farm_id": number;
            "asset_id": number;
        };
        /**
         * Resume incentivization of the asset represented by yield farm.
         *
         * This function resume incentivization of the asset from the `GlobalFarm` and
         * restore full functionality or the yield farm. Users will be able to deposit,
         * claim and withdraw again.
         *
         * WARN: Yield farm(and users) is NOT rewarded for time it was stopped.
         *
         * Only farm owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: global farm id in which yield farm will be resumed.
         * - `yield_farm_id`: id of the yield farm to be resumed.
         * - `asset_id`: id of the asset identifying yield farm in the global farm.
         * - `multiplier`: yield farm multiplier.
         *
         * Emits `YieldFarmResumed` event when successful.
         *
         */
        "resume_yield_farm": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
            "multiplier": bigint;
        };
        /**
         * Terminate yield farm.
         *
         * This function marks a yield farm as ready to be removed from storage when it's empty. Users will
         * be able to only withdraw shares(without claiming rewards from yield farm). Unpaid rewards
         * will be transferred back to global farm and it will be used to distribute to other yield farms.
         *
         * Yield farm must be stopped before it can be terminated.
         *
         * Only global farm's owner can perform this action. Yield farm stays in the storage until it's
         * empty(all farm entries are withdrawn). Last withdrawn from yield farm trigger removing from
         * the storage.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: global farm id in which yield farm should be terminated.
         * - `yield_farm_id`: id of yield farm to be terminated.
         * - `asset_id`: id of the asset identifying yield farm.
         *
         * Emits `YieldFarmTerminated` event when successful.
         *
         */
        "terminate_yield_farm": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
        };
        /**
         * Deposit omnipool position(LP shares) to a liquidity mining.
         *
         * This function transfers omnipool position from `origin` to pallet's account and mint NFT for
         * `origin` account. Minted NFT represents deposit in the liquidity mining. User can
         * deposit omnipool position as a whole(all the LP shares in the position).
         *
         * Parameters:
         * - `origin`: owner of the omnipool position to deposit into the liquidity mining.
         * - `global_farm_id`: id of global farm to which user wants to deposit LP shares.
         * - `yield_farm_id`: id of yield farm to deposit to.
         * - `position_id`: id of the omnipool position to be deposited into the liquidity mining.
         *
         * Emits `SharesDeposited` event when successful.
         *
         */
        "deposit_shares": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "position_id": bigint;
        };
        /**
         * Redeposit LP shares in the already locked omnipool position.
         *
         * This function create yield farm entry for existing deposit. Amount of redeposited LP
         * shares is same as amount shares which are already deposited in the deposit.
         *
         * This function DOESN'T create new deposit(NFT).
         *
         * Parameters:
         * - `origin`: owner of the deposit to redeposit.
         * - `global_farm_id`: id of the global farm to which user wants to redeposit LP shares.
         * - `yield_farm_id`: id of the yield farm to redeposit to.
         * - `deposit_id`: identifier of the deposit to redeposit.
         *
         * Emits `SharesRedeposited` event when successful.
         *
         */
        "redeposit_shares": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "deposit_id": bigint;
        };
        /**
         * Claim rewards from liquidity mining program for deposit represented by the `deposit_id`.
         *
         * This function calculate user rewards from liquidity mining and transfer rewards to `origin`
         * account. Claiming multiple time the same period is not allowed.
         *
         * Parameters:
         * - `origin`: owner of deposit.
         * - `deposit_id`: id of the deposit to claim rewards for.
         * - `yield_farm_id`: id of the yield farm to claim rewards from.
         *
         * Emits `RewardClaimed` event when successful.
         *
         */
        "claim_rewards": Anonymize<I2k37dcoppgins>;
        /**
         * This function claim rewards and withdraw LP shares from yield farm. Omnipool position
         * is transferred to origin only if this is last withdraw in the deposit and deposit is
         * destroyed. This function claim rewards only if yield farm is not terminated and user
         * didn't already claim rewards in current period.
         *
         * Unclaimable rewards represents rewards which user won't be able to claim because of
         * exiting early and these rewards will be transferred back to global farm for future
         * redistribution.
         *
         * Parameters:
         * - `origin`: owner of deposit.
         * - `deposit_id`: id of the deposit to claim rewards for.
         * - `yield_farm_id`: id of the yield farm to claim rewards from.
         *
         * Emits:
         * * `RewardClaimed` event if claimed rewards is > 0
         * * `SharesWithdrawn` event when successful
         * * `DepositDestroyed` event when this was last withdraw from the deposit and deposit was
         * destroyed.
         *
         */
        "withdraw_shares": Anonymize<I2k37dcoppgins>;
        /**
         * This extrinsic updates global farm's main parameters.
         *
         * The dispatch origin for this call must be `T::CreateOrigin`.
         * !!!WARN: `T::CreateOrigin` has power over funds of `owner`'s account and it should be
         * configured to trusted origin e.g Sudo or Governance.
         *
         * Parameters:
         * - `origin`: account allowed to create new liquidity mining program(root, governance).
         * - `global_farm_id`: id of the global farm to update.
         * - `planned_yielding_periods`: planned number of periods to distribute `total_rewards`.
         * - `yield_per_period`: percentage return on `reward_currency` of all farms.
         * - `min_deposit`: minimum amount of LP shares to be deposited into the liquidity mining by each user.
         *
         * Emits `GlobalFarmUpdated` event when successful.
         */
        "update_global_farm": {
            "global_farm_id": number;
            "planned_yielding_periods": number;
            "yield_per_period": bigint;
            "min_deposit": bigint;
        };
        /**
         * This function allows user to join multiple farms with a single omnipool position.
         *
         * Parameters:
         * - `origin`: owner of the omnipool position to deposit into the liquidity mining.
         * - `farm_entries`: list of farms to join.
         * - `position_id`: id of the omnipool position to be deposited into the liquidity mining.
         *
         * Emits `SharesDeposited` event for the first farm entry
         * Emits `SharesRedeposited` event for each farm entry after the first one
         */
        "join_farms": {
            "farm_entries": Anonymize<I95g6i7ilua7lq>;
            "position_id": bigint;
        };
        /**
         * This function allows user to add liquidity then use that shares to join multiple farms.
         *
         * Parameters:
         * - `origin`: owner of the omnipool position to deposit into the liquidity mining.
         * - `farm_entries`: list of farms to join.
         * - `asset`: id of the asset to be deposited into the liquidity mining.
         * - `amount`: amount of the asset to be deposited into the liquidity mining.
         * - `min_shares_limit`: The min amount of delta share asset the user should receive in the position
         *
         * Emits `SharesDeposited` event for the first farm entry
         * Emits `SharesRedeposited` event for each farm entry after the first one
         */
        "add_liquidity_and_join_farms": {
            "farm_entries": Anonymize<I95g6i7ilua7lq>;
            "asset": number;
            "amount": bigint;
            "min_shares_limit"?: Anonymize<I35p85j063s0il>;
        };
        /**
         * Exit from all specified yield farms
         *
         * This function will attempt to withdraw shares and claim rewards (if available) from all
         * specified yield farms for a given deposit.
         *
         * Parameters:
         * - `origin`: account owner of deposit(nft).
         * - `deposit_id`: id of the deposit to claim rewards for.
         * - `yield_farm_ids`: id(s) of yield farm(s) to exit from.
         *
         * Emits:
         * * `RewardClaimed` for each successful claim
         * * `SharesWithdrawn` for each successful withdrawal
         * * `DepositDestroyed` if the deposit is fully withdrawn
         *
         */
        "exit_farms": {
            "deposit_id": bigint;
            "yield_farm_ids": Anonymize<Icgljjb6j82uhn>;
        };
        /**
         * This function allows user to add liquidity to stableswap pool,
         * then adding the stable shares as liquidity to omnipool
         * then use that omnipool shares to join multiple farms.
         *
         * If farm entries are not specified (empty vectoo), then the liquidities are still added to the pools
         *
         * Parameters:
         * - `origin`: owner of the omnipool position to deposit into the liquidity mining.
         * - `stable_pool_id`: id of the stableswap pool to add liquidity to.
         * - `stable_asset_amounts`: amount of each asset to be deposited into the stableswap pool.
         * - `farm_entries`: list of farms to join.
         *
         * Emits `LiquidityAdded` events from both pool
         * Emits `SharesDeposited` event for the first farm entry
         * Emits `SharesRedeposited` event for each farm entry after the first one
         *
         */
        "add_liquidity_stableswap_omnipool_and_join_farms": {
            "stable_pool_id": number;
            "stable_asset_amounts": Anonymize<Id7i7r9a29m8o2>;
            "farm_entries"?: (Anonymize<I95g6i7ilua7lq>) | undefined;
        };
    }>;
    "OTC": Enum<{
        /**
         * Create a new OTC order
         *
         * Parameters:
         * - `asset_in`: Asset which is being bought
         * - `asset_out`: Asset which is being sold
         * - `amount_in`: Amount that the order is seeking to buy
         * - `amount_out`: Amount that the order is selling
         * - `partially_fillable`: Flag indicating whether users can fill the order partially
         *
         * Validations:
         * - asset_in must be registered
         * - amount_in must be higher than the existential deposit of asset_in multiplied by
         * ExistentialDepositMultiplier
         * - amount_out must be higher than the existential deposit of asset_out multiplied by
         * ExistentialDepositMultiplier
         *
         * Events:
         * - `Placed` event when successful.
         */
        "place_order": {
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "amount_out": bigint;
            "partially_fillable": boolean;
        };
        /**
         * Fill an OTC order (partially)
         *
         * Parameters:
         * - `order_id`: ID of the order
         * - `amount_in`: Amount with which the order is being filled
         *
         * Validations:
         * - order must be partially_fillable
         * - after the partial_fill, the remaining order.amount_in must be higher than the existential deposit
         * of asset_in multiplied by ExistentialDepositMultiplier
         * - after the partial_fill, the remaining order.amount_out must be higher than the existential deposit
         * of asset_out multiplied by ExistentialDepositMultiplier
         *
         * Events:
         * `PartiallyFilled` event when successful. Deprecated.
         * `pallet_broadcast::Swapped` event when successful.
         */
        "partial_fill_order": {
            "order_id": number;
            "amount_in": bigint;
        };
        /**
         * Fill an OTC order (completely)
         *
         * Parameters:
         * - `order_id`: ID of the order
         *
         * Events:
         * `Filled` event when successful. Deprecated.
         * `pallet_broadcast::Swapped` event when successful.
         */
        "fill_order": Anonymize<Ibq6b0nsk23kj8>;
        /**
         * Cancel an open OTC order
         *
         * Parameters:
         * - `order_id`: ID of the order
         * - `asset`: Asset which is being filled
         * - `amount`: Amount which is being filled
         *
         * Validations:
         * - caller is order owner
         *
         * Emits `Cancelled` event when successful.
         */
        "cancel_order": Anonymize<Ibq6b0nsk23kj8>;
    }>;
    "CircuitBreaker": Enum<{
        /**
         * Set trade volume limit for an asset.
         *
         * Parameters:
         * - `origin`: The dispatch origin for this call. Must be `UpdateLimitsOrigin`
         * - `asset_id`: The identifier of an asset
         * - `trade_volume_limit`: New trade volume limit represented as a percentage
         *
         * Emits `TradeVolumeLimitChanged` event when successful.
         *
         */
        "set_trade_volume_limit": Anonymize<I2i1tilmsb1rl1>;
        /**
         * Set add liquidity limit for an asset.
         *
         * Parameters:
         * - `origin`: The dispatch origin for this call. Must be `UpdateLimitsOrigin`
         * - `asset_id`: The identifier of an asset
         * - `liquidity_limit`: Optional add liquidity limit represented as a percentage
         *
         * Emits `AddLiquidityLimitChanged` event when successful.
         *
         */
        "set_add_liquidity_limit": Anonymize<I4l0u1h71fhj81>;
        /**
         * Set remove liquidity limit for an asset.
         *
         * Parameters:
         * - `origin`: The dispatch origin for this call. Must be `UpdateLimitsOrigin`
         * - `asset_id`: The identifier of an asset
         * - `liquidity_limit`: Optional remove liquidity limit represented as a percentage
         *
         * Emits `RemoveLiquidityLimitChanged` event when successful.
         *
         */
        "set_remove_liquidity_limit": Anonymize<I4l0u1h71fhj81>;
    }>;
    "Router": Enum<{
        /**
         * Executes a sell with a series of trades specified in the route.
         * The price for each trade is determined by the corresponding AMM.
         *
         * - `origin`: The executor of the trade
         * - `asset_in`: The identifier of the asset to sell
         * - `asset_out`: The identifier of the asset to receive
         * - `amount_in`: The amount of `asset_in` to sell
         * - `min_amount_out`: The minimum amount of `asset_out` to receive.
         * - `route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
         * If not specified, than the on-chain route is used.
         * If no on-chain is present, then omnipool route is used as default
         *
         * Emits `RouteExecuted` when successful.
         */
        "sell": Anonymize<Ib0voua2mn0e9p>;
        /**
         * Executes a buy with a series of trades specified in the route.
         * The price for each trade is determined by the corresponding AMM.
         *
         * - `origin`: The executor of the trade
         * - `asset_in`: The identifier of the asset to be swapped to buy `asset_out`
         * - `asset_out`: The identifier of the asset to buy
         * - `amount_out`: The amount of `asset_out` to buy
         * - `max_amount_in`: The max amount of `asset_in` to spend on the buy.
         * - `route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
         * If not specified, than the on-chain route is used.
         * If no on-chain is present, then omnipool route is used as default
         *
         * Emits `RouteExecuted` when successful.
         */
        "buy": Anonymize<I2lu1qfhumniu5>;
        /**
         * Sets the on-chain route for a given asset pair.
         *
         * The new route is validated by being executed in a dry-run mode
         *
         * If there is no route explicitly set for an asset pair, then we use the omnipool route as default.
         *
         * When a new route is set, we compare it to the existing (or default) route.
         * The comparison happens by calculating sell amount_outs for the routes, but also for the inversed routes.
         *
         * The route is stored in an ordered manner, based on the oder of the ids in the asset pair.
         *
         * If the route is set successfully, then the fee is payed back.
         *
         * - `origin`: The origin of the route setter
         * - `asset_pair`: The identifier of the asset-pair for which the route is set
         * - `new_route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
         *
         * Emits `RouteUpdated` when successful.
         *
         * Fails with `RouteUpdateIsNotSuccessful` error when failed to set the route
         *
         */
        "set_route": {
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "new_route": Anonymize<I7qjksqmdos4g7>;
        };
        /**
         * Force inserts the on-chain route for a given asset pair, so there is no any validation for the route
         *
         * Can only be called by T::ForceInsertOrigin
         *
         * The route is stored in an ordered manner, based on the oder of the ids in the asset pair.
         *
         * If the route is set successfully, then the fee is payed back.
         *
         * - `origin`: The origin of the route setter
         * - `asset_pair`: The identifier of the asset-pair for which the route is set
         * - `new_route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
         *
         * Emits `RouteUpdated` when successful.
         *
         */
        "force_insert_route": {
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "new_route": Anonymize<I7qjksqmdos4g7>;
        };
        /**
         * Executes a sell with a series of trades specified in the route.
         * It sells all reducible user balance of `asset_in`
         * The price for each trade is determined by the corresponding AMM.
         *
         * - `origin`: The executor of the trade
         * - `asset_in`: The identifier of the asset to sell
         * - `asset_out`: The identifier of the asset to receive
         * - `min_amount_out`: The minimum amount of `asset_out` to receive.
         * - `route`: Series of [`Trade<AssetId>`] to be executed. A [`Trade<AssetId>`] specifies the asset pair (`asset_in`, `asset_out`) and the AMM (`pool`) in which the trade is executed.
         * If not specified, than the on-chain route is used.
         * If no on-chain is present, then omnipool route is used as default
         *
         * Emits `RouteExecuted` when successful.
         *
         */
        "sell_all": Anonymize<Ii64qoo6q5lth>;
    }>;
    "DynamicFees": undefined;
    "Staking": Enum<{
        /**
         * Staking pallet initialization. This call will reserved `pot`'s balance to prevent
         * account dusting and start collecting fees from trades as rewards.
         *
         * `pot`’s account has to have a balance which will be reserved to prevent account dusting.
         *
         * Emits `StakingInitialized` event when successful.
         *
         */
        "initialize_staking": undefined;
        /**
         * Stake `amount` into a new staking position.
         *
         * `stake` locks specified `amount` into staking and creates new NFT representing staking
         * position.
         * Users can stake `NativeAssetId` balance which is not vested or already staked.
         *
         * Staking pallet must be initialized otherwise extrinsic will fail with error.
         *
         * Parameters:
         * - `amount`: Amount of native asset to be staked. `amount` can't be vested or already
         * staked
         *
         * Emits `PositionCreated` event when successful.
         *
         */
        "stake": Anonymize<I3qt1hgg4djhgb>;
        /**
         * Extrinsic to increase staked amount of existing staking position by specified `amount`.
         *
         * `increase_stake` increases staked amount of position specified by `postion_id` by the
         * `amount` specified by the user.
         * Staking position must exist and `origin` has to be the owner of the position.
         * Users can stake tokens which are not vested or already staked.
         * Position's params e.g points are updated to offset stake increase and rewards
         * accumulated until this point are paid and locked to the user.
         *
         * Parameters:
         * - `position_id`: The identifier of the position which stake will be increased.
         * - `amount`: Amount of native asset to be added to staked amount. `amount` can't be vested or
         * already staked
         *
         * Emits `StakeAdded` event when successful.
         *
         */
        "increase_stake": Anonymize<Icqdi7b9m95ug3>;
        /**
         * Claim rewards accumulated for specific staking position.
         *
         * Function calculates amount of rewards to pay for specified staking position based on
         * the amount of points position accumulated. Function also unlocks all the rewards locked
         * from `increase_stake` based on the amount of the points.
         *
         * This action is penalized by removing all the points and returning allocated unpaid rewards
         * for redistribution.
         *
         * Parameters:
         * - `position_id`: The identifier of the position to claim rewards for.
         *
         * Emits `RewardsClaimed` event when successful.
         *
         */
        "claim": Anonymize<I6vhvcln14dp4d>;
        /**
         * Function pays rewards, unlocks all the staked assets and destroys staking position
         * specified by `position_id`.
         *
         * Function calculates and pays latest rewards, unlocks all the locked rewards and staked
         * tokens for staking position and burns NFT representing staking position.
         * Unpaid allocated rewards are returned to the Staking for redistribution.
         *
         * Parameters:
         * - `position_id`: The identifier of the position to be destroyed.
         *
         * Emits `RewardsClaimed` and `Unstaked` events when successful.
         *
         */
        "unstake": Anonymize<I6vhvcln14dp4d>;
    }>;
    "Stableswap": Enum<{
        /**
         * Create a stable pool with given list of assets.
         *
         * All assets must be correctly registered in `T::AssetRegistry`.
         * Note that this does not seed the pool with liquidity. Use `add_assets_liquidity` to provide
         * initial liquidity.
         *
         * Parameters:
         * - `origin`: Must be T::AuthorityOrigin
         * - `share_asset`: Preregistered share asset identifier
         * - `assets`: List of Asset ids
         * - `amplification`: Pool amplification
         * - `fee`: fee to be applied on trade and liquidity operations
         *
         * Emits `PoolCreated` event if successful.
         */
        "create_pool": {
            "share_asset": number;
            "assets": Anonymize<Icgljjb6j82uhn>;
            "amplification": number;
            "fee": number;
        };
        /**
         * Update pool's fee.
         *
         * if pool does not exist, `PoolNotFound` is returned.
         *
         * Parameters:
         * - `origin`: Must be T::AuthorityOrigin
         * - `pool_id`: pool to update
         * - `fee`: new pool fee
         *
         * Emits `FeeUpdated` event if successful.
         */
        "update_pool_fee": Anonymize<Ics8sn0t3vlpat>;
        /**
         * Update pool's amplification.
         *
         * Parameters:
         * - `origin`: Must be T::AuthorityOrigin
         * - `pool_id`: pool to update
         * - `final_amplification`: new desired pool amplification
         * - `start_block`: block number when the amplification starts to move towards final_amplication
         * - `end_block`: block number when the amplification reaches final_amplification
         *
         * Emits `AmplificationUpdated` event if successful.
         */
        "update_amplification": {
            "pool_id": number;
            "final_amplification": number;
            "start_block": number;
            "end_block": number;
        };
        /**
         * Add liquidity to selected pool.
         *
         * Use `add_assets_liquidity` instead.
         * This extrinsics will be removed in the future.
         *
         * First call of `add_liquidity` must provide "initial liquidity" of all assets.
         *
         * If there is liquidity already in the pool, LP can provide liquidity of any number of pool assets.
         *
         * LP must have sufficient amount of each asset.
         *
         * Origin is given corresponding amount of shares.
         *
         * Parameters:
         * - `origin`: liquidity provider
         * - `pool_id`: Pool Id
         * - `assets`: asset id and liquidity amount provided
         *
         * Emits `LiquidityAdded` event when successful.
         * Emits `pallet_broadcast::Swapped` event when successful.
         */
        "add_liquidity": {
            "pool_id": number;
            "assets": Anonymize<Id7i7r9a29m8o2>;
        };
        /**
         * Add liquidity to selected pool given exact amount of shares to receive.
         *
         * Similar to `add_liquidity` but LP specifies exact amount of shares to receive.
         *
         * This functionality is used mainly by on-chain routing when a swap between Omnipool asset and stable asset is performed.
         *
         * Parameters:
         * - `origin`: liquidity provider
         * - `pool_id`: Pool Id
         * - `shares`: amount of shares to receive
         * - `asset_id`: asset id of an asset to provide as liquidity
         * - `max_asset_amount`: slippage limit. Max amount of asset.
         *
         * Emits `LiquidityAdded` event when successful.
         * Emits `pallet_broadcast::Swapped` event when successful.
         */
        "add_liquidity_shares": {
            "pool_id": number;
            "shares": bigint;
            "asset_id": number;
            "max_asset_amount": bigint;
        };
        /**
         * Remove liquidity from selected pool.
         *
         * Withdraws liquidity of selected asset from a pool.
         *
         * Share amount is burned and LP receives corresponding amount of chosen asset.
         *
         * Withdraw fee is applied to the asset amount.
         *
         * Parameters:
         * - `origin`: liquidity provider
         * - `pool_id`: Pool Id
         * - `asset_id`: id of asset to receive
         * - 'share_amount': amount of shares to withdraw
         * - 'min_amount_out': minimum amount to receive
         *
         * Emits `LiquidityRemoved` event when successful.
         * Emits `pallet_broadcast::Swapped` event when successful.
         */
        "remove_liquidity_one_asset": {
            "pool_id": number;
            "asset_id": number;
            "share_amount": bigint;
            "min_amount_out": bigint;
        };
        /**
         * Remove liquidity from selected pool by specifying exact amount of asset to receive.
         *
         * Similar to `remove_liquidity_one_asset` but LP specifies exact amount of asset to receive instead of share amount.
         *
         * Parameters:
         * - `origin`: liquidity provider
         * - `pool_id`: Pool Id
         * - `asset_id`: id of asset to receive
         * - 'amount': amount of asset to receive
         * - 'max_share_amount': Slippage limit. Max amount of shares to burn.
         *
         * Emits `LiquidityRemoved` event when successful.
         * Emits `pallet_broadcast::Swapped` event when successful.
         */
        "withdraw_asset_amount": {
            "pool_id": number;
            "asset_id": number;
            "amount": bigint;
            "max_share_amount": bigint;
        };
        /**
         * Execute a swap of `asset_in` for `asset_out`.
         *
         * Parameters:
         * - `origin`: origin of the caller
         * - `pool_id`: Id of a pool
         * - `asset_in`: ID of asset sold to the pool
         * - `asset_out`: ID of asset bought from the pool
         * - `amount_in`: Amount of asset to be sold to the pool
         * - `min_buy_amount`: Minimum amount required to receive
         *
         * Emits `SellExecuted` event when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` event when successful.
         *
         */
        "sell": {
            "pool_id": number;
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "min_buy_amount": bigint;
        };
        /**
         * Execute a swap of `asset_out` for `asset_in`.
         *
         * Parameters:
         * - `origin`:
         * - `pool_id`: Id of a pool
         * - `asset_out`: ID of asset bought from the pool
         * - `asset_in`: ID of asset sold to the pool
         * - `amount_out`: Amount of asset to receive from the pool
         * - `max_sell_amount`: Maximum amount allowed to be sold
         *
         * Emits `BuyExecuted` event when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` event when successful.
         *
         */
        "buy": {
            "pool_id": number;
            "asset_out": number;
            "asset_in": number;
            "amount_out": bigint;
            "max_sell_amount": bigint;
        };
        /**
         * Update the tradable state of a specific asset in a pool.
         *
         * This function allows updating the tradability state of an asset within a pool. The tradability state determines whether the asset can be used for specific operations such as adding liquidity, removing liquidity, buying, or selling.
         *
         * Parameters:
         * - `origin`: Must be `T::UpdateTradabilityOrigin`.
         * - `pool_id`: The ID of the pool containing the asset.
         * - `asset_id`: The ID of the asset whose tradability state is to be updated.
         * - `state`: The new tradability state of the asset.
         *
         * Emits `TradableStateUpdated` event when successful.
         *
         * # Errors
         * - `PoolNotFound`: If the specified pool does not exist.
         * - `AssetNotInPool`: If the specified asset is not part of the pool.
         *
         */
        "set_asset_tradable_state": Anonymize<Iest0fomljvrb6>;
        /**
         * Remove liquidity from a selected pool uniformly.
         *
         * This function allows a liquidity provider to withdraw liquidity from a pool.
         * The provider specifies the amount of shares to burn and the minimum amounts of each asset to receive.
         *
         * Parameters:
         * - `origin`: The liquidity provider.
         * - `pool_id`: The ID of the pool from which to remove liquidity.
         * - `share_amount`: The amount of shares to burn.
         * - `min_amounts_out`: A bounded vector specifying the minimum amounts of each asset to receive.
         *
         * Emits `LiquidityRemoved` event when successful.
         * Emits `pallet_broadcast::Swapped` event when successful.
         *
         * # Errors
         * - `InvalidAssetAmount`: If the `share_amount` is zero.
         * - `InsufficientShares`: If the provider does not have enough shares.
         * - `PoolNotFound`: If the specified pool does not exist.
         * - `UnknownDecimals`: If the asset decimals cannot be retrieved.
         * - `IncorrectAssets`: If the provided `min_amounts_out` does not match the pool assets.
         * - `NotAllowed`: If the asset is not allowed for the operation.
         * - `SlippageLimit`: If the amount received is less than the specified minimum amount.
         * - `InsufficientLiquidityRemaining`: If the remaining liquidity in the pool is below the minimum required.
         *
         * # Invariants
         * - Ensures that the pool's reserves are updated correctly after liquidity removal.
         * - Ensures that the pool's invariant is maintained.
         */
        "remove_liquidity": {
            "pool_id": number;
            "share_amount": bigint;
            "min_amounts_out": Anonymize<Id7i7r9a29m8o2>;
        };
        /**
         * Create a stable pool with a given list of assets and pegs.
         *
         * This function allows the creation of a new stable pool with specified assets, amplification, fee, and peg sources. The pool is identified by a share asset.
         *
         * Peg target price is determined by retrieving the target peg from the oracle - it is the price of the asset from the peg sourcedenominated in the other pool assets.
         *
         * Parameters:
         * - `origin`: Must be `T::AuthorityOrigin`.
         * - `share_asset`: Preregistered share asset identifier.
         * - `assets`: List of asset IDs to be included in the pool.
         * - `amplification`: Pool amplification parameter.
         * - `fee`: Fee to be applied on trade and liquidity operations.
         * - `peg_source`: Bounded vector specifying the source of the peg for each asset.
         * - `max_peg_update`: Maximum allowed peg update per block.
         *
         * Emits `PoolCreated` event if successful.
         * Emits `AmplificationChanging` event if successful.
         *
         * # Errors
         * - `IncorrectAssets`: If the assets are the same or less than 2 assets are provided.
         * - `MaxAssetsExceeded`: If the maximum number of assets is exceeded.
         * - `PoolExists`: If a pool with the given assets already exists.
         * - `ShareAssetInPoolAssets`: If the share asset is among the pool assets.
         * - `AssetNotRegistered`: If one or more assets are not registered in the AssetRegistry.
         * - `InvalidAmplification`: If the amplification parameter is invalid.
         * - `IncorrectInitialPegs`: If the initial pegs are incorrect.
         * - `MissingTargetPegOracle`: If the target peg oracle entry is missing.
         * - `IncorrectAssetDecimals`: If the assets have different decimals.
         *
         */
        "create_pool_with_pegs": {
            "share_asset": number;
            "assets": Anonymize<Icgljjb6j82uhn>;
            "amplification": number;
            "fee": number;
            "peg_source": Anonymize<Iunv22mobb368>;
            "max_peg_update": number;
        };
        /**
         * Add liquidity to selected pool.
         *
         * First call of `add_assets_liquidity` must provide "initial liquidity" of all assets.
         *
         * If there is liquidity already in the pool, LP can provide liquidity of any number of pool assets.
         *
         * LP must have sufficient amount of each asset.
         *
         * Origin is given corresponding amount of shares.
         *
         * Parameters:
         * - `origin`: liquidity provider
         * - `pool_id`: Pool Id
         * - `assets`: asset id and liquidity amount provided
         * - `min_shares`: minimum amount of shares to receive
         *
         * Emits `LiquidityAdded` event when successful.
         * Emits `pallet_broadcast::Swapped` event when successful.
         */
        "add_assets_liquidity": {
            "pool_id": number;
            "assets": Anonymize<Id7i7r9a29m8o2>;
            "min_shares": bigint;
        };
    }>;
    "Bonds": Enum<{
        /**
         * Issue new fungible bonds.
         * New asset id is registered and assigned to the bonds.
         * The number of bonds the issuer receives is 1:1 to the `amount` of the underlying asset
         * minus the protocol fee.
         * The bond asset is registered with the empty string for the asset name,
         * and with the same existential deposit as of the underlying asset.
         * Bonds can be redeemed for the underlying asset once mature.
         * Protocol fee is applied to the amount, and transferred to `T::FeeReceiver`.
         * When issuing new bonds with the underlying asset and maturity that matches existing bonds,
         * new amount of these existing bonds is issued, instead of registering new bonds.
         * It's possible to issue new bonds for bonds that are already mature.
         *
         * Parameters:
         * - `origin`: issuer of new bonds, needs to be `T::IssueOrigin`
         * - `asset_id`: underlying asset id
         * - `amount`: the amount of the underlying asset
         * - `maturity`: Unix time in milliseconds, when the bonds will be mature.
         *
         * Emits `BondTokenCreated` event when successful and new bonds were registered.
         * Emits `BondsIssued` event when successful.
         *
         */
        "issue": {
            "asset_id": number;
            "amount": bigint;
            "maturity": bigint;
        };
        /**
         * Redeem bonds for the underlying asset.
         * The amount of the underlying asset the `origin` receives is 1:1 to the `amount` of the bonds.
         * Anyone who holds the bonds is able to redeem them.
         * Bonds can be both partially or fully redeemed.
         *
         * Parameters:
         * - `origin`: account id
         * - `asset_id`: bond asset id
         * - `amount`: the amount of the bonds to redeem for the underlying asset
         *
         * Emits `BondsRedeemed` event when successful.
         *
         */
        "redeem": {
            "bond_id": number;
            "amount": bigint;
        };
    }>;
    "OtcSettlements": Enum<{
        /**
         * Close an existing OTC arbitrage opportunity.
         *
         * Executes a trade between an OTC order and some route.
         * If the OTC order is partially fillable, the extrinsic fails if the existing arbitrage
         * opportunity is not closed or reduced after the trade.
         * If the OTC order is not partially fillable, fails if there is no profit after the trade.
         *
         * `Origin` calling this extrinsic is not paying or receiving anything.
         *
         * The profit made by closing the arbitrage is transferred to `FeeReceiver`.
         *
         * Parameters:
         * - `origin`: Signed or unsigned origin. Unsigned origin doesn't pay the TX fee,
         * but can be submitted only by a collator.
         * - `otc_id`: ID of the OTC order with existing arbitrage opportunity.
         * - `amount`: Amount necessary to close the arb.
         * - `route`: The route we trade against. Required for the fee calculation.
         *
         * Emits `Executed` event when successful.
         *
         */
        "settle_otc_order": {
            "otc_id": number;
            "amount": bigint;
            "route": Anonymize<I7qjksqmdos4g7>;
        };
    }>;
    "LBP": Enum<{
        /**
         * Create a new liquidity bootstrapping pool for given asset pair.
         *
         * For any asset pair, only one pool can exist at a time.
         *
         * The dispatch origin for this call must be `T::CreatePoolOrigin`.
         * The pool is created with initial liquidity provided by the `pool_owner` who must have
         * sufficient funds free.
         *
         * The pool starts uninitialized and update_pool call should be called once created to set the start block.
         *
         * This function should be dispatched from governing entity `T::CreatePoolOrigin`
         *
         * Parameters:
         * - `pool_owner`: the future owner of the new pool.
         * - `asset_a`: { asset_id, amount } Asset ID and initial liquidity amount.
         * - `asset_b`: { asset_id, amount } Asset ID and initial liquidity amount.
         * - `initial_weight`: Initial weight of the asset_a. 1_000_000 corresponding to 1% and 100_000_000 to 100%
         * this should be higher than final weight
         * - `final_weight`: Final weight of the asset_a. 1_000_000 corresponding to 1% and 100_000_000 to 100%
         * this should be lower than initial weight
         * - `weight_curve`: The weight function used to update the LBP weights. Currently,
         * there is only one weight function implemented, the linear function.
         * - `fee`: The trading fee charged on every trade distributed to `fee_collector`.
         * - `fee_collector`: The account to which trading fees will be transferred.
         * - `repay_target`: The amount of tokens to repay to separate fee_collector account. Until this amount is
         * reached, fee will be increased to 20% and taken from the pool
         *
         * Emits `PoolCreated` event when successful.
         *
         * BEWARE: We are taking the fee from the accumulated asset. If the accumulated asset is sold to the pool,
         * the fee cost is transferred to the pool. If its bought from the pool the buyer bears the cost.
         * This increases the price of the sold asset on every trade. Make sure to only run this with
         * previously illiquid assets.
         */
        "create_pool": {
            "pool_owner": SS58String;
            "asset_a": number;
            "asset_a_amount": bigint;
            "asset_b": number;
            "asset_b_amount": bigint;
            "initial_weight": number;
            "final_weight": number;
            "weight_curve": Anonymize<I9ismjef26dgjt>;
            "fee": Anonymize<I9jd27rnpm8ttv>;
            "fee_collector": SS58String;
            "repay_target": bigint;
        };
        /**
         * Update pool data of a pool.
         *
         * The dispatch origin for this call must be signed by the pool owner.
         *
         * The pool can be updated only if the sale has not already started.
         *
         * At least one of the following optional parameters has to be specified.
         *
         * Parameters:
         * - `pool_id`: The identifier of the pool to be updated.
         * - `start`: The new starting time of the sale. This parameter is optional.
         * - `end`: The new ending time of the sale. This parameter is optional.
         * - `initial_weight`: The new initial weight. This parameter is optional.
         * - `final_weight`: The new final weight. This parameter is optional.
         * - `fee`: The new trading fee charged on every trade. This parameter is optional.
         * - `fee_collector`: The new receiver of trading fees. This parameter is optional.
         *
         * Emits `PoolUpdated` event when successful.
         */
        "update_pool_data": {
            "pool_id": SS58String;
            "pool_owner"?: Anonymize<Ihfphjolmsqq1>;
            "start"?: Anonymize<I4arjljr6dpflb>;
            "end"?: Anonymize<I4arjljr6dpflb>;
            "initial_weight"?: Anonymize<I4arjljr6dpflb>;
            "final_weight"?: Anonymize<I4arjljr6dpflb>;
            "fee"?: Anonymize<Iep7au1720bm0e>;
            "fee_collector"?: Anonymize<Ihfphjolmsqq1>;
            "repay_target"?: Anonymize<I35p85j063s0il>;
        };
        /**
         * Add liquidity to a pool.
         *
         * Assets to add has to match the pool assets. At least one amount has to be non-zero.
         *
         * The dispatch origin for this call must be signed by the pool owner.
         *
         * Parameters:
         * - `pool_id`: The identifier of the pool
         * - `amount_a`: The identifier of the asset and the amount to add.
         * - `amount_b`: The identifier of the second asset and the amount to add.
         *
         * Emits `LiquidityAdded` event when successful.
         */
        "add_liquidity": {
            "amount_a": Anonymize<I4ojmnsk1dchql>;
            "amount_b": Anonymize<I4ojmnsk1dchql>;
        };
        /**
         * Transfer all the liquidity from a pool back to the pool owner and destroy the pool.
         * The pool data are also removed from the storage.
         *
         * The pool can't be destroyed during the sale.
         *
         * The dispatch origin for this call must be signed by the pool owner.
         *
         * Parameters:
         * - `amount_a`: The identifier of the asset and the amount to add.
         *
         * Emits 'LiquidityRemoved' when successful.
         */
        "remove_liquidity": {
            "pool_id": SS58String;
        };
        /**
         * Trade `asset_in` for `asset_out`.
         *
         * Executes a swap of `asset_in` for `asset_out`. Price is determined by the pool and is
         * affected by the amount and proportion of the pool assets and the weights.
         *
         * Trading `fee` is distributed to the `fee_collector`.
         *
         * Parameters:
         * - `asset_in`: The identifier of the asset being transferred from the account to the pool.
         * - `asset_out`: The identifier of the asset being transferred from the pool to the account.
         * - `amount`: The amount of `asset_in`
         * - `max_limit`: minimum amount of `asset_out` / amount of asset_out to be obtained from the pool in exchange for `asset_in`.
         *
         * Emits `SellExecuted` when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` when successful.
         */
        "sell": {
            "asset_in": number;
            "asset_out": number;
            "amount": bigint;
            "max_limit": bigint;
        };
        /**
         * Trade `asset_in` for `asset_out`.
         *
         * Executes a swap of `asset_in` for `asset_out`. Price is determined by the pool and is
         * affected by the amount and the proportion of the pool assets and the weights.
         *
         * Trading `fee` is distributed to the `fee_collector`.
         *
         * Parameters:
         * - `asset_in`: The identifier of the asset being transferred from the account to the pool.
         * - `asset_out`: The identifier of the asset being transferred from the pool to the account.
         * - `amount`: The amount of `asset_out`.
         * - `max_limit`: maximum amount of `asset_in` to be sold in exchange for `asset_out`.
         *
         * Emits `BuyExecuted` when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` when successful.
         */
        "buy": {
            "asset_in": number;
            "asset_out": number;
            "amount": bigint;
            "max_limit": bigint;
        };
    }>;
    "XYK": Enum<{
        /**
         * Create new pool for given asset pair.
         *
         * Registers new pool for given asset pair (`asset a` and `asset b`) in asset registry.
         * Asset registry creates new id or returns previously created one if such pool existed before.
         *
         * Pool is created with initial liquidity provided by `origin`.
         * Shares are issued with specified initial price and represents proportion of asset in the pool.
         *
         * Emits `PoolCreated` event when successful.
         */
        "create_pool": {
            "asset_a": number;
            "amount_a": bigint;
            "asset_b": number;
            "amount_b": bigint;
        };
        /**
         * Add liquidity to previously created asset pair pool.
         *
         * Shares are issued with current price.
         *
         * Emits `LiquidityAdded` event when successful.
         */
        "add_liquidity": {
            "asset_a": number;
            "asset_b": number;
            "amount_a": bigint;
            "amount_b_max_limit": bigint;
        };
        "add_liquidity_with_limits": {
            "asset_a": number;
            "asset_b": number;
            "amount_a": bigint;
            "amount_b_max_limit": bigint;
            "min_shares": bigint;
        };
        /**
         * Remove liquidity from specific liquidity pool in the form of burning shares.
         *
         * If liquidity in the pool reaches 0, it is destroyed.
         *
         * Emits 'LiquidityRemoved' when successful.
         * Emits 'PoolDestroyed' when pool is destroyed.
         */
        "remove_liquidity": {
            "asset_a": number;
            "asset_b": number;
            "share_amount": bigint;
        };
        "remove_liquidity_with_limits": {
            "asset_a": number;
            "asset_b": number;
            "share_amount": bigint;
            "min_amount_a": bigint;
            "min_amount_b": bigint;
        };
        /**
         * Trade asset in for asset out.
         *
         * Executes a swap of `asset_in` for `asset_out`. Price is determined by the liquidity pool.
         *
         * `max_limit` - minimum amount of `asset_out` / amount of asset_out to be obtained from the pool in exchange for `asset_in`.
         *
         * Emits `SellExecuted` when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` when successful.
         */
        "sell": {
            "asset_in": number;
            "asset_out": number;
            "amount": bigint;
            "max_limit": bigint;
            "discount": boolean;
        };
        /**
         * Trade asset in for asset out.
         *
         * Executes a swap of `asset_in` for `asset_out`. Price is determined by the liquidity pool.
         *
         * `max_limit` - maximum amount of `asset_in` to be sold in exchange for `asset_out`.
         * Emits `BuyExecuted` when successful. Deprecated.
         * Emits `pallet_broadcast::Swapped` when successful.
         */
        "buy": {
            "asset_in": number;
            "asset_out": number;
            "amount": bigint;
            "max_limit": bigint;
            "discount": boolean;
        };
    }>;
    "Referrals": Enum<{
        /**
         * Register new referral code.
         *
         * `origin` pays the registration fee.
         * `code` is assigned to the given `account`.
         *
         * Length of the `code` must be at least `T::MinCodeLength`.
         * Maximum length is limited to `T::CodeLength`.
         * `code` must contain only alfa-numeric characters and all characters will be converted to upper case.
         *
         * Parameters:
         * - `code`: Code to register. Must follow the restrictions.
         *
         * Emits `CodeRegistered` event when successful.
         */
        "register_code": Anonymize<I6pjjpfvhvcfru>;
        /**
         * Link a code to an account.
         *
         * `Code` must be valid registered code. Otherwise `InvalidCode` is returned.
         *
         * Signer account is linked to the referral account of the code.
         *
         * Parameters:
         * - `code`: Code to use to link the signer account to.
         *
         * Emits `CodeLinked` event when successful.
         */
        "link_code": Anonymize<I6pjjpfvhvcfru>;
        /**
         * Convert accrued asset amount to reward currency.
         *
         * Parameters:
         * - `asset_id`: Id of an asset to convert to RewardAsset.
         *
         * Emits `Converted` event when successful.
         */
        "convert": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Claim accumulated rewards
         *
         * IF there is any asset in the reward pot, all is converted to RewardCurrency first.
         *
         * Reward amount is calculated based on the shares of the signer account.
         *
         * if the signer account is referrer account, total accumulated rewards is updated as well as referrer level if reached.
         *
         * Emits `Claimed` event when successful.
         */
        "claim_rewards": undefined;
        /**
         * Set asset reward percentages
         *
         * Parameters:
         * - `asset_id`: asset id
         * - `level`: level
         * - `rewards`: reward fee percentages
         *
         * Emits `AssetRewardsUpdated` event when successful.
         */
        "set_reward_percentage": Anonymize<Ionfhf9va2t31>;
    }>;
    "Liquidation": Enum<{
        /**
         * Liquidates an existing money market position.
         *
         * Performs a flash loan to get funds to pay for the debt.
         * Received collateral is swapped and the profit is transferred to `FeeReceiver`.
         *
         * Parameters:
         * - `origin`: Signed origin.
         * - `collateral_asset`: Asset ID used as collateral in the MM position.
         * - `debt_asset`: Asset ID used as debt in the MM position.
         * - `user`: EVM address of the MM position that we want to liquidate.
         * - `debt_to_cover`: Amount of debt we want to liquidate.
         * - `route`: The route we trade against. Required for the fee calculation.
         *
         * Emits `Liquidated` event when successful.
         *
         */
        "liquidate": {
            "collateral_asset": number;
            "debt_asset": number;
            "user": FixedSizeBinary<20>;
            "debt_to_cover": bigint;
            "route": Anonymize<I7qjksqmdos4g7>;
        };
        /**
         * Set the borrowing market contract address.
         */
        "set_borrowing_contract": {
            "contract": FixedSizeBinary<20>;
        };
    }>;
    "Tokens": Enum<{
        /**
         * Transfer some liquid free balance to another account.
         *
         * `transfer` will set the `FreeBalance` of the sender and receiver.
         * It will decrease the total issuance of the system by the
         * `TransferFee`. If the sender's account is below the existential
         * deposit as a result of the transfer, the account will be reaped.
         *
         * The dispatch origin for this call must be `Signed` by the
         * transactor.
         *
         * - `dest`: The recipient of the transfer.
         * - `currency_id`: currency type.
         * - `amount`: free balance amount to tranfer.
         */
        "transfer": Anonymize<Ibbvcet1pv1l61>;
        /**
         * Transfer all remaining balance to the given account.
         *
         * NOTE: This function only attempts to transfer _transferable_
         * balances. This means that any locked, reserved, or existential
         * deposits (when `keep_alive` is `true`), will not be transferred by
         * this function. To ensure that this function results in a killed
         * account, you might need to prepare the account by removing any
         * reference counters, storage deposits, etc...
         *
         * The dispatch origin for this call must be `Signed` by the
         * transactor.
         *
         * - `dest`: The recipient of the transfer.
         * - `currency_id`: currency type.
         * - `keep_alive`: A boolean to determine if the `transfer_all`
         * operation should send all of the funds the account has, causing
         * the sender account to be killed (false), or transfer everything
         * except at least the existential deposit, which will guarantee to
         * keep the sender account alive (true).
         */
        "transfer_all": {
            "dest": SS58String;
            "currency_id": number;
            "keep_alive": boolean;
        };
        /**
         * Same as the [`transfer`] call, but with a check that the transfer
         * will not kill the origin account.
         *
         * 99% of the time you want [`transfer`] instead.
         *
         * The dispatch origin for this call must be `Signed` by the
         * transactor.
         *
         * - `dest`: The recipient of the transfer.
         * - `currency_id`: currency type.
         * - `amount`: free balance amount to tranfer.
         */
        "transfer_keep_alive": Anonymize<Ibbvcet1pv1l61>;
        /**
         * Exactly as `transfer`, except the origin must be root and the source
         * account may be specified.
         *
         * The dispatch origin for this call must be _Root_.
         *
         * - `source`: The sender of the transfer.
         * - `dest`: The recipient of the transfer.
         * - `currency_id`: currency type.
         * - `amount`: free balance amount to tranfer.
         */
        "force_transfer": {
            "source": SS58String;
            "dest": SS58String;
            "currency_id": number;
            "amount": bigint;
        };
        /**
         * Set the balances of a given account.
         *
         * This will alter `FreeBalance` and `ReservedBalance` in storage. it
         * will also decrease the total issuance of the system
         * (`TotalIssuance`). If the new free or reserved balance is below the
         * existential deposit, it will reap the `AccountInfo`.
         *
         * The dispatch origin for this call is `root`.
         */
        "set_balance": {
            "who": SS58String;
            "currency_id": number;
            "new_free": bigint;
            "new_reserved": bigint;
        };
    }>;
    "Currencies": Enum<{
        /**
         * Transfer some balance to another account under `currency_id`.
         *
         * The dispatch origin for this call must be `Signed` by the
         * transactor.
         */
        "transfer": Anonymize<Ibbvcet1pv1l61>;
        /**
         * Transfer some native currency to another account.
         *
         * The dispatch origin for this call must be `Signed` by the
         * transactor.
         */
        "transfer_native_currency": {
            "dest": SS58String;
            "amount": bigint;
        };
        /**
         * update amount of account `who` under `currency_id`.
         *
         * The dispatch origin of this call must be _Root_.
         */
        "update_balance": Anonymize<I24s4g6gkj5oec>;
    }>;
    "Vesting": Enum<{
        "claim": undefined;
        "vested_transfer": {
            "dest": SS58String;
            "schedule": Anonymize<I6k9mlgqa572np>;
        };
        "update_vesting_schedules": {
            "who": SS58String;
            "vesting_schedules": Array<Anonymize<I6k9mlgqa572np>>;
        };
        "claim_for": {
            "dest": SS58String;
        };
    }>;
    "EVM": Enum<{
        /**
         * Withdraw balance from EVM into currency/balances pallet.
         */
        "withdraw": {
            "address": FixedSizeBinary<20>;
            "value": bigint;
        };
        /**
         * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.
         */
        "call": {
            "source": FixedSizeBinary<20>;
            "target": FixedSizeBinary<20>;
            "input": Binary;
            "value": Anonymize<I4totqt881mlti>;
            "gas_limit": bigint;
            "max_fee_per_gas": Anonymize<I4totqt881mlti>;
            "max_priority_fee_per_gas"?: Anonymize<Ic4rgfgksgmm3e>;
            "nonce"?: Anonymize<Ic4rgfgksgmm3e>;
            "access_list": Anonymize<I1bsfec060j604>;
        };
        /**
         * Issue an EVM create operation. This is similar to a contract creation transaction in
         * Ethereum.
         */
        "create": {
            "source": FixedSizeBinary<20>;
            "init": Binary;
            "value": Anonymize<I4totqt881mlti>;
            "gas_limit": bigint;
            "max_fee_per_gas": Anonymize<I4totqt881mlti>;
            "max_priority_fee_per_gas"?: Anonymize<Ic4rgfgksgmm3e>;
            "nonce"?: Anonymize<Ic4rgfgksgmm3e>;
            "access_list": Anonymize<I1bsfec060j604>;
        };
        /**
         * Issue an EVM create2 operation.
         */
        "create2": {
            "source": FixedSizeBinary<20>;
            "init": Binary;
            "salt": FixedSizeBinary<32>;
            "value": Anonymize<I4totqt881mlti>;
            "gas_limit": bigint;
            "max_fee_per_gas": Anonymize<I4totqt881mlti>;
            "max_priority_fee_per_gas"?: Anonymize<Ic4rgfgksgmm3e>;
            "nonce"?: Anonymize<Ic4rgfgksgmm3e>;
            "access_list": Anonymize<I1bsfec060j604>;
        };
    }>;
    "Ethereum": Enum<{
        /**
         * Transact an Ethereum transaction.
         */
        "transact": {
            "transaction": Enum<{
                "Legacy": {
                    "nonce": Anonymize<I4totqt881mlti>;
                    "gas_price": Anonymize<I4totqt881mlti>;
                    "gas_limit": Anonymize<I4totqt881mlti>;
                    "action": Anonymize<I2do93a3gr3ege>;
                    "value": Anonymize<I4totqt881mlti>;
                    "input": Binary;
                    "signature": {
                        "v": bigint;
                        "r": FixedSizeBinary<32>;
                        "s": FixedSizeBinary<32>;
                    };
                };
                "EIP2930": {
                    "chain_id": bigint;
                    "nonce": Anonymize<I4totqt881mlti>;
                    "gas_price": Anonymize<I4totqt881mlti>;
                    "gas_limit": Anonymize<I4totqt881mlti>;
                    "action": Anonymize<I2do93a3gr3ege>;
                    "value": Anonymize<I4totqt881mlti>;
                    "input": Binary;
                    "access_list": Anonymize<Ieap15h2pjii9u>;
                    "odd_y_parity": boolean;
                    "r": FixedSizeBinary<32>;
                    "s": FixedSizeBinary<32>;
                };
                "EIP1559": {
                    "chain_id": bigint;
                    "nonce": Anonymize<I4totqt881mlti>;
                    "max_priority_fee_per_gas": Anonymize<I4totqt881mlti>;
                    "max_fee_per_gas": Anonymize<I4totqt881mlti>;
                    "gas_limit": Anonymize<I4totqt881mlti>;
                    "action": Anonymize<I2do93a3gr3ege>;
                    "value": Anonymize<I4totqt881mlti>;
                    "input": Binary;
                    "access_list": Anonymize<Ieap15h2pjii9u>;
                    "odd_y_parity": boolean;
                    "r": FixedSizeBinary<32>;
                    "s": FixedSizeBinary<32>;
                };
            }>;
        };
    }>;
    "EVMAccounts": Enum<{
        /**
         * Binds a Substrate address to EVM address.
         * After binding, the EVM is able to convert an EVM address to the original Substrate address.
         * Without binding, the EVM converts an EVM address to a truncated Substrate address, which doesn't correspond
         * to the origin address.
         *
         * Binding an address is not necessary for interacting with the EVM.
         *
         * Parameters:
         * - `origin`: Substrate account binding an address
         *
         * Emits `EvmAccountBound` event when successful.
         */
        "bind_evm_address": undefined;
        /**
         * Adds an EVM address to the list of addresses that are allowed to deploy smart contracts.
         *
         * Parameters:
         * - `origin`: Substrate account whitelisting an address. Must be `ControllerOrigin`.
         * - `address`: EVM address that is whitelisted
         *
         * Emits `DeployerAdded` event when successful.
         */
        "add_contract_deployer": Anonymize<Itmchvgqfl28g>;
        /**
         * Removes an EVM address from the list of addresses that are allowed to deploy smart contracts.
         *
         * Parameters:
         * - `origin`: Substrate account removing the EVM address from the whitelist. Must be `ControllerOrigin`.
         * - `address`: EVM address that is removed from the whitelist
         *
         * Emits `DeployerRemoved` event when successful.
         */
        "remove_contract_deployer": Anonymize<Itmchvgqfl28g>;
        /**
         * Removes the account's EVM address from the list of addresses that are allowed to deploy smart contracts.
         * Based on the best practices, this extrinsic can be called by any whitelisted account to renounce their own permission.
         *
         * Parameters:
         * - `origin`: Substrate account removing their EVM address from the whitelist.
         *
         * Emits `DeployerRemoved` event when successful.
         */
        "renounce_contract_deployer": undefined;
        /**
         * Adds address of the contract to the list of approved contracts to manage balances.
         *
         * Effectively giving it allowance to for any balances and tokens.
         *
         * Parameters:
         * - `origin`:  Must be `ControllerOrigin`.
         * - `address`: Contract address that will be approved
         *
         * Emits `ContractApproved` event when successful.
         */
        "approve_contract": Anonymize<Itmchvgqfl28g>;
        /**
         * Removes address of the contract from the list of approved contracts to manage balances.
         *
         * Parameters:
         * - `origin`:  Must be `ControllerOrigin`.
         * - `address`: Contract address that will be disapproved
         *
         * Emits `ContractDisapproved` event when successful.
         */
        "disapprove_contract": Anonymize<Itmchvgqfl28g>;
    }>;
    "XYKLiquidityMining": Enum<{
        /**
         * Create new liquidity mining program with provided parameters.
         *
         * `owner` account has to have at least `total_rewards` balance. This fund will be
         * transferred from `owner` to farm account.
         * In case of `reward_currency` is insufficient asset, farm's `owner` has to pay existential
         * deposit for global farm account and for liquidity mining `pot` account.
         *
         * The dispatch origin for this call must be `T::CreateOrigin`.
         * !!!WARN: `T::CreateOrigin` has power over funds of `owner`'s account and it should be
         * configured to trusted origin e.g Sudo or Governance.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `total_rewards`: total rewards planned to distribute. This rewards will be
         * distributed between all yield farms in the global farm.
         * - `planned_yielding_periods`: planned number of periods to distribute `total_rewards`.
         * WARN: THIS IS NOT HARD DEADLINE. Not all rewards have to be distributed in
         * `planned_yielding_periods`. Rewards are distributed based on the situation in the yield
         * farms and can be distributed in a longer time frame but never in the shorter time frame.
         * - `blocks_per_period`:  number of blocks in a single period. Min. number of blocks per
         * period is 1.
         * - `incentivized_asset`: asset to be incentivized in XYK pools. All yield farms added into
         * liq. mining program have to have `incentivized_asset` in their pair.
         * - `reward_currency`: payoff currency of rewards.
         * - `owner`: liq. mining program owner.
         * - `yield_per_period`: percentage return on `reward_currency` of all farms p.a.
         * - `min_deposit`: minimum amount which can be deposited to the farm
         * - `price_adjustment`:
         * Emits `GlobalFarmCreated` event when successful.
         */
        "create_global_farm": {
            "total_rewards": bigint;
            "planned_yielding_periods": number;
            "blocks_per_period": number;
            "incentivized_asset": number;
            "reward_currency": number;
            "owner": SS58String;
            "yield_per_period": bigint;
            "min_deposit": bigint;
            "price_adjustment": bigint;
        };
        /**
         * Update global farm's prices adjustment.
         *
         * Only farm's owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: id of the global farm to update
         * - `price_adjustment`: new value for price adjustment
         *
         * Emits `GlobalFarmUpdated` event when successful.
         */
        "update_global_farm": {
            "global_farm_id": number;
            "price_adjustment": bigint;
        };
        /**
         * Terminate existing liq. mining program.
         *
         * Only farm owner can perform this action.
         *
         * WARN: To successfully terminate a farm, farm have to be empty(all yield farms in he global farm must be terminated).
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: id of global farm to be terminated.
         *
         * Emits `GlobalFarmTerminated` event when successful.
         */
        "terminate_global_farm": Anonymize<I9q8qmop6bko5m>;
        /**
         * Add yield farm for given `asset_pair` XYK pool.
         *
         * Only farm owner can perform this action.
         *
         * Only XYKs with `asset_pair` with `incentivized_asset` can be added into the farm. XYK
         * pool for `asset_pair` has to exist to successfully create yield farm.
         * Yield farm for same `asset_pair` can exist only once in the global farm.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `farm_id`: global farm id to which a yield farm will be added.
         * - `asset_pair`: asset pair identifying yield farm. Liq. mining will be allowed for this
         * `asset_pair` and one of the assets in the pair must be `incentivized_asset`.
         * - `multiplier`: yield farm multiplier.
         * - `loyalty_curve`: curve to calculate loyalty multiplier to distribute rewards to users
         * with time incentive. `None` means no loyalty multiplier.
         *
         * Emits `YieldFarmCreated` event when successful.
         */
        "create_yield_farm": {
            "global_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "multiplier": bigint;
            "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
        };
        /**
         * Update yield farm multiplier.
         *
         * Only farm owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: global farm id in which yield farm will be updated.
         * - `asset_pair`: asset pair identifying yield farm in global farm.
         * - `multiplier`: new yield farm multiplier.
         *
         * Emits `YieldFarmUpdated` event when successful.
         */
        "update_yield_farm": {
            "global_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "multiplier": bigint;
        };
        /**
         * Stop liq. miming for specific yield farm.
         *
         * This function claims rewards from `GlobalFarm` last time and stops yield farm
         * incentivization from a `GlobalFarm`. Users will be able to only withdraw
         * shares(with claiming) after calling this function.
         * `deposit_shares()` and `claim_rewards()` are not allowed on canceled yield farm.
         *
         * Only farm owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: farm id in which yield farm will be canceled.
         * - `asset_pair`: asset pair identifying yield farm in the farm.
         *
         * Emits `YieldFarmStopped` event when successful.
         */
        "stop_yield_farm": {
            "global_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
        };
        /**
         * Resume yield farm for stopped yield farm.
         *
         * This function resume incentivization from `GlobalFarm` and restore full functionality
         * for yield farm. Users will be able to deposit, claim and withdraw again.
         *
         * WARN: Yield farm is NOT rewarded for time it was stopped.
         *
         * Only farm owner can perform this action.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: global farm id in which yield farm will be resumed.
         * - `yield_farm_id`: id of yield farm to be resumed.
         * - `asset_pair`: asset pair identifying yield farm in global farm.
         * - `multiplier`: yield farm multiplier in the farm.
         *
         * Emits `YieldFarmResumed` event when successful.
         */
        "resume_yield_farm": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "multiplier": bigint;
        };
        /**
         * Remove yield farm
         *
         * This function marks a yield farm as ready to be removed from storage when it's empty. Users will
         * be able to only withdraw shares(without claiming rewards from yield farm). Unpaid rewards
         * will be transferred back to global farm and will be used to distribute to other yield farms.
         *
         * Yield farm must be stopped before calling this function.
         *
         * Only global farm's owner can perform this action. Yield farm stays in the storage until it's
         * empty(all farm entries are withdrawn). Last withdrawn from yield farm trigger removing from
         * the storage.
         *
         * Parameters:
         * - `origin`: global farm's owner.
         * - `global_farm_id`: farm id from which yield farm should be terminated.
         * - `yield_farm_id`: id of yield farm to be terminated.
         * - `asset_pair`: asset pair identifying yield farm in the global farm.
         *
         * Emits `YieldFarmTerminated` event when successful.
         */
        "terminate_yield_farm": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
        };
        /**
         * Deposit LP shares to a liq. mining.
         *
         * This function transfers LP shares from `origin` to pallet's account and mint nft for
         * `origin` account. Minted nft represents deposit in the liq. mining.
         *
         * Parameters:
         * - `origin`: account depositing LP shares. This account has to have at least
         * `shares_amount` of LP shares.
         * - `global_farm_id`: id of global farm to which user wants to deposit LP shares.
         * - `yield_farm_id`: id of yield farm to deposit to.
         * - `asset_pair`: asset pair identifying LP shares user wants to deposit.
         * - `shares_amount`: amount of LP shares user wants to deposit.
         *
         * Emits `SharesDeposited` event when successful.
         */
        "deposit_shares": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "shares_amount": bigint;
        };
        /**
         * Join multiple farms with a given share amount
         *
         * The share is deposited to the first farm of the specified fams,
         * and then redeposit the shares to the remaining farms
         *
         * Parameters:
         * - `origin`: account depositing LP shares. This account has to have at least
         * - `farm_entries`: list of global farm id and yield farm id pairs to join
         * - `asset_pair`: asset pair identifying LP shares user wants to deposit.
         * - `shares_amount`: amount of LP shares user wants to deposit.
         *
         * Emits `SharesDeposited` event for the first farm entry
         * Emits `SharesRedeposited` event for each farm entry after the first one
         */
        "join_farms": {
            "farm_entries": Anonymize<I95g6i7ilua7lq>;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "shares_amount": bigint;
        };
        /**
         * Add liquidity to XYK pool and join multiple farms with a given share amount
         *
         * The share is deposited to the first farm of the specified entries,
         * and then redeposit the shares to the remaining farms
         *
         * Parameters:
         * - `origin`: account depositing LP shares. This account has to have at least
         * - `asset_a`: asset id of the first asset in the pair
         * - `asset_b`: asset id of the second asset in the pair
         * - `amount_a`: amount of the first asset to deposit
         * - `amount_b_max_limit`: maximum amount of the second asset to deposit
         * - `farm_entries`: list of global farm id and yield farm id pairs to join
         *
         * Emits `SharesDeposited` event for the first farm entry
         * Emits `SharesRedeposited` event for each farm entry after the first one
         */
        "add_liquidity_and_join_farms": {
            "asset_a": number;
            "asset_b": number;
            "amount_a": bigint;
            "amount_b_max_limit": bigint;
            "farm_entries": Anonymize<I95g6i7ilua7lq>;
        };
        /**
         * Redeposit already locked LP shares to another yield farm.
         *
         * This function create yield farm entry for existing deposit. LP shares are not transferred
         * and amount of LP shares is based on existing deposit.
         *
         * This function DOESN'T create new deposit.
         *
         * Parameters:
         * - `origin`: account depositing LP shares. This account have to have at least
         * - `global_farm_id`: global farm identifier.
         * - `yield_farm_id`: yield farm identifier redepositing to.
         * - `asset_pair`: asset pair identifying LP shares user want to deposit.
         * - `deposit_id`: identifier of the deposit.
         *
         * Emits `SharesRedeposited` event when successful.
         */
        "redeposit_shares": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "deposit_id": bigint;
        };
        /**
         * Claim rewards from liq. mining for deposit represented by `nft_id`.
         *
         * This function calculate user rewards from liq. mining and transfer rewards to `origin`
         * account. Claiming in the same period is allowed only once.
         *
         * Parameters:
         * - `origin`: account owner of deposit(nft).
         * - `deposit_id`: nft id representing deposit in the yield farm.
         * - `yield_farm_id`: yield farm identifier to claim rewards from.
         *
         * Emits `RewardClaimed` event when successful.
         */
        "claim_rewards": Anonymize<I2k37dcoppgins>;
        /**
         * Withdraw LP shares from liq. mining with reward claiming if possible.
         *
         * List of possible cases of transfers of LP shares and claimed rewards:
         *
         * * yield farm is active(yield farm is not stopped) - claim and transfer rewards(if it
         * wasn't claimed in this period) and transfer LP shares.
         * * liq. mining is stopped - claim and transfer rewards(if it
         * wasn't claimed in this period) and transfer LP shares.
         * * yield farm was terminated - only LP shares will be transferred.
         * * farm was terminated - only LP shares will be transferred.
         *
         * User's unclaimable rewards will be transferred back to global farm's account.
         *
         * Parameters:
         * - `origin`: account owner of deposit(nft).
         * - `deposit_id`: nft id representing deposit in the yield farm.
         * - `yield_farm_id`: yield farm identifier to dithdraw shares from.
         * - `asset_pair`: asset pair identifying yield farm in global farm.
         *
         * Emits:
         * * `RewardClaimed` if claim happen
         * * `SharesWithdrawn` event when successful
         */
        "withdraw_shares": {
            "deposit_id": bigint;
            "yield_farm_id": number;
            "asset_pair": Anonymize<I4kv0johj9i346>;
        };
        /**
         * Exit from all specified yield farms
         *
         * This function will attempt to withdraw shares and claim rewards (if available) from all
         * specified yield farms for a given deposit.
         *
         * Parameters:
         * - `origin`: account owner of deposit(nft).
         * - `deposit_id`: nft id representing deposit in the yield farm.
         * - `asset_pair`: asset pair identifying yield farm(s) in global farm(s).
         * - `farm_entries`: id(s) of yield farm(s) to exit from.
         *
         * Emits:
         * * `RewardClaimed` for each successful claim
         * * `SharesWithdrawn` for each successful withdrawal
         * * `DepositDestroyed` if the deposit is fully withdrawn
         *
         */
        "exit_farms": {
            "deposit_id": bigint;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "farm_entries": Anonymize<Icgljjb6j82uhn>;
        };
    }>;
    "XYKWarehouseLM": undefined;
    "RelayChainInfo": undefined;
    "DCA": Anonymize<Icv71jko2qbiu2>;
    "Scheduler": Enum<{
        /**
         * Anonymously schedule a task.
         */
        "schedule": {
            "when": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Cancel an anonymously scheduled task.
         */
        "cancel": Anonymize<I5n4sebgkfr760>;
        /**
         * Schedule a named task.
         */
        "schedule_named": {
            "id": FixedSizeBinary<32>;
            "when": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Cancel a named scheduled task.
         */
        "cancel_named": {
            "id": FixedSizeBinary<32>;
        };
        /**
         * Anonymously schedule a task after a delay.
         */
        "schedule_after": {
            "after": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Schedule a named task after a delay.
         */
        "schedule_named_after": {
            "id": FixedSizeBinary<32>;
            "after": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Set a retry configuration for a task so that, in case its scheduled run fails, it will
         * be retried after `period` blocks, for a total amount of `retries` retries or until it
         * succeeds.
         *
         * Tasks which need to be scheduled for a retry are still subject to weight metering and
         * agenda space, same as a regular task. If a periodic task fails, it will be scheduled
         * normally while the task is retrying.
         *
         * Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic
         * clones of the original task. Their retry configuration will be derived from the
         * original task's configuration, but will have a lower value for `remaining` than the
         * original `total_retries`.
         */
        "set_retry": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "retries": number;
            "period": number;
        };
        /**
         * Set a retry configuration for a named task so that, in case its scheduled run fails, it
         * will be retried after `period` blocks, for a total amount of `retries` retries or until
         * it succeeds.
         *
         * Tasks which need to be scheduled for a retry are still subject to weight metering and
         * agenda space, same as a regular task. If a periodic task fails, it will be scheduled
         * normally while the task is retrying.
         *
         * Tasks scheduled as a result of a retry for a periodic task are unnamed, non-periodic
         * clones of the original task. Their retry configuration will be derived from the
         * original task's configuration, but will have a lower value for `remaining` than the
         * original `total_retries`.
         */
        "set_retry_named": {
            "id": FixedSizeBinary<32>;
            "retries": number;
            "period": number;
        };
        /**
         * Removes the retry configuration of a task.
         */
        "cancel_retry": {
            "task": Anonymize<I9jd27rnpm8ttv>;
        };
        /**
         * Cancel the retry configuration of a named task.
         */
        "cancel_retry_named": {
            "id": FixedSizeBinary<32>;
        };
    }>;
    "ParachainSystem": Enum<{
        /**
         * Set the current validation data.
         *
         * This should be invoked exactly once per block. It will panic at the finalization
         * phase if the call was not invoked.
         *
         * The dispatch origin for this call must be `Inherent`
         *
         * As a side effect, this function upgrades the current validation function
         * if the appropriate time has come.
         */
        "set_validation_data": {
            "data": {
                "validation_data": Anonymize<Ifn6q3equiq9qi>;
                "relay_chain_state": Anonymize<Itom7fk49o0c9>;
                "downward_messages": Array<{
                    "sent_at": number;
                    "msg": Binary;
                }>;
                "horizontal_messages": Array<[number, Array<{
                    "sent_at": number;
                    "data": Binary;
                }>]>;
            };
        };
        "sudo_send_upward_message": {
            "message": Binary;
        };
    }>;
    "ParachainInfo": undefined;
    "PolkadotXcm": Enum<{
        "send": Anonymize<I9paqujeb1fpv6>;
        /**
         * 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": {
            "dest": XcmVersionedLocation;
            "beneficiary": XcmVersionedLocation;
            "assets": XcmVersionedAssets;
            "fee_asset_item": number;
        };
        /**
         * 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": {
            "dest": XcmVersionedLocation;
            "beneficiary": XcmVersionedLocation;
            "assets": XcmVersionedAssets;
            "fee_asset_item": number;
        };
        /**
         * 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": {
            "message": XcmVersionedXcm;
            "max_weight": Anonymize<I4q39t5hn830vp>;
        };
        /**
         * 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": Anonymize<Iabk8ljl5g8c86>;
        /**
         * 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": {
            "maybe_xcm_version"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * 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": {
            "location": XcmVersionedLocation;
        };
        /**
         * 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": {
            "location": XcmVersionedLocation;
        };
        /**
         * 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": {
            "dest": XcmVersionedLocation;
            "beneficiary": XcmVersionedLocation;
            "assets": XcmVersionedAssets;
            "fee_asset_item": number;
            "weight_limit": XcmV3WeightLimit;
        };
        /**
         * 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": {
            "dest": XcmVersionedLocation;
            "beneficiary": XcmVersionedLocation;
            "assets": XcmVersionedAssets;
            "fee_asset_item": number;
            "weight_limit": XcmV3WeightLimit;
        };
        /**
         * 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": {
            "suspended": boolean;
        };
        /**
         * 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": {
            "dest": XcmVersionedLocation;
            "beneficiary": XcmVersionedLocation;
            "assets": XcmVersionedAssets;
            "fee_asset_item": number;
            "weight_limit": XcmV3WeightLimit;
        };
        /**
         * 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": {
            "assets": XcmVersionedAssets;
            "beneficiary": XcmVersionedLocation;
        };
        /**
         * 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": {
            "dest": XcmVersionedLocation;
            "assets": XcmVersionedAssets;
            "assets_transfer_type": Enum<{
                "Teleport": undefined;
                "LocalReserve": undefined;
                "DestinationReserve": undefined;
                "RemoteReserve": XcmVersionedLocation;
            }>;
            "remote_fees_id": XcmVersionedAssetId;
            "fees_transfer_type": Enum<{
                "Teleport": undefined;
                "LocalReserve": undefined;
                "DestinationReserve": undefined;
                "RemoteReserve": XcmVersionedLocation;
            }>;
            "custom_xcm_on_dest": XcmVersionedXcm;
            "weight_limit": XcmV3WeightLimit;
        };
    }>;
    "CumulusXcm": undefined;
    "MessageQueue": Enum<{
        /**
         * Remove a page which has no more messages remaining to be processed or is stale.
         */
        "reap_page": {
            "message_origin": Anonymize<Iejeo53sea6n4q>;
            "page_index": number;
        };
        /**
         * Execute an overweight message.
         *
         * Temporary processing errors will be propagated whereas permanent errors are treated
         * as success condition.
         *
         * - `origin`: Must be `Signed`.
         * - `message_origin`: The origin from which the message to be executed arrived.
         * - `page`: The page in the queue in which the message to be executed is sitting.
         * - `index`: The index into the queue of the message to be executed.
         * - `weight_limit`: The maximum amount of weight allowed to be consumed in the execution
         * of the message.
         *
         * Benchmark complexity considerations: O(index + weight_limit).
         */
        "execute_overweight": {
            "message_origin": Anonymize<Iejeo53sea6n4q>;
            "page": number;
            "index": number;
            "weight_limit": Anonymize<I4q39t5hn830vp>;
        };
    }>;
    "OrmlXcm": Enum<{
        /**
         * Send an XCM message as parachain sovereign.
         */
        "send_as_sovereign": Anonymize<I9paqujeb1fpv6>;
    }>;
    "XTokens": Enum<{
        /**
         * Transfer native currencies.
         *
         * `dest_weight_limit` is the weight for XCM execution on the dest
         * chain, and it would be charged from the transferred assets. If set
         * below requirements, the execution may fail and assets wouldn't be
         * received.
         *
         * It's a no-op if any error on local XCM execution or message sending.
         * Note sending assets out per se doesn't guarantee they would be
         * received. Receiving depends on if the XCM message could be delivered
         * by the network, and if the receiving chain would handle
         * messages correctly.
         */
        "transfer": {
            "currency_id": number;
            "amount": bigint;
            "dest": XcmVersionedLocation;
            "dest_weight_limit": XcmV3WeightLimit;
        };
        /**
         * Transfer `Asset`.
         *
         * `dest_weight_limit` is the weight for XCM execution on the dest
         * chain, and it would be charged from the transferred assets. If set
         * below requirements, the execution may fail and assets wouldn't be
         * received.
         *
         * It's a no-op if any error on local XCM execution or message sending.
         * Note sending assets out per se doesn't guarantee they would be
         * received. Receiving depends on if the XCM message could be delivered
         * by the network, and if the receiving chain would handle
         * messages correctly.
         */
        "transfer_multiasset": {
            "asset": Anonymize<Ikdf7s28ij7ts>;
            "dest": XcmVersionedLocation;
            "dest_weight_limit": XcmV3WeightLimit;
        };
        /**
         * Transfer native currencies specifying the fee and amount as
         * separate.
         *
         * `dest_weight_limit` is the weight for XCM execution on the dest
         * chain, and it would be charged from the transferred assets. If set
         * below requirements, the execution may fail and assets wouldn't be
         * received.
         *
         * `fee` is the amount to be spent to pay for execution in destination
         * chain. Both fee and amount will be subtracted form the callers
         * balance.
         *
         * If `fee` is not high enough to cover for the execution costs in the
         * destination chain, then the assets will be trapped in the
         * destination chain
         *
         * It's a no-op if any error on local XCM execution or message sending.
         * Note sending assets out per se doesn't guarantee they would be
         * received. Receiving depends on if the XCM message could be delivered
         * by the network, and if the receiving chain would handle
         * messages correctly.
         */
        "transfer_with_fee": {
            "currency_id": number;
            "amount": bigint;
            "fee": bigint;
            "dest": XcmVersionedLocation;
            "dest_weight_limit": XcmV3WeightLimit;
        };
        /**
         * Transfer `Asset` specifying the fee and amount as separate.
         *
         * `dest_weight_limit` is the weight for XCM execution on the dest
         * chain, and it would be charged from the transferred assets. If set
         * below requirements, the execution may fail and assets wouldn't be
         * received.
         *
         * `fee` is the Asset to be spent to pay for execution in
         * destination chain. Both fee and amount will be subtracted form the
         * callers balance For now we only accept fee and asset having the same
         * `Location` id.
         *
         * If `fee` is not high enough to cover for the execution costs in the
         * destination chain, then the assets will be trapped in the
         * destination chain
         *
         * It's a no-op if any error on local XCM execution or message sending.
         * Note sending assets out per se doesn't guarantee they would be
         * received. Receiving depends on if the XCM message could be delivered
         * by the network, and if the receiving chain would handle
         * messages correctly.
         */
        "transfer_multiasset_with_fee": {
            "asset": Anonymize<Ikdf7s28ij7ts>;
            "fee": Anonymize<Ikdf7s28ij7ts>;
            "dest": XcmVersionedLocation;
            "dest_weight_limit": XcmV3WeightLimit;
        };
        /**
         * Transfer several currencies specifying the item to be used as fee
         *
         * `dest_weight_limit` is the weight for XCM execution on the dest
         * chain, and it would be charged from the transferred assets. If set
         * below requirements, the execution may fail and assets wouldn't be
         * received.
         *
         * `fee_item` is index of the currencies tuple that we want to use for
         * payment
         *
         * It's a no-op if any error on local XCM execution or message sending.
         * Note sending assets out per se doesn't guarantee they would be
         * received. Receiving depends on if the XCM message could be delivered
         * by the network, and if the receiving chain would handle
         * messages correctly.
         */
        "transfer_multicurrencies": {
            "currencies": Array<Anonymize<I4ojmnsk1dchql>>;
            "fee_item": number;
            "dest": XcmVersionedLocation;
            "dest_weight_limit": XcmV3WeightLimit;
        };
        /**
         * Transfer several `Asset` specifying the item to be used as fee
         *
         * `dest_weight_limit` is the weight for XCM execution on the dest
         * chain, and it would be charged from the transferred assets. If set
         * below requirements, the execution may fail and assets wouldn't be
         * received.
         *
         * `fee_item` is index of the Assets that we want to use for
         * payment
         *
         * It's a no-op if any error on local XCM execution or message sending.
         * Note sending assets out per se doesn't guarantee they would be
         * received. Receiving depends on if the XCM message could be delivered
         * by the network, and if the receiving chain would handle
         * messages correctly.
         */
        "transfer_multiassets": {
            "assets": XcmVersionedAssets;
            "fee_item": number;
            "dest": XcmVersionedLocation;
            "dest_weight_limit": XcmV3WeightLimit;
        };
    }>;
    "CollatorSelection": Enum<{
        /**
         * Set the list of invulnerable (fixed) collators. These collators must do some
         * preparation, namely to have registered session keys.
         *
         * The call will remove any accounts that have not registered keys from the set. That is,
         * it is non-atomic; the caller accepts all `AccountId`s passed in `new` _individually_ as
         * acceptable Invulnerables, and is not proposing a _set_ of new Invulnerables.
         *
         * This call does not maintain mutual exclusivity of `Invulnerables` and `Candidates`. It
         * is recommended to use a batch of `add_invulnerable` and `remove_invulnerable` instead. A
         * `batch_all` can also be used to enforce atomicity. If any candidates are included in
         * `new`, they should be removed with `remove_invulnerable_candidate` after execution.
         *
         * Must be called by the `UpdateOrigin`.
         */
        "set_invulnerables": {
            "new": Anonymize<Ia2lhg7l2hilo3>;
        };
        /**
         * Set the ideal number of non-invulnerable collators. If lowering this number, then the
         * number of running collators could be higher than this figure. Aside from that edge case,
         * there should be no other way to have more candidates than the desired number.
         *
         * The origin for this call must be the `UpdateOrigin`.
         */
        "set_desired_candidates": {
            "max": number;
        };
        /**
         * Set the candidacy bond amount.
         *
         * If the candidacy bond is increased by this call, all current candidates which have a
         * deposit lower than the new bond will be kicked from the list and get their deposits
         * back.
         *
         * The origin for this call must be the `UpdateOrigin`.
         */
        "set_candidacy_bond": {
            "bond": bigint;
        };
        /**
         * Register this account as a collator candidate. The account must (a) already have
         * registered session keys and (b) be able to reserve the `CandidacyBond`.
         *
         * This call is not available to `Invulnerable` collators.
         */
        "register_as_candidate": undefined;
        /**
         * Deregister `origin` as a collator candidate. Note that the collator can only leave on
         * session change. The `CandidacyBond` will be unreserved immediately.
         *
         * This call will fail if the total number of candidates would drop below
         * `MinEligibleCollators`.
         */
        "leave_intent": undefined;
        /**
         * Add a new account `who` to the list of `Invulnerables` collators. `who` must have
         * registered session keys. If `who` is a candidate, they will be removed.
         *
         * The origin for this call must be the `UpdateOrigin`.
         */
        "add_invulnerable": Anonymize<I4cbvqmqadhrea>;
        /**
         * Remove an account `who` from the list of `Invulnerables` collators. `Invulnerables` must
         * be sorted.
         *
         * The origin for this call must be the `UpdateOrigin`.
         */
        "remove_invulnerable": Anonymize<I4cbvqmqadhrea>;
        /**
         * Update the candidacy bond of collator candidate `origin` to a new amount `new_deposit`.
         *
         * Setting a `new_deposit` that is lower than the current deposit while `origin` is
         * occupying a top-`DesiredCandidates` slot is not allowed.
         *
         * This call will fail if `origin` is not a collator candidate, the updated bond is lower
         * than the minimum candidacy bond, and/or the amount cannot be reserved.
         */
        "update_bond": {
            "new_deposit": bigint;
        };
        /**
         * The caller `origin` replaces a candidate `target` in the collator candidate list by
         * reserving `deposit`. The amount `deposit` reserved by the caller must be greater than
         * the existing bond of the target it is trying to replace.
         *
         * This call will fail if the caller is already a collator candidate or invulnerable, the
         * caller does not have registered session keys, the target is not a collator candidate,
         * and/or the `deposit` amount cannot be reserved.
         */
        "take_candidate_slot": {
            "deposit": bigint;
            "target": SS58String;
        };
    }>;
    "Session": Enum<{
        /**
         * Sets the session key(s) of the function caller to `keys`.
         * Allows an account to set its session key prior to becoming a validator.
         * This doesn't take effect until the next session.
         *
         * The dispatch origin of this function must be signed.
         *
         * ## Complexity
         * - `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is
         * fixed.
         */
        "set_keys": {
            "keys": FixedSizeBinary<32>;
            "proof": Binary;
        };
        /**
         * Removes any session key(s) of the function caller.
         *
         * This doesn't take effect until the next session.
         *
         * The dispatch origin of this function must be Signed and the account must be either be
         * convertible to a validator ID using the chain's typical addressing system (this usually
         * means being a controller account) or directly convertible into a validator ID (which
         * usually means being a stash account).
         *
         * ## Complexity
         * - `O(1)` in number of key types. Actual cost depends on the number of length of
         * `T::Keys::key_ids()` which is fixed.
         */
        "purge_keys": undefined;
    }>;
    "EmaOracle": Enum<{
        "add_oracle": Anonymize<Iabgdocrka40v9>;
        "remove_oracle": Anonymize<Iabgdocrka40v9>;
        "update_bifrost_oracle": {
            "asset_a": XcmVersionedLocation;
            "asset_b": XcmVersionedLocation;
            "price": Anonymize<I200n1ov5tbcvr>;
        };
    }>;
    "Broadcast": undefined;
}>;
export type I6pjjpfvhvcfru = {
    "code": Binary;
};
export type Itom7fk49o0c9 = Array<Binary>;
export type Id5fm4p8lj5qgi = {
    "who": SS58String;
    "amount": bigint;
};
export type Ia2lhg7l2hilo3 = Array<SS58String>;
export type BalancesAdjustmentDirection = Enum<{
    "Increase": undefined;
    "Decrease": undefined;
}>;
export declare const BalancesAdjustmentDirection: GetEnum<BalancesAdjustmentDirection>;
export type I6v8sm60vvkmk7 = {
    "account_id": SS58String;
};
export type I4totqt881mlti = FixedSizeArray<4, bigint>;
export type I666bl2fqjkejo = {
    "index": number;
};
export type I1jm8m1rh9e20v = {
    "hash": FixedSizeBinary<32>;
};
export type IdentityData = Enum<{
    "None": undefined;
    "Raw0": undefined;
    "Raw1": number;
    "Raw2": FixedSizeBinary<2>;
    "Raw3": FixedSizeBinary<3>;
    "Raw4": FixedSizeBinary<4>;
    "Raw5": FixedSizeBinary<5>;
    "Raw6": FixedSizeBinary<6>;
    "Raw7": FixedSizeBinary<7>;
    "Raw8": FixedSizeBinary<8>;
    "Raw9": FixedSizeBinary<9>;
    "Raw10": FixedSizeBinary<10>;
    "Raw11": FixedSizeBinary<11>;
    "Raw12": FixedSizeBinary<12>;
    "Raw13": FixedSizeBinary<13>;
    "Raw14": FixedSizeBinary<14>;
    "Raw15": FixedSizeBinary<15>;
    "Raw16": FixedSizeBinary<16>;
    "Raw17": FixedSizeBinary<17>;
    "Raw18": FixedSizeBinary<18>;
    "Raw19": FixedSizeBinary<19>;
    "Raw20": FixedSizeBinary<20>;
    "Raw21": FixedSizeBinary<21>;
    "Raw22": FixedSizeBinary<22>;
    "Raw23": FixedSizeBinary<23>;
    "Raw24": FixedSizeBinary<24>;
    "Raw25": FixedSizeBinary<25>;
    "Raw26": FixedSizeBinary<26>;
    "Raw27": FixedSizeBinary<27>;
    "Raw28": FixedSizeBinary<28>;
    "Raw29": FixedSizeBinary<29>;
    "Raw30": FixedSizeBinary<30>;
    "Raw31": FixedSizeBinary<31>;
    "Raw32": FixedSizeBinary<32>;
    "BlakeTwo256": FixedSizeBinary<32>;
    "Sha256": FixedSizeBinary<32>;
    "Keccak256": FixedSizeBinary<32>;
    "ShaThree256": FixedSizeBinary<32>;
}>;
export declare const IdentityData: GetEnum<IdentityData>;
export type IdentityJudgement = Enum<{
    "Unknown": undefined;
    "FeePaid": bigint;
    "Reasonable": undefined;
    "KnownGood": undefined;
    "OutOfDate": undefined;
    "LowQuality": undefined;
    "Erroneous": undefined;
}>;
export declare const IdentityJudgement: GetEnum<IdentityJudgement>;
export type I14p0q0qs0fqbj = {
    "target": SS58String;
};
export type I2rg5btjrsqec0 = {
    "authority": SS58String;
};
export type MultiSignature = Enum<{
    "Ed25519": FixedSizeBinary<64>;
    "Sr25519": FixedSizeBinary<64>;
    "Ecdsa": FixedSizeBinary<65>;
}>;
export declare const MultiSignature: GetEnum<MultiSignature>;
export type PreimagesBounded = Enum<{
    "Legacy": Anonymize<I1jm8m1rh9e20v>;
    "Inline": Binary;
    "Lookup": {
        "hash": FixedSizeBinary<32>;
        "len": number;
    };
}>;
export declare const PreimagesBounded: GetEnum<PreimagesBounded>;
export type Ia9hdots6g53fs = AnonymousEnum<{
    "Standard": Anonymize<Ib024p97ls1cla>;
    "Split": Anonymize<I5pi71t9bosoiv>;
}>;
export type Ib024p97ls1cla = {
    "vote": number;
    "balance": bigint;
};
export type I5pi71t9bosoiv = {
    "aye": bigint;
    "nay": bigint;
};
export type Ied9mja4bq7va8 = {
    "ref_index": number;
};
export type I2ev73t79f46tb = {
    "proposal_hash": FixedSizeBinary<32>;
};
export type VotingConviction = Enum<{
    "None": undefined;
    "Locked1x": undefined;
    "Locked2x": undefined;
    "Locked3x": undefined;
    "Locked4x": undefined;
    "Locked5x": undefined;
    "Locked6x": undefined;
}>;
export declare const VotingConviction: GetEnum<VotingConviction>;
export type I9mnj4k4u8ls2c = {
    "prop_index": number;
};
export type I2itl2k1j2q8nf = AnonymousEnum<{
    "External": undefined;
    "Proposal": number;
    "Referendum": number;
}>;
export type I4s6vifaf8k998 = (FixedSizeBinary<32>) | undefined;
export type Ihfphjolmsqq1 = (SS58String) | undefined;
export type Idnl0r1a4nmeek = (Anonymize<Ie9g2psuhuu510>) | undefined;
export type Ie9g2psuhuu510 = AnonymousEnum<{
    "Any": undefined;
    "CancelProxy": undefined;
    "Governance": undefined;
    "Transfer": undefined;
    "Liquidity": undefined;
    "LiquidityMining": undefined;
}>;
export type I95jfd8j5cr5eh = (Anonymize<Itvprrpb0nm3o>) | undefined;
export type Itvprrpb0nm3o = {
    "height": number;
    "index": number;
};
export type I846j8gk91gp4q = {
    "collection": bigint;
    "item": bigint;
    "owner": SS58String;
};
export type Iafqnechp3omqg = Array<bigint>;
export type I92ucef7ff2o7l = {
    "collection": bigint;
    "item": bigint;
};
export type I88sl1jplq27bh = {
    "collection": bigint;
};
export type I2970lus2v0qct = {
    "collection": bigint;
    "new_owner": SS58String;
};
export type I1vsbo63n9pu69 = {
    "collection": bigint;
    "issuer": SS58String;
    "admin": SS58String;
    "freezer": SS58String;
};
export type I62ht2i39rtkaa = {
    "collection": bigint;
    "maybe_item"?: Anonymize<I35p85j063s0il>;
    "key": Binary;
    "value": Binary;
};
export type Ichf8eu9t3dtc2 = {
    "collection": bigint;
    "maybe_item"?: Anonymize<I35p85j063s0il>;
    "key": Binary;
};
export type I9e4bfe80t2int = {
    "collection": bigint;
    "item": bigint;
    "data": Binary;
    "is_frozen": boolean;
};
export type I9oai3q0an1tbo = {
    "collection": bigint;
    "data": Binary;
    "is_frozen": boolean;
};
export type Idj9k8sn80h3m6 = {
    "collection": bigint;
    "max_supply": number;
};
export type I215mkl885p4da = {
    "size": number;
    "item": number;
};
export type I1ufmh6d8psvik = AnonymousEnum<{
    "ToStart": undefined;
    "LastKey": Binary;
    "Complete": undefined;
}>;
export type ConvictionVotingVoteAccountVote = Enum<{
    "Standard": Anonymize<Ib024p97ls1cla>;
    "Split": Anonymize<I5pi71t9bosoiv>;
    "SplitAbstain": {
        "aye": bigint;
        "nay": bigint;
        "abstain": bigint;
    };
}>;
export declare const ConvictionVotingVoteAccountVote: GetEnum<ConvictionVotingVoteAccountVote>;
export type TraitsScheduleDispatchTime = Enum<{
    "At": number;
    "After": number;
}>;
export declare const TraitsScheduleDispatchTime: GetEnum<TraitsScheduleDispatchTime>;
export type I1adbcfi5uc62r = {
    "call_hash": FixedSizeBinary<32>;
};
export type Ia9cgf4r40b26h = (Anonymize<I4c0s5cioidn76>) | undefined;
export type Ia5le7udkgbaq9 = {
    "asset_id": number;
};
export type Ing3etrevsfg0 = {
    "asset": number;
    "amount": bigint;
};
export type Icqdi7b9m95ug3 = {
    "position_id": bigint;
    "amount": bigint;
};
export type I6vhvcln14dp4d = {
    "position_id": bigint;
};
export type Iefviakco48cs2 = {
    "asset_id": number;
    "state": number;
};
export type Iakb7idgif10m8 = {
    "asset_id": number;
    "amount": bigint;
    "recipient": SS58String;
};
export type Id7aqsj1u6b2r2 = {
    "asset_id": number;
    "cap": number;
};
export type I200n1ov5tbcvr = FixedSizeArray<2, bigint>;
export type I9q8qmop6bko5m = {
    "global_farm_id": number;
};
export type Ieot4d4ofvtguv = ({
    "initial_reward_percentage": bigint;
    "scale_coef": number;
}) | undefined;
export type I2k37dcoppgins = {
    "deposit_id": bigint;
    "yield_farm_id": number;
};
export type I95g6i7ilua7lq = Array<Anonymize<I9jd27rnpm8ttv>>;
export type Id7i7r9a29m8o2 = Array<Anonymize<Id2vo4qi5agnp0>>;
export type Id2vo4qi5agnp0 = {
    "asset_id": number;
    "amount": bigint;
};
export type Ibq6b0nsk23kj8 = {
    "order_id": number;
};
export type I2i1tilmsb1rl1 = {
    "asset_id": number;
    "trade_volume_limit": Anonymize<I9jd27rnpm8ttv>;
};
export type I4l0u1h71fhj81 = {
    "asset_id": number;
    "liquidity_limit"?: Anonymize<Iep7au1720bm0e>;
};
export type Iep7au1720bm0e = (Anonymize<I9jd27rnpm8ttv>) | undefined;
export type I4kv0johj9i346 = {
    "asset_in": number;
    "asset_out": number;
};
export type I3qt1hgg4djhgb = {
    "amount": bigint;
};
export type Ics8sn0t3vlpat = {
    "pool_id": number;
    "fee": number;
};
export type Iest0fomljvrb6 = {
    "pool_id": number;
    "asset_id": number;
    "state": number;
};
export type Iunv22mobb368 = Array<Enum<{
    "Value": Anonymize<I200n1ov5tbcvr>;
    "Oracle": [FixedSizeBinary<8>, Enum<{
        "LastBlock": undefined;
        "Short": undefined;
        "TenMinutes": undefined;
        "Hour": undefined;
        "Day": undefined;
        "Week": undefined;
    }>, number];
}>>;
export type Ionfhf9va2t31 = {
    "asset_id": number;
    "level": Anonymize<I4k5pg22d1rdhq>;
    "rewards": {
        "referrer": number;
        "trader": number;
        "external": number;
    };
};
export type I4k5pg22d1rdhq = AnonymousEnum<{
    "None": undefined;
    "Tier0": undefined;
    "Tier1": undefined;
    "Tier2": undefined;
    "Tier3": undefined;
    "Tier4": undefined;
}>;
export type Ibbvcet1pv1l61 = {
    "dest": SS58String;
    "currency_id": number;
    "amount": bigint;
};
export type I24s4g6gkj5oec = {
    "who": SS58String;
    "currency_id": number;
    "amount": bigint;
};
export type I6k9mlgqa572np = {
    "start": number;
    "period": number;
    "period_count": number;
    "per_period": bigint;
};
export type Ic4rgfgksgmm3e = (Anonymize<I4totqt881mlti>) | undefined;
export type I1bsfec060j604 = Array<[FixedSizeBinary<20>, Anonymize<Ic5m5lp1oioo8r>]>;
export type I2do93a3gr3ege = AnonymousEnum<{
    "Call": FixedSizeBinary<20>;
    "Create": undefined;
}>;
export type Ieap15h2pjii9u = Array<{
    "address": FixedSizeBinary<20>;
    "storage_keys": Anonymize<Ic5m5lp1oioo8r>;
}>;
export type Itmchvgqfl28g = {
    "address": FixedSizeBinary<20>;
};
export type I5n4sebgkfr760 = {
    "when": number;
    "index": number;
};
export type I9paqujeb1fpv6 = {
    "dest": XcmVersionedLocation;
    "message": XcmVersionedXcm;
};
export type XcmVersionedLocation = Enum<{
    "V2": Anonymize<I4frqunb5hj2km>;
    "V3": Anonymize<I4c0s5cioidn76>;
    "V4": Anonymize<I4c0s5cioidn76>;
}>;
export declare const XcmVersionedLocation: GetEnum<XcmVersionedLocation>;
export type I4frqunb5hj2km = {
    "parents": number;
    "interior": XcmV2MultilocationJunctions;
};
export type XcmV2MultilocationJunctions = Enum<{
    "Here": undefined;
    "X1": XcmV2Junction;
    "X2": FixedSizeArray<2, XcmV2Junction>;
    "X3": FixedSizeArray<3, XcmV2Junction>;
    "X4": FixedSizeArray<4, XcmV2Junction>;
    "X5": FixedSizeArray<5, XcmV2Junction>;
    "X6": FixedSizeArray<6, XcmV2Junction>;
    "X7": FixedSizeArray<7, XcmV2Junction>;
    "X8": FixedSizeArray<8, XcmV2Junction>;
}>;
export declare const XcmV2MultilocationJunctions: GetEnum<XcmV2MultilocationJunctions>;
export type XcmV2Junction = Enum<{
    "Parachain": number;
    "AccountId32": {
        "network": XcmV2NetworkId;
        "id": FixedSizeBinary<32>;
    };
    "AccountIndex64": {
        "network": XcmV2NetworkId;
        "index": bigint;
    };
    "AccountKey20": {
        "network": XcmV2NetworkId;
        "key": FixedSizeBinary<20>;
    };
    "PalletInstance": number;
    "GeneralIndex": bigint;
    "GeneralKey": Binary;
    "OnlyChild": undefined;
    "Plurality": {
        "id": XcmV2BodyId;
        "part": XcmV2JunctionBodyPart;
    };
}>;
export declare const XcmV2Junction: GetEnum<XcmV2Junction>;
export type XcmV2NetworkId = Enum<{
    "Any": undefined;
    "Named": Binary;
    "Polkadot": undefined;
    "Kusama": undefined;
}>;
export declare const XcmV2NetworkId: GetEnum<XcmV2NetworkId>;
export type XcmV2BodyId = Enum<{
    "Unit": undefined;
    "Named": Binary;
    "Index": number;
    "Executive": undefined;
    "Technical": undefined;
    "Legislative": undefined;
    "Judicial": undefined;
    "Defense": undefined;
    "Administration": undefined;
    "Treasury": undefined;
}>;
export declare const XcmV2BodyId: GetEnum<XcmV2BodyId>;
export type XcmVersionedXcm = Enum<{
    "V2": Anonymize<Iemqgk0vect4v7>;
    "V3": Anonymize<Ianvng4e08j9ii>;
    "V4": Anonymize<Iegrepoo0c1jc5>;
}>;
export declare const XcmVersionedXcm: GetEnum<XcmVersionedXcm>;
export type Iemqgk0vect4v7 = Array<XcmV2Instruction>;
export type XcmV2Instruction = Enum<{
    "WithdrawAsset": Anonymize<I2sllmucln1iic>;
    "ReserveAssetDeposited": Anonymize<I2sllmucln1iic>;
    "ReceiveTeleportedAsset": Anonymize<I2sllmucln1iic>;
    "QueryResponse": {
        "query_id": bigint;
        "response": XcmV2Response;
        "max_weight": bigint;
    };
    "TransferAsset": {
        "assets": Anonymize<I2sllmucln1iic>;
        "beneficiary": Anonymize<I4frqunb5hj2km>;
    };
    "TransferReserveAsset": {
        "assets": Anonymize<I2sllmucln1iic>;
        "dest": Anonymize<I4frqunb5hj2km>;
        "xcm": Anonymize<Iemqgk0vect4v7>;
    };
    "Transact": {
        "origin_type": XcmV2OriginKind;
        "require_weight_at_most": bigint;
        "call": Binary;
    };
    "HrmpNewChannelOpenRequest": Anonymize<I5uhhrjqfuo4e5>;
    "HrmpChannelAccepted": Anonymize<Ifij4jam0o7sub>;
    "HrmpChannelClosing": Anonymize<Ieeb4svd9i8fji>;
    "ClearOrigin": undefined;
    "DescendOrigin": XcmV2MultilocationJunctions;
    "ReportError": {
        "query_id": bigint;
        "dest": Anonymize<I4frqunb5hj2km>;
        "max_response_weight": bigint;
    };
    "DepositAsset": {
        "assets": XcmV2MultiAssetFilter;
        "max_assets": number;
        "beneficiary": Anonymize<I4frqunb5hj2km>;
    };
    "DepositReserveAsset": {
        "assets": XcmV2MultiAssetFilter;
        "max_assets": number;
        "dest": Anonymize<I4frqunb5hj2km>;
        "xcm": Anonymize<Iemqgk0vect4v7>;
    };
    "ExchangeAsset": {
        "give": XcmV2MultiAssetFilter;
        "receive": Anonymize<I2sllmucln1iic>;
    };
    "InitiateReserveWithdraw": {
        "assets": XcmV2MultiAssetFilter;
        "reserve": Anonymize<I4frqunb5hj2km>;
        "xcm": Anonymize<Iemqgk0vect4v7>;
    };
    "InitiateTeleport": {
        "assets": XcmV2MultiAssetFilter;
        "dest": Anonymize<I4frqunb5hj2km>;
        "xcm": Anonymize<Iemqgk0vect4v7>;
    };
    "QueryHolding": {
        "query_id": bigint;
        "dest": Anonymize<I4frqunb5hj2km>;
        "assets": XcmV2MultiAssetFilter;
        "max_response_weight": bigint;
    };
    "BuyExecution": {
        "fees": Anonymize<Id8h647t880l31>;
        "weight_limit": XcmV2WeightLimit;
    };
    "RefundSurplus": undefined;
    "SetErrorHandler": Anonymize<Iemqgk0vect4v7>;
    "SetAppendix": Anonymize<Iemqgk0vect4v7>;
    "ClearError": undefined;
    "ClaimAsset": {
        "assets": Anonymize<I2sllmucln1iic>;
        "ticket": Anonymize<I4frqunb5hj2km>;
    };
    "Trap": bigint;
    "SubscribeVersion": {
        "query_id": bigint;
        "max_response_weight": bigint;
    };
    "UnsubscribeVersion": undefined;
}>;
export declare const XcmV2Instruction: GetEnum<XcmV2Instruction>;
export type I2sllmucln1iic = Array<Anonymize<Id8h647t880l31>>;
export type Id8h647t880l31 = {
    "id": XcmV2MultiassetAssetId;
    "fun": XcmV2MultiassetFungibility;
};
export type XcmV2MultiassetAssetId = Enum<{
    "Concrete": Anonymize<I4frqunb5hj2km>;
    "Abstract": Binary;
}>;
export declare const XcmV2MultiassetAssetId: GetEnum<XcmV2MultiassetAssetId>;
export type XcmV2MultiassetFungibility = Enum<{
    "Fungible": bigint;
    "NonFungible": XcmV2MultiassetAssetInstance;
}>;
export declare const XcmV2MultiassetFungibility: GetEnum<XcmV2MultiassetFungibility>;
export type XcmV2MultiassetAssetInstance = Enum<{
    "Undefined": undefined;
    "Index": bigint;
    "Array4": FixedSizeBinary<4>;
    "Array8": FixedSizeBinary<8>;
    "Array16": FixedSizeBinary<16>;
    "Array32": FixedSizeBinary<32>;
    "Blob": Binary;
}>;
export declare const XcmV2MultiassetAssetInstance: GetEnum<XcmV2MultiassetAssetInstance>;
export type XcmV2Response = Enum<{
    "Null": undefined;
    "Assets": Anonymize<I2sllmucln1iic>;
    "ExecutionResult"?: ([number, XcmV2TraitsError]) | undefined;
    "Version": number;
}>;
export declare const XcmV2Response: GetEnum<XcmV2Response>;
export type XcmV2TraitsError = Enum<{
    "Overflow": undefined;
    "Unimplemented": undefined;
    "UntrustedReserveLocation": undefined;
    "UntrustedTeleportLocation": undefined;
    "MultiLocationFull": undefined;
    "MultiLocationNotInvertible": undefined;
    "BadOrigin": undefined;
    "InvalidLocation": undefined;
    "AssetNotFound": undefined;
    "FailedToTransactAsset": undefined;
    "NotWithdrawable": undefined;
    "LocationCannotHold": undefined;
    "ExceedsMaxMessageSize": undefined;
    "DestinationUnsupported": undefined;
    "Transport": undefined;
    "Unroutable": undefined;
    "UnknownClaim": undefined;
    "FailedToDecode": undefined;
    "MaxWeightInvalid": undefined;
    "NotHoldingFees": undefined;
    "TooExpensive": undefined;
    "Trap": bigint;
    "UnhandledXcmVersion": undefined;
    "WeightLimitReached": bigint;
    "Barrier": undefined;
    "WeightNotComputable": undefined;
}>;
export declare const XcmV2TraitsError: GetEnum<XcmV2TraitsError>;
export type XcmV2OriginKind = Enum<{
    "Native": undefined;
    "SovereignAccount": undefined;
    "Superuser": undefined;
    "Xcm": undefined;
}>;
export declare const XcmV2OriginKind: GetEnum<XcmV2OriginKind>;
export type I5uhhrjqfuo4e5 = {
    "sender": number;
    "max_message_size": number;
    "max_capacity": number;
};
export type Ifij4jam0o7sub = {
    "recipient": number;
};
export type Ieeb4svd9i8fji = {
    "initiator": number;
    "sender": number;
    "recipient": number;
};
export type XcmV2MultiAssetFilter = Enum<{
    "Definite": Anonymize<I2sllmucln1iic>;
    "Wild": XcmV2MultiassetWildMultiAsset;
}>;
export declare const XcmV2MultiAssetFilter: GetEnum<XcmV2MultiAssetFilter>;
export type XcmV2MultiassetWildMultiAsset = Enum<{
    "All": undefined;
    "AllOf": {
        "id": XcmV2MultiassetAssetId;
        "fun": XcmV2MultiassetWildFungibility;
    };
}>;
export declare const XcmV2MultiassetWildMultiAsset: GetEnum<XcmV2MultiassetWildMultiAsset>;
export type XcmV2MultiassetWildFungibility = Enum<{
    "Fungible": undefined;
    "NonFungible": undefined;
}>;
export declare const XcmV2MultiassetWildFungibility: GetEnum<XcmV2MultiassetWildFungibility>;
export type XcmV2WeightLimit = Enum<{
    "Unlimited": undefined;
    "Limited": bigint;
}>;
export declare const XcmV2WeightLimit: GetEnum<XcmV2WeightLimit>;
export type Ianvng4e08j9ii = Array<XcmV3Instruction>;
export type XcmV3Instruction = Enum<{
    "WithdrawAsset": Anonymize<Iai6dhqiq3bach>;
    "ReserveAssetDeposited": Anonymize<Iai6dhqiq3bach>;
    "ReceiveTeleportedAsset": Anonymize<Iai6dhqiq3bach>;
    "QueryResponse": {
        "query_id": bigint;
        "response": XcmV3Response;
        "max_weight": Anonymize<I4q39t5hn830vp>;
        "querier"?: Anonymize<Ia9cgf4r40b26h>;
    };
    "TransferAsset": {
        "assets": Anonymize<Iai6dhqiq3bach>;
        "beneficiary": Anonymize<I4c0s5cioidn76>;
    };
    "TransferReserveAsset": {
        "assets": Anonymize<Iai6dhqiq3bach>;
        "dest": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Ianvng4e08j9ii>;
    };
    "Transact": Anonymize<I92p6l5cs3fr50>;
    "HrmpNewChannelOpenRequest": Anonymize<I5uhhrjqfuo4e5>;
    "HrmpChannelAccepted": Anonymize<Ifij4jam0o7sub>;
    "HrmpChannelClosing": Anonymize<Ieeb4svd9i8fji>;
    "ClearOrigin": undefined;
    "DescendOrigin": XcmV3Junctions;
    "ReportError": Anonymize<I4r3v6e91d1qbs>;
    "DepositAsset": {
        "assets": XcmV3MultiassetMultiAssetFilter;
        "beneficiary": Anonymize<I4c0s5cioidn76>;
    };
    "DepositReserveAsset": {
        "assets": XcmV3MultiassetMultiAssetFilter;
        "dest": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Ianvng4e08j9ii>;
    };
    "ExchangeAsset": {
        "give": XcmV3MultiassetMultiAssetFilter;
        "want": Anonymize<Iai6dhqiq3bach>;
        "maximal": boolean;
    };
    "InitiateReserveWithdraw": {
        "assets": XcmV3MultiassetMultiAssetFilter;
        "reserve": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Ianvng4e08j9ii>;
    };
    "InitiateTeleport": {
        "assets": XcmV3MultiassetMultiAssetFilter;
        "dest": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Ianvng4e08j9ii>;
    };
    "ReportHolding": {
        "response_info": Anonymize<I4r3v6e91d1qbs>;
        "assets": XcmV3MultiassetMultiAssetFilter;
    };
    "BuyExecution": {
        "fees": Anonymize<Idcm24504c8bkk>;
        "weight_limit": XcmV3WeightLimit;
    };
    "RefundSurplus": undefined;
    "SetErrorHandler": Anonymize<Ianvng4e08j9ii>;
    "SetAppendix": Anonymize<Ianvng4e08j9ii>;
    "ClearError": undefined;
    "ClaimAsset": {
        "assets": Anonymize<Iai6dhqiq3bach>;
        "ticket": Anonymize<I4c0s5cioidn76>;
    };
    "Trap": bigint;
    "SubscribeVersion": Anonymize<Ieprdqqu7ildvr>;
    "UnsubscribeVersion": undefined;
    "BurnAsset": Anonymize<Iai6dhqiq3bach>;
    "ExpectAsset": Anonymize<Iai6dhqiq3bach>;
    "ExpectOrigin"?: Anonymize<Ia9cgf4r40b26h>;
    "ExpectError"?: Anonymize<I7sltvf8v2nure>;
    "ExpectTransactStatus": XcmV3MaybeErrorCode;
    "QueryPallet": Anonymize<Iba5bdbapp16oo>;
    "ExpectPallet": Anonymize<Id7mf37dkpgfjs>;
    "ReportTransactStatus": Anonymize<I4r3v6e91d1qbs>;
    "ClearTransactStatus": undefined;
    "UniversalOrigin": XcmV3Junction;
    "ExportMessage": {
        "network": XcmV3JunctionNetworkId;
        "destination": XcmV3Junctions;
        "xcm": Anonymize<Ianvng4e08j9ii>;
    };
    "LockAsset": {
        "asset": Anonymize<Idcm24504c8bkk>;
        "unlocker": Anonymize<I4c0s5cioidn76>;
    };
    "UnlockAsset": {
        "asset": Anonymize<Idcm24504c8bkk>;
        "target": Anonymize<I4c0s5cioidn76>;
    };
    "NoteUnlockable": {
        "asset": Anonymize<Idcm24504c8bkk>;
        "owner": Anonymize<I4c0s5cioidn76>;
    };
    "RequestUnlock": {
        "asset": Anonymize<Idcm24504c8bkk>;
        "locker": Anonymize<I4c0s5cioidn76>;
    };
    "SetFeesMode": Anonymize<I4nae9rsql8fa7>;
    "SetTopic": FixedSizeBinary<32>;
    "ClearTopic": undefined;
    "AliasOrigin": Anonymize<I4c0s5cioidn76>;
    "UnpaidExecution": Anonymize<I40d50jeai33oq>;
}>;
export declare const XcmV3Instruction: GetEnum<XcmV3Instruction>;
export type Iai6dhqiq3bach = Array<Anonymize<Idcm24504c8bkk>>;
export type Idcm24504c8bkk = {
    "id": XcmV3MultiassetAssetId;
    "fun": XcmV3MultiassetFungibility;
};
export type XcmV3MultiassetAssetId = Enum<{
    "Concrete": Anonymize<I4c0s5cioidn76>;
    "Abstract": FixedSizeBinary<32>;
}>;
export declare const XcmV3MultiassetAssetId: GetEnum<XcmV3MultiassetAssetId>;
export type XcmV3MultiassetFungibility = Enum<{
    "Fungible": bigint;
    "NonFungible": XcmV3MultiassetAssetInstance;
}>;
export declare const XcmV3MultiassetFungibility: GetEnum<XcmV3MultiassetFungibility>;
export type XcmV3MultiassetAssetInstance = Enum<{
    "Undefined": undefined;
    "Index": bigint;
    "Array4": FixedSizeBinary<4>;
    "Array8": FixedSizeBinary<8>;
    "Array16": FixedSizeBinary<16>;
    "Array32": FixedSizeBinary<32>;
}>;
export declare const XcmV3MultiassetAssetInstance: GetEnum<XcmV3MultiassetAssetInstance>;
export type XcmV3Response = Enum<{
    "Null": undefined;
    "Assets": Anonymize<Iai6dhqiq3bach>;
    "ExecutionResult"?: Anonymize<I7sltvf8v2nure>;
    "Version": number;
    "PalletsInfo": Anonymize<I599u7h20b52at>;
    "DispatchResult": XcmV3MaybeErrorCode;
}>;
export declare const XcmV3Response: GetEnum<XcmV3Response>;
export type I7sltvf8v2nure = ([number, XcmV3TraitsError]) | undefined;
export type XcmV3TraitsError = Enum<{
    "Overflow": undefined;
    "Unimplemented": undefined;
    "UntrustedReserveLocation": undefined;
    "UntrustedTeleportLocation": undefined;
    "LocationFull": undefined;
    "LocationNotInvertible": undefined;
    "BadOrigin": undefined;
    "InvalidLocation": undefined;
    "AssetNotFound": undefined;
    "FailedToTransactAsset": undefined;
    "NotWithdrawable": undefined;
    "LocationCannotHold": undefined;
    "ExceedsMaxMessageSize": undefined;
    "DestinationUnsupported": undefined;
    "Transport": undefined;
    "Unroutable": undefined;
    "UnknownClaim": undefined;
    "FailedToDecode": undefined;
    "MaxWeightInvalid": undefined;
    "NotHoldingFees": undefined;
    "TooExpensive": undefined;
    "Trap": bigint;
    "ExpectationFalse": undefined;
    "PalletNotFound": undefined;
    "NameMismatch": undefined;
    "VersionIncompatible": undefined;
    "HoldingWouldOverflow": undefined;
    "ExportError": undefined;
    "ReanchorFailed": undefined;
    "NoDeal": undefined;
    "FeesNotMet": undefined;
    "LockError": undefined;
    "NoPermission": undefined;
    "Unanchored": undefined;
    "NotDepositable": undefined;
    "UnhandledXcmVersion": undefined;
    "WeightLimitReached": Anonymize<I4q39t5hn830vp>;
    "Barrier": undefined;
    "WeightNotComputable": undefined;
    "ExceedsStackLimit": undefined;
}>;
export declare const XcmV3TraitsError: GetEnum<XcmV3TraitsError>;
export type I599u7h20b52at = Array<{
    "index": number;
    "name": Binary;
    "module_name": Binary;
    "major": number;
    "minor": number;
    "patch": number;
}>;
export type XcmV3MaybeErrorCode = Enum<{
    "Success": undefined;
    "Error": Binary;
    "TruncatedError": Binary;
}>;
export declare const XcmV3MaybeErrorCode: GetEnum<XcmV3MaybeErrorCode>;
export type I92p6l5cs3fr50 = {
    "origin_kind": XcmV2OriginKind;
    "require_weight_at_most": Anonymize<I4q39t5hn830vp>;
    "call": Binary;
};
export type I4r3v6e91d1qbs = {
    "destination": Anonymize<I4c0s5cioidn76>;
    "query_id": bigint;
    "max_weight": Anonymize<I4q39t5hn830vp>;
};
export type XcmV3MultiassetMultiAssetFilter = Enum<{
    "Definite": Anonymize<Iai6dhqiq3bach>;
    "Wild": XcmV3MultiassetWildMultiAsset;
}>;
export declare const XcmV3MultiassetMultiAssetFilter: GetEnum<XcmV3MultiassetMultiAssetFilter>;
export type XcmV3MultiassetWildMultiAsset = Enum<{
    "All": undefined;
    "AllOf": {
        "id": XcmV3MultiassetAssetId;
        "fun": XcmV2MultiassetWildFungibility;
    };
    "AllCounted": number;
    "AllOfCounted": {
        "id": XcmV3MultiassetAssetId;
        "fun": XcmV2MultiassetWildFungibility;
        "count": number;
    };
}>;
export declare const XcmV3MultiassetWildMultiAsset: GetEnum<XcmV3MultiassetWildMultiAsset>;
export type XcmV3WeightLimit = Enum<{
    "Unlimited": undefined;
    "Limited": Anonymize<I4q39t5hn830vp>;
}>;
export declare const XcmV3WeightLimit: GetEnum<XcmV3WeightLimit>;
export type Ieprdqqu7ildvr = {
    "query_id": bigint;
    "max_response_weight": Anonymize<I4q39t5hn830vp>;
};
export type Iba5bdbapp16oo = {
    "module_name": Binary;
    "response_info": Anonymize<I4r3v6e91d1qbs>;
};
export type Id7mf37dkpgfjs = {
    "index": number;
    "name": Binary;
    "module_name": Binary;
    "crate_major": number;
    "min_crate_minor": number;
};
export type I4nae9rsql8fa7 = {
    "jit_withdraw": boolean;
};
export type I40d50jeai33oq = {
    "weight_limit": XcmV3WeightLimit;
    "check_origin"?: Anonymize<Ia9cgf4r40b26h>;
};
export type Iegrepoo0c1jc5 = Array<XcmV4Instruction>;
export type XcmV4Instruction = Enum<{
    "WithdrawAsset": Anonymize<I50mli3hb64f9b>;
    "ReserveAssetDeposited": Anonymize<I50mli3hb64f9b>;
    "ReceiveTeleportedAsset": Anonymize<I50mli3hb64f9b>;
    "QueryResponse": {
        "query_id": bigint;
        "response": XcmV4Response;
        "max_weight": Anonymize<I4q39t5hn830vp>;
        "querier"?: Anonymize<Ia9cgf4r40b26h>;
    };
    "TransferAsset": {
        "assets": Anonymize<I50mli3hb64f9b>;
        "beneficiary": Anonymize<I4c0s5cioidn76>;
    };
    "TransferReserveAsset": {
        "assets": Anonymize<I50mli3hb64f9b>;
        "dest": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Iegrepoo0c1jc5>;
    };
    "Transact": Anonymize<I92p6l5cs3fr50>;
    "HrmpNewChannelOpenRequest": Anonymize<I5uhhrjqfuo4e5>;
    "HrmpChannelAccepted": Anonymize<Ifij4jam0o7sub>;
    "HrmpChannelClosing": Anonymize<Ieeb4svd9i8fji>;
    "ClearOrigin": undefined;
    "DescendOrigin": XcmV3Junctions;
    "ReportError": Anonymize<I4r3v6e91d1qbs>;
    "DepositAsset": {
        "assets": XcmV4AssetAssetFilter;
        "beneficiary": Anonymize<I4c0s5cioidn76>;
    };
    "DepositReserveAsset": {
        "assets": XcmV4AssetAssetFilter;
        "dest": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Iegrepoo0c1jc5>;
    };
    "ExchangeAsset": {
        "give": XcmV4AssetAssetFilter;
        "want": Anonymize<I50mli3hb64f9b>;
        "maximal": boolean;
    };
    "InitiateReserveWithdraw": {
        "assets": XcmV4AssetAssetFilter;
        "reserve": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Iegrepoo0c1jc5>;
    };
    "InitiateTeleport": {
        "assets": XcmV4AssetAssetFilter;
        "dest": Anonymize<I4c0s5cioidn76>;
        "xcm": Anonymize<Iegrepoo0c1jc5>;
    };
    "ReportHolding": {
        "response_info": Anonymize<I4r3v6e91d1qbs>;
        "assets": XcmV4AssetAssetFilter;
    };
    "BuyExecution": {
        "fees": Anonymize<Ia5l7mu5a6v49o>;
        "weight_limit": XcmV3WeightLimit;
    };
    "RefundSurplus": undefined;
    "SetErrorHandler": Anonymize<Iegrepoo0c1jc5>;
    "SetAppendix": Anonymize<Iegrepoo0c1jc5>;
    "ClearError": undefined;
    "ClaimAsset": {
        "assets": Anonymize<I50mli3hb64f9b>;
        "ticket": Anonymize<I4c0s5cioidn76>;
    };
    "Trap": bigint;
    "SubscribeVersion": Anonymize<Ieprdqqu7ildvr>;
    "UnsubscribeVersion": undefined;
    "BurnAsset": Anonymize<I50mli3hb64f9b>;
    "ExpectAsset": Anonymize<I50mli3hb64f9b>;
    "ExpectOrigin"?: Anonymize<Ia9cgf4r40b26h>;
    "ExpectError"?: Anonymize<I7sltvf8v2nure>;
    "ExpectTransactStatus": XcmV3MaybeErrorCode;
    "QueryPallet": Anonymize<Iba5bdbapp16oo>;
    "ExpectPallet": Anonymize<Id7mf37dkpgfjs>;
    "ReportTransactStatus": Anonymize<I4r3v6e91d1qbs>;
    "ClearTransactStatus": undefined;
    "UniversalOrigin": XcmV3Junction;
    "ExportMessage": {
        "network": XcmV3JunctionNetworkId;
        "destination": XcmV3Junctions;
        "xcm": Anonymize<Iegrepoo0c1jc5>;
    };
    "LockAsset": {
        "asset": Anonymize<Ia5l7mu5a6v49o>;
        "unlocker": Anonymize<I4c0s5cioidn76>;
    };
    "UnlockAsset": {
        "asset": Anonymize<Ia5l7mu5a6v49o>;
        "target": Anonymize<I4c0s5cioidn76>;
    };
    "NoteUnlockable": {
        "asset": Anonymize<Ia5l7mu5a6v49o>;
        "owner": Anonymize<I4c0s5cioidn76>;
    };
    "RequestUnlock": {
        "asset": Anonymize<Ia5l7mu5a6v49o>;
        "locker": Anonymize<I4c0s5cioidn76>;
    };
    "SetFeesMode": Anonymize<I4nae9rsql8fa7>;
    "SetTopic": FixedSizeBinary<32>;
    "ClearTopic": undefined;
    "AliasOrigin": Anonymize<I4c0s5cioidn76>;
    "UnpaidExecution": Anonymize<I40d50jeai33oq>;
}>;
export declare const XcmV4Instruction: GetEnum<XcmV4Instruction>;
export type I50mli3hb64f9b = Array<Anonymize<Ia5l7mu5a6v49o>>;
export type Ia5l7mu5a6v49o = {
    "id": Anonymize<I4c0s5cioidn76>;
    "fun": XcmV3MultiassetFungibility;
};
export type XcmV4Response = Enum<{
    "Null": undefined;
    "Assets": Anonymize<I50mli3hb64f9b>;
    "ExecutionResult"?: Anonymize<I7sltvf8v2nure>;
    "Version": number;
    "PalletsInfo": Anonymize<I599u7h20b52at>;
    "DispatchResult": XcmV3MaybeErrorCode;
}>;
export declare const XcmV4Response: GetEnum<XcmV4Response>;
export type XcmV4AssetAssetFilter = Enum<{
    "Definite": Anonymize<I50mli3hb64f9b>;
    "Wild": XcmV4AssetWildAsset;
}>;
export declare const XcmV4AssetAssetFilter: GetEnum<XcmV4AssetAssetFilter>;
export type XcmV4AssetWildAsset = Enum<{
    "All": undefined;
    "AllOf": {
        "id": Anonymize<I4c0s5cioidn76>;
        "fun": XcmV2MultiassetWildFungibility;
    };
    "AllCounted": number;
    "AllOfCounted": {
        "id": Anonymize<I4c0s5cioidn76>;
        "fun": XcmV2MultiassetWildFungibility;
        "count": number;
    };
}>;
export declare const XcmV4AssetWildAsset: GetEnum<XcmV4AssetWildAsset>;
export type XcmVersionedAssets = Enum<{
    "V2": Anonymize<I2sllmucln1iic>;
    "V3": Anonymize<Iai6dhqiq3bach>;
    "V4": Anonymize<I50mli3hb64f9b>;
}>;
export declare const XcmVersionedAssets: GetEnum<XcmVersionedAssets>;
export type Iabk8ljl5g8c86 = {
    "location": Anonymize<I4c0s5cioidn76>;
    "version": number;
};
export type XcmVersionedAssetId = Enum<{
    "V3": XcmV3MultiassetAssetId;
    "V4": Anonymize<I4c0s5cioidn76>;
}>;
export declare const XcmVersionedAssetId: GetEnum<XcmVersionedAssetId>;
export type Iejeo53sea6n4q = AnonymousEnum<{
    "Here": undefined;
    "Parent": undefined;
    "Sibling": number;
}>;
export type Ikdf7s28ij7ts = AnonymousEnum<{
    "V2": Anonymize<Id8h647t880l31>;
    "V3": Anonymize<Idcm24504c8bkk>;
    "V4": Anonymize<Ia5l7mu5a6v49o>;
}>;
export type I4cbvqmqadhrea = {
    "who": SS58String;
};
export type Iabgdocrka40v9 = {
    "source": FixedSizeBinary<8>;
    "assets": Anonymize<I9jd27rnpm8ttv>;
};
export type I4e4rvm2fqc561 = ResultPayload<{
    "execution_result": Anonymize<I21r5ur8254hbq>;
    "emitted_events": Anonymize<Ie1rm235voj6lj>;
    "local_xcm"?: (XcmVersionedXcm) | undefined;
    "forwarded_xcms": Anonymize<I47tkk5e5nm6g7>;
}, Anonymize<I55ku9c5gk50hb>>;
export type I21r5ur8254hbq = ResultPayload<Anonymize<Ia1u1r3n74r13c>, {
    "post_info": Anonymize<Ia1u1r3n74r13c>;
    "error": Anonymize<Ie6ot6maka1vae>;
}>;
export type Ia1u1r3n74r13c = {
    "actual_weight"?: Anonymize<Iasb8k6ash5mjn>;
    "pays_fee": Anonymize<Iehg04bj71rkd>;
};
export type Iehg04bj71rkd = AnonymousEnum<{
    "Yes": undefined;
    "No": undefined;
}>;
export type Ie6ot6maka1vae = AnonymousEnum<{
    "Other": undefined;
    "CannotLookup": undefined;
    "BadOrigin": undefined;
    "Module": Enum<{
        "System": Anonymize<I5o0s7c8q1cc9b>;
        "Balances": Anonymize<Idj13i7adlomht>;
        "MultiTransactionPayment": Anonymize<Iedfhur3vm7bgd>;
        "Treasury": Anonymize<I36uss0m9fpcsf>;
        "Utility": Anonymize<I8dt2g2hcrgh36>;
        "Preimage": Anonymize<I4cfhml1prt4lu>;
        "Identity": Anonymize<I9mq328955mgb8>;
        "Democracy": Anonymize<I67neb7i10udig>;
        "Elections": Anonymize<I96u72l8br1ego>;
        "Council": Anonymize<Icapevgbpfn5p9>;
        "TechnicalCommittee": Anonymize<Icapevgbpfn5p9>;
        "Tips": Anonymize<I8c24qlovva8mi>;
        "Proxy": Anonymize<Iuvt54ei4cehc>;
        "Multisig": Anonymize<Ia76qmhhg4jvb9>;
        "Uniques": Anonymize<Ienq2ge2rhv4jm>;
        "StateTrieMigration": Anonymize<I96objte63brjr>;
        "ConvictionVoting": Anonymize<Idfa8k8ikssbsf>;
        "Referenda": Anonymize<I84u4ul208g742>;
        "Whitelist": Anonymize<I15nctscutpbeh>;
        "Dispatcher": undefined;
        "AssetRegistry": Anonymize<Iimgfr2idjdm4>;
        "Claims": Anonymize<Ieesotejglstun>;
        "Omnipool": Anonymize<Ibllfng3pqvvev>;
        "TransactionPause": Anonymize<Ia4jj5ajguk6ba>;
        "Duster": Anonymize<Igjgeha0sds9v>;
        "OmnipoolWarehouseLM": Anonymize<Ib26q43rgjm5dv>;
        "OmnipoolLiquidityMining": Anonymize<I3pmdtg46in2f0>;
        "OTC": Anonymize<I1kp1c5al384as>;
        "CircuitBreaker": Anonymize<I4vmqfcgsdr1l9>;
        "Router": Anonymize<Ifntb1290uuatm>;
        "DynamicFees": undefined;
        "Staking": Anonymize<Idhbjtd7at0b1k>;
        "Stableswap": Anonymize<Icjghjcmnulssm>;
        "Bonds": Anonymize<Ibj08k850p0j34>;
        "OtcSettlements": Anonymize<I1jtj4pc4jltpf>;
        "LBP": Anonymize<Ic99uoklag6hh0>;
        "XYK": Anonymize<I6a3vdng69e2ne>;
        "Referrals": Anonymize<Iaqb0qr3l7g0ub>;
        "Liquidation": Anonymize<I2isghqcs9gp7d>;
        "Tokens": Anonymize<Icc7o7ep6n36h2>;
        "Currencies": Anonymize<Iejalhtid1s0pt>;
        "Vesting": Anonymize<Ifkcmnj410r9fh>;
        "EVM": Anonymize<I4pkfap0t7vk0t>;
        "Ethereum": Anonymize<I1mp6vnoh32l4q>;
        "EVMAccounts": Anonymize<Ie65vecqacffpm>;
        "XYKLiquidityMining": Anonymize<I6q09f6hmj7elp>;
        "XYKWarehouseLM": Anonymize<Ib26q43rgjm5dv>;
        "DCA": Anonymize<Ic4d0pk1ndfilm>;
        "Scheduler": Anonymize<If7oa8fprnilo5>;
        "ParachainSystem": Anonymize<I9p95gln24a0rn>;
        "PolkadotXcm": Anonymize<I87j95aq93d7dq>;
        "XcmpQueue": Anonymize<Idnnbndsjjeqqs>;
        "MessageQueue": Anonymize<I5iupade5ag2dp>;
        "OrmlXcm": Anonymize<Ifv4efjta13rhe>;
        "XTokens": Anonymize<I8g8tbk0anjali>;
        "UnknownTokens": Anonymize<I5llpdov40t5vu>;
        "CollatorSelection": Anonymize<I36bcffk2387dv>;
        "Session": Anonymize<I1e07dgbaqd1sq>;
        "Aura": undefined;
        "EmaOracle": Anonymize<I7rp5ecu8mpg3e>;
        "Broadcast": Anonymize<I67a3g81377tev>;
    }>;
    "ConsumerRemaining": undefined;
    "NoProviders": undefined;
    "TooManyConsumers": undefined;
    "Token": TokenError;
    "Arithmetic": ArithmeticError;
    "Transactional": TransactionalError;
    "Exhausted": undefined;
    "Corruption": undefined;
    "Unavailable": undefined;
    "RootNotAllowed": undefined;
}>;
export type TokenError = Enum<{
    "FundsUnavailable": undefined;
    "OnlyProvider": undefined;
    "BelowMinimum": undefined;
    "CannotCreate": undefined;
    "UnknownAsset": undefined;
    "Frozen": undefined;
    "Unsupported": undefined;
    "CannotCreateHold": undefined;
    "NotExpendable": undefined;
    "Blocked": undefined;
}>;
export declare const TokenError: GetEnum<TokenError>;
export type ArithmeticError = Enum<{
    "Underflow": undefined;
    "Overflow": undefined;
    "DivisionByZero": undefined;
}>;
export declare const ArithmeticError: GetEnum<ArithmeticError>;
export type TransactionalError = Enum<{
    "LimitReached": undefined;
    "NoLayer": undefined;
}>;
export declare const TransactionalError: GetEnum<TransactionalError>;
export type Ie1rm235voj6lj = Array<Enum<{
    "System": Enum<{
        /**
         * An extrinsic completed successfully.
         */
        "ExtrinsicSuccess": {
            "dispatch_info": Anonymize<Ic9s8f85vjtncc>;
        };
        /**
         * An extrinsic failed.
         */
        "ExtrinsicFailed": {
            "dispatch_error": Anonymize<Ie6ot6maka1vae>;
            "dispatch_info": Anonymize<Ic9s8f85vjtncc>;
        };
        /**
         * `:code` was updated.
         */
        "CodeUpdated": undefined;
        /**
         * A new account was created.
         */
        "NewAccount": Anonymize<Icbccs0ug47ilf>;
        /**
         * An account was reaped.
         */
        "KilledAccount": Anonymize<Icbccs0ug47ilf>;
        /**
         * On on-chain remark happened.
         */
        "Remarked": {
            "sender": SS58String;
            "hash": FixedSizeBinary<32>;
        };
        /**
         * An upgrade was authorized.
         */
        "UpgradeAuthorized": {
            "code_hash": FixedSizeBinary<32>;
            "check_version": boolean;
        };
    }>;
    "Balances": Enum<{
        /**
         * An account was created with some free balance.
         */
        "Endowed": {
            "account": SS58String;
            "free_balance": bigint;
        };
        /**
         * An account was removed whose balance was non-zero but below ExistentialDeposit,
         * resulting in an outright loss.
         */
        "DustLost": {
            "account": SS58String;
            "amount": bigint;
        };
        /**
         * Transfer succeeded.
         */
        "Transfer": {
            "from": SS58String;
            "to": SS58String;
            "amount": bigint;
        };
        /**
         * A balance was set by root.
         */
        "BalanceSet": {
            "who": SS58String;
            "free": bigint;
        };
        /**
         * Some balance was reserved (moved from free to reserved).
         */
        "Reserved": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some balance was unreserved (moved from reserved to free).
         */
        "Unreserved": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some balance was moved from the reserve of the first account to the second account.
         * Final argument indicates the destination balance type.
         */
        "ReserveRepatriated": {
            "from": SS58String;
            "to": SS58String;
            "amount": bigint;
            "destination_status": BalanceStatus;
        };
        /**
         * Some amount was deposited (e.g. for transaction fees).
         */
        "Deposit": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some amount was withdrawn from the account (e.g. for transaction fees).
         */
        "Withdraw": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some amount was removed from the account (e.g. for misbehavior).
         */
        "Slashed": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some amount was minted into an account.
         */
        "Minted": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some amount was burned from an account.
         */
        "Burned": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some amount was suspended from an account (it can be restored later).
         */
        "Suspended": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some amount was restored into an account.
         */
        "Restored": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * An account was upgraded.
         */
        "Upgraded": Anonymize<I4cbvqmqadhrea>;
        /**
         * Total issuance was increased by `amount`, creating a credit to be balanced.
         */
        "Issued": Anonymize<I3qt1hgg4djhgb>;
        /**
         * Total issuance was decreased by `amount`, creating a debt to be balanced.
         */
        "Rescinded": Anonymize<I3qt1hgg4djhgb>;
        /**
         * Some balance was locked.
         */
        "Locked": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some balance was unlocked.
         */
        "Unlocked": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some balance was frozen.
         */
        "Frozen": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some balance was thawed.
         */
        "Thawed": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * The `TotalIssuance` was forcefully changed.
         */
        "TotalIssuanceForced": {
            "old": bigint;
            "new": bigint;
        };
    }>;
    "TransactionPayment": TransactionPaymentEvent;
    "MultiTransactionPayment": Enum<{
        /**
         * CurrencySet
         * [who, currency]
         */
        "CurrencySet": {
            "account_id": SS58String;
            "asset_id": number;
        };
        /**
         * New accepted currency added
         * [currency]
         */
        "CurrencyAdded": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Accepted currency removed
         * [currency]
         */
        "CurrencyRemoved": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Transaction fee paid in non-native currency
         * [Account, Currency, Native fee amount, Non-native fee amount, Destination account]
         */
        "FeeWithdrawn": {
            "account_id": SS58String;
            "asset_id": number;
            "native_fee_amount": bigint;
            "non_native_fee_amount": bigint;
            "destination_account_id": SS58String;
        };
    }>;
    "Treasury": Enum<{
        /**
         * We have ended a spend period and will now allocate funds.
         */
        "Spending": {
            "budget_remaining": bigint;
        };
        /**
         * Some funds have been allocated.
         */
        "Awarded": {
            "proposal_index": number;
            "award": bigint;
            "account": SS58String;
        };
        /**
         * Some of our funds have been burnt.
         */
        "Burnt": {
            "burnt_funds": bigint;
        };
        /**
         * Spending has finished; this is the amount that rolls over until next spend.
         */
        "Rollover": {
            "rollover_balance": bigint;
        };
        /**
         * Some funds have been deposited.
         */
        "Deposit": {
            "value": bigint;
        };
        /**
         * A new spend proposal has been approved.
         */
        "SpendApproved": {
            "proposal_index": number;
            "amount": bigint;
            "beneficiary": SS58String;
        };
        /**
         * The inactive funds of the pallet have been updated.
         */
        "UpdatedInactive": {
            "reactivated": bigint;
            "deactivated": bigint;
        };
        /**
         * A new asset spend proposal has been approved.
         */
        "AssetSpendApproved": {
            "index": number;
            "amount": bigint;
            "beneficiary": SS58String;
            "valid_from": number;
            "expire_at": number;
        };
        /**
         * An approved spend was voided.
         */
        "AssetSpendVoided": Anonymize<I666bl2fqjkejo>;
        /**
         * A payment happened.
         */
        "Paid": Anonymize<I666bl2fqjkejo>;
        /**
         * A payment failed and can be retried.
         */
        "PaymentFailed": Anonymize<I666bl2fqjkejo>;
        /**
         * A spend was processed and removed from the storage. It might have been successfully
         * paid or it may have expired.
         */
        "SpendProcessed": Anonymize<I666bl2fqjkejo>;
    }>;
    "Utility": Enum<{
        /**
         * Batch of dispatches did not complete fully. Index of first failing dispatch given, as
         * well as the error.
         */
        "BatchInterrupted": {
            "index": number;
            "error": Anonymize<Ie6ot6maka1vae>;
        };
        /**
         * Batch of dispatches completed fully with no error.
         */
        "BatchCompleted": undefined;
        /**
         * Batch of dispatches completed but has errors.
         */
        "BatchCompletedWithErrors": undefined;
        /**
         * A single item within a Batch of dispatches has completed with no error.
         */
        "ItemCompleted": undefined;
        /**
         * A single item within a Batch of dispatches has completed with error.
         */
        "ItemFailed": {
            "error": Anonymize<Ie6ot6maka1vae>;
        };
        /**
         * A call was dispatched.
         */
        "DispatchedAs": Anonymize<Icigktdjq5b5hl>;
    }>;
    "Preimage": PreimageEvent;
    "Identity": Enum<{
        /**
         * A name was set or reset (which will remove all judgements).
         */
        "IdentitySet": Anonymize<I4cbvqmqadhrea>;
        /**
         * A name was cleared, and the given balance returned.
         */
        "IdentityCleared": {
            "who": SS58String;
            "deposit": bigint;
        };
        /**
         * A name was removed and the given balance slashed.
         */
        "IdentityKilled": {
            "who": SS58String;
            "deposit": bigint;
        };
        /**
         * A judgement was asked from a registrar.
         */
        "JudgementRequested": {
            "who": SS58String;
            "registrar_index": number;
        };
        /**
         * A judgement request was retracted.
         */
        "JudgementUnrequested": {
            "who": SS58String;
            "registrar_index": number;
        };
        /**
         * A judgement was given by a registrar.
         */
        "JudgementGiven": {
            "target": SS58String;
            "registrar_index": number;
        };
        /**
         * A registrar was added.
         */
        "RegistrarAdded": {
            "registrar_index": number;
        };
        /**
         * A sub-identity was added to an identity and the deposit paid.
         */
        "SubIdentityAdded": {
            "sub": SS58String;
            "main": SS58String;
            "deposit": bigint;
        };
        /**
         * A sub-identity was removed from an identity and the deposit freed.
         */
        "SubIdentityRemoved": {
            "sub": SS58String;
            "main": SS58String;
            "deposit": bigint;
        };
        /**
         * A sub-identity was cleared, and the given deposit repatriated from the
         * main identity account to the sub-identity account.
         */
        "SubIdentityRevoked": {
            "sub": SS58String;
            "main": SS58String;
            "deposit": bigint;
        };
        /**
         * A username authority was added.
         */
        "AuthorityAdded": Anonymize<I2rg5btjrsqec0>;
        /**
         * A username authority was removed.
         */
        "AuthorityRemoved": Anonymize<I2rg5btjrsqec0>;
        /**
         * A username was set for `who`.
         */
        "UsernameSet": {
            "who": SS58String;
            "username": Binary;
        };
        /**
         * A username was queued, but `who` must accept it prior to `expiration`.
         */
        "UsernameQueued": {
            "who": SS58String;
            "username": Binary;
            "expiration": number;
        };
        /**
         * A queued username passed its expiration without being claimed and was removed.
         */
        "PreapprovalExpired": {
            "whose": SS58String;
        };
        /**
         * A username was set as a primary and can be looked up from `who`.
         */
        "PrimaryUsernameSet": {
            "who": SS58String;
            "username": Binary;
        };
        /**
         * A dangling username (as in, a username corresponding to an account that has removed its
         * identity) has been removed.
         */
        "DanglingUsernameRemoved": {
            "who": SS58String;
            "username": Binary;
        };
    }>;
    "Democracy": Enum<{
        /**
         * A motion has been proposed by a public account.
         */
        "Proposed": {
            "proposal_index": number;
            "deposit": bigint;
        };
        /**
         * A public proposal has been tabled for referendum vote.
         */
        "Tabled": {
            "proposal_index": number;
            "deposit": bigint;
        };
        /**
         * An external proposal has been tabled.
         */
        "ExternalTabled": undefined;
        /**
         * A referendum has begun.
         */
        "Started": {
            "ref_index": number;
            "threshold": Enum<{
                "SuperMajorityApprove": undefined;
                "SuperMajorityAgainst": undefined;
                "SimpleMajority": undefined;
            }>;
        };
        /**
         * A proposal has been approved by referendum.
         */
        "Passed": Anonymize<Ied9mja4bq7va8>;
        /**
         * A proposal has been rejected by referendum.
         */
        "NotPassed": Anonymize<Ied9mja4bq7va8>;
        /**
         * A referendum has been cancelled.
         */
        "Cancelled": Anonymize<Ied9mja4bq7va8>;
        /**
         * An account has delegated their vote to another account.
         */
        "Delegated": {
            "who": SS58String;
            "target": SS58String;
        };
        /**
         * An account has cancelled a previous delegation operation.
         */
        "Undelegated": Anonymize<Icbccs0ug47ilf>;
        /**
         * An external proposal has been vetoed.
         */
        "Vetoed": {
            "who": SS58String;
            "proposal_hash": FixedSizeBinary<32>;
            "until": number;
        };
        /**
         * A proposal_hash has been blacklisted permanently.
         */
        "Blacklisted": Anonymize<I2ev73t79f46tb>;
        /**
         * An account has voted in a referendum
         */
        "Voted": {
            "voter": SS58String;
            "ref_index": number;
            "vote": Anonymize<Ia9hdots6g53fs>;
        };
        /**
         * An account has secconded a proposal
         */
        "Seconded": {
            "seconder": SS58String;
            "prop_index": number;
        };
        /**
         * A proposal got canceled.
         */
        "ProposalCanceled": Anonymize<I9mnj4k4u8ls2c>;
        /**
         * Metadata for a proposal or a referendum has been set.
         */
        "MetadataSet": {
            /**
             * Metadata owner.
             */
            "owner": Anonymize<I2itl2k1j2q8nf>;
            /**
             * Preimage hash.
             */
            "hash": FixedSizeBinary<32>;
        };
        /**
         * Metadata for a proposal or a referendum has been cleared.
         */
        "MetadataCleared": {
            /**
             * Metadata owner.
             */
            "owner": Anonymize<I2itl2k1j2q8nf>;
            /**
             * Preimage hash.
             */
            "hash": FixedSizeBinary<32>;
        };
        /**
         * Metadata has been transferred to new owner.
         */
        "MetadataTransferred": {
            /**
             * Previous metadata owner.
             */
            "prev_owner": Anonymize<I2itl2k1j2q8nf>;
            /**
             * New metadata owner.
             */
            "owner": Anonymize<I2itl2k1j2q8nf>;
            /**
             * Preimage hash.
             */
            "hash": FixedSizeBinary<32>;
        };
    }>;
    "Elections": Enum<{
        /**
         * A new term with new_members. This indicates that enough candidates existed to run
         * the election, not that enough have has been elected. The inner value must be examined
         * for this purpose. A `NewTerm(\[\])` indicates that some candidates got their bond
         * slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to
         * begin with.
         */
        "NewTerm": {
            "new_members": Array<[SS58String, bigint]>;
        };
        /**
         * No (or not enough) candidates existed for this round. This is different from
         * `NewTerm(\[\])`. See the description of `NewTerm`.
         */
        "EmptyTerm": undefined;
        /**
         * Internal error happened while trying to perform election.
         */
        "ElectionError": undefined;
        /**
         * A member has been removed. This should always be followed by either `NewTerm` or
         * `EmptyTerm`.
         */
        "MemberKicked": {
            "member": SS58String;
        };
        /**
         * Someone has renounced their candidacy.
         */
        "Renounced": {
            "candidate": SS58String;
        };
        /**
         * A candidate was slashed by amount due to failing to obtain a seat as member or
         * runner-up.
         *
         * Note that old members and runners-up are also candidates.
         */
        "CandidateSlashed": {
            "candidate": SS58String;
            "amount": bigint;
        };
        /**
         * A seat holder was slashed by amount by being forcefully removed from the set.
         */
        "SeatHolderSlashed": {
            "seat_holder": SS58String;
            "amount": bigint;
        };
    }>;
    "Council": Enum<{
        /**
         * A motion (given hash) has been proposed (by given account) with a threshold (given
         * `MemberCount`).
         */
        "Proposed": {
            "account": SS58String;
            "proposal_index": number;
            "proposal_hash": FixedSizeBinary<32>;
            "threshold": number;
        };
        /**
         * A motion (given hash) has been voted on by given account, leaving
         * a tally (yes votes and no votes given respectively as `MemberCount`).
         */
        "Voted": {
            "account": SS58String;
            "proposal_hash": FixedSizeBinary<32>;
            "voted": boolean;
            "yes": number;
            "no": number;
        };
        /**
         * A motion was approved by the required threshold.
         */
        "Approved": Anonymize<I2ev73t79f46tb>;
        /**
         * A motion was not approved by the required threshold.
         */
        "Disapproved": Anonymize<I2ev73t79f46tb>;
        /**
         * A motion was executed; result will be `Ok` if it returned without error.
         */
        "Executed": {
            "proposal_hash": FixedSizeBinary<32>;
            "result": Anonymize<I2f5rsne21qf5m>;
        };
        /**
         * A single member did some action; result will be `Ok` if it returned without error.
         */
        "MemberExecuted": {
            "proposal_hash": FixedSizeBinary<32>;
            "result": Anonymize<I2f5rsne21qf5m>;
        };
        /**
         * A proposal was closed because its threshold was reached or after its duration was up.
         */
        "Closed": {
            "proposal_hash": FixedSizeBinary<32>;
            "yes": number;
            "no": number;
        };
    }>;
    "TechnicalCommittee": Enum<{
        /**
         * A motion (given hash) has been proposed (by given account) with a threshold (given
         * `MemberCount`).
         */
        "Proposed": {
            "account": SS58String;
            "proposal_index": number;
            "proposal_hash": FixedSizeBinary<32>;
            "threshold": number;
        };
        /**
         * A motion (given hash) has been voted on by given account, leaving
         * a tally (yes votes and no votes given respectively as `MemberCount`).
         */
        "Voted": {
            "account": SS58String;
            "proposal_hash": FixedSizeBinary<32>;
            "voted": boolean;
            "yes": number;
            "no": number;
        };
        /**
         * A motion was approved by the required threshold.
         */
        "Approved": Anonymize<I2ev73t79f46tb>;
        /**
         * A motion was not approved by the required threshold.
         */
        "Disapproved": Anonymize<I2ev73t79f46tb>;
        /**
         * A motion was executed; result will be `Ok` if it returned without error.
         */
        "Executed": {
            "proposal_hash": FixedSizeBinary<32>;
            "result": Anonymize<I2f5rsne21qf5m>;
        };
        /**
         * A single member did some action; result will be `Ok` if it returned without error.
         */
        "MemberExecuted": {
            "proposal_hash": FixedSizeBinary<32>;
            "result": Anonymize<I2f5rsne21qf5m>;
        };
        /**
         * A proposal was closed because its threshold was reached or after its duration was up.
         */
        "Closed": {
            "proposal_hash": FixedSizeBinary<32>;
            "yes": number;
            "no": number;
        };
    }>;
    "Tips": Enum<{
        /**
         * A new tip suggestion has been opened.
         */
        "NewTip": {
            "tip_hash": FixedSizeBinary<32>;
        };
        /**
         * A tip suggestion has reached threshold and is closing.
         */
        "TipClosing": {
            "tip_hash": FixedSizeBinary<32>;
        };
        /**
         * A tip suggestion has been closed.
         */
        "TipClosed": {
            "tip_hash": FixedSizeBinary<32>;
            "who": SS58String;
            "payout": bigint;
        };
        /**
         * A tip suggestion has been retracted.
         */
        "TipRetracted": {
            "tip_hash": FixedSizeBinary<32>;
        };
        /**
         * A tip suggestion has been slashed.
         */
        "TipSlashed": {
            "tip_hash": FixedSizeBinary<32>;
            "finder": SS58String;
            "deposit": bigint;
        };
    }>;
    "Proxy": Enum<{
        /**
         * A proxy was executed correctly, with the given.
         */
        "ProxyExecuted": Anonymize<Icigktdjq5b5hl>;
        /**
         * A pure account has been created by new proxy with given
         * disambiguation index and proxy type.
         */
        "PureCreated": {
            "pure": SS58String;
            "who": SS58String;
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "disambiguation_index": number;
        };
        /**
         * An announcement was placed to make a call in the future.
         */
        "Announced": {
            "real": SS58String;
            "proxy": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
        /**
         * A proxy was added.
         */
        "ProxyAdded": {
            "delegator": SS58String;
            "delegatee": SS58String;
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "delay": number;
        };
        /**
         * A proxy was removed.
         */
        "ProxyRemoved": {
            "delegator": SS58String;
            "delegatee": SS58String;
            "proxy_type": Anonymize<Ie9g2psuhuu510>;
            "delay": number;
        };
    }>;
    "Multisig": Enum<{
        /**
         * A new multisig operation has begun.
         */
        "NewMultisig": {
            "approving": SS58String;
            "multisig": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
        /**
         * A multisig operation has been approved by someone.
         */
        "MultisigApproval": {
            "approving": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
        /**
         * A multisig operation has been executed.
         */
        "MultisigExecuted": {
            "approving": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": FixedSizeBinary<32>;
            "result": Anonymize<I2f5rsne21qf5m>;
        };
        /**
         * A multisig operation has been cancelled.
         */
        "MultisigCancelled": {
            "cancelling": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": FixedSizeBinary<32>;
        };
    }>;
    "Uniques": Enum<{
        /**
         * A `collection` was created.
         */
        "Created": {
            "collection": bigint;
            "creator": SS58String;
            "owner": SS58String;
        };
        /**
         * A `collection` was force-created.
         */
        "ForceCreated": {
            "collection": bigint;
            "owner": SS58String;
        };
        /**
         * A `collection` was destroyed.
         */
        "Destroyed": Anonymize<I88sl1jplq27bh>;
        /**
         * An `item` was issued.
         */
        "Issued": Anonymize<I846j8gk91gp4q>;
        /**
         * An `item` was transferred.
         */
        "Transferred": {
            "collection": bigint;
            "item": bigint;
            "from": SS58String;
            "to": SS58String;
        };
        /**
         * An `item` was destroyed.
         */
        "Burned": Anonymize<I846j8gk91gp4q>;
        /**
         * Some `item` was frozen.
         */
        "Frozen": Anonymize<I92ucef7ff2o7l>;
        /**
         * Some `item` was thawed.
         */
        "Thawed": Anonymize<I92ucef7ff2o7l>;
        /**
         * Some `collection` was frozen.
         */
        "CollectionFrozen": Anonymize<I88sl1jplq27bh>;
        /**
         * Some `collection` was thawed.
         */
        "CollectionThawed": Anonymize<I88sl1jplq27bh>;
        /**
         * The owner changed.
         */
        "OwnerChanged": Anonymize<I2970lus2v0qct>;
        /**
         * The management team changed.
         */
        "TeamChanged": Anonymize<I1vsbo63n9pu69>;
        /**
         * An `item` of a `collection` has been approved by the `owner` for transfer by
         * a `delegate`.
         */
        "ApprovedTransfer": {
            "collection": bigint;
            "item": bigint;
            "owner": SS58String;
            "delegate": SS58String;
        };
        /**
         * An approval for a `delegate` account to transfer the `item` of an item
         * `collection` was cancelled by its `owner`.
         */
        "ApprovalCancelled": {
            "collection": bigint;
            "item": bigint;
            "owner": SS58String;
            "delegate": SS58String;
        };
        /**
         * A `collection` has had its attributes changed by the `Force` origin.
         */
        "ItemStatusChanged": Anonymize<I88sl1jplq27bh>;
        /**
         * New metadata has been set for a `collection`.
         */
        "CollectionMetadataSet": Anonymize<I9oai3q0an1tbo>;
        /**
         * Metadata has been cleared for a `collection`.
         */
        "CollectionMetadataCleared": Anonymize<I88sl1jplq27bh>;
        /**
         * New metadata has been set for an item.
         */
        "MetadataSet": Anonymize<I9e4bfe80t2int>;
        /**
         * Metadata has been cleared for an item.
         */
        "MetadataCleared": Anonymize<I92ucef7ff2o7l>;
        /**
         * Metadata has been cleared for an item.
         */
        "Redeposited": {
            "collection": bigint;
            "successful_items": Anonymize<Iafqnechp3omqg>;
        };
        /**
         * New attribute metadata has been set for a `collection` or `item`.
         */
        "AttributeSet": Anonymize<I62ht2i39rtkaa>;
        /**
         * Attribute metadata has been cleared for a `collection` or `item`.
         */
        "AttributeCleared": Anonymize<Ichf8eu9t3dtc2>;
        /**
         * Ownership acceptance has changed for an account.
         */
        "OwnershipAcceptanceChanged": {
            "who": SS58String;
            "maybe_collection"?: Anonymize<I35p85j063s0il>;
        };
        /**
         * Max supply has been set for a collection.
         */
        "CollectionMaxSupplySet": Anonymize<Idj9k8sn80h3m6>;
        /**
         * The price was set for the instance.
         */
        "ItemPriceSet": {
            "collection": bigint;
            "item": bigint;
            "price": bigint;
            "whitelisted_buyer"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * The price for the instance was removed.
         */
        "ItemPriceRemoved": Anonymize<I92ucef7ff2o7l>;
        /**
         * An item was bought.
         */
        "ItemBought": {
            "collection": bigint;
            "item": bigint;
            "price": bigint;
            "seller": SS58String;
            "buyer": SS58String;
        };
    }>;
    "StateTrieMigration": Enum<{
        /**
         * Given number of `(top, child)` keys were migrated respectively, with the given
         * `compute`.
         */
        "Migrated": {
            "top": number;
            "child": number;
            "compute": Enum<{
                "Signed": undefined;
                "Auto": undefined;
            }>;
        };
        /**
         * Some account got slashed by the given amount.
         */
        "Slashed": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * The auto migration task finished.
         */
        "AutoMigrationFinished": undefined;
        /**
         * Migration got halted due to an error or miss-configuration.
         */
        "Halted": {
            "error": Anonymize<I96objte63brjr>;
        };
    }>;
    "ConvictionVoting": Enum<{
        /**
         * An account has delegated their vote to another account. \[who, target\]
         */
        "Delegated": FixedSizeArray<2, SS58String>;
        /**
         * An \[account\] has cancelled a previous delegation operation.
         */
        "Undelegated": SS58String;
        /**
         * An account that has voted
         */
        "Voted": {
            "who": SS58String;
            "vote": ConvictionVotingVoteAccountVote;
        };
        /**
         * A vote that been removed
         */
        "VoteRemoved": {
            "who": SS58String;
            "vote": ConvictionVotingVoteAccountVote;
        };
    }>;
    "Referenda": Enum<{
        /**
         * A referendum has been submitted.
         */
        "Submitted": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The track (and by extension proposal dispatch origin) of this referendum.
             */
            "track": number;
            /**
             * The proposal for the referendum.
             */
            "proposal": PreimagesBounded;
        };
        /**
         * The decision deposit has been placed.
         */
        "DecisionDepositPlaced": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The account who placed the deposit.
             */
            "who": SS58String;
            /**
             * The amount placed by the account.
             */
            "amount": bigint;
        };
        /**
         * The decision deposit has been refunded.
         */
        "DecisionDepositRefunded": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The account who placed the deposit.
             */
            "who": SS58String;
            /**
             * The amount placed by the account.
             */
            "amount": bigint;
        };
        /**
         * A deposit has been slashed.
         */
        "DepositSlashed": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * A referendum has moved into the deciding phase.
         */
        "DecisionStarted": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The track (and by extension proposal dispatch origin) of this referendum.
             */
            "track": number;
            /**
             * The proposal for the referendum.
             */
            "proposal": PreimagesBounded;
            /**
             * The current tally of votes in this referendum.
             */
            "tally": Anonymize<Ifsk7cbmtit1jd>;
        };
        "ConfirmStarted": Anonymize<I666bl2fqjkejo>;
        "ConfirmAborted": Anonymize<I666bl2fqjkejo>;
        /**
         * A referendum has ended its confirmation phase and is ready for approval.
         */
        "Confirmed": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The final tally of votes in this referendum.
             */
            "tally": Anonymize<Ifsk7cbmtit1jd>;
        };
        /**
         * A referendum has been approved and its proposal has been scheduled.
         */
        "Approved": Anonymize<I666bl2fqjkejo>;
        /**
         * A proposal has been rejected by referendum.
         */
        "Rejected": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The final tally of votes in this referendum.
             */
            "tally": Anonymize<Ifsk7cbmtit1jd>;
        };
        /**
         * A referendum has been timed out without being decided.
         */
        "TimedOut": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The final tally of votes in this referendum.
             */
            "tally": Anonymize<Ifsk7cbmtit1jd>;
        };
        /**
         * A referendum has been cancelled.
         */
        "Cancelled": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The final tally of votes in this referendum.
             */
            "tally": Anonymize<Ifsk7cbmtit1jd>;
        };
        /**
         * A referendum has been killed.
         */
        "Killed": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The final tally of votes in this referendum.
             */
            "tally": Anonymize<Ifsk7cbmtit1jd>;
        };
        /**
         * The submission deposit has been refunded.
         */
        "SubmissionDepositRefunded": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * The account who placed the deposit.
             */
            "who": SS58String;
            /**
             * The amount placed by the account.
             */
            "amount": bigint;
        };
        /**
         * Metadata for a referendum has been set.
         */
        "MetadataSet": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * Preimage hash.
             */
            "hash": FixedSizeBinary<32>;
        };
        /**
         * Metadata for a referendum has been cleared.
         */
        "MetadataCleared": {
            /**
             * Index of the referendum.
             */
            "index": number;
            /**
             * Preimage hash.
             */
            "hash": FixedSizeBinary<32>;
        };
    }>;
    "Whitelist": Enum<{
        "CallWhitelisted": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallRemoved": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallDispatched": Anonymize<I40e3lnjccf94o>;
    }>;
    "Dispatcher": Enum<{
        "TreasuryManagerCallDispatched": Anonymize<I40e3lnjccf94o>;
        "AaveManagerCallDispatched": Anonymize<I40e3lnjccf94o>;
    }>;
    "AssetRegistry": Enum<{
        /**
         * Existential deposit for insufficinet asset was paid.
         * `SufficiencyCheck` triggers this event.
         */
        "ExistentialDepositPaid": {
            "who": SS58String;
            "fee_asset": number;
            "amount": bigint;
        };
        /**
         * Asset was registered.
         */
        "Registered": {
            "asset_id": number;
            "asset_name"?: Anonymize<Iabpgqcjikia83>;
            "asset_type": Anonymize<I95262dsbtfh4d>;
            "existential_deposit": bigint;
            "xcm_rate_limit"?: Anonymize<I35p85j063s0il>;
            "symbol"?: Anonymize<Iabpgqcjikia83>;
            "decimals"?: Anonymize<I4arjljr6dpflb>;
            "is_sufficient": boolean;
        };
        /**
         * Asset was updated.
         */
        "Updated": {
            "asset_id": number;
            "asset_name"?: Anonymize<Iabpgqcjikia83>;
            "asset_type": Anonymize<I95262dsbtfh4d>;
            "existential_deposit": bigint;
            "xcm_rate_limit"?: Anonymize<I35p85j063s0il>;
            "symbol"?: Anonymize<Iabpgqcjikia83>;
            "decimals"?: Anonymize<I4arjljr6dpflb>;
            "is_sufficient": boolean;
        };
        /**
         * Native location set for an asset.
         */
        "LocationSet": {
            "asset_id": number;
            "location": Anonymize<I4c0s5cioidn76>;
        };
        /**
         * Asset was banned.
         */
        "AssetBanned": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Asset's ban was removed.
         */
        "AssetUnbanned": Anonymize<Ia5le7udkgbaq9>;
    }>;
    "Claims": Enum<{
        "Claim": [SS58String, FixedSizeBinary<20>, bigint];
    }>;
    "CollatorRewards": Enum<{
        /**
         * Collator was rewarded.
         */
        "CollatorRewarded": {
            "who": SS58String;
            "amount": bigint;
            "currency": number;
        };
    }>;
    "Omnipool": Enum<{
        /**
         * An asset was added to Omnipool
         */
        "TokenAdded": {
            "asset_id": number;
            "initial_amount": bigint;
            "initial_price": bigint;
        };
        /**
         * An asset was removed from Omnipool
         */
        "TokenRemoved": {
            "asset_id": number;
            "amount": bigint;
            "hub_withdrawn": bigint;
        };
        /**
         * Liquidity of an asset was added to Omnipool.
         */
        "LiquidityAdded": {
            "who": SS58String;
            "asset_id": number;
            "amount": bigint;
            "position_id": bigint;
        };
        /**
         * Liquidity of an asset was removed from Omnipool.
         */
        "LiquidityRemoved": {
            "who": SS58String;
            "position_id": bigint;
            "asset_id": number;
            "shares_removed": bigint;
            "fee": bigint;
        };
        /**
         * PRotocol Liquidity was removed from Omnipool.
         */
        "ProtocolLiquidityRemoved": {
            "who": SS58String;
            "asset_id": number;
            "amount": bigint;
            "hub_amount": bigint;
            "shares_removed": bigint;
        };
        /**
         * Sell trade executed.
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "SellExecuted": {
            "who": SS58String;
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "amount_out": bigint;
            "hub_amount_in": bigint;
            "hub_amount_out": bigint;
            "asset_fee_amount": bigint;
            "protocol_fee_amount": bigint;
        };
        /**
         * Buy trade executed.
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "BuyExecuted": {
            "who": SS58String;
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "amount_out": bigint;
            "hub_amount_in": bigint;
            "hub_amount_out": bigint;
            "asset_fee_amount": bigint;
            "protocol_fee_amount": bigint;
        };
        /**
         * LP Position was created and NFT instance minted.
         */
        "PositionCreated": {
            "position_id": bigint;
            "owner": SS58String;
            "asset": number;
            "amount": bigint;
            "shares": bigint;
            "price": bigint;
        };
        /**
         * LP Position was destroyed and NFT instance burned.
         */
        "PositionDestroyed": {
            "position_id": bigint;
            "owner": SS58String;
        };
        /**
         * LP Position was updated.
         */
        "PositionUpdated": {
            "position_id": bigint;
            "owner": SS58String;
            "asset": number;
            "amount": bigint;
            "shares": bigint;
            "price": bigint;
        };
        /**
         * Asset's tradable state has been updated.
         */
        "TradableStateUpdated": Anonymize<Iefviakco48cs2>;
        /**
         * Amount has been refunded for asset which has not been accepted to add to omnipool.
         */
        "AssetRefunded": Anonymize<Iakb7idgif10m8>;
        /**
         * Asset's weight cap has been updated.
         */
        "AssetWeightCapUpdated": Anonymize<Id7aqsj1u6b2r2>;
    }>;
    "TransactionPause": Enum<{
        /**
         * Paused transaction
         */
        "TransactionPaused": {
            "pallet_name_bytes": Binary;
            "function_name_bytes": Binary;
        };
        /**
         * Unpaused transaction
         */
        "TransactionUnpaused": {
            "pallet_name_bytes": Binary;
            "function_name_bytes": Binary;
        };
    }>;
    "Duster": Enum<{
        /**
         * Account dusted.
         */
        "Dusted": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Account added to non-dustable list.
         */
        "Added": Anonymize<I4cbvqmqadhrea>;
        /**
         * Account removed from non-dustable list.
         */
        "Removed": Anonymize<I4cbvqmqadhrea>;
    }>;
    "OmnipoolWarehouseLM": Enum<{
        /**
         * Global farm accumulated reward per share was updated.
         */
        "GlobalFarmAccRPZUpdated": {
            "global_farm_id": number;
            "accumulated_rpz": bigint;
            "total_shares_z": bigint;
        };
        /**
         * Yield farm accumulated reward per valued share was updated.
         */
        "YieldFarmAccRPVSUpdated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "accumulated_rpvs": bigint;
            "total_valued_shares": bigint;
        };
        /**
         * Global farm has no more rewards to distribute in the moment.
         */
        "AllRewardsDistributed": Anonymize<I9q8qmop6bko5m>;
    }>;
    "OmnipoolLiquidityMining": Enum<{
        /**
         * New global farm was created.
         */
        "GlobalFarmCreated": {
            "id": number;
            "owner": SS58String;
            "total_rewards": bigint;
            "reward_currency": number;
            "yield_per_period": bigint;
            "planned_yielding_periods": number;
            "blocks_per_period": number;
            "max_reward_per_period": bigint;
            "min_deposit": bigint;
            "lrna_price_adjustment": bigint;
        };
        /**
         * Global farm was updated
         */
        "GlobalFarmUpdated": {
            "id": number;
            "planned_yielding_periods": number;
            "yield_per_period": bigint;
            "min_deposit": bigint;
        };
        /**
         * Global farm was terminated.
         */
        "GlobalFarmTerminated": Anonymize<I8p8774nu1gec7>;
        /**
         * New yield farm was added to the farm.
         */
        "YieldFarmCreated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
            "multiplier": bigint;
            "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
        };
        /**
         * Yield farm multiplier was updated.
         */
        "YieldFarmUpdated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
            "who": SS58String;
            "multiplier": bigint;
        };
        /**
         * Yield farm for `asset_id` was stopped.
         */
        "YieldFarmStopped": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
            "who": SS58String;
        };
        /**
         * Yield farm for `asset_id` was resumed.
         */
        "YieldFarmResumed": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
            "who": SS58String;
            "multiplier": bigint;
        };
        /**
         * Yield farm was terminated from the global farm.
         */
        "YieldFarmTerminated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "asset_id": number;
            "who": SS58String;
        };
        /**
         * New LP shares(LP position) were deposited.
         */
        "SharesDeposited": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "deposit_id": bigint;
            "asset_id": number;
            "who": SS58String;
            "shares_amount": bigint;
            "position_id": bigint;
        };
        /**
         * Already locked LP shares were redeposited to another yield farm.
         */
        "SharesRedeposited": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "deposit_id": bigint;
            "asset_id": number;
            "who": SS58String;
            "shares_amount": bigint;
            "position_id": bigint;
        };
        /**
         * Rewards were claimed.
         */
        "RewardClaimed": Anonymize<I16oglmrf6q8h2>;
        /**
         * LP shares were withdrawn.
         */
        "SharesWithdrawn": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "amount": bigint;
            "deposit_id": bigint;
        };
        /**
         * All LP shares were unlocked and NFT representing deposit was destroyed.
         */
        "DepositDestroyed": Anonymize<Iv3iro9hpdvcu>;
    }>;
    "OTC": Enum<{
        /**
         * An Order has been cancelled
         */
        "Cancelled": Anonymize<Ibq6b0nsk23kj8>;
        /**
         * An Order has been completely filled
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "Filled": {
            "order_id": number;
            "who": SS58String;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
        };
        /**
         * An Order has been partially filled
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "PartiallyFilled": {
            "order_id": number;
            "who": SS58String;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
        };
        /**
         * An Order has been placed
         */
        "Placed": {
            "order_id": number;
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "amount_out": bigint;
            "partially_fillable": boolean;
        };
    }>;
    "CircuitBreaker": Enum<{
        /**
         * Trade volume limit of an asset was changed.
         */
        "TradeVolumeLimitChanged": Anonymize<I2i1tilmsb1rl1>;
        /**
         * Add liquidity limit of an asset was changed.
         */
        "AddLiquidityLimitChanged": Anonymize<I4l0u1h71fhj81>;
        /**
         * Remove liquidity limit of an asset was changed.
         */
        "RemoveLiquidityLimitChanged": Anonymize<I4l0u1h71fhj81>;
    }>;
    "Router": Enum<{
        /**
         * The route with trades has been successfully executed
         */
        "Executed": Anonymize<If1007933akv96>;
        /**
         * The route with trades has been successfully executed
         */
        "RouteUpdated": {
            "asset_ids": Anonymize<Icgljjb6j82uhn>;
        };
    }>;
    "DynamicFees": undefined;
    "Staking": Enum<{
        /**
         * New staking position was created and NFT was minted.
         */
        "PositionCreated": {
            "who": SS58String;
            "position_id": bigint;
            "stake": bigint;
        };
        /**
         * Staked amount for existing position was increased.
         */
        "StakeAdded": {
            "who": SS58String;
            "position_id": bigint;
            "stake": bigint;
            "total_stake": bigint;
            "locked_rewards": bigint;
            "slashed_points": bigint;
            "payable_percentage": bigint;
        };
        /**
         * Rewards were claimed.
         */
        "RewardsClaimed": {
            "who": SS58String;
            "position_id": bigint;
            "paid_rewards": bigint;
            "unlocked_rewards": bigint;
            "slashed_points": bigint;
            "slashed_unpaid_rewards": bigint;
            "payable_percentage": bigint;
        };
        /**
         * Staked amount was withdrawn and NFT was burned.
         */
        "Unstaked": {
            "who": SS58String;
            "position_id": bigint;
            "unlocked_stake": bigint;
        };
        /**
         * Staking was initialized.
         */
        "StakingInitialized": {
            "non_dustable_balance": bigint;
        };
        /**
         * Staking's `accumulated_reward_per_stake` was updated.
         */
        "AccumulatedRpsUpdated": {
            "accumulated_rps": bigint;
            "total_stake": bigint;
        };
    }>;
    "Stableswap": Enum<{
        /**
         * A pool was created.
         */
        "PoolCreated": {
            "pool_id": number;
            "assets": Anonymize<Icgljjb6j82uhn>;
            "amplification": number;
            "fee": number;
            "peg"?: ({
                "source": Anonymize<Iunv22mobb368>;
                "max_peg_update": number;
                "current": Array<Anonymize<I200n1ov5tbcvr>>;
            }) | undefined;
        };
        /**
         * Pool fee has been updated.
         */
        "FeeUpdated": Anonymize<Ics8sn0t3vlpat>;
        /**
         * Liquidity of an asset was added to a pool.
         */
        "LiquidityAdded": {
            "pool_id": number;
            "who": SS58String;
            "shares": bigint;
            "assets": Anonymize<Id7i7r9a29m8o2>;
        };
        /**
         * Liquidity removed.
         */
        "LiquidityRemoved": {
            "pool_id": number;
            "who": SS58String;
            "shares": bigint;
            "amounts": Anonymize<Id7i7r9a29m8o2>;
            "fee": bigint;
        };
        /**
         * Sell trade executed. Trade fee paid in asset leaving the pool (already subtracted from amount_out).
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "SellExecuted": {
            "who": SS58String;
            "pool_id": number;
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
        };
        /**
         * Buy trade executed. Trade fee paid in asset entering the pool (already included in amount_in).
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "BuyExecuted": {
            "who": SS58String;
            "pool_id": number;
            "asset_in": number;
            "asset_out": number;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
        };
        /**
         * Asset's tradable state has been updated.
         */
        "TradableStateUpdated": Anonymize<Iest0fomljvrb6>;
        /**
         * Amplification of a pool has been scheduled to change.
         */
        "AmplificationChanging": {
            "pool_id": number;
            "current_amplification": number;
            "final_amplification": number;
            "start_block": number;
            "end_block": number;
        };
        /**
         * A pool has been destroyed.
         */
        "PoolDestroyed": {
            "pool_id": number;
        };
    }>;
    "Bonds": Enum<{
        /**
         * A bond asset was registered
         */
        "TokenCreated": {
            "issuer": SS58String;
            "asset_id": number;
            "bond_id": number;
            "maturity": bigint;
        };
        /**
         * New bond were issued
         */
        "Issued": {
            "issuer": SS58String;
            "bond_id": number;
            "amount": bigint;
            "fee": bigint;
        };
        /**
         * Bonds were redeemed
         */
        "Redeemed": {
            "who": SS58String;
            "bond_id": number;
            "amount": bigint;
        };
    }>;
    "OtcSettlements": Enum<{
        /**
         * A trade has been executed
         */
        "Executed": {
            "asset_id": number;
            "profit": bigint;
        };
    }>;
    "LBP": Enum<{
        /**
         * Pool was created by the `CreatePool` origin.
         */
        "PoolCreated": {
            "pool": SS58String;
            "data": Anonymize<Iesq88051ch8ht>;
        };
        /**
         * Pool data were updated.
         */
        "PoolUpdated": {
            "pool": SS58String;
            "data": Anonymize<Iesq88051ch8ht>;
        };
        /**
         * New liquidity was provided to the pool.
         */
        "LiquidityAdded": Anonymize<Idvrgp2jjkjaee>;
        /**
         * Liquidity was removed from the pool and the pool was destroyed.
         */
        "LiquidityRemoved": Anonymize<Idvrgp2jjkjaee>;
        /**
         * Sale executed.
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "SellExecuted": {
            "who": SS58String;
            "asset_in": number;
            "asset_out": number;
            "amount": bigint;
            "sale_price": bigint;
            "fee_asset": number;
            "fee_amount": bigint;
        };
        /**
         * Purchase executed.
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "BuyExecuted": {
            "who": SS58String;
            "asset_out": number;
            "asset_in": number;
            "amount": bigint;
            "buy_price": bigint;
            "fee_asset": number;
            "fee_amount": bigint;
        };
    }>;
    "XYK": Enum<{
        /**
         * New liquidity was provided to the pool.
         */
        "LiquidityAdded": Anonymize<Idvrgp2jjkjaee>;
        /**
         * Liquidity was removed from the pool.
         */
        "LiquidityRemoved": {
            "who": SS58String;
            "asset_a": number;
            "asset_b": number;
            "shares": bigint;
        };
        /**
         * Pool was created.
         */
        "PoolCreated": {
            "who": SS58String;
            "asset_a": number;
            "asset_b": number;
            "initial_shares_amount": bigint;
            "share_token": number;
            "pool": SS58String;
        };
        /**
         * Pool was destroyed.
         */
        "PoolDestroyed": {
            "who": SS58String;
            "asset_a": number;
            "asset_b": number;
            "share_token": number;
            "pool": SS58String;
        };
        /**
         * Asset sale executed.
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "SellExecuted": {
            "who": SS58String;
            "asset_in": number;
            "asset_out": number;
            "amount": bigint;
            "sale_price": bigint;
            "fee_asset": number;
            "fee_amount": bigint;
            "pool": SS58String;
        };
        /**
         * Asset purchase executed.
         * Deprecated. Replaced by pallet_broadcast::Swapped
         */
        "BuyExecuted": {
            "who": SS58String;
            "asset_out": number;
            "asset_in": number;
            "amount": bigint;
            "buy_price": bigint;
            "fee_asset": number;
            "fee_amount": bigint;
            "pool": SS58String;
        };
    }>;
    "Referrals": Enum<{
        /**
         * Referral code has been registered.
         */
        "CodeRegistered": {
            "code": Binary;
            "account": SS58String;
        };
        /**
         * Referral code has been linked to an account.
         */
        "CodeLinked": {
            "account": SS58String;
            "code": Binary;
            "referral_account": SS58String;
        };
        /**
         * Asset has been converted to RewardAsset.
         */
        "Converted": {
            "from": Anonymize<Id2vo4qi5agnp0>;
            "to": Anonymize<Id2vo4qi5agnp0>;
        };
        /**
         * Rewards claimed.
         */
        "Claimed": {
            "who": SS58String;
            "referrer_rewards": bigint;
            "trade_rewards": bigint;
        };
        /**
         * New asset rewards has been set.
         */
        "AssetRewardsUpdated": Anonymize<Ionfhf9va2t31>;
        /**
         * Referrer reached new level.
         */
        "LevelUp": {
            "who": SS58String;
            "level": Anonymize<I4k5pg22d1rdhq>;
        };
    }>;
    "Liquidation": Enum<{
        /**
         * Money market position has been liquidated
         */
        "Liquidated": {
            "user": FixedSizeBinary<20>;
            "collateral_asset": number;
            "debt_asset": number;
            "debt_to_cover": bigint;
            "profit": bigint;
        };
    }>;
    "Tokens": Enum<{
        /**
         * An account was created with some free balance.
         */
        "Endowed": Anonymize<I24s4g6gkj5oec>;
        /**
         * An account was removed whose balance was non-zero but below
         * ExistentialDeposit, resulting in an outright loss.
         */
        "DustLost": Anonymize<I24s4g6gkj5oec>;
        /**
         * Transfer succeeded.
         */
        "Transfer": Anonymize<I82vqlr4shhaso>;
        /**
         * Some balance was reserved (moved from free to reserved).
         */
        "Reserved": Anonymize<I24s4g6gkj5oec>;
        /**
         * Some balance was unreserved (moved from reserved to free).
         */
        "Unreserved": Anonymize<I24s4g6gkj5oec>;
        /**
         * Some reserved balance was repatriated (moved from reserved to
         * another account).
         */
        "ReserveRepatriated": {
            "currency_id": number;
            "from": SS58String;
            "to": SS58String;
            "amount": bigint;
            "status": BalanceStatus;
        };
        /**
         * A balance was set by root.
         */
        "BalanceSet": {
            "currency_id": number;
            "who": SS58String;
            "free": bigint;
            "reserved": bigint;
        };
        /**
         * The total issuance of an currency has been set
         */
        "TotalIssuanceSet": {
            "currency_id": number;
            "amount": bigint;
        };
        /**
         * Some balances were withdrawn (e.g. pay for transaction fee)
         */
        "Withdrawn": Anonymize<I24s4g6gkj5oec>;
        /**
         * Some balances were slashed (e.g. due to mis-behavior)
         */
        "Slashed": {
            "currency_id": number;
            "who": SS58String;
            "free_amount": bigint;
            "reserved_amount": bigint;
        };
        /**
         * Deposited some balance into an account
         */
        "Deposited": Anonymize<I24s4g6gkj5oec>;
        /**
         * Some funds are locked
         */
        "LockSet": {
            "lock_id": FixedSizeBinary<8>;
            "currency_id": number;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Some locked funds were unlocked
         */
        "LockRemoved": {
            "lock_id": FixedSizeBinary<8>;
            "currency_id": number;
            "who": SS58String;
        };
        /**
         * Some free balance was locked.
         */
        "Locked": Anonymize<I24s4g6gkj5oec>;
        /**
         * Some locked balance was freed.
         */
        "Unlocked": Anonymize<I24s4g6gkj5oec>;
        "Issued": {
            "currency_id": number;
            "amount": bigint;
        };
        "Rescinded": {
            "currency_id": number;
            "amount": bigint;
        };
    }>;
    "Currencies": Enum<{
        /**
         * Currency transfer success.
         */
        "Transferred": Anonymize<I82vqlr4shhaso>;
        /**
         * Update balance success.
         */
        "BalanceUpdated": Anonymize<I24s4g6gkj5oec>;
        /**
         * Deposit success.
         */
        "Deposited": Anonymize<I24s4g6gkj5oec>;
        /**
         * Withdraw success.
         */
        "Withdrawn": Anonymize<I24s4g6gkj5oec>;
    }>;
    "Vesting": Enum<{
        /**
         * Added new vesting schedule.
         */
        "VestingScheduleAdded": {
            "from": SS58String;
            "to": SS58String;
            "vesting_schedule": Anonymize<I6k9mlgqa572np>;
        };
        /**
         * Claimed vesting.
         */
        "Claimed": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Updated vesting schedules.
         */
        "VestingSchedulesUpdated": Anonymize<I4cbvqmqadhrea>;
    }>;
    "EVM": Enum<{
        /**
         * Ethereum events from contracts.
         */
        "Log": Anonymize<Ifmc9boeeia623>;
        /**
         * A contract has been created at given address.
         */
        "Created": Anonymize<Itmchvgqfl28g>;
        /**
         * A contract was attempted to be created, but the execution failed.
         */
        "CreatedFailed": Anonymize<Itmchvgqfl28g>;
        /**
         * A contract has been executed successfully with states applied.
         */
        "Executed": Anonymize<Itmchvgqfl28g>;
        /**
         * A contract has been executed with errors. States are reverted with only gas fees applied.
         */
        "ExecutedFailed": Anonymize<Itmchvgqfl28g>;
    }>;
    "Ethereum": Enum<{
        /**
         * An ethereum transaction was successfully executed.
         */
        "Executed": {
            "from": FixedSizeBinary<20>;
            "to": FixedSizeBinary<20>;
            "transaction_hash": FixedSizeBinary<32>;
            "exit_reason": Enum<{
                "Succeed": Enum<{
                    "Stopped": undefined;
                    "Returned": undefined;
                    "Suicided": undefined;
                }>;
                "Error": Anonymize<I5ksr7ru2gk4nh>;
                "Revert": Enum<{
                    "Reverted": undefined;
                }>;
                "Fatal": Enum<{
                    "NotSupported": undefined;
                    "UnhandledInterrupt": undefined;
                    "CallErrorAsFatal": Anonymize<I5ksr7ru2gk4nh>;
                    "Other": string;
                }>;
            }>;
            "extra_data": Binary;
        };
    }>;
    "EVMAccounts": Enum<{
        /**
         * Binding was created.
         */
        "Bound": {
            "account": SS58String;
            "address": FixedSizeBinary<20>;
        };
        /**
         * Deployer was added.
         */
        "DeployerAdded": {
            "who": FixedSizeBinary<20>;
        };
        /**
         * Deployer was removed.
         */
        "DeployerRemoved": {
            "who": FixedSizeBinary<20>;
        };
        /**
         * Contract was approved.
         */
        "ContractApproved": Anonymize<Itmchvgqfl28g>;
        /**
         * Contract was disapproved.
         */
        "ContractDisapproved": Anonymize<Itmchvgqfl28g>;
    }>;
    "XYKLiquidityMining": Enum<{
        /**
         * New global farm was created.
         */
        "GlobalFarmCreated": {
            "id": number;
            "owner": SS58String;
            "total_rewards": bigint;
            "reward_currency": number;
            "yield_per_period": bigint;
            "planned_yielding_periods": number;
            "blocks_per_period": number;
            "incentivized_asset": number;
            "max_reward_per_period": bigint;
            "min_deposit": bigint;
            "price_adjustment": bigint;
        };
        /**
         * Global farm's `price_adjustment` was updated.
         */
        "GlobalFarmUpdated": {
            "id": number;
            "price_adjustment": bigint;
        };
        /**
         * New yield farm was added into the farm.
         */
        "YieldFarmCreated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "multiplier": bigint;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
        };
        /**
         * Global farm was terminated.
         */
        "GlobalFarmTerminated": Anonymize<I8p8774nu1gec7>;
        /**
         * New LP tokens was deposited.
         */
        "SharesDeposited": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "amount": bigint;
            "lp_token": number;
            "deposit_id": bigint;
        };
        /**
         * LP token was redeposited for a new yield farm entry
         */
        "SharesRedeposited": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "amount": bigint;
            "lp_token": number;
            "deposit_id": bigint;
        };
        /**
         * Rewards was claimed.
         */
        "RewardClaimed": Anonymize<I16oglmrf6q8h2>;
        /**
         * LP tokens was withdrawn.
         */
        "SharesWithdrawn": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "amount": bigint;
            "lp_token": number;
            "deposit_id": bigint;
        };
        /**
         * Yield farm for asset pair was stopped.
         */
        "YieldFarmStopped": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "asset_pair": Anonymize<I4kv0johj9i346>;
        };
        /**
         * Yield farm for asset pair was resumed.
         */
        "YieldFarmResumed": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "multiplier": bigint;
        };
        /**
         * Yield farm was terminated from global farm.
         */
        "YieldFarmTerminated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "asset_pair": Anonymize<I4kv0johj9i346>;
        };
        /**
         * Yield farm multiplier was updated.
         */
        "YieldFarmUpdated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "who": SS58String;
            "asset_pair": Anonymize<I4kv0johj9i346>;
            "multiplier": bigint;
        };
        /**
         * NFT representing deposit has been destroyed
         */
        "DepositDestroyed": Anonymize<Iv3iro9hpdvcu>;
    }>;
    "XYKWarehouseLM": Enum<{
        /**
         * Global farm accumulated reward per share was updated.
         */
        "GlobalFarmAccRPZUpdated": {
            "global_farm_id": number;
            "accumulated_rpz": bigint;
            "total_shares_z": bigint;
        };
        /**
         * Yield farm accumulated reward per valued share was updated.
         */
        "YieldFarmAccRPVSUpdated": {
            "global_farm_id": number;
            "yield_farm_id": number;
            "accumulated_rpvs": bigint;
            "total_valued_shares": bigint;
        };
        /**
         * Global farm has no more rewards to distribute in the moment.
         */
        "AllRewardsDistributed": Anonymize<I9q8qmop6bko5m>;
    }>;
    "RelayChainInfo": Enum<{
        /**
         * Current block numbers
         * [ Parachain block number, Relaychain Block number ]
         */
        "CurrentBlockNumbers": {
            "parachain_block_number": number;
            "relaychain_block_number": number;
        };
    }>;
    "DCA": Enum<{
        /**
         * The DCA execution is started
         */
        "ExecutionStarted": {
            "id": number;
            "block": number;
        };
        /**
         * The DCA is scheduled for next execution
         */
        "Scheduled": {
            "id": number;
            "who": SS58String;
            "period": number;
            "total_amount": bigint;
            "order": Anonymize<I3u6l9cad6tdj5>;
        };
        /**
         * The DCA is planned for blocknumber
         */
        "ExecutionPlanned": {
            "id": number;
            "who": SS58String;
            "block": number;
        };
        /**
         * The DCA trade is successfully executed
         */
        "TradeExecuted": {
            "id": number;
            "who": SS58String;
            "amount_in": bigint;
            "amount_out": bigint;
        };
        /**
         * The DCA trade execution is failed
         */
        "TradeFailed": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<Ie6ot6maka1vae>;
        };
        /**
         * The DCA is terminated and completely removed from the chain
         */
        "Terminated": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<Ie6ot6maka1vae>;
        };
        /**
         * The DCA is completed and completely removed from the chain
         */
        "Completed": {
            "id": number;
            "who": SS58String;
        };
        /**
         * Randomness generation failed possibly coming from missing data about relay chain
         */
        "RandomnessGenerationFailed": {
            "block": number;
            "error": Anonymize<Ie6ot6maka1vae>;
        };
    }>;
    "Scheduler": Enum<{
        /**
         * Scheduled some task.
         */
        "Scheduled": Anonymize<I5n4sebgkfr760>;
        /**
         * Canceled some task.
         */
        "Canceled": Anonymize<I5n4sebgkfr760>;
        /**
         * Dispatched some task.
         */
        "Dispatched": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
            "result": Anonymize<I2f5rsne21qf5m>;
        };
        /**
         * Set a retry configuration for some task.
         */
        "RetrySet": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
            "period": number;
            "retries": number;
        };
        /**
         * Cancel a retry configuration for some task.
         */
        "RetryCancelled": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * The call for the provided hash was not found so the task has been aborted.
         */
        "CallUnavailable": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * The given task was unable to be renewed since the agenda is full at that block.
         */
        "PeriodicFailed": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * The given task was unable to be retried since the agenda is full at that block or there
         * was not enough weight to reschedule it.
         */
        "RetryFailed": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * The given task can never be executed since it is overweight.
         */
        "PermanentlyOverweight": {
            "task": Anonymize<I9jd27rnpm8ttv>;
            "id"?: Anonymize<I4s6vifaf8k998>;
        };
    }>;
    "ParachainSystem": Enum<{
        /**
         * The validation function has been scheduled to apply.
         */
        "ValidationFunctionStored": undefined;
        /**
         * The validation function was applied as of the contained relay chain block number.
         */
        "ValidationFunctionApplied": {
            "relay_chain_block_num": number;
        };
        /**
         * The relay-chain aborted the upgrade process.
         */
        "ValidationFunctionDiscarded": undefined;
        /**
         * Some downward messages have been received and will be processed.
         */
        "DownwardMessagesReceived": Anonymize<Iafscmv8tjf0ou>;
        /**
         * Downward messages were processed using the given weight.
         */
        "DownwardMessagesProcessed": {
            "weight_used": Anonymize<I4q39t5hn830vp>;
            "dmq_head": FixedSizeBinary<32>;
        };
        /**
         * An upward message was sent to the relay chain.
         */
        "UpwardMessageSent": {
            "message_hash"?: Anonymize<I4s6vifaf8k998>;
        };
    }>;
    "PolkadotXcm": Enum<{
        /**
         * Execution of an XCM message was attempted.
         */
        "Attempted": {
            "outcome": XcmV4TraitsOutcome;
        };
        /**
         * A XCM message was sent.
         */
        "Sent": {
            "origin": Anonymize<I4c0s5cioidn76>;
            "destination": Anonymize<I4c0s5cioidn76>;
            "message": Anonymize<Iegrepoo0c1jc5>;
            "message_id": FixedSizeBinary<32>;
        };
        /**
         * Query response received which does not match a registered query. This may be because a
         * matching query was never registered, it may be because it is a duplicate response, or
         * because the query timed out.
         */
        "UnexpectedResponse": {
            "origin": Anonymize<I4c0s5cioidn76>;
            "query_id": bigint;
        };
        /**
         * Query response has been received and is ready for taking with `take_response`. There is
         * no registered notification call.
         */
        "ResponseReady": {
            "query_id": bigint;
            "response": XcmV4Response;
        };
        /**
         * Query response has been received and query is removed. The registered notification has
         * been dispatched and executed successfully.
         */
        "Notified": {
            "query_id": bigint;
            "pallet_index": number;
            "call_index": number;
        };
        /**
         * Query response has been received and query is removed. The registered notification
         * could not be dispatched because the dispatch weight is greater than the maximum weight
         * originally budgeted by this runtime for the query result.
         */
        "NotifyOverweight": {
            "query_id": bigint;
            "pallet_index": number;
            "call_index": number;
            "actual_weight": Anonymize<I4q39t5hn830vp>;
            "max_budgeted_weight": Anonymize<I4q39t5hn830vp>;
        };
        /**
         * Query response has been received and query is removed. There was a general error with
         * dispatching the notification call.
         */
        "NotifyDispatchError": {
            "query_id": bigint;
            "pallet_index": number;
            "call_index": number;
        };
        /**
         * Query response has been received and query is removed. The dispatch was unable to be
         * decoded into a `Call`; this might be due to dispatch function having a signature which
         * is not `(origin, QueryId, Response)`.
         */
        "NotifyDecodeFailed": {
            "query_id": bigint;
            "pallet_index": number;
            "call_index": number;
        };
        /**
         * Expected query response has been received but the origin location of the response does
         * not match that expected. The query remains registered for a later, valid, response to
         * be received and acted upon.
         */
        "InvalidResponder": {
            "origin": Anonymize<I4c0s5cioidn76>;
            "query_id": bigint;
            "expected_location"?: Anonymize<Ia9cgf4r40b26h>;
        };
        /**
         * Expected query response has been received but the expected origin location placed in
         * storage by this runtime previously cannot be decoded. The query remains registered.
         *
         * This is unexpected (since a location placed in storage in a previously executing
         * runtime should be readable prior to query timeout) and dangerous since the possibly
         * valid response will be dropped. Manual governance intervention is probably going to be
         * needed.
         */
        "InvalidResponderVersion": {
            "origin": Anonymize<I4c0s5cioidn76>;
            "query_id": bigint;
        };
        /**
         * Received query response has been read and removed.
         */
        "ResponseTaken": {
            "query_id": bigint;
        };
        /**
         * Some assets have been placed in an asset trap.
         */
        "AssetsTrapped": {
            "hash": FixedSizeBinary<32>;
            "origin": Anonymize<I4c0s5cioidn76>;
            "assets": XcmVersionedAssets;
        };
        /**
         * An XCM version change notification message has been attempted to be sent.
         *
         * The cost of sending it (borne by the chain) is included.
         */
        "VersionChangeNotified": {
            "destination": Anonymize<I4c0s5cioidn76>;
            "result": number;
            "cost": Anonymize<I50mli3hb64f9b>;
            "message_id": FixedSizeBinary<32>;
        };
        /**
         * The supported version of a location has been changed. This might be through an
         * automatic notification or a manual intervention.
         */
        "SupportedVersionChanged": Anonymize<Iabk8ljl5g8c86>;
        /**
         * A given location which had a version change subscription was dropped owing to an error
         * sending the notification to it.
         */
        "NotifyTargetSendFail": {
            "location": Anonymize<I4c0s5cioidn76>;
            "query_id": bigint;
            "error": XcmV3TraitsError;
        };
        /**
         * A given location which had a version change subscription was dropped owing to an error
         * migrating the location to our new XCM format.
         */
        "NotifyTargetMigrationFail": {
            "location": XcmVersionedLocation;
            "query_id": bigint;
        };
        /**
         * Expected query response has been received but the expected querier location placed in
         * storage by this runtime previously cannot be decoded. The query remains registered.
         *
         * This is unexpected (since a location placed in storage in a previously executing
         * runtime should be readable prior to query timeout) and dangerous since the possibly
         * valid response will be dropped. Manual governance intervention is probably going to be
         * needed.
         */
        "InvalidQuerierVersion": {
            "origin": Anonymize<I4c0s5cioidn76>;
            "query_id": bigint;
        };
        /**
         * Expected query response has been received but the querier location of the response does
         * not match the expected. The query remains registered for a later, valid, response to
         * be received and acted upon.
         */
        "InvalidQuerier": {
            "origin": Anonymize<I4c0s5cioidn76>;
            "query_id": bigint;
            "expected_querier": Anonymize<I4c0s5cioidn76>;
            "maybe_actual_querier"?: Anonymize<Ia9cgf4r40b26h>;
        };
        /**
         * A remote has requested XCM version change notification from us and we have honored it.
         * A version information message is sent to them and its cost is included.
         */
        "VersionNotifyStarted": {
            "destination": Anonymize<I4c0s5cioidn76>;
            "cost": Anonymize<I50mli3hb64f9b>;
            "message_id": FixedSizeBinary<32>;
        };
        /**
         * We have requested that a remote chain send us XCM version change notifications.
         */
        "VersionNotifyRequested": {
            "destination": Anonymize<I4c0s5cioidn76>;
            "cost": Anonymize<I50mli3hb64f9b>;
            "message_id": FixedSizeBinary<32>;
        };
        /**
         * We have requested that a remote chain stops sending us XCM version change
         * notifications.
         */
        "VersionNotifyUnrequested": {
            "destination": Anonymize<I4c0s5cioidn76>;
            "cost": Anonymize<I50mli3hb64f9b>;
            "message_id": FixedSizeBinary<32>;
        };
        /**
         * Fees were paid from a location for an operation (often for using `SendXcm`).
         */
        "FeesPaid": {
            "paying": Anonymize<I4c0s5cioidn76>;
            "fees": Anonymize<I50mli3hb64f9b>;
        };
        /**
         * Some assets have been claimed from an asset trap
         */
        "AssetsClaimed": {
            "hash": FixedSizeBinary<32>;
            "origin": Anonymize<I4c0s5cioidn76>;
            "assets": XcmVersionedAssets;
        };
        /**
         * A XCM version migration finished.
         */
        "VersionMigrationFinished": {
            "version": number;
        };
    }>;
    "CumulusXcm": Enum<{
        /**
         * Downward message is invalid XCM.
         * \[ id \]
         */
        "InvalidFormat": FixedSizeBinary<32>;
        /**
         * Downward message is unsupported version of XCM.
         * \[ id \]
         */
        "UnsupportedVersion": FixedSizeBinary<32>;
        /**
         * Downward message executed with the given outcome.
         * \[ id, outcome \]
         */
        "ExecutedDownward": [FixedSizeBinary<32>, XcmV4TraitsOutcome];
    }>;
    "XcmpQueue": Enum<{
        /**
         * An HRMP message was sent to a sibling parachain.
         */
        "XcmpMessageSent": {
            "message_hash": FixedSizeBinary<32>;
        };
    }>;
    "MessageQueue": Enum<{
        /**
         * Message discarded due to an error in the `MessageProcessor` (usually a format error).
         */
        "ProcessingFailed": {
            /**
             * The `blake2_256` hash of the message.
             */
            "id": FixedSizeBinary<32>;
            /**
             * The queue of the message.
             */
            "origin": Anonymize<Iejeo53sea6n4q>;
            /**
             * The error that occurred.
             *
             * This error is pretty opaque. More fine-grained errors need to be emitted as events
             * by the `MessageProcessor`.
             */
            "error": Enum<{
                "BadFormat": undefined;
                "Corrupt": undefined;
                "Unsupported": undefined;
                "Overweight": Anonymize<I4q39t5hn830vp>;
                "Yield": undefined;
                "StackLimitReached": undefined;
            }>;
        };
        /**
         * Message is processed.
         */
        "Processed": {
            /**
             * The `blake2_256` hash of the message.
             */
            "id": FixedSizeBinary<32>;
            /**
             * The queue of the message.
             */
            "origin": Anonymize<Iejeo53sea6n4q>;
            /**
             * How much weight was used to process the message.
             */
            "weight_used": Anonymize<I4q39t5hn830vp>;
            /**
             * Whether the message was processed.
             *
             * Note that this does not mean that the underlying `MessageProcessor` was internally
             * successful. It *solely* means that the MQ pallet will treat this as a success
             * condition and discard the message. Any internal error needs to be emitted as events
             * by the `MessageProcessor`.
             */
            "success": boolean;
        };
        /**
         * Message placed in overweight queue.
         */
        "OverweightEnqueued": {
            /**
             * The `blake2_256` hash of the message.
             */
            "id": FixedSizeBinary<32>;
            /**
             * The queue of the message.
             */
            "origin": Anonymize<Iejeo53sea6n4q>;
            /**
             * The page of the message.
             */
            "page_index": number;
            /**
             * The index of the message within the page.
             */
            "message_index": number;
        };
        /**
         * This page was reaped.
         */
        "PageReaped": {
            /**
             * The queue of the page.
             */
            "origin": Anonymize<Iejeo53sea6n4q>;
            /**
             * The index of the page.
             */
            "index": number;
        };
    }>;
    "OrmlXcm": Enum<{
        /**
         * XCM message sent. \[to, message\]
         */
        "Sent": {
            "to": Anonymize<I4c0s5cioidn76>;
            "message": Anonymize<Iegrepoo0c1jc5>;
        };
    }>;
    "XTokens": Enum<{
        /**
         * Transferred `Asset` with fee.
         */
        "TransferredAssets": {
            "sender": SS58String;
            "assets": Anonymize<I50mli3hb64f9b>;
            "fee": Anonymize<Ia5l7mu5a6v49o>;
            "dest": Anonymize<I4c0s5cioidn76>;
        };
    }>;
    "UnknownTokens": Enum<{
        /**
         * Deposit success.
         */
        "Deposited": {
            "asset": Anonymize<Ia5l7mu5a6v49o>;
            "who": Anonymize<I4c0s5cioidn76>;
        };
        /**
         * Withdraw success.
         */
        "Withdrawn": {
            "asset": Anonymize<Ia5l7mu5a6v49o>;
            "who": Anonymize<I4c0s5cioidn76>;
        };
    }>;
    "CollatorSelection": Enum<{
        /**
         * New Invulnerables were set.
         */
        "NewInvulnerables": {
            "invulnerables": Anonymize<Ia2lhg7l2hilo3>;
        };
        /**
         * A new Invulnerable was added.
         */
        "InvulnerableAdded": Anonymize<I6v8sm60vvkmk7>;
        /**
         * An Invulnerable was removed.
         */
        "InvulnerableRemoved": Anonymize<I6v8sm60vvkmk7>;
        /**
         * The number of desired candidates was set.
         */
        "NewDesiredCandidates": {
            "desired_candidates": number;
        };
        /**
         * The candidacy bond was set.
         */
        "NewCandidacyBond": {
            "bond_amount": bigint;
        };
        /**
         * A new candidate joined.
         */
        "CandidateAdded": {
            "account_id": SS58String;
            "deposit": bigint;
        };
        /**
         * Bond of a candidate updated.
         */
        "CandidateBondUpdated": {
            "account_id": SS58String;
            "deposit": bigint;
        };
        /**
         * A candidate was removed.
         */
        "CandidateRemoved": Anonymize<I6v8sm60vvkmk7>;
        /**
         * An account was replaced in the candidate list by another one.
         */
        "CandidateReplaced": {
            "old": SS58String;
            "new": SS58String;
            "deposit": bigint;
        };
        /**
         * An account was unable to be added to the Invulnerables because they did not have keys
         * registered. Other Invulnerables may have been set.
         */
        "InvalidInvulnerableSkipped": Anonymize<I6v8sm60vvkmk7>;
    }>;
    "Session": SessionEvent;
    "EmaOracle": Enum<{
        /**
         * Oracle was added to the whitelist.
         */
        "AddedToWhitelist": Anonymize<Iabgdocrka40v9>;
        /**
         * Oracle was removed from the whitelist.
         */
        "RemovedFromWhitelist": Anonymize<Iabgdocrka40v9>;
    }>;
    "Broadcast": Enum<{
        /**
         * Trade executed.
         *
         * Swapped3 is a fixed and renamed version of original Swapped,
         * as Swapped contained wrong input/output amounts for XYK buy trade
         *
         * Swapped3 is a fixed and renamed version of original Swapped3,
         * as Swapped contained wrong filler account on AAVE trades
         *
         */
        "Swapped3": {
            "swapper": SS58String;
            "filler": SS58String;
            "filler_type": Enum<{
                "Omnipool": undefined;
                "Stableswap": number;
                "XYK": number;
                "LBP": undefined;
                "OTC": number;
                "AAVE": undefined;
            }>;
            "operation": Enum<{
                "ExactIn": undefined;
                "ExactOut": undefined;
                "Limit": undefined;
                "LiquidityAdd": undefined;
                "LiquidityRemove": undefined;
            }>;
            "inputs": Array<Anonymize<Ing3etrevsfg0>>;
            "outputs": Array<Anonymize<Ing3etrevsfg0>>;
            "fees": Array<{
                "asset": number;
                "amount": bigint;
                "destination": Enum<{
                    "Account": SS58String;
                    "Burned": undefined;
                }>;
            }>;
            "operation_stack": Array<Enum<{
                "Router": number;
                "DCA": Anonymize<I9jd27rnpm8ttv>;
                "Batch": number;
                "Omnipool": number;
                "XcmExchange": number;
                "Xcm": [FixedSizeBinary<32>, number];
            }>>;
        };
    }>;
}>>;
export type Ic9s8f85vjtncc = {
    "weight": Anonymize<I4q39t5hn830vp>;
    "class": DispatchClass;
    "pays_fee": Anonymize<Iehg04bj71rkd>;
};
export type DispatchClass = Enum<{
    "Normal": undefined;
    "Operational": undefined;
    "Mandatory": undefined;
}>;
export declare const DispatchClass: GetEnum<DispatchClass>;
export type BalanceStatus = Enum<{
    "Free": undefined;
    "Reserved": undefined;
}>;
export declare const BalanceStatus: GetEnum<BalanceStatus>;
export type TransactionPaymentEvent = Enum<{
    /**
     * A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,
     * has been paid by `who`.
     */
    "TransactionFeePaid": {
        "who": SS58String;
        "actual_fee": bigint;
        "tip": bigint;
    };
}>;
export declare const TransactionPaymentEvent: GetEnum<TransactionPaymentEvent>;
export type Icigktdjq5b5hl = {
    "result": Anonymize<I2f5rsne21qf5m>;
};
export type I2f5rsne21qf5m = ResultPayload<undefined, Anonymize<Ie6ot6maka1vae>>;
export type PreimageEvent = Enum<{
    /**
     * A preimage has been noted.
     */
    "Noted": Anonymize<I1jm8m1rh9e20v>;
    /**
     * A preimage has been requested.
     */
    "Requested": Anonymize<I1jm8m1rh9e20v>;
    /**
     * A preimage has ben cleared.
     */
    "Cleared": Anonymize<I1jm8m1rh9e20v>;
}>;
export declare const PreimageEvent: GetEnum<PreimageEvent>;
export type Ifsk7cbmtit1jd = {
    "ayes": bigint;
    "nays": bigint;
    "support": bigint;
};
export type I40e3lnjccf94o = {
    "call_hash": FixedSizeBinary<32>;
    "result": Anonymize<I21r5ur8254hbq>;
};
export type I8p8774nu1gec7 = {
    "global_farm_id": number;
    "who": SS58String;
    "reward_currency": number;
    "undistributed_rewards": bigint;
};
export type I16oglmrf6q8h2 = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "who": SS58String;
    "claimed": bigint;
    "reward_currency": number;
    "deposit_id": bigint;
};
export type Iv3iro9hpdvcu = {
    "who": SS58String;
    "deposit_id": bigint;
};
export type Idvrgp2jjkjaee = {
    "who": SS58String;
    "asset_a": number;
    "asset_b": number;
    "amount_a": bigint;
    "amount_b": bigint;
};
export type I82vqlr4shhaso = {
    "currency_id": number;
    "from": SS58String;
    "to": SS58String;
    "amount": bigint;
};
export type I5ksr7ru2gk4nh = AnonymousEnum<{
    "StackUnderflow": undefined;
    "StackOverflow": undefined;
    "InvalidJump": undefined;
    "InvalidRange": undefined;
    "DesignatedInvalid": undefined;
    "CallTooDeep": undefined;
    "CreateCollision": undefined;
    "CreateContractLimit": undefined;
    "InvalidCode": number;
    "OutOfOffset": undefined;
    "OutOfGas": undefined;
    "OutOfFund": undefined;
    "PCUnderflow": undefined;
    "CreateEmpty": undefined;
    "Other": string;
    "MaxNonce": undefined;
}>;
export type XcmV4TraitsOutcome = Enum<{
    "Complete": {
        "used": Anonymize<I4q39t5hn830vp>;
    };
    "Incomplete": {
        "used": Anonymize<I4q39t5hn830vp>;
        "error": XcmV3TraitsError;
    };
    "Error": {
        "error": XcmV3TraitsError;
    };
}>;
export declare const XcmV4TraitsOutcome: GetEnum<XcmV4TraitsOutcome>;
export type SessionEvent = Enum<{
    /**
     * New session has happened. Note that the argument is the session index, not the
     * block number as the type might suggest.
     */
    "NewSession": {
        "session_index": number;
    };
}>;
export declare const SessionEvent: GetEnum<SessionEvent>;
export type I47tkk5e5nm6g7 = Array<[XcmVersionedLocation, Array<XcmVersionedXcm>]>;
export type I55ku9c5gk50hb = AnonymousEnum<{
    "Unimplemented": undefined;
    "VersionedConversionFailed": undefined;
}>;
export type Id2luorng6dtg7 = ResultPayload<{
    "execution_result": XcmV4TraitsOutcome;
    "emitted_events": Anonymize<Ie1rm235voj6lj>;
    "forwarded_xcms": Anonymize<I47tkk5e5nm6g7>;
}, Anonymize<I55ku9c5gk50hb>>;
export type Id5qsstfl1fkb3 = {
    "reserve": number;
    "atoken": number;
    "liqudity_in": bigint;
    "liqudity_out": bigint;
};
export type I3ii6nera7pkr8 = Array<Anonymize<Id5qsstfl1fkb3>>;
export {};
