import { Enum, GetEnum, SizedHex, SS58String, ResultPayload, FixedSizeArray, TxCallData } 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 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": Anonymize<I1q8tnt1cluu5j>;
};
export type I1q8tnt1cluu5j = {
    "free": bigint;
    "reserved": bigint;
    "frozen": bigint;
    "flags": bigint;
};
export type Iffmde3ekjedi9 = {
    "normal": Anonymize<I4q39t5hn830vp>;
    "operational": Anonymize<I4q39t5hn830vp>;
    "mandatory": Anonymize<I4q39t5hn830vp>;
};
export type I4q39t5hn830vp = {
    "ref_time": bigint;
    "proof_size": bigint;
};
export type I4mddgoa69c0a2 = Array<DigestItem>;
export type DigestItem = Enum<{
    "PreRuntime": [SizedHex<4>, Uint8Array];
    "Consensus": [SizedHex<4>, Uint8Array];
    "Seal": [SizedHex<4>, Uint8Array];
    "Other": Uint8Array;
    "RuntimeEnvironmentUpdated": undefined;
}>;
export declare const DigestItem: GetEnum<DigestItem>;
export type I3gicjuq7v22fo = Array<{
    "phase": Phase;
    "event": Anonymize<I3n4e62r1msrnh>;
    "topics": Anonymize<Ic5m5lp1oioo8r>;
}>;
export type Phase = Enum<{
    "ApplyExtrinsic": number;
    "Finalization": undefined;
    "Initialization": undefined;
}>;
export declare const Phase: GetEnum<Phase>;
export type I3n4e62r1msrnh = AnonymousEnum<{
    "System": Enum<{
        /**
         * An extrinsic completed successfully.
         */
        "ExtrinsicSuccess": Anonymize<Ia82mnkmeo2rhc>;
        /**
         * An extrinsic failed.
         */
        "ExtrinsicFailed": {
            "dispatch_error": Anonymize<Icslglicucmk4>;
            "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": Anonymize<I855j4i3kr8ko1>;
        /**
         * An upgrade was authorized.
         */
        "UpgradeAuthorized": Anonymize<Ibgl04rn6nbfm6>;
        /**
         * An invalid authorized upgrade was rejected while trying to apply it.
         */
        "RejectedInvalidAuthorizedUpgrade": {
            "code_hash": SizedHex<32>;
            "error": Anonymize<Icslglicucmk4>;
        };
    }>;
    "Balances": Anonymize<Iao8h4hv7atnq3>;
    "TransactionPayment": TransactionPaymentEvent;
    "MultiTransactionPayment": Anonymize<I8rr9o6g84pu5j>;
    "Treasury": Anonymize<I3kfo09eqm1214>;
    "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<Icslglicucmk4>;
        };
        /**
         * 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<Icslglicucmk4>;
        };
        /**
         * A call was dispatched.
         */
        "DispatchedAs": Anonymize<Ie3oo46l795bvi>;
        /**
         * Main call was dispatched.
         */
        "IfElseMainSuccess": undefined;
        /**
         * The fallback call was dispatched.
         */
        "IfElseFallbackCalled": {
            "main_error": Anonymize<Icslglicucmk4>;
        };
    }>;
    "Preimage": PreimageEvent;
    "Identity": Anonymize<I2au2or9cskfoi>;
    "Democracy": Anonymize<Icfq8ap3e5p73t>;
    "TechnicalCommittee": Enum<{
        /**
         * A motion (given hash) has been proposed (by given account) with a threshold (given
         * `MemberCount`).
         */
        "Proposed": Anonymize<Ift6f10887nk72>;
        /**
         * A motion (given hash) has been voted on by given account, leaving
         * a tally (yes votes and no votes given respectively as `MemberCount`).
         */
        "Voted": Anonymize<I7qc53b1tvqjg2>;
        /**
         * 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": SizedHex<32>;
            "result": Anonymize<Ifet2n3rb6j1p5>;
        };
        /**
         * A single member did some action; result will be `Ok` if it returned without error.
         */
        "MemberExecuted": {
            "proposal_hash": SizedHex<32>;
            "result": Anonymize<Ifet2n3rb6j1p5>;
        };
        /**
         * A proposal was closed because its threshold was reached or after its duration was up.
         */
        "Closed": Anonymize<Iak7fhrgb9jnnq>;
        /**
         * A proposal was killed.
         */
        "Killed": Anonymize<I2ev73t79f46tb>;
        /**
         * Some cost for storing a proposal was burned.
         */
        "ProposalCostBurned": Anonymize<I9ad1o9mv4cm3>;
        /**
         * Some cost for storing a proposal was released.
         */
        "ProposalCostReleased": Anonymize<I9ad1o9mv4cm3>;
    }>;
    "Proxy": Enum<{
        /**
         * A proxy was executed correctly, with the given.
         */
        "ProxyExecuted": Anonymize<Ie3oo46l795bvi>;
        /**
         * A pure account has been created by new proxy with given
         * disambiguation index and proxy type.
         */
        "PureCreated": Anonymize<Ic3vmcebni2jj7>;
        /**
         * A pure proxy was killed by its spawner.
         */
        "PureKilled": Anonymize<I6jvi0uvuu0bin>;
        /**
         * An announcement was placed to make a call in the future.
         */
        "Announced": Anonymize<I2ur0oeqg495j8>;
        /**
         * A proxy was added.
         */
        "ProxyAdded": Anonymize<I3opji3hcv2fmd>;
        /**
         * A proxy was removed.
         */
        "ProxyRemoved": Anonymize<I3opji3hcv2fmd>;
        /**
         * A deposit stored for proxies or announcements was poked / updated.
         */
        "DepositPoked": Anonymize<I1bhd210c3phjj>;
    }>;
    "Multisig": Enum<{
        /**
         * A new multisig operation has begun.
         */
        "NewMultisig": Anonymize<Iep27ialq4a7o7>;
        /**
         * A multisig operation has been approved by someone.
         */
        "MultisigApproval": Anonymize<Iasu5jvoqr43mv>;
        /**
         * A multisig operation has been executed.
         */
        "MultisigExecuted": {
            "approving": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": SizedHex<32>;
            "result": Anonymize<Ifet2n3rb6j1p5>;
        };
        /**
         * A multisig operation has been cancelled.
         */
        "MultisigCancelled": Anonymize<I5qolde99acmd1>;
        /**
         * The deposit for a multisig operation has been updated/poked.
         */
        "DepositPoked": Anonymize<I8gtde5abn1g9a>;
    }>;
    "Uniques": Anonymize<I27c883vr18l6d>;
    "StateTrieMigration": Anonymize<I61dksvl51aujo>;
    "ConvictionVoting": Anonymize<I7tvgbf73o5td4>;
    "Referenda": Anonymize<Idfraa3b4eu018>;
    "Whitelist": Enum<{
        "CallWhitelisted": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallRemoved": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallDispatched": Anonymize<Icant70ahgndp1>;
    }>;
    "Dispatcher": Enum<{
        "TreasuryManagerCallDispatched": Anonymize<Icant70ahgndp1>;
        "AaveManagerCallDispatched": Anonymize<Icant70ahgndp1>;
        "EmergencyAdminCallDispatched": Anonymize<Icant70ahgndp1>;
    }>;
    "AssetRegistry": Anonymize<If3falbb1ung7u>;
    "Claims": Anonymize<I8cen1qssvc0qs>;
    "CollatorRewards": Anonymize<I3ktde60bb7807>;
    "Omnipool": Anonymize<I664h1adohnf3>;
    "TransactionPause": Anonymize<I1e1tlbqeorb14>;
    "Duster": Anonymize<Ick156bqlvrfqh>;
    "OmnipoolWarehouseLM": Anonymize<Ibc0cs73olrilv>;
    "OmnipoolLiquidityMining": Anonymize<Ibd5re511t83ta>;
    "OTC": Anonymize<I4e560fvgcsh15>;
    "CircuitBreaker": Anonymize<Ide4f5v8rj6qj1>;
    "Router": Anonymize<I29ur4pnf751bn>;
    "DynamicFees": Anonymize<I1c5pfuotbjcgt>;
    "Staking": Anonymize<I578f2b006bplq>;
    "Stableswap": Anonymize<Icnr5b8h6gcdkg>;
    "Bonds": Anonymize<I3ans31bk1md2j>;
    "OtcSettlements": Anonymize<I7t4kltkut18qv>;
    "LBP": Anonymize<Iafgde8gm8mhvt>;
    "XYK": Anonymize<Ii9d7rb1uqb69>;
    "Referrals": Anonymize<Idpbcufjvb4ib7>;
    "Liquidation": Anonymize<I312semdevh20l>;
    "HSM": Anonymize<Iaadqf48tba550>;
    "Signet": Anonymize<I4sfp1m01chee2>;
    "EthDispenser": Anonymize<I1koed7o2trsh1>;
    "Tokens": Anonymize<I6h8581jnodhqc>;
    "Currencies": Anonymize<I6qgq0m7o225jg>;
    "Vesting": Anonymize<I3jgv45gfqgi7c>;
    "EVM": Anonymize<I9k071kk4cn1u8>;
    "Ethereum": Anonymize<I510u4q1qqh897>;
    "EVMAccounts": Anonymize<Ibh9fj6c5g5isi>;
    "XYKLiquidityMining": Anonymize<I479nm08b6ujjd>;
    "XYKWarehouseLM": Anonymize<Ibc0cs73olrilv>;
    "RelayChainInfo": Anonymize<I3cdbmcrrt95qk>;
    "DCA": Enum<{
        /**
         * The DCA execution is started
         */
        "ExecutionStarted": Anonymize<I4rrqp6atse8pe>;
        /**
         * The DCA is scheduled for next execution
         */
        "Scheduled": Anonymize<I4t1p53ss00k9n>;
        /**
         * The DCA is planned for blocknumber
         */
        "ExecutionPlanned": Anonymize<I140nraqvlukpk>;
        /**
         * The DCA trade is successfully executed
         */
        "TradeExecuted": Anonymize<Irs8utdvl0ftp>;
        /**
         * The DCA trade execution is failed
         */
        "TradeFailed": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<Icslglicucmk4>;
        };
        /**
         * The DCA is terminated and completely removed from the chain
         */
        "Terminated": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<Icslglicucmk4>;
        };
        /**
         * The DCA is completed and completely removed from the chain
         */
        "Completed": Anonymize<Iumh462jqskl8>;
        /**
         * Randomness generation failed possibly coming from missing data about relay chain
         */
        "RandomnessGenerationFailed": {
            "block": number;
            "error": Anonymize<Icslglicucmk4>;
        };
        /**
         * DCA reserve for the given asset have been unlocked for a user
         */
        "ReserveUnlocked": Anonymize<If4ebvclj2ugvi>;
    }>;
    "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<Ifet2n3rb6j1p5>;
        };
        /**
         * Set a retry configuration for some task.
         */
        "RetrySet": Anonymize<Ia3c82eadg79bj>;
        /**
         * Cancel a retry configuration for some task.
         */
        "RetryCancelled": Anonymize<Ienusoeb625ftq>;
        /**
         * The call for the provided hash was not found so the task has been aborted.
         */
        "CallUnavailable": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task was unable to be renewed since the agenda is full at that block.
         */
        "PeriodicFailed": Anonymize<Ienusoeb625ftq>;
        /**
         * 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": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task can never be executed since it is overweight.
         */
        "PermanentlyOverweight": Anonymize<Ienusoeb625ftq>;
        /**
         * Agenda is incomplete from `when`.
         */
        "AgendaIncomplete": Anonymize<Ibtsa3docbr9el>;
    }>;
    "ParachainSystem": Anonymize<Icbsekf57miplo>;
    "PolkadotXcm": Anonymize<If95hivmqmkiku>;
    "CumulusXcm": Anonymize<I5uv57c3fffoi9>;
    "XcmpQueue": Anonymize<Idsqc7mhp6nnle>;
    "MessageQueue": Anonymize<I2kosejppk3jon>;
    "MultiBlockMigrations": Anonymize<I94co7vj7h6bo>;
    "OrmlXcm": Anonymize<Iclksjsco5l5ll>;
    "XTokens": Anonymize<I1kj6lnq7rdnrl>;
    "UnknownTokens": Anonymize<Iacevcg18ig1av>;
    "CollatorSelection": Anonymize<I4srakrmf0fspo>;
    "Session": Anonymize<I6ue0ck5fc3u44>;
    "EmaOracle": Anonymize<I89atorvpon2q5>;
    "Broadcast": Anonymize<I6ns8af0gujj3o>;
}>;
export type Ia82mnkmeo2rhc = {
    "dispatch_info": Anonymize<Ic9s8f85vjtncc>;
};
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 Iehg04bj71rkd = AnonymousEnum<{
    "Yes": undefined;
    "No": undefined;
}>;
export type Icslglicucmk4 = AnonymousEnum<{
    "Other": undefined;
    "CannotLookup": undefined;
    "BadOrigin": undefined;
    "Module": Enum<{
        "System": Anonymize<I5o0s7c8q1cc9b>;
        "Timestamp": undefined;
        "Balances": Anonymize<Idj13i7adlomht>;
        "MultiTransactionPayment": Anonymize<Ie1j3ic3ikdair>;
        "Treasury": Anonymize<I36uss0m9fpcsf>;
        "Utility": Anonymize<I8dt2g2hcrgh36>;
        "Preimage": Anonymize<I4cfhml1prt4lu>;
        "Identity": Anonymize<Ib8gja1crqq8kd>;
        "Democracy": Anonymize<I67neb7i10udig>;
        "TechnicalCommittee": Anonymize<I7n7mcmnnfjfl2>;
        "Proxy": Anonymize<Iuvt54ei4cehc>;
        "Multisig": Anonymize<Ia76qmhhg4jvb9>;
        "Uniques": Anonymize<Ie9ou99obd2hgv>;
        "StateTrieMigration": Anonymize<I96objte63brjr>;
        "ConvictionVoting": Anonymize<Idfa8k8ikssbsf>;
        "Referenda": Anonymize<I84u4ul208g742>;
        "Whitelist": Anonymize<I15nctscutpbeh>;
        "Dispatcher": Anonymize<I46ek0njrbi1ic>;
        "AssetRegistry": Anonymize<Iimgfr2idjdm4>;
        "Claims": Anonymize<Ieesotejglstun>;
        "Omnipool": Anonymize<I9em41t708470c>;
        "TransactionPause": Anonymize<Ia4jj5ajguk6ba>;
        "Duster": Anonymize<I6jdbk5nr4bpjf>;
        "OmnipoolWarehouseLM": Anonymize<I17r8t2a8gf9b7>;
        "OmnipoolLiquidityMining": Anonymize<Id6n9g26d9892s>;
        "OTC": Anonymize<I1kp1c5al384as>;
        "CircuitBreaker": Anonymize<Iaq4kh9h7k1dgk>;
        "Router": Anonymize<Ifntb1290uuatm>;
        "DynamicFees": Anonymize<Ieg2grdsf1uomi>;
        "Staking": Anonymize<Idhbjtd7at0b1k>;
        "Stableswap": Anonymize<I8eoaovjr7q1cc>;
        "Bonds": Anonymize<Ibj08k850p0j34>;
        "OtcSettlements": Anonymize<I1jtj4pc4jltpf>;
        "LBP": Anonymize<Ic99uoklag6hh0>;
        "XYK": Anonymize<I8kpvqbmec15ck>;
        "Referrals": Anonymize<Iaqb0qr3l7g0ub>;
        "Liquidation": Anonymize<I48021h4n524pp>;
        "HSM": Anonymize<I52mmlvfoqvje5>;
        "Signet": Anonymize<I1sckf4ae8hj4k>;
        "EthDispenser": Anonymize<Ib9qhk06h0gmnc>;
        "Tokens": Anonymize<Icc7o7ep6n36h2>;
        "Currencies": Anonymize<Iejalhtid1s0pt>;
        "Vesting": Anonymize<Ifkcmnj410r9fh>;
        "EVM": Anonymize<I698do45i1f8v4>;
        "Ethereum": Anonymize<I1mp6vnoh32l4q>;
        "EVMAccounts": Anonymize<Id5703eij0t0r9>;
        "XYKLiquidityMining": Anonymize<Ictnue6n7jdr4j>;
        "XYKWarehouseLM": Anonymize<I17r8t2a8gf9b7>;
        "DCA": Anonymize<I685hla4ddmacn>;
        "Scheduler": Anonymize<If7oa8fprnilo5>;
        "ParachainSystem": Anonymize<Icjkr35j4tmg7k>;
        "PolkadotXcm": Anonymize<I4vcvo9od6afmt>;
        "XcmpQueue": Anonymize<Idnnbndsjjeqqs>;
        "MessageQueue": Anonymize<I5iupade5ag2dp>;
        "MultiBlockMigrations": Anonymize<Iaaqq5jevtahm8>;
        "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;
    "Trie": Anonymize<Idh4cj79bvroj8>;
}>;
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 Ie1j3ic3ikdair = 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;
    /**
     * EVM permit must not affect account nonce.
     */
    "EvmPermitNonceInvariantViolated": 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 Ib8gja1crqq8kd = 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;
    /**
     * The username cannot be removed because it's still in the grace period.
     */
    "TooEarly": undefined;
    /**
     * The username cannot be removed because it is not unbinding.
     */
    "NotUnbinding": undefined;
    /**
     * The username cannot be unbound because it is already unbinding.
     */
    "AlreadyUnbinding": undefined;
    /**
     * The action cannot be performed because of insufficient privileges (e.g. authority
     * trying to unbind a username provided by the system).
     */
    "InsufficientPrivileges": 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 I7n7mcmnnfjfl2 = 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;
    /**
     * Proposal is still active.
     */
    "ProposalActive": 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 in storage.
     */
    "NotFound": undefined;
    /**
     * Only the account that originally created the multisig is able to cancel it or update
     * its deposits.
     */
    "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 Ie9ou99obd2hgv = 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;
    /**
     * No metadata is found.
     */
    "NoMetadata": undefined;
    /**
     * Wrong metadata key/value bytes supplied.
     */
    "WrongMetadata": undefined;
    /**
     * An attribute is not found.
     */
    "AttributeNotFound": undefined;
    /**
     * Wrong attribute key/value bytes supplied.
     */
    "WrongAttribute": 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 I46ek0njrbi1ic = AnonymousEnum<{
    /**
     * The EVM call execution failed. This happens when the EVM returns an exit reason
     * other than `ExitSucceed(Returned)` or `ExitSucceed(Stopped)`.
     */
    "EvmCallFailed": undefined;
    /**
     * The provided call is not an EVM call. This extrinsic only accepts `pallet_evm::Call::call`.
     */
    "NotEvmCall": undefined;
    /**
     * The EVM call ran out of gas.
     */
    "EvmOutOfGas": undefined;
    /**
     * The EVM call resulted in an arithmetic overflow or underflow.
     */
    "EvmArithmeticOverflowOrUnderflow": undefined;
    /**
     * Aave - supply cap has been exceeded.
     */
    "AaveSupplyCapExceeded": undefined;
    /**
     * Aave - borrow cap has been exceeded.
     */
    "AaveBorrowCapExceeded": undefined;
    /**
     * Aave - health factor is not below the threshold.
     */
    "AaveHealthFactorNotBelowThreshold": undefined;
    /**
     * Aave - health factor is lesser than the liquidation threshold
     */
    "AaveHealthFactorLowerThanLiquidationThreshold": undefined;
    /**
     * Aave - there is not enough collateral to cover a new borrow
     */
    "CollateralCannotCoverNewBorrow": undefined;
    /**
     * Aave - the reserve is paused and no operations are allowed
     */
    "AaveReservePaused": 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 I9em41t708470c = 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;
    /**
     * Hub asset reserve update after trade resulted in unexpected Decrease.
     */
    "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;
    /**
     * Slip fee configuration exceeds the allowed maximum (50%).
     */
    "MaxSlipFeeTooHigh": 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 I6jdbk5nr4bpjf = AnonymousEnum<{
    /**
     * Account is excluded from dusting.
     */
    "AccountWhitelisted": undefined;
    /**
     * Account is not present in the non-dustable list.
     */
    "AccountNotWhitelisted": undefined;
    /**
     * The balance is zero.
     */
    "ZeroBalance": undefined;
    /**
     * The balance was not fully dusted, there is some leftover on the account. Normally, it should never happen.
     */
    "NonZeroBalance": undefined;
    /**
     * The balance is sufficient to keep account open.
     */
    "BalanceSufficient": undefined;
    /**
     * Reserve account is not set.
     */
    "ReserveAccountNotSet": undefined;
}>;
export type I17r8t2a8gf9b7 = 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;
    /**
     * 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;
    /**
     * Provided `amm_pool_id` doesn't match deposit's `amm_pool_id`.
     */
    "AmmPoolIdMismatch": 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 Id6n9g26d9892s = 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;
    /**
     * No assets specified in the withdrawal
     */
    "NoAssetsSpecified": undefined;
    /**
     * The provided position_id does not match the deposit's associated position.
     */
    "PositionIdMismatch": 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 Iaq4kh9h7k1dgk = 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;
    /**
     * Asset still in lockdown as it reached the allowed deposit limit for the period
     * Query the `asset_lockdown_state` storage to determine until which block the asset is locked,
     * so that the deposit can be released afterward.
     */
    "AssetInLockdown": undefined;
    /**
     * Asset is not in a lockdown
     */
    "AssetNotInLockdown": undefined;
    /**
     * Invalid amount to save deposit
     */
    "InvalidAmount": undefined;
    /**
     * Deposit limit would be exceeded for a whitelisted account.
     * Operation rejected to prevent funds being locked on system accounts.
     */
    "DepositLimitExceededForWhitelistedAccount": undefined;
    /**
     * Global lockdown is active and withdrawals that participate in the global limit are blocked.
     */
    "WithdrawLockdownActive": undefined;
    /**
     * Applying the increment would exceed the configured global limit -> lockdown is triggered and operation fails.
     */
    "GlobalWithdrawLimitExceeded": undefined;
    /**
     * Asset to withdraw cannot be converted to reference currency.
     */
    "FailedToConvertAsset": 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 Ieg2grdsf1uomi = AnonymousEnum<{
    /**
     * Invalid fee parameters provided
     */
    "InvalidFeeParameters": 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 I8eoaovjr7q1cc = 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;
    /**
     * Pool does not have pegs configured.
     */
    "NoPegSource": undefined;
    /**
     * Trade would result in zero amount out.
     */
    "ZeroAmountOut": undefined;
    /**
     * Trade would result in zero amount in.
     */
    "ZeroAmountIn": 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 I8kpvqbmec15ck = 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;
    /**
     * 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;
    /**
     * 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 I48021h4n524pp = 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;
    /**
     * Flash minter contract address not set. It is required for Hollar liquidations.
     */
    "FlashMinterNotSet": undefined;
    /**
     * Invalid liquidation data provided
     */
    "InvalidLiquidationData": undefined;
}>;
export type I52mmlvfoqvje5 = AnonymousEnum<{
    /**
     * Asset is not approved as collateral
     *
     * The operation attempted to use an asset that is not registered as an approved collateral.
     */
    "AssetNotApproved": undefined;
    /**
     * Asset is already approved as collateral
     *
     * Attempted to add an asset that is already registered as a collateral.
     */
    "AssetAlreadyApproved": undefined;
    /**
     * Another asset from the same pool is already approved
     *
     * Only one asset from each StableSwap pool can be used as collateral.
     */
    "PoolAlreadyHasCollateral": undefined;
    /**
     * Invalid asset pair, must be Hollar and approved collateral
     *
     * The asset pair for buy/sell operations must include Hollar as one side and an approved collateral as the other.
     */
    "InvalidAssetPair": undefined;
    /**
     * Max buy price exceeded
     *
     * The calculated buy price exceeds the maximum allowed buy price for the collateral.
     */
    "MaxBuyPriceExceeded": undefined;
    /**
     * Max buy back amount in single block exceeded
     *
     * The amount of Hollar being sold to HSM exceeds the maximum allowed in a single block for this collateral.
     */
    "MaxBuyBackExceeded": undefined;
    /**
     * Max holding amount for collateral exceeded
     *
     * The operation would cause the HSM to hold more of the collateral than the configured maximum.
     */
    "MaxHoldingExceeded": undefined;
    /**
     * Slippage limit exceeded
     *
     * The calculated amount is worse than the provided slippage limit.
     */
    "SlippageLimitExceeded": undefined;
    /**
     * Invalid EVM contract interaction
     *
     * The call to the EVM contract (GHO Hollar token) failed.
     */
    "InvalidEVMInteraction": undefined;
    /**
     * Decimal retrieval failed
     *
     * Failed to retrieve the decimal information for an asset.
     */
    "DecimalRetrievalFailed": undefined;
    /**
     * No arbitrage opportunity
     *
     * There is no profitable arbitrage opportunity for the specified collateral.
     */
    "NoArbitrageOpportunity": undefined;
    /**
     * Asset not in the pool
     *
     * The specified asset was not found in the pool.
     */
    "AssetNotFound": undefined;
    /**
     * Provided pool state is invalid
     *
     * The retrieved pool state has inconsistent or invalid data.
     */
    "InvalidPoolState": undefined;
    /**
     * Collateral is not empty
     *
     * Cannot remove a collateral asset that still has a non-zero balance in the HSM account.
     */
    "CollateralNotEmpty": undefined;
    /**
     * Asset not in the pool
     *
     * The collateral asset is not present in the specified pool.
     */
    "AssetNotInPool": undefined;
    /**
     * Hollar is not in the pool
     *
     * The Hollar asset is not present in the specified pool.
     */
    "HollarNotInPool": undefined;
    /**
     * Insufficient collateral balance
     *
     * The HSM does not have enough of the collateral asset to complete the operation.
     */
    "InsufficientCollateralBalance": undefined;
    /**
     * GHO Contract address not found
     *
     * The EVM address for the GHO (Hollar) token contract was not found.
     */
    "HollarContractAddressNotFound": undefined;
    /**
     * HSM contains maximum number of allowed collateral assets.
     */
    "MaxNumberOfCollateralsReached": undefined;
    /**
     * Flash minter address not set
     */
    "FlashMinterNotSet": undefined;
    /**
     * Provided arbitrage data is invalid
     */
    "InvalidArbitrageData": undefined;
}>;
export type I1sckf4ae8hj4k = AnonymousEnum<{
    /**
     * The pallet has already been initialized
     */
    "AlreadyInitialized": undefined;
    /**
     * The pallet has not been initialized yet
     */
    "NotInitialized": undefined;
    /**
     * Unauthorized - caller is not admin
     */
    "Unauthorized": undefined;
    /**
     * Insufficient funds for withdrawal
     */
    "InsufficientFunds": undefined;
    /**
     * Invalid transaction data (empty)
     */
    "InvalidTransaction": undefined;
    /**
     * Arrays must have the same length
     */
    "InvalidInputLength": undefined;
    /**
     * The chain ID is too long
     */
    "ChainIdTooLong": undefined;
    /**
     * Transaction data exceeds maximum allowed length
     */
    "DataTooLong": undefined;
    /**
     * Invalid address format - must be exactly 20 bytes
     */
    "InvalidAddress": undefined;
    /**
     * Priority fee cannot exceed max fee per gas (EIP-1559 requirement)
     */
    "InvalidGasPrice": undefined;
    /**
     * Signature Deposit cannot exceed MaxSignatureDeposit
     */
    "MaxDepositExceeded": undefined;
}>;
export type Ib9qhk06h0gmnc = AnonymousEnum<{
    /**
     * Request ID has already been used.
     */
    "DuplicateRequest": undefined;
    /**
     * Failed to (de)serialize data.
     */
    "Serialization": undefined;
    /**
     * Output data did not match the expected format.
     */
    "InvalidOutput": undefined;
    /**
     * Request ID does not match the derived ID for the provided data.
     */
    "InvalidRequestId": undefined;
    /**
     * Pallet is paused and cannot process this call.
     */
    "Paused": undefined;
    /**
     * Requested amount is below the configured minimum.
     */
    "AmountTooSmall": undefined;
    /**
     * Requested amount exceeds the configured maximum.
     */
    "AmountTooLarge": undefined;
    /**
     * EVM address parameter is invalid (e.g., zero address).
     */
    "InvalidAddress": undefined;
    /**
     * Faucet balance would fall below the configured threshold after this request.
     */
    "FaucetBalanceBelowThreshold": undefined;
    /**
     * Caller does not have enough balance of the fee asset.
     */
    "NotEnoughFeeFunds": undefined;
    /**
     * Caller does not have enough balance of the faucet asset.
     */
    "NotEnoughFaucetFunds": 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 I698do45i1f8v4 = 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 exceeds block gas limit.
     */
    "GasLimitExceedsBlockLimit": 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;
    /**
     * Address not allowed to deploy contracts either via CREATE or CALL(CREATE).
     */
    "CreateOriginNotAllowed": undefined;
    /**
     * EIP-7825: Transaction gas limit exceeds protocol cap (2^24).
     */
    "TransactionGasLimitExceedsCap": undefined;
}>;
export type I1mp6vnoh32l4q = AnonymousEnum<{
    /**
     * Signature is invalid.
     */
    "InvalidSignature": undefined;
    /**
     * Pre-log is present, therefore transact is not allowed.
     */
    "PreLogExists": undefined;
}>;
export type Id5703eij0t0r9 = 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;
    /**
     * Provided signature is invalid
     */
    "InvalidSignature": undefined;
    /**
     * Account already exists in the system pallet
     */
    "AccountAlreadyExists": undefined;
    /**
     * Insufficient asset balance of the claimed asset
     */
    "InsufficientAssetBalance": undefined;
}>;
export type Ictnue6n7jdr4j = 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;
    /**
     * Failed to calculate value of xyk shares
     */
    "FailedToValueShares": undefined;
}>;
export type I685hla4ddmacn = 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;
    /**
     * User still has active DCA schedules and cannot unlock reserves
     */
    "HasActiveSchedules": undefined;
    /**
     * No reserves are locked for the user for the given asset
     */
    "NoReservesLocked": 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 Icjkr35j4tmg7k = 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;
}>;
export type I4vcvo9od6afmt = 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;
    /**
     * Too many locations authorized to alias origin.
     */
    "TooManyAuthorizedAliases": undefined;
    /**
     * Expiry block number is in the past.
     */
    "ExpiresInPast": undefined;
    /**
     * The alias to remove authorization for was not found.
     */
    "AliasNotFound": undefined;
    /**
     * Local XCM execution incomplete with the actual XCM error and the index of the
     * instruction that caused the error.
     */
    "LocalExecutionIncompleteWithError": Anonymize<I5r8t4iaend96p>;
}>;
export type I5r8t4iaend96p = {
    "index": number;
    "error": 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": undefined;
        "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;
        "TooManyAssets": undefined;
        "UnhandledXcmVersion": undefined;
        "WeightLimitReached": undefined;
        "Barrier": undefined;
        "WeightNotComputable": undefined;
        "ExceedsStackLimit": 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 Iaaqq5jevtahm8 = AnonymousEnum<{
    /**
     * The operation cannot complete since some MBMs are ongoing.
     */
    "Ongoing": 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 transferring 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 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 Idh4cj79bvroj8 = AnonymousEnum<{
    "InvalidStateRoot": undefined;
    "IncompleteDatabase": undefined;
    "ValueAtIncompleteKey": undefined;
    "DecoderError": undefined;
    "InvalidHash": undefined;
    "DuplicateKey": undefined;
    "ExtraneousNode": undefined;
    "ExtraneousValue": undefined;
    "ExtraneousHashReference": undefined;
    "InvalidChildReference": undefined;
    "ValueMismatch": undefined;
    "IncompleteProof": undefined;
    "RootMismatch": undefined;
    "DecodeError": undefined;
}>;
export type Icbccs0ug47ilf = {
    "account": SS58String;
};
export type I855j4i3kr8ko1 = {
    "sender": SS58String;
    "hash": SizedHex<32>;
};
export type Ibgl04rn6nbfm6 = {
    "code_hash": SizedHex<32>;
    "check_version": boolean;
};
export type Iao8h4hv7atnq3 = AnonymousEnum<{
    /**
     * An account was created with some free balance.
     */
    "Endowed": Anonymize<Icv68aq8841478>;
    /**
     * An account was removed whose balance was non-zero but below ExistentialDeposit,
     * resulting in an outright loss.
     */
    "DustLost": Anonymize<Ic262ibdoec56a>;
    /**
     * Transfer succeeded.
     */
    "Transfer": Anonymize<Iflcfm9b6nlmdd>;
    /**
     * A balance was set by root.
     */
    "BalanceSet": Anonymize<Ijrsf4mnp3eka>;
    /**
     * 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": Anonymize<I8tjvj9uq4b7hi>;
    /**
     * 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": Anonymize<I4fooe9dun9o0t>;
}>;
export type Icv68aq8841478 = {
    "account": SS58String;
    "free_balance": bigint;
};
export type Ic262ibdoec56a = {
    "account": SS58String;
    "amount": bigint;
};
export type Iflcfm9b6nlmdd = {
    "from": SS58String;
    "to": SS58String;
    "amount": bigint;
};
export type Ijrsf4mnp3eka = {
    "who": SS58String;
    "free": bigint;
};
export type Id5fm4p8lj5qgi = {
    "who": SS58String;
    "amount": bigint;
};
export type I8tjvj9uq4b7hi = {
    "from": SS58String;
    "to": SS58String;
    "amount": bigint;
    "destination_status": BalanceStatus;
};
export type BalanceStatus = Enum<{
    "Free": undefined;
    "Reserved": undefined;
}>;
export declare const BalanceStatus: GetEnum<BalanceStatus>;
export type I4cbvqmqadhrea = {
    "who": SS58String;
};
export type I3qt1hgg4djhgb = {
    "amount": bigint;
};
export type I4fooe9dun9o0t = {
    "old": bigint;
    "new": bigint;
};
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 I8rr9o6g84pu5j = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type Ia5le7udkgbaq9 = {
    "asset_id": number;
};
export type I3kfo09eqm1214 = AnonymousEnum<{
    /**
     * We have ended a spend period and will now allocate funds.
     */
    "Spending": Anonymize<I8iksqi3eani0a>;
    /**
     * Some funds have been allocated.
     */
    "Awarded": Anonymize<I16enopmju1p0q>;
    /**
     * Some of our funds have been burnt.
     */
    "Burnt": Anonymize<I43kq8qudg7pq9>;
    /**
     * Spending has finished; this is the amount that rolls over until next spend.
     */
    "Rollover": Anonymize<I76riseemre533>;
    /**
     * Some funds have been deposited.
     */
    "Deposit": Anonymize<Ie5v6njpckr05b>;
    /**
     * A new spend proposal has been approved.
     */
    "SpendApproved": Anonymize<I38bmcrmh852rk>;
    /**
     * The inactive funds of the pallet have been updated.
     */
    "UpdatedInactive": Anonymize<I4hcillge8de5f>;
    /**
     * 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>;
}>;
export type I8iksqi3eani0a = {
    "budget_remaining": bigint;
};
export type I16enopmju1p0q = {
    "proposal_index": number;
    "award": bigint;
    "account": SS58String;
};
export type I43kq8qudg7pq9 = {
    "burnt_funds": bigint;
};
export type I76riseemre533 = {
    "rollover_balance": bigint;
};
export type Ie5v6njpckr05b = {
    "value": bigint;
};
export type I38bmcrmh852rk = {
    "proposal_index": number;
    "amount": bigint;
    "beneficiary": SS58String;
};
export type I4hcillge8de5f = {
    "reactivated": bigint;
    "deactivated": bigint;
};
export type I666bl2fqjkejo = {
    "index": number;
};
export type Ie3oo46l795bvi = {
    "result": Anonymize<Ifet2n3rb6j1p5>;
};
export type Ifet2n3rb6j1p5 = ResultPayload<undefined, Anonymize<Icslglicucmk4>>;
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 I1jm8m1rh9e20v = {
    "hash": SizedHex<32>;
};
export type I2au2or9cskfoi = AnonymousEnum<{
    /**
     * 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;
    };
    /**
     * An account's sub-identities were set (in bulk).
     */
    "SubIdentitiesSet": {
        "main": SS58String;
        "number_of_subs": number;
        "new_deposit": bigint;
    };
    /**
     * A given sub-account's associated name was changed by its super-identity.
     */
    "SubIdentityRenamed": {
        "sub": SS58String;
        "main": SS58String;
    };
    /**
     * 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": {
        "authority": SS58String;
    };
    /**
     * A username authority was removed.
     */
    "AuthorityRemoved": {
        "authority": SS58String;
    };
    /**
     * A username was set for `who`.
     */
    "UsernameSet": {
        "who": SS58String;
        "username": Uint8Array;
    };
    /**
     * A username was queued, but `who` must accept it prior to `expiration`.
     */
    "UsernameQueued": {
        "who": SS58String;
        "username": Uint8Array;
        "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": Uint8Array;
    };
    /**
     * A dangling username (as in, a username corresponding to an account that has removed its
     * identity) has been removed.
     */
    "DanglingUsernameRemoved": {
        "who": SS58String;
        "username": Uint8Array;
    };
    /**
     * A username has been unbound.
     */
    "UsernameUnbound": Anonymize<Ie5l999tf7t2te>;
    /**
     * A username has been removed.
     */
    "UsernameRemoved": Anonymize<Ie5l999tf7t2te>;
    /**
     * A username has been killed.
     */
    "UsernameKilled": Anonymize<Ie5l999tf7t2te>;
}>;
export type Ie5l999tf7t2te = {
    "username": Uint8Array;
};
export type Icfq8ap3e5p73t = AnonymousEnum<{
    /**
     * 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": Anonymize<Ivbp9821csvot>;
    };
    /**
     * 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": SizedHex<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": SizedHex<32>;
    };
    /**
     * Metadata for a proposal or a referendum has been cleared.
     */
    "MetadataCleared": {
        /**
         * Metadata owner.
         */
        "owner": Anonymize<I2itl2k1j2q8nf>;
        /**
         * Preimage hash.
         */
        "hash": SizedHex<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": SizedHex<32>;
    };
}>;
export type Ivbp9821csvot = AnonymousEnum<{
    "SuperMajorityApprove": undefined;
    "SuperMajorityAgainst": undefined;
    "SimpleMajority": undefined;
}>;
export type Ied9mja4bq7va8 = {
    "ref_index": number;
};
export type I2ev73t79f46tb = {
    "proposal_hash": SizedHex<32>;
};
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 I9mnj4k4u8ls2c = {
    "prop_index": number;
};
export type I2itl2k1j2q8nf = AnonymousEnum<{
    "External": undefined;
    "Proposal": number;
    "Referendum": number;
}>;
export type Ift6f10887nk72 = {
    "account": SS58String;
    "proposal_index": number;
    "proposal_hash": SizedHex<32>;
    "threshold": number;
};
export type I7qc53b1tvqjg2 = {
    "account": SS58String;
    "proposal_hash": SizedHex<32>;
    "voted": boolean;
    "yes": number;
    "no": number;
};
export type Iak7fhrgb9jnnq = {
    "proposal_hash": SizedHex<32>;
    "yes": number;
    "no": number;
};
export type I9ad1o9mv4cm3 = {
    "proposal_hash": SizedHex<32>;
    "who": SS58String;
};
export type Ic3vmcebni2jj7 = {
    "pure": SS58String;
    "who": SS58String;
    "proxy_type": Anonymize<Ie9g2psuhuu510>;
    "disambiguation_index": number;
};
export type Ie9g2psuhuu510 = AnonymousEnum<{
    "Any": undefined;
    "CancelProxy": undefined;
    "Governance": undefined;
    "Transfer": undefined;
    "Liquidity": undefined;
    "LiquidityMining": undefined;
}>;
export type I6jvi0uvuu0bin = {
    "pure": SS58String;
    "spawner": SS58String;
    "proxy_type": Anonymize<Ie9g2psuhuu510>;
    "disambiguation_index": number;
};
export type I2ur0oeqg495j8 = {
    "real": SS58String;
    "proxy": SS58String;
    "call_hash": SizedHex<32>;
};
export type I3opji3hcv2fmd = {
    "delegator": SS58String;
    "delegatee": SS58String;
    "proxy_type": Anonymize<Ie9g2psuhuu510>;
    "delay": number;
};
export type I1bhd210c3phjj = {
    "who": SS58String;
    "kind": Enum<{
        "Proxies": undefined;
        "Announcements": undefined;
    }>;
    "old_deposit": bigint;
    "new_deposit": bigint;
};
export type Iep27ialq4a7o7 = {
    "approving": SS58String;
    "multisig": SS58String;
    "call_hash": SizedHex<32>;
};
export type Iasu5jvoqr43mv = {
    "approving": SS58String;
    "timepoint": Anonymize<Itvprrpb0nm3o>;
    "multisig": SS58String;
    "call_hash": SizedHex<32>;
};
export type Itvprrpb0nm3o = {
    "height": number;
    "index": number;
};
export type I5qolde99acmd1 = {
    "cancelling": SS58String;
    "timepoint": Anonymize<Itvprrpb0nm3o>;
    "multisig": SS58String;
    "call_hash": SizedHex<32>;
};
export type I8gtde5abn1g9a = {
    "who": SS58String;
    "call_hash": SizedHex<32>;
    "old_deposit": bigint;
    "new_deposit": bigint;
};
export type I27c883vr18l6d = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type I88sl1jplq27bh = {
    "collection": bigint;
};
export type I846j8gk91gp4q = {
    "collection": bigint;
    "item": bigint;
    "owner": SS58String;
};
export type I92ucef7ff2o7l = {
    "collection": bigint;
    "item": bigint;
};
export type I2970lus2v0qct = {
    "collection": bigint;
    "new_owner": SS58String;
};
export type I1vsbo63n9pu69 = {
    "collection": bigint;
    "issuer": SS58String;
    "admin": SS58String;
    "freezer": SS58String;
};
export type I9oai3q0an1tbo = {
    "collection": bigint;
    "data": Uint8Array;
    "is_frozen": boolean;
};
export type I9e4bfe80t2int = {
    "collection": bigint;
    "item": bigint;
    "data": Uint8Array;
    "is_frozen": boolean;
};
export type Iafqnechp3omqg = Array<bigint>;
export type I62ht2i39rtkaa = {
    "collection": bigint;
    "maybe_item"?: Anonymize<I35p85j063s0il>;
    "key": Uint8Array;
    "value": Uint8Array;
};
export type I35p85j063s0il = (bigint) | undefined;
export type Ichf8eu9t3dtc2 = {
    "collection": bigint;
    "maybe_item"?: Anonymize<I35p85j063s0il>;
    "key": Uint8Array;
};
export type Idj9k8sn80h3m6 = {
    "collection": bigint;
    "max_supply": number;
};
export type Ihfphjolmsqq1 = (SS58String) | undefined;
export type I61dksvl51aujo = AnonymousEnum<{
    /**
     * 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>;
    };
}>;
export type I7tvgbf73o5td4 = AnonymousEnum<{
    /**
     * 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 has voted
     */
    "Voted": {
        "who": SS58String;
        "vote": ConvictionVotingVoteAccountVote;
    };
    /**
     * A vote has been removed
     */
    "VoteRemoved": {
        "who": SS58String;
        "vote": ConvictionVotingVoteAccountVote;
    };
    /**
     * The lockup period of a conviction vote expired, and the funds have been unlocked.
     */
    "VoteUnlocked": Anonymize<I7kij8p9kchdjo>;
}>;
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 I7kij8p9kchdjo = {
    "who": SS58String;
    "class": number;
};
export type Idfraa3b4eu018 = AnonymousEnum<{
    /**
     * 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": SizedHex<32>;
    };
    /**
     * Metadata for a referendum has been cleared.
     */
    "MetadataCleared": {
        /**
         * Index of the referendum.
         */
        "index": number;
        /**
         * Preimage hash.
         */
        "hash": SizedHex<32>;
    };
}>;
export type PreimagesBounded = Enum<{
    "Legacy": Anonymize<I1jm8m1rh9e20v>;
    "Inline": Uint8Array;
    "Lookup": {
        "hash": SizedHex<32>;
        "len": number;
    };
}>;
export declare const PreimagesBounded: GetEnum<PreimagesBounded>;
export type Ifsk7cbmtit1jd = {
    "ayes": bigint;
    "nays": bigint;
    "support": bigint;
};
export type I1adbcfi5uc62r = {
    "call_hash": SizedHex<32>;
};
export type Icant70ahgndp1 = {
    "call_hash": SizedHex<32>;
    "result": Anonymize<I6g7qs67u5htmq>;
};
export type I6g7qs67u5htmq = ResultPayload<Anonymize<Ia1u1r3n74r13c>, {
    "post_info": Anonymize<Ia1u1r3n74r13c>;
    "error": Anonymize<Icslglicucmk4>;
}>;
export type Ia1u1r3n74r13c = {
    "actual_weight"?: Anonymize<Iasb8k6ash5mjn>;
    "pays_fee": Anonymize<Iehg04bj71rkd>;
};
export type Iasb8k6ash5mjn = (Anonymize<I4q39t5hn830vp>) | undefined;
export type If3falbb1ung7u = AnonymousEnum<{
    /**
     * 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<If9iqq7i64mur8>;
    };
    /**
     * Asset was banned.
     */
    "AssetBanned": Anonymize<Ia5le7udkgbaq9>;
    /**
     * Asset's ban was removed.
     */
    "AssetUnbanned": Anonymize<Ia5le7udkgbaq9>;
}>;
export type Iabpgqcjikia83 = (Uint8Array) | undefined;
export type I95262dsbtfh4d = AnonymousEnum<{
    "Token": undefined;
    "XYK": undefined;
    "StableSwap": undefined;
    "Bond": undefined;
    "External": undefined;
    "Erc20": undefined;
}>;
export type I4arjljr6dpflb = (number) | undefined;
export type If9iqq7i64mur8 = {
    "parents": number;
    "interior": XcmV5Junctions;
};
export type XcmV5Junctions = Enum<{
    "Here": undefined;
    "X1": XcmV5Junction;
    "X2": FixedSizeArray<2, XcmV5Junction>;
    "X3": FixedSizeArray<3, XcmV5Junction>;
    "X4": FixedSizeArray<4, XcmV5Junction>;
    "X5": FixedSizeArray<5, XcmV5Junction>;
    "X6": FixedSizeArray<6, XcmV5Junction>;
    "X7": FixedSizeArray<7, XcmV5Junction>;
    "X8": FixedSizeArray<8, XcmV5Junction>;
}>;
export declare const XcmV5Junctions: GetEnum<XcmV5Junctions>;
export type XcmV5Junction = Enum<{
    "Parachain": number;
    "AccountId32": {
        "network"?: Anonymize<I97pd2rst02a7r>;
        "id": SizedHex<32>;
    };
    "AccountIndex64": {
        "network"?: Anonymize<I97pd2rst02a7r>;
        "index": bigint;
    };
    "AccountKey20": {
        "network"?: Anonymize<I97pd2rst02a7r>;
        "key": SizedHex<20>;
    };
    "PalletInstance": number;
    "GeneralIndex": bigint;
    "GeneralKey": Anonymize<I15lht6t53odo4>;
    "OnlyChild": undefined;
    "Plurality": Anonymize<I518fbtnclg1oc>;
    "GlobalConsensus": XcmV5NetworkId;
}>;
export declare const XcmV5Junction: GetEnum<XcmV5Junction>;
export type I97pd2rst02a7r = (XcmV5NetworkId) | undefined;
export type XcmV5NetworkId = Enum<{
    "ByGenesis": SizedHex<32>;
    "ByFork": Anonymize<I15vf5oinmcgps>;
    "Polkadot": undefined;
    "Kusama": undefined;
    "Ethereum": Anonymize<I623eo8t3jrbeo>;
    "BitcoinCore": undefined;
    "BitcoinCash": undefined;
    "PolkadotBulletin": undefined;
}>;
export declare const XcmV5NetworkId: GetEnum<XcmV5NetworkId>;
export type I15vf5oinmcgps = {
    "block_number": bigint;
    "block_hash": SizedHex<32>;
};
export type I623eo8t3jrbeo = {
    "chain_id": bigint;
};
export type I15lht6t53odo4 = {
    "length": number;
    "data": SizedHex<32>;
};
export type I518fbtnclg1oc = {
    "id": XcmV3JunctionBodyId;
    "part": XcmV2JunctionBodyPart;
};
export type XcmV3JunctionBodyId = Enum<{
    "Unit": undefined;
    "Moniker": SizedHex<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 I8cen1qssvc0qs = AnonymousEnum<{
    "Claim": [SS58String, SizedHex<20>, bigint];
}>;
export type I3ktde60bb7807 = AnonymousEnum<{
    /**
     * Collator was rewarded.
     */
    "CollatorRewarded": {
        "who": SS58String;
        "amount": bigint;
        "currency": number;
    };
}>;
export type I664h1adohnf3 = AnonymousEnum<{
    /**
     * 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>;
    /**
     * Slip fee configuration was updated.
     */
    "SlipFeeSet": Anonymize<Ib3jvgupt4scl5>;
}>;
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 Ib3jvgupt4scl5 = {
    "slip_fee"?: Anonymize<I4arjljr6dpflb>;
};
export type I1e1tlbqeorb14 = AnonymousEnum<{
    /**
     * Paused transaction
     */
    "TransactionPaused": {
        "pallet_name_bytes": Uint8Array;
        "function_name_bytes": Uint8Array;
    };
    /**
     * Unpaused transaction
     */
    "TransactionUnpaused": {
        "pallet_name_bytes": Uint8Array;
        "function_name_bytes": Uint8Array;
    };
}>;
export type Ick156bqlvrfqh = AnonymousEnum<{
    /**
     * Account dusted.
     */
    "Dusted": Anonymize<Id5fm4p8lj5qgi>;
    /**
     * Account added to non-dustable list.
     */
    "Added": Anonymize<I4cbvqmqadhrea>;
    /**
     * Account removed from non-dustable list.
     */
    "Removed": Anonymize<I4cbvqmqadhrea>;
}>;
export type Ibc0cs73olrilv = AnonymousEnum<{
    /**
     * 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>;
}>;
export type I9q8qmop6bko5m = {
    "global_farm_id": number;
};
export type Ibd5re511t83ta = AnonymousEnum<{
    /**
     * 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>;
}>;
export type I8p8774nu1gec7 = {
    "global_farm_id": number;
    "who": SS58String;
    "reward_currency": number;
    "undistributed_rewards": bigint;
};
export type Ieot4d4ofvtguv = ({
    "initial_reward_percentage": bigint;
    "scale_coef": number;
}) | undefined;
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 I4e560fvgcsh15 = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type Ibq6b0nsk23kj8 = {
    "order_id": number;
};
export type Ide4f5v8rj6qj1 = AnonymousEnum<{
    /**
     * 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>;
    /**
     * Asset went to lockdown
     */
    "AssetLockdown": Anonymize<I5qnn28n6p0qll>;
    /**
     * Asset lockdown was removed
     */
    "AssetLockdownRemoved": Anonymize<Ia5le7udkgbaq9>;
    /**
     * All reserved amount of deposit was released
     */
    "DepositReleased": Anonymize<If4ebvclj2ugvi>;
    /**
     * Global withdraw lockdown was lifted (either automatically or by reset).
     */
    "WithdrawLockdownLifted": undefined;
    /**
     * Withdraw lockdown accumulator and states were reset by governance.
     */
    "WithdrawLockdownReset": undefined;
    /**
     * Global withdraw limit config parameters were updated.
     */
    "WithdrawLimitConfigUpdated": Anonymize<Icmar3g4068bt5>;
    /**
     * Global withdraw lockdown was set by governance.
     */
    "WithdrawLockdownTriggered": Anonymize<I9s8siojusntd9>;
    /**
     * A number of egress accounts added to a list.
     */
    "EgressAccountsAdded": Anonymize<Iafscmv8tjf0ou>;
    /**
     * A number of egress accounts removed from a list.
     */
    "EgressAccountsRemoved": Anonymize<Iafscmv8tjf0ou>;
    /**
     * Asset category override updated.
     */
    "AssetCategoryUpdated": Anonymize<I8n8nbhh3v7dc6>;
}>;
export type I2i1tilmsb1rl1 = {
    "asset_id": number;
    "trade_volume_limit": Anonymize<I9jd27rnpm8ttv>;
};
export type I9jd27rnpm8ttv = FixedSizeArray<2, number>;
export type I4l0u1h71fhj81 = {
    "asset_id": number;
    "liquidity_limit"?: Anonymize<Iep7au1720bm0e>;
};
export type Iep7au1720bm0e = (Anonymize<I9jd27rnpm8ttv>) | undefined;
export type I5qnn28n6p0qll = {
    "asset_id": number;
    "until": number;
};
export type If4ebvclj2ugvi = {
    "who": SS58String;
    "asset_id": number;
};
export type Icmar3g4068bt5 = {
    "limit": bigint;
    "window": bigint;
};
export type I9s8siojusntd9 = {
    "until": bigint;
};
export type I8n8nbhh3v7dc6 = {
    "asset_id": number;
    "category"?: (Anonymize<I5bbnmrss3h025>) | undefined;
};
export type I5bbnmrss3h025 = AnonymousEnum<{
    "External": undefined;
    "Local": undefined;
}>;
export type I29ur4pnf751bn = AnonymousEnum<{
    /**
     * The route with trades has been successfully executed
     */
    "Executed": Anonymize<If1007933akv96>;
    /**
     * The route with trades has been successfully executed
     */
    "RouteUpdated": {
        "asset_ids": Anonymize<Icgljjb6j82uhn>;
    };
}>;
export type If1007933akv96 = {
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "amount_out": bigint;
    "event_id": number;
};
export type Icgljjb6j82uhn = Array<number>;
export type I1c5pfuotbjcgt = AnonymousEnum<{
    /**
     * Asset fee configuration has been set
     */
    "AssetFeeConfigSet": {
        "asset_id": number;
        "params": Anonymize<I5aq7tv9lofc3v>;
    };
    /**
     * Asset fee configuration has been removed
     */
    "AssetFeeConfigRemoved": Anonymize<Ia5le7udkgbaq9>;
}>;
export type I5aq7tv9lofc3v = AnonymousEnum<{
    "Fixed": {
        "asset_fee": number;
        "protocol_fee": number;
    };
    "Dynamic": {
        "asset_fee_params": Anonymize<Ie5fbn0f5capo3>;
        "protocol_fee_params": Anonymize<Ie5fbn0f5capo3>;
    };
}>;
export type Ie5fbn0f5capo3 = {
    "min_fee": number;
    "max_fee": number;
    "decay": bigint;
    "amplification": bigint;
};
export type I578f2b006bplq = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type Icnr5b8h6gcdkg = AnonymousEnum<{
    /**
     * A pool was created.
     */
    "PoolCreated": Anonymize<I1femd1o6lf4os>;
    /**
     * Pool fee has been updated.
     */
    "FeeUpdated": Anonymize<Ics8sn0t3vlpat>;
    /**
     * Liquidity of an asset was added to a pool.
     */
    "LiquidityAdded": Anonymize<I88qo502j1hm6r>;
    /**
     * Liquidity removed.
     */
    "LiquidityRemoved": Anonymize<I44sqbdseede38>;
    /**
     * Sell trade executed. Trade fee paid in asset leaving the pool (already subtracted from amount_out).
     * Deprecated. Replaced by pallet_broadcast::Swapped
     */
    "SellExecuted": Anonymize<I203slt75ll6b5>;
    /**
     * Buy trade executed. Trade fee paid in asset entering the pool (already included in amount_in).
     * Deprecated. Replaced by pallet_broadcast::Swapped
     */
    "BuyExecuted": Anonymize<I203slt75ll6b5>;
    /**
     * Asset's tradable state has been updated.
     */
    "TradableStateUpdated": Anonymize<Iest0fomljvrb6>;
    /**
     * Amplification of a pool has been scheduled to change.
     */
    "AmplificationChanging": Anonymize<I9buamva6m987d>;
    /**
     * A pool has been destroyed.
     */
    "PoolDestroyed": Anonymize<I931cottvong90>;
    /**
     * Pool peg source has been updated.
     */
    "PoolPegSourceUpdated": Anonymize<Ibmmi1tbvqjkf9>;
    /**
     * Pool max peg update has been updated.
     */
    "PoolMaxPegUpdateUpdated": Anonymize<I4f24vd3pvt9k>;
}>;
export type I1femd1o6lf4os = {
    "pool_id": number;
    "assets": Anonymize<Icgljjb6j82uhn>;
    "amplification": number;
    "fee": number;
    "peg"?: (Anonymize<Ier4eivhqndrf3>) | undefined;
};
export type Ier4eivhqndrf3 = {
    "source": Anonymize<Ibpk3qqvth3d7>;
    "updated_at": number;
    "max_peg_update": number;
    "current": Anonymize<I4m1oibmt8ob40>;
};
export type Ibpk3qqvth3d7 = Array<Anonymize<Icltggien44f6a>>;
export type Icltggien44f6a = AnonymousEnum<{
    "Value": Anonymize<I200n1ov5tbcvr>;
    "Oracle": [SizedHex<8>, Anonymize<I9m0752cdvui5o>, number];
    "MMOracle": SizedHex<20>;
}>;
export type I200n1ov5tbcvr = FixedSizeArray<2, bigint>;
export type I9m0752cdvui5o = AnonymousEnum<{
    "LastBlock": undefined;
    "Short": undefined;
    "TenMinutes": undefined;
    "Hour": undefined;
    "Day": undefined;
    "Week": undefined;
}>;
export type I4m1oibmt8ob40 = Array<Anonymize<I200n1ov5tbcvr>>;
export type Ics8sn0t3vlpat = {
    "pool_id": number;
    "fee": number;
};
export type I88qo502j1hm6r = {
    "pool_id": number;
    "who": SS58String;
    "shares": bigint;
    "assets": Anonymize<Id7i7r9a29m8o2>;
};
export type Id7i7r9a29m8o2 = Array<Anonymize<Id2vo4qi5agnp0>>;
export type Id2vo4qi5agnp0 = {
    "asset_id": number;
    "amount": bigint;
};
export type I44sqbdseede38 = {
    "pool_id": number;
    "who": SS58String;
    "shares": bigint;
    "amounts": Anonymize<Id7i7r9a29m8o2>;
    "fee": bigint;
};
export type I203slt75ll6b5 = {
    "who": SS58String;
    "pool_id": number;
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "amount_out": bigint;
    "fee": bigint;
};
export type Iest0fomljvrb6 = {
    "pool_id": number;
    "asset_id": number;
    "state": number;
};
export type I9buamva6m987d = {
    "pool_id": number;
    "current_amplification": number;
    "final_amplification": number;
    "start_block": number;
    "end_block": number;
};
export type I931cottvong90 = {
    "pool_id": number;
};
export type Ibmmi1tbvqjkf9 = {
    "pool_id": number;
    "asset_id": number;
    "peg_source": Anonymize<Icltggien44f6a>;
};
export type I4f24vd3pvt9k = {
    "pool_id": number;
    "max_peg_update": number;
};
export type I3ans31bk1md2j = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type I7t4kltkut18qv = AnonymousEnum<{
    /**
     * A trade has been executed
     */
    "Executed": {
        "asset_id": number;
        "profit": bigint;
    };
}>;
export type Iafgde8gm8mhvt = AnonymousEnum<{
    /**
     * 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;
    };
}>;
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 Idvrgp2jjkjaee = {
    "who": SS58String;
    "asset_a": number;
    "asset_b": number;
    "amount_a": bigint;
    "amount_b": bigint;
};
export type Ii9d7rb1uqb69 = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type Idpbcufjvb4ib7 = AnonymousEnum<{
    /**
     * Referral code has been registered.
     */
    "CodeRegistered": {
        "code": Uint8Array;
        "account": SS58String;
    };
    /**
     * Referral code has been linked to an account.
     */
    "CodeLinked": {
        "account": SS58String;
        "code": Uint8Array;
        "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>;
    };
}>;
export type Ionfhf9va2t31 = {
    "asset_id": number;
    "level": Anonymize<I4k5pg22d1rdhq>;
    "rewards": Anonymize<I4qc61lpfqml75>;
};
export type I4k5pg22d1rdhq = AnonymousEnum<{
    "None": undefined;
    "Tier0": undefined;
    "Tier1": undefined;
    "Tier2": undefined;
    "Tier3": undefined;
    "Tier4": undefined;
}>;
export type I4qc61lpfqml75 = {
    "referrer": number;
    "trader": number;
    "external": number;
};
export type I312semdevh20l = AnonymousEnum<{
    /**
     * Money market position has been liquidated
     */
    "Liquidated": {
        "user": SizedHex<20>;
        "collateral_asset": number;
        "debt_asset": number;
        "profit": bigint;
    };
}>;
export type Iaadqf48tba550 = AnonymousEnum<{
    /**
     * A new collateral asset was added
     *
     * Parameters:
     * - `asset_id`: The ID of the asset added as collateral
     * - `pool_id`: The StableSwap pool ID where this asset belongs
     * - `purchase_fee`: Fee applied when buying Hollar with this asset
     * - `max_buy_price_coefficient`: Maximum buy price coefficient for HSM to buy back Hollar
     * - `buy_back_fee`: Fee applied when buying back Hollar
     * - `buyback_rate`: Parameter that controls how quickly HSM can buy Hollar with this asset
     */
    "CollateralAdded": {
        "asset_id": number;
        "pool_id": number;
        "purchase_fee": number;
        "max_buy_price_coefficient": bigint;
        "buy_back_fee": number;
        "buyback_rate": number;
    };
    /**
     * A collateral asset was removed
     *
     * Parameters:
     * - `asset_id`: The ID of the asset removed from collaterals
     */
    "CollateralRemoved": Anonymize<Ia5le7udkgbaq9>;
    /**
     * A collateral asset was updated
     *
     * Parameters:
     * - `asset_id`: The ID of the updated collateral asset
     * - `purchase_fee`: New purchase fee if updated (None if not changed)
     * - `max_buy_price_coefficient`: New max buy price coefficient if updated (None if not changed)
     * - `buy_back_fee`: New buy back fee if updated (None if not changed)
     * - `buyback_rate`: New buyback rate if updated (None if not changed)
     * - `max_in_holding`: New max collateral holding if updated (None if not changed)
     */
    "CollateralUpdated": Anonymize<Ie6d997npqi7i1>;
    /**
     * Arbitrage executed successfully
     *
     * Parameters:
     * - `asset_id`: The collateral asset used in the arbitrage
     * - `hollar_amount`: Amount of Hollar that was included in the arbitrage operation
     */
    "ArbitrageExecuted": {
        "arbitrage": number;
        "asset_id": number;
        "hollar_amount": bigint;
        "profit": bigint;
    };
    /**
     * Flash minter address set
     *
     * Parameters:
     * - `flash_minter`: The EVM address of the flash minter contract
     */
    "FlashMinterSet": {
        "flash_minter": SizedHex<20>;
    };
}>;
export type Ie6d997npqi7i1 = {
    "asset_id": number;
    "purchase_fee"?: Anonymize<I4arjljr6dpflb>;
    "max_buy_price_coefficient"?: Anonymize<I35p85j063s0il>;
    "buy_back_fee"?: Anonymize<I4arjljr6dpflb>;
    "buyback_rate"?: Anonymize<I4arjljr6dpflb>;
    "max_in_holding"?: (Anonymize<I35p85j063s0il>) | undefined;
};
export type I4sfp1m01chee2 = AnonymousEnum<{
    /**
     * Pallet has been initialized with an admin
     */
    "Initialized": Anonymize<I27eh23813jcco>;
    /**
     * Signature deposit amount has been updated
     */
    "DepositUpdated": {
        "old_deposit": bigint;
        "new_deposit": bigint;
    };
    /**
     * Funds have been withdrawn from the pallet
     */
    "FundsWithdrawn": Anonymize<I1t9m8mcm55vqu>;
    /**
     * A signature has been requested
     */
    "SignatureRequested": Anonymize<Icg492pfkqt7hl>;
    /**
     * Sign bidirectional request event
     */
    "SignBidirectionalRequested": Anonymize<Iet0n217bk5flu>;
    /**
     * Signature response event
     */
    "SignatureResponded": Anonymize<Ifb0su7ddkn91v>;
    /**
     * Signature error event
     */
    "SignatureError": Anonymize<I2b1vnv0n9miqs>;
    /**
     * Respond bidirectional event
     */
    "RespondBidirectionalEvent": Anonymize<I3ornnjehfr13s>;
}>;
export type I27eh23813jcco = {
    "admin": SS58String;
    "signature_deposit": bigint;
    "chain_id": Uint8Array;
};
export type I1t9m8mcm55vqu = {
    "amount": bigint;
    "recipient": SS58String;
};
export type Icg492pfkqt7hl = {
    "sender": SS58String;
    "payload": SizedHex<32>;
    "key_version": number;
    "deposit": bigint;
    "chain_id": Uint8Array;
    "path": Uint8Array;
    "algo": Uint8Array;
    "dest": Uint8Array;
    "params": Uint8Array;
};
export type Iet0n217bk5flu = {
    "sender": SS58String;
    "serialized_transaction": Uint8Array;
    "caip2_id": Uint8Array;
    "key_version": number;
    "deposit": bigint;
    "path": Uint8Array;
    "algo": Uint8Array;
    "dest": Uint8Array;
    "params": Uint8Array;
    "output_deserialization_schema": Uint8Array;
    "respond_serialization_schema": Uint8Array;
};
export type Ifb0su7ddkn91v = {
    "request_id": SizedHex<32>;
    "responder": SS58String;
    "signature": Anonymize<Idqumuc2rsgufd>;
};
export type Idqumuc2rsgufd = {
    "big_r": {
        "x": SizedHex<32>;
        "y": SizedHex<32>;
    };
    "s": SizedHex<32>;
    "recovery_id": number;
};
export type I2b1vnv0n9miqs = {
    "request_id": SizedHex<32>;
    "responder": SS58String;
    "error": Uint8Array;
};
export type I3ornnjehfr13s = {
    "request_id": SizedHex<32>;
    "responder": SS58String;
    "serialized_output": Uint8Array;
    "signature": Anonymize<Idqumuc2rsgufd>;
};
export type I1koed7o2trsh1 = AnonymousEnum<{
    /**
     * Dispenser has been paused. No new requests will be accepted.
     */
    "Paused": undefined;
    /**
     * Dispenser has been unpaused. New requests are allowed again.
     */
    "Unpaused": undefined;
    /**
     * A funding request has been submitted to SigNet.
     *
     * Note: This indicates the request was formed and submitted, not that
     * the EVM transaction has been included on the target chain.
     */
    "FundRequested": Anonymize<Ibq5l44mjbdfks>;
    /**
     * Tracked faucet ETH balance has been updated.
     */
    "FaucetBalanceUpdated": {
        /**
         * Previous tracked balance (in wei).
         */
        "old_balance_wei": bigint;
        /**
         * New tracked balance (in wei).
         */
        "new_balance_wei": bigint;
    };
}>;
export type Ibq5l44mjbdfks = {
    /**
     * Unique request ID derived from request parameters.
     */
    "request_id": SizedHex<32>;
    /**
     * Account that initiated the request.
     */
    "requester": SS58String;
    /**
     * Target EVM address to receive ETH.
     */
    "to": SizedHex<20>;
    /**
     * Requested amount of ETH (in wei).
     */
    "amount": bigint;
};
export type I6h8581jnodhqc = AnonymousEnum<{
    /**
     * 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": SizedHex<8>;
        "currency_id": number;
        "who": SS58String;
        "amount": bigint;
    };
    /**
     * Some locked funds were unlocked
     */
    "LockRemoved": {
        "lock_id": SizedHex<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;
    };
}>;
export type I24s4g6gkj5oec = {
    "currency_id": number;
    "who": SS58String;
    "amount": bigint;
};
export type I82vqlr4shhaso = {
    "currency_id": number;
    "from": SS58String;
    "to": SS58String;
    "amount": bigint;
};
export type I6qgq0m7o225jg = AnonymousEnum<{
    /**
     * Currency transfer success.
     */
    "Transferred": Anonymize<I82vqlr4shhaso>;
    /**
     * Update balance success.
     */
    "BalanceUpdated": Anonymize<I24s4g6gkj5oec>;
    /**
     * Deposit success.
     */
    "Deposited": Anonymize<I24s4g6gkj5oec>;
    /**
     * Withdraw success.
     */
    "Withdrawn": Anonymize<I24s4g6gkj5oec>;
}>;
export type I3jgv45gfqgi7c = AnonymousEnum<{
    /**
     * Added new vesting schedule.
     */
    "VestingScheduleAdded": {
        "from": SS58String;
        "to": SS58String;
        "vesting_schedule": Anonymize<I6k9mlgqa572np>;
    };
    /**
     * Claimed vesting.
     */
    "Claimed": Anonymize<Id5fm4p8lj5qgi>;
    /**
     * Updated vesting schedules.
     */
    "VestingSchedulesUpdated": Anonymize<I4cbvqmqadhrea>;
}>;
export type I6k9mlgqa572np = {
    "start": number;
    "period": number;
    "period_count": number;
    "per_period": bigint;
};
export type I9k071kk4cn1u8 = AnonymousEnum<{
    /**
     * 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>;
}>;
export type Ifmc9boeeia623 = {
    "log": Anonymize<I10qb03fpuk6em>;
};
export type I10qb03fpuk6em = {
    "address": SizedHex<20>;
    "topics": Anonymize<Ic5m5lp1oioo8r>;
    "data": Uint8Array;
};
export type Ic5m5lp1oioo8r = Array<SizedHex<32>>;
export type Itmchvgqfl28g = {
    "address": SizedHex<20>;
};
export type I510u4q1qqh897 = AnonymousEnum<{
    /**
     * An ethereum transaction was successfully executed.
     */
    "Executed": {
        "from": SizedHex<20>;
        "to": SizedHex<20>;
        "transaction_hash": SizedHex<32>;
        "exit_reason": Anonymize<Iag9iovb9j5ijo>;
        "extra_data": Uint8Array;
    };
}>;
export type Iag9iovb9j5ijo = AnonymousEnum<{
    "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;
    }>;
}>;
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 Ibh9fj6c5g5isi = AnonymousEnum<{
    /**
     * Binding was created.
     */
    "Bound": {
        "account": SS58String;
        "address": SizedHex<20>;
    };
    /**
     * Deployer was added.
     */
    "DeployerAdded": {
        "who": SizedHex<20>;
    };
    /**
     * Deployer was removed.
     */
    "DeployerRemoved": {
        "who": SizedHex<20>;
    };
    /**
     * Contract was approved.
     */
    "ContractApproved": Anonymize<Itmchvgqfl28g>;
    /**
     * Contract was disapproved.
     */
    "ContractDisapproved": Anonymize<Itmchvgqfl28g>;
    /**
     * Account was claimed.
     */
    "AccountClaimed": {
        "account": SS58String;
        "asset_id": number;
    };
}>;
export type I479nm08b6ujjd = AnonymousEnum<{
    /**
     * 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>;
}>;
export type I4kv0johj9i346 = {
    "asset_in": number;
    "asset_out": number;
};
export type I3cdbmcrrt95qk = AnonymousEnum<{
    /**
     * Current block numbers
     * [ Parachain block number, Relaychain Block number ]
     */
    "CurrentBlockNumbers": {
        "parachain_block_number": number;
        "relaychain_block_number": number;
    };
}>;
export type I4rrqp6atse8pe = {
    "id": number;
    "block": number;
};
export type I4t1p53ss00k9n = {
    "id": number;
    "who": SS58String;
    "period": number;
    "total_amount": bigint;
    "order": Anonymize<Ie7n3lbf5eunfs>;
};
export type Ie7n3lbf5eunfs = AnonymousEnum<{
    "Sell": Anonymize<Ifc3gfgolmaqf7>;
    "Buy": Anonymize<I651losl68jmo5>;
}>;
export type Ifc3gfgolmaqf7 = {
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "min_amount_out": bigint;
    "route": Anonymize<I14tu3k4kt0e26>;
};
export type I14tu3k4kt0e26 = Array<{
    "pool": Enum<{
        "XYK": undefined;
        "LBP": undefined;
        "Stableswap": number;
        "Omnipool": undefined;
        "Aave": undefined;
        "HSM": undefined;
    }>;
    "asset_in": number;
    "asset_out": number;
}>;
export type I651losl68jmo5 = {
    "asset_in": number;
    "asset_out": number;
    "amount_out": bigint;
    "max_amount_in": bigint;
    "route": Anonymize<I14tu3k4kt0e26>;
};
export type I140nraqvlukpk = {
    "id": number;
    "who": SS58String;
    "block": number;
};
export type Irs8utdvl0ftp = {
    "id": number;
    "who": SS58String;
    "amount_in": bigint;
    "amount_out": bigint;
};
export type Iumh462jqskl8 = {
    "id": number;
    "who": SS58String;
};
export type I5n4sebgkfr760 = {
    "when": number;
    "index": number;
};
export type I4s6vifaf8k998 = (SizedHex<32>) | undefined;
export type Ia3c82eadg79bj = {
    "task": Anonymize<I9jd27rnpm8ttv>;
    "id"?: Anonymize<I4s6vifaf8k998>;
    "period": number;
    "retries": number;
};
export type Ienusoeb625ftq = {
    "task": Anonymize<I9jd27rnpm8ttv>;
    "id"?: Anonymize<I4s6vifaf8k998>;
};
export type Ibtsa3docbr9el = {
    "when": number;
};
export type Icbsekf57miplo = AnonymousEnum<{
    /**
     * 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": SizedHex<32>;
    };
    /**
     * An upward message was sent to the relay chain.
     */
    "UpwardMessageSent": {
        "message_hash"?: Anonymize<I4s6vifaf8k998>;
    };
}>;
export type If95hivmqmkiku = AnonymousEnum<{
    /**
     * Execution of an XCM message was attempted.
     */
    "Attempted": {
        "outcome": Anonymize<Ieqhmksji3pmv5>;
    };
    /**
     * An XCM message was sent.
     */
    "Sent": Anonymize<If8u5kl4h8070m>;
    /**
     * An XCM message failed to send.
     */
    "SendFailed": Anonymize<Ibmuil6p3vl83l>;
    /**
     * An XCM message failed to process.
     */
    "ProcessXcmError": Anonymize<I7lul91g50ae87>;
    /**
     * 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": Anonymize<Icl7nl1rfeog3i>;
    /**
     * Query response has been received and is ready for taking with `take_response`. There is
     * no registered notification call.
     */
    "ResponseReady": Anonymize<Iasr6pj6shs0fl>;
    /**
     * Query response has been received and query is removed. The registered notification has
     * been dispatched and executed successfully.
     */
    "Notified": Anonymize<I2uqmls7kcdnii>;
    /**
     * 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": Anonymize<Idg69klialbkb8>;
    /**
     * Query response has been received and query is removed. There was a general error with
     * dispatching the notification call.
     */
    "NotifyDispatchError": Anonymize<I2uqmls7kcdnii>;
    /**
     * 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": Anonymize<I2uqmls7kcdnii>;
    /**
     * 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": Anonymize<I7r6b7145022pp>;
    /**
     * 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": Anonymize<Icl7nl1rfeog3i>;
    /**
     * Received query response has been read and removed.
     */
    "ResponseTaken": Anonymize<I30pg328m00nr3>;
    /**
     * Some assets have been placed in an asset trap.
     */
    "AssetsTrapped": Anonymize<Icmrn7bogp28cs>;
    /**
     * An XCM version change notification message has been attempted to be sent.
     *
     * The cost of sending it (borne by the chain) is included.
     */
    "VersionChangeNotified": Anonymize<I7m9b5plj4h5ot>;
    /**
     * The supported version of a location has been changed. This might be through an
     * automatic notification or a manual intervention.
     */
    "SupportedVersionChanged": Anonymize<I9kt8c221c83ln>;
    /**
     * A given location which had a version change subscription was dropped owing to an error
     * sending the notification to it.
     */
    "NotifyTargetSendFail": Anonymize<I9onhk772nfs4f>;
    /**
     * A given location which had a version change subscription was dropped owing to an error
     * migrating the location to our new XCM format.
     */
    "NotifyTargetMigrationFail": Anonymize<I3l6bnksrmt56r>;
    /**
     * 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": Anonymize<Icl7nl1rfeog3i>;
    /**
     * 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": Anonymize<Idh09k0l2pmdcg>;
    /**
     * 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": Anonymize<I7uoiphbm0tj4r>;
    /**
     * We have requested that a remote chain send us XCM version change notifications.
     */
    "VersionNotifyRequested": Anonymize<I7uoiphbm0tj4r>;
    /**
     * We have requested that a remote chain stops sending us XCM version change
     * notifications.
     */
    "VersionNotifyUnrequested": Anonymize<I7uoiphbm0tj4r>;
    /**
     * Fees were paid from a location for an operation (often for using `SendXcm`).
     */
    "FeesPaid": Anonymize<I512p1n7qt24l8>;
    /**
     * Some assets have been claimed from an asset trap
     */
    "AssetsClaimed": Anonymize<Icmrn7bogp28cs>;
    /**
     * A XCM version migration finished.
     */
    "VersionMigrationFinished": Anonymize<I6s1nbislhk619>;
    /**
     * An `aliaser` location was authorized by `target` to alias it, authorization valid until
     * `expiry` block number.
     */
    "AliasAuthorized": Anonymize<I3gghqnh2mj0is>;
    /**
     * `target` removed alias authorization for `aliaser`.
     */
    "AliasAuthorizationRemoved": Anonymize<I6iv852roh6t3h>;
    /**
     * `target` removed all alias authorizations.
     */
    "AliasesAuthorizationsRemoved": Anonymize<I9oc2o6itbiopq>;
}>;
export type Ieqhmksji3pmv5 = AnonymousEnum<{
    "Complete": Anonymize<I30iff2d192eu7>;
    "Incomplete": {
        "used": Anonymize<I4q39t5hn830vp>;
        "error": Anonymize<Ieiju48dn66cuh>;
    };
    "Error": Anonymize<Ieiju48dn66cuh>;
}>;
export type I30iff2d192eu7 = {
    "used": Anonymize<I4q39t5hn830vp>;
};
export type Ieiju48dn66cuh = {
    "index": number;
    "error": Anonymize<Id56rgs0bdb7gl>;
};
export type Id56rgs0bdb7gl = AnonymousEnum<{
    "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;
    "TooManyAssets": undefined;
    "UnhandledXcmVersion": undefined;
    "WeightLimitReached": Anonymize<I4q39t5hn830vp>;
    "Barrier": undefined;
    "WeightNotComputable": undefined;
    "ExceedsStackLimit": undefined;
}>;
export type If8u5kl4h8070m = {
    "origin": Anonymize<If9iqq7i64mur8>;
    "destination": Anonymize<If9iqq7i64mur8>;
    "message": Anonymize<Ict03eedr8de9s>;
    "message_id": SizedHex<32>;
};
export type Ict03eedr8de9s = Array<XcmV5Instruction>;
export type XcmV5Instruction = Enum<{
    "WithdrawAsset": Anonymize<I4npjalvhmfuj>;
    "ReserveAssetDeposited": Anonymize<I4npjalvhmfuj>;
    "ReceiveTeleportedAsset": Anonymize<I4npjalvhmfuj>;
    "QueryResponse": {
        "query_id": bigint;
        "response": Anonymize<I7vucpgm2c6959>;
        "max_weight": Anonymize<I4q39t5hn830vp>;
        "querier"?: Anonymize<I4pai6qnfk426l>;
    };
    "TransferAsset": {
        "assets": Anonymize<I4npjalvhmfuj>;
        "beneficiary": Anonymize<If9iqq7i64mur8>;
    };
    "TransferReserveAsset": {
        "assets": Anonymize<I4npjalvhmfuj>;
        "dest": Anonymize<If9iqq7i64mur8>;
        "xcm": Anonymize<Ict03eedr8de9s>;
    };
    "Transact": {
        "origin_kind": XcmV2OriginKind;
        "fallback_max_weight"?: Anonymize<Iasb8k6ash5mjn>;
        "call": Uint8Array;
    };
    "HrmpNewChannelOpenRequest": Anonymize<I5uhhrjqfuo4e5>;
    "HrmpChannelAccepted": Anonymize<Ifij4jam0o7sub>;
    "HrmpChannelClosing": Anonymize<Ieeb4svd9i8fji>;
    "ClearOrigin": undefined;
    "DescendOrigin": XcmV5Junctions;
    "ReportError": Anonymize<I6vsmh07hrp1rc>;
    "DepositAsset": {
        "assets": XcmV5AssetFilter;
        "beneficiary": Anonymize<If9iqq7i64mur8>;
    };
    "DepositReserveAsset": {
        "assets": XcmV5AssetFilter;
        "dest": Anonymize<If9iqq7i64mur8>;
        "xcm": Anonymize<Ict03eedr8de9s>;
    };
    "ExchangeAsset": {
        "give": XcmV5AssetFilter;
        "want": Anonymize<I4npjalvhmfuj>;
        "maximal": boolean;
    };
    "InitiateReserveWithdraw": {
        "assets": XcmV5AssetFilter;
        "reserve": Anonymize<If9iqq7i64mur8>;
        "xcm": Anonymize<Ict03eedr8de9s>;
    };
    "InitiateTeleport": {
        "assets": XcmV5AssetFilter;
        "dest": Anonymize<If9iqq7i64mur8>;
        "xcm": Anonymize<Ict03eedr8de9s>;
    };
    "ReportHolding": {
        "response_info": Anonymize<I6vsmh07hrp1rc>;
        "assets": XcmV5AssetFilter;
    };
    "BuyExecution": {
        "fees": Anonymize<Iffh1nc5e1mod6>;
        "weight_limit": XcmV3WeightLimit;
    };
    "RefundSurplus": undefined;
    "SetErrorHandler": Anonymize<Ict03eedr8de9s>;
    "SetAppendix": Anonymize<Ict03eedr8de9s>;
    "ClearError": undefined;
    "ClaimAsset": {
        "assets": Anonymize<I4npjalvhmfuj>;
        "ticket": Anonymize<If9iqq7i64mur8>;
    };
    "Trap": bigint;
    "SubscribeVersion": Anonymize<Ieprdqqu7ildvr>;
    "UnsubscribeVersion": undefined;
    "BurnAsset": Anonymize<I4npjalvhmfuj>;
    "ExpectAsset": Anonymize<I4npjalvhmfuj>;
    "ExpectOrigin"?: Anonymize<I4pai6qnfk426l>;
    "ExpectError"?: Anonymize<I3l6ejee750fv1>;
    "ExpectTransactStatus": XcmV3MaybeErrorCode;
    "QueryPallet": {
        "module_name": Uint8Array;
        "response_info": Anonymize<I6vsmh07hrp1rc>;
    };
    "ExpectPallet": Anonymize<Id7mf37dkpgfjs>;
    "ReportTransactStatus": Anonymize<I6vsmh07hrp1rc>;
    "ClearTransactStatus": undefined;
    "UniversalOrigin": XcmV5Junction;
    "ExportMessage": {
        "network": XcmV5NetworkId;
        "destination": XcmV5Junctions;
        "xcm": Anonymize<Ict03eedr8de9s>;
    };
    "LockAsset": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
        "unlocker": Anonymize<If9iqq7i64mur8>;
    };
    "UnlockAsset": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
        "target": Anonymize<If9iqq7i64mur8>;
    };
    "NoteUnlockable": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
        "owner": Anonymize<If9iqq7i64mur8>;
    };
    "RequestUnlock": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
        "locker": Anonymize<If9iqq7i64mur8>;
    };
    "SetFeesMode": Anonymize<I4nae9rsql8fa7>;
    "SetTopic": SizedHex<32>;
    "ClearTopic": undefined;
    "AliasOrigin": Anonymize<If9iqq7i64mur8>;
    "UnpaidExecution": {
        "weight_limit": XcmV3WeightLimit;
        "check_origin"?: Anonymize<I4pai6qnfk426l>;
    };
    "PayFees": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
    };
    "InitiateTransfer": {
        "destination": Anonymize<If9iqq7i64mur8>;
        "remote_fees"?: (Anonymize<Ifhmc9e7vpeeig>) | undefined;
        "preserve_origin": boolean;
        "assets": Array<Anonymize<Ifhmc9e7vpeeig>>;
        "remote_xcm": Anonymize<Ict03eedr8de9s>;
    };
    "ExecuteWithOrigin": {
        "descendant_origin"?: (XcmV5Junctions) | undefined;
        "xcm": Anonymize<Ict03eedr8de9s>;
    };
    "SetHints": {
        "hints": Array<Enum<{
            "AssetClaimer": Anonymize<I2adkav4nfpltp>;
        }>>;
    };
}>;
export declare const XcmV5Instruction: GetEnum<XcmV5Instruction>;
export type I4npjalvhmfuj = Array<Anonymize<Iffh1nc5e1mod6>>;
export type Iffh1nc5e1mod6 = {
    "id": Anonymize<If9iqq7i64mur8>;
    "fun": XcmV3MultiassetFungibility;
};
export type XcmV3MultiassetFungibility = Enum<{
    "Fungible": bigint;
    "NonFungible": XcmV3MultiassetAssetInstance;
}>;
export declare const XcmV3MultiassetFungibility: GetEnum<XcmV3MultiassetFungibility>;
export type XcmV3MultiassetAssetInstance = Enum<{
    "Undefined": undefined;
    "Index": bigint;
    "Array4": SizedHex<4>;
    "Array8": SizedHex<8>;
    "Array16": SizedHex<16>;
    "Array32": SizedHex<32>;
}>;
export declare const XcmV3MultiassetAssetInstance: GetEnum<XcmV3MultiassetAssetInstance>;
export type I7vucpgm2c6959 = AnonymousEnum<{
    "Null": undefined;
    "Assets": Anonymize<I4npjalvhmfuj>;
    "ExecutionResult"?: Anonymize<I3l6ejee750fv1>;
    "Version": number;
    "PalletsInfo": Anonymize<I599u7h20b52at>;
    "DispatchResult": XcmV3MaybeErrorCode;
}>;
export type I3l6ejee750fv1 = ([number, Anonymize<Id56rgs0bdb7gl>]) | undefined;
export type I599u7h20b52at = Array<{
    "index": number;
    "name": Uint8Array;
    "module_name": Uint8Array;
    "major": number;
    "minor": number;
    "patch": number;
}>;
export type XcmV3MaybeErrorCode = Enum<{
    "Success": undefined;
    "Error": Uint8Array;
    "TruncatedError": Uint8Array;
}>;
export declare const XcmV3MaybeErrorCode: GetEnum<XcmV3MaybeErrorCode>;
export type I4pai6qnfk426l = (Anonymize<If9iqq7i64mur8>) | undefined;
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 I6vsmh07hrp1rc = {
    "destination": Anonymize<If9iqq7i64mur8>;
    "query_id": bigint;
    "max_weight": Anonymize<I4q39t5hn830vp>;
};
export type XcmV5AssetFilter = Enum<{
    "Definite": Anonymize<I4npjalvhmfuj>;
    "Wild": XcmV5WildAsset;
}>;
export declare const XcmV5AssetFilter: GetEnum<XcmV5AssetFilter>;
export type XcmV5WildAsset = Enum<{
    "All": undefined;
    "AllOf": {
        "id": Anonymize<If9iqq7i64mur8>;
        "fun": XcmV2MultiassetWildFungibility;
    };
    "AllCounted": number;
    "AllOfCounted": {
        "id": Anonymize<If9iqq7i64mur8>;
        "fun": XcmV2MultiassetWildFungibility;
        "count": number;
    };
}>;
export declare const XcmV5WildAsset: GetEnum<XcmV5WildAsset>;
export type XcmV2MultiassetWildFungibility = Enum<{
    "Fungible": undefined;
    "NonFungible": undefined;
}>;
export declare const XcmV2MultiassetWildFungibility: GetEnum<XcmV2MultiassetWildFungibility>;
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 Id7mf37dkpgfjs = {
    "index": number;
    "name": Uint8Array;
    "module_name": Uint8Array;
    "crate_major": number;
    "min_crate_minor": number;
};
export type I4nae9rsql8fa7 = {
    "jit_withdraw": boolean;
};
export type Ifhmc9e7vpeeig = AnonymousEnum<{
    "Teleport": XcmV5AssetFilter;
    "ReserveDeposit": XcmV5AssetFilter;
    "ReserveWithdraw": XcmV5AssetFilter;
}>;
export type I2adkav4nfpltp = {
    "location": Anonymize<If9iqq7i64mur8>;
};
export type Ibmuil6p3vl83l = {
    "origin": Anonymize<If9iqq7i64mur8>;
    "destination": Anonymize<If9iqq7i64mur8>;
    "error": Enum<{
        "NotApplicable": undefined;
        "Transport": undefined;
        "Unroutable": undefined;
        "DestinationUnsupported": undefined;
        "ExceedsMaxMessageSize": undefined;
        "MissingArgument": undefined;
        "Fees": undefined;
    }>;
    "message_id": SizedHex<32>;
};
export type I7lul91g50ae87 = {
    "origin": Anonymize<If9iqq7i64mur8>;
    "error": Anonymize<Id56rgs0bdb7gl>;
    "message_id": SizedHex<32>;
};
export type Icl7nl1rfeog3i = {
    "origin": Anonymize<If9iqq7i64mur8>;
    "query_id": bigint;
};
export type Iasr6pj6shs0fl = {
    "query_id": bigint;
    "response": Anonymize<I7vucpgm2c6959>;
};
export type I2uqmls7kcdnii = {
    "query_id": bigint;
    "pallet_index": number;
    "call_index": number;
};
export type Idg69klialbkb8 = {
    "query_id": bigint;
    "pallet_index": number;
    "call_index": number;
    "actual_weight": Anonymize<I4q39t5hn830vp>;
    "max_budgeted_weight": Anonymize<I4q39t5hn830vp>;
};
export type I7r6b7145022pp = {
    "origin": Anonymize<If9iqq7i64mur8>;
    "query_id": bigint;
    "expected_location"?: Anonymize<I4pai6qnfk426l>;
};
export type I30pg328m00nr3 = {
    "query_id": bigint;
};
export type Icmrn7bogp28cs = {
    "hash": SizedHex<32>;
    "origin": Anonymize<If9iqq7i64mur8>;
    "assets": XcmVersionedAssets;
};
export type XcmVersionedAssets = Enum<{
    "V3": Anonymize<Iai6dhqiq3bach>;
    "V4": Anonymize<I50mli3hb64f9b>;
    "V5": Anonymize<I4npjalvhmfuj>;
}>;
export declare const XcmVersionedAssets: GetEnum<XcmVersionedAssets>;
export type Iai6dhqiq3bach = Array<Anonymize<Idcm24504c8bkk>>;
export type Idcm24504c8bkk = {
    "id": XcmV3MultiassetAssetId;
    "fun": XcmV3MultiassetFungibility;
};
export type XcmV3MultiassetAssetId = Enum<{
    "Concrete": Anonymize<I4c0s5cioidn76>;
    "Abstract": SizedHex<32>;
}>;
export declare const XcmV3MultiassetAssetId: GetEnum<XcmV3MultiassetAssetId>;
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": SizedHex<32>;
    };
    "AccountIndex64": {
        "network"?: Anonymize<Idcq3vns9tgp5p>;
        "index": bigint;
    };
    "AccountKey20": {
        "network"?: Anonymize<Idcq3vns9tgp5p>;
        "key": SizedHex<20>;
    };
    "PalletInstance": number;
    "GeneralIndex": bigint;
    "GeneralKey": Anonymize<I15lht6t53odo4>;
    "OnlyChild": undefined;
    "Plurality": Anonymize<I518fbtnclg1oc>;
    "GlobalConsensus": XcmV3JunctionNetworkId;
}>;
export declare const XcmV3Junction: GetEnum<XcmV3Junction>;
export type Idcq3vns9tgp5p = (XcmV3JunctionNetworkId) | undefined;
export type XcmV3JunctionNetworkId = Enum<{
    "ByGenesis": SizedHex<32>;
    "ByFork": Anonymize<I15vf5oinmcgps>;
    "Polkadot": undefined;
    "Kusama": undefined;
    "Westend": undefined;
    "Rococo": undefined;
    "Wococo": undefined;
    "Ethereum": Anonymize<I623eo8t3jrbeo>;
    "BitcoinCore": undefined;
    "BitcoinCash": undefined;
    "PolkadotBulletin": undefined;
}>;
export declare const XcmV3JunctionNetworkId: GetEnum<XcmV3JunctionNetworkId>;
export type I50mli3hb64f9b = Array<Anonymize<Ia5l7mu5a6v49o>>;
export type Ia5l7mu5a6v49o = {
    "id": Anonymize<I4c0s5cioidn76>;
    "fun": XcmV3MultiassetFungibility;
};
export type I7m9b5plj4h5ot = {
    "destination": Anonymize<If9iqq7i64mur8>;
    "result": number;
    "cost": Anonymize<I4npjalvhmfuj>;
    "message_id": SizedHex<32>;
};
export type I9kt8c221c83ln = {
    "location": Anonymize<If9iqq7i64mur8>;
    "version": number;
};
export type I9onhk772nfs4f = {
    "location": Anonymize<If9iqq7i64mur8>;
    "query_id": bigint;
    "error": Anonymize<Id56rgs0bdb7gl>;
};
export type I3l6bnksrmt56r = {
    "location": XcmVersionedLocation;
    "query_id": bigint;
};
export type XcmVersionedLocation = Enum<{
    "V3": Anonymize<I4c0s5cioidn76>;
    "V4": Anonymize<I4c0s5cioidn76>;
    "V5": Anonymize<If9iqq7i64mur8>;
}>;
export declare const XcmVersionedLocation: GetEnum<XcmVersionedLocation>;
export type Idh09k0l2pmdcg = {
    "origin": Anonymize<If9iqq7i64mur8>;
    "query_id": bigint;
    "expected_querier": Anonymize<If9iqq7i64mur8>;
    "maybe_actual_querier"?: Anonymize<I4pai6qnfk426l>;
};
export type I7uoiphbm0tj4r = {
    "destination": Anonymize<If9iqq7i64mur8>;
    "cost": Anonymize<I4npjalvhmfuj>;
    "message_id": SizedHex<32>;
};
export type I512p1n7qt24l8 = {
    "paying": Anonymize<If9iqq7i64mur8>;
    "fees": Anonymize<I4npjalvhmfuj>;
};
export type I6s1nbislhk619 = {
    "version": number;
};
export type I3gghqnh2mj0is = {
    "aliaser": Anonymize<If9iqq7i64mur8>;
    "target": Anonymize<If9iqq7i64mur8>;
    "expiry"?: Anonymize<I35p85j063s0il>;
};
export type I6iv852roh6t3h = {
    "aliaser": Anonymize<If9iqq7i64mur8>;
    "target": Anonymize<If9iqq7i64mur8>;
};
export type I9oc2o6itbiopq = {
    "target": Anonymize<If9iqq7i64mur8>;
};
export type I5uv57c3fffoi9 = AnonymousEnum<{
    /**
     * Downward message is invalid XCM.
     * \[ id \]
     */
    "InvalidFormat": SizedHex<32>;
    /**
     * Downward message is unsupported version of XCM.
     * \[ id \]
     */
    "UnsupportedVersion": SizedHex<32>;
    /**
     * Downward message executed with the given outcome.
     * \[ id, outcome \]
     */
    "ExecutedDownward": [SizedHex<32>, Anonymize<Ieqhmksji3pmv5>];
}>;
export type Idsqc7mhp6nnle = AnonymousEnum<{
    /**
     * An HRMP message was sent to a sibling parachain.
     */
    "XcmpMessageSent": {
        "message_hash": SizedHex<32>;
    };
}>;
export type I2kosejppk3jon = AnonymousEnum<{
    /**
     * Message discarded due to an error in the `MessageProcessor` (usually a format error).
     */
    "ProcessingFailed": {
        /**
         * The `blake2_256` hash of the message.
         */
        "id": SizedHex<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": SizedHex<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": SizedHex<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;
    };
}>;
export type Iejeo53sea6n4q = AnonymousEnum<{
    "Here": undefined;
    "Parent": undefined;
    "Sibling": number;
}>;
export type I94co7vj7h6bo = AnonymousEnum<{
    /**
     * A Runtime upgrade started.
     *
     * Its end is indicated by `UpgradeCompleted` or `UpgradeFailed`.
     */
    "UpgradeStarted": {
        /**
         * The number of migrations that this upgrade contains.
         *
         * This can be used to design a progress indicator in combination with counting the
         * `MigrationCompleted` and `MigrationSkipped` events.
         */
        "migrations": number;
    };
    /**
     * The current runtime upgrade completed.
     *
     * This implies that all of its migrations completed successfully as well.
     */
    "UpgradeCompleted": undefined;
    /**
     * Runtime upgrade failed.
     *
     * This is very bad and will require governance intervention.
     */
    "UpgradeFailed": undefined;
    /**
     * A migration was skipped since it was already executed in the past.
     */
    "MigrationSkipped": Anonymize<I666bl2fqjkejo>;
    /**
     * A migration progressed.
     */
    "MigrationAdvanced": {
        /**
         * The index of the migration within the [`Config::Migrations`] list.
         */
        "index": number;
        /**
         * The number of blocks that this migration took so far.
         */
        "took": number;
    };
    /**
     * A Migration completed.
     */
    "MigrationCompleted": {
        /**
         * The index of the migration within the [`Config::Migrations`] list.
         */
        "index": number;
        /**
         * The number of blocks that this migration took so far.
         */
        "took": number;
    };
    /**
     * A Migration failed.
     *
     * This implies that the whole upgrade failed and governance intervention is required.
     */
    "MigrationFailed": {
        /**
         * The index of the migration within the [`Config::Migrations`] list.
         */
        "index": number;
        /**
         * The number of blocks that this migration took so far.
         */
        "took": number;
    };
    /**
     * The set of historical migrations has been cleared.
     */
    "HistoricCleared": {
        /**
         * Should be passed to `clear_historic` in a successive call.
         */
        "next_cursor"?: Anonymize<Iabpgqcjikia83>;
    };
}>;
export type Iclksjsco5l5ll = AnonymousEnum<{
    /**
     * XCM message sent. \[to, message\]
     */
    "Sent": {
        "to": Anonymize<If9iqq7i64mur8>;
        "message": Anonymize<Ict03eedr8de9s>;
    };
}>;
export type I1kj6lnq7rdnrl = AnonymousEnum<{
    /**
     * Transferred `Asset` with fee.
     */
    "TransferredAssets": {
        "sender": SS58String;
        "assets": Anonymize<I4npjalvhmfuj>;
        "fee": Anonymize<Iffh1nc5e1mod6>;
        "dest": Anonymize<If9iqq7i64mur8>;
    };
}>;
export type Iacevcg18ig1av = AnonymousEnum<{
    /**
     * Deposit success.
     */
    "Deposited": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
        "who": Anonymize<If9iqq7i64mur8>;
    };
    /**
     * Withdraw success.
     */
    "Withdrawn": {
        "asset": Anonymize<Iffh1nc5e1mod6>;
        "who": Anonymize<If9iqq7i64mur8>;
    };
}>;
export type I4srakrmf0fspo = AnonymousEnum<{
    /**
     * New Invulnerables were set.
     */
    "NewInvulnerables": Anonymize<I39t01nnod9109>;
    /**
     * 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>;
}>;
export type I39t01nnod9109 = {
    "invulnerables": Anonymize<Ia2lhg7l2hilo3>;
};
export type Ia2lhg7l2hilo3 = Array<SS58String>;
export type I6v8sm60vvkmk7 = {
    "account_id": SS58String;
};
export type I6ue0ck5fc3u44 = AnonymousEnum<{
    /**
     * New session has happened. Note that the argument is the session index, not the
     * block number as the type might suggest.
     */
    "NewSession": Anonymize<I2hq50pu2kdjpo>;
    /**
     * The `NewSession` event in the current block also implies a new validator set to be
     * queued.
     */
    "NewQueued": undefined;
    /**
     * Validator has been disabled.
     */
    "ValidatorDisabled": Anonymize<I9acqruh7322g2>;
    /**
     * Validator has been re-enabled.
     */
    "ValidatorReenabled": Anonymize<I9acqruh7322g2>;
}>;
export type I2hq50pu2kdjpo = {
    "session_index": number;
};
export type I9acqruh7322g2 = {
    "validator": SS58String;
};
export type I89atorvpon2q5 = AnonymousEnum<{
    /**
     * Oracle was added to the whitelist.
     */
    "AddedToWhitelist": Anonymize<Iabgdocrka40v9>;
    /**
     * Oracle was removed from the whitelist.
     */
    "RemovedFromWhitelist": Anonymize<Iabgdocrka40v9>;
    /**
     * Oracle price was updated
     */
    "OracleUpdated": Anonymize<Iecir7oglpu5e8>;
}>;
export type Iabgdocrka40v9 = {
    "source": SizedHex<8>;
    "assets": Anonymize<I9jd27rnpm8ttv>;
};
export type Iecir7oglpu5e8 = {
    "source": SizedHex<8>;
    "assets": Anonymize<I9jd27rnpm8ttv>;
    "updates": Array<[Anonymize<I9m0752cdvui5o>, Anonymize<Idvjpcmf9rj0vv>]>;
};
export type Idvjpcmf9rj0vv = {
    "n": bigint;
    "d": bigint;
};
export type I6ns8af0gujj3o = AnonymousEnum<{
    /**
     * 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;
            "HSM": 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": [SizedHex<32>, number];
        }>>;
    };
}>;
export type Ing3etrevsfg0 = {
    "asset": number;
    "amount": bigint;
};
export type I95g6i7ilua7lq = Array<Anonymize<I9jd27rnpm8ttv>>;
export type Ieniouoqkq4icf = {
    "spec_version": number;
    "spec_name": string;
};
export type I8ds64oj6581v0 = Array<{
    "id": SizedHex<8>;
    "amount": bigint;
    "reasons": BalancesTypesReasons;
}>;
export type BalancesTypesReasons = Enum<{
    "Fee": undefined;
    "Misc": undefined;
    "All": undefined;
}>;
export declare const BalancesTypesReasons: GetEnum<BalancesTypesReasons>;
export type Ia7pdug7cdsg8g = Array<{
    "id": SizedHex<8>;
    "amount": bigint;
}>;
export type I4sklc1tvo63k3 = Array<{
    "id": Enum<{
        "Preimage": PreimagePalletHoldReason;
        "TechnicalCommittee": Enum<{
            "ProposalSubmission": undefined;
        }>;
        "StateTrieMigration": Anonymize<I7lf1val3vmpq0>;
        "PolkadotXcm": Anonymize<Ideiof6273rsoe>;
    }>;
    "amount": bigint;
}>;
export type PreimagePalletHoldReason = Enum<{
    "Preimage": undefined;
}>;
export declare const PreimagePalletHoldReason: GetEnum<PreimagePalletHoldReason>;
export type I7lf1val3vmpq0 = AnonymousEnum<{
    "SlashForMigrate": undefined;
}>;
export type Ideiof6273rsoe = AnonymousEnum<{
    "AuthorizeAlias": undefined;
}>;
export type I9bin2jc70qt6q = Array<Anonymize<I3qt1hgg4djhgb>>;
export type I4ftk0glls7946 = {
    "judgements": Array<[number, IdentityJudgement]>;
    "deposit": bigint;
    "info": Anonymize<I1o57snqt6f4v5>;
};
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 I1o57snqt6f4v5 = {
    "additional": Array<FixedSizeArray<2, IdentityData>>;
    "display": IdentityData;
    "legal": IdentityData;
    "web": IdentityData;
    "riot": IdentityData;
    "email": IdentityData;
    "pgp_fingerprint"?: Anonymize<If7b8240vgt2q5>;
    "image": IdentityData;
    "twitter": IdentityData;
};
export type IdentityData = Enum<{
    "None": undefined;
    "Raw0": undefined;
    "Raw1": number;
    "Raw2": SizedHex<2>;
    "Raw3": SizedHex<3>;
    "Raw4": SizedHex<4>;
    "Raw5": SizedHex<5>;
    "Raw6": SizedHex<6>;
    "Raw7": SizedHex<7>;
    "Raw8": SizedHex<8>;
    "Raw9": SizedHex<9>;
    "Raw10": SizedHex<10>;
    "Raw11": SizedHex<11>;
    "Raw12": SizedHex<12>;
    "Raw13": SizedHex<13>;
    "Raw14": SizedHex<14>;
    "Raw15": SizedHex<15>;
    "Raw16": SizedHex<16>;
    "Raw17": SizedHex<17>;
    "Raw18": SizedHex<18>;
    "Raw19": SizedHex<19>;
    "Raw20": SizedHex<20>;
    "Raw21": SizedHex<21>;
    "Raw22": SizedHex<22>;
    "Raw23": SizedHex<23>;
    "Raw24": SizedHex<24>;
    "Raw25": SizedHex<25>;
    "Raw26": SizedHex<26>;
    "Raw27": SizedHex<27>;
    "Raw28": SizedHex<28>;
    "Raw29": SizedHex<29>;
    "Raw30": SizedHex<30>;
    "Raw31": SizedHex<31>;
    "Raw32": SizedHex<32>;
    "BlakeTwo256": SizedHex<32>;
    "Sha256": SizedHex<32>;
    "Keccak256": SizedHex<32>;
    "ShaThree256": SizedHex<32>;
}>;
export declare const IdentityData: GetEnum<IdentityData>;
export type If7b8240vgt2q5 = (SizedHex<20>) | undefined;
export type I910puuahutflf = [SS58String, IdentityData];
export type I4nfjdef0ibh44 = [bigint, Anonymize<Ia2lhg7l2hilo3>];
export type I74af64m08r6as = Array<({
    "account": SS58String;
    "fee": bigint;
    "fields": bigint;
}) | undefined>;
export type Ic8ann3kre6vdm = {
    "account_id": SS58String;
    "allocation": number;
};
export type I1j72qfgdejqsv = {
    "owner": SS58String;
    "provider": Anonymize<Idib8jf3ve40bj>;
};
export type Idib8jf3ve40bj = AnonymousEnum<{
    "Allocation": undefined;
    "AuthorityDeposit": bigint;
    "System": undefined;
}>;
export type I60biiepd74113 = [SS58String, number, Anonymize<Idib8jf3ve40bj>];
export type I6mhebgj62g585 = Array<[number, PreimagesBounded, SS58String]>;
export type I3vhcedhm4hpvm = [Anonymize<Ia2lhg7l2hilo3>, bigint];
export type I526daka7j7b17 = AnonymousEnum<{
    "Ongoing": {
        "end": number;
        "proposal": PreimagesBounded;
        "threshold": Anonymize<Ivbp9821csvot>;
        "delay": number;
        "tally": {
            "ayes": bigint;
            "nays": bigint;
            "turnout": bigint;
        };
    };
    "Finished": {
        "approved": boolean;
        "end": number;
    };
}>;
export type Ifanv2kvm586s4 = AnonymousEnum<{
    "Direct": {
        "votes": Array<[number, Anonymize<Ia9hdots6g53fs>]>;
        "delegations": Anonymize<I538qha8r4j3ii>;
        "prior": Anonymize<I4ojmnsk1dchql>;
    };
    "Delegating": Anonymize<I251o9sbu5566f>;
}>;
export type I538qha8r4j3ii = {
    "votes": bigint;
    "capital": bigint;
};
export type I4ojmnsk1dchql = [number, bigint];
export type I251o9sbu5566f = {
    "balance": bigint;
    "target": SS58String;
    "conviction": VotingConviction;
    "delegations": Anonymize<I538qha8r4j3ii>;
    "prior": Anonymize<I4ojmnsk1dchql>;
};
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 I5rsgtofmn5lli = [PreimagesBounded, Anonymize<Ivbp9821csvot>];
export type Idned7t7knml6b = [number, Anonymize<Ia2lhg7l2hilo3>];
export type Iegjdtqhbb6qh9 = [Array<Anonymize<I2e1ekg17a2uj2>>, bigint];
export type I2e1ekg17a2uj2 = {
    "delegate": SS58String;
    "proxy_type": Anonymize<Ie9g2psuhuu510>;
    "delay": number;
};
export type I9p9lq3rej5bhc = [Array<{
    "real": SS58String;
    "call_hash": SizedHex<32>;
    "height": number;
}>, bigint];
export type Iag146hmjgqfgj = {
    "when": Anonymize<Itvprrpb0nm3o>;
    "deposit": bigint;
    "depositor": SS58String;
    "approvals": Anonymize<Ia2lhg7l2hilo3>;
};
export type I8uo3fpd3bcc6f = [SS58String, SizedHex<32>];
export type Ic3orq32is6lrl = [SS58String, bigint, bigint];
export type ConvictionVotingVoteVoting = Enum<{
    "Casting": {
        "votes": Array<[number, ConvictionVotingVoteAccountVote]>;
        "delegations": Anonymize<I538qha8r4j3ii>;
        "prior": Anonymize<I4ojmnsk1dchql>;
    };
    "Delegating": Anonymize<I251o9sbu5566f>;
}>;
export declare const ConvictionVotingVoteVoting: GetEnum<ConvictionVotingVoteVoting>;
export type I6ouflveob4eli = [SS58String, number];
export type If9jidduiuq7vv = Array<Anonymize<I4ojmnsk1dchql>>;
export type I3tt16iedrf9nu = AnonymousEnum<{
    "Ongoing": {
        "track": number;
        "origin": Anonymize<I4h8nkgupb7obf>;
        "proposal": PreimagesBounded;
        "enactment": TraitsScheduleDispatchTime;
        "submitted": number;
        "submission_deposit": Anonymize<Id5fm4p8lj5qgi>;
        "decision_deposit"?: Anonymize<Ibd24caul84kv2>;
        "deciding"?: Anonymize<Ibcbcndfmk0jd9>;
        "tally": Anonymize<Ifsk7cbmtit1jd>;
        "in_queue": boolean;
        "alarm"?: Anonymize<I3aj03qk2o5mdm>;
    };
    "Approved": Anonymize<Ini94eljn5lj8>;
    "Rejected": Anonymize<Ini94eljn5lj8>;
    "Cancelled": Anonymize<Ini94eljn5lj8>;
    "TimedOut": Anonymize<Ini94eljn5lj8>;
    "Killed": number;
}>;
export type I4h8nkgupb7obf = AnonymousEnum<{
    "system": Anonymize<I9gqitj4t615g3>;
    "TechnicalCommittee": Anonymize<I637q9f60cmh3e>;
    "Origins": Anonymize<I9cjbmj33c143s>;
    "Ethereum": Anonymize<I9hp9au9bfqil7>;
    "PolkadotXcm": Anonymize<Icvilmd7qu30i4>;
    "CumulusXcm": Anonymize<I3in0d0lb61qi8>;
}>;
export type I9gqitj4t615g3 = AnonymousEnum<{
    "Root": undefined;
    "Signed": SS58String;
    "None": undefined;
    "Authorized": undefined;
}>;
export type I637q9f60cmh3e = AnonymousEnum<{
    "Members": Anonymize<I9jd27rnpm8ttv>;
    "Member": SS58String;
    "_Phantom": undefined;
}>;
export type I9cjbmj33c143s = AnonymousEnum<{
    "WhitelistedCaller": undefined;
    "ReferendumCanceller": undefined;
    "ReferendumKiller": undefined;
    "GeneralAdmin": undefined;
    "OmnipoolAdmin": undefined;
    "Treasurer": undefined;
    "Spender": undefined;
    "Tipper": undefined;
    "EconomicParameters": undefined;
}>;
export type I9hp9au9bfqil7 = AnonymousEnum<{
    "EthereumTransaction": SizedHex<20>;
}>;
export type Icvilmd7qu30i4 = AnonymousEnum<{
    "Xcm": Anonymize<If9iqq7i64mur8>;
    "Response": Anonymize<If9iqq7i64mur8>;
}>;
export type I3in0d0lb61qi8 = AnonymousEnum<{
    "Relay": undefined;
    "SiblingParachain": number;
}>;
export type TraitsScheduleDispatchTime = Enum<{
    "At": number;
    "After": number;
}>;
export declare const TraitsScheduleDispatchTime: GetEnum<TraitsScheduleDispatchTime>;
export type Ibd24caul84kv2 = (Anonymize<Id5fm4p8lj5qgi>) | undefined;
export type Ibcbcndfmk0jd9 = ({
    "since": number;
    "confirming"?: Anonymize<I4arjljr6dpflb>;
}) | undefined;
export type I3aj03qk2o5mdm = ([number, Anonymize<I9jd27rnpm8ttv>]) | undefined;
export type Ini94eljn5lj8 = [number, Anonymize<Ibd24caul84kv2>, Anonymize<Ibd24caul84kv2>];
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 I8ikpj86u2na1q = {
    "hub_reserve": bigint;
    "shares": bigint;
    "protocol_shares": bigint;
    "cap": bigint;
    "tradable": number;
};
export type Icbsch55a85u5u = {
    "asset_id": number;
    "amount": bigint;
    "shares": bigint;
    "price": Anonymize<I200n1ov5tbcvr>;
};
export type Ib9d9r6ft4gk7o = AnonymousEnum<{
    "Positive": bigint;
    "Negative": bigint;
}>;
export type I5ugnv0dol8v8t = {
    "id": number;
    "owner": SS58String;
    "updated_at": number;
    "total_shares_z": bigint;
    "accumulated_rpz": bigint;
    "reward_currency": number;
    "pending_rewards": bigint;
    "accumulated_paid_rewards": bigint;
    "yield_per_period": bigint;
    "planned_yielding_periods": number;
    "blocks_per_period": number;
    "incentivized_asset": number;
    "max_reward_per_period": bigint;
    "min_deposit": bigint;
    "live_yield_farms_count": number;
    "total_yield_farms_count": number;
    "price_adjustment": bigint;
    "state": Anonymize<Ichuq5bidsq9a6>;
};
export type Ichuq5bidsq9a6 = AnonymousEnum<{
    "Active": undefined;
    "Stopped": undefined;
    "Terminated": undefined;
}>;
export type I1ksaufim9dq1c = {
    "id": number;
    "updated_at": number;
    "total_shares": bigint;
    "total_valued_shares": bigint;
    "accumulated_rpvs": bigint;
    "accumulated_rpz": bigint;
    "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
    "multiplier": bigint;
    "state": Anonymize<Ichuq5bidsq9a6>;
    "entries_count": bigint;
    "left_to_distribute": bigint;
    "total_stopped": number;
};
export type Ielgh4t8o7rcvt = FixedSizeArray<3, number>;
export type I3rvqhkck00laj = {
    "shares": bigint;
    "amm_pool_id": number;
    "yield_farm_entries": Anonymize<Ic7o3lvdma5qc6>;
};
export type Ic7o3lvdma5qc6 = Array<{
    "global_farm_id": number;
    "yield_farm_id": number;
    "valued_shares": bigint;
    "accumulated_rpvs": bigint;
    "accumulated_claimed_rewards": bigint;
    "entered_at": number;
    "updated_at": number;
    "stopped_at_creation": number;
}>;
export type I7bcpl5g2rcql5 = {
    "owner": SS58String;
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "amount_out": bigint;
    "partially_fillable": boolean;
};
export type I4vdvk2616mp4t = {
    "volume_in": bigint;
    "volume_out": bigint;
    "limit": bigint;
};
export type I48olja7kd2ijk = {
    "liquidity": bigint;
    "limit": bigint;
};
export type I94ue2k0qjjmh = AnonymousEnum<{
    "Locked": number;
    "Unlocked": Anonymize<I4ojmnsk1dchql>;
}>;
export type I2j729bmgsdiuo = [bigint, bigint];
export type Ibn3i0ad6beo5l = {
    "asset_fee": number;
    "protocol_fee": number;
    "timestamp": number;
};
export type I10uqvdcdcld3o = {
    "total_stake": bigint;
    "accumulated_reward_per_stake": bigint;
    "pot_reserved_balance": bigint;
};
export type I3fgr93o42d9hi = {
    "stake": bigint;
    "action_points": bigint;
    "reward_per_stake": bigint;
    "created_at": number;
    "accumulated_slash_points": bigint;
    "accumulated_unpaid_rewards": bigint;
    "accumulated_locked_rewards": bigint;
};
export type Ihjc2vmjfhsmq = Array<[number, Anonymize<I663kh18bno0fo>]>;
export type I663kh18bno0fo = {
    "amount": bigint;
    "conviction": VotingConviction;
};
export type I1p5pqg6bllgtl = {
    "assets": Anonymize<Icgljjb6j82uhn>;
    "initial_amplification": number;
    "final_amplification": number;
    "initial_block": number;
    "final_block": number;
    "fee": number;
};
export type I6tni6burv9dng = {
    "assets": Anonymize<Icgljjb6j82uhn>;
    "reserves": Array<{
        "amount": bigint;
        "decimals": number;
    }>;
    "amplification": bigint;
    "fee": number;
    "block_fee": number;
    "pegs": Anonymize<I4m1oibmt8ob40>;
    "share_issuance": bigint;
};
export type I9qpa0evftgoo5 = [Anonymize<I4k5pg22d1rdhq>, bigint];
export type I1stghsu756nk9 = [number, Anonymize<I4k5pg22d1rdhq>];
export type Idqn78enhf4jrq = {
    "pool_id": number;
    "purchase_fee": number;
    "max_buy_price_coefficient": bigint;
    "buyback_rate": number;
    "buy_back_fee": number;
    "max_in_holding"?: Anonymize<I35p85j063s0il>;
};
export type Ic02kut0350gb0 = {
    "free": bigint;
    "reserved": bigint;
    "frozen": bigint;
};
export type Ic3l568el19b24 = [Anonymize<Ibjuap2vk03rp6>, Anonymize<Ifoernv5r40rfc>, Anonymize<Ideko6oeomboa6>];
export type Ibjuap2vk03rp6 = AnonymousEnum<{
    "Legacy": {
        "nonce": Anonymize<I4totqt881mlti>;
        "gas_price": Anonymize<I4totqt881mlti>;
        "gas_limit": Anonymize<I4totqt881mlti>;
        "action": Anonymize<I2do93a3gr3ege>;
        "value": Anonymize<I4totqt881mlti>;
        "input": Uint8Array;
        "signature": {
            "v": bigint;
            "r": SizedHex<32>;
            "s": SizedHex<32>;
        };
    };
    "EIP2930": {
        "chain_id": bigint;
        "nonce": Anonymize<I4totqt881mlti>;
        "gas_price": Anonymize<I4totqt881mlti>;
        "gas_limit": Anonymize<I4totqt881mlti>;
        "action": Anonymize<I2do93a3gr3ege>;
        "value": Anonymize<I4totqt881mlti>;
        "input": Uint8Array;
        "access_list": Anonymize<Ieap15h2pjii9u>;
        "signature": Anonymize<I9veufneid0sta>;
    };
    "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": Uint8Array;
        "access_list": Anonymize<Ieap15h2pjii9u>;
        "signature": Anonymize<I9veufneid0sta>;
    };
    "EIP7702": {
        "chain_id": bigint;
        "nonce": Anonymize<I4totqt881mlti>;
        "max_priority_fee_per_gas": Anonymize<I4totqt881mlti>;
        "max_fee_per_gas": Anonymize<I4totqt881mlti>;
        "gas_limit": Anonymize<I4totqt881mlti>;
        "destination": Anonymize<I2do93a3gr3ege>;
        "value": Anonymize<I4totqt881mlti>;
        "data": Uint8Array;
        "access_list": Anonymize<Ieap15h2pjii9u>;
        "authorization_list": Anonymize<Idg0qi60379vnh>;
        "signature": Anonymize<I9veufneid0sta>;
    };
}>;
export type I4totqt881mlti = FixedSizeArray<4, bigint>;
export type I2do93a3gr3ege = AnonymousEnum<{
    "Call": SizedHex<20>;
    "Create": undefined;
}>;
export type Ieap15h2pjii9u = Array<{
    "address": SizedHex<20>;
    "storage_keys": Anonymize<Ic5m5lp1oioo8r>;
}>;
export type I9veufneid0sta = {
    "odd_y_parity": boolean;
    "r": SizedHex<32>;
    "s": SizedHex<32>;
};
export type Idg0qi60379vnh = Array<{
    "chain_id": bigint;
    "address": SizedHex<20>;
    "nonce": Anonymize<I4totqt881mlti>;
    "signature": Anonymize<I9veufneid0sta>;
}>;
export type Ifoernv5r40rfc = {
    "transaction_hash": SizedHex<32>;
    "transaction_index": number;
    "from": SizedHex<20>;
    "to"?: Anonymize<If7b8240vgt2q5>;
    "contract_address"?: Anonymize<If7b8240vgt2q5>;
    "logs": Anonymize<Ids7ng2qsv7snu>;
    "logs_bloom": SizedHex<256>;
};
export type Ids7ng2qsv7snu = Array<Anonymize<I10qb03fpuk6em>>;
export type Ideko6oeomboa6 = AnonymousEnum<{
    "Legacy": {
        "status_code": number;
        "used_gas": Anonymize<I4totqt881mlti>;
        "logs_bloom": SizedHex<256>;
        "logs": Anonymize<Ids7ng2qsv7snu>;
    };
    "EIP2930": {
        "status_code": number;
        "used_gas": Anonymize<I4totqt881mlti>;
        "logs_bloom": SizedHex<256>;
        "logs": Anonymize<Ids7ng2qsv7snu>;
    };
    "EIP1559": {
        "status_code": number;
        "used_gas": Anonymize<I4totqt881mlti>;
        "logs_bloom": SizedHex<256>;
        "logs": Anonymize<Ids7ng2qsv7snu>;
    };
    "EIP7702": {
        "status_code": number;
        "used_gas": Anonymize<I4totqt881mlti>;
        "logs_bloom": SizedHex<256>;
        "logs": Anonymize<Ids7ng2qsv7snu>;
    };
}>;
export type Ib0hfhkohlekcj = {
    "header": Anonymize<I4v962mnhj6j6r>;
    "transactions": Anonymize<Ie30stbbeaul1o>;
    "ommers": Array<Anonymize<I4v962mnhj6j6r>>;
};
export type I4v962mnhj6j6r = {
    "parent_hash": SizedHex<32>;
    "ommers_hash": SizedHex<32>;
    "beneficiary": SizedHex<20>;
    "state_root": SizedHex<32>;
    "transactions_root": SizedHex<32>;
    "receipts_root": SizedHex<32>;
    "logs_bloom": SizedHex<256>;
    "difficulty": Anonymize<I4totqt881mlti>;
    "number": Anonymize<I4totqt881mlti>;
    "gas_limit": Anonymize<I4totqt881mlti>;
    "gas_used": Anonymize<I4totqt881mlti>;
    "timestamp": bigint;
    "extra_data": Uint8Array;
    "mix_hash": SizedHex<32>;
    "nonce": SizedHex<8>;
};
export type Ie30stbbeaul1o = Array<Anonymize<Ibjuap2vk03rp6>>;
export type I32lgu058i52q9 = Array<Anonymize<Ideko6oeomboa6>>;
export type Ie7atdsih6q14b = Array<Anonymize<Ifoernv5r40rfc>>;
export type Id32h28hjj1tch = [SS58String, number, number];
export type I66gvo4ilpv28i = {
    "shares": bigint;
    "amm_pool_id": SS58String;
    "yield_farm_entries": Anonymize<Ic7o3lvdma5qc6>;
};
export type Ifn6q3equiq9qi = {
    "parent_head": Uint8Array;
    "relay_parent_number": number;
    "relay_parent_storage_root": SizedHex<32>;
    "max_pov_size": number;
};
export type I8kbiofpboejrm = Array<[Anonymize<Ieiqgknk2nvh21>, Anonymize<Ibdrcpghmht5k8>]>;
export type Ieiqgknk2nvh21 = [SizedHex<8>, Anonymize<I9jd27rnpm8ttv>];
export type Ibdrcpghmht5k8 = {
    "price": Anonymize<Idvjpcmf9rj0vv>;
    "volume": {
        "a_in": bigint;
        "b_out": bigint;
        "a_out": bigint;
        "b_in": bigint;
    };
    "liquidity": {
        "a": bigint;
        "b": bigint;
    };
    "shares_issuance"?: Anonymize<I35p85j063s0il>;
    "updated_at": number;
};
export type I9ae1049tiuvhb = [Anonymize<Ibdrcpghmht5k8>, number];
export type I1os9h4ivict7u = [SizedHex<8>, Anonymize<I9jd27rnpm8ttv>, Anonymize<I9m0752cdvui5o>];
export type Isa48262v9oqu = Array<Anonymize<Ieiqgknk2nvh21>>;
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 If15el53dd76v9 = {
    "normal": number;
    "operational": number;
    "mandatory": number;
};
export type I9s0ave7t0vnrk = {
    "read": bigint;
    "write": bigint;
};
export type I4fo08joqmcqnm = {
    "spec_name": string;
    "impl_name": string;
    "authoring_version": number;
    "spec_version": number;
    "impl_version": number;
    "apis": Array<[SizedHex<8>, number]>;
    "transaction_version": number;
    "system_version": number;
};
export type Ibafpkl9hhno69 = Array<[number, {
    "name": string;
    "max_deciding": number;
    "decision_deposit": bigint;
    "prepare_period": number;
    "decision_period": number;
    "confirm_period": number;
    "min_enactment_period": number;
    "min_approval": ReferendaTypesCurve;
    "min_support": ReferendaTypesCurve;
}]>;
export type ReferendaTypesCurve = Enum<{
    "LinearDecreasing": {
        "length": number;
        "floor": number;
        "ceil": number;
    };
    "SteppedDecreasing": {
        "begin": number;
        "end": number;
        "step": number;
        "period": number;
    };
    "Reciprocal": {
        "factor": bigint;
        "x_offset": bigint;
        "y_offset": bigint;
    };
}>;
export declare const ReferendaTypesCurve: GetEnum<ReferendaTypesCurve>;
export type Ia9ai1mp1viqjd = {
    "start": number;
    "end": number;
};
export type I76nh75sf57g68 = AnonymousEnum<{
    /**
     * 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": Anonymize<Ic1e6uvbf8ado3>;
    /**
     * 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": Anonymize<Ie7oqvfdar8r2>;
    /**
     * 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": Anonymize<Ic1e6uvbf8ado3>;
    /**
     * 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": Anonymize<I92pum5p0t4pat>;
}>;
export type Ic1e6uvbf8ado3 = {
    "currency": number;
};
export type Ie7oqvfdar8r2 = {
    "currency": number;
    "price": bigint;
};
export type I92pum5p0t4pat = {
    "from": SizedHex<20>;
    "to": SizedHex<20>;
    "value": Anonymize<I4totqt881mlti>;
    "data": Uint8Array;
    "gas_limit": bigint;
    "deadline": Anonymize<I4totqt881mlti>;
    "v": number;
    "r": SizedHex<32>;
    "s": SizedHex<32>;
};
export type Idkdpdcb7jg1nh = AnonymousEnum<{
    /**
     * 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": Anonymize<Ievdsibhthdgfm>;
    /**
     * 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": Anonymize<I6uavo5oia2vma>;
    /**
     * 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": Anonymize<Ievdsibhthdgfm>;
    /**
     * Dispatches a function call with a provided origin.
     *
     * The dispatch origin for this call must be _Root_.
     *
     * ## Complexity
     * - O(1).
     */
    "dispatch_as": Anonymize<I7cibfirq2tgp9>;
    /**
     * 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": Anonymize<Ievdsibhthdgfm>;
    /**
     * 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": Anonymize<I3orh1nv01rrjo>;
    /**
     * Dispatch a fallback call in the event the main call fails to execute.
     * May be called from any origin except `None`.
     *
     * This function first attempts to dispatch the `main` call.
     * If the `main` call fails, the `fallback` is attemted.
     * if the fallback is successfully dispatched, the weights of both calls
     * are accumulated and an event containing the main call error is deposited.
     *
     * In the event of a fallback failure the whole call fails
     * with the weights returned.
     *
     * - `main`: The main call to be dispatched. This is the primary action to execute.
     * - `fallback`: The fallback call to be dispatched in case the `main` call fails.
     *
     * ## Dispatch Logic
     * - If the origin is `root`, both the main and fallback calls are executed without
     * applying any origin filters.
     * - If the origin is not `root`, the origin filter is applied to both the `main` and
     * `fallback` calls.
     *
     * ## Use Case
     * - Some use cases might involve submitting a `batch` type call in either main, fallback
     * or both.
     */
    "if_else": Anonymize<I6h476hpq98c65>;
    /**
     * Dispatches a function call with a provided origin.
     *
     * Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call.
     *
     * The dispatch origin for this call must be _Root_.
     */
    "dispatch_as_fallible": Anonymize<I7cibfirq2tgp9>;
}>;
export type Ievdsibhthdgfm = {
    "calls": Array<TxCallData>;
};
export type I6uavo5oia2vma = {
    "index": number;
    "call": TxCallData;
};
export type I7cibfirq2tgp9 = {
    "as_origin": Anonymize<I4h8nkgupb7obf>;
    "call": TxCallData;
};
export type I3orh1nv01rrjo = {
    "call": TxCallData;
    "weight": Anonymize<I4q39t5hn830vp>;
};
export type I6h476hpq98c65 = {
    "main": TxCallData;
    "fallback": TxCallData;
};
export type I6u9fdc1fne8nd = AnonymousEnum<{
    /**
     * 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": Anonymize<I1moso5oagpiea>;
    /**
     * 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": Anonymize<Ibeb4n9vpjefp3>;
    /**
     * 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": Anonymize<Id7murq9s9fg6h>;
    /**
     * 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": Anonymize<I4f7jul8ljs54r>;
    /**
     * 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": Anonymize<I4f7jul8ljs54r>;
    /**
     * 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": Anonymize<I4f7jul8ljs54r>;
    /**
     * 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": Anonymize<I5agg650597e49>;
    /**
     * 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": Anonymize<Iab64mce6q91i>;
    /**
     * 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": Anonymize<I7ji3jng252el9>;
    /**
     * 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": Anonymize<I3v9h9f3mpm1l8>;
    /**
     * 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": Anonymize<I2kt2u1flctk2q>;
    /**
     * 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": Anonymize<I7ji3jng252el9>;
}>;
export type I1moso5oagpiea = {
    "proposal": PreimagesBounded;
    "value": bigint;
};
export type Ibeb4n9vpjefp3 = {
    "proposal": number;
};
export type Id7murq9s9fg6h = {
    "ref_index": number;
    "vote": Anonymize<Ia9hdots6g53fs>;
};
export type I4f7jul8ljs54r = {
    "proposal": PreimagesBounded;
};
export type I5agg650597e49 = {
    "proposal_hash": SizedHex<32>;
    "voting_period": number;
    "delay": number;
};
export type Iab64mce6q91i = {
    "to": SS58String;
    "conviction": VotingConviction;
    "balance": bigint;
};
export type I14p0q0qs0fqbj = {
    "target": SS58String;
};
export type I7ji3jng252el9 = {
    "target": SS58String;
    "index": number;
};
export type I3v9h9f3mpm1l8 = {
    "proposal_hash": SizedHex<32>;
    "maybe_ref_index"?: Anonymize<I4arjljr6dpflb>;
};
export type I2kt2u1flctk2q = {
    "owner": Anonymize<I2itl2k1j2q8nf>;
    "maybe_hash"?: Anonymize<I4s6vifaf8k998>;
};
export type Ib1f203fnjjs9l = AnonymousEnum<{
    /**
     * 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": Anonymize<Iegi6etm6vhoqr>;
    /**
     * 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": Anonymize<I2e1ekg17a2uj2>;
    /**
     * 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": Anonymize<I2e1ekg17a2uj2>;
    /**
     * 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": Anonymize<I9uff8o8g5b5av>;
    /**
     * 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 `create_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": Anonymize<I1acluqiqlacck>;
    /**
     * 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": Anonymize<Idkqesere66fs7>;
    /**
     * 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": Anonymize<Idkqesere66fs7>;
    /**
     * 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": Anonymize<Ifs54vj2idl9k4>;
    /**
     * 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": Anonymize<Icc4kdflqd2pde>;
    /**
     * Poke / Adjust deposits made for proxies and announcements based on current values.
     * This can be used by accounts to possibly lower their locked amount.
     *
     * The dispatch origin for this call must be _Signed_.
     *
     * The transaction fee is waived if the deposit amount has changed.
     *
     * Emits `DepositPoked` if successful.
     */
    "poke_deposit": undefined;
}>;
export type Iegi6etm6vhoqr = {
    "real": SS58String;
    "force_proxy_type"?: Anonymize<Idnl0r1a4nmeek>;
    "call": TxCallData;
};
export type Idnl0r1a4nmeek = (Anonymize<Ie9g2psuhuu510>) | undefined;
export type I9uff8o8g5b5av = {
    "proxy_type": Anonymize<Ie9g2psuhuu510>;
    "delay": number;
    "index": number;
};
export type I1acluqiqlacck = {
    "spawner": SS58String;
    "proxy_type": Anonymize<Ie9g2psuhuu510>;
    "index": number;
    "height": number;
    "ext_index": number;
};
export type Idkqesere66fs7 = {
    "real": SS58String;
    "call_hash": SizedHex<32>;
};
export type Ifs54vj2idl9k4 = {
    "delegate": SS58String;
    "call_hash": SizedHex<32>;
};
export type Icc4kdflqd2pde = {
    "delegate": SS58String;
    "real": SS58String;
    "force_proxy_type"?: Anonymize<Idnl0r1a4nmeek>;
    "call": TxCallData;
};
export type I6s7d1ojl40tts = AnonymousEnum<{
    /**
     * 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": Anonymize<Ibchucv5dtvt2n>;
    /**
     * 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": Anonymize<I3e3bva29cv4gl>;
    /**
     * 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": Anonymize<Ideaemvoneh309>;
    /**
     * 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": Anonymize<I3d9o9d7epp66v>;
    /**
     * Poke the deposit reserved for an existing multisig operation.
     *
     * The dispatch origin for this call must be _Signed_ and must be the original depositor of
     * the multisig operation.
     *
     * The transaction fee is waived if the deposit amount has changed.
     *
     * - `threshold`: The total number of approvals needed for this multisig.
     * - `other_signatories`: The accounts (other than the sender) who are part of the
     * multisig.
     * - `call_hash`: The hash of the call this deposit is reserved for.
     *
     * Emits `DepositPoked` if successful.
     */
    "poke_deposit": Anonymize<I6lqh1vgb4mcja>;
}>;
export type Ibchucv5dtvt2n = {
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "call": TxCallData;
};
export type I3e3bva29cv4gl = {
    "threshold": number;
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "maybe_timepoint"?: Anonymize<I95jfd8j5cr5eh>;
    "call": TxCallData;
    "max_weight": Anonymize<I4q39t5hn830vp>;
};
export type I95jfd8j5cr5eh = (Anonymize<Itvprrpb0nm3o>) | undefined;
export type Ideaemvoneh309 = {
    "threshold": number;
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "maybe_timepoint"?: Anonymize<I95jfd8j5cr5eh>;
    "call_hash": SizedHex<32>;
    "max_weight": Anonymize<I4q39t5hn830vp>;
};
export type I3d9o9d7epp66v = {
    "threshold": number;
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "timepoint": Anonymize<Itvprrpb0nm3o>;
    "call_hash": SizedHex<32>;
};
export type I6lqh1vgb4mcja = {
    "threshold": number;
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "call_hash": SizedHex<32>;
};
export type Iakddbsmp6s38i = AnonymousEnum<{
    /**
     * 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": Anonymize<Idnsr2pndm36h0>;
    /**
     * 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": Anonymize<Itcpv4hqecjfj>;
    /**
     * 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": Anonymize<I8steo882k7qns>;
    /**
     * 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": Anonymize<I9qtj66dgng975>;
    /**
     * 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": Anonymize<I5f178ab6b89t3>;
    /**
     * 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": Anonymize<Iduerupfbc8ruc>;
    /**
     * 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": Anonymize<Iduerupfbc8ruc>;
}>;
export type Idnsr2pndm36h0 = {
    "poll_index": number;
    "vote": ConvictionVotingVoteAccountVote;
};
export type Itcpv4hqecjfj = {
    "class": number;
    "to": SS58String;
    "conviction": VotingConviction;
    "balance": bigint;
};
export type I8steo882k7qns = {
    "class": number;
};
export type I9qtj66dgng975 = {
    "class": number;
    "target": SS58String;
};
export type I5f178ab6b89t3 = {
    "class"?: Anonymize<I4arjljr6dpflb>;
    "index": number;
};
export type Iduerupfbc8ruc = {
    "target": SS58String;
    "class": number;
    "index": number;
};
export type Iame1pqjkest4r = AnonymousEnum<{
    "dispatch_as_treasury": Anonymize<Ia57pohc1kphgk>;
    "dispatch_as_aave_manager": Anonymize<Ia57pohc1kphgk>;
    /**
     * 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<I7og87gfic9ddg>;
    /**
     * Execute a single EVM call.
     * This extrinsic will fail if the EVM call returns any other ExitReason than `ExitSucceed(Returned)` or `ExitSucceed(Stopped)`.
     * Look the [hydradx_runtime::evm::runner::WrapRunner] implementation for details.
     *
     * Parameters:
     * - `origin`: Signed origin.
     * - `call`: presumably `pallet_evm::Call::call` as boxed `RuntimeCall`.
     *
     * Emits `EvmCallFailed` event when failed.
     */
    "dispatch_evm_call": Anonymize<Ia57pohc1kphgk>;
    /**
     * Dispatch a call as the emergency admin account.
     *
     * This is a fast path for the Technical Committee to react to emergencies
     * (e.g., pausing exploited markets) without waiting for a full referendum.
     * The inner call is dispatched as a Signed origin from the configured
     * emergency admin account.
     *
     * Parameters:
     * - `origin`: Must satisfy `EmergencyAdminOrigin` (TC majority or Root).
     * - `call`: The runtime call to dispatch as the emergency admin.
     *
     * Emits `EmergencyAdminCallDispatched` with the call hash and dispatch result.
     */
    "dispatch_as_emergency_admin": Anonymize<Ia57pohc1kphgk>;
}>;
export type Ia57pohc1kphgk = {
    "call": TxCallData;
};
export type I7og87gfic9ddg = {
    "call": TxCallData;
    "extra_gas": bigint;
};
export type Ib8lmvq517cqd4 = AnonymousEnum<{
    /**
     * 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": Anonymize<Ida2ijjar0n0j3>;
    /**
     * 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": Anonymize<Ietsl92b11kilg>;
    /**
     * Add all available liquidity of asset `asset` to Omnipool.
     *
     * Deposits the caller's entire free balance of `asset`. Equivalent to calling
     * `do_add_liquidity` with `amount = free_balance(asset)`.
     *
     * 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.
     *
     * Fails if price difference between spot price and oracle price is higher than allowed by `PriceBarrier`.
     *
     * Parameters:
     * - `asset`: The identifier of the asset to add. Must already be in the pool.
     * - `min_shares_limit`: The minimum amount of shares the caller expects to receive in the position.
     *
     * Emits `LiquidityAdded` event when successful.
     *
     */
    "add_all_liquidity": Anonymize<I7cjmd8tn4p2o2>;
    /**
     * 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": Anonymize<Ieuqv44kptstcs>;
    /**
     * Remove all liquidity from position
     *
     * Limit protection is applied.
     *
     * `remove_all_liquidity` removes all 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 all 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 entirely removed from.
     *
     * Emits `LiquidityRemoved` event when successful.
     *
     */
    "remove_all_liquidity": Anonymize<I2lsmg0nf1stqd>;
    /**
     * 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": Anonymize<Icah19jgge5j3e>;
    /**
     * 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": Anonymize<I2bi2kbaaunr13>;
    /**
     * Set or clear slip fee configuration.
     *
     * When set to `Some(config)`, slip fees are enabled with the given parameters.
     * When set to `None`, slip fees are disabled.
     *
     * Can only be called by `UpdateTradabilityOrigin`.
     *
     * Emits `SlipFeeSet` event.
     */
    "set_slip_fee": Anonymize<Ib3jvgupt4scl5>;
}>;
export type Ida2ijjar0n0j3 = {
    "asset": number;
    "initial_price": bigint;
    "weight_cap": number;
    "position_owner": SS58String;
};
export type Ietsl92b11kilg = {
    "asset": number;
    "amount": bigint;
    "min_shares_limit": bigint;
};
export type I7cjmd8tn4p2o2 = {
    "asset": number;
    "min_shares_limit": bigint;
};
export type Icqdi7b9m95ug3 = {
    "position_id": bigint;
    "amount": bigint;
};
export type Ieuqv44kptstcs = {
    "position_id": bigint;
    "amount": bigint;
    "min_limit": bigint;
};
export type I2lsmg0nf1stqd = {
    "position_id": bigint;
    "min_limit": bigint;
};
export type I6vhvcln14dp4d = {
    "position_id": bigint;
};
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 Icah19jgge5j3e = {
    "asset_id": number;
    "amount": bigint;
    "price": Anonymize<I200n1ov5tbcvr>;
    "dest": SS58String;
};
export type I2bi2kbaaunr13 = {
    "asset_id": number;
    "beneficiary": SS58String;
};
export type I75oguh8ohgo2q = AnonymousEnum<{
    /**
     * 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": Anonymize<I3iojc1k1m6nu7>;
    /**
     * 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": Anonymize<Ial2ta95n8ff3b>;
    /**
     * 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": Anonymize<Iammrvujtc5lnk>;
    /**
     * 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": Anonymize<I87j02rt3f17j8>;
    /**
     * 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": Anonymize<Iasmn3c065hq91>;
    /**
     * 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": Anonymize<Ia5kd7m19ap7ge>;
    /**
     * 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": Anonymize<Ieq7brqoubndin>;
    /**
     * 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": Anonymize<Ie8ft8rd6cil27>;
    /**
     * 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": Anonymize<Ia05t9pjenemsb>;
    /**
     * 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": Anonymize<I4rm8rabbdt645>;
    /**
     * 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": Anonymize<I9sh4kg79d0vn>;
    /**
     * 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": Anonymize<I5k5ne4orot4oe>;
    /**
     * 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.
     * - `min_shares_limit`: optional minimum Omnipool shares to receive (slippage protection).
     * Applies to Omnipool step only. None defaults to no protection.
     *
     * 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": Anonymize<I4v9dok43o95sq>;
    /**
     * Remove liquidity from stableswap and omnipool, optionally exiting associated yield farms.
     *
     * This extrinsic reverses the operation performed by `add_liquidity_stableswap_omnipool_and_join_farms`,
     * with optional farm exit to match the optional farm join in the add function.
     *
     * It performs the following steps in order:
     * 1. [OPTIONAL] If deposit_id is provided: Exits from ALL yield farms associated with the deposit (claiming rewards)
     * 2. Removes liquidity from the omnipool to retrieve stableswap shares (protected by omnipool_min_limit)
     * 3. Removes liquidity from the stableswap pool to retrieve underlying assets (protected by stableswap_min_amounts_out)
     *
     * The stabelswap liquidity asset removal strategy is determined by the `min_amounts_out` parameter length:
     * - If 1 asset is specified: Uses `remove_liquidity_one_asset` (trading fee applies)
     * - If multiple assets: Uses `remove_liquidity` (proportional, no trading fee)
     *
     * Parameters:
     * - `origin`: Owner of the omnipool position
     * - `position_id`: The omnipool position NFT ID to remove liquidity from
     * - `omnipool_min_limit`: The min amount of asset to be removed from omnipool (slippage protection)
     * - `stableswap_min_amounts_out`: Asset IDs and minimum amounts minimum amounts of each asset to receive from omnipool.
     * - `deposit_id`: Optional liquidity mining deposit NFT ID. If provided, exits all farms first.
     *
     * Emits events:
     * - If deposit_id provided: `RewardClaimed`, `SharesWithdrawn`, `DepositDestroyed`
     * - Always: Omnipool's `LiquidityRemoved`, Stableswap's `LiquidityRemoved`
     *
     */
    "remove_liquidity_stableswap_omnipool_and_exit_farms": Anonymize<Ib2kqt4hdmd5u5>;
}>;
export type I3iojc1k1m6nu7 = {
    "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;
};
export type Ial2ta95n8ff3b = {
    "global_farm_id": number;
    "asset_id": number;
    "multiplier": bigint;
    "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
};
export type Iammrvujtc5lnk = {
    "global_farm_id": number;
    "asset_id": number;
    "multiplier": bigint;
};
export type I87j02rt3f17j8 = {
    "global_farm_id": number;
    "asset_id": number;
};
export type Iasmn3c065hq91 = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "asset_id": number;
    "multiplier": bigint;
};
export type Ia5kd7m19ap7ge = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "asset_id": number;
};
export type Ieq7brqoubndin = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "position_id": bigint;
};
export type Ie8ft8rd6cil27 = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "deposit_id": bigint;
};
export type I2k37dcoppgins = {
    "deposit_id": bigint;
    "yield_farm_id": number;
};
export type Ia05t9pjenemsb = {
    "global_farm_id": number;
    "planned_yielding_periods": number;
    "yield_per_period": bigint;
    "min_deposit": bigint;
};
export type I4rm8rabbdt645 = {
    "farm_entries": Anonymize<I95g6i7ilua7lq>;
    "position_id": bigint;
};
export type I9sh4kg79d0vn = {
    "farm_entries": Anonymize<I95g6i7ilua7lq>;
    "asset": number;
    "amount": bigint;
    "min_shares_limit"?: Anonymize<I35p85j063s0il>;
};
export type I5k5ne4orot4oe = {
    "deposit_id": bigint;
    "yield_farm_ids": Anonymize<Icgljjb6j82uhn>;
};
export type I4v9dok43o95sq = {
    "stable_pool_id": number;
    "stable_asset_amounts": Anonymize<Id7i7r9a29m8o2>;
    "farm_entries"?: (Anonymize<I95g6i7ilua7lq>) | undefined;
    "min_shares_limit"?: Anonymize<I35p85j063s0il>;
};
export type Ib2kqt4hdmd5u5 = {
    "position_id": bigint;
    "omnipool_min_limit": bigint;
    "stableswap_min_amounts_out": Anonymize<Id7i7r9a29m8o2>;
    "deposit_id"?: Anonymize<I35p85j063s0il>;
};
export type I5ophbk33alrde = AnonymousEnum<{
    /**
     * 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": Anonymize<I8utns9aeu3t6o>;
    /**
     * 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": Anonymize<I35cf63e7kg5on>;
    /**
     * 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>;
}>;
export type I8utns9aeu3t6o = {
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "amount_out": bigint;
    "partially_fillable": boolean;
};
export type I35cf63e7kg5on = {
    "order_id": number;
    "amount_in": bigint;
};
export type I7gdonojfignc7 = 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<Ifc3gfgolmaqf7>;
    /**
     * 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<I651losl68jmo5>;
    /**
     * 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": Anonymize<I5dlvf0cogf3c3>;
    /**
     * 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": Anonymize<I5dlvf0cogf3c3>;
    /**
     * 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<Ie6nueo20p04gk>;
}>;
export type I5dlvf0cogf3c3 = {
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "new_route": Anonymize<I14tu3k4kt0e26>;
};
export type Ie6nueo20p04gk = {
    "asset_in": number;
    "asset_out": number;
    "min_amount_out": bigint;
    "route": Anonymize<I14tu3k4kt0e26>;
};
export type Iaikdgvqtjn8sd = AnonymousEnum<{
    /**
     * 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>;
}>;
export type Ieekpm246a0rii = AnonymousEnum<{
    /**
     * 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": Anonymize<I77a9b6eik0rui>;
    /**
     * 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": Anonymize<I6p5nbogrodkcc>;
    /**
     * 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": Anonymize<Ic11mlh16sngai>;
    /**
     * 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": Anonymize<I4vbsn8c7ui70f>;
    /**
     * 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": Anonymize<I60m5cjc6e18ab>;
    /**
     * 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": Anonymize<Iauknf9up388mv>;
    /**
     * 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": Anonymize<Ieh252ua9757u1>;
    /**
     * 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": Anonymize<I2d6orhhgh5et2>;
    /**
     * 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": Anonymize<I8ij5e2p0aqu6i>;
    /**
     * 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": Anonymize<Ijqmlm7h71nc1>;
    /**
     * Update the peg source for a specific asset in a pool.
     *
     * This function allows updating the peg source for an asset within a pool.
     * The pool must exist and have pegs configured. The asset must be part of the pool.
     * The current price is always preserved when updating the peg source.
     *
     * Parameters:
     * - `origin`: Must be `T::AuthorityOrigin`.
     * - `pool_id`: The ID of the pool containing the asset.
     * - `asset_id`: The ID of the asset whose peg source is to be updated.
     * - `peg_source`: The new peg source for the asset.
     *
     * Emits `PoolPegSourceUpdated` event when successful.
     *
     * # Errors
     * - `PoolNotFound`: If the specified pool does not exist.
     * - `NoPegSource`: If the pool does not have pegs configured.
     * - `AssetNotInPool`: If the specified asset is not part of the pool.
     *
     */
    "update_asset_peg_source": Anonymize<Ibmmi1tbvqjkf9>;
    /**
     * Update the maximum peg update percentage for a pool.
     *
     * This function allows updating the maximum percentage by which peg values
     * can change in a pool with pegs configured.
     *
     * Parameters:
     * - `origin`: Must be `T::AuthorityOrigin`.
     * - `pool_id`: The ID of the pool to update.
     * - `max_peg_update`: The new maximum peg update percentage.
     *
     * Emits `PoolMaxPegUpdateUpdated` event when successful.
     *
     * # Errors
     * - `PoolNotFound`: If the specified pool does not exist.
     * - `NoPegSource`: If the pool does not have pegs configured.
     *
     */
    "update_pool_max_peg_update": Anonymize<I4f24vd3pvt9k>;
}>;
export type I77a9b6eik0rui = {
    "share_asset": number;
    "assets": Anonymize<Icgljjb6j82uhn>;
    "amplification": number;
    "fee": number;
};
export type I6p5nbogrodkcc = {
    "pool_id": number;
    "final_amplification": number;
    "start_block": number;
    "end_block": number;
};
export type Ic11mlh16sngai = {
    "pool_id": number;
    "shares": bigint;
    "asset_id": number;
    "max_asset_amount": bigint;
};
export type I4vbsn8c7ui70f = {
    "pool_id": number;
    "asset_id": number;
    "share_amount": bigint;
    "min_amount_out": bigint;
};
export type I60m5cjc6e18ab = {
    "pool_id": number;
    "asset_id": number;
    "amount": bigint;
    "max_share_amount": bigint;
};
export type Iauknf9up388mv = {
    "pool_id": number;
    "asset_in": number;
    "asset_out": number;
    "amount_in": bigint;
    "min_buy_amount": bigint;
};
export type Ieh252ua9757u1 = {
    "pool_id": number;
    "asset_out": number;
    "asset_in": number;
    "amount_out": bigint;
    "max_sell_amount": bigint;
};
export type I2d6orhhgh5et2 = {
    "pool_id": number;
    "share_amount": bigint;
    "min_amounts_out": Anonymize<Id7i7r9a29m8o2>;
};
export type I8ij5e2p0aqu6i = {
    "share_asset": number;
    "assets": Anonymize<Icgljjb6j82uhn>;
    "amplification": number;
    "fee": number;
    "peg_source": Anonymize<Ibpk3qqvth3d7>;
    "max_peg_update": number;
};
export type Ijqmlm7h71nc1 = {
    "pool_id": number;
    "assets": Anonymize<Id7i7r9a29m8o2>;
    "min_shares": bigint;
};
export type I7q1vqeo4ott28 = AnonymousEnum<{
    /**
     * 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": Anonymize<Icjk91npopm3h9>;
    /**
     * Add liquidity to previously created asset pair pool.
     *
     * Shares are issued with current price.
     *
     * Emits `LiquidityAdded` event when successful.
     */
    "add_liquidity": Anonymize<Ie03o0h06lol9p>;
    "add_liquidity_with_limits": Anonymize<I1ko6jcqv0sqm4>;
    /**
     * 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": Anonymize<I6a1eig522s2p0>;
    "remove_liquidity_with_limits": Anonymize<I7mcjnqos9shs1>;
    /**
     * 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": Anonymize<I6ap0qjh5n5817>;
    /**
     * 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": Anonymize<I6ap0qjh5n5817>;
}>;
export type Icjk91npopm3h9 = {
    "asset_a": number;
    "amount_a": bigint;
    "asset_b": number;
    "amount_b": bigint;
};
export type Ie03o0h06lol9p = {
    "asset_a": number;
    "asset_b": number;
    "amount_a": bigint;
    "amount_b_max_limit": bigint;
};
export type I1ko6jcqv0sqm4 = {
    "asset_a": number;
    "asset_b": number;
    "amount_a": bigint;
    "amount_b_max_limit": bigint;
    "min_shares": bigint;
};
export type I6a1eig522s2p0 = {
    "asset_a": number;
    "asset_b": number;
    "share_amount": bigint;
};
export type I7mcjnqos9shs1 = {
    "asset_a": number;
    "asset_b": number;
    "share_amount": bigint;
    "min_amount_a": bigint;
    "min_amount_b": bigint;
};
export type I6ap0qjh5n5817 = {
    "asset_in": number;
    "asset_out": number;
    "amount": bigint;
    "max_limit": bigint;
    "discount": boolean;
};
export type Ibe97e14cmm4e9 = AnonymousEnum<{
    /**
     * 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>;
}>;
export type I6pjjpfvhvcfru = {
    "code": Uint8Array;
};
export type I6a7o6bu2n2amk = AnonymousEnum<{
    /**
     * 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 transfer.
     */
    "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": Anonymize<I67bpqa7o2ocua>;
    /**
     * 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 transfer.
     */
    "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 transfer.
     */
    "force_transfer": Anonymize<I2holodggoluon>;
    /**
     * 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": Anonymize<Ib5umq5uf644jr>;
}>;
export type Ibbvcet1pv1l61 = {
    "dest": SS58String;
    "currency_id": number;
    "amount": bigint;
};
export type I67bpqa7o2ocua = {
    "dest": SS58String;
    "currency_id": number;
    "keep_alive": boolean;
};
export type I2holodggoluon = {
    "source": SS58String;
    "dest": SS58String;
    "currency_id": number;
    "amount": bigint;
};
export type Ib5umq5uf644jr = {
    "who": SS58String;
    "currency_id": number;
    "new_free": bigint;
    "new_reserved": bigint;
};
export type Id0m4jim3jch3f = AnonymousEnum<{
    /**
     * 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": Anonymize<I9r83fr4b3rmmj>;
    /**
     * update amount of account `who` under `currency_id`.
     *
     * The dispatch origin of this call must be _Root_.
     */
    "update_balance": Anonymize<I24s4g6gkj5oec>;
}>;
export type I9r83fr4b3rmmj = {
    "dest": SS58String;
    "amount": bigint;
};
export type I78r7di33lh57i = AnonymousEnum<{
    /**
     * Withdraw balance from EVM into currency/balances pallet.
     */
    "withdraw": Anonymize<Idcabvplu05lea>;
    /**
     * Issue an EVM call operation. This is similar to a message call transaction in Ethereum.
     */
    "call": Anonymize<Id38gdpcotl637>;
    /**
     * Issue an EVM create operation. This is similar to a contract creation transaction in
     * Ethereum.
     */
    "create": Anonymize<I73q3qf5u7nnqg>;
    /**
     * Issue an EVM create2 operation.
     */
    "create2": Anonymize<Idpm1bc2cr6dgj>;
}>;
export type Idcabvplu05lea = {
    "address": SizedHex<20>;
    "value": bigint;
};
export type Id38gdpcotl637 = {
    "source": SizedHex<20>;
    "target": SizedHex<20>;
    "input": Uint8Array;
    "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>;
    "authorization_list": Anonymize<Idg0qi60379vnh>;
};
export type Ic4rgfgksgmm3e = (Anonymize<I4totqt881mlti>) | undefined;
export type I1bsfec060j604 = Array<[SizedHex<20>, Anonymize<Ic5m5lp1oioo8r>]>;
export type I73q3qf5u7nnqg = {
    "source": SizedHex<20>;
    "init": Uint8Array;
    "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>;
    "authorization_list": Anonymize<Idg0qi60379vnh>;
};
export type Idpm1bc2cr6dgj = {
    "source": SizedHex<20>;
    "init": Uint8Array;
    "salt": SizedHex<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>;
    "authorization_list": Anonymize<Idg0qi60379vnh>;
};
export type Ir7ia4cm0nh1c = AnonymousEnum<{
    /**
     * 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.
     * Increases `sufficients` for the account.
     *
     * 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>;
    /**
     * Proves ownership of an account and binds it to the EVM address.
     * This is useful for accounts that want to submit some substrate transaction, but only
     * received some ERC20 balance and `System` pallet doesn't register them as a substrate account.
     *
     * Parameters:
     * - `origin`: Unsigned origin.
     * - `account`: Account proving ownership of the address.
     * - `asset_id`: Asset ID to be set as fee currency for the account.
     * - `signature`: Signed message by the account that proves ownership of the account.
     *
     * Emits `AccountClaimed` event when successful.
     */
    "claim_account": Anonymize<I4gpglecit15nf>;
}>;
export type I4gpglecit15nf = {
    "account": SS58String;
    "asset_id": number;
    "signature": MultiSignature;
};
export type MultiSignature = Enum<{
    "Ed25519": SizedHex<64>;
    "Sr25519": SizedHex<64>;
    "Ecdsa": SizedHex<65>;
}>;
export declare const MultiSignature: GetEnum<MultiSignature>;
export type I7ecgc6etbbr5p = AnonymousEnum<{
    /**
     * 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": Anonymize<I10hmgseei3j6r>;
    /**
     * 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": Anonymize<I8p4numg1r4ojm>;
    /**
     * 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": Anonymize<Idtucog650c7f8>;
    /**
     * 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": Anonymize<I4kvfua9fqrpi2>;
    /**
     * 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": Anonymize<I7t5blhj97u8r7>;
    /**
     * 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": Anonymize<I21qpgggberqt3>;
    /**
     * 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": Anonymize<Id7r4m9aulb7sn>;
    /**
     * 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": Anonymize<Ielqbuofrsq2ri>;
    /**
     * 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": Anonymize<I3hno1r9147mro>;
    /**
     * 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": Anonymize<Iaihikf7d0fpt7>;
    /**
     * 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": Anonymize<Iaehj4ajaudum7>;
    /**
     * 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": Anonymize<Id83ilm95if0sl>;
    /**
     * 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": Anonymize<I82r4tvnf2s05i>;
}>;
export type I10hmgseei3j6r = {
    "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;
};
export type I8p4numg1r4ojm = {
    "global_farm_id": number;
    "price_adjustment": bigint;
};
export type Idtucog650c7f8 = {
    "global_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "multiplier": bigint;
    "loyalty_curve"?: Anonymize<Ieot4d4ofvtguv>;
};
export type I4kvfua9fqrpi2 = {
    "global_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "multiplier": bigint;
};
export type I7t5blhj97u8r7 = {
    "global_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
};
export type I21qpgggberqt3 = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "multiplier": bigint;
};
export type Id7r4m9aulb7sn = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
};
export type Ielqbuofrsq2ri = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "shares_amount": bigint;
};
export type I3hno1r9147mro = {
    "farm_entries": Anonymize<I95g6i7ilua7lq>;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "shares_amount": bigint;
};
export type Iaihikf7d0fpt7 = {
    "asset_a": number;
    "asset_b": number;
    "amount_a": bigint;
    "amount_b_max_limit": bigint;
    "farm_entries": Anonymize<I95g6i7ilua7lq>;
};
export type Iaehj4ajaudum7 = {
    "global_farm_id": number;
    "yield_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "deposit_id": bigint;
};
export type Id83ilm95if0sl = {
    "deposit_id": bigint;
    "yield_farm_id": number;
    "asset_pair": Anonymize<I4kv0johj9i346>;
};
export type I82r4tvnf2s05i = {
    "deposit_id": bigint;
    "asset_pair": Anonymize<I4kv0johj9i346>;
    "farm_entries": Anonymize<Icgljjb6j82uhn>;
};
export type I6rh3volf6pqqn = 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<Icojrb9unj3i10>;
    /**
     * 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>;
    /**
     * Unlocks DCA reserves of provided asset for the caller if they have no active schedules.
     *
     * This is a utility function to help users recover their reserved funds in case
     * a DCA schedule was terminated but left some reserved amounts.
     *
     * This can only be called when the user has no active DCA schedules.
     *
     * Parameters:
     * - `origin`: The account to unlock reserves for (must be signed)
     * - `asset_id`: The asset ID for which reserves should be unlocked.
     *
     * Emits `ReserveUnlocked` event when successful.
     *
     */
    "unlock_reserves": Anonymize<If4ebvclj2ugvi>;
}>;
export type Icojrb9unj3i10 = {
    "schedule": {
        "owner": SS58String;
        "period": number;
        "total_amount": bigint;
        "max_retries"?: Anonymize<I4arjljr6dpflb>;
        "stability_threshold"?: Anonymize<I4arjljr6dpflb>;
        "slippage"?: Anonymize<I4arjljr6dpflb>;
        "order": Anonymize<Ie7n3lbf5eunfs>;
    };
    "start_execution_block"?: Anonymize<I4arjljr6dpflb>;
};
export type Ib9aiguc778ujf = {
    "schedule_id": number;
    "next_execution_block"?: Anonymize<I4arjljr6dpflb>;
};
export type I6k1inef986368 = AnonymousEnum<{
    "send": Anonymize<Ia5cotcvi888ln>;
    /**
     * Teleport some assets from the local chain to some destination chain.
     *
     * **This function is deprecated: Use `limited_teleport_assets` instead.**
     *
     * Fee payment on the destination side is made from the asset in the `assets` vector of
     * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,
     * with all fees taken as needed from the asset.
     *
     * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
     * - `dest`: Destination context for the assets. Will typically be `[Parent,
     * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
     * relay to parachain.
     * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
     * generally be an `AccountId32` value.
     * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
     * fee on the `dest` chain.
     * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
     * fees.
     */
    "teleport_assets": Anonymize<I21jsa919m88fd>;
    /**
     * Transfer some assets from the local chain to the destination chain through their local,
     * destination or remote reserve.
     *
     * `assets` must have same reserve location and may not be teleportable to `dest`.
     * - `assets` have local reserve: transfer assets to sovereign account of destination
     * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
     * assets to `beneficiary`.
     * - `assets` have destination reserve: burn local assets and forward a notification to
     * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
     * deposit them to `beneficiary`.
     * - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move
     * reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`
     * to mint and deposit reserve-based assets to `beneficiary`.
     *
     * **This function is deprecated: Use `limited_reserve_transfer_assets` instead.**
     *
     * Fee payment on the destination side is made from the asset in the `assets` vector of
     * index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,
     * with all fees taken as needed from the asset.
     *
     * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
     * - `dest`: Destination context for the assets. Will typically be `[Parent,
     * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
     * relay to parachain.
     * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
     * generally be an `AccountId32` value.
     * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
     * fee on the `dest` (and possibly reserve) chains.
     * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
     * fees.
     */
    "reserve_transfer_assets": Anonymize<I21jsa919m88fd>;
    /**
     * Execute an XCM message from a local, signed, origin.
     *
     * An event is deposited indicating whether `msg` could be executed completely or only
     * partially.
     *
     * No more than `max_weight` will be used in its attempted execution. If this is less than
     * the maximum amount of weight that the message could take to be executed, then no
     * execution attempt will be made.
     */
    "execute": Anonymize<Iegif7m3upfe1k>;
    /**
     * Extoll that a particular destination can be communicated with through a particular
     * version of XCM.
     *
     * - `origin`: Must be an origin specified by AdminOrigin.
     * - `location`: The destination that is being described.
     * - `xcm_version`: The latest version of XCM that `location` supports.
     */
    "force_xcm_version": Anonymize<I9kt8c221c83ln>;
    /**
     * Set a safe XCM version (the version that XCM should be encoded with if the most recent
     * version a destination can accept is unknown).
     *
     * - `origin`: Must be an origin specified by AdminOrigin.
     * - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.
     */
    "force_default_xcm_version": Anonymize<Ic76kfh5ebqkpl>;
    /**
     * Ask a location to notify us regarding their XCM version and any changes to it.
     *
     * - `origin`: Must be an origin specified by AdminOrigin.
     * - `location`: The location to which we should subscribe for XCM version notifications.
     */
    "force_subscribe_version_notify": Anonymize<Icscpmubum33bq>;
    /**
     * Require that a particular destination should no longer notify us regarding any XCM
     * version changes.
     *
     * - `origin`: Must be an origin specified by AdminOrigin.
     * - `location`: The location to which we are currently subscribed for XCM version
     * notifications which we no longer desire.
     */
    "force_unsubscribe_version_notify": Anonymize<Icscpmubum33bq>;
    /**
     * Transfer some assets from the local chain to the destination chain through their local,
     * destination or remote reserve.
     *
     * `assets` must have same reserve location and may not be teleportable to `dest`.
     * - `assets` have local reserve: transfer assets to sovereign account of destination
     * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
     * assets to `beneficiary`.
     * - `assets` have destination reserve: burn local assets and forward a notification to
     * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
     * deposit them to `beneficiary`.
     * - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move
     * reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`
     * to mint and deposit reserve-based assets to `beneficiary`.
     *
     * Fee payment on the destination side is made from the asset in the `assets` vector of
     * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight
     * is needed than `weight_limit`, then the operation will fail and the sent assets may be
     * at risk.
     *
     * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
     * - `dest`: Destination context for the assets. Will typically be `[Parent,
     * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
     * relay to parachain.
     * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
     * generally be an `AccountId32` value.
     * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
     * fee on the `dest` (and possibly reserve) chains.
     * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
     * fees.
     * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
     */
    "limited_reserve_transfer_assets": Anonymize<I21d2olof7eb60>;
    /**
     * Teleport some assets from the local chain to some destination chain.
     *
     * Fee payment on the destination side is made from the asset in the `assets` vector of
     * index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight
     * is needed than `weight_limit`, then the operation will fail and the sent assets may be
     * at risk.
     *
     * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
     * - `dest`: Destination context for the assets. Will typically be `[Parent,
     * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
     * relay to parachain.
     * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
     * generally be an `AccountId32` value.
     * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
     * fee on the `dest` chain.
     * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
     * fees.
     * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
     */
    "limited_teleport_assets": Anonymize<I21d2olof7eb60>;
    /**
     * Set or unset the global suspension state of the XCM executor.
     *
     * - `origin`: Must be an origin specified by AdminOrigin.
     * - `suspended`: `true` to suspend, `false` to resume.
     */
    "force_suspension": Anonymize<Ibgm4rnf22lal1>;
    /**
     * Transfer some assets from the local chain to the destination chain through their local,
     * destination or remote reserve, or through teleports.
     *
     * Fee payment on the destination side is made from the asset in the `assets` vector of
     * index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for
     * `weight_limit` of weight. If more weight is needed than `weight_limit`, then the
     * operation will fail and the sent assets may be at risk.
     *
     * `assets` (excluding `fees`) must have same reserve location or otherwise be teleportable
     * to `dest`, no limitations imposed on `fees`.
     * - for local reserve: transfer assets to sovereign account of destination chain and
     * forward a notification XCM to `dest` to mint and deposit reserve-based assets to
     * `beneficiary`.
     * - for destination reserve: burn local assets and forward a notification to `dest` chain
     * to withdraw the reserve assets from this chain's sovereign account and deposit them
     * to `beneficiary`.
     * - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves
     * from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint
     * and deposit reserve-based assets to `beneficiary`.
     * - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport
     * assets and deposit them to `beneficiary`.
     *
     * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
     * - `dest`: Destination context for the assets. Will typically be `X2(Parent,
     * Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send
     * from relay to parachain.
     * - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
     * generally be an `AccountId32` value.
     * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
     * fee on the `dest` (and possibly reserve) chains.
     * - `fee_asset_item`: The index into `assets` of the item which should be used to pay
     * fees.
     * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
     */
    "transfer_assets": Anonymize<I21d2olof7eb60>;
    /**
     * Claims assets trapped on this pallet because of leftover assets during XCM execution.
     *
     * - `origin`: Anyone can call this extrinsic.
     * - `assets`: The exact assets that were trapped. Use the version to specify what version
     * was the latest when they were trapped.
     * - `beneficiary`: The location/account where the claimed assets will be deposited.
     */
    "claim_assets": Anonymize<Ie68np0vpihith>;
    /**
     * Transfer assets from the local chain to the destination chain using explicit transfer
     * types for assets and fees.
     *
     * `assets` must have same reserve location or may be teleportable to `dest`. Caller must
     * provide the `assets_transfer_type` to be used for `assets`:
     * - `TransferType::LocalReserve`: transfer assets to sovereign account of destination
     * chain and forward a notification XCM to `dest` to mint and deposit reserve-based
     * assets to `beneficiary`.
     * - `TransferType::DestinationReserve`: burn local assets and forward a notification to
     * `dest` chain to withdraw the reserve assets from this chain's sovereign account and
     * deposit them to `beneficiary`.
     * - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`
     * chain to move reserves from this chain's SA to `dest` chain's SA, and forward another
     * XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically
     * the remote `reserve` is Asset Hub.
     * - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to
     * mint/teleport assets and deposit them to `beneficiary`.
     *
     * On the destination chain, as well as any intermediary hops, `BuyExecution` is used to
     * buy execution using transferred `assets` identified by `remote_fees_id`.
     * Make sure enough of the specified `remote_fees_id` asset is included in the given list
     * of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight
     * is needed than `weight_limit`, then the operation will fail and the sent assets may be
     * at risk.
     *
     * `remote_fees_id` may use different transfer type than rest of `assets` and can be
     * specified through `fees_transfer_type`.
     *
     * The caller needs to specify what should happen to the transferred assets once they reach
     * the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which
     * contains the instructions to execute on `dest` as a final step.
     * This is usually as simple as:
     * `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,
     * but could be something more exotic like sending the `assets` even further.
     *
     * - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
     * - `dest`: Destination context for the assets. Will typically be `[Parent,
     * Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
     * relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from
     * parachain across a bridge to another ecosystem destination.
     * - `assets`: The assets to be withdrawn. This should include the assets used to pay the
     * fee on the `dest` (and possibly reserve) chains.
     * - `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.
     * - `remote_fees_id`: One of the included `assets` to be used to pay fees.
     * - `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.
     * - `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the
     * transfer, which also determines what happens to the assets on the destination chain.
     * - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
     */
    "transfer_assets_using_type_and_then": Anonymize<I9bnv6lu0crf1q>;
    /**
     * Authorize another `aliaser` location to alias into the local `origin` making this call.
     * The `aliaser` is only authorized until the provided `expiry` block number.
     * The call can also be used for a previously authorized alias in order to update its
     * `expiry` block number.
     *
     * Usually useful to allow your local account to be aliased into from a remote location
     * also under your control (like your account on another chain).
     *
     * WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in
     * their/your name. Once authorized using this call, the `aliaser` can freely impersonate
     * `origin` in XCM programs executed on the local chain.
     */
    "add_authorized_alias": Anonymize<Iauhjqifrdklq7>;
    /**
     * Remove a previously authorized `aliaser` from the list of locations that can alias into
     * the local `origin` making this call.
     */
    "remove_authorized_alias": Anonymize<Ie1uso9m8rt5cf>;
    /**
     * Remove all previously authorized `aliaser`s that can alias into the local `origin`
     * making this call.
     */
    "remove_all_authorized_aliases": undefined;
}>;
export type Ia5cotcvi888ln = {
    "dest": XcmVersionedLocation;
    "message": XcmVersionedXcm;
};
export type XcmVersionedXcm = Enum<{
    "V3": Anonymize<Ianvng4e08j9ii>;
    "V4": Anonymize<Iegrepoo0c1jc5>;
    "V5": Anonymize<Ict03eedr8de9s>;
}>;
export declare const XcmVersionedXcm: GetEnum<XcmVersionedXcm>;
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": SizedHex<32>;
    "ClearTopic": undefined;
    "AliasOrigin": Anonymize<I4c0s5cioidn76>;
    "UnpaidExecution": Anonymize<I40d50jeai33oq>;
}>;
export declare const XcmV3Instruction: GetEnum<XcmV3Instruction>;
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 Ia9cgf4r40b26h = (Anonymize<I4c0s5cioidn76>) | undefined;
export type I92p6l5cs3fr50 = {
    "origin_kind": XcmV2OriginKind;
    "require_weight_at_most": Anonymize<I4q39t5hn830vp>;
    "call": Uint8Array;
};
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 Iba5bdbapp16oo = {
    "module_name": Uint8Array;
    "response_info": Anonymize<I4r3v6e91d1qbs>;
};
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": SizedHex<32>;
    "ClearTopic": undefined;
    "AliasOrigin": Anonymize<I4c0s5cioidn76>;
    "UnpaidExecution": Anonymize<I40d50jeai33oq>;
}>;
export declare const XcmV4Instruction: GetEnum<XcmV4Instruction>;
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 I21jsa919m88fd = {
    "dest": XcmVersionedLocation;
    "beneficiary": XcmVersionedLocation;
    "assets": XcmVersionedAssets;
    "fee_asset_item": number;
};
export type Iegif7m3upfe1k = {
    "message": XcmVersionedXcm;
    "max_weight": Anonymize<I4q39t5hn830vp>;
};
export type Ic76kfh5ebqkpl = {
    "maybe_xcm_version"?: Anonymize<I4arjljr6dpflb>;
};
export type Icscpmubum33bq = {
    "location": XcmVersionedLocation;
};
export type I21d2olof7eb60 = {
    "dest": XcmVersionedLocation;
    "beneficiary": XcmVersionedLocation;
    "assets": XcmVersionedAssets;
    "fee_asset_item": number;
    "weight_limit": XcmV3WeightLimit;
};
export type Ibgm4rnf22lal1 = {
    "suspended": boolean;
};
export type Ie68np0vpihith = {
    "assets": XcmVersionedAssets;
    "beneficiary": XcmVersionedLocation;
};
export type I9bnv6lu0crf1q = {
    "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;
};
export type XcmVersionedAssetId = Enum<{
    "V3": XcmV3MultiassetAssetId;
    "V4": Anonymize<I4c0s5cioidn76>;
    "V5": Anonymize<If9iqq7i64mur8>;
}>;
export declare const XcmVersionedAssetId: GetEnum<XcmVersionedAssetId>;
export type Iauhjqifrdklq7 = {
    "aliaser": XcmVersionedLocation;
    "expires"?: Anonymize<I35p85j063s0il>;
};
export type Ie1uso9m8rt5cf = {
    "aliaser": XcmVersionedLocation;
};
export type Iadu39ueirgre6 = AnonymousEnum<{
    /**
     * A pure account has been created by new proxy with given
     * disambiguation index and proxy type.
     */
    "PureCreated": Anonymize<Ic3vmcebni2jj7>;
}>;
export type Idp0mmhs2rkct1 = AnonymousEnum<{
    /**
     * The route with trades has been successfully executed
     */
    "Executed": Anonymize<If1007933akv96>;
}>;
export type Ia3793sttioo6c = AnonymousEnum<{
    /**
     * Ethereum events from contracts.
     */
    "Log": Anonymize<Ifmc9boeeia623>;
}>;
export type I4g15ko4u63fja = Array<[number, Anonymize<Ic02kut0350gb0>]>;
export type If08sfhqn8ujfr = {
    "balance": Anonymize<I4totqt881mlti>;
    "nonce": Anonymize<I4totqt881mlti>;
};
export type I3dj14b7k3rkm5 = (Anonymize<I1bsfec060j604>) | undefined;
export type Ic5egmm215ml6k = (Anonymize<Idg0qi60379vnh>) | undefined;
export type Ifg79652v4hqd3 = ResultPayload<Anonymize<I7ag5k7bmmgq3j>, Anonymize<Icslglicucmk4>>;
export type I7ag5k7bmmgq3j = {
    "exit_reason": Anonymize<Iag9iovb9j5ijo>;
    "value": Uint8Array;
    "used_gas": Anonymize<I8mgv59to1hjie>;
    "weight_info"?: Anonymize<Ib72ii9bshc8f5>;
    "logs": Anonymize<Ids7ng2qsv7snu>;
};
export type I8mgv59to1hjie = {
    "standard": Anonymize<I4totqt881mlti>;
    "effective": Anonymize<I4totqt881mlti>;
};
export type Ib72ii9bshc8f5 = ({
    "ref_time_limit"?: Anonymize<I35p85j063s0il>;
    "proof_size_limit"?: Anonymize<I35p85j063s0il>;
    "ref_time_usage"?: Anonymize<I35p85j063s0il>;
    "proof_size_usage"?: Anonymize<I35p85j063s0il>;
}) | undefined;
export type I34mub5dacthli = ResultPayload<Anonymize<Ie3rl25flint9v>, Anonymize<Icslglicucmk4>>;
export type Ie3rl25flint9v = {
    "exit_reason": Anonymize<Iag9iovb9j5ijo>;
    "value": SizedHex<20>;
    "used_gas": Anonymize<I8mgv59to1hjie>;
    "weight_info"?: Anonymize<Ib72ii9bshc8f5>;
    "logs": Anonymize<Ids7ng2qsv7snu>;
};
export type I5fvdd841odbi3 = (Anonymize<Ib0hfhkohlekcj>) | undefined;
export type I35vouom6s9r2 = (Anonymize<I32lgu058i52q9>) | undefined;
export type Ie6kgk6f04rsvk = (Anonymize<Ie7atdsih6q14b>) | undefined;
export type Ifgqf2rskq94om = [Anonymize<I5fvdd841odbi3>, Anonymize<I35vouom6s9r2>, Anonymize<Ie6kgk6f04rsvk>];
export type Itom7fk49o0c9 = Array<Uint8Array>;
export type I7aold6s47n103 = [Anonymize<I5fvdd841odbi3>, Anonymize<Ie6kgk6f04rsvk>];
export type Ic952bubvq4k7d = {
    "parent_hash": SizedHex<32>;
    "number": number;
    "state_root": SizedHex<32>;
    "extrinsics_root": SizedHex<32>;
    "digest": Anonymize<I4mddgoa69c0a2>;
};
export type Iftvbctbo05fu4 = ResultPayload<Array<XcmVersionedAssetId>, Anonymize<Iavct6f844hfju>>;
export type Iavct6f844hfju = AnonymousEnum<{
    "Unimplemented": undefined;
    "VersionedConversionFailed": undefined;
    "WeightNotComputable": undefined;
    "UnhandledXcmVersion": undefined;
    "AssetNotFound": undefined;
    "Unroutable": undefined;
}>;
export type Ic0c3req3mlc1l = ResultPayload<Anonymize<I4q39t5hn830vp>, Anonymize<Iavct6f844hfju>>;
export type I7ocn4njqde3v5 = ResultPayload<bigint, Anonymize<Iavct6f844hfju>>;
export type Iek7ha36da9mf5 = ResultPayload<XcmVersionedAssets, Anonymize<Iavct6f844hfju>>;
export type Ieunmbb5rijnk8 = AnonymousEnum<{
    "System": Anonymize<Iekve0i6djpd9f>;
    "Timestamp": Anonymize<I7d75gqfg6jh9c>;
    "Balances": Anonymize<If3jbvd4hqgqh1>;
    "MultiTransactionPayment": Anonymize<I76nh75sf57g68>;
    "Treasury": Anonymize<I2urac6a8n5v3f>;
    "Utility": Anonymize<Idkdpdcb7jg1nh>;
    "Preimage": Anonymize<If81ks88t5mpk5>;
    "Identity": Anonymize<Ib1do1nm0okqmt>;
    "Democracy": Anonymize<I6u9fdc1fne8nd>;
    "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": Anonymize<I38jfk5li8iang>;
        /**
         * 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": Anonymize<I2dtrijkm5601t>;
        /**
         * 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": Anonymize<Ib2obgji960euh>;
        /**
         * Disapprove the proposal and burn the cost held for storing this proposal.
         *
         * Parameters:
         * - `origin`: must be the `KillOrigin`.
         * - `proposal_hash`: The hash of the proposal that should be killed.
         *
         * Emits `Killed` and `ProposalCostBurned` if any cost was held for a given proposal.
         */
        "kill": Anonymize<I2ev73t79f46tb>;
        /**
         * Release the cost held for storing a proposal once the given proposal is completed.
         *
         * If there is no associated cost for the given proposal, this call will have no effect.
         *
         * Parameters:
         * - `origin`: must be `Signed` or `Root`.
         * - `proposal_hash`: The hash of the proposal.
         *
         * Emits `ProposalCostReleased` if any cost held for a given proposal.
         */
        "release_proposal_cost": Anonymize<I2ev73t79f46tb>;
    }>;
    "Proxy": Anonymize<Ib1f203fnjjs9l>;
    "Multisig": Anonymize<I6s7d1ojl40tts>;
    "Uniques": Anonymize<I1aih3rf2i8nc0>;
    "StateTrieMigration": Anonymize<I39l72gdmkk30t>;
    "ConvictionVoting": Anonymize<Iakddbsmp6s38i>;
    "Referenda": Anonymize<Ibhs4ak1cgodpi>;
    "Whitelist": Enum<{
        "whitelist_call": Anonymize<I1adbcfi5uc62r>;
        "remove_whitelisted_call": Anonymize<I1adbcfi5uc62r>;
        "dispatch_whitelisted_call": Anonymize<Ibf6ucefn8fh49>;
        "dispatch_whitelisted_call_with_preimage": Anonymize<Ia57pohc1kphgk>;
    }>;
    "Dispatcher": Anonymize<Iame1pqjkest4r>;
    "AssetRegistry": Anonymize<I3mpvr6pqcbi1p>;
    "Claims": Anonymize<I5queflebive1d>;
    "GenesisHistory": undefined;
    "Omnipool": Anonymize<Ib8lmvq517cqd4>;
    "TransactionPause": Anonymize<I851i9piqh9qel>;
    "Duster": Anonymize<Icqfcbe5sstk04>;
    "OmnipoolWarehouseLM": undefined;
    "OmnipoolLiquidityMining": Anonymize<I75oguh8ohgo2q>;
    "OTC": Anonymize<I5ophbk33alrde>;
    "CircuitBreaker": Anonymize<I3k37gje33les4>;
    "Router": Anonymize<I7gdonojfignc7>;
    "DynamicFees": Anonymize<I5tbad6u121r7r>;
    "Staking": Anonymize<Iaikdgvqtjn8sd>;
    "Stableswap": Anonymize<Ieekpm246a0rii>;
    "Bonds": Anonymize<It0rq8pffd1r>;
    "OtcSettlements": Anonymize<Ib00ilgisift11>;
    "LBP": Anonymize<I4ogitqakc83nm>;
    "XYK": Anonymize<I7q1vqeo4ott28>;
    "Referrals": Anonymize<Ibe97e14cmm4e9>;
    "Liquidation": Anonymize<I3i7qdud10d7s7>;
    "HSM": Anonymize<I26pl9s0amgvlg>;
    "Signet": Anonymize<Id2h64tvrh0rm7>;
    "EthDispenser": Anonymize<I61gsp3apc2sr3>;
    "Tokens": Anonymize<I6a7o6bu2n2amk>;
    "Currencies": Anonymize<Id0m4jim3jch3f>;
    "Vesting": Anonymize<Ieps3dhtu498hk>;
    "EVM": Anonymize<I78r7di33lh57i>;
    "Ethereum": Anonymize<I3lo8is2egp8k4>;
    "EVMAccounts": Anonymize<Ir7ia4cm0nh1c>;
    "XYKLiquidityMining": Anonymize<I7ecgc6etbbr5p>;
    "XYKWarehouseLM": undefined;
    "RelayChainInfo": undefined;
    "DCA": Anonymize<I6rh3volf6pqqn>;
    "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": SizedHex<32>;
            "when": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Cancel a named scheduled task.
         */
        "cancel_named": Anonymize<Ifs1i5fk9cqvr6>;
        /**
         * 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": SizedHex<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": Anonymize<Ieg3fd8p4pkt10>;
        /**
         * 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": Anonymize<I8kg5ll427kfqq>;
        /**
         * Removes the retry configuration of a task.
         */
        "cancel_retry": Anonymize<I467333262q1l9>;
        /**
         * Cancel the retry configuration of a named task.
         */
        "cancel_retry_named": Anonymize<Ifs1i5fk9cqvr6>;
    }>;
    "ParachainSystem": Anonymize<Idqp6f8ged4v2u>;
    "ParachainInfo": undefined;
    "PolkadotXcm": Anonymize<I6k1inef986368>;
    "CumulusXcm": undefined;
    "MessageQueue": Anonymize<Ic2uoe7jdksosp>;
    "MultiBlockMigrations": Anonymize<I4oqb168b2d4er>;
    "OrmlXcm": Anonymize<I8t7b9qn3bqn3i>;
    "XTokens": Anonymize<I17bjokh5offln>;
    "CollatorSelection": Anonymize<I9dpq5287dur8b>;
    "Session": Anonymize<I77dda7hps0u37>;
    "EmaOracle": Anonymize<Ic09i5ihsa495j>;
    "Broadcast": undefined;
}>;
export type Iekve0i6djpd9f = AnonymousEnum<{
    /**
     * Make some on-chain remark.
     *
     * Can be executed by every `origin`.
     */
    "remark": Anonymize<I8ofcg5rbj0g2c>;
    /**
     * Set the number of pages in the WebAssembly environment's heap.
     */
    "set_heap_pages": Anonymize<I4adgbll7gku4i>;
    /**
     * 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": Anonymize<I9pj91mj79qekl>;
    /**
     * Kill some items from storage.
     */
    "kill_storage": Anonymize<I39uah9nss64h9>;
    /**
     * 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": Anonymize<Ik64dknsq7k08>;
    /**
     * Make some on-chain remark and emit event.
     */
    "remark_with_event": Anonymize<I8ofcg5rbj0g2c>;
    /**
     * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied
     * later.
     *
     * This call requires Root origin.
     */
    "authorize_upgrade": Anonymize<Ib51vk42m1po4n>;
    /**
     * 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": Anonymize<Ib51vk42m1po4n>;
    /**
     * 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>;
}>;
export type I8ofcg5rbj0g2c = {
    "remark": Uint8Array;
};
export type I4adgbll7gku4i = {
    "pages": bigint;
};
export type I9pj91mj79qekl = {
    "items": Anonymize<I6pi5ou8r1hblk>;
};
export type I6pi5ou8r1hblk = Array<FixedSizeArray<2, Uint8Array>>;
export type I39uah9nss64h9 = {
    "keys": Anonymize<Itom7fk49o0c9>;
};
export type Ik64dknsq7k08 = {
    "prefix": Uint8Array;
    "subkeys": number;
};
export type Ib51vk42m1po4n = {
    "code_hash": SizedHex<32>;
};
export type I7d75gqfg6jh9c = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type If3jbvd4hqgqh1 = AnonymousEnum<{
    /**
     * 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": Anonymize<Ibmr18suc9ikh9>;
    /**
     * 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": Anonymize<I5u8olqbbvfnvf>;
    /**
     * 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": Anonymize<I5utcetro501ir>;
}>;
export type Ibmr18suc9ikh9 = {
    "who": Anonymize<Ia2lhg7l2hilo3>;
};
export type I5u8olqbbvfnvf = {
    "direction": BalancesAdjustmentDirection;
    "delta": bigint;
};
export type BalancesAdjustmentDirection = Enum<{
    "Increase": undefined;
    "Decrease": undefined;
}>;
export declare const BalancesAdjustmentDirection: GetEnum<BalancesAdjustmentDirection>;
export type I5utcetro501ir = {
    "value": bigint;
    "keep_alive": boolean;
};
export type I2urac6a8n5v3f = AnonymousEnum<{
    /**
     * 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": Anonymize<Icm9m0qeemu66d>;
    /**
     * 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>;
}>;
export type Icm9m0qeemu66d = {
    "proposal_id": number;
};
export type If81ks88t5mpk5 = AnonymousEnum<{
    /**
     * 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": Uint8Array;
    };
    /**
     * 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 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>;
    };
}>;
export type Ib1do1nm0okqmt = AnonymousEnum<{
    /**
     * 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": Anonymize<I1o57snqt6f4v5>;
    };
    /**
     * 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<Anonymize<I910puuahutflf>>;
    };
    /**
     * 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": SizedHex<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 the allocation or
     * change the account used to grant usernames, this call can be used with the updated
     * parameters to overwrite the existing configuration.
     */
    "add_username_authority": {
        "authority": SS58String;
        "suffix": Uint8Array;
        "allocation": number;
    };
    /**
     * Remove `authority` from the username authorities.
     */
    "remove_username_authority": {
        "suffix": Uint8Array;
        "authority": SS58String;
    };
    /**
     * Set the username for `who`. Must be called by a username authority.
     *
     * If `use_allocation` is set, the authority must have a username allocation available to
     * spend. Otherwise, the authority will need to put up a deposit for registering the
     * username.
     *
     * 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": Uint8Array;
        "signature"?: (MultiSignature) | undefined;
        "use_allocation": boolean;
    };
    /**
     * Accept a given username that an `authority` granted. The call must include the full
     * username, as in `username.suffix`.
     */
    "accept_username": Anonymize<Ie5l999tf7t2te>;
    /**
     * 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": Anonymize<Ie5l999tf7t2te>;
    /**
     * Set a given username as the primary. The username should include the suffix.
     */
    "set_primary_username": Anonymize<Ie5l999tf7t2te>;
    /**
     * Start the process of removing a username by placing it in the unbinding usernames map.
     * Once the grace period has passed, the username can be deleted by calling
     * [remove_username](crate::Call::remove_username).
     */
    "unbind_username": Anonymize<Ie5l999tf7t2te>;
    /**
     * Permanently delete a username which has been unbinding for longer than the grace period.
     * Caller is refunded the fee if the username expired and the removal was successful.
     */
    "remove_username": Anonymize<Ie5l999tf7t2te>;
    /**
     * Call with [ForceOrigin](crate::Config::ForceOrigin) privileges which deletes a username
     * and slashes any deposit associated with it.
     */
    "kill_username": Anonymize<Ie5l999tf7t2te>;
}>;
export type I38jfk5li8iang = {
    "new_members": Anonymize<Ia2lhg7l2hilo3>;
    "prime"?: Anonymize<Ihfphjolmsqq1>;
    "old_count": number;
};
export type I2dtrijkm5601t = {
    "proposal": SizedHex<32>;
    "index": number;
    "approve": boolean;
};
export type Ib2obgji960euh = {
    "proposal_hash": SizedHex<32>;
    "index": number;
    "proposal_weight_bound": Anonymize<I4q39t5hn830vp>;
    "length_bound": number;
};
export type I1aih3rf2i8nc0 = AnonymousEnum<{
    /**
     * 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": Anonymize<I59th026dnaruk>;
    };
    /**
     * 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;
    };
}>;
export type I59th026dnaruk = {
    "items": number;
    "item_metadatas": number;
    "attributes": number;
};
export type I39l72gdmkk30t = AnonymousEnum<{
    /**
     * 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": Uint8Array;
        "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>;
    };
}>;
export type I215mkl885p4da = {
    "size": number;
    "item": number;
};
export type I1ufmh6d8psvik = AnonymousEnum<{
    "ToStart": undefined;
    "LastKey": Uint8Array;
    "Complete": undefined;
}>;
export type Ibhs4ak1cgodpi = AnonymousEnum<{
    /**
     * 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<I4h8nkgupb7obf>;
        "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": Anonymize<Icbio0e1f0034b>;
    /**
     * 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": Anonymize<I8c0vkqjjipnuj>;
}>;
export type Icbio0e1f0034b = {
    "track": number;
};
export type I8c0vkqjjipnuj = {
    "index": number;
    "maybe_hash"?: Anonymize<I4s6vifaf8k998>;
};
export type Ibf6ucefn8fh49 = {
    "call_hash": SizedHex<32>;
    "call_encoded_len": number;
    "call_weight_witness": Anonymize<I4q39t5hn830vp>;
};
export type I3mpvr6pqcbi1p = AnonymousEnum<{
    /**
     * 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<I4pai6qnfk426l>;
        "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<I4pai6qnfk426l>;
    };
    "register_external": Anonymize<I2adkav4nfpltp>;
    "ban_asset": Anonymize<Ia5le7udkgbaq9>;
    "unban_asset": Anonymize<Ia5le7udkgbaq9>;
}>;
export type I5queflebive1d = AnonymousEnum<{
    /**
     * Claim xHDX by providing signed message with Ethereum address.
     */
    "claim": {
        "ethereum_signature": SizedHex<65>;
    };
}>;
export type I851i9piqh9qel = AnonymousEnum<{
    "pause_transaction": {
        "pallet_name": Uint8Array;
        "function_name": Uint8Array;
    };
    "unpause_transaction": {
        "pallet_name": Uint8Array;
        "function_name": Uint8Array;
    };
}>;
export type Icqfcbe5sstk04 = AnonymousEnum<{
    /**
     * 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 treasury account.
     *
     * In case of AToken, we perform an erc20 dust, which does a wihtdraw all to the treasury account
     * Note that in this case, the treasury will just receive the underlying token, not the atoken variant.
     *
     * The transaction fee is returned back in case of successful dusting.
     *
     * Treasury account can never be dusted.
     *
     * Emits `Dusted` event when successful.
     */
    "dust_account": {
        "account": SS58String;
        "currency_id": number;
    };
    /**
     * Add account to list of whitelist accounts. Account which are excluded from dusting.
     * If such account should be dusted - `AccountWhitelisted` error is returned.
     * Only root can perform this action.
     *
     * Emits `Added` event when successful.
     *
     */
    "whitelist_account": Anonymize<Icbccs0ug47ilf>;
    /**
     * Remove account from list of whitelist accounts. That means account can be dusted again.
     *
     * Emits `Removed` event when successful.
     *
     */
    "remove_from_whitelist": Anonymize<Icbccs0ug47ilf>;
}>;
export type I3k37gje33les4 = AnonymousEnum<{
    /**
     * 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>;
    /**
     * Lockdown an asset for minting
     *
     * Can be called only by an authority origin
     *
     * Parameters:
     * - `origin`: The dispatch origin for this call. Must be `AuthorityOrigin`
     * - `asset_id`: The identifier of an asset
     * - `until`: The block number until which the asset is locked
     *
     * /// Emits `AssetLockdowned` event when successful.
     */
    "lockdown_asset": Anonymize<I5qnn28n6p0qll>;
    /**
     * Remove asset lockdown regardless of the state.
     *
     * Can be called only by an authority origin
     *
     * Parameters:
     *
     * - `origin`: The dispatch origin for this call. Must be `AuthorityOrigin`
     * - `asset_id`: The identifier of an asset
     *
     * Emits `AssetLockdownRemoved` event when successful.
     */
    "force_lift_lockdown": Anonymize<Ia5le7udkgbaq9>;
    /**
     * Release deposit of an asset.
     *
     * It releases all the pallet reserved balance of the asset for the given account
     *
     * Can be called by any origin, but only if the asset is not in active lockdown.
     *
     * The caller does not pay for this call if successful.
     *
     * Parameters:
     * - `origin`: The dispatch origin for this call. Can be signed or root.
     * - `who`: The account that is saving the deposit.
     * - `asset_id`: The identifier of the asset.
     *
     * Emits `DepositReleased` event when successful.
     */
    "release_deposit": Anonymize<If4ebvclj2ugvi>;
    /**
     * Set the global withdraw limit (reference currency units)
     * Can be called only by authority origin.
     */
    "set_global_withdraw_limit_params": {
        "parameters": Anonymize<Icmar3g4068bt5>;
    };
    /**
     * Reset the global lockdown and accumulator to zero at current block.
     * Can be called only by authority origin.
     */
    "reset_withdraw_lockdown": undefined;
    "add_egress_accounts": {
        "accounts": Anonymize<Ia2lhg7l2hilo3>;
    };
    "remove_egress_accounts": {
        "accounts": Anonymize<Ia2lhg7l2hilo3>;
    };
    "set_global_withdraw_lockdown": Anonymize<I9s8siojusntd9>;
    "set_asset_category": Anonymize<I8n8nbhh3v7dc6>;
}>;
export type I5tbad6u121r7r = AnonymousEnum<{
    /**
     * Set fee configuration for an asset
     *
     * This function allows setting either fixed or dynamic fee configuration for a specific asset.
     *
     * # Arguments
     * * `origin` - Authority origin required
     * * `asset_id` - The asset ID to configure
     * * `config` - Fee configuration (Fixed or Dynamic)
     */
    "set_asset_fee": {
        "asset_id": number;
        "config": Anonymize<I5aq7tv9lofc3v>;
    };
    /**
     * Remove fee configuration for an asset (will use default parameters)
     *
     * This function removes any custom fee configuration for the specified asset.
     * After removal, the asset will use the default dynamic fee parameters configured in the runtime.
     *
     * # Arguments
     * * `origin` - Authority origin required
     * * `asset_id` - The asset ID to remove configuration for
     */
    "remove_asset_fee": Anonymize<Ia5le7udkgbaq9>;
}>;
export type It0rq8pffd1r = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type Ib00ilgisift11 = AnonymousEnum<{
    /**
     * 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<I14tu3k4kt0e26>;
    };
}>;
export type I4ogitqakc83nm = AnonymousEnum<{
    /**
     * 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;
    };
}>;
export type I3i7qdud10d7s7 = AnonymousEnum<{
    /**
     * Liquidates an existing money market position.
     * Can be both signed and unsigned.
     *
     * 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": SizedHex<20>;
        "debt_to_cover": bigint;
        "route": Anonymize<I14tu3k4kt0e26>;
    };
    /**
     * Set the borrowing market contract address.
     */
    "set_borrowing_contract": {
        "contract": SizedHex<20>;
    };
}>;
export type I26pl9s0amgvlg = AnonymousEnum<{
    /**
     * Add a new collateral asset
     *
     * This function adds a new asset as an approved collateral for Hollar. Only callable by
     * the governance (root origin).
     *
     * Parameters:
     * - `origin`: Must be Root
     * - `asset_id`: Asset ID to be added as collateral
     * - `pool_id`: StableSwap pool ID where this asset and Hollar are paired
     * - `purchase_fee`: Fee applied when buying Hollar with this asset (added to purchase price)
     * - `max_buy_price_coefficient`: Maximum buy price coefficient for HSM to buy back Hollar
     * - `buy_back_fee`: Fee applied when buying back Hollar (subtracted from buy price)
     * - `buyback_rate`: Parameter that controls how quickly HSM can buy Hollar with this asset
     * - `max_in_holding`: Optional maximum amount of collateral HSM can hold
     *
     * Emits:
     * - `CollateralAdded` when the collateral is successfully added
     *
     * Errors:
     * - `AssetAlreadyApproved` if the asset is already registered as a collateral
     * - `PoolAlreadyHasCollateral` if another asset from the same pool is already approved
     * - `HollarNotInPool` if Hollar is not found in the specified pool
     * - `AssetNotInPool` if the collateral asset is not found in the specified pool
     * - Other errors from underlying calls
     */
    "add_collateral_asset": {
        "asset_id": number;
        "pool_id": number;
        "purchase_fee": number;
        "max_buy_price_coefficient": bigint;
        "buy_back_fee": number;
        "buyback_rate": number;
        "max_in_holding"?: Anonymize<I35p85j063s0il>;
    };
    /**
     * Remove a collateral asset
     *
     * Removes an asset from the approved collaterals list. Only callable by the governance (root origin).
     * The collateral must have a zero balance in the HSM account before it can be removed.
     *
     * Parameters:
     * - `origin`: Must be Root
     * - `asset_id`: Asset ID to remove from collaterals
     *
     * Emits:
     * - `CollateralRemoved` when the collateral is successfully removed
     *
     * Errors:
     * - `AssetNotApproved` if the asset is not a registered collateral
     * - `CollateralNotEmpty` if the HSM account still holds some of this asset
     */
    "remove_collateral_asset": Anonymize<Ia5le7udkgbaq9>;
    /**
     * Update collateral asset parameters
     *
     * Updates the parameters for an existing collateral asset. Only callable by the governance (root origin).
     * Each parameter is optional and only provided parameters will be updated.
     *
     * Parameters:
     * - `origin`: Must be Root
     * - `asset_id`: Asset ID to update
     * - `purchase_fee`: New purchase fee (optional)
     * - `max_buy_price_coefficient`: New max buy price coefficient (optional)
     * - `buy_back_fee`: New buy back fee (optional)
     * - `buyback_rate`: New buyback rate parameter (optional)
     * - `max_in_holding`: New maximum holding amount (optional)
     *
     * Emits:
     * - `CollateralUpdated` when the collateral is successfully updated
     *
     * Errors:
     * - `AssetNotApproved` if the asset is not a registered collateral
     */
    "update_collateral_asset": Anonymize<Ie6d997npqi7i1>;
    /**
     * Sell asset to HSM
     *
     * This function allows users to:
     * 1. Sell Hollar back to HSM in exchange for collateral assets
     * 2. Sell collateral assets to HSM in exchange for newly minted Hollar
     *
     * The valid pairs must include Hollar as one side and an approved collateral as the other side.
     *
     * Parameters:
     * - `origin`: Account selling the asset
     * - `asset_in`: Asset ID being sold
     * - `asset_out`: Asset ID being bought
     * - `amount_in`: Amount of asset_in to sell
     * - `slippage_limit`: Minimum amount out for slippage protection
     *
     * Emits:
     * - `Swapped3` when the sell is successful
     *
     * Errors:
     * - `InvalidAssetPair` if the pair is not Hollar and an approved collateral
     * - `AssetNotApproved` if the collateral asset isn't registered
     * - `SlippageLimitExceeded` if the amount received is less than the slippage limit
     * - `MaxBuyBackExceeded` if the sell would exceed the maximum buy back rate
     * - `MaxBuyPriceExceeded` if the sell would exceed the maximum buy price
     * - `InsufficientCollateralBalance` if HSM doesn't have enough collateral
     * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
     * - Other errors from underlying calls
     */
    "sell": {
        "asset_in": number;
        "asset_out": number;
        "amount_in": bigint;
        "slippage_limit": bigint;
    };
    /**
     * Buy asset from HSM
     *
     * This function allows users to:
     * 1. Buy Hollar from HSM using collateral assets
     * 2. Buy collateral assets from HSM using Hollar
     *
     * The valid pairs must include Hollar as one side and an approved collateral as the other side.
     *
     * Parameters:
     * - `origin`: Account buying the asset
     * - `asset_in`: Asset ID being sold by the user
     * - `asset_out`: Asset ID being bought by the user
     * - `amount_out`: Amount of asset_out to buy
     * - `slippage_limit`: Maximum amount in for slippage protection
     *
     * Emits:
     * - `Swapped3` when the buy is successful
     *
     * Errors:
     * - `InvalidAssetPair` if the pair is not Hollar and an approved collateral
     * - `AssetNotApproved` if the collateral asset isn't registered
     * - `SlippageLimitExceeded` if the amount input exceeds the slippage limit
     * - `MaxHoldingExceeded` if the buy would cause HSM to exceed its maximum holding
     * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
     * - Other errors from underlying calls
     */
    "buy": {
        "asset_in": number;
        "asset_out": number;
        "amount_out": bigint;
        "slippage_limit": bigint;
    };
    /**
     * Execute arbitrage opportunity between HSM and collateral stable pool using flash loans
     *
     * This call is designed to be triggered automatically by offchain workers. It executes
     * arbitrage by taking a flash loan from the GHO contract and performing trades to profit
     * from price imbalances between HSM and the StableSwap pool.
     *
     * The arbitrage execution flow:
     * 1. Takes a flash loan of Hollar from the GHO contract
     * 2. Executes trades between HSM and StableSwap pool based on arbitrage direction:
     * - For HollarIn (buy direction): Sell Hollar to HSM for collateral, then sell collateral back for Hollar in pool
     * - For HollarOut (sell direction): Sell Hollar for collateral in pool, then buy Hollar back from HSM
     * 3. Repays the flash loan
     * 4. Any remaining profit (in collateral) is transferred to the ArbitrageProfitReceiver
     *
     * This helps maintain the peg of Hollar by profiting from and correcting price imbalances.
     * The call is unsigned and should only be executed by offchain workers.
     *
     * Parameters:
     * - `origin`: Must be None (unsigned)
     * - `collateral_asset_id`: The ID of the collateral asset to use for arbitrage
     * - `arbitrage`: Optional arbitrage parameters (direction and amount). If None, the function
     * will automatically find and calculate the optimal arbitrage opportunity.
     *
     * Emits:
     * - `ArbitrageExecuted` when the arbitrage is successful
     *
     * Errors:
     * - `FlashMinterNotSet` if the flash minter contract address has not been configured
     * - `AssetNotApproved` if the asset is not a registered collateral
     * - `NoArbitrageOpportunity` if there's no profitable arbitrage opportunity
     * - `MaxBuyPriceExceeded` if the arbitrage would exceed the maximum buy price
     * - `MaxBuyBackExceeded` if the arbitrage would exceed the buyback limit
     * - `InvalidEVMInteraction` if there's an error interacting with the Hollar ERC20 contract
     * - Other errors from underlying calls
     */
    "execute_arbitrage": {
        "collateral_asset_id": number;
        "arbitrage"?: (Enum<{
            "HollarOut": bigint;
            "HollarIn": bigint;
        }>) | undefined;
    };
    /**
     * Set the flash minter contract address
     *
     * Configures the EVM address of the flash loan contract that will be used for arbitrage
     * operations. This contract must support the ERC-3156 flash loan standard and be trusted
     * to handle flash loans of Hollar tokens.
     *
     * Parameters:
     * - `origin`: Must be authorized (governance/root)
     * - `flash_minter_addr`: The EVM address of the flash minter contract
     *
     * Emits:
     * - `FlashMinterSet` when the address is successfully configured
     *
     * Errors:
     * - Authorization errors if origin is not authorized
     */
    "set_flash_minter": {
        "flash_minter_addr": SizedHex<20>;
    };
}>;
export type Id2h64tvrh0rm7 = AnonymousEnum<{
    /**
     * Initialize the pallet with admin, deposit, and chain ID
     */
    "initialize": Anonymize<I27eh23813jcco>;
    /**
     * Update the signature deposit amount (admin only)
     */
    "update_deposit": Anonymize<I3sdol54kg5jaq>;
    /**
     * Withdraw funds from the pallet account (admin only)
     */
    "withdraw_funds": Anonymize<I1t9m8mcm55vqu>;
    /**
     * Request a signature for a payload
     */
    "sign": Anonymize<I9mo4kgfi2o84c>;
    /**
     * Request a signature for a serialized transaction
     */
    "sign_bidirectional": Anonymize<I7ojnovm90i14i>;
    /**
     * Respond to signature requests (batch support)
     */
    "respond": Anonymize<I3tp8rjjs3lkfj>;
    /**
     * Report signature generation errors (batch support)
     */
    "respond_error": Anonymize<I57l58lej8ttag>;
    /**
     * Provide a read response with signature
     */
    "respond_bidirectional": Anonymize<Icp9rmluohfhnp>;
}>;
export type I3sdol54kg5jaq = {
    "new_deposit": bigint;
};
export type I9mo4kgfi2o84c = {
    "payload": SizedHex<32>;
    "key_version": number;
    "path": Uint8Array;
    "algo": Uint8Array;
    "dest": Uint8Array;
    "params": Uint8Array;
};
export type I7ojnovm90i14i = {
    "serialized_transaction": Uint8Array;
    "caip2_id": Uint8Array;
    "key_version": number;
    "path": Uint8Array;
    "algo": Uint8Array;
    "dest": Uint8Array;
    "params": Uint8Array;
    "output_deserialization_schema": Uint8Array;
    "respond_serialization_schema": Uint8Array;
};
export type I3tp8rjjs3lkfj = {
    "request_ids": Anonymize<Ic5m5lp1oioo8r>;
    "signatures": Array<Anonymize<Idqumuc2rsgufd>>;
};
export type I57l58lej8ttag = {
    "errors": Array<{
        "request_id": SizedHex<32>;
        "error_message": Uint8Array;
    }>;
};
export type Icp9rmluohfhnp = {
    "request_id": SizedHex<32>;
    "serialized_output": Uint8Array;
    "signature": Anonymize<Idqumuc2rsgufd>;
};
export type I61gsp3apc2sr3 = AnonymousEnum<{
    /**
     * Request ETH from the external faucet for a given EVM address.
     *
     * This call:
     * - Verifies amount bounds and EVM transaction parameters.
     * - Checks the tracked faucet ETH balance against `MinFaucetEthThreshold`.
     * - Charges the configured fee in `FeeAsset`.
     * - Transfers the requested faucet asset from the user to `FeeDestination`.
     * - Builds an EVM transaction calling `IGasFaucet::fund`.
     * - Submits a signing request to SigNet via `pallet_signet::sign_bidirectional`.
     *
     * The `request_id` must match the ID derived internally from the inputs,
     * otherwise the call will fail with `InvalidRequestId`.
     * Parameters:
     * - `to`: Target EVM address to receive ETH.
     * - `amount`: Amount of ETH (in wei) to request.
     * - `request_id`: Client-supplied request ID; must match derived ID.
     * - `tx`: Parameters for the EVM transaction submitted to the faucet.
     */
    "request_fund": Anonymize<Ic5b5m37jd8n8s>;
    /**
     * Pause the dispenser so that no new funding requests can be made.
     *
     * Parameters:
     * - `origin`: Must satisfy `UpdateOrigin`.
     */
    "pause": undefined;
    /**
     * Unpause the dispenser so that funding requests are allowed again.
     *
     * Parameters:
     * - `origin`: Must satisfy `UpdateOrigin`
     */
    "unpause": undefined;
    /**
     * Increase the tracked faucet ETH balance (in wei).
     *
     * This is an accounting helper used to keep `FaucetBalanceWei`
     * roughly in sync with the real faucet balance on the EVM chain.
     *
     * Parameters:
     * - `origin`: Must satisfy `UpdateOrigin`.
     * - `balance_wei`: Amount (in wei) to add to the currently stored balance.
     */
    "set_faucet_balance": {
        "balance_wei": bigint;
    };
}>;
export type Ic5b5m37jd8n8s = {
    "to": SizedHex<20>;
    "amount": bigint;
    "request_id": SizedHex<32>;
    "tx": {
        "value": bigint;
        "gas_limit": bigint;
        "max_fee_per_gas": bigint;
        "max_priority_fee_per_gas": bigint;
        "nonce": bigint;
        "chain_id": bigint;
    };
};
export type Ieps3dhtu498hk = AnonymousEnum<{
    "claim": undefined;
    "vested_transfer": {
        "dest": SS58String;
        "schedule": Anonymize<I6k9mlgqa572np>;
    };
    "update_vesting_schedules": {
        "who": SS58String;
        "vesting_schedules": Array<Anonymize<I6k9mlgqa572np>>;
    };
    "claim_for": {
        "dest": SS58String;
    };
}>;
export type I3lo8is2egp8k4 = AnonymousEnum<{
    /**
     * Transact an Ethereum transaction.
     */
    "transact": {
        "transaction": Anonymize<Ibjuap2vk03rp6>;
    };
}>;
export type Ifs1i5fk9cqvr6 = {
    "id": SizedHex<32>;
};
export type Ieg3fd8p4pkt10 = {
    "task": Anonymize<I9jd27rnpm8ttv>;
    "retries": number;
    "period": number;
};
export type I8kg5ll427kfqq = {
    "id": SizedHex<32>;
    "retries": number;
    "period": number;
};
export type I467333262q1l9 = {
    "task": Anonymize<I9jd27rnpm8ttv>;
};
export type Idqp6f8ged4v2u = AnonymousEnum<{
    /**
     * 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": Anonymize<I6ljjd4b5fa4ov>;
            "horizontal_messages": Anonymize<I2pf0b05mc7sdr>;
            "relay_parent_descendants": Anonymize<I935sp4t02t2v1>;
            "collator_peer_id"?: Anonymize<Iabpgqcjikia83>;
        };
    };
    "sudo_send_upward_message": Anonymize<Ifpj261e8s63m3>;
}>;
export type I6ljjd4b5fa4ov = Array<{
    "sent_at": number;
    "msg": Uint8Array;
}>;
export type I2pf0b05mc7sdr = Array<[number, Array<Anonymize<I409qo0sfkbh16>>]>;
export type I409qo0sfkbh16 = {
    "sent_at": number;
    "data": Uint8Array;
};
export type I935sp4t02t2v1 = Array<Anonymize<Ic952bubvq4k7d>>;
export type Ifpj261e8s63m3 = {
    "message": Uint8Array;
};
export type Ic2uoe7jdksosp = AnonymousEnum<{
    /**
     * 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>;
    };
}>;
export type I4oqb168b2d4er = AnonymousEnum<{
    /**
     * Allows root to set a cursor to forcefully start, stop or forward the migration process.
     *
     * Should normally not be needed and is only in place as emergency measure. Note that
     * restarting the migration process in this manner will not call the
     * [`MigrationStatusHandler::started`] hook or emit an `UpgradeStarted` event.
     */
    "force_set_cursor": {
        "cursor"?: (Enum<{
            "Active": {
                "index": number;
                "inner_cursor"?: Anonymize<Iabpgqcjikia83>;
                "started_at": number;
            };
            "Stuck": undefined;
        }>) | undefined;
    };
    /**
     * Allows root to set an active cursor to forcefully start/forward the migration process.
     *
     * This is an edge-case version of [`Self::force_set_cursor`] that allows to set the
     * `started_at` value to the next block number. Otherwise this would not be possible, since
     * `force_set_cursor` takes an absolute block number. Setting `started_at` to `None`
     * indicates that the current block number plus one should be used.
     */
    "force_set_active_cursor": {
        "index": number;
        "inner_cursor"?: Anonymize<Iabpgqcjikia83>;
        "started_at"?: Anonymize<I4arjljr6dpflb>;
    };
    /**
     * Forces the onboarding of the migrations.
     *
     * This process happens automatically on a runtime upgrade. It is in place as an emergency
     * measurement. The cursor needs to be `None` for this to succeed.
     */
    "force_onboard_mbms": undefined;
    /**
     * Clears the `Historic` set.
     *
     * `map_cursor` must be set to the last value that was returned by the
     * `HistoricCleared` event. The first time `None` can be used. `limit` must be chosen in a
     * way that will result in a sensible weight.
     */
    "clear_historic": {
        "selector": Enum<{
            "Specific": Anonymize<Itom7fk49o0c9>;
            "Wildcard": {
                "limit"?: Anonymize<I4arjljr6dpflb>;
                "previous_cursor"?: Anonymize<Iabpgqcjikia83>;
            };
        }>;
    };
}>;
export type I8t7b9qn3bqn3i = AnonymousEnum<{
    /**
     * Send an XCM message as parachain sovereign.
     */
    "send_as_sovereign": Anonymize<Ia5cotcvi888ln>;
}>;
export type I17bjokh5offln = AnonymousEnum<{
    /**
     * 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": XcmVersionedAsset;
        "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": XcmVersionedAsset;
        "fee": XcmVersionedAsset;
        "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": Anonymize<If9jidduiuq7vv>;
        "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;
    };
}>;
export type XcmVersionedAsset = Enum<{
    "V3": Anonymize<Idcm24504c8bkk>;
    "V4": Anonymize<Ia5l7mu5a6v49o>;
    "V5": Anonymize<Iffh1nc5e1mod6>;
}>;
export declare const XcmVersionedAsset: GetEnum<XcmVersionedAsset>;
export type I9dpq5287dur8b = AnonymousEnum<{
    /**
     * 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": Anonymize<I3sdol54kg5jaq>;
    /**
     * 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;
    };
}>;
export type I77dda7hps0u37 = AnonymousEnum<{
    /**
     * 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": SizedHex<32>;
        "proof": Uint8Array;
    };
    /**
     * 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;
}>;
export type Ic09i5ihsa495j = AnonymousEnum<{
    "add_oracle": Anonymize<Iabgdocrka40v9>;
    "remove_oracle": Anonymize<Iabgdocrka40v9>;
    "update_bifrost_oracle": Anonymize<Ibpac0fqh6648u>;
}>;
export type Ibpac0fqh6648u = {
    "asset_a": XcmVersionedLocation;
    "asset_b": XcmVersionedLocation;
    "price": Anonymize<I200n1ov5tbcvr>;
};
export type I1c6pg3s04ce55 = ResultPayload<{
    "execution_result": Anonymize<I6g7qs67u5htmq>;
    "emitted_events": Anonymize<I2rcp2a7btflus>;
    "local_xcm"?: Anonymize<Ieqgqma27vbupd>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type I2rcp2a7btflus = Array<Anonymize<I3n4e62r1msrnh>>;
export type Ieqgqma27vbupd = (XcmVersionedXcm) | undefined;
export type Ialhmrpub9sefe = Array<[XcmVersionedLocation, Array<XcmVersionedXcm>]>;
export type I55ku9c5gk50hb = AnonymousEnum<{
    "Unimplemented": undefined;
    "VersionedConversionFailed": undefined;
}>;
export type Iet710s889rns7 = ResultPayload<{
    "execution_result": Anonymize<Ieqhmksji3pmv5>;
    "emitted_events": Anonymize<I2rcp2a7btflus>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type Id5qsstfl1fkb3 = {
    "reserve": number;
    "atoken": number;
    "liqudity_in": bigint;
    "liqudity_out": bigint;
};
export type I3ii6nera7pkr8 = Array<Anonymize<Id5qsstfl1fkb3>>;
export type I3507nrcg5is88 = Array<{
    "phase": Phase;
    "event": Anonymize<Iflivuc7t9dpd8>;
    "topics": Anonymize<Ic5m5lp1oioo8r>;
}>;
export type Iflivuc7t9dpd8 = AnonymousEnum<{
    "System": Enum<{
        /**
         * An extrinsic completed successfully.
         */
        "ExtrinsicSuccess": Anonymize<Ia82mnkmeo2rhc>;
        /**
         * An extrinsic failed.
         */
        "ExtrinsicFailed": {
            "dispatch_error": Anonymize<I8i0ob00p9ku0b>;
            "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": Anonymize<I855j4i3kr8ko1>;
        /**
         * An upgrade was authorized.
         */
        "UpgradeAuthorized": Anonymize<Ibgl04rn6nbfm6>;
        /**
         * An invalid authorized upgrade was rejected while trying to apply it.
         */
        "RejectedInvalidAuthorizedUpgrade": {
            "code_hash": SizedHex<32>;
            "error": Anonymize<I8i0ob00p9ku0b>;
        };
    }>;
    "Balances": Anonymize<Iao8h4hv7atnq3>;
    "TransactionPayment": TransactionPaymentEvent;
    "MultiTransactionPayment": Anonymize<I8rr9o6g84pu5j>;
    "Treasury": Anonymize<I3kfo09eqm1214>;
    "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<I8i0ob00p9ku0b>;
        };
        /**
         * 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<I8i0ob00p9ku0b>;
        };
        /**
         * A call was dispatched.
         */
        "DispatchedAs": Anonymize<I7g9aa6b5c94ub>;
        /**
         * Main call was dispatched.
         */
        "IfElseMainSuccess": undefined;
        /**
         * The fallback call was dispatched.
         */
        "IfElseFallbackCalled": {
            "main_error": Anonymize<I8i0ob00p9ku0b>;
        };
    }>;
    "Preimage": PreimageEvent;
    "Identity": Anonymize<I2au2or9cskfoi>;
    "Democracy": Anonymize<Icfq8ap3e5p73t>;
    "TechnicalCommittee": Enum<{
        /**
         * A motion (given hash) has been proposed (by given account) with a threshold (given
         * `MemberCount`).
         */
        "Proposed": Anonymize<Ift6f10887nk72>;
        /**
         * A motion (given hash) has been voted on by given account, leaving
         * a tally (yes votes and no votes given respectively as `MemberCount`).
         */
        "Voted": Anonymize<I7qc53b1tvqjg2>;
        /**
         * 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": SizedHex<32>;
            "result": Anonymize<Ijlskueuj7dqr>;
        };
        /**
         * A single member did some action; result will be `Ok` if it returned without error.
         */
        "MemberExecuted": {
            "proposal_hash": SizedHex<32>;
            "result": Anonymize<Ijlskueuj7dqr>;
        };
        /**
         * A proposal was closed because its threshold was reached or after its duration was up.
         */
        "Closed": Anonymize<Iak7fhrgb9jnnq>;
        /**
         * A proposal was killed.
         */
        "Killed": Anonymize<I2ev73t79f46tb>;
        /**
         * Some cost for storing a proposal was burned.
         */
        "ProposalCostBurned": Anonymize<I9ad1o9mv4cm3>;
        /**
         * Some cost for storing a proposal was released.
         */
        "ProposalCostReleased": Anonymize<I9ad1o9mv4cm3>;
    }>;
    "Proxy": Enum<{
        /**
         * A proxy was executed correctly, with the given.
         */
        "ProxyExecuted": Anonymize<I7g9aa6b5c94ub>;
        /**
         * A pure account has been created by new proxy with given
         * disambiguation index and proxy type.
         */
        "PureCreated": Anonymize<Ic3vmcebni2jj7>;
        /**
         * An announcement was placed to make a call in the future.
         */
        "Announced": Anonymize<I2ur0oeqg495j8>;
        /**
         * A proxy was added.
         */
        "ProxyAdded": Anonymize<I3opji3hcv2fmd>;
        /**
         * A proxy was removed.
         */
        "ProxyRemoved": Anonymize<I3opji3hcv2fmd>;
        /**
         * A deposit stored for proxies or announcements was poked / updated.
         */
        "DepositPoked": Anonymize<I1bhd210c3phjj>;
    }>;
    "Multisig": Enum<{
        /**
         * A new multisig operation has begun.
         */
        "NewMultisig": Anonymize<Iep27ialq4a7o7>;
        /**
         * A multisig operation has been approved by someone.
         */
        "MultisigApproval": Anonymize<Iasu5jvoqr43mv>;
        /**
         * A multisig operation has been executed.
         */
        "MultisigExecuted": {
            "approving": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": SizedHex<32>;
            "result": Anonymize<Ijlskueuj7dqr>;
        };
        /**
         * A multisig operation has been cancelled.
         */
        "MultisigCancelled": Anonymize<I5qolde99acmd1>;
        /**
         * The deposit for a multisig operation has been updated/poked.
         */
        "DepositPoked": Anonymize<I8gtde5abn1g9a>;
    }>;
    "Uniques": Anonymize<I27c883vr18l6d>;
    "StateTrieMigration": Anonymize<I61dksvl51aujo>;
    "ConvictionVoting": Anonymize<I7tvgbf73o5td4>;
    "Referenda": Anonymize<Idfraa3b4eu018>;
    "Whitelist": Enum<{
        "CallWhitelisted": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallRemoved": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallDispatched": Anonymize<I5oso58m9m9qrl>;
    }>;
    "Dispatcher": Enum<{
        "TreasuryManagerCallDispatched": Anonymize<I5oso58m9m9qrl>;
        "AaveManagerCallDispatched": Anonymize<I5oso58m9m9qrl>;
    }>;
    "AssetRegistry": Anonymize<If3falbb1ung7u>;
    "Claims": Anonymize<I8cen1qssvc0qs>;
    "CollatorRewards": Anonymize<I3ktde60bb7807>;
    "Omnipool": Anonymize<I664h1adohnf3>;
    "TransactionPause": Anonymize<I1e1tlbqeorb14>;
    "Duster": Anonymize<Ick156bqlvrfqh>;
    "OmnipoolWarehouseLM": Anonymize<Ibc0cs73olrilv>;
    "OmnipoolLiquidityMining": Anonymize<Ibd5re511t83ta>;
    "OTC": Anonymize<I4e560fvgcsh15>;
    "CircuitBreaker": Anonymize<Ide4f5v8rj6qj1>;
    "Router": Anonymize<I29ur4pnf751bn>;
    "DynamicFees": Anonymize<I1c5pfuotbjcgt>;
    "Staking": Anonymize<I578f2b006bplq>;
    "Stableswap": Anonymize<Icnr5b8h6gcdkg>;
    "Bonds": Anonymize<I3ans31bk1md2j>;
    "OtcSettlements": Anonymize<I7t4kltkut18qv>;
    "LBP": Anonymize<Iafgde8gm8mhvt>;
    "XYK": Anonymize<Ii9d7rb1uqb69>;
    "Referrals": Anonymize<Idpbcufjvb4ib7>;
    "Liquidation": Anonymize<I312semdevh20l>;
    "HSM": Anonymize<Iaadqf48tba550>;
    "Signet": Anonymize<I4sfp1m01chee2>;
    "EthDispenser": Anonymize<I1koed7o2trsh1>;
    "Tokens": Anonymize<I6h8581jnodhqc>;
    "Currencies": Anonymize<I6qgq0m7o225jg>;
    "Vesting": Anonymize<I3jgv45gfqgi7c>;
    "EVM": Anonymize<I9k071kk4cn1u8>;
    "Ethereum": Anonymize<I510u4q1qqh897>;
    "EVMAccounts": Anonymize<Ibh9fj6c5g5isi>;
    "XYKLiquidityMining": Anonymize<I479nm08b6ujjd>;
    "XYKWarehouseLM": Anonymize<Ibc0cs73olrilv>;
    "RelayChainInfo": Anonymize<I3cdbmcrrt95qk>;
    "DCA": Enum<{
        /**
         * The DCA execution is started
         */
        "ExecutionStarted": Anonymize<I4rrqp6atse8pe>;
        /**
         * The DCA is scheduled for next execution
         */
        "Scheduled": Anonymize<I4t1p53ss00k9n>;
        /**
         * The DCA is planned for blocknumber
         */
        "ExecutionPlanned": Anonymize<I140nraqvlukpk>;
        /**
         * The DCA trade is successfully executed
         */
        "TradeExecuted": Anonymize<Irs8utdvl0ftp>;
        /**
         * The DCA trade execution is failed
         */
        "TradeFailed": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<I8i0ob00p9ku0b>;
        };
        /**
         * The DCA is terminated and completely removed from the chain
         */
        "Terminated": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<I8i0ob00p9ku0b>;
        };
        /**
         * The DCA is completed and completely removed from the chain
         */
        "Completed": Anonymize<Iumh462jqskl8>;
        /**
         * Randomness generation failed possibly coming from missing data about relay chain
         */
        "RandomnessGenerationFailed": {
            "block": number;
            "error": Anonymize<I8i0ob00p9ku0b>;
        };
        /**
         * DCA reserve for the given asset have been unlocked for a user
         */
        "ReserveUnlocked": Anonymize<If4ebvclj2ugvi>;
    }>;
    "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<Ijlskueuj7dqr>;
        };
        /**
         * Set a retry configuration for some task.
         */
        "RetrySet": Anonymize<Ia3c82eadg79bj>;
        /**
         * Cancel a retry configuration for some task.
         */
        "RetryCancelled": Anonymize<Ienusoeb625ftq>;
        /**
         * The call for the provided hash was not found so the task has been aborted.
         */
        "CallUnavailable": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task was unable to be renewed since the agenda is full at that block.
         */
        "PeriodicFailed": Anonymize<Ienusoeb625ftq>;
        /**
         * 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": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task can never be executed since it is overweight.
         */
        "PermanentlyOverweight": Anonymize<Ienusoeb625ftq>;
        /**
         * Agenda is incomplete from `when`.
         */
        "AgendaIncomplete": Anonymize<Ibtsa3docbr9el>;
    }>;
    "ParachainSystem": Anonymize<Icbsekf57miplo>;
    "PolkadotXcm": Enum<{
        /**
         * Execution of an XCM message was attempted.
         */
        "Attempted": {
            "outcome": Anonymize<I6uq5gb4s805s7>;
        };
        /**
         * An XCM message was sent.
         */
        "Sent": Anonymize<If8u5kl4h8070m>;
        /**
         * An XCM message failed to send.
         */
        "SendFailed": Anonymize<Ibmuil6p3vl83l>;
        /**
         * An XCM message failed to process.
         */
        "ProcessXcmError": Anonymize<I7lul91g50ae87>;
        /**
         * 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": Anonymize<Icl7nl1rfeog3i>;
        /**
         * Query response has been received and is ready for taking with `take_response`. There is
         * no registered notification call.
         */
        "ResponseReady": Anonymize<Iasr6pj6shs0fl>;
        /**
         * Query response has been received and query is removed. The registered notification has
         * been dispatched and executed successfully.
         */
        "Notified": Anonymize<I2uqmls7kcdnii>;
        /**
         * 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": Anonymize<Idg69klialbkb8>;
        /**
         * Query response has been received and query is removed. There was a general error with
         * dispatching the notification call.
         */
        "NotifyDispatchError": Anonymize<I2uqmls7kcdnii>;
        /**
         * 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": Anonymize<I2uqmls7kcdnii>;
        /**
         * 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": Anonymize<I7r6b7145022pp>;
        /**
         * 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": Anonymize<Icl7nl1rfeog3i>;
        /**
         * Received query response has been read and removed.
         */
        "ResponseTaken": Anonymize<I30pg328m00nr3>;
        /**
         * Some assets have been placed in an asset trap.
         */
        "AssetsTrapped": Anonymize<Icmrn7bogp28cs>;
        /**
         * An XCM version change notification message has been attempted to be sent.
         *
         * The cost of sending it (borne by the chain) is included.
         */
        "VersionChangeNotified": Anonymize<I7m9b5plj4h5ot>;
        /**
         * The supported version of a location has been changed. This might be through an
         * automatic notification or a manual intervention.
         */
        "SupportedVersionChanged": Anonymize<I9kt8c221c83ln>;
        /**
         * A given location which had a version change subscription was dropped owing to an error
         * sending the notification to it.
         */
        "NotifyTargetSendFail": Anonymize<I9onhk772nfs4f>;
        /**
         * A given location which had a version change subscription was dropped owing to an error
         * migrating the location to our new XCM format.
         */
        "NotifyTargetMigrationFail": Anonymize<I3l6bnksrmt56r>;
        /**
         * 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": Anonymize<Icl7nl1rfeog3i>;
        /**
         * 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": Anonymize<Idh09k0l2pmdcg>;
        /**
         * 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": Anonymize<I7uoiphbm0tj4r>;
        /**
         * We have requested that a remote chain send us XCM version change notifications.
         */
        "VersionNotifyRequested": Anonymize<I7uoiphbm0tj4r>;
        /**
         * We have requested that a remote chain stops sending us XCM version change
         * notifications.
         */
        "VersionNotifyUnrequested": Anonymize<I7uoiphbm0tj4r>;
        /**
         * Fees were paid from a location for an operation (often for using `SendXcm`).
         */
        "FeesPaid": Anonymize<I512p1n7qt24l8>;
        /**
         * Some assets have been claimed from an asset trap
         */
        "AssetsClaimed": Anonymize<Icmrn7bogp28cs>;
        /**
         * A XCM version migration finished.
         */
        "VersionMigrationFinished": Anonymize<I6s1nbislhk619>;
        /**
         * An `aliaser` location was authorized by `target` to alias it, authorization valid until
         * `expiry` block number.
         */
        "AliasAuthorized": Anonymize<I3gghqnh2mj0is>;
        /**
         * `target` removed alias authorization for `aliaser`.
         */
        "AliasAuthorizationRemoved": Anonymize<I6iv852roh6t3h>;
        /**
         * `target` removed all alias authorizations.
         */
        "AliasesAuthorizationsRemoved": Anonymize<I9oc2o6itbiopq>;
    }>;
    "CumulusXcm": Enum<{
        /**
         * Downward message is invalid XCM.
         * \[ id \]
         */
        "InvalidFormat": SizedHex<32>;
        /**
         * Downward message is unsupported version of XCM.
         * \[ id \]
         */
        "UnsupportedVersion": SizedHex<32>;
        /**
         * Downward message executed with the given outcome.
         * \[ id, outcome \]
         */
        "ExecutedDownward": [SizedHex<32>, Anonymize<I6uq5gb4s805s7>];
    }>;
    "XcmpQueue": Anonymize<Idsqc7mhp6nnle>;
    "MessageQueue": Anonymize<I2kosejppk3jon>;
    "MultiBlockMigrations": Anonymize<I94co7vj7h6bo>;
    "OrmlXcm": Anonymize<Iclksjsco5l5ll>;
    "XTokens": Anonymize<I1kj6lnq7rdnrl>;
    "UnknownTokens": Anonymize<Iacevcg18ig1av>;
    "CollatorSelection": Anonymize<I4srakrmf0fspo>;
    "Session": Enum<{
        /**
         * New session has happened. Note that the argument is the session index, not the
         * block number as the type might suggest.
         */
        "NewSession": Anonymize<I2hq50pu2kdjpo>;
        /**
         * Validator has been disabled.
         */
        "ValidatorDisabled": Anonymize<I9acqruh7322g2>;
        /**
         * Validator has been re-enabled.
         */
        "ValidatorReenabled": Anonymize<I9acqruh7322g2>;
    }>;
    "EmaOracle": Anonymize<I89atorvpon2q5>;
    "Broadcast": Anonymize<I6ns8af0gujj3o>;
}>;
export type I8i0ob00p9ku0b = AnonymousEnum<{
    "Other": undefined;
    "CannotLookup": undefined;
    "BadOrigin": undefined;
    "Module": Enum<{
        "System": Anonymize<I5o0s7c8q1cc9b>;
        "Timestamp": undefined;
        "Balances": Anonymize<Idj13i7adlomht>;
        "MultiTransactionPayment": Anonymize<Ie1j3ic3ikdair>;
        "Treasury": Anonymize<I36uss0m9fpcsf>;
        "Utility": Anonymize<I8dt2g2hcrgh36>;
        "Preimage": Anonymize<I4cfhml1prt4lu>;
        "Identity": Anonymize<Ib8gja1crqq8kd>;
        "Democracy": Anonymize<I67neb7i10udig>;
        "TechnicalCommittee": Anonymize<I7n7mcmnnfjfl2>;
        "Proxy": Anonymize<Iuvt54ei4cehc>;
        "Multisig": Anonymize<Ia76qmhhg4jvb9>;
        "Uniques": Anonymize<Ienq2ge2rhv4jm>;
        "StateTrieMigration": Anonymize<I96objte63brjr>;
        "ConvictionVoting": Anonymize<Idfa8k8ikssbsf>;
        "Referenda": Anonymize<I84u4ul208g742>;
        "Whitelist": Anonymize<I15nctscutpbeh>;
        "Dispatcher": Anonymize<Iblnav654e39nc>;
        "AssetRegistry": Anonymize<Iimgfr2idjdm4>;
        "Claims": Anonymize<Ieesotejglstun>;
        "Omnipool": Anonymize<I9em41t708470c>;
        "TransactionPause": Anonymize<Ia4jj5ajguk6ba>;
        "Duster": Anonymize<I6jdbk5nr4bpjf>;
        "OmnipoolWarehouseLM": Anonymize<I17r8t2a8gf9b7>;
        "OmnipoolLiquidityMining": Anonymize<Id6n9g26d9892s>;
        "OTC": Anonymize<I1kp1c5al384as>;
        "CircuitBreaker": Anonymize<Iaq4kh9h7k1dgk>;
        "Router": Anonymize<Ifntb1290uuatm>;
        "DynamicFees": Anonymize<Ieg2grdsf1uomi>;
        "Staking": Anonymize<Idhbjtd7at0b1k>;
        "Stableswap": Anonymize<I8eoaovjr7q1cc>;
        "Bonds": Anonymize<Ibj08k850p0j34>;
        "OtcSettlements": Anonymize<I1jtj4pc4jltpf>;
        "LBP": Anonymize<Ic99uoklag6hh0>;
        "XYK": Anonymize<I8kpvqbmec15ck>;
        "Referrals": Anonymize<Iaqb0qr3l7g0ub>;
        "Liquidation": Anonymize<I48021h4n524pp>;
        "HSM": Anonymize<I52mmlvfoqvje5>;
        "Signet": Anonymize<I1sckf4ae8hj4k>;
        "EthDispenser": Anonymize<Ib9qhk06h0gmnc>;
        "Tokens": Anonymize<Icc7o7ep6n36h2>;
        "Currencies": Anonymize<Iejalhtid1s0pt>;
        "Vesting": Anonymize<Ifkcmnj410r9fh>;
        "EVM": Anonymize<I2e8svucak6is3>;
        "Ethereum": Anonymize<I1mp6vnoh32l4q>;
        "EVMAccounts": Anonymize<Id5703eij0t0r9>;
        "XYKLiquidityMining": Anonymize<Ictnue6n7jdr4j>;
        "XYKWarehouseLM": Anonymize<I17r8t2a8gf9b7>;
        "DCA": Anonymize<I685hla4ddmacn>;
        "Scheduler": Anonymize<If7oa8fprnilo5>;
        "ParachainSystem": Anonymize<Icjkr35j4tmg7k>;
        "PolkadotXcm": Anonymize<I6dl09bpoqheqk>;
        "XcmpQueue": Anonymize<Idnnbndsjjeqqs>;
        "MessageQueue": Anonymize<I5iupade5ag2dp>;
        "MultiBlockMigrations": Anonymize<Iaaqq5jevtahm8>;
        "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;
    "Trie": Anonymize<Idh4cj79bvroj8>;
}>;
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 Iblnav654e39nc = AnonymousEnum<{
    /**
     * The EVM call execution failed. This happens when the EVM returns an exit reason
     * other than `ExitSucceed(Returned)` or `ExitSucceed(Stopped)`.
     */
    "EvmCallFailed": undefined;
    /**
     * The provided call is not an EVM call. This extrinsic only accepts `pallet_evm::Call::call`.
     */
    "NotEvmCall": undefined;
    /**
     * The EVM call ran out of gas.
     */
    "EvmOutOfGas": undefined;
    /**
     * The EVM call resulted in an arithmetic overflow or underflow.
     */
    "EvmArithmeticOverflowOrUnderflow": undefined;
    /**
     * Aave - supply cap has been exceeded.
     */
    "AaveSupplyCapExceeded": undefined;
    /**
     * Aave - borrow cap has been exceeded.
     */
    "AaveBorrowCapExceeded": undefined;
    /**
     * Aave - health factor is not below the threshold.
     */
    "AaveHealthFactorNotBelowThreshold": undefined;
    /**
     * Aave - health factor is lesser than the liquidation threshold
     */
    "AaveHealthFactorLowerThanLiquidationThreshold": undefined;
    /**
     * Aave - there is not enough collateral to cover a new borrow
     */
    "CollateralCannotCoverNewBorrow": undefined;
}>;
export type I2e8svucak6is3 = 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;
    /**
     * Address not allowed to deploy contracts either via CREATE or CALL(CREATE).
     */
    "CreateOriginNotAllowed": undefined;
}>;
export type I6dl09bpoqheqk = 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;
    /**
     * Too many locations authorized to alias origin.
     */
    "TooManyAuthorizedAliases": undefined;
    /**
     * Expiry block number is in the past.
     */
    "ExpiresInPast": undefined;
    /**
     * The alias to remove authorization for was not found.
     */
    "AliasNotFound": undefined;
}>;
export type I7g9aa6b5c94ub = {
    "result": Anonymize<Ijlskueuj7dqr>;
};
export type Ijlskueuj7dqr = ResultPayload<undefined, Anonymize<I8i0ob00p9ku0b>>;
export type I5oso58m9m9qrl = {
    "call_hash": SizedHex<32>;
    "result": Anonymize<I9fqt3v6pbei1t>;
};
export type I9fqt3v6pbei1t = ResultPayload<Anonymize<Ia1u1r3n74r13c>, {
    "post_info": Anonymize<Ia1u1r3n74r13c>;
    "error": Anonymize<I8i0ob00p9ku0b>;
}>;
export type I6uq5gb4s805s7 = AnonymousEnum<{
    "Complete": Anonymize<I30iff2d192eu7>;
    "Incomplete": {
        "used": Anonymize<I4q39t5hn830vp>;
        "error": Anonymize<Id56rgs0bdb7gl>;
    };
    "Error": {
        "error": Anonymize<Id56rgs0bdb7gl>;
    };
}>;
export type I4nolc7nml8478 = AnonymousEnum<{
    "Ongoing": {
        "track": number;
        "origin": Anonymize<Idf0rsk73ceelk>;
        "proposal": PreimagesBounded;
        "enactment": TraitsScheduleDispatchTime;
        "submitted": number;
        "submission_deposit": Anonymize<Id5fm4p8lj5qgi>;
        "decision_deposit"?: Anonymize<Ibd24caul84kv2>;
        "deciding"?: Anonymize<Ibcbcndfmk0jd9>;
        "tally": Anonymize<Ifsk7cbmtit1jd>;
        "in_queue": boolean;
        "alarm"?: Anonymize<I3aj03qk2o5mdm>;
    };
    "Approved": Anonymize<Ini94eljn5lj8>;
    "Rejected": Anonymize<Ini94eljn5lj8>;
    "Cancelled": Anonymize<Ini94eljn5lj8>;
    "TimedOut": Anonymize<Ini94eljn5lj8>;
    "Killed": number;
}>;
export type Idf0rsk73ceelk = AnonymousEnum<{
    "system": DispatchRawOrigin;
    "TechnicalCommittee": Anonymize<I637q9f60cmh3e>;
    "Origins": Anonymize<I9cjbmj33c143s>;
    "Ethereum": Anonymize<I9hp9au9bfqil7>;
    "PolkadotXcm": Anonymize<Icvilmd7qu30i4>;
    "CumulusXcm": Anonymize<I3in0d0lb61qi8>;
}>;
export type DispatchRawOrigin = Enum<{
    "Root": undefined;
    "Signed": SS58String;
    "None": undefined;
}>;
export declare const DispatchRawOrigin: GetEnum<DispatchRawOrigin>;
export type I124mckae5t15d = AnonymousEnum<{
    /**
     * 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": Anonymize<I83n80gkbnfjcq>;
    /**
     * 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": Anonymize<Ivg0aodu5nhb6>;
    /**
     * 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": Anonymize<I83n80gkbnfjcq>;
    /**
     * Dispatches a function call with a provided origin.
     *
     * The dispatch origin for this call must be _Root_.
     *
     * ## Complexity
     * - O(1).
     */
    "dispatch_as": Anonymize<I2tjadu6fllihs>;
    /**
     * 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": Anonymize<I83n80gkbnfjcq>;
    /**
     * 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": Anonymize<I7h55cudoh6rv>;
    /**
     * Dispatch a fallback call in the event the main call fails to execute.
     * May be called from any origin except `None`.
     *
     * This function first attempts to dispatch the `main` call.
     * If the `main` call fails, the `fallback` is attemted.
     * if the fallback is successfully dispatched, the weights of both calls
     * are accumulated and an event containing the main call error is deposited.
     *
     * In the event of a fallback failure the whole call fails
     * with the weights returned.
     *
     * - `main`: The main call to be dispatched. This is the primary action to execute.
     * - `fallback`: The fallback call to be dispatched in case the `main` call fails.
     *
     * ## Dispatch Logic
     * - If the origin is `root`, both the main and fallback calls are executed without
     * applying any origin filters.
     * - If the origin is not `root`, the origin filter is applied to both the `main` and
     * `fallback` calls.
     *
     * ## Use Case
     * - Some use cases might involve submitting a `batch` type call in either main, fallback
     * or both.
     */
    "if_else": Anonymize<I67f2i9uf47j6h>;
    /**
     * Dispatches a function call with a provided origin.
     *
     * Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call.
     *
     * The dispatch origin for this call must be _Root_.
     */
    "dispatch_as_fallible": Anonymize<I2tjadu6fllihs>;
}>;
export type I83n80gkbnfjcq = {
    "calls": Array<TxCallData>;
};
export type Ivg0aodu5nhb6 = {
    "index": number;
    "call": TxCallData;
};
export type I2tjadu6fllihs = {
    "as_origin": Anonymize<Idf0rsk73ceelk>;
    "call": TxCallData;
};
export type I7h55cudoh6rv = {
    "call": TxCallData;
    "weight": Anonymize<I4q39t5hn830vp>;
};
export type I67f2i9uf47j6h = {
    "main": TxCallData;
    "fallback": TxCallData;
};
export type I10iqsbs1vvmkb = AnonymousEnum<{
    /**
     * 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": Anonymize<I9t64o1u41j66q>;
    /**
     * 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": Anonymize<I2e1ekg17a2uj2>;
    /**
     * 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": Anonymize<I2e1ekg17a2uj2>;
    /**
     * 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": Anonymize<I9uff8o8g5b5av>;
    /**
     * 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": Anonymize<I1acluqiqlacck>;
    /**
     * 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": Anonymize<Idkqesere66fs7>;
    /**
     * 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": Anonymize<Idkqesere66fs7>;
    /**
     * 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": Anonymize<Ifs54vj2idl9k4>;
    /**
     * 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": Anonymize<I38hmfa91pqd9j>;
    /**
     * Poke / Adjust deposits made for proxies and announcements based on current values.
     * This can be used by accounts to possibly lower their locked amount.
     *
     * The dispatch origin for this call must be _Signed_.
     *
     * The transaction fee is waived if the deposit amount has changed.
     *
     * Emits `DepositPoked` if successful.
     */
    "poke_deposit": undefined;
}>;
export type I9t64o1u41j66q = {
    "real": SS58String;
    "force_proxy_type"?: Anonymize<Idnl0r1a4nmeek>;
    "call": TxCallData;
};
export type I38hmfa91pqd9j = {
    "delegate": SS58String;
    "real": SS58String;
    "force_proxy_type"?: Anonymize<Idnl0r1a4nmeek>;
    "call": TxCallData;
};
export type Idn20oar1mhrtt = AnonymousEnum<{
    /**
     * 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": Anonymize<I1mu45rfgmpr4l>;
    /**
     * 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": Anonymize<I17sjlq9lhpktt>;
    /**
     * 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": Anonymize<Ideaemvoneh309>;
    /**
     * 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": Anonymize<I3d9o9d7epp66v>;
    /**
     * Poke the deposit reserved for an existing multisig operation.
     *
     * The dispatch origin for this call must be _Signed_ and must be the original depositor of
     * the multisig operation.
     *
     * The transaction fee is waived if the deposit amount has changed.
     *
     * - `threshold`: The total number of approvals needed for this multisig.
     * - `other_signatories`: The accounts (other than the sender) who are part of the
     * multisig.
     * - `call_hash`: The hash of the call this deposit is reserved for.
     *
     * Emits `DepositPoked` if successful.
     */
    "poke_deposit": Anonymize<I6lqh1vgb4mcja>;
}>;
export type I1mu45rfgmpr4l = {
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "call": TxCallData;
};
export type I17sjlq9lhpktt = {
    "threshold": number;
    "other_signatories": Anonymize<Ia2lhg7l2hilo3>;
    "maybe_timepoint"?: Anonymize<I95jfd8j5cr5eh>;
    "call": TxCallData;
    "max_weight": Anonymize<I4q39t5hn830vp>;
};
export type I8rdht2u9edudo = AnonymousEnum<{
    "dispatch_as_treasury": Anonymize<Ieg173e4f63n9e>;
    "dispatch_as_aave_manager": Anonymize<Ieg173e4f63n9e>;
    /**
     * 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<I1d2d27jp1ajkt>;
    /**
     * Execute a single EVM call.
     * This extrinsic will fail if the EVM call returns any other ExitReason than `ExitSucceed(Returned)` or `ExitSucceed(Stopped)`.
     * Look the [hydradx_runtime::evm::runner::WrapRunner] implementation for details.
     *
     * Parameters:
     * - `origin`: Signed origin.
     * - `call`: presumably `pallet_evm::Call::call` as boxed `RuntimeCall`.
     *
     * Emits `EvmCallFailed` event when failed.
     */
    "dispatch_evm_call": Anonymize<Ieg173e4f63n9e>;
}>;
export type Ieg173e4f63n9e = {
    "call": TxCallData;
};
export type I1d2d27jp1ajkt = {
    "call": TxCallData;
    "extra_gas": bigint;
};
export type Iach8k0m5jb0ge = AnonymousEnum<{
    /**
     * 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": Anonymize<Ida2ijjar0n0j3>;
    /**
     * 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": Anonymize<Ietsl92b11kilg>;
    /**
     * 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": Anonymize<Ieuqv44kptstcs>;
    /**
     * Remove all liquidity from position
     *
     * Limit protection is applied.
     *
     * `remove_all_liquidity` removes all 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 all 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 entirely removed from.
     *
     * Emits `LiquidityRemoved` event when successful.
     *
     */
    "remove_all_liquidity": Anonymize<I2lsmg0nf1stqd>;
    /**
     * 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": Anonymize<Icah19jgge5j3e>;
    /**
     * 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": Anonymize<I2bi2kbaaunr13>;
    /**
     * Set or clear slip fee configuration.
     *
     * When set to `Some(config)`, slip fees are enabled with the given parameters.
     * When set to `None`, slip fees are disabled.
     *
     * Can only be called by `UpdateTradabilityOrigin`.
     *
     * Emits `SlipFeeSet` event.
     */
    "set_slip_fee": Anonymize<Ib3jvgupt4scl5>;
}>;
export type Iac0gjj1qrkv79 = ResultPayload<Anonymize<I7ag5k7bmmgq3j>, Anonymize<I8i0ob00p9ku0b>>;
export type I2jfe0buku0po7 = ResultPayload<Anonymize<Ie3rl25flint9v>, Anonymize<I8i0ob00p9ku0b>>;
export type Idcck6gqttg3r0 = AnonymousEnum<{
    "System": Anonymize<Iekve0i6djpd9f>;
    "Timestamp": Anonymize<I7d75gqfg6jh9c>;
    "Balances": Anonymize<If3jbvd4hqgqh1>;
    "MultiTransactionPayment": Anonymize<I76nh75sf57g68>;
    "Treasury": Anonymize<I2urac6a8n5v3f>;
    "Utility": Anonymize<I124mckae5t15d>;
    "Preimage": Anonymize<If81ks88t5mpk5>;
    "Identity": Anonymize<Ib1do1nm0okqmt>;
    "Democracy": Anonymize<I6u9fdc1fne8nd>;
    "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": Anonymize<I38jfk5li8iang>;
        /**
         * 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": Anonymize<I2dtrijkm5601t>;
        /**
         * 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": Anonymize<Ib2obgji960euh>;
        /**
         * Disapprove the proposal and burn the cost held for storing this proposal.
         *
         * Parameters:
         * - `origin`: must be the `KillOrigin`.
         * - `proposal_hash`: The hash of the proposal that should be killed.
         *
         * Emits `Killed` and `ProposalCostBurned` if any cost was held for a given proposal.
         */
        "kill": Anonymize<I2ev73t79f46tb>;
        /**
         * Release the cost held for storing a proposal once the given proposal is completed.
         *
         * If there is no associated cost for the given proposal, this call will have no effect.
         *
         * Parameters:
         * - `origin`: must be `Signed` or `Root`.
         * - `proposal_hash`: The hash of the proposal.
         *
         * Emits `ProposalCostReleased` if any cost held for a given proposal.
         */
        "release_proposal_cost": Anonymize<I2ev73t79f46tb>;
    }>;
    "Proxy": Anonymize<I10iqsbs1vvmkb>;
    "Multisig": Anonymize<Idn20oar1mhrtt>;
    "Uniques": Anonymize<I1aih3rf2i8nc0>;
    "StateTrieMigration": Anonymize<I39l72gdmkk30t>;
    "ConvictionVoting": Anonymize<Iakddbsmp6s38i>;
    "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<Idf0rsk73ceelk>;
            "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": Anonymize<Icbio0e1f0034b>;
        /**
         * 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": Anonymize<I8c0vkqjjipnuj>;
    }>;
    "Whitelist": Enum<{
        "whitelist_call": Anonymize<I1adbcfi5uc62r>;
        "remove_whitelisted_call": Anonymize<I1adbcfi5uc62r>;
        "dispatch_whitelisted_call": Anonymize<Ibf6ucefn8fh49>;
        "dispatch_whitelisted_call_with_preimage": Anonymize<Ieg173e4f63n9e>;
    }>;
    "Dispatcher": Anonymize<I8rdht2u9edudo>;
    "AssetRegistry": Anonymize<I3mpvr6pqcbi1p>;
    "Claims": Anonymize<I5queflebive1d>;
    "GenesisHistory": undefined;
    "Omnipool": Anonymize<Iach8k0m5jb0ge>;
    "TransactionPause": Anonymize<I851i9piqh9qel>;
    "Duster": Anonymize<Icqfcbe5sstk04>;
    "OmnipoolWarehouseLM": undefined;
    "OmnipoolLiquidityMining": Anonymize<I75oguh8ohgo2q>;
    "OTC": Anonymize<I5ophbk33alrde>;
    "CircuitBreaker": Anonymize<I3k37gje33les4>;
    "Router": Anonymize<I7gdonojfignc7>;
    "DynamicFees": Anonymize<I5tbad6u121r7r>;
    "Staking": Anonymize<Iaikdgvqtjn8sd>;
    "Stableswap": Anonymize<Ieekpm246a0rii>;
    "Bonds": Anonymize<It0rq8pffd1r>;
    "OtcSettlements": Anonymize<Ib00ilgisift11>;
    "LBP": Anonymize<I4ogitqakc83nm>;
    "XYK": Anonymize<I7q1vqeo4ott28>;
    "Referrals": Anonymize<Ibe97e14cmm4e9>;
    "Liquidation": Anonymize<I3i7qdud10d7s7>;
    "HSM": Anonymize<I26pl9s0amgvlg>;
    "Signet": Anonymize<Id2h64tvrh0rm7>;
    "EthDispenser": Anonymize<I61gsp3apc2sr3>;
    "Tokens": Anonymize<I6a7o6bu2n2amk>;
    "Currencies": Anonymize<Id0m4jim3jch3f>;
    "Vesting": Anonymize<Ieps3dhtu498hk>;
    "EVM": Anonymize<I78r7di33lh57i>;
    "Ethereum": Anonymize<I3lo8is2egp8k4>;
    "EVMAccounts": Anonymize<Ir7ia4cm0nh1c>;
    "XYKLiquidityMining": Anonymize<I7ecgc6etbbr5p>;
    "XYKWarehouseLM": undefined;
    "RelayChainInfo": undefined;
    "DCA": Anonymize<I6rh3volf6pqqn>;
    "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": SizedHex<32>;
            "when": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Cancel a named scheduled task.
         */
        "cancel_named": Anonymize<Ifs1i5fk9cqvr6>;
        /**
         * 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": SizedHex<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": Anonymize<Ieg3fd8p4pkt10>;
        /**
         * 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": Anonymize<I8kg5ll427kfqq>;
        /**
         * Removes the retry configuration of a task.
         */
        "cancel_retry": Anonymize<I467333262q1l9>;
        /**
         * Cancel the retry configuration of a named task.
         */
        "cancel_retry_named": Anonymize<Ifs1i5fk9cqvr6>;
    }>;
    "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": Anonymize<I6ljjd4b5fa4ov>;
                "horizontal_messages": Anonymize<I2pf0b05mc7sdr>;
            };
        };
        "sudo_send_upward_message": Anonymize<Ifpj261e8s63m3>;
    }>;
    "ParachainInfo": undefined;
    "PolkadotXcm": Anonymize<I6k1inef986368>;
    "CumulusXcm": undefined;
    "MessageQueue": Anonymize<Ic2uoe7jdksosp>;
    "MultiBlockMigrations": Anonymize<I4oqb168b2d4er>;
    "OrmlXcm": Anonymize<I8t7b9qn3bqn3i>;
    "XTokens": Anonymize<I17bjokh5offln>;
    "CollatorSelection": Anonymize<I9dpq5287dur8b>;
    "Session": Anonymize<I77dda7hps0u37>;
    "EmaOracle": Anonymize<Ic09i5ihsa495j>;
    "Broadcast": undefined;
}>;
export type I87tn6noreecq1 = ResultPayload<{
    "execution_result": Anonymize<I9fqt3v6pbei1t>;
    "emitted_events": Anonymize<Ib7n340u5tf6aq>;
    "local_xcm"?: Anonymize<Ieqgqma27vbupd>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type Ib7n340u5tf6aq = Array<Anonymize<Iflivuc7t9dpd8>>;
export type Ibila1h2m0eu11 = ResultPayload<{
    "execution_result": Anonymize<I6uq5gb4s805s7>;
    "emitted_events": Anonymize<Ib7n340u5tf6aq>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type I51chctpcbqpt0 = Array<{
    "phase": Phase;
    "event": Anonymize<I9sii4k0l5jtdu>;
    "topics": Anonymize<Ic5m5lp1oioo8r>;
}>;
export type I9sii4k0l5jtdu = AnonymousEnum<{
    "System": Enum<{
        /**
         * An extrinsic completed successfully.
         */
        "ExtrinsicSuccess": Anonymize<Ia82mnkmeo2rhc>;
        /**
         * An extrinsic failed.
         */
        "ExtrinsicFailed": {
            "dispatch_error": Anonymize<I77d9biqm9t03k>;
            "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": Anonymize<I855j4i3kr8ko1>;
        /**
         * An upgrade was authorized.
         */
        "UpgradeAuthorized": Anonymize<Ibgl04rn6nbfm6>;
        /**
         * An invalid authorized upgrade was rejected while trying to apply it.
         */
        "RejectedInvalidAuthorizedUpgrade": {
            "code_hash": SizedHex<32>;
            "error": Anonymize<I77d9biqm9t03k>;
        };
    }>;
    "Balances": Anonymize<Iao8h4hv7atnq3>;
    "TransactionPayment": TransactionPaymentEvent;
    "MultiTransactionPayment": Anonymize<I8rr9o6g84pu5j>;
    "Treasury": Anonymize<I3kfo09eqm1214>;
    "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<I77d9biqm9t03k>;
        };
        /**
         * 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<I77d9biqm9t03k>;
        };
        /**
         * A call was dispatched.
         */
        "DispatchedAs": Anonymize<Ievl1ik2q625ep>;
        /**
         * Main call was dispatched.
         */
        "IfElseMainSuccess": undefined;
        /**
         * The fallback call was dispatched.
         */
        "IfElseFallbackCalled": {
            "main_error": Anonymize<I77d9biqm9t03k>;
        };
    }>;
    "Preimage": PreimageEvent;
    "Identity": Anonymize<I2au2or9cskfoi>;
    "Democracy": Anonymize<Icfq8ap3e5p73t>;
    "TechnicalCommittee": Enum<{
        /**
         * A motion (given hash) has been proposed (by given account) with a threshold (given
         * `MemberCount`).
         */
        "Proposed": Anonymize<Ift6f10887nk72>;
        /**
         * A motion (given hash) has been voted on by given account, leaving
         * a tally (yes votes and no votes given respectively as `MemberCount`).
         */
        "Voted": Anonymize<I7qc53b1tvqjg2>;
        /**
         * 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": SizedHex<32>;
            "result": Anonymize<I5okfu61op1k96>;
        };
        /**
         * A single member did some action; result will be `Ok` if it returned without error.
         */
        "MemberExecuted": {
            "proposal_hash": SizedHex<32>;
            "result": Anonymize<I5okfu61op1k96>;
        };
        /**
         * A proposal was closed because its threshold was reached or after its duration was up.
         */
        "Closed": Anonymize<Iak7fhrgb9jnnq>;
        /**
         * A proposal was killed.
         */
        "Killed": Anonymize<I2ev73t79f46tb>;
        /**
         * Some cost for storing a proposal was burned.
         */
        "ProposalCostBurned": Anonymize<I9ad1o9mv4cm3>;
        /**
         * Some cost for storing a proposal was released.
         */
        "ProposalCostReleased": Anonymize<I9ad1o9mv4cm3>;
    }>;
    "Proxy": Enum<{
        /**
         * A proxy was executed correctly, with the given.
         */
        "ProxyExecuted": Anonymize<Ievl1ik2q625ep>;
        /**
         * A pure account has been created by new proxy with given
         * disambiguation index and proxy type.
         */
        "PureCreated": Anonymize<Ic3vmcebni2jj7>;
        /**
         * A pure proxy was killed by its spawner.
         */
        "PureKilled": Anonymize<I6jvi0uvuu0bin>;
        /**
         * An announcement was placed to make a call in the future.
         */
        "Announced": Anonymize<I2ur0oeqg495j8>;
        /**
         * A proxy was added.
         */
        "ProxyAdded": Anonymize<I3opji3hcv2fmd>;
        /**
         * A proxy was removed.
         */
        "ProxyRemoved": Anonymize<I3opji3hcv2fmd>;
        /**
         * A deposit stored for proxies or announcements was poked / updated.
         */
        "DepositPoked": Anonymize<I1bhd210c3phjj>;
    }>;
    "Multisig": Enum<{
        /**
         * A new multisig operation has begun.
         */
        "NewMultisig": Anonymize<Iep27ialq4a7o7>;
        /**
         * A multisig operation has been approved by someone.
         */
        "MultisigApproval": Anonymize<Iasu5jvoqr43mv>;
        /**
         * A multisig operation has been executed.
         */
        "MultisigExecuted": {
            "approving": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": SizedHex<32>;
            "result": Anonymize<I5okfu61op1k96>;
        };
        /**
         * A multisig operation has been cancelled.
         */
        "MultisigCancelled": Anonymize<I5qolde99acmd1>;
        /**
         * The deposit for a multisig operation has been updated/poked.
         */
        "DepositPoked": Anonymize<I8gtde5abn1g9a>;
    }>;
    "Uniques": Anonymize<I27c883vr18l6d>;
    "StateTrieMigration": Anonymize<I61dksvl51aujo>;
    "ConvictionVoting": Anonymize<I7tvgbf73o5td4>;
    "Referenda": Anonymize<Idfraa3b4eu018>;
    "Whitelist": Enum<{
        "CallWhitelisted": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallRemoved": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallDispatched": Anonymize<I5t2cl4vs559sd>;
    }>;
    "Dispatcher": Enum<{
        "TreasuryManagerCallDispatched": Anonymize<I5t2cl4vs559sd>;
        "AaveManagerCallDispatched": Anonymize<I5t2cl4vs559sd>;
        "EmergencyAdminCallDispatched": Anonymize<I5t2cl4vs559sd>;
    }>;
    "AssetRegistry": Anonymize<If3falbb1ung7u>;
    "Claims": Anonymize<I8cen1qssvc0qs>;
    "CollatorRewards": Anonymize<I3ktde60bb7807>;
    "CollatorRotation": Enum<{
        "CollatorBenched": {
            "who": SS58String;
            "session_index": number;
        };
    }>;
    "Omnipool": Anonymize<I664h1adohnf3>;
    "TransactionPause": Anonymize<I1e1tlbqeorb14>;
    "Duster": Anonymize<Ick156bqlvrfqh>;
    "OmnipoolWarehouseLM": Anonymize<Ibc0cs73olrilv>;
    "OmnipoolLiquidityMining": Anonymize<Ibd5re511t83ta>;
    "OTC": Anonymize<I4e560fvgcsh15>;
    "CircuitBreaker": Anonymize<Ide4f5v8rj6qj1>;
    "Router": Anonymize<I29ur4pnf751bn>;
    "DynamicFees": Anonymize<I1c5pfuotbjcgt>;
    "Staking": Anonymize<I578f2b006bplq>;
    "Stableswap": Anonymize<Icnr5b8h6gcdkg>;
    "Bonds": Anonymize<I3ans31bk1md2j>;
    "OtcSettlements": Anonymize<I7t4kltkut18qv>;
    "LBP": Anonymize<Iafgde8gm8mhvt>;
    "XYK": Anonymize<Ii9d7rb1uqb69>;
    "Referrals": Anonymize<Idpbcufjvb4ib7>;
    "Liquidation": Anonymize<I312semdevh20l>;
    "HSM": Anonymize<Iaadqf48tba550>;
    "Signet": Enum<{
        /**
         * Signet configuration has been updated.
         */
        "ConfigUpdated": Anonymize<I48a7hpcup8vd2>;
        /**
         * Signet has been paused. No new requests will be accepted.
         */
        "Paused": undefined;
        /**
         * Signet has been unpaused. New requests are allowed again.
         */
        "Unpaused": undefined;
        /**
         * Funds have been withdrawn from the pallet
         */
        "FundsWithdrawn": Anonymize<I1t9m8mcm55vqu>;
        /**
         * A signature has been requested
         */
        "SignatureRequested": Anonymize<Icg492pfkqt7hl>;
        /**
         * Sign bidirectional request event
         */
        "SignBidirectionalRequested": Anonymize<Iet0n217bk5flu>;
        /**
         * Signature response event
         */
        "SignatureResponded": Anonymize<Ifb0su7ddkn91v>;
        /**
         * Signature error event
         */
        "SignatureError": Anonymize<I2b1vnv0n9miqs>;
        /**
         * Respond bidirectional event
         */
        "RespondBidirectionalEvent": Anonymize<I3ornnjehfr13s>;
    }>;
    "EthDispenser": Enum<{
        /**
         * Dispenser configuration has been set or updated.
         */
        "ConfigUpdated": Anonymize<I1id07hprpi4r>;
        /**
         * Dispenser has been paused. No new requests will be accepted.
         */
        "Paused": undefined;
        /**
         * Dispenser has been unpaused. New requests are allowed again.
         */
        "Unpaused": undefined;
        /**
         * A funding request has been submitted to SigNet.
         *
         * Note: This indicates the request was formed and submitted, not that
         * the EVM transaction has been included on the target chain.
         */
        "FundRequested": Anonymize<Ibq5l44mjbdfks>;
    }>;
    "LazyExecutor": Enum<{
        /**
         * Call was queued for execution.
         */
        "Queued": {
            "id": bigint;
            "src": Enum<{
                "ICE": bigint;
            }>;
            "who": SS58String;
            "fees": bigint;
        };
        /**
         * Call was executed.
         */
        "Executed": {
            "id": bigint;
            "result": Anonymize<I5okfu61op1k96>;
        };
    }>;
    "Intent": Enum<{
        /**
         * New intent was submitted.
         */
        "IntentSubmitted": {
            "id": bigint;
            "owner": SS58String;
            "intent": Anonymize<I5hmeclnecr5hf>;
        };
        /**
         * Intent was resolved as part of ICE solution execution.
         */
        "IntentResolved": {
            "id": bigint;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
        };
        /**
         * Portion of intent was resolved as part of ICE solution execution.
         */
        "IntentResovedPartially": {
            "id": bigint;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
        };
        /**
         * Intent was canceled.
         */
        "IntentCanceled": Anonymize<I4ov6e94l79mbg>;
        /**
         * Intent expired.
         */
        "IntentExpired": Anonymize<I4ov6e94l79mbg>;
        /**
         * Failed to add intent's callback to queue for execution.
         */
        "FailedToQueueCallback": {
            "id": bigint;
            "error": Anonymize<I77d9biqm9t03k>;
        };
        /**
         * A single DCA trade was executed; intent stays in storage for the next period.
         */
        "DcaTradeExecuted": {
            "id": bigint;
            "amount_in": bigint;
            "amount_out": bigint;
            "fee": bigint;
            "remaining_budget": bigint;
        };
        /**
         * DCA intent completed (budget exhausted). Intent removed from storage.
         */
        "DcaCompleted": Anonymize<I4ov6e94l79mbg>;
    }>;
    "ICE": Enum<{
        /**
         * Solution has been executed.
         */
        "SolutionExecuted": {
            "intents_executed": bigint;
            "trades_executed": bigint;
            "score": bigint;
        };
        /**
         * Protocol fee has been updated.
         */
        "ProtocolFeeSet": Anonymize<I62ob1nv137pof>;
    }>;
    "Tokens": Anonymize<I6h8581jnodhqc>;
    "Currencies": Anonymize<I6qgq0m7o225jg>;
    "Vesting": Anonymize<I3jgv45gfqgi7c>;
    "EVM": Anonymize<I9k071kk4cn1u8>;
    "Ethereum": Anonymize<I510u4q1qqh897>;
    "EVMAccounts": Anonymize<Ibh9fj6c5g5isi>;
    "XYKLiquidityMining": Anonymize<I479nm08b6ujjd>;
    "XYKWarehouseLM": Anonymize<Ibc0cs73olrilv>;
    "RelayChainInfo": Anonymize<I3cdbmcrrt95qk>;
    "DCA": Enum<{
        /**
         * The DCA execution is started
         */
        "ExecutionStarted": Anonymize<I4rrqp6atse8pe>;
        /**
         * The DCA is scheduled for next execution
         */
        "Scheduled": Anonymize<I4t1p53ss00k9n>;
        /**
         * The DCA is planned for blocknumber
         */
        "ExecutionPlanned": Anonymize<I140nraqvlukpk>;
        /**
         * The DCA trade is successfully executed
         */
        "TradeExecuted": Anonymize<Irs8utdvl0ftp>;
        /**
         * The DCA trade execution is failed
         */
        "TradeFailed": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<I77d9biqm9t03k>;
        };
        /**
         * The DCA is terminated and completely removed from the chain
         */
        "Terminated": {
            "id": number;
            "who": SS58String;
            "error": Anonymize<I77d9biqm9t03k>;
        };
        /**
         * The DCA is completed and completely removed from the chain
         */
        "Completed": Anonymize<Iumh462jqskl8>;
        /**
         * Randomness generation failed possibly coming from missing data about relay chain
         */
        "RandomnessGenerationFailed": {
            "block": number;
            "error": Anonymize<I77d9biqm9t03k>;
        };
        /**
         * DCA reserve for the given asset have been unlocked for a user
         */
        "ReserveUnlocked": Anonymize<If4ebvclj2ugvi>;
    }>;
    "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<I5okfu61op1k96>;
        };
        /**
         * Set a retry configuration for some task.
         */
        "RetrySet": Anonymize<Ia3c82eadg79bj>;
        /**
         * Cancel a retry configuration for some task.
         */
        "RetryCancelled": Anonymize<Ienusoeb625ftq>;
        /**
         * The call for the provided hash was not found so the task has been aborted.
         */
        "CallUnavailable": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task was unable to be renewed since the agenda is full at that block.
         */
        "PeriodicFailed": Anonymize<Ienusoeb625ftq>;
        /**
         * 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": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task can never be executed since it is overweight.
         */
        "PermanentlyOverweight": Anonymize<Ienusoeb625ftq>;
        /**
         * Agenda is incomplete from `when`.
         */
        "AgendaIncomplete": Anonymize<Ibtsa3docbr9el>;
    }>;
    "ParachainSystem": Anonymize<Icbsekf57miplo>;
    "PolkadotXcm": Anonymize<If95hivmqmkiku>;
    "CumulusXcm": Anonymize<I5uv57c3fffoi9>;
    "XcmpQueue": Anonymize<Idsqc7mhp6nnle>;
    "MessageQueue": Anonymize<I2kosejppk3jon>;
    "MultiBlockMigrations": Anonymize<I94co7vj7h6bo>;
    "OrmlXcm": Anonymize<Iclksjsco5l5ll>;
    "XTokens": Anonymize<I1kj6lnq7rdnrl>;
    "UnknownTokens": Anonymize<Iacevcg18ig1av>;
    "CollatorSelection": Anonymize<I4srakrmf0fspo>;
    "Session": Anonymize<I6ue0ck5fc3u44>;
    "EmaOracle": Enum<{
        /**
         * Oracle was added to the whitelist.
         */
        "AddedToWhitelist": Anonymize<Iabgdocrka40v9>;
        /**
         * Oracle was removed from the whitelist.
         */
        "RemovedFromWhitelist": Anonymize<Iabgdocrka40v9>;
        /**
         * Oracle price was updated
         */
        "OracleUpdated": Anonymize<Iecir7oglpu5e8>;
        /**
         * An external oracle source was registered.
         */
        "ExternalSourceRegistered": Anonymize<I8rbl9jreru3l2>;
        /**
         * An external oracle source was removed.
         */
        "ExternalSourceRemoved": Anonymize<I8rbl9jreru3l2>;
        /**
         * An account was authorized to update the given (source, pair).
         */
        "AuthorizedAccountAdded": {
            "source": SizedHex<8>;
            "pair": Anonymize<I9jd27rnpm8ttv>;
            "account": SS58String;
        };
        /**
         * An authorization was removed for the given (source, pair, account).
         */
        "AuthorizedAccountRemoved": {
            "source": SizedHex<8>;
            "pair": Anonymize<I9jd27rnpm8ttv>;
            "account": SS58String;
        };
    }>;
    "Broadcast": Anonymize<I6ns8af0gujj3o>;
}>;
export type I77d9biqm9t03k = AnonymousEnum<{
    "Other": undefined;
    "CannotLookup": undefined;
    "BadOrigin": undefined;
    "Module": Enum<{
        "System": Anonymize<I5o0s7c8q1cc9b>;
        "Balances": Anonymize<Idj13i7adlomht>;
        "MultiTransactionPayment": Anonymize<Ie1j3ic3ikdair>;
        "Treasury": Anonymize<I36uss0m9fpcsf>;
        "Utility": Anonymize<I8dt2g2hcrgh36>;
        "Preimage": Anonymize<I4cfhml1prt4lu>;
        "Identity": Anonymize<Ib8gja1crqq8kd>;
        "Democracy": Anonymize<I67neb7i10udig>;
        "TechnicalCommittee": Anonymize<I7n7mcmnnfjfl2>;
        "Proxy": Anonymize<Iuvt54ei4cehc>;
        "Multisig": Anonymize<Ia76qmhhg4jvb9>;
        "Uniques": Anonymize<Ie9ou99obd2hgv>;
        "StateTrieMigration": Anonymize<I96objte63brjr>;
        "ConvictionVoting": Anonymize<Idfa8k8ikssbsf>;
        "Referenda": Anonymize<I84u4ul208g742>;
        "Whitelist": Anonymize<I15nctscutpbeh>;
        "Dispatcher": Anonymize<I46ek0njrbi1ic>;
        "AssetRegistry": Anonymize<Iimgfr2idjdm4>;
        "Claims": Anonymize<Ieesotejglstun>;
        "Omnipool": Anonymize<Idvve5rdj82idk>;
        "TransactionPause": Anonymize<Ia4jj5ajguk6ba>;
        "Duster": Anonymize<I6jdbk5nr4bpjf>;
        "OmnipoolWarehouseLM": Anonymize<I17r8t2a8gf9b7>;
        "OmnipoolLiquidityMining": Anonymize<Id6n9g26d9892s>;
        "OTC": Anonymize<I1kp1c5al384as>;
        "CircuitBreaker": Anonymize<Iaq4kh9h7k1dgk>;
        "Router": Anonymize<Ifntb1290uuatm>;
        "DynamicFees": Anonymize<Ieg2grdsf1uomi>;
        "Staking": Anonymize<Idhbjtd7at0b1k>;
        "Stableswap": Anonymize<Ill0fef311pp0>;
        "Bonds": Anonymize<Ibj08k850p0j34>;
        "OtcSettlements": Anonymize<I1jtj4pc4jltpf>;
        "LBP": Anonymize<Ic99uoklag6hh0>;
        "XYK": Anonymize<I8kpvqbmec15ck>;
        "Referrals": Anonymize<Iaqb0qr3l7g0ub>;
        "Liquidation": Anonymize<I48021h4n524pp>;
        "HSM": Anonymize<I52mmlvfoqvje5>;
        "Signet": Anonymize<Ifde5dvaaq5591>;
        "EthDispenser": Anonymize<Ibersfsjl8tk8>;
        "LazyExecutor": Anonymize<I67rn97loeknuo>;
        "Intent": Anonymize<Ib44c798iqrlfg>;
        "ICE": Anonymize<I633hvr6nul9ft>;
        "Tokens": Anonymize<Icc7o7ep6n36h2>;
        "Currencies": Anonymize<Iejalhtid1s0pt>;
        "Vesting": Anonymize<Ifkcmnj410r9fh>;
        "EVM": Anonymize<I698do45i1f8v4>;
        "Ethereum": Anonymize<I1mp6vnoh32l4q>;
        "EVMAccounts": Anonymize<Id5703eij0t0r9>;
        "XYKLiquidityMining": Anonymize<Ictnue6n7jdr4j>;
        "XYKWarehouseLM": Anonymize<I17r8t2a8gf9b7>;
        "DCA": Anonymize<I685hla4ddmacn>;
        "Scheduler": Anonymize<If7oa8fprnilo5>;
        "ParachainSystem": Anonymize<Icjkr35j4tmg7k>;
        "PolkadotXcm": Anonymize<I4vcvo9od6afmt>;
        "XcmpQueue": Anonymize<Idnnbndsjjeqqs>;
        "MessageQueue": Anonymize<I5iupade5ag2dp>;
        "MultiBlockMigrations": Anonymize<Iaaqq5jevtahm8>;
        "OrmlXcm": Anonymize<Ifv4efjta13rhe>;
        "XTokens": Anonymize<I8g8tbk0anjali>;
        "UnknownTokens": Anonymize<I5llpdov40t5vu>;
        "CollatorSelection": Anonymize<I36bcffk2387dv>;
        "Session": Anonymize<I1e07dgbaqd1sq>;
        "EmaOracle": Anonymize<I9gagilbv4hacc>;
        "Broadcast": Anonymize<I67a3g81377tev>;
    }>;
    "ConsumerRemaining": undefined;
    "NoProviders": undefined;
    "TooManyConsumers": undefined;
    "Token": TokenError;
    "Arithmetic": ArithmeticError;
    "Transactional": TransactionalError;
    "Exhausted": undefined;
    "Corruption": undefined;
    "Unavailable": undefined;
    "RootNotAllowed": undefined;
    "Trie": Anonymize<Idh4cj79bvroj8>;
}>;
export type Idvve5rdj82idk = 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;
    /**
     * Hub asset reserve update after trade resulted in unexpected Decrease.
     */
    "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;
    /**
     * Slip fee configuration exceeds the allowed maximum (50%).
     */
    "MaxSlipFeeTooHigh": undefined;
    /**
     * Invariant check failed inside a trade or liquidity operation.
     */
    "InvariantError": undefined;
    /**
     * Hub asset free balance in the protocol account is less than the sum of recorded
     * asset hub reserves. Indicates corrupted hub-asset accounting; should never happen.
     */
    "InvalidOmnipoolHubReserve": undefined;
}>;
export type Ill0fef311pp0 = 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;
    /**
     * Pool does not have pegs configured.
     */
    "NoPegSource": undefined;
    /**
     * Trade would result in zero amount out.
     */
    "ZeroAmountOut": undefined;
    /**
     * Trade would result in zero amount in.
     */
    "ZeroAmountIn": undefined;
    /**
     * Invariant check failed inside a trade or liquidity operation.
     */
    "InvariantError": undefined;
}>;
export type Ifde5dvaaq5591 = AnonymousEnum<{
    /**
     * The pallet has not been configured yet
     */
    "NotConfigured": undefined;
    /**
     * Pallet is paused and cannot process this call.
     */
    "Paused": undefined;
    /**
     * Insufficient funds for withdrawal
     */
    "InsufficientFunds": undefined;
    /**
     * Invalid transaction data (empty)
     */
    "InvalidTransaction": undefined;
    /**
     * Arrays must have the same length
     */
    "InvalidInputLength": undefined;
    /**
     * Transaction data exceeds maximum allowed length
     */
    "DataTooLong": undefined;
    /**
     * Invalid address format - must be exactly 20 bytes
     */
    "InvalidAddress": undefined;
    /**
     * Priority fee cannot exceed max fee per gas (EIP-1559 requirement)
     */
    "InvalidGasPrice": undefined;
}>;
export type Ibersfsjl8tk8 = AnonymousEnum<{
    /**
     * The pallet has not been configured yet.
     */
    "NotConfigured": undefined;
    /**
     * Request ID has already been used.
     */
    "DuplicateRequest": undefined;
    /**
     * Failed to (de)serialize data.
     */
    "Serialization": undefined;
    /**
     * Output data did not match the expected format.
     */
    "InvalidOutput": undefined;
    /**
     * Request ID does not match the derived ID for the provided data.
     */
    "InvalidRequestId": undefined;
    /**
     * Pallet is paused and cannot process this call.
     */
    "Paused": undefined;
    /**
     * Requested amount is below the configured minimum.
     */
    "AmountTooSmall": undefined;
    /**
     * Requested amount exceeds the configured maximum.
     */
    "AmountTooLarge": undefined;
    /**
     * EVM address parameter is invalid (e.g., zero address).
     */
    "InvalidAddress": undefined;
    /**
     * Faucet balance would fall below the configured threshold after this request.
     */
    "FaucetBalanceBelowThreshold": undefined;
    /**
     * Caller does not have enough balance of the fee asset.
     */
    "NotEnoughFeeFunds": undefined;
    /**
     * Caller does not have enough balance of the faucet asset.
     */
    "NotEnoughFaucetFunds": undefined;
    /**
     * Configuration parameters are invalid (e.g., min_request > max_dispense).
     */
    "InvalidConfig": undefined;
}>;
export type I67rn97loeknuo = AnonymousEnum<{
    /**
     * Failed to decode provided call data.
     */
    "Corrupted": undefined;
    /**
     * `id` reached max. value.
     */
    "IdOverflow": undefined;
    /**
     * Arithmetic or type conversion overflow
     */
    "Overflow": undefined;
    /**
     * User failed to pay fees for future execution.
     */
    "FailedToPayFees": undefined;
    /**
     * Failed to deposit collected fees.
     */
    "FailedToDepositFees": undefined;
    /**
     * Queue is empty.
     */
    "EmptyQueue": undefined;
    /**
     * Call's weight is bigger than max allowed weight.
     */
    "Overweight": undefined;
}>;
export type Ib44c798iqrlfg = AnonymousEnum<{
    /**
     * Invalid deadline
     */
    "InvalidDeadline": undefined;
    /**
     * Invalid intent parameters
     */
    "InvalidIntent": undefined;
    /**
     * Referenced intent doesn't exist.
     */
    "IntentNotFound": undefined;
    /**
     * Referenced intent has expired.
     */
    "IntentExpired": undefined;
    /**
     * Referenced intent is still active.
     */
    "IntentActive": undefined;
    /**
     * Intent's resolution doesn't match intent's parameters.
     */
    "ResolveMismatch": undefined;
    /**
     * Resolution violates intent's limits.
     */
    "LimitViolation": undefined;
    /**
     * Calculation overflow.
     */
    "ArithmeticOverflow": undefined;
    /**
     * Referenced intent's owner doesn't exist.
     */
    "IntentOwnerNotFound": undefined;
    /**
     * Account is not intent's owner.
     */
    "InvalidOwner": undefined;
    /**
     * User doesn't have enough reserved funds.
     */
    "InsufficientReservedBalance": undefined;
    /**
     * Partial intents are not supported at the moment.
     */
    "NotImplemented": undefined;
    /**
     * Asset with specified id doesn't exists.
     */
    "AssetNotFound": undefined;
    /**
     * DCA period is below minimum.
     */
    "InvalidDcaPeriod": undefined;
    /**
     * DCA budget is less than a single trade amount.
     */
    "InvalidDcaBudget": undefined;
    /**
     * DCA intent must not have a deadline.
     */
    "InvalidDcaDeadline": undefined;
    /**
     * Account has reached the maximum number of allowed intents.
     */
    "MaxIntentsReached": undefined;
}>;
export type I633hvr6nul9ft = AnonymousEnum<{
    /**
     * Provided solution is not valid.
     */
    "InvalidSolution": undefined;
    /**
     * Referenced intent doesn't exist.
     */
    "IntentNotFound": undefined;
    /**
     * Referenced intent's owner doesn't exist.
     */
    "IntentOwnerNotFound": undefined;
    /**
     * Resolution violates user's limit.
     */
    "LimitViolation": undefined;
    /**
     * Trade price doesn't match execution price.
     */
    "PriceInconsistency": undefined;
    /**
     * Intent was referenced multiple times.
     */
    "DuplicateIntent": undefined;
    /**
     * Trade's route is invalid.
     */
    "InvalidRoute": undefined;
    /**
     * Provided score doesn't match execution score.
     */
    "ScoreMismatch": undefined;
    /**
     * Intent's kind is not supported.
     */
    "UnsupportedIntentKind": undefined;
    /**
     * Calculation overflow.
     */
    "ArithmeticOverflow": undefined;
    /**
     * Asset with specified id doesn't exists.
     */
    "AssetNotFound": undefined;
    /**
     * Traded amount is bellow limit.
     */
    "InvalidAmount": undefined;
}>;
export type I9gagilbv4hacc = AnonymousEnum<{
    "TooManyUniqueEntries": undefined;
    "OnTradeValueZero": undefined;
    "OracleNotFound": undefined;
    /**
     * Asset not found
     */
    "AssetNotFound": undefined;
    /**
     * The external source is already registered.
     */
    "SourceAlreadyRegistered": undefined;
    /**
     * The external source was not found.
     */
    "SourceNotFound": undefined;
    /**
     * The caller is not authorized for the given (source, pair).
     */
    "NotAuthorized": undefined;
    /**
     * Price must not be zero.
     */
    "PriceIsZero": undefined;
}>;
export type Ievl1ik2q625ep = {
    "result": Anonymize<I5okfu61op1k96>;
};
export type I5okfu61op1k96 = ResultPayload<undefined, Anonymize<I77d9biqm9t03k>>;
export type I5t2cl4vs559sd = {
    "call_hash": SizedHex<32>;
    "result": Anonymize<I866c9m85r6o1u>;
};
export type I866c9m85r6o1u = ResultPayload<Anonymize<Ia1u1r3n74r13c>, {
    "post_info": Anonymize<Ia1u1r3n74r13c>;
    "error": Anonymize<I77d9biqm9t03k>;
}>;
export type I48a7hpcup8vd2 = {
    "signature_deposit": bigint;
    "max_chain_id_length": number;
    "max_evm_data_length": number;
    "chain_id": Uint8Array;
};
export type I1id07hprpi4r = {
    "faucet_address": SizedHex<20>;
    "min_faucet_threshold": bigint;
    "min_request": bigint;
    "max_dispense": bigint;
    "dispenser_fee": bigint;
    "faucet_balance_wei": bigint;
};
export type I5hmeclnecr5hf = {
    "data": Anonymize<Ifbu8r0ap5svrk>;
    "deadline"?: Anonymize<I35p85j063s0il>;
    "on_resolved"?: Anonymize<Iabpgqcjikia83>;
};
export type Ifbu8r0ap5svrk = AnonymousEnum<{
    "Swap": {
        "asset_in": number;
        "asset_out": number;
        "amount_in": bigint;
        "amount_out": bigint;
        "partial": Enum<{
            "No": undefined;
            "Yes": bigint;
        }>;
    };
    "Dca": {
        "asset_in": number;
        "asset_out": number;
        "amount_in": bigint;
        "amount_out": bigint;
        "slippage": number;
        "budget"?: Anonymize<I35p85j063s0il>;
        "remaining_budget": bigint;
        "period": number;
        "last_execution_block": number;
    };
}>;
export type I4ov6e94l79mbg = {
    "id": bigint;
};
export type I62ob1nv137pof = {
    "fee": number;
};
export type I8rbl9jreru3l2 = {
    "source": SizedHex<8>;
};
export type I95l2k9b1re95f = [SS58String, bigint];
export type I8gj9li13bj1db = AnonymousEnum<{
    /**
     * Submit intent by user.
     *
     * This extrinsics reserves fund for intents' execution.
     * WARN: partial intents are not supported at the moment and its' creation is not allowed.
     *
     * Parameters:
     * - `intent`: intent's data
     *
     * Emits:
     * - `IntentSubmitted` when successful
     *
     */
    "submit_intent": Anonymize<Ief08v0p81vcpt>;
    /**
     * Extrinsic unlocks reserved funds and removes intent.
     *
     * Only intent's owner can cancel intent.
     *
     * Parameters:
     * - `id`: id of intent to be canceled.
     *
     * Emits:
     * - `IntentCanceled` when successful
     *
     */
    "remove_intent": Anonymize<I4ov6e94l79mbg>;
    /**
     * Extrinsic removes expired intent, queue intent's on failure callback and unlocks funds.
     *
     * Failure to queue callback for future execution doesn't fail clean up function.
     * This is called automatically from OCW to remove expired intents but it can be called also
     * called by any users.
     *
     * Parameters:
     * - `id`: id of intent to be cleaned up from storage.
     *
     * Emits:
     * - `FailedToQueueCallback` when callback's queuing fails
     * - `IntentExpired` when successful
     */
    "cleanup_intent": Anonymize<I4ov6e94l79mbg>;
}>;
export type Ief08v0p81vcpt = {
    "intent": {
        "data": Enum<{
            "Swap": {
                "asset_in": number;
                "asset_out": number;
                "amount_in": bigint;
                "amount_out": bigint;
                "partial": boolean;
            };
            "Dca": {
                "asset_in": number;
                "asset_out": number;
                "amount_in": bigint;
                "amount_out": bigint;
                "slippage": number;
                "budget"?: Anonymize<I35p85j063s0il>;
                "period": number;
            };
        }>;
        "deadline"?: Anonymize<I35p85j063s0il>;
        "on_resolved"?: Anonymize<Iabpgqcjikia83>;
    };
};
export type I67lbuk9hc5h4q = AnonymousEnum<{
    /**
     * Execute `solution` submitted by OCW.
     *
     * Solution can be executed only as a whole solution.
     *
     * Parameters:
     * - `solution`: solution to execute
     *
     * Emits:
     * - `SolutionExecuted`when `solution` was executed successfully
     *
     */
    "submit_solution": Anonymize<Ib8aunjr0j420u>;
    /**
     * Set the protocol fee for resolved intents.
     *
     * If `fee` matches the default constant (`T::Fee`), the storage override
     * is removed — there is no need to store the default value.
     *
     * Can only be called by `AuthorityOrigin` (e.g. TechnicalCommittee or Root).
     *
     * Emits `ProtocolFeeSet`.
     */
    "set_protocol_fee": Anonymize<I62ob1nv137pof>;
}>;
export type Ib8aunjr0j420u = {
    "solution": {
        "resolved_intents": Array<{
            "id": bigint;
            "data": Anonymize<Ifbu8r0ap5svrk>;
        }>;
        "trades": Array<{
            "direction": Enum<{
                "ExactIn": undefined;
                "ExactOut": undefined;
            }>;
            "amount_in": bigint;
            "amount_out": bigint;
            "route": Anonymize<I14tu3k4kt0e26>;
        }>;
        "score": bigint;
    };
};
export type I5p81usncg27jm = AnonymousEnum<{
    "System": Anonymize<Iekve0i6djpd9f>;
    "Timestamp": Anonymize<I7d75gqfg6jh9c>;
    "Balances": Anonymize<If3jbvd4hqgqh1>;
    "MultiTransactionPayment": Anonymize<I76nh75sf57g68>;
    "Treasury": Anonymize<I2urac6a8n5v3f>;
    "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<I4h8nkgupb7obf>;
            "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>;
        };
        /**
         * Dispatch a fallback call in the event the main call fails to execute.
         * May be called from any origin except `None`.
         *
         * This function first attempts to dispatch the `main` call.
         * If the `main` call fails, the `fallback` is attemted.
         * if the fallback is successfully dispatched, the weights of both calls
         * are accumulated and an event containing the main call error is deposited.
         *
         * In the event of a fallback failure the whole call fails
         * with the weights returned.
         *
         * - `main`: The main call to be dispatched. This is the primary action to execute.
         * - `fallback`: The fallback call to be dispatched in case the `main` call fails.
         *
         * ## Dispatch Logic
         * - If the origin is `root`, both the main and fallback calls are executed without
         * applying any origin filters.
         * - If the origin is not `root`, the origin filter is applied to both the `main` and
         * `fallback` calls.
         *
         * ## Use Case
         * - Some use cases might involve submitting a `batch` type call in either main, fallback
         * or both.
         */
        "if_else": {
            "main": TxCallData;
            "fallback": TxCallData;
        };
        /**
         * Dispatches a function call with a provided origin.
         *
         * Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call.
         *
         * The dispatch origin for this call must be _Root_.
         */
        "dispatch_as_fallible": {
            "as_origin": Anonymize<I4h8nkgupb7obf>;
            "call": TxCallData;
        };
    }>;
    "Preimage": Anonymize<If81ks88t5mpk5>;
    "Identity": Anonymize<Ib1do1nm0okqmt>;
    "Democracy": Anonymize<I6u9fdc1fne8nd>;
    "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": Anonymize<I38jfk5li8iang>;
        /**
         * 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": Anonymize<I2dtrijkm5601t>;
        /**
         * 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": Anonymize<Ib2obgji960euh>;
        /**
         * Disapprove the proposal and burn the cost held for storing this proposal.
         *
         * Parameters:
         * - `origin`: must be the `KillOrigin`.
         * - `proposal_hash`: The hash of the proposal that should be killed.
         *
         * Emits `Killed` and `ProposalCostBurned` if any cost was held for a given proposal.
         */
        "kill": Anonymize<I2ev73t79f46tb>;
        /**
         * Release the cost held for storing a proposal once the given proposal is completed.
         *
         * If there is no associated cost for the given proposal, this call will have no effect.
         *
         * Parameters:
         * - `origin`: must be `Signed` or `Root`.
         * - `proposal_hash`: The hash of the proposal.
         *
         * Emits `ProposalCostReleased` if any cost held for a given proposal.
         */
        "release_proposal_cost": Anonymize<I2ev73t79f46tb>;
    }>;
    "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": Anonymize<I2e1ekg17a2uj2>;
        /**
         * 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": Anonymize<I2e1ekg17a2uj2>;
        /**
         * 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": Anonymize<I9uff8o8g5b5av>;
        /**
         * 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 `create_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": Anonymize<I1acluqiqlacck>;
        /**
         * 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": Anonymize<Idkqesere66fs7>;
        /**
         * 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": Anonymize<Idkqesere66fs7>;
        /**
         * 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": Anonymize<Ifs54vj2idl9k4>;
        /**
         * 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;
        };
        /**
         * Poke / Adjust deposits made for proxies and announcements based on current values.
         * This can be used by accounts to possibly lower their locked amount.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * The transaction fee is waived if the deposit amount has changed.
         *
         * Emits `DepositPoked` if successful.
         */
        "poke_deposit": undefined;
    }>;
    "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": Anonymize<Ideaemvoneh309>;
        /**
         * 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": Anonymize<I3d9o9d7epp66v>;
        /**
         * Poke the deposit reserved for an existing multisig operation.
         *
         * The dispatch origin for this call must be _Signed_ and must be the original depositor of
         * the multisig operation.
         *
         * The transaction fee is waived if the deposit amount has changed.
         *
         * - `threshold`: The total number of approvals needed for this multisig.
         * - `other_signatories`: The accounts (other than the sender) who are part of the
         * multisig.
         * - `call_hash`: The hash of the call this deposit is reserved for.
         *
         * Emits `DepositPoked` if successful.
         */
        "poke_deposit": Anonymize<I6lqh1vgb4mcja>;
    }>;
    "Uniques": Anonymize<I1aih3rf2i8nc0>;
    "StateTrieMigration": Anonymize<I39l72gdmkk30t>;
    "ConvictionVoting": Anonymize<Iakddbsmp6s38i>;
    "Referenda": Anonymize<Ibhs4ak1cgodpi>;
    "Whitelist": Enum<{
        "whitelist_call": Anonymize<I1adbcfi5uc62r>;
        "remove_whitelisted_call": Anonymize<I1adbcfi5uc62r>;
        "dispatch_whitelisted_call": Anonymize<Ibf6ucefn8fh49>;
        "dispatch_whitelisted_call_with_preimage": Anonymize<I72855n961e8pg>;
    }>;
    "Dispatcher": Enum<{
        "dispatch_as_treasury": Anonymize<I72855n961e8pg>;
        "dispatch_as_aave_manager": Anonymize<I72855n961e8pg>;
        /**
         * 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": {
            "call": TxCallData;
            "extra_gas": bigint;
        };
        /**
         * Execute a single EVM call.
         * This extrinsic will fail if the EVM call returns any other ExitReason than `ExitSucceed(Returned)` or `ExitSucceed(Stopped)`.
         * Look the [hydradx_runtime::evm::runner::WrapRunner] implementation for details.
         *
         * Parameters:
         * - `origin`: Signed origin.
         * - `call`: presumably `pallet_evm::Call::call` as boxed `RuntimeCall`.
         *
         * Emits `EvmCallFailed` event when failed.
         */
        "dispatch_evm_call": Anonymize<I72855n961e8pg>;
        /**
         * Dispatch a call as the emergency admin account.
         *
         * This is a fast path for the Technical Committee to react to emergencies
         * (e.g., pausing exploited markets) without waiting for a full referendum.
         * The inner call is dispatched as a Signed origin from the configured
         * emergency admin account.
         *
         * Parameters:
         * - `origin`: Must satisfy `EmergencyAdminOrigin` (TC majority or Root).
         * - `call`: The runtime call to dispatch as the emergency admin.
         *
         * Emits `EmergencyAdminCallDispatched` with the call hash and dispatch result.
         */
        "dispatch_as_emergency_admin": Anonymize<I72855n961e8pg>;
        "dispatch_with_fee_payer": Anonymize<I72855n961e8pg>;
    }>;
    "AssetRegistry": Anonymize<I3mpvr6pqcbi1p>;
    "Claims": Anonymize<I5queflebive1d>;
    "GenesisHistory": undefined;
    "Omnipool": Anonymize<Ib8lmvq517cqd4>;
    "TransactionPause": Anonymize<I851i9piqh9qel>;
    "Duster": Anonymize<Icqfcbe5sstk04>;
    "OmnipoolWarehouseLM": undefined;
    "OmnipoolLiquidityMining": Anonymize<I75oguh8ohgo2q>;
    "OTC": Anonymize<I5ophbk33alrde>;
    "CircuitBreaker": Anonymize<I3k37gje33les4>;
    "Router": Anonymize<I7gdonojfignc7>;
    "DynamicFees": Anonymize<I5tbad6u121r7r>;
    "Staking": Anonymize<Iaikdgvqtjn8sd>;
    "Stableswap": Anonymize<Ieekpm246a0rii>;
    "Bonds": Anonymize<It0rq8pffd1r>;
    "OtcSettlements": Anonymize<Ib00ilgisift11>;
    "LBP": Anonymize<I4ogitqakc83nm>;
    "XYK": Anonymize<I7q1vqeo4ott28>;
    "Referrals": Anonymize<Ibe97e14cmm4e9>;
    "Liquidation": Anonymize<I3i7qdud10d7s7>;
    "HSM": Anonymize<I26pl9s0amgvlg>;
    "Signet": Enum<{
        /**
         * Set or update the signet configuration.
         *
         * Can be called multiple times to update the configuration.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`.
         * - `signature_deposit`: Deposit amount for signature requests.
         * - `max_chain_id_length`: Maximum chain ID length.
         * - `max_evm_data_length`: Maximum EVM transaction data length.
         * - `chain_id`: The CAIP-2 chain identifier.
         */
        "set_config": Anonymize<I48a7hpcup8vd2>;
        /**
         * Withdraw funds from the pallet account.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`.
         * - `recipient`: Account to receive the withdrawn funds.
         * - `amount`: Amount to withdraw.
         */
        "withdraw_funds": Anonymize<I1t9m8mcm55vqu>;
        /**
         * Request a signature for a payload
         */
        "sign": Anonymize<I9mo4kgfi2o84c>;
        /**
         * Request a signature for a serialized transaction
         */
        "sign_bidirectional": Anonymize<I7ojnovm90i14i>;
        /**
         * Respond to signature requests (batch support)
         */
        "respond": Anonymize<I3tp8rjjs3lkfj>;
        /**
         * Report signature generation errors (batch support)
         */
        "respond_error": Anonymize<I57l58lej8ttag>;
        /**
         * Provide a read response with signature
         */
        "respond_bidirectional": Anonymize<Icp9rmluohfhnp>;
        /**
         * Pause the signet so that no new signing requests can be made.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`.
         */
        "pause": undefined;
        /**
         * Unpause the signet so that signing requests are allowed again.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`.
         */
        "unpause": undefined;
    }>;
    "EthDispenser": Enum<{
        /**
         * Request ETH from the external faucet for a given EVM address.
         *
         * Parameters:
         * - `to`: Target EVM address to receive ETH.
         * - `amount`: Amount of ETH (in wei) to request.
         * - `request_id`: Client-supplied request ID; must match derived ID.
         * - `tx`: Parameters for the EVM transaction submitted to the faucet.
         */
        "request_fund": Anonymize<Ic5b5m37jd8n8s>;
        /**
         * Set or update the dispenser configuration.
         *
         * On first call, the pallet starts unpaused. On subsequent calls,
         * `paused` state is preserved.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`.
         * - `faucet_address`: EVM address of the external gas faucet contract.
         * - `min_faucet_threshold`: Minimum remaining ETH (wei) after a request.
         * - `min_request`: Minimum request amount.
         * - `max_dispense`: Maximum request amount.
         * - `dispenser_fee`: Flat fee in `FeeAsset` per request.
         * - `faucet_balance_wei`: Tracked faucet ETH balance (in wei).
         */
        "set_config": Anonymize<I1id07hprpi4r>;
        /**
         * Pause the dispenser so that no new funding requests can be made.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`.
         */
        "pause": undefined;
        /**
         * Unpause the dispenser so that funding requests are allowed again.
         *
         * Parameters:
         * - `origin`: Must satisfy `UpdateOrigin`
         */
        "unpause": undefined;
    }>;
    "LazyExecutor": Enum<{
        /**
         * Extrinsics dispatches top call from the queue.
         *
         * This is called from OCW.
         *
         * Emits:
         * - `Executed` when successful
         */
        "dispatch_top": Anonymize<I4ov6e94l79mbg>;
    }>;
    "Intent": Anonymize<I8gj9li13bj1db>;
    "ICE": Anonymize<I67lbuk9hc5h4q>;
    "Tokens": Anonymize<I6a7o6bu2n2amk>;
    "Currencies": Anonymize<Id0m4jim3jch3f>;
    "Vesting": Anonymize<Ieps3dhtu498hk>;
    "EVM": Anonymize<I78r7di33lh57i>;
    "Ethereum": Anonymize<I3lo8is2egp8k4>;
    "EVMAccounts": Anonymize<Ir7ia4cm0nh1c>;
    "XYKLiquidityMining": Anonymize<I7ecgc6etbbr5p>;
    "XYKWarehouseLM": undefined;
    "RelayChainInfo": undefined;
    "DCA": Anonymize<I6rh3volf6pqqn>;
    "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": SizedHex<32>;
            "when": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Cancel a named scheduled task.
         */
        "cancel_named": Anonymize<Ifs1i5fk9cqvr6>;
        /**
         * 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": SizedHex<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": Anonymize<Ieg3fd8p4pkt10>;
        /**
         * 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": Anonymize<I8kg5ll427kfqq>;
        /**
         * Removes the retry configuration of a task.
         */
        "cancel_retry": Anonymize<I467333262q1l9>;
        /**
         * Cancel the retry configuration of a named task.
         */
        "cancel_retry_named": Anonymize<Ifs1i5fk9cqvr6>;
    }>;
    "ParachainSystem": Anonymize<Idqp6f8ged4v2u>;
    "ParachainInfo": undefined;
    "PolkadotXcm": Anonymize<I6k1inef986368>;
    "CumulusXcm": undefined;
    "MessageQueue": Anonymize<Ic2uoe7jdksosp>;
    "MultiBlockMigrations": Anonymize<I4oqb168b2d4er>;
    "OrmlXcm": Anonymize<I8t7b9qn3bqn3i>;
    "XTokens": Anonymize<I17bjokh5offln>;
    "CollatorSelection": Anonymize<I9dpq5287dur8b>;
    "Session": Anonymize<I77dda7hps0u37>;
    "EmaOracle": Enum<{
        /**
         * Add an oracle to the whitelist so it is tracked by the pallet.
         *
         * Parameters:
         * - `origin`: `AuthorityOrigin`
         * - `source`: data source identifier
         * - `assets`: the asset pair to track
         *
         * Emits `AddedToWhitelist` event when successful.
         */
        "add_oracle": Anonymize<Iabgdocrka40v9>;
        /**
         * Remove an oracle from the whitelist and delete all its stored entries.
         *
         * Parameters:
         * - `origin`: `AuthorityOrigin`
         * - `source`: data source identifier
         * - `assets`: the asset pair to stop tracking
         *
         * Emits `RemovedFromWhitelist` event when successful.
         */
        "remove_oracle": Anonymize<Iabgdocrka40v9>;
        /**
         * Update an oracle entry for BIFROST_SOURCE. Thin wrapper around `set_external_oracle`.
         *
         * Parameters:
         * - `origin`: signed origin — must be authorized for the specific `(BIFROST_SOURCE, pair)`
         * - `asset_a`: XCM location of the first asset
         * - `asset_b`: XCM location of the second asset
         * - `price`: price as `(numerator, denominator)`
         *
         * Emits `OracleUpdated` event on the next `on_finalize`.
         */
        "update_bifrost_oracle": Anonymize<Ibpac0fqh6648u>;
        /**
         * Submit an oracle price update for an external source.
         *
         * The call is feeless on success (`Pays::No`).
         *
         * Parameters:
         * - `origin`: signed origin — must be authorized for the specific `(source, pair)` via
         * `add_authorized_account`
         * - `source`: external source identifier (must be registered via `register_external_source`)
         * - `asset_a`: XCM location of the first asset
         * - `asset_b`: XCM location of the second asset
         * - `price`: price as `(numerator, denominator)` — both must be non-zero
         *
         * Emits `OracleUpdated` event on the next `on_finalize`.
         */
        "set_external_oracle": {
            "source": SizedHex<8>;
            "asset_a": XcmVersionedLocation;
            "asset_b": XcmVersionedLocation;
            "price": Anonymize<I200n1ov5tbcvr>;
        };
        /**
         * Update an external oracle entry using local `AssetId`s directly.
         *
         * Cheaper variant of `set_external_oracle` for callers that already know the local
         * AssetIds — skips the `VersionedLocation` → `AssetId` conversion and the
         * `AssetRegistry::LocationAssets` storage read. Authorization shares the same
         * `AuthorizedAccounts` storage as the location variant.
         *
         * Parameters:
         * - `origin`: signed origin — must be authorized for the specific `(source, pair)` via
         * `add_authorized_account`
         * - `source`: external source identifier (must be registered via `register_external_source`)
         * - `asset_a`: local AssetId of the first asset
         * - `asset_b`: local AssetId of the second asset
         * - `price`: price as `(numerator, denominator)` — both must be non-zero
         *
         * The call is feeless on success (`Pays::No`).
         *
         * Emits `OracleUpdated` event on the next `on_finalize`.
         */
        "set_external_oracle_by_ids": {
            "source": SizedHex<8>;
            "asset_a": number;
            "asset_b": number;
            "price": Anonymize<I200n1ov5tbcvr>;
        };
        /**
         * Register a new external oracle source.
         *
         * Parameters:
         * - `origin`: `AuthorityOrigin`
         * - `source`: 8-byte source identifier to register
         *
         * Emits `ExternalSourceRegistered` event when successful.
         */
        "register_external_source": Anonymize<I8rbl9jreru3l2>;
        /**
         * Remove an external oracle source, its per-pair authorizations, and ALL oracle data it
         * ever wrote (both committed `Oracles` rows and any in-flight `Accumulator` entries).
         *
         * Parameters:
         * - `origin`: `AuthorityOrigin`
         * - `source`: source identifier to remove
         *
         * Emits `ExternalSourceRemoved` event when successful.
         */
        "remove_external_source": Anonymize<I8rbl9jreru3l2>;
        /**
         * Authorize `account` to submit oracle updates for a specific `(source, pair)`.
         *
         * Authorization is scoped per-pair so a compromised account can only update the
         * pairs it was explicitly granted, limiting DDoS blast radius.
         *
         * Parameters:
         * - `origin`: `AuthorityOrigin`
         * - `source`: external source identifier (must already be registered)
         * - `assets`: the asset pair to authorize — stored in ordered form
         * - `account`: the account to authorize
         *
         * Emits `AuthorizedAccountAdded` event when successful.
         */
        "add_authorized_account": {
            "source": SizedHex<8>;
            "assets": Anonymize<I9jd27rnpm8ttv>;
            "account": SS58String;
        };
        /**
         * Revoke oracle-update authorization for `account` on a specific `(source, pair)`.
         *
         * Parameters:
         * - `origin`: `AuthorityOrigin`
         * - `source`: external source identifier (must already be registered)
         * - `assets`: the asset pair to revoke — matched in ordered form
         * - `account`: the account to revoke
         *
         * Emits `AuthorizedAccountRemoved` event when successful.
         */
        "remove_authorized_account": {
            "source": SizedHex<8>;
            "assets": Anonymize<I9jd27rnpm8ttv>;
            "account": SS58String;
        };
    }>;
    "Broadcast": undefined;
}>;
export type I72855n961e8pg = {
    "call": TxCallData;
};
export type Ic0lblghfsnsek = ResultPayload<{
    "execution_result": Anonymize<I866c9m85r6o1u>;
    "emitted_events": Anonymize<Ibi0nmg89beob4>;
    "local_xcm"?: Anonymize<Ieqgqma27vbupd>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type Ibi0nmg89beob4 = Array<Anonymize<I9sii4k0l5jtdu>>;
export type I3j4kvev2lhre2 = ResultPayload<{
    "execution_result": Anonymize<Ieqhmksji3pmv5>;
    "emitted_events": Anonymize<Ibi0nmg89beob4>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type Ie49tr2lbm93o0 = Array<{
    "phase": Phase;
    "event": Anonymize<I18a8lii507srf>;
    "topics": Anonymize<Ic5m5lp1oioo8r>;
}>;
export type I18a8lii507srf = AnonymousEnum<{
    "System": Enum<{
        /**
         * An extrinsic completed successfully.
         */
        "ExtrinsicSuccess": Anonymize<Ia82mnkmeo2rhc>;
        /**
         * An extrinsic failed.
         */
        "ExtrinsicFailed": {
            "dispatch_error": Anonymize<I3ct4908m6u4n0>;
            "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": Anonymize<I855j4i3kr8ko1>;
        /**
         * A [`Task`] has started executing
         */
        "TaskStarted": Anonymize<I3m5sq54sjdlso>;
        /**
         * A [`Task`] has finished executing.
         */
        "TaskCompleted": Anonymize<I3m5sq54sjdlso>;
        /**
         * A [`Task`] failed during execution.
         */
        "TaskFailed": {
            "err": Anonymize<I3ct4908m6u4n0>;
        };
        /**
         * An upgrade was authorized.
         */
        "UpgradeAuthorized": Anonymize<Ibgl04rn6nbfm6>;
        /**
         * An invalid authorized upgrade was rejected while trying to apply it.
         */
        "RejectedInvalidAuthorizedUpgrade": {
            "code_hash": SizedHex<32>;
            "error": Anonymize<I3ct4908m6u4n0>;
        };
    }>;
    "ParachainSystem": Anonymize<Icbsekf57miplo>;
    "Preimage": PreimageEvent;
    "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<I2fet1s7jajmro>;
        };
        /**
         * Set a retry configuration for some task.
         */
        "RetrySet": Anonymize<Ia3c82eadg79bj>;
        /**
         * Cancel a retry configuration for some task.
         */
        "RetryCancelled": Anonymize<Ienusoeb625ftq>;
        /**
         * The call for the provided hash was not found so the task has been aborted.
         */
        "CallUnavailable": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task was unable to be renewed since the agenda is full at that block.
         */
        "PeriodicFailed": Anonymize<Ienusoeb625ftq>;
        /**
         * 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": Anonymize<Ienusoeb625ftq>;
        /**
         * The given task can never be executed since it is overweight.
         */
        "PermanentlyOverweight": Anonymize<Ienusoeb625ftq>;
        /**
         * Agenda is incomplete from `when`.
         */
        "AgendaIncomplete": Anonymize<Ibtsa3docbr9el>;
    }>;
    "Parameters": Enum<{
        /**
         * A Parameter was set.
         *
         * Is also emitted when the value was not changed.
         */
        "Updated": {
            /**
             * The key that was updated.
             */
            "key": Enum<{
                "StakingElection": Enum<{
                    "SignedPhase": undefined;
                    "MaxSignedSubmissions": undefined;
                    "UnsignedPhase": undefined;
                    "MinerPages": undefined;
                    "MaxElectingVoters": undefined;
                    "TargetSnapshotPerBlock": undefined;
                    "MaxEraDuration": undefined;
                }>;
                "Scheduler": Enum<{
                    "MaxScheduledPerBlock": undefined;
                    "MaximumWeight": undefined;
                }>;
                "MessageQueue": Enum<{
                    "MaxOnInitWeight": undefined;
                    "MaxOnIdleWeight": undefined;
                }>;
            }>;
            /**
             * The old value before this call.
             */
            "old_value"?: (Enum<{
                "StakingElection": Enum<{
                    "SignedPhase": number;
                    "MaxSignedSubmissions": number;
                    "UnsignedPhase": number;
                    "MinerPages": number;
                    "MaxElectingVoters": number;
                    "TargetSnapshotPerBlock": number;
                    "MaxEraDuration": bigint;
                }>;
                "Scheduler": Enum<{
                    "MaxScheduledPerBlock": number;
                    "MaximumWeight": Anonymize<I4q39t5hn830vp>;
                }>;
                "MessageQueue": Enum<{
                    "MaxOnInitWeight"?: Anonymize<Iasb8k6ash5mjn>;
                    "MaxOnIdleWeight"?: Anonymize<Iasb8k6ash5mjn>;
                }>;
            }>) | undefined;
            /**
             * The new value after this call.
             */
            "new_value"?: (Enum<{
                "StakingElection": Enum<{
                    "SignedPhase": number;
                    "MaxSignedSubmissions": number;
                    "UnsignedPhase": number;
                    "MinerPages": number;
                    "MaxElectingVoters": number;
                    "TargetSnapshotPerBlock": number;
                    "MaxEraDuration": bigint;
                }>;
                "Scheduler": Enum<{
                    "MaxScheduledPerBlock": number;
                    "MaximumWeight": Anonymize<I4q39t5hn830vp>;
                }>;
                "MessageQueue": Enum<{
                    "MaxOnInitWeight"?: Anonymize<Iasb8k6ash5mjn>;
                    "MaxOnIdleWeight"?: Anonymize<Iasb8k6ash5mjn>;
                }>;
            }>) | undefined;
        };
    }>;
    "MultiBlockMigrations": Anonymize<I94co7vj7h6bo>;
    "Balances": Enum<{
        /**
         * An account was created with some free balance.
         */
        "Endowed": Anonymize<Icv68aq8841478>;
        /**
         * An account was removed whose balance was non-zero but below ExistentialDeposit,
         * resulting in an outright loss.
         */
        "DustLost": Anonymize<Ic262ibdoec56a>;
        /**
         * Transfer succeeded.
         */
        "Transfer": Anonymize<Iflcfm9b6nlmdd>;
        /**
         * A balance was set by root.
         */
        "BalanceSet": Anonymize<Ijrsf4mnp3eka>;
        /**
         * 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": Anonymize<I8tjvj9uq4b7hi>;
        /**
         * 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 credit was balanced and added to the TotalIssuance.
         */
        "MintedCredit": Anonymize<I3qt1hgg4djhgb>;
        /**
         * Some amount was burned from an account.
         */
        "Burned": Anonymize<Id5fm4p8lj5qgi>;
        /**
         * Some debt has been dropped from the Total Issuance.
         */
        "BurnedDebt": Anonymize<I3qt1hgg4djhgb>;
        /**
         * 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": Anonymize<I4fooe9dun9o0t>;
        /**
         * Some balance was placed on hold.
         */
        "Held": {
            "reason": Anonymize<Ickdiocl9u813v>;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Held balance was burned from an account.
         */
        "BurnedHeld": {
            "reason": Anonymize<Ickdiocl9u813v>;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * A transfer of `amount` on hold from `source` to `dest` was initiated.
         */
        "TransferOnHold": {
            "reason": Anonymize<Ickdiocl9u813v>;
            "source": SS58String;
            "dest": SS58String;
            "amount": bigint;
        };
        /**
         * The `transferred` balance is placed on hold at the `dest` account.
         */
        "TransferAndHold": {
            "reason": Anonymize<Ickdiocl9u813v>;
            "source": SS58String;
            "dest": SS58String;
            "transferred": bigint;
        };
        /**
         * Some balance was released from hold.
         */
        "Released": {
            "reason": Anonymize<Ickdiocl9u813v>;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * An unexpected/defensive event was triggered.
         */
        "Unexpected": Enum<{
            "BalanceUpdated": undefined;
            "FailedToMutateAccount": undefined;
        }>;
    }>;
    "TransactionPayment": TransactionPaymentEvent;
    "AssetTxPayment": Enum<{
        /**
         * A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,
         * has been paid by `who` in an asset `asset_id`.
         */
        "AssetTxFeePaid": {
            "who": SS58String;
            "actual_fee": bigint;
            "tip": bigint;
            "asset_id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * A swap of the refund in native currency back to asset failed.
         */
        "AssetRefundFailed": {
            "native_amount_kept": bigint;
        };
    }>;
    "Vesting": Enum<{
        /**
         * A vesting schedule has been created.
         */
        "VestingCreated": {
            "account": SS58String;
            "schedule_index": number;
        };
        /**
         * The amount vested has been updated. This could indicate a change in funds available.
         * The balance given is the amount which is left unvested (and thus locked).
         */
        "VestingUpdated": {
            "account": SS58String;
            "unvested": bigint;
        };
        /**
         * An \[account\] has become fully vested.
         */
        "VestingCompleted": Anonymize<Icbccs0ug47ilf>;
    }>;
    "Claims": CommonClaimsEvent;
    "CollatorSelection": Anonymize<I4srakrmf0fspo>;
    "Session": Anonymize<I6ue0ck5fc3u44>;
    "XcmpQueue": Anonymize<Idsqc7mhp6nnle>;
    "PolkadotXcm": Anonymize<If95hivmqmkiku>;
    "CumulusXcm": Anonymize<I5uv57c3fffoi9>;
    "ToKusamaXcmRouter": Enum<{
        /**
         * Delivery fee factor has been decreased.
         */
        "DeliveryFeeFactorDecreased": {
            /**
             * New value of the `DeliveryFeeFactor`.
             */
            "new_value": bigint;
        };
        /**
         * Delivery fee factor has been increased.
         */
        "DeliveryFeeFactorIncreased": {
            /**
             * New value of the `DeliveryFeeFactor`.
             */
            "new_value": bigint;
        };
    }>;
    "MessageQueue": Anonymize<I2kosejppk3jon>;
    "SnowbridgeSystemFrontend": Enum<{
        /**
         * An XCM was sent
         */
        "MessageSent": Anonymize<If8u5kl4h8070m>;
        /**
         * Set OperatingMode
         */
        "ExportOperatingModeChanged": Anonymize<I9i6b1362umn1t>;
    }>;
    "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<I3ct4908m6u4n0>;
        };
        /**
         * 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<I3ct4908m6u4n0>;
        };
        /**
         * A call was dispatched.
         */
        "DispatchedAs": Anonymize<Ifibfra20sdv6p>;
        /**
         * Main call was dispatched.
         */
        "IfElseMainSuccess": undefined;
        /**
         * The fallback call was dispatched.
         */
        "IfElseFallbackCalled": {
            "main_error": Anonymize<I3ct4908m6u4n0>;
        };
    }>;
    "Multisig": Enum<{
        /**
         * A new multisig operation has begun.
         */
        "NewMultisig": Anonymize<Iep27ialq4a7o7>;
        /**
         * A multisig operation has been approved by someone.
         */
        "MultisigApproval": Anonymize<Iasu5jvoqr43mv>;
        /**
         * A multisig operation has been executed.
         */
        "MultisigExecuted": {
            "approving": SS58String;
            "timepoint": Anonymize<Itvprrpb0nm3o>;
            "multisig": SS58String;
            "call_hash": SizedHex<32>;
            "result": Anonymize<I2fet1s7jajmro>;
        };
        /**
         * A multisig operation has been cancelled.
         */
        "MultisigCancelled": Anonymize<I5qolde99acmd1>;
        /**
         * The deposit for a multisig operation has been updated/poked.
         */
        "DepositPoked": Anonymize<I8gtde5abn1g9a>;
    }>;
    "Proxy": Enum<{
        /**
         * A proxy was executed correctly, with the given.
         */
        "ProxyExecuted": Anonymize<Ifibfra20sdv6p>;
        /**
         * A pure account has been created by new proxy with given
         * disambiguation index and proxy type.
         */
        "PureCreated": {
            "pure": SS58String;
            "who": SS58String;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "disambiguation_index": number;
            "at": number;
            "extrinsic_index": number;
        };
        /**
         * A pure proxy was killed by its spawner.
         */
        "PureKilled": {
            "pure": SS58String;
            "spawner": SS58String;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "disambiguation_index": number;
        };
        /**
         * An announcement was placed to make a call in the future.
         */
        "Announced": Anonymize<I2ur0oeqg495j8>;
        /**
         * A proxy was added.
         */
        "ProxyAdded": {
            "delegator": SS58String;
            "delegatee": SS58String;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "delay": number;
        };
        /**
         * A proxy was removed.
         */
        "ProxyRemoved": {
            "delegator": SS58String;
            "delegatee": SS58String;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "delay": number;
        };
        /**
         * A deposit stored for proxies or announcements was poked / updated.
         */
        "DepositPoked": Anonymize<I1bhd210c3phjj>;
    }>;
    "Indices": Enum<{
        /**
         * A account index was assigned.
         */
        "IndexAssigned": {
            "who": SS58String;
            "index": number;
        };
        /**
         * A account index has been freed up (unassigned).
         */
        "IndexFreed": Anonymize<I666bl2fqjkejo>;
        /**
         * A account index has been frozen to its current account ID.
         */
        "IndexFrozen": {
            "who": SS58String;
            "index": number;
        };
        /**
         * A deposit to reserve an index has been poked/reconsidered.
         */
        "DepositPoked": {
            "who": SS58String;
            "index": number;
            "old_deposit": bigint;
            "new_deposit": bigint;
        };
    }>;
    "Assets": Enum<{
        /**
         * Some asset class was created.
         */
        "Created": {
            "asset_id": number;
            "creator": SS58String;
            "owner": SS58String;
        };
        /**
         * Some assets were issued.
         */
        "Issued": {
            "asset_id": number;
            "owner": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were transferred.
         */
        "Transferred": {
            "asset_id": number;
            "from": SS58String;
            "to": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were destroyed.
         */
        "Burned": {
            "asset_id": number;
            "owner": SS58String;
            "balance": bigint;
        };
        /**
         * The management team changed.
         */
        "TeamChanged": {
            "asset_id": number;
            "issuer": SS58String;
            "admin": SS58String;
            "freezer": SS58String;
        };
        /**
         * The owner changed.
         */
        "OwnerChanged": {
            "asset_id": number;
            "owner": SS58String;
        };
        /**
         * Some account `who` was frozen.
         */
        "Frozen": Anonymize<If4ebvclj2ugvi>;
        /**
         * Some account `who` was thawed.
         */
        "Thawed": Anonymize<If4ebvclj2ugvi>;
        /**
         * Some asset `asset_id` was frozen.
         */
        "AssetFrozen": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Some asset `asset_id` was thawed.
         */
        "AssetThawed": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Accounts were destroyed for given asset.
         */
        "AccountsDestroyed": {
            "asset_id": number;
            "accounts_destroyed": number;
            "accounts_remaining": number;
        };
        /**
         * Approvals were destroyed for given asset.
         */
        "ApprovalsDestroyed": {
            "asset_id": number;
            "approvals_destroyed": number;
            "approvals_remaining": number;
        };
        /**
         * An asset class is in the process of being destroyed.
         */
        "DestructionStarted": Anonymize<Ia5le7udkgbaq9>;
        /**
         * An asset class was destroyed.
         */
        "Destroyed": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Some asset class was force-created.
         */
        "ForceCreated": {
            "asset_id": number;
            "owner": SS58String;
        };
        /**
         * New metadata has been set for an asset.
         */
        "MetadataSet": {
            "asset_id": number;
            "name": Uint8Array;
            "symbol": Uint8Array;
            "decimals": number;
            "is_frozen": boolean;
        };
        /**
         * Metadata has been cleared for an asset.
         */
        "MetadataCleared": Anonymize<Ia5le7udkgbaq9>;
        /**
         * (Additional) funds have been approved for transfer to a destination account.
         */
        "ApprovedTransfer": {
            "asset_id": number;
            "source": SS58String;
            "delegate": SS58String;
            "amount": bigint;
        };
        /**
         * An approval for account `delegate` was cancelled by `owner`.
         */
        "ApprovalCancelled": {
            "asset_id": number;
            "owner": SS58String;
            "delegate": SS58String;
        };
        /**
         * An `amount` was transferred in its entirety from `owner` to `destination` by
         * the approved `delegate`.
         */
        "TransferredApproved": {
            "asset_id": number;
            "owner": SS58String;
            "delegate": SS58String;
            "destination": SS58String;
            "amount": bigint;
        };
        /**
         * An asset has had its attributes changed by the `Force` origin.
         */
        "AssetStatusChanged": Anonymize<Ia5le7udkgbaq9>;
        /**
         * The min_balance of an asset has been updated by the asset owner.
         */
        "AssetMinBalanceChanged": {
            "asset_id": number;
            "new_min_balance": bigint;
        };
        /**
         * Some account `who` was created with a deposit from `depositor`.
         */
        "Touched": {
            "asset_id": number;
            "who": SS58String;
            "depositor": SS58String;
        };
        /**
         * Some account `who` was blocked.
         */
        "Blocked": Anonymize<If4ebvclj2ugvi>;
        /**
         * Some assets were deposited (e.g. for transaction fees).
         */
        "Deposited": {
            "asset_id": number;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were withdrawn from the account (e.g. for transaction fees).
         */
        "Withdrawn": {
            "asset_id": number;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Reserve information was set or updated for `asset_id`.
         */
        "ReservesUpdated": {
            "asset_id": number;
            "reserves": Anonymize<I35l6p7kq19mr0>;
        };
        /**
         * Reserve information was removed for `asset_id`.
         */
        "ReservesRemoved": Anonymize<Ia5le7udkgbaq9>;
    }>;
    "Uniques": Enum<{
        /**
         * A `collection` was created.
         */
        "Created": Anonymize<I9gqanbbbe917p>;
        /**
         * A `collection` was force-created.
         */
        "ForceCreated": Anonymize<Id1m1230297f7a>;
        /**
         * A `collection` was destroyed.
         */
        "Destroyed": Anonymize<I6cu7obfo0rr0o>;
        /**
         * An `item` was issued.
         */
        "Issued": Anonymize<Ifvb1p5munhhv4>;
        /**
         * An `item` was transferred.
         */
        "Transferred": Anonymize<I46h83ilqeed3g>;
        /**
         * An `item` was destroyed.
         */
        "Burned": Anonymize<Ifvb1p5munhhv4>;
        /**
         * Some `item` was frozen.
         */
        "Frozen": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Some `item` was thawed.
         */
        "Thawed": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Some `collection` was frozen.
         */
        "CollectionFrozen": Anonymize<I6cu7obfo0rr0o>;
        /**
         * Some `collection` was thawed.
         */
        "CollectionThawed": Anonymize<I6cu7obfo0rr0o>;
        /**
         * The owner changed.
         */
        "OwnerChanged": Anonymize<Icahse3uoi76n7>;
        /**
         * The management team changed.
         */
        "TeamChanged": {
            "collection": number;
            "issuer": SS58String;
            "admin": SS58String;
            "freezer": SS58String;
        };
        /**
         * An `item` of a `collection` has been approved by the `owner` for transfer by
         * a `delegate`.
         */
        "ApprovedTransfer": Anonymize<I5fjkvcb5vr6nb>;
        /**
         * An approval for a `delegate` account to transfer the `item` of an item
         * `collection` was cancelled by its `owner`.
         */
        "ApprovalCancelled": Anonymize<I5fjkvcb5vr6nb>;
        /**
         * A `collection` has had its attributes changed by the `Force` origin.
         */
        "ItemStatusChanged": Anonymize<I6cu7obfo0rr0o>;
        /**
         * New metadata has been set for a `collection`.
         */
        "CollectionMetadataSet": Anonymize<I9viqhmdtuof5e>;
        /**
         * Metadata has been cleared for a `collection`.
         */
        "CollectionMetadataCleared": Anonymize<I6cu7obfo0rr0o>;
        /**
         * New metadata has been set for an item.
         */
        "MetadataSet": Anonymize<Iceq9fmmp9aeqv>;
        /**
         * Metadata has been cleared for an item.
         */
        "MetadataCleared": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Metadata has been cleared for an item.
         */
        "Redeposited": Anonymize<I2gr1toekv86b9>;
        /**
         * New attribute metadata has been set for a `collection` or `item`.
         */
        "AttributeSet": Anonymize<I5tvvgui05tn6e>;
        /**
         * Attribute metadata has been cleared for a `collection` or `item`.
         */
        "AttributeCleared": Anonymize<Ibal0joadvdc2h>;
        /**
         * Ownership acceptance has changed for an account.
         */
        "OwnershipAcceptanceChanged": Anonymize<I2v2ikqt2trp52>;
        /**
         * Max supply has been set for a collection.
         */
        "CollectionMaxSupplySet": Anonymize<I6h88h8vba22v8>;
        /**
         * The price was set for the instance.
         */
        "ItemPriceSet": Anonymize<If3057hi1g5qlo>;
        /**
         * The price for the instance was removed.
         */
        "ItemPriceRemoved": Anonymize<Iafkqus0ohh6l6>;
        /**
         * An item was bought.
         */
        "ItemBought": Anonymize<Iaii5qf41d5n3d>;
    }>;
    "Nfts": Enum<{
        /**
         * A `collection` was created.
         */
        "Created": Anonymize<I9gqanbbbe917p>;
        /**
         * A `collection` was force-created.
         */
        "ForceCreated": Anonymize<Id1m1230297f7a>;
        /**
         * A `collection` was destroyed.
         */
        "Destroyed": Anonymize<I6cu7obfo0rr0o>;
        /**
         * An `item` was issued.
         */
        "Issued": Anonymize<Ifvb1p5munhhv4>;
        /**
         * An `item` was transferred.
         */
        "Transferred": Anonymize<I46h83ilqeed3g>;
        /**
         * An `item` was destroyed.
         */
        "Burned": Anonymize<Ifvb1p5munhhv4>;
        /**
         * An `item` became non-transferable.
         */
        "ItemTransferLocked": Anonymize<Iafkqus0ohh6l6>;
        /**
         * An `item` became transferable.
         */
        "ItemTransferUnlocked": Anonymize<Iafkqus0ohh6l6>;
        /**
         * `item` metadata or attributes were locked.
         */
        "ItemPropertiesLocked": Anonymize<I1jj31tn29ie3c>;
        /**
         * Some `collection` was locked.
         */
        "CollectionLocked": Anonymize<I6cu7obfo0rr0o>;
        /**
         * The owner changed.
         */
        "OwnerChanged": Anonymize<Icahse3uoi76n7>;
        /**
         * The management team changed.
         */
        "TeamChanged": {
            "collection": number;
            "issuer"?: Anonymize<Ihfphjolmsqq1>;
            "admin"?: Anonymize<Ihfphjolmsqq1>;
            "freezer"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * An `item` of a `collection` has been approved by the `owner` for transfer by
         * a `delegate`.
         */
        "TransferApproved": {
            "collection": number;
            "item": number;
            "owner": SS58String;
            "delegate": SS58String;
            "deadline"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * An approval for a `delegate` account to transfer the `item` of an item
         * `collection` was cancelled by its `owner`.
         */
        "ApprovalCancelled": Anonymize<I5fjkvcb5vr6nb>;
        /**
         * All approvals of an item got cancelled.
         */
        "AllApprovalsCancelled": Anonymize<Ifvb1p5munhhv4>;
        /**
         * A `collection` has had its config changed by the `Force` origin.
         */
        "CollectionConfigChanged": Anonymize<I6cu7obfo0rr0o>;
        /**
         * New metadata has been set for a `collection`.
         */
        "CollectionMetadataSet": Anonymize<I78u60nqh0etah>;
        /**
         * Metadata has been cleared for a `collection`.
         */
        "CollectionMetadataCleared": Anonymize<I6cu7obfo0rr0o>;
        /**
         * New metadata has been set for an item.
         */
        "ItemMetadataSet": Anonymize<Icrkms46uh8tpb>;
        /**
         * Metadata has been cleared for an item.
         */
        "ItemMetadataCleared": Anonymize<Iafkqus0ohh6l6>;
        /**
         * The deposit for a set of `item`s within a `collection` has been updated.
         */
        "Redeposited": Anonymize<I2gr1toekv86b9>;
        /**
         * New attribute metadata has been set for a `collection` or `item`.
         */
        "AttributeSet": Anonymize<I5llu6o6a0go5i>;
        /**
         * Attribute metadata has been cleared for a `collection` or `item`.
         */
        "AttributeCleared": Anonymize<I93r2effh7od84>;
        /**
         * A new approval to modify item attributes was added.
         */
        "ItemAttributesApprovalAdded": {
            "collection": number;
            "item": number;
            "delegate": SS58String;
        };
        /**
         * A new approval to modify item attributes was removed.
         */
        "ItemAttributesApprovalRemoved": {
            "collection": number;
            "item": number;
            "delegate": SS58String;
        };
        /**
         * Ownership acceptance has changed for an account.
         */
        "OwnershipAcceptanceChanged": Anonymize<I2v2ikqt2trp52>;
        /**
         * Max supply has been set for a collection.
         */
        "CollectionMaxSupplySet": Anonymize<I6h88h8vba22v8>;
        /**
         * Mint settings for a collection had changed.
         */
        "CollectionMintSettingsUpdated": Anonymize<I6cu7obfo0rr0o>;
        /**
         * Event gets emitted when the `NextCollectionId` gets incremented.
         */
        "NextCollectionIdIncremented": {
            "next_id"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * The price was set for the item.
         */
        "ItemPriceSet": Anonymize<If3057hi1g5qlo>;
        /**
         * The price for the item was removed.
         */
        "ItemPriceRemoved": Anonymize<Iafkqus0ohh6l6>;
        /**
         * An item was bought.
         */
        "ItemBought": Anonymize<Iaii5qf41d5n3d>;
        /**
         * A tip was sent.
         */
        "TipSent": {
            "collection": number;
            "item": number;
            "sender": SS58String;
            "receiver": SS58String;
            "amount": bigint;
        };
        /**
         * An `item` swap intent was created.
         */
        "SwapCreated": {
            "offered_collection": number;
            "offered_item": number;
            "desired_collection": number;
            "desired_item"?: Anonymize<I4arjljr6dpflb>;
            "price"?: Anonymize<I6oogc1jbmmi81>;
            "deadline": number;
        };
        /**
         * The swap was cancelled.
         */
        "SwapCancelled": {
            "offered_collection": number;
            "offered_item": number;
            "desired_collection": number;
            "desired_item"?: Anonymize<I4arjljr6dpflb>;
            "price"?: Anonymize<I6oogc1jbmmi81>;
            "deadline": number;
        };
        /**
         * The swap has been claimed.
         */
        "SwapClaimed": {
            "sent_collection": number;
            "sent_item": number;
            "sent_item_owner": SS58String;
            "received_collection": number;
            "received_item": number;
            "received_item_owner": SS58String;
            "price"?: Anonymize<I6oogc1jbmmi81>;
            "deadline": number;
        };
        /**
         * New attributes have been set for an `item` of the `collection`.
         */
        "PreSignedAttributesSet": {
            "collection": number;
            "item": number;
            "namespace": Anonymize<If3jjadhmug6qc>;
        };
        /**
         * A new attribute in the `Pallet` namespace was set for the `collection` or an `item`
         * within that `collection`.
         */
        "PalletAttributeSet": {
            "collection": number;
            "item"?: Anonymize<I4arjljr6dpflb>;
            "attribute": Enum<{
                "UsedToClaim": number;
                "TransferDisabled": undefined;
            }>;
            "value": Uint8Array;
        };
    }>;
    "ForeignAssets": Enum<{
        /**
         * Some asset class was created.
         */
        "Created": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "creator": SS58String;
            "owner": SS58String;
        };
        /**
         * Some assets were issued.
         */
        "Issued": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "owner": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were transferred.
         */
        "Transferred": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "from": SS58String;
            "to": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were destroyed.
         */
        "Burned": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "owner": SS58String;
            "balance": bigint;
        };
        /**
         * The management team changed.
         */
        "TeamChanged": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "issuer": SS58String;
            "admin": SS58String;
            "freezer": SS58String;
        };
        /**
         * The owner changed.
         */
        "OwnerChanged": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "owner": SS58String;
        };
        /**
         * Some account `who` was frozen.
         */
        "Frozen": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "who": SS58String;
        };
        /**
         * Some account `who` was thawed.
         */
        "Thawed": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "who": SS58String;
        };
        /**
         * Some asset `asset_id` was frozen.
         */
        "AssetFrozen": Anonymize<I22bm4d7re21j9>;
        /**
         * Some asset `asset_id` was thawed.
         */
        "AssetThawed": Anonymize<I22bm4d7re21j9>;
        /**
         * Accounts were destroyed for given asset.
         */
        "AccountsDestroyed": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "accounts_destroyed": number;
            "accounts_remaining": number;
        };
        /**
         * Approvals were destroyed for given asset.
         */
        "ApprovalsDestroyed": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "approvals_destroyed": number;
            "approvals_remaining": number;
        };
        /**
         * An asset class is in the process of being destroyed.
         */
        "DestructionStarted": Anonymize<I22bm4d7re21j9>;
        /**
         * An asset class was destroyed.
         */
        "Destroyed": Anonymize<I22bm4d7re21j9>;
        /**
         * Some asset class was force-created.
         */
        "ForceCreated": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "owner": SS58String;
        };
        /**
         * New metadata has been set for an asset.
         */
        "MetadataSet": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "name": Uint8Array;
            "symbol": Uint8Array;
            "decimals": number;
            "is_frozen": boolean;
        };
        /**
         * Metadata has been cleared for an asset.
         */
        "MetadataCleared": Anonymize<I22bm4d7re21j9>;
        /**
         * (Additional) funds have been approved for transfer to a destination account.
         */
        "ApprovedTransfer": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "source": SS58String;
            "delegate": SS58String;
            "amount": bigint;
        };
        /**
         * An approval for account `delegate` was cancelled by `owner`.
         */
        "ApprovalCancelled": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "owner": SS58String;
            "delegate": SS58String;
        };
        /**
         * An `amount` was transferred in its entirety from `owner` to `destination` by
         * the approved `delegate`.
         */
        "TransferredApproved": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "owner": SS58String;
            "delegate": SS58String;
            "destination": SS58String;
            "amount": bigint;
        };
        /**
         * An asset has had its attributes changed by the `Force` origin.
         */
        "AssetStatusChanged": Anonymize<I22bm4d7re21j9>;
        /**
         * The min_balance of an asset has been updated by the asset owner.
         */
        "AssetMinBalanceChanged": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "new_min_balance": bigint;
        };
        /**
         * Some account `who` was created with a deposit from `depositor`.
         */
        "Touched": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "who": SS58String;
            "depositor": SS58String;
        };
        /**
         * Some account `who` was blocked.
         */
        "Blocked": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "who": SS58String;
        };
        /**
         * Some assets were deposited (e.g. for transaction fees).
         */
        "Deposited": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were withdrawn from the account (e.g. for transaction fees).
         */
        "Withdrawn": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Reserve information was set or updated for `asset_id`.
         */
        "ReservesUpdated": {
            "asset_id": Anonymize<If9iqq7i64mur8>;
            "reserves": Anonymize<If2801grpltbp8>;
        };
        /**
         * Reserve information was removed for `asset_id`.
         */
        "ReservesRemoved": Anonymize<I22bm4d7re21j9>;
    }>;
    "PoolAssets": Enum<{
        /**
         * Some asset class was created.
         */
        "Created": {
            "asset_id": number;
            "creator": SS58String;
            "owner": SS58String;
        };
        /**
         * Some assets were issued.
         */
        "Issued": {
            "asset_id": number;
            "owner": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were transferred.
         */
        "Transferred": {
            "asset_id": number;
            "from": SS58String;
            "to": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were destroyed.
         */
        "Burned": {
            "asset_id": number;
            "owner": SS58String;
            "balance": bigint;
        };
        /**
         * The management team changed.
         */
        "TeamChanged": {
            "asset_id": number;
            "issuer": SS58String;
            "admin": SS58String;
            "freezer": SS58String;
        };
        /**
         * The owner changed.
         */
        "OwnerChanged": {
            "asset_id": number;
            "owner": SS58String;
        };
        /**
         * Some account `who` was frozen.
         */
        "Frozen": Anonymize<If4ebvclj2ugvi>;
        /**
         * Some account `who` was thawed.
         */
        "Thawed": Anonymize<If4ebvclj2ugvi>;
        /**
         * Some asset `asset_id` was frozen.
         */
        "AssetFrozen": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Some asset `asset_id` was thawed.
         */
        "AssetThawed": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Accounts were destroyed for given asset.
         */
        "AccountsDestroyed": {
            "asset_id": number;
            "accounts_destroyed": number;
            "accounts_remaining": number;
        };
        /**
         * Approvals were destroyed for given asset.
         */
        "ApprovalsDestroyed": {
            "asset_id": number;
            "approvals_destroyed": number;
            "approvals_remaining": number;
        };
        /**
         * An asset class is in the process of being destroyed.
         */
        "DestructionStarted": Anonymize<Ia5le7udkgbaq9>;
        /**
         * An asset class was destroyed.
         */
        "Destroyed": Anonymize<Ia5le7udkgbaq9>;
        /**
         * Some asset class was force-created.
         */
        "ForceCreated": {
            "asset_id": number;
            "owner": SS58String;
        };
        /**
         * New metadata has been set for an asset.
         */
        "MetadataSet": {
            "asset_id": number;
            "name": Uint8Array;
            "symbol": Uint8Array;
            "decimals": number;
            "is_frozen": boolean;
        };
        /**
         * Metadata has been cleared for an asset.
         */
        "MetadataCleared": Anonymize<Ia5le7udkgbaq9>;
        /**
         * (Additional) funds have been approved for transfer to a destination account.
         */
        "ApprovedTransfer": {
            "asset_id": number;
            "source": SS58String;
            "delegate": SS58String;
            "amount": bigint;
        };
        /**
         * An approval for account `delegate` was cancelled by `owner`.
         */
        "ApprovalCancelled": {
            "asset_id": number;
            "owner": SS58String;
            "delegate": SS58String;
        };
        /**
         * An `amount` was transferred in its entirety from `owner` to `destination` by
         * the approved `delegate`.
         */
        "TransferredApproved": {
            "asset_id": number;
            "owner": SS58String;
            "delegate": SS58String;
            "destination": SS58String;
            "amount": bigint;
        };
        /**
         * An asset has had its attributes changed by the `Force` origin.
         */
        "AssetStatusChanged": Anonymize<Ia5le7udkgbaq9>;
        /**
         * The min_balance of an asset has been updated by the asset owner.
         */
        "AssetMinBalanceChanged": {
            "asset_id": number;
            "new_min_balance": bigint;
        };
        /**
         * Some account `who` was created with a deposit from `depositor`.
         */
        "Touched": {
            "asset_id": number;
            "who": SS58String;
            "depositor": SS58String;
        };
        /**
         * Some account `who` was blocked.
         */
        "Blocked": Anonymize<If4ebvclj2ugvi>;
        /**
         * Some assets were deposited (e.g. for transaction fees).
         */
        "Deposited": {
            "asset_id": number;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Some assets were withdrawn from the account (e.g. for transaction fees).
         */
        "Withdrawn": {
            "asset_id": number;
            "who": SS58String;
            "amount": bigint;
        };
        /**
         * Reserve information was set or updated for `asset_id`.
         */
        "ReservesUpdated": {
            "asset_id": number;
            "reserves": Anonymize<I35l6p7kq19mr0>;
        };
        /**
         * Reserve information was removed for `asset_id`.
         */
        "ReservesRemoved": Anonymize<Ia5le7udkgbaq9>;
    }>;
    "AssetConversion": Enum<{
        /**
         * A successful call of the `CreatePool` extrinsic will create this event.
         */
        "PoolCreated": {
            /**
             * The account that created the pool.
             */
            "creator": SS58String;
            /**
             * The pool id associated with the pool. Note that the order of the assets may not be
             * the same as the order specified in the create pool extrinsic.
             */
            "pool_id": Anonymize<If21n82i0516em>;
            /**
             * The account ID of the pool.
             */
            "pool_account": SS58String;
            /**
             * The id of the liquidity tokens that will be minted when assets are added to this
             * pool.
             */
            "lp_token": number;
        };
        /**
         * A successful call of the `AddLiquidity` extrinsic will create this event.
         */
        "LiquidityAdded": {
            /**
             * The account that the liquidity was taken from.
             */
            "who": SS58String;
            /**
             * The account that the liquidity tokens were minted to.
             */
            "mint_to": SS58String;
            /**
             * The pool id of the pool that the liquidity was added to.
             */
            "pool_id": Anonymize<If21n82i0516em>;
            /**
             * The amount of the first asset that was added to the pool.
             */
            "amount1_provided": bigint;
            /**
             * The amount of the second asset that was added to the pool.
             */
            "amount2_provided": bigint;
            /**
             * The id of the lp token that was minted.
             */
            "lp_token": number;
            /**
             * The amount of lp tokens that were minted of that id.
             */
            "lp_token_minted": bigint;
        };
        /**
         * A successful call of the `RemoveLiquidity` extrinsic will create this event.
         */
        "LiquidityRemoved": {
            /**
             * The account that the liquidity tokens were burned from.
             */
            "who": SS58String;
            /**
             * The account that the assets were transferred to.
             */
            "withdraw_to": SS58String;
            /**
             * The pool id that the liquidity was removed from.
             */
            "pool_id": Anonymize<If21n82i0516em>;
            /**
             * The amount of the first asset that was removed from the pool.
             */
            "amount1": bigint;
            /**
             * The amount of the second asset that was removed from the pool.
             */
            "amount2": bigint;
            /**
             * The id of the lp token that was burned.
             */
            "lp_token": number;
            /**
             * The amount of lp tokens that were burned of that id.
             */
            "lp_token_burned": bigint;
            /**
             * Liquidity withdrawal fee (%).
             */
            "withdrawal_fee": number;
        };
        /**
         * Assets have been converted from one to another. Both `SwapExactTokenForToken`
         * and `SwapTokenForExactToken` will generate this event.
         */
        "SwapExecuted": {
            /**
             * Which account was the instigator of the swap.
             */
            "who": SS58String;
            /**
             * The account that the assets were transferred to.
             */
            "send_to": SS58String;
            /**
             * The amount of the first asset that was swapped.
             */
            "amount_in": bigint;
            /**
             * The amount of the second asset that was received.
             */
            "amount_out": bigint;
            /**
             * The route of asset IDs with amounts that the swap went through.
             * E.g. (A, amount_in) -> (Dot, amount_out) -> (B, amount_out)
             */
            "path": Anonymize<I7egh93q89718t>;
        };
        /**
         * Assets have been converted from one to another.
         */
        "SwapCreditExecuted": {
            /**
             * The amount of the first asset that was swapped.
             */
            "amount_in": bigint;
            /**
             * The amount of the second asset that was received.
             */
            "amount_out": bigint;
            /**
             * The route of asset IDs with amounts that the swap went through.
             * E.g. (A, amount_in) -> (Dot, amount_out) -> (B, amount_out)
             */
            "path": Anonymize<I7egh93q89718t>;
        };
        /**
         * Pool has been touched in order to fulfill operational requirements.
         */
        "Touched": {
            /**
             * The ID of the pool.
             */
            "pool_id": Anonymize<If21n82i0516em>;
            /**
             * The account initiating the touch.
             */
            "who": SS58String;
        };
    }>;
    "Treasury": Enum<{
        /**
         * We have ended a spend period and will now allocate funds.
         */
        "Spending": Anonymize<I8iksqi3eani0a>;
        /**
         * Some funds have been allocated.
         */
        "Awarded": Anonymize<I16enopmju1p0q>;
        /**
         * Some of our funds have been burnt.
         */
        "Burnt": Anonymize<I43kq8qudg7pq9>;
        /**
         * Spending has finished; this is the amount that rolls over until next spend.
         */
        "Rollover": Anonymize<I76riseemre533>;
        /**
         * Some funds have been deposited.
         */
        "Deposit": Anonymize<Ie5v6njpckr05b>;
        /**
         * A new spend proposal has been approved.
         */
        "SpendApproved": Anonymize<I38bmcrmh852rk>;
        /**
         * The inactive funds of the pallet have been updated.
         */
        "UpdatedInactive": Anonymize<I4hcillge8de5f>;
        /**
         * A new asset spend proposal has been approved.
         */
        "AssetSpendApproved": {
            "index": number;
            "asset_kind": Anonymize<I2q3ri6itcjj5u>;
            "amount": bigint;
            "beneficiary": Anonymize<I11rphme8avgla>;
            "valid_from": number;
            "expire_at": number;
        };
        /**
         * An approved spend was voided.
         */
        "AssetSpendVoided": Anonymize<I666bl2fqjkejo>;
        /**
         * A payment happened.
         */
        "Paid": {
            "index": number;
            "payment_id": bigint;
        };
        /**
         * A payment failed and can be retried.
         */
        "PaymentFailed": {
            "index": number;
            "payment_id": bigint;
        };
        /**
         * A spend was processed and removed from the storage. It might have been successfully
         * paid or it may have expired.
         */
        "SpendProcessed": Anonymize<I666bl2fqjkejo>;
    }>;
    "ConvictionVoting": Enum<{
        /**
         * An account has delegated their vote to another account. \[who, target\]
         */
        "Delegated": [SS58String, SS58String, number];
        /**
         * An \[account\] has cancelled a previous delegation operation.
         */
        "Undelegated": Anonymize<I6ouflveob4eli>;
        /**
         * An account has voted
         */
        "Voted": {
            "who": SS58String;
            "vote": ConvictionVotingVoteAccountVote;
            "poll_index": number;
        };
        /**
         * A vote has been removed
         */
        "VoteRemoved": {
            "who": SS58String;
            "vote": ConvictionVotingVoteAccountVote;
            "poll_index": number;
        };
        /**
         * The lockup period of a conviction vote expired, and the funds have been unlocked.
         */
        "VoteUnlocked": Anonymize<I7kij8p9kchdjo>;
    }>;
    "Referenda": Anonymize<Idfraa3b4eu018>;
    "Whitelist": Enum<{
        "CallWhitelisted": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallRemoved": Anonymize<I1adbcfi5uc62r>;
        "WhitelistedCallDispatched": {
            "call_hash": SizedHex<32>;
            "result": Anonymize<I8qut0vnc0llm1>;
        };
    }>;
    "Bounties": Enum<{
        /**
         * New bounty proposal.
         */
        "BountyProposed": Anonymize<I666bl2fqjkejo>;
        /**
         * A bounty proposal was rejected; funds were slashed.
         */
        "BountyRejected": {
            "index": number;
            "bond": bigint;
        };
        /**
         * A bounty proposal is funded and became active.
         */
        "BountyBecameActive": Anonymize<I666bl2fqjkejo>;
        /**
         * A bounty is awarded to a beneficiary.
         */
        "BountyAwarded": {
            "index": number;
            "beneficiary": SS58String;
        };
        /**
         * A bounty is claimed by beneficiary.
         */
        "BountyClaimed": {
            "index": number;
            "payout": bigint;
            "beneficiary": SS58String;
        };
        /**
         * A bounty is cancelled.
         */
        "BountyCanceled": Anonymize<I666bl2fqjkejo>;
        /**
         * A bounty expiry is extended.
         */
        "BountyExtended": Anonymize<I666bl2fqjkejo>;
        /**
         * A bounty is approved.
         */
        "BountyApproved": Anonymize<I666bl2fqjkejo>;
        /**
         * A bounty curator is proposed.
         */
        "CuratorProposed": {
            "bounty_id": number;
            "curator": SS58String;
        };
        /**
         * A bounty curator is unassigned.
         */
        "CuratorUnassigned": Anonymize<Ia9p5bg6p18r0i>;
        /**
         * A bounty curator is accepted.
         */
        "CuratorAccepted": {
            "bounty_id": number;
            "curator": SS58String;
        };
        /**
         * A bounty deposit has been poked.
         */
        "DepositPoked": {
            "bounty_id": number;
            "proposer": SS58String;
            "old_deposit": bigint;
            "new_deposit": bigint;
        };
    }>;
    "ChildBounties": ChildBountiesEvent;
    "AssetRate": Enum<{
        "AssetRateCreated": Anonymize<I9c4d50jrp7as1>;
        "AssetRateRemoved": Anonymize<Ifplevr9hp8jo3>;
        "AssetRateUpdated": {
            "asset_kind": Anonymize<I2q3ri6itcjj5u>;
            "old": bigint;
            "new": bigint;
        };
    }>;
    "MultiAssetBounties": Enum<{
        /**
         * A new bounty was created and funding has been initiated.
         */
        "BountyCreated": Anonymize<I666bl2fqjkejo>;
        /**
         * A new child-bounty was created and funding has been initiated.
         */
        "ChildBountyCreated": Anonymize<I60p8l86a8cm59>;
        /**
         * The curator accepted role and child-/bounty became active.
         */
        "BountyBecameActive": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
            "curator": SS58String;
        };
        /**
         * A child-/bounty was awarded to a beneficiary.
         */
        "BountyAwarded": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
            "beneficiary": Anonymize<I11rphme8avgla>;
        };
        /**
         * Payout payment to the beneficiary has concluded successfully.
         */
        "BountyPayoutProcessed": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
            "asset_kind": Anonymize<I2q3ri6itcjj5u>;
            "value": bigint;
            "beneficiary": Anonymize<I11rphme8avgla>;
        };
        /**
         * Funding payment has concluded successfully.
         */
        "BountyFundingProcessed": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Refund payment has concluded successfully.
         */
        "BountyRefundProcessed": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * A child-/bounty was cancelled.
         */
        "BountyCanceled": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * A child-/bounty curator was unassigned.
         */
        "CuratorUnassigned": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * A child-/bounty curator was proposed.
         */
        "CuratorProposed": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
            "curator": SS58String;
        };
        /**
         * A payment failed and can be retried.
         */
        "PaymentFailed": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
            "payment_id": bigint;
        };
        /**
         * A payment happened and can be checked.
         */
        "Paid": {
            "index": number;
            "child_index"?: Anonymize<I4arjljr6dpflb>;
            "payment_id": bigint;
        };
    }>;
    "StateTrieMigration": Anonymize<I61dksvl51aujo>;
    "NominationPools": Enum<{
        /**
         * A pool has been created.
         */
        "Created": {
            "depositor": SS58String;
            "pool_id": number;
        };
        /**
         * A member has became bonded in a pool.
         */
        "Bonded": {
            "member": SS58String;
            "pool_id": number;
            "bonded": bigint;
            "joined": boolean;
        };
        /**
         * A payout has been made to a member.
         */
        "PaidOut": {
            "member": SS58String;
            "pool_id": number;
            "payout": bigint;
        };
        /**
         * A member has unbonded from their pool.
         *
         * - `balance` is the corresponding balance of the number of points that has been
         * requested to be unbonded (the argument of the `unbond` transaction) from the bonded
         * pool.
         * - `points` is the number of points that are issued as a result of `balance` being
         * dissolved into the corresponding unbonding pool.
         * - `era` is the era in which the balance will be unbonded.
         * In the absence of slashing, these values will match. In the presence of slashing, the
         * number of points that are issued in the unbonding pool will be less than the amount
         * requested to be unbonded.
         */
        "Unbonded": {
            "member": SS58String;
            "pool_id": number;
            "balance": bigint;
            "points": bigint;
            "era": number;
        };
        /**
         * A member has withdrawn from their pool.
         *
         * The given number of `points` have been dissolved in return of `balance`.
         *
         * Similar to `Unbonded` event, in the absence of slashing, the ratio of point to balance
         * will be 1.
         */
        "Withdrawn": {
            "member": SS58String;
            "pool_id": number;
            "balance": bigint;
            "points": bigint;
        };
        /**
         * A pool has been destroyed.
         */
        "Destroyed": Anonymize<I931cottvong90>;
        /**
         * The state of a pool has changed
         */
        "StateChanged": {
            "pool_id": number;
            "new_state": NominationPoolsPoolState;
        };
        /**
         * A member has been removed from a pool.
         *
         * The removal can be voluntary (withdrawn all unbonded funds) or involuntary (kicked).
         * Any funds that are still delegated (i.e. dangling delegation) are released and are
         * represented by `released_balance`.
         */
        "MemberRemoved": {
            "pool_id": number;
            "member": SS58String;
            "released_balance": bigint;
        };
        /**
         * The roles of a pool have been updated to the given new roles. Note that the depositor
         * can never change.
         */
        "RolesUpdated": {
            "root"?: Anonymize<Ihfphjolmsqq1>;
            "bouncer"?: Anonymize<Ihfphjolmsqq1>;
            "nominator"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * The active balance of pool `pool_id` has been slashed to `balance`.
         */
        "PoolSlashed": {
            "pool_id": number;
            "balance": bigint;
        };
        /**
         * The unbond pool at `era` of pool `pool_id` has been slashed to `balance`.
         */
        "UnbondingPoolSlashed": {
            "pool_id": number;
            "era": number;
            "balance": bigint;
        };
        /**
         * A pool's commission setting has been changed.
         */
        "PoolCommissionUpdated": {
            "pool_id": number;
            "current"?: Anonymize<Ie8iutm7u02lmj>;
        };
        /**
         * A pool's maximum commission setting has been changed.
         */
        "PoolMaxCommissionUpdated": Anonymize<I8cbluptqo8kbp>;
        /**
         * A pool's commission `change_rate` has been changed.
         */
        "PoolCommissionChangeRateUpdated": Anonymize<I81cc4plffa1dm>;
        /**
         * Pool commission claim permission has been updated.
         */
        "PoolCommissionClaimPermissionUpdated": Anonymize<I3ihan8icf0c5k>;
        /**
         * Pool commission has been claimed.
         */
        "PoolCommissionClaimed": {
            "pool_id": number;
            "commission": bigint;
        };
        /**
         * Topped up deficit in frozen ED of the reward pool.
         */
        "MinBalanceDeficitAdjusted": Anonymize<Ieg1oc56mamrl5>;
        /**
         * Claimed excess frozen ED of af the reward pool.
         */
        "MinBalanceExcessAdjusted": Anonymize<Ieg1oc56mamrl5>;
        /**
         * A pool member's claim permission has been updated.
         */
        "MemberClaimPermissionUpdated": {
            "member": SS58String;
            "permission": NominationPoolsClaimPermission;
        };
        /**
         * A pool's metadata was updated.
         */
        "MetadataUpdated": {
            "pool_id": number;
            "caller": SS58String;
        };
        /**
         * A pool's nominating account (or the pool's root account) has nominated a validator set
         * on behalf of the pool.
         */
        "PoolNominationMade": {
            "pool_id": number;
            "caller": SS58String;
        };
        /**
         * The pool is chilled i.e. no longer nominating.
         */
        "PoolNominatorChilled": {
            "pool_id": number;
            "caller": SS58String;
        };
        /**
         * Global parameters regulating nomination pools have been updated.
         */
        "GlobalParamsUpdated": {
            "min_join_bond": bigint;
            "min_create_bond": bigint;
            "max_pools"?: Anonymize<I4arjljr6dpflb>;
            "max_members"?: Anonymize<I4arjljr6dpflb>;
            "max_members_per_pool"?: Anonymize<I4arjljr6dpflb>;
            "global_max_commission"?: Anonymize<I4arjljr6dpflb>;
        };
    }>;
    "VoterList": BagsListEvent;
    "DelegatedStaking": Enum<{
        /**
         * Funds delegated by a delegator.
         */
        "Delegated": Anonymize<Id2aanom2jncf1>;
        /**
         * Funds released to a delegator.
         */
        "Released": Anonymize<Id2aanom2jncf1>;
        /**
         * Funds slashed from a delegator.
         */
        "Slashed": Anonymize<Id2aanom2jncf1>;
        /**
         * Unclaimed delegation funds migrated to delegator.
         */
        "MigratedDelegation": Anonymize<Id2aanom2jncf1>;
    }>;
    "StakingRcClient": Enum<{
        /**
         * A said session report was received.
         */
        "SessionReportReceived": {
            "end_index": number;
            "activation_timestamp"?: Anonymize<I76de2jfh8ds4a>;
            "validator_points_counts": number;
            "leftover": boolean;
        };
        /**
         * A new offence was reported.
         */
        "OffenceReceived": {
            "slash_session": number;
            "offences_count": number;
        };
        /**
         * Fees were charged for a user operation (set_keys or purge_keys).
         *
         * The fee includes both XCM delivery fee and relay chain execution cost.
         */
        "FeesPaid": {
            "who": SS58String;
            "fees": bigint;
        };
        /**
         * Something occurred that should never happen under normal operation.
         * Logged as an event for fail-safe observability.
         */
        "Unexpected": Enum<{
            "SessionReportIntegrityFailed": undefined;
            "ValidatorSetIntegrityFailed": undefined;
            "SessionSkipped": undefined;
            "SessionAlreadyProcessed": undefined;
            "ValidatorSetSendFailed": undefined;
            "ValidatorSetDropped": undefined;
        }>;
    }>;
    "MultiBlockElection": Enum<{
        /**
         * A phase transition happened. Only checks major changes in the variants, not minor inner
         * values.
         */
        "PhaseTransitioned": {
            /**
             * the source phase
             */
            "from": Anonymize<I7d4qtdlascfk8>;
            /**
             * The target phase
             */
            "to": Anonymize<I7d4qtdlascfk8>;
        };
        /**
         * Target snapshot creation failed
         */
        "UnexpectedTargetSnapshotFailed": undefined;
        /**
         * Voter snapshot creation failed
         */
        "UnexpectedVoterSnapshotFailed": undefined;
    }>;
    "MultiBlockElectionVerifier": Enum<{
        /**
         * A verification failed at the given page.
         *
         * NOTE: if the index is 0, then this could mean either the feasibility of the last page
         * was wrong, or the final checks of `finalize_verification` failed.
         */
        "VerificationFailed": [number, Enum<{
            "WrongWinnerCount": undefined;
            "SnapshotUnavailable": undefined;
            "InvalidVote": undefined;
            "InvalidVoter": undefined;
            "InvalidWinner": undefined;
            "InvalidScore": undefined;
            "InvalidRound": undefined;
            "ScoreTooLow": undefined;
            "FailedToBoundSupport": undefined;
            "NposElection": Enum<{
                "SolutionWeightOverflow": undefined;
                "SolutionTargetOverflow": undefined;
                "SolutionInvalidIndex": undefined;
                "SolutionInvalidPageIndex": undefined;
                "ArithmeticError": undefined;
                "InvalidSupportEdge": undefined;
                "TooManyVoters": undefined;
                "BoundsExceeded": undefined;
                "DuplicateVoter": undefined;
                "DuplicateTarget": undefined;
            }>;
            "Incomplete": undefined;
        }>];
        /**
         * The given page of a solution has been verified, with the given number of winners being
         * found in it.
         */
        "Verified": Anonymize<I9jd27rnpm8ttv>;
        /**
         * A solution with the given score has replaced our current best solution.
         */
        "Queued": [Anonymize<I8s6n43okuj2b1>, (Anonymize<I8s6n43okuj2b1>) | undefined];
    }>;
    "MultiBlockElectionSigned": Enum<{
        /**
         * Upcoming submission has been registered for the given account, with the given score.
         */
        "Registered": [number, SS58String, Anonymize<I8s6n43okuj2b1>];
        /**
         * A page of solution solution with the given index has been stored for the given account.
         */
        "Stored": [number, SS58String, number];
        /**
         * The given account has been rewarded with the given amount.
         */
        "Rewarded": [number, SS58String, bigint];
        /**
         * The given account has been slashed with the given amount.
         */
        "Slashed": [number, SS58String, bigint];
        /**
         * The given solution, for the given round, was ejected.
         */
        "Ejected": Anonymize<I7svnfko10tq2e>;
        /**
         * The given account has been discarded.
         */
        "Discarded": Anonymize<I7svnfko10tq2e>;
        /**
         * The given account has bailed.
         */
        "Bailed": Anonymize<I7svnfko10tq2e>;
    }>;
    "Staking": Enum<{
        /**
         * The era payout has been set; the first balance is the validator-payout; the second is
         * the remainder from the maximum amount of reward.
         */
        "EraPaid": {
            "era_index": number;
            "validator_payout": bigint;
            "remainder": bigint;
        };
        /**
         * The nominator has been rewarded by this amount to this destination.
         */
        "Rewarded": {
            "stash": SS58String;
            "dest": StakingRewardDestination;
            "amount": bigint;
        };
        /**
         * A staker (validator or nominator) has been slashed by the given amount.
         */
        "Slashed": {
            "staker": SS58String;
            "amount": bigint;
        };
        /**
         * An old slashing report from a prior era was discarded because it could
         * not be processed.
         */
        "OldSlashingReportDiscarded": Anonymize<I2hq50pu2kdjpo>;
        /**
         * An account has bonded this amount. \[stash, amount\]
         *
         * NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably,
         * it will not be emitted for staking rewards when they are added to stake.
         */
        "Bonded": {
            "stash": SS58String;
            "amount": bigint;
        };
        /**
         * An account has unbonded this amount.
         */
        "Unbonded": {
            "stash": SS58String;
            "amount": bigint;
        };
        /**
         * An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`
         * from the unlocking queue.
         */
        "Withdrawn": {
            "stash": SS58String;
            "amount": bigint;
        };
        /**
         * A subsequent event of `Withdrawn`, indicating that `stash` was fully removed from the
         * system.
         */
        "StakerRemoved": Anonymize<Idl3umm12u5pa>;
        /**
         * A nominator has been kicked from a validator.
         */
        "Kicked": {
            "nominator": SS58String;
            "stash": SS58String;
        };
        /**
         * An account has stopped participating as either a validator or nominator.
         */
        "Chilled": Anonymize<Idl3umm12u5pa>;
        /**
         * A Page of stakers rewards are getting paid. `next` is `None` if all pages are claimed.
         */
        "PayoutStarted": {
            "era_index": number;
            "validator_stash": SS58String;
            "page": number;
            "next"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * A validator has set their preferences.
         */
        "ValidatorPrefsSet": {
            "stash": SS58String;
            "prefs": Anonymize<I9o7ssi9vmhmgr>;
        };
        /**
         * Voters size limit reached.
         */
        "SnapshotVotersSizeExceeded": {
            "size": number;
        };
        /**
         * Targets size limit reached.
         */
        "SnapshotTargetsSizeExceeded": {
            "size": number;
        };
        "ForceEra": {
            "mode": StakingForcing;
        };
        /**
         * Report of a controller batch deprecation.
         */
        "ControllerBatchDeprecated": {
            "failures": number;
        };
        /**
         * Staking balance migrated from locks to holds, with any balance that could not be held
         * is force withdrawn.
         */
        "CurrencyMigrated": {
            "stash": SS58String;
            "force_withdraw": bigint;
        };
        /**
         * A page from a multi-page election was fetched. A number of these are followed by
         * `StakersElected`.
         *
         * `Ok(count)` indicates the give number of stashes were added.
         * `Err(index)` indicates that the stashes after index were dropped.
         * `Err(0)` indicates that an error happened but no stashes were dropped nor added.
         *
         * The error indicates that a number of validators were dropped due to excess size, but
         * the overall election will continue.
         */
        "PagedElectionProceeded": {
            "page": number;
            "result": ResultPayload<number, number>;
        };
        /**
         * An offence for the given validator, for the given percentage of their stake, at the
         * given era as been reported.
         */
        "OffenceReported": {
            "offence_era": number;
            "validator": SS58String;
            "fraction": number;
        };
        /**
         * An offence has been processed and the corresponding slash has been computed.
         */
        "SlashComputed": {
            "offence_era": number;
            "slash_era": number;
            "offender": SS58String;
            "page": number;
        };
        /**
         * An unapplied slash has been cancelled.
         */
        "SlashCancelled": {
            "slash_era": number;
            "validator": SS58String;
        };
        /**
         * Session change has been triggered.
         *
         * If planned_era is one era ahead of active_era, it implies new era is being planned and
         * election is ongoing.
         */
        "SessionRotated": {
            "starting_session": number;
            "active_era": number;
            "planned_era": number;
        };
        /**
         * Something occurred that should never happen under normal operation.
         * Logged as an event for fail-safe observability.
         */
        "Unexpected": Enum<{
            "EraDurationBoundExceeded": undefined;
            "UnknownValidatorActivation": undefined;
        }>;
        /**
         * An offence was reported that was too old to be processed, and thus was dropped.
         */
        "OffenceTooOld": {
            "offence_era": number;
            "validator": SS58String;
            "fraction": number;
        };
        /**
         * An old era with the given index was pruned.
         */
        "EraPruned": Anonymize<I666bl2fqjkejo>;
    }>;
    "Revive": Enum<{
        /**
         * A custom event emitted by the contract.
         */
        "ContractEmitted": {
            /**
             * The contract that emitted the event.
             */
            "contract": SizedHex<20>;
            /**
             * Data supplied by the contract. Metadata generated during contract compilation
             * is needed to decode it.
             */
            "data": Uint8Array;
            /**
             * A list of topics used to index the event.
             * Number of topics is capped by [`limits::NUM_EVENT_TOPICS`].
             */
            "topics": Anonymize<Ic5m5lp1oioo8r>;
        };
        /**
         * Contract deployed by deployer at the specified address.
         */
        "Instantiated": {
            "deployer": SizedHex<20>;
            "contract": SizedHex<20>;
        };
        /**
         * Emitted when an Ethereum transaction reverts.
         *
         * Ethereum transactions always complete successfully at the extrinsic level,
         * as even reverted calls must store their `ReceiptInfo`.
         * To distinguish reverted calls from successful ones, this event is emitted
         * for failed Ethereum transactions.
         */
        "EthExtrinsicRevert": {
            "dispatch_error": Anonymize<I3ct4908m6u4n0>;
        };
    }>;
    "AhOps": Enum<{
        /**
         * Some lease reserve could not be unreserved and needs manual cleanup.
         */
        "LeaseUnreserveRemaining": {
            "depositor": SS58String;
            "para_id": number;
            "remaining": bigint;
        };
        /**
         * Some amount for a crowdloan reserve could not be unreserved and needs manual cleanup.
         */
        "CrowdloanUnreserveRemaining": {
            "depositor": SS58String;
            "para_id": number;
            "remaining": bigint;
        };
        /**
         * A sovereign parachain account has been migrated from its child to sibling
         * representation.
         */
        "SovereignMigrated": {
            /**
             * The parachain ID that had its account migrated.
             */
            "para_id": number;
            /**
             * The old account that was migrated out of.
             */
            "from": SS58String;
            /**
             * The new account that was migrated into.
             */
            "to": SS58String;
            /**
             * The derivation path that was used to translate the account.
             */
            "derivation_path": Anonymize<Icgljjb6j82uhn>;
        };
        /**
         * Failed to re-bond some migrated funds.
         */
        "FailedToBond": Anonymize<Ic262ibdoec56a>;
    }>;
    "AhMigrator": Enum<{
        /**
         * A stage transition has occurred.
         */
        "StageTransition": {
            /**
             * The old stage before the transition.
             */
            "old": Anonymize<I9134mhoe91oet>;
            /**
             * The new stage after the transition.
             */
            "new": Anonymize<I9134mhoe91oet>;
        };
        /**
         * We received a batch of messages that will be integrated into a pallet.
         */
        "BatchReceived": {
            "pallet": Anonymize<Ia3mrvoqdlvsog>;
            "count": number;
        };
        /**
         * We processed a batch of messages for this pallet.
         */
        "BatchProcessed": {
            "pallet": Anonymize<Ia3mrvoqdlvsog>;
            "count_good": number;
            "count_bad": number;
        };
        /**
         * The Asset Hub Migration started and is active until `AssetHubMigrationFinished` is
         * emitted.
         *
         * This event is equivalent to `StageTransition { new: DataMigrationOngoing, .. }` but is
         * easier to understand. The activation is immediate and affects all events happening
         * afterwards.
         */
        "AssetHubMigrationStarted": undefined;
        /**
         * The Asset Hub Migration finished.
         *
         * This event is equivalent to `StageTransition { new: MigrationDone, .. }` but is easier
         * to understand. The finishing is immediate and affects all events happening
         * afterwards.
         */
        "AssetHubMigrationFinished": undefined;
        /**
         * Whether the DMP queue was prioritized for the next block.
         */
        "DmpQueuePrioritySet": {
            /**
             * Indicates if DMP queue was successfully set as priority.
             * If `false`, it means we're in the round-robin phase of our priority pattern
             * (see [`Config::DmpQueuePriorityPattern`]), where no queue gets priority.
             */
            "prioritized": boolean;
            /**
             * Current block number within the pattern cycle (1 to period).
             */
            "cycle_block": number;
            /**
             * Total number of blocks in the pattern cycle
             */
            "cycle_period": number;
        };
        /**
         * The DMP queue priority config was set.
         */
        "DmpQueuePriorityConfigSet": {
            /**
             * The old priority pattern.
             */
            "old": Anonymize<I2fbmombro6ugg>;
            /**
             * The new priority pattern.
             */
            "new": Anonymize<I2fbmombro6ugg>;
        };
        /**
         * The balances before the migration were recorded.
         */
        "BalancesBeforeRecordSet": {
            "checking_account": bigint;
            "total_issuance": bigint;
        };
        /**
         * The balances before the migration were consumed.
         */
        "BalancesBeforeRecordConsumed": {
            "checking_account": bigint;
            "total_issuance": bigint;
        };
        /**
         * A referendum was cancelled because it could not be mapped.
         */
        "ReferendumCanceled": Anonymize<Ic5b47dj4coa3r>;
        /**
         * The manager account id was set.
         */
        "ManagerSet": {
            /**
             * The old manager account id.
             */
            "old"?: Anonymize<Ihfphjolmsqq1>;
            /**
             * The new manager account id.
             */
            "new"?: Anonymize<Ihfphjolmsqq1>;
        };
        "AccountTranslatedParachainSovereign": {
            "from": SS58String;
            "to": SS58String;
        };
        "AccountTranslatedParachainSovereignDerived": {
            "from": SS58String;
            "to": SS58String;
            "derivation_index": number;
        };
        /**
         * An XCM message was sent.
         */
        "XcmSent": Anonymize<If8u5kl4h8070m>;
        /**
         * Failed to unreserve a multisig deposit.
         */
        "FailedToUnreserveMultisigDeposit": {
            /**
             * The expected amount of the deposit that was expected to be unreserved.
             */
            "expected_amount": bigint;
            /**
             * The missing amount of the deposit.
             */
            "missing_amount": bigint;
            /**
             * The account that the deposit was unreserved from.
             */
            "account": SS58String;
        };
        /**
         * Failed to unreserve a legacy status preimage deposit.
         */
        "FailedToUnreservePreimageDeposit": {
            /**
             * The expected amount of the deposit that was expected to be unreserved.
             */
            "expected_amount": bigint;
            /**
             * The missing amount of the deposit.
             */
            "missing_amount": bigint;
            /**
             * The account that the deposit was unreserved from.
             */
            "account": SS58String;
        };
    }>;
}>;
export type I3ct4908m6u4n0 = AnonymousEnum<{
    "Other": undefined;
    "CannotLookup": undefined;
    "BadOrigin": undefined;
    "Module": Enum<{
        "System": Anonymize<Icl8d9d3sgv21g>;
        "ParachainSystem": Anonymize<Icjkr35j4tmg7k>;
        "Preimage": Anonymize<I4cfhml1prt4lu>;
        "Scheduler": Anonymize<If7oa8fprnilo5>;
        "MultiBlockMigrations": Anonymize<Iaaqq5jevtahm8>;
        "Balances": Anonymize<Idj13i7adlomht>;
        "Vesting": Anonymize<Icof2acl69lq3c>;
        "Claims": Anonymize<Ijh2jbbqvb176>;
        "CollatorSelection": Anonymize<I36bcffk2387dv>;
        "Session": Anonymize<I1e07dgbaqd1sq>;
        "XcmpQueue": Anonymize<Idnnbndsjjeqqs>;
        "PolkadotXcm": Anonymize<I4vcvo9od6afmt>;
        "MessageQueue": Anonymize<I5iupade5ag2dp>;
        "SnowbridgeSystemFrontend": Anonymize<Idqkarp7hi55vf>;
        "Utility": Anonymize<I8dt2g2hcrgh36>;
        "Multisig": Anonymize<Ia76qmhhg4jvb9>;
        "Proxy": Anonymize<Iuvt54ei4cehc>;
        "Indices": Anonymize<Icq1825fru3di2>;
        "Assets": Anonymize<I8ktb7n3252jn5>;
        "Uniques": Anonymize<Ie9ou99obd2hgv>;
        "Nfts": Anonymize<I58r1150kmj18u>;
        "ForeignAssets": Anonymize<I8ktb7n3252jn5>;
        "PoolAssets": Anonymize<I8ktb7n3252jn5>;
        "AssetConversion": Anonymize<I4u78hb23uhvi2>;
        "Treasury": Anonymize<I36uss0m9fpcsf>;
        "ConvictionVoting": Anonymize<Idfa8k8ikssbsf>;
        "Referenda": Anonymize<I84u4ul208g742>;
        "Whitelist": Anonymize<I15nctscutpbeh>;
        "Bounties": Anonymize<I6cac4658fiknc>;
        "ChildBounties": Anonymize<I4u5ou5u3tthff>;
        "AssetRate": Anonymize<I3qgd61cgli6cp>;
        "MultiAssetBounties": Anonymize<Idkclbbe1igg42>;
        "StateTrieMigration": Anonymize<I96objte63brjr>;
        "NominationPools": Anonymize<Iuudu4kursojc>;
        "VoterList": Anonymize<I2e4fekrkcdej2>;
        "DelegatedStaking": Anonymize<Iaogv3iimefnis>;
        "StakingRcClient": Anonymize<I1ucg3dr90s1tp>;
        "MultiBlockElection": Anonymize<I6gonitoaqpiua>;
        "MultiBlockElectionSigned": Anonymize<I9i66md365gdq9>;
        "Staking": Anonymize<Icftpn34uf5f21>;
        "Revive": Anonymize<I54rjnlnsa98ib>;
        "AhOps": Anonymize<Ibl4g7bmj805f>;
        "AhMigrator": Anonymize<Icrtfjqr0ect81>;
    }>;
    "ConsumerRemaining": undefined;
    "NoProviders": undefined;
    "TooManyConsumers": undefined;
    "Token": TokenError;
    "Arithmetic": ArithmeticError;
    "Transactional": TransactionalError;
    "Exhausted": undefined;
    "Corruption": undefined;
    "Unavailable": undefined;
    "RootNotAllowed": undefined;
    "Trie": Anonymize<Idh4cj79bvroj8>;
}>;
export type Icl8d9d3sgv21g = 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;
    /**
     * The specified [`Task`] is not valid.
     */
    "InvalidTask": undefined;
    /**
     * The specified [`Task`] failed during execution.
     */
    "FailedTask": undefined;
    /**
     * No upgrade authorized.
     */
    "NothingAuthorized": undefined;
    /**
     * The submitted code is not authorized.
     */
    "Unauthorized": undefined;
}>;
export type Icof2acl69lq3c = AnonymousEnum<{
    /**
     * The account given is not vesting.
     */
    "NotVesting": undefined;
    /**
     * The account already has `MaxVestingSchedules` count of schedules and thus
     * cannot add another one. Consider merging existing schedules in order to add another.
     */
    "AtMaxVestingSchedules": undefined;
    /**
     * Amount being transferred is too low to create a vesting schedule.
     */
    "AmountLow": undefined;
    /**
     * An index was out of bounds of the vesting schedules.
     */
    "ScheduleIndexOutOfBounds": undefined;
    /**
     * Failed to create a new schedule because some parameter was invalid.
     */
    "InvalidScheduleParams": undefined;
}>;
export type Ijh2jbbqvb176 = AnonymousEnum<{
    /**
     * Invalid Ethereum signature.
     */
    "InvalidEthereumSignature": undefined;
    /**
     * Ethereum address has no claim.
     */
    "SignerHasNoClaim": undefined;
    /**
     * Account ID sending transaction has no claim.
     */
    "SenderHasNoClaim": undefined;
    /**
     * There's not enough in the pot to pay out some unvested amount. Generally implies a
     * logic error.
     */
    "PotUnderflow": undefined;
    /**
     * A needed statement was not included.
     */
    "InvalidStatement": undefined;
    /**
     * The account already has a vested balance.
     */
    "VestedBalanceExists": undefined;
}>;
export type Idqkarp7hi55vf = AnonymousEnum<{
    /**
     * Convert versioned location failure
     */
    "UnsupportedLocationVersion": undefined;
    /**
     * Check location failure, should start from the dispatch origin as owner
     */
    "InvalidAssetOwner": undefined;
    /**
     * Send xcm message failure
     */
    "SendFailure": undefined;
    /**
     * Withdraw fee asset failure
     */
    "FeesNotMet": undefined;
    /**
     * Convert to reanchored location failure
     */
    "LocationConversionFailed": undefined;
    /**
     * Message export is halted
     */
    "Halted": undefined;
    /**
     * The desired destination was unreachable, generally because there is a no way of routing
     * to it.
     */
    "Unreachable": undefined;
    /**
     * The asset provided for the tip is unsupported.
     */
    "UnsupportedAsset": undefined;
    /**
     * Unable to withdraw asset.
     */
    "WithdrawError": undefined;
    /**
     * Account could not be converted to a location.
     */
    "InvalidAccount": undefined;
    /**
     * Provided tip asset could not be swapped for ether.
     */
    "SwapError": undefined;
    /**
     * Ether could not be burned.
     */
    "BurnError": undefined;
    /**
     * The tip provided is zero.
     */
    "TipAmountZero": undefined;
}>;
export type Icq1825fru3di2 = AnonymousEnum<{
    /**
     * The index was not already assigned.
     */
    "NotAssigned": undefined;
    /**
     * The index is assigned to another account.
     */
    "NotOwner": undefined;
    /**
     * The index was not available.
     */
    "InUse": undefined;
    /**
     * The source and destination accounts are identical.
     */
    "NotTransfer": undefined;
    /**
     * The index is permanent and may not be freed/changed.
     */
    "Permanent": undefined;
}>;
export type I8ktb7n3252jn5 = AnonymousEnum<{
    /**
     * Account balance must be greater than or equal to the transfer amount.
     */
    "BalanceLow": undefined;
    /**
     * The account to alter does not exist.
     */
    "NoAccount": undefined;
    /**
     * The signing account has no permission to do the operation.
     */
    "NoPermission": undefined;
    /**
     * The given asset ID is unknown.
     */
    "Unknown": undefined;
    /**
     * The origin account is frozen.
     */
    "Frozen": undefined;
    /**
     * The asset ID is already taken.
     */
    "InUse": undefined;
    /**
     * Invalid witness data given.
     */
    "BadWitness": undefined;
    /**
     * Minimum balance should be non-zero.
     */
    "MinBalanceZero": undefined;
    /**
     * Unable to increment the consumer reference counters on the account. Either no provider
     * reference exists to allow a non-zero balance of a non-self-sufficient asset, or one
     * fewer then the maximum number of consumers has been reached.
     */
    "UnavailableConsumer": undefined;
    /**
     * Invalid metadata given.
     */
    "BadMetadata": undefined;
    /**
     * No approval exists that would allow the transfer.
     */
    "Unapproved": undefined;
    /**
     * The source account would not survive the transfer and it needs to stay alive.
     */
    "WouldDie": undefined;
    /**
     * The asset-account already exists.
     */
    "AlreadyExists": undefined;
    /**
     * The asset-account doesn't have an associated deposit.
     */
    "NoDeposit": undefined;
    /**
     * The operation would result in funds being burned.
     */
    "WouldBurn": undefined;
    /**
     * The asset is a live asset and is actively being used. Usually emit for operations such
     * as `start_destroy` which require the asset to be in a destroying state.
     */
    "LiveAsset": undefined;
    /**
     * The asset is not live, and likely being destroyed.
     */
    "AssetNotLive": undefined;
    /**
     * The asset status is not the expected status.
     */
    "IncorrectStatus": undefined;
    /**
     * The asset should be frozen before the given operation.
     */
    "NotFrozen": undefined;
    /**
     * Callback action resulted in error
     */
    "CallbackFailed": undefined;
    /**
     * The asset ID must be equal to the [`NextAssetId`].
     */
    "BadAssetId": undefined;
    /**
     * The asset cannot be destroyed because some accounts for this asset contain freezes.
     */
    "ContainsFreezes": undefined;
    /**
     * The asset cannot be destroyed because some accounts for this asset contain holds.
     */
    "ContainsHolds": undefined;
    /**
     * Tried setting too many reserves.
     */
    "TooManyReserves": undefined;
}>;
export type I58r1150kmj18u = 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 approval had a deadline that expired, so the approval isn't valid anymore.
     */
    "ApprovalExpired": undefined;
    /**
     * The owner turned out to be different to what was expected.
     */
    "WrongOwner": undefined;
    /**
     * The witness data given does not match the current state of the chain.
     */
    "BadWitness": undefined;
    /**
     * Collection ID is already taken.
     */
    "CollectionIdInUse": undefined;
    /**
     * Items within that collection are non-transferable.
     */
    "ItemsNonTransferable": undefined;
    /**
     * The provided account is not a delegate.
     */
    "NotDelegate": undefined;
    /**
     * The delegate turned out to be different to what was expected.
     */
    "WrongDelegate": undefined;
    /**
     * No approval exists that would allow the transfer.
     */
    "Unapproved": undefined;
    /**
     * The named owner has not signed ownership acceptance of the collection.
     */
    "Unaccepted": undefined;
    /**
     * The item is locked (non-transferable).
     */
    "ItemLocked": undefined;
    /**
     * Item's attributes are locked.
     */
    "LockedItemAttributes": undefined;
    /**
     * Collection's attributes are locked.
     */
    "LockedCollectionAttributes": undefined;
    /**
     * Item's metadata is locked.
     */
    "LockedItemMetadata": undefined;
    /**
     * Collection's metadata is locked.
     */
    "LockedCollectionMetadata": undefined;
    /**
     * All items have been minted.
     */
    "MaxSupplyReached": undefined;
    /**
     * The max supply is locked and can't be changed.
     */
    "MaxSupplyLocked": undefined;
    /**
     * The provided max supply is less than the number of items a collection already has.
     */
    "MaxSupplyTooSmall": undefined;
    /**
     * The given item ID is unknown.
     */
    "UnknownItem": undefined;
    /**
     * Swap doesn't exist.
     */
    "UnknownSwap": undefined;
    /**
     * The given item has no metadata set.
     */
    "MetadataNotFound": undefined;
    /**
     * The provided attribute can't be found.
     */
    "AttributeNotFound": undefined;
    /**
     * Item is not for sale.
     */
    "NotForSale": undefined;
    /**
     * The provided bid is too low.
     */
    "BidTooLow": undefined;
    /**
     * The item has reached its approval limit.
     */
    "ReachedApprovalLimit": undefined;
    /**
     * The deadline has already expired.
     */
    "DeadlineExpired": undefined;
    /**
     * The duration provided should be less than or equal to `MaxDeadlineDuration`.
     */
    "WrongDuration": undefined;
    /**
     * The method is disabled by system settings.
     */
    "MethodDisabled": undefined;
    /**
     * The provided setting can't be set.
     */
    "WrongSetting": undefined;
    /**
     * Item's config already exists and should be equal to the provided one.
     */
    "InconsistentItemConfig": undefined;
    /**
     * Config for a collection or an item can't be found.
     */
    "NoConfig": undefined;
    /**
     * Some roles were not cleared.
     */
    "RolesNotCleared": undefined;
    /**
     * Mint has not started yet.
     */
    "MintNotStarted": undefined;
    /**
     * Mint has already ended.
     */
    "MintEnded": undefined;
    /**
     * The provided Item was already used for claiming.
     */
    "AlreadyClaimed": undefined;
    /**
     * The provided data is incorrect.
     */
    "IncorrectData": undefined;
    /**
     * The extrinsic was sent by the wrong origin.
     */
    "WrongOrigin": undefined;
    /**
     * The provided signature is incorrect.
     */
    "WrongSignature": undefined;
    /**
     * The provided metadata might be too long.
     */
    "IncorrectMetadata": undefined;
    /**
     * Can't set more attributes per one call.
     */
    "MaxAttributesLimitReached": undefined;
    /**
     * The provided namespace isn't supported in this call.
     */
    "WrongNamespace": undefined;
    /**
     * Can't delete non-empty collections.
     */
    "CollectionNotEmpty": undefined;
    /**
     * The witness data should be provided.
     */
    "WitnessRequired": undefined;
}>;
export type I4u78hb23uhvi2 = AnonymousEnum<{
    /**
     * Provided asset pair is not supported for pool.
     */
    "InvalidAssetPair": undefined;
    /**
     * Pool already exists.
     */
    "PoolExists": undefined;
    /**
     * Desired amount can't be zero.
     */
    "WrongDesiredAmount": undefined;
    /**
     * Provided amount should be greater than or equal to the existential deposit/asset's
     * minimal amount.
     */
    "AmountOneLessThanMinimal": undefined;
    /**
     * Provided amount should be greater than or equal to the existential deposit/asset's
     * minimal amount.
     */
    "AmountTwoLessThanMinimal": undefined;
    /**
     * Reserve needs to always be greater than or equal to the existential deposit/asset's
     * minimal amount.
     */
    "ReserveLeftLessThanMinimal": undefined;
    /**
     * Desired amount can't be equal to the pool reserve.
     */
    "AmountOutTooHigh": undefined;
    /**
     * The pool doesn't exist.
     */
    "PoolNotFound": undefined;
    /**
     * An overflow happened.
     */
    "Overflow": undefined;
    /**
     * The minimal amount requirement for the first token in the pair wasn't met.
     */
    "AssetOneDepositDidNotMeetMinimum": undefined;
    /**
     * The minimal amount requirement for the second token in the pair wasn't met.
     */
    "AssetTwoDepositDidNotMeetMinimum": undefined;
    /**
     * The minimal amount requirement for the first token in the pair wasn't met.
     */
    "AssetOneWithdrawalDidNotMeetMinimum": undefined;
    /**
     * The minimal amount requirement for the second token in the pair wasn't met.
     */
    "AssetTwoWithdrawalDidNotMeetMinimum": undefined;
    /**
     * Optimal calculated amount is less than desired.
     */
    "OptimalAmountLessThanDesired": undefined;
    /**
     * Insufficient liquidity minted.
     */
    "InsufficientLiquidityMinted": undefined;
    /**
     * Requested liquidity can't be zero.
     */
    "ZeroLiquidity": undefined;
    /**
     * Amount can't be zero.
     */
    "ZeroAmount": undefined;
    /**
     * Calculated amount out is less than provided minimum amount.
     */
    "ProvidedMinimumNotSufficientForSwap": undefined;
    /**
     * Provided maximum amount is not sufficient for swap.
     */
    "ProvidedMaximumNotSufficientForSwap": undefined;
    /**
     * The provided path must consists of 2 assets at least.
     */
    "InvalidPath": undefined;
    /**
     * The provided path must consists of unique assets.
     */
    "NonUniquePath": undefined;
    /**
     * It was not possible to get or increment the Id of the pool.
     */
    "IncorrectPoolAssetId": undefined;
    /**
     * The destination account cannot exist with the swapped funds.
     */
    "BelowMinimum": undefined;
}>;
export type I6cac4658fiknc = AnonymousEnum<{
    /**
     * Proposer's balance is too low.
     */
    "InsufficientProposersBalance": undefined;
    /**
     * No proposal or bounty at that index.
     */
    "InvalidIndex": undefined;
    /**
     * The reason given is just too big.
     */
    "ReasonTooBig": undefined;
    /**
     * The bounty status is unexpected.
     */
    "UnexpectedStatus": undefined;
    /**
     * Require bounty curator.
     */
    "RequireCurator": undefined;
    /**
     * Invalid bounty value.
     */
    "InvalidValue": undefined;
    /**
     * Invalid bounty fee.
     */
    "InvalidFee": undefined;
    /**
     * A bounty payout is pending.
     * To cancel the bounty, you must unassign and slash the curator.
     */
    "PendingPayout": undefined;
    /**
     * The bounties cannot be claimed/closed because it's still in the countdown period.
     */
    "Premature": undefined;
    /**
     * The bounty cannot be closed because it has active child bounties.
     */
    "HasActiveChildBounty": undefined;
    /**
     * Too many approvals are already queued.
     */
    "TooManyQueued": undefined;
    /**
     * User is not the proposer of the bounty.
     */
    "NotProposer": undefined;
}>;
export type I4u5ou5u3tthff = AnonymousEnum<{
    /**
     * The parent bounty is not in active state.
     */
    "ParentBountyNotActive": undefined;
    /**
     * The bounty balance is not enough to add new child-bounty.
     */
    "InsufficientBountyBalance": undefined;
    /**
     * Number of child bounties exceeds limit `MaxActiveChildBountyCount`.
     */
    "TooManyChildBounties": undefined;
}>;
export type I3qgd61cgli6cp = AnonymousEnum<{
    /**
     * The given asset ID is unknown.
     */
    "UnknownAssetKind": undefined;
    /**
     * The given asset ID already has an assigned conversion rate and cannot be re-created.
     */
    "AlreadyExists": undefined;
    /**
     * Overflow ocurred when calculating the inverse rate.
     */
    "Overflow": undefined;
}>;
export type Idkclbbe1igg42 = AnonymousEnum<{
    /**
     * No child-/bounty at that index.
     */
    "InvalidIndex": undefined;
    /**
     * The reason given is just too big.
     */
    "ReasonTooBig": undefined;
    /**
     * Invalid child-/bounty value.
     */
    "InvalidValue": undefined;
    /**
     * The balance of the asset kind is not convertible to the balance of the native asset for
     * asserting the origin permissions.
     */
    "FailedToConvertBalance": undefined;
    /**
     * The child-/bounty status is unexpected.
     */
    "UnexpectedStatus": undefined;
    /**
     * Require child-/bounty curator.
     */
    "RequireCurator": undefined;
    /**
     * The spend origin is valid but the amount it is allowed to spend is lower than the
     * requested amount.
     */
    "InsufficientPermission": undefined;
    /**
     * There was issue with funding the child-/bounty.
     */
    "FundingError": undefined;
    /**
     * There was issue with refunding the child-/bounty.
     */
    "RefundError": undefined;
    "PayoutError": undefined;
    /**
     * Child-/bounty funding has not concluded yet.
     */
    "FundingInconclusive": undefined;
    /**
     * Child-/bounty refund has not concluded yet.
     */
    "RefundInconclusive": undefined;
    /**
     * Child-/bounty payout has not concluded yet.
     */
    "PayoutInconclusive": undefined;
    /**
     * The child-/bounty or funding source account could not be derived from the indexes and
     * asset kind.
     */
    "FailedToConvertSource": undefined;
    /**
     * The parent bounty cannot be closed because it has active child bounties.
     */
    "HasActiveChildBounty": undefined;
    /**
     * Number of child bounties exceeds limit `MaxActiveChildBountyCount`.
     */
    "TooManyChildBounties": undefined;
    /**
     * The parent bounty value is not enough to add new child-bounty.
     */
    "InsufficientBountyValue": undefined;
    /**
     * The preimage does not exist.
     */
    "PreimageNotExist": undefined;
}>;
export type Iuudu4kursojc = AnonymousEnum<{
    /**
     * A (bonded) pool id does not exist.
     */
    "PoolNotFound": undefined;
    /**
     * An account is not a member.
     */
    "PoolMemberNotFound": undefined;
    /**
     * A reward pool does not exist. In all cases this is a system logic error.
     */
    "RewardPoolNotFound": undefined;
    /**
     * A sub pool does not exist.
     */
    "SubPoolsNotFound": undefined;
    /**
     * An account is already delegating in another pool. An account may only belong to one
     * pool at a time.
     */
    "AccountBelongsToOtherPool": undefined;
    /**
     * The member is fully unbonded (and thus cannot access the bonded and reward pool
     * anymore to, for example, collect rewards).
     */
    "FullyUnbonding": undefined;
    /**
     * The member cannot unbond further chunks due to reaching the limit.
     */
    "MaxUnbondingLimit": undefined;
    /**
     * None of the funds can be withdrawn yet because the bonding duration has not passed.
     */
    "CannotWithdrawAny": undefined;
    /**
     * The amount does not meet the minimum bond to either join or create a pool.
     *
     * The depositor can never unbond to a value less than `Pallet::depositor_min_bond`. The
     * caller does not have nominating permissions for the pool. Members can never unbond to a
     * value below `MinJoinBond`.
     */
    "MinimumBondNotMet": undefined;
    /**
     * The transaction could not be executed due to overflow risk for the pool.
     */
    "OverflowRisk": undefined;
    /**
     * A pool must be in [`PoolState::Destroying`] in order for the depositor to unbond or for
     * other members to be permissionlessly unbonded.
     */
    "NotDestroying": undefined;
    /**
     * The caller does not have nominating permissions for the pool.
     */
    "NotNominator": undefined;
    /**
     * Either a) the caller cannot make a valid kick or b) the pool is not destroying.
     */
    "NotKickerOrDestroying": undefined;
    /**
     * The pool is not open to join
     */
    "NotOpen": undefined;
    /**
     * The system is maxed out on pools.
     */
    "MaxPools": undefined;
    /**
     * Too many members in the pool or system.
     */
    "MaxPoolMembers": undefined;
    /**
     * The pools state cannot be changed.
     */
    "CanNotChangeState": undefined;
    /**
     * The caller does not have adequate permissions.
     */
    "DoesNotHavePermission": undefined;
    /**
     * Metadata exceeds [`Config::MaxMetadataLen`]
     */
    "MetadataExceedsMaxLen": undefined;
    /**
     * Some error occurred that should never happen. This should be reported to the
     * maintainers.
     */
    "Defensive": Anonymize<Ie2db4l6126rkt>;
    /**
     * Partial unbonding now allowed permissionlessly.
     */
    "PartialUnbondNotAllowedPermissionlessly": undefined;
    /**
     * The pool's max commission cannot be set higher than the existing value.
     */
    "MaxCommissionRestricted": undefined;
    /**
     * The supplied commission exceeds the max allowed commission.
     */
    "CommissionExceedsMaximum": undefined;
    /**
     * The supplied commission exceeds global maximum commission.
     */
    "CommissionExceedsGlobalMaximum": undefined;
    /**
     * Not enough blocks have surpassed since the last commission update.
     */
    "CommissionChangeThrottled": undefined;
    /**
     * The submitted changes to commission change rate are not allowed.
     */
    "CommissionChangeRateNotAllowed": undefined;
    /**
     * There is no pending commission to claim.
     */
    "NoPendingCommission": undefined;
    /**
     * No commission current has been set.
     */
    "NoCommissionCurrentSet": undefined;
    /**
     * Pool id currently in use.
     */
    "PoolIdInUse": undefined;
    /**
     * Pool id provided is not correct/usable.
     */
    "InvalidPoolId": undefined;
    /**
     * Bonding extra is restricted to the exact pending reward amount.
     */
    "BondExtraRestricted": undefined;
    /**
     * No imbalance in the ED deposit for the pool.
     */
    "NothingToAdjust": undefined;
    /**
     * No slash pending that can be applied to the member.
     */
    "NothingToSlash": undefined;
    /**
     * The slash amount is too low to be applied.
     */
    "SlashTooLow": undefined;
    /**
     * The pool or member delegation has already migrated to delegate stake.
     */
    "AlreadyMigrated": undefined;
    /**
     * The pool or member delegation has not migrated yet to delegate stake.
     */
    "NotMigrated": undefined;
    /**
     * This call is not allowed in the current state of the pallet.
     */
    "NotSupported": undefined;
    /**
     * Account is restricted from participation in pools. This may happen if the account is
     * staking in another way already.
     */
    "Restricted": undefined;
}>;
export type Ie2db4l6126rkt = AnonymousEnum<{
    "NotEnoughSpaceInUnbondPool": undefined;
    "PoolNotFound": undefined;
    "RewardPoolNotFound": undefined;
    "SubPoolsNotFound": undefined;
    "BondedStashKilledPrematurely": undefined;
    "DelegationUnsupported": undefined;
    "SlashNotApplied": undefined;
}>;
export type I2e4fekrkcdej2 = AnonymousEnum<{
    /**
     * A error in the list interface implementation.
     */
    "List": Anonymize<Ictkqqlhdjt761>;
    /**
     * Could not update a node, because the pallet is locked.
     */
    "Locked": undefined;
}>;
export type Ictkqqlhdjt761 = AnonymousEnum<{
    "Duplicate": undefined;
    "NotHeavier": undefined;
    "NotInSameBag": undefined;
    "NodeNotFound": undefined;
    "Locked": undefined;
}>;
export type Iaogv3iimefnis = AnonymousEnum<{
    /**
     * The account cannot perform this operation.
     */
    "NotAllowed": undefined;
    /**
     * An existing staker cannot perform this action.
     */
    "AlreadyStaking": undefined;
    /**
     * Reward Destination cannot be same as `Agent` account.
     */
    "InvalidRewardDestination": undefined;
    /**
     * Delegation conditions are not met.
     *
     * Possible issues are
     * 1) Cannot delegate to self,
     * 2) Cannot delegate to multiple delegates.
     */
    "InvalidDelegation": undefined;
    /**
     * The account does not have enough funds to perform the operation.
     */
    "NotEnoughFunds": undefined;
    /**
     * Not an existing `Agent` account.
     */
    "NotAgent": undefined;
    /**
     * Not a Delegator account.
     */
    "NotDelegator": undefined;
    /**
     * Some corruption in internal state.
     */
    "BadState": undefined;
    /**
     * Unapplied pending slash restricts operation on `Agent`.
     */
    "UnappliedSlash": undefined;
    /**
     * `Agent` has no pending slash to be applied.
     */
    "NothingToSlash": undefined;
    /**
     * Failed to withdraw amount from Core Staking.
     */
    "WithdrawFailed": undefined;
    /**
     * Operation not supported by this pallet.
     */
    "NotSupported": undefined;
}>;
export type I1ucg3dr90s1tp = AnonymousEnum<{
    /**
     * Failed to send XCM message to the Relay Chain.
     */
    "XcmSendFailed": undefined;
    /**
     * The origin account is not a registered validator.
     *
     * Only accounts that have called `validate()` can set or purge session keys. When called
     * via a staking proxy, the origin is the delegating account (stash), which must be a
     * registered validator.
     */
    "NotValidator": undefined;
    /**
     * The session keys could not be decoded as the expected RelayChainSessionKeys type.
     */
    "InvalidKeys": undefined;
    /**
     * The ownership proof for the session keys is invalid.
     */
    "InvalidProof": undefined;
    /**
     * Delivery fees exceeded the specified maximum.
     */
    "FeesExceededMax": undefined;
}>;
export type I6gonitoaqpiua = AnonymousEnum<{
    /**
     * Triggering the `Fallback` failed.
     */
    "Fallback": undefined;
    /**
     * Unexpected phase
     */
    "UnexpectedPhase": undefined;
    /**
     * Snapshot was unavailable.
     */
    "Snapshot": undefined;
}>;
export type I9i66md365gdq9 = AnonymousEnum<{
    /**
     * The phase is not signed.
     */
    "PhaseNotSigned": undefined;
    /**
     * The submission is a duplicate.
     */
    "Duplicate": undefined;
    /**
     * The queue is full.
     */
    "QueueFull": undefined;
    /**
     * The page index is out of bounds.
     */
    "BadPageIndex": undefined;
    /**
     * The account is not registered.
     */
    "NotRegistered": undefined;
    /**
     * No submission found.
     */
    "NoSubmission": undefined;
    /**
     * Round is not yet over.
     */
    "RoundNotOver": undefined;
    /**
     * Bad witness data provided.
     */
    "BadWitnessData": undefined;
    /**
     * Too many invulnerable accounts are provided,
     */
    "TooManyInvulnerables": undefined;
}>;
export type Icftpn34uf5f21 = AnonymousEnum<{
    /**
     * Not a controller account.
     */
    "NotController": undefined;
    /**
     * Not a stash account.
     */
    "NotStash": undefined;
    /**
     * Stash is already bonded.
     */
    "AlreadyBonded": undefined;
    /**
     * Controller is already paired.
     */
    "AlreadyPaired": undefined;
    /**
     * Targets cannot be empty.
     */
    "EmptyTargets": undefined;
    /**
     * Duplicate index.
     */
    "DuplicateIndex": undefined;
    /**
     * Slash record not found.
     */
    "InvalidSlashRecord": undefined;
    /**
     * Cannot bond, nominate or validate with value less than the minimum defined by
     * governance (see `MinValidatorBond` and `MinNominatorBond`). If unbonding is the
     * intention, `chill` first to remove one's role as validator/nominator.
     */
    "InsufficientBond": undefined;
    /**
     * Can not schedule more unlock chunks.
     */
    "NoMoreChunks": undefined;
    /**
     * Can not rebond without unlocking chunks.
     */
    "NoUnlockChunk": undefined;
    /**
     * Attempting to target a stash that still has funds.
     */
    "FundedTarget": undefined;
    /**
     * Invalid era to reward.
     */
    "InvalidEraToReward": undefined;
    /**
     * Invalid number of nominations.
     */
    "InvalidNumberOfNominations": undefined;
    /**
     * Rewards for this era have already been claimed for this validator.
     */
    "AlreadyClaimed": undefined;
    /**
     * No nominators exist on this page.
     */
    "InvalidPage": undefined;
    /**
     * Incorrect previous history depth input provided.
     */
    "IncorrectHistoryDepth": undefined;
    /**
     * Internal state has become somehow corrupted and the operation cannot continue.
     */
    "BadState": undefined;
    /**
     * Too many nomination targets supplied.
     */
    "TooManyTargets": undefined;
    /**
     * A nomination target was supplied that was blocked or otherwise not a validator.
     */
    "BadTarget": undefined;
    /**
     * The user has enough bond and thus cannot be chilled forcefully by an external person.
     */
    "CannotChillOther": undefined;
    /**
     * There are too many nominators in the system. Governance needs to adjust the staking
     * settings to keep things safe for the runtime.
     */
    "TooManyNominators": undefined;
    /**
     * There are too many validator candidates in the system. Governance needs to adjust the
     * staking settings to keep things safe for the runtime.
     */
    "TooManyValidators": undefined;
    /**
     * Commission is too low. Must be at least `MinCommission`.
     */
    "CommissionTooLow": undefined;
    /**
     * Some bound is not met.
     */
    "BoundNotMet": undefined;
    /**
     * Used when attempting to use deprecated controller account logic.
     */
    "ControllerDeprecated": undefined;
    /**
     * Cannot reset a ledger.
     */
    "CannotRestoreLedger": undefined;
    /**
     * Provided reward destination is not allowed.
     */
    "RewardDestinationRestricted": undefined;
    /**
     * Not enough funds available to withdraw.
     */
    "NotEnoughFunds": undefined;
    /**
     * Operation not allowed for virtual stakers.
     */
    "VirtualStakerNotAllowed": undefined;
    /**
     * Stash could not be reaped as other pallet might depend on it.
     */
    "CannotReapStash": undefined;
    /**
     * The stake of this account is already migrated to `Fungible` holds.
     */
    "AlreadyMigrated": undefined;
    /**
     * Era not yet started.
     */
    "EraNotStarted": undefined;
    /**
     * Account is restricted from participation in staking. This may happen if the account is
     * staking in another way already, such as via pool.
     */
    "Restricted": undefined;
    /**
     * Unapplied slashes in the recently concluded era is blocking this operation.
     * See `Call::apply_slash` to apply them.
     */
    "UnappliedSlashesInPreviousEra": undefined;
    /**
     * The era is not eligible for pruning.
     */
    "EraNotPrunable": undefined;
    /**
     * The slash has been cancelled and cannot be applied.
     */
    "CancelledSlash": undefined;
}>;
export type I54rjnlnsa98ib = AnonymousEnum<{
    /**
     * Invalid schedule supplied, e.g. with zero weight of a basic operation.
     */
    "InvalidSchedule": undefined;
    /**
     * Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`.
     */
    "InvalidCallFlags": undefined;
    /**
     * The executed contract exhausted its gas limit.
     */
    "OutOfGas": undefined;
    /**
     * Performing the requested transfer failed. Probably because there isn't enough
     * free balance in the sender's account.
     */
    "TransferFailed": undefined;
    /**
     * Performing a call was denied because the calling depth reached the limit
     * of what is specified in the schedule.
     */
    "MaxCallDepthReached": undefined;
    /**
     * No contract was found at the specified address.
     */
    "ContractNotFound": undefined;
    /**
     * No code could be found at the supplied code hash.
     */
    "CodeNotFound": undefined;
    /**
     * No code info could be found at the supplied code hash.
     */
    "CodeInfoNotFound": undefined;
    /**
     * A buffer outside of sandbox memory was passed to a contract API function.
     */
    "OutOfBounds": undefined;
    /**
     * Input passed to a contract API function failed to decode as expected type.
     */
    "DecodingFailed": undefined;
    /**
     * Contract trapped during execution.
     */
    "ContractTrapped": undefined;
    /**
     * Event body or storage item exceeds [`limits::STORAGE_BYTES`].
     */
    "ValueTooLarge": undefined;
    /**
     * Termination of a contract is not allowed while the contract is already
     * on the call stack. Can be triggered by `seal_terminate`.
     */
    "TerminatedWhileReentrant": undefined;
    /**
     * `seal_call` forwarded this contracts input. It therefore is no longer available.
     */
    "InputForwarded": undefined;
    /**
     * The amount of topics passed to `seal_deposit_events` exceeds the limit.
     */
    "TooManyTopics": undefined;
    /**
     * A contract with the same AccountId already exists.
     */
    "DuplicateContract": undefined;
    /**
     * A contract self destructed in its constructor.
     *
     * This can be triggered by a call to `seal_terminate`.
     */
    "TerminatedInConstructor": undefined;
    /**
     * A call tried to invoke a contract that is flagged as non-reentrant.
     */
    "ReentranceDenied": undefined;
    /**
     * A contract called into the runtime which then called back into this pallet.
     */
    "ReenteredPallet": undefined;
    /**
     * A contract attempted to invoke a state modifying API while being in read-only mode.
     */
    "StateChangeDenied": undefined;
    /**
     * Origin doesn't have enough balance to pay the required storage deposits.
     */
    "StorageDepositNotEnoughFunds": undefined;
    /**
     * More storage was created than allowed by the storage deposit limit.
     */
    "StorageDepositLimitExhausted": undefined;
    /**
     * Code removal was denied because the code is still in use by at least one contract.
     */
    "CodeInUse": undefined;
    /**
     * The contract ran to completion but decided to revert its storage changes.
     * Please note that this error is only returned from extrinsics. When called directly
     * or via RPC an `Ok` will be returned. In this case the caller needs to inspect the flags
     * to determine whether a reversion has taken place.
     */
    "ContractReverted": undefined;
    /**
     * The contract failed to compile or is missing the correct entry points.
     *
     * A more detailed error can be found on the node console if debug messages are enabled
     * by supplying `-lruntime::revive=debug`.
     */
    "CodeRejected": undefined;
    /**
     * The code blob supplied is larger than [`limits::code::BLOB_BYTES`].
     */
    "BlobTooLarge": undefined;
    /**
     * The contract declares too much memory (ro + rw + stack).
     */
    "StaticMemoryTooLarge": undefined;
    /**
     * The program contains a basic block that is larger than allowed.
     */
    "BasicBlockTooLarge": undefined;
    /**
     * The program contains an invalid instruction.
     */
    "InvalidInstruction": undefined;
    /**
     * The contract has reached its maximum number of delegate dependencies.
     */
    "MaxDelegateDependenciesReached": undefined;
    /**
     * The dependency was not found in the contract's delegate dependencies.
     */
    "DelegateDependencyNotFound": undefined;
    /**
     * The contract already depends on the given delegate dependency.
     */
    "DelegateDependencyAlreadyExists": undefined;
    /**
     * Can not add a delegate dependency to the code hash of the contract itself.
     */
    "CannotAddSelfAsDelegateDependency": undefined;
    /**
     * Can not add more data to transient storage.
     */
    "OutOfTransientStorage": undefined;
    /**
     * The contract tried to call a syscall which does not exist (at its current api level).
     */
    "InvalidSyscall": undefined;
    /**
     * Invalid storage flags were passed to one of the storage syscalls.
     */
    "InvalidStorageFlags": undefined;
    /**
     * PolkaVM failed during code execution. Probably due to a malformed program.
     */
    "ExecutionFailed": undefined;
    /**
     * Failed to convert a U256 to a Balance.
     */
    "BalanceConversionFailed": undefined;
    /**
     * Immutable data can only be set during deploys and only be read during calls.
     * Additionally, it is only valid to set the data once and it must not be empty.
     */
    "InvalidImmutableAccess": undefined;
    /**
     * An `AccountID32` account tried to interact with the pallet without having a mapping.
     *
     * Call [`Pallet::map_account`] in order to create a mapping for the account.
     */
    "AccountUnmapped": undefined;
    /**
     * Tried to map an account that is already mapped.
     */
    "AccountAlreadyMapped": undefined;
    /**
     * The transaction used to dry-run a contract is invalid.
     */
    "InvalidGenericTransaction": undefined;
    /**
     * The refcount of a code either over or underflowed.
     */
    "RefcountOverOrUnderflow": undefined;
    /**
     * Unsupported precompile address.
     */
    "UnsupportedPrecompileAddress": undefined;
    /**
     * The calldata exceeds [`limits::CALLDATA_BYTES`].
     */
    "CallDataTooLarge": undefined;
    /**
     * The return data exceeds [`limits::CALLDATA_BYTES`].
     */
    "ReturnDataTooLarge": undefined;
    /**
     * Invalid jump destination. Dynamic jumps points to invalid not jumpdest opcode.
     */
    "InvalidJump": undefined;
    /**
     * Attempting to pop a value from an empty stack.
     */
    "StackUnderflow": undefined;
    /**
     * Attempting to push a value onto a full stack.
     */
    "StackOverflow": undefined;
    /**
     * Too much deposit was drawn from the shared txfee and deposit credit.
     *
     * This happens if the passed `gas` inside the ethereum transaction is too low.
     */
    "TxFeeOverdraw": undefined;
    /**
     * When calling an EVM constructor `data` has to be empty.
     *
     * EVM constructors do not accept data. Their input data is part of the code blob itself.
     */
    "EvmConstructorNonEmptyData": undefined;
    /**
     * Tried to construct an EVM contract via code hash.
     *
     * EVM contracts can only be instantiated via code upload as no initcode is
     * stored on-chain.
     */
    "EvmConstructedFromHash": undefined;
    /**
     * The contract does not have enough balance to refund the storage deposit.
     *
     * This is a bug and should never happen. It means the accounting got out of sync.
     */
    "StorageRefundNotEnoughFunds": undefined;
    /**
     * This means there are locks on the contracts storage deposit that prevents refunding it.
     *
     * This would be the case if the contract used its storage deposits for governance
     * or other pallets that allow creating locks over held balance.
     */
    "StorageRefundLocked": undefined;
    /**
     * Called a pre-compile that is not allowed to be delegate called.
     *
     * Some pre-compile functions will trap the caller context if being delegate
     * called or if their caller was being delegate called.
     */
    "PrecompileDelegateDenied": undefined;
    /**
     * ECDSA public key recovery failed. Most probably wrong recovery id or signature.
     */
    "EcdsaRecoveryFailed": undefined;
}>;
export type Ibl4g7bmj805f = AnonymousEnum<{
    /**
     * Either no lease deposit or already unreserved.
     */
    "NoLeaseReserve": undefined;
    /**
     * Either no crowdloan contribution or already withdrawn.
     */
    "NoCrowdloanContribution": undefined;
    /**
     * Either no crowdloan reserve or already unreserved.
     */
    "NoCrowdloanReserve": undefined;
    /**
     * Failed to withdraw crowdloan contribution.
     */
    "FailedToWithdrawCrowdloanContribution": undefined;
    /**
     * Block number is not yet reached.
     */
    "NotYet": undefined;
    /**
     * Not all contributions are withdrawn.
     */
    "ContributionsRemaining": undefined;
    /**
     * The account is not a derived account.
     */
    "WrongDerivedTranslation": undefined;
    /**
     * Account cannot be migrated since it is not a sovereign parachain account.
     */
    "NotSovereign": undefined;
    /**
     * Internal error, please bug report.
     */
    "InternalError": undefined;
    /**
     * The Asset Hub migration is not completed.
     */
    "MigrationNotCompleted": undefined;
    /**
     * The balance is zero.
     */
    "ZeroBalance": undefined;
    /**
     * Failed to transfer balance.
     */
    "FailedToTransfer": undefined;
    /**
     * The account has already been translated.
     */
    "AlreadyTranslated": undefined;
    /**
     * The derivation path is too long.
     */
    "TooLongDerivationPath": undefined;
    /**
     * Failed to force unstake.
     */
    "FailedToForceUnstake": undefined;
}>;
export type Icrtfjqr0ect81 = AnonymousEnum<{
    /**
     * Failed to unreserve deposit.
     */
    "FailedToUnreserveDeposit": undefined;
    /**
     * Failed to process an account data from RC.
     */
    "FailedToProcessAccount": undefined;
    /**
     * Some item could not be inserted because it already exists.
     */
    "InsertConflict": undefined;
    /**
     * Failed to convert RC type to AH type.
     */
    "FailedToConvertType": undefined;
    /**
     * Failed to fetch preimage.
     */
    "PreimageNotFound": undefined;
    /**
     * Failed to convert RC call to AH call.
     */
    "FailedToConvertCall": undefined;
    /**
     * Failed to bound a call.
     */
    "FailedToBoundCall": undefined;
    /**
     * Failed to send XCM message.
     */
    "XcmError": undefined;
    /**
     * Failed to integrate a vesting schedule.
     */
    "FailedToIntegrateVestingSchedule": undefined;
    /**
     * Checking account overflow or underflow.
     */
    "FailedToCalculateCheckingAccount": undefined;
    /**
     * Vector did not fit into its compile-time bound.
     */
    "FailedToBoundVector": undefined;
    /**
     * The DMP queue priority is already set to the same value.
     */
    "DmpQueuePriorityAlreadySet": undefined;
    /**
     * Invalid parameter.
     */
    "InvalidParameter": undefined;
    /**
     * Preimage missing.
     */
    "PreimageMissing": undefined;
    /**
     * Preimage too big.
     */
    "PreimageTooBig": undefined;
    /**
     * Preimage chunk missing.
     */
    "PreimageChunkMissing": undefined;
    /**
     * Preimage status invalid.
     */
    "PreimageStatusInvalid": undefined;
    /**
     * The XCM version is invalid.
     */
    "BadXcmVersion": undefined;
    /**
     * The origin is invalid.
     */
    "InvalidOrigin": undefined;
}>;
export type I3m5sq54sjdlso = {};
export type I2fet1s7jajmro = ResultPayload<undefined, Anonymize<I3ct4908m6u4n0>>;
export type Ickdiocl9u813v = AnonymousEnum<{
    "Preimage": PreimagePalletHoldReason;
    "Session": Anonymize<I6bkr3dqv753nc>;
    "PolkadotXcm": Anonymize<Ideiof6273rsoe>;
    "MultiAssetBounties": Enum<{
        "CuratorDeposit": undefined;
    }>;
    "StateTrieMigration": Anonymize<I7lf1val3vmpq0>;
    "DelegatedStaking": Anonymize<Ib6ve2drlnapui>;
    "StakingRcClient": Anonymize<I6bkr3dqv753nc>;
    "MultiBlockElectionSigned": Enum<{
        "SignedSubmission": undefined;
    }>;
    "Staking": Anonymize<Icbapambb5rug3>;
    "Revive": Enum<{
        "CodeUploadDepositReserve": undefined;
        "StorageDepositReserve": undefined;
        "AddressMapping": undefined;
    }>;
}>;
export type I6bkr3dqv753nc = AnonymousEnum<{
    "Keys": undefined;
}>;
export type Ib6ve2drlnapui = AnonymousEnum<{
    "StakingDelegation": undefined;
}>;
export type Icbapambb5rug3 = AnonymousEnum<{
    "Staking": undefined;
}>;
export type CommonClaimsEvent = Enum<{
    /**
     * Someone claimed some DOTs.
     */
    "Claimed": {
        "who": SS58String;
        "ethereum_address": SizedHex<20>;
        "amount": bigint;
    };
}>;
export declare const CommonClaimsEvent: GetEnum<CommonClaimsEvent>;
export type I9i6b1362umn1t = {
    "mode": Enum<{
        "Normal": undefined;
        "Halted": undefined;
    }>;
};
export type Ifibfra20sdv6p = {
    "result": Anonymize<I2fet1s7jajmro>;
};
export type Idugco9k7jdh0f = AnonymousEnum<{
    "Any": undefined;
    "NonTransfer": undefined;
    "CancelProxy": undefined;
    "Assets": undefined;
    "AssetOwner": undefined;
    "AssetManager": undefined;
    "Collator": undefined;
    "Governance": undefined;
    "Staking": undefined;
    "NominationPools": undefined;
    "Auction": undefined;
    "ParaRegistration": undefined;
    "StakingOperator": undefined;
}>;
export type I35l6p7kq19mr0 = Array<undefined>;
export type I9gqanbbbe917p = {
    "collection": number;
    "creator": SS58String;
    "owner": SS58String;
};
export type Id1m1230297f7a = {
    "collection": number;
    "owner": SS58String;
};
export type I6cu7obfo0rr0o = {
    "collection": number;
};
export type Ifvb1p5munhhv4 = {
    "collection": number;
    "item": number;
    "owner": SS58String;
};
export type I46h83ilqeed3g = {
    "collection": number;
    "item": number;
    "from": SS58String;
    "to": SS58String;
};
export type Iafkqus0ohh6l6 = {
    "collection": number;
    "item": number;
};
export type Icahse3uoi76n7 = {
    "collection": number;
    "new_owner": SS58String;
};
export type I5fjkvcb5vr6nb = {
    "collection": number;
    "item": number;
    "owner": SS58String;
    "delegate": SS58String;
};
export type I9viqhmdtuof5e = {
    "collection": number;
    "data": Uint8Array;
    "is_frozen": boolean;
};
export type Iceq9fmmp9aeqv = {
    "collection": number;
    "item": number;
    "data": Uint8Array;
    "is_frozen": boolean;
};
export type I2gr1toekv86b9 = {
    "collection": number;
    "successful_items": Anonymize<Icgljjb6j82uhn>;
};
export type I5tvvgui05tn6e = {
    "collection": number;
    "maybe_item"?: Anonymize<I4arjljr6dpflb>;
    "key": Uint8Array;
    "value": Uint8Array;
};
export type Ibal0joadvdc2h = {
    "collection": number;
    "maybe_item"?: Anonymize<I4arjljr6dpflb>;
    "key": Uint8Array;
};
export type I2v2ikqt2trp52 = {
    "who": SS58String;
    "maybe_collection"?: Anonymize<I4arjljr6dpflb>;
};
export type I6h88h8vba22v8 = {
    "collection": number;
    "max_supply": number;
};
export type If3057hi1g5qlo = {
    "collection": number;
    "item": number;
    "price": bigint;
    "whitelisted_buyer"?: Anonymize<Ihfphjolmsqq1>;
};
export type Iaii5qf41d5n3d = {
    "collection": number;
    "item": number;
    "price": bigint;
    "seller": SS58String;
    "buyer": SS58String;
};
export type I1jj31tn29ie3c = {
    "collection": number;
    "item": number;
    "lock_metadata": boolean;
    "lock_attributes": boolean;
};
export type I78u60nqh0etah = {
    "collection": number;
    "data": Uint8Array;
};
export type Icrkms46uh8tpb = {
    "collection": number;
    "item": number;
    "data": Uint8Array;
};
export type I5llu6o6a0go5i = {
    "collection": number;
    "maybe_item"?: Anonymize<I4arjljr6dpflb>;
    "key": Uint8Array;
    "value": Uint8Array;
    "namespace": Anonymize<If3jjadhmug6qc>;
};
export type If3jjadhmug6qc = AnonymousEnum<{
    "Pallet": undefined;
    "CollectionOwner": undefined;
    "ItemOwner": undefined;
    "Account": SS58String;
}>;
export type I93r2effh7od84 = {
    "collection": number;
    "maybe_item"?: Anonymize<I4arjljr6dpflb>;
    "key": Uint8Array;
    "namespace": Anonymize<If3jjadhmug6qc>;
};
export type I6oogc1jbmmi81 = ({
    "amount": bigint;
    "direction": Enum<{
        "Send": undefined;
        "Receive": undefined;
    }>;
}) | undefined;
export type I22bm4d7re21j9 = {
    "asset_id": Anonymize<If9iqq7i64mur8>;
};
export type If2801grpltbp8 = Array<{
    "reserve": Anonymize<If9iqq7i64mur8>;
    "teleportable": boolean;
}>;
export type If21n82i0516em = FixedSizeArray<2, Anonymize<If9iqq7i64mur8>>;
export type I7egh93q89718t = Array<[Anonymize<If9iqq7i64mur8>, bigint]>;
export type I2q3ri6itcjj5u = AnonymousEnum<{
    "V3": {
        "location": Anonymize<I4c0s5cioidn76>;
        "asset_id": XcmV3MultiassetAssetId;
    };
    "V4": {
        "location": Anonymize<I4c0s5cioidn76>;
        "asset_id": Anonymize<I4c0s5cioidn76>;
    };
    "V5": {
        "location": Anonymize<If9iqq7i64mur8>;
        "asset_id": Anonymize<If9iqq7i64mur8>;
    };
}>;
export type I11rphme8avgla = AnonymousEnum<{
    "V4": {
        "location": Anonymize<I4c0s5cioidn76>;
        "account_id": Anonymize<I4c0s5cioidn76>;
    };
    "V5": {
        "location": Anonymize<If9iqq7i64mur8>;
        "account_id": Anonymize<If9iqq7i64mur8>;
    };
}>;
export type I8qut0vnc0llm1 = ResultPayload<Anonymize<Ia1u1r3n74r13c>, {
    "post_info": Anonymize<Ia1u1r3n74r13c>;
    "error": Anonymize<I3ct4908m6u4n0>;
}>;
export type Ia9p5bg6p18r0i = {
    "bounty_id": number;
};
export type ChildBountiesEvent = Enum<{
    /**
     * A child-bounty is added.
     */
    "Added": Anonymize<I60p8l86a8cm59>;
    /**
     * A child-bounty is awarded to a beneficiary.
     */
    "Awarded": {
        "index": number;
        "child_index": number;
        "beneficiary": SS58String;
    };
    /**
     * A child-bounty is claimed by beneficiary.
     */
    "Claimed": {
        "index": number;
        "child_index": number;
        "payout": bigint;
        "beneficiary": SS58String;
    };
    /**
     * A child-bounty is cancelled.
     */
    "Canceled": Anonymize<I60p8l86a8cm59>;
}>;
export declare const ChildBountiesEvent: GetEnum<ChildBountiesEvent>;
export type I60p8l86a8cm59 = {
    "index": number;
    "child_index": number;
};
export type I9c4d50jrp7as1 = {
    "asset_kind": Anonymize<I2q3ri6itcjj5u>;
    "rate": bigint;
};
export type Ifplevr9hp8jo3 = {
    "asset_kind": Anonymize<I2q3ri6itcjj5u>;
};
export type NominationPoolsPoolState = Enum<{
    "Open": undefined;
    "Blocked": undefined;
    "Destroying": undefined;
}>;
export declare const NominationPoolsPoolState: GetEnum<NominationPoolsPoolState>;
export type Ie8iutm7u02lmj = (Anonymize<I7svnfko10tq2e>) | undefined;
export type I7svnfko10tq2e = [number, SS58String];
export type I8cbluptqo8kbp = {
    "pool_id": number;
    "max_commission": number;
};
export type I81cc4plffa1dm = {
    "pool_id": number;
    "change_rate": Anonymize<Ibqul338t9c1ll>;
};
export type Ibqul338t9c1ll = {
    "max_increase": number;
    "min_delay": number;
};
export type I3ihan8icf0c5k = {
    "pool_id": number;
    "permission"?: Anonymize<I16m1kn78dee7v>;
};
export type I16m1kn78dee7v = (NominationPoolsCommissionClaimPermission) | undefined;
export type NominationPoolsCommissionClaimPermission = Enum<{
    "Permissionless": undefined;
    "Account": SS58String;
}>;
export declare const NominationPoolsCommissionClaimPermission: GetEnum<NominationPoolsCommissionClaimPermission>;
export type Ieg1oc56mamrl5 = {
    "pool_id": number;
    "amount": bigint;
};
export type NominationPoolsClaimPermission = Enum<{
    "Permissioned": undefined;
    "PermissionlessCompound": undefined;
    "PermissionlessWithdraw": undefined;
    "PermissionlessAll": undefined;
}>;
export declare const NominationPoolsClaimPermission: GetEnum<NominationPoolsClaimPermission>;
export type BagsListEvent = Enum<{
    /**
     * Moved an account from one bag to another.
     */
    "Rebagged": {
        "who": SS58String;
        "from": bigint;
        "to": bigint;
    };
    /**
     * Updated the score of some account to the given amount.
     */
    "ScoreUpdated": {
        "who": SS58String;
        "new_score": bigint;
    };
}>;
export declare const BagsListEvent: GetEnum<BagsListEvent>;
export type Id2aanom2jncf1 = {
    "agent": SS58String;
    "delegator": SS58String;
    "amount": bigint;
};
export type I76de2jfh8ds4a = ([bigint, number]) | undefined;
export type I7d4qtdlascfk8 = AnonymousEnum<{
    "Off": undefined;
    "Signed": number;
    "SignedValidation": number;
    "Unsigned": number;
    "Snapshot": number;
    "Done": undefined;
    "Export": number;
    "Emergency": undefined;
}>;
export type I8s6n43okuj2b1 = {
    "minimal_stake": bigint;
    "sum_stake": bigint;
    "sum_stake_squared": bigint;
};
export type StakingRewardDestination = Enum<{
    "Staked": undefined;
    "Stash": undefined;
    "Controller": undefined;
    "Account": SS58String;
    "None": undefined;
}>;
export declare const StakingRewardDestination: GetEnum<StakingRewardDestination>;
export type Idl3umm12u5pa = {
    "stash": SS58String;
};
export type I9o7ssi9vmhmgr = {
    "commission": number;
    "blocked": boolean;
};
export type StakingForcing = Enum<{
    "NotForcing": undefined;
    "ForceNew": undefined;
    "ForceNone": undefined;
    "ForceAlways": undefined;
}>;
export declare const StakingForcing: GetEnum<StakingForcing>;
export type I9134mhoe91oet = AnonymousEnum<{
    "Pending": undefined;
    "DataMigrationOngoing": undefined;
    "MigrationDone": undefined;
    "CoolOff": {
        "end_at": number;
    };
}>;
export type Ia3mrvoqdlvsog = AnonymousEnum<{
    "AssetRates": undefined;
    "BagsList": undefined;
    "Balances": undefined;
    "Bounties": undefined;
    "ChildBounties": undefined;
    "Claims": undefined;
    "ConvictionVoting": undefined;
    "Crowdloan": undefined;
    "DelegatedStaking": undefined;
    "Indices": undefined;
    "Multisig": undefined;
    "NomPools": undefined;
    "PreimageChunk": undefined;
    "PreimageLegacyStatus": undefined;
    "PreimageRequestStatus": undefined;
    "ProxyAnnouncements": undefined;
    "ProxyProxies": undefined;
    "Recovery": undefined;
    "ReferendaMetadata": undefined;
    "ReferendaReferendums": undefined;
    "ReferendaValues": undefined;
    "Scheduler": undefined;
    "SchedulerAgenda": undefined;
    "Staking": undefined;
    "Treasury": undefined;
    "Vesting": undefined;
    "Society": undefined;
}>;
export type I2fbmombro6ugg = AnonymousEnum<{
    "Config": undefined;
    "OverrideConfig": Anonymize<I9jd27rnpm8ttv>;
    "Disabled": undefined;
}>;
export type Ic5b47dj4coa3r = {
    "id": number;
};
export type I3qklfjubrljqh = {
    "owner": SS58String;
    "issuer": SS58String;
    "admin": SS58String;
    "freezer": SS58String;
    "supply": bigint;
    "deposit": bigint;
    "min_balance": bigint;
    "is_sufficient": boolean;
    "accounts": number;
    "sufficients": number;
    "approvals": number;
    "status": Enum<{
        "Live": undefined;
        "Frozen": undefined;
        "Destroying": undefined;
    }>;
};
export type Iag3f1hum3p4c8 = {
    "balance": bigint;
    "status": Enum<{
        "Liquid": undefined;
        "Frozen": undefined;
        "Blocked": undefined;
    }>;
    "reason": Enum<{
        "Consumer": undefined;
        "Sufficient": undefined;
        "DepositHeld": bigint;
        "DepositRefunded": undefined;
        "DepositFrom": Anonymize<I95l2k9b1re95f>;
    }>;
};
export type I4s6jkha20aoh0 = {
    "amount": bigint;
    "deposit": bigint;
};
export type I2brm5b9jij1st = [number, SS58String, SS58String];
export type I78s05f59eoi8b = {
    "deposit": bigint;
    "name": Uint8Array;
    "symbol": Uint8Array;
    "decimals": number;
    "is_frozen": boolean;
};
export type I4v5g6i7bmt06o = [Anonymize<If9iqq7i64mur8>, SS58String];
export type I84bhscllvv07n = [Anonymize<If9iqq7i64mur8>, SS58String, SS58String];
export type I885rd9smlqfti = AnonymousEnum<{
    /**
     * Issue a new class of fungible assets from a public origin.
     *
     * This new asset class has no assets initially and its owner is the origin.
     *
     * The origin must conform to the configured `CreateOrigin` and have sufficient funds free.
     *
     * Funds of sender are reserved by `AssetDeposit`.
     *
     * Parameters:
     * - `id`: The identifier of the new asset. This must not be currently in use to identify
     * an existing asset. If [`NextAssetId`] is set, then this must be equal to it.
     * - `admin`: The admin of this class of assets. The admin is the initial address of each
     * member of the asset class's admin team.
     * - `min_balance`: The minimum balance of this new asset that any single account must
     * have. If an account's balance is reduced below this, then it collapses to zero.
     *
     * Emits `Created` event when successful.
     *
     * Weight: `O(1)`
     */
    "create": Anonymize<Ic357tcepuvo5c>;
    /**
     * Issue a new class of fungible assets from a privileged origin.
     *
     * This new asset class has no assets initially.
     *
     * The origin must conform to `ForceOrigin`.
     *
     * Unlike `create`, no funds are reserved.
     *
     * - `id`: The identifier of the new asset. This must not be currently in use to identify
     * an existing asset. If [`NextAssetId`] is set, then this must be equal to it.
     * - `owner`: The owner of this class of assets. The owner has full superuser permissions
     * over this asset, but may later change and configure the permissions using
     * `transfer_ownership` and `set_team`.
     * - `min_balance`: The minimum balance of this new asset that any single account must
     * have. If an account's balance is reduced below this, then it collapses to zero.
     *
     * Emits `ForceCreated` event when successful.
     *
     * Weight: `O(1)`
     */
    "force_create": Anonymize<I2rnoam876ruhj>;
    /**
     * Start the process of destroying a fungible asset class.
     *
     * `start_destroy` is the first in a series of extrinsics that should be called, to allow
     * destruction of an asset class.
     *
     * The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.
     *
     * - `id`: The identifier of the asset to be destroyed. This must identify an existing
     * asset.
     *
     * It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if
     * an account contains holds or freezes in place.
     */
    "start_destroy": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Destroy all accounts associated with a given asset.
     *
     * `destroy_accounts` should only be called after `start_destroy` has been called, and the
     * asset is in a `Destroying` state.
     *
     * Due to weight restrictions, this function may need to be called multiple times to fully
     * destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.
     *
     * - `id`: The identifier of the asset to be destroyed. This must identify an existing
     * asset.
     *
     * Each call emits the `Event::DestroyedAccounts` event.
     */
    "destroy_accounts": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).
     *
     * `destroy_approvals` should only be called after `start_destroy` has been called, and the
     * asset is in a `Destroying` state.
     *
     * Due to weight restrictions, this function may need to be called multiple times to fully
     * destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.
     *
     * - `id`: The identifier of the asset to be destroyed. This must identify an existing
     * asset.
     *
     * Each call emits the `Event::DestroyedApprovals` event.
     */
    "destroy_approvals": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Complete destroying asset and unreserve currency.
     *
     * `finish_destroy` should only be called after `start_destroy` has been called, and the
     * asset is in a `Destroying` state. All accounts or approvals should be destroyed before
     * hand.
     *
     * - `id`: The identifier of the asset to be destroyed. This must identify an existing
     * asset.
     *
     * Each successful call emits the `Event::Destroyed` event.
     */
    "finish_destroy": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Mint assets of a particular class.
     *
     * The origin must be Signed and the sender must be the Issuer of the asset `id`.
     *
     * - `id`: The identifier of the asset to have some amount minted.
     * - `beneficiary`: The account to be credited with the minted assets.
     * - `amount`: The amount of the asset to be minted.
     *
     * Emits `Issued` event when successful.
     *
     * Weight: `O(1)`
     * Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`.
     */
    "mint": Anonymize<Ib3qnc19gu633c>;
    /**
     * Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.
     *
     * Origin must be Signed and the sender should be the Manager of the asset `id`.
     *
     * Bails with `NoAccount` if the `who` is already dead.
     *
     * - `id`: The identifier of the asset to have some amount burned.
     * - `who`: The account to be debited from.
     * - `amount`: The maximum amount by which `who`'s balance should be reduced.
     *
     * Emits `Burned` with the actual amount burned. If this takes the balance to below the
     * minimum for the asset, then the amount burned is increased to take it to zero.
     *
     * Weight: `O(1)`
     * Modes: Post-existence of `who`; Pre & post Zombie-status of `who`.
     */
    "burn": Anonymize<Ifira6u9hi7cu1>;
    /**
     * Move some assets from the sender account to another.
     *
     * Origin must be Signed.
     *
     * - `id`: The identifier of the asset to have some amount transferred.
     * - `target`: The account to be credited.
     * - `amount`: The amount by which the sender's balance of assets should be reduced and
     * `target`'s balance increased. The amount actually transferred may be slightly greater in
     * the case that the transfer would otherwise take the sender balance above zero but below
     * the minimum balance. Must be greater than zero.
     *
     * Emits `Transferred` with the actual amount transferred. If this takes the source balance
     * to below the minimum for the asset, then the amount transferred is increased to take it
     * to zero.
     *
     * Weight: `O(1)`
     * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of
     * `target`.
     */
    "transfer": Anonymize<I72tqocvdoqfff>;
    /**
     * Move some assets from the sender account to another, keeping the sender account alive.
     *
     * Origin must be Signed.
     *
     * - `id`: The identifier of the asset to have some amount transferred.
     * - `target`: The account to be credited.
     * - `amount`: The amount by which the sender's balance of assets should be reduced and
     * `target`'s balance increased. The amount actually transferred may be slightly greater in
     * the case that the transfer would otherwise take the sender balance above zero but below
     * the minimum balance. Must be greater than zero.
     *
     * Emits `Transferred` with the actual amount transferred. If this takes the source balance
     * to below the minimum for the asset, then the amount transferred is increased to take it
     * to zero.
     *
     * Weight: `O(1)`
     * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of
     * `target`.
     */
    "transfer_keep_alive": Anonymize<I72tqocvdoqfff>;
    /**
     * Move some assets from one account to another.
     *
     * Origin must be Signed and the sender should be the Admin of the asset `id`.
     *
     * - `id`: The identifier of the asset to have some amount transferred.
     * - `source`: The account to be debited.
     * - `dest`: The account to be credited.
     * - `amount`: The amount by which the `source`'s balance of assets should be reduced and
     * `dest`'s balance increased. The amount actually transferred may be slightly greater in
     * the case that the transfer would otherwise take the `source` balance above zero but
     * below the minimum balance. Must be greater than zero.
     *
     * Emits `Transferred` with the actual amount transferred. If this takes the source balance
     * to below the minimum for the asset, then the amount transferred is increased to take it
     * to zero.
     *
     * Weight: `O(1)`
     * Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of
     * `dest`.
     */
    "force_transfer": Anonymize<I2i27f3sfmvc05>;
    /**
     * Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`
     * must already exist as an entry in `Account`s of the asset. If you want to freeze an
     * account that does not have an entry, use `touch_other` first.
     *
     * Origin must be Signed and the sender should be the Freezer of the asset `id`.
     *
     * - `id`: The identifier of the asset to be frozen.
     * - `who`: The account to be frozen.
     *
     * Emits `Frozen`.
     *
     * Weight: `O(1)`
     */
    "freeze": Anonymize<I1nlrtd1epki2d>;
    /**
     * Allow unprivileged transfers to and from an account again.
     *
     * Origin must be Signed and the sender should be the Admin of the asset `id`.
     *
     * - `id`: The identifier of the asset to be frozen.
     * - `who`: The account to be unfrozen.
     *
     * Emits `Thawed`.
     *
     * Weight: `O(1)`
     */
    "thaw": Anonymize<I1nlrtd1epki2d>;
    /**
     * Disallow further unprivileged transfers for the asset class.
     *
     * Origin must be Signed and the sender should be the Freezer of the asset `id`.
     *
     * - `id`: The identifier of the asset to be frozen.
     *
     * Emits `Frozen`.
     *
     * Weight: `O(1)`
     */
    "freeze_asset": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Allow unprivileged transfers for the asset again.
     *
     * Origin must be Signed and the sender should be the Admin of the asset `id`.
     *
     * - `id`: The identifier of the asset to be thawed.
     *
     * Emits `Thawed`.
     *
     * Weight: `O(1)`
     */
    "thaw_asset": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Change the Owner of an asset.
     *
     * Origin must be Signed and the sender should be the Owner of the asset `id`.
     *
     * - `id`: The identifier of the asset.
     * - `owner`: The new Owner of this asset.
     *
     * Emits `OwnerChanged`.
     *
     * Weight: `O(1)`
     */
    "transfer_ownership": Anonymize<I3abtumcmempjs>;
    /**
     * Change the Issuer, Admin and Freezer of an asset.
     *
     * Origin must be Signed and the sender should be the Owner of the asset `id`.
     *
     * - `id`: The identifier of the asset to be frozen.
     * - `issuer`: The new Issuer of this asset.
     * - `admin`: The new Admin of this asset.
     * - `freezer`: The new Freezer of this asset.
     *
     * Emits `TeamChanged`.
     *
     * Weight: `O(1)`
     */
    "set_team": Anonymize<Id81m8flopt8ha>;
    /**
     * Set the metadata for an asset.
     *
     * Origin must be Signed and the sender should be the Owner of the asset `id`.
     *
     * Funds of sender are reserved according to the formula:
     * `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into
     * account any already reserved funds.
     *
     * - `id`: The identifier of the asset to update.
     * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.
     * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.
     * - `decimals`: The number of decimals this asset uses to represent one unit.
     *
     * Emits `MetadataSet`.
     *
     * Weight: `O(1)`
     */
    "set_metadata": Anonymize<I8hff7chabggkd>;
    /**
     * Clear the metadata for an asset.
     *
     * Origin must be Signed and the sender should be the Owner of the asset `id`.
     *
     * Any deposit is freed for the asset owner.
     *
     * - `id`: The identifier of the asset to clear.
     *
     * Emits `MetadataCleared`.
     *
     * Weight: `O(1)`
     */
    "clear_metadata": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Force the metadata for an asset to some value.
     *
     * Origin must be ForceOrigin.
     *
     * Any deposit is left alone.
     *
     * - `id`: The identifier of the asset to update.
     * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.
     * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.
     * - `decimals`: The number of decimals this asset uses to represent one unit.
     *
     * Emits `MetadataSet`.
     *
     * Weight: `O(N + S)` where N and S are the length of the name and symbol respectively.
     */
    "force_set_metadata": Anonymize<I49i39mtj1ivbs>;
    /**
     * Clear the metadata for an asset.
     *
     * Origin must be ForceOrigin.
     *
     * Any deposit is returned.
     *
     * - `id`: The identifier of the asset to clear.
     *
     * Emits `MetadataCleared`.
     *
     * Weight: `O(1)`
     */
    "force_clear_metadata": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Alter the attributes of a given asset.
     *
     * Origin must be `ForceOrigin`.
     *
     * - `id`: The identifier of the asset.
     * - `owner`: The new Owner of this asset.
     * - `issuer`: The new Issuer of this asset.
     * - `admin`: The new Admin of this asset.
     * - `freezer`: The new Freezer of this asset.
     * - `min_balance`: The minimum balance of this new asset that any single account must
     * have. If an account's balance is reduced below this, then it collapses to zero.
     * - `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient
     * value to account for the state bloat associated with its balance storage. If set to
     * `true`, then non-zero balances may be stored without a `consumer` reference (and thus
     * an ED in the Balances pallet or whatever else is used to control user-account state
     * growth).
     * - `is_frozen`: Whether this asset class is frozen except for permissioned/admin
     * instructions.
     *
     * Emits `AssetStatusChanged` with the identity of the asset.
     *
     * Weight: `O(1)`
     */
    "force_asset_status": Anonymize<Ifkr2kcak2vto1>;
    /**
     * Approve an amount of asset for transfer by a delegated third-party account.
     *
     * Origin must be Signed.
     *
     * Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account
     * for the purpose of holding the approval. If some non-zero amount of assets is already
     * approved from signing account to `delegate`, then it is topped up or unreserved to
     * meet the right value.
     *
     * NOTE: The signing account does not need to own `amount` of assets at the point of
     * making this call.
     *
     * - `id`: The identifier of the asset.
     * - `delegate`: The account to delegate permission to transfer asset.
     * - `amount`: The amount of asset that may be transferred by `delegate`. If there is
     * already an approval in place, then this acts additively.
     *
     * Emits `ApprovedTransfer` on success.
     *
     * Weight: `O(1)`
     */
    "approve_transfer": Anonymize<I1ju6r8q0cs9jt>;
    /**
     * Cancel all of some asset approved for delegated transfer by a third-party account.
     *
     * Origin must be Signed and there must be an approval in place between signer and
     * `delegate`.
     *
     * Unreserves any deposit previously reserved by `approve_transfer` for the approval.
     *
     * - `id`: The identifier of the asset.
     * - `delegate`: The account delegated permission to transfer asset.
     *
     * Emits `ApprovalCancelled` on success.
     *
     * Weight: `O(1)`
     */
    "cancel_approval": Anonymize<I4kpeq6j7cd5bu>;
    /**
     * Cancel all of some asset approved for delegated transfer by a third-party account.
     *
     * Origin must be either ForceOrigin or Signed origin with the signer being the Admin
     * account of the asset `id`.
     *
     * Unreserves any deposit previously reserved by `approve_transfer` for the approval.
     *
     * - `id`: The identifier of the asset.
     * - `delegate`: The account delegated permission to transfer asset.
     *
     * Emits `ApprovalCancelled` on success.
     *
     * Weight: `O(1)`
     */
    "force_cancel_approval": Anonymize<I5na1ka76k6811>;
    /**
     * Transfer some asset balance from a previously delegated account to some third-party
     * account.
     *
     * Origin must be Signed and there must be an approval in place by the `owner` to the
     * signer.
     *
     * If the entire amount approved for transfer is transferred, then any deposit previously
     * reserved by `approve_transfer` is unreserved.
     *
     * - `id`: The identifier of the asset.
     * - `owner`: The account which previously approved for a transfer of at least `amount` and
     * from which the asset balance will be withdrawn.
     * - `destination`: The account to which the asset balance of `amount` will be transferred.
     * - `amount`: The amount of assets to transfer.
     *
     * Emits `TransferredApproved` on success.
     *
     * Weight: `O(1)`
     */
    "transfer_approved": Anonymize<I59mhdb9omdqfa>;
    /**
     * Create an asset account for non-provider assets.
     *
     * A deposit will be taken from the signer account.
     *
     * - `origin`: Must be Signed; the signer account must have sufficient funds for a deposit
     * to be taken.
     * - `id`: The identifier of the asset for the account to be created.
     *
     * Emits `Touched` event when successful.
     */
    "touch": Anonymize<Ic5b47dj4coa3r>;
    /**
     * Return the deposit (if any) of an asset account or a consumer reference (if any) of an
     * account.
     *
     * The origin must be Signed.
     *
     * - `id`: The identifier of the asset for which the caller would like the deposit
     * refunded.
     * - `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.
     *
     * It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if
     * the asset account contains holds or freezes in place.
     *
     * Emits `Refunded` event when successful.
     */
    "refund": Anonymize<I9vl5kpk0fpakt>;
    /**
     * Sets the minimum balance of an asset.
     *
     * Only works if there aren't any accounts that are holding the asset or if
     * the new value of `min_balance` is less than the old one.
     *
     * Origin must be Signed and the sender has to be the Owner of the
     * asset `id`.
     *
     * - `id`: The identifier of the asset.
     * - `min_balance`: The new value of `min_balance`.
     *
     * Emits `AssetMinBalanceChanged` event when successful.
     */
    "set_min_balance": Anonymize<I717jt61hu19b4>;
    /**
     * Create an asset account for `who`.
     *
     * A deposit will be taken from the signer account.
     *
     * - `origin`: Must be Signed; the signer account must have sufficient funds for a deposit
     * to be taken.
     * - `id`: The identifier of the asset for the account to be created, the asset status must
     * be live.
     * - `who`: The account to be created.
     *
     * Emits `Touched` event when successful.
     */
    "touch_other": Anonymize<I1nlrtd1epki2d>;
    /**
     * Return the deposit (if any) of a target asset account. Useful if you are the depositor.
     *
     * The origin must be Signed and either the account owner, depositor, or asset `Admin`. In
     * order to burn a non-zero balance of the asset, the caller must be the account and should
     * use `refund`.
     *
     * - `id`: The identifier of the asset for the account holding a deposit.
     * - `who`: The account to refund.
     *
     * It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if
     * the asset account contains holds or freezes in place.
     *
     * Emits `Refunded` event when successful.
     */
    "refund_other": Anonymize<I1nlrtd1epki2d>;
    /**
     * Disallow further unprivileged transfers of an asset `id` to and from an account `who`.
     *
     * Origin must be Signed and the sender should be the Freezer of the asset `id`.
     *
     * - `id`: The identifier of the account's asset.
     * - `who`: The account to be unblocked.
     *
     * Emits `Blocked`.
     *
     * Weight: `O(1)`
     */
    "block": Anonymize<I1nlrtd1epki2d>;
    /**
     * Transfer the entire transferable balance from the caller asset account.
     *
     * NOTE: This function only attempts to transfer _transferable_ balances. This means that
     * any held, frozen, or minimum balance (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.
     *
     * - `id`: The identifier of the asset for the account holding a deposit.
     * - `dest`: The recipient of the transfer.
     * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all
     * of the funds the asset account has, causing the sender asset account to be killed
     * (false), or transfer everything except at least the minimum balance, which will
     * guarantee to keep the sender asset account alive (true).
     */
    "transfer_all": Anonymize<I7f7v8192r1lmq>;
    /**
     * Sets the trusted reserve information of an asset.
     *
     * Origin must be the Owner of the asset `id`. The origin must conform to the configured
     * `CreateOrigin` or be the signed `owner` configured during asset creation.
     *
     * - `id`: The identifier of the asset.
     * - `reserves`: The full list of trusted reserves information.
     *
     * Emits `AssetMinBalanceChanged` event when successful.
     */
    "set_reserves": Anonymize<Idjrs24gh0qv5l>;
}>;
export type Ic357tcepuvo5c = {
    "id": number;
    "admin": MultiAddress;
    "min_balance": bigint;
};
export type MultiAddress = Enum<{
    "Id": SS58String;
    "Index": undefined;
    "Raw": Uint8Array;
    "Address32": SizedHex<32>;
    "Address20": SizedHex<20>;
}>;
export declare const MultiAddress: GetEnum<MultiAddress>;
export type I2rnoam876ruhj = {
    "id": number;
    "owner": MultiAddress;
    "is_sufficient": boolean;
    "min_balance": bigint;
};
export type Ib3qnc19gu633c = {
    "id": number;
    "beneficiary": MultiAddress;
    "amount": bigint;
};
export type Ifira6u9hi7cu1 = {
    "id": number;
    "who": MultiAddress;
    "amount": bigint;
};
export type I72tqocvdoqfff = {
    "id": number;
    "target": MultiAddress;
    "amount": bigint;
};
export type I2i27f3sfmvc05 = {
    "id": number;
    "source": MultiAddress;
    "dest": MultiAddress;
    "amount": bigint;
};
export type I1nlrtd1epki2d = {
    "id": number;
    "who": MultiAddress;
};
export type I3abtumcmempjs = {
    "id": number;
    "owner": MultiAddress;
};
export type Id81m8flopt8ha = {
    "id": number;
    "issuer": MultiAddress;
    "admin": MultiAddress;
    "freezer": MultiAddress;
};
export type I8hff7chabggkd = {
    "id": number;
    "name": Uint8Array;
    "symbol": Uint8Array;
    "decimals": number;
};
export type I49i39mtj1ivbs = {
    "id": number;
    "name": Uint8Array;
    "symbol": Uint8Array;
    "decimals": number;
    "is_frozen": boolean;
};
export type Ifkr2kcak2vto1 = {
    "id": number;
    "owner": MultiAddress;
    "issuer": MultiAddress;
    "admin": MultiAddress;
    "freezer": MultiAddress;
    "min_balance": bigint;
    "is_sufficient": boolean;
    "is_frozen": boolean;
};
export type I1ju6r8q0cs9jt = {
    "id": number;
    "delegate": MultiAddress;
    "amount": bigint;
};
export type I4kpeq6j7cd5bu = {
    "id": number;
    "delegate": MultiAddress;
};
export type I5na1ka76k6811 = {
    "id": number;
    "owner": MultiAddress;
    "delegate": MultiAddress;
};
export type I59mhdb9omdqfa = {
    "id": number;
    "owner": MultiAddress;
    "destination": MultiAddress;
    "amount": bigint;
};
export type I9vl5kpk0fpakt = {
    "id": number;
    "allow_burn": boolean;
};
export type I717jt61hu19b4 = {
    "id": number;
    "min_balance": bigint;
};
export type I7f7v8192r1lmq = {
    "id": number;
    "dest": MultiAddress;
    "keep_alive": boolean;
};
export type Idjrs24gh0qv5l = {
    "id": number;
    "reserves": Anonymize<I35l6p7kq19mr0>;
};
export type I7qpv90droestd = AnonymousEnum<{
    "system": Anonymize<I9gqitj4t615g3>;
    "PolkadotXcm": Anonymize<Icvilmd7qu30i4>;
    "CumulusXcm": Anonymize<I3in0d0lb61qi8>;
    "Origins": GovernanceOrigin;
    "Revive": Enum<{
        "EthTransaction": SS58String;
    }>;
}>;
export type GovernanceOrigin = Enum<{
    "StakingAdmin": undefined;
    "Treasurer": undefined;
    "FellowshipAdmin": undefined;
    "GeneralAdmin": undefined;
    "AuctionAdmin": undefined;
    "LeaseAdmin": undefined;
    "ReferendumCanceller": undefined;
    "ReferendumKiller": undefined;
    "SmallTipper": undefined;
    "BigTipper": undefined;
    "SmallSpender": undefined;
    "MediumSpender": undefined;
    "BigSpender": undefined;
    "WhitelistedCaller": undefined;
    "WishForChange": undefined;
}>;
export declare const GovernanceOrigin: GetEnum<GovernanceOrigin>;
export type I6td1q1lcrslkk = AnonymousEnum<{
    "System": Enum<{
        /**
         * Make some on-chain remark.
         *
         * Can be executed by every `origin`.
         */
        "remark": Anonymize<I8ofcg5rbj0g2c>;
        /**
         * Set the number of pages in the WebAssembly environment's heap.
         */
        "set_heap_pages": Anonymize<I4adgbll7gku4i>;
        /**
         * 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": Anonymize<I9pj91mj79qekl>;
        /**
         * Kill some items from storage.
         */
        "kill_storage": Anonymize<I39uah9nss64h9>;
        /**
         * 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": Anonymize<Ik64dknsq7k08>;
        /**
         * Make some on-chain remark and emit event.
         */
        "remark_with_event": Anonymize<I8ofcg5rbj0g2c>;
        "do_task": Anonymize<I3m5sq54sjdlso>;
        /**
         * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied
         * later.
         *
         * This call requires Root origin.
         */
        "authorize_upgrade": Anonymize<Ib51vk42m1po4n>;
        /**
         * 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": Anonymize<Ib51vk42m1po4n>;
        /**
         * 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>;
    }>;
    "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>;
                "relay_parent_descendants": Anonymize<I935sp4t02t2v1>;
                "collator_peer_id"?: Anonymize<Iabpgqcjikia83>;
            };
            "inbound_messages_data": {
                "downward_messages": {
                    "full_messages": Anonymize<I6ljjd4b5fa4ov>;
                    "hashed_messages": Array<Anonymize<Icqnh9ino03itn>>;
                };
                "horizontal_messages": {
                    "full_messages": Array<[number, Anonymize<I409qo0sfkbh16>]>;
                    "hashed_messages": Array<[number, Anonymize<Icqnh9ino03itn>]>;
                };
            };
        };
        "sudo_send_upward_message": Anonymize<Ifpj261e8s63m3>;
    }>;
    "Timestamp": Anonymize<I7d75gqfg6jh9c>;
    "ParachainInfo": undefined;
    "Preimage": Anonymize<If81ks88t5mpk5>;
    "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": SizedHex<32>;
            "when": number;
            "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
            "priority": number;
            "call": TxCallData;
        };
        /**
         * Cancel a named scheduled task.
         */
        "cancel_named": Anonymize<Ifs1i5fk9cqvr6>;
        /**
         * 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": SizedHex<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": Anonymize<Ieg3fd8p4pkt10>;
        /**
         * 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": Anonymize<I8kg5ll427kfqq>;
        /**
         * Removes the retry configuration of a task.
         */
        "cancel_retry": Anonymize<I467333262q1l9>;
        /**
         * Cancel the retry configuration of a named task.
         */
        "cancel_retry_named": Anonymize<Ifs1i5fk9cqvr6>;
    }>;
    "Parameters": Enum<{
        /**
         * Set the value of a parameter.
         *
         * The dispatch origin of this call must be `AdminOrigin` for the given `key`. Values be
         * deleted by setting them to `None`.
         */
        "set_parameter": {
            "key_value": Enum<{
                "StakingElection": Enum<{
                    "SignedPhase": Anonymize<Idqsmalvqe2q98>;
                    "MaxSignedSubmissions": Anonymize<Idqsmalvqe2q98>;
                    "UnsignedPhase": Anonymize<Idqsmalvqe2q98>;
                    "MinerPages": Anonymize<Idqsmalvqe2q98>;
                    "MaxElectingVoters": Anonymize<Idqsmalvqe2q98>;
                    "TargetSnapshotPerBlock": Anonymize<Idqsmalvqe2q98>;
                    "MaxEraDuration": FixedSizeArray<1, Anonymize<I35p85j063s0il>>;
                }>;
                "Scheduler": Enum<{
                    "MaxScheduledPerBlock": Anonymize<Idqsmalvqe2q98>;
                    "MaximumWeight": FixedSizeArray<1, Anonymize<Iasb8k6ash5mjn>>;
                }>;
                "MessageQueue": Enum<{
                    "MaxOnInitWeight": FixedSizeArray<1, (Anonymize<Iasb8k6ash5mjn>) | undefined>;
                    "MaxOnIdleWeight": FixedSizeArray<1, (Anonymize<Iasb8k6ash5mjn>) | undefined>;
                }>;
            }>;
        };
    }>;
    "MultiBlockMigrations": Anonymize<I4oqb168b2d4er>;
    "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": MultiAddress;
            "value": bigint;
        };
        /**
         * Exactly as `transfer_allow_death`, except the origin must be root and the source account
         * may be specified.
         */
        "force_transfer": {
            "source": MultiAddress;
            "dest": MultiAddress;
            "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": MultiAddress;
            "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": MultiAddress;
            "keep_alive": boolean;
        };
        /**
         * Unreserve some balance from a user by force.
         *
         * Can only be called by ROOT.
         */
        "force_unreserve": {
            "who": MultiAddress;
            "amount": bigint;
        };
        /**
         * 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": Anonymize<Ibmr18suc9ikh9>;
        /**
         * Set the regular balance of a given account.
         *
         * The dispatch origin for this call is `root`.
         */
        "force_set_balance": {
            "who": MultiAddress;
            "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": Anonymize<I5u8olqbbvfnvf>;
        /**
         * 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": Anonymize<I5utcetro501ir>;
    }>;
    "Vesting": Enum<{
        /**
         * Unlock any vested funds of the sender account.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must have funds still
         * locked under this pallet.
         *
         * Emits either `VestingCompleted` or `VestingUpdated`.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "vest": undefined;
        /**
         * Unlock any vested funds of a `target` account.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `target`: The account whose vested funds should be unlocked. Must have funds still
         * locked under this pallet.
         *
         * Emits either `VestingCompleted` or `VestingUpdated`.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "vest_other": {
            "target": MultiAddress;
        };
        /**
         * Create a vested transfer.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `target`: The account receiving the vested funds.
         * - `schedule`: The vesting schedule attached to the transfer.
         *
         * Emits `VestingCreated`.
         *
         * NOTE: This will unlock all schedules through the current block.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "vested_transfer": {
            "target": MultiAddress;
            "schedule": Anonymize<I4aro1m78pdrtt>;
        };
        /**
         * Force a vested transfer.
         *
         * The dispatch origin for this call must be _Root_.
         *
         * - `source`: The account whose funds should be transferred.
         * - `target`: The account that should be transferred the vested funds.
         * - `schedule`: The vesting schedule attached to the transfer.
         *
         * Emits `VestingCreated`.
         *
         * NOTE: This will unlock all schedules through the current block.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "force_vested_transfer": {
            "source": MultiAddress;
            "target": MultiAddress;
            "schedule": Anonymize<I4aro1m78pdrtt>;
        };
        /**
         * Merge two vesting schedules together, creating a new vesting schedule that unlocks over
         * the highest possible start and end blocks. If both schedules have already started the
         * current block will be used as the schedule start; with the caveat that if one schedule
         * is finished by the current block, the other will be treated as the new merged schedule,
         * unmodified.
         *
         * NOTE: If `schedule1_index == schedule2_index` this is a no-op.
         * NOTE: This will unlock all schedules through the current block prior to merging.
         * NOTE: If both schedules have ended by the current block, no new schedule will be created
         * and both will be removed.
         *
         * Merged schedule attributes:
         * - `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,
         * current_block)`.
         * - `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.
         * - `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `schedule1_index`: index of the first schedule to merge.
         * - `schedule2_index`: index of the second schedule to merge.
         */
        "merge_schedules": {
            "schedule1_index": number;
            "schedule2_index": number;
        };
        /**
         * Force remove a vesting schedule
         *
         * The dispatch origin for this call must be _Root_.
         *
         * - `target`: An account that has a vesting schedule
         * - `schedule_index`: The vesting schedule index that should be removed
         */
        "force_remove_vesting_schedule": {
            "target": MultiAddress;
            "schedule_index": number;
        };
    }>;
    "Claims": Enum<{
        /**
         * Make a claim to collect your DOTs.
         *
         * The dispatch origin for this call must be _None_.
         *
         * Unsigned Validation:
         * A call to claim is deemed valid if the signature provided matches
         * the expected signed message of:
         *
         * > Ethereum Signed Message:
         * > (configured prefix string)(address)
         *
         * and `address` matches the `dest` account.
         *
         * Parameters:
         * - `dest`: The destination account to payout the claim.
         * - `ethereum_signature`: The signature of an ethereum signed message matching the format
         * described above.
         *
         * <weight>
         * The weight of this call is invariant over the input parameters.
         * Weight includes logic to validate unsigned `claim` call.
         *
         * Total Complexity: O(1)
         * </weight>
         */
        "claim": {
            "dest": SS58String;
            "ethereum_signature": SizedHex<65>;
        };
        /**
         * Mint a new claim to collect DOTs.
         *
         * The dispatch origin for this call must be _Root_.
         *
         * Parameters:
         * - `who`: The Ethereum address allowed to collect this claim.
         * - `value`: The number of DOTs that will be claimed.
         * - `vesting_schedule`: An optional vesting schedule for these DOTs.
         *
         * <weight>
         * The weight of this call is invariant over the input parameters.
         * We assume worst case that both vesting and statement is being inserted.
         *
         * Total Complexity: O(1)
         * </weight>
         */
        "mint_claim": {
            "who": SizedHex<20>;
            "value": bigint;
            "vesting_schedule"?: (Anonymize<I2phecamkn3pej>) | undefined;
            "statement"?: (ClaimsStatementKind) | undefined;
        };
        /**
         * Make a claim to collect your DOTs by signing a statement.
         *
         * The dispatch origin for this call must be _None_.
         *
         * Unsigned Validation:
         * A call to `claim_attest` is deemed valid if the signature provided matches
         * the expected signed message of:
         *
         * > Ethereum Signed Message:
         * > (configured prefix string)(address)(statement)
         *
         * and `address` matches the `dest` account; the `statement` must match that which is
         * expected according to your purchase arrangement.
         *
         * Parameters:
         * - `dest`: The destination account to payout the claim.
         * - `ethereum_signature`: The signature of an ethereum signed message matching the format
         * described above.
         * - `statement`: The identity of the statement which is being attested to in the
         * signature.
         *
         * <weight>
         * The weight of this call is invariant over the input parameters.
         * Weight includes logic to validate unsigned `claim_attest` call.
         *
         * Total Complexity: O(1)
         * </weight>
         */
        "claim_attest": {
            "dest": SS58String;
            "ethereum_signature": SizedHex<65>;
            "statement": Uint8Array;
        };
        /**
         * Attest to a statement, needed to finalize the claims process.
         *
         * WARNING: Insecure unless your chain includes `PrevalidateAttests` as a
         * `TransactionExtension`.
         *
         * Unsigned Validation:
         * A call to attest is deemed valid if the sender has a `Preclaim` registered
         * and provides a `statement` which is expected for the account.
         *
         * Parameters:
         * - `statement`: The identity of the statement which is being attested to in the
         * signature.
         *
         * <weight>
         * The weight of this call is invariant over the input parameters.
         * Weight includes logic to do pre-validation on `attest` call.
         *
         * Total Complexity: O(1)
         * </weight>
         */
        "attest": {
            "statement": Uint8Array;
        };
        "move_claim": {
            "old": SizedHex<20>;
            "new": SizedHex<20>;
            "maybe_preclaim"?: Anonymize<Ihfphjolmsqq1>;
        };
    }>;
    "CollatorSelection": Anonymize<I9dpq5287dur8b>;
    "Session": Anonymize<I77dda7hps0u37>;
    "XcmpQueue": Enum<{
        /**
         * Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.
         *
         * - `origin`: Must pass `ControllerOrigin`.
         */
        "suspend_xcm_execution": undefined;
        /**
         * Resumes all XCM executions for the XCMP queue.
         *
         * Note that this function doesn't change the status of the in/out bound channels.
         *
         * - `origin`: Must pass `ControllerOrigin`.
         */
        "resume_xcm_execution": undefined;
        /**
         * Overwrites the number of pages which must be in the queue for the other side to be
         * told to suspend their sending.
         *
         * - `origin`: Must pass `Root`.
         * - `new`: Desired value for `QueueConfigData.suspend_value`
         */
        "update_suspend_threshold": Anonymize<I3vh014cqgmrfd>;
        /**
         * Overwrites the number of pages which must be in the queue after which we drop any
         * further messages from the channel.
         *
         * - `origin`: Must pass `Root`.
         * - `new`: Desired value for `QueueConfigData.drop_threshold`
         */
        "update_drop_threshold": Anonymize<I3vh014cqgmrfd>;
        /**
         * Overwrites the number of pages which the queue must be reduced to before it signals
         * that message sending may recommence after it has been suspended.
         *
         * - `origin`: Must pass `Root`.
         * - `new`: Desired value for `QueueConfigData.resume_threshold`
         */
        "update_resume_threshold": Anonymize<I3vh014cqgmrfd>;
    }>;
    "PolkadotXcm": Anonymize<I6k1inef986368>;
    "CumulusXcm": undefined;
    "ToKusamaXcmRouter": Enum<{
        /**
         * Notification about congested bridge queue.
         */
        "report_bridge_status": {
            "bridge_id": SizedHex<32>;
            "is_congested": boolean;
        };
    }>;
    "MessageQueue": Anonymize<Ic2uoe7jdksosp>;
    "SnowbridgeSystemFrontend": Enum<{
        /**
         * Set the operating mode for exporting messages to Ethereum.
         */
        "set_operating_mode": Anonymize<I9i6b1362umn1t>;
        /**
         * Initiates the registration for a Polkadot-native token as a wrapped ERC20 token on
         * Ethereum.
         * - `asset_id`: Location of the asset
         * - `metadata`: Metadata to include in the instantiated ERC20 contract on Ethereum
         *
         * All origins are allowed, however `asset_id` must be a location nested within the origin
         * consensus system.
         */
        "register_token": {
            "asset_id": XcmVersionedLocation;
            "metadata": {
                "name": Uint8Array;
                "symbol": Uint8Array;
                "decimals": number;
            };
            "fee_asset": Anonymize<Iffh1nc5e1mod6>;
        };
        /**
         * Add an additional relayer tip for a committed message identified by `message_id`.
         * The tip asset will be swapped for ether.
         */
        "add_tip": {
            "message_id": Enum<{
                "Inbound": bigint;
                "Outbound": bigint;
            }>;
            "asset": Anonymize<Iffh1nc5e1mod6>;
        };
    }>;
    "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<I7qpv90droestd>;
            "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>;
        };
        /**
         * Dispatch a fallback call in the event the main call fails to execute.
         * May be called from any origin except `None`.
         *
         * This function first attempts to dispatch the `main` call.
         * If the `main` call fails, the `fallback` is attemted.
         * if the fallback is successfully dispatched, the weights of both calls
         * are accumulated and an event containing the main call error is deposited.
         *
         * In the event of a fallback failure the whole call fails
         * with the weights returned.
         *
         * - `main`: The main call to be dispatched. This is the primary action to execute.
         * - `fallback`: The fallback call to be dispatched in case the `main` call fails.
         *
         * ## Dispatch Logic
         * - If the origin is `root`, both the main and fallback calls are executed without
         * applying any origin filters.
         * - If the origin is not `root`, the origin filter is applied to both the `main` and
         * `fallback` calls.
         *
         * ## Use Case
         * - Some use cases might involve submitting a `batch` type call in either main, fallback
         * or both.
         */
        "if_else": {
            "main": TxCallData;
            "fallback": TxCallData;
        };
        /**
         * Dispatches a function call with a provided origin.
         *
         * Almost the same as [`Pallet::dispatch_as`] but forwards any error of the inner call.
         *
         * The dispatch origin for this call must be _Root_.
         */
        "dispatch_as_fallible": {
            "as_origin": Anonymize<I7qpv90droestd>;
            "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": Anonymize<Ideaemvoneh309>;
        /**
         * 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": Anonymize<I3d9o9d7epp66v>;
        /**
         * Poke the deposit reserved for an existing multisig operation.
         *
         * The dispatch origin for this call must be _Signed_ and must be the original depositor of
         * the multisig operation.
         *
         * The transaction fee is waived if the deposit amount has changed.
         *
         * - `threshold`: The total number of approvals needed for this multisig.
         * - `other_signatories`: The accounts (other than the sender) who are part of the
         * multisig.
         * - `call_hash`: The hash of the call this deposit is reserved for.
         *
         * Emits `DepositPoked` if successful.
         */
        "poke_deposit": Anonymize<I6lqh1vgb4mcja>;
    }>;
    "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": MultiAddress;
            "force_proxy_type"?: Anonymize<Ivujr393rmtoa>;
            "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": MultiAddress;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "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": MultiAddress;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "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 `create_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<Idugco9k7jdh0f>;
            "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
         * `create_pure` with corresponding parameters.
         *
         * - `spawner`: The account that originally called `create_pure` to create this account.
         * - `index`: The disambiguation index originally passed to `create_pure`. Probably `0`.
         * - `proxy_type`: The proxy type originally passed to `create_pure`.
         * - `height`: The height of the chain when the call to `create_pure` was processed.
         * - `ext_index`: The extrinsic index in which the call to `create_pure` was processed.
         *
         * Fails with `NoPermission` in case the caller is not a previously created pure
         * account whose `create_pure` call has corresponding parameters.
         */
        "kill_pure": {
            "spawner": MultiAddress;
            "proxy_type": Anonymize<Idugco9k7jdh0f>;
            "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": MultiAddress;
            "call_hash": SizedHex<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": MultiAddress;
            "call_hash": SizedHex<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": MultiAddress;
            "call_hash": SizedHex<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": MultiAddress;
            "real": MultiAddress;
            "force_proxy_type"?: Anonymize<Ivujr393rmtoa>;
            "call": TxCallData;
        };
        /**
         * Poke / Adjust deposits made for proxies and announcements based on current values.
         * This can be used by accounts to possibly lower their locked amount.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * The transaction fee is waived if the deposit amount has changed.
         *
         * Emits `DepositPoked` if successful.
         */
        "poke_deposit": undefined;
    }>;
    "Indices": Enum<{
        /**
         * Assign an previously unassigned index.
         *
         * Payment: `Deposit` is reserved from the sender account.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `index`: the index to be claimed. This must not be in use.
         *
         * Emits `IndexAssigned` if successful.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "claim": Anonymize<I666bl2fqjkejo>;
        /**
         * Assign an index already owned by the sender to another account. The balance reservation
         * is effectively transferred to the new account.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * - `index`: the index to be re-assigned. This must be owned by the sender.
         * - `new`: the new owner of the index. This function is a no-op if it is equal to sender.
         *
         * Emits `IndexAssigned` if successful.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "transfer": {
            "new": MultiAddress;
            "index": number;
        };
        /**
         * Free up an index owned by the sender.
         *
         * Payment: Any previous deposit placed for the index is unreserved in the sender account.
         *
         * The dispatch origin for this call must be _Signed_ and the sender must own the index.
         *
         * - `index`: the index to be freed. This must be owned by the sender.
         *
         * Emits `IndexFreed` if successful.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "free": Anonymize<I666bl2fqjkejo>;
        /**
         * Force an index to an account. This doesn't require a deposit. If the index is already
         * held, then any deposit is reimbursed to its current owner.
         *
         * The dispatch origin for this call must be _Root_.
         *
         * - `index`: the index to be (re-)assigned.
         * - `new`: the new owner of the index. This function is a no-op if it is equal to sender.
         * - `freeze`: if set to `true`, will freeze the index so it cannot be transferred.
         *
         * Emits `IndexAssigned` if successful.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "force_transfer": {
            "new": MultiAddress;
            "index": number;
            "freeze": boolean;
        };
        /**
         * Freeze an index so it will always point to the sender account. This consumes the
         * deposit.
         *
         * The dispatch origin for this call must be _Signed_ and the signing account must have a
         * non-frozen account `index`.
         *
         * - `index`: the index to be frozen in place.
         *
         * Emits `IndexFrozen` if successful.
         *
         * ## Complexity
         * - `O(1)`.
         */
        "freeze": Anonymize<I666bl2fqjkejo>;
        /**
         * Poke the deposit reserved for an index.
         *
         * The dispatch origin for this call must be _Signed_ and the signing account must have a
         * non-frozen account `index`.
         *
         * The transaction fees is waived if the deposit is changed after poking/reconsideration.
         *
         * - `index`: the index whose deposit is to be poked/reconsidered.
         *
         * Emits `DepositPoked` if successful.
         */
        "poke_deposit": Anonymize<I666bl2fqjkejo>;
    }>;
    "Assets": Anonymize<I885rd9smlqfti>;
    "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": number;
            "admin": MultiAddress;
        };
        /**
         * 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": number;
            "owner": MultiAddress;
            "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": number;
            "witness": Anonymize<I59th026dnaruk>;
        };
        /**
         * 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": {
            "collection": number;
            "item": number;
            "owner": MultiAddress;
        };
        /**
         * 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": number;
            "item": number;
            "check_owner"?: Anonymize<Ia0jlc0rcbskuk>;
        };
        /**
         * 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": Anonymize<Ibgvkh96s68a66>;
        /**
         * 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": Anonymize<If9vko7pv0231m>;
        /**
         * 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<Iafkqus0ohh6l6>;
        /**
         * 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<Iafkqus0ohh6l6>;
        /**
         * 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<I6cu7obfo0rr0o>;
        /**
         * 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<I6cu7obfo0rr0o>;
        /**
         * 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<I736lv5q9m5bot>;
        /**
         * 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": {
            "collection": number;
            "issuer": MultiAddress;
            "admin": MultiAddress;
            "freezer": MultiAddress;
        };
        /**
         * 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": Anonymize<Ib92t90p616grb>;
        /**
         * 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": number;
            "item": number;
            "maybe_check_delegate"?: Anonymize<Ia0jlc0rcbskuk>;
        };
        /**
         * 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": number;
            "owner": MultiAddress;
            "issuer": MultiAddress;
            "admin": MultiAddress;
            "freezer": MultiAddress;
            "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<I5tvvgui05tn6e>;
        /**
         * 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<Ibal0joadvdc2h>;
        /**
         * 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<Iceq9fmmp9aeqv>;
        /**
         * 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<Iafkqus0ohh6l6>;
        /**
         * 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<I9viqhmdtuof5e>;
        /**
         * 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<I6cu7obfo0rr0o>;
        /**
         * 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": Anonymize<Ibqooroq6rr5kr>;
        /**
         * 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<I6h88h8vba22v8>;
        /**
         * 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": Anonymize<Ia9cd4jqb5eecb>;
        /**
         * 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": Anonymize<I19jiel1ftbcce>;
    }>;
    "Nfts": 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 be Signed and the sender must have sufficient funds free.
         *
         * `CollectionDeposit` funds of sender are reserved.
         *
         * Parameters:
         * - `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": {
            "admin": MultiAddress;
            "config": Anonymize<I72ndo6phms8ik>;
        };
        /**
         * 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.
         *
         * - `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": {
            "owner": MultiAddress;
            "config": Anonymize<I72ndo6phms8ik>;
        };
        /**
         * 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`.
         *
         * NOTE: The collection must have 0 items to be destroyed.
         *
         * - `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(m + c + a)` where:
         * - `m = witness.item_metadatas`
         * - `c = witness.item_configs`
         * - `a = witness.attributes`
         */
        "destroy": {
            "collection": number;
            "witness": {
                "item_metadatas": number;
                "item_configs": number;
                "attributes": number;
            };
        };
        /**
         * Mint an item of a particular collection.
         *
         * The origin must be Signed and the sender must comply with the `mint_settings` rules.
         *
         * - `collection`: The collection of the item to be minted.
         * - `item`: An identifier of the new item.
         * - `mint_to`: Account into which the item will be minted.
         * - `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned
         * item_id from that collection needs to be provided within the witness data object. If
         * the mint price is set, then it should be additionally confirmed in the `witness_data`.
         *
         * Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.
         *
         * Emits `Issued` event when successful.
         *
         * Weight: `O(1)`
         */
        "mint": {
            "collection": number;
            "item": number;
            "mint_to": MultiAddress;
            "witness_data"?: ({
                "owned_item"?: Anonymize<I4arjljr6dpflb>;
                "mint_price"?: Anonymize<I35p85j063s0il>;
            }) | undefined;
        };
        /**
         * Mint an item of a particular collection from a privileged origin.
         *
         * The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the
         * Issuer of the `collection`.
         *
         * - `collection`: The collection of the item to be minted.
         * - `item`: An identifier of the new item.
         * - `mint_to`: Account into which the item will be minted.
         * - `item_config`: A config of the new item.
         *
         * Emits `Issued` event when successful.
         *
         * Weight: `O(1)`
         */
        "force_mint": {
            "collection": number;
            "item": number;
            "mint_to": MultiAddress;
            "item_config": bigint;
        };
        /**
         * Destroy a single item.
         *
         * The origin must conform to `ForceOrigin` or must be Signed and the signing account must
         * be the owner of the `item`.
         *
         * - `collection`: The collection of the item to be burned.
         * - `item`: The item to be burned.
         *
         * Emits `Burned`.
         *
         * Weight: `O(1)`
         */
        "burn": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Move an item from the sender account to another.
         *
         * Origin must be Signed and the signing account must be either:
         * - 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 to be transferred.
         * - `dest`: The account to receive ownership of the item.
         *
         * Emits `Transferred`.
         *
         * Weight: `O(1)`
         */
        "transfer": Anonymize<Ibgvkh96s68a66>;
        /**
         * Re-evaluate the deposits on some items.
         *
         * Origin must be Signed and the sender should be the Owner of the `collection`.
         *
         * - `collection`: The collection of the items to be reevaluated.
         * - `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 or the signer
         * is not permitted to call it.
         *
         * Weight: `O(items.len())`
         */
        "redeposit": Anonymize<If9vko7pv0231m>;
        /**
         * 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 changed.
         * - `item`: The item to become non-transferable.
         *
         * Emits `ItemTransferLocked`.
         *
         * Weight: `O(1)`
         */
        "lock_item_transfer": Anonymize<Iafkqus0ohh6l6>;
        /**
         * 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 changed.
         * - `item`: The item to become transferable.
         *
         * Emits `ItemTransferUnlocked`.
         *
         * Weight: `O(1)`
         */
        "unlock_item_transfer": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Disallows specified settings for the whole collection.
         *
         * Origin must be Signed and the sender should be the Owner of the `collection`.
         *
         * - `collection`: The collection to be locked.
         * - `lock_settings`: The settings to be locked.
         *
         * Note: it's possible to only lock(set) the setting, but not to unset it.
         *
         * Emits `CollectionLocked`.
         *
         * Weight: `O(1)`
         */
        "lock_collection": {
            "collection": number;
            "lock_settings": bigint;
        };
        /**
         * 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<I736lv5q9m5bot>;
        /**
         * Change the Issuer, Admin and Freezer of a collection.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * `collection`.
         *
         * Note: by setting the role to `None` only the `ForceOrigin` will be able to change it
         * after to `Some(account)`.
         *
         * - `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": {
            "collection": number;
            "issuer"?: Anonymize<Ia0jlc0rcbskuk>;
            "admin"?: Anonymize<Ia0jlc0rcbskuk>;
            "freezer"?: Anonymize<Ia0jlc0rcbskuk>;
        };
        /**
         * Change the Owner of a collection.
         *
         * Origin must be `ForceOrigin`.
         *
         * - `collection`: The identifier of the collection.
         * - `owner`: The new Owner of this collection.
         *
         * Emits `OwnerChanged`.
         *
         * Weight: `O(1)`
         */
        "force_collection_owner": {
            "collection": number;
            "owner": MultiAddress;
        };
        /**
         * Change the config of a collection.
         *
         * Origin must be `ForceOrigin`.
         *
         * - `collection`: The identifier of the collection.
         * - `config`: The new config of this collection.
         *
         * Emits `CollectionConfigChanged`.
         *
         * Weight: `O(1)`
         */
        "force_collection_config": {
            "collection": number;
            "config": Anonymize<I72ndo6phms8ik>;
        };
        /**
         * Approve an item to be transferred by a delegated third-party account.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * `item`.
         *
         * - `collection`: The collection of the item to be approved for delegated transfer.
         * - `item`: The item to be approved for delegated transfer.
         * - `delegate`: The account to delegate permission to transfer the item.
         * - `maybe_deadline`: Optional deadline for the approval. Specified by providing the
         * number of blocks after which the approval will expire
         *
         * Emits `TransferApproved` on success.
         *
         * Weight: `O(1)`
         */
        "approve_transfer": {
            "collection": number;
            "item": number;
            "delegate": MultiAddress;
            "maybe_deadline"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Cancel one of the transfer approvals for a specific item.
         *
         * Origin must be either:
         * - the `Force` origin;
         * - `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 collection of whose approval will be cancelled.
         * - `delegate`: The account that is going to loose their approval.
         *
         * Emits `ApprovalCancelled` on success.
         *
         * Weight: `O(1)`
         */
        "cancel_approval": Anonymize<Ib92t90p616grb>;
        /**
         * Cancel all the approvals of a specific item.
         *
         * Origin must be either:
         * - the `Force` origin;
         * - `Signed` with the signer being the Owner of the `item`;
         *
         * Arguments:
         * - `collection`: The collection of the item of whose approvals will be cleared.
         * - `item`: The item of the collection of whose approvals will be cleared.
         *
         * Emits `AllApprovalsCancelled` on success.
         *
         * Weight: `O(1)`
         */
        "clear_all_transfer_approvals": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Disallows changing the metadata or attributes of the item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Admin
         * of the `collection`.
         *
         * - `collection`: The collection if the `item`.
         * - `item`: An item to be locked.
         * - `lock_metadata`: Specifies whether the metadata should be locked.
         * - `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace
         * should be locked.
         *
         * Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace only.
         * When the metadata or attributes are locked, it won't be possible the unlock them.
         *
         * Emits `ItemPropertiesLocked`.
         *
         * Weight: `O(1)`
         */
        "lock_item_properties": Anonymize<I1jj31tn29ie3c>;
        /**
         * Set an attribute for a collection or item.
         *
         * Origin must be Signed and must conform to the namespace ruleset:
         * - `CollectionOwner` namespace could be modified by the `collection` Admin only;
         * - `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`
         * should be set in that case;
         * - `Account(AccountId)` namespace could be modified only when the `origin` was given a
         * permission to do so;
         *
         * The funds of `origin` are reserved according to the formula:
         * `AttributeDepositBase + 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.
         * - `namespace`: Attribute's namespace.
         * - `key`: The key of the attribute.
         * - `value`: The value to which to set the attribute.
         *
         * Emits `AttributeSet`.
         *
         * Weight: `O(1)`
         */
        "set_attribute": Anonymize<I5llu6o6a0go5i>;
        /**
         * Force-set an attribute for a collection or item.
         *
         * Origin must be `ForceOrigin`.
         *
         * If the attribute already exists and it was set by another account, the deposit
         * will be returned to the previous owner.
         *
         * - `set_as`: An optional owner of the attribute.
         * - `collection`: The identifier of the collection whose item's metadata to set.
         * - `maybe_item`: The identifier of the item whose metadata to set.
         * - `namespace`: Attribute's namespace.
         * - `key`: The key of the attribute.
         * - `value`: The value to which to set the attribute.
         *
         * Emits `AttributeSet`.
         *
         * Weight: `O(1)`
         */
        "force_set_attribute": {
            "set_as"?: Anonymize<Ihfphjolmsqq1>;
            "collection": number;
            "maybe_item"?: Anonymize<I4arjljr6dpflb>;
            "namespace": Anonymize<If3jjadhmug6qc>;
            "key": Uint8Array;
            "value": Uint8Array;
        };
        /**
         * Clear an attribute for a collection or item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the
         * attribute.
         *
         * 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.
         * - `namespace`: Attribute's namespace.
         * - `key`: The key of the attribute.
         *
         * Emits `AttributeCleared`.
         *
         * Weight: `O(1)`
         */
        "clear_attribute": Anonymize<I93r2effh7od84>;
        /**
         * Approve item's attributes to be changed by a delegated third-party account.
         *
         * Origin must be Signed and must be an owner of the `item`.
         *
         * - `collection`: A collection of the item.
         * - `item`: The item that holds attributes.
         * - `delegate`: The account to delegate permission to change attributes of the item.
         *
         * Emits `ItemAttributesApprovalAdded` on success.
         */
        "approve_item_attributes": Anonymize<Ib92t90p616grb>;
        /**
         * Cancel the previously provided approval to change item's attributes.
         * All the previously set attributes by the `delegate` will be removed.
         *
         * Origin must be Signed and must be an owner of the `item`.
         *
         * - `collection`: Collection that the item is contained within.
         * - `item`: The item that holds attributes.
         * - `delegate`: The previously approved account to remove.
         *
         * Emits `ItemAttributesApprovalRemoved` on success.
         */
        "cancel_item_attributes_approval": {
            "collection": number;
            "item": number;
            "delegate": MultiAddress;
            "witness": number;
        };
        /**
         * Set the metadata for an item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Admin 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`.
         *
         * Emits `ItemMetadataSet`.
         *
         * Weight: `O(1)`
         */
        "set_metadata": Anonymize<Icrkms46uh8tpb>;
        /**
         * Clear the metadata for an item.
         *
         * Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the
         * `collection`.
         *
         * 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 `ItemMetadataCleared`.
         *
         * Weight: `O(1)`
         */
        "clear_metadata": Anonymize<Iafkqus0ohh6l6>;
        /**
         * Set the metadata for a collection.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin 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`.
         *
         * Emits `CollectionMetadataSet`.
         *
         * Weight: `O(1)`
         */
        "set_collection_metadata": Anonymize<I78u60nqh0etah>;
        /**
         * Clear the metadata for a collection.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin 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<I6cu7obfo0rr0o>;
        /**
         * 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": Anonymize<Ibqooroq6rr5kr>;
        /**
         * Set the maximum number of items a collection could have.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of
         * the `collection`.
         *
         * - `collection`: The identifier of the collection to change.
         * - `max_supply`: The maximum number of items a collection could have.
         *
         * Emits `CollectionMaxSupplySet` event when successful.
         */
        "set_collection_max_supply": Anonymize<I6h88h8vba22v8>;
        /**
         * Update mint settings.
         *
         * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Issuer
         * of the `collection`.
         *
         * - `collection`: The identifier of the collection to change.
         * - `mint_settings`: The new mint settings.
         *
         * Emits `CollectionMintSettingsUpdated` event when successful.
         */
        "update_mint_settings": {
            "collection": number;
            "mint_settings": Anonymize<Ia3s8qquibn97v>;
        };
        /**
         * Set (or reset) the price for an item.
         *
         * Origin must be Signed and must be the owner of the `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": Anonymize<Ia9cd4jqb5eecb>;
        /**
         * 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": Anonymize<I19jiel1ftbcce>;
        /**
         * Allows to pay the tips.
         *
         * Origin must be Signed.
         *
         * - `tips`: Tips array.
         *
         * Emits `TipSent` on every tip transfer.
         */
        "pay_tips": {
            "tips": Array<{
                "collection": number;
                "item": number;
                "receiver": SS58String;
                "amount": bigint;
            }>;
        };
        /**
         * Register a new atomic swap, declaring an intention to send an `item` in exchange for
         * `desired_item` from origin to target on the current blockchain.
         * The target can execute the swap during the specified `duration` of blocks (if set).
         * Additionally, the price could be set for the desired `item`.
         *
         * Origin must be Signed and must be an owner of the `item`.
         *
         * - `collection`: The collection of the item.
         * - `item`: The item an owner wants to give.
         * - `desired_collection`: The collection of the desired item.
         * - `desired_item`: The desired item an owner wants to receive.
         * - `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.
         * - `duration`: A deadline for the swap. Specified by providing the number of blocks
         * after which the swap will expire.
         *
         * Emits `SwapCreated` on success.
         */
        "create_swap": {
            "offered_collection": number;
            "offered_item": number;
            "desired_collection": number;
            "maybe_desired_item"?: Anonymize<I4arjljr6dpflb>;
            "maybe_price"?: Anonymize<I6oogc1jbmmi81>;
            "duration": number;
        };
        /**
         * Cancel an atomic swap.
         *
         * Origin must be Signed.
         * Origin must be an owner of the `item` if the deadline hasn't expired.
         *
         * - `collection`: The collection of the item.
         * - `item`: The item an owner wants to give.
         *
         * Emits `SwapCancelled` on success.
         */
        "cancel_swap": {
            "offered_collection": number;
            "offered_item": number;
        };
        /**
         * Claim an atomic swap.
         * This method executes a pending swap, that was created by a counterpart before.
         *
         * Origin must be Signed and must be an owner of the `item`.
         *
         * - `send_collection`: The collection of the item to be sent.
         * - `send_item`: The item to be sent.
         * - `receive_collection`: The collection of the item to be received.
         * - `receive_item`: The item to be received.
         * - `witness_price`: A price that was previously agreed on.
         *
         * Emits `SwapClaimed` on success.
         */
        "claim_swap": {
            "send_collection": number;
            "send_item": number;
            "receive_collection": number;
            "receive_item": number;
            "witness_price"?: Anonymize<I6oogc1jbmmi81>;
        };
        /**
         * Mint an item by providing the pre-signed approval.
         *
         * Origin must be Signed.
         *
         * - `mint_data`: The pre-signed approval that consists of the information about the item,
         * its metadata, attributes, who can mint it (`None` for anyone) and until what block
         * number.
         * - `signature`: The signature of the `data` object.
         * - `signer`: The `data` object's signer. Should be an Issuer of the collection.
         *
         * Emits `Issued` on success.
         * Emits `AttributeSet` if the attributes were provided.
         * Emits `ItemMetadataSet` if the metadata was not empty.
         */
        "mint_pre_signed": {
            "mint_data": {
                "collection": number;
                "item": number;
                "attributes": Anonymize<I6pi5ou8r1hblk>;
                "metadata": Uint8Array;
                "only_account"?: Anonymize<Ihfphjolmsqq1>;
                "deadline": number;
                "mint_price"?: Anonymize<I35p85j063s0il>;
            };
            "signature": Anonymize<I3fo6882e5tjh8>;
            "signer": SS58String;
        };
        /**
         * Set attributes for an item by providing the pre-signed approval.
         *
         * Origin must be Signed and must be an owner of the `data.item`.
         *
         * - `data`: The pre-signed approval that consists of the information about the item,
         * attributes to update and until what block number.
         * - `signature`: The signature of the `data` object.
         * - `signer`: The `data` object's signer. Should be an Admin of the collection for the
         * `CollectionOwner` namespace.
         *
         * Emits `AttributeSet` for each provided attribute.
         * Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.
         * Emits `PreSignedAttributesSet` on success.
         */
        "set_attributes_pre_signed": {
            "data": {
                "collection": number;
                "item": number;
                "attributes": Anonymize<I6pi5ou8r1hblk>;
                "namespace": Anonymize<If3jjadhmug6qc>;
                "deadline": number;
            };
            "signature": Anonymize<I3fo6882e5tjh8>;
            "signer": SS58String;
        };
    }>;
    "ForeignAssets": Enum<{
        /**
         * Issue a new class of fungible assets from a public origin.
         *
         * This new asset class has no assets initially and its owner is the origin.
         *
         * The origin must conform to the configured `CreateOrigin` and have sufficient funds free.
         *
         * Funds of sender are reserved by `AssetDeposit`.
         *
         * Parameters:
         * - `id`: The identifier of the new asset. This must not be currently in use to identify
         * an existing asset. If [`NextAssetId`] is set, then this must be equal to it.
         * - `admin`: The admin of this class of assets. The admin is the initial address of each
         * member of the asset class's admin team.
         * - `min_balance`: The minimum balance of this new asset that any single account must
         * have. If an account's balance is reduced below this, then it collapses to zero.
         *
         * Emits `Created` event when successful.
         *
         * Weight: `O(1)`
         */
        "create": {
            "id": Anonymize<If9iqq7i64mur8>;
            "admin": MultiAddress;
            "min_balance": bigint;
        };
        /**
         * Issue a new class of fungible assets from a privileged origin.
         *
         * This new asset class has no assets initially.
         *
         * The origin must conform to `ForceOrigin`.
         *
         * Unlike `create`, no funds are reserved.
         *
         * - `id`: The identifier of the new asset. This must not be currently in use to identify
         * an existing asset. If [`NextAssetId`] is set, then this must be equal to it.
         * - `owner`: The owner of this class of assets. The owner has full superuser permissions
         * over this asset, but may later change and configure the permissions using
         * `transfer_ownership` and `set_team`.
         * - `min_balance`: The minimum balance of this new asset that any single account must
         * have. If an account's balance is reduced below this, then it collapses to zero.
         *
         * Emits `ForceCreated` event when successful.
         *
         * Weight: `O(1)`
         */
        "force_create": {
            "id": Anonymize<If9iqq7i64mur8>;
            "owner": MultiAddress;
            "is_sufficient": boolean;
            "min_balance": bigint;
        };
        /**
         * Start the process of destroying a fungible asset class.
         *
         * `start_destroy` is the first in a series of extrinsics that should be called, to allow
         * destruction of an asset class.
         *
         * The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.
         *
         * - `id`: The identifier of the asset to be destroyed. This must identify an existing
         * asset.
         *
         * It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if
         * an account contains holds or freezes in place.
         */
        "start_destroy": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Destroy all accounts associated with a given asset.
         *
         * `destroy_accounts` should only be called after `start_destroy` has been called, and the
         * asset is in a `Destroying` state.
         *
         * Due to weight restrictions, this function may need to be called multiple times to fully
         * destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.
         *
         * - `id`: The identifier of the asset to be destroyed. This must identify an existing
         * asset.
         *
         * Each call emits the `Event::DestroyedAccounts` event.
         */
        "destroy_accounts": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).
         *
         * `destroy_approvals` should only be called after `start_destroy` has been called, and the
         * asset is in a `Destroying` state.
         *
         * Due to weight restrictions, this function may need to be called multiple times to fully
         * destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.
         *
         * - `id`: The identifier of the asset to be destroyed. This must identify an existing
         * asset.
         *
         * Each call emits the `Event::DestroyedApprovals` event.
         */
        "destroy_approvals": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Complete destroying asset and unreserve currency.
         *
         * `finish_destroy` should only be called after `start_destroy` has been called, and the
         * asset is in a `Destroying` state. All accounts or approvals should be destroyed before
         * hand.
         *
         * - `id`: The identifier of the asset to be destroyed. This must identify an existing
         * asset.
         *
         * Each successful call emits the `Event::Destroyed` event.
         */
        "finish_destroy": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Mint assets of a particular class.
         *
         * The origin must be Signed and the sender must be the Issuer of the asset `id`.
         *
         * - `id`: The identifier of the asset to have some amount minted.
         * - `beneficiary`: The account to be credited with the minted assets.
         * - `amount`: The amount of the asset to be minted.
         *
         * Emits `Issued` event when successful.
         *
         * Weight: `O(1)`
         * Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`.
         */
        "mint": {
            "id": Anonymize<If9iqq7i64mur8>;
            "beneficiary": MultiAddress;
            "amount": bigint;
        };
        /**
         * Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.
         *
         * Origin must be Signed and the sender should be the Manager of the asset `id`.
         *
         * Bails with `NoAccount` if the `who` is already dead.
         *
         * - `id`: The identifier of the asset to have some amount burned.
         * - `who`: The account to be debited from.
         * - `amount`: The maximum amount by which `who`'s balance should be reduced.
         *
         * Emits `Burned` with the actual amount burned. If this takes the balance to below the
         * minimum for the asset, then the amount burned is increased to take it to zero.
         *
         * Weight: `O(1)`
         * Modes: Post-existence of `who`; Pre & post Zombie-status of `who`.
         */
        "burn": {
            "id": Anonymize<If9iqq7i64mur8>;
            "who": MultiAddress;
            "amount": bigint;
        };
        /**
         * Move some assets from the sender account to another.
         *
         * Origin must be Signed.
         *
         * - `id`: The identifier of the asset to have some amount transferred.
         * - `target`: The account to be credited.
         * - `amount`: The amount by which the sender's balance of assets should be reduced and
         * `target`'s balance increased. The amount actually transferred may be slightly greater in
         * the case that the transfer would otherwise take the sender balance above zero but below
         * the minimum balance. Must be greater than zero.
         *
         * Emits `Transferred` with the actual amount transferred. If this takes the source balance
         * to below the minimum for the asset, then the amount transferred is increased to take it
         * to zero.
         *
         * Weight: `O(1)`
         * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of
         * `target`.
         */
        "transfer": {
            "id": Anonymize<If9iqq7i64mur8>;
            "target": MultiAddress;
            "amount": bigint;
        };
        /**
         * Move some assets from the sender account to another, keeping the sender account alive.
         *
         * Origin must be Signed.
         *
         * - `id`: The identifier of the asset to have some amount transferred.
         * - `target`: The account to be credited.
         * - `amount`: The amount by which the sender's balance of assets should be reduced and
         * `target`'s balance increased. The amount actually transferred may be slightly greater in
         * the case that the transfer would otherwise take the sender balance above zero but below
         * the minimum balance. Must be greater than zero.
         *
         * Emits `Transferred` with the actual amount transferred. If this takes the source balance
         * to below the minimum for the asset, then the amount transferred is increased to take it
         * to zero.
         *
         * Weight: `O(1)`
         * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of
         * `target`.
         */
        "transfer_keep_alive": {
            "id": Anonymize<If9iqq7i64mur8>;
            "target": MultiAddress;
            "amount": bigint;
        };
        /**
         * Move some assets from one account to another.
         *
         * Origin must be Signed and the sender should be the Admin of the asset `id`.
         *
         * - `id`: The identifier of the asset to have some amount transferred.
         * - `source`: The account to be debited.
         * - `dest`: The account to be credited.
         * - `amount`: The amount by which the `source`'s balance of assets should be reduced and
         * `dest`'s balance increased. The amount actually transferred may be slightly greater in
         * the case that the transfer would otherwise take the `source` balance above zero but
         * below the minimum balance. Must be greater than zero.
         *
         * Emits `Transferred` with the actual amount transferred. If this takes the source balance
         * to below the minimum for the asset, then the amount transferred is increased to take it
         * to zero.
         *
         * Weight: `O(1)`
         * Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of
         * `dest`.
         */
        "force_transfer": {
            "id": Anonymize<If9iqq7i64mur8>;
            "source": MultiAddress;
            "dest": MultiAddress;
            "amount": bigint;
        };
        /**
         * Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`
         * must already exist as an entry in `Account`s of the asset. If you want to freeze an
         * account that does not have an entry, use `touch_other` first.
         *
         * Origin must be Signed and the sender should be the Freezer of the asset `id`.
         *
         * - `id`: The identifier of the asset to be frozen.
         * - `who`: The account to be frozen.
         *
         * Emits `Frozen`.
         *
         * Weight: `O(1)`
         */
        "freeze": {
            "id": Anonymize<If9iqq7i64mur8>;
            "who": MultiAddress;
        };
        /**
         * Allow unprivileged transfers to and from an account again.
         *
         * Origin must be Signed and the sender should be the Admin of the asset `id`.
         *
         * - `id`: The identifier of the asset to be frozen.
         * - `who`: The account to be unfrozen.
         *
         * Emits `Thawed`.
         *
         * Weight: `O(1)`
         */
        "thaw": {
            "id": Anonymize<If9iqq7i64mur8>;
            "who": MultiAddress;
        };
        /**
         * Disallow further unprivileged transfers for the asset class.
         *
         * Origin must be Signed and the sender should be the Freezer of the asset `id`.
         *
         * - `id`: The identifier of the asset to be frozen.
         *
         * Emits `Frozen`.
         *
         * Weight: `O(1)`
         */
        "freeze_asset": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Allow unprivileged transfers for the asset again.
         *
         * Origin must be Signed and the sender should be the Admin of the asset `id`.
         *
         * - `id`: The identifier of the asset to be thawed.
         *
         * Emits `Thawed`.
         *
         * Weight: `O(1)`
         */
        "thaw_asset": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Change the Owner of an asset.
         *
         * Origin must be Signed and the sender should be the Owner of the asset `id`.
         *
         * - `id`: The identifier of the asset.
         * - `owner`: The new Owner of this asset.
         *
         * Emits `OwnerChanged`.
         *
         * Weight: `O(1)`
         */
        "transfer_ownership": {
            "id": Anonymize<If9iqq7i64mur8>;
            "owner": MultiAddress;
        };
        /**
         * Change the Issuer, Admin and Freezer of an asset.
         *
         * Origin must be Signed and the sender should be the Owner of the asset `id`.
         *
         * - `id`: The identifier of the asset to be frozen.
         * - `issuer`: The new Issuer of this asset.
         * - `admin`: The new Admin of this asset.
         * - `freezer`: The new Freezer of this asset.
         *
         * Emits `TeamChanged`.
         *
         * Weight: `O(1)`
         */
        "set_team": {
            "id": Anonymize<If9iqq7i64mur8>;
            "issuer": MultiAddress;
            "admin": MultiAddress;
            "freezer": MultiAddress;
        };
        /**
         * Set the metadata for an asset.
         *
         * Origin must be Signed and the sender should be the Owner of the asset `id`.
         *
         * Funds of sender are reserved according to the formula:
         * `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into
         * account any already reserved funds.
         *
         * - `id`: The identifier of the asset to update.
         * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.
         * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.
         * - `decimals`: The number of decimals this asset uses to represent one unit.
         *
         * Emits `MetadataSet`.
         *
         * Weight: `O(1)`
         */
        "set_metadata": {
            "id": Anonymize<If9iqq7i64mur8>;
            "name": Uint8Array;
            "symbol": Uint8Array;
            "decimals": number;
        };
        /**
         * Clear the metadata for an asset.
         *
         * Origin must be Signed and the sender should be the Owner of the asset `id`.
         *
         * Any deposit is freed for the asset owner.
         *
         * - `id`: The identifier of the asset to clear.
         *
         * Emits `MetadataCleared`.
         *
         * Weight: `O(1)`
         */
        "clear_metadata": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Force the metadata for an asset to some value.
         *
         * Origin must be ForceOrigin.
         *
         * Any deposit is left alone.
         *
         * - `id`: The identifier of the asset to update.
         * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`.
         * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.
         * - `decimals`: The number of decimals this asset uses to represent one unit.
         *
         * Emits `MetadataSet`.
         *
         * Weight: `O(N + S)` where N and S are the length of the name and symbol respectively.
         */
        "force_set_metadata": {
            "id": Anonymize<If9iqq7i64mur8>;
            "name": Uint8Array;
            "symbol": Uint8Array;
            "decimals": number;
            "is_frozen": boolean;
        };
        /**
         * Clear the metadata for an asset.
         *
         * Origin must be ForceOrigin.
         *
         * Any deposit is returned.
         *
         * - `id`: The identifier of the asset to clear.
         *
         * Emits `MetadataCleared`.
         *
         * Weight: `O(1)`
         */
        "force_clear_metadata": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Alter the attributes of a given asset.
         *
         * Origin must be `ForceOrigin`.
         *
         * - `id`: The identifier of the asset.
         * - `owner`: The new Owner of this asset.
         * - `issuer`: The new Issuer of this asset.
         * - `admin`: The new Admin of this asset.
         * - `freezer`: The new Freezer of this asset.
         * - `min_balance`: The minimum balance of this new asset that any single account must
         * have. If an account's balance is reduced below this, then it collapses to zero.
         * - `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient
         * value to account for the state bloat associated with its balance storage. If set to
         * `true`, then non-zero balances may be stored without a `consumer` reference (and thus
         * an ED in the Balances pallet or whatever else is used to control user-account state
         * growth).
         * - `is_frozen`: Whether this asset class is frozen except for permissioned/admin
         * instructions.
         *
         * Emits `AssetStatusChanged` with the identity of the asset.
         *
         * Weight: `O(1)`
         */
        "force_asset_status": {
            "id": Anonymize<If9iqq7i64mur8>;
            "owner": MultiAddress;
            "issuer": MultiAddress;
            "admin": MultiAddress;
            "freezer": MultiAddress;
            "min_balance": bigint;
            "is_sufficient": boolean;
            "is_frozen": boolean;
        };
        /**
         * Approve an amount of asset for transfer by a delegated third-party account.
         *
         * Origin must be Signed.
         *
         * Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account
         * for the purpose of holding the approval. If some non-zero amount of assets is already
         * approved from signing account to `delegate`, then it is topped up or unreserved to
         * meet the right value.
         *
         * NOTE: The signing account does not need to own `amount` of assets at the point of
         * making this call.
         *
         * - `id`: The identifier of the asset.
         * - `delegate`: The account to delegate permission to transfer asset.
         * - `amount`: The amount of asset that may be transferred by `delegate`. If there is
         * already an approval in place, then this acts additively.
         *
         * Emits `ApprovedTransfer` on success.
         *
         * Weight: `O(1)`
         */
        "approve_transfer": {
            "id": Anonymize<If9iqq7i64mur8>;
            "delegate": MultiAddress;
            "amount": bigint;
        };
        /**
         * Cancel all of some asset approved for delegated transfer by a third-party account.
         *
         * Origin must be Signed and there must be an approval in place between signer and
         * `delegate`.
         *
         * Unreserves any deposit previously reserved by `approve_transfer` for the approval.
         *
         * - `id`: The identifier of the asset.
         * - `delegate`: The account delegated permission to transfer asset.
         *
         * Emits `ApprovalCancelled` on success.
         *
         * Weight: `O(1)`
         */
        "cancel_approval": {
            "id": Anonymize<If9iqq7i64mur8>;
            "delegate": MultiAddress;
        };
        /**
         * Cancel all of some asset approved for delegated transfer by a third-party account.
         *
         * Origin must be either ForceOrigin or Signed origin with the signer being the Admin
         * account of the asset `id`.
         *
         * Unreserves any deposit previously reserved by `approve_transfer` for the approval.
         *
         * - `id`: The identifier of the asset.
         * - `delegate`: The account delegated permission to transfer asset.
         *
         * Emits `ApprovalCancelled` on success.
         *
         * Weight: `O(1)`
         */
        "force_cancel_approval": {
            "id": Anonymize<If9iqq7i64mur8>;
            "owner": MultiAddress;
            "delegate": MultiAddress;
        };
        /**
         * Transfer some asset balance from a previously delegated account to some third-party
         * account.
         *
         * Origin must be Signed and there must be an approval in place by the `owner` to the
         * signer.
         *
         * If the entire amount approved for transfer is transferred, then any deposit previously
         * reserved by `approve_transfer` is unreserved.
         *
         * - `id`: The identifier of the asset.
         * - `owner`: The account which previously approved for a transfer of at least `amount` and
         * from which the asset balance will be withdrawn.
         * - `destination`: The account to which the asset balance of `amount` will be transferred.
         * - `amount`: The amount of assets to transfer.
         *
         * Emits `TransferredApproved` on success.
         *
         * Weight: `O(1)`
         */
        "transfer_approved": {
            "id": Anonymize<If9iqq7i64mur8>;
            "owner": MultiAddress;
            "destination": MultiAddress;
            "amount": bigint;
        };
        /**
         * Create an asset account for non-provider assets.
         *
         * A deposit will be taken from the signer account.
         *
         * - `origin`: Must be Signed; the signer account must have sufficient funds for a deposit
         * to be taken.
         * - `id`: The identifier of the asset for the account to be created.
         *
         * Emits `Touched` event when successful.
         */
        "touch": {
            "id": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Return the deposit (if any) of an asset account or a consumer reference (if any) of an
         * account.
         *
         * The origin must be Signed.
         *
         * - `id`: The identifier of the asset for which the caller would like the deposit
         * refunded.
         * - `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.
         *
         * It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if
         * the asset account contains holds or freezes in place.
         *
         * Emits `Refunded` event when successful.
         */
        "refund": {
            "id": Anonymize<If9iqq7i64mur8>;
            "allow_burn": boolean;
        };
        /**
         * Sets the minimum balance of an asset.
         *
         * Only works if there aren't any accounts that are holding the asset or if
         * the new value of `min_balance` is less than the old one.
         *
         * Origin must be Signed and the sender has to be the Owner of the
         * asset `id`.
         *
         * - `id`: The identifier of the asset.
         * - `min_balance`: The new value of `min_balance`.
         *
         * Emits `AssetMinBalanceChanged` event when successful.
         */
        "set_min_balance": {
            "id": Anonymize<If9iqq7i64mur8>;
            "min_balance": bigint;
        };
        /**
         * Create an asset account for `who`.
         *
         * A deposit will be taken from the signer account.
         *
         * - `origin`: Must be Signed; the signer account must have sufficient funds for a deposit
         * to be taken.
         * - `id`: The identifier of the asset for the account to be created, the asset status must
         * be live.
         * - `who`: The account to be created.
         *
         * Emits `Touched` event when successful.
         */
        "touch_other": {
            "id": Anonymize<If9iqq7i64mur8>;
            "who": MultiAddress;
        };
        /**
         * Return the deposit (if any) of a target asset account. Useful if you are the depositor.
         *
         * The origin must be Signed and either the account owner, depositor, or asset `Admin`. In
         * order to burn a non-zero balance of the asset, the caller must be the account and should
         * use `refund`.
         *
         * - `id`: The identifier of the asset for the account holding a deposit.
         * - `who`: The account to refund.
         *
         * It will fail with either [`Error::ContainsHolds`] or [`Error::ContainsFreezes`] if
         * the asset account contains holds or freezes in place.
         *
         * Emits `Refunded` event when successful.
         */
        "refund_other": {
            "id": Anonymize<If9iqq7i64mur8>;
            "who": MultiAddress;
        };
        /**
         * Disallow further unprivileged transfers of an asset `id` to and from an account `who`.
         *
         * Origin must be Signed and the sender should be the Freezer of the asset `id`.
         *
         * - `id`: The identifier of the account's asset.
         * - `who`: The account to be unblocked.
         *
         * Emits `Blocked`.
         *
         * Weight: `O(1)`
         */
        "block": {
            "id": Anonymize<If9iqq7i64mur8>;
            "who": MultiAddress;
        };
        /**
         * Transfer the entire transferable balance from the caller asset account.
         *
         * NOTE: This function only attempts to transfer _transferable_ balances. This means that
         * any held, frozen, or minimum balance (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.
         *
         * - `id`: The identifier of the asset for the account holding a deposit.
         * - `dest`: The recipient of the transfer.
         * - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all
         * of the funds the asset account has, causing the sender asset account to be killed
         * (false), or transfer everything except at least the minimum balance, which will
         * guarantee to keep the sender asset account alive (true).
         */
        "transfer_all": {
            "id": Anonymize<If9iqq7i64mur8>;
            "dest": MultiAddress;
            "keep_alive": boolean;
        };
        /**
         * Sets the trusted reserve information of an asset.
         *
         * Origin must be the Owner of the asset `id`. The origin must conform to the configured
         * `CreateOrigin` or be the signed `owner` configured during asset creation.
         *
         * - `id`: The identifier of the asset.
         * - `reserves`: The full list of trusted reserves information.
         *
         * Emits `AssetMinBalanceChanged` event when successful.
         */
        "set_reserves": {
            "id": Anonymize<If9iqq7i64mur8>;
            "reserves": Anonymize<If2801grpltbp8>;
        };
    }>;
    "PoolAssets": Anonymize<I885rd9smlqfti>;
    "AssetConversion": Enum<{
        /**
         * Creates an empty liquidity pool and an associated new `lp_token` asset
         * (the id of which is returned in the `Event::PoolCreated` event).
         *
         * Once a pool is created, someone may [`Pallet::add_liquidity`] to it.
         */
        "create_pool": {
            "asset1": Anonymize<If9iqq7i64mur8>;
            "asset2": Anonymize<If9iqq7i64mur8>;
        };
        /**
         * Provide liquidity into the pool of `asset1` and `asset2`.
         * NOTE: an optimal amount of asset1 and asset2 will be calculated and
         * might be different than the provided `amount1_desired`/`amount2_desired`
         * thus you should provide the min amount you're happy to provide.
         * Params `amount1_min`/`amount2_min` represent that.
         * `mint_to` will be sent the liquidity tokens that represent this share of the pool.
         *
         * NOTE: when encountering an incorrect exchange rate and non-withdrawable pool liquidity,
         * batch an atomic call with [`Pallet::add_liquidity`] and
         * [`Pallet::swap_exact_tokens_for_tokens`] or [`Pallet::swap_tokens_for_exact_tokens`]
         * calls to render the liquidity withdrawable and rectify the exchange rate.
         *
         * Once liquidity is added, someone may successfully call
         * [`Pallet::swap_exact_tokens_for_tokens`].
         */
        "add_liquidity": {
            "asset1": Anonymize<If9iqq7i64mur8>;
            "asset2": Anonymize<If9iqq7i64mur8>;
            "amount1_desired": bigint;
            "amount2_desired": bigint;
            "amount1_min": bigint;
            "amount2_min": bigint;
            "mint_to": SS58String;
        };
        /**
         * Allows you to remove liquidity by providing the `lp_token_burn` tokens that will be
         * burned in the process. With the usage of `amount1_min_receive`/`amount2_min_receive`
         * it's possible to control the min amount of returned tokens you're happy with.
         */
        "remove_liquidity": {
            "asset1": Anonymize<If9iqq7i64mur8>;
            "asset2": Anonymize<If9iqq7i64mur8>;
            "lp_token_burn": bigint;
            "amount1_min_receive": bigint;
            "amount2_min_receive": bigint;
            "withdraw_to": SS58String;
        };
        /**
         * Swap the exact amount of `asset1` into `asset2`.
         * `amount_out_min` param allows you to specify the min amount of the `asset2`
         * you're happy to receive.
         *
         * [`AssetConversionApi::quote_price_exact_tokens_for_tokens`] runtime call can be called
         * for a quote.
         */
        "swap_exact_tokens_for_tokens": {
            "path": Anonymize<I40r0k8147eovg>;
            "amount_in": bigint;
            "amount_out_min": bigint;
            "send_to": SS58String;
            "keep_alive": boolean;
        };
        /**
         * Swap any amount of `asset1` to get the exact amount of `asset2`.
         * `amount_in_max` param allows to specify the max amount of the `asset1`
         * you're happy to provide.
         *
         * [`AssetConversionApi::quote_price_tokens_for_exact_tokens`] runtime call can be called
         * for a quote.
         */
        "swap_tokens_for_exact_tokens": {
            "path": Anonymize<I40r0k8147eovg>;
            "amount_out": bigint;
            "amount_in_max": bigint;
            "send_to": SS58String;
            "keep_alive": boolean;
        };
        /**
         * Touch an existing pool to fulfill prerequisites before providing liquidity, such as
         * ensuring that the pool's accounts are in place. It is typically useful when a pool
         * creator removes the pool's accounts and does not provide a liquidity. This action may
         * involve holding assets from the caller as a deposit for creating the pool's accounts.
         *
         * The origin must be Signed.
         *
         * - `asset1`: The asset ID of an existing pool with a pair (asset1, asset2).
         * - `asset2`: The asset ID of an existing pool with a pair (asset1, asset2).
         *
         * Emits `Touched` event when successful.
         */
        "touch": {
            "asset1": Anonymize<If9iqq7i64mur8>;
            "asset2": Anonymize<If9iqq7i64mur8>;
        };
    }>;
    "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": MultiAddress;
        };
        /**
         * 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": Anonymize<Icm9m0qeemu66d>;
        /**
         * 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": {
            "asset_kind": Anonymize<I2q3ri6itcjj5u>;
            "amount": bigint;
            "beneficiary": Anonymize<I11rphme8avgla>;
            "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>;
    }>;
    "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": Anonymize<Idnsr2pndm36h0>;
        /**
         * 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": MultiAddress;
            "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": Anonymize<I8steo882k7qns>;
        /**
         * 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": MultiAddress;
        };
        /**
         * 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": Anonymize<I5f178ab6b89t3>;
        /**
         * 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": MultiAddress;
            "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<I7qpv90droestd>;
            "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": Anonymize<Icbio0e1f0034b>;
        /**
         * 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": Anonymize<I8c0vkqjjipnuj>;
    }>;
    "Whitelist": Enum<{
        "whitelist_call": Anonymize<I1adbcfi5uc62r>;
        "remove_whitelisted_call": Anonymize<I1adbcfi5uc62r>;
        "dispatch_whitelisted_call": Anonymize<Ibf6ucefn8fh49>;
        "dispatch_whitelisted_call_with_preimage": Anonymize<I5u4sg1q3agd4a>;
    }>;
    "Bounties": Enum<{
        /**
         * Propose a new bounty.
         *
         * 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`. It will be unreserved upon approval,
         * or slashed when rejected.
         *
         * - `curator`: The curator account whom will manage this bounty.
         * - `fee`: The curator fee.
         * - `value`: The total payment amount of this bounty, curator fee included.
         * - `description`: The description of this bounty.
         */
        "propose_bounty": {
            "value": bigint;
            "description": Uint8Array;
        };
        /**
         * Approve a bounty proposal. At a later time, the bounty will be funded and become active
         * and the original deposit will be returned.
         *
         * May only be called from `T::SpendOrigin`.
         *
         * ## Complexity
         * - O(1).
         */
        "approve_bounty": Anonymize<Ia9p5bg6p18r0i>;
        /**
         * Propose a curator to a funded bounty.
         *
         * May only be called from `T::SpendOrigin`.
         *
         * ## Complexity
         * - O(1).
         */
        "propose_curator": {
            "bounty_id": number;
            "curator": MultiAddress;
            "fee": bigint;
        };
        /**
         * Unassign curator from a bounty.
         *
         * This function can only be called by the `RejectOrigin` a signed origin.
         *
         * If this function is called by the `RejectOrigin`, we assume that the curator is
         * malicious or inactive. As a result, we will slash the curator when possible.
         *
         * If the origin is the curator, we take this as a sign they are unable to do their job and
         * they willingly give up. We could slash them, but for now we allow them to recover their
         * deposit and exit without issue. (We may want to change this if it is abused.)
         *
         * Finally, the origin can be anyone if and only if the curator is "inactive". This allows
         * anyone in the community to call out that a curator is not doing their due diligence, and
         * we should pick a new curator. In this case the curator should also be slashed.
         *
         * ## Complexity
         * - O(1).
         */
        "unassign_curator": Anonymize<Ia9p5bg6p18r0i>;
        /**
         * Accept the curator role for a bounty.
         * A deposit will be reserved from curator and refund upon successful payout.
         *
         * May only be called from the curator.
         *
         * ## Complexity
         * - O(1).
         */
        "accept_curator": Anonymize<Ia9p5bg6p18r0i>;
        /**
         * Award bounty to a beneficiary account. The beneficiary will be able to claim the funds
         * after a delay.
         *
         * The dispatch origin for this call must be the curator of this bounty.
         *
         * - `bounty_id`: Bounty ID to award.
         * - `beneficiary`: The beneficiary account whom will receive the payout.
         *
         * ## Complexity
         * - O(1).
         */
        "award_bounty": {
            "bounty_id": number;
            "beneficiary": MultiAddress;
        };
        /**
         * Claim the payout from an awarded bounty after payout delay.
         *
         * The dispatch origin for this call must be the beneficiary of this bounty.
         *
         * - `bounty_id`: Bounty ID to claim.
         *
         * ## Complexity
         * - O(1).
         */
        "claim_bounty": Anonymize<Ia9p5bg6p18r0i>;
        /**
         * Cancel a proposed or active bounty. All the funds will be sent to treasury and
         * the curator deposit will be unreserved if possible.
         *
         * Only `T::RejectOrigin` is able to cancel a bounty.
         *
         * - `bounty_id`: Bounty ID to cancel.
         *
         * ## Complexity
         * - O(1).
         */
        "close_bounty": Anonymize<Ia9p5bg6p18r0i>;
        /**
         * Extend the expiry time of an active bounty.
         *
         * The dispatch origin for this call must be the curator of this bounty.
         *
         * - `bounty_id`: Bounty ID to extend.
         * - `remark`: additional information.
         *
         * ## Complexity
         * - O(1).
         */
        "extend_bounty_expiry": {
            "bounty_id": number;
            "remark": Uint8Array;
        };
        /**
         * Approve bountry and propose a curator simultaneously.
         * This call is a shortcut to calling `approve_bounty` and `propose_curator` separately.
         *
         * May only be called from `T::SpendOrigin`.
         *
         * - `bounty_id`: Bounty ID to approve.
         * - `curator`: The curator account whom will manage this bounty.
         * - `fee`: The curator fee.
         *
         * ## Complexity
         * - O(1).
         */
        "approve_bounty_with_curator": {
            "bounty_id": number;
            "curator": MultiAddress;
            "fee": bigint;
        };
        /**
         * Poke the deposit reserved for creating a bounty proposal.
         *
         * This can be used by accounts to update their reserved amount.
         *
         * The dispatch origin for this call must be _Signed_.
         *
         * Parameters:
         * - `bounty_id`: The bounty id for which to adjust the deposit.
         *
         * If the deposit is updated, the difference will be reserved/unreserved from the
         * proposer's account.
         *
         * The transaction is made free if the deposit is updated and paid otherwise.
         *
         * Emits `DepositPoked` if the deposit is updated.
         */
        "poke_deposit": Anonymize<Ia9p5bg6p18r0i>;
    }>;
    "ChildBounties": Enum<{
        /**
         * Add a new child-bounty.
         *
         * The dispatch origin for this call must be the curator of parent
         * bounty and the parent bounty must be in "active" state.
         *
         * Child-bounty gets added successfully & fund gets transferred from
         * parent bounty to child-bounty account, if parent bounty has enough
         * funds, else the call fails.
         *
         * Upper bound to maximum number of active  child bounties that can be
         * added are managed via runtime trait config
         * [`Config::MaxActiveChildBountyCount`].
         *
         * If the call is success, the status of child-bounty is updated to
         * "Added".
         *
         * - `parent_bounty_id`: Index of parent bounty for which child-bounty is being added.
         * - `value`: Value for executing the proposal.
         * - `description`: Text description for the child-bounty.
         */
        "add_child_bounty": {
            "parent_bounty_id": number;
            "value": bigint;
            "description": Uint8Array;
        };
        /**
         * Propose curator for funded child-bounty.
         *
         * The dispatch origin for this call must be curator of parent bounty.
         *
         * Parent bounty must be in active state, for this child-bounty call to
         * work.
         *
         * Child-bounty must be in "Added" state, for processing the call. And
         * state of child-bounty is moved to "CuratorProposed" on successful
         * call completion.
         *
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child bounty.
         * - `curator`: Address of child-bounty curator.
         * - `fee`: payment fee to child-bounty curator for execution.
         */
        "propose_curator": {
            "parent_bounty_id": number;
            "child_bounty_id": number;
            "curator": MultiAddress;
            "fee": bigint;
        };
        /**
         * Accept the curator role for the child-bounty.
         *
         * The dispatch origin for this call must be the curator of this
         * child-bounty.
         *
         * A deposit will be reserved from the curator and refund upon
         * successful payout or cancellation.
         *
         * Fee for curator is deducted from curator fee of parent bounty.
         *
         * Parent bounty must be in active state, for this child-bounty call to
         * work.
         *
         * Child-bounty must be in "CuratorProposed" state, for processing the
         * call. And state of child-bounty is moved to "Active" on successful
         * call completion.
         *
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child bounty.
         */
        "accept_curator": {
            "parent_bounty_id": number;
            "child_bounty_id": number;
        };
        /**
         * Unassign curator from a child-bounty.
         *
         * The dispatch origin for this call can be either `RejectOrigin`, or
         * the curator of the parent bounty, or any signed origin.
         *
         * For the origin other than T::RejectOrigin and the child-bounty
         * curator, parent bounty must be in active state, for this call to
         * work. We allow child-bounty curator and T::RejectOrigin to execute
         * this call irrespective of the parent bounty state.
         *
         * If this function is called by the `RejectOrigin` or the
         * parent bounty curator, we assume that the child-bounty curator is
         * malicious or inactive. As a result, child-bounty curator deposit is
         * slashed.
         *
         * If the origin is the child-bounty curator, we take this as a sign
         * that they are unable to do their job, and are willingly giving up.
         * We could slash the deposit, but for now we allow them to unreserve
         * their deposit and exit without issue. (We may want to change this if
         * it is abused.)
         *
         * Finally, the origin can be anyone iff the child-bounty curator is
         * "inactive". Expiry update due of parent bounty is used to estimate
         * inactive state of child-bounty curator.
         *
         * This allows anyone in the community to call out that a child-bounty
         * curator is not doing their due diligence, and we should pick a new
         * one. In this case the child-bounty curator deposit is slashed.
         *
         * State of child-bounty is moved to Added state on successful call
         * completion.
         *
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child bounty.
         */
        "unassign_curator": {
            "parent_bounty_id": number;
            "child_bounty_id": number;
        };
        /**
         * Award child-bounty to a beneficiary.
         *
         * The beneficiary will be able to claim the funds after a delay.
         *
         * The dispatch origin for this call must be the parent curator or
         * curator of this child-bounty.
         *
         * Parent bounty must be in active state, for this child-bounty call to
         * work.
         *
         * Child-bounty must be in active state, for processing the call. And
         * state of child-bounty is moved to "PendingPayout" on successful call
         * completion.
         *
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child bounty.
         * - `beneficiary`: Beneficiary account.
         */
        "award_child_bounty": {
            "parent_bounty_id": number;
            "child_bounty_id": number;
            "beneficiary": MultiAddress;
        };
        /**
         * Claim the payout from an awarded child-bounty after payout delay.
         *
         * The dispatch origin for this call may be any signed origin.
         *
         * Call works independent of parent bounty state, No need for parent
         * bounty to be in active state.
         *
         * The Beneficiary is paid out with agreed bounty value. Curator fee is
         * paid & curator deposit is unreserved.
         *
         * Child-bounty must be in "PendingPayout" state, for processing the
         * call. And instance of child-bounty is removed from the state on
         * successful call completion.
         *
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child bounty.
         */
        "claim_child_bounty": {
            "parent_bounty_id": number;
            "child_bounty_id": number;
        };
        /**
         * Cancel a proposed or active child-bounty. Child-bounty account funds
         * are transferred to parent bounty account. The child-bounty curator
         * deposit may be unreserved if possible.
         *
         * The dispatch origin for this call must be either parent curator or
         * `T::RejectOrigin`.
         *
         * If the state of child-bounty is `Active`, curator deposit is
         * unreserved.
         *
         * If the state of child-bounty is `PendingPayout`, call fails &
         * returns `PendingPayout` error.
         *
         * For the origin other than T::RejectOrigin, parent bounty must be in
         * active state, for this child-bounty call to work. For origin
         * T::RejectOrigin execution is forced.
         *
         * Instance of child-bounty is removed from the state on successful
         * call completion.
         *
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child bounty.
         */
        "close_child_bounty": {
            "parent_bounty_id": number;
            "child_bounty_id": number;
        };
    }>;
    "AssetRate": Enum<{
        /**
         * Initialize a conversion rate to native balance for the given asset.
         *
         * ## Complexity
         * - O(1)
         */
        "create": Anonymize<I9c4d50jrp7as1>;
        /**
         * Update the conversion rate to native balance for the given asset.
         *
         * ## Complexity
         * - O(1)
         */
        "update": Anonymize<I9c4d50jrp7as1>;
        /**
         * Remove an existing conversion rate to native balance for the given asset.
         *
         * ## Complexity
         * - O(1)
         */
        "remove": Anonymize<Ifplevr9hp8jo3>;
    }>;
    "MultiAssetBounties": Enum<{
        /**
         * Fund a new bounty with a proposed curator, initiating the payment from the
         * funding source to the bounty account/location.
         *
         * ## Dispatch Origin
         *
         * Must be [`Config::SpendOrigin`] with the `Success` value being at least
         * the bounty value converted to native balance using [`Config::BalanceConverter`].
         * The converted native amount is validated against the maximum spendable amount
         * returned by [`Config::SpendOrigin`].
         *
         * ## Details
         *
         * - The `SpendOrigin` must have sufficient permissions to fund the bounty.
         * - The bounty `value` (in asset balance) is converted to native balance for validation.
         * - In case of a funding failure, the bounty status must be updated with the
         * `check_status` call before retrying with `retry_payment` call.
         *
         * ### Parameters
         * - `asset_kind`: An indicator of the specific asset class to be funded.
         * - `value`: The total payment amount of this bounty.
         * - `curator`: Address of bounty curator.
         * - `metadata`: The hash of an on-chain stored preimage with bounty metadata.
         *
         * ## Events
         *
         * Emits [`Event::BountyCreated`] and [`Event::Paid`] if successful.
         */
        "fund_bounty": {
            "asset_kind": Anonymize<I2q3ri6itcjj5u>;
            "value": bigint;
            "curator": MultiAddress;
            "metadata": SizedHex<32>;
        };
        /**
         * Fund a new child-bounty with a proposed curator, initiating the payment from the parent
         * bounty to the child-bounty account/location.
         *
         * ## Dispatch Origin
         *
         * Must be signed by the parent curator.
         *
         * ## Details
         *
         * - If `curator` is not provided, the child-bounty will default to using the parent
         * curator, allowing the parent curator to immediately call `check_status` and
         * `award_bounty` to payout the child-bounty.
         * - In case of a funding failure, the child-/bounty status must be updated with the
         * `check_status` call before retrying with `retry_payment` call.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty for which child-bounty is being added.
         * - `value`: The payment amount of this child-bounty.
         * - `metadata`: The hash of an on-chain stored preimage with child-bounty metadata.
         * - `curator`: Address of child-bounty curator.
         *
         * ## Events
         *
         * Emits [`Event::ChildBountyCreated`] and [`Event::Paid`] if successful.
         */
        "fund_child_bounty": {
            "parent_bounty_id": number;
            "value": bigint;
            "metadata": SizedHex<32>;
            "curator"?: Anonymize<Ia0jlc0rcbskuk>;
        };
        /**
         * Propose a new curator for a child-/bounty after the previous was unassigned.
         *
         * ## Dispatch Origin
         *
         * Must be signed by `T::SpendOrigin` for a bounty, or by the parent bounty curator
         * for a child-bounty.
         *
         * ## Details
         *
         * - The child-/bounty must be in the `CuratorUnassigned` state.
         * - For a bounty, the `SpendOrigin` must have sufficient permissions to propose the
         * curator.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of bounty.
         * - `child_bounty_id`: Index of child-bounty.
         * - `curator`: Account to be proposed as the curator.
         *
         * ## Events
         *
         * Emits [`Event::CuratorProposed`] if successful.
         */
        "propose_curator": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
            "curator": MultiAddress;
        };
        /**
         * Accept the curator role for a child-/bounty.
         *
         * ## Dispatch Origin
         *
         * Must be signed by the proposed curator.
         *
         * ## Details
         *
         * - The child-/bounty must be in the `Funded` state.
         * - The curator must accept the role by calling this function.
         * - A deposit will be reserved from the curator and refunded upon successful payout.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child-bounty.
         *
         * ## Events
         *
         * Emits [`Event::BountyBecameActive`] if successful.
         */
        "accept_curator": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Unassign curator from a child-/bounty.
         *
         * ## Dispatch Origin
         *
         * This function can only be called by the `RejectOrigin` or the child-/bounty curator.
         *
         * ## Details
         *
         * - If this function is called by the `RejectOrigin`, or by the parent curator in the case
         * of a child bounty, we assume that the curator is malicious or inactive. As a result,
         * we will slash the curator when possible.
         * - If the origin is the child-/bounty curator, we take this as a sign they are unable to
         * do their job and they willingly give up. We could slash them, but for now we allow
         * them to recover their deposit and exit without issue. (We may want to change this if
         * it is abused).
         * - If successful, the child-/bounty status is updated to `CuratorUnassigned`. To
         * reactivate the bounty, a new curator must be proposed and must accept the role.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child-bounty.
         *
         * ## Events
         *
         * Emits [`Event::CuratorUnassigned`] if successful.
         */
        "unassign_curator": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Awards the child-/bounty to a beneficiary account/location,
         * initiating the payout payments to both the beneficiary and the curator.
         *
         * ## Dispatch Origin
         *
         * This function can only be called by the `RejectOrigin` or the child-/bounty curator.
         *
         * ## Details
         *
         * - The child-/bounty must be in the `Active` state.
         * - if awarding a parent bounty it must not have active or funded child bounties.
         * - Initiates payout payment from the child-/bounty to the beneficiary account/location.
         * - If successful the child-/bounty status is updated to `PayoutAttempted`.
         * - In case of a payout failure, the child-/bounty status must be updated with
         * `check_status` call before retrying with `retry_payment` call.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child-bounty.
         * - `beneficiary`: Account/location to be awarded the child-/bounty.
         *
         * ## Events
         *
         * Emits [`Event::BountyAwarded`] and [`Event::Paid`] if successful.
         */
        "award_bounty": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
            "beneficiary": Anonymize<I11rphme8avgla>;
        };
        /**
         * Cancel an active child-/bounty. A payment to send all the funds to the funding source is
         * initialized.
         *
         * ## Dispatch Origin
         *
         * This function can only be called by the `RejectOrigin` or the parent bounty curator.
         *
         * ## Details
         *
         * - If the child-/bounty is in the `Funded` state, a refund payment is initiated.
         * - If the child-/bounty is in the `Active` state, a refund payment is initiated and the
         * child-/bounty status is updated with the curator account/location.
         * - If the child-/bounty is in the funding or payout phase, it cannot be canceled.
         * - In case of a refund failure, the child-/bounty status must be updated with the
         * `check_status` call before retrying with `retry_payment` call.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child-bounty.
         *
         * ## Events
         *
         * Emits [`Event::BountyCanceled`] and [`Event::Paid`] if successful.
         */
        "close_bounty": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Check and update the payment status of a child-/bounty.
         *
         * ## Dispatch Origin
         *
         * Must be signed.
         *
         * ## Details
         *
         * - If the child-/bounty status is `FundingAttempted`, it checks if the funding payment
         * has succeeded. If successful, the bounty status becomes `Funded`.
         * - If the child-/bounty status is `RefundAttempted`, it checks if the refund payment has
         * succeeded. If successful, the child-/bounty is removed from storage.
         * - If the child-/bounty status is `PayoutAttempted`, it checks if the payout payment has
         * succeeded. If successful, the child-/bounty is removed from storage.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child-bounty.
         *
         * ## Events
         *
         * Emits [`Event::BountyBecameActive`] if the child/bounty status transitions to `Active`.
         * Emits [`Event::BountyRefundProcessed`] if the refund payment has succeed.
         * Emits [`Event::BountyPayoutProcessed`] if the payout payment has succeed.
         * Emits [`Event::PaymentFailed`] if the funding, refund our payment payment has failed.
         */
        "check_status": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
        };
        /**
         * Retry the funding, refund or payout payments.
         *
         * ## Dispatch Origin
         *
         * Must be signed.
         *
         * ## Details
         *
         * - If the child-/bounty status is `FundingAttempted`, it retries the funding payment from
         * funding source the child-/bounty account/location.
         * - If the child-/bounty status is `RefundAttempted`, it retries the refund payment from
         * the child-/bounty account/location to the funding source.
         * - If the child-/bounty status is `PayoutAttempted`, it retries the payout payment from
         * the child-/bounty account/location to the beneficiary account/location.
         *
         * ### Parameters
         * - `parent_bounty_id`: Index of parent bounty.
         * - `child_bounty_id`: Index of child-bounty.
         *
         * ## Events
         *
         * Emits [`Event::Paid`] if the funding, refund or payout payment has initiated.
         */
        "retry_payment": {
            "parent_bounty_id": number;
            "child_bounty_id"?: Anonymize<I4arjljr6dpflb>;
        };
    }>;
    "StateTrieMigration": Anonymize<I39l72gdmkk30t>;
    "NominationPools": Enum<{
        /**
         * Stake funds with a pool. The amount to bond is delegated (or transferred based on
         * [`adapter::StakeStrategyType`]) from the member to the pool account and immediately
         * increases the pool's bond.
         *
         * The method of transferring the amount to the pool account is determined by
         * [`adapter::StakeStrategyType`]. If the pool is configured to use
         * [`adapter::StakeStrategyType::Delegate`], the funds remain in the account of
         * the `origin`, while the pool gains the right to use these funds for staking.
         *
         * # Note
         *
         * * An account can only be a member of a single pool.
         * * An account cannot join the same pool multiple times.
         * * This call will *not* dust the member account, so the member must have at least
         * `existential deposit + amount` in their account.
         * * Only a pool with [`PoolState::Open`] can be joined
         */
        "join": Anonymize<Ieg1oc56mamrl5>;
        /**
         * Bond `extra` more funds from `origin` into the pool to which they already belong.
         *
         * Additional funds can come from either the free balance of the account, of from the
         * accumulated rewards, see [`BondExtra`].
         *
         * Bonding extra funds implies an automatic payout of all pending rewards as well.
         * See `bond_extra_other` to bond pending rewards of `other` members.
         */
        "bond_extra": {
            "extra": NominationPoolsBondExtra;
        };
        /**
         * A bonded member can use this to claim their payout based on the rewards that the pool
         * has accumulated since their last claimed payout (OR since joining if this is their first
         * time claiming rewards). The payout will be transferred to the member's account.
         *
         * The member will earn rewards pro rata based on the members stake vs the sum of the
         * members in the pools stake. Rewards do not "expire".
         *
         * See `claim_payout_other` to claim rewards on behalf of some `other` pool member.
         */
        "claim_payout": undefined;
        /**
         * Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It
         * implicitly collects the rewards one last time, since not doing so would mean some
         * rewards would be forfeited.
         *
         * Under certain conditions, this call can be dispatched permissionlessly (i.e. by any
         * account).
         *
         * # Conditions for a permissionless dispatch.
         *
         * * The pool is blocked and the caller is either the root or bouncer. This is refereed to
         * as a kick.
         * * The pool is destroying and the member is not the depositor.
         * * The pool is destroying, the member is the depositor and no other members are in the
         * pool.
         *
         * ## Conditions for permissioned dispatch (i.e. the caller is also the
         * `member_account`):
         *
         * * The caller is not the depositor.
         * * The caller is the depositor, the pool is destroying and no other members are in the
         * pool.
         *
         * # Note
         *
         * If there are too many unlocking chunks to unbond with the pool account,
         * [`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks.
         * The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]
         * to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks
         * are available). However, it may not be possible to release the current unlocking chunks,
         * in which case, the result of this call will likely be the `NoMoreChunks` error from the
         * staking system.
         */
        "unbond": {
            "member_account": MultiAddress;
            "unbonding_points": bigint;
        };
        /**
         * Call `withdraw_unbonded` for the pools account. This call can be made by any account.
         *
         * This is useful if there are too many unlocking chunks to call `unbond`, and some
         * can be cleared by withdrawing. In the case there are too many unlocking chunks, the user
         * would probably see an error like `NoMoreChunks` emitted from the staking system when
         * they attempt to unbond.
         */
        "pool_withdraw_unbonded": {
            "pool_id": number;
            "num_slashing_spans": number;
        };
        /**
         * Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an
         * error is returned.
         *
         * Under certain conditions, this call can be dispatched permissionlessly (i.e. by any
         * account).
         *
         * # Conditions for a permissionless dispatch
         *
         * * The pool is in destroy mode and the target is not the depositor.
         * * The target is the depositor and they are the only member in the sub pools.
         * * The pool is blocked and the caller is either the root or bouncer.
         *
         * # Conditions for permissioned dispatch
         *
         * * The caller is the target and they are not the depositor.
         *
         * # Note
         *
         * - If the target is the depositor, the pool will be destroyed.
         * - If the pool has any pending slash, we also try to slash the member before letting them
         * withdraw. This calculation adds some weight overhead and is only defensive. In reality,
         * pool slashes must have been already applied via permissionless [`Call::apply_slash`].
         */
        "withdraw_unbonded": {
            "member_account": MultiAddress;
            "num_slashing_spans": number;
        };
        /**
         * Create a new delegation pool.
         *
         * # Arguments
         *
         * * `amount` - The amount of funds to delegate to the pool. This also acts of a sort of
         * deposit since the pools creator cannot fully unbond funds until the pool is being
         * destroyed.
         * * `index` - A disambiguation index for creating the account. Likely only useful when
         * creating multiple pools in the same extrinsic.
         * * `root` - The account to set as [`PoolRoles::root`].
         * * `nominator` - The account to set as the [`PoolRoles::nominator`].
         * * `bouncer` - The account to set as the [`PoolRoles::bouncer`].
         *
         * # Note
         *
         * In addition to `amount`, the caller will transfer the existential deposit; so the caller
         * needs at have at least `amount + existential_deposit` transferable.
         */
        "create": {
            "amount": bigint;
            "root": MultiAddress;
            "nominator": MultiAddress;
            "bouncer": MultiAddress;
        };
        /**
         * Create a new delegation pool with a previously used pool id
         *
         * # Arguments
         *
         * same as `create` with the inclusion of
         * * `pool_id` - `A valid PoolId.
         */
        "create_with_pool_id": {
            "amount": bigint;
            "root": MultiAddress;
            "nominator": MultiAddress;
            "bouncer": MultiAddress;
            "pool_id": number;
        };
        /**
         * Nominate on behalf of the pool.
         *
         * The dispatch origin of this call must be signed by the pool nominator or the pool
         * root role.
         *
         * This directly forwards the call to an implementation of `StakingInterface` (e.g.,
         * `pallet-staking`) through [`Config::StakeAdapter`], on behalf of the bonded pool.
         *
         * # Note
         *
         * In addition to a `root` or `nominator` role of `origin`, the pool's depositor needs to
         * have at least `depositor_min_bond` in the pool to start nominating.
         */
        "nominate": {
            "pool_id": number;
            "validators": Anonymize<Ia2lhg7l2hilo3>;
        };
        /**
         * Set a new state for the pool.
         *
         * If a pool is already in the `Destroying` state, then under no condition can its state
         * change again.
         *
         * The dispatch origin of this call must be either:
         *
         * 1. signed by the bouncer, or the root role of the pool,
         * 2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and
         * then the state of the pool can be permissionlessly changed to `Destroying`.
         */
        "set_state": {
            "pool_id": number;
            "state": NominationPoolsPoolState;
        };
        /**
         * Set a new metadata for the pool.
         *
         * The dispatch origin of this call must be signed by the bouncer, or the root role of the
         * pool.
         */
        "set_metadata": {
            "pool_id": number;
            "metadata": Uint8Array;
        };
        /**
         * Update configurations for the nomination pools. The origin for this call must be
         * [`Config::AdminOrigin`].
         *
         * # Arguments
         *
         * * `min_join_bond` - Set [`MinJoinBond`].
         * * `min_create_bond` - Set [`MinCreateBond`].
         * * `max_pools` - Set [`MaxPools`].
         * * `max_members` - Set [`MaxPoolMembers`].
         * * `max_members_per_pool` - Set [`MaxPoolMembersPerPool`].
         * * `global_max_commission` - Set [`GlobalMaxCommission`].
         */
        "set_configs": {
            "min_join_bond": StakingPalletConfigOpBig;
            "min_create_bond": StakingPalletConfigOpBig;
            "max_pools": StakingPalletConfigOp;
            "max_members": StakingPalletConfigOp;
            "max_members_per_pool": StakingPalletConfigOp;
            "global_max_commission": StakingPalletConfigOp;
        };
        /**
         * Update the roles of the pool.
         *
         * The root is the only entity that can change any of the roles, including itself,
         * excluding the depositor, who can never change.
         *
         * It emits an event, notifying UIs of the role change. This event is quite relevant to
         * most pool members and they should be informed of changes to pool roles.
         */
        "update_roles": {
            "pool_id": number;
            "new_root": NominationPoolsConfigOp;
            "new_nominator": NominationPoolsConfigOp;
            "new_bouncer": NominationPoolsConfigOp;
        };
        /**
         * Chill on behalf of the pool.
         *
         * The dispatch origin of this call can be signed by the pool nominator or the pool
         * root role, same as [`Pallet::nominate`].
         *
         * This directly forwards the call to an implementation of `StakingInterface` (e.g.,
         * `pallet-staking`) through [`Config::StakeAdapter`], on behalf of the bonded pool.
         *
         * Under certain conditions, this call can be dispatched permissionlessly (i.e. by any
         * account).
         *
         * # Conditions for a permissionless dispatch:
         * * When pool depositor has less than `MinNominatorBond` staked, otherwise pool members
         * are unable to unbond.
         *
         * # Conditions for permissioned dispatch:
         * * The caller is the pool's nominator or root.
         */
        "chill": Anonymize<I931cottvong90>;
        /**
         * `origin` bonds funds from `extra` for some pool member `member` into their respective
         * pools.
         *
         * `origin` can bond extra funds from free balance or pending rewards when `origin ==
         * other`.
         *
         * In the case of `origin != other`, `origin` can only bond extra pending rewards of
         * `other` members assuming set_claim_permission for the given member is
         * `PermissionlessCompound` or `PermissionlessAll`.
         */
        "bond_extra_other": {
            "member": MultiAddress;
            "extra": NominationPoolsBondExtra;
        };
        /**
         * Allows a pool member to set a claim permission to allow or disallow permissionless
         * bonding and withdrawing.
         *
         * # Arguments
         *
         * * `origin` - Member of a pool.
         * * `permission` - The permission to be applied.
         */
        "set_claim_permission": {
            "permission": NominationPoolsClaimPermission;
        };
        /**
         * `origin` can claim payouts on some pool member `other`'s behalf.
         *
         * Pool member `other` must have a `PermissionlessWithdraw` or `PermissionlessAll` claim
         * permission for this call to be successful.
         */
        "claim_payout_other": {
            "other": SS58String;
        };
        /**
         * Set the commission of a pool.
         * Both a commission percentage and a commission payee must be provided in the `current`
         * tuple. Where a `current` of `None` is provided, any current commission will be removed.
         *
         * - If a `None` is supplied to `new_commission`, existing commission will be removed.
         */
        "set_commission": {
            "pool_id": number;
            "new_commission"?: Anonymize<Ie8iutm7u02lmj>;
        };
        /**
         * Set the maximum commission of a pool.
         *
         * - Initial max can be set to any `Perbill`, and only smaller values thereafter.
         * - Current commission will be lowered in the event it is higher than a new max
         * commission.
         */
        "set_commission_max": Anonymize<I8cbluptqo8kbp>;
        /**
         * Set the commission change rate for a pool.
         *
         * Initial change rate is not bounded, whereas subsequent updates can only be more
         * restrictive than the current.
         */
        "set_commission_change_rate": Anonymize<I81cc4plffa1dm>;
        /**
         * Claim pending commission.
         *
         * The `root` role of the pool is _always_ allowed to claim the pool's commission.
         *
         * If the pool has set `CommissionClaimPermission::Permissionless`, then any account can
         * trigger the process of claiming the pool's commission.
         *
         * If the pool has set its `CommissionClaimPermission` to `Account(acc)`, then only
         * accounts
         * * `acc`, and
         * * the pool's root account
         *
         * may call this extrinsic on behalf of the pool.
         *
         * Pending commissions are paid out and added to the total claimed commission.
         * The total pending commission is reset to zero.
         */
        "claim_commission": Anonymize<I931cottvong90>;
        /**
         * Top up the deficit or withdraw the excess ED from the pool.
         *
         * When a pool is created, the pool depositor transfers ED to the reward account of the
         * pool. ED is subject to change and over time, the deposit in the reward account may be
         * insufficient to cover the ED deficit of the pool or vice-versa where there is excess
         * deposit to the pool. This call allows anyone to adjust the ED deposit of the
         * pool by either topping up the deficit or claiming the excess.
         */
        "adjust_pool_deposit": Anonymize<I931cottvong90>;
        /**
         * Set or remove a pool's commission claim permission.
         *
         * Determines who can claim the pool's pending commission. Only the `Root` role of the pool
         * is able to configure commission claim permissions.
         */
        "set_commission_claim_permission": Anonymize<I3ihan8icf0c5k>;
        /**
         * Apply a pending slash on a member.
         *
         * Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type:
         * [`adapter::StakeStrategyType::Delegate`].
         *
         * The pending slash amount of the member must be equal or more than `ExistentialDeposit`.
         * This call can be dispatched permissionlessly (i.e. by any account). If the execution
         * is successful, fee is refunded and caller may be rewarded with a part of the slash
         * based on the [`crate::pallet::Config::StakeAdapter`] configuration.
         */
        "apply_slash": {
            "member_account": MultiAddress;
        };
        /**
         * Migrates delegated funds from the pool account to the `member_account`.
         *
         * Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type:
         * [`adapter::StakeStrategyType::Delegate`].
         *
         * This is a permission-less call and refunds any fee if claim is successful.
         *
         * If the pool has migrated to delegation based staking, the staked tokens of pool members
         * can be moved and held in their own account. See [`adapter::DelegateStake`]
         */
        "migrate_delegation": {
            "member_account": MultiAddress;
        };
        /**
         * Migrate pool from [`adapter::StakeStrategyType::Transfer`] to
         * [`adapter::StakeStrategyType::Delegate`].
         *
         * Fails unless [`crate::pallet::Config::StakeAdapter`] is of strategy type:
         * [`adapter::StakeStrategyType::Delegate`].
         *
         * This call can be dispatched permissionlessly, and refunds any fee if successful.
         *
         * If the pool has already migrated to delegation based staking, this call will fail.
         */
        "migrate_pool_to_delegate_stake": Anonymize<I931cottvong90>;
    }>;
    "VoterList": Enum<{
        /**
         * Declare that some `dislocated` account has, through rewards or penalties, sufficiently
         * changed its score that it should properly fall into a different bag than its current
         * one.
         *
         * Anyone can call this function about any potentially dislocated account.
         *
         * Will always update the stored score of `dislocated` to the correct score, based on
         * `ScoreProvider`.
         *
         * If `dislocated` does not exists, it returns an error.
         */
        "rebag": {
            "dislocated": MultiAddress;
        };
        /**
         * Move the caller's Id directly in front of `lighter`.
         *
         * The dispatch origin for this call must be _Signed_ and can only be called by the Id of
         * the account going in front of `lighter`. Fee is payed by the origin under all
         * circumstances.
         *
         * Only works if:
         *
         * - both nodes are within the same bag,
         * - and `origin` has a greater `Score` than `lighter`.
         */
        "put_in_front_of": {
            "lighter": MultiAddress;
        };
        /**
         * Same as [`Pallet::put_in_front_of`], but it can be called by anyone.
         *
         * Fee is paid by the origin under all circumstances.
         */
        "put_in_front_of_other": {
            "heavier": MultiAddress;
            "lighter": MultiAddress;
        };
    }>;
    "StakingRcClient": Enum<{
        /**
         * Called to indicate the start of a new session on the relay chain.
         */
        "relay_session_report": {
            "report": {
                "end_index": number;
                "validator_points": Anonymize<I205qrookusi3d>;
                "activation_timestamp"?: Anonymize<I76de2jfh8ds4a>;
                "leftover": boolean;
            };
        };
        "relay_new_offence_paged": {
            "offences": Array<[number, {
                "offender": SS58String;
                "reporters": Anonymize<Ia2lhg7l2hilo3>;
                "slash_fraction": number;
            }]>;
        };
        /**
         * Set session keys for a validator. Keys are validated on AssetHub and forwarded to RC.
         *
         * On the first call, a deposit of `KeyDeposit` is held from the stash. Subsequent calls
         * do not charge again. The deposit is released on `purge_keys`.
         *
         * **Validation on AssetHub:**
         * - Keys are decoded as `T::RelayChainSessionKeys` to ensure they match RC's expected
         * format.
         *
         * If validation passes, only the validated keys are sent to RC (with empty proof),
         * since RC trusts AH's validation.
         *
         * Note: Ownership proof validation requires PR #1739 which is not backported to
         * stable2512. The proof parameter will be added when that PR is backported.
         *
         * **Fees:**
         * The actual cost of this call is higher than what the weight-based fee estimate shows.
         * In addition to the local transaction weight fee, the stash account is charged an XCM
         * fee (delivery + RC execution cost) via `XcmExecutor::charge_fees`. The relay chain
         * uses `UnpaidExecution`, so the full remote cost is charged upfront on AssetHub.
         *
         * When called via a staking proxy, the proxy pays the transaction weight fee,
         * while the stash (delegating account) pays the XCM fee.
         *
         * **Max Fee Limit:**
         * Users can optionally specify `max_delivery_and_remote_execution_fee` to limit the
         * delivery + RC execution fee. This does not include the local transaction weight fee. If
         * the fee exceeds this limit, the operation fails with `FeesExceededMax`. Pass `None` for
         * unlimited (no cap).
         *
         * NOTE: unlike the current flow for new validators on RC (bond -> set_keys -> validate),
         * users on Asset Hub MUST call bond and validate BEFORE calling set_keys. Attempting to
         * set keys before declaring intent to validate will fail with NotValidator.
         */
        "set_keys": {
            "keys": Uint8Array;
            "proof": Uint8Array;
            "max_delivery_and_remote_execution_fee"?: Anonymize<I35p85j063s0il>;
        };
        /**
         * Remove session keys for a validator and release the key deposit.
         *
         * This purges the keys from the Relay Chain.
         *
         * Unlike `set_keys`, this does not require the caller to be a registered validator.
         * This is intentional: a validator who has chilled (stopped validating) should still
         * be able to purge their session keys. This matches the behavior of the original
         * `pallet-session::purge_keys` which allows anyone to call it.
         *
         * The Relay Chain will reject the call with `NoKeys` error if the account has no
         * keys set.
         *
         * **Fees:**
         * The actual cost of this call is higher than what the weight-based fee estimate shows.
         * In addition to the local transaction weight fee, the caller is charged an XCM fee
         * (delivery + RC execution cost) via `XcmExecutor::charge_fees`. The relay chain uses
         * `UnpaidExecution`, so the full remote cost is charged upfront on AssetHub.
         *
         * When called via a staking proxy, the proxy pays the transaction weight fee,
         * while the delegating account pays the XCM fee.
         *
         * **Max Fee Limit:**
         * Users can optionally specify `max_delivery_and_remote_execution_fee` to limit the
         * delivery + RC execution fee. This does not include the local transaction weight fee. If
         * the fee exceeds this limit, the operation fails with `FeesExceededMax`. Pass `None` for
         * unlimited (no cap).
         */
        "purge_keys": {
            "max_delivery_and_remote_execution_fee"?: Anonymize<I35p85j063s0il>;
        };
    }>;
    "MultiBlockElection": Enum<{
        /**
         * Manage this pallet.
         *
         * The origin of this call must be [`Config::ManagerOrigin`].
         *
         * See [`ManagerOperation`] for various operations that are possible.
         */
        "manage": {
            "op": Enum<{
                "ForceRotateRound": undefined;
                "ForceSetPhase": Anonymize<I7d4qtdlascfk8>;
                "EmergencyFallback": undefined;
            }>;
        };
        "admin": {
            "op": Enum<{
                "EmergencySetSolution": [Array<[SS58String, {
                    "total": bigint;
                    "voters": Anonymize<Iba9inugg1atvo>;
                }]>, Anonymize<I8s6n43okuj2b1>];
                "SetMinUntrustedScore": Anonymize<I8s6n43okuj2b1>;
            }>;
        };
    }>;
    "MultiBlockElectionVerifier": undefined;
    "MultiBlockElectionUnsigned": Enum<{
        /**
         * Submit an unsigned solution.
         *
         * This works very much like an inherent, as only the validators are permitted to submit
         * anything. By default validators will compute this call in their `offchain_worker` hook
         * and try and submit it back.
         *
         * This is different from signed page submission mainly in that the solution page is
         * verified on the fly.
         *
         * The `paged_solution` may contain at most [`Config::MinerPages`] pages. They are
         * interpreted as msp -> lsp, as per [`crate::Pallet::msp_range_for`].
         *
         * For example, if `Pages = 4`, and `MinerPages = 2`, our full snapshot range would be [0,
         * 1, 2, 3], with 3 being msp. But, in this case, then the `paged_raw_solution.pages` is
         * expected to correspond to `[snapshot(2), snapshot(3)]`.
         */
        "submit_unsigned": {
            "paged_solution": {
                "solution_pages": Array<Anonymize<I1nvcsqg39g26j>>;
                "score": Anonymize<I8s6n43okuj2b1>;
                "round": number;
            };
        };
    }>;
    "MultiBlockElectionSigned": Enum<{
        /**
         * Register oneself for an upcoming signed election.
         */
        "register": {
            "claimed_score": Anonymize<I8s6n43okuj2b1>;
        };
        /**
         * Submit a single page of a solution.
         *
         * Must always come after [`Pallet::register`].
         *
         * `maybe_solution` can be set to `None` to erase the page.
         *
         * Collects deposits from the signed origin based on [`Config::DepositBase`] and
         * [`Config::DepositPerPage`].
         */
        "submit_page": {
            "page": number;
            "maybe_solution"?: (Anonymize<I1nvcsqg39g26j>) | undefined;
        };
        /**
         * Retract a submission.
         *
         * A portion of the deposit may be returned, based on the [`Config::EjectGraceRatio`].
         *
         * This will fully remove the solution from storage.
         */
        "bail": undefined;
        /**
         * Clear the data of a submitter form an old round.
         *
         * The dispatch origin of this call must be signed, and the original submitter.
         *
         * This can only be called for submissions that end up being discarded, as in they are not
         * processed and they end up lingering in the queue.
         */
        "clear_old_round_data": {
            "round": number;
            "witness_pages": number;
        };
        /**
         * Set the invulnerable list.
         *
         * Dispatch origin must the the same as [`crate::Config::AdminOrigin`].
         */
        "set_invulnerables": {
            "inv": Anonymize<Ia2lhg7l2hilo3>;
        };
    }>;
    "Staking": Enum<{
        /**
         * Take the origin account as a stash and lock up `value` of its balance. `controller` will
         * be the account that controls it.
         *
         * `value` must be more than the `minimum_balance` specified by `T::Currency`.
         *
         * The dispatch origin for this call must be _Signed_ by the stash account.
         *
         * Emits `Bonded`.
         *
         * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned
         * unless the `origin` falls below _existential deposit_ (or equal to 0) and gets removed
         * as dust.
         */
        "bond": {
            "value": bigint;
            "payee": StakingRewardDestination;
        };
        /**
         * Add some extra amount that have appeared in the stash `free_balance` into the balance up
         * for staking.
         *
         * The dispatch origin for this call must be _Signed_ by the stash, not the controller.
         *
         * Use this if there are additional funds in your stash account that you wish to bond.
         * Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose
         * any limitation on the amount that can be added.
         *
         * Emits `Bonded`.
         */
        "bond_extra": {
            "max_additional": bigint;
        };
        /**
         * Schedule a portion of the stash to be unlocked ready for transfer out after the bond
         * period ends. If this leaves an amount actively bonded less than
         * [`asset::existential_deposit`], then it is increased to the full amount.
         *
         * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
         *
         * Once the unlock period is done, you can call `withdraw_unbonded` to actually move
         * the funds out of management ready for transfer.
         *
         * No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)
         * can co-exists at the same time. If there are no unlocking chunks slots available
         * [`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).
         *
         * If a user encounters the `InsufficientBond` error when calling this extrinsic,
         * they should call `chill` first in order to free up their bonded funds.
         *
         * Emits `Unbonded`.
         *
         * See also [`Call::withdraw_unbonded`].
         */
        "unbond": Anonymize<Ie5v6njpckr05b>;
        /**
         * Remove any stake that has been fully unbonded and is ready for withdrawal.
         *
         * Stake is considered fully unbonded once [`Config::BondingDuration`] has elapsed since
         * the unbonding was initiated. In rare cases—such as when offences for the unbonded era
         * have been reported but not yet processed—withdrawal is restricted to eras for which
         * all offences have been processed.
         *
         * The unlocked stake will be returned as free balance in the stash account.
         *
         * The dispatch origin for this call must be _Signed_ by the controller.
         *
         * Emits `Withdrawn`.
         *
         * See also [`Call::unbond`].
         *
         * ## Parameters
         *
         * - `num_slashing_spans`: **Deprecated**. Retained only for backward compatibility; this
         * parameter has no effect.
         */
        "withdraw_unbonded": {
            "num_slashing_spans": number;
        };
        /**
         * Declare the desire to validate for the origin controller.
         *
         * Effects will be felt at the beginning of the next era.
         *
         * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
         */
        "validate": {
            "prefs": Anonymize<I9o7ssi9vmhmgr>;
        };
        /**
         * Declare the desire to nominate `targets` for the origin controller.
         *
         * Effects will be felt at the beginning of the next era.
         *
         * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
         */
        "nominate": {
            "targets": Anonymize<I28gn91b2ttnbk>;
        };
        /**
         * Declare no desire to either validate or nominate.
         *
         * Effects will be felt at the beginning of the next era.
         *
         * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
         *
         * ## Complexity
         * - Independent of the arguments. Insignificant complexity.
         * - Contains one read.
         * - Writes are limited to the `origin` account key.
         */
        "chill": undefined;
        /**
         * (Re-)set the payment target for a controller.
         *
         * Effects will be felt instantly (as soon as this function is completed successfully).
         *
         * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
         */
        "set_payee": {
            "payee": StakingRewardDestination;
        };
        /**
         * (Re-)sets the controller of a stash to the stash itself. This function previously
         * accepted a `controller` argument to set the controller to an account other than the
         * stash itself. This functionality has now been removed, now only setting the controller
         * to the stash, if it is not already.
         *
         * Effects will be felt instantly (as soon as this function is completed successfully).
         *
         * The dispatch origin for this call must be _Signed_ by the stash, not the controller.
         */
        "set_controller": undefined;
        /**
         * Sets the ideal number of validators.
         *
         * The dispatch origin must be Root.
         */
        "set_validator_count": Anonymize<I3vh014cqgmrfd>;
        /**
         * Increments the ideal number of validators up to maximum of
         * `T::MaxValidatorSet`.
         *
         * The dispatch origin must be Root.
         */
        "increase_validator_count": {
            "additional": number;
        };
        /**
         * Scale up the ideal number of validators by a factor up to maximum of
         * `T::MaxValidatorSet`.
         *
         * The dispatch origin must be Root.
         */
        "scale_validator_count": {
            "factor": number;
        };
        /**
         * Force there to be no new eras indefinitely.
         *
         * The dispatch origin must be Root.
         *
         * # Warning
         *
         * The election process starts multiple blocks before the end of the era.
         * Thus the election process may be ongoing when this is called. In this case the
         * election will continue until the next era is triggered.
         */
        "force_no_eras": undefined;
        /**
         * Force there to be a new era at the end of the next session. After this, it will be
         * reset to normal (non-forced) behaviour.
         *
         * The dispatch origin must be Root.
         *
         * # Warning
         *
         * The election process starts multiple blocks before the end of the era.
         * If this is called just before a new era is triggered, the election process may not
         * have enough blocks to get a result.
         */
        "force_new_era": undefined;
        /**
         * Set the validators who cannot be slashed (if any).
         *
         * The dispatch origin must be Root.
         */
        "set_invulnerables": Anonymize<I39t01nnod9109>;
        /**
         * Force a current staker to become completely unstaked, immediately.
         *
         * The dispatch origin must be Root.
         * ## Parameters
         *
         * - `stash`: The stash account to be unstaked.
         * - `num_slashing_spans`: **Deprecated**. This parameter is retained for backward
         * compatibility. It no longer has any effect.
         */
        "force_unstake": {
            "stash": SS58String;
            "num_slashing_spans": number;
        };
        /**
         * Force there to be a new era at the end of sessions indefinitely.
         *
         * The dispatch origin must be Root.
         *
         * # Warning
         *
         * The election process starts multiple blocks before the end of the era.
         * If this is called just before a new era is triggered, the election process may not
         * have enough blocks to get a result.
         */
        "force_new_era_always": undefined;
        /**
         * Cancels scheduled slashes for a given era before they are applied.
         *
         * This function allows `T::AdminOrigin` to cancel pending slashes for specified validators
         * in a given era. The cancelled slashes are stored and will be checked when applying
         * slashes.
         *
         * ## Parameters
         * - `era`: The staking era for which slashes should be cancelled. This is the era where
         * the slash would be applied, not the era in which the offence was committed.
         * - `validator_slashes`: A list of validator stash accounts and their slash fractions to
         * be cancelled.
         */
        "cancel_deferred_slash": {
            "era": number;
            "validator_slashes": Anonymize<I205qrookusi3d>;
        };
        /**
         * Pay out next page of the stakers behind a validator for the given era.
         *
         * - `validator_stash` is the stash account of the validator.
         * - `era` may be any era between `[current_era - history_depth; current_era]`.
         *
         * The origin of this call must be _Signed_. Any account can call this function, even if
         * it is not one of the stakers.
         *
         * The reward payout could be paged in case there are too many nominators backing the
         * `validator_stash`. This call will payout unpaid pages in an ascending order. To claim a
         * specific page, use `payout_stakers_by_page`.`
         *
         * If all pages are claimed, it returns an error `InvalidPage`.
         */
        "payout_stakers": {
            "validator_stash": SS58String;
            "era": number;
        };
        /**
         * Rebond a portion of the stash scheduled to be unlocked.
         *
         * The dispatch origin must be signed by the controller.
         */
        "rebond": Anonymize<Ie5v6njpckr05b>;
        /**
         * Remove all data structures concerning a staker/stash once it is at a state where it can
         * be considered `dust` in the staking system. The requirements are:
         *
         * 1. the `total_balance` of the stash is below `min_chilled_bond` or is zero.
         * 2. or, the `ledger.total` of the stash is below `min_chilled_bond` or is zero.
         *
         * The former can happen in cases like a slash; the latter when a fully unbonded account
         * is still receiving staking rewards in `RewardDestination::Staked`.
         *
         * It can be called by anyone, as long as `stash` meets the above requirements.
         *
         * Refunds the transaction fees upon successful execution.
         *
         * ## Parameters
         *
         * - `stash`: The stash account to be reaped.
         * - `num_slashing_spans`: **Deprecated**. This parameter is retained for backward
         * compatibility. It no longer has any effect.
         */
        "reap_stash": {
            "stash": SS58String;
            "num_slashing_spans": number;
        };
        /**
         * Remove the given nominations from the calling validator.
         *
         * Effects will be felt at the beginning of the next era.
         *
         * The dispatch origin for this call must be _Signed_ by the controller, not the stash.
         *
         * - `who`: A list of nominator stash accounts who are nominating this validator which
         * should no longer be nominating this validator.
         *
         * Note: Making this call only makes sense if you first set the validator preferences to
         * block any further nominations.
         */
        "kick": {
            "who": Anonymize<I28gn91b2ttnbk>;
        };
        /**
         * Update the various staking configurations .
         *
         * * `min_nominator_bond`: The minimum active bond needed to be a nominator.
         * * `min_validator_bond`: The minimum active bond needed to be a validator.
         * * `max_nominator_count`: The max number of users who can be a nominator at once. When
         * set to `None`, no limit is enforced.
         * * `max_validator_count`: The max number of users who can be a validator at once. When
         * set to `None`, no limit is enforced.
         * * `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which
         * should be filled in order for the `chill_other` transaction to work.
         * * `min_commission`: The minimum amount of commission that each validators must maintain.
         * This is checked only upon calling `validate`. Existing validators are not affected.
         *
         * RuntimeOrigin must be Root to call this function.
         *
         * NOTE: Existing nominators and validators will not be affected by this update.
         * to kick people under the new limits, `chill_other` should be called.
         */
        "set_staking_configs": {
            "min_nominator_bond": StakingPalletConfigOpBig;
            "min_validator_bond": StakingPalletConfigOpBig;
            "max_nominator_count": StakingPalletConfigOp;
            "max_validator_count": StakingPalletConfigOp;
            "chill_threshold": StakingPalletConfigOp;
            "min_commission": StakingPalletConfigOp;
            "max_staked_rewards": StakingPalletConfigOp;
            "are_nominators_slashable": Enum<{
                "Noop": undefined;
                "Set": boolean;
                "Remove": undefined;
            }>;
        };
        /**
         * Declare a `controller` to stop participating as either a validator or nominator.
         *
         * Effects will be felt at the beginning of the next era.
         *
         * The dispatch origin for this call must be _Signed_, but can be called by anyone.
         *
         * If the caller is the same as the controller being targeted, then no further checks are
         * enforced, and this function behaves just like `chill`.
         *
         * If the caller is different than the controller being targeted, the following conditions
         * must be met:
         *
         * * `controller` must belong to a nominator who has become non-decodable,
         *
         * Or:
         *
         * * A `ChillThreshold` must be set and checked which defines how close to the max
         * nominators or validators we must reach before users can start chilling one-another.
         * * A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine
         * how close we are to the threshold.
         * * A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines
         * if this is a person that should be chilled because they have not met the threshold
         * bond required.
         *
         * This can be helpful if bond requirements are updated, and we need to remove old users
         * who do not satisfy these requirements.
         */
        "chill_other": Anonymize<Idl3umm12u5pa>;
        /**
         * Force a validator to have at least the minimum commission. This will not affect a
         * validator who already has a commission greater than or equal to the minimum. Any account
         * can call this.
         */
        "force_apply_min_commission": {
            "validator_stash": SS58String;
        };
        /**
         * Sets the minimum amount of commission that each validators must maintain.
         *
         * This call has lower privilege requirements than `set_staking_config` and can be called
         * by the `T::AdminOrigin`. Root can always call this.
         */
        "set_min_commission": Anonymize<I3vh014cqgmrfd>;
        /**
         * Pay out a page of the stakers behind a validator for the given era and page.
         *
         * - `validator_stash` is the stash account of the validator.
         * - `era` may be any era between `[current_era - history_depth; current_era]`.
         * - `page` is the page index of nominators to pay out with value between 0 and
         * `num_nominators / T::MaxExposurePageSize`.
         *
         * The origin of this call must be _Signed_. Any account can call this function, even if
         * it is not one of the stakers.
         *
         * If a validator has more than [`Config::MaxExposurePageSize`] nominators backing
         * them, then the list of nominators is paged, with each page being capped at
         * [`Config::MaxExposurePageSize`.] If a validator has more than one page of nominators,
         * the call needs to be made for each page separately in order for all the nominators
         * backing a validator to receive the reward. The nominators are not sorted across pages
         * and so it should not be assumed the highest staker would be on the topmost page and vice
         * versa. If rewards are not claimed in [`Config::HistoryDepth`] eras, they are lost.
         */
        "payout_stakers_by_page": {
            "validator_stash": SS58String;
            "era": number;
            "page": number;
        };
        /**
         * Migrates an account's `RewardDestination::Controller` to
         * `RewardDestination::Account(controller)`.
         *
         * Effects will be felt instantly (as soon as this function is completed successfully).
         *
         * This will waive the transaction fee if the `payee` is successfully migrated.
         */
        "update_payee": {
            "controller": SS58String;
        };
        /**
         * Updates a batch of controller accounts to their corresponding stash account if they are
         * not the same. Ignores any controller accounts that do not exist, and does not operate if
         * the stash and controller are already the same.
         *
         * Effects will be felt instantly (as soon as this function is completed successfully).
         *
         * The dispatch origin must be `T::AdminOrigin`.
         */
        "deprecate_controller_batch": {
            "controllers": Anonymize<Ia2lhg7l2hilo3>;
        };
        /**
         * Restores the state of a ledger which is in an inconsistent state.
         *
         * The requirements to restore a ledger are the following:
         * * The stash is bonded; or
         * * The stash is not bonded but it has a staking lock left behind; or
         * * If the stash has an associated ledger and its state is inconsistent; or
         * * If the ledger is not corrupted *but* its staking lock is out of sync.
         *
         * The `maybe_*` input parameters will overwrite the corresponding data and metadata of the
         * ledger associated with the stash. If the input parameters are not set, the ledger will
         * be reset values from on-chain state.
         */
        "restore_ledger": {
            "stash": SS58String;
            "maybe_controller"?: Anonymize<Ihfphjolmsqq1>;
            "maybe_total"?: Anonymize<I35p85j063s0il>;
            "maybe_unlocking"?: (Anonymize<I9nc4v1upo2c8e>) | undefined;
        };
        /**
         * Migrates permissionlessly a stash from locks to holds.
         *
         * This removes the old lock on the stake and creates a hold on it atomically. If all
         * stake cannot be held, the best effort is made to hold as much as possible. The remaining
         * stake is removed from the ledger.
         *
         * The fee is waived if the migration is successful.
         */
        "migrate_currency": Anonymize<Idl3umm12u5pa>;
        /**
         * Manually and permissionlessly applies a deferred slash for a given era.
         *
         * Normally, slashes are automatically applied shortly after the start of the `slash_era`.
         * The automatic application of slashes is handled by the pallet's internal logic, and it
         * tries to apply one slash page per block of the era.
         * If for some reason, one era is not enough for applying all slash pages, the remaining
         * slashes need to be manually (permissionlessly) applied.
         *
         * For a given era x, if at era x+1, slashes are still unapplied, all withdrawals get
         * blocked, and these need to be manually applied by calling this function.
         * This function exists as a **fallback mechanism** for this extreme situation, but we
         * never expect to encounter this in normal scenarios.
         *
         * The parameters for this call can be queried by looking at the `UnappliedSlashes` storage
         * for eras older than the active era.
         *
         * ## Parameters
         * - `slash_era`: The staking era in which the slash was originally scheduled.
         * - `slash_key`: A unique identifier for the slash, represented as a tuple:
         * - `stash`: The stash account of the validator being slashed.
         * - `slash_fraction`: The fraction of the stake that was slashed.
         * - `page_index`: The index of the exposure page being processed.
         *
         * ## Behavior
         * - The function is **permissionless**—anyone can call it.
         * - The `slash_era` **must be the current era or a past era**.
         * If it is in the future, the
         * call fails with `EraNotStarted`.
         * - The fee is waived if the slash is successfully applied.
         *
         * ## Future Improvement
         * - Implement an **off-chain worker (OCW) task** to automatically apply slashes when there
         * is unused block space, improving efficiency.
         */
        "apply_slash": {
            "slash_era": number;
            "slash_key": Anonymize<Id32h28hjj1tch>;
        };
        /**
         * Perform one step of era pruning to prevent PoV size exhaustion from unbounded deletions.
         *
         * This extrinsic enables permissionless lazy pruning of era data by performing
         * incremental deletion of storage items. Each call processes a limited number
         * of items based on available block weight to avoid exceeding block limits.
         *
         * Returns `Pays::No` when work is performed to incentivize regular maintenance.
         * Anyone can call this to help maintain the chain's storage health.
         *
         * The era must be eligible for pruning (older than HistoryDepth + 1).
         * Check `EraPruningState` storage to see if an era needs pruning before calling.
         */
        "prune_era_step": {
            "era": number;
        };
    }>;
    "Revive": Enum<{
        /**
         * A raw EVM transaction, typically dispatched by an Ethereum JSON-RPC server.
         *
         * # Parameters
         *
         * * `payload`: The encoded [`crate::evm::TransactionSigned`].
         *
         * # Note
         *
         * This call cannot be dispatched directly; attempting to do so will result in a failed
         * transaction. It serves as a wrapper for an Ethereum transaction. When submitted, the
         * runtime converts it into a [`sp_runtime::generic::CheckedExtrinsic`] by recovering the
         * signer and validating the transaction.
         */
        "eth_transact": {
            "payload": Uint8Array;
        };
        /**
         * Makes a call to an account, optionally transferring some balance.
         *
         * # Parameters
         *
         * * `dest`: Address of the contract to call.
         * * `value`: The balance to transfer from the `origin` to `dest`.
         * * `weight_limit`: The weight limit enforced when executing the constructor.
         * * `storage_deposit_limit`: The maximum amount of balance that can be charged from the
         * caller to pay for the storage consumed.
         * * `data`: The input data to pass to the contract.
         *
         * * If the account is a smart-contract account, the associated code will be
         * executed and any value will be transferred.
         * * If the account is a regular account, any value will be transferred.
         * * If no account exists and the call value is not less than `existential_deposit`,
         * a regular account will be created and any value will be transferred.
         */
        "call": {
            "dest": SizedHex<20>;
            "value": bigint;
            "weight_limit": Anonymize<I4q39t5hn830vp>;
            "storage_deposit_limit": bigint;
            "data": Uint8Array;
        };
        /**
         * Instantiates a contract from a previously deployed vm binary.
         *
         * This function is identical to [`Self::instantiate_with_code`] but without the
         * code deployment step. Instead, the `code_hash` of an on-chain deployed vm binary
         * must be supplied.
         */
        "instantiate": {
            "value": bigint;
            "weight_limit": Anonymize<I4q39t5hn830vp>;
            "storage_deposit_limit": bigint;
            "code_hash": SizedHex<32>;
            "data": Uint8Array;
            "salt"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * Instantiates a new contract from the supplied `code` optionally transferring
         * some balance.
         *
         * This dispatchable has the same effect as calling [`Self::upload_code`] +
         * [`Self::instantiate`]. Bundling them together provides efficiency gains. Please
         * also check the documentation of [`Self::upload_code`].
         *
         * # Parameters
         *
         * * `value`: The balance to transfer from the `origin` to the newly created contract.
         * * `weight_limit`: The weight limit enforced when executing the constructor.
         * * `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved
         * from the caller to pay for the storage consumed.
         * * `code`: The contract code to deploy in raw bytes.
         * * `data`: The input data to pass to the contract constructor.
         * * `salt`: Used for the address derivation. If `Some` is supplied then `CREATE2`
         * semantics are used. If `None` then `CRATE1` is used.
         *
         *
         * Instantiation is executed as follows:
         *
         * - The supplied `code` is deployed, and a `code_hash` is created for that code.
         * - If the `code_hash` already exists on the chain the underlying `code` will be shared.
         * - The destination address is computed based on the sender, code_hash and the salt.
         * - The smart-contract account is created at the computed address.
         * - The `value` is transferred to the new account.
         * - The `deploy` function is executed in the context of the newly-created account.
         */
        "instantiate_with_code": {
            "value": bigint;
            "weight_limit": Anonymize<I4q39t5hn830vp>;
            "storage_deposit_limit": bigint;
            "code": Uint8Array;
            "data": Uint8Array;
            "salt"?: Anonymize<I4s6vifaf8k998>;
        };
        /**
         * Same as [`Self::instantiate_with_code`], but intended to be dispatched **only**
         * by an EVM transaction through the EVM compatibility layer.
         *
         * # Parameters
         *
         * * `value`: The balance to transfer from the `origin` to the newly created contract.
         * * `weight_limit`: The gas limit used to derive the transaction weight for transaction
         * payment
         * * `eth_gas_limit`: The Ethereum gas limit governing the resource usage of the execution
         * * `code`: The contract code to deploy in raw bytes.
         * * `data`: The input data to pass to the contract constructor.
         * * `transaction_encoded`: The RLP encoding of the signed Ethereum transaction,
         * represented as [crate::evm::TransactionSigned], provided by the Ethereum wallet. This
         * is used for building the Ethereum transaction root.
         * * effective_gas_price: the price of a unit of gas
         * * encoded len: the byte code size of the `eth_transact` extrinsic
         *
         * Calling this dispatchable ensures that the origin's nonce is bumped only once,
         * via the `CheckNonce` transaction extension. In contrast, [`Self::instantiate_with_code`]
         * also bumps the nonce after contract instantiation, since it may be invoked multiple
         * times within a batch call transaction.
         */
        "eth_instantiate_with_code": {
            "value": Anonymize<I4totqt881mlti>;
            "weight_limit": Anonymize<I4q39t5hn830vp>;
            "eth_gas_limit": Anonymize<I4totqt881mlti>;
            "code": Uint8Array;
            "data": Uint8Array;
            "transaction_encoded": Uint8Array;
            "effective_gas_price": Anonymize<I4totqt881mlti>;
            "encoded_len": number;
        };
        /**
         * Same as [`Self::call`], but intended to be dispatched **only**
         * by an EVM transaction through the EVM compatibility layer.
         *
         * # Parameters
         *
         * * `dest`: The Ethereum address of the account to be called
         * * `value`: The balance to transfer from the `origin` to the newly created contract.
         * * `weight_limit`: The gas limit used to derive the transaction weight for transaction
         * payment
         * * `eth_gas_limit`: The Ethereum gas limit governing the resource usage of the execution
         * * `data`: The input data to pass to the contract constructor.
         * * `transaction_encoded`: The RLP encoding of the signed Ethereum transaction,
         * represented as [crate::evm::TransactionSigned], provided by the Ethereum wallet. This
         * is used for building the Ethereum transaction root.
         * * effective_gas_price: the price of a unit of gas
         * * encoded len: the byte code size of the `eth_transact` extrinsic
         */
        "eth_call": {
            "dest": SizedHex<20>;
            "value": Anonymize<I4totqt881mlti>;
            "weight_limit": Anonymize<I4q39t5hn830vp>;
            "eth_gas_limit": Anonymize<I4totqt881mlti>;
            "data": Uint8Array;
            "transaction_encoded": Uint8Array;
            "effective_gas_price": Anonymize<I4totqt881mlti>;
            "encoded_len": number;
        };
        /**
         * Executes a Substrate runtime call from an Ethereum transaction.
         *
         * This dispatchable is intended to be called **only** through the EVM compatibility
         * layer. The provided call will be dispatched using `RawOrigin::Signed`.
         *
         * # Parameters
         *
         * * `origin`: Must be an [`Origin::EthTransaction`] origin.
         * * `call`: The Substrate runtime call to execute.
         * * `transaction_encoded`: The RLP encoding of the Ethereum transaction,
         */
        "eth_substrate_call": {
            "call": TxCallData;
            "transaction_encoded": Uint8Array;
        };
        /**
         * Upload new `code` without instantiating a contract from it.
         *
         * If the code does not already exist a deposit is reserved from the caller
         * The size of the reserve depends on the size of the supplied `code`.
         *
         * # Note
         *
         * Anyone can instantiate a contract from any uploaded code and thus prevent its removal.
         * To avoid this situation a constructor could employ access control so that it can
         * only be instantiated by permissioned entities. The same is true when uploading
         * through [`Self::instantiate_with_code`].
         *
         * If the refcount of the code reaches zero after terminating the last contract that
         * references this code, the code will be removed automatically.
         */
        "upload_code": {
            "code": Uint8Array;
            "storage_deposit_limit": bigint;
        };
        /**
         * Remove the code stored under `code_hash` and refund the deposit to its owner.
         *
         * A code can only be removed by its original uploader (its owner) and only if it is
         * not used by any contract.
         */
        "remove_code": Anonymize<Ib51vk42m1po4n>;
        /**
         * Privileged function that changes the code of an existing contract.
         *
         * This takes care of updating refcounts and all other necessary operations. Returns
         * an error if either the `code_hash` or `dest` do not exist.
         *
         * # Note
         *
         * This does **not** change the address of the contract in question. This means
         * that the contract address is no longer derived from its code hash after calling
         * this dispatchable.
         */
        "set_code": {
            "dest": SizedHex<20>;
            "code_hash": SizedHex<32>;
        };
        /**
         * Register the callers account id so that it can be used in contract interactions.
         *
         * This will error if the origin is already mapped or is a eth native `Address20`. It will
         * take a deposit that can be released by calling [`Self::unmap_account`].
         */
        "map_account": undefined;
        /**
         * Unregister the callers account id in order to free the deposit.
         *
         * There is no reason to ever call this function other than freeing up the deposit.
         * This is only useful when the account should no longer be used.
         */
        "unmap_account": undefined;
        /**
         * Dispatch an `call` with the origin set to the callers fallback address.
         *
         * Every `AccountId32` can control its corresponding fallback account. The fallback account
         * is the `AccountId20` with the last 12 bytes set to `0xEE`. This is essentially a
         * recovery function in case an `AccountId20` was used without creating a mapping first.
         */
        "dispatch_as_fallback_account": Anonymize<I5u4sg1q3agd4a>;
    }>;
    "AhOps": Enum<{
        /**
         * Unreserve the deposit that was taken for creating a crowdloan.
         *
         * This can be called by any signed origin. It unreserves the lease deposit on the account
         * that won the lease auction. It can be unreserved once all leases expired. Note that it
         * will be called automatically from `withdraw_crowdloan_contribution` for the matching
         * crowdloan account.
         *
         * Solo bidder accounts that won lease auctions can use this to unreserve their amount.
         */
        "unreserve_lease_deposit": {
            "block": number;
            "depositor"?: Anonymize<Ihfphjolmsqq1>;
            "para_id": number;
        };
        /**
         * Withdraw the contribution of a finished crowdloan.
         *
         * A crowdloan contribution can be withdrawn if either:
         * - The crowdloan failed to in an auction and timed out
         * - Won an auction and all leases expired
         *
         * Can be called by any signed origin.
         */
        "withdraw_crowdloan_contribution": {
            "block": number;
            "depositor"?: Anonymize<Ihfphjolmsqq1>;
            "para_id": number;
        };
        /**
         * Unreserve the deposit that was taken for creating a crowdloan.
         *
         * This can be called once either:
         * - The crowdloan failed to win an auction and timed out
         * - Won an auction, all leases expired and all contributions are withdrawn
         *
         * Can be called by any signed origin. The condition that all contributions are withdrawn
         * is in place since the reserve acts as a storage deposit.
         */
        "unreserve_crowdloan_reserve": {
            "block": number;
            "depositor"?: Anonymize<Ihfphjolmsqq1>;
            "para_id": number;
        };
        /**
         * Transfer the balance from the pre-migration treasury account to the post-migration
         * treasury account.
         *
         * This call can only be called after the migration is completed.
         */
        "transfer_to_post_migration_treasury": Anonymize<I22bm4d7re21j9>;
        /**
         * Translate recursively derived parachain sovereign child account to its sibling.
         *
         * Uses the same derivation path on the sibling. The old and new account arguments are only
         * witness data to ensure correct usage. Can only be called by the `MigrateOrigin`.
         *
         * This migrates:
         * - Native DOT balance
         * - All assets listed in `T::RelevantAssets`
         * - Staked balances
         *
         * Things like non-relevant assets or vested transfers may remain on the old account.
         */
        "translate_para_sovereign_child_to_sibling_derived": {
            "para_id": number;
            "derivation_path": Anonymize<Icgljjb6j82uhn>;
            "old_account": SS58String;
            "new_account": SS58String;
        };
    }>;
    "AhMigrator": Enum<{
        /**
         * Receive accounts from the Relay Chain.
         *
         * The accounts sent with `pallet_rc_migrator::Pallet::migrate_accounts` function.
         */
        "receive_accounts": {
            "accounts": Array<{
                "who": SS58String;
                "free": bigint;
                "reserved": bigint;
                "frozen": bigint;
                "holds": Array<{
                    "id": Enum<{
                        "Preimage": PreimagePalletHoldReason;
                        "Staking": Anonymize<Icbapambb5rug3>;
                        "StateTrieMigration": Anonymize<I7lf1val3vmpq0>;
                        "DelegatedStaking": Anonymize<Ib6ve2drlnapui>;
                        "Session": Anonymize<I6bkr3dqv753nc>;
                        "XcmPallet": Anonymize<Ideiof6273rsoe>;
                    }>;
                    "amount": bigint;
                }>;
                "freezes": Array<{
                    "id": WestendRuntimeRuntimeFreezeReason;
                    "amount": bigint;
                }>;
                "locks": Anonymize<I8ds64oj6581v0>;
                "unnamed_reserve": bigint;
                "consumers": number;
                "providers": number;
            }>;
        };
        /**
         * Receive multisigs from the Relay Chain.
         *
         * This will be called from an XCM `Transact` inside a DMP from the relay chain. The
         * multisigs were prepared by
         * `pallet_rc_migrator::multisig::MultisigMigrator::migrate_many`.
         */
        "receive_multisigs": {
            "accounts": Array<{
                "creator": SS58String;
                "deposit": bigint;
            }>;
        };
        /**
         * Receive proxies from the Relay Chain.
         */
        "receive_proxy_proxies": {
            "proxies": Array<{
                "delegator": SS58String;
                "deposit": bigint;
                "proxies": Array<{
                    "delegate": SS58String;
                    "proxy_type": Enum<{
                        "Any": undefined;
                        "NonTransfer": undefined;
                        "Governance": undefined;
                        "Staking": undefined;
                        "CancelProxy": undefined;
                        "Auction": undefined;
                        "NominationPools": undefined;
                        "ParaRegistration": undefined;
                    }>;
                    "delay": number;
                }>;
            }>;
        };
        /**
         * Receive proxy announcements from the Relay Chain.
         */
        "receive_proxy_announcements": {
            "announcements": Array<{
                "depositor": SS58String;
                "deposit": bigint;
            }>;
        };
        "receive_preimage_chunks": {
            "chunks": Array<{
                "preimage_hash": SizedHex<32>;
                "preimage_len": number;
                "chunk_byte_offset": number;
                "chunk_bytes": Uint8Array;
            }>;
        };
        "receive_preimage_request_status": {
            "request_status": Array<{
                "hash": SizedHex<32>;
                "request_status": Enum<{
                    "Unrequested": {
                        "ticket": Anonymize<I92tce08cbhnmn>;
                        "len": number;
                    };
                    "Requested": {
                        "maybe_ticket"?: (Anonymize<I92tce08cbhnmn>) | undefined;
                        "count": number;
                        "maybe_len"?: Anonymize<I4arjljr6dpflb>;
                    };
                }>;
            }>;
        };
        "receive_preimage_legacy_status": {
            "legacy_status": Array<{
                "hash": SizedHex<32>;
                "depositor": SS58String;
                "deposit": bigint;
            }>;
        };
        "receive_nom_pools_messages": {
            "messages": Array<Enum<{
                "StorageValues": {
                    "values": {
                        "total_value_locked"?: Anonymize<I35p85j063s0il>;
                        "min_join_bond"?: Anonymize<I35p85j063s0il>;
                        "min_create_bond"?: Anonymize<I35p85j063s0il>;
                        "max_pools"?: Anonymize<I4arjljr6dpflb>;
                        "max_pool_members"?: Anonymize<I4arjljr6dpflb>;
                        "max_pool_members_per_pool"?: Anonymize<I4arjljr6dpflb>;
                        "global_max_commission"?: Anonymize<I4arjljr6dpflb>;
                        "last_pool_id"?: Anonymize<I4arjljr6dpflb>;
                    };
                };
                "PoolMembers": {
                    "member": [SS58String, {
                        "pool_id": number;
                        "points": bigint;
                        "last_recorded_reward_counter": bigint;
                        "unbonding_eras": Anonymize<If9jidduiuq7vv>;
                    }];
                };
                "BondedPools": {
                    "pool": [number, {
                        "commission": {
                            "current"?: Anonymize<Ie8iutm7u02lmj>;
                            "max"?: Anonymize<I4arjljr6dpflb>;
                            "change_rate"?: (Anonymize<Ibqul338t9c1ll>) | undefined;
                            "throttle_from"?: Anonymize<I4arjljr6dpflb>;
                            "claim_permission"?: Anonymize<I16m1kn78dee7v>;
                        };
                        "member_counter": number;
                        "points": bigint;
                        "roles": {
                            "depositor": SS58String;
                            "root"?: Anonymize<Ihfphjolmsqq1>;
                            "nominator"?: Anonymize<Ihfphjolmsqq1>;
                            "bouncer"?: Anonymize<Ihfphjolmsqq1>;
                        };
                        "state": NominationPoolsPoolState;
                    }];
                };
                "RewardPools": {
                    "rewards": [number, {
                        "last_recorded_reward_counter": bigint;
                        "last_recorded_total_payouts": bigint;
                        "total_rewards_claimed": bigint;
                        "total_commission_pending": bigint;
                        "total_commission_claimed": bigint;
                    }];
                };
                "SubPoolsStorage": {
                    "sub_pools": [number, {
                        "no_era": Anonymize<I4h0cfnkiqrna6>;
                        "with_era": Array<[number, Anonymize<I4h0cfnkiqrna6>]>;
                    }];
                };
                "Metadata": {
                    "meta": Anonymize<Icp9h5ma02v1rg>;
                };
                "ReversePoolIdLookup": {
                    "lookups": Anonymize<I6ouflveob4eli>;
                };
                "ClaimPermissions": {
                    "perms": [SS58String, NominationPoolsClaimPermission];
                };
            }>>;
        };
        "receive_vesting_schedules": {
            "schedules": Array<{
                "who": SS58String;
                "schedules": Array<Anonymize<I4aro1m78pdrtt>>;
            }>;
        };
        /**
         * Receive referendum counts, deciding counts, votes for the track queue.
         */
        "receive_referenda_values": {
            "values": Array<{
                "referendum_count"?: Anonymize<I4arjljr6dpflb>;
                "deciding_count": Anonymize<Iep4uo61810hfs>;
                "track_queue": Array<[number, Anonymize<If9jidduiuq7vv>]>;
            }>;
        };
        /**
         * Receive referendums from the Relay Chain.
         */
        "receive_referendums": {
            "referendums": Array<[number, Enum<{
                "Ongoing": {
                    "track": number;
                    "origin": Anonymize<Ibg47me9hgvdgi>;
                    "proposal": PreimagesBounded;
                    "enactment": TraitsScheduleDispatchTime;
                    "submitted": number;
                    "submission_deposit": Anonymize<Id5fm4p8lj5qgi>;
                    "decision_deposit"?: Anonymize<Ibd24caul84kv2>;
                    "deciding"?: Anonymize<Ibcbcndfmk0jd9>;
                    "tally": Anonymize<Ifsk7cbmtit1jd>;
                    "in_queue": boolean;
                    "alarm"?: Anonymize<I3aj03qk2o5mdm>;
                };
                "Approved": Anonymize<Ini94eljn5lj8>;
                "Rejected": Anonymize<Ini94eljn5lj8>;
                "Cancelled": Anonymize<Ini94eljn5lj8>;
                "TimedOut": Anonymize<Ini94eljn5lj8>;
                "Killed": number;
            }>]>;
        };
        "receive_claims": {
            "messages": Array<Enum<{
                "StorageValues": {
                    "total": bigint;
                };
                "Claims": [SizedHex<20>, bigint];
                "Vesting": {
                    "who": SizedHex<20>;
                    "schedule": Anonymize<I2phecamkn3pej>;
                };
                "Signing": [SizedHex<20>, ClaimsStatementKind];
                "Preclaims": [SS58String, SizedHex<20>];
            }>>;
        };
        "receive_bags_list_messages": {
            "messages": Array<Enum<{
                "Node": {
                    "id": SS58String;
                    "node": {
                        "id": SS58String;
                        "prev"?: Anonymize<Ihfphjolmsqq1>;
                        "next"?: Anonymize<Ihfphjolmsqq1>;
                        "bag_upper": bigint;
                        "score": bigint;
                    };
                };
                "Bag": {
                    "score": bigint;
                    "bag": {
                        "head"?: Anonymize<Ihfphjolmsqq1>;
                        "tail"?: Anonymize<Ihfphjolmsqq1>;
                        "bag_upper": bigint;
                    };
                };
            }>>;
        };
        "receive_scheduler_messages": {
            "messages": Array<Enum<{
                "IncompleteSince": number;
                "Retries": [Anonymize<I9jd27rnpm8ttv>, {
                    "total_retries": number;
                    "remaining": number;
                    "period": number;
                }];
                "Lookup": [SizedHex<32>, Anonymize<I9jd27rnpm8ttv>];
            }>>;
        };
        "receive_indices": {
            "indices": Array<{
                "index": number;
                "who": SS58String;
                "deposit": bigint;
                "frozen": boolean;
            }>;
        };
        "receive_conviction_voting_messages": {
            "messages": Array<Enum<{
                "VotingFor": [SS58String, number, ConvictionVotingVoteVoting];
                "ClassLocksFor": [SS58String, Anonymize<If9jidduiuq7vv>];
            }>>;
        };
        "receive_bounties_messages": {
            "messages": Array<Enum<{
                "BountyCount": number;
                "BountyApprovals": Anonymize<Icgljjb6j82uhn>;
                "BountyDescriptions": Anonymize<Icp9h5ma02v1rg>;
                "Bounties": [number, {
                    "proposer": SS58String;
                    "value": bigint;
                    "fee": bigint;
                    "curator_deposit": bigint;
                    "bond": bigint;
                    "status": Enum<{
                        "Proposed": undefined;
                        "Approved": undefined;
                        "Funded": undefined;
                        "CuratorProposed": Anonymize<I846573mdj1pfn>;
                        "Active": {
                            "curator": SS58String;
                            "update_due": number;
                        };
                        "PendingPayout": Anonymize<I4aulgjqrdphrm>;
                        "ApprovedWithCurator": Anonymize<I846573mdj1pfn>;
                    }>;
                }];
            }>>;
        };
        "receive_asset_rates": {
            "rates": Array<[Anonymize<I2q3ri6itcjj5u>, bigint]>;
        };
        "receive_crowdloan_messages": {
            "messages": Array<Enum<{
                "LeaseReserve": {
                    "unreserve_block": number;
                    "account": SS58String;
                    "para_id": number;
                    "amount": bigint;
                };
                "CrowdloanContribution": {
                    "withdraw_block": number;
                    "contributor": SS58String;
                    "para_id": number;
                    "amount": bigint;
                    "crowdloan_account": SS58String;
                };
                "CrowdloanReserve": {
                    "unreserve_block": number;
                    "depositor": SS58String;
                    "para_id": number;
                    "amount": bigint;
                };
            }>>;
        };
        "receive_referenda_metadata": {
            "metadata": Array<[number, SizedHex<32>]>;
        };
        "receive_treasury_messages": {
            "messages": Array<Enum<{
                "ProposalCount": number;
                "Proposals": [number, {
                    "proposer": SS58String;
                    "value": bigint;
                    "beneficiary": SS58String;
                    "bond": bigint;
                }];
                "Approvals": Anonymize<Icgljjb6j82uhn>;
                "SpendCount": number;
                "Spends": {
                    "id": number;
                    "status": {
                        "asset_kind": Anonymize<I2q3ri6itcjj5u>;
                        "amount": bigint;
                        "beneficiary": XcmVersionedLocation;
                        "valid_from": number;
                        "expire_at": number;
                        "status": TreasuryPaymentState;
                    };
                };
                "LastSpendPeriod"?: Anonymize<I4arjljr6dpflb>;
                "Funds": undefined;
            }>>;
        };
        "receive_scheduler_agenda_messages": {
            "messages": Array<{
                "block": number;
                "agenda": Array<({
                    "maybe_id"?: Anonymize<I4s6vifaf8k998>;
                    "priority": number;
                    "call": PreimagesBounded;
                    "maybe_periodic"?: Anonymize<Iep7au1720bm0e>;
                    "origin": Anonymize<Ibg47me9hgvdgi>;
                }) | undefined>;
            }>;
        };
        "receive_delegated_staking_messages": {
            "messages": Array<Enum<{
                "Delegators": Anonymize<Id2aanom2jncf1>;
                "Agents": {
                    "agent": SS58String;
                    "payee": SS58String;
                    "total_delegated": bigint;
                    "unclaimed_withdrawals": bigint;
                    "pending_slash": bigint;
                };
            }>>;
        };
        "receive_child_bounties_messages": {
            "messages": Array<Enum<{
                "ChildBountyCount": number;
                "ParentChildBounties": Anonymize<I9jd27rnpm8ttv>;
                "ParentTotalChildBounties": Anonymize<I9jd27rnpm8ttv>;
                "ChildBounty": {
                    "parent_id": number;
                    "child_id": number;
                    "child_bounty": {
                        "parent_bounty": number;
                        "value": bigint;
                        "fee": bigint;
                        "curator_deposit": bigint;
                        "status": ChildBountyStatus;
                    };
                };
                "ChildBountyDescriptionsV1": {
                    "parent_id": number;
                    "child_id": number;
                    "description": Uint8Array;
                };
                "V0ToV1ChildBountyIds": {
                    "v0_child_id": number;
                    "parent_id": number;
                    "v1_child_id": number;
                };
                "ChildrenCuratorFees": {
                    "child_id": number;
                    "amount": bigint;
                };
            }>>;
        };
        "receive_staking_messages": {
            "messages": Array<Enum<{
                "Values": {
                    "validator_count"?: Anonymize<I4arjljr6dpflb>;
                    "min_validator_count"?: Anonymize<I4arjljr6dpflb>;
                    "min_nominator_bond"?: Anonymize<I35p85j063s0il>;
                    "min_validator_bond"?: Anonymize<I35p85j063s0il>;
                    "min_active_stake"?: Anonymize<I35p85j063s0il>;
                    "min_commission"?: Anonymize<I4arjljr6dpflb>;
                    "max_validators_count"?: Anonymize<I4arjljr6dpflb>;
                    "max_nominators_count"?: Anonymize<I4arjljr6dpflb>;
                    "current_era"?: Anonymize<I4arjljr6dpflb>;
                    "active_era"?: ({
                        "index": number;
                        "start"?: Anonymize<I35p85j063s0il>;
                    }) | undefined;
                    "force_era"?: (StakingForcing) | undefined;
                    "max_staked_rewards"?: Anonymize<I4arjljr6dpflb>;
                    "slash_reward_fraction"?: Anonymize<I4arjljr6dpflb>;
                    "canceled_slash_payout"?: Anonymize<I35p85j063s0il>;
                    "current_planned_session"?: Anonymize<I4arjljr6dpflb>;
                    "chill_threshold"?: Anonymize<I4arjljr6dpflb>;
                };
                "Invulnerables": Anonymize<Ia2lhg7l2hilo3>;
                "Bonded": {
                    "stash": SS58String;
                    "controller": SS58String;
                };
                "Ledger": {
                    "controller": SS58String;
                    "ledger": {
                        "stash": SS58String;
                        "total": bigint;
                        "active": bigint;
                        "unlocking": Anonymize<I9nc4v1upo2c8e>;
                    };
                };
                "Payee": {
                    "stash": SS58String;
                    "payment": StakingRewardDestination;
                };
                "Validators": {
                    "stash": SS58String;
                    "validators": Anonymize<I9o7ssi9vmhmgr>;
                };
                "Nominators": {
                    "stash": SS58String;
                    "nominations": {
                        "targets": Anonymize<Ia2lhg7l2hilo3>;
                        "submitted_in": number;
                        "suppressed": boolean;
                    };
                };
                "VirtualStakers": SS58String;
                "ErasStakersOverview": {
                    "era": number;
                    "validator": SS58String;
                    "exposure": {
                        "total": bigint;
                        "own": bigint;
                        "nominator_count": number;
                        "page_count": number;
                    };
                };
                "ErasStakersPaged": {
                    "era": number;
                    "validator": SS58String;
                    "page": number;
                    "exposure": {
                        "page_total": bigint;
                        "others": Array<{
                            "who": SS58String;
                            "value": bigint;
                        }>;
                    };
                };
                "ClaimedRewards": {
                    "era": number;
                    "validator": SS58String;
                    "rewards": Anonymize<Icgljjb6j82uhn>;
                };
                "ErasValidatorPrefs": {
                    "era": number;
                    "validator": SS58String;
                    "prefs": Anonymize<I9o7ssi9vmhmgr>;
                };
                "ErasValidatorReward": {
                    "era": number;
                    "reward": bigint;
                };
                "ErasRewardPoints": {
                    "era": number;
                    "points": {
                        "total": number;
                        "individual": Anonymize<I205qrookusi3d>;
                    };
                };
                "ErasTotalStake": {
                    "era": number;
                    "total_stake": bigint;
                };
                "UnappliedSlashes": {
                    "era": number;
                    "slash": {
                        "validator": SS58String;
                        "own": bigint;
                        "others": Anonymize<Iba9inugg1atvo>;
                        "reporters": Anonymize<Ia2lhg7l2hilo3>;
                        "payout": bigint;
                    };
                };
                "BondedEras": Anonymize<I95g6i7ilua7lq>;
                "ValidatorSlashInEra": {
                    "era": number;
                    "validator": SS58String;
                    "slash": Anonymize<I4ojmnsk1dchql>;
                };
            }>>;
        };
        /**
         * Set the migration stage.
         *
         * This call is intended for emergency use only and is guarded by the
         * [`Config::AdminOrigin`].
         */
        "force_set_stage": {
            "stage": Anonymize<I9134mhoe91oet>;
        };
        /**
         * Start the data migration.
         *
         * This is typically called by the Relay Chain to start the migration on the Asset Hub and
         * receive a handshake message indicating the Asset Hub's readiness.
         */
        "start_migration": undefined;
        /**
         * Set the DMP queue priority configuration.
         *
         * Can only be called by the `AdminOrigin`.
         */
        "set_dmp_queue_priority": {
            "new": Anonymize<I2fbmombro6ugg>;
        };
        /**
         * Set the manager account id.
         *
         * The manager has the similar to [`Config::AdminOrigin`] privileges except that it
         * can not set the manager account id via `set_manager` call.
         */
        "set_manager": {
            "new"?: Anonymize<Ihfphjolmsqq1>;
        };
        /**
         * Finish the migration.
         *
         * This is typically called by the Relay Chain to signal the migration has finished.
         *
         * The `data` parameter might be `None` if we are running the migration for a second time
         * for some pallets and have already performed the checking account balance correction,
         * so we do not need to do it this time.
         */
        "finish_migration": {
            "data"?: Anonymize<I35p85j063s0il>;
            "cool_off_end_at": number;
        };
        /**
         * XCM send call identical to the [`pallet_xcm::Pallet::send`] call but with the
         * [Config::SendXcm] router which will be able to send messages to the Relay Chain during
         * the migration.
         */
        "send_xcm_message": Anonymize<Ia5cotcvi888ln>;
    }>;
}>;
export type Icqnh9ino03itn = {
    "sent_at": number;
    "msg_hash": SizedHex<32>;
};
export type Idqsmalvqe2q98 = FixedSizeArray<1, Anonymize<I4arjljr6dpflb>>;
export type I4aro1m78pdrtt = {
    "locked": bigint;
    "per_block": bigint;
    "starting_block": number;
};
export type I2phecamkn3pej = [bigint, bigint, number];
export type ClaimsStatementKind = Enum<{
    "Regular": undefined;
    "Saft": undefined;
}>;
export declare const ClaimsStatementKind: GetEnum<ClaimsStatementKind>;
export type I3vh014cqgmrfd = {
    "new": number;
};
export type Ivujr393rmtoa = (Anonymize<Idugco9k7jdh0f>) | undefined;
export type Ia0jlc0rcbskuk = (MultiAddress) | undefined;
export type Ibgvkh96s68a66 = {
    "collection": number;
    "item": number;
    "dest": MultiAddress;
};
export type If9vko7pv0231m = {
    "collection": number;
    "items": Anonymize<Icgljjb6j82uhn>;
};
export type I736lv5q9m5bot = {
    "collection": number;
    "new_owner": MultiAddress;
};
export type Ib92t90p616grb = {
    "collection": number;
    "item": number;
    "delegate": MultiAddress;
};
export type Ibqooroq6rr5kr = {
    "maybe_collection"?: Anonymize<I4arjljr6dpflb>;
};
export type Ia9cd4jqb5eecb = {
    "collection": number;
    "item": number;
    "price"?: Anonymize<I35p85j063s0il>;
    "whitelisted_buyer"?: Anonymize<Ia0jlc0rcbskuk>;
};
export type I19jiel1ftbcce = {
    "collection": number;
    "item": number;
    "bid_price": bigint;
};
export type I72ndo6phms8ik = {
    "settings": bigint;
    "max_supply"?: Anonymize<I4arjljr6dpflb>;
    "mint_settings": Anonymize<Ia3s8qquibn97v>;
};
export type Ia3s8qquibn97v = {
    "mint_type": Enum<{
        "Issuer": undefined;
        "Public": undefined;
        "HolderOf": number;
    }>;
    "price"?: Anonymize<I35p85j063s0il>;
    "start_block"?: Anonymize<I4arjljr6dpflb>;
    "end_block"?: Anonymize<I4arjljr6dpflb>;
    "default_item_settings": bigint;
};
export type I3fo6882e5tjh8 = AnonymousEnum<{
    "Ed25519": SizedHex<64>;
    "Sr25519": SizedHex<64>;
    "Ecdsa": SizedHex<65>;
    "Eth": SizedHex<65>;
}>;
export type I40r0k8147eovg = Array<Anonymize<If9iqq7i64mur8>>;
export type I5u4sg1q3agd4a = {
    "call": TxCallData;
};
export type NominationPoolsBondExtra = Enum<{
    "FreeBalance": bigint;
    "Rewards": undefined;
}>;
export declare const NominationPoolsBondExtra: GetEnum<NominationPoolsBondExtra>;
export type StakingPalletConfigOpBig = Enum<{
    "Noop": undefined;
    "Set": bigint;
    "Remove": undefined;
}>;
export declare const StakingPalletConfigOpBig: GetEnum<StakingPalletConfigOpBig>;
export type StakingPalletConfigOp = Enum<{
    "Noop": undefined;
    "Set": number;
    "Remove": undefined;
}>;
export declare const StakingPalletConfigOp: GetEnum<StakingPalletConfigOp>;
export type NominationPoolsConfigOp = Enum<{
    "Noop": undefined;
    "Set": SS58String;
    "Remove": undefined;
}>;
export declare const NominationPoolsConfigOp: GetEnum<NominationPoolsConfigOp>;
export type I205qrookusi3d = Array<Anonymize<I6ouflveob4eli>>;
export type Iba9inugg1atvo = Array<Anonymize<I95l2k9b1re95f>>;
export type I1nvcsqg39g26j = {
    "votes1": Anonymize<Iep4uo61810hfs>;
    "votes2": Array<[number, Anonymize<I5g2vv0ckl2m8b>, number]>;
    "votes3": Array<[number, FixedSizeArray<2, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes4": Array<[number, FixedSizeArray<3, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes5": Array<[number, FixedSizeArray<4, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes6": Array<[number, FixedSizeArray<5, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes7": Array<[number, FixedSizeArray<6, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes8": Array<[number, FixedSizeArray<7, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes9": Array<[number, FixedSizeArray<8, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes10": Array<[number, FixedSizeArray<9, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes11": Array<[number, FixedSizeArray<10, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes12": Array<[number, FixedSizeArray<11, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes13": Array<[number, FixedSizeArray<12, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes14": Array<[number, FixedSizeArray<13, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes15": Array<[number, FixedSizeArray<14, Anonymize<I5g2vv0ckl2m8b>>, number]>;
    "votes16": Array<[number, FixedSizeArray<15, Anonymize<I5g2vv0ckl2m8b>>, number]>;
};
export type Iep4uo61810hfs = Array<Anonymize<I5g2vv0ckl2m8b>>;
export type I5g2vv0ckl2m8b = [number, number];
export type I28gn91b2ttnbk = Array<MultiAddress>;
export type I9nc4v1upo2c8e = Array<{
    "value": bigint;
    "era": number;
}>;
export type WestendRuntimeRuntimeFreezeReason = Enum<{
    "NominationPools": NominationPoolsPalletFreezeReason;
}>;
export declare const WestendRuntimeRuntimeFreezeReason: GetEnum<WestendRuntimeRuntimeFreezeReason>;
export type NominationPoolsPalletFreezeReason = Enum<{
    "PoolMinBalance": undefined;
}>;
export declare const NominationPoolsPalletFreezeReason: GetEnum<NominationPoolsPalletFreezeReason>;
export type I92tce08cbhnmn = [SS58String, Uint8Array];
export type I4h0cfnkiqrna6 = {
    "points": bigint;
    "balance": bigint;
};
export type Icp9h5ma02v1rg = [number, Uint8Array];
export type Ibg47me9hgvdgi = AnonymousEnum<{
    "system": Anonymize<I9gqitj4t615g3>;
    "Origins": GovernanceOrigin;
}>;
export type I846573mdj1pfn = {
    "curator": SS58String;
};
export type I4aulgjqrdphrm = {
    "curator": SS58String;
    "beneficiary": SS58String;
    "unlock_at": number;
};
export type TreasuryPaymentState = Enum<{
    "Pending": undefined;
    "Attempted": Anonymize<I4ov6e94l79mbg>;
    "Failed": undefined;
}>;
export declare const TreasuryPaymentState: GetEnum<TreasuryPaymentState>;
export type ChildBountyStatus = Enum<{
    "Added": undefined;
    "CuratorProposed": Anonymize<I846573mdj1pfn>;
    "Active": Anonymize<I846573mdj1pfn>;
    "PendingPayout": Anonymize<I4aulgjqrdphrm>;
}>;
export declare const ChildBountyStatus: GetEnum<ChildBountyStatus>;
export type I44njbaraj4c6j = ResultPayload<{
    "execution_result": Anonymize<I8qut0vnc0llm1>;
    "emitted_events": Anonymize<I8hpf4nk4gnruc>;
    "local_xcm"?: Anonymize<Ieqgqma27vbupd>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type I8hpf4nk4gnruc = Array<Anonymize<I18a8lii507srf>>;
export type I3o763oas6kue = ResultPayload<{
    "execution_result": Anonymize<Ieqhmksji3pmv5>;
    "emitted_events": Anonymize<I8hpf4nk4gnruc>;
    "forwarded_xcms": Anonymize<Ialhmrpub9sefe>;
}, Anonymize<I55ku9c5gk50hb>>;
export type I5vv5n03oo8gas = (Anonymize<I200n1ov5tbcvr>) | undefined;
export {};
