@galacticcouncil/descriptors
Version:
Hydration papi (polkadot-api) descriptors
1,210 lines (1,206 loc) • 193 kB
TypeScript
import { StorageDescriptor, PlainDescriptor, TxDescriptor, RuntimeDescriptor, Enum, ApisFromDef, QueryFromPalletsDef, TxFromPalletsDef, EventsFromPalletsDef, ErrorsFromPalletsDef, ConstFromPalletsDef, ViewFnsFromPalletsDef, SS58String, SizedHex, FixedSizeArray } from "polkadot-api";
import type { I5sesotjlssv2d, Iffmde3ekjedi9, I4mddgoa69c0a2, I51chctpcbqpt0, I95g6i7ilua7lq, Ieniouoqkq4icf, Phase, Ibgl04rn6nbfm6, I4q39t5hn830vp, I5hmeclnecr5hf, I95l2k9b1re95f, In7a38730s6qs, If15el53dd76v9, I9s0ave7t0vnrk, I4fo08joqmcqnm, Ief08v0p81vcpt, I4ov6e94l79mbg, Ib8aunjr0j420u, I62ob1nv137pof, Ia5cotcvi888ln, I21jsa919m88fd, Iegif7m3upfe1k, I9kt8c221c83ln, Ic76kfh5ebqkpl, Icscpmubum33bq, I21d2olof7eb60, Ibgm4rnf22lal1, Ie68np0vpihith, I9bnv6lu0crf1q, Iauhjqifrdklq7, Ie1uso9m8rt5cf, Ibplkiqg5rvr3e, Icnmrtlo128skq, Icojqvn3afk41n, I5r8t4iaend96p, Iftvbctbo05fu4, XcmVersionedXcm, Ic0c3req3mlc1l, XcmVersionedAssetId, I7ocn4njqde3v5, XcmVersionedLocation, Iek7ha36da9mf5, I4h8nkgupb7obf, I5p81usncg27jm, Ic0lblghfsnsek, I3j4kvev2lhre2 } from "./common-types";
type AnonymousEnum<T extends {}> = T & {
__anonymous: true;
};
type MyTuple<T> = [T, ...T[]];
type SeparateUndefined<T> = undefined extends T ? undefined | Exclude<T, undefined> : T;
type Anonymize<T> = SeparateUndefined<T extends string | number | bigint | boolean | void | undefined | null | symbol | Uint8Array | Enum<any> ? T : T extends AnonymousEnum<infer V> ? Enum<V> : T extends MyTuple<any> ? {
[K in keyof T]: T[K];
} : T extends [] ? [] : T extends FixedSizeArray<infer L, infer T> ? number extends L ? Array<T> : FixedSizeArray<L, T> : {
[K in keyof T & string]: T[K];
}>;
type IStorage = {
System: {
/**
* The full account information for a particular account ID.
*/
Account: StorageDescriptor<[Key: SS58String], Anonymize<I5sesotjlssv2d>, false, never>;
/**
* Total extrinsics count for the current block.
*/
ExtrinsicCount: StorageDescriptor<[], number, true, never>;
/**
* Whether all inherents have been applied.
*/
InherentsApplied: StorageDescriptor<[], boolean, false, never>;
/**
* The current weight for the block.
*/
BlockWeight: StorageDescriptor<[], Anonymize<Iffmde3ekjedi9>, false, never>;
/**
* Total length (in bytes) for all extrinsics put together, for the current block.
*/
AllExtrinsicsLen: StorageDescriptor<[], number, true, never>;
/**
* Map of block numbers to block hashes.
*/
BlockHash: StorageDescriptor<[Key: number], SizedHex<32>, false, never>;
/**
* Extrinsics data for the current block (maps an extrinsic's index to its data).
*/
ExtrinsicData: StorageDescriptor<[Key: number], Uint8Array, false, never>;
/**
* The current block number being processed. Set by `execute_block`.
*/
Number: StorageDescriptor<[], number, false, never>;
/**
* Hash of the previous block.
*/
ParentHash: StorageDescriptor<[], SizedHex<32>, false, never>;
/**
* Digest of the current block, also part of the block header.
*/
Digest: StorageDescriptor<[], Anonymize<I4mddgoa69c0a2>, false, never>;
/**
* Events deposited for the current block.
*
* NOTE: The item is unbound and should therefore never be read on chain.
* It could otherwise inflate the PoV size of a block.
*
* Events have a large in-memory size. Box the events to not go out-of-memory
* just in case someone still reads them from within the runtime.
*/
Events: StorageDescriptor<[], Anonymize<I51chctpcbqpt0>, false, never>;
/**
* The number of events in the `Events<T>` list.
*/
EventCount: StorageDescriptor<[], number, false, never>;
/**
* Mapping between a topic (represented by T::Hash) and a vector of indexes
* of events in the `<Events<T>>` list.
*
* All topic vectors have deterministic storage locations depending on the topic. This
* allows light-clients to leverage the changes trie storage tracking mechanism and
* in case of changes fetch the list of events of interest.
*
* The value has the type `(BlockNumberFor<T>, EventIndex)` because if we used only just
* the `EventIndex` then in case if the topic has the same contents on the next block
* no notification will be triggered thus the event might be lost.
*/
EventTopics: StorageDescriptor<[Key: SizedHex<32>], Anonymize<I95g6i7ilua7lq>, false, never>;
/**
* Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened.
*/
LastRuntimeUpgrade: StorageDescriptor<[], Anonymize<Ieniouoqkq4icf>, true, never>;
/**
* True if we have upgraded so that `type RefCount` is `u32`. False (default) if not.
*/
UpgradedToU32RefCount: StorageDescriptor<[], boolean, false, never>;
/**
* True if we have upgraded so that AccountInfo contains three types of `RefCount`. False
* (default) if not.
*/
UpgradedToTripleRefCount: StorageDescriptor<[], boolean, false, never>;
/**
* The execution phase of the block.
*/
ExecutionPhase: StorageDescriptor<[], Phase, true, never>;
/**
* `Some` if a code upgrade has been authorized.
*/
AuthorizedUpgrade: StorageDescriptor<[], Anonymize<Ibgl04rn6nbfm6>, true, never>;
/**
* The weight reclaimed for the extrinsic.
*
* This information is available until the end of the extrinsic execution.
* More precisely this information is removed in `note_applied_extrinsic`.
*
* Logic doing some post dispatch weight reduction must update this storage to avoid duplicate
* reduction.
*/
ExtrinsicWeightReclaimed: StorageDescriptor<[], Anonymize<I4q39t5hn830vp>, false, never>;
};
Intent: {
/**
*/
Intents: StorageDescriptor<[Key: bigint], Anonymize<I5hmeclnecr5hf>, true, never>;
/**
*/
IntentOwner: StorageDescriptor<[Key: bigint], SS58String, true, never>;
/**
* Intent id sequencer
*/
NextIncrementalId: StorageDescriptor<[], bigint, false, never>;
/**
* Reverse index mapping account to its intent ids for easy lookup.
*/
AccountIntents: StorageDescriptor<Anonymize<I95l2k9b1re95f>, null, true, never>;
/**
* Number of intents per account.
*/
AccountIntentCount: StorageDescriptor<[Key: SS58String], number, false, never>;
};
ICE: {
/**
* Protocol fee taken from each resolved intent's output amount.
* Defaults to `T::Fee` constant. Can be overridden via `set_protocol_fee`.
*/
ProtocolFee: StorageDescriptor<[], number, false, never>;
};
};
type ICalls = {
Intent: {
/**
* Submit intent by user.
*
* This extrinsics reserves fund for intents' execution.
* WARN: partial intents are not supported at the moment and its' creation is not allowed.
*
* Parameters:
* - `intent`: intent's data
*
* Emits:
* - `IntentSubmitted` when successful
*
*/
submit_intent: TxDescriptor<Anonymize<Ief08v0p81vcpt>>;
/**
* Extrinsic unlocks reserved funds and removes intent.
*
* Only intent's owner can cancel intent.
*
* Parameters:
* - `id`: id of intent to be canceled.
*
* Emits:
* - `IntentCanceled` when successful
*
*/
remove_intent: TxDescriptor<Anonymize<I4ov6e94l79mbg>>;
/**
* Extrinsic removes expired intent, queue intent's on failure callback and unlocks funds.
*
* Failure to queue callback for future execution doesn't fail clean up function.
* This is called automatically from OCW to remove expired intents but it can be called also
* called by any users.
*
* Parameters:
* - `id`: id of intent to be cleaned up from storage.
*
* Emits:
* - `FailedToQueueCallback` when callback's queuing fails
* - `IntentExpired` when successful
*/
cleanup_intent: TxDescriptor<Anonymize<I4ov6e94l79mbg>>;
};
ICE: {
/**
* Execute `solution` submitted by OCW.
*
* Solution can be executed only as a whole solution.
*
* Parameters:
* - `solution`: solution to execute
*
* Emits:
* - `SolutionExecuted`when `solution` was executed successfully
*
*/
submit_solution: TxDescriptor<Anonymize<Ib8aunjr0j420u>>;
/**
* Set the protocol fee for resolved intents.
*
* If `fee` matches the default constant (`T::Fee`), the storage override
* is removed — there is no need to store the default value.
*
* Can only be called by `AuthorityOrigin` (e.g. TechnicalCommittee or Root).
*
* Emits `ProtocolFeeSet`.
*/
set_protocol_fee: TxDescriptor<Anonymize<I62ob1nv137pof>>;
};
PolkadotXcm: {
/**
*/
send: TxDescriptor<Anonymize<Ia5cotcvi888ln>>;
/**
* Teleport some assets from the local chain to some destination chain.
*
* **This function is deprecated: Use `limited_teleport_assets` instead.**
*
* Fee payment on the destination side is made from the asset in the `assets` vector of
* index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,
* with all fees taken as needed from the asset.
*
* - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
* - `dest`: Destination context for the assets. Will typically be `[Parent,
* Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
* relay to parachain.
* - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
* generally be an `AccountId32` value.
* - `assets`: The assets to be withdrawn. This should include the assets used to pay the
* fee on the `dest` chain.
* - `fee_asset_item`: The index into `assets` of the item which should be used to pay
* fees.
*/
teleport_assets: TxDescriptor<Anonymize<I21jsa919m88fd>>;
/**
* Transfer some assets from the local chain to the destination chain through their local,
* destination or remote reserve.
*
* `assets` must have same reserve location and may not be teleportable to `dest`.
* - `assets` have local reserve: transfer assets to sovereign account of destination
* chain and forward a notification XCM to `dest` to mint and deposit reserve-based
* assets to `beneficiary`.
* - `assets` have destination reserve: burn local assets and forward a notification to
* `dest` chain to withdraw the reserve assets from this chain's sovereign account and
* deposit them to `beneficiary`.
* - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move
* reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`
* to mint and deposit reserve-based assets to `beneficiary`.
*
* **This function is deprecated: Use `limited_reserve_transfer_assets` instead.**
*
* Fee payment on the destination side is made from the asset in the `assets` vector of
* index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,
* with all fees taken as needed from the asset.
*
* - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
* - `dest`: Destination context for the assets. Will typically be `[Parent,
* Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
* relay to parachain.
* - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
* generally be an `AccountId32` value.
* - `assets`: The assets to be withdrawn. This should include the assets used to pay the
* fee on the `dest` (and possibly reserve) chains.
* - `fee_asset_item`: The index into `assets` of the item which should be used to pay
* fees.
*/
reserve_transfer_assets: TxDescriptor<Anonymize<I21jsa919m88fd>>;
/**
* Execute an XCM message from a local, signed, origin.
*
* An event is deposited indicating whether `msg` could be executed completely or only
* partially.
*
* No more than `max_weight` will be used in its attempted execution. If this is less than
* the maximum amount of weight that the message could take to be executed, then no
* execution attempt will be made.
*/
execute: TxDescriptor<Anonymize<Iegif7m3upfe1k>>;
/**
* Extoll that a particular destination can be communicated with through a particular
* version of XCM.
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The destination that is being described.
* - `xcm_version`: The latest version of XCM that `location` supports.
*/
force_xcm_version: TxDescriptor<Anonymize<I9kt8c221c83ln>>;
/**
* Set a safe XCM version (the version that XCM should be encoded with if the most recent
* version a destination can accept is unknown).
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `maybe_xcm_version`: The default XCM encoding version, or `None` to disable.
*/
force_default_xcm_version: TxDescriptor<Anonymize<Ic76kfh5ebqkpl>>;
/**
* Ask a location to notify us regarding their XCM version and any changes to it.
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The location to which we should subscribe for XCM version notifications.
*/
force_subscribe_version_notify: TxDescriptor<Anonymize<Icscpmubum33bq>>;
/**
* Require that a particular destination should no longer notify us regarding any XCM
* version changes.
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `location`: The location to which we are currently subscribed for XCM version
* notifications which we no longer desire.
*/
force_unsubscribe_version_notify: TxDescriptor<Anonymize<Icscpmubum33bq>>;
/**
* Transfer some assets from the local chain to the destination chain through their local,
* destination or remote reserve.
*
* `assets` must have same reserve location and may not be teleportable to `dest`.
* - `assets` have local reserve: transfer assets to sovereign account of destination
* chain and forward a notification XCM to `dest` to mint and deposit reserve-based
* assets to `beneficiary`.
* - `assets` have destination reserve: burn local assets and forward a notification to
* `dest` chain to withdraw the reserve assets from this chain's sovereign account and
* deposit them to `beneficiary`.
* - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move
* reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`
* to mint and deposit reserve-based assets to `beneficiary`.
*
* Fee payment on the destination side is made from the asset in the `assets` vector of
* index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight
* is needed than `weight_limit`, then the operation will fail and the sent assets may be
* at risk.
*
* - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
* - `dest`: Destination context for the assets. Will typically be `[Parent,
* Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
* relay to parachain.
* - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
* generally be an `AccountId32` value.
* - `assets`: The assets to be withdrawn. This should include the assets used to pay the
* fee on the `dest` (and possibly reserve) chains.
* - `fee_asset_item`: The index into `assets` of the item which should be used to pay
* fees.
* - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
*/
limited_reserve_transfer_assets: TxDescriptor<Anonymize<I21d2olof7eb60>>;
/**
* Teleport some assets from the local chain to some destination chain.
*
* Fee payment on the destination side is made from the asset in the `assets` vector of
* index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight
* is needed than `weight_limit`, then the operation will fail and the sent assets may be
* at risk.
*
* - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
* - `dest`: Destination context for the assets. Will typically be `[Parent,
* Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
* relay to parachain.
* - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
* generally be an `AccountId32` value.
* - `assets`: The assets to be withdrawn. This should include the assets used to pay the
* fee on the `dest` chain.
* - `fee_asset_item`: The index into `assets` of the item which should be used to pay
* fees.
* - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
*/
limited_teleport_assets: TxDescriptor<Anonymize<I21d2olof7eb60>>;
/**
* Set or unset the global suspension state of the XCM executor.
*
* - `origin`: Must be an origin specified by AdminOrigin.
* - `suspended`: `true` to suspend, `false` to resume.
*/
force_suspension: TxDescriptor<Anonymize<Ibgm4rnf22lal1>>;
/**
* Transfer some assets from the local chain to the destination chain through their local,
* destination or remote reserve, or through teleports.
*
* Fee payment on the destination side is made from the asset in the `assets` vector of
* index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for
* `weight_limit` of weight. If more weight is needed than `weight_limit`, then the
* operation will fail and the sent assets may be at risk.
*
* `assets` (excluding `fees`) must have same reserve location or otherwise be teleportable
* to `dest`, no limitations imposed on `fees`.
* - for local reserve: transfer assets to sovereign account of destination chain and
* forward a notification XCM to `dest` to mint and deposit reserve-based assets to
* `beneficiary`.
* - for destination reserve: burn local assets and forward a notification to `dest` chain
* to withdraw the reserve assets from this chain's sovereign account and deposit them
* to `beneficiary`.
* - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves
* from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint
* and deposit reserve-based assets to `beneficiary`.
* - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport
* assets and deposit them to `beneficiary`.
*
* - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
* - `dest`: Destination context for the assets. Will typically be `X2(Parent,
* Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send
* from relay to parachain.
* - `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will
* generally be an `AccountId32` value.
* - `assets`: The assets to be withdrawn. This should include the assets used to pay the
* fee on the `dest` (and possibly reserve) chains.
* - `fee_asset_item`: The index into `assets` of the item which should be used to pay
* fees.
* - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
*/
transfer_assets: TxDescriptor<Anonymize<I21d2olof7eb60>>;
/**
* Claims assets trapped on this pallet because of leftover assets during XCM execution.
*
* - `origin`: Anyone can call this extrinsic.
* - `assets`: The exact assets that were trapped. Use the version to specify what version
* was the latest when they were trapped.
* - `beneficiary`: The location/account where the claimed assets will be deposited.
*/
claim_assets: TxDescriptor<Anonymize<Ie68np0vpihith>>;
/**
* Transfer assets from the local chain to the destination chain using explicit transfer
* types for assets and fees.
*
* `assets` must have same reserve location or may be teleportable to `dest`. Caller must
* provide the `assets_transfer_type` to be used for `assets`:
* - `TransferType::LocalReserve`: transfer assets to sovereign account of destination
* chain and forward a notification XCM to `dest` to mint and deposit reserve-based
* assets to `beneficiary`.
* - `TransferType::DestinationReserve`: burn local assets and forward a notification to
* `dest` chain to withdraw the reserve assets from this chain's sovereign account and
* deposit them to `beneficiary`.
* - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`
* chain to move reserves from this chain's SA to `dest` chain's SA, and forward another
* XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically
* the remote `reserve` is Asset Hub.
* - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to
* mint/teleport assets and deposit them to `beneficiary`.
*
* On the destination chain, as well as any intermediary hops, `BuyExecution` is used to
* buy execution using transferred `assets` identified by `remote_fees_id`.
* Make sure enough of the specified `remote_fees_id` asset is included in the given list
* of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight
* is needed than `weight_limit`, then the operation will fail and the sent assets may be
* at risk.
*
* `remote_fees_id` may use different transfer type than rest of `assets` and can be
* specified through `fees_transfer_type`.
*
* The caller needs to specify what should happen to the transferred assets once they reach
* the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which
* contains the instructions to execute on `dest` as a final step.
* This is usually as simple as:
* `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,
* but could be something more exotic like sending the `assets` even further.
*
* - `origin`: Must be capable of withdrawing the `assets` and executing XCM.
* - `dest`: Destination context for the assets. Will typically be `[Parent,
* Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from
* relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from
* parachain across a bridge to another ecosystem destination.
* - `assets`: The assets to be withdrawn. This should include the assets used to pay the
* fee on the `dest` (and possibly reserve) chains.
* - `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.
* - `remote_fees_id`: One of the included `assets` to be used to pay fees.
* - `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.
* - `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the
* transfer, which also determines what happens to the assets on the destination chain.
* - `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase.
*/
transfer_assets_using_type_and_then: TxDescriptor<Anonymize<I9bnv6lu0crf1q>>;
/**
* Authorize another `aliaser` location to alias into the local `origin` making this call.
* The `aliaser` is only authorized until the provided `expiry` block number.
* The call can also be used for a previously authorized alias in order to update its
* `expiry` block number.
*
* Usually useful to allow your local account to be aliased into from a remote location
* also under your control (like your account on another chain).
*
* WARNING: make sure the caller `origin` (you) trusts the `aliaser` location to act in
* their/your name. Once authorized using this call, the `aliaser` can freely impersonate
* `origin` in XCM programs executed on the local chain.
*/
add_authorized_alias: TxDescriptor<Anonymize<Iauhjqifrdklq7>>;
/**
* Remove a previously authorized `aliaser` from the list of locations that can alias into
* the local `origin` making this call.
*/
remove_authorized_alias: TxDescriptor<Anonymize<Ie1uso9m8rt5cf>>;
/**
* Remove all previously authorized `aliaser`s that can alias into the local `origin`
* making this call.
*/
remove_all_authorized_aliases: TxDescriptor<undefined>;
};
};
type IEvent = {};
type IError = {
System: {
/**
* The name of specification does not match between the current runtime
* and the new runtime.
*/
InvalidSpecName: PlainDescriptor<undefined>;
/**
* The specification version is not allowed to decrease between the current runtime
* and the new runtime.
*/
SpecVersionNeedsToIncrease: PlainDescriptor<undefined>;
/**
* Failed to extract the runtime version from the new runtime.
*
* Either calling `Core_version` or decoding `RuntimeVersion` failed.
*/
FailedToExtractRuntimeVersion: PlainDescriptor<undefined>;
/**
* Suicide called when the account has non-default composite data.
*/
NonDefaultComposite: PlainDescriptor<undefined>;
/**
* There is a non-zero reference count preventing the account from being purged.
*/
NonZeroRefCount: PlainDescriptor<undefined>;
/**
* The origin filter prevent the call to be dispatched.
*/
CallFiltered: PlainDescriptor<undefined>;
/**
* A multi-block migration is ongoing and prevents the current code from being replaced.
*/
MultiBlockMigrationsOngoing: PlainDescriptor<undefined>;
/**
* No upgrade authorized.
*/
NothingAuthorized: PlainDescriptor<undefined>;
/**
* The submitted code is not authorized.
*/
Unauthorized: PlainDescriptor<undefined>;
};
Balances: {
/**
* Vesting balance too high to send value.
*/
VestingBalance: PlainDescriptor<undefined>;
/**
* Account liquidity restrictions prevent withdrawal.
*/
LiquidityRestrictions: PlainDescriptor<undefined>;
/**
* Balance too low to send value.
*/
InsufficientBalance: PlainDescriptor<undefined>;
/**
* Value too low to create account due to existential deposit.
*/
ExistentialDeposit: PlainDescriptor<undefined>;
/**
* Transfer/payment would kill account.
*/
Expendability: PlainDescriptor<undefined>;
/**
* A vesting schedule already exists for this account.
*/
ExistingVestingSchedule: PlainDescriptor<undefined>;
/**
* Beneficiary account must pre-exist.
*/
DeadAccount: PlainDescriptor<undefined>;
/**
* Number of named reserves exceed `MaxReserves`.
*/
TooManyReserves: PlainDescriptor<undefined>;
/**
* Number of holds exceed `VariantCountOf<T::RuntimeHoldReason>`.
*/
TooManyHolds: PlainDescriptor<undefined>;
/**
* Number of freezes exceed `MaxFreezes`.
*/
TooManyFreezes: PlainDescriptor<undefined>;
/**
* The issuance cannot be modified since it is already deactivated.
*/
IssuanceDeactivated: PlainDescriptor<undefined>;
/**
* The delta cannot be zero.
*/
DeltaZero: PlainDescriptor<undefined>;
};
MultiTransactionPayment: {
/**
* Selected currency is not supported.
*/
UnsupportedCurrency: PlainDescriptor<undefined>;
/**
* Account balance should be non-zero.
*/
ZeroBalance: PlainDescriptor<undefined>;
/**
* Currency is already in the list of accepted currencies.
*/
AlreadyAccepted: PlainDescriptor<undefined>;
/**
* It is not allowed to add Core Asset as accepted currency. Core asset is accepted by design.
*/
CoreAssetNotAllowed: PlainDescriptor<undefined>;
/**
* Fallback price cannot be zero.
*/
ZeroPrice: PlainDescriptor<undefined>;
/**
* Fallback price was not found.
*/
FallbackPriceNotFound: PlainDescriptor<undefined>;
/**
* Math overflow
*/
Overflow: PlainDescriptor<undefined>;
/**
* It is not allowed to change payment currency of an EVM account.
*/
EvmAccountNotAllowed: PlainDescriptor<undefined>;
/**
* EVM permit expired.
*/
EvmPermitExpired: PlainDescriptor<undefined>;
/**
* EVM permit is invalid.
*/
EvmPermitInvalid: PlainDescriptor<undefined>;
/**
* EVM permit call failed.
*/
EvmPermitCallExecutionError: PlainDescriptor<undefined>;
/**
* EVM permit call failed.
*/
EvmPermitRunnerError: PlainDescriptor<undefined>;
/**
* EVM permit must not affect account nonce.
*/
EvmPermitNonceInvariantViolated: PlainDescriptor<undefined>;
};
Treasury: {
/**
* No proposal, bounty or spend at that index.
*/
InvalidIndex: PlainDescriptor<undefined>;
/**
* Too many approvals in the queue.
*/
TooManyApprovals: PlainDescriptor<undefined>;
/**
* The spend origin is valid but the amount it is allowed to spend is lower than the
* amount to be spent.
*/
InsufficientPermission: PlainDescriptor<undefined>;
/**
* Proposal has not been approved.
*/
ProposalNotApproved: PlainDescriptor<undefined>;
/**
* The balance of the asset kind is not convertible to the balance of the native asset.
*/
FailedToConvertBalance: PlainDescriptor<undefined>;
/**
* The spend has expired and cannot be claimed.
*/
SpendExpired: PlainDescriptor<undefined>;
/**
* The spend is not yet eligible for payout.
*/
EarlyPayout: PlainDescriptor<undefined>;
/**
* The payment has already been attempted.
*/
AlreadyAttempted: PlainDescriptor<undefined>;
/**
* There was some issue with the mechanism of payment.
*/
PayoutError: PlainDescriptor<undefined>;
/**
* The payout was not yet attempted/claimed.
*/
NotAttempted: PlainDescriptor<undefined>;
/**
* The payment has neither failed nor succeeded yet.
*/
Inconclusive: PlainDescriptor<undefined>;
};
Utility: {
/**
* Too many calls batched.
*/
TooManyCalls: PlainDescriptor<undefined>;
};
Preimage: {
/**
* Preimage is too large to store on-chain.
*/
TooBig: PlainDescriptor<undefined>;
/**
* Preimage has already been noted on-chain.
*/
AlreadyNoted: PlainDescriptor<undefined>;
/**
* The user is not authorized to perform this action.
*/
NotAuthorized: PlainDescriptor<undefined>;
/**
* The preimage cannot be removed since it has not yet been noted.
*/
NotNoted: PlainDescriptor<undefined>;
/**
* A preimage may not be removed when there are outstanding requests.
*/
Requested: PlainDescriptor<undefined>;
/**
* The preimage request cannot be removed since no outstanding requests exist.
*/
NotRequested: PlainDescriptor<undefined>;
/**
* More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once.
*/
TooMany: PlainDescriptor<undefined>;
/**
* Too few hashes were requested to be upgraded (i.e. zero).
*/
TooFew: PlainDescriptor<undefined>;
};
Identity: {
/**
* Too many subs-accounts.
*/
TooManySubAccounts: PlainDescriptor<undefined>;
/**
* Account isn't found.
*/
NotFound: PlainDescriptor<undefined>;
/**
* Account isn't named.
*/
NotNamed: PlainDescriptor<undefined>;
/**
* Empty index.
*/
EmptyIndex: PlainDescriptor<undefined>;
/**
* Fee is changed.
*/
FeeChanged: PlainDescriptor<undefined>;
/**
* No identity found.
*/
NoIdentity: PlainDescriptor<undefined>;
/**
* Sticky judgement.
*/
StickyJudgement: PlainDescriptor<undefined>;
/**
* Judgement given.
*/
JudgementGiven: PlainDescriptor<undefined>;
/**
* Invalid judgement.
*/
InvalidJudgement: PlainDescriptor<undefined>;
/**
* The index is invalid.
*/
InvalidIndex: PlainDescriptor<undefined>;
/**
* The target is invalid.
*/
InvalidTarget: PlainDescriptor<undefined>;
/**
* Maximum amount of registrars reached. Cannot add any more.
*/
TooManyRegistrars: PlainDescriptor<undefined>;
/**
* Account ID is already named.
*/
AlreadyClaimed: PlainDescriptor<undefined>;
/**
* Sender is not a sub-account.
*/
NotSub: PlainDescriptor<undefined>;
/**
* Sub-account isn't owned by sender.
*/
NotOwned: PlainDescriptor<undefined>;
/**
* The provided judgement was for a different identity.
*/
JudgementForDifferentIdentity: PlainDescriptor<undefined>;
/**
* Error that occurs when there is an issue paying for judgement.
*/
JudgementPaymentFailed: PlainDescriptor<undefined>;
/**
* The provided suffix is too long.
*/
InvalidSuffix: PlainDescriptor<undefined>;
/**
* The sender does not have permission to issue a username.
*/
NotUsernameAuthority: PlainDescriptor<undefined>;
/**
* The authority cannot allocate any more usernames.
*/
NoAllocation: PlainDescriptor<undefined>;
/**
* The signature on a username was not valid.
*/
InvalidSignature: PlainDescriptor<undefined>;
/**
* Setting this username requires a signature, but none was provided.
*/
RequiresSignature: PlainDescriptor<undefined>;
/**
* The username does not meet the requirements.
*/
InvalidUsername: PlainDescriptor<undefined>;
/**
* The username is already taken.
*/
UsernameTaken: PlainDescriptor<undefined>;
/**
* The requested username does not exist.
*/
NoUsername: PlainDescriptor<undefined>;
/**
* The username cannot be forcefully removed because it can still be accepted.
*/
NotExpired: PlainDescriptor<undefined>;
/**
* The username cannot be removed because it's still in the grace period.
*/
TooEarly: PlainDescriptor<undefined>;
/**
* The username cannot be removed because it is not unbinding.
*/
NotUnbinding: PlainDescriptor<undefined>;
/**
* The username cannot be unbound because it is already unbinding.
*/
AlreadyUnbinding: PlainDescriptor<undefined>;
/**
* The action cannot be performed because of insufficient privileges (e.g. authority
* trying to unbind a username provided by the system).
*/
InsufficientPrivileges: PlainDescriptor<undefined>;
};
Democracy: {
/**
* Value too low
*/
ValueLow: PlainDescriptor<undefined>;
/**
* Proposal does not exist
*/
ProposalMissing: PlainDescriptor<undefined>;
/**
* Cannot cancel the same proposal twice
*/
AlreadyCanceled: PlainDescriptor<undefined>;
/**
* Proposal already made
*/
DuplicateProposal: PlainDescriptor<undefined>;
/**
* Proposal still blacklisted
*/
ProposalBlacklisted: PlainDescriptor<undefined>;
/**
* Next external proposal not simple majority
*/
NotSimpleMajority: PlainDescriptor<undefined>;
/**
* Invalid hash
*/
InvalidHash: PlainDescriptor<undefined>;
/**
* No external proposal
*/
NoProposal: PlainDescriptor<undefined>;
/**
* Identity may not veto a proposal twice
*/
AlreadyVetoed: PlainDescriptor<undefined>;
/**
* Vote given for invalid referendum
*/
ReferendumInvalid: PlainDescriptor<undefined>;
/**
* No proposals waiting
*/
NoneWaiting: PlainDescriptor<undefined>;
/**
* The given account did not vote on the referendum.
*/
NotVoter: PlainDescriptor<undefined>;
/**
* The actor has no permission to conduct the action.
*/
NoPermission: PlainDescriptor<undefined>;
/**
* The account is already delegating.
*/
AlreadyDelegating: PlainDescriptor<undefined>;
/**
* Too high a balance was provided that the account cannot afford.
*/
InsufficientFunds: PlainDescriptor<undefined>;
/**
* The account is not currently delegating.
*/
NotDelegating: PlainDescriptor<undefined>;
/**
* The account currently has votes attached to it and the operation cannot succeed until
* these are removed, either through `unvote` or `reap_vote`.
*/
VotesExist: PlainDescriptor<undefined>;
/**
* The instant referendum origin is currently disallowed.
*/
InstantNotAllowed: PlainDescriptor<undefined>;
/**
* Delegation to oneself makes no sense.
*/
Nonsense: PlainDescriptor<undefined>;
/**
* Invalid upper bound.
*/
WrongUpperBound: PlainDescriptor<undefined>;
/**
* Maximum number of votes reached.
*/
MaxVotesReached: PlainDescriptor<undefined>;
/**
* Maximum number of items reached.
*/
TooMany: PlainDescriptor<undefined>;
/**
* Voting period too low
*/
VotingPeriodLow: PlainDescriptor<undefined>;
/**
* The preimage does not exist.
*/
PreimageNotExist: PlainDescriptor<undefined>;
};
TechnicalCommittee: {
/**
* Account is not a member
*/
NotMember: PlainDescriptor<undefined>;
/**
* Duplicate proposals not allowed
*/
DuplicateProposal: PlainDescriptor<undefined>;
/**
* Proposal must exist
*/
ProposalMissing: PlainDescriptor<undefined>;
/**
* Mismatched index
*/
WrongIndex: PlainDescriptor<undefined>;
/**
* Duplicate vote ignored
*/
DuplicateVote: PlainDescriptor<undefined>;
/**
* Members are already initialized!
*/
AlreadyInitialized: PlainDescriptor<undefined>;
/**
* The close call was made too early, before the end of the voting.
*/
TooEarly: PlainDescriptor<undefined>;
/**
* There can only be a maximum of `MaxProposals` active proposals.
*/
TooManyProposals: PlainDescriptor<undefined>;
/**
* The given weight bound for the proposal was too low.
*/
WrongProposalWeight: PlainDescriptor<undefined>;
/**
* The given length bound for the proposal was too low.
*/
WrongProposalLength: PlainDescriptor<undefined>;
/**
* Prime account is not a member
*/
PrimeAccountNotMember: PlainDescriptor<undefined>;
/**
* Proposal is still active.
*/
ProposalActive: PlainDescriptor<undefined>;
};
Proxy: {
/**
* There are too many proxies registered or too many announcements pending.
*/
TooMany: PlainDescriptor<undefined>;
/**
* Proxy registration not found.
*/
NotFound: PlainDescriptor<undefined>;
/**
* Sender is not a proxy of the account to be proxied.
*/
NotProxy: PlainDescriptor<undefined>;
/**
* A call which is incompatible with the proxy type's filter was attempted.
*/
Unproxyable: PlainDescriptor<undefined>;
/**
* Account is already a proxy.
*/
Duplicate: PlainDescriptor<undefined>;
/**
* Call may not be made by proxy because it may escalate its privileges.
*/
NoPermission: PlainDescriptor<undefined>;
/**
* Announcement, if made at all, was made too recently.
*/
Unannounced: PlainDescriptor<undefined>;
/**
* Cannot add self as proxy.
*/
NoSelfProxy: PlainDescriptor<undefined>;
};
Multisig: {
/**
* Threshold must be 2 or greater.
*/
MinimumThreshold: PlainDescriptor<undefined>;
/**
* Call is already approved by this signatory.
*/
AlreadyApproved: PlainDescriptor<undefined>;
/**
* Call doesn't need any (more) approvals.
*/
NoApprovalsNeeded: PlainDescriptor<undefined>;
/**
* There are too few signatories in the list.
*/
TooFewSignatories: PlainDescriptor<undefined>;
/**
* There are too many signatories in the list.
*/
TooManySignatories: PlainDescriptor<undefined>;
/**
* The signatories were provided out of order; they should be ordered.
*/
SignatoriesOutOfOrder: PlainDescriptor<undefined>;
/**
* The sender was contained in the other signatories; it shouldn't be.
*/
SenderInSignatories: PlainDescriptor<undefined>;
/**
* Multisig operation not found in storage.
*/
NotFound: PlainDescriptor<undefined>;
/**
* Only the account that originally created the multisig is able to cancel it or update
* its deposits.
*/
NotOwner: PlainDescriptor<undefined>;
/**
* No timepoint was given, yet the multisig operation is already underway.
*/
NoTimepoint: PlainDescriptor<undefined>;
/**
* A different timepoint was given to the multisig operation that is underway.
*/
WrongTimepoint: PlainDescriptor<undefined>;
/**
* A timepoint was given, yet no multisig operation is underway.
*/
UnexpectedTimepoint: PlainDescriptor<undefined>;
/**
* The maximum weight information provided was too low.
*/
MaxWeightTooLow: PlainDescriptor<undefined>;
/**
* The data to be stored is already stored.
*/
AlreadyStored: PlainDescriptor<undefined>;
};
Uniques: {
/**
* The signing account has no permission to do the operation.
*/
NoPermission: PlainDescriptor<undefined>;
/**
* The given item ID is unknown.
*/
UnknownCollection: PlainDescriptor<undefined>;
/**
* The item ID has already been used for an item.
*/
AlreadyExists: PlainDescriptor<undefined>;
/**
* The owner turned out to be different to what was expected.
*/
WrongOwner: PlainDescriptor<undefined>;
/**
* Invalid witness data given.
*/
BadWitness: PlainDescriptor<undefined>;
/**
* The item ID is already taken.
*/
InUse: PlainDescriptor<undefined>;
/**
* The item or collection is frozen.
*/
Frozen: PlainDescriptor<undefined>;
/**
* The delegate turned out to be different to what was expected.
*/
WrongDelegate: PlainDescriptor<undefined>;
/**
* There is no delegate approved.
*/
NoDelegate: PlainDescriptor<undefined>;
/**
* No approval exists that would allow the transfer.
*/
Unapproved: PlainDescriptor<undefined>;
/**
* The named owner has not signed ownership of the collection is acceptable.
*/
Unaccepted: PlainDescriptor<undefined>;
/**
* The item is locked.
*/
Locked: PlainDescriptor<undefined>;
/**
* All items have been minted.
*/
MaxSupplyReached: PlainDescriptor<undefined>;
/**
* The max supply has already been set.
*/
MaxSupplyAlreadySet: PlainDescriptor<undefined>;
/**
* The provided max supply is less to the amount of items a collection already has.
*/
MaxSupplyTooSmall: PlainDescriptor<undefined>;
/**
* The given item ID is unknown.
*/
UnknownItem: PlainDescriptor<undefined>;
/**
* Item is not for sale.
*/
NotForSale: PlainDescriptor<undefined>;
/**
* The provided bid is too low.
*/
BidTooLow: PlainDescriptor<undefined>;
/**
* No metadata is found.
*/
NoMetadata: PlainDescriptor<undefined>;
/**
* Wrong metadata key/value bytes supplied.
*/
WrongMetadata: PlainDescriptor<undefined>;
/**
* An attribute is not found.
*/
AttributeNotFound: PlainDescriptor<undefined>;
/**
* Wrong attribute key/value bytes supplied.
*/
WrongAttribute: PlainDescriptor<undefined>;
};
StateTrieMigration: {
/**
* Max signed limits not respected.
*/
MaxSignedLimits: PlainDescriptor<undefined>;
/**
* A key was longer than the configured maximum.
*
* This means that the migration halted at the current [`Progress`] and
* can be resumed with a larger [`crate::Config::MaxKeyLen`] value.
* Retrying with the same [`crate::Config::MaxKeyLen`] value will not work.
* The value should only be increased to avoid a storage migration for the currently
* stored [`crate::Progress::LastKey`].
*/
KeyTooLong: PlainDescriptor<undefined>;
/**
* submitter does not have enough funds.
*/
NotEnoughFunds: PlainDescriptor<undefined>;