import "bignumber.js"; import { AnyMiniMetadata, ChaindataProvider, DotNetworkId, EthNetworkId, MINIMETADATA_VERSION, NetworkId, NetworkList, SolNetworkId, Token, TokenId, TokenList, TokenOfType, TokenType } from "@talismn/chaindata-provider"; import { Observable } from "rxjs"; import { TokenRateCurrency, TokenRates, TokenRatesList } from "@talismn/token-rates"; import { NonFunctionProperties } from "@talismn/util"; import { IChainConnectorDot, IChainConnectorEth, IChainConnectorSol } from "@talismn/chain-connectors"; import { Instruction } from "@solana/kit"; import z from "zod/v4"; import { Mint, TransferFee } from "@solana-program/token-2022"; import { Enum, GetEnum, ResultPayload, SS58String, SizedHex } from "@polkadot-api/substrate-bindings"; import "@polkadot-api/utils"; //#region src/types/addresses.d.ts type Address = string; //#endregion //#region src/types/balancetypes.d.ts type BalanceStatus = "live" | "cache" | "stale"; type IBalanceBase = { /** The module that this balance was retrieved by */ source: string; useLegacyTransferableCalculation?: boolean; /** Has this balance never been fetched, or is it from a cache, or is it up to date? */ status: BalanceStatus; /** The address of the account which owns this balance */ address: Address; /** The token this balance is for */ tokenId: TokenId; networkId: NetworkId; }; type IBalanceSimpleValues = { /** For balance types with a simple value, this is the value of the balance (eg, evm native token balance) */ value: Amount; values?: Array>; }; type IBalanceComplexValues = { /** For balance types with multple possible states, these are the values of the balance (eg, substrate native token balance) */ values: Array>; value?: undefined; }; /** `IBalance` is a common interface which all balance types must implement. */ type IBalance = IBalanceBase & (IBalanceSimpleValues | IBalanceComplexValues); type BalanceJson = IBalance; /** A collection of `BalanceJson` objects */ type BalanceJsonList = Record; /** An unlabelled amount of a balance */ type Amount = string; type BalanceStatusTypes = "free" | "reserved" | "locked" | "extra" | "nompool"; /** A labelled amount of a balance */ type BaseAmountWithLabel = { type: BalanceStatusTypes; /** * For modules which fetch balances via module sources, the source is equivalent to previous 'subSource' field * on the parent balance object * e.g. `staking` **/ source?: string; label: TLabel; amount: Amount; meta?: unknown; }; declare const getValueId: (amount: AmountWithLabel) => string; /** A labelled locked amount of a balance */ type LockedAmount = BaseAmountWithLabel & { /** * By default, the largest locked amount is subtrated from the transferable amount of this balance. * If this property is set to true, this particular lock will be skipped when making this calculation. * As such, this locked amount will be included in the calculated transferable amount. */ includeInTransferable?: boolean; /** * By default, tx fees can be deducted from locked amounts of balance. * As such, locked amounts are ignored when calculating if the user has enough funds to pay tx fees. * If this property is set to true, this particular lock will be subtracted from the available funds when making this calculation. * As such, this locked amount will not be included in the calculated available funds. */ excludeFromFeePayable?: boolean; }; type AmountWithLabel = BaseAmountWithLabel | LockedAmount | ExtraAmount; /** A labelled extra amount of a balance */ type ExtraAmount = BaseAmountWithLabel & { type: "extra"; /** If set to true, this extra amount will be included in the calculation of the total amount of this balance. */ includeInTotal?: boolean; }; //#endregion //#region src/types/balances.d.ts type FormattedAmount, TLabel extends string> = Omit & { amount: BalanceFormatter; }; declare function excludeFromTransferableAmount(locks: Amount | FormattedAmount, string> | Array, string>>): bigint; declare function excludeFromFeePayableLocks(locks: Amount | LockedAmount | Array>): Array>; declare function includeInTotalExtraAmount(extra?: FormattedAmount, string> | Array, string>>): bigint; /** A utility type used to extract the underlying `BalanceType` of a specific source from a generalised `BalanceJson` */ type NarrowBalanceType = S extends { source: P; } ? S : never; type BalanceSource = BalanceJson["source"]; /** TODO: Remove this in favour of a frontend-friendly `ChaindataProvider` */ type HydrateDb = Partial<{ networks: NetworkList; tokens: TokenList; tokenRates: TokenRatesList; }>; type BalanceSearchQuery = Partial> | ((balance: Balance) => boolean); /** * A collection of balances. */ declare class Balances { #private; constructor(balances: Balances | BalanceJsonList | Balance[] | IBalance[] | BalanceJson[] | Balance, hydrate?: HydrateDb); /** * Calling toJSON on a collection of balances will return the underlying BalanceJsonList. */ toJSON: () => BalanceJsonList; /** * Allows the collection to be iterated over. * * @example * [...balances].forEach(balance => { // do something // }) * * @example * for (const balance of balances) { * // do something * } */ [Symbol.iterator]: () => MapIterator; /** * Hydrates all balances in this collection. * * @param sources - The sources to hydrate from. */ hydrate: (sources: HydrateDb) => void; /** * Retrieve a balance from this collection by id. * * @param id - The id of the balance to fetch. * @returns The balance if one exists, or none. */ get: (id: string) => Balance | null; /** * Retrieve balances from this collection by search query. * * @param query - The search query. * @returns All balances which match the query. */ find: (query: BalanceSearchQuery | BalanceSearchQuery[]) => Balances; /** * Filters this collection to exclude token balances where the token has a `mirrorOf` field * and another balance exists in this collection for the token specified by the `mirrorOf` field. */ filterMirrorTokens: () => Balances; /** * Filters this collection to only include balances which are not zero AND have a fiat conversion rate. */ filterNonZeroFiat: (type: "total" | "free" | "reserved" | "locked" | "frozen" | "transferable" | "unavailable" | "feePayable", currency: TokenRateCurrency) => Balances; /** * Add some balances to this collection. * Added balances take priority over existing balances. * The aggregation of the two collections is returned. * The original collection is not mutated. * * @param balances - Either a balance or collection of balances to add. * @returns The new collection of balances. */ add: (balances: Balances | Balance) => Balances; /** * Remove balances from this collection by id. * A new collection without these balances is returned. * The original collection is not mutated. * * @param ids - The id(s) of the balances to remove. * @returns The new collection of balances. */ remove: (ids: string[] | string) => Balances; get each(): Balance[]; /** @deprecated use each instead */ get sorted(): Balance[]; /** * Get the number of balances in this collection. * * @returns The number of balances in this collection. */ get count(): number; /** * Get the summed value of balances in this collection. * TODO: Sum up token amounts AND fiat amounts * * @example * // Get the sum of all transferable balances in usd. * balances.sum.fiat('usd').transferable */ get sum(): SumBalancesFormatter; } declare const getBalanceId: (balance: Pick) => string; /** * An individual balance. */ declare class Balance { #private; constructor(storage: BalanceJson | IBalance, hydrate?: HydrateDb); toJSON: () => BalanceJson; isSource: (source: BalanceSource) => boolean; hydrate: (hydrate?: HydrateDb) => void; get id(): string; get source(): string; get status(): BalanceStatus; get address(): string; get networkId(): string; get network(): { id: string; isTestnet?: boolean | undefined; isDefault?: boolean | undefined; forceScan?: boolean | undefined; name: string; logo?: string | undefined; nativeTokenId: string; nativeCurrency: { decimals: number; symbol: string; name: string; coingeckoId?: string | undefined; mirrorOf?: string | undefined; logo?: string | undefined; }; themeColor?: string | undefined; blockExplorerUrls: string[]; genesisHash: `0x${string}`; platform: "polkadot"; chainName: string; specName: string; specVersion: number; account: "*25519" | "secp256k1"; chainspecQrUrl?: string | undefined; latestMetadataQrUrl?: string | undefined; prefix: number; oldPrefix?: number | undefined; rpcs: string[]; registryTypes?: any; signedExtensions?: any; hasCheckMetadataHash?: boolean | undefined; hasExtrinsicSignatureTypePrefix?: boolean | undefined; isUnknownFeeToken?: boolean | undefined; topology: { type: "standalone"; } | { type: "relay"; } | { type: "parachain"; relayId: string; paraId: number; }; balancesConfig?: { "substrate-native"?: { disable?: boolean | undefined; } | undefined; "substrate-assets"?: Record | undefined; "substrate-psp22"?: Record | undefined; "substrate-tokens"?: { palletId?: string | undefined; } | undefined; "substrate-foreignassets"?: Record | undefined; "substrate-hydration"?: Record | undefined; "substrate-dtao"?: Record | undefined; } | undefined; } | { id: string; isTestnet?: boolean | undefined; isDefault?: boolean | undefined; forceScan?: boolean | undefined; name: string; logo?: string | undefined; nativeTokenId: string; nativeCurrency: { decimals: number; symbol: string; name: string; coingeckoId?: string | undefined; mirrorOf?: string | undefined; logo?: string | undefined; }; themeColor?: string | undefined; blockExplorerUrls: string[]; platform: "ethereum"; substrateChainId?: string | undefined; preserveGasEstimate?: boolean | undefined; rpcs: string[]; feeType?: "eip-1559" | "legacy" | undefined; l2FeeType?: { type: "op-stack"; } | { type: "scroll"; l1GasPriceOracle: `0x${string}`; } | undefined; contracts?: { Erc20Aggregator?: `0x${string}` | undefined; Multicall3?: `0x${string}` | undefined; } | undefined; balancesConfig?: { "evm-native"?: Record | undefined; "evm-erc20"?: Record | undefined; "evm-uniswapv2"?: Record | undefined; } | undefined; } | { id: string; isTestnet?: boolean | undefined; isDefault?: boolean | undefined; forceScan?: boolean | undefined; name: string; logo?: string | undefined; nativeTokenId: string; nativeCurrency: { decimals: number; symbol: string; name: string; coingeckoId?: string | undefined; mirrorOf?: string | undefined; logo?: string | undefined; }; themeColor?: string | undefined; blockExplorerUrls: string[]; platform: "solana"; genesisHash: string; rpcs: string[]; balancesConfig?: { "sol-native"?: Record | undefined; "sol-spl"?: Record | undefined; "sol-token2022"?: Record | undefined; } | undefined; } | null; get tokenId(): string; get token(): { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "evm-erc20"; platform: "ethereum"; contractAddress: `0x${string}`; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "evm-native"; platform: "ethereum"; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "evm-uniswapv2"; platform: "ethereum"; contractAddress: `0x${string}`; isCustom?: boolean | undefined; symbol0: string; symbol1: string; decimals0: number; decimals1: number; tokenAddress0: `0x${string}`; tokenAddress1: `0x${string}`; coingeckoId0?: string | undefined; coingeckoId1?: string | undefined; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-assets"; platform: "polkadot"; assetId: string; isFrozen?: boolean | undefined; isSufficient: boolean; existentialDeposit: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-dtao"; platform: "polkadot"; netuid: number; subnetName?: string | undefined; hotkey?: string | undefined; isTransferable: boolean; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-foreignassets"; platform: "polkadot"; onChainId: string; isFrozen?: boolean | undefined; isSufficient: boolean; existentialDeposit: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-native"; platform: "polkadot"; existentialDeposit: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-psp22"; platform: "polkadot"; contractAddress: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-tokens"; platform: "polkadot"; onChainId: string | number; existentialDeposit: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "substrate-hydration"; platform: "polkadot"; onChainId: number; assetType: "Erc20" | "External" | "Token"; isSufficient: boolean; existentialDeposit: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "sol-native"; platform: "solana"; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "sol-spl"; platform: "solana"; mintAddress: string; } | { id: string; networkId: string; isDefault?: boolean | undefined; decimals: number; symbol: string; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; type: "sol-token2022"; platform: "solana"; mintAddress: string; isTransferable?: boolean | undefined; } | null; get decimals(): number | null; get rates(): TokenRates | null; /** * A general method to get formatted values matching a certain type from this balance. * @param valueType - The type of value to get. * @returns An array of the values matching the type with formatted amounts. */ private getValue; /** * A general method to get values matching a certain type from this balance. * @param valueType - The type of value to get. * @returns An array of the values matching the type. */ private getRawValue; /** * A general method to add a value to the array of values for this balance. * @param valueType - The type of value to add. * @returns A function which can be used to add a value to the array of values for this balance. */ private addValue; /** * The total balance of this token. * Includes the free and the reserved amount. * The balance will be reaped if this goes below the existential deposit. */ get total(): BalanceFormatter; /** The non-reserved balance of this token. Includes the frozen amount. Is included in the total. */ get free(): BalanceFormatter; /** The reserved balance of this token. Is included in the total. */ get reserved(): BalanceFormatter; get reserves(): FormattedAmount, string>[]; /** The frozen balance of this token. Is included in the free amount. */ get locked(): BalanceFormatter; get locks(): FormattedAmount, string>[]; get nompools(): FormattedAmount, string>[]; /** The extra balance of this token */ get extra(): ExtraAmount[] | undefined; /** @deprecated Use balance.locked */ get frozen(): BalanceFormatter; /** The transferable balance of this token. Is generally the free amount - the miscFrozen amount. */ get transferable(): BalanceFormatter; /** * The unavailable balance of this token. * Prior to the Fungible trait, this was the locked amount + the reserved amount, i.e. `locked + reserved`. * Now, it is the bigger of the locked amount and the reserved amounts, i.e. `max(locked, reserved)`. */ get unavailable(): BalanceFormatter; /** The feePayable balance of this token. Is generally the free amount - the feeFrozen amount. */ get feePayable(): BalanceFormatter; } /** raw "locked" values, straight from the IBalance JSON (see getRawTotalPlanck) */ declare const getRawLocks: (balance: IBalance) => AmountWithLabel[]; /** * Computes `new Balance(b).total.planck` without constructing a Balance (which allocates * several BalanceFormatters per access) — used for high-frequency zero-balance filtering. * MUST mirror Balance.total exactly, including the DelegatedStaking-hold/nompool rule * (guarded by a parity test in balance-raw-helpers.test.ts). */ declare const getRawTotalPlanck: (balance: IBalance) => bigint; declare class BalanceValueGetter { #private; constructor(storage: BalanceJson); get(valueType: BalanceStatusTypes): AmountWithLabel[]; add(valueType: BalanceStatusTypes, amount: Omit, "type">): void; } declare class BalanceFormatter { #private; constructor(planck: string | bigint | undefined, decimals?: number | undefined, fiatRatios?: TokenRates | null); toJSON: () => string; get planck(): bigint; get tokens(): string; fiat(currency: TokenRateCurrency): number | null; } declare class PlanckSumBalancesFormatter { #private; constructor(balances: Balances); /** * The total balance of these tokens. Includes the free and the reserved amount. */ get total(): bigint; /** The non-reserved balance of these tokens. Includes the frozen amount. Is included in the total. */ get free(): bigint; /** The reserved balance of these tokens. Is included in the total. */ get reserved(): bigint; /** The frozen balance of these tokens. Is included in the free amount. */ get locked(): bigint; /** @deprecated Use balances.locked */ get frozen(): bigint; /** The transferable balance of these tokens. Is generally the free amount - the miscFrozen amount. */ get transferable(): bigint; /** The unavailable balance of these tokens. */ get unavailable(): bigint; /** The feePayable balance of these tokens. Is generally the free amount - the feeFrozen amount. */ get feePayable(): bigint; } declare class FiatSumBalancesFormatter { #private; constructor(balances: Balances, currency: TokenRateCurrency); /** * The total balance of these tokens. Includes the free and the reserved amount. */ get total(): number; /** The non-reserved balance of these tokens. Includes the frozen amount. Is included in the total. */ get free(): number; /** The reserved balance of these tokens. Is included in the total. */ get reserved(): number; /** The frozen balance of these tokens. Is included in the free amount. */ get locked(): number; /** @deprecated Use balances.locked */ get frozen(): number; /** The transferable balance of these tokens. Is generally the free amount - the miscFrozen amount. */ get transferable(): number; /** The unavailable balance of these tokens. */ get unavailable(): number; /** The feePayable balance of these tokens. Is generally the free amount - the feeFrozen amount. */ get feePayable(): number; } declare class SumBalancesFormatter { #private; constructor(balances: Balances); get planck(): PlanckSumBalancesFormatter; fiat(currency: TokenRateCurrency): FiatSumBalancesFormatter; change24h(currency: TokenRateCurrency): Change24hCurrencyFormatter; } declare class Change24hCurrencyFormatter { #private; constructor(balances: Balances, currency: TokenRateCurrency); get total(): { diff: number; ratio: number; } | null; get free(): { diff: number; ratio: number; } | null; get reserved(): { diff: number; ratio: number; } | null; get locked(): { diff: number; ratio: number; } | null; get frozen(): { diff: number; ratio: number; } | null; get transferable(): { diff: number; ratio: number; } | null; get unavailable(): { diff: number; ratio: number; } | null; get feePayable(): { diff: number; ratio: number; } | null; } declare const filterMirrorTokens: (balance: Balance, _i: number, balances: Balance[]) => boolean; //#endregion //#region src/types/chainConnectors.d.ts type ChainConnectors = { substrate?: IChainConnectorDot; evm?: IChainConnectorEth; solana?: IChainConnectorSol; }; //#endregion //#region src/types/IBalanceModule.d.ts type TokenPlatform = TokenOfType["platform"]; type PlatformConnector

> = P extends "ethereum" ? IChainConnectorEth : P extends "polkadot" ? IChainConnectorDot : P extends "solana" ? IChainConnectorSol : never; type DotTransferCallData = { address: string; method: `0x${string}`; }; type EthTransferCallData = { from: string; to: string; data: `0x${string}`; value?: string; }; type SolTransferCallData = Instruction[]; type BalanceTransferType = "keep-alive" | "all" | "allow-death"; type CallDataOf

> = P extends "ethereum" ? EthTransferCallData : P extends "polkadot" ? DotTransferCallData : P extends "solana" ? SolTransferCallData : never; type TokensWithAddresses = Array<[Token, Address[]]>; type FetchBalanceErrors = Array<{ tokenId: TokenId; address: Address; error: Error; }>; type FetchBalanceResults = { success: IBalance[]; errors: FetchBalanceErrors; /** * tokens identified at runtime while fetching balances, that were not part of the original request */ dynamicTokens?: Token[]; }; interface IBalanceModule { type: Type; platform: TokenPlatform; getMiniMetadata: (arg: TokenPlatform extends "polkadot" ? { networkId: string; specVersion: number; metadataRpc: `0x${string}`; config?: ModuleConfig; } : never) => TokenPlatform extends "polkadot" ? MiniMetadata : never; fetchTokens: (arg: TokenPlatform extends "polkadot" ? { networkId: DotNetworkId; tokens: TokenConfig[]; connector: PlatformConnector>; miniMetadata: MiniMetadata; cache: Record; } : { networkId: SolNetworkId; tokens: TokenConfig[]; connector: PlatformConnector>; cache: Record; }) => Promise[]>; fetchBalances: (arg: TokenPlatform extends "polkadot" ? { networkId: DotNetworkId; tokensWithAddresses: TokensWithAddresses; connector: PlatformConnector>; miniMetadata: MiniMetadata; /** abort in-flight (time-sliced) decoding, e.g. when a poll loop unsubscribes */ signal?: AbortSignal; } : { networkId: EthNetworkId; tokensWithAddresses: TokensWithAddresses; connector: PlatformConnector>; /** abort in-flight (time-sliced) decoding, e.g. when a poll loop unsubscribes */ signal?: AbortSignal; }) => Promise; subscribeBalances: (arg: TokenPlatform extends "polkadot" ? { networkId: DotNetworkId; tokensWithAddresses: TokensWithAddresses; connector: PlatformConnector>; miniMetadata: MiniMetadata; } : { networkId: EthNetworkId; tokensWithAddresses: TokensWithAddresses; connector: PlatformConnector>; }) => Observable; getTransferCallData: (arg: TokenPlatform extends "polkadot" ? { from: string; to: string; value: string; token: Token; metadataRpc: `0x${string}`; type: BalanceTransferType; connector: PlatformConnector>; config?: ModuleConfig; } : TokenPlatform extends "ethereum" ? { from: string; to: string; value: string; token: Token; } : TokenPlatform extends "solana" ? { from: string; to: string; value: string; token: Token; connector: PlatformConnector>; } : never) => CallDataOf> | Promise>>; } //#endregion //#region src/types/fingerprint.d.ts /** WeakMap-cached JSON serialization of a balance */ declare const getBalanceFingerprint: (balance: IBalance) => string; /** * Status-agnostic variant: stored balances carry status "cache" while fresh results carry * "live", so comparisons between incoming results and stored entries must ignore status. */ declare const getBalanceStorageFingerprint: (balance: IBalance) => string; declare const isEqualBalanceArrays: (a: IBalance[], b: IBalance[]) => boolean; /** replaces distinctUntilChanged(isEqual) on BalancesResult streams */ declare const isEqualBalancesResult: (a: BalancesResult, b: BalancesResult) => boolean; /** * Replaces distinctUntilChanged(isEqual) on module poll streams. * Errors are compared by (tokenId, address) and dynamic tokens by id — slightly MORE * dedupe than lodash isEqual (which compared Error instances), which is desirable: a * fresh-but-identical Error on every failing poll should not re-emit. */ declare const isEqualModuleResults: (a: FetchBalanceResults, b: FetchBalanceResults) => boolean; /** * Replaces distinctUntilChanged(isEqual) on MiniMetadata[] streams: id encodes * (source, chainId, specVersion, version) and data is the metadata hex, so comparing * those by === replaces a deep walk over large metadata strings and `extra` objects. */ declare const isEqualMiniMetadatas: (a: MiniMetadata[] | null, b: MiniMetadata[] | null) => boolean; //#endregion //#region src/types/minimetadatas.d.ts /** For fast db access, you can calculate the primary key for a miniMetadata using this method */ declare const deriveMiniMetadataId: ({ source, chainId, specVersion }: Pick) => string; type MiniMetadata = Omit & { extra: Extra; }; //#endregion //#region src/types/subscriptions.d.ts /** * A callback with either an error or a result. */ interface SubscriptionCallback { (error: null, result: Result): void; (error: any, result?: never): void; } /** * A function which cancels a subscription when called. */ type UnsubscribeFn = () => void; //#endregion //#region src/BalancesProvider.d.ts type BalancesStatus = "initialising" | "live"; type BalancesResult = { status: BalancesStatus; balances: IBalance[]; failedBalanceIds: string[]; }; type BalancesStorage = { balances: IBalance[]; miniMetadatas: MiniMetadata[]; }; declare class BalancesProvider { #private; constructor(chaindataProvider: ChaindataProvider, chainConnectors: ChainConnectors, storage?: BalancesStorage); get storage$(): Observable; private get storedMiniMetadataMapById$(); getBalances$(addressesByTokenId: Record): Observable; fetchBalances(addressesByTokenId: Record): Promise; getDetectedTokensId$(address: string): Observable; private getNetworkBalances$; private getPolkadotNetworkModuleBalances$; private getEthereumNetworkModuleBalances$; private getSolanaNetworkModuleBalances$; private updateStorage$; private getNetworkMiniMetadatas$; private getNetworkSpecVersion$; private getMiniMetadatas$; private getStoredMiniMetadatas$; private getDefaultMiniMetadatas$; private getStoredBalances; private cleanupAddressesByTokenId$; } declare const getSweepStaleVariant: (balance: IBalance) => IBalance; //#endregion //#region src/modules/abis/erc20BalancesAggregator.d.ts declare const erc20BalancesAggregatorAbi: readonly [{ readonly name: "balances"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "account"; }, { readonly type: "address"; readonly name: "token"; }]; readonly name: "accountTokens"; }]; readonly outputs: readonly [{ readonly type: "uint256[]"; }]; }]; //#endregion //#region src/modules/abis/multicall.d.ts declare const abiMulticall: readonly [{ readonly name: "aggregate"; readonly type: 'function'; readonly stateMutability: "payable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "bytes"; readonly name: "callData"; }]; readonly name: "calls"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "blockNumber"; }, { readonly type: "bytes[]"; readonly name: "returnData"; }]; }, { readonly name: "aggregate3"; readonly type: 'function'; readonly stateMutability: "payable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "bool"; readonly name: "allowFailure"; }, { readonly type: "bytes"; readonly name: "callData"; }]; readonly name: "calls"; }]; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "bool"; readonly name: "success"; }, { readonly type: "bytes"; readonly name: "returnData"; }]; readonly name: "returnData"; }]; }, { readonly name: "aggregate3Value"; readonly type: 'function'; readonly stateMutability: "payable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "bool"; readonly name: "allowFailure"; }, { readonly type: "uint256"; readonly name: "value"; }, { readonly type: "bytes"; readonly name: "callData"; }]; readonly name: "calls"; }]; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "bool"; readonly name: "success"; }, { readonly type: "bytes"; readonly name: "returnData"; }]; readonly name: "returnData"; }]; }, { readonly name: "blockAndAggregate"; readonly type: 'function'; readonly stateMutability: "payable"; readonly inputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "bytes"; readonly name: "callData"; }]; readonly name: "calls"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "blockNumber"; }, { readonly type: "bytes32"; readonly name: "blockHash"; }, { readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "bool"; readonly name: "success"; }, { readonly type: "bytes"; readonly name: "returnData"; }]; readonly name: "returnData"; }]; }, { readonly name: "getBasefee"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "basefee"; }]; }, { readonly name: "getBlockHash"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "uint256"; readonly name: "blockNumber"; }]; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "blockHash"; }]; }, { readonly name: "getBlockNumber"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "blockNumber"; }]; }, { readonly name: "getChainId"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "chainid"; }]; }, { readonly name: "getCurrentBlockCoinbase"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "address"; readonly name: "coinbase"; }]; }, { readonly name: "getCurrentBlockDifficulty"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "difficulty"; }]; }, { readonly name: "getCurrentBlockGasLimit"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "gaslimit"; }]; }, { readonly name: "getCurrentBlockTimestamp"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "timestamp"; }]; }, { readonly name: "getEthBalance"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "addr"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "balance"; }]; }, { readonly name: "getLastBlockHash"; readonly type: 'function'; readonly stateMutability: "view"; readonly inputs: readonly []; readonly outputs: readonly [{ readonly type: "bytes32"; readonly name: "blockHash"; }]; }, { readonly name: "tryAggregate"; readonly type: 'function'; readonly stateMutability: "payable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "requireSuccess"; }, { readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "bytes"; readonly name: "callData"; }]; readonly name: "calls"; }]; readonly outputs: readonly [{ readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "bool"; readonly name: "success"; }, { readonly type: "bytes"; readonly name: "returnData"; }]; readonly name: "returnData"; }]; }, { readonly name: "tryBlockAndAggregate"; readonly type: 'function'; readonly stateMutability: "payable"; readonly inputs: readonly [{ readonly type: "bool"; readonly name: "requireSuccess"; }, { readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "address"; readonly name: "target"; }, { readonly type: "bytes"; readonly name: "callData"; }]; readonly name: "calls"; }]; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "blockNumber"; }, { readonly type: "bytes32"; readonly name: "blockHash"; }, { readonly type: "tuple[]"; readonly components: readonly [{ readonly type: "bool"; readonly name: "success"; }, { readonly type: "bytes"; readonly name: "returnData"; }]; readonly name: "returnData"; }]; }]; //#endregion //#region src/modules/abis/uniswapV2Pair.d.ts declare const uniswapV2PairAbi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "Burn"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly name: "Mint"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0In"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1In"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount0Out"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount1Out"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "Swap"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint112"; readonly name: "reserve0"; readonly type: "uint112"; }, { readonly indexed: false; readonly internalType: "uint112"; readonly name: "reserve1"; readonly type: "uint112"; }]; readonly name: "Sync"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "DOMAIN_SEPARATOR"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "MINIMUM_LIQUIDITY"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "PERMIT_TYPEHASH"; readonly outputs: readonly [{ readonly internalType: "bytes32"; readonly name: ""; readonly type: "bytes32"; }]; readonly payable: false; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "burn"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1"; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly payable: false; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "factory"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "getReserves"; readonly outputs: readonly [{ readonly internalType: "uint112"; readonly name: "reserve0"; readonly type: "uint112"; }, { readonly internalType: "uint112"; readonly name: "reserve1"; readonly type: "uint112"; }, { readonly internalType: "uint32"; readonly name: "blockTimestampLast"; readonly type: "uint32"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "kLast"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "mint"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: "liquidity"; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly payable: false; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "nonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }]; readonly name: "permit"; readonly outputs: readonly []; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "price0CumulativeLast"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "price1CumulativeLast"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }]; readonly name: "skim"; readonly outputs: readonly []; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount0Out"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "amount1Out"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "data"; readonly type: "bytes"; }]; readonly name: "swap"; readonly outputs: readonly []; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly payable: false; readonly stateMutability: "pure"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly []; readonly name: "sync"; readonly outputs: readonly []; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "token0"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "token1"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "value"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; //#endregion //#region src/modules/evm-erc20/types.d.ts declare const EvmErc20TokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; contractAddress: z.ZodPipe>; }, z.core.$strict>; type EvmErc20TokenConfig = z.infer; //#endregion //#region src/modules/evm-erc20/config.d.ts declare const MODULE_TYPE$12: "evm-erc20"; //#endregion //#region src/modules/evm-erc20/module.d.ts declare const EvmErc20BalanceModule: IBalanceModule; //#endregion //#region src/modules/evm-native/types.d.ts declare const EvmNativeTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; }, z.core.$strict>; type EvmNativeTokenConfig = z.infer; //#endregion //#region src/modules/evm-native/config.d.ts declare const MODULE_TYPE$11: "evm-native"; //#endregion //#region src/modules/evm-native/module.d.ts declare const EvmNativeBalanceModule: IBalanceModule; //#endregion //#region src/modules/evm-uniswapv2/types.d.ts declare const EvmUniswapV2TokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; contractAddress: z.ZodPipe>; }, z.core.$strict>; type EvmUniswapV2TokenConfig = z.infer; //#endregion //#region src/modules/evm-uniswapv2/config.d.ts declare const MODULE_TYPE$10: "evm-uniswapv2"; //#endregion //#region src/modules/evm-uniswapv2/module.d.ts declare const EvmUniswapV2BalanceModule: IBalanceModule; //#endregion //#region src/modules/sol-native/types.d.ts declare const SolNativeTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; }, z.core.$strict>; type SolNativeTokenConfig = z.infer; //#endregion //#region src/modules/sol-native/config.d.ts declare const MODULE_TYPE$9: "sol-native"; //#endregion //#region src/modules/sol-native/module.d.ts declare const SolNativeBalanceModule: IBalanceModule; //#endregion //#region src/modules/sol-spl/types.d.ts declare const SolSplTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; mintAddress: z.ZodString; }, z.core.$strict>; type SolSplTokenConfig = z.infer; //#endregion //#region src/modules/sol-spl/config.d.ts declare const MODULE_TYPE$8: "sol-spl"; //#endregion //#region src/modules/sol-spl/module.d.ts declare const SolSplBalanceModule: IBalanceModule; //#endregion //#region src/modules/sol-token2022/types.d.ts declare const SolToken2022TokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; mintAddress: z.ZodString; }, z.core.$strict>; type SolToken2022TokenConfig = z.infer; //#endregion //#region src/modules/sol-token2022/config.d.ts declare const MODULE_TYPE$7: "sol-token2022"; //#endregion //#region src/modules/sol-token2022/getTransferCallData.d.ts /** Selects the transfer-fee schedule (older vs newer) that applies to a given epoch. */ declare const getEpochTransferFee: (transferFeeConfig: { olderTransferFee: TransferFee; newerTransferFee: TransferFee; }, epoch: bigint) => TransferFee; /** * Calculates the transfer fee for a given amount using the current epoch's fee configuration. * * Same math as @solana/spl-token's `calculateEpochFee`: pick the fee schedule for the epoch, * apply basis points with ceiling rounding, cap at `maximumFee`. */ declare const calculateToken2022TransferFee: (transferFeeConfig: { olderTransferFee: TransferFee; newerTransferFee: TransferFee; }, epoch: bigint, amount: bigint) => bigint; //#endregion //#region ../../node_modules/.pnpm/@solana+nominal-types@6.10.0_typescript@7.0.2/node_modules/@solana/nominal-types/dist/types/index.d.ts type StringEncoding = 'base58' | 'base64'; /** * Use this to produce a new type that satisfies the original type, but not the other way around. * That is to say, the branded type is acceptable wherever the original type is specified, but * wherever the branded type is specified, the original type will be insufficient. * * You can use this to create specialized instances of strings, numbers, objects, and more which * you would like to assert are special in some way (eg. numbers that are non-negative, strings * which represent the names of foods, objects that have passed validation). * * @typeParam T - The base type to brand * @typeParam TBrandName - A string that identifies a particular brand. Branded types with identical * names will satisfy each other so long as their base types satisfy each other. Branded types with * different names will never satisfy each other. * * @example * ```ts * const unverifiedName = 'Alice'; * const verifiedName = unverifiedName as Brand<'Alice', 'VerifiedName'>; * * 'Alice' satisfies Brand; // ERROR * 'Alice' satisfies Brand<'Alice', 'VerifiedName'>; // ERROR * unverifiedName satisfies Brand; // ERROR * verifiedName satisfies Brand<'Bob', 'VerifiedName'>; // ERROR * verifiedName satisfies Brand<'Alice', 'VerifiedName'>; // OK * verifiedName satisfies Brand; // OK * ``` */ type Brand = NominalType<'brand', TBrandName> & T; /** * Use this to produce a new type that satisfies the original string type, but adds extra type * information that marks the string as being encoded in a particular format. * * @typeParam T - The underlying string type * @typeParam TEncoding - The encoding format of the string * * @example * ```ts * const untaggedString = 'dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92'; * const encodedString = untaggedString as EncodedString; * * encodedString satisfies EncodedString<'dv1ZAGvdsz5hHLwWXsVnM94hWf1pjbKVau1QVkaMJ92', 'base58'>; // OK * encodedString satisfies EncodedString; // OK * encodedString satisfies EncodedString; // ERROR * untaggedString satisfies EncodedString; // ERROR * ``` */ type EncodedString = NominalType<'stringEncoding', TEncoding> & T; /** * Use this to produce a nominal type. * * This can be intersected with other base types to produce custom branded types. * * @typeParam TKey - The name of the nominal type. This distinguishes one nominal type from another. * @typeParam TMarker - The type of the value the nominal type can take. * * @example * ```ts * type SweeteningSubstance = 'aspartame' | 'cane-sugar' | 'stevia'; * type Sweetener = NominalType<'sweetener', T>; * * // This function accepts sweetened foods, except those with aspartame. * declare function eat(food: string & Sweetener>): void; * * const artificiallySweetenedDessert = 'ice-cream' as string & Sweetener<'aspartame'>; * eat(artificiallySweetenedDessert); // ERROR * ``` */ type NominalType = { readonly [K in `__${TKey}:@solana/kit`]: TMarker; }; //#endregion //#region ../../node_modules/.pnpm/@solana+addresses@6.10.0_fastestsmallesttextencoderdecoder@1.0.22_typescript@7.0.2/node_modules/@solana/addresses/dist/types/address.d.ts /** * Represents a string that validates as a Solana address. Functions that require well-formed * addresses should specify their inputs in terms of this type. * * Whenever you need to validate an arbitrary string as a base58-encoded address, use the * {@link address}, {@link assertIsAddress}, or {@link isAddress} functions in this package. */ type Address$1 = Brand, 'Address'>; //#endregion //#region src/modules/sol-token2022/mintExtensions.d.ts type Extension = NonNullable>[number]; declare const getMintExtensions: (mint: Mint) => import("@solana-program/token-2022").Extension[]; declare const getExtension: (mint: Mint, kind: TKind) => Extract | null; declare const getTransferFeeConfig: (mint: Mint) => { __kind: 'TransferFeeConfig'; transferFeeConfigAuthority: Address$1; withdrawWithheldAuthority: Address$1; withheldAmount: bigint; olderTransferFee: import("@solana-program/token-2022").TransferFee; newerTransferFee: import("@solana-program/token-2022").TransferFee; } | null; declare const getTransferHook: (mint: Mint) => { __kind: 'TransferHook'; authority: Address$1; programId: Address$1; } | null; declare const isNonTransferable: (mint: Mint) => boolean; declare const getTokenMetadata: (mint: Mint) => { __kind: 'TokenMetadata'; updateAuthority: import("@solana/kit").Option; mint: Address$1; name: string; symbol: string; uri: string; additionalMetadata: Map; } | null; //#endregion //#region src/modules/sol-token2022/module.d.ts declare const SolToken2022BalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-assets/types.d.ts declare const SubAssetsTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; assetId: z.ZodPipe, z.ZodTransform>; }, z.core.$strict>; type SubAssetsTokenConfig = z.infer; //#endregion //#region src/modules/substrate-assets/config.d.ts declare const MODULE_TYPE$6: "substrate-assets"; type TokenConfig$1 = z.infer; //#endregion //#region src/modules/substrate-assets/module.d.ts declare const SubAssetsBalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-dtao/alphaPrice.d.ts declare const TAO_DECIMALS = 9n; declare const ALPHA_PRICE_SCALE: bigint; declare const alphaToTao: (alpha: bigint, scaledAlphaPrice: bigint) => bigint; declare const taoToAlpha: (tao: bigint, scaledAlphaPrice: bigint) => bigint; /** * Like taoToAlpha but rounds up. Use for "must keep / must send at least this much alpha" * thresholds: the chain floors the alpha→TAO conversion when checking its TAO-denominated * minimums, so a floored alpha threshold can sit one planck below the real bound — an amount * meeting it exactly would still fail the on-chain check (or get the position force-swept). * Guarantees alphaToTao(taoToAlphaCeil(tao, price), price) >= tao. */ declare const taoToAlphaCeil: (tao: bigint, scaledAlphaPrice: bigint) => bigint; //#endregion //#region ../../node_modules/.pnpm/polkadot-api@2.2.0_bufferutil@4.0.8_esbuild@0.28.1_rxjs@7.8.2_utf-8-validate@6.0.4/node_modules/polkadot-api/dist/types-BJAMtGIT.d.ts type PlainDescriptor = { _type?: T; }; type StorageDescriptor, T, Optional extends true | false, Opaque extends string> = { _type: T; _args: Args; _optional: Optional; _Opaque: Opaque; }; type TxDescriptor = { ___: Args; }; type RuntimeDescriptor, T> = [Args, T]; type FixedSizeArray = Array & { length: L; }; type TxCallData = { type: string; value: { type: string; value: any; }; }; //#endregion //#region ../../.papi/descriptors/dist/common-types.d.ts type AnonymousEnum$1 = T & { __anonymous: true; }; type MyTuple$1 = [T, ...T[]]; type SeparateUndefined$1 = undefined extends T ? undefined | Exclude : T; type Anonymize$1 = SeparateUndefined$1 ? T : T extends AnonymousEnum$1 ? Enum : T extends MyTuple$1 ? { [K in keyof T]: T[K]; } : T extends [] ? [] : T extends FixedSizeArray ? number extends L ? Array : FixedSizeArray : { [K in keyof T & string]: T[K]; }>; type I5sesotjlssv2d = { "nonce": number; "consumers": number; "providers": number; "sufficients": number; "data": Anonymize$1; }; type I1q8tnt1cluu5j = { "free": bigint; "reserved": bigint; "frozen": bigint; "flags": bigint; }; type Iffmde3ekjedi9 = { "normal": Anonymize$1; "operational": Anonymize$1; "mandatory": Anonymize$1; }; type I4q39t5hn830vp = { "ref_time": bigint; "proof_size": bigint; }; type I4mddgoa69c0a2 = Array; type DigestItem = Enum<{ "PreRuntime": Anonymize$1; "Consensus": Anonymize$1; "Seal": Anonymize$1; "Other": Uint8Array; "RuntimeEnvironmentUpdated": undefined; }>; declare const DigestItem: GetEnum; type I82jm9g7pufuel = [SizedHex<4>, Uint8Array]; type Phase = Enum<{ "ApplyExtrinsic": number; "Finalization": undefined; "Initialization": undefined; }>; declare const Phase: GetEnum; type Ia82mnkmeo2rhc = { "dispatch_info": Anonymize$1; }; type Ic9s8f85vjtncc = { "weight": Anonymize$1; "class": DispatchClass; "pays_fee": Anonymize$1; }; type DispatchClass = Enum<{ "Normal": undefined; "Operational": undefined; "Mandatory": undefined; }>; declare const DispatchClass: GetEnum; type Iehg04bj71rkd = AnonymousEnum$1<{ "Yes": undefined; "No": undefined; }>; type I5o0s7c8q1cc9b = AnonymousEnum$1<{ /** * 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; }>; type If7oa8fprnilo5 = AnonymousEnum$1<{ /** * 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; }>; type I4cfhml1prt4lu = AnonymousEnum$1<{ /** * 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; }>; type Idj13i7adlomht = AnonymousEnum$1<{ /** * 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`. */ "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; }>; type I7q8i0pp1gkas6 = AnonymousEnum$1<{ /** * Attempt to signal GRANDPA pause when the authority set isn't live * (either paused or already pending pause). */ "PauseFailed": undefined; /** * Attempt to signal GRANDPA resume when the authority set isn't paused * (either live or already pending resume). */ "ResumeFailed": undefined; /** * Attempt to signal GRANDPA change with one already pending. */ "ChangePending": undefined; /** * Cannot signal forced change so soon after last. */ "TooSoon": undefined; /** * A key ownership proof provided as part of an equivocation report is invalid. */ "InvalidKeyOwnershipProof": undefined; /** * An equivocation proof provided as part of an equivocation report is invalid. */ "InvalidEquivocationProof": undefined; /** * A given equivocation report is valid but already previously reported. */ "DuplicateOffenceReport": undefined; }>; type Ia76qmhhg4jvb9 = AnonymousEnum$1<{ /** * 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; }>; type TokenError = Enum<{ "FundsUnavailable": undefined; "OnlyProvider": undefined; "BelowMinimum": undefined; "CannotCreate": undefined; "UnknownAsset": undefined; "Frozen": undefined; "Unsupported": undefined; "CannotCreateHold": undefined; "NotExpendable": undefined; "Blocked": undefined; }>; declare const TokenError: GetEnum; type ArithmeticError = Enum<{ "Underflow": undefined; "Overflow": undefined; "DivisionByZero": undefined; }>; declare const ArithmeticError: GetEnum; type TransactionalError = Enum<{ "LimitReached": undefined; "NoLayer": undefined; }>; declare const TransactionalError: GetEnum; type Idh4cj79bvroj8 = AnonymousEnum$1<{ "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; }>; type I1jm8m1rh9e20v = { "hash": SizedHex<32>; }; type Icbccs0ug47ilf = { "account": SS58String; }; type I855j4i3kr8ko1 = { "sender": SS58String; "hash": SizedHex<32>; }; type Ibgl04rn6nbfm6 = { "code_hash": SizedHex<32>; "check_version": boolean; }; type I5n4sebgkfr760 = { "when": number; "index": number; }; type I9jd27rnpm8ttv = FixedSizeArray<2, number>; type I4s6vifaf8k998 = (SizedHex<32>) | undefined; type Ia3c82eadg79bj = { "task": Anonymize$1; "id"?: Anonymize$1; "period": number; "retries": number; }; type Ienusoeb625ftq = { "task": Anonymize$1; "id"?: Anonymize$1; }; type Ibtsa3docbr9el = { "when": number; }; type PreimageEvent = Enum<{ /** * A preimage has been noted. */ "Noted": Anonymize$1; /** * A preimage has been requested. */ "Requested": Anonymize$1; /** * A preimage has ben cleared. */ "Cleared": Anonymize$1; }>; declare const PreimageEvent: GetEnum; type Ia1u3jll6a06ae = { "who": SS58String; "index": number; }; type I666bl2fqjkejo = { "index": number; }; type Icv68aq8841478 = { "account": SS58String; "free_balance": bigint; }; type Ic262ibdoec56a = { "account": SS58String; "amount": bigint; }; type Iflcfm9b6nlmdd = { "from": SS58String; "to": SS58String; "amount": bigint; }; type Ijrsf4mnp3eka = { "who": SS58String; "free": bigint; }; type Id5fm4p8lj5qgi = { "who": SS58String; "amount": bigint; }; type I8tjvj9uq4b7hi = { "from": SS58String; "to": SS58String; "amount": bigint; "destination_status": BalanceStatus$1; }; type BalanceStatus$1 = Enum<{ "Free": undefined; "Reserved": undefined; }>; declare const BalanceStatus$1: GetEnum; type I3qt1hgg4djhgb = { "amount": bigint; }; type I4cbvqmqadhrea = { "who": SS58String; }; type I4fooe9dun9o0t = { "old": bigint; "new": bigint; }; type PreimagePalletHoldReason = Enum<{ "Preimage": undefined; }>; declare const PreimagePalletHoldReason: GetEnum; type TransactionPaymentEvent = Enum<{ /** * A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee, * has been paid by `who`. */ "TransactionFeePaid": Anonymize$1; }>; declare const TransactionPaymentEvent: GetEnum; type Ier2cke86dqbr2 = { "who": SS58String; "actual_fee": bigint; "tip": bigint; }; type I4arjljr6dpflb = (number) | undefined; type GrandpaEvent = Enum<{ /** * New authority set has been applied. */ "NewAuthorities": Anonymize$1; /** * Current authority set has been paused. */ "Paused": undefined; /** * Current authority set has been resumed. */ "Resumed": undefined; }>; declare const GrandpaEvent: GetEnum; type I5768ac424h061 = { "authority_set": Anonymize$1; }; type I3geksg000c171 = Array<[SizedHex<32>, bigint]>; type Ie5v6njpckr05b = { "value": bigint; }; type I623eo8t3jrbeo = { "chain_id": bigint; }; type I7svrbkiu01iec = [SS58String, SS58String, number]; type I6ouflveob4eli = [SS58String, number]; type PreimagesBounded = Enum<{ "Legacy": Anonymize$1; "Inline": Uint8Array; "Lookup": { "hash": SizedHex<32>; "len": number; }; }>; declare const PreimagesBounded: GetEnum; type Iasb8k6ash5mjn = (Anonymize$1) | undefined; type I2ur0oeqg495j8 = { "real": SS58String; "proxy": SS58String; "call_hash": SizedHex<32>; }; type I1bhd210c3phjj = { "who": SS58String; "kind": Enum<{ "Proxies": undefined; "Announcements": undefined; }>; "old_deposit": bigint; "new_deposit": bigint; }; type Iep27ialq4a7o7 = { "approving": SS58String; "multisig": SS58String; "call_hash": SizedHex<32>; }; type Iasu5jvoqr43mv = { "approving": SS58String; "timepoint": Anonymize$1; "multisig": SS58String; "call_hash": SizedHex<32>; }; type Itvprrpb0nm3o = { "height": number; "index": number; }; type I5qolde99acmd1 = { "cancelling": SS58String; "timepoint": Anonymize$1; "multisig": SS58String; "call_hash": SizedHex<32>; }; type I8gtde5abn1g9a = { "who": SS58String; "call_hash": SizedHex<32>; "old_deposit": bigint; "new_deposit": bigint; }; type Ihfphjolmsqq1 = (SS58String) | undefined; type I7svnfko10tq2e = [number, SS58String]; type Icgljjb6j82uhn = Array; type I4pact7n2e9a0i = [SizedHex<32>, number]; type I6s1nbislhk619 = { "version": number; }; type I35p85j063s0il = (bigint) | undefined; type Ic5m5lp1oioo8r = Array>; type I95g6i7ilua7lq = Array>; type Ieniouoqkq4icf = { "spec_version": number; "spec_name": string; }; type Iep7au1720bm0e = (Anonymize$1) | undefined; type I9gqitj4t615g3 = AnonymousEnum$1<{ "Root": undefined; "Signed": SS58String; "None": undefined; "Authorized": undefined; }>; type I56u24ncejr5kt = { "total_retries": number; "remaining": number; "period": number; }; type PreimageOldRequestStatus = Enum<{ "Unrequested": { "deposit": Anonymize$1; "len": number; }; "Requested": { "deposit"?: Anonymize$1; "count": number; "len"?: Anonymize$1; }; }>; declare const PreimageOldRequestStatus: GetEnum; type I95l2k9b1re95f = [SS58String, bigint]; type I92hdo1clkbp4g = (Anonymize$1) | undefined; type PreimageRequestStatus = Enum<{ "Unrequested": { "ticket": Anonymize$1; "len": number; }; "Requested": { "maybe_ticket"?: Anonymize$1; "count": number; "maybe_len"?: Anonymize$1; }; }>; declare const PreimageRequestStatus: GetEnum; type I8jnd4d8ip6djo = { "c": Anonymize$1; "allowed_slots": BabeAllowedSlots; }; type I200n1ov5tbcvr = FixedSizeArray<2, bigint>; type BabeAllowedSlots = Enum<{ "PrimarySlots": undefined; "PrimaryAndSecondaryPlainSlots": undefined; "PrimaryAndSecondaryVRFSlots": undefined; }>; declare const BabeAllowedSlots: GetEnum; type I8ds64oj6581v0 = Array<{ "id": SizedHex<8>; "amount": bigint; "reasons": BalancesTypesReasons; }>; type BalancesTypesReasons = Enum<{ "Fee": undefined; "Misc": undefined; "All": undefined; }>; declare const BalancesTypesReasons: GetEnum; type Ia7pdug7cdsg8g = Array<{ "id": SizedHex<8>; "amount": bigint; }>; type TransactionPaymentReleases = Enum<{ "V1Ancient": undefined; "V2": undefined; }>; declare const TransactionPaymentReleases: GetEnum; type Ia2lhg7l2hilo3 = Array; type Iba9inugg1atvo = Array>; type I4ojmnsk1dchql = [number, bigint]; type GrandpaStoredState = Enum<{ "Live": undefined; "PendingPause": { "scheduled_at": number; "delay": number; }; "Paused": undefined; "PendingResume": { "scheduled_at": number; "delay": number; }; }>; declare const GrandpaStoredState: GetEnum; type I7pe2me3i3vtn9 = { "scheduled_at": number; "delay": number; "next_authorities": Anonymize$1; "forced"?: Anonymize$1; }; type If9jidduiuq7vv = Array>; type I9p9lq3rej5bhc = [Array<{ "real": SS58String; "call_hash": SizedHex<32>; "height": number; }>, bigint]; type Iag146hmjgqfgj = { "when": Anonymize$1; "deposit": bigint; "depositor": SS58String; "approvals": Anonymize$1; }; type I8uo3fpd3bcc6f = [SS58String, SizedHex<32>]; type I5g2vv0ckl2m8b = [number, number]; type I4p5t2krb1gmvp = [number, SizedHex<32>]; type Itom7fk49o0c9 = Array; type Iabpgqcjikia83 = (Uint8Array) | undefined; type Iarlj3qd8u1v13 = Array>; type Iafqnechp3omqg = Array; type I8ie0dco0kcuq5 = (boolean) | undefined; type In7a38730s6qs = { "base_block": Anonymize$1; "max_block": Anonymize$1; "per_class": { "normal": { "base_extrinsic": Anonymize$1; "max_extrinsic"?: Anonymize$1; "max_total"?: Anonymize$1; "reserved"?: Anonymize$1; }; "operational": { "base_extrinsic": Anonymize$1; "max_extrinsic"?: Anonymize$1; "max_total"?: Anonymize$1; "reserved"?: Anonymize$1; }; "mandatory": { "base_extrinsic": Anonymize$1; "max_extrinsic"?: Anonymize$1; "max_total"?: Anonymize$1; "reserved"?: Anonymize$1; }; }; }; type If15el53dd76v9 = { "normal": number; "operational": number; "mandatory": number; }; type I9s0ave7t0vnrk = { "read": bigint; "write": bigint; }; 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; }; type Iekve0i6djpd9f = AnonymousEnum$1<{ /** * Make some on-chain remark. * * Can be executed by every `origin`. */ "remark": Anonymize$1; /** * Set the number of pages in the WebAssembly environment's heap. */ "set_heap_pages": Anonymize$1; /** * Set the new runtime code. */ "set_code": Anonymize$1; /** * 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$1; /** * Set some items of storage. */ "set_storage": Anonymize$1; /** * Kill some items from storage. */ "kill_storage": Anonymize$1; /** * 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$1; /** * Make some on-chain remark and emit event. */ "remark_with_event": Anonymize$1; /** * 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$1; /** * 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$1; /** * 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$1; }>; type I8ofcg5rbj0g2c = { "remark": Uint8Array; }; type I4adgbll7gku4i = { "pages": bigint; }; type I6pjjpfvhvcfru = { "code": Uint8Array; }; type I9pj91mj79qekl = { "items": Anonymize$1; }; type I6pi5ou8r1hblk = Array>; type Idkbvh6dahk1v7 = FixedSizeArray<2, Uint8Array>; type I39uah9nss64h9 = { "keys": Anonymize$1; }; type Ik64dknsq7k08 = { "prefix": Uint8Array; "subkeys": number; }; type Ib51vk42m1po4n = { "code_hash": SizedHex<32>; }; type Ifs1i5fk9cqvr6 = { "id": SizedHex<32>; }; type Ieg3fd8p4pkt10 = { "task": Anonymize$1; "retries": number; "period": number; }; type I8kg5ll427kfqq = { "id": SizedHex<32>; "retries": number; "period": number; }; type I467333262q1l9 = { "task": Anonymize$1; }; type If81ks88t5mpk5 = AnonymousEnum$1<{ /** * 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": Anonymize$1; /** * 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$1; /** * 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$1; /** * Clear a previously made request for a preimage. * * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. */ "unrequest_preimage": Anonymize$1; /** * 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": Anonymize$1; }>; type I82nfqfkd48n10 = { "bytes": Uint8Array; }; type I3o5j3bli1pd8e = { "hashes": Anonymize$1; }; type I68ii5ik8avr9o = { "offender": SizedHex<32>; "slot": bigint; "first_header": Anonymize$1; "second_header": Anonymize$1; }; type Ic952bubvq4k7d = { "parent_hash": SizedHex<32>; "number": number; "state_root": SizedHex<32>; "extrinsics_root": SizedHex<32>; "digest": Anonymize$1; }; type I7d75gqfg6jh9c = AnonymousEnum$1<{ /** * 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": Anonymize$1; }>; type Idcr6u6361oad9 = { "now": bigint; }; type MultiAddress = Enum<{ "Id": SS58String; "Index": undefined; "Raw": Uint8Array; "Address32": SizedHex<32>; "Address20": SizedHex<20>; }>; declare const MultiAddress: GetEnum; type I9svldsp29mh87 = AnonymousEnum$1<{ /** * 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": Anonymize$1; /** * Exactly as `transfer_allow_death`, except the origin must be root and the source account * may be specified. */ "force_transfer": Anonymize$1; /** * 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": Anonymize$1; /** * 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": Anonymize$1; /** * Unreserve some balance from a user by force. * * Can only be called by ROOT. */ "force_unreserve": Anonymize$1; /** * 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$1; /** * Set the regular balance of a given account. * * The dispatch origin for this call is `root`. */ "force_set_balance": Anonymize$1; /** * 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$1; /** * 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$1; }>; type I4ktuaksf5i1gk = { "dest": MultiAddress; "value": bigint; }; type I9bqtpv2ii35mp = { "source": MultiAddress; "dest": MultiAddress; "value": bigint; }; type I9j7pagd6d4bda = { "dest": MultiAddress; "keep_alive": boolean; }; type I2h9pmio37r7fb = { "who": MultiAddress; "amount": bigint; }; type Ibmr18suc9ikh9 = { "who": Anonymize$1; }; type I9iq22t0burs89 = { "who": MultiAddress; "new_free": bigint; }; type I5u8olqbbvfnvf = { "direction": BalancesAdjustmentDirection; "delta": bigint; }; type BalancesAdjustmentDirection = Enum<{ "Increase": undefined; "Decrease": undefined; }>; declare const BalancesAdjustmentDirection: GetEnum; type I5utcetro501ir = { "value": bigint; "keep_alive": boolean; }; type I9puqgoda8ofk4 = { "set_id": bigint; "equivocation": GrandpaEquivocation; }; type GrandpaEquivocation = Enum<{ "Prevote": { "round_number": bigint; "identity": SizedHex<32>; "first": [{ "target_hash": SizedHex<32>; "target_number": number; }, SizedHex<64>]; "second": [{ "target_hash": SizedHex<32>; "target_number": number; }, SizedHex<64>]; }; "Precommit": { "round_number": bigint; "identity": SizedHex<32>; "first": [{ "target_hash": SizedHex<32>; "target_number": number; }, SizedHex<64>]; "second": [{ "target_hash": SizedHex<32>; "target_number": number; }, SizedHex<64>]; }; }>; declare const GrandpaEquivocation: GetEnum; type I2hviml3snvhhn = { "delay": number; "best_finalized_block_number": number; }; type I2eb501t8s6hsq = { "real": MultiAddress; "call_hash": SizedHex<32>; }; type Ianmuoljk2sk1u = { "delegate": MultiAddress; "call_hash": SizedHex<32>; }; type I95jfd8j5cr5eh = (Anonymize$1) | undefined; type Ideaemvoneh309 = { "threshold": number; "other_signatories": Anonymize$1; "maybe_timepoint"?: Anonymize$1; "call_hash": SizedHex<32>; "max_weight": Anonymize$1; }; type I3d9o9d7epp66v = { "threshold": number; "other_signatories": Anonymize$1; "timepoint": Anonymize$1; "call_hash": SizedHex<32>; }; type I6lqh1vgb4mcja = { "threshold": number; "other_signatories": Anonymize$1; "call_hash": SizedHex<32>; }; type Iaqet9jc3ihboe = { "header": Anonymize$1; "extrinsics": Anonymize$1; }; type I2v50gu3s1aqk6 = AnonymousEnum$1<{ "AllExtrinsics": undefined; "OnlyInherents": undefined; }>; type I5nrjkj9qumobs = AnonymousEnum$1<{ "Invalid": Enum<{ "Call": undefined; "Payment": undefined; "Future": undefined; "Stale": undefined; "BadProof": undefined; "AncientBirthBlock": undefined; "ExhaustsResources": undefined; "Custom": number; "BadMandatory": undefined; "MandatoryValidation": undefined; "BadSigner": undefined; "IndeterminateImplicit": undefined; "UnknownOrigin": undefined; }>; "Unknown": TransactionValidityUnknownTransaction; }>; type TransactionValidityUnknownTransaction = Enum<{ "CannotLookup": undefined; "NoUnsignedValidator": undefined; "Custom": number; }>; declare const TransactionValidityUnknownTransaction: GetEnum; type If7uv525tdvv7a = Array<[SizedHex<8>, Uint8Array]>; type I2an1fs2eiebjp = { "okay": boolean; "fatal_error": boolean; "errors": Anonymize$1; }; type I2na29tt2afp0j = FixedSizeArray<2, SS58String>; type TransactionValidityTransactionSource = Enum<{ "InBlock": undefined; "Local": undefined; "External": undefined; }>; declare const TransactionValidityTransactionSource: GetEnum; type I9ask1o4tfvcvs = ResultPayload<{ "priority": bigint; "requires": Anonymize$1; "provides": Anonymize$1; "longevity": bigint; "propagate": boolean; }, Anonymize$1>; type Iems84l8lk2v0c = { "slot_duration": bigint; "epoch_length": bigint; "c": Anonymize$1; "authorities": Anonymize$1; "randomness": SizedHex<32>; "allowed_slots": BabeAllowedSlots; }; type I1r5ke30ueqo0r = { "epoch_index": bigint; "start_slot": bigint; "duration": bigint; "authorities": Anonymize$1; "randomness": SizedHex<32>; "config": Anonymize$1; }; type Icerf8h8pdu8ss = (Array<[Uint8Array, SizedHex<4>]>) | undefined; type I6spmpef2c7svf = { "weight": Anonymize$1; "class": DispatchClass; "partial_fee": bigint; }; type Iei2mvq0mjvt81 = { "inclusion_fee"?: ({ "base_fee": bigint; "len_fee": bigint; "adjusted_weight_fee": bigint; }) | undefined; "tip": bigint; }; type Ie9sr1iqcg3cgm = ResultPayload; type I1mqgk2tmnn9i2 = (string) | undefined; type I6lr8sctk0bi4e = Array; type I3m5sq54sjdlso = {}; type Ie8hpsm3jhsvo3 = { /** * New value of the `DeliveryFeeFactor`. */ "new_value": bigint; }; type Icsknfl0f6r973 = [number, SS58String, bigint]; type I2brm5b9jij1st = [number, SS58String, SS58String]; type Id32h28hjj1tch = [SS58String, number, number]; type Ie2iqtdb0stqo1 = [Uint8Array, bigint]; type I9eir063evtfb6 = Array; type I8t4pajubp34g3 = { "insert_counter": number; "delete_counter": number; }; type I4totqt881mlti = FixedSizeArray<4, bigint>; type Ic4rgfgksgmm3e = (Anonymize$1) | undefined; type Ieap15h2pjii9u = Array<{ "address": SizedHex<20>; "storage_keys": Anonymize$1; }>; type If7b8240vgt2q5 = (SizedHex<20>) | undefined; type I6o6dmud53u1fj = [number, number, SS58String]; type If7bmpttbdmqu4 = AnonymousEnum$1<{ "Refund": bigint; "Charge": bigint; }>; type I620n7irgfspm4 = { "flags": number; "data": Uint8Array; }; type I9sijb8gfrns29 = AnonymousEnum$1<{ "Upload": Uint8Array; "Existing": SizedHex<32>; }>; type Icjs1v5avc8kdj = { "code_hash": SizedHex<32>; "deposit": bigint; }; type I1mp6vnoh32l4q = AnonymousEnum$1<{ /** * Signature is invalid. */ "InvalidSignature": undefined; /** * Pre-log is present, therefore transact is not allowed. */ "PreLogExists": undefined; }>; type Iao8h4hv7atnq3 = AnonymousEnum$1<{ /** * An account was created with some free balance. */ "Endowed": Anonymize$1; /** * An account was removed whose balance was non-zero but below ExistentialDeposit, * resulting in an outright loss. */ "DustLost": Anonymize$1; /** * Transfer succeeded. */ "Transfer": Anonymize$1; /** * A balance was set by root. */ "BalanceSet": Anonymize$1; /** * Some balance was reserved (moved from free to reserved). */ "Reserved": Anonymize$1; /** * Some balance was unreserved (moved from reserved to free). */ "Unreserved": Anonymize$1; /** * Some balance was moved from the reserve of the first account to the second account. * Final argument indicates the destination balance type. */ "ReserveRepatriated": Anonymize$1; /** * Some amount was deposited (e.g. for transaction fees). */ "Deposit": Anonymize$1; /** * Some amount was withdrawn from the account (e.g. for transaction fees). */ "Withdraw": Anonymize$1; /** * Some amount was removed from the account (e.g. for misbehavior). */ "Slashed": Anonymize$1; /** * Some amount was minted into an account. */ "Minted": Anonymize$1; /** * Some amount was burned from an account. */ "Burned": Anonymize$1; /** * Some amount was suspended from an account (it can be restored later). */ "Suspended": Anonymize$1; /** * Some amount was restored into an account. */ "Restored": Anonymize$1; /** * An account was upgraded. */ "Upgraded": Anonymize$1; /** * Total issuance was increased by `amount`, creating a credit to be balanced. */ "Issued": Anonymize$1; /** * Total issuance was decreased by `amount`, creating a debt to be balanced. */ "Rescinded": Anonymize$1; /** * Some balance was locked. */ "Locked": Anonymize$1; /** * Some balance was unlocked. */ "Unlocked": Anonymize$1; /** * Some balance was frozen. */ "Frozen": Anonymize$1; /** * Some balance was thawed. */ "Thawed": Anonymize$1; /** * The `TotalIssuance` was forcefully changed. */ "TotalIssuanceForced": Anonymize$1; }>; type I9k071kk4cn1u8 = AnonymousEnum$1<{ /** * Ethereum events from contracts. */ "Log": Anonymize$1; /** * A contract has been created at given address. */ "Created": Anonymize$1; /** * A contract was attempted to be created, but the execution failed. */ "CreatedFailed": Anonymize$1; /** * A contract has been executed successfully with states applied. */ "Executed": Anonymize$1; /** * A contract has been executed with errors. States are reverted with only gas fees applied. */ "ExecutedFailed": Anonymize$1; }>; type Ifmc9boeeia623 = { "log": Anonymize$1; }; type I10qb03fpuk6em = { "address": SizedHex<20>; "topics": Anonymize$1; "data": Uint8Array; }; type Itmchvgqfl28g = { "address": SizedHex<20>; }; type I510u4q1qqh897 = AnonymousEnum$1<{ /** * An ethereum transaction was successfully executed. */ "Executed": Anonymize$1; }>; type Iea4g5ovhnolus = { "from": SizedHex<20>; "to": SizedHex<20>; "transaction_hash": SizedHex<32>; "exit_reason": Anonymize$1; "extra_data": Uint8Array; }; type Iag9iovb9j5ijo = AnonymousEnum$1<{ "Succeed": Enum<{ "Stopped": undefined; "Returned": undefined; "Suicided": undefined; }>; "Error": Anonymize$1; "Revert": Enum<{ "Reverted": undefined; }>; "Fatal": Enum<{ "NotSupported": undefined; "UnhandledInterrupt": undefined; "CallErrorAsFatal": Anonymize$1; "Other": string; }>; }>; type I5ksr7ru2gk4nh = AnonymousEnum$1<{ "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; }>; type I9bin2jc70qt6q = Array>; type I9hp9au9bfqil7 = AnonymousEnum$1<{ "EthereumTransaction": SizedHex<20>; }>; type I86cdjmsf3a81s = (MultiSignature) | undefined; type MultiSignature = Enum<{ "Ed25519": SizedHex<64>; "Sr25519": SizedHex<64>; "Ecdsa": SizedHex<65>; }>; declare const MultiSignature: GetEnum; type Idcabvplu05lea = { "address": SizedHex<20>; "value": bigint; }; type Id38gdpcotl637 = { "source": SizedHex<20>; "target": SizedHex<20>; "input": Uint8Array; "value": Anonymize$1; "gas_limit": bigint; "max_fee_per_gas": Anonymize$1; "max_priority_fee_per_gas"?: Anonymize$1; "nonce"?: Anonymize$1; "access_list": Anonymize$1; "authorization_list": Anonymize$1; }; type I1bsfec060j604 = Array<[SizedHex<20>, Anonymize$1]>; type Idg0qi60379vnh = Array<{ "chain_id": bigint; "address": SizedHex<20>; "nonce": Anonymize$1; "signature": Anonymize$1; }>; type I9veufneid0sta = { "odd_y_parity": boolean; "r": SizedHex<32>; "s": SizedHex<32>; }; type I73q3qf5u7nnqg = { "source": SizedHex<20>; "init": Uint8Array; "value": Anonymize$1; "gas_limit": bigint; "max_fee_per_gas": Anonymize$1; "max_priority_fee_per_gas"?: Anonymize$1; "nonce"?: Anonymize$1; "access_list": Anonymize$1; "authorization_list": Anonymize$1; }; type Idpm1bc2cr6dgj = { "source": SizedHex<20>; "init": Uint8Array; "salt": SizedHex<32>; "value": Anonymize$1; "gas_limit": bigint; "max_fee_per_gas": Anonymize$1; "max_priority_fee_per_gas"?: Anonymize$1; "nonce"?: Anonymize$1; "access_list": Anonymize$1; "authorization_list": Anonymize$1; }; type I3lo8is2egp8k4 = AnonymousEnum$1<{ /** * Transact an Ethereum transaction. */ "transact": Anonymize$1; }>; type I13qib3vtm9cs3 = { "transaction": Anonymize$1; }; type Ibjuap2vk03rp6 = AnonymousEnum$1<{ "Legacy": { "nonce": Anonymize$1; "gas_price": Anonymize$1; "gas_limit": Anonymize$1; "action": Anonymize$1; "value": Anonymize$1; "input": Uint8Array; "signature": { "v": bigint; "r": SizedHex<32>; "s": SizedHex<32>; }; }; "EIP2930": { "chain_id": bigint; "nonce": Anonymize$1; "gas_price": Anonymize$1; "gas_limit": Anonymize$1; "action": Anonymize$1; "value": Anonymize$1; "input": Uint8Array; "access_list": Anonymize$1; "signature": Anonymize$1; }; "EIP1559": { "chain_id": bigint; "nonce": Anonymize$1; "max_priority_fee_per_gas": Anonymize$1; "max_fee_per_gas": Anonymize$1; "gas_limit": Anonymize$1; "action": Anonymize$1; "value": Anonymize$1; "input": Uint8Array; "access_list": Anonymize$1; "signature": Anonymize$1; }; "EIP7702": { "chain_id": bigint; "nonce": Anonymize$1; "max_priority_fee_per_gas": Anonymize$1; "max_fee_per_gas": Anonymize$1; "gas_limit": Anonymize$1; "destination": Anonymize$1; "value": Anonymize$1; "data": Uint8Array; "access_list": Anonymize$1; "authorization_list": Anonymize$1; "signature": Anonymize$1; }; }>; type I2do93a3gr3ege = AnonymousEnum$1<{ "Call": SizedHex<20>; "Create": undefined; }>; type Ic3orq32is6lrl = [SS58String, bigint, bigint]; type I2j729bmgsdiuo = [bigint, bigint]; type I7jidl7qnnq87c = { "size": bigint; "hash": SizedHex<32>; }; type I82cps8ng2jtug = [SizedHex<20>, SizedHex<32>]; type Ic3l568el19b24 = [Anonymize$1, Anonymize$1, Anonymize$1]; type Ifoernv5r40rfc = { "transaction_hash": SizedHex<32>; "transaction_index": number; "from": SizedHex<20>; "to"?: Anonymize$1; "contract_address"?: Anonymize$1; "logs": Anonymize$1; "logs_bloom": SizedHex<256>; }; type Ids7ng2qsv7snu = Array>; type Ideko6oeomboa6 = AnonymousEnum$1<{ "Legacy": { "status_code": number; "used_gas": Anonymize$1; "logs_bloom": SizedHex<256>; "logs": Anonymize$1; }; "EIP2930": { "status_code": number; "used_gas": Anonymize$1; "logs_bloom": SizedHex<256>; "logs": Anonymize$1; }; "EIP1559": { "status_code": number; "used_gas": Anonymize$1; "logs_bloom": SizedHex<256>; "logs": Anonymize$1; }; "EIP7702": { "status_code": number; "used_gas": Anonymize$1; "logs_bloom": SizedHex<256>; "logs": Anonymize$1; }; }>; type Ib0hfhkohlekcj = { "header": Anonymize$1; "transactions": Anonymize$1; "ommers": Array>; }; 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$1; "number": Anonymize$1; "gas_limit": Anonymize$1; "gas_used": Anonymize$1; "timestamp": bigint; "extra_data": Uint8Array; "mix_hash": SizedHex<32>; "nonce": SizedHex<8>; }; type Ie30stbbeaul1o = Array>; type I32lgu058i52q9 = Array>; type Ie7atdsih6q14b = Array>; type If08sfhqn8ujfr = { "balance": Anonymize$1; "nonce": Anonymize$1; }; type I3dj14b7k3rkm5 = (Anonymize$1) | undefined; type Ic5egmm215ml6k = (Anonymize$1) | undefined; type I7ag5k7bmmgq3j = { "exit_reason": Anonymize$1; "value": Uint8Array; "used_gas": Anonymize$1; "weight_info"?: Anonymize$1; "logs": Anonymize$1; }; type I8mgv59to1hjie = { "standard": Anonymize$1; "effective": Anonymize$1; }; type Ib72ii9bshc8f5 = ({ "ref_time_limit"?: Anonymize$1; "proof_size_limit"?: Anonymize$1; "ref_time_usage"?: Anonymize$1; "proof_size_usage"?: Anonymize$1; }) | undefined; type Ie3rl25flint9v = { "exit_reason": Anonymize$1; "value": SizedHex<20>; "used_gas": Anonymize$1; "weight_info"?: Anonymize$1; "logs": Anonymize$1; }; type I5fvdd841odbi3 = (Anonymize$1) | undefined; type I35vouom6s9r2 = (Anonymize$1) | undefined; type Ie6kgk6f04rsvk = (Anonymize$1) | undefined; type Ifgqf2rskq94om = [Anonymize$1, Anonymize$1, Anonymize$1]; type I7aold6s47n103 = [Anonymize$1, Anonymize$1]; type Iaug04qjhbli00 = AnonymousEnum$1<{ "RequireSudo": undefined; }>; type I5rtkmhm2dng4u = { "old"?: Anonymize$1; "new": SS58String; }; type I4gqmlq9k6jlk3 = Array>; type Id9gg5o2vv1ood = Array<{ "phase": Phase; "event": Enum<{ "System": Anonymize$1; "Grandpa": GrandpaEvent; "Balances": Anonymize$1; "TransactionPayment": TransactionPaymentEvent; "SubtensorModule": Anonymize$1; "Utility": Anonymize$1; "Sudo": Anonymize$1; "Multisig": Anonymize$1; "Preimage": PreimageEvent; "Scheduler": Anonymize$1; "Proxy": Anonymize$1; "Registry": Anonymize$1; "Commitments": Anonymize$1; "AdminUtils": Anonymize$1; "SafeMode": Anonymize$1; "Ethereum": Anonymize$1; "EVM": Anonymize$1; "BaseFee": Anonymize$1; "Drand": Anonymize$1; "Crowdloan": Anonymize$1; "Swap": Anonymize$1; "Contracts": Anonymize$1; "MevShield": Anonymize$1; }>; "topics": Anonymize$1; }>; type I9icso9lpsi0la = AnonymousEnum$1<{ /** * An extrinsic completed successfully. */ "ExtrinsicSuccess": Anonymize$1; /** * An extrinsic failed. */ "ExtrinsicFailed": Anonymize$1; /** * `:code` was updated. */ "CodeUpdated": undefined; /** * A new account was created. */ "NewAccount": Anonymize$1; /** * An account was reaped. */ "KilledAccount": Anonymize$1; /** * On on-chain remark happened. */ "Remarked": Anonymize$1; /** * An upgrade was authorized. */ "UpgradeAuthorized": Anonymize$1; /** * An invalid authorized upgrade was rejected while trying to apply it. */ "RejectedInvalidAuthorizedUpgrade": Anonymize$1; }>; type I5h6phktu717sp = { "dispatch_error": Anonymize$1; "dispatch_info": Anonymize$1; }; type I62280g7b41n4c = AnonymousEnum$1<{ "Other": undefined; "CannotLookup": undefined; "BadOrigin": undefined; "Module": Enum<{ "System": Anonymize$1; "RandomnessCollectiveFlip": undefined; "Timestamp": undefined; "Aura": undefined; "Grandpa": Anonymize$1; "Balances": Anonymize$1; "TransactionPayment": undefined; "SubtensorModule": Anonymize$1; "Utility": Anonymize$1; "Sudo": Anonymize$1; "Multisig": Anonymize$1; "Preimage": Anonymize$1; "Scheduler": Anonymize$1; "Proxy": Anonymize$1; "Registry": Anonymize$1; "Commitments": Anonymize$1; "AdminUtils": Anonymize$1; "SafeMode": Anonymize$1; "Ethereum": Anonymize$1; "EVM": Anonymize$1; "EVMChainId": undefined; "BaseFee": undefined; "Drand": Anonymize$1; "Crowdloan": Anonymize$1; "Swap": Anonymize$1; "Contracts": Anonymize$1; "MevShield": Anonymize$1; "AlphaAssets": undefined; }>; "ConsumerRemaining": undefined; "NoProviders": undefined; "TooManyConsumers": undefined; "Token": TokenError; "Arithmetic": ArithmeticError; "Transactional": TransactionalError; "Exhausted": undefined; "Corruption": undefined; "Unavailable": undefined; "RootNotAllowed": undefined; "Trie": Anonymize$1; }>; type I5au8be8249k2a = AnonymousEnum$1<{ /** * The root network does not exist. */ "RootNetworkDoesNotExist": undefined; /** * The user is trying to serve an axon which is not of type 4 (IPv4) or 6 (IPv6). */ "InvalidIpType": undefined; /** * An invalid IP address is passed to the serve function. */ "InvalidIpAddress": undefined; /** * An invalid port is passed to the serve function. */ "InvalidPort": undefined; /** * The hotkey is not registered in subnet */ "HotKeyNotRegisteredInSubNet": undefined; /** * The hotkey does not exists */ "HotKeyAccountNotExists": undefined; /** * The hotkey is not registered in any subnet. */ "HotKeyNotRegisteredInNetwork": undefined; /** * Request to stake, unstake or subscribe is made by a coldkey that is not associated with * the hotkey account. */ "NonAssociatedColdKey": undefined; /** * DEPRECATED: Stake amount to withdraw is zero. * The caller does not have enought stake to perform this action. */ "NotEnoughStake": undefined; /** * The caller is requesting removing more stake than there exists in the staking account. * See: "[remove_stake()]". */ "NotEnoughStakeToWithdraw": undefined; /** * The caller is requesting to set weights but the caller has less than minimum stake * required to set weights (less than WeightsMinStake). */ "NotEnoughStakeToSetWeights": undefined; /** * The parent hotkey doesn't have enough own stake to set childkeys. */ "NotEnoughStakeToSetChildkeys": undefined; /** * The caller is requesting adding more stake than there exists in the coldkey account. * See: "[add_stake()]" */ "NotEnoughBalanceToStake": undefined; /** * The caller is trying to add stake, but for some reason the requested amount could not be * withdrawn from the coldkey account. */ "BalanceWithdrawalError": undefined; /** * Unsuccessfully withdraw, balance could be zero (can not make account exist) after * withdrawal. */ "ZeroBalanceAfterWithdrawn": undefined; /** * The caller is attempting to set non-self weights without being a permitted validator. */ "NeuronNoValidatorPermit": undefined; /** * The caller is attempting to set the weight keys and values but these vectors have * different size. */ "WeightVecNotEqualSize": undefined; /** * The caller is attempting to set weights with duplicate UIDs in the weight matrix. */ "DuplicateUids": undefined; /** * The caller is attempting to set weight to at least one UID that does not exist in the * metagraph. */ "UidVecContainInvalidOne": undefined; /** * The dispatch is attempting to set weights on chain with fewer elements than are allowed. */ "WeightVecLengthIsLow": undefined; /** * Number of registrations in this block exceeds the allowed number (i.e., exceeds the * subnet hyperparameter "max_regs_per_block"). */ "TooManyRegistrationsThisBlock": undefined; /** * The caller is requesting registering a neuron which already exists in the active set. */ "HotKeyAlreadyRegisteredInSubNet": undefined; /** * The new hotkey is the same as old one */ "NewHotKeyIsSameWithOld": undefined; /** * The new hotkey has outstanding root claimable or non-zero root stake, * so the root rate-book cannot be merged without misallocating dividends. */ "NewHotKeyNotCleanForRootSwap": undefined; /** * The supplied PoW hash block is in the future or negative. */ "InvalidWorkBlock": undefined; /** * The supplied PoW hash block does not meet the network difficulty. */ "InvalidDifficulty": undefined; /** * The supplied PoW hash seal does not match the supplied work. */ "InvalidSeal": undefined; /** * The dispatch is attempting to set weights on chain with weight value exceeding the * configured max weight limit (currently `u16::MAX`). */ "MaxWeightExceeded": undefined; /** * The hotkey is attempting to become a delegate when the hotkey is already a delegate. */ "HotKeyAlreadyDelegate": undefined; /** * A transactor exceeded the rate limit for setting weights. */ "SettingWeightsTooFast": undefined; /** * A validator is attempting to set weights from a validator with incorrect weight version. */ "IncorrectWeightVersionKey": undefined; /** * An axon or prometheus serving exceeded the rate limit for a registered neuron. */ "ServingRateLimitExceeded": undefined; /** * The caller is attempting to set weights with more UIDs than allowed. */ "UidsLengthExceedUidsInSubNet": undefined; /** * A transactor exceeded the rate limit for add network transaction. */ "NetworkTxRateLimitExceeded": undefined; /** * A transactor exceeded the rate limit for delegate transaction. */ "DelegateTxRateLimitExceeded": undefined; /** * A transactor exceeded the rate limit for setting or swapping hotkey. */ "HotKeySetTxRateLimitExceeded": undefined; /** * A transactor exceeded the rate limit for staking. */ "StakingRateLimitExceeded": undefined; /** * Registration is disabled. */ "SubNetRegistrationDisabled": undefined; /** * The number of registration attempts exceeded the allowed number in the interval. */ "TooManyRegistrationsThisInterval": undefined; /** * The hotkey is required to be the origin. */ "TransactorAccountShouldBeHotKey": undefined; /** * Faucet is disabled. */ "FaucetDisabled": undefined; /** * Not a subnet owner. */ "NotSubnetOwner": undefined; /** * Operation is not permitted on the root subnet. */ "RegistrationNotPermittedOnRootSubnet": undefined; /** * A hotkey with too little stake is attempting to join the root subnet. */ "StakeTooLowForRoot": undefined; /** * All subnets are in the immunity period. */ "AllNetworksInImmunity": undefined; /** * Not enough balance to pay swapping hotkey. */ "NotEnoughBalanceToPaySwapHotKey": undefined; /** * Netuid does not match for setting root network weights. */ "NotRootSubnet": undefined; /** * Can not set weights for the root network. */ "CanNotSetRootNetworkWeights": undefined; /** * No neuron ID is available. */ "NoNeuronIdAvailable": undefined; /** * Delegate take is too low. */ "DelegateTakeTooLow": undefined; /** * Delegate take is too high. */ "DelegateTakeTooHigh": undefined; /** * No commit found for the provided hotkey+netuid combination when attempting to reveal the * weights. */ "NoWeightsCommitFound": undefined; /** * Committed hash does not equal the hashed reveal data. */ "InvalidRevealCommitHashNotMatch": undefined; /** * Attempting to call set_weights when commit/reveal is enabled */ "CommitRevealEnabled": undefined; /** * Attemtping to commit/reveal weights when disabled. */ "CommitRevealDisabled": undefined; /** * Attempting to set alpha high/low while disabled */ "LiquidAlphaDisabled": undefined; /** * Alpha high is too low: alpha_high > 0.8 */ "AlphaHighTooLow": undefined; /** * Alpha low is out of range: alpha_low > 0 && alpha_low < 0.8 */ "AlphaLowOutOfRange": undefined; /** * The coldkey has already been swapped */ "ColdKeyAlreadyAssociated": undefined; /** * The coldkey balance is not enough to pay for the swap */ "NotEnoughBalanceToPaySwapColdKey": undefined; /** * Attempting to set an invalid child for a hotkey on a network. */ "InvalidChild": undefined; /** * Duplicate child when setting children. */ "DuplicateChild": undefined; /** * Proportion overflow when setting children. */ "ProportionOverflow": undefined; /** * Too many children MAX 5. */ "TooManyChildren": undefined; /** * Default transaction rate limit exceeded. */ "TxRateLimitExceeded": undefined; /** * Coldkey swap announcement not found */ "ColdkeySwapAnnouncementNotFound": undefined; /** * Coldkey swap too early. */ "ColdkeySwapTooEarly": undefined; /** * Coldkey swap reannounced too early. */ "ColdkeySwapReannouncedTooEarly": undefined; /** * The announced coldkey hash does not match the new coldkey hash. */ "AnnouncedColdkeyHashDoesNotMatch": undefined; /** * Coldkey swap already disputed */ "ColdkeySwapAlreadyDisputed": undefined; /** * New coldkey is hotkey */ "NewColdKeyIsHotkey": undefined; /** * Childkey take is invalid. */ "InvalidChildkeyTake": undefined; /** * Childkey take rate limit exceeded. */ "TxChildkeyTakeRateLimitExceeded": undefined; /** * Invalid identity. */ "InvalidIdentity": undefined; /** * Subnet mechanism does not exist. */ "MechanismDoesNotExist": undefined; /** * Trying to unstake or re-lock the locked amount. */ "StakeUnavailable": undefined; /** * Trying to perform action on non-existent subnet. */ "SubnetNotExists": undefined; /** * Maximum commit limit reached */ "TooManyUnrevealedCommits": undefined; /** * Attempted to reveal weights that are expired. */ "ExpiredWeightCommit": undefined; /** * Attempted to reveal weights too early. */ "RevealTooEarly": undefined; /** * Attempted to batch reveal weights with mismatched vector input lenghts. */ "InputLengthsUnequal": undefined; /** * A transactor exceeded the rate limit for setting weights. */ "CommittingWeightsTooFast": undefined; /** * Stake amount is too low. */ "AmountTooLow": undefined; /** * Not enough liquidity. */ "InsufficientLiquidity": undefined; /** * Slippage is too high for the transaction. */ "SlippageTooHigh": undefined; /** * Subnet disallows transfer. */ "TransferDisallowed": undefined; /** * Activity cutoff is being set too low. */ "ActivityCutoffTooLow": undefined; /** * Call is disabled */ "CallDisabled": undefined; /** * FirstEmissionBlockNumber is already set. */ "FirstEmissionBlockNumberAlreadySet": undefined; /** * need wait for more blocks to accept the start call extrinsic. */ "NeedWaitingMoreBlocksToStarCall": undefined; /** * Not enough AlphaOut on the subnet to recycle */ "NotEnoughAlphaOutToRecycle": undefined; /** * Cannot burn or recycle TAO from root subnet */ "CannotBurnOrRecycleOnRootSubnet": undefined; /** * Public key cannot be recovered. */ "UnableToRecoverPublicKey": undefined; /** * Recovered public key is invalid. */ "InvalidRecoveredPublicKey": undefined; /** * SubToken disabled now */ "SubtokenDisabled": undefined; /** * Too frequent hotkey swap on subnet */ "HotKeySwapOnSubnetIntervalNotPassed": undefined; /** * Zero max stake amount */ "ZeroMaxStakeAmount": undefined; /** * Invalid netuid duplication */ "SameNetuid": undefined; /** * The caller does not have enough balance for the operation. */ "InsufficientBalance": undefined; /** * Too frequent staking operations */ "StakingOperationRateLimitExceeded": undefined; /** * Invalid lease beneficiary to register the leased network. */ "InvalidLeaseBeneficiary": undefined; /** * Lease cannot end in the past. */ "LeaseCannotEndInThePast": undefined; /** * Couldn't find the lease netuid. */ "LeaseNetuidNotFound": undefined; /** * Lease does not exist. */ "LeaseDoesNotExist": undefined; /** * Lease has no end block. */ "LeaseHasNoEndBlock": undefined; /** * Lease has not ended. */ "LeaseHasNotEnded": undefined; /** * An overflow occurred. */ "Overflow": undefined; /** * Beneficiary does not own hotkey. */ "BeneficiaryDoesNotOwnHotkey": undefined; /** * Expected beneficiary origin. */ "ExpectedBeneficiaryOrigin": undefined; /** * Admin operation is prohibited during the protected weights window */ "AdminActionProhibitedDuringWeightsWindow": undefined; /** * Symbol does not exist. */ "SymbolDoesNotExist": undefined; /** * Symbol already in use. */ "SymbolAlreadyInUse": undefined; /** * Incorrect commit-reveal version. */ "IncorrectCommitRevealVersion": undefined; /** * Reveal period is too large. */ "RevealPeriodTooLarge": undefined; /** * Reveal period is too small. */ "RevealPeriodTooSmall": undefined; /** * Generic error for out-of-range parameter value */ "InvalidValue": undefined; /** * Subnet limit reached & there is no eligible subnet to prune */ "SubnetLimitReached": undefined; /** * Insufficient funds to meet the subnet lock cost */ "CannotAffordLockCost": undefined; /** * exceeded the rate limit for associating an EVM key. */ "EvmKeyAssociateRateLimitExceeded": undefined; /** * Same auto stake hotkey already set */ "SameAutoStakeHotkeyAlreadySet": undefined; /** * The UID map for the subnet could not be cleared */ "UidMapCouldNotBeCleared": undefined; /** * Trimming would exceed the max immune neurons percentage */ "TrimmingWouldExceedMaxImmunePercentage": undefined; /** * Violating the rules of Childkey-Parentkey consistency */ "ChildParentInconsistency": undefined; /** * Invalid number of root claims */ "InvalidNumRootClaim": undefined; /** * Invalid value of root claim threshold */ "InvalidRootClaimThreshold": undefined; /** * Exceeded subnet limit number or zero. */ "InvalidSubnetNumber": undefined; /** * The maximum allowed UIDs times mechanism count should not exceed 256. */ "TooManyUIDsPerMechanism": undefined; /** * Voting power tracking is not enabled for this subnet. */ "VotingPowerTrackingNotEnabled": undefined; /** * Invalid voting power EMA alpha value (must be <= 10^18). */ "InvalidVotingPowerEmaAlpha": undefined; /** * Deprecated call. */ "Deprecated": undefined; /** * "Add stake and burn" exceeded the operation rate limit */ "AddStakeBurnRateLimitExceeded": undefined; /** * A coldkey swap has been announced for this account. */ "ColdkeySwapAnnounced": undefined; /** * A coldkey swap for this account is under dispute. */ "ColdkeySwapDisputed": undefined; /** * Coldkey swap clear too early. */ "ColdkeySwapClearTooEarly": undefined; /** * Disabled temporarily. */ "DisabledTemporarily": undefined; /** * Registration Price Limit Exceeded */ "RegistrationPriceLimitExceeded": undefined; /** * Lock hotkey mismatch: existing lock is for a different hotkey. */ "LockHotkeyMismatch": undefined; /** * Insufficient stake on subnet to cover the lock amount. */ "InsufficientStakeForLock": undefined; /** * No existing lock found for the given coldkey and subnet. */ "NoExistingLock": undefined; /** * There is already an active lock for the given coldkey. */ "ActiveLockExists": undefined; /** * A system account cannot be used in this operation */ "CannotUseSystemAccount": undefined; /** * Trying to unlock more than locked */ "UnlockAmountTooHigh": undefined; /** * The destination coldkey rejects incoming locked alpha. */ "AccountRejectsLockedAlpha": undefined; }>; type I499qmubmch1cg = AnonymousEnum$1<{ /** * Too many calls batched. */ "TooManyCalls": undefined; /** * Bad input data for derived account ID */ "InvalidDerivedAccount": undefined; }>; type I7ae37ntp06co6 = AnonymousEnum$1<{ /** * 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; /** * Invariant violated: deposit recomputation returned None after updating announcements. */ "AnnouncementDepositInvariantViolated": undefined; /** * Failed to derive a valid account id from the provided entropy. */ "InvalidDerivedAccountId": undefined; }>; type Id6jmtdau2lr6l = AnonymousEnum$1<{ /** * Account attempted to register an identity but does not meet the requirements. */ "CannotRegister": undefined; /** * Account passed too many additional fields to their identity */ "TooManyFieldsInIdentityInfo": undefined; /** * Account doesn't have a registered identity */ "NotRegistered": undefined; }>; type I8a8dfn9etteh2 = AnonymousEnum$1<{ /** * Account passed too many additional fields to their commitment */ "TooManyFieldsInCommitmentInfo": undefined; /** * Account is not allowed to make commitments to the chain */ "AccountNotAllowedCommit": undefined; /** * Space Limit Exceeded for the current interval */ "SpaceLimitExceeded": undefined; /** * Indicates that unreserve returned a leftover, which is unexpected. */ "UnexpectedUnreserveLeftover": undefined; }>; type I1fbpo6vtmebfu = AnonymousEnum$1<{ /** * The subnet does not exist, check the netuid parameter */ "SubnetDoesNotExist": undefined; /** * The maximum number of subnet validators must be less than the maximum number of allowed UIDs in the subnet. */ "MaxValidatorsLargerThanMaxUIds": undefined; /** * The maximum number of subnet validators must be more than the current number of UIDs already in the subnet. */ "MaxAllowedUIdsLessThanCurrentUIds": undefined; /** * The maximum value for bonds moving average is reached */ "BondsMovingAverageMaxReached": undefined; /** * Only root can set negative sigmoid steepness values */ "NegativeSigmoidSteepness": undefined; /** * Value not in allowed bounds. */ "ValueNotInBounds": undefined; /** * The minimum allowed UIDs must be less than the current number of UIDs in the subnet. */ "MinAllowedUidsGreaterThanCurrentUids": undefined; /** * The minimum allowed UIDs must be less than the maximum allowed UIDs. */ "MinAllowedUidsGreaterThanMaxAllowedUids": undefined; /** * The maximum allowed UIDs must be greater than the minimum allowed UIDs. */ "MaxAllowedUidsLessThanMinAllowedUids": undefined; /** * The maximum allowed UIDs must be less than the default maximum allowed UIDs. */ "MaxAllowedUidsGreaterThanDefaultMaxAllowedUids": undefined; /** * Bad parameter value */ "InvalidValue": undefined; /** * Operation is not permitted on the root network. */ "NotPermittedOnRootSubnet": undefined; /** * POW Registration has been deprecated */ "POWRegistrationDisabled": undefined; /** * Call is deprecated */ "Deprecated": undefined; }>; type I65gapcjsc3grr = AnonymousEnum$1<{ /** * The safe-mode is (already or still) entered. */ "Entered": undefined; /** * The safe-mode is (already or still) exited. */ "Exited": undefined; /** * This functionality of the pallet is disabled by the configuration. */ "NotConfigured": undefined; /** * There is no balance reserved. */ "NoDeposit": undefined; /** * The account already has a deposit reserved and can therefore not enter or extend again. */ "AlreadyDeposited": undefined; /** * This deposit cannot be released yet. */ "CannotReleaseYet": undefined; /** * An error from the underlying `Currency`. */ "CurrencyError": undefined; }>; type I226s9mgj51cd2 = AnonymousEnum$1<{ /** * 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; /** * Origin is not allowed to perform the operation. */ "NotAllowed": undefined; /** * Address not allowed to deploy contracts either via CREATE or CALL(CREATE). */ "CreateOriginNotAllowed": undefined; }>; type I8veee4gumsdel = AnonymousEnum$1<{ /** * The value retrieved was `None` as no value was previously set. */ "NoneValue": undefined; /** * There was an attempt to increment the value in storage over `u32::MAX`. */ "StorageOverflow": undefined; /** * failed to connect to the */ "DrandConnectionFailure": undefined; /** * the pulse is invalid */ "UnverifiedPulse": undefined; /** * the round number did not increment */ "InvalidRoundNumber": undefined; /** * the pulse could not be verified */ "PulseVerificationError": undefined; }>; type I8eggqquf827jb = AnonymousEnum$1<{ /** * The crowdloan initial deposit is too low. */ "DepositTooLow": undefined; /** * The crowdloan cap is too low. */ "CapTooLow": undefined; /** * The minimum contribution is too low. */ "MinimumContributionTooLow": undefined; /** * The crowdloan cannot end in the past. */ "CannotEndInPast": undefined; /** * The crowdloan block duration is too short. */ "BlockDurationTooShort": undefined; /** * The block duration is too long. */ "BlockDurationTooLong": undefined; /** * The account does not have enough balance to pay for the initial deposit/contribution. */ "InsufficientBalance": undefined; /** * An overflow occurred. */ "Overflow": undefined; /** * The crowdloan id is invalid. */ "InvalidCrowdloanId": undefined; /** * The crowdloan cap has been fully raised. */ "CapRaised": undefined; /** * The contribution period has ended. */ "ContributionPeriodEnded": undefined; /** * The contribution is too low. */ "ContributionTooLow": undefined; /** * The origin of this call is invalid. */ "InvalidOrigin": undefined; /** * The crowdloan has already been finalized. */ "AlreadyFinalized": undefined; /** * The crowdloan contribution period has not ended yet. */ "ContributionPeriodNotEnded": undefined; /** * The contributor has no contribution for this crowdloan. */ "NoContribution": undefined; /** * The crowdloan cap has not been raised. */ "CapNotRaised": undefined; /** * An underflow occurred. */ "Underflow": undefined; /** * Call to dispatch was not found in the preimage storage. */ "CallUnavailable": undefined; /** * The crowdloan is not ready to be dissolved, it still has contributions. */ "NotReadyToDissolve": undefined; /** * The deposit cannot be withdrawn from the crowdloan. */ "DepositCannotBeWithdrawn": undefined; /** * The maximum number of contributors has been reached. */ "MaxContributorsReached": undefined; /** * Exactly one of call or target address must be provided. */ "InvalidFinalizationConfig": undefined; /** * The contributor has already reached the maximum contribution. */ "MaxContributionReached": undefined; /** * The maximum contribution is too low. */ "MaximumContributionTooLow": undefined; /** * The minimum contribution is too high. */ "MinimumContributionTooHigh": undefined; }>; type I581cn6i0ettg7 = AnonymousEnum$1<{ /** * The fee rate is too high */ "FeeRateTooHigh": undefined; /** * The provided amount is insufficient for the swap. */ "InsufficientInputAmount": undefined; /** * The provided liquidity is insufficient for the operation. */ "InsufficientLiquidity": undefined; /** * The operation would exceed the price limit. */ "PriceLimitExceeded": undefined; /** * The caller does not have enough balance for the operation. */ "InsufficientBalance": undefined; /** * Attempted to remove liquidity that does not exist. */ "LiquidityNotFound": undefined; /** * The provided tick range is invalid. */ "InvalidTickRange": undefined; /** * Maximum user positions exceeded */ "MaxPositionsExceeded": undefined; /** * Too many swap steps */ "TooManySwapSteps": undefined; /** * Provided liquidity parameter is invalid (likely too small) */ "InvalidLiquidityValue": undefined; /** * Reserves too low for operation. */ "ReservesTooLow": undefined; /** * The subnet does not exist. */ "MechanismDoesNotExist": undefined; /** * User liquidity operations are disabled for this subnet */ "UserLiquidityDisabled": undefined; /** * The subnet does not have subtoken enabled */ "SubtokenDisabled": undefined; }>; type I2489g9rnboo1t = AnonymousEnum$1<{ /** * 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; /** * The output buffer supplied to a contract API call was too small. */ "OutputBufferTooSmall": 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; /** * The code supplied to `instantiate_with_code` exceeds the limit specified in the * current schedule. */ "CodeTooLarge": 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; /** * The size defined in `T::MaxValueSize` was exceeded. */ "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 subject passed to `seal_random` exceeds the limit. */ "RandomSubjectTooLong": undefined; /** * The amount of topics passed to `seal_deposit_events` exceeds the limit. */ "TooManyTopics": undefined; /** * The chain does not provide a chain extension. Calling the chain extension results * in this error. Note that this usually shouldn't happen as deploying such contracts * is rejected. */ "NoChainExtension": undefined; /** * Failed to decode the XCM program. */ "XCMDecodeFailed": 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. * The only other cause is that a call from a contract into the runtime tried to call back * into `pallet-contracts`. This would make the whole pallet reentrant with regard to * contract code execution which is not supported. */ "ReentranceDenied": 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's code was found to be invalid during validation. * * The most likely cause of this is that an API was used which is not supported by the * node. This happens if an older node is used with a new version of ink!. Try updating * your node to the newest available version. * * A more detailed error can be found on the node console if debug messages are enabled * by supplying `-lruntime::contracts=debug`. */ "CodeRejected": undefined; /** * An indeterministic code was used in a context where this is not permitted. */ "Indeterministic": undefined; /** * A pending migration needs to complete before the extrinsic can be called. */ "MigrationInProgress": undefined; /** * Migrate dispatch call was attempted but no migration was performed. */ "NoMigrationPerformed": 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; }>; type I9nr0khl8rsnc8 = AnonymousEnum$1<{ /** * The announced ML‑KEM encapsulation key length is invalid. */ "BadEncKeyLen": undefined; /** * Unreachable. */ "Unreachable": undefined; /** * Too many pending extrinsics in storage. */ "TooManyPendingExtrinsics": undefined; /** * Weight exceeds the absolute maximum (half of total block weight). */ "WeightExceedsAbsoluteMax": undefined; }>; type I38ohrcfcjfnvj = { "code_hash": SizedHex<32>; "error": Anonymize$1; }; type I234ku189tvvpt = AnonymousEnum$1<{ /** * a new network is added. */ "NetworkAdded": Anonymize$1; /** * a network is removed. */ "NetworkRemoved": number; /** * stake has been transferred from the a coldkey account onto the hotkey staking account. */ "StakeAdded": Anonymize$1; /** * stake has been removed from the hotkey staking account onto the coldkey account. */ "StakeRemoved": Anonymize$1; /** * stake has been moved from origin (hotkey, subnet ID) to destination (hotkey, subnet ID) of this amount (in TAO). */ "StakeMoved": Anonymize$1; /** * a caller successfully sets their weights on a subnetwork. */ "WeightsSet": Anonymize$1; /** * a new neuron account has been registered to the chain. */ "NeuronRegistered": Anonymize$1; /** * multiple uids have been concurrently registered. */ "BulkNeuronsRegistered": Anonymize$1; /** * FIXME: Not used yet */ "BulkBalancesSet": Anonymize$1; /** * max allowed uids has been set for a subnetwork. */ "MaxAllowedUidsSet": Anonymize$1; /** * DEPRECATED: max weight limit updates are no longer supported. */ "MaxWeightLimitSet": Anonymize$1; /** * the difficulty has been set for a subnet. */ "DifficultySet": Anonymize$1; /** * the adjustment interval is set for a subnet. */ "AdjustmentIntervalSet": Anonymize$1; /** * registration per interval is set for a subnet. */ "RegistrationPerIntervalSet": Anonymize$1; /** * we set max registrations per block. */ "MaxRegistrationsPerBlockSet": Anonymize$1; /** * an activity cutoff is set for a subnet. */ "ActivityCutoffSet": Anonymize$1; /** * Rho value is set. */ "RhoSet": Anonymize$1; /** * steepness of the sigmoid used to compute alpha values. */ "AlphaSigmoidSteepnessSet": Anonymize$1; /** * Kappa is set for a subnet. */ "KappaSet": Anonymize$1; /** * minimum allowed weight is set for a subnet. */ "MinAllowedWeightSet": Anonymize$1; /** * the validator pruning length has been set. */ "ValidatorPruneLenSet": Anonymize$1; /** * the scaling law power has been set for a subnet. */ "ScalingLawPowerSet": Anonymize$1; /** * weights set rate limit has been set for a subnet. */ "WeightsSetRateLimitSet": Anonymize$1; /** * immunity period is set for a subnet. */ "ImmunityPeriodSet": Anonymize$1; /** * bonds moving average is set for a subnet. */ "BondsMovingAverageSet": Anonymize$1; /** * bonds penalty is set for a subnet. */ "BondsPenaltySet": Anonymize$1; /** * bonds reset is set for a subnet. */ "BondsResetOnSet": Anonymize$1; /** * setting the max number of allowed validators on a subnet. */ "MaxAllowedValidatorsSet": Anonymize$1; /** * the axon server information is added to the network. */ "AxonServed": Anonymize$1; /** * the prometheus server information is added to the network. */ "PrometheusServed": Anonymize$1; /** * a hotkey has become a delegate. */ "DelegateAdded": Anonymize$1; /** * the default take is set. */ "DefaultTakeSet": number; /** * weights version key is set for a network. */ "WeightsVersionKeySet": Anonymize$1; /** * setting min difficulty on a network. */ "MinDifficultySet": Anonymize$1; /** * setting max difficulty on a network. */ "MaxDifficultySet": Anonymize$1; /** * setting the prometheus serving rate limit. */ "ServingRateLimitSet": Anonymize$1; /** * setting burn on a network. */ "BurnSet": Anonymize$1; /** * setting max burn on a network. */ "MaxBurnSet": Anonymize$1; /** * setting min burn on a network. */ "MinBurnSet": Anonymize$1; /** * setting the transaction rate limit. */ "TxRateLimitSet": bigint; /** * setting the delegate take transaction rate limit. */ "TxDelegateTakeRateLimitSet": bigint; /** * setting the childkey take transaction rate limit. */ "TxChildKeyTakeRateLimitSet": bigint; /** * setting the admin freeze window length (last N blocks of tempo) */ "AdminFreezeWindowSet": number; /** * setting the owner hyperparameter rate limit in epochs */ "OwnerHyperparamRateLimitSet": number; /** * minimum childkey take set */ "MinChildKeyTakeSet": number; /** * subnet-specific minimum childkey take set */ "MinChildKeyTakePerSubnetSet": Anonymize$1; /** * maximum childkey take set */ "MaxChildKeyTakeSet": number; /** * childkey take set */ "ChildKeyTakeSet": Anonymize$1; /** * a sudo call is done. */ "Sudid": Anonymize$1; /** * registration is allowed/disallowed for a subnet. */ "RegistrationAllowed": Anonymize$1; /** * POW registration is allowed/disallowed for a subnet. */ "PowRegistrationAllowed": Anonymize$1; /** * setting tempo on a network */ "TempoSet": Anonymize$1; /** * setting the RAO recycled for registration. */ "RAORecycledForRegistrationSet": Anonymize$1; /** * min stake is set for validators to set weights. */ "StakeThresholdSet": bigint; /** * setting the adjustment alpha on a subnet. */ "AdjustmentAlphaSet": Anonymize$1; /** * the faucet it called on the test net. */ "Faucet": Anonymize$1; /** * the subnet owner cut is set. */ "SubnetOwnerCutSet": number; /** * the network creation rate limit is set. */ "NetworkRateLimitSet": bigint; /** * the network immunity period is set. */ "NetworkImmunityPeriodSet": bigint; /** * the start call delay is set. */ "StartCallDelaySet": bigint; /** * the network minimum locking cost is set. */ "NetworkMinLockCostSet": bigint; /** * the maximum number of subnets is set */ "SubnetLimitSet": number; /** * the lock cost reduction is set */ "NetworkLockCostReductionIntervalSet": bigint; /** * the take for a delegate is decreased. */ "TakeDecreased": Anonymize$1; /** * the take for a delegate is increased. */ "TakeIncreased": Anonymize$1; /** * the hotkey is swapped */ "HotkeySwapped": Anonymize$1; /** * maximum delegate take is set by sudo/admin transaction */ "MaxDelegateTakeSet": number; /** * minimum delegate take is set by sudo/admin transaction */ "MinDelegateTakeSet": number; /** * A coldkey swap announcement has been made. */ "ColdkeySwapAnnounced": Anonymize$1; /** * A coldkey swap has been reset. */ "ColdkeySwapReset": Anonymize$1; /** * A coldkey has been swapped. */ "ColdkeySwapped": Anonymize$1; /** * A coldkey swap has been disputed. */ "ColdkeySwapDisputed": Anonymize$1; /** * All balance of a hotkey has been unstaked and transferred to a new coldkey */ "AllBalanceUnstakedAndTransferredToNewColdkey": Anonymize$1; /** * The arbitration period has been extended */ "ArbitrationPeriodExtended": Anonymize$1; /** * Setting of children of a hotkey have been scheduled */ "SetChildrenScheduled": Anonymize$1; /** * The children of a hotkey have been set */ "SetChildren": Anonymize$1; /** * The identity of a coldkey has been set */ "ChainIdentitySet": SS58String; /** * The identity of a subnet has been set */ "SubnetIdentitySet": number; /** * The identity of a subnet has been removed */ "SubnetIdentityRemoved": number; /** * A dissolve network extrinsic scheduled. */ "DissolveNetworkScheduled": Anonymize$1; /** * The coldkey swap announcement delay has been set. */ "ColdkeySwapAnnouncementDelaySet": number; /** * The coldkey swap reannouncement delay has been set. */ "ColdkeySwapReannouncementDelaySet": number; /** * The duration of dissolve network has been set */ "DissolveNetworkScheduleDurationSet": number; /** * Commit-reveal v3 weights have been successfully committed. * * - **who**: The account ID of the user committing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash representing the committed weights. */ "CRV3WeightsCommitted": Anonymize$1; /** * Weights have been successfully committed. * * - **who**: The account ID of the user committing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash representing the committed weights. */ "WeightsCommitted": Anonymize$1; /** * Weights have been successfully revealed. * * - **who**: The account ID of the user revealing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash of the revealed weights. */ "WeightsRevealed": Anonymize$1; /** * Weights have been successfully batch revealed. * * - **who**: The account ID of the user revealing the weights. * - **netuid**: The network identifier. * - **revealed_hashes**: A vector of hashes representing each revealed weight set. */ "WeightsBatchRevealed": Anonymize$1; /** * A batch of weights (or commits) have been force-set. * * - **netuids**: The netuids these weights were successfully set/committed for. * - **who**: The hotkey that set this batch. */ "BatchWeightsCompleted": Anonymize$1; /** * A batch extrinsic completed but with some errors. */ "BatchCompletedWithErrors": undefined; /** * A weight set among a batch of weights failed. * * - **netuid**: The netuid of the batch item that failed. * - **error**: The dispatch error emitted by the failed item. */ "BatchWeightItemFailed": Anonymize$1; /** * Stake has been transferred from one coldkey to another on the same subnet. * Parameters: * (origin_coldkey, destination_coldkey, hotkey, origin_netuid, destination_netuid, amount) */ "StakeTransferred": Anonymize$1; /** * Stake has been swapped from one subnet to another for the same coldkey-hotkey pair. * * Parameters: * (coldkey, hotkey, origin_netuid, destination_netuid, amount) */ "StakeSwapped": Anonymize$1; /** * Event called when transfer is toggled on a subnet. * * Parameters: * (netuid, bool) */ "TransferToggle": Anonymize$1; /** * The owner hotkey for a subnet has been set. * * Parameters: * (netuid, new_hotkey) */ "SubnetOwnerHotkeySet": Anonymize$1; /** * FirstEmissionBlockNumber is set via start call extrinsic * * Parameters: * netuid * block number */ "FirstEmissionBlockNumberSet": Anonymize$1; /** * Alpha has been recycled, reducing AlphaOut on a subnet. * * Parameters: * (coldkey, hotkey, amount, subnet_id) */ "AlphaRecycled": Anonymize$1; /** * Alpha have been burned without reducing AlphaOut. * * Parameters: * (coldkey, hotkey, amount, subnet_id) */ "AlphaBurned": Anonymize$1; /** * An EVM key has been associated with a hotkey. */ "EvmKeyAssociated": Anonymize$1; /** * CRV3 Weights have been successfully revealed. * * - **netuid**: The network identifier. * - **who**: The account ID of the user revealing the weights. */ "CRV3WeightsRevealed": Anonymize$1; /** * Commit-Reveal periods has been successfully set. * * - **netuid**: The network identifier. * - **periods**: The number of epochs before the reveal. */ "CommitRevealPeriodsSet": Anonymize$1; /** * Commit-Reveal has been successfully toggled. * * - **netuid**: The network identifier. * - **Enabled**: Is Commit-Reveal enabled. */ "CommitRevealEnabled": Anonymize$1; /** * the hotkey is swapped */ "HotkeySwappedOnSubnet": Anonymize$1; /** * A subnet lease has been created. */ "SubnetLeaseCreated": Anonymize$1; /** * A subnet lease has been terminated. */ "SubnetLeaseTerminated": Anonymize$1; /** * The symbol for a subnet has been updated. */ "SymbolUpdated": Anonymize$1; /** * Commit Reveal Weights version has been updated. * * - **version**: The required version. */ "CommitRevealVersionSet": number; /** * Timelocked weights have been successfully committed. * * - **who**: The account ID of the user committing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash representing the committed weights. * - **reveal_round**: The round at which weights can be revealed. */ "TimelockedWeightsCommitted": Anonymize$1; /** * Timelocked Weights have been successfully revealed. * * - **netuid**: The network identifier. * - **who**: The account ID of the user revealing the weights. */ "TimelockedWeightsRevealed": Anonymize$1; /** * Auto-staking hotkey received stake */ "AutoStakeAdded": Anonymize$1; /** * End-of-epoch miner incentive alpha by UID */ "IncentiveAlphaEmittedToMiners": Anonymize$1; /** * The minimum allowed UIDs for a subnet have been set. */ "MinAllowedUidsSet": Anonymize$1; /** * The auto stake destination has been set. * * - **coldkey**: The account ID of the coldkey. * - **netuid**: The network identifier. * - **hotkey**: The account ID of the hotkey. */ "AutoStakeDestinationSet": Anonymize$1; /** * The minimum allowed non-Immune UIDs has been set. */ "MinNonImmuneUidsSet": Anonymize$1; /** * Root emissions have been claimed for a coldkey on all subnets and hotkeys. * Parameters: * (coldkey) */ "RootClaimed": Anonymize$1; /** * Root claim type for a coldkey has been set. * Parameters: * (coldkey, u8) */ "RootClaimTypeSet": Anonymize$1; /** * Voting power tracking has been enabled for a subnet. */ "VotingPowerTrackingEnabled": Anonymize$1; /** * Voting power tracking has been scheduled for disabling. * Tracking will continue until disable_at_block, then stop and clear entries. */ "VotingPowerTrackingDisableScheduled": Anonymize$1; /** * Voting power tracking has been fully disabled and entries cleared. */ "VotingPowerTrackingDisabled": Anonymize$1; /** * Voting power EMA alpha has been set for a subnet. */ "VotingPowerEmaAlphaSet": Anonymize$1; /** * Subnet lease dividends have been distributed. */ "SubnetLeaseDividendsDistributed": Anonymize$1; /** * "Add stake and burn" event: alpha token was purchased and burned. */ "AddStakeBurn": Anonymize$1; /** * A coldkey swap announcement has been cleared. */ "ColdkeySwapCleared": Anonymize$1; /** * Transaction fee was paid in Alpha. * * Emitted in addition to `TransactionFeePaid` when the fee payment path is Alpha. * `alpha_fee` is the exact Alpha amount deducted. */ "TransactionFeePaidWithAlpha": Anonymize$1; /** * Burn half-life set for neuron registration. */ "BurnHalfLifeSet": Anonymize$1; /** * Burn increase multiplier set for neuron registration. */ "BurnIncreaseMultSet": Anonymize$1; /** * A root validator toggled the "auto parent delegation" flag. */ "AutoParentDelegationEnabledSet": Anonymize$1; /** * Stake has been locked to a hotkey on a subnet. */ "StakeLocked": Anonymize$1; /** * Stake has been unlocked from a hotkey on a subnet. */ "StakeUnlocked": Anonymize$1; /** * Stake has been unlocked from a hotkey on a subnet. */ "LockMoved": Anonymize$1; /** * Subnet ownership was reassigned by lock conviction. */ "SubnetOwnerChanged": Anonymize$1; /** * A coldkey's perpetual lock flag was updated. */ "PerpetualLockUpdated": Anonymize$1; /** * A coldkey's reject locked alpha account flag was updated. */ "RejectLockedAlphaUpdated": Anonymize$1; }>; type Io45lnue7n40k = [SS58String, SS58String, bigint, bigint, number, bigint]; type I83e4tgdv5ohg1 = [SS58String, SS58String, number, SS58String, number, bigint]; type I39p6ln31i4n46 = [number, boolean]; type I9h5stv9n8usqe = ResultPayload>; type Ifkgc6cte1k96e = { /** * the account ID of coldkey */ "coldkey": SS58String; /** * the account ID of old hotkey */ "old_hotkey": SS58String; /** * the account ID of new hotkey */ "new_hotkey": SS58String; }; type I6kvs2mb8unk0t = { /** * The account ID of the coldkey that made the announcement. */ "who": SS58String; /** * The hash of the new coldkey. */ "new_coldkey_hash": SizedHex<32>; }; type Idbuci3sr3i1f7 = { /** * The account ID of old coldkey. */ "old_coldkey": SS58String; /** * The account ID of new coldkey. */ "new_coldkey": SS58String; }; type I375tmdui1ejfc = { /** * The account ID of the coldkey that was disputed. */ "coldkey": SS58String; }; type I73drt1hl9e70v = { /** * The account ID of the current coldkey */ "current_coldkey": SS58String; /** * The account ID of the new coldkey */ "new_coldkey": SS58String; /** * The total balance of the hotkey */ "total_balance": bigint; }; type I1dm4sip108q0g = [SS58String, number, bigint, Anonymize$1]; type I5n8gpu725k1nu = Array<[bigint, SS58String]>; type Iajgphfb1fka7l = [SS58String, number, Anonymize$1]; type I4hnmf90qkrer9 = { /** * The account ID schedule the dissolve network extrinsic */ "account": SS58String; /** * network ID will be dissolved */ "netuid": number; /** * extrinsic execution block number */ "execution_block": number; }; type Ijsohbv0raf36 = [SS58String, number, SizedHex<32>]; type I4ga01hppthoe1 = [SS58String, number, Anonymize$1]; type I4hckkcv10tcue = [Anonymize$1, SS58String]; type I4plbc5qtlob18 = [number, Anonymize$1]; type If2ieedn10ujdv = [SS58String, SS58String, SS58String, number, number, bigint]; type Iaseh340tnovdh = [SS58String, SS58String, number, number, bigint]; type I8m5umt6snnmlj = [SS58String, SS58String, bigint, number]; type I5aeg4u9kpsp8o = { /** * The subnet that the hotkey belongs to. */ "netuid": number; /** * The hotkey associated with the EVM key. */ "hotkey": SS58String; /** * The EVM key being associated with the hotkey. */ "evm_key": SizedHex<20>; /** * The block where the association happened. */ "block_associated": bigint; }; type I3fsv5f1boeqf3 = { /** * the account ID of coldkey */ "coldkey": SS58String; /** * the account ID of old hotkey */ "old_hotkey": SS58String; /** * the account ID of new hotkey */ "new_hotkey": SS58String; /** * the subnet ID */ "netuid": number; }; type Ifoov68qt28nbm = { /** * The beneficiary of the lease. */ "beneficiary": SS58String; /** * The lease ID */ "lease_id": number; /** * The subnet ID */ "netuid": number; /** * The end block of the lease */ "end_block"?: Anonymize$1; }; type Ib937mhlbop6j7 = { /** * The beneficiary of the lease. */ "beneficiary": SS58String; /** * The subnet ID */ "netuid": number; }; type I62rrikn5vj0p5 = { /** * The subnet ID */ "netuid": number; /** * The symbol that has been updated. */ "symbol": Uint8Array; }; type I838gqvljm75tj = [SS58String, number, SizedHex<32>, bigint]; type I1cu36qostj5d8 = { /** * Subnet identifier. */ "netuid": number; /** * Destination account that received the auto-staked funds. */ "destination": SS58String; /** * Hotkey account whose stake was auto-staked. */ "hotkey": SS58String; /** * Owner (coldkey) account associated with the hotkey. */ "owner": SS58String; /** * Amount of alpha auto-staked. */ "incentive": bigint; }; type I4r2ptfsrl017r = { /** * Subnet identifier. */ "netuid": number; /** * UID-indexed array of miner incentive alpha; index equals UID. */ "emissions": Anonymize$1; }; type Ielglukq9ekcit = { /** * The account ID of the coldkey. */ "coldkey": SS58String; /** * The network identifier. */ "netuid": number; /** * The account ID of the hotkey. */ "hotkey": SS58String; }; type I1clsdhcok4nle = { /** * Claim coldkey */ "coldkey": SS58String; /** * Claim type */ "root_claim_type": Anonymize$1; }; type Iapm6e7vtp0l6r = AnonymousEnum$1<{ "Swap": undefined; "Keep": undefined; "KeepSubnets": Anonymize$1; }>; type I2t4b7068rtebl = { "subnets": Anonymize$1; }; type I6cm4c5a1euio9 = { /** * The subnet ID */ "netuid": number; }; type Iemddv6u2buvfn = { /** * The subnet ID */ "netuid": number; /** * Block at which tracking will be disabled */ "disable_at_block": bigint; }; type I4guv8rii4s6je = { /** * The subnet ID */ "netuid": number; /** * The new alpha value (u64 with 18 decimal precision) */ "alpha": bigint; }; type Ic149bnrif7lpr = { /** * The lease ID */ "lease_id": number; /** * The contributor */ "contributor": SS58String; /** * The amount of alpha distributed */ "alpha": bigint; }; type I89dsvf7sdo4ko = { /** * The subnet ID */ "netuid": number; /** * hotky account ID */ "hotkey": SS58String; /** * Tao provided */ "amount": bigint; /** * Alpha burned */ "alpha": bigint; }; type Iag26k7oo9hkj6 = { /** * Account that paid the transaction fee. */ "who": SS58String; /** * Netuid */ "netuid": number; /** * Exact fee deducted in Alpha units. */ "alpha_fee": bigint; /** * Resulting swapped TAO amount */ "tao_amount": bigint; }; type I2v2nm1sr4ujod = { /** * The subnet identifier. */ "netuid": number; /** * The burn half-life value for neuron registration. */ "burn_half_life": number; }; type Idm5dkv0qkduu6 = { /** * The subnet identifier. */ "netuid": number; /** * The burn increase multiplier value for neuron registration. */ "burn_increase_mult": bigint; }; type Iavmlc8d5lfdju = { /** * The validator hotkey. */ "hotkey": SS58String; /** * Whether delegation is now enabled. */ "enabled": boolean; }; type I81ro80mnm6q0j = { /** * The coldkey that locked the stake. */ "coldkey": SS58String; /** * The hotkey the stake is locked to. */ "hotkey": SS58String; /** * The subnet the stake is locked on. */ "netuid": number; /** * The alpha amount locked. */ "amount": bigint; }; type I5djuolsjqf6rd = { /** * The coldkey that moved the lock. */ "coldkey": SS58String; /** * The hotkey the lock was moved from. */ "origin_hotkey": SS58String; /** * The hotkey the lock was moved to. */ "destination_hotkey": SS58String; /** * The subnet the lock is on. */ "netuid": number; }; type I59tu3mhv1nu2k = { /** * The subnet whose owner changed. */ "netuid": number; /** * The previous owner coldkey. */ "old_coldkey": SS58String; /** * The new owner coldkey. */ "new_coldkey": SS58String; }; type I8je96vk91mnlh = { /** * The coldkey whose flag changed. */ "coldkey": SS58String; /** * The subnet whose coldkey flag changed. */ "netuid": number; /** * Whether this coldkey's locks are now perpetual. */ "enabled": boolean; }; type I1cfcmrqflja7i = { /** * The coldkey whose flag changed. */ "coldkey": SS58String; /** * Whether this coldkey rejects incoming locked alpha. */ "enabled": boolean; }; type I2emkj63bblq9k = AnonymousEnum$1<{ /** * Batch of dispatches did not complete fully. Index of first failing dispatch given, as * well as the error. */ "BatchInterrupted": Anonymize$1; /** * 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": Anonymize$1; /** * A call was dispatched. */ "DispatchedAs": Anonymize$1; /** * Main call was dispatched. */ "IfElseMainSuccess": undefined; /** * The fallback call was dispatched. */ "IfElseFallbackCalled": Anonymize$1; }>; type Ifpud52uv3l2mf = { "index": number; "error": Anonymize$1; }; type I8hmscv68n12u6 = { "error": Anonymize$1; }; type Iev8654snf1em0 = { "result": Anonymize$1; }; type Ia7ucl2hbsnrb0 = { "main_error": Anonymize$1; }; type I8oninu2r2vvj8 = AnonymousEnum$1<{ /** * A sudo call just took place. */ "Sudid": Anonymize$1; /** * The sudo key has been updated. */ "KeyChanged": Anonymize$1; /** * The key was permanently removed. */ "KeyRemoved": undefined; /** * A [sudo_as](Pallet::sudo_as) call just took place. */ "SudoAsDone": Anonymize$1; }>; type Ib3sq5k3621vd9 = { /** * The result of the call made by the sudo user. */ "sudo_result": Anonymize$1; }; type Ic8kpoho645ui9 = AnonymousEnum$1<{ /** * A new multisig operation has begun. */ "NewMultisig": Anonymize$1; /** * A multisig operation has been approved by someone. */ "MultisigApproval": Anonymize$1; /** * A multisig operation has been executed. */ "MultisigExecuted": Anonymize$1; /** * A multisig operation has been cancelled. */ "MultisigCancelled": Anonymize$1; /** * The deposit for a multisig operation has been updated/poked. */ "DepositPoked": Anonymize$1; }>; type I7or1mnlmbk3ra = { "approving": SS58String; "timepoint": Anonymize$1; "multisig": SS58String; "call_hash": SizedHex<32>; "result": Anonymize$1; }; type I3gbp4up1iphit = AnonymousEnum$1<{ /** * Scheduled some task. */ "Scheduled": Anonymize$1; /** * Canceled some task. */ "Canceled": Anonymize$1; /** * Dispatched some task. */ "Dispatched": Anonymize$1; /** * Set a retry configuration for some task. */ "RetrySet": Anonymize$1; /** * Cancel a retry configuration for some task. */ "RetryCancelled": Anonymize$1; /** * The call for the provided hash was not found so the task has been aborted. */ "CallUnavailable": Anonymize$1; /** * The given task was unable to be renewed since the agenda is full at that block. */ "PeriodicFailed": Anonymize$1; /** * 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$1; /** * The given task can never be executed since it is overweight. */ "PermanentlyOverweight": Anonymize$1; /** * Agenda is incomplete from `when`. */ "AgendaIncomplete": Anonymize$1; }>; type Ifpbe1mulekmdo = { "task": Anonymize$1; "id"?: Anonymize$1; "result": Anonymize$1; }; type Iemsp3r1k06l5i = AnonymousEnum$1<{ /** * A proxy was executed correctly, with the given. */ "ProxyExecuted": Anonymize$1; /** * A pure account has been created by new proxy with given * disambiguation index and proxy type. */ "PureCreated": Anonymize$1; /** * A pure proxy was killed by its spawner. */ "PureKilled": Anonymize$1; /** * An announcement was placed to make a call in the future. */ "Announced": Anonymize$1; /** * A proxy was added. */ "ProxyAdded": Anonymize$1; /** * A proxy was removed. */ "ProxyRemoved": Anonymize$1; /** * A deposit stored for proxies or announcements was poked / updated. */ "DepositPoked": Anonymize$1; /** * The real-pays-fee setting was updated for a proxy relationship. */ "RealPaysFeeSet": Anonymize$1; }>; type Iek6442ldi23n3 = { "pure": SS58String; "who": SS58String; "proxy_type": Anonymize$1; "disambiguation_index": number; }; type I8v1041j74kmaj = AnonymousEnum$1<{ "Any": undefined; "Owner": undefined; "NonCritical": undefined; "NonTransfer": undefined; "Senate": undefined; "NonFungible": undefined; "Triumvirate": undefined; "Governance": undefined; "Staking": undefined; "Registration": undefined; "Transfer": undefined; "SmallTransfer": undefined; "RootWeights": undefined; "ChildKeys": undefined; "SudoUncheckedSetCode": undefined; "SwapHotkey": undefined; "SubnetLeaseBeneficiary": undefined; "RootClaim": undefined; }>; type Idpdo54rotesu2 = { "pure": SS58String; "spawner": SS58String; "proxy_type": Anonymize$1; "disambiguation_index": number; }; type Ibco2bqthggul0 = { "delegator": SS58String; "delegatee": SS58String; "proxy_type": Anonymize$1; "delay": number; }; type Ic2lo6kvbsecob = { "real": SS58String; "delegate": SS58String; "pays_fee": boolean; }; type I626vh1cit09ni = AnonymousEnum$1<{ /** * Emitted when a user registers an identity */ "IdentitySet": Anonymize$1; /** * Emitted when a user dissolves an identity */ "IdentityDissolved": Anonymize$1; }>; type I5ohlg8gv4pe9g = AnonymousEnum$1<{ /** * A commitment was set */ "Commitment": Anonymize$1; /** * A timelock-encrypted commitment was set */ "TimelockCommitment": Anonymize$1; /** * A timelock-encrypted commitment was auto-revealed */ "CommitmentRevealed": Anonymize$1; }>; type Idcqgi2844k5he = { /** * The netuid of the commitment */ "netuid": number; /** * The account */ "who": SS58String; }; type Iej2173ou338sm = { /** * The netuid of the commitment */ "netuid": number; /** * The account */ "who": SS58String; /** * The drand round to reveal */ "reveal_round": bigint; }; type I9g3fng1ps8or3 = AnonymousEnum$1<{ /** * Event emitted when a precompile operation is updated. */ "PrecompileUpdated": Anonymize$1; /** * Event emitted when the Yuma3 enable is toggled. */ "Yuma3EnableToggled": Anonymize$1; /** * Event emitted when Bonds Reset is toggled. */ "BondsResetToggled": Anonymize$1; /** * Event emitted when the burn half-life parameter is set for a subnet. */ "BurnHalfLifeSet": Anonymize$1; /** * Event emitted when the burn increase multiplier is set for a subnet. */ "BurnIncreaseMultSet": Anonymize$1; /** * Pool-side subnet emission injections and chain buys were enabled or disabled. */ "SubnetEmissionEnabledSet": Anonymize$1; }>; type I1sj8huj7of8mb = { /** * The type of precompile operation being updated. */ "precompile_id": Anonymize$1; /** * Indicates if the precompile operation is enabled or not. */ "enabled": boolean; }; type I8un1ap2r4hhbj = AnonymousEnum$1<{ "BalanceTransfer": undefined; "Staking": undefined; "Subnet": undefined; "Metagraph": undefined; "Neuron": undefined; "UidLookup": undefined; "Alpha": undefined; "Crowdloan": undefined; "Proxy": undefined; "Leasing": undefined; "AddressMapping": undefined; "VotingPower": undefined; }>; type Ie31ro5s5e089f = { /** * The network identifier. */ "netuid": number; /** * Indicates if the Yuma3 enable was enabled or disabled. */ "enabled": boolean; }; type I3q8c83f5dvokp = AnonymousEnum$1<{ /** * The safe-mode was entered until inclusively this block. */ "Entered": Anonymize$1; /** * The safe-mode was extended until inclusively this block. */ "Extended": Anonymize$1; /** * Exited the safe-mode for a specific reason. */ "Exited": Anonymize$1; /** * An account reserved funds for either entering or extending the safe-mode. */ "DepositPlaced": Anonymize$1; /** * An account had a reserve released that was reserved. */ "DepositReleased": Anonymize$1; /** * An account had reserve slashed that was reserved. */ "DepositSlashed": Anonymize$1; /** * Could not hold funds for entering or extending the safe-mode. * * This error comes from the underlying `Currency`. */ "CannotDeposit": undefined; /** * Could not release funds for entering or extending the safe-mode. * * This error comes from the underlying `Currency`. */ "CannotRelease": undefined; }>; type I20e9ph536u7ti = { "until": number; }; type I8kcpmsh450rp = { "reason": Enum<{ "Timeout": undefined; "Force": undefined; }>; }; type I3bmatomsds8j7 = AnonymousEnum$1<{ "NewBaseFeePerGas": Anonymize$1; "BaseFeeOverflow": undefined; "NewElasticity": Anonymize$1; }>; type I7vi74gbubc8u5 = { "fee": Anonymize$1; }; type I3u0knmtb1ueq7 = { "elasticity": number; }; type Ibdlgbf9b95hbj = AnonymousEnum$1<{ /** * Beacon Configuration has changed. */ "BeaconConfigChanged": undefined; /** * Successfully set a new pulse(s). */ "NewPulse": Anonymize$1; /** * Oldest Stored Round has been set. */ "SetOldestStoredRound": bigint; }>; type I5tf7b5o64mfpl = { "rounds": Anonymize$1; }; type Idt6e28sh9mlt5 = AnonymousEnum$1<{ /** * A crowdloan was created. */ "Created": Anonymize$1; /** * A contribution was made to an active crowdloan. */ "Contributed": Anonymize$1; /** * A contribution was withdrawn from a failed crowdloan. */ "Withdrew": Anonymize$1; /** * A refund was partially processed for a failed crowdloan. */ "PartiallyRefunded": Anonymize$1; /** * A refund was fully processed for a failed crowdloan. */ "AllRefunded": Anonymize$1; /** * A crowdloan was finalized, funds were transferred and the call was dispatched. */ "Finalized": Anonymize$1; /** * A crowdloan was dissolved. */ "Dissolved": Anonymize$1; /** * The minimum contribution was updated. */ "MinContributionUpdated": Anonymize$1; /** * The end was updated. */ "EndUpdated": Anonymize$1; /** * The cap was updated. */ "CapUpdated": Anonymize$1; /** * The maximum contribution was updated. */ "MaxContributionUpdated": Anonymize$1; }>; type If71d2q730qf6n = { "crowdloan_id": number; "creator": SS58String; "end": number; "cap": bigint; }; type If0sk51c1n7ri8 = { "crowdloan_id": number; "contributor": SS58String; "amount": bigint; }; type I5dueehi6i2dg9 = { "crowdloan_id": number; }; type I64ev05f6q10es = { "crowdloan_id": number; "new_min_contribution": bigint; }; type Ikc5h15joooak = { "crowdloan_id": number; "new_end": number; }; type Ie8f436ua5fs59 = { "crowdloan_id": number; "new_cap": bigint; }; type I9braq9qhpo8fl = { "crowdloan_id": number; "new_max_contribution"?: Anonymize$1; }; type I6qodidnq3s4e1 = AnonymousEnum$1<{ /** * Event emitted when the fee rate has been updated for a subnet */ "FeeRateSet": Anonymize$1; /** * Event emitted when user liquidity operations are enabled for a subnet. * First enable even indicates a switch from V2 to V3 swap. */ "UserLiquidityToggled": Anonymize$1; /** * Event emitted when a liquidity position is added to a subnet's liquidity pool. */ "LiquidityAdded": Anonymize$1; /** * Event emitted when a liquidity position is removed from a subnet's liquidity pool. */ "LiquidityRemoved": Anonymize$1; /** * Event emitted when a liquidity position is modified in a subnet's liquidity pool. * Modifying causes the fees to be claimed. */ "LiquidityModified": Anonymize$1; }>; type I3mkis681qg30e = { "netuid": number; "rate": number; }; type I2foqo7cbqf35v = { "netuid": number; "enable": boolean; }; type I4b2eh3b1oi815 = { /** * The coldkey account that owns the position */ "coldkey": SS58String; /** * The hotkey account where Alpha comes from */ "hotkey": SS58String; /** * The subnet identifier */ "netuid": number; /** * Unique identifier for the liquidity position */ "position_id": bigint; /** * The amount of liquidity added to the position */ "liquidity": bigint; /** * The amount of TAO tokens committed to the position */ "tao": bigint; /** * The amount of Alpha tokens committed to the position */ "alpha": bigint; /** * the lower tick */ "tick_low": number; /** * the upper tick */ "tick_high": number; }; type I57q620f4fu1bl = { /** * The coldkey account that owns the position */ "coldkey": SS58String; /** * The hotkey account where Alpha goes to */ "hotkey": SS58String; /** * The subnet identifier */ "netuid": number; /** * Unique identifier for the liquidity position */ "position_id": bigint; /** * The amount of liquidity removed from the position */ "liquidity": bigint; /** * The amount of TAO tokens returned to the user */ "tao": bigint; /** * The amount of Alpha tokens returned to the user */ "alpha": bigint; /** * The amount of TAO fees earned from the position */ "fee_tao": bigint; /** * The amount of Alpha fees earned from the position */ "fee_alpha": bigint; /** * the lower tick */ "tick_low": number; /** * the upper tick */ "tick_high": number; }; type I211sbjvh5hjqu = AnonymousEnum$1<{ /** * Contract deployed by address at the specified address. */ "Instantiated": Anonymize$1; /** * Contract has been removed. * * # Note * * The only way for a contract to be removed and emitting this event is by calling * `seal_terminate`. */ "Terminated": Anonymize$1; /** * Code with the specified hash has been stored. */ "CodeStored": Anonymize$1; /** * A custom event emitted by the contract. */ "ContractEmitted": Anonymize$1; /** * A code with the specified hash was removed. */ "CodeRemoved": Anonymize$1; /** * A contract's code was updated. */ "ContractCodeUpdated": Anonymize$1; /** * A contract was called either by a plain account or another contract. * * # Note * * Please keep in mind that like all events this is only emitted for successful * calls. This is because on failure all storage changes including events are * rolled back. */ "Called": Anonymize$1; /** * A contract delegate called a code hash. * * # Note * * Please keep in mind that like all events this is only emitted for successful * calls. This is because on failure all storage changes including events are * rolled back. */ "DelegateCalled": Anonymize$1; /** * Some funds have been transferred and held as storage deposit. */ "StorageDepositTransferredAndHeld": Anonymize$1; /** * Some storage deposit funds have been transferred and released. */ "StorageDepositTransferredAndReleased": Anonymize$1; }>; type Ie5222qfrr24ek = { "deployer": SS58String; "contract": SS58String; }; type I28g8sphdu312k = { /** * The contract that was terminated. */ "contract": SS58String; /** * The account that received the contracts remaining balance */ "beneficiary": SS58String; }; type Idqbjt2c6r46t6 = { "code_hash": SizedHex<32>; "deposit_held": bigint; "uploader": SS58String; }; type I853aigjva3f0t = { /** * The contract that emitted the event. */ "contract": SS58String; /** * Data supplied by the contract. Metadata generated during contract compilation * is needed to decode it. */ "data": Uint8Array; }; type I9uehhems5hkqm = { "code_hash": SizedHex<32>; "deposit_released": bigint; "remover": SS58String; }; type I7q5qk4uoanhof = { /** * The contract that has been updated. */ "contract": SS58String; /** * New code hash that was set for the contract. */ "new_code_hash": SizedHex<32>; /** * Previous code hash of the contract. */ "old_code_hash": SizedHex<32>; }; type Iehpbs40l3jkit = { /** * The caller of the `contract`. */ "caller": Enum<{ "Root": undefined; "Signed": SS58String; }>; /** * The contract that was called. */ "contract": SS58String; }; type Idht9upmipvd4j = { /** * The contract that performed the delegate call and hence in whose context * the `code_hash` is executed. */ "contract": SS58String; /** * The code hash that was delegate called. */ "code_hash": SizedHex<32>; }; type I7i4ute8kvbqbj = AnonymousEnum$1<{ /** * Encrypted wrapper accepted. */ "EncryptedSubmitted": Anonymize$1; /** * Encrypted extrinsic was stored for later execution. */ "ExtrinsicStored": Anonymize$1; /** * Extrinsic decode failed during on_initialize. */ "ExtrinsicDecodeFailed": Anonymize$1; /** * Extrinsic dispatch failed during on_initialize. */ "ExtrinsicDispatchFailed": Anonymize$1; /** * Extrinsic was successfully dispatched during on_initialize. */ "ExtrinsicDispatched": Anonymize$1; /** * Extrinsic expired (exceeded max block lifetime). */ "ExtrinsicExpired": Anonymize$1; /** * Extrinsic postponed due to weight limit. */ "ExtrinsicPostponed": Anonymize$1; /** * Maximum pending extrinsics limit was updated. */ "MaxPendingExtrinsicsNumberSet": Anonymize$1; /** * Maximum on_initialize weight was updated. */ "OnInitializeWeightSet": Anonymize$1; /** * Extrinsic lifetime was updated. */ "ExtrinsicLifetimeSet": Anonymize$1; /** * Maximum per-extrinsic weight was updated. */ "MaxExtrinsicWeightSet": Anonymize$1; /** * Extrinsic exceeded the per-extrinsic weight limit and was removed. */ "ExtrinsicWeightExceeded": Anonymize$1; }>; type Icns2sqr5hp8s3 = { "id": SizedHex<32>; "who": SS58String; }; type Icnkee0to4c5ac = { "value": number; }; type I2hnk9r4ukuj1p = Array<{ "id": Enum<{ "Preimage": PreimagePalletHoldReason; "Registry": Enum<{ "RegistryIdentity": undefined; }>; "SafeMode": Enum<{ "EnterOrExtend": undefined; }>; "Contracts": Enum<{ "CodeUploadDepositReserve": undefined; "StorageDepositReserve": undefined; }>; }>; "amount": bigint; }>; type Idoeu5t0dum8va = [Anonymize$1, bigint]; type I9a0jm719fs81d = { "mantissa": bigint; "exponent": bigint; }; type I8tqsm2j01rn5j = { "locked_mass": bigint; "conviction": bigint; "last_update": bigint; }; type I19jngnl8banpc = [SS58String, number, SS58String]; type Idcd2h2c0ej2dl = AnonymousEnum$1<{ "SetSNOwnerHotkey": number; "OwnerHyperparamUpdate": [number, Enum<{ "Unknown": undefined; "ServingRateLimit": undefined; "MaxDifficulty": undefined; "AdjustmentAlpha": undefined; "MaxWeightLimit": undefined; "ImmunityPeriod": undefined; "MinAllowedWeights": undefined; "Kappa": undefined; "Rho": undefined; "ActivityCutoff": undefined; "PowRegistrationAllowed": undefined; "MinBurn": undefined; "MaxBurn": undefined; "BondsMovingAverage": undefined; "BondsPenalty": undefined; "CommitRevealEnabled": undefined; "LiquidAlphaEnabled": undefined; "AlphaValues": undefined; "WeightCommitInterval": undefined; "TransferEnabled": undefined; "AlphaSigmoidSteepness": undefined; "Yuma3Enabled": undefined; "BondsResetEnabled": undefined; "ImmuneNeuronLimit": undefined; "RecycleOrBurn": undefined; "MaxAllowedUids": undefined; "BurnHalfLife": undefined; "BurnIncreaseMult": undefined; "SubnetEmissionEnabled": undefined; "MinChildkeyTake": undefined; }>]; "NetworkLastRegistered": undefined; "LastTxBlock": SS58String; "LastTxBlockChildKeyTake": SS58String; "LastTxBlockDelegateTake": SS58String; "AddStakeBurn": number; }>; type Ib9tptuv3cggfs = AnonymousEnum$1<{ "Burn": undefined; "Recycle": undefined; }>; type I4h6ivgjtd51lv = Array>; type Ibc83gdj8hi3rc = { "block": bigint; "version": number; "ip": bigint; "port": number; "ip_type": number; "protocol": number; "placeholder1": number; "placeholder2": number; }; type I9lpjucl20l82d = { "public_key": Uint8Array; "algorithm": number; }; type Iaap7oohdmr1sb = { "block": bigint; "version": number; "ip": bigint; "port": number; "ip_type": number; }; type Ifjlj958aeheic = { "name": Uint8Array; "url": Uint8Array; "github_repo": Uint8Array; "image": Uint8Array; "discord": Uint8Array; "description": Uint8Array; "additional": Uint8Array; }; type I4tc54pa558g5n = { "subnet_name": Uint8Array; "github_repo": Uint8Array; "subnet_contact": Uint8Array; "subnet_url": Uint8Array; "discord": Uint8Array; "description": Uint8Array; "logo_url": Uint8Array; "additional": Uint8Array; }; type Icrrf4uohj5gb0 = Array<[SizedHex<32>, bigint, bigint, bigint]>; type I76jd8kl1mtn5g = Array<[SS58String, bigint, Uint8Array, bigint]>; type I4jqk5si14p5oi = Array<[SS58String, Uint8Array, bigint]>; type I7tof95tckt2r = [SizedHex<20>, bigint]; type Ieruonr5pk2d7h = { "beneficiary": SS58String; "coldkey": SS58String; "hotkey": SS58String; "emissions_share": number; "end_block"?: Anonymize$1; "netuid": number; "cost": bigint; }; type I11tetbe8ces3o = Array<({ "maybe_id"?: Anonymize$1; "priority": number; "call": PreimagesBounded; "maybe_periodic"?: Anonymize$1; "origin": Anonymize$1; }) | undefined>; type I32es0rp64745v = AnonymousEnum$1<{ "system": Anonymize$1; "Ethereum": Anonymize$1; }>; type I6tqrno2gaos08 = [Array<{ "delegate": SS58String; "proxy_type": Anonymize$1; "delay": number; }>, bigint]; type Ib6u9l1gtc5l4t = { "deposit": bigint; "info": Anonymize$1; }; type Ifiu33afi2n7qs = { "additional": Array>>; "display": Anonymize$1; "legal": Anonymize$1; "web": Anonymize$1; "riot": Anonymize$1; "email": Anonymize$1; "pgp_fingerprint"?: Anonymize$1; "image": Anonymize$1; "twitter": Anonymize$1; }; type I2fomq92gvvqhc = AnonymousEnum$1<{ "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>; "Raw33": SizedHex<33>; "Raw34": SizedHex<34>; "Raw35": SizedHex<35>; "Raw36": SizedHex<36>; "Raw37": SizedHex<37>; "Raw38": SizedHex<38>; "Raw39": SizedHex<39>; "Raw40": SizedHex<40>; "Raw41": SizedHex<41>; "Raw42": SizedHex<42>; "Raw43": SizedHex<43>; "Raw44": SizedHex<44>; "Raw45": SizedHex<45>; "Raw46": SizedHex<46>; "Raw47": SizedHex<47>; "Raw48": SizedHex<48>; "Raw49": SizedHex<49>; "Raw50": SizedHex<50>; "Raw51": SizedHex<51>; "Raw52": SizedHex<52>; "Raw53": SizedHex<53>; "Raw54": SizedHex<54>; "Raw55": SizedHex<55>; "Raw56": SizedHex<56>; "Raw57": SizedHex<57>; "Raw58": SizedHex<58>; "Raw59": SizedHex<59>; "Raw60": SizedHex<60>; "Raw61": SizedHex<61>; "Raw62": SizedHex<62>; "Raw63": SizedHex<63>; "Raw64": SizedHex<64>; "BlakeTwo256": SizedHex<32>; "Sha256": SizedHex<32>; "Keccak256": SizedHex<32>; "ShaThree256": SizedHex<32>; }>; type I7nkl7ntqohel8 = Array>; type I3m6d7ohcp5n4v = { "deposit": bigint; "block": number; "info": Anonymize$1; }; type I4122t6tpcniur = Array; "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>; "Raw33": SizedHex<33>; "Raw34": SizedHex<34>; "Raw35": SizedHex<35>; "Raw36": SizedHex<36>; "Raw37": SizedHex<37>; "Raw38": SizedHex<38>; "Raw39": SizedHex<39>; "Raw40": SizedHex<40>; "Raw41": SizedHex<41>; "Raw42": SizedHex<42>; "Raw43": SizedHex<43>; "Raw44": SizedHex<44>; "Raw45": SizedHex<45>; "Raw46": SizedHex<46>; "Raw47": SizedHex<47>; "Raw48": SizedHex<48>; "Raw49": SizedHex<49>; "Raw50": SizedHex<50>; "Raw51": SizedHex<51>; "Raw52": SizedHex<52>; "Raw53": SizedHex<53>; "Raw54": SizedHex<54>; "Raw55": SizedHex<55>; "Raw56": SizedHex<56>; "Raw57": SizedHex<57>; "Raw58": SizedHex<58>; "Raw59": SizedHex<59>; "Raw60": SizedHex<60>; "Raw61": SizedHex<61>; "Raw62": SizedHex<62>; "Raw63": SizedHex<63>; "Raw64": SizedHex<64>; "Raw65": SizedHex<65>; "Raw66": SizedHex<66>; "Raw67": SizedHex<67>; "Raw68": SizedHex<68>; "Raw69": SizedHex<69>; "Raw70": SizedHex<70>; "Raw71": SizedHex<71>; "Raw72": SizedHex<72>; "Raw73": SizedHex<73>; "Raw74": SizedHex<74>; "Raw75": SizedHex<75>; "Raw76": SizedHex<76>; "Raw77": SizedHex<77>; "Raw78": SizedHex<78>; "Raw79": SizedHex<79>; "Raw80": SizedHex<80>; "Raw81": SizedHex<81>; "Raw82": SizedHex<82>; "Raw83": SizedHex<83>; "Raw84": SizedHex<84>; "Raw85": SizedHex<85>; "Raw86": SizedHex<86>; "Raw87": SizedHex<87>; "Raw88": SizedHex<88>; "Raw89": SizedHex<89>; "Raw90": SizedHex<90>; "Raw91": SizedHex<91>; "Raw92": SizedHex<92>; "Raw93": SizedHex<93>; "Raw94": SizedHex<94>; "Raw95": SizedHex<95>; "Raw96": SizedHex<96>; "Raw97": SizedHex<97>; "Raw98": SizedHex<98>; "Raw99": SizedHex<99>; "Raw100": SizedHex<100>; "Raw101": SizedHex<101>; "Raw102": SizedHex<102>; "Raw103": SizedHex<103>; "Raw104": SizedHex<104>; "Raw105": SizedHex<105>; "Raw106": SizedHex<106>; "Raw107": SizedHex<107>; "Raw108": SizedHex<108>; "Raw109": SizedHex<109>; "Raw110": SizedHex<110>; "Raw111": SizedHex<111>; "Raw112": SizedHex<112>; "Raw113": SizedHex<113>; "Raw114": SizedHex<114>; "Raw115": SizedHex<115>; "Raw116": SizedHex<116>; "Raw117": SizedHex<117>; "Raw118": SizedHex<118>; "Raw119": SizedHex<119>; "Raw120": SizedHex<120>; "Raw121": SizedHex<121>; "Raw122": SizedHex<122>; "Raw123": SizedHex<123>; "Raw124": SizedHex<124>; "Raw125": SizedHex<125>; "Raw126": SizedHex<126>; "Raw127": SizedHex<127>; "Raw128": SizedHex<128>; "BlakeTwo256": SizedHex<32>; "Sha256": SizedHex<32>; "Keccak256": SizedHex<32>; "ShaThree256": SizedHex<32>; "TimelockEncrypted": { "encrypted": Uint8Array; "reveal_round": bigint; }; "ResetBondsFlag": undefined; "BigRaw": Uint8Array; }>>; type Ib9pv5dg6upo6t = Array>; type I27ub49plcvb4c = { "last_epoch": bigint; "used_space": bigint; }; type I494mq1ertfc9k = { "public_key": Uint8Array; "period": number; "genesis_time": number; "hash": Uint8Array; "group_hash": Uint8Array; "scheme_id": Uint8Array; "metadata": Uint8Array; }; type Ialchst9lgd11u = { "round": bigint; "randomness": Uint8Array; "signature": Uint8Array; }; type If0p9hvn3kegj1 = { "creator": SS58String; "deposit": bigint; "min_contribution": bigint; "end": number; "cap": bigint; "funds_account": SS58String; "raised": bigint; "target_address"?: Anonymize$1; "call"?: (PreimagesBounded) | undefined; "finalized": boolean; "contributors_count": number; }; type I8ac0r18acljm6 = { "liquidity_net": bigint; "liquidity_gross": bigint; "fees_out_tao": bigint; "fees_out_alpha": bigint; }; type I5mi4kb05lrsa9 = { "id": bigint; "netuid": number; "tick_low": number; "tick_high": number; "liquidity": bigint; "fees_tao": bigint; "fees_alpha": bigint; }; type I1ptic1rnhda0n = [number, Enum<{ "Top": undefined; "Middle": undefined; "Bottom": undefined; }>, number]; type I5kulbesqc1h1t = { "owner": SS58String; "deposit": bigint; "refcount": bigint; "determinism": Anonymize$1; "code_len": number; }; type I2dfliekq1ed7e = AnonymousEnum$1<{ "Enforced": undefined; "Relaxed": undefined; }>; type I36dvimehsh2tm = { "trie_id": Uint8Array; "code_hash": SizedHex<32>; "storage_bytes": number; "storage_items": number; "storage_byte_deposit": bigint; "storage_item_deposit": bigint; "storage_base_deposit": bigint; "delegate_dependencies": Anonymize$1; }; type Ic291tvovrnmdi = { "who": SS58String; "encrypted_call": Uint8Array; "submitted_at": number; }; type Ijc5n210o8bbf = { "limits": { "event_topics": number; "memory_pages": number; "subject_len": number; "payload_len": number; "runtime_memory": number; "validator_runtime_memory": number; "event_ref_time": bigint; }; "instruction_weights": number; }; type Ibck9ekr2i96uj = AnonymousEnum$1<{ /** * Report voter equivocation/misbehavior. This method will verify the * equivocation proof and validate the given key ownership proof * against the extracted offender. If both are valid, the offence * will be reported. */ "report_equivocation": Anonymize$1; /** * Report voter equivocation/misbehavior. This method will verify the * equivocation proof and validate the given key ownership proof * against the extracted offender. If both are valid, the offence * will be reported. * * This extrinsic must be called unsigned and it is expected that only * block authors will call it (validated in `ValidateUnsigned`), as such * if the block author is defined it will be defined as the equivocation * reporter. */ "report_equivocation_unsigned": Anonymize$1; /** * Note that the current authority set of the GRANDPA finality gadget has stalled. * * This will trigger a forced authority set change at the beginning of the next session, to * be enacted `delay` blocks after that. The `delay` should be high enough to safely assume * that the block signalling the forced change will not be re-orged e.g. 1000 blocks. * The block production rate (which may be slowed down because of finality lagging) should * be taken into account when choosing the `delay`. The GRANDPA voters based on the new * authority will start voting on top of `best_finalized_block_number` for new finalized * blocks. `best_finalized_block_number` should be the highest of the latest finalized * block of all validators of the new authority set. * * Only callable by root. */ "note_stalled": Anonymize$1; }>; type I3a5kuu5t5jj3g = { "equivocation_proof": Anonymize$1; }; type Iepsdqjllt8die = AnonymousEnum$1<{ /** * --- Sets the caller weights for the incentive mechanism. The call can be * made from the hotkey account so is potentially insecure, however, the damage * of changing weights is minimal if caught early. This function includes all the * checks that the passed weights meet the requirements. Stored as u16s they represent * rational values in the range [0,1] which sum to 1 and can be interpreted as * probabilities. The specific weights determine how inflation propagates outward * from this peer. * * Note: The 16 bit integers weights should represent 1.0 as the max u16. * However, the function normalizes all integers to u16_max anyway. This means that if the sum of all * elements is larger or smaller than the amount of elements * u16_max, all elements * will be corrected for this deviation. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuid` (u16): * - The network uid we are setting these weights on. * * * `dests` (Vec): * - The edge endpoint for the weight, i.e. j for w_ij. * * * 'weights' (Vec): * - The u16 integer encoded weights. Interpreted as rational * values in the range [0,1]. They must sum to in32::MAX. * * * 'version_key' ( u64 ): * - The network version key to check if the validator is up to date. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'WeightVecNotEqualSize': * - Attempting to set weights with uids not of same length. * * * 'DuplicateUids': * - Attempting to set weights with duplicate uids. * * * 'UidsLengthExceedUidsInSubNet': * - Attempting to set weights above the max allowed uids. * * * 'UidVecContainInvalidOne': * - Attempting to set weights with invalid uids. * * * 'WeightVecLengthIsLow': * - Attempting to set weights with fewer weights than min. * * * 'MaxWeightExceeded': * - Attempting to set weights with max value exceeding limit. */ "set_weights": Anonymize$1; /** * --- Sets the caller weights for the incentive mechanism for mechanisms. The call * can be made from the hotkey account so is potentially insecure, however, the damage * of changing weights is minimal if caught early. This function includes all the * checks that the passed weights meet the requirements. Stored as u16s they represent * rational values in the range [0,1] which sum to 1 and can be interpreted as * probabilities. The specific weights determine how inflation propagates outward * from this peer. * * Note: The 16 bit integers weights should represent 1.0 as the max u16. * However, the function normalizes all integers to u16_max anyway. This means that if the sum of all * elements is larger or smaller than the amount of elements * u16_max, all elements * will be corrected for this deviation. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuid` (u16): * - The network uid we are setting these weights on. * * * `mecid` (`u8`): * - The u8 mechnism identifier. * * * `dests` (Vec): * - The edge endpoint for the weight, i.e. j for w_ij. * * * 'weights' (Vec): * - The u16 integer encoded weights. Interpreted as rational * values in the range [0,1]. They must sum to in32::MAX. * * * 'version_key' ( u64 ): * - The network version key to check if the validator is up to date. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'WeightVecNotEqualSize': * - Attempting to set weights with uids not of same length. * * * 'DuplicateUids': * - Attempting to set weights with duplicate uids. * * * 'UidsLengthExceedUidsInSubNet': * - Attempting to set weights above the max allowed uids. * * * 'UidVecContainInvalidOne': * - Attempting to set weights with invalid uids. * * * 'WeightVecLengthIsLow': * - Attempting to set weights with fewer weights than min. * * * 'MaxWeightExceeded': * - Attempting to set weights with max value exceeding limit. */ "set_mechanism_weights": Anonymize$1; /** * --- Allows a hotkey to set weights for multiple netuids as a batch. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuids` (Vec>): * - The network uids we are setting these weights on. * * * `weights` (Vec, Compact)>): * - The weights to set for each network. [(uid, weight), ...] * * * `version_keys` (Vec>): * - The network version keys to check if the validator is up to date. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * BatchWeightsCompleted; * - On success of the batch. * * BatchCompletedWithErrors; * - On failure of any of the weights in the batch. * * BatchWeightItemFailed; * - On failure for each failed item in the batch. * */ "batch_set_weights": Anonymize$1; /** * ---- Used to commit a hash of your weight values to later be revealed. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `commit_hash` (`H256`): * - The hash representing the committed weights. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * */ "commit_weights": Anonymize$1; /** * ---- Used to commit a hash of your weight values to later be revealed for mechanisms. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `commit_hash` (`H256`): * - The hash representing the committed weights. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * */ "commit_mechanism_weights": Anonymize$1; /** * --- Allows a hotkey to commit weight hashes for multiple netuids as a batch. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuids` (Vec>): * - The network uids we are setting these weights on. * * * `commit_hashes` (Vec): * - The commit hashes to commit. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * BatchWeightsCompleted; * - On success of the batch. * * BatchCompletedWithErrors; * - On failure of any of the weights in the batch. * * BatchWeightItemFailed; * - On failure for each failed item in the batch. * */ "batch_commit_weights": Anonymize$1; /** * ---- Used to reveal the weights for a previously committed hash. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the revealing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `uids` (`Vec`): * - The uids for the weights being revealed. * * * `values` (`Vec`): * - The values of the weights being revealed. * * * `salt` (`Vec`): * - The salt used to generate the commit hash. * * * `version_key` (`u64`): * - The network version key. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to reveal weights when the commit-reveal mechanism is disabled. * * * `NoWeightsCommitFound`: * - Attempting to reveal weights without an existing commit. * * * `ExpiredWeightCommit`: * - Attempting to reveal a weight commit that has expired. * * * `RevealTooEarly`: * - Attempting to reveal weights outside the valid reveal period. * * * `InvalidRevealCommitHashNotMatch`: * - The revealed hash does not match any committed hash. * */ "reveal_weights": Anonymize$1; /** * ---- Used to reveal the weights for a previously committed hash for mechanisms. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the revealing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `uids` (`Vec`): * - The uids for the weights being revealed. * * * `values` (`Vec`): * - The values of the weights being revealed. * * * `salt` (`Vec`): * - The salt used to generate the commit hash. * * * `version_key` (`u64`): * - The network version key. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to reveal weights when the commit-reveal mechanism is disabled. * * * `NoWeightsCommitFound`: * - Attempting to reveal weights without an existing commit. * * * `ExpiredWeightCommit`: * - Attempting to reveal a weight commit that has expired. * * * `RevealTooEarly`: * - Attempting to reveal weights outside the valid reveal period. * * * `InvalidRevealCommitHashNotMatch`: * - The revealed hash does not match any committed hash. * */ "reveal_mechanism_weights": Anonymize$1; /** * ---- Used to commit encrypted commit-reveal v3 weight values to later be revealed. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * # Raises: * * `CommitRevealV3Disabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * * ---- Used to commit encrypted commit-reveal v3 weight values to later be revealed for mechanisms. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * # Raises: * * `CommitRevealV3Disabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * */ "commit_crv3_mechanism_weights": Anonymize$1; /** * ---- The implementation for batch revealing committed weights. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the revealing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `uids_list` (`Vec>`): * - A list of uids for each set of weights being revealed. * * * `values_list` (`Vec>`): * - A list of values for each set of weights being revealed. * * * `salts_list` (`Vec>`): * - A list of salts used to generate the commit hashes. * * * `version_keys` (`Vec`): * - A list of network version keys. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to reveal weights when the commit-reveal mechanism is disabled. * * * `NoWeightsCommitFound`: * - Attempting to reveal weights without an existing commit. * * * `ExpiredWeightCommit`: * - Attempting to reveal a weight commit that has expired. * * * `RevealTooEarly`: * - Attempting to reveal weights outside the valid reveal period. * * * `InvalidRevealCommitHashNotMatch`: * - The revealed hash does not match any committed hash. * * * `InvalidInputLengths`: * - The input vectors are of mismatched lengths. */ "batch_reveal_weights": Anonymize$1; /** * --- Allows delegates to decrease its take value. * * # Args: * * 'origin': (::Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The hotkey we are delegating (must be owned by the coldkey.) * * * 'netuid' (u16): * - Subnet ID to decrease take for * * * 'take' (u16): * - The new stake proportion that this hotkey takes from delegations. * The new value can be between 0 and 11_796 and should be strictly * lower than the previous value. It T is the new value (rational number), * the the parameter is calculated as [65535 * T]. For example, 1% would be * [0.01 * 65535] = [655.35] = 655 * * # Event: * * TakeDecreased; * - On successfully setting a decreased take for this hotkey. * * # Raises: * * 'NotRegistered': * - The hotkey we are delegating is not registered on the network. * * * 'NonAssociatedColdKey': * - The hotkey we are delegating is not owned by the calling coldkey. * * * 'DelegateTakeTooLow': * - The delegate is setting a take which is not lower than the previous. * */ "decrease_take": Anonymize$1; /** * --- Allows delegates to increase its take value. This call is rate-limited. * * # Args: * * 'origin': (::Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The hotkey we are delegating (must be owned by the coldkey.) * * * 'take' (u16): * - The new stake proportion that this hotkey takes from delegations. * The new value can be between 0 and 11_796 and should be strictly * greater than the previous value. T is the new value (rational number), * the the parameter is calculated as [65535 * T]. For example, 1% would be * [0.01 * 65535] = [655.35] = 655 * * # Event: * * TakeIncreased; * - On successfully setting a increased take for this hotkey. * * # Raises: * * 'NotRegistered': * - The hotkey we are delegating is not registered on the network. * * * 'NonAssociatedColdKey': * - The hotkey we are delegating is not owned by the calling coldkey. * * * 'DelegateTakeTooHigh': * - The delegate is setting a take which is not greater than the previous. * */ "increase_take": Anonymize$1; /** * --- Adds stake to a hotkey. The call is made from a coldkey account. * This delegates stake to the hotkey. * * Note: the coldkey account may own the hotkey, in which case they are * delegating to themselves. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_staked' (u64): * - The amount of stake to be added to the hotkey staking account. * * # Event: * * StakeAdded; * - On the successfully adding stake to a global account. * * # Raises: * * 'NotEnoughBalanceToStake': * - Not enough balance on the coldkey to add onto the global account. * * * 'NonAssociatedColdKey': * - The calling coldkey is not associated with this hotkey. * * * 'BalanceWithdrawalError': * - Errors stemming from transaction pallet. * */ "add_stake": Anonymize$1; /** * Remove stake from the staking account. The call must be made * from the coldkey account attached to the neuron metadata. Only this key * has permission to make staking and unstaking requests. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_unstaked' (u64): * - The amount of stake to be added to the hotkey staking account. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * 'NotRegistered': * - Thrown if the account we are attempting to unstake from is non existent. * * * 'NonAssociatedColdKey': * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * 'NotEnoughStakeToWithdraw': * - Thrown if there is not enough stake on the hotkey to withdwraw this amount. * */ "remove_stake": Anonymize$1; /** * Serves or updates axon /prometheus information for the neuron associated with the caller. If the caller is * already registered the metadata is updated. If the caller is not registered this call throws NotRegistered. * * # Args: * * 'origin': (Origin): * - The signature of the caller. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u64): * - The bittensor version identifier. * * * 'ip' (u64): * - The endpoint ip information as a u128 encoded integer. * * * 'port' (u16): * - The endpoint port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The endpoint ip version as a u8, 4 or 6. * * * 'protocol' (u8): * - UDP:1 or TCP:0 * * * 'placeholder1' (u8): * - Placeholder for further extra params. * * * 'placeholder2' (u8): * - Placeholder for further extra params. * * # Event: * * AxonServed; * - On successfully serving the axon info. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'InvalidIpType': * - The ip type is not 4 or 6. * * * 'InvalidIpAddress': * - The numerically encoded ip address does not resolve to a proper ip. * * * 'ServingRateLimitExceeded': * - Attempting to set prometheus information withing the rate limit min. * */ "serve_axon": Anonymize$1; /** * Same as `serve_axon` but takes a certificate as an extra optional argument. * Serves or updates axon /prometheus information for the neuron associated with the caller. If the caller is * already registered the metadata is updated. If the caller is not registered this call throws NotRegistered. * * # Args: * * 'origin': (Origin): * - The signature of the caller. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u64): * - The bittensor version identifier. * * * 'ip' (u64): * - The endpoint ip information as a u128 encoded integer. * * * 'port' (u16): * - The endpoint port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The endpoint ip version as a u8, 4 or 6. * * * 'protocol' (u8): * - UDP:1 or TCP:0 * * * 'placeholder1' (u8): * - Placeholder for further extra params. * * * 'placeholder2' (u8): * - Placeholder for further extra params. * * * 'certificate' (Vec): * - TLS certificate for inter neuron communitation. * * # Event: * * AxonServed; * - On successfully serving the axon info. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'InvalidIpType': * - The ip type is not 4 or 6. * * * 'InvalidIpAddress': * - The numerically encoded ip address does not resolve to a proper ip. * * * 'ServingRateLimitExceeded': * - Attempting to set prometheus information withing the rate limit min. * */ "serve_axon_tls": Anonymize$1; /** * ---- Set prometheus information for the neuron. * # Args: * * 'origin': (Origin): * - The signature of the calling hotkey. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u16): * - The bittensor version identifier. * * * 'ip' (u128): * - The prometheus ip information as a u128 encoded integer. * * * 'port' (u16): * - The prometheus port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The ip type v4 or v6. * */ "serve_prometheus": Anonymize$1; /** * ---- Registers a new neuron to the subnetwork. * * # Args: * * 'origin': (Origin): * - The signature of the calling hotkey. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'block_number' ( u64 ): * - Block hash used to prove work done. * * * 'nonce' ( u64 ): * - Positive integer nonce used in POW. * * * 'work' ( Vec ): * - Vector encoded bytes representing work done. * * * 'hotkey' ( T::AccountId ): * - Hotkey to be registered to the network. * * * 'coldkey' ( T::AccountId ): * - Associated coldkey account. * * # Event: * * NeuronRegistered; * - On successfully registering a uid to a neuron slot on a subnetwork. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to register to a non existent network. * * * 'TooManyRegistrationsThisBlock': * - This registration exceeds the total allowed on this network this block. * * * 'HotKeyAlreadyRegisteredInSubNet': * - The hotkey is already registered on this network. * * * 'InvalidWorkBlock': * - The work has been performed on a stale, future, or non existent block. * * * 'InvalidDifficulty': * - The work does not match the difficulty. * * * 'InvalidSeal': * - The seal is incorrect. * */ "register": Anonymize$1; /** * Register the hotkey to root network */ "root_register": Anonymize$1; /** * User register a new subnetwork via burning token */ "burned_register": Anonymize$1; /** * ---- The extrinsic for user to change its hotkey in subnet or all subnets. * * # Arguments * * `origin` - The origin of the transaction (must be signed by the coldkey). * * `hotkey` - The old hotkey to be swapped. * * `new_hotkey` - The new hotkey to replace the old one. * * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. * is transferred to the new hotkey. */ "swap_hotkey": Anonymize$1; /** * ---- The extrinsic for user to change its hotkey in subnet or all subnets. This extrinsic is * similar to swap_hotkey, but with keep_stake parameter bo be able to keep the stake when swapping * a root key to a child key * * # Arguments * * `origin` - The origin of the transaction (must be signed by the coldkey). * * `hotkey` - The old hotkey to be swapped. * * `new_hotkey` - The new hotkey to replace the old one. * * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. * * `keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata * is transferred to the new hotkey. */ "swap_hotkey_v2": Anonymize$1; /** * Performs an arbitrary coldkey swap for any coldkey. * * Only callable by root as it doesn't require an announcement and can be used to swap any coldkey. */ "swap_coldkey": Anonymize$1; /** * Sets the childkey take for a given hotkey. * * This function allows a coldkey to set the childkey take for a given hotkey. * The childkey take determines the proportion of stake that the hotkey keeps for itself * when distributing stake to its children. * * # Arguments: * * `origin` (::RuntimeOrigin): * - The signature of the calling coldkey. Setting childkey take can only be done by the coldkey. * * * `hotkey` (T::AccountId): * - The hotkey for which the childkey take will be set. * * * `take` (u16): * - The new childkey take value. This is a percentage represented as a value between 0 and 10000, * where 10000 represents 100%. * * # Events: * * `ChildkeyTakeSet`: * - On successfully setting the childkey take for a hotkey. * * # Errors: * * `NonAssociatedColdKey`: * - The coldkey does not own the hotkey. * * `InvalidChildkeyTake`: * - The provided take value is invalid (greater than the maximum allowed take). * * `TxChildkeyTakeRateLimitExceeded`: * - The rate limit for changing childkey take has been exceeded. * */ "set_childkey_take": Anonymize$1; /** * Sets the transaction rate limit for changing childkey take. * * This function can only be called by the root origin. * * # Arguments: * * `origin` - The origin of the call, must be root. * * `tx_rate_limit` - The new rate limit in blocks. * * # Errors: * * `BadOrigin` - If the origin is not root. * */ "sudo_set_tx_childkey_take_rate_limit": Anonymize$1; /** * Sets the minimum allowed childkey take. * * This function can only be called by the root origin. * * # Arguments: * * `origin` - The origin of the call, must be root. * * `take` - The new minimum childkey take value. * * # Errors: * * `BadOrigin` - If the origin is not root. * */ "sudo_set_min_childkey_take": Anonymize$1; /** * Sets the maximum allowed childkey take. * * This function can only be called by the root origin. * * # Arguments: * * `origin` - The origin of the call, must be root. * * `take` - The new maximum childkey take value. * * # Errors: * * `BadOrigin` - If the origin is not root. * */ "sudo_set_max_childkey_take": Anonymize$1; /** * User register a new subnetwork */ "register_network": Anonymize$1; /** * Remove a user's subnetwork * The caller must be the owner of the network */ "dissolve_network": Anonymize$1; /** * Set a single child for a given hotkey on a specified network. * * This function allows a coldkey to set a single child for a given hotkey on a specified network. * The proportion of the hotkey's stake to be allocated to the child is also specified. * * # Arguments: * * `origin` (::RuntimeOrigin): * - The signature of the calling coldkey. Setting a hotkey child can only be done by the coldkey. * * * `hotkey` (T::AccountId): * - The hotkey which will be assigned the child. * * * `child` (T::AccountId): * - The child which will be assigned to the hotkey. * * * `netuid` (u16): * - The u16 network identifier where the childkey will exist. * * * `proportion` (u64): * - Proportion of the hotkey's stake to be given to the child, the value must be u64 normalized. * * # Events: * * `ChildAddedSingular`: * - On successfully registering a child to a hotkey. * * # Errors: * * `MechanismDoesNotExist`: * - Attempting to register to a non-existent network. * * `RegistrationNotPermittedOnRootSubnet`: * - Attempting to register a child on the root network. * * `NonAssociatedColdKey`: * - The coldkey does not own the hotkey or the child is the same as the hotkey. * * `HotKeyAccountNotExists`: * - The hotkey account does not exist. * * # Detailed Explanation of Checks: * 1. **Signature Verification**: Ensures that the caller has signed the transaction, verifying the coldkey. * 2. **Root Network Check**: Ensures that the delegation is not on the root network, as child hotkeys are not valid on the root. * 3. **Network Existence Check**: Ensures that the specified network exists. * 4. **Ownership Verification**: Ensures that the coldkey owns the hotkey. * 5. **Hotkey Account Existence Check**: Ensures that the hotkey account already exists. * 6. **Child-Hotkey Distinction**: Ensures that the child is not the same as the hotkey. * 7. **Old Children Cleanup**: Removes the hotkey from the parent list of its old children. * 8. **New Children Assignment**: Assigns the new child to the hotkey and updates the parent list for the new child. */ "set_children": Anonymize$1; /** * Schedules a coldkey swap operation to be executed at a future block. * * WARNING: This function is deprecated, please migrate to `announce_coldkey_swap`/`coldkey_swap` */ "schedule_swap_coldkey": Anonymize$1; /** * ---- Set prometheus information for the neuron. * # Args: * * 'origin': (Origin): * - The signature of the calling hotkey. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u16): * - The bittensor version identifier. * * * 'ip' (u128): * - The prometheus ip information as a u128 encoded integer. * * * 'port' (u16): * - The prometheus port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The ip type v4 or v6. * */ "set_identity": Anonymize$1; /** * ---- Set the identity information for a subnet. * # Args: * * `origin` - (::Origin): * - The signature of the calling coldkey, which must be the owner of the subnet. * * * `netuid` (u16): * - The unique network identifier of the subnet. * * * `subnet_name` (Vec): * - The name of the subnet. * * * `github_repo` (Vec): * - The GitHub repository associated with the subnet identity. * * * `subnet_contact` (Vec): * - The contact information for the subnet. */ "set_subnet_identity": Anonymize$1; /** * User register a new subnetwork */ "register_network_with_identity": Anonymize$1; /** * ---- The implementation for the extrinsic unstake_all: Removes all stake from a hotkey account across all subnets and adds it onto a coldkey. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `hotkey` (T::AccountId): * - The associated hotkey account. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * `NotRegistered`: * - Thrown if the account we are attempting to unstake from is non existent. * * * `NonAssociatedColdKey`: * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * `NotEnoughStakeToWithdraw`: * - Thrown if there is not enough stake on the hotkey to withdraw this amount. * * * `TxRateLimitExceeded`: * - Thrown if key has hit transaction rate limit */ "unstake_all": Anonymize$1; /** * ---- The implementation for the extrinsic unstake_all: Removes all stake from a hotkey account across all subnets and adds it onto a coldkey. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `hotkey` (T::AccountId): * - The associated hotkey account. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * `NotRegistered`: * - Thrown if the account we are attempting to unstake from is non existent. * * * `NonAssociatedColdKey`: * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * `NotEnoughStakeToWithdraw`: * - Thrown if there is not enough stake on the hotkey to withdraw this amount. * * * `TxRateLimitExceeded`: * - Thrown if key has hit transaction rate limit */ "unstake_all_alpha": Anonymize$1; /** * ---- The implementation for the extrinsic move_stake: Moves specified amount of stake from a hotkey to another across subnets. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `origin_hotkey` (T::AccountId): * - The hotkey account to move stake from. * * * `destination_hotkey` (T::AccountId): * - The hotkey account to move stake to. * * * `origin_netuid` (T::AccountId): * - The subnet ID to move stake from. * * * `destination_netuid` (T::AccountId): * - The subnet ID to move stake to. * * * `alpha_amount` (T::AccountId): * - The alpha stake amount to move. * */ "move_stake": Anonymize$1; /** * Transfers a specified amount of stake from one coldkey to another, optionally across subnets, * while keeping the same hotkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the `origin_coldkey`. * * `destination_coldkey` - The coldkey to which the stake is transferred. * * `hotkey` - The hotkey associated with the stake. * * `origin_netuid` - The network/subnet ID to move stake from. * * `destination_netuid` - The network/subnet ID to move stake to (for cross-subnet transfer). * * `alpha_amount` - The amount of stake to transfer. * * # Errors * Returns an error if: * * The origin is not signed by the correct coldkey. * * Either subnet does not exist. * * The hotkey does not exist. * * There is insufficient stake on `(origin_coldkey, hotkey, origin_netuid)`. * * The transfer amount is below the minimum stake requirement. * * # Events * May emit a `StakeTransferred` event on success. */ "transfer_stake": Anonymize$1; /** * Swaps a specified amount of stake from one subnet to another, while keeping the same coldkey and hotkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the coldkey that owns the `hotkey`. * * `hotkey` - The hotkey whose stake is being swapped. * * `origin_netuid` - The network/subnet ID from which stake is removed. * * `destination_netuid` - The network/subnet ID to which stake is added. * * `alpha_amount` - The amount of stake to swap. * * # Errors * Returns an error if: * * The transaction is not signed by the correct coldkey (i.e., `coldkey_owns_hotkey` fails). * * Either `origin_netuid` or `destination_netuid` does not exist. * * The hotkey does not exist. * * There is insufficient stake on `(coldkey, hotkey, origin_netuid)`. * * The swap amount is below the minimum stake requirement. * * # Events * May emit a `StakeSwapped` event on success. */ "swap_stake": Anonymize$1; /** * --- Adds stake to a hotkey on a subnet with a price limit. * This extrinsic allows to specify the limit price for alpha token * at which or better (lower) the staking should execute. * * In case if slippage occurs and the price shall move beyond the limit * price, the staking order may execute only partially or not execute * at all. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_staked' (u64): * - The amount of stake to be added to the hotkey staking account. * * * 'limit_price' (u64): * - The limit price expressed in units of RAO per one Alpha. * * * 'allow_partial' (bool): * - Allows partial execution of the amount. If set to false, this becomes * fill or kill type or order. * * # Event: * * StakeAdded; * - On the successfully adding stake to a global account. * * # Raises: * * 'NotEnoughBalanceToStake': * - Not enough balance on the coldkey to add onto the global account. * * * 'NonAssociatedColdKey': * - The calling coldkey is not associated with this hotkey. * * * 'BalanceWithdrawalError': * - Errors stemming from transaction pallet. * */ "add_stake_limit": Anonymize$1; /** * --- Removes stake from a hotkey on a subnet with a price limit. * This extrinsic allows to specify the limit price for alpha token * at which or better (higher) the staking should execute. * * In case if slippage occurs and the price shall move beyond the limit * price, the staking order may execute only partially or not execute * at all. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_unstaked' (u64): * - The amount of stake to be added to the hotkey staking account. * * * 'limit_price' (u64): * - The limit price expressed in units of RAO per one Alpha. * * * 'allow_partial' (bool): * - Allows partial execution of the amount. If set to false, this becomes * fill or kill type or order. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * 'NotRegistered': * - Thrown if the account we are attempting to unstake from is non existent. * * * 'NonAssociatedColdKey': * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * 'NotEnoughStakeToWithdraw': * - Thrown if there is not enough stake on the hotkey to withdwraw this amount. * */ "remove_stake_limit": Anonymize$1; /** * Swaps a specified amount of stake from one subnet to another, while keeping the same coldkey and hotkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the coldkey that owns the `hotkey`. * * `hotkey` - The hotkey whose stake is being swapped. * * `origin_netuid` - The network/subnet ID from which stake is removed. * * `destination_netuid` - The network/subnet ID to which stake is added. * * `alpha_amount` - The amount of stake to swap. * * `limit_price` - The limit price expressed in units of RAO per one Alpha. * * `allow_partial` - Allows partial execution of the amount. If set to false, this becomes fill or kill type or order. * * # Errors * Returns an error if: * * The transaction is not signed by the correct coldkey (i.e., `coldkey_owns_hotkey` fails). * * Either `origin_netuid` or `destination_netuid` does not exist. * * The hotkey does not exist. * * There is insufficient stake on `(coldkey, hotkey, origin_netuid)`. * * The swap amount is below the minimum stake requirement. * * # Events * May emit a `StakeSwapped` event on success. */ "swap_stake_limit": Anonymize$1; /** * Attempts to associate a hotkey with a coldkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the coldkey that owns the `hotkey`. * * `hotkey` - The hotkey to associate with the coldkey. * * # Note * Will charge based on the weight even if the hotkey is already associated with a coldkey. */ "try_associate_hotkey": Anonymize$1; /** * Initiates a call on a subnet. * * # Arguments * * `origin` - The origin of the call, which must be signed by the subnet owner. * * `netuid` - The unique identifier of the subnet on which the call is being initiated. * * # Events * Emits a `FirstEmissionBlockNumberSet` event on success. */ "start_call": Anonymize$1; /** * Attempts to associate a hotkey with an EVM key. * * The signature will be checked to see if the recovered public key matches the `evm_key` provided. * * The EVM key is expected to sign the message according to this formula to produce the signature: * ```text * keccak_256(hotkey ++ keccak_256(block_number)) * ``` * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the `hotkey`. * * `netuid` - The netuid that the `hotkey` belongs to. * * `evm_key` - The EVM key to associate with the `hotkey`. * * `block_number` - The block number used in the `signature`. * * `signature` - A signed message by the `evm_key` containing the `hotkey` and the hashed `block_number`. * * # Errors * Returns an error if: * * The transaction is not signed. * * The hotkey does not belong to the subnet identified by the netuid. * * The EVM key cannot be recovered from the signature. * * The EVM key recovered from the signature does not match the given EVM key. * * # Events * May emit a `EvmKeyAssociated` event on success */ "associate_evm_key": Anonymize$1; /** * Recycles alpha from a cold/hot key pair, reducing AlphaOut on a subnet * * # Arguments * * `origin` - The origin of the call (must be signed by the coldkey) * * `hotkey` - The hotkey account * * `amount` - The amount of alpha to recycle * * `netuid` - The subnet ID * * # Events * Emits a `TokensRecycled` event on success. */ "recycle_alpha": Anonymize$1; /** * Burns alpha from a cold/hot key pair without reducing `AlphaOut` * * # Arguments * * `origin` - The origin of the call (must be signed by the coldkey) * * `hotkey` - The hotkey account * * `amount` - The amount of alpha to burn * * `netuid` - The subnet ID * * # Events * Emits a `TokensBurned` event on success. */ "burn_alpha": Anonymize$1; /** * Sets the pending childkey cooldown (in blocks). Root only. */ "set_pending_childkey_cooldown": Anonymize$1; /** * Removes all stake from a hotkey on a subnet with a price limit. * This extrinsic allows to specify the limit price for alpha token * at which or better (higher) the staking should execute. * Without limit_price it remove all the stake similar to `remove_stake` extrinsic */ "remove_stake_full_limit": Anonymize$1; /** * Register a new leased network. * * The crowdloan's contributions are used to compute the share of the emissions that the contributors * will receive as dividends. * * The leftover cap is refunded to the contributors and the beneficiary. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `emissions_share` (Percent): * - The share of the emissions that the contributors will receive as dividends. * * * `end_block` (Option>): * - The block at which the lease will end. If not defined, the lease is perpetual. */ "register_leased_network": Anonymize$1; /** * Terminate a lease. * * The beneficiary can terminate the lease after the end block has passed and get the subnet ownership. * The subnet is transferred to the beneficiary and the lease is removed from storage. * * **The hotkey must be owned by the beneficiary coldkey.** * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `lease_id` (LeaseId): * - The ID of the lease to terminate. * * * `hotkey` (T::AccountId): * - The hotkey of the beneficiary to mark as subnet owner hotkey. */ "terminate_lease": Anonymize$1; /** * Updates the symbol for a subnet. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner or root. * * `netuid` - The unique identifier of the subnet on which the symbol is being set. * * `symbol` - The symbol to set for the subnet. * * # Errors * Returns an error if: * * The transaction is not signed by the subnet owner. * * The symbol does not exist. * * The symbol is already in use by another subnet. * * # Events * Emits a `SymbolUpdated` event on success. */ "update_symbol": Anonymize$1; /** * ---- Used to commit timelock encrypted commit-reveal weight values to later be revealed. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * * commit_reveal_version (`u16`): * - The client (bittensor-drand) version */ "commit_timelocked_weights": Anonymize$1; /** * Set the autostake destination hotkey for a coldkey. * * The caller selects a hotkey where all future rewards * will be automatically staked. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `hotkey` (T::AccountId): * - The hotkey account to designate as the autostake destination. */ "set_coldkey_auto_stake_hotkey": Anonymize$1; /** * ---- Used to commit timelock encrypted commit-reveal weight values to later be revealed for * a mechanism. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * * commit_reveal_version (`u16`): * - The client (bittensor-drand) version */ "commit_timelocked_mechanism_weights": Anonymize$1; /** * Remove a subnetwork * The caller must be root */ "root_dissolve_network": Anonymize$1; /** * --- Claims the root emissions for a coldkey. * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * # Event: * * RootClaimed; * - On the successfully claiming the root emissions for a coldkey. * * # Raises: * */ "claim_root": Anonymize$1; /** * --- Sets the root claim type for the coldkey. * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * # Event: * * RootClaimTypeSet; * - On the successfully setting the root claim type for the coldkey. * */ "set_root_claim_type": Anonymize$1; /** * --- Sets root claim number (sudo extrinsic). Zero disables auto-claim. */ "sudo_set_num_root_claims": Anonymize$1; /** * --- Sets root claim threshold for subnet (sudo or owner origin). */ "sudo_set_root_claim_threshold": Anonymize$1; /** * Announces a coldkey swap using BlakeTwo256 hash of the new coldkey. * * This is required before the coldkey swap can be performed * after the delay period. * * It can be reannounced after a delay of `ColdkeySwapReannouncementDelay` following * the first valid execution block of the original announcement. * * The dispatch origin of this call must be the original coldkey that made the announcement. * * - `new_coldkey_hash`: The hash of the new coldkey using BlakeTwo256. * * The `ColdkeySwapAnnounced` event is emitted on successful announcement. * */ "announce_coldkey_swap": Anonymize$1; /** * Performs a coldkey swap if an announcement has been made. * * The dispatch origin of this call must be the original coldkey that made the announcement. * * - `new_coldkey`: The new coldkey to swap to. The BlakeTwo256 hash of the new coldkey must be * the same as the announced coldkey hash. * * The `ColdkeySwapped` event is emitted on successful swap. */ "swap_coldkey_announced": Anonymize$1; /** * Dispute a coldkey swap. * * This will prevent any further actions on the coldkey swap * until triumvirate step in to resolve the issue. * * - `coldkey`: The coldkey to dispute the swap for. * */ "dispute_coldkey_swap": undefined; /** * Reset a coldkey swap by clearing the announcement and dispute status. * * The dispatch origin of this call must be root. * * - `coldkey`: The coldkey to reset the swap for. * */ "reset_coldkey_swap": Anonymize$1; /** * Enables voting power tracking for a subnet. * * This function can be called by the subnet owner or root. * When enabled, voting power EMA is updated every epoch for all validators. * Voting power starts at 0 and increases over epochs. * * # Arguments: * * `origin` - The origin of the call, must be subnet owner or root. * * `netuid` - The subnet to enable voting power tracking for. * * # Errors: * * `SubnetNotExist` - If the subnet does not exist. * * `NotSubnetOwner` - If the caller is not the subnet owner or root. */ "enable_voting_power_tracking": Anonymize$1; /** * Schedules disabling of voting power tracking for a subnet. * * This function can be called by the subnet owner or root. * Voting power tracking will continue for 14 days (grace period) after this call, * then automatically disable and clear all VotingPower entries for the subnet. * * # Arguments: * * `origin` - The origin of the call, must be subnet owner or root. * * `netuid` - The subnet to schedule disabling voting power tracking for. * * # Errors: * * `SubnetNotExist` - If the subnet does not exist. * * `NotSubnetOwner` - If the caller is not the subnet owner or root. * * `VotingPowerTrackingNotEnabled` - If voting power tracking is not enabled. */ "disable_voting_power_tracking": Anonymize$1; /** * Sets the EMA alpha value for voting power calculation on a subnet. * * This function can only be called by root (sudo). * Higher alpha = faster response to stake changes. * Alpha is stored as u64 with 18 decimal precision (1.0 = 10^18). * * # Arguments: * * `origin` - The origin of the call, must be root. * * `netuid` - The subnet to set the alpha for. * * `alpha` - The new alpha value (u64 with 18 decimal precision). * * # Errors: * * `BadOrigin` - If the origin is not root. * * `SubnetNotExist` - If the subnet does not exist. * * `InvalidVotingPowerEmaAlpha` - If alpha is greater than 10^18 (1.0). */ "sudo_set_voting_power_ema_alpha": Anonymize$1; /** * --- The extrinsic is a combination of add_stake(add_stake_limit) and burn_alpha. We buy * alpha token first and immediately burn the acquired amount of alpha (aka Subnet buyback). */ "add_stake_burn": Anonymize$1; /** * Clears a coldkey swap announcement after the reannouncement delay if * it has not been disputed. * * The `ColdkeySwapCleared` event is emitted on successful clear. */ "clear_coldkey_swap_announcement": undefined; /** * User register a new subnetwork via burning token, but only if the * on-chain burn price for this block is <= `limit_price`. * * `limit_price` is expressed in the same TaoCurrency/u64 units as `Burn`. */ "register_limit": Anonymize$1; /** * --- Allows a root validator to toggle auto parent delegation * for new subnets owner hotkey */ "set_auto_parent_delegation_enabled": Anonymize$1; /** * Locks stake on a subnet to a specific hotkey, building conviction over time. * * If no lock exists for (coldkey, subnet), a new one is created. * If a lock exists, the destination hotkey must match the existing lock's hotkey. * Top-up adds to the locked amount after rolling the lock state forward. * * # Arguments * * `origin` - Must be signed by the coldkey. * * `hotkey` - The hotkey to lock stake to. * * `netuid` - The subnet on which to lock. * * `amount` - The alpha amount to lock. */ "lock_stake": Anonymize$1; /** * Moves an existing lock for a coldkey on a subnet from one hotkey to another. * * The lock is rolled forward to the current block before switching the * associated hotkey, preserving the decayed locked mass. The conviction is * reset to zero. * * # Arguments * * `origin` - Must be signed by the coldkey that owns the lock. * * `destination_hotkey` - The hotkey the lock should target after the move. * * `netuid` - The subnet on which the lock exists. * # Errors: * * `Error::::NoExistingLock` - If no lock exists for the given coldkey and subnet. */ "move_lock": Anonymize$1; /** * Sets or clears the caller's perpetual lock flag for a subnet. * * Locks decay by default. When enabled, the caller's individual lock * does not unlock through locked-mass decay. Passing `false` returns * the caller's lock to normal decay. */ "set_perpetual_lock": Anonymize$1; /** * Sets or clears whether the caller rejects incoming locked alpha. * * Coldkeys reject locked alpha by default. Passing `false` opts the * caller into receiving locked alpha from stake transfers or coldkey * swaps. */ "set_reject_locked_alpha": Anonymize$1; }>; type Icv6ofu4lqekr4 = { "netuid": number; "dests": Anonymize$1; "weights": Anonymize$1; "version_key": bigint; }; type I48embv0n659kj = { "netuid": number; "mecid": number; "dests": Anonymize$1; "weights": Anonymize$1; "version_key": bigint; }; type I8l6dbd18t5aja = { "netuids": Anonymize$1; "weights": Array>; "version_keys": Anonymize$1; }; type I513du23unvan = { "netuid": number; "commit_hash": SizedHex<32>; }; type I36o6oho99gjm8 = { "netuid": number; "mecid": number; "commit_hash": SizedHex<32>; }; type If3mvus4cmnb7l = { "netuids": Anonymize$1; "commit_hashes": Anonymize$1; }; type I3qrhi1ua10nnf = { "netuid": number; "uids": Anonymize$1; "values": Anonymize$1; "salt": Anonymize$1; "version_key": bigint; }; type I2hpc4ev2drsf2 = { "netuid": number; "mecid": number; "uids": Anonymize$1; "values": Anonymize$1; "salt": Anonymize$1; "version_key": bigint; }; type I73q6qh9ckhm04 = { "netuid": number; "mecid": number; "commit": Uint8Array; "reveal_round": bigint; }; type Idia8cmqvul6et = { "netuid": number; "uids_list": Anonymize$1; "values_list": Anonymize$1; "salts_list": Anonymize$1; "version_keys": Anonymize$1; }; type Idardmhchnv8aa = { "hotkey": SS58String; "take": number; }; type Icud5m8j0nlgtj = { "hotkey": SS58String; "netuid": number; "amount_staked": bigint; }; type I850u7ir5o34um = { "hotkey": SS58String; "netuid": number; "amount_unstaked": bigint; }; type Ica88a899k1afk = { "netuid": number; "version": number; "ip": bigint; "port": number; "ip_type": number; "protocol": number; "placeholder1": number; "placeholder2": number; }; type I4tfn6eb3ekqt2 = { "netuid": number; "version": number; "ip": bigint; "port": number; "ip_type": number; "protocol": number; "placeholder1": number; "placeholder2": number; "certificate": Uint8Array; }; type Ia5r6mm7trbg6a = { "netuid": number; "version": number; "ip": bigint; "port": number; "ip_type": number; }; type I27gr0ss2ikvqh = { "netuid": number; "block_number": bigint; "nonce": bigint; "work": Uint8Array; "hotkey": SS58String; "coldkey": SS58String; }; type Ie7hipi75c7vn0 = { "hotkey": SS58String; }; type I7f38r2vt6r9k1 = { "netuid": number; "hotkey": SS58String; }; type I6b53cjq4m9nsr = { "hotkey": SS58String; "new_hotkey": SS58String; "netuid"?: Anonymize$1; }; type In4pk6v91ogph = { "hotkey": SS58String; "new_hotkey": SS58String; "netuid"?: Anonymize$1; "keep_stake": boolean; }; type I216fvnrl9nq6l = { "old_coldkey": SS58String; "new_coldkey": SS58String; "swap_cost": bigint; }; type I9n4d52k0luroe = { "hotkey": SS58String; "netuid": number; "take": number; }; type I3gk6eeddm0hsd = { "tx_rate_limit": bigint; }; type I6ue7qc27uhiev = { "take": number; }; type I30l38oi9ed9dj = { "coldkey": SS58String; "netuid": number; }; type Ifj9gf4ekq9snm = { "hotkey": SS58String; "netuid": number; "children": Anonymize$1; }; type If2k69ql8jgivj = { "new_coldkey": SS58String; }; type I4378ieh1uba9u = { "netuid": number; "subnet_name": Uint8Array; "github_repo": Uint8Array; "subnet_contact": Uint8Array; "subnet_url": Uint8Array; "discord": Uint8Array; "description": Uint8Array; "logo_url": Uint8Array; "additional": Uint8Array; }; type I8e6f7r9dtk9c1 = { "hotkey": SS58String; "identity"?: Anonymize$1; }; type I3m38saj8mvtpv = (Anonymize$1) | undefined; type I9d117ni3tprb = { "origin_hotkey": SS58String; "destination_hotkey": SS58String; "origin_netuid": number; "destination_netuid": number; "alpha_amount": bigint; }; type I340k0hbj1hc6r = { "destination_coldkey": SS58String; "hotkey": SS58String; "origin_netuid": number; "destination_netuid": number; "alpha_amount": bigint; }; type Ibapoov2fa817a = { "hotkey": SS58String; "origin_netuid": number; "destination_netuid": number; "alpha_amount": bigint; }; type I2eon60c4gde7f = { "hotkey": SS58String; "netuid": number; "amount_staked": bigint; "limit_price": bigint; "allow_partial": boolean; }; type I7egr0053sjpci = { "hotkey": SS58String; "netuid": number; "amount_unstaked": bigint; "limit_price": bigint; "allow_partial": boolean; }; type I6r22p9usi2mkl = { "hotkey": SS58String; "origin_netuid": number; "destination_netuid": number; "alpha_amount": bigint; "limit_price": bigint; "allow_partial": boolean; }; type I96k3nrdjfd63k = { "netuid": number; "evm_key": SizedHex<20>; "block_number": bigint; "signature": SizedHex<65>; }; type Ibg3cp8vjl5u55 = { "hotkey": SS58String; "amount": bigint; "netuid": number; }; type Ibtu1gfmdnou5k = { "cooldown": bigint; }; type Iaoomvri5btde = { "hotkey": SS58String; "netuid": number; "limit_price"?: Anonymize$1; }; type Ic80igo4eds6rq = { "emissions_share": number; "end_block"?: Anonymize$1; }; type Iflrm8un6aibtn = { "lease_id": number; "hotkey": SS58String; }; type Ietm4rjshhu7sf = { "netuid": number; "commit": Uint8Array; "reveal_round": bigint; "commit_reveal_version": number; }; type I1v9m3ms1elitm = { "netuid": number; "mecid": number; "commit": Uint8Array; "reveal_round": bigint; "commit_reveal_version": number; }; type I7a99hd3nbic2l = { "new_root_claim_type": Anonymize$1; }; type Ifcj247vgfdg56 = { "netuid": number; "new_value": bigint; }; type Ic21uicfit5vcu = { "new_coldkey_hash": SizedHex<32>; }; type I2t2h3sjr2mdj0 = { "hotkey": SS58String; "netuid": number; "amount": bigint; "limit"?: Anonymize$1; }; type I96vnf03ahk1m9 = { "netuid": number; "hotkey": SS58String; "limit_price": bigint; }; type Idi9v74f6e6f4r = { "destination_hotkey": SS58String; "netuid": number; }; type I94dejtmu6d72i = { "enabled": boolean; }; type I9qvruf018g3td = AnonymousEnum$1<{ /** * 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$1; /** * 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$1; /** * 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$1; /** * Dispatches a function call with a provided origin. * * The dispatch origin for this call must be _Root_. * * ## Complexity * - O(1). */ "dispatch_as": Anonymize$1; /** * 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$1; /** * 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$1; /** * 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$1; /** * 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$1; }>; type I5rjg6gffgea5h = { "calls": Array; }; type I5d7akb23pecu9 = { "index": number; "call": TxCallData; }; type I9chk3bcp4298l = { "as_origin": Anonymize$1; "call": TxCallData; }; type I9cr9ra9aqdni = { "call": TxCallData; "weight": Anonymize$1; }; type I9k3td98e191rq = { "main": TxCallData; "fallback": TxCallData; }; type I1a4vrdg0v955l = AnonymousEnum$1<{ /** * Authenticates the sudo key and dispatches a function call with `Root` origin. */ "sudo": Anonymize$1; /** * Authenticates the sudo key and dispatches a function call with `Root` origin. * This function does not check the weight of the call, and instead allows the * Sudo user to specify the weight of the call. * * The dispatch origin for this call must be _Signed_. */ "sudo_unchecked_weight": Anonymize$1; /** * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo * key. */ "set_key": Anonymize$1; /** * Authenticates the sudo key and dispatches a function call with `Signed` origin from * a given account. * * The dispatch origin for this call must be _Signed_. */ "sudo_as": Anonymize$1; /** * Permanently removes the sudo key. * * **This cannot be un-done.** */ "remove_key": undefined; }>; type Idnqa5ds6fc7bv = { "call": TxCallData; }; type I8k3rnvpeeh4hv = { "new": MultiAddress; }; type I34okmg8ej3oun = { "who": MultiAddress; "call": TxCallData; }; type Ictip97n4u3qa4 = AnonymousEnum$1<{ /** * 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$1; /** * 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$1; /** * 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$1; /** * 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$1; /** * 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$1; }>; type I549fq3r4ddffq = { "other_signatories": Anonymize$1; "call": TxCallData; }; type I815u4fc1ssmmt = { "threshold": number; "other_signatories": Anonymize$1; "maybe_timepoint"?: Anonymize$1; "call": TxCallData; "max_weight": Anonymize$1; }; type Iavv27gkk6eask = AnonymousEnum$1<{ /** * Anonymously schedule a task. */ "schedule": Anonymize$1; /** * Cancel an anonymously scheduled task. */ "cancel": Anonymize$1; /** * Schedule a named task. */ "schedule_named": Anonymize$1; /** * Cancel a named scheduled task. */ "cancel_named": Anonymize$1; /** * Anonymously schedule a task after a delay. */ "schedule_after": Anonymize$1; /** * Schedule a named task after a delay. */ "schedule_named_after": Anonymize$1; /** * 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$1; /** * 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$1; /** * Removes the retry configuration of a task. */ "cancel_retry": Anonymize$1; /** * Cancel the retry configuration of a named task. */ "cancel_retry_named": Anonymize$1; }>; type Ifbakqhtk0eumj = { "when": number; "maybe_periodic"?: Anonymize$1; "priority": number; "call": TxCallData; }; type I114nj84jfolul = { "id": SizedHex<32>; "when": number; "maybe_periodic"?: Anonymize$1; "priority": number; "call": TxCallData; }; type I23dtsib951rel = { "after": number; "maybe_periodic"?: Anonymize$1; "priority": number; "call": TxCallData; }; type Iahplh5euq92vb = { "id": SizedHex<32>; "after": number; "maybe_periodic"?: Anonymize$1; "priority": number; "call": TxCallData; }; type Iedv675d6uvg96 = AnonymousEnum$1<{ /** * 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$1; /** * 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$1; /** * 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$1; /** * 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": Anonymize$1; /** * 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": Anonymize$1; /** * 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$1; /** * 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$1; /** * 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$1; /** * 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$1; /** * 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; /** * Set whether the real account pays transaction fees for proxy calls made by a * specific delegate. * * The dispatch origin for this call must be _Signed_ and must be the real (delegator) * account that has an existing proxy relationship with the delegate. * * Parameters: * - `delegate`: The proxy account for which to set the fee payment preference. * - `pays_fee`: If `true`, the real account will pay fees for proxy calls made by * this delegate. If `false`, the delegate pays (default behavior). */ "set_real_pays_fee": Anonymize$1; }>; type I30dh0oth3ev48 = { "real": MultiAddress; "force_proxy_type"?: Anonymize$1; "call": TxCallData; }; type Iccd9gbcgdpjso = (Anonymize$1) | undefined; type It11trpppbc3l = { "delegate": MultiAddress; "proxy_type": Anonymize$1; "delay": number; }; type Ietml13sclqs1q = { "proxy_type": Anonymize$1; "delay": number; "index": number; }; type Iftfic7p3uban2 = { "spawner": MultiAddress; "proxy_type": Anonymize$1; "index": number; "height": number; "ext_index": number; }; type I904q54nj5dvn4 = { "delegate": MultiAddress; "real": MultiAddress; "force_proxy_type"?: Anonymize$1; "call": TxCallData; }; type Ibm6on6oe0malt = { "delegate": MultiAddress; "pays_fee": boolean; }; type Ifml9odtov51l3 = AnonymousEnum$1<{ /** * Register an identity for an account. This will overwrite any existing identity. */ "set_identity": Anonymize$1; /** * Clear the identity of an account. */ "clear_identity": Anonymize$1; }>; type I3p6khp3nv37cu = { "identified": SS58String; "info": Anonymize$1; }; type I6pnnj50tnq448 = { "identified": SS58String; }; type I5bqhvupj937er = AnonymousEnum$1<{ /** * Set the commitment for a given netuid */ "set_commitment": Anonymize$1; /** * Sudo-set MaxSpace */ "set_max_space": Anonymize$1; }>; type I57v1t6776pl3a = { "netuid": number; "info": Anonymize$1; }; type I1il5mj68vvsms = { "new_limit": number; }; type I541uljohktq8n = AnonymousEnum$1<{ /** * The extrinsic sets the new authorities for Aura consensus. * It is only callable by the root account. * The extrinsic will call the Aura pallet to change the authorities. */ "swap_authorities": Anonymize$1; /** * The extrinsic sets the default take for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the default take. */ "sudo_set_default_take": Anonymize$1; /** * The extrinsic sets the transaction rate limit for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the transaction rate limit. */ "sudo_set_tx_rate_limit": Anonymize$1; /** * The extrinsic sets the serving rate limit for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the serving rate limit. */ "sudo_set_serving_rate_limit": Anonymize$1; /** * The extrinsic sets the minimum difficulty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the minimum difficulty. */ "sudo_set_min_difficulty": Anonymize$1; /** * The extrinsic sets the maximum difficulty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the maximum difficulty. */ "sudo_set_max_difficulty": Anonymize$1; /** * The extrinsic sets the weights version key for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the weights version key. */ "sudo_set_weights_version_key": Anonymize$1; /** * The extrinsic sets the weights set rate limit for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the weights set rate limit. */ "sudo_set_weights_set_rate_limit": Anonymize$1; /** * The extrinsic sets the adjustment interval for a subnet. * It is only callable by the root account, not changeable by the subnet owner. * The extrinsic will call the Subtensor pallet to set the adjustment interval. */ "sudo_set_adjustment_interval": Anonymize$1; /** * The extrinsic sets the adjustment alpha for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the adjustment alpha. */ "sudo_set_adjustment_alpha": Anonymize$1; /** * The extrinsic sets the immunity period for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the immunity period. */ "sudo_set_immunity_period": Anonymize$1; /** * The extrinsic sets the minimum allowed weights for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the minimum allowed weights. */ "sudo_set_min_allowed_weights": Anonymize$1; /** * The extrinsic sets the maximum allowed UIDs for a subnet. * It is only callable by the root account and subnet owner. * The extrinsic will call the Subtensor pallet to set the maximum allowed UIDs for a subnet. */ "sudo_set_max_allowed_uids": Anonymize$1; /** * The extrinsic sets the kappa for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the kappa. */ "sudo_set_kappa": Anonymize$1; /** * The extrinsic sets the rho for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the rho. */ "sudo_set_rho": Anonymize$1; /** * The extrinsic sets the activity cutoff for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the activity cutoff. */ "sudo_set_activity_cutoff": Anonymize$1; /** * The extrinsic sets the network registration allowed for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the network registration allowed. */ "sudo_set_network_registration_allowed": Anonymize$1; /** * The extrinsic sets the network PoW registration allowed for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the network PoW registration allowed. */ "sudo_set_network_pow_registration_allowed": Anonymize$1; /** * The extrinsic sets the target registrations per interval for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the target registrations per interval. */ "sudo_set_target_registrations_per_interval": Anonymize$1; /** * The extrinsic sets the minimum burn for a subnet. * It is only callable by root and subnet owner. * The extrinsic will call the Subtensor pallet to set the minimum burn. */ "sudo_set_min_burn": Anonymize$1; /** * The extrinsic sets the maximum burn for a subnet. * It is only callable by root and subnet owner. * The extrinsic will call the Subtensor pallet to set the maximum burn. */ "sudo_set_max_burn": Anonymize$1; /** * The extrinsic sets the difficulty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the difficulty. */ "sudo_set_difficulty": Anonymize$1; /** * The extrinsic sets the maximum allowed validators for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the maximum allowed validators. */ "sudo_set_max_allowed_validators": Anonymize$1; /** * The extrinsic sets the bonds moving average for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the bonds moving average. */ "sudo_set_bonds_moving_average": Anonymize$1; /** * The extrinsic sets the bonds penalty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the bonds penalty. */ "sudo_set_bonds_penalty": Anonymize$1; /** * The extrinsic sets the maximum registrations per block for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the maximum registrations per block. */ "sudo_set_max_registrations_per_block": Anonymize$1; /** * The extrinsic sets the subnet owner cut for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the subnet owner cut. */ "sudo_set_subnet_owner_cut": Anonymize$1; /** * The extrinsic sets the network rate limit for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the network rate limit. */ "sudo_set_network_rate_limit": Anonymize$1; /** * The extrinsic sets the tempo for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the tempo. */ "sudo_set_tempo": Anonymize$1; /** * DEPRECATED */ "sudo_set_total_issuance": Anonymize$1; /** * The extrinsic sets the immunity period for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the immunity period for the network. */ "sudo_set_network_immunity_period": Anonymize$1; /** * The extrinsic sets the min lock cost for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the min lock cost for the network. */ "sudo_set_network_min_lock_cost": Anonymize$1; /** * The extrinsic sets the subnet limit for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the subnet limit. */ "sudo_set_subnet_limit": Anonymize$1; /** * The extrinsic sets the lock reduction interval for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the lock reduction interval. */ "sudo_set_lock_reduction_interval": Anonymize$1; /** * The extrinsic sets the recycled RAO for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the recycled RAO. */ "sudo_set_rao_recycled": Anonymize$1; /** * The extrinsic sets the weights min stake. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the weights min stake. */ "sudo_set_stake_threshold": Anonymize$1; /** * The extrinsic sets the minimum stake required for nominators. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the minimum stake required for nominators. */ "sudo_set_nominator_min_required_stake": Anonymize$1; /** * The extrinsic sets the rate limit for delegate take transactions. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the rate limit for delegate take transactions. */ "sudo_set_tx_delegate_take_rate_limit": Anonymize$1; /** * The extrinsic sets the minimum delegate take. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the minimum delegate take. */ "sudo_set_min_delegate_take": Anonymize$1; /** * The extrinsic sets the minimum childkey take for a subnet. * It is callable by root or the subnet owner. * The subnet minimum can only make the global minimum stricter. */ "sudo_set_min_childkey_take_per_subnet": Anonymize$1; /** * The extrinsic enabled/disables commit/reaveal for a given subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the value. */ "sudo_set_commit_reveal_weights_enabled": Anonymize$1; /** * Enables or disables Liquid Alpha for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Liquid Alpha. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ "sudo_set_liquid_alpha_enabled": Anonymize$1; /** * Sets values for liquid alpha */ "sudo_set_alpha_values": Anonymize$1; /** * Sets the duration of the dissolve network schedule. * * This extrinsic allows the root account to set the duration for the dissolve network schedule. * The dissolve network schedule determines how long it takes for a network dissolution operation to complete. * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `duration` - The new duration for the dissolve network schedule, in number of blocks. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_dissolve_network_schedule_duration": Anonymize$1; /** * Sets the commit-reveal weights periods for a specific subnet. * * This extrinsic allows the subnet owner or root account to set the duration (in epochs) during which committed weights must be revealed. * The commit-reveal mechanism ensures that users commit weights in advance and reveal them only within a specified period. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner or the root account. * * `netuid` - The unique identifier of the subnet for which the periods are being set. * * `periods` - The number of epochs that define the commit-reveal period. * * # Errors * * `BadOrigin` - If the caller is neither the subnet owner nor the root account. * * `SubnetDoesNotExist` - If the specified subnet does not exist. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_commit_reveal_weights_interval": Anonymize$1; /** * Sets the EVM ChainID. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner or the root account. * * `chainId` - The u64 chain ID * * # Errors * * `BadOrigin` - If the caller is neither the subnet owner nor the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_evm_chain_id": Anonymize$1; /** * A public interface for `pallet_grandpa::Pallet::schedule_grandpa_change`. * * Schedule a change in the authorities. * * The change will be applied at the end of execution of the block `in_blocks` after the * current block. This value may be 0, in which case the change is applied at the end of * the current block. * * If the `forced` parameter is defined, this indicates that the current set has been * synchronously determined to be offline and that after `in_blocks` the given change * should be applied. The given block number indicates the median last finalized block * number and it should be used as the canon block when starting the new grandpa voter. * * No change should be signaled while any change is pending. Returns an error if a change * is already pending. */ "schedule_grandpa_change": Anonymize$1; /** * Enable or disable atomic alpha transfers for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Liquid Alpha. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ "sudo_set_toggle_transfer": Anonymize$1; /** * Set the behaviour of the "burn" UID(s) for a given subnet. * If set to `Burn`, the miner emission sent to the burn UID(s) will be burned. * If set to `Recycle`, the miner emission sent to the burn UID(s) will be recycled. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `recycle_or_burn`: The desired behaviour of the "burn" UID(s) for the subnet. * */ "sudo_set_recycle_or_burn": Anonymize$1; /** * Toggles the enablement of an EVM precompile. * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `precompile_id` - The identifier of the EVM precompile to toggle. * * `enabled` - The new enablement state of the precompile. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_toggle_evm_precompile": Anonymize$1; /** * * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `alpha` - The new moving alpha value for the SubnetMovingAlpha. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_subnet_moving_alpha": Anonymize$1; /** * Change the SubnetOwnerHotkey for a given subnet. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner. * * `netuid` - The unique identifier for the subnet. * * `hotkey` - The new hotkey for the subnet owner. * * # Errors * * `BadOrigin` - If the caller is not the subnet owner or root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_subnet_owner_hotkey": Anonymize$1; /** * * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `ema_alpha_period` - Number of blocks for EMA price to halve * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_ema_price_halving_period": Anonymize$1; /** * * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `netuid` - The unique identifier for the subnet. * * `steepness` - The Steepness for the alpha sigmoid function. (range is 0-int16::MAX, * negative values are reserved for future use) * * # Errors * * `BadOrigin` - If the caller is not the root account. * * `SubnetDoesNotExist` - If the specified subnet does not exist. * * `NegativeSigmoidSteepness` - If the steepness is negative and the caller is * root. * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_alpha_sigmoid_steepness": Anonymize$1; /** * Enables or disables Yuma3 for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Yuma3. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ "sudo_set_yuma3_enabled": Anonymize$1; /** * Enables or disables Bonds Reset for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Bonds Reset. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ "sudo_set_bonds_reset_enabled": Anonymize$1; /** * Sets or updates the hotkey account associated with the owner of a specific subnet. * * This function allows either the root origin or the current subnet owner to set or update * the hotkey for a given subnet. The subnet must already exist. To prevent abuse, the call is * rate-limited to once per configured interval (default: one week) per subnet. * * # Parameters * - `origin`: The dispatch origin of the call. Must be either root or the current owner of the subnet. * - `netuid`: The unique identifier of the subnet whose owner hotkey is being set. * - `hotkey`: The new hotkey account to associate with the subnet owner. * * # Returns * - `DispatchResult`: Returns `Ok(())` if the hotkey was successfully set, or an appropriate error otherwise. * * # Errors * - `Error::SubnetNotExists`: If the specified subnet does not exist. * - `Error::TxRateLimitExceeded`: If the function is called more frequently than the allowed rate limit. * * # Access Control * Only callable by: * - Root origin, or * - The coldkey account that owns the subnet. * * # Storage * - Updates [`SubnetOwnerHotkey`] for the given `netuid`. * - Reads and updates [`LastRateLimitedBlock`] for rate-limiting. * - Reads [`DefaultSetSNOwnerHotkeyRateLimit`] to determine the interval between allowed updates. * * # Rate Limiting * This function is rate-limited to one call per subnet per interval (e.g., one week). */ "sudo_set_sn_owner_hotkey": Anonymize$1; /** * Enables or disables subtoken trading for a given subnet. * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `netuid` - The unique identifier of the subnet. * * `subtoken_enabled` - A boolean indicating whether subtoken trading should be enabled or disabled. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ "sudo_set_subtoken_enabled": Anonymize$1; /** * Sets the commit-reveal weights version for all subnets */ "sudo_set_commit_reveal_version": Anonymize$1; /** * Sets the number of immune owner neurons */ "sudo_set_owner_immune_neuron_limit": Anonymize$1; /** * Sets the childkey burn for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the childkey burn. */ "sudo_set_ck_burn": Anonymize$1; /** * Sets the admin freeze window length (in blocks) at the end of a tempo. * Only callable by root. */ "sudo_set_admin_freeze_window": Anonymize$1; /** * Sets the owner hyperparameter rate limit in epochs (global multiplier). * Only callable by root. */ "sudo_set_owner_hparam_rate_limit": Anonymize$1; /** * Sets the desired number of mechanisms in a subnet */ "sudo_set_mechanism_count": Anonymize$1; /** * Sets the emission split between mechanisms in a subnet */ "sudo_set_mechanism_emission_split": Anonymize$1; /** * Trims the maximum number of UIDs for a subnet. * * The trimming is done by sorting the UIDs by emission descending and then trimming * the lowest emitters while preserving temporally and owner immune UIDs. The UIDs are * then compressed to the left and storage is migrated to the new compressed UIDs. */ "sudo_trim_to_max_allowed_uids": Anonymize$1; /** * The extrinsic sets the minimum allowed UIDs for a subnet. * It is only callable by the root account. */ "sudo_set_min_allowed_uids": Anonymize$1; /** * Sets TAO flow cutoff value (A) */ "sudo_set_tao_flow_cutoff": Anonymize$1; /** * Sets TAO flow normalization exponent (p) */ "sudo_set_tao_flow_normalization_exponent": Anonymize$1; /** * Sets TAO flow smoothing factor (alpha) */ "sudo_set_tao_flow_smoothing_factor": Anonymize$1; /** * Enables or disables net TAO flow (protocol cost deduction from emission shares). * When enabled, emission shares use net flow = user flow - protocol cost. * When disabled, emission shares use gross user flow only (current behavior). */ "sudo_set_net_tao_flow_enabled": Anonymize$1; /** * Sets the global maximum number of mechanisms in a subnet */ "sudo_set_max_mechanism_count": Anonymize$1; /** * Sets the minimum number of non-immortal & non-immune UIDs that must remain in a subnet */ "sudo_set_min_non_immune_uids": Anonymize$1; /** * Sets the delay before a subnet can call start */ "sudo_set_start_call_delay": Anonymize$1; /** * Sets the announcement delay for coldkey swap. */ "sudo_set_coldkey_swap_announcement_delay": Anonymize$1; /** * Sets the coldkey swap reannouncement delay. */ "sudo_set_coldkey_swap_reannouncement_delay": Anonymize$1; /** * Set BurnHalfLife for a subnet. * It is only callable by root and subnet owner. */ "sudo_set_burn_half_life": Anonymize$1; /** * Set BurnIncreaseMult for a subnet. * It is only callable by root and subnet owner. */ "sudo_set_burn_increase_mult": Anonymize$1; /** * Set whether the subnet owner cut is enabled for a subnet. * It is only callable by root and subnet owner. */ "sudo_set_owner_cut_enabled": Anonymize$1; /** * Set whether subnet owner cut is auto-locked for a subnet. * It is only callable by root and subnet owner. */ "sudo_set_owner_cut_auto_lock_enabled": Anonymize$1; /** * Enables or disables subnet pool-side emission for a subnet. * * This does not remove the subnet from emission share calculation and does not * change `alpha_out`, owner cut, root proportion, pending server emission, or * pending validator emission. It only zeros the pool-side `alpha_in`, `tao_in`, * and `excess_tao` chain-buy paths. */ "sudo_set_subnet_emission_enabled": Anonymize$1; }>; type I42mob3hqe6j7h = { "new_authorities": Anonymize$1; }; type Icdbq0j31b3g9c = { "default_take": number; }; type I2t2rlclb0ce3e = { "netuid": number; "serving_rate_limit": bigint; }; type Iar87gdqmug5o7 = { "netuid": number; "min_difficulty": bigint; }; type I3oullii9p80a1 = { "netuid": number; "max_difficulty": bigint; }; type I8t8ta6lfbia9e = { "netuid": number; "weights_version_key": bigint; }; type I3akfmjle982qg = { "netuid": number; "weights_set_rate_limit": bigint; }; type Ibaje86kdit7s6 = { "netuid": number; "adjustment_interval": number; }; type I90lra4vl5j4db = { "netuid": number; "adjustment_alpha": bigint; }; type I1q480m57ftcms = { "netuid": number; "immunity_period": number; }; type Ie2bjglo51atf6 = { "netuid": number; "min_allowed_weights": number; }; type Ievma38tc25kil = { "netuid": number; "max_allowed_uids": number; }; type I2er75v4akf5cc = { "netuid": number; "kappa": number; }; type I5pldh0j0v0u4l = { "netuid": number; "rho": number; }; type Ifhou5p0slv68r = { "netuid": number; "activity_cutoff": number; }; type I9m89dnau2i4tt = { "netuid": number; "registration_allowed": boolean; }; type Ifunpjbsc4jrrr = { "netuid": number; "target_registrations_per_interval": number; }; type I85uujfpnu8gum = { "netuid": number; "min_burn": bigint; }; type I7bl5t0it6ck2m = { "netuid": number; "max_burn": bigint; }; type I4iope0tjiqgu4 = { "netuid": number; "difficulty": bigint; }; type Iptqa236frcvo = { "netuid": number; "max_allowed_validators": number; }; type I8hbi1vrve1i2 = { "netuid": number; "bonds_moving_average": bigint; }; type I1v9a50gjqk26k = { "netuid": number; "bonds_penalty": number; }; type Idv4d3rktbigfh = { "netuid": number; "max_registrations_per_block": number; }; type I56j1e9gqlq602 = { "subnet_owner_cut": number; }; type Ib6k4vik9ruq8h = { "rate_limit": bigint; }; type I9u9gu9aa92l5m = { "netuid": number; "tempo": number; }; type Idmd4tos09qd68 = { "total_issuance": bigint; }; type Ia0sp2p68e9k16 = { "immunity_period": bigint; }; type Ie318529rgoagk = { "lock_cost": bigint; }; type Iam4iou8r3isc1 = { "max_subnets": number; }; type I21ajnsdtbutjh = { "interval": bigint; }; type I203rofi4rpmo4 = { "netuid": number; "rao_recycled": bigint; }; type I1e290fmo892vi = { "min_stake": bigint; }; type Ia5a6tffkior2o = { "netuid": number; "take": number; }; type I71lu4gpn88cf0 = { "netuid": number; "alpha_low": number; "alpha_high": number; }; type I98iornf3ajrp9 = { "duration": number; }; type I9893mbk9nh201 = { "netuid": number; "interval": bigint; }; type Ieo8qamskgm4dk = { "next_authorities": Anonymize$1; "in_blocks": number; "forced"?: Anonymize$1; }; type Ift1efpssa32g2 = { "netuid": number; "toggle": boolean; }; type Ibk3v0rrpo1bio = { "netuid": number; "recycle_or_burn": Anonymize$1; }; type I6av3sq9jkhmm3 = { "alpha": bigint; }; type I70cd7doki8rme = { "netuid": number; "ema_halving": bigint; }; type Iam7j42j9f1go6 = { "netuid": number; "steepness": number; }; type Idco9ambhipg4i = { "netuid": number; "subtoken_enabled": boolean; }; type I9jtu7slb30qvs = { "netuid": number; "immune_neurons": number; }; type Idv3j6a15pjc16 = { "burn": bigint; }; type I206qvjkjun95i = { "window": number; }; type I4qhb3plq4ifmq = { "epochs": number; }; type Ic58lhlh1ocpm1 = { "netuid": number; "mechanism_count": number; }; type I6uopd4b2os90n = { "netuid": number; "maybe_split"?: Anonymize$1; }; type I35lk2003i8c8g = (Anonymize$1) | undefined; type I6idbvi8v00o5j = { "netuid": number; "max_n": number; }; type Ifbgbhkj74b35k = { "netuid": number; "min_allowed_uids": number; }; type Ibt4a800kb7frq = { "flow_cutoff": bigint; }; type Icb4un8h4cokoo = { "exponent": bigint; }; type I1up607q6ce947 = { "smoothing_factor": bigint; }; type I7hktg5sccf8op = { "max_mechanism_count": number; }; type Ib1d0bomkbrqv1 = { "netuid": number; "min": number; }; type Iaflrold1ds0nq = { "delay": bigint; }; type I48eehof2eias5 = AnonymousEnum$1<{ /** * Enter safe-mode permissionlessly for [`Config::EnterDuration`] blocks. * * Reserves [`Config::EnterDepositAmount`] from the caller's account. * Emits an [`Event::Entered`] event on success. * Errors with [`Error::Entered`] if the safe-mode is already entered. * Errors with [`Error::NotConfigured`] if the deposit amount is `None`. */ "enter": undefined; /** * Enter safe-mode by force for a per-origin configured number of blocks. * * Emits an [`Event::Entered`] event on success. * Errors with [`Error::Entered`] if the safe-mode is already entered. * * Can only be called by the [`Config::ForceEnterOrigin`] origin. */ "force_enter": undefined; /** * Extend the safe-mode permissionlessly for [`Config::ExtendDuration`] blocks. * * This accumulates on top of the current remaining duration. * Reserves [`Config::ExtendDepositAmount`] from the caller's account. * Emits an [`Event::Extended`] event on success. * Errors with [`Error::Exited`] if the safe-mode is entered. * Errors with [`Error::NotConfigured`] if the deposit amount is `None`. * * This may be called by any signed origin with [`Config::ExtendDepositAmount`] free * currency to reserve. This call can be disabled for all origins by configuring * [`Config::ExtendDepositAmount`] to `None`. */ "extend": undefined; /** * Extend the safe-mode by force for a per-origin configured number of blocks. * * Emits an [`Event::Extended`] event on success. * Errors with [`Error::Exited`] if the safe-mode is inactive. * * Can only be called by the [`Config::ForceExtendOrigin`] origin. */ "force_extend": undefined; /** * Exit safe-mode by force. * * Emits an [`Event::Exited`] with [`ExitReason::Force`] event on success. * Errors with [`Error::Exited`] if the safe-mode is inactive. * * Note: `safe-mode` will be automatically deactivated by [`Pallet::on_initialize`] hook * after the block height is greater than the [`EnteredUntil`] storage item. * Emits an [`Event::Exited`] with [`ExitReason::Timeout`] event when deactivated in the * hook. */ "force_exit": undefined; /** * Slash a deposit for an account that entered or extended safe-mode at a given * historical block. * * This can only be called while safe-mode is entered. * * Emits a [`Event::DepositSlashed`] event on success. * Errors with [`Error::Entered`] if safe-mode is entered. * * Can only be called by the [`Config::ForceDepositOrigin`] origin. */ "force_slash_deposit": Anonymize$1; /** * Permissionlessly release a deposit for an account that entered safe-mode at a * given historical block. * * The call can be completely disabled by setting [`Config::ReleaseDelay`] to `None`. * This cannot be called while safe-mode is entered and not until * [`Config::ReleaseDelay`] blocks have passed since safe-mode was entered. * * Emits a [`Event::DepositReleased`] event on success. * Errors with [`Error::Entered`] if the safe-mode is entered. * Errors with [`Error::CannotReleaseYet`] if [`Config::ReleaseDelay`] block have not * passed since safe-mode was entered. Errors with [`Error::NoDeposit`] if the payee has no * reserved currency at the block specified. */ "release_deposit": Anonymize$1; /** * Force to release a deposit for an account that entered safe-mode at a given * historical block. * * This can be called while safe-mode is still entered. * * Emits a [`Event::DepositReleased`] event on success. * Errors with [`Error::Entered`] if safe-mode is entered. * Errors with [`Error::NoDeposit`] if the payee has no reserved currency at the * specified block. * * Can only be called by the [`Config::ForceDepositOrigin`] origin. */ "force_release_deposit": Anonymize$1; }>; type I1ssp78ejl639m = { "account": SS58String; "block": number; }; type Iafltn68socb5h = AnonymousEnum$1<{ /** * Withdraw balance from EVM into currency/balances pallet. */ "withdraw": Anonymize$1; /** * Issue an EVM call operation. This is similar to a message call transaction in Ethereum. */ "call": Anonymize$1; /** * Issue an EVM create operation. This is similar to a contract creation transaction in * Ethereum. */ "create": Anonymize$1; /** * Issue an EVM create2 operation. */ "create2": Anonymize$1; "set_whitelist": Anonymize$1; "disable_whitelist": Anonymize$1; }>; type I837c61fc07ine = { "new": Anonymize$1; }; type I6m0oguilvhn8 = { "disabled": boolean; }; type I2aqcjbjlffus = AnonymousEnum$1<{ "set_base_fee_per_gas": Anonymize$1; "set_elasticity": Anonymize$1; }>; type Ibdf4fkp7qcokd = AnonymousEnum$1<{ /** * Verify and write a pulse from the beacon into the runtime */ "write_pulse": Anonymize$1; /** * allows the root user to set the beacon configuration * generally this would be called from an offchain worker context. * there is no verification of configurations, so be careful with this. * * * `origin`: the root user * * `config`: the beacon configuration */ "set_beacon_config": Anonymize$1; /** * allows the root user to set the oldest stored round */ "set_oldest_stored_round": Anonymize$1; }>; type I87tlou92i0bot = { "pulses_payload": { "block_number": number; "pulses": Array>; "public": MultiSigner; }; "signature"?: Anonymize$1; }; type MultiSigner = Enum<{ "Ed25519": SizedHex<32>; "Sr25519": SizedHex<32>; "Ecdsa": SizedHex<33>; }>; declare const MultiSigner: GetEnum; type Ifd3mkud9g8rb1 = { "config_payload": { "block_number": number; "config": Anonymize$1; "public": MultiSigner; }; "signature"?: Anonymize$1; }; type Iakvbbhvger3oa = { "oldest_round": bigint; }; type I1gqkj13iftr5g = AnonymousEnum$1<{ /** * Create a crowdloan that will raise funds up to a maximum cap and if successful, * will either transfer funds to the target address or dispatch the call * (using creator origin). Exactly one of call or target address must be provided. * Providing both, or providing neither, is rejected. * * The initial deposit will be transferred to the crowdloan account and will be refunded * in case the crowdloan fails to raise the cap. Additionally, the creator will pay for * the execution of the call. * * The dispatch origin for this call must be _Signed_. * * Parameters: * - `deposit`: The initial deposit from the creator. * - `min_contribution`: The minimum contribution required to contribute to the crowdloan. * - `cap`: The maximum amount of funds that can be raised. * - `end`: The block number at which the crowdloan will end. * - `call`: The call to dispatch when the crowdloan is finalized. * - `target_address`: The address to transfer the raised funds to. */ "create": Anonymize$1; /** * Contribute to an active crowdloan. * * The contribution will be transferred to the crowdloan account and will be refunded * if the crowdloan fails to raise the cap. If the contribution would raise the amount above the cap, * the contribution will be set to the amount that is left to be raised. * * The dispatch origin for this call must be _Signed_. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to contribute to. * - `amount`: The amount to contribute. */ "contribute": Anonymize$1; /** * Withdraw a contribution from an active (not yet finalized or dissolved) crowdloan. * * Only contributions over the deposit can be withdrawn by the creator. * * The dispatch origin for this call must be _Signed_. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to withdraw from. */ "withdraw": Anonymize$1; /** * Finalize crowdloan that has reached the cap. * * The call will either transfer the raised amount to the configured target address * or dispatch the configured call using the creator origin. The stored crowdloan * must contain exactly one of target address or call; if both or neither are set, * finalization fails before transfer or dispatch. * * When dispatching a call, the CurrentCrowdloanId will be set to the crowdloan id * being finalized so the dispatched call can access it temporarily by accessing * the `CurrentCrowdloanId` storage item. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to finalize. */ "finalize": Anonymize$1; /** * Refund contributors of a non-finalized crowdloan. * * The call will try to refund all contributors (excluding the creator) up to the limit defined by the `RefundContributorsLimit`. * If the limit is reached, the call will stop and the crowdloan will be marked as partially refunded. * It may be needed to dispatch this call multiple times to refund all contributors. * * The dispatch origin for this call must be _Signed_ and doesn't need to be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to refund. */ "refund": Anonymize$1; /** * Dissolve a crowdloan. * * The crowdloan will be removed from the storage. * All contributions must have been refunded before the crowdloan can be dissolved (except the creator's one). * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to dissolve. */ "dissolve": Anonymize$1; /** * Update the minimum contribution of a non-finalized crowdloan. * * If a maximum contribution is configured, the new minimum contribution * must not exceed it. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the minimum contribution of. * - `new_min_contribution`: The new minimum contribution. */ "update_min_contribution": Anonymize$1; /** * Update the end block of a non-finalized crowdloan. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the end block of. * - `new_end`: The new end block. */ "update_end": Anonymize$1; /** * Update the cap of a non-finalized crowdloan. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the cap of. * - `new_cap`: The new cap. */ "update_cap": Anonymize$1; /** * Set or clear the maximum cumulative contribution allowed per contributor * for a non-finalized crowdloan. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the maximum contribution of. * - `new_max_contribution`: The new optional maximum contribution. */ "set_max_contribution": Anonymize$1; }>; type I4flldbecufr47 = { "deposit": bigint; "min_contribution": bigint; "cap": bigint; "end": number; "call"?: (TxCallData) | undefined; "target_address"?: Anonymize$1; }; type Iet4pe2le7ku09 = { "crowdloan_id": number; "amount": bigint; }; type Id0qcnu1chac12 = AnonymousEnum$1<{ /** * Set the fee rate for swaps on a specific subnet (normalized value). * For example, 0.3% is approximately 196. * * Only callable by the admin origin */ "set_fee_rate": Anonymize$1; /** * Enable user liquidity operations for a specific subnet. This switches the * subnet from V2 to V3 swap mode. Thereafter, adding new user liquidity can be disabled * by toggling this flag to false, but the swap mode will remain V3 because of existing * user liquidity until all users withdraw their liquidity. * * Only sudo or subnet owner can enable user liquidity. * Only sudo can disable user liquidity. */ "toggle_user_liquidity": Anonymize$1; /** * Add liquidity to a specific price range for a subnet. * * Parameters: * - origin: The origin of the transaction * - netuid: Subnet ID * - tick_low: Lower bound of the price range * - tick_high: Upper bound of the price range * - liquidity: Amount of liquidity to add * * Emits `Event::LiquidityAdded` on success */ "add_liquidity": Anonymize$1; /** * Remove liquidity from a specific position. * * Parameters: * - origin: The origin of the transaction * - netuid: Subnet ID * - position_id: ID of the position to remove * * Emits `Event::LiquidityRemoved` on success */ "remove_liquidity": Anonymize$1; /** * Modify a liquidity position. * * Parameters: * - origin: The origin of the transaction * - netuid: Subnet ID * - position_id: ID of the position to remove * - liquidity_delta: Liquidity to add (if positive) or remove (if negative) * * Emits `Event::LiquidityRemoved` on success */ "modify_position": Anonymize$1; /** * Disable user liquidity in all subnets. * * Emits `Event::UserLiquidityToggled` on success */ "disable_lp": undefined; }>; type I3mcu79ge1e54v = { "hotkey": SS58String; "netuid": number; "tick_low": number; "tick_high": number; "liquidity": bigint; }; type Icf66vuktncksu = { "hotkey": SS58String; "netuid": number; "position_id": bigint; }; type Id69glo8rcjef = { "hotkey": SS58String; "netuid": number; "position_id": bigint; "liquidity_delta": bigint; }; type I6jivj2j5qp8sa = AnonymousEnum$1<{ /** * Deprecated version if [`Self::call`] for use in an in-storage `Call`. */ "call_old_weight": Anonymize$1; /** * Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`. */ "instantiate_with_code_old_weight": Anonymize$1; /** * Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`. */ "instantiate_old_weight": Anonymize$1; /** * Upload new `code` without instantiating a contract from it. * * If the code does not already exist a deposit is reserved from the caller * and unreserved only when [`Self::remove_code`] is called. The size of the reserve * depends on the size of the supplied `code`. * * If the code already exists in storage it will still return `Ok` and upgrades * the in storage version to the current * [`InstructionWeights::version`](InstructionWeights). * * - `determinism`: If this is set to any other value but [`Determinism::Enforced`] then * the only way to use this code is to delegate call into it from an offchain execution. * Set to [`Determinism::Enforced`] if in doubt. * * # 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`]. * * Use [`Determinism::Relaxed`] exclusively for non-deterministic code. If the uploaded * code is deterministic, specifying [`Determinism::Relaxed`] will be disregarded and * result in higher gas costs. */ "upload_code": Anonymize$1; /** * 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$1; /** * 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": Anonymize$1; /** * 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`. * * `gas_limit`: The gas 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": Anonymize$1; /** * 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. * * `gas_limit`: The gas 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. See [`Pallet::contract_address`]. * * 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": Anonymize$1; /** * Instantiates a contract from a previously deployed wasm 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 wasm binary * must be supplied. */ "instantiate": Anonymize$1; /** * When a migration is in progress, this dispatchable can be used to run migration steps. * Calls that contribute to advancing the migration have their fees waived, as it's helpful * for the chain. Note that while the migration is in progress, the pallet will also * leverage the `on_idle` hooks to run migration steps. */ "migrate": Anonymize$1; }>; type Ia2rnh5pfua40a = { "dest": MultiAddress; "value": bigint; "gas_limit": bigint; "storage_deposit_limit"?: Anonymize$1; "data": Uint8Array; }; type I3otc7e9a35k1k = { "value": bigint; "gas_limit": bigint; "storage_deposit_limit"?: Anonymize$1; "code": Uint8Array; "data": Uint8Array; "salt": Uint8Array; }; type I89ier5tb9ne0s = { "value": bigint; "gas_limit": bigint; "storage_deposit_limit"?: Anonymize$1; "code_hash": SizedHex<32>; "data": Uint8Array; "salt": Uint8Array; }; type Im2f0numhevg3 = { "code": Uint8Array; "storage_deposit_limit"?: Anonymize$1; "determinism": Anonymize$1; }; type I2agkcpojhkk43 = { "dest": MultiAddress; "code_hash": SizedHex<32>; }; type I32rvg545edabm = { "dest": MultiAddress; "value": bigint; "gas_limit": Anonymize$1; "storage_deposit_limit"?: Anonymize$1; "data": Uint8Array; }; type I83fv0vi59md7i = { "value": bigint; "gas_limit": Anonymize$1; "storage_deposit_limit"?: Anonymize$1; "code": Uint8Array; "data": Uint8Array; "salt": Uint8Array; }; type I5tjjqcdd4tae0 = { "value": bigint; "gas_limit": Anonymize$1; "storage_deposit_limit"?: Anonymize$1; "code_hash": SizedHex<32>; "data": Uint8Array; "salt": Uint8Array; }; type I1894dm1lf1ae7 = { "weight_limit": Anonymize$1; }; type I5fpdlstuub4e0 = AnonymousEnum$1<{ /** * Rotate the key chain and announce the current author's ML-KEM encapsulation key. * * Called as an inherent every block. `enc_key` is `None` on node failure, * which removes the author from future shielded tx eligibility. * * Key rotation order (using pre-update AuthorKeys): * 1. CurrentKey ← PendingKey * 2. PendingKey ← NextKey * 3. NextKey ← next-next author's key (user-facing) * 4. AuthorKeys[current] ← announced key */ "announce_next_key": Anonymize$1; /** * Users submit an encrypted wrapper. * * Client‑side: * * 1. Read `NextKey` (ML‑KEM encapsulation key bytes) from storage. * 2. Sign your extrinsic so that it can be executed when added to the pool, * i.e. you may need to increment the nonce if you submit using the same account. * 3. Encrypt: * * plaintext = signed_extrinsic * key_hash = xxhash128(NextKey) * kem_len = Length of kem_ct in bytes (u16) * kem_ct = Ciphertext from ML‑KEM‑768 * nonce = Random 24 bytes used for XChaCha20‑Poly1305 * aead_ct = Ciphertext from XChaCha20‑Poly1305 * * with ML‑KEM‑768 + XChaCha20‑Poly1305, producing * * ciphertext = key_hash || kem_len || kem_ct || nonce || aead_ct * */ "submit_encrypted": Anonymize$1; /** * Store an encrypted extrinsic for later execution in on_initialize. */ "store_encrypted": Anonymize$1; /** * Set the maximum number of pending extrinsics allowed in the queue. */ "set_max_pending_extrinsics_number": Anonymize$1; /** * Set the maximum weight allowed for on_initialize processing. * Rejects values exceeding the absolute limit (half of total block weight). */ "set_on_initialize_weight": Anonymize$1; /** * Set the extrinsic lifetime (max blocks between submission and execution). */ "set_stored_extrinsic_lifetime": Anonymize$1; /** * Set the maximum weight allowed for a single extrinsic during on_initialize processing. * Extrinsics exceeding this limit are removed from the queue. * Rejects values exceeding the absolute limit. */ "set_max_extrinsic_weight": Anonymize$1; }>; type I4itmt7a6bg4u1 = { "enc_key"?: Anonymize$1; }; type I5lq4pf17u9hc8 = { "ciphertext": Uint8Array; }; type Ic07rk250cl0js = { "encrypted_call": Uint8Array; }; type I20utsj9l2el4c = AnonymousEnum$1<{ "System": Anonymize$1; "Timestamp": Anonymize$1; "Grandpa": Anonymize$1; "Balances": Anonymize$1; "SubtensorModule": Anonymize$1; "Utility": Anonymize$1; "Sudo": Anonymize$1; "Multisig": Anonymize$1; "Preimage": Anonymize$1; "Scheduler": Anonymize$1; "Proxy": Anonymize$1; "Registry": Anonymize$1; "Commitments": Anonymize$1; "AdminUtils": Anonymize$1; "SafeMode": Anonymize$1; "Ethereum": Anonymize$1; "EVM": Anonymize$1; "BaseFee": Anonymize$1; "Drand": Anonymize$1; "Crowdloan": Anonymize$1; "Swap": Anonymize$1; "Contracts": Anonymize$1; "MevShield": Anonymize$1; }>; type Iblskupqvkj4fj = ResultPayload, Anonymize$1>; type I8ficvmv2pohnj = ResultPayload, Anonymize$1>; type Iac8tjuf9u92uh = ResultPayload, Anonymize$1>; type Ieisvufu1l5eu0 = { "gas_consumed": Anonymize$1; "gas_required": Anonymize$1; "storage_deposit": Anonymize$1; "debug_message": Uint8Array; "result": ResultPayload, Anonymize$1>; "events"?: Anonymize$1; }; type I4c9sd4kd3j0qb = (Anonymize$1) | undefined; type Ibjtv6sd9blm9t = { "gas_consumed": Anonymize$1; "gas_required": Anonymize$1; "storage_deposit": Anonymize$1; "debug_message": Uint8Array; "result": ResultPayload<{ "result": Anonymize$1; "account_id": SS58String; }, Anonymize$1>; "events"?: Anonymize$1; }; type Ibcbvuikvhjeug = ResultPayload, Anonymize$1>; type I9u22scd4ksrjm = ResultPayload, Enum<{ "DoesntExist": undefined; "KeyDecodingFailed": undefined; "MigrationInProgress": undefined; }>>; type Ibil6rvg3saeb3 = Array>; type I4dh58q3tkaf4j = { "delegate_ss58": SS58String; "take": number; "nominators": Array<[SS58String, Anonymize$1]>; "owner_ss58": SS58String; "registrations": Anonymize$1; "validator_permits": Anonymize$1; "return_per_1000": bigint; "total_daily_return": bigint; }; type I97cs1i8k87lnm = (Anonymize$1) | undefined; type I874e758ge6pa9 = Array<[Anonymize$1, Anonymize$1]>; type I86tq0h1o8f1g5 = Array>; type I89nj65vjrv1i8 = { "hotkey": SS58String; "coldkey": SS58String; "uid": number; "netuid": number; "active": boolean; "axon_info": Anonymize$1; "prometheus_info": Anonymize$1; "stake": Anonymize$1; "rank": number; "emission": bigint; "incentive": number; "consensus": number; "trust": number; "validator_trust": number; "dividends": number; "last_update": bigint; "validator_permit": boolean; "weights": Anonymize$1; "bonds": Anonymize$1; "pruning_score": number; }; type I78cq8c9mego2f = (Anonymize$1) | undefined; type I64hm01ml98m4p = Array>; type If8j022vmi07bv = { "hotkey": SS58String; "coldkey": SS58String; "uid": number; "netuid": number; "active": boolean; "axon_info": Anonymize$1; "prometheus_info": Anonymize$1; "stake": Anonymize$1; "rank": number; "emission": bigint; "incentive": number; "consensus": number; "trust": number; "validator_trust": number; "dividends": number; "last_update": bigint; "validator_permit": boolean; "pruning_score": number; }; type I3gjbugrk45her = (Anonymize$1) | undefined; type I9nvi04b7jiso4 = ({ "netuid": number; "rho": number; "kappa": number; "difficulty": bigint; "immunity_period": number; "max_allowed_validators": number; "min_allowed_weights": number; "max_weights_limit": number; "scaling_law_power": number; "subnetwork_n": number; "max_allowed_uids": number; "blocks_since_last_step": bigint; "tempo": number; "network_modality": number; "network_connect": Anonymize$1; "emission_values": bigint; "burn": bigint; "owner": SS58String; }) | undefined; type I6s1052v0hl6mr = Array>; type I31p8sd8onusg0 = ({ "netuid": number; "rho": number; "kappa": number; "difficulty": bigint; "immunity_period": number; "max_allowed_validators": number; "min_allowed_weights": number; "max_weights_limit": number; "scaling_law_power": number; "subnetwork_n": number; "max_allowed_uids": number; "blocks_since_last_step": bigint; "tempo": number; "network_modality": number; "network_connect": Anonymize$1; "emission_value": bigint; "burn": bigint; "owner": SS58String; "identity"?: Anonymize$1; }) | undefined; type I2vgg418k9gfnm = Array>; type I7dp6t7k7a8r36 = ({ "rho": number; "kappa": number; "immunity_period": number; "min_allowed_weights": number; "max_weights_limit": number; "tempo": number; "min_difficulty": bigint; "max_difficulty": bigint; "weights_version": bigint; "weights_rate_limit": bigint; "adjustment_interval": number; "activity_cutoff": number; "registration_allowed": boolean; "target_regs_per_interval": number; "min_burn": bigint; "max_burn": bigint; "bonds_moving_avg": bigint; "max_regs_per_block": number; "serving_rate_limit": bigint; "max_validators": number; "adjustment_alpha": bigint; "difficulty": bigint; "commit_reveal_period": bigint; "commit_reveal_weights_enabled": boolean; "alpha_high": number; "alpha_low": number; "liquid_alpha_enabled": boolean; }) | undefined; type Ibtpedbm9ai3hp = ({ "rho": number; "kappa": number; "immunity_period": number; "min_allowed_weights": number; "max_weights_limit": number; "tempo": number; "min_difficulty": bigint; "max_difficulty": bigint; "weights_version": bigint; "weights_rate_limit": bigint; "adjustment_interval": number; "activity_cutoff": number; "registration_allowed": boolean; "target_regs_per_interval": number; "min_burn": bigint; "max_burn": bigint; "bonds_moving_avg": bigint; "max_regs_per_block": number; "serving_rate_limit": bigint; "max_validators": number; "adjustment_alpha": bigint; "difficulty": bigint; "commit_reveal_period": bigint; "commit_reveal_weights_enabled": boolean; "alpha_high": number; "alpha_low": number; "liquid_alpha_enabled": boolean; "alpha_sigmoid_steepness": bigint; "yuma_version": number; "subnet_is_active": boolean; "transfers_enabled": boolean; "bonds_reset_enabled": boolean; "user_liquidity_enabled": boolean; }) | undefined; type I8ivaf995pho4u = Array>; type Ibjoh8vk2j7bqd = ({ "netuid": number; "owner_hotkey": SS58String; "owner_coldkey": SS58String; "subnet_name": Anonymize$1; "token_symbol": Anonymize$1; "tempo": number; "last_step": bigint; "blocks_since_last_step": bigint; "emission": bigint; "alpha_in": bigint; "alpha_out": bigint; "tao_in": bigint; "alpha_out_emission": bigint; "alpha_in_emission": bigint; "tao_in_emission": bigint; "pending_alpha_emission": bigint; "pending_root_emission": bigint; "subnet_volume": bigint; "network_registered_at": bigint; "subnet_identity"?: Anonymize$1; "moving_price": bigint; }) | undefined; type Icr6rj04unermu = Array>; type I5gfdo8kg6rloq = ({ "netuid": number; "name": Anonymize$1; "symbol": Anonymize$1; "identity"?: Anonymize$1; "network_registered_at": bigint; "owner_hotkey": SS58String; "owner_coldkey": SS58String; "block": bigint; "tempo": number; "last_step": bigint; "blocks_since_last_step": bigint; "subnet_emission": bigint; "alpha_in": bigint; "alpha_out": bigint; "tao_in": bigint; "alpha_out_emission": bigint; "alpha_in_emission": bigint; "tao_in_emission": bigint; "pending_alpha_emission": bigint; "pending_root_emission": bigint; "subnet_volume": bigint; "moving_price": bigint; "rho": number; "kappa": number; "min_allowed_weights": number; "max_weights_limit": number; "weights_version": bigint; "weights_rate_limit": bigint; "activity_cutoff": number; "max_validators": number; "num_uids": number; "max_uids": number; "burn": bigint; "difficulty": bigint; "registration_allowed": boolean; "pow_registration_allowed": boolean; "immunity_period": number; "min_difficulty": bigint; "max_difficulty": bigint; "min_burn": bigint; "max_burn": bigint; "adjustment_alpha": bigint; "adjustment_interval": number; "target_regs_per_interval": number; "max_regs_per_block": number; "serving_rate_limit": bigint; "commit_reveal_weights_enabled": boolean; "commit_reveal_period": bigint; "liquid_alpha_enabled": boolean; "alpha_high": number; "alpha_low": number; "bonds_moving_avg": bigint; "hotkeys": Anonymize$1; "coldkeys": Anonymize$1; "identities": Anonymize$1; "axons": Anonymize$1; "active": Anonymize$1; "validator_permit": Anonymize$1; "pruning_score": Anonymize$1; "last_update": Anonymize$1; "emission": Anonymize$1; "dividends": Anonymize$1; "incentives": Anonymize$1; "consensus": Anonymize$1; "trust": Anonymize$1; "rank": Anonymize$1; "block_at_registration": Anonymize$1; "alpha_stake": Anonymize$1; "tao_stake": Anonymize$1; "total_stake": Anonymize$1; "tao_dividends_per_hotkey": Anonymize$1; "alpha_dividends_per_hotkey": Anonymize$1; }) | undefined; type Iaf9dcc3cspgj7 = Array<(Anonymize$1) | undefined>; type Iemjgg2q8584r9 = Array>; type I2u4s5o1c0r3fu = ({ "netuid": number; "hotkeys": Anonymize$1; "coldkeys": Anonymize$1; "active": Anonymize$1; "validator_permit": Anonymize$1; "pruning_score": Anonymize$1; "last_update": Anonymize$1; "emission": Anonymize$1; "dividends": Anonymize$1; "incentives": Anonymize$1; "consensus": Anonymize$1; "trust": Anonymize$1; "rank": Anonymize$1; "block_at_registration": Anonymize$1; "alpha_stake": Anonymize$1; "tao_stake": Anonymize$1; "total_stake": Anonymize$1; "emission_history": Array>; }) | undefined; type Ic0g2vnp5r296p = ({ "netuid": number; "name"?: Anonymize$1; "symbol"?: Anonymize$1; "identity"?: (Anonymize$1) | undefined; "network_registered_at"?: Anonymize$1; "owner_hotkey"?: Anonymize$1; "owner_coldkey"?: Anonymize$1; "block"?: Anonymize$1; "tempo"?: Anonymize$1; "last_step"?: Anonymize$1; "blocks_since_last_step"?: Anonymize$1; "subnet_emission"?: Anonymize$1; "alpha_in"?: Anonymize$1; "alpha_out"?: Anonymize$1; "tao_in"?: Anonymize$1; "alpha_out_emission"?: Anonymize$1; "alpha_in_emission"?: Anonymize$1; "tao_in_emission"?: Anonymize$1; "pending_alpha_emission"?: Anonymize$1; "pending_root_emission"?: Anonymize$1; "subnet_volume"?: Anonymize$1; "moving_price"?: Anonymize$1; "rho"?: Anonymize$1; "kappa"?: Anonymize$1; "min_allowed_weights"?: Anonymize$1; "max_weights_limit"?: Anonymize$1; "weights_version"?: Anonymize$1; "weights_rate_limit"?: Anonymize$1; "activity_cutoff"?: Anonymize$1; "max_validators"?: Anonymize$1; "num_uids"?: Anonymize$1; "max_uids"?: Anonymize$1; "burn"?: Anonymize$1; "difficulty"?: Anonymize$1; "registration_allowed"?: Anonymize$1; "pow_registration_allowed"?: Anonymize$1; "immunity_period"?: Anonymize$1; "min_difficulty"?: Anonymize$1; "max_difficulty"?: Anonymize$1; "min_burn"?: Anonymize$1; "max_burn"?: Anonymize$1; "adjustment_alpha"?: Anonymize$1; "adjustment_interval"?: Anonymize$1; "target_regs_per_interval"?: Anonymize$1; "max_regs_per_block"?: Anonymize$1; "serving_rate_limit"?: Anonymize$1; "commit_reveal_weights_enabled"?: Anonymize$1; "commit_reveal_period"?: Anonymize$1; "liquid_alpha_enabled"?: Anonymize$1; "alpha_high"?: Anonymize$1; "alpha_low"?: Anonymize$1; "bonds_moving_avg"?: Anonymize$1; "hotkeys"?: (Anonymize$1) | undefined; "coldkeys"?: (Anonymize$1) | undefined; "identities"?: (Anonymize$1) | undefined; "axons"?: (Anonymize$1) | undefined; "active"?: (Anonymize$1) | undefined; "validator_permit"?: (Anonymize$1) | undefined; "pruning_score"?: Anonymize$1; "last_update"?: (Anonymize$1) | undefined; "emission"?: (Anonymize$1) | undefined; "dividends"?: Anonymize$1; "incentives"?: Anonymize$1; "consensus"?: Anonymize$1; "trust"?: Anonymize$1; "rank"?: Anonymize$1; "block_at_registration"?: (Anonymize$1) | undefined; "alpha_stake"?: (Anonymize$1) | undefined; "tao_stake"?: (Anonymize$1) | undefined; "total_stake"?: (Anonymize$1) | undefined; "tao_dividends_per_hotkey"?: (Anonymize$1) | undefined; "alpha_dividends_per_hotkey"?: (Anonymize$1) | undefined; "validators"?: Anonymize$1; "commitments"?: (Array<[SS58String, Anonymize$1]>) | undefined; }) | undefined; type I6qv5hf1qjn942 = (Array<{ "name": Uint8Array; "value": Enum<{ "Bool": boolean; "U16": number; "U32": number; "U64": bigint; "U128": bigint; "TaoBalance": bigint; "I32F32": bigint; "U64F64": bigint; }>; }>) | undefined; type Ic9fkrj2ggjleq = Array>; type I66h6oadnuebe = { "hotkey": SS58String; "coldkey": SS58String; "netuid": number; "stake": bigint; "locked": bigint; "emission": bigint; "tao_emission": bigint; "drain": bigint; "is_registered": boolean; }; type Ifi9cmevnosufh = Array<[SS58String, Anonymize$1]>; type I1i5jfmqcsjper = (Anonymize$1) | undefined; type I3pbrjdm4vnbsa = (Anonymize$1) | undefined; type Iaa9klnetuoncg = (Anonymize$1) | undefined; type I5fc46fadm1en5 = Array<{ "name": Uint8Array; "index": number; "deprecated": boolean; }>; type I49qqt5acbsj9t = Array<{ "proxy_type": number; "name": Uint8Array; "deprecated": boolean; "filter_mode": Enum<{ "AllowAll": undefined; "DenyAll": undefined; "Allow": undefined; "Deny": undefined; }>; "calls": Array<{ "pallet_name": Uint8Array; "pallet_index": number; "call_name"?: Anonymize$1; "call_index"?: Anonymize$1; "condition"?: (Enum<{ "ParamLessThan": { "param_name": Uint8Array; "limit": bigint; }; "NestedCallMustBe": { "pallet_name": Uint8Array; "call_name": Uint8Array; }; }>) | undefined; }>; "exceptions": Array<{ "pallet_name": Uint8Array; "pallet_index": number; "call_name"?: Anonymize$1; "call_index"?: Anonymize$1; "condition"?: (Enum<{ "ParamLessThan": { "param_name": Uint8Array; "limit": bigint; }; "NestedCallMustBe": { "pallet_name": Uint8Array; "call_name": Uint8Array; }; }>) | undefined; }>; }>; type I8slfm2rri67ri = Array<{ "netuid": number; "price": bigint; }>; type I34n2itmpoq7on = { "tao_amount": bigint; "alpha_amount": bigint; "tao_fee": bigint; "alpha_fee": bigint; "tao_slippage": bigint; "alpha_slippage": bigint; }; type I5v15g1fnr2r45 = (Anonymize$1) | undefined; type Ibkf4n1ithlqos = { "key_hash": SizedHex<16>; "kem_ct": Uint8Array; "aead_ct": Uint8Array; "nonce": SizedHex<24>; }; //#endregion //#region ../../.papi/descriptors/dist/bittensor.d.ts type AnonymousEnum = T & { __anonymous: true; }; type MyTuple = [T, ...T[]]; type SeparateUndefined = undefined extends T ? undefined | Exclude : T; type Anonymize = SeparateUndefined ? T : T extends AnonymousEnum ? Enum : T extends MyTuple ? { [K in keyof T]: T[K]; } : T extends [] ? [] : T extends FixedSizeArray ? number extends L ? Array : FixedSizeArray : { [K in keyof T & string]: T[K]; }>; type IStorage = { System: { /** * The full account information for a particular account ID. */ Account: StorageDescriptor<[Key: SS58String], Anonymize, 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, 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, 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, false, never>; /** * The number of events in the `Events` list. */ EventCount: StorageDescriptor<[], number, false, never>; /** * Mapping between a topic (represented by T::Hash) and a vector of indexes * of events in the `>` 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, 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, false, never>; /** * Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened. */ LastRuntimeUpgrade: StorageDescriptor<[], Anonymize, 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, 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, false, never>; }; RandomnessCollectiveFlip: { /** * Series of block headers from the last 81 blocks that acts as random seed material. This * is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of * the oldest hash. */ RandomMaterial: StorageDescriptor<[], Anonymize, false, never>; }; Timestamp: { /** * The current time for the current block. */ Now: StorageDescriptor<[], bigint, false, never>; /** * Whether the timestamp has been updated in this block. * * This value is updated to `true` upon successful submission of a timestamp by a node. * It is then checked at the end of each block execution in the `on_finalize` hook. */ DidUpdate: StorageDescriptor<[], boolean, false, never>; }; Aura: { /** * The current authority set. */ Authorities: StorageDescriptor<[], Anonymize, false, never>; /** * The current slot of this block. * * This will be set in `on_initialize`. */ CurrentSlot: StorageDescriptor<[], bigint, false, never>; }; Grandpa: { /** * State of the current authority set. */ State: StorageDescriptor<[], GrandpaStoredState, false, never>; /** * Pending change: (signaled at, scheduled change). */ PendingChange: StorageDescriptor<[], Anonymize, true, never>; /** * next block number where we can force a change. */ NextForced: StorageDescriptor<[], number, true, never>; /** * `true` if we are currently stalled. */ Stalled: StorageDescriptor<[], Anonymize, true, never>; /** * The number of changes (both in terms of keys and underlying economic responsibilities) * in the "set" of Grandpa validators from genesis. */ CurrentSetId: StorageDescriptor<[], bigint, false, never>; /** * A mapping from grandpa set ID to the index of the *most recent* session for which its * members were responsible. * * This is only used for validating equivocation proofs. An equivocation proof must * contains a key-ownership proof for a given session, therefore we need a way to tie * together sessions and GRANDPA set ids, i.e. we need to validate that a validator * was the owner of a given key on a given session, and what the active set ID was * during that session. * * TWOX-NOTE: `SetId` is not under user control. */ SetIdSession: StorageDescriptor<[Key: bigint], number, true, never>; /** * The current list of authorities. */ Authorities: StorageDescriptor<[], Anonymize, false, never>; }; Balances: { /** * The total units issued in the system. */ TotalIssuance: StorageDescriptor<[], bigint, false, never>; /** * The total units of outstanding deactivated balance in the system. */ InactiveIssuance: StorageDescriptor<[], bigint, false, never>; /** * The Balances pallet example of storing the balance of an account. * * # Example * * ```nocompile * impl pallet_balances::Config for Runtime { * type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData> * } * ``` * * You can also store the balance of an account in the `System` pallet. * * # Example * * ```nocompile * impl pallet_balances::Config for Runtime { * type AccountStore = System * } * ``` * * But this comes with tradeoffs, storing account balances in the system pallet stores * `frame_system` data alongside the account data contrary to storing account balances in the * `Balances` pallet, which uses a `StorageMap` to store balances data only. * NOTE: This is only used in the case that this pallet is used to store balances. */ Account: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * Any liquidity locks on some account balances. * NOTE: Should only be accessed when setting, changing and freeing a lock. * * Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/` */ Locks: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * Named reserves on some account balances. * * Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/` */ Reserves: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * Holds on account balances. */ Holds: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * Freeze locks on account balances. */ Freezes: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; }; TransactionPayment: { /** */ NextFeeMultiplier: StorageDescriptor<[], bigint, false, never>; /** */ StorageVersion: StorageDescriptor<[], TransactionPaymentReleases, false, never>; }; SubtensorModule: { /** */ MinActivityCutoff: StorageDescriptor<[], number, false, never>; /** * Global window (in blocks) at the end of each tempo where admin ops are disallowed */ AdminFreezeWindow: StorageDescriptor<[], number, false, never>; /** * Global number of epochs used to rate limit subnet owner hyperparameter updates */ OwnerHyperparamRateLimit: StorageDescriptor<[], number, false, never>; /** * Duration of dissolve network schedule before execution */ DissolveNetworkScheduleDuration: StorageDescriptor<[], number, false, never>; /** * --- DMap ( netuid, coldkey ) --> blocknumber | last hotkey swap on network. */ LastHotkeySwapOnNetuid: StorageDescriptor, bigint, false, never>; /** * Ensures unique IDs for StakeJobs storage map */ NextStakeJobId: StorageDescriptor<[], bigint, false, never>; /** * ============================ * ==== Staking Variables ==== * ============================ * The Subtensor [`TotalIssuance`] represents the total issuance of tokens on the Bittensor network. * * It is comprised of three parts: * - The total amount of issued tokens, tracked in the TotalIssuance of the Balances pallet * - The total amount of tokens staked in the system, tracked in [`TotalStake`] * - The total amount of tokens locked up for subnet reg, tracked in [`TotalSubnetLocked`] attained by iterating over subnet lock. * * Eventually, Bittensor should migrate to using Holds afterwhich time we will not require this * separate accounting. * --- ITEM --> Global weight */ TaoWeight: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM --> CK burn */ CKBurn: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM ( default_delegate_take ) */ MaxDelegateTake: StorageDescriptor<[], number, false, never>; /** * --- ITEM ( min_delegate_take ) */ MinDelegateTake: StorageDescriptor<[], number, false, never>; /** * --- ITEM ( default_childkey_take ) */ MaxChildkeyTake: StorageDescriptor<[], number, false, never>; /** * --- ITEM ( min_childkey_take ) */ MinChildkeyTake: StorageDescriptor<[], number, false, never>; /** * MAP ( netuid ) --> take | Returns the subnet-specific minimum childkey take. */ MinChildkeyTakePerSubnet: StorageDescriptor<[Key: number], number, false, never>; /** * MAP ( hot ) --> cold | Returns the controlling coldkey for a hotkey */ Owner: StorageDescriptor<[Key: SS58String], SS58String, false, never>; /** * MAP ( coldkey ) --> flags | Account-level flags. Defaults to zero. */ AccountFlags: StorageDescriptor<[Key: SS58String], bigint, false, never>; /** * MAP ( hot ) --> take | Returns the hotkey delegation take. And signals that this key is open for delegation */ Delegates: StorageDescriptor<[Key: SS58String], number, false, never>; /** * DMAP ( hot, netuid ) --> take | Returns the hotkey childkey take for a specific subnet */ ChildkeyTake: StorageDescriptor, number, false, never>; /** * DMAP ( netuid, parent ) --> (Vec<(proportion,child)>, cool_down_block) */ PendingChildKeys: StorageDescriptor, Anonymize, false, never>; /** * DMAP ( parent, netuid ) --> Vec<(proportion,child)> */ ChildKeys: StorageDescriptor, Anonymize, false, never>; /** * DMAP ( child, netuid ) --> Vec<(proportion,parent)> */ ParentKeys: StorageDescriptor, Anonymize, false, never>; /** * --- DMAP ( netuid, hotkey ) --> u64 | Last alpha dividend this hotkey got on tempo. */ AlphaDividendsPerSubnet: StorageDescriptor, bigint, false, never>; /** * --- DMAP ( netuid, hotkey ) --> u64 | Last root alpha dividend this hotkey got on tempo. */ RootAlphaDividendsPerSubnet: StorageDescriptor, bigint, false, never>; /** * ================== * ==== Coinbase ==== * ================== * --- ITEM ( global_block_emission ) */ BlockEmission: StorageDescriptor<[], bigint, false, never>; /** * --- DMap ( hot, netuid ) --> emission | last hotkey emission on network. */ LastHotkeyEmissionOnNetuid: StorageDescriptor, bigint, false, never>; /** * ========================== * ==== Staking Counters ==== * ========================== * The Subtensor [`TotalIssuance`] represents the total issuance of tokens on the Bittensor network. * * It is comprised of three parts: * - The total amount of issued tokens, tracked in the TotalIssuance of the Balances pallet * - The total amount of tokens staked in the system, tracked in [`TotalStake`] * - The total amount of tokens locked up for subnet reg, tracked in [`TotalSubnetLocked`] attained by iterating over subnet lock. * * Eventually, Bittensor should migrate to using Holds afterwhich time we will not require this * separate accounting. * --- ITEM ( maximum_number_of_networks ) */ SubnetLimit: StorageDescriptor<[], number, false, never>; /** * --- ITEM ( total_issuance ) */ TotalIssuance: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM ( total_stake ) */ TotalStake: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM ( moving_alpha ) -- subnet moving alpha. */ SubnetMovingAlpha: StorageDescriptor<[], bigint, false, never>; /** * --- MAP ( netuid ) --> moving_price | The subnet moving price. */ SubnetMovingPrice: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> root_prop | The subnet root proportion. */ RootProp: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> total_volume | The total amount of TAO bought and sold since the start of the network. */ SubnetVolume: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> tao_in_subnet | Returns the amount of TAO in the subnet. */ SubnetTAO: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> tao_in_user_subnet | Returns the amount of TAO in the subnet reserve provided by users as liquidity. */ SubnetTaoProvided: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> alpha_in_emission | Returns the amount of alph in emission into the pool per block. */ SubnetAlphaInEmission: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> subnet_emission_enabled * * When false, subnet pool-side emission is disabled for this subnet: * `alpha_in`, `tao_in`, and `excess_tao` chain buys are all treated as zero. * `alpha_out`, owner cut, root proportion, pending server emission, and pending * validator emission are intentionally left unchanged. * * Defaults to true so existing subnets keep current behavior. */ SubnetEmissionEnabled: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> alpha_out_emission | Returns the amount of alpha out emission into the network per block. */ SubnetAlphaOutEmission: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> tao_in_emission | Returns the amount of tao emitted into this subent on the last block. */ SubnetTaoInEmission: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> excess_tao | Returns the excess TAO swapped (chain buys) into this subnet on the last block. */ SubnetExcessTao: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> root_sell_tao | Returns the TAO received from root dividend sells on this subnet on the last block. */ SubnetRootSellTao: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> alpha_supply_in_pool | Returns the amount of alpha in the pool. */ SubnetAlphaIn: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> alpha_supply_user_in_pool | Returns the amount of alpha in the pool provided by users as liquidity. */ SubnetAlphaInProvided: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> alpha_supply_in_subnet | Returns the amount of alpha in the subnet. */ SubnetAlphaOut: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> protocol_alpha | Returns the protocol-owned alpha cached for the subnet. */ SubnetProtocolAlpha: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( cold ) --> Vec | Maps coldkey to hotkeys that stake to it */ StakingHotkeys: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * --- MAP ( cold ) --> Vec | Returns the vector of hotkeys controlled by this coldkey. */ OwnedHotkeys: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * --- DMAP ( cold, netuid )--> hot | Returns the hotkey a coldkey will autostake to with mining rewards. */ AutoStakeDestination: StorageDescriptor, SS58String, true, never>; /** * --- DMAP ( hot, netuid )--> Vec | Returns a list of coldkeys that are autostaking to a hotkey */ AutoStakeDestinationColdkeys: StorageDescriptor, Anonymize, false, never>; /** * The delay after an announcement before a coldkey swap can be performed. */ ColdkeySwapAnnouncementDelay: StorageDescriptor<[], number, false, never>; /** * The delay after the initial delay has passed before a new announcement can be made. */ ColdkeySwapReannouncementDelay: StorageDescriptor<[], number, false, never>; /** * A map of the coldkey swap announcements from a coldkey * to the block number the coldkey swap can be performed. */ ColdkeySwapAnnouncements: StorageDescriptor<[Key: SS58String], Anonymize, true, never>; /** * A map of the coldkey swap disputes from a coldkey to the * block number the coldkey swap was disputed. */ ColdkeySwapDisputes: StorageDescriptor<[Key: SS58String], number, true, never>; /** * --- DMAP ( hot, netuid ) --> alpha | Returns the total amount of alpha a hotkey owns. */ TotalHotkeyAlpha: StorageDescriptor, bigint, false, never>; /** * --- DMAP ( hot, netuid ) --> alpha | Returns the total amount of alpha a hotkey owned in the last epoch. */ TotalHotkeyAlphaLastEpoch: StorageDescriptor, bigint, false, never>; /** * DMAP ( hot, netuid ) --> total_alpha_shares | Returns the number of alpha shares for a hotkey on a subnet. */ TotalHotkeyShares: StorageDescriptor, bigint, false, never>; /** * --- NMAP ( hot, cold, netuid ) --> alpha | Returns the alpha shares for a hotkey, coldkey, netuid triplet. */ Alpha: StorageDescriptor, bigint, false, never>; /** * DMAP ( hot, netuid ) --> total_alpha_shares | Returns the number of alpha shares for a hotkey on a subnet, stores SafeFloat. */ TotalHotkeySharesV2: StorageDescriptor, Anonymize, false, never>; /** * --- NMAP ( hot, cold, netuid ) --> alpha | Returns the alpha shares for a hotkey, coldkey, netuid triplet, stores SafeFloat. */ AlphaV2: StorageDescriptor, Anonymize, false, never>; /** * --- DMAP ( coldkey, netuid, hotkey ) --> LockState | Exponential lock per coldkey per subnet. */ Lock: StorageDescriptor, Anonymize, true, never>; /** * --- DMAP ( netuid, hotkey ) --> LockState | Total lock per hotkey per subnet. */ HotkeyLock: StorageDescriptor, Anonymize, true, never>; /** * --- DMAP ( netuid, hotkey ) --> LockState | Total decaying non-owner lock per hotkey per subnet. */ DecayingHotkeyLock: StorageDescriptor, Anonymize, true, never>; /** * --- MAP ( netuid ) --> LockState | Total perpetual lock to the owner hotkey for a subnet. */ OwnerLock: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * --- MAP ( netuid ) --> LockState | Total decaying lock to the owner hotkey for a subnet. */ DecayingOwnerLock: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * --- DMAP ( coldkey, netuid ) --> false | When present and false, this coldkey's lock is perpetual. * Missing entries mean the lock decays by default. */ DecayingLock: StorageDescriptor, boolean, true, never>; /** * --- MAP ( netuid ) --> bool | Whether subnet owner cut should be auto-locked. * Missing entries default to true, so auto-locking is enabled unless explicitly disabled. */ OwnerCutAutoLockEnabled: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- ITEM( maturity_rate ) | Decay timescale in blocks for lock conviction. */ MaturityRate: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM( unlock_rate ) | Decay timescale in blocks for locked mass. */ UnlockRate: StorageDescriptor<[], bigint, false, never>; /** * Contains last Alpha storage map key to iterate (check first) */ AlphaMapLastKey: StorageDescriptor<[], Anonymize, false, never>; /** * Contains last AlphaV2 storage map key to iterate (check first) */ AlphaV2MapLastKey: StorageDescriptor<[], Anonymize, false, never>; /** * --- MAP ( netuid ) --> token_symbol | Returns the token symbol for a subnet. */ TokenSymbol: StorageDescriptor<[Key: number], Uint8Array, false, never>; /** * --- MAP ( netuid ) --> subnet_tao_flow | Returns the TAO inflow-outflow balance. */ SubnetTaoFlow: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> subnet_ema_tao_flow | Returns the EMA of TAO inflow-outflow balance. */ SubnetEmaTaoFlow: StorageDescriptor<[Key: number], Anonymize, true, never>; /** */ NetTaoFlowEnabled: StorageDescriptor<[], boolean, false, never>; /** * --- MAP ( netuid ) --> subnet_protocol_flow | Per-block accumulator for protocol cost (emission + chain buys - root sells). */ SubnetProtocolFlow: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> subnet_ema_protocol_flow | EMA of protocol cost flow, same smoothing as SubnetEmaTaoFlow. */ SubnetEmaProtocolFlow: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * --- ITEM --> TAO Flow Cutoff */ TaoFlowCutoff: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM --> Flow Normalization Exponent (p) */ FlowNormExponent: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM --> Flow EMA smoothing factor (flow alpha), u64 normalized */ FlowEmaSmoothingFactor: StorageDescriptor<[], bigint, false, never>; /** * ============================ * ==== Global Parameters ===== * ============================ * --- StorageItem Global Used Work. */ UsedWork: StorageDescriptor<[Key: Uint8Array], bigint, false, never>; /** * --- ITEM( global_max_registrations_per_block ) */ MaxRegistrationsPerBlock: StorageDescriptor<[Key: number], number, false, never>; /** * --- ITEM( total_number_of_existing_networks ) */ TotalNetworks: StorageDescriptor<[], number, false, never>; /** * ITEM( network_immunity_period ) */ NetworkImmunityPeriod: StorageDescriptor<[], bigint, false, never>; /** * ITEM( start_call_delay ) */ StartCallDelay: StorageDescriptor<[], bigint, false, never>; /** * ITEM( min_network_lock_cost ) */ NetworkMinLockCost: StorageDescriptor<[], bigint, false, never>; /** * ITEM( last_network_lock_cost ) */ NetworkLastLockCost: StorageDescriptor<[], bigint, false, never>; /** * ITEM( network_lock_reduction_interval ) */ NetworkLockReductionInterval: StorageDescriptor<[], bigint, false, never>; /** * ITEM( subnet_owner_cut ) */ SubnetOwnerCut: StorageDescriptor<[], number, false, never>; /** * --- MAP ( netuid ) --> owner_cut_enabled */ OwnerCutEnabled: StorageDescriptor<[Key: number], boolean, false, never>; /** * ITEM( network_rate_limit ) */ NetworkRateLimit: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM( nominator_min_required_stake ) --- Factor of DefaultMinStake in per-mill format. */ NominatorMinRequiredStake: StorageDescriptor<[], bigint, false, never>; /** * ITEM( weights_version_key_rate_limit ) --- Rate limit in tempos. */ WeightsVersionKeyRateLimit: StorageDescriptor<[], bigint, false, never>; /** * ============================ * ==== Rate Limiting ===== * ============================ * --- MAP ( RateLimitKey ) --> Block number in which the last rate limited operation occured */ LastRateLimitedBlock: StorageDescriptor<[Key: Anonymize], bigint, false, never>; /** * ============================ * ==== Subnet Locks ===== * ============================ * --- MAP ( netuid ) --> transfer_toggle */ TransferToggle: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> total_subnet_locked */ SubnetLocked: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> largest_locked */ LargestLocked: StorageDescriptor<[Key: number], bigint, false, never>; /** * ================= * ==== Tempos ===== * ================= * --- MAP ( netuid ) --> tempo */ Tempo: StorageDescriptor<[Key: number], number, false, never>; /** * ============================ * ==== Subnet Parameters ===== * ============================ * --- MAP ( netuid ) --> block number of first emission */ FirstEmissionBlockNumber: StorageDescriptor<[Key: number], bigint, true, never>; /** * --- MAP ( netuid ) --> subnet mechanism */ SubnetMechanism: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> subnetwork_n (Number of UIDs in the network). */ SubnetworkN: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> network_is_added */ NetworksAdded: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- DMAP ( hotkey, netuid ) --> bool */ IsNetworkMember: StorageDescriptor, boolean, false, never>; /** * --- MAP ( netuid ) --> network_registration_allowed */ NetworkRegistrationAllowed: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> network_pow_allowed */ NetworkPowRegistrationAllowed: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> block_created */ NetworkRegisteredAt: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> registered_subnet_counter * * Monotonic counter incremented on every successful `do_register_network` * for a given netuid. Consumers that persist per-netuid state keyed by * `(user, netuid)` (e.g. the staking precompile `AllowancesStorage`) can * mix the current counter value into their storage key so that entries * written under a previous registration of the same netuid become * unreachable after the netuid is re-registered, without requiring * unbounded storage iteration on deregistration. */ RegisteredSubnetCounter: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> pending_server_emission */ PendingServerEmission: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> pending_validator_emission */ PendingValidatorEmission: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> pending_root_alpha_emission */ PendingRootAlphaDivs: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> pending_owner_cut */ PendingOwnerCut: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> miner_burned | Proportion (0..1) of this tempo's miner * (incentive) emission that was withheld from miners during emission distribution * because the recipient hotkey is owned by the subnet owner (immune key). Counts * emission that is either recycled or burned, so the value is independent of the * subnet's RecycleOrBurn configuration. */ MinerBurned: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> blocks_since_last_step */ BlocksSinceLastStep: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> last_mechanism_step_block */ LastMechansimStepBlock: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> subnet_owner */ SubnetOwner: StorageDescriptor<[Key: number], SS58String, false, never>; /** * --- MAP ( netuid ) --> subnet_owner_hotkey */ SubnetOwnerHotkey: StorageDescriptor<[Key: number], SS58String, false, never>; /** * --- MAP ( netuid ) --> recycle_or_burn */ RecycleOrBurn: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> serving_rate_limit */ ServingRateLimit: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> Rho */ Rho: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> AlphaSigmoidSteepness */ AlphaSigmoidSteepness: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> Kappa */ Kappa: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> registrations_this_interval */ RegistrationsThisInterval: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> pow_registrations_this_interval */ POWRegistrationsThisInterval: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> burn_registrations_this_interval */ BurnRegistrationsThisInterval: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> min_allowed_uids */ MinAllowedUids: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> max_allowed_uids */ MaxAllowedUids: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> immunity_period */ ImmunityPeriod: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> activity_cutoff */ ActivityCutoff: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> max_weight_limit */ MaxWeightsLimit: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> weights_version_key */ WeightsVersionKey: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> min_allowed_weights */ MinAllowedWeights: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> max_allowed_validators */ MaxAllowedValidators: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> adjustment_interval */ AdjustmentInterval: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> bonds_moving_average */ BondsMovingAverage: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> bonds_penalty */ BondsPenalty: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> bonds_reset */ BondsResetOn: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> weights_set_rate_limit */ WeightsSetRateLimit: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> validator_prune_len */ ValidatorPruneLen: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> scaling_law_power */ ScalingLawPower: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> target_registrations_this_interval */ TargetRegistrationsPerInterval: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> adjustment_alpha */ AdjustmentAlpha: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> commit reveal v2 weights are enabled */ CommitRevealWeightsEnabled: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> Burn */ Burn: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> Difficulty */ Difficulty: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> MinBurn */ MinBurn: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> MaxBurn */ MaxBurn: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> MinDifficulty */ MinDifficulty: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> MaxDifficulty */ MaxDifficulty: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> Block at last adjustment. */ LastAdjustmentBlock: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> Registrations of this Block. */ RegistrationsThisBlock: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> Halving time of average moving price. */ EMAPriceHalvingBlocks: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> global_RAO_recycled_for_registration */ RAORecycledForRegistration: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- ITEM ( tx_rate_limit ) */ TxRateLimit: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM ( tx_delegate_take_rate_limit ) */ TxDelegateTakeRateLimit: StorageDescriptor<[], bigint, false, never>; /** * --- ITEM ( tx_childkey_take_rate_limit ) */ TxChildkeyTakeRateLimit: StorageDescriptor<[], bigint, false, never>; /** * --- MAP ( netuid ) --> Whether or not Liquid Alpha is enabled */ LiquidAlphaOn: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> Whether or not Yuma3 is enabled */ Yuma3On: StorageDescriptor<[Key: number], boolean, false, never>; /** * MAP ( netuid ) --> (alpha_low, alpha_high) */ AlphaValues: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> If subtoken trading enabled */ SubtokenEnabled: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- DMAP ( netuid, hotkey ) --> voting_power | EMA of stake for voting * This tracks stake EMA updated every epoch when VotingPowerTrackingEnabled is true. * Used by smart contracts to determine validator voting power for subnet governance. */ VotingPower: StorageDescriptor, bigint, false, never>; /** * --- MAP ( netuid ) --> bool | Whether voting power tracking is enabled for this subnet. * When enabled, VotingPower EMA is updated every epoch. Default is false. * When disabled with disable_at_block set, tracking continues until that block. */ VotingPowerTrackingEnabled: StorageDescriptor<[Key: number], boolean, false, never>; /** * --- MAP ( netuid ) --> block_number | Block at which voting power tracking will be disabled. * When set (non-zero), tracking continues until this block, then automatically disables * and clears VotingPower entries for the subnet. Provides a 14-day grace period. */ VotingPowerDisableAtBlock: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> u64 | EMA alpha value for voting power calculation. * Higher alpha = faster response to stake changes. * Stored as u64 with 18 decimal precision (1.0 = 10^18). * Only settable by sudo/root. */ VotingPowerEmaAlpha: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( netuid ) --> Burn key limit */ ImmuneOwnerUidsLimit: StorageDescriptor<[Key: number], number, false, never>; /** * ======================================= * ==== Subnetwork Consensus Storage ==== * ======================================= * --- DMAP ( netuid ) --> stake_weight | weight for stake used in YC. */ StakeWeight: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- DMAP ( netuid, hotkey ) --> uid */ Uids: StorageDescriptor, number, true, never>; /** * --- DMAP ( netuid, uid ) --> hotkey */ Keys: StorageDescriptor, SS58String, false, never>; /** * --- MAP ( netuid ) --> (hotkey, se, ve) */ LoadedEmission: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * --- MAP ( netuid ) --> active */ Active: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> consensus */ Consensus: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> incentive */ Incentive: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> dividends */ Dividends: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> emission */ Emission: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> last_update */ LastUpdate: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> validator_trust */ ValidatorTrust: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- MAP ( netuid ) --> validator_permit */ ValidatorPermit: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * --- DMAP ( netuid, uid ) --> weights */ Weights: StorageDescriptor, Anonymize, false, never>; /** * --- DMAP ( netuid, uid ) --> bonds */ Bonds: StorageDescriptor, Anonymize, false, never>; /** * --- DMAP ( netuid, uid ) --> block_at_registration */ BlockAtRegistration: StorageDescriptor, bigint, false, never>; /** * --- MAP ( netuid, hotkey ) --> axon_info */ Axons: StorageDescriptor, Anonymize, true, never>; /** * --- MAP ( netuid, hotkey ) --> certificate */ NeuronCertificates: StorageDescriptor, Anonymize, true, never>; /** * --- MAP ( netuid, hotkey ) --> prometheus_info */ Prometheus: StorageDescriptor, Anonymize, true, never>; /** * --- MAP ( coldkey ) --> identity */ IdentitiesV2: StorageDescriptor<[Key: SS58String], Anonymize, true, never>; /** * --- MAP ( netuid ) --> SubnetIdentityOfV3 */ SubnetIdentitiesV3: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * ================================= * ==== Axon / Promo Endpoints ===== * ================================= * --- NMAP ( hot, netuid, name ) --> last_block | Returns the last block of a transaction for a given key, netuid, and name. */ TransactionKeyLastBlock: StorageDescriptor, bigint, false, never>; /** * --- MAP ( key ) --> last_block */ LastTxBlock: StorageDescriptor<[Key: SS58String], bigint, false, never>; /** * --- MAP ( key ) --> last_tx_block_childkey_take */ LastTxBlockChildKeyTake: StorageDescriptor<[Key: SS58String], bigint, false, never>; /** * --- MAP ( key ) --> last_tx_block_delegate_take */ LastTxBlockDelegateTake: StorageDescriptor<[Key: SS58String], bigint, false, never>; /** * ITEM( weights_min_stake ) */ StakeThreshold: StorageDescriptor<[], bigint, false, never>; /** * --- MAP (netuid, who) --> VecDeque<(hash, commit_block, first_reveal_block, last_reveal_block)> | Stores a queue of commits for an account on a given netuid. */ WeightCommits: StorageDescriptor, Anonymize, true, never>; /** * MAP (netuid, epoch) → VecDeque<(who, commit_block, ciphertext, reveal_round)> * Stores a queue of weight commits for an account on a given subnet. */ TimelockedWeightCommits: StorageDescriptor, Anonymize, false, never>; /** * MAP (netuid, epoch) → VecDeque<(who, ciphertext, reveal_round)> * DEPRECATED for CRV3WeightCommitsV2 */ CRV3WeightCommits: StorageDescriptor, Anonymize, false, never>; /** * MAP (netuid, epoch) → VecDeque<(who, commit_block, ciphertext, reveal_round)> * DEPRECATED for TimelockedWeightCommits */ CRV3WeightCommitsV2: StorageDescriptor, Anonymize, false, never>; /** * --- Map (netuid) --> Number of epochs allowed for commit reveal periods */ RevealPeriodEpochs: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- Map (coldkey, hotkey) --> u64 the last block at which stake was added/removed. */ LastColdkeyHotkeyStakeBlock: StorageDescriptor, bigint, true, never>; /** * DMAP ( hot, cold, netuid ) --> rate limits for staking operations * Value contains just a marker: we use this map as a set. */ StakingOperationRateLimiter: StorageDescriptor, boolean, false, never>; /** */ RootClaimableThreshold: StorageDescriptor<[Key: number], bigint, false, never>; /** */ RootClaimable: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** */ RootClaimed: StorageDescriptor, bigint, false, never>; /** */ RootClaimType: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** */ StakingColdkeysByIndex: StorageDescriptor<[Key: bigint], SS58String, true, never>; /** */ StakingColdkeys: StorageDescriptor<[Key: SS58String], bigint, true, never>; /** */ NumStakingColdkeys: StorageDescriptor<[], bigint, false, never>; /** */ NumRootClaim: StorageDescriptor<[], bigint, false, never>; /** * ============================= * ==== EVM related storage ==== * ============================= * --- DMAP (netuid, uid) --> (H160, last_block_where_ownership_was_proven) */ AssociatedEvmAddress: StorageDescriptor, Anonymize, true, never>; /** * ======================== * ==== Subnet Leasing ==== * ======================== * --- MAP ( lease_id ) --> subnet lease | The subnet lease for a given lease id. */ SubnetLeases: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * --- DMAP ( lease_id, contributor ) --> shares | The shares of a contributor for a given lease. */ SubnetLeaseShares: StorageDescriptor, bigint, false, never>; /** * --- MAP ( netuid ) --> lease_id | The lease id for a given netuid. */ SubnetUidToLeaseId: StorageDescriptor<[Key: number], number, true, never>; /** * --- ITEM ( next_lease_id ) | The next lease id. */ NextSubnetLeaseId: StorageDescriptor<[], number, false, never>; /** * --- MAP ( lease_id ) --> accumulated_dividends | The accumulated dividends for a given lease that needs to be distributed. */ AccumulatedLeaseDividends: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- ITEM ( CommitRevealWeightsVersion ) */ CommitRevealWeightsVersion: StorageDescriptor<[], number, false, never>; /** * ITEM( NetworkRegistrationStartBlock ) */ NetworkRegistrationStartBlock: StorageDescriptor<[], bigint, false, never>; /** * ITEM( TaoInRefundDeploymentBlock ) */ TaoInRefundDeploymentBlock: StorageDescriptor<[], bigint, false, never>; /** * --- MAP ( netuid ) --> minimum required number of non-immortal & non-immune UIDs */ MinNonImmuneUids: StorageDescriptor<[Key: number], number, false, never>; /** * ITEM( max_mechanism_count ) */ MaxMechanismCount: StorageDescriptor<[], number, false, never>; /** * --- MAP ( netuid ) --> Current number of subnet mechanisms */ MechanismCountCurrent: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> Normalized vector of emission split proportion between subnet mechanisms */ MechanismEmissionSplit: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * --- MAP ( netuid ) --> BurnHalfLife (blocks) */ BurnHalfLife: StorageDescriptor<[Key: number], number, false, never>; /** * --- MAP ( netuid ) --> BurnIncreaseMult */ BurnIncreaseMult: StorageDescriptor<[Key: number], bigint, false, never>; /** * --- MAP ( hotkey ) --> parent_delegation_enabled * * When `true`, this root validator allows auto parent delegation. * Defaults to `true`; validators can opt out at any time * by calling `set_auto_parent_delegation_enabled(false)`. */ AutoParentDelegationEnabled: StorageDescriptor<[Key: SS58String], boolean, false, never>; /** * ================== * ==== Genesis ===== * ================== * --- Storage for migration run status */ HasMigrationRun: StorageDescriptor<[Key: Uint8Array], boolean, false, never>; /** * Storage value for pending childkey cooldown, settable by root. */ PendingChildKeyCooldown: StorageDescriptor<[], bigint, false, never>; }; Sudo: { /** * The `AccountId` of the sudo key. */ Key: StorageDescriptor<[], SS58String, true, never>; }; Multisig: { /** * The set of open multisig operations. */ Multisigs: StorageDescriptor, Anonymize, true, never>; }; Preimage: { /** * The request status of a given hash. */ StatusFor: StorageDescriptor<[Key: SizedHex<32>], PreimageOldRequestStatus, true, never>; /** * The request status of a given hash. */ RequestStatusFor: StorageDescriptor<[Key: SizedHex<32>], PreimageRequestStatus, true, never>; /** */ PreimageFor: StorageDescriptor<[Key: Anonymize], Uint8Array, true, never>; }; Scheduler: { /** * Block number at which the agenda began incomplete execution. */ IncompleteSince: StorageDescriptor<[], number, true, never>; /** * Items to be executed, indexed by the block number that they should be executed on. */ Agenda: StorageDescriptor<[Key: number], Anonymize, false, never>; /** * Retry configurations for items to be executed, indexed by task address. */ Retries: StorageDescriptor<[Key: Anonymize], Anonymize, true, never>; /** * Lookup from a name to the block number and index of the task. * * For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4 * identities. */ Lookup: StorageDescriptor<[Key: SizedHex<32>], Anonymize, true, never>; }; Proxy: { /** * The set of account proxies. Maps the account which has delegated to the accounts * which are being delegated to, together with the amount held on deposit. */ Proxies: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * The announcements made by the proxy (key). */ Announcements: StorageDescriptor<[Key: SS58String], Anonymize, false, never>; /** * The result of the last call made by the proxy (key). */ LastCallResult: StorageDescriptor<[Key: SS58String], Anonymize, true, never>; /** * Tracks which (real, delegate) pairs have opted in to the real account paying * transaction fees for proxy calls made by the delegate. * Existence of an entry means the real account pays; absence means the delegate pays * (default). */ RealPaysFee: StorageDescriptor, null, true, never>; }; Registry: { /** * Identity data by account */ IdentityOf: StorageDescriptor<[Key: SS58String], Anonymize, true, never>; }; Commitments: { /** * Tracks all CommitmentOf that have at least one timelocked field. */ TimelockedIndex: StorageDescriptor<[], Anonymize, false, never>; /** * Identity data by account */ CommitmentOf: StorageDescriptor, Anonymize, true, never>; /** */ LastCommitment: StorageDescriptor, number, true, never>; /** */ LastBondsReset: StorageDescriptor, number, true, never>; /** */ RevealedCommitments: StorageDescriptor, Anonymize, true, never>; /** * Maps (netuid, who) -> usage (how many “bytes” they've committed) * in the RateLimit window */ UsedSpaceOf: StorageDescriptor, Anonymize, true, never>; /** */ MaxSpace: StorageDescriptor<[], number, false, never>; }; AdminUtils: { /** * Map PrecompileEnum --> enabled */ PrecompileEnable: StorageDescriptor<[Key: Anonymize], boolean, false, never>; }; SafeMode: { /** * Contains the last block number that the safe-mode will remain entered in. * * Set to `None` when safe-mode is exited. * * Safe-mode is automatically exited when the current block number exceeds this value. */ EnteredUntil: StorageDescriptor<[], number, true, never>; /** * Holds the reserve that was taken from an account at a specific block number. * * This helps governance to have an overview of outstanding deposits that should be returned or * slashed. */ Deposits: StorageDescriptor, bigint, true, never>; }; Ethereum: { /** * Mapping from transaction index to transaction in the current building block. */ Pending: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * Counter for the related counted storage map */ CounterForPending: StorageDescriptor<[], number, false, never>; /** * The current Ethereum block. */ CurrentBlock: StorageDescriptor<[], Anonymize, true, never>; /** * The current Ethereum receipts. */ CurrentReceipts: StorageDescriptor<[], Anonymize, true, never>; /** * The current transaction statuses. */ CurrentTransactionStatuses: StorageDescriptor<[], Anonymize, true, never>; /** */ BlockHash: StorageDescriptor<[Key: Anonymize], SizedHex<32>, false, never>; }; EVM: { /** */ AccountCodes: StorageDescriptor<[Key: SizedHex<20>], Uint8Array, false, never>; /** */ AccountCodesMetadata: StorageDescriptor<[Key: SizedHex<20>], Anonymize, true, never>; /** */ AccountStorages: StorageDescriptor, SizedHex<32>, false, never>; /** */ WhitelistedCreators: StorageDescriptor<[], Anonymize, false, never>; /** */ DisableWhitelistCheck: StorageDescriptor<[], boolean, false, never>; }; EVMChainId: { /** * The EVM chain ID. */ ChainId: StorageDescriptor<[], bigint, false, never>; }; BaseFee: { /** */ BaseFeePerGas: StorageDescriptor<[], Anonymize, false, never>; /** */ Elasticity: StorageDescriptor<[], number, false, never>; }; Drand: { /** * the drand beacon configuration */ BeaconConfig: StorageDescriptor<[], Anonymize, false, never>; /** * Storage for migration run status */ HasMigrationRun: StorageDescriptor<[Key: Uint8Array], boolean, false, never>; /** * map round number to pulse */ Pulses: StorageDescriptor<[Key: bigint], Anonymize, true, never>; /** */ LastStoredRound: StorageDescriptor<[], bigint, false, never>; /** * oldest stored round */ OldestStoredRound: StorageDescriptor<[], bigint, false, never>; /** * Defines the block when next unsigned transaction will be accepted. * * To prevent spam of unsigned (and unpaid!) transactions on the network, * we only allow one transaction per block. * This storage entry defines when new transaction is going to be accepted. */ NextUnsignedAt: StorageDescriptor<[], number, false, never>; }; Crowdloan: { /** * A map of crowdloan ids to their information. */ Crowdloans: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * The next incrementing crowdloan id. */ NextCrowdloanId: StorageDescriptor<[], number, false, never>; /** * A map of crowdloan ids to their contributors and their contributions. */ Contributions: StorageDescriptor, bigint, true, never>; /** * A map of crowdloan ids to their optional maximum cumulative contribution per contributor. */ MaxContributions: StorageDescriptor<[Key: number], bigint, true, never>; /** * The current crowdloan id that will be set during the finalize call, making it * temporarily accessible to the dispatched call. */ CurrentCrowdloanId: StorageDescriptor<[], number, true, never>; /** * Storage for the migration run status. */ HasMigrationRun: StorageDescriptor<[Key: Uint8Array], boolean, false, never>; }; Swap: { /** * The fee rate applied to swaps per subnet, normalized value between 0 and u16::MAX */ FeeRate: StorageDescriptor<[Key: number], number, false, never>; /** */ FeeGlobalTao: StorageDescriptor<[Key: number], bigint, false, never>; /** */ FeeGlobalAlpha: StorageDescriptor<[Key: number], bigint, false, never>; /** * Storage for all ticks, using subnet ID as the primary key and tick index as the secondary key */ Ticks: StorageDescriptor, Anonymize, true, never>; /** * Storage to determine whether swap V3 was initialized for a specific subnet. */ SwapV3Initialized: StorageDescriptor<[Key: number], boolean, false, never>; /** * Storage for the square root price of Alpha token for each subnet. */ AlphaSqrtPrice: StorageDescriptor<[Key: number], bigint, false, never>; /** * Storage for the current price tick. */ CurrentTick: StorageDescriptor<[Key: number], number, false, never>; /** * Storage for the current liquidity amount for each subnet. */ CurrentLiquidity: StorageDescriptor<[Key: number], bigint, false, never>; /** * Indicates whether a subnet has been switched to V3 swap from V2. * If `true`, the subnet is permanently on V3 swap mode allowing add/remove liquidity * operations. Once set to `true` for a subnet, it cannot be changed back to `false`. */ EnabledUserLiquidity: StorageDescriptor<[Key: number], boolean, false, never>; /** * Storage for user positions, using subnet ID and account ID as keys * The value is a bounded vector of Position structs with details about the liquidity positions */ Positions: StorageDescriptor, Anonymize, true, never>; /** * Position ID counter. */ LastPositionId: StorageDescriptor<[], bigint, false, never>; /** * Tick index bitmap words storage */ TickIndexBitmapWords: StorageDescriptor, bigint, false, never>; /** * TAO reservoir for scraps of protocol claimed fees. */ ScrapReservoirTao: StorageDescriptor<[Key: number], bigint, false, never>; /** * Alpha reservoir for scraps of protocol claimed fees. */ ScrapReservoirAlpha: StorageDescriptor<[Key: number], bigint, false, never>; }; Contracts: { /** * A mapping from a contract's code hash to its code. */ PristineCode: StorageDescriptor<[Key: SizedHex<32>], Uint8Array, true, never>; /** * A mapping from a contract's code hash to its code info. */ CodeInfoOf: StorageDescriptor<[Key: SizedHex<32>], Anonymize, true, never>; /** * This is a **monotonic** counter incremented on contract instantiation. * * This is used in order to generate unique trie ids for contracts. * The trie id of a new contract is calculated from hash(account_id, nonce). * The nonce is required because otherwise the following sequence would lead to * a possible collision of storage: * * 1. Create a new contract. * 2. Terminate the contract. * 3. Immediately recreate the contract with the same account_id. * * This is bad because the contents of a trie are deleted lazily and there might be * storage of the old instantiation still in it when the new contract is created. Please * note that we can't replace the counter by the block number because the sequence above * can happen in the same block. We also can't keep the account counter in memory only * because storage is the only way to communicate across different extrinsics in the * same block. * * # Note * * Do not use it to determine the number of contracts. It won't be decremented if * a contract is destroyed. */ Nonce: StorageDescriptor<[], bigint, false, never>; /** * The code associated with a given account. * * TWOX-NOTE: SAFE since `AccountId` is a secure hash. */ ContractInfoOf: StorageDescriptor<[Key: SS58String], Anonymize, true, never>; /** * Evicted contracts that await child trie deletion. * * Child trie deletion is a heavy operation depending on the amount of storage items * stored in said trie. Therefore this operation is performed lazily in `on_idle`. */ DeletionQueue: StorageDescriptor<[Key: number], Uint8Array, true, never>; /** * A pair of monotonic counters used to track the latest contract marked for deletion * and the latest deleted contract in queue. */ DeletionQueueCounter: StorageDescriptor<[], Anonymize, false, never>; /** * A migration can span across multiple blocks. This storage defines a cursor to track the * progress of the migration, enabling us to resume from the last completed position. */ MigrationInProgress: StorageDescriptor<[], Uint8Array, true, never>; }; MevShield: { /** * Current block author's ML-KEM-768 encapsulation key (internal, not for encryption). */ CurrentKey: StorageDescriptor<[], Uint8Array, true, never>; /** * Next block author's key, staged here before promoting to `CurrentKey`. */ PendingKey: StorageDescriptor<[], Uint8Array, true, never>; /** * Key users should encrypt with (N+2 author's key). */ NextKey: StorageDescriptor<[], Uint8Array, true, never>; /** * Per-author ML-KEM-768 encapsulation key, updated each time the author produces a block. */ AuthorKeys: StorageDescriptor<[Key: SizedHex<32>], Uint8Array, true, never>; /** * Block number at which `PendingKey` is no longer valid (exclusive upper bound). * Updated every block during rotation. */ PendingKeyExpiresAt: StorageDescriptor<[], number, true, never>; /** * Block number at which `NextKey` is no longer valid (exclusive upper bound). * Updated every block during rotation. */ NextKeyExpiresAt: StorageDescriptor<[], number, true, never>; /** * Stores whether some migration has been run. */ HasMigrationRun: StorageDescriptor<[Key: Uint8Array], boolean, false, never>; /** * Configurable maximum number of pending extrinsics. * Defaults to 100 if not explicitly set via `set_max_pending_extrinsics`. */ MaxPendingExtrinsicsLimit: StorageDescriptor<[], number, false, never>; /** * Configurable extrinsic lifetime (max block difference between submission and execution). * Defaults to 10 blocks if not explicitly set. */ ExtrinsicLifetime: StorageDescriptor<[], number, false, never>; /** * Configurable maximum weight for on_initialize processing. * Defaults to 500_000_000_000 ref_time if not explicitly set. */ OnInitializeWeight: StorageDescriptor<[], bigint, false, never>; /** * Configurable maximum weight for a single extrinsic dispatched during on_initialize. * Extrinsics exceeding this limit are removed from the queue. */ MaxExtrinsicWeight: StorageDescriptor<[], bigint, false, never>; /** * Storage map for encrypted extrinsics to be executed in on_initialize. * Uses u32 index for O(1) insertion and removal. Count is maintained automatically. */ PendingExtrinsics: StorageDescriptor<[Key: number], Anonymize, true, never>; /** * Counter for the related counted storage map */ CounterForPendingExtrinsics: StorageDescriptor<[], number, false, never>; /** * Next index to use when inserting a pending extrinsic (unique auto-increment). */ NextPendingExtrinsicIndex: StorageDescriptor<[], number, false, never>; }; AlphaAssets: { /** * Total alpha issuance tracked by the pallet. */ TotalAlphaIssuance: StorageDescriptor<[Key: number], bigint, false, never>; /** * Total alpha burned per subnet through this pallet. */ AlphaBurned: StorageDescriptor<[Key: number], bigint, false, never>; /** * Total alpha recycled per subnet through this pallet. */ AlphaRecycled: StorageDescriptor<[Key: number], bigint, false, never>; }; }; type ICalls = { System: { /** * Make some on-chain remark. * * Can be executed by every `origin`. */ remark: TxDescriptor>; /** * Set the number of pages in the WebAssembly environment's heap. */ set_heap_pages: TxDescriptor>; /** * Set the new runtime code. */ set_code: TxDescriptor>; /** * 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: TxDescriptor>; /** * Set some items of storage. */ set_storage: TxDescriptor>; /** * Kill some items from storage. */ kill_storage: TxDescriptor>; /** * 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: TxDescriptor>; /** * Make some on-chain remark and emit event. */ remark_with_event: TxDescriptor>; /** * Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied * later. * * This call requires Root origin. */ authorize_upgrade: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; }; Timestamp: { /** * 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: TxDescriptor>; }; Grandpa: { /** * Report voter equivocation/misbehavior. This method will verify the * equivocation proof and validate the given key ownership proof * against the extracted offender. If both are valid, the offence * will be reported. */ report_equivocation: TxDescriptor>; /** * Report voter equivocation/misbehavior. This method will verify the * equivocation proof and validate the given key ownership proof * against the extracted offender. If both are valid, the offence * will be reported. * * This extrinsic must be called unsigned and it is expected that only * block authors will call it (validated in `ValidateUnsigned`), as such * if the block author is defined it will be defined as the equivocation * reporter. */ report_equivocation_unsigned: TxDescriptor>; /** * Note that the current authority set of the GRANDPA finality gadget has stalled. * * This will trigger a forced authority set change at the beginning of the next session, to * be enacted `delay` blocks after that. The `delay` should be high enough to safely assume * that the block signalling the forced change will not be re-orged e.g. 1000 blocks. * The block production rate (which may be slowed down because of finality lagging) should * be taken into account when choosing the `delay`. The GRANDPA voters based on the new * authority will start voting on top of `best_finalized_block_number` for new finalized * blocks. `best_finalized_block_number` should be the highest of the latest finalized * block of all validators of the new authority set. * * Only callable by root. */ note_stalled: TxDescriptor>; }; Balances: { /** * 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: TxDescriptor>; /** * Exactly as `transfer_allow_death`, except the origin must be root and the source account * may be specified. */ force_transfer: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * Unreserve some balance from a user by force. * * Can only be called by ROOT. */ force_unreserve: TxDescriptor>; /** * 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: TxDescriptor>; /** * Set the regular balance of a given account. * * The dispatch origin for this call is `root`. */ force_set_balance: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; }; SubtensorModule: { /** * --- Sets the caller weights for the incentive mechanism. The call can be * made from the hotkey account so is potentially insecure, however, the damage * of changing weights is minimal if caught early. This function includes all the * checks that the passed weights meet the requirements. Stored as u16s they represent * rational values in the range [0,1] which sum to 1 and can be interpreted as * probabilities. The specific weights determine how inflation propagates outward * from this peer. * * Note: The 16 bit integers weights should represent 1.0 as the max u16. * However, the function normalizes all integers to u16_max anyway. This means that if the sum of all * elements is larger or smaller than the amount of elements * u16_max, all elements * will be corrected for this deviation. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuid` (u16): * - The network uid we are setting these weights on. * * * `dests` (Vec): * - The edge endpoint for the weight, i.e. j for w_ij. * * * 'weights' (Vec): * - The u16 integer encoded weights. Interpreted as rational * values in the range [0,1]. They must sum to in32::MAX. * * * 'version_key' ( u64 ): * - The network version key to check if the validator is up to date. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'WeightVecNotEqualSize': * - Attempting to set weights with uids not of same length. * * * 'DuplicateUids': * - Attempting to set weights with duplicate uids. * * * 'UidsLengthExceedUidsInSubNet': * - Attempting to set weights above the max allowed uids. * * * 'UidVecContainInvalidOne': * - Attempting to set weights with invalid uids. * * * 'WeightVecLengthIsLow': * - Attempting to set weights with fewer weights than min. * * * 'MaxWeightExceeded': * - Attempting to set weights with max value exceeding limit. */ set_weights: TxDescriptor>; /** * --- Sets the caller weights for the incentive mechanism for mechanisms. The call * can be made from the hotkey account so is potentially insecure, however, the damage * of changing weights is minimal if caught early. This function includes all the * checks that the passed weights meet the requirements. Stored as u16s they represent * rational values in the range [0,1] which sum to 1 and can be interpreted as * probabilities. The specific weights determine how inflation propagates outward * from this peer. * * Note: The 16 bit integers weights should represent 1.0 as the max u16. * However, the function normalizes all integers to u16_max anyway. This means that if the sum of all * elements is larger or smaller than the amount of elements * u16_max, all elements * will be corrected for this deviation. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuid` (u16): * - The network uid we are setting these weights on. * * * `mecid` (`u8`): * - The u8 mechnism identifier. * * * `dests` (Vec): * - The edge endpoint for the weight, i.e. j for w_ij. * * * 'weights' (Vec): * - The u16 integer encoded weights. Interpreted as rational * values in the range [0,1]. They must sum to in32::MAX. * * * 'version_key' ( u64 ): * - The network version key to check if the validator is up to date. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'WeightVecNotEqualSize': * - Attempting to set weights with uids not of same length. * * * 'DuplicateUids': * - Attempting to set weights with duplicate uids. * * * 'UidsLengthExceedUidsInSubNet': * - Attempting to set weights above the max allowed uids. * * * 'UidVecContainInvalidOne': * - Attempting to set weights with invalid uids. * * * 'WeightVecLengthIsLow': * - Attempting to set weights with fewer weights than min. * * * 'MaxWeightExceeded': * - Attempting to set weights with max value exceeding limit. */ set_mechanism_weights: TxDescriptor>; /** * --- Allows a hotkey to set weights for multiple netuids as a batch. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuids` (Vec>): * - The network uids we are setting these weights on. * * * `weights` (Vec, Compact)>): * - The weights to set for each network. [(uid, weight), ...] * * * `version_keys` (Vec>): * - The network version keys to check if the validator is up to date. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * BatchWeightsCompleted; * - On success of the batch. * * BatchCompletedWithErrors; * - On failure of any of the weights in the batch. * * BatchWeightItemFailed; * - On failure for each failed item in the batch. * */ batch_set_weights: TxDescriptor>; /** * ---- Used to commit a hash of your weight values to later be revealed. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `commit_hash` (`H256`): * - The hash representing the committed weights. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * */ commit_weights: TxDescriptor>; /** * ---- Used to commit a hash of your weight values to later be revealed for mechanisms. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `commit_hash` (`H256`): * - The hash representing the committed weights. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * */ commit_mechanism_weights: TxDescriptor>; /** * --- Allows a hotkey to commit weight hashes for multiple netuids as a batch. * * # Args: * * `origin`: (Origin): * - The caller, a hotkey who wishes to set their weights. * * * `netuids` (Vec>): * - The network uids we are setting these weights on. * * * `commit_hashes` (Vec): * - The commit hashes to commit. * * # Event: * * WeightsSet; * - On successfully setting the weights on chain. * * BatchWeightsCompleted; * - On success of the batch. * * BatchCompletedWithErrors; * - On failure of any of the weights in the batch. * * BatchWeightItemFailed; * - On failure for each failed item in the batch. * */ batch_commit_weights: TxDescriptor>; /** * ---- Used to reveal the weights for a previously committed hash. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the revealing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `uids` (`Vec`): * - The uids for the weights being revealed. * * * `values` (`Vec`): * - The values of the weights being revealed. * * * `salt` (`Vec`): * - The salt used to generate the commit hash. * * * `version_key` (`u64`): * - The network version key. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to reveal weights when the commit-reveal mechanism is disabled. * * * `NoWeightsCommitFound`: * - Attempting to reveal weights without an existing commit. * * * `ExpiredWeightCommit`: * - Attempting to reveal a weight commit that has expired. * * * `RevealTooEarly`: * - Attempting to reveal weights outside the valid reveal period. * * * `InvalidRevealCommitHashNotMatch`: * - The revealed hash does not match any committed hash. * */ reveal_weights: TxDescriptor>; /** * ---- Used to reveal the weights for a previously committed hash for mechanisms. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the revealing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `uids` (`Vec`): * - The uids for the weights being revealed. * * * `values` (`Vec`): * - The values of the weights being revealed. * * * `salt` (`Vec`): * - The salt used to generate the commit hash. * * * `version_key` (`u64`): * - The network version key. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to reveal weights when the commit-reveal mechanism is disabled. * * * `NoWeightsCommitFound`: * - Attempting to reveal weights without an existing commit. * * * `ExpiredWeightCommit`: * - Attempting to reveal a weight commit that has expired. * * * `RevealTooEarly`: * - Attempting to reveal weights outside the valid reveal period. * * * `InvalidRevealCommitHashNotMatch`: * - The revealed hash does not match any committed hash. * */ reveal_mechanism_weights: TxDescriptor>; /** * ---- Used to commit encrypted commit-reveal v3 weight values to later be revealed. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * # Raises: * * `CommitRevealV3Disabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * * ---- Used to commit encrypted commit-reveal v3 weight values to later be revealed for mechanisms. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * # Raises: * * `CommitRevealV3Disabled`: * - Attempting to commit when the commit-reveal mechanism is disabled. * * * `TooManyUnrevealedCommits`: * - Attempting to commit when the user has more than the allowed limit of unrevealed commits. * */ commit_crv3_mechanism_weights: TxDescriptor>; /** * ---- The implementation for batch revealing committed weights. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The signature of the revealing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `uids_list` (`Vec>`): * - A list of uids for each set of weights being revealed. * * * `values_list` (`Vec>`): * - A list of values for each set of weights being revealed. * * * `salts_list` (`Vec>`): * - A list of salts used to generate the commit hashes. * * * `version_keys` (`Vec`): * - A list of network version keys. * * # Raises: * * `CommitRevealDisabled`: * - Attempting to reveal weights when the commit-reveal mechanism is disabled. * * * `NoWeightsCommitFound`: * - Attempting to reveal weights without an existing commit. * * * `ExpiredWeightCommit`: * - Attempting to reveal a weight commit that has expired. * * * `RevealTooEarly`: * - Attempting to reveal weights outside the valid reveal period. * * * `InvalidRevealCommitHashNotMatch`: * - The revealed hash does not match any committed hash. * * * `InvalidInputLengths`: * - The input vectors are of mismatched lengths. */ batch_reveal_weights: TxDescriptor>; /** * --- Allows delegates to decrease its take value. * * # Args: * * 'origin': (::Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The hotkey we are delegating (must be owned by the coldkey.) * * * 'netuid' (u16): * - Subnet ID to decrease take for * * * 'take' (u16): * - The new stake proportion that this hotkey takes from delegations. * The new value can be between 0 and 11_796 and should be strictly * lower than the previous value. It T is the new value (rational number), * the the parameter is calculated as [65535 * T]. For example, 1% would be * [0.01 * 65535] = [655.35] = 655 * * # Event: * * TakeDecreased; * - On successfully setting a decreased take for this hotkey. * * # Raises: * * 'NotRegistered': * - The hotkey we are delegating is not registered on the network. * * * 'NonAssociatedColdKey': * - The hotkey we are delegating is not owned by the calling coldkey. * * * 'DelegateTakeTooLow': * - The delegate is setting a take which is not lower than the previous. * */ decrease_take: TxDescriptor>; /** * --- Allows delegates to increase its take value. This call is rate-limited. * * # Args: * * 'origin': (::Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The hotkey we are delegating (must be owned by the coldkey.) * * * 'take' (u16): * - The new stake proportion that this hotkey takes from delegations. * The new value can be between 0 and 11_796 and should be strictly * greater than the previous value. T is the new value (rational number), * the the parameter is calculated as [65535 * T]. For example, 1% would be * [0.01 * 65535] = [655.35] = 655 * * # Event: * * TakeIncreased; * - On successfully setting a increased take for this hotkey. * * # Raises: * * 'NotRegistered': * - The hotkey we are delegating is not registered on the network. * * * 'NonAssociatedColdKey': * - The hotkey we are delegating is not owned by the calling coldkey. * * * 'DelegateTakeTooHigh': * - The delegate is setting a take which is not greater than the previous. * */ increase_take: TxDescriptor>; /** * --- Adds stake to a hotkey. The call is made from a coldkey account. * This delegates stake to the hotkey. * * Note: the coldkey account may own the hotkey, in which case they are * delegating to themselves. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_staked' (u64): * - The amount of stake to be added to the hotkey staking account. * * # Event: * * StakeAdded; * - On the successfully adding stake to a global account. * * # Raises: * * 'NotEnoughBalanceToStake': * - Not enough balance on the coldkey to add onto the global account. * * * 'NonAssociatedColdKey': * - The calling coldkey is not associated with this hotkey. * * * 'BalanceWithdrawalError': * - Errors stemming from transaction pallet. * */ add_stake: TxDescriptor>; /** * Remove stake from the staking account. The call must be made * from the coldkey account attached to the neuron metadata. Only this key * has permission to make staking and unstaking requests. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_unstaked' (u64): * - The amount of stake to be added to the hotkey staking account. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * 'NotRegistered': * - Thrown if the account we are attempting to unstake from is non existent. * * * 'NonAssociatedColdKey': * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * 'NotEnoughStakeToWithdraw': * - Thrown if there is not enough stake on the hotkey to withdwraw this amount. * */ remove_stake: TxDescriptor>; /** * Serves or updates axon /prometheus information for the neuron associated with the caller. If the caller is * already registered the metadata is updated. If the caller is not registered this call throws NotRegistered. * * # Args: * * 'origin': (Origin): * - The signature of the caller. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u64): * - The bittensor version identifier. * * * 'ip' (u64): * - The endpoint ip information as a u128 encoded integer. * * * 'port' (u16): * - The endpoint port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The endpoint ip version as a u8, 4 or 6. * * * 'protocol' (u8): * - UDP:1 or TCP:0 * * * 'placeholder1' (u8): * - Placeholder for further extra params. * * * 'placeholder2' (u8): * - Placeholder for further extra params. * * # Event: * * AxonServed; * - On successfully serving the axon info. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'InvalidIpType': * - The ip type is not 4 or 6. * * * 'InvalidIpAddress': * - The numerically encoded ip address does not resolve to a proper ip. * * * 'ServingRateLimitExceeded': * - Attempting to set prometheus information withing the rate limit min. * */ serve_axon: TxDescriptor>; /** * Same as `serve_axon` but takes a certificate as an extra optional argument. * Serves or updates axon /prometheus information for the neuron associated with the caller. If the caller is * already registered the metadata is updated. If the caller is not registered this call throws NotRegistered. * * # Args: * * 'origin': (Origin): * - The signature of the caller. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u64): * - The bittensor version identifier. * * * 'ip' (u64): * - The endpoint ip information as a u128 encoded integer. * * * 'port' (u16): * - The endpoint port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The endpoint ip version as a u8, 4 or 6. * * * 'protocol' (u8): * - UDP:1 or TCP:0 * * * 'placeholder1' (u8): * - Placeholder for further extra params. * * * 'placeholder2' (u8): * - Placeholder for further extra params. * * * 'certificate' (Vec): * - TLS certificate for inter neuron communitation. * * # Event: * * AxonServed; * - On successfully serving the axon info. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to set weights on a non-existent network. * * * 'NotRegistered': * - Attempting to set weights from a non registered account. * * * 'InvalidIpType': * - The ip type is not 4 or 6. * * * 'InvalidIpAddress': * - The numerically encoded ip address does not resolve to a proper ip. * * * 'ServingRateLimitExceeded': * - Attempting to set prometheus information withing the rate limit min. * */ serve_axon_tls: TxDescriptor>; /** * ---- Set prometheus information for the neuron. * # Args: * * 'origin': (Origin): * - The signature of the calling hotkey. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u16): * - The bittensor version identifier. * * * 'ip' (u128): * - The prometheus ip information as a u128 encoded integer. * * * 'port' (u16): * - The prometheus port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The ip type v4 or v6. * */ serve_prometheus: TxDescriptor>; /** * ---- Registers a new neuron to the subnetwork. * * # Args: * * 'origin': (Origin): * - The signature of the calling hotkey. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'block_number' ( u64 ): * - Block hash used to prove work done. * * * 'nonce' ( u64 ): * - Positive integer nonce used in POW. * * * 'work' ( Vec ): * - Vector encoded bytes representing work done. * * * 'hotkey' ( T::AccountId ): * - Hotkey to be registered to the network. * * * 'coldkey' ( T::AccountId ): * - Associated coldkey account. * * # Event: * * NeuronRegistered; * - On successfully registering a uid to a neuron slot on a subnetwork. * * # Raises: * * 'MechanismDoesNotExist': * - Attempting to register to a non existent network. * * * 'TooManyRegistrationsThisBlock': * - This registration exceeds the total allowed on this network this block. * * * 'HotKeyAlreadyRegisteredInSubNet': * - The hotkey is already registered on this network. * * * 'InvalidWorkBlock': * - The work has been performed on a stale, future, or non existent block. * * * 'InvalidDifficulty': * - The work does not match the difficulty. * * * 'InvalidSeal': * - The seal is incorrect. * */ register: TxDescriptor>; /** * Register the hotkey to root network */ root_register: TxDescriptor>; /** * User register a new subnetwork via burning token */ burned_register: TxDescriptor>; /** * ---- The extrinsic for user to change its hotkey in subnet or all subnets. * * # Arguments * * `origin` - The origin of the transaction (must be signed by the coldkey). * * `hotkey` - The old hotkey to be swapped. * * `new_hotkey` - The new hotkey to replace the old one. * * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. * is transferred to the new hotkey. */ swap_hotkey: TxDescriptor>; /** * ---- The extrinsic for user to change its hotkey in subnet or all subnets. This extrinsic is * similar to swap_hotkey, but with keep_stake parameter bo be able to keep the stake when swapping * a root key to a child key * * # Arguments * * `origin` - The origin of the transaction (must be signed by the coldkey). * * `hotkey` - The old hotkey to be swapped. * * `new_hotkey` - The new hotkey to replace the old one. * * `netuid` - Optional subnet ID. If `Some`, swap only on that subnet; if `None`, swap on all subnets. * * `keep_stake` - If `true`, stake remains on the old hotkey and the rest metadata * is transferred to the new hotkey. */ swap_hotkey_v2: TxDescriptor>; /** * Performs an arbitrary coldkey swap for any coldkey. * * Only callable by root as it doesn't require an announcement and can be used to swap any coldkey. */ swap_coldkey: TxDescriptor>; /** * Sets the childkey take for a given hotkey. * * This function allows a coldkey to set the childkey take for a given hotkey. * The childkey take determines the proportion of stake that the hotkey keeps for itself * when distributing stake to its children. * * # Arguments: * * `origin` (::RuntimeOrigin): * - The signature of the calling coldkey. Setting childkey take can only be done by the coldkey. * * * `hotkey` (T::AccountId): * - The hotkey for which the childkey take will be set. * * * `take` (u16): * - The new childkey take value. This is a percentage represented as a value between 0 and 10000, * where 10000 represents 100%. * * # Events: * * `ChildkeyTakeSet`: * - On successfully setting the childkey take for a hotkey. * * # Errors: * * `NonAssociatedColdKey`: * - The coldkey does not own the hotkey. * * `InvalidChildkeyTake`: * - The provided take value is invalid (greater than the maximum allowed take). * * `TxChildkeyTakeRateLimitExceeded`: * - The rate limit for changing childkey take has been exceeded. * */ set_childkey_take: TxDescriptor>; /** * Sets the transaction rate limit for changing childkey take. * * This function can only be called by the root origin. * * # Arguments: * * `origin` - The origin of the call, must be root. * * `tx_rate_limit` - The new rate limit in blocks. * * # Errors: * * `BadOrigin` - If the origin is not root. * */ sudo_set_tx_childkey_take_rate_limit: TxDescriptor>; /** * Sets the minimum allowed childkey take. * * This function can only be called by the root origin. * * # Arguments: * * `origin` - The origin of the call, must be root. * * `take` - The new minimum childkey take value. * * # Errors: * * `BadOrigin` - If the origin is not root. * */ sudo_set_min_childkey_take: TxDescriptor>; /** * Sets the maximum allowed childkey take. * * This function can only be called by the root origin. * * # Arguments: * * `origin` - The origin of the call, must be root. * * `take` - The new maximum childkey take value. * * # Errors: * * `BadOrigin` - If the origin is not root. * */ sudo_set_max_childkey_take: TxDescriptor>; /** * User register a new subnetwork */ register_network: TxDescriptor>; /** * Remove a user's subnetwork * The caller must be the owner of the network */ dissolve_network: TxDescriptor>; /** * Set a single child for a given hotkey on a specified network. * * This function allows a coldkey to set a single child for a given hotkey on a specified network. * The proportion of the hotkey's stake to be allocated to the child is also specified. * * # Arguments: * * `origin` (::RuntimeOrigin): * - The signature of the calling coldkey. Setting a hotkey child can only be done by the coldkey. * * * `hotkey` (T::AccountId): * - The hotkey which will be assigned the child. * * * `child` (T::AccountId): * - The child which will be assigned to the hotkey. * * * `netuid` (u16): * - The u16 network identifier where the childkey will exist. * * * `proportion` (u64): * - Proportion of the hotkey's stake to be given to the child, the value must be u64 normalized. * * # Events: * * `ChildAddedSingular`: * - On successfully registering a child to a hotkey. * * # Errors: * * `MechanismDoesNotExist`: * - Attempting to register to a non-existent network. * * `RegistrationNotPermittedOnRootSubnet`: * - Attempting to register a child on the root network. * * `NonAssociatedColdKey`: * - The coldkey does not own the hotkey or the child is the same as the hotkey. * * `HotKeyAccountNotExists`: * - The hotkey account does not exist. * * # Detailed Explanation of Checks: * 1. **Signature Verification**: Ensures that the caller has signed the transaction, verifying the coldkey. * 2. **Root Network Check**: Ensures that the delegation is not on the root network, as child hotkeys are not valid on the root. * 3. **Network Existence Check**: Ensures that the specified network exists. * 4. **Ownership Verification**: Ensures that the coldkey owns the hotkey. * 5. **Hotkey Account Existence Check**: Ensures that the hotkey account already exists. * 6. **Child-Hotkey Distinction**: Ensures that the child is not the same as the hotkey. * 7. **Old Children Cleanup**: Removes the hotkey from the parent list of its old children. * 8. **New Children Assignment**: Assigns the new child to the hotkey and updates the parent list for the new child. */ set_children: TxDescriptor>; /** * Schedules a coldkey swap operation to be executed at a future block. * * WARNING: This function is deprecated, please migrate to `announce_coldkey_swap`/`coldkey_swap` */ schedule_swap_coldkey: TxDescriptor>; /** * ---- Set prometheus information for the neuron. * # Args: * * 'origin': (Origin): * - The signature of the calling hotkey. * * * 'netuid' (u16): * - The u16 network identifier. * * * 'version' (u16): * - The bittensor version identifier. * * * 'ip' (u128): * - The prometheus ip information as a u128 encoded integer. * * * 'port' (u16): * - The prometheus port information as a u16 encoded integer. * * * 'ip_type' (u8): * - The ip type v4 or v6. * */ set_identity: TxDescriptor>; /** * ---- Set the identity information for a subnet. * # Args: * * `origin` - (::Origin): * - The signature of the calling coldkey, which must be the owner of the subnet. * * * `netuid` (u16): * - The unique network identifier of the subnet. * * * `subnet_name` (Vec): * - The name of the subnet. * * * `github_repo` (Vec): * - The GitHub repository associated with the subnet identity. * * * `subnet_contact` (Vec): * - The contact information for the subnet. */ set_subnet_identity: TxDescriptor>; /** * User register a new subnetwork */ register_network_with_identity: TxDescriptor>; /** * ---- The implementation for the extrinsic unstake_all: Removes all stake from a hotkey account across all subnets and adds it onto a coldkey. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `hotkey` (T::AccountId): * - The associated hotkey account. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * `NotRegistered`: * - Thrown if the account we are attempting to unstake from is non existent. * * * `NonAssociatedColdKey`: * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * `NotEnoughStakeToWithdraw`: * - Thrown if there is not enough stake on the hotkey to withdraw this amount. * * * `TxRateLimitExceeded`: * - Thrown if key has hit transaction rate limit */ unstake_all: TxDescriptor>; /** * ---- The implementation for the extrinsic unstake_all: Removes all stake from a hotkey account across all subnets and adds it onto a coldkey. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `hotkey` (T::AccountId): * - The associated hotkey account. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * `NotRegistered`: * - Thrown if the account we are attempting to unstake from is non existent. * * * `NonAssociatedColdKey`: * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * `NotEnoughStakeToWithdraw`: * - Thrown if there is not enough stake on the hotkey to withdraw this amount. * * * `TxRateLimitExceeded`: * - Thrown if key has hit transaction rate limit */ unstake_all_alpha: TxDescriptor>; /** * ---- The implementation for the extrinsic move_stake: Moves specified amount of stake from a hotkey to another across subnets. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `origin_hotkey` (T::AccountId): * - The hotkey account to move stake from. * * * `destination_hotkey` (T::AccountId): * - The hotkey account to move stake to. * * * `origin_netuid` (T::AccountId): * - The subnet ID to move stake from. * * * `destination_netuid` (T::AccountId): * - The subnet ID to move stake to. * * * `alpha_amount` (T::AccountId): * - The alpha stake amount to move. * */ move_stake: TxDescriptor>; /** * Transfers a specified amount of stake from one coldkey to another, optionally across subnets, * while keeping the same hotkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the `origin_coldkey`. * * `destination_coldkey` - The coldkey to which the stake is transferred. * * `hotkey` - The hotkey associated with the stake. * * `origin_netuid` - The network/subnet ID to move stake from. * * `destination_netuid` - The network/subnet ID to move stake to (for cross-subnet transfer). * * `alpha_amount` - The amount of stake to transfer. * * # Errors * Returns an error if: * * The origin is not signed by the correct coldkey. * * Either subnet does not exist. * * The hotkey does not exist. * * There is insufficient stake on `(origin_coldkey, hotkey, origin_netuid)`. * * The transfer amount is below the minimum stake requirement. * * # Events * May emit a `StakeTransferred` event on success. */ transfer_stake: TxDescriptor>; /** * Swaps a specified amount of stake from one subnet to another, while keeping the same coldkey and hotkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the coldkey that owns the `hotkey`. * * `hotkey` - The hotkey whose stake is being swapped. * * `origin_netuid` - The network/subnet ID from which stake is removed. * * `destination_netuid` - The network/subnet ID to which stake is added. * * `alpha_amount` - The amount of stake to swap. * * # Errors * Returns an error if: * * The transaction is not signed by the correct coldkey (i.e., `coldkey_owns_hotkey` fails). * * Either `origin_netuid` or `destination_netuid` does not exist. * * The hotkey does not exist. * * There is insufficient stake on `(coldkey, hotkey, origin_netuid)`. * * The swap amount is below the minimum stake requirement. * * # Events * May emit a `StakeSwapped` event on success. */ swap_stake: TxDescriptor>; /** * --- Adds stake to a hotkey on a subnet with a price limit. * This extrinsic allows to specify the limit price for alpha token * at which or better (lower) the staking should execute. * * In case if slippage occurs and the price shall move beyond the limit * price, the staking order may execute only partially or not execute * at all. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_staked' (u64): * - The amount of stake to be added to the hotkey staking account. * * * 'limit_price' (u64): * - The limit price expressed in units of RAO per one Alpha. * * * 'allow_partial' (bool): * - Allows partial execution of the amount. If set to false, this becomes * fill or kill type or order. * * # Event: * * StakeAdded; * - On the successfully adding stake to a global account. * * # Raises: * * 'NotEnoughBalanceToStake': * - Not enough balance on the coldkey to add onto the global account. * * * 'NonAssociatedColdKey': * - The calling coldkey is not associated with this hotkey. * * * 'BalanceWithdrawalError': * - Errors stemming from transaction pallet. * */ add_stake_limit: TxDescriptor>; /** * --- Removes stake from a hotkey on a subnet with a price limit. * This extrinsic allows to specify the limit price for alpha token * at which or better (higher) the staking should execute. * * In case if slippage occurs and the price shall move beyond the limit * price, the staking order may execute only partially or not execute * at all. * * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * * 'hotkey' (T::AccountId): * - The associated hotkey account. * * * 'netuid' (u16): * - Subnetwork UID * * * 'amount_unstaked' (u64): * - The amount of stake to be added to the hotkey staking account. * * * 'limit_price' (u64): * - The limit price expressed in units of RAO per one Alpha. * * * 'allow_partial' (bool): * - Allows partial execution of the amount. If set to false, this becomes * fill or kill type or order. * * # Event: * * StakeRemoved; * - On the successfully removing stake from the hotkey account. * * # Raises: * * 'NotRegistered': * - Thrown if the account we are attempting to unstake from is non existent. * * * 'NonAssociatedColdKey': * - Thrown if the coldkey does not own the hotkey we are unstaking from. * * * 'NotEnoughStakeToWithdraw': * - Thrown if there is not enough stake on the hotkey to withdwraw this amount. * */ remove_stake_limit: TxDescriptor>; /** * Swaps a specified amount of stake from one subnet to another, while keeping the same coldkey and hotkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the coldkey that owns the `hotkey`. * * `hotkey` - The hotkey whose stake is being swapped. * * `origin_netuid` - The network/subnet ID from which stake is removed. * * `destination_netuid` - The network/subnet ID to which stake is added. * * `alpha_amount` - The amount of stake to swap. * * `limit_price` - The limit price expressed in units of RAO per one Alpha. * * `allow_partial` - Allows partial execution of the amount. If set to false, this becomes fill or kill type or order. * * # Errors * Returns an error if: * * The transaction is not signed by the correct coldkey (i.e., `coldkey_owns_hotkey` fails). * * Either `origin_netuid` or `destination_netuid` does not exist. * * The hotkey does not exist. * * There is insufficient stake on `(coldkey, hotkey, origin_netuid)`. * * The swap amount is below the minimum stake requirement. * * # Events * May emit a `StakeSwapped` event on success. */ swap_stake_limit: TxDescriptor>; /** * Attempts to associate a hotkey with a coldkey. * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the coldkey that owns the `hotkey`. * * `hotkey` - The hotkey to associate with the coldkey. * * # Note * Will charge based on the weight even if the hotkey is already associated with a coldkey. */ try_associate_hotkey: TxDescriptor>; /** * Initiates a call on a subnet. * * # Arguments * * `origin` - The origin of the call, which must be signed by the subnet owner. * * `netuid` - The unique identifier of the subnet on which the call is being initiated. * * # Events * Emits a `FirstEmissionBlockNumberSet` event on success. */ start_call: TxDescriptor>; /** * Attempts to associate a hotkey with an EVM key. * * The signature will be checked to see if the recovered public key matches the `evm_key` provided. * * The EVM key is expected to sign the message according to this formula to produce the signature: * ```text * keccak_256(hotkey ++ keccak_256(block_number)) * ``` * * # Arguments * * `origin` - The origin of the transaction, which must be signed by the `hotkey`. * * `netuid` - The netuid that the `hotkey` belongs to. * * `evm_key` - The EVM key to associate with the `hotkey`. * * `block_number` - The block number used in the `signature`. * * `signature` - A signed message by the `evm_key` containing the `hotkey` and the hashed `block_number`. * * # Errors * Returns an error if: * * The transaction is not signed. * * The hotkey does not belong to the subnet identified by the netuid. * * The EVM key cannot be recovered from the signature. * * The EVM key recovered from the signature does not match the given EVM key. * * # Events * May emit a `EvmKeyAssociated` event on success */ associate_evm_key: TxDescriptor>; /** * Recycles alpha from a cold/hot key pair, reducing AlphaOut on a subnet * * # Arguments * * `origin` - The origin of the call (must be signed by the coldkey) * * `hotkey` - The hotkey account * * `amount` - The amount of alpha to recycle * * `netuid` - The subnet ID * * # Events * Emits a `TokensRecycled` event on success. */ recycle_alpha: TxDescriptor>; /** * Burns alpha from a cold/hot key pair without reducing `AlphaOut` * * # Arguments * * `origin` - The origin of the call (must be signed by the coldkey) * * `hotkey` - The hotkey account * * `amount` - The amount of alpha to burn * * `netuid` - The subnet ID * * # Events * Emits a `TokensBurned` event on success. */ burn_alpha: TxDescriptor>; /** * Sets the pending childkey cooldown (in blocks). Root only. */ set_pending_childkey_cooldown: TxDescriptor>; /** * Removes all stake from a hotkey on a subnet with a price limit. * This extrinsic allows to specify the limit price for alpha token * at which or better (higher) the staking should execute. * Without limit_price it remove all the stake similar to `remove_stake` extrinsic */ remove_stake_full_limit: TxDescriptor>; /** * Register a new leased network. * * The crowdloan's contributions are used to compute the share of the emissions that the contributors * will receive as dividends. * * The leftover cap is refunded to the contributors and the beneficiary. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `emissions_share` (Percent): * - The share of the emissions that the contributors will receive as dividends. * * * `end_block` (Option>): * - The block at which the lease will end. If not defined, the lease is perpetual. */ register_leased_network: TxDescriptor>; /** * Terminate a lease. * * The beneficiary can terminate the lease after the end block has passed and get the subnet ownership. * The subnet is transferred to the beneficiary and the lease is removed from storage. * * **The hotkey must be owned by the beneficiary coldkey.** * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `lease_id` (LeaseId): * - The ID of the lease to terminate. * * * `hotkey` (T::AccountId): * - The hotkey of the beneficiary to mark as subnet owner hotkey. */ terminate_lease: TxDescriptor>; /** * Updates the symbol for a subnet. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner or root. * * `netuid` - The unique identifier of the subnet on which the symbol is being set. * * `symbol` - The symbol to set for the subnet. * * # Errors * Returns an error if: * * The transaction is not signed by the subnet owner. * * The symbol does not exist. * * The symbol is already in use by another subnet. * * # Events * Emits a `SymbolUpdated` event on success. */ update_symbol: TxDescriptor>; /** * ---- Used to commit timelock encrypted commit-reveal weight values to later be revealed. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * * commit_reveal_version (`u16`): * - The client (bittensor-drand) version */ commit_timelocked_weights: TxDescriptor>; /** * Set the autostake destination hotkey for a coldkey. * * The caller selects a hotkey where all future rewards * will be automatically staked. * * # Args: * * `origin` - (::Origin): * - The signature of the caller's coldkey. * * * `hotkey` (T::AccountId): * - The hotkey account to designate as the autostake destination. */ set_coldkey_auto_stake_hotkey: TxDescriptor>; /** * ---- Used to commit timelock encrypted commit-reveal weight values to later be revealed for * a mechanism. * * # Args: * * `origin`: (`::RuntimeOrigin`): * - The committing hotkey. * * * `netuid` (`u16`): * - The u16 network identifier. * * * `mecid` (`u8`): * - The u8 mechanism identifier. * * * `commit` (`Vec`): * - The encrypted compressed commit. * The steps for this are: * 1. Instantiate [`WeightsTlockPayload`] * 2. Serialize it using the `parity_scale_codec::Encode` trait * 3. Encrypt it following the steps (here)[https://github.com/ideal-lab5/tle/blob/f8e6019f0fb02c380ebfa6b30efb61786dede07b/timelock/src/tlock.rs#L283-L336] * to produce a [`TLECiphertext`] type. * 4. Serialize and compress using the `ark-serialize` `CanonicalSerialize` trait. * * * reveal_round (`u64`): * - The drand reveal round which will be avaliable during epoch `n+1` from the current * epoch. * * * commit_reveal_version (`u16`): * - The client (bittensor-drand) version */ commit_timelocked_mechanism_weights: TxDescriptor>; /** * Remove a subnetwork * The caller must be root */ root_dissolve_network: TxDescriptor>; /** * --- Claims the root emissions for a coldkey. * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * # Event: * * RootClaimed; * - On the successfully claiming the root emissions for a coldkey. * * # Raises: * */ claim_root: TxDescriptor>; /** * --- Sets the root claim type for the coldkey. * # Args: * * 'origin': (Origin): * - The signature of the caller's coldkey. * * # Event: * * RootClaimTypeSet; * - On the successfully setting the root claim type for the coldkey. * */ set_root_claim_type: TxDescriptor>; /** * --- Sets root claim number (sudo extrinsic). Zero disables auto-claim. */ sudo_set_num_root_claims: TxDescriptor>; /** * --- Sets root claim threshold for subnet (sudo or owner origin). */ sudo_set_root_claim_threshold: TxDescriptor>; /** * Announces a coldkey swap using BlakeTwo256 hash of the new coldkey. * * This is required before the coldkey swap can be performed * after the delay period. * * It can be reannounced after a delay of `ColdkeySwapReannouncementDelay` following * the first valid execution block of the original announcement. * * The dispatch origin of this call must be the original coldkey that made the announcement. * * - `new_coldkey_hash`: The hash of the new coldkey using BlakeTwo256. * * The `ColdkeySwapAnnounced` event is emitted on successful announcement. * */ announce_coldkey_swap: TxDescriptor>; /** * Performs a coldkey swap if an announcement has been made. * * The dispatch origin of this call must be the original coldkey that made the announcement. * * - `new_coldkey`: The new coldkey to swap to. The BlakeTwo256 hash of the new coldkey must be * the same as the announced coldkey hash. * * The `ColdkeySwapped` event is emitted on successful swap. */ swap_coldkey_announced: TxDescriptor>; /** * Dispute a coldkey swap. * * This will prevent any further actions on the coldkey swap * until triumvirate step in to resolve the issue. * * - `coldkey`: The coldkey to dispute the swap for. * */ dispute_coldkey_swap: TxDescriptor; /** * Reset a coldkey swap by clearing the announcement and dispute status. * * The dispatch origin of this call must be root. * * - `coldkey`: The coldkey to reset the swap for. * */ reset_coldkey_swap: TxDescriptor>; /** * Enables voting power tracking for a subnet. * * This function can be called by the subnet owner or root. * When enabled, voting power EMA is updated every epoch for all validators. * Voting power starts at 0 and increases over epochs. * * # Arguments: * * `origin` - The origin of the call, must be subnet owner or root. * * `netuid` - The subnet to enable voting power tracking for. * * # Errors: * * `SubnetNotExist` - If the subnet does not exist. * * `NotSubnetOwner` - If the caller is not the subnet owner or root. */ enable_voting_power_tracking: TxDescriptor>; /** * Schedules disabling of voting power tracking for a subnet. * * This function can be called by the subnet owner or root. * Voting power tracking will continue for 14 days (grace period) after this call, * then automatically disable and clear all VotingPower entries for the subnet. * * # Arguments: * * `origin` - The origin of the call, must be subnet owner or root. * * `netuid` - The subnet to schedule disabling voting power tracking for. * * # Errors: * * `SubnetNotExist` - If the subnet does not exist. * * `NotSubnetOwner` - If the caller is not the subnet owner or root. * * `VotingPowerTrackingNotEnabled` - If voting power tracking is not enabled. */ disable_voting_power_tracking: TxDescriptor>; /** * Sets the EMA alpha value for voting power calculation on a subnet. * * This function can only be called by root (sudo). * Higher alpha = faster response to stake changes. * Alpha is stored as u64 with 18 decimal precision (1.0 = 10^18). * * # Arguments: * * `origin` - The origin of the call, must be root. * * `netuid` - The subnet to set the alpha for. * * `alpha` - The new alpha value (u64 with 18 decimal precision). * * # Errors: * * `BadOrigin` - If the origin is not root. * * `SubnetNotExist` - If the subnet does not exist. * * `InvalidVotingPowerEmaAlpha` - If alpha is greater than 10^18 (1.0). */ sudo_set_voting_power_ema_alpha: TxDescriptor>; /** * --- The extrinsic is a combination of add_stake(add_stake_limit) and burn_alpha. We buy * alpha token first and immediately burn the acquired amount of alpha (aka Subnet buyback). */ add_stake_burn: TxDescriptor>; /** * Clears a coldkey swap announcement after the reannouncement delay if * it has not been disputed. * * The `ColdkeySwapCleared` event is emitted on successful clear. */ clear_coldkey_swap_announcement: TxDescriptor; /** * User register a new subnetwork via burning token, but only if the * on-chain burn price for this block is <= `limit_price`. * * `limit_price` is expressed in the same TaoCurrency/u64 units as `Burn`. */ register_limit: TxDescriptor>; /** * --- Allows a root validator to toggle auto parent delegation * for new subnets owner hotkey */ set_auto_parent_delegation_enabled: TxDescriptor>; /** * Locks stake on a subnet to a specific hotkey, building conviction over time. * * If no lock exists for (coldkey, subnet), a new one is created. * If a lock exists, the destination hotkey must match the existing lock's hotkey. * Top-up adds to the locked amount after rolling the lock state forward. * * # Arguments * * `origin` - Must be signed by the coldkey. * * `hotkey` - The hotkey to lock stake to. * * `netuid` - The subnet on which to lock. * * `amount` - The alpha amount to lock. */ lock_stake: TxDescriptor>; /** * Moves an existing lock for a coldkey on a subnet from one hotkey to another. * * The lock is rolled forward to the current block before switching the * associated hotkey, preserving the decayed locked mass. The conviction is * reset to zero. * * # Arguments * * `origin` - Must be signed by the coldkey that owns the lock. * * `destination_hotkey` - The hotkey the lock should target after the move. * * `netuid` - The subnet on which the lock exists. * # Errors: * * `Error::::NoExistingLock` - If no lock exists for the given coldkey and subnet. */ move_lock: TxDescriptor>; /** * Sets or clears the caller's perpetual lock flag for a subnet. * * Locks decay by default. When enabled, the caller's individual lock * does not unlock through locked-mass decay. Passing `false` returns * the caller's lock to normal decay. */ set_perpetual_lock: TxDescriptor>; /** * Sets or clears whether the caller rejects incoming locked alpha. * * Coldkeys reject locked alpha by default. Passing `false` opts the * caller into receiving locked alpha from stake transfers or coldkey * swaps. */ set_reject_locked_alpha: TxDescriptor>; }; Utility: { /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * Dispatches a function call with a provided origin. * * The dispatch origin for this call must be _Root_. * * ## Complexity * - O(1). */ dispatch_as: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; }; Sudo: { /** * Authenticates the sudo key and dispatches a function call with `Root` origin. */ sudo: TxDescriptor>; /** * Authenticates the sudo key and dispatches a function call with `Root` origin. * This function does not check the weight of the call, and instead allows the * Sudo user to specify the weight of the call. * * The dispatch origin for this call must be _Signed_. */ sudo_unchecked_weight: TxDescriptor>; /** * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo * key. */ set_key: TxDescriptor>; /** * Authenticates the sudo key and dispatches a function call with `Signed` origin from * a given account. * * The dispatch origin for this call must be _Signed_. */ sudo_as: TxDescriptor>; /** * Permanently removes the sudo key. * * **This cannot be un-done.** */ remove_key: TxDescriptor; }; Multisig: { /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; }; Preimage: { /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * Clear a previously made request for a preimage. * * NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`. */ unrequest_preimage: TxDescriptor>; /** * 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: TxDescriptor>; }; Scheduler: { /** * Anonymously schedule a task. */ schedule: TxDescriptor>; /** * Cancel an anonymously scheduled task. */ cancel: TxDescriptor>; /** * Schedule a named task. */ schedule_named: TxDescriptor>; /** * Cancel a named scheduled task. */ cancel_named: TxDescriptor>; /** * Anonymously schedule a task after a delay. */ schedule_after: TxDescriptor>; /** * Schedule a named task after a delay. */ schedule_named_after: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * Removes the retry configuration of a task. */ cancel_retry: TxDescriptor>; /** * Cancel the retry configuration of a named task. */ cancel_retry_named: TxDescriptor>; }; Proxy: { /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor; /** * Set whether the real account pays transaction fees for proxy calls made by a * specific delegate. * * The dispatch origin for this call must be _Signed_ and must be the real (delegator) * account that has an existing proxy relationship with the delegate. * * Parameters: * - `delegate`: The proxy account for which to set the fee payment preference. * - `pays_fee`: If `true`, the real account will pay fees for proxy calls made by * this delegate. If `false`, the delegate pays (default behavior). */ set_real_pays_fee: TxDescriptor>; }; Registry: { /** * Register an identity for an account. This will overwrite any existing identity. */ set_identity: TxDescriptor>; /** * Clear the identity of an account. */ clear_identity: TxDescriptor>; }; Commitments: { /** * Set the commitment for a given netuid */ set_commitment: TxDescriptor>; /** * Sudo-set MaxSpace */ set_max_space: TxDescriptor>; }; AdminUtils: { /** * The extrinsic sets the new authorities for Aura consensus. * It is only callable by the root account. * The extrinsic will call the Aura pallet to change the authorities. */ swap_authorities: TxDescriptor>; /** * The extrinsic sets the default take for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the default take. */ sudo_set_default_take: TxDescriptor>; /** * The extrinsic sets the transaction rate limit for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the transaction rate limit. */ sudo_set_tx_rate_limit: TxDescriptor>; /** * The extrinsic sets the serving rate limit for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the serving rate limit. */ sudo_set_serving_rate_limit: TxDescriptor>; /** * The extrinsic sets the minimum difficulty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the minimum difficulty. */ sudo_set_min_difficulty: TxDescriptor>; /** * The extrinsic sets the maximum difficulty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the maximum difficulty. */ sudo_set_max_difficulty: TxDescriptor>; /** * The extrinsic sets the weights version key for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the weights version key. */ sudo_set_weights_version_key: TxDescriptor>; /** * The extrinsic sets the weights set rate limit for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the weights set rate limit. */ sudo_set_weights_set_rate_limit: TxDescriptor>; /** * The extrinsic sets the adjustment interval for a subnet. * It is only callable by the root account, not changeable by the subnet owner. * The extrinsic will call the Subtensor pallet to set the adjustment interval. */ sudo_set_adjustment_interval: TxDescriptor>; /** * The extrinsic sets the adjustment alpha for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the adjustment alpha. */ sudo_set_adjustment_alpha: TxDescriptor>; /** * The extrinsic sets the immunity period for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the immunity period. */ sudo_set_immunity_period: TxDescriptor>; /** * The extrinsic sets the minimum allowed weights for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the minimum allowed weights. */ sudo_set_min_allowed_weights: TxDescriptor>; /** * The extrinsic sets the maximum allowed UIDs for a subnet. * It is only callable by the root account and subnet owner. * The extrinsic will call the Subtensor pallet to set the maximum allowed UIDs for a subnet. */ sudo_set_max_allowed_uids: TxDescriptor>; /** * The extrinsic sets the kappa for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the kappa. */ sudo_set_kappa: TxDescriptor>; /** * The extrinsic sets the rho for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the rho. */ sudo_set_rho: TxDescriptor>; /** * The extrinsic sets the activity cutoff for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the activity cutoff. */ sudo_set_activity_cutoff: TxDescriptor>; /** * The extrinsic sets the network registration allowed for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the network registration allowed. */ sudo_set_network_registration_allowed: TxDescriptor>; /** * The extrinsic sets the network PoW registration allowed for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the network PoW registration allowed. */ sudo_set_network_pow_registration_allowed: TxDescriptor>; /** * The extrinsic sets the target registrations per interval for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the target registrations per interval. */ sudo_set_target_registrations_per_interval: TxDescriptor>; /** * The extrinsic sets the minimum burn for a subnet. * It is only callable by root and subnet owner. * The extrinsic will call the Subtensor pallet to set the minimum burn. */ sudo_set_min_burn: TxDescriptor>; /** * The extrinsic sets the maximum burn for a subnet. * It is only callable by root and subnet owner. * The extrinsic will call the Subtensor pallet to set the maximum burn. */ sudo_set_max_burn: TxDescriptor>; /** * The extrinsic sets the difficulty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the difficulty. */ sudo_set_difficulty: TxDescriptor>; /** * The extrinsic sets the maximum allowed validators for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the maximum allowed validators. */ sudo_set_max_allowed_validators: TxDescriptor>; /** * The extrinsic sets the bonds moving average for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the bonds moving average. */ sudo_set_bonds_moving_average: TxDescriptor>; /** * The extrinsic sets the bonds penalty for a subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the bonds penalty. */ sudo_set_bonds_penalty: TxDescriptor>; /** * The extrinsic sets the maximum registrations per block for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the maximum registrations per block. */ sudo_set_max_registrations_per_block: TxDescriptor>; /** * The extrinsic sets the subnet owner cut for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the subnet owner cut. */ sudo_set_subnet_owner_cut: TxDescriptor>; /** * The extrinsic sets the network rate limit for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the network rate limit. */ sudo_set_network_rate_limit: TxDescriptor>; /** * The extrinsic sets the tempo for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the tempo. */ sudo_set_tempo: TxDescriptor>; /** * DEPRECATED */ sudo_set_total_issuance: TxDescriptor>; /** * The extrinsic sets the immunity period for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the immunity period for the network. */ sudo_set_network_immunity_period: TxDescriptor>; /** * The extrinsic sets the min lock cost for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the min lock cost for the network. */ sudo_set_network_min_lock_cost: TxDescriptor>; /** * The extrinsic sets the subnet limit for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the subnet limit. */ sudo_set_subnet_limit: TxDescriptor>; /** * The extrinsic sets the lock reduction interval for the network. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the lock reduction interval. */ sudo_set_lock_reduction_interval: TxDescriptor>; /** * The extrinsic sets the recycled RAO for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the recycled RAO. */ sudo_set_rao_recycled: TxDescriptor>; /** * The extrinsic sets the weights min stake. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the weights min stake. */ sudo_set_stake_threshold: TxDescriptor>; /** * The extrinsic sets the minimum stake required for nominators. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the minimum stake required for nominators. */ sudo_set_nominator_min_required_stake: TxDescriptor>; /** * The extrinsic sets the rate limit for delegate take transactions. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the rate limit for delegate take transactions. */ sudo_set_tx_delegate_take_rate_limit: TxDescriptor>; /** * The extrinsic sets the minimum delegate take. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the minimum delegate take. */ sudo_set_min_delegate_take: TxDescriptor>; /** * The extrinsic sets the minimum childkey take for a subnet. * It is callable by root or the subnet owner. * The subnet minimum can only make the global minimum stricter. */ sudo_set_min_childkey_take_per_subnet: TxDescriptor>; /** * The extrinsic enabled/disables commit/reaveal for a given subnet. * It is only callable by the root account or subnet owner. * The extrinsic will call the Subtensor pallet to set the value. */ sudo_set_commit_reveal_weights_enabled: TxDescriptor>; /** * Enables or disables Liquid Alpha for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Liquid Alpha. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ sudo_set_liquid_alpha_enabled: TxDescriptor>; /** * Sets values for liquid alpha */ sudo_set_alpha_values: TxDescriptor>; /** * Sets the duration of the dissolve network schedule. * * This extrinsic allows the root account to set the duration for the dissolve network schedule. * The dissolve network schedule determines how long it takes for a network dissolution operation to complete. * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `duration` - The new duration for the dissolve network schedule, in number of blocks. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_dissolve_network_schedule_duration: TxDescriptor>; /** * Sets the commit-reveal weights periods for a specific subnet. * * This extrinsic allows the subnet owner or root account to set the duration (in epochs) during which committed weights must be revealed. * The commit-reveal mechanism ensures that users commit weights in advance and reveal them only within a specified period. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner or the root account. * * `netuid` - The unique identifier of the subnet for which the periods are being set. * * `periods` - The number of epochs that define the commit-reveal period. * * # Errors * * `BadOrigin` - If the caller is neither the subnet owner nor the root account. * * `SubnetDoesNotExist` - If the specified subnet does not exist. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_commit_reveal_weights_interval: TxDescriptor>; /** * Sets the EVM ChainID. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner or the root account. * * `chainId` - The u64 chain ID * * # Errors * * `BadOrigin` - If the caller is neither the subnet owner nor the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_evm_chain_id: TxDescriptor>; /** * A public interface for `pallet_grandpa::Pallet::schedule_grandpa_change`. * * Schedule a change in the authorities. * * The change will be applied at the end of execution of the block `in_blocks` after the * current block. This value may be 0, in which case the change is applied at the end of * the current block. * * If the `forced` parameter is defined, this indicates that the current set has been * synchronously determined to be offline and that after `in_blocks` the given change * should be applied. The given block number indicates the median last finalized block * number and it should be used as the canon block when starting the new grandpa voter. * * No change should be signaled while any change is pending. Returns an error if a change * is already pending. */ schedule_grandpa_change: TxDescriptor>; /** * Enable or disable atomic alpha transfers for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Liquid Alpha. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ sudo_set_toggle_transfer: TxDescriptor>; /** * Set the behaviour of the "burn" UID(s) for a given subnet. * If set to `Burn`, the miner emission sent to the burn UID(s) will be burned. * If set to `Recycle`, the miner emission sent to the burn UID(s) will be recycled. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `recycle_or_burn`: The desired behaviour of the "burn" UID(s) for the subnet. * */ sudo_set_recycle_or_burn: TxDescriptor>; /** * Toggles the enablement of an EVM precompile. * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `precompile_id` - The identifier of the EVM precompile to toggle. * * `enabled` - The new enablement state of the precompile. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_toggle_evm_precompile: TxDescriptor>; /** * * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `alpha` - The new moving alpha value for the SubnetMovingAlpha. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_subnet_moving_alpha: TxDescriptor>; /** * Change the SubnetOwnerHotkey for a given subnet. * * # Arguments * * `origin` - The origin of the call, which must be the subnet owner. * * `netuid` - The unique identifier for the subnet. * * `hotkey` - The new hotkey for the subnet owner. * * # Errors * * `BadOrigin` - If the caller is not the subnet owner or root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_subnet_owner_hotkey: TxDescriptor>; /** * * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `ema_alpha_period` - Number of blocks for EMA price to halve * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_ema_price_halving_period: TxDescriptor>; /** * * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `netuid` - The unique identifier for the subnet. * * `steepness` - The Steepness for the alpha sigmoid function. (range is 0-int16::MAX, * negative values are reserved for future use) * * # Errors * * `BadOrigin` - If the caller is not the root account. * * `SubnetDoesNotExist` - If the specified subnet does not exist. * * `NegativeSigmoidSteepness` - If the steepness is negative and the caller is * root. * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_alpha_sigmoid_steepness: TxDescriptor>; /** * Enables or disables Yuma3 for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Yuma3. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ sudo_set_yuma3_enabled: TxDescriptor>; /** * Enables or disables Bonds Reset for a given subnet. * * # Parameters * - `origin`: The origin of the call, which must be the root account or subnet owner. * - `netuid`: The unique identifier for the subnet. * - `enabled`: A boolean flag to enable or disable Bonds Reset. * * # Weight * This function has a fixed weight of 0 and is classified as an operational transaction that does not incur any fees. */ sudo_set_bonds_reset_enabled: TxDescriptor>; /** * Sets or updates the hotkey account associated with the owner of a specific subnet. * * This function allows either the root origin or the current subnet owner to set or update * the hotkey for a given subnet. The subnet must already exist. To prevent abuse, the call is * rate-limited to once per configured interval (default: one week) per subnet. * * # Parameters * - `origin`: The dispatch origin of the call. Must be either root or the current owner of the subnet. * - `netuid`: The unique identifier of the subnet whose owner hotkey is being set. * - `hotkey`: The new hotkey account to associate with the subnet owner. * * # Returns * - `DispatchResult`: Returns `Ok(())` if the hotkey was successfully set, or an appropriate error otherwise. * * # Errors * - `Error::SubnetNotExists`: If the specified subnet does not exist. * - `Error::TxRateLimitExceeded`: If the function is called more frequently than the allowed rate limit. * * # Access Control * Only callable by: * - Root origin, or * - The coldkey account that owns the subnet. * * # Storage * - Updates [`SubnetOwnerHotkey`] for the given `netuid`. * - Reads and updates [`LastRateLimitedBlock`] for rate-limiting. * - Reads [`DefaultSetSNOwnerHotkeyRateLimit`] to determine the interval between allowed updates. * * # Rate Limiting * This function is rate-limited to one call per subnet per interval (e.g., one week). */ sudo_set_sn_owner_hotkey: TxDescriptor>; /** * Enables or disables subtoken trading for a given subnet. * * # Arguments * * `origin` - The origin of the call, which must be the root account. * * `netuid` - The unique identifier of the subnet. * * `subtoken_enabled` - A boolean indicating whether subtoken trading should be enabled or disabled. * * # Errors * * `BadOrigin` - If the caller is not the root account. * * # Weight * Weight is handled by the `#[pallet::weight]` attribute. */ sudo_set_subtoken_enabled: TxDescriptor>; /** * Sets the commit-reveal weights version for all subnets */ sudo_set_commit_reveal_version: TxDescriptor>; /** * Sets the number of immune owner neurons */ sudo_set_owner_immune_neuron_limit: TxDescriptor>; /** * Sets the childkey burn for a subnet. * It is only callable by the root account. * The extrinsic will call the Subtensor pallet to set the childkey burn. */ sudo_set_ck_burn: TxDescriptor>; /** * Sets the admin freeze window length (in blocks) at the end of a tempo. * Only callable by root. */ sudo_set_admin_freeze_window: TxDescriptor>; /** * Sets the owner hyperparameter rate limit in epochs (global multiplier). * Only callable by root. */ sudo_set_owner_hparam_rate_limit: TxDescriptor>; /** * Sets the desired number of mechanisms in a subnet */ sudo_set_mechanism_count: TxDescriptor>; /** * Sets the emission split between mechanisms in a subnet */ sudo_set_mechanism_emission_split: TxDescriptor>; /** * Trims the maximum number of UIDs for a subnet. * * The trimming is done by sorting the UIDs by emission descending and then trimming * the lowest emitters while preserving temporally and owner immune UIDs. The UIDs are * then compressed to the left and storage is migrated to the new compressed UIDs. */ sudo_trim_to_max_allowed_uids: TxDescriptor>; /** * The extrinsic sets the minimum allowed UIDs for a subnet. * It is only callable by the root account. */ sudo_set_min_allowed_uids: TxDescriptor>; /** * Sets TAO flow cutoff value (A) */ sudo_set_tao_flow_cutoff: TxDescriptor>; /** * Sets TAO flow normalization exponent (p) */ sudo_set_tao_flow_normalization_exponent: TxDescriptor>; /** * Sets TAO flow smoothing factor (alpha) */ sudo_set_tao_flow_smoothing_factor: TxDescriptor>; /** * Enables or disables net TAO flow (protocol cost deduction from emission shares). * When enabled, emission shares use net flow = user flow - protocol cost. * When disabled, emission shares use gross user flow only (current behavior). */ sudo_set_net_tao_flow_enabled: TxDescriptor>; /** * Sets the global maximum number of mechanisms in a subnet */ sudo_set_max_mechanism_count: TxDescriptor>; /** * Sets the minimum number of non-immortal & non-immune UIDs that must remain in a subnet */ sudo_set_min_non_immune_uids: TxDescriptor>; /** * Sets the delay before a subnet can call start */ sudo_set_start_call_delay: TxDescriptor>; /** * Sets the announcement delay for coldkey swap. */ sudo_set_coldkey_swap_announcement_delay: TxDescriptor>; /** * Sets the coldkey swap reannouncement delay. */ sudo_set_coldkey_swap_reannouncement_delay: TxDescriptor>; /** * Set BurnHalfLife for a subnet. * It is only callable by root and subnet owner. */ sudo_set_burn_half_life: TxDescriptor>; /** * Set BurnIncreaseMult for a subnet. * It is only callable by root and subnet owner. */ sudo_set_burn_increase_mult: TxDescriptor>; /** * Set whether the subnet owner cut is enabled for a subnet. * It is only callable by root and subnet owner. */ sudo_set_owner_cut_enabled: TxDescriptor>; /** * Set whether subnet owner cut is auto-locked for a subnet. * It is only callable by root and subnet owner. */ sudo_set_owner_cut_auto_lock_enabled: TxDescriptor>; /** * Enables or disables subnet pool-side emission for a subnet. * * This does not remove the subnet from emission share calculation and does not * change `alpha_out`, owner cut, root proportion, pending server emission, or * pending validator emission. It only zeros the pool-side `alpha_in`, `tao_in`, * and `excess_tao` chain-buy paths. */ sudo_set_subnet_emission_enabled: TxDescriptor>; }; SafeMode: { /** * Enter safe-mode permissionlessly for [`Config::EnterDuration`] blocks. * * Reserves [`Config::EnterDepositAmount`] from the caller's account. * Emits an [`Event::Entered`] event on success. * Errors with [`Error::Entered`] if the safe-mode is already entered. * Errors with [`Error::NotConfigured`] if the deposit amount is `None`. */ enter: TxDescriptor; /** * Enter safe-mode by force for a per-origin configured number of blocks. * * Emits an [`Event::Entered`] event on success. * Errors with [`Error::Entered`] if the safe-mode is already entered. * * Can only be called by the [`Config::ForceEnterOrigin`] origin. */ force_enter: TxDescriptor; /** * Extend the safe-mode permissionlessly for [`Config::ExtendDuration`] blocks. * * This accumulates on top of the current remaining duration. * Reserves [`Config::ExtendDepositAmount`] from the caller's account. * Emits an [`Event::Extended`] event on success. * Errors with [`Error::Exited`] if the safe-mode is entered. * Errors with [`Error::NotConfigured`] if the deposit amount is `None`. * * This may be called by any signed origin with [`Config::ExtendDepositAmount`] free * currency to reserve. This call can be disabled for all origins by configuring * [`Config::ExtendDepositAmount`] to `None`. */ extend: TxDescriptor; /** * Extend the safe-mode by force for a per-origin configured number of blocks. * * Emits an [`Event::Extended`] event on success. * Errors with [`Error::Exited`] if the safe-mode is inactive. * * Can only be called by the [`Config::ForceExtendOrigin`] origin. */ force_extend: TxDescriptor; /** * Exit safe-mode by force. * * Emits an [`Event::Exited`] with [`ExitReason::Force`] event on success. * Errors with [`Error::Exited`] if the safe-mode is inactive. * * Note: `safe-mode` will be automatically deactivated by [`Pallet::on_initialize`] hook * after the block height is greater than the [`EnteredUntil`] storage item. * Emits an [`Event::Exited`] with [`ExitReason::Timeout`] event when deactivated in the * hook. */ force_exit: TxDescriptor; /** * Slash a deposit for an account that entered or extended safe-mode at a given * historical block. * * This can only be called while safe-mode is entered. * * Emits a [`Event::DepositSlashed`] event on success. * Errors with [`Error::Entered`] if safe-mode is entered. * * Can only be called by the [`Config::ForceDepositOrigin`] origin. */ force_slash_deposit: TxDescriptor>; /** * Permissionlessly release a deposit for an account that entered safe-mode at a * given historical block. * * The call can be completely disabled by setting [`Config::ReleaseDelay`] to `None`. * This cannot be called while safe-mode is entered and not until * [`Config::ReleaseDelay`] blocks have passed since safe-mode was entered. * * Emits a [`Event::DepositReleased`] event on success. * Errors with [`Error::Entered`] if the safe-mode is entered. * Errors with [`Error::CannotReleaseYet`] if [`Config::ReleaseDelay`] block have not * passed since safe-mode was entered. Errors with [`Error::NoDeposit`] if the payee has no * reserved currency at the block specified. */ release_deposit: TxDescriptor>; /** * Force to release a deposit for an account that entered safe-mode at a given * historical block. * * This can be called while safe-mode is still entered. * * Emits a [`Event::DepositReleased`] event on success. * Errors with [`Error::Entered`] if safe-mode is entered. * Errors with [`Error::NoDeposit`] if the payee has no reserved currency at the * specified block. * * Can only be called by the [`Config::ForceDepositOrigin`] origin. */ force_release_deposit: TxDescriptor>; }; Ethereum: { /** * Transact an Ethereum transaction. */ transact: TxDescriptor>; }; EVM: { /** * Withdraw balance from EVM into currency/balances pallet. */ withdraw: TxDescriptor>; /** * Issue an EVM call operation. This is similar to a message call transaction in Ethereum. */ call: TxDescriptor>; /** * Issue an EVM create operation. This is similar to a contract creation transaction in * Ethereum. */ create: TxDescriptor>; /** * Issue an EVM create2 operation. */ create2: TxDescriptor>; /** */ set_whitelist: TxDescriptor>; /** */ disable_whitelist: TxDescriptor>; }; BaseFee: { /** */ set_base_fee_per_gas: TxDescriptor>; /** */ set_elasticity: TxDescriptor>; }; Drand: { /** * Verify and write a pulse from the beacon into the runtime */ write_pulse: TxDescriptor>; /** * allows the root user to set the beacon configuration * generally this would be called from an offchain worker context. * there is no verification of configurations, so be careful with this. * * * `origin`: the root user * * `config`: the beacon configuration */ set_beacon_config: TxDescriptor>; /** * allows the root user to set the oldest stored round */ set_oldest_stored_round: TxDescriptor>; }; Crowdloan: { /** * Create a crowdloan that will raise funds up to a maximum cap and if successful, * will either transfer funds to the target address or dispatch the call * (using creator origin). Exactly one of call or target address must be provided. * Providing both, or providing neither, is rejected. * * The initial deposit will be transferred to the crowdloan account and will be refunded * in case the crowdloan fails to raise the cap. Additionally, the creator will pay for * the execution of the call. * * The dispatch origin for this call must be _Signed_. * * Parameters: * - `deposit`: The initial deposit from the creator. * - `min_contribution`: The minimum contribution required to contribute to the crowdloan. * - `cap`: The maximum amount of funds that can be raised. * - `end`: The block number at which the crowdloan will end. * - `call`: The call to dispatch when the crowdloan is finalized. * - `target_address`: The address to transfer the raised funds to. */ create: TxDescriptor>; /** * Contribute to an active crowdloan. * * The contribution will be transferred to the crowdloan account and will be refunded * if the crowdloan fails to raise the cap. If the contribution would raise the amount above the cap, * the contribution will be set to the amount that is left to be raised. * * The dispatch origin for this call must be _Signed_. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to contribute to. * - `amount`: The amount to contribute. */ contribute: TxDescriptor>; /** * Withdraw a contribution from an active (not yet finalized or dissolved) crowdloan. * * Only contributions over the deposit can be withdrawn by the creator. * * The dispatch origin for this call must be _Signed_. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to withdraw from. */ withdraw: TxDescriptor>; /** * Finalize crowdloan that has reached the cap. * * The call will either transfer the raised amount to the configured target address * or dispatch the configured call using the creator origin. The stored crowdloan * must contain exactly one of target address or call; if both or neither are set, * finalization fails before transfer or dispatch. * * When dispatching a call, the CurrentCrowdloanId will be set to the crowdloan id * being finalized so the dispatched call can access it temporarily by accessing * the `CurrentCrowdloanId` storage item. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to finalize. */ finalize: TxDescriptor>; /** * Refund contributors of a non-finalized crowdloan. * * The call will try to refund all contributors (excluding the creator) up to the limit defined by the `RefundContributorsLimit`. * If the limit is reached, the call will stop and the crowdloan will be marked as partially refunded. * It may be needed to dispatch this call multiple times to refund all contributors. * * The dispatch origin for this call must be _Signed_ and doesn't need to be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to refund. */ refund: TxDescriptor>; /** * Dissolve a crowdloan. * * The crowdloan will be removed from the storage. * All contributions must have been refunded before the crowdloan can be dissolved (except the creator's one). * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to dissolve. */ dissolve: TxDescriptor>; /** * Update the minimum contribution of a non-finalized crowdloan. * * If a maximum contribution is configured, the new minimum contribution * must not exceed it. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the minimum contribution of. * - `new_min_contribution`: The new minimum contribution. */ update_min_contribution: TxDescriptor>; /** * Update the end block of a non-finalized crowdloan. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the end block of. * - `new_end`: The new end block. */ update_end: TxDescriptor>; /** * Update the cap of a non-finalized crowdloan. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the cap of. * - `new_cap`: The new cap. */ update_cap: TxDescriptor>; /** * Set or clear the maximum cumulative contribution allowed per contributor * for a non-finalized crowdloan. * * The dispatch origin for this call must be _Signed_ and must be the creator of the crowdloan. * * Parameters: * - `crowdloan_id`: The id of the crowdloan to update the maximum contribution of. * - `new_max_contribution`: The new optional maximum contribution. */ set_max_contribution: TxDescriptor>; }; Swap: { /** * Set the fee rate for swaps on a specific subnet (normalized value). * For example, 0.3% is approximately 196. * * Only callable by the admin origin */ set_fee_rate: TxDescriptor>; /** * Enable user liquidity operations for a specific subnet. This switches the * subnet from V2 to V3 swap mode. Thereafter, adding new user liquidity can be disabled * by toggling this flag to false, but the swap mode will remain V3 because of existing * user liquidity until all users withdraw their liquidity. * * Only sudo or subnet owner can enable user liquidity. * Only sudo can disable user liquidity. */ toggle_user_liquidity: TxDescriptor>; /** * Add liquidity to a specific price range for a subnet. * * Parameters: * - origin: The origin of the transaction * - netuid: Subnet ID * - tick_low: Lower bound of the price range * - tick_high: Upper bound of the price range * - liquidity: Amount of liquidity to add * * Emits `Event::LiquidityAdded` on success */ add_liquidity: TxDescriptor>; /** * Remove liquidity from a specific position. * * Parameters: * - origin: The origin of the transaction * - netuid: Subnet ID * - position_id: ID of the position to remove * * Emits `Event::LiquidityRemoved` on success */ remove_liquidity: TxDescriptor>; /** * Modify a liquidity position. * * Parameters: * - origin: The origin of the transaction * - netuid: Subnet ID * - position_id: ID of the position to remove * - liquidity_delta: Liquidity to add (if positive) or remove (if negative) * * Emits `Event::LiquidityRemoved` on success */ modify_position: TxDescriptor>; /** * Disable user liquidity in all subnets. * * Emits `Event::UserLiquidityToggled` on success */ disable_lp: TxDescriptor; }; Contracts: { /** * Deprecated version if [`Self::call`] for use in an in-storage `Call`. */ call_old_weight: TxDescriptor>; /** * Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`. */ instantiate_with_code_old_weight: TxDescriptor>; /** * Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`. */ instantiate_old_weight: TxDescriptor>; /** * Upload new `code` without instantiating a contract from it. * * If the code does not already exist a deposit is reserved from the caller * and unreserved only when [`Self::remove_code`] is called. The size of the reserve * depends on the size of the supplied `code`. * * If the code already exists in storage it will still return `Ok` and upgrades * the in storage version to the current * [`InstructionWeights::version`](InstructionWeights). * * - `determinism`: If this is set to any other value but [`Determinism::Enforced`] then * the only way to use this code is to delegate call into it from an offchain execution. * Set to [`Determinism::Enforced`] if in doubt. * * # 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`]. * * Use [`Determinism::Relaxed`] exclusively for non-deterministic code. If the uploaded * code is deterministic, specifying [`Determinism::Relaxed`] will be disregarded and * result in higher gas costs. */ upload_code: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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: TxDescriptor>; /** * 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`. * * `gas_limit`: The gas 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: TxDescriptor>; /** * 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. * * `gas_limit`: The gas 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. See [`Pallet::contract_address`]. * * 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: TxDescriptor>; /** * Instantiates a contract from a previously deployed wasm 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 wasm binary * must be supplied. */ instantiate: TxDescriptor>; /** * When a migration is in progress, this dispatchable can be used to run migration steps. * Calls that contribute to advancing the migration have their fees waived, as it's helpful * for the chain. Note that while the migration is in progress, the pallet will also * leverage the `on_idle` hooks to run migration steps. */ migrate: TxDescriptor>; }; MevShield: { /** * Rotate the key chain and announce the current author's ML-KEM encapsulation key. * * Called as an inherent every block. `enc_key` is `None` on node failure, * which removes the author from future shielded tx eligibility. * * Key rotation order (using pre-update AuthorKeys): * 1. CurrentKey ← PendingKey * 2. PendingKey ← NextKey * 3. NextKey ← next-next author's key (user-facing) * 4. AuthorKeys[current] ← announced key */ announce_next_key: TxDescriptor>; /** * Users submit an encrypted wrapper. * * Client‑side: * * 1. Read `NextKey` (ML‑KEM encapsulation key bytes) from storage. * 2. Sign your extrinsic so that it can be executed when added to the pool, * i.e. you may need to increment the nonce if you submit using the same account. * 3. Encrypt: * * plaintext = signed_extrinsic * key_hash = xxhash128(NextKey) * kem_len = Length of kem_ct in bytes (u16) * kem_ct = Ciphertext from ML‑KEM‑768 * nonce = Random 24 bytes used for XChaCha20‑Poly1305 * aead_ct = Ciphertext from XChaCha20‑Poly1305 * * with ML‑KEM‑768 + XChaCha20‑Poly1305, producing * * ciphertext = key_hash || kem_len || kem_ct || nonce || aead_ct * */ submit_encrypted: TxDescriptor>; /** * Store an encrypted extrinsic for later execution in on_initialize. */ store_encrypted: TxDescriptor>; /** * Set the maximum number of pending extrinsics allowed in the queue. */ set_max_pending_extrinsics_number: TxDescriptor>; /** * Set the maximum weight allowed for on_initialize processing. * Rejects values exceeding the absolute limit (half of total block weight). */ set_on_initialize_weight: TxDescriptor>; /** * Set the extrinsic lifetime (max blocks between submission and execution). */ set_stored_extrinsic_lifetime: TxDescriptor>; /** * Set the maximum weight allowed for a single extrinsic during on_initialize processing. * Extrinsics exceeding this limit are removed from the queue. * Rejects values exceeding the absolute limit. */ set_max_extrinsic_weight: TxDescriptor>; }; }; type IEvent = { System: { /** * An extrinsic completed successfully. */ ExtrinsicSuccess: PlainDescriptor>; /** * An extrinsic failed. */ ExtrinsicFailed: PlainDescriptor>; /** * `:code` was updated. */ CodeUpdated: PlainDescriptor; /** * A new account was created. */ NewAccount: PlainDescriptor>; /** * An account was reaped. */ KilledAccount: PlainDescriptor>; /** * On on-chain remark happened. */ Remarked: PlainDescriptor>; /** * An upgrade was authorized. */ UpgradeAuthorized: PlainDescriptor>; /** * An invalid authorized upgrade was rejected while trying to apply it. */ RejectedInvalidAuthorizedUpgrade: PlainDescriptor>; }; Grandpa: { /** * New authority set has been applied. */ NewAuthorities: PlainDescriptor>; /** * Current authority set has been paused. */ Paused: PlainDescriptor; /** * Current authority set has been resumed. */ Resumed: PlainDescriptor; }; Balances: { /** * An account was created with some free balance. */ Endowed: PlainDescriptor>; /** * An account was removed whose balance was non-zero but below ExistentialDeposit, * resulting in an outright loss. */ DustLost: PlainDescriptor>; /** * Transfer succeeded. */ Transfer: PlainDescriptor>; /** * A balance was set by root. */ BalanceSet: PlainDescriptor>; /** * Some balance was reserved (moved from free to reserved). */ Reserved: PlainDescriptor>; /** * Some balance was unreserved (moved from reserved to free). */ Unreserved: PlainDescriptor>; /** * Some balance was moved from the reserve of the first account to the second account. * Final argument indicates the destination balance type. */ ReserveRepatriated: PlainDescriptor>; /** * Some amount was deposited (e.g. for transaction fees). */ Deposit: PlainDescriptor>; /** * Some amount was withdrawn from the account (e.g. for transaction fees). */ Withdraw: PlainDescriptor>; /** * Some amount was removed from the account (e.g. for misbehavior). */ Slashed: PlainDescriptor>; /** * Some amount was minted into an account. */ Minted: PlainDescriptor>; /** * Some amount was burned from an account. */ Burned: PlainDescriptor>; /** * Some amount was suspended from an account (it can be restored later). */ Suspended: PlainDescriptor>; /** * Some amount was restored into an account. */ Restored: PlainDescriptor>; /** * An account was upgraded. */ Upgraded: PlainDescriptor>; /** * Total issuance was increased by `amount`, creating a credit to be balanced. */ Issued: PlainDescriptor>; /** * Total issuance was decreased by `amount`, creating a debt to be balanced. */ Rescinded: PlainDescriptor>; /** * Some balance was locked. */ Locked: PlainDescriptor>; /** * Some balance was unlocked. */ Unlocked: PlainDescriptor>; /** * Some balance was frozen. */ Frozen: PlainDescriptor>; /** * Some balance was thawed. */ Thawed: PlainDescriptor>; /** * The `TotalIssuance` was forcefully changed. */ TotalIssuanceForced: PlainDescriptor>; }; TransactionPayment: { /** * A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee, * has been paid by `who`. */ TransactionFeePaid: PlainDescriptor>; }; SubtensorModule: { /** * a new network is added. */ NetworkAdded: PlainDescriptor>; /** * a network is removed. */ NetworkRemoved: PlainDescriptor; /** * stake has been transferred from the a coldkey account onto the hotkey staking account. */ StakeAdded: PlainDescriptor>; /** * stake has been removed from the hotkey staking account onto the coldkey account. */ StakeRemoved: PlainDescriptor>; /** * stake has been moved from origin (hotkey, subnet ID) to destination (hotkey, subnet ID) of this amount (in TAO). */ StakeMoved: PlainDescriptor>; /** * a caller successfully sets their weights on a subnetwork. */ WeightsSet: PlainDescriptor>; /** * a new neuron account has been registered to the chain. */ NeuronRegistered: PlainDescriptor>; /** * multiple uids have been concurrently registered. */ BulkNeuronsRegistered: PlainDescriptor>; /** * FIXME: Not used yet */ BulkBalancesSet: PlainDescriptor>; /** * max allowed uids has been set for a subnetwork. */ MaxAllowedUidsSet: PlainDescriptor>; /** * DEPRECATED: max weight limit updates are no longer supported. */ MaxWeightLimitSet: PlainDescriptor>; /** * the difficulty has been set for a subnet. */ DifficultySet: PlainDescriptor>; /** * the adjustment interval is set for a subnet. */ AdjustmentIntervalSet: PlainDescriptor>; /** * registration per interval is set for a subnet. */ RegistrationPerIntervalSet: PlainDescriptor>; /** * we set max registrations per block. */ MaxRegistrationsPerBlockSet: PlainDescriptor>; /** * an activity cutoff is set for a subnet. */ ActivityCutoffSet: PlainDescriptor>; /** * Rho value is set. */ RhoSet: PlainDescriptor>; /** * steepness of the sigmoid used to compute alpha values. */ AlphaSigmoidSteepnessSet: PlainDescriptor>; /** * Kappa is set for a subnet. */ KappaSet: PlainDescriptor>; /** * minimum allowed weight is set for a subnet. */ MinAllowedWeightSet: PlainDescriptor>; /** * the validator pruning length has been set. */ ValidatorPruneLenSet: PlainDescriptor>; /** * the scaling law power has been set for a subnet. */ ScalingLawPowerSet: PlainDescriptor>; /** * weights set rate limit has been set for a subnet. */ WeightsSetRateLimitSet: PlainDescriptor>; /** * immunity period is set for a subnet. */ ImmunityPeriodSet: PlainDescriptor>; /** * bonds moving average is set for a subnet. */ BondsMovingAverageSet: PlainDescriptor>; /** * bonds penalty is set for a subnet. */ BondsPenaltySet: PlainDescriptor>; /** * bonds reset is set for a subnet. */ BondsResetOnSet: PlainDescriptor>; /** * setting the max number of allowed validators on a subnet. */ MaxAllowedValidatorsSet: PlainDescriptor>; /** * the axon server information is added to the network. */ AxonServed: PlainDescriptor>; /** * the prometheus server information is added to the network. */ PrometheusServed: PlainDescriptor>; /** * a hotkey has become a delegate. */ DelegateAdded: PlainDescriptor>; /** * the default take is set. */ DefaultTakeSet: PlainDescriptor; /** * weights version key is set for a network. */ WeightsVersionKeySet: PlainDescriptor>; /** * setting min difficulty on a network. */ MinDifficultySet: PlainDescriptor>; /** * setting max difficulty on a network. */ MaxDifficultySet: PlainDescriptor>; /** * setting the prometheus serving rate limit. */ ServingRateLimitSet: PlainDescriptor>; /** * setting burn on a network. */ BurnSet: PlainDescriptor>; /** * setting max burn on a network. */ MaxBurnSet: PlainDescriptor>; /** * setting min burn on a network. */ MinBurnSet: PlainDescriptor>; /** * setting the transaction rate limit. */ TxRateLimitSet: PlainDescriptor; /** * setting the delegate take transaction rate limit. */ TxDelegateTakeRateLimitSet: PlainDescriptor; /** * setting the childkey take transaction rate limit. */ TxChildKeyTakeRateLimitSet: PlainDescriptor; /** * setting the admin freeze window length (last N blocks of tempo) */ AdminFreezeWindowSet: PlainDescriptor; /** * setting the owner hyperparameter rate limit in epochs */ OwnerHyperparamRateLimitSet: PlainDescriptor; /** * minimum childkey take set */ MinChildKeyTakeSet: PlainDescriptor; /** * subnet-specific minimum childkey take set */ MinChildKeyTakePerSubnetSet: PlainDescriptor>; /** * maximum childkey take set */ MaxChildKeyTakeSet: PlainDescriptor; /** * childkey take set */ ChildKeyTakeSet: PlainDescriptor>; /** * a sudo call is done. */ Sudid: PlainDescriptor>; /** * registration is allowed/disallowed for a subnet. */ RegistrationAllowed: PlainDescriptor>; /** * POW registration is allowed/disallowed for a subnet. */ PowRegistrationAllowed: PlainDescriptor>; /** * setting tempo on a network */ TempoSet: PlainDescriptor>; /** * setting the RAO recycled for registration. */ RAORecycledForRegistrationSet: PlainDescriptor>; /** * min stake is set for validators to set weights. */ StakeThresholdSet: PlainDescriptor; /** * setting the adjustment alpha on a subnet. */ AdjustmentAlphaSet: PlainDescriptor>; /** * the faucet it called on the test net. */ Faucet: PlainDescriptor>; /** * the subnet owner cut is set. */ SubnetOwnerCutSet: PlainDescriptor; /** * the network creation rate limit is set. */ NetworkRateLimitSet: PlainDescriptor; /** * the network immunity period is set. */ NetworkImmunityPeriodSet: PlainDescriptor; /** * the start call delay is set. */ StartCallDelaySet: PlainDescriptor; /** * the network minimum locking cost is set. */ NetworkMinLockCostSet: PlainDescriptor; /** * the maximum number of subnets is set */ SubnetLimitSet: PlainDescriptor; /** * the lock cost reduction is set */ NetworkLockCostReductionIntervalSet: PlainDescriptor; /** * the take for a delegate is decreased. */ TakeDecreased: PlainDescriptor>; /** * the take for a delegate is increased. */ TakeIncreased: PlainDescriptor>; /** * the hotkey is swapped */ HotkeySwapped: PlainDescriptor>; /** * maximum delegate take is set by sudo/admin transaction */ MaxDelegateTakeSet: PlainDescriptor; /** * minimum delegate take is set by sudo/admin transaction */ MinDelegateTakeSet: PlainDescriptor; /** * A coldkey swap announcement has been made. */ ColdkeySwapAnnounced: PlainDescriptor>; /** * A coldkey swap has been reset. */ ColdkeySwapReset: PlainDescriptor>; /** * A coldkey has been swapped. */ ColdkeySwapped: PlainDescriptor>; /** * A coldkey swap has been disputed. */ ColdkeySwapDisputed: PlainDescriptor>; /** * All balance of a hotkey has been unstaked and transferred to a new coldkey */ AllBalanceUnstakedAndTransferredToNewColdkey: PlainDescriptor>; /** * The arbitration period has been extended */ ArbitrationPeriodExtended: PlainDescriptor>; /** * Setting of children of a hotkey have been scheduled */ SetChildrenScheduled: PlainDescriptor>; /** * The children of a hotkey have been set */ SetChildren: PlainDescriptor>; /** * The identity of a coldkey has been set */ ChainIdentitySet: PlainDescriptor; /** * The identity of a subnet has been set */ SubnetIdentitySet: PlainDescriptor; /** * The identity of a subnet has been removed */ SubnetIdentityRemoved: PlainDescriptor; /** * A dissolve network extrinsic scheduled. */ DissolveNetworkScheduled: PlainDescriptor>; /** * The coldkey swap announcement delay has been set. */ ColdkeySwapAnnouncementDelaySet: PlainDescriptor; /** * The coldkey swap reannouncement delay has been set. */ ColdkeySwapReannouncementDelaySet: PlainDescriptor; /** * The duration of dissolve network has been set */ DissolveNetworkScheduleDurationSet: PlainDescriptor; /** * Commit-reveal v3 weights have been successfully committed. * * - **who**: The account ID of the user committing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash representing the committed weights. */ CRV3WeightsCommitted: PlainDescriptor>; /** * Weights have been successfully committed. * * - **who**: The account ID of the user committing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash representing the committed weights. */ WeightsCommitted: PlainDescriptor>; /** * Weights have been successfully revealed. * * - **who**: The account ID of the user revealing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash of the revealed weights. */ WeightsRevealed: PlainDescriptor>; /** * Weights have been successfully batch revealed. * * - **who**: The account ID of the user revealing the weights. * - **netuid**: The network identifier. * - **revealed_hashes**: A vector of hashes representing each revealed weight set. */ WeightsBatchRevealed: PlainDescriptor>; /** * A batch of weights (or commits) have been force-set. * * - **netuids**: The netuids these weights were successfully set/committed for. * - **who**: The hotkey that set this batch. */ BatchWeightsCompleted: PlainDescriptor>; /** * A batch extrinsic completed but with some errors. */ BatchCompletedWithErrors: PlainDescriptor; /** * A weight set among a batch of weights failed. * * - **netuid**: The netuid of the batch item that failed. * - **error**: The dispatch error emitted by the failed item. */ BatchWeightItemFailed: PlainDescriptor>; /** * Stake has been transferred from one coldkey to another on the same subnet. * Parameters: * (origin_coldkey, destination_coldkey, hotkey, origin_netuid, destination_netuid, amount) */ StakeTransferred: PlainDescriptor>; /** * Stake has been swapped from one subnet to another for the same coldkey-hotkey pair. * * Parameters: * (coldkey, hotkey, origin_netuid, destination_netuid, amount) */ StakeSwapped: PlainDescriptor>; /** * Event called when transfer is toggled on a subnet. * * Parameters: * (netuid, bool) */ TransferToggle: PlainDescriptor>; /** * The owner hotkey for a subnet has been set. * * Parameters: * (netuid, new_hotkey) */ SubnetOwnerHotkeySet: PlainDescriptor>; /** * FirstEmissionBlockNumber is set via start call extrinsic * * Parameters: * netuid * block number */ FirstEmissionBlockNumberSet: PlainDescriptor>; /** * Alpha has been recycled, reducing AlphaOut on a subnet. * * Parameters: * (coldkey, hotkey, amount, subnet_id) */ AlphaRecycled: PlainDescriptor>; /** * Alpha have been burned without reducing AlphaOut. * * Parameters: * (coldkey, hotkey, amount, subnet_id) */ AlphaBurned: PlainDescriptor>; /** * An EVM key has been associated with a hotkey. */ EvmKeyAssociated: PlainDescriptor>; /** * CRV3 Weights have been successfully revealed. * * - **netuid**: The network identifier. * - **who**: The account ID of the user revealing the weights. */ CRV3WeightsRevealed: PlainDescriptor>; /** * Commit-Reveal periods has been successfully set. * * - **netuid**: The network identifier. * - **periods**: The number of epochs before the reveal. */ CommitRevealPeriodsSet: PlainDescriptor>; /** * Commit-Reveal has been successfully toggled. * * - **netuid**: The network identifier. * - **Enabled**: Is Commit-Reveal enabled. */ CommitRevealEnabled: PlainDescriptor>; /** * the hotkey is swapped */ HotkeySwappedOnSubnet: PlainDescriptor>; /** * A subnet lease has been created. */ SubnetLeaseCreated: PlainDescriptor>; /** * A subnet lease has been terminated. */ SubnetLeaseTerminated: PlainDescriptor>; /** * The symbol for a subnet has been updated. */ SymbolUpdated: PlainDescriptor>; /** * Commit Reveal Weights version has been updated. * * - **version**: The required version. */ CommitRevealVersionSet: PlainDescriptor; /** * Timelocked weights have been successfully committed. * * - **who**: The account ID of the user committing the weights. * - **netuid**: The network identifier. * - **commit_hash**: The hash representing the committed weights. * - **reveal_round**: The round at which weights can be revealed. */ TimelockedWeightsCommitted: PlainDescriptor>; /** * Timelocked Weights have been successfully revealed. * * - **netuid**: The network identifier. * - **who**: The account ID of the user revealing the weights. */ TimelockedWeightsRevealed: PlainDescriptor>; /** * Auto-staking hotkey received stake */ AutoStakeAdded: PlainDescriptor>; /** * End-of-epoch miner incentive alpha by UID */ IncentiveAlphaEmittedToMiners: PlainDescriptor>; /** * The minimum allowed UIDs for a subnet have been set. */ MinAllowedUidsSet: PlainDescriptor>; /** * The auto stake destination has been set. * * - **coldkey**: The account ID of the coldkey. * - **netuid**: The network identifier. * - **hotkey**: The account ID of the hotkey. */ AutoStakeDestinationSet: PlainDescriptor>; /** * The minimum allowed non-Immune UIDs has been set. */ MinNonImmuneUidsSet: PlainDescriptor>; /** * Root emissions have been claimed for a coldkey on all subnets and hotkeys. * Parameters: * (coldkey) */ RootClaimed: PlainDescriptor>; /** * Root claim type for a coldkey has been set. * Parameters: * (coldkey, u8) */ RootClaimTypeSet: PlainDescriptor>; /** * Voting power tracking has been enabled for a subnet. */ VotingPowerTrackingEnabled: PlainDescriptor>; /** * Voting power tracking has been scheduled for disabling. * Tracking will continue until disable_at_block, then stop and clear entries. */ VotingPowerTrackingDisableScheduled: PlainDescriptor>; /** * Voting power tracking has been fully disabled and entries cleared. */ VotingPowerTrackingDisabled: PlainDescriptor>; /** * Voting power EMA alpha has been set for a subnet. */ VotingPowerEmaAlphaSet: PlainDescriptor>; /** * Subnet lease dividends have been distributed. */ SubnetLeaseDividendsDistributed: PlainDescriptor>; /** * "Add stake and burn" event: alpha token was purchased and burned. */ AddStakeBurn: PlainDescriptor>; /** * A coldkey swap announcement has been cleared. */ ColdkeySwapCleared: PlainDescriptor>; /** * Transaction fee was paid in Alpha. * * Emitted in addition to `TransactionFeePaid` when the fee payment path is Alpha. * `alpha_fee` is the exact Alpha amount deducted. */ TransactionFeePaidWithAlpha: PlainDescriptor>; /** * Burn half-life set for neuron registration. */ BurnHalfLifeSet: PlainDescriptor>; /** * Burn increase multiplier set for neuron registration. */ BurnIncreaseMultSet: PlainDescriptor>; /** * A root validator toggled the "auto parent delegation" flag. */ AutoParentDelegationEnabledSet: PlainDescriptor>; /** * Stake has been locked to a hotkey on a subnet. */ StakeLocked: PlainDescriptor>; /** * Stake has been unlocked from a hotkey on a subnet. */ StakeUnlocked: PlainDescriptor>; /** * Stake has been unlocked from a hotkey on a subnet. */ LockMoved: PlainDescriptor>; /** * Subnet ownership was reassigned by lock conviction. */ SubnetOwnerChanged: PlainDescriptor>; /** * A coldkey's perpetual lock flag was updated. */ PerpetualLockUpdated: PlainDescriptor>; /** * A coldkey's reject locked alpha account flag was updated. */ RejectLockedAlphaUpdated: PlainDescriptor>; }; Utility: { /** * Batch of dispatches did not complete fully. Index of first failing dispatch given, as * well as the error. */ BatchInterrupted: PlainDescriptor>; /** * Batch of dispatches completed fully with no error. */ BatchCompleted: PlainDescriptor; /** * Batch of dispatches completed but has errors. */ BatchCompletedWithErrors: PlainDescriptor; /** * A single item within a Batch of dispatches has completed with no error. */ ItemCompleted: PlainDescriptor; /** * A single item within a Batch of dispatches has completed with error. */ ItemFailed: PlainDescriptor>; /** * A call was dispatched. */ DispatchedAs: PlainDescriptor>; /** * Main call was dispatched. */ IfElseMainSuccess: PlainDescriptor; /** * The fallback call was dispatched. */ IfElseFallbackCalled: PlainDescriptor>; }; Sudo: { /** * A sudo call just took place. */ Sudid: PlainDescriptor>; /** * The sudo key has been updated. */ KeyChanged: PlainDescriptor>; /** * The key was permanently removed. */ KeyRemoved: PlainDescriptor; /** * A [sudo_as](Pallet::sudo_as) call just took place. */ SudoAsDone: PlainDescriptor>; }; Multisig: { /** * A new multisig operation has begun. */ NewMultisig: PlainDescriptor>; /** * A multisig operation has been approved by someone. */ MultisigApproval: PlainDescriptor>; /** * A multisig operation has been executed. */ MultisigExecuted: PlainDescriptor>; /** * A multisig operation has been cancelled. */ MultisigCancelled: PlainDescriptor>; /** * The deposit for a multisig operation has been updated/poked. */ DepositPoked: PlainDescriptor>; }; Preimage: { /** * A preimage has been noted. */ Noted: PlainDescriptor>; /** * A preimage has been requested. */ Requested: PlainDescriptor>; /** * A preimage has ben cleared. */ Cleared: PlainDescriptor>; }; Scheduler: { /** * Scheduled some task. */ Scheduled: PlainDescriptor>; /** * Canceled some task. */ Canceled: PlainDescriptor>; /** * Dispatched some task. */ Dispatched: PlainDescriptor>; /** * Set a retry configuration for some task. */ RetrySet: PlainDescriptor>; /** * Cancel a retry configuration for some task. */ RetryCancelled: PlainDescriptor>; /** * The call for the provided hash was not found so the task has been aborted. */ CallUnavailable: PlainDescriptor>; /** * The given task was unable to be renewed since the agenda is full at that block. */ PeriodicFailed: PlainDescriptor>; /** * 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: PlainDescriptor>; /** * The given task can never be executed since it is overweight. */ PermanentlyOverweight: PlainDescriptor>; /** * Agenda is incomplete from `when`. */ AgendaIncomplete: PlainDescriptor>; }; Proxy: { /** * A proxy was executed correctly, with the given. */ ProxyExecuted: PlainDescriptor>; /** * A pure account has been created by new proxy with given * disambiguation index and proxy type. */ PureCreated: PlainDescriptor>; /** * A pure proxy was killed by its spawner. */ PureKilled: PlainDescriptor>; /** * An announcement was placed to make a call in the future. */ Announced: PlainDescriptor>; /** * A proxy was added. */ ProxyAdded: PlainDescriptor>; /** * A proxy was removed. */ ProxyRemoved: PlainDescriptor>; /** * A deposit stored for proxies or announcements was poked / updated. */ DepositPoked: PlainDescriptor>; /** * The real-pays-fee setting was updated for a proxy relationship. */ RealPaysFeeSet: PlainDescriptor>; }; Registry: { /** * Emitted when a user registers an identity */ IdentitySet: PlainDescriptor>; /** * Emitted when a user dissolves an identity */ IdentityDissolved: PlainDescriptor>; }; Commitments: { /** * A commitment was set */ Commitment: PlainDescriptor>; /** * A timelock-encrypted commitment was set */ TimelockCommitment: PlainDescriptor>; /** * A timelock-encrypted commitment was auto-revealed */ CommitmentRevealed: PlainDescriptor>; }; AdminUtils: { /** * Event emitted when a precompile operation is updated. */ PrecompileUpdated: PlainDescriptor>; /** * Event emitted when the Yuma3 enable is toggled. */ Yuma3EnableToggled: PlainDescriptor>; /** * Event emitted when Bonds Reset is toggled. */ BondsResetToggled: PlainDescriptor>; /** * Event emitted when the burn half-life parameter is set for a subnet. */ BurnHalfLifeSet: PlainDescriptor>; /** * Event emitted when the burn increase multiplier is set for a subnet. */ BurnIncreaseMultSet: PlainDescriptor>; /** * Pool-side subnet emission injections and chain buys were enabled or disabled. */ SubnetEmissionEnabledSet: PlainDescriptor>; }; SafeMode: { /** * The safe-mode was entered until inclusively this block. */ Entered: PlainDescriptor>; /** * The safe-mode was extended until inclusively this block. */ Extended: PlainDescriptor>; /** * Exited the safe-mode for a specific reason. */ Exited: PlainDescriptor>; /** * An account reserved funds for either entering or extending the safe-mode. */ DepositPlaced: PlainDescriptor>; /** * An account had a reserve released that was reserved. */ DepositReleased: PlainDescriptor>; /** * An account had reserve slashed that was reserved. */ DepositSlashed: PlainDescriptor>; /** * Could not hold funds for entering or extending the safe-mode. * * This error comes from the underlying `Currency`. */ CannotDeposit: PlainDescriptor; /** * Could not release funds for entering or extending the safe-mode. * * This error comes from the underlying `Currency`. */ CannotRelease: PlainDescriptor; }; Ethereum: { /** * An ethereum transaction was successfully executed. */ Executed: PlainDescriptor>; }; EVM: { /** * Ethereum events from contracts. */ Log: PlainDescriptor>; /** * A contract has been created at given address. */ Created: PlainDescriptor>; /** * A contract was attempted to be created, but the execution failed. */ CreatedFailed: PlainDescriptor>; /** * A contract has been executed successfully with states applied. */ Executed: PlainDescriptor>; /** * A contract has been executed with errors. States are reverted with only gas fees applied. */ ExecutedFailed: PlainDescriptor>; }; BaseFee: { /** */ NewBaseFeePerGas: PlainDescriptor>; /** */ BaseFeeOverflow: PlainDescriptor; /** */ NewElasticity: PlainDescriptor>; }; Drand: { /** * Beacon Configuration has changed. */ BeaconConfigChanged: PlainDescriptor; /** * Successfully set a new pulse(s). */ NewPulse: PlainDescriptor>; /** * Oldest Stored Round has been set. */ SetOldestStoredRound: PlainDescriptor; }; Crowdloan: { /** * A crowdloan was created. */ Created: PlainDescriptor>; /** * A contribution was made to an active crowdloan. */ Contributed: PlainDescriptor>; /** * A contribution was withdrawn from a failed crowdloan. */ Withdrew: PlainDescriptor>; /** * A refund was partially processed for a failed crowdloan. */ PartiallyRefunded: PlainDescriptor>; /** * A refund was fully processed for a failed crowdloan. */ AllRefunded: PlainDescriptor>; /** * A crowdloan was finalized, funds were transferred and the call was dispatched. */ Finalized: PlainDescriptor>; /** * A crowdloan was dissolved. */ Dissolved: PlainDescriptor>; /** * The minimum contribution was updated. */ MinContributionUpdated: PlainDescriptor>; /** * The end was updated. */ EndUpdated: PlainDescriptor>; /** * The cap was updated. */ CapUpdated: PlainDescriptor>; /** * The maximum contribution was updated. */ MaxContributionUpdated: PlainDescriptor>; }; Swap: { /** * Event emitted when the fee rate has been updated for a subnet */ FeeRateSet: PlainDescriptor>; /** * Event emitted when user liquidity operations are enabled for a subnet. * First enable even indicates a switch from V2 to V3 swap. */ UserLiquidityToggled: PlainDescriptor>; /** * Event emitted when a liquidity position is added to a subnet's liquidity pool. */ LiquidityAdded: PlainDescriptor>; /** * Event emitted when a liquidity position is removed from a subnet's liquidity pool. */ LiquidityRemoved: PlainDescriptor>; /** * Event emitted when a liquidity position is modified in a subnet's liquidity pool. * Modifying causes the fees to be claimed. */ LiquidityModified: PlainDescriptor>; }; Contracts: { /** * Contract deployed by address at the specified address. */ Instantiated: PlainDescriptor>; /** * Contract has been removed. * * # Note * * The only way for a contract to be removed and emitting this event is by calling * `seal_terminate`. */ Terminated: PlainDescriptor>; /** * Code with the specified hash has been stored. */ CodeStored: PlainDescriptor>; /** * A custom event emitted by the contract. */ ContractEmitted: PlainDescriptor>; /** * A code with the specified hash was removed. */ CodeRemoved: PlainDescriptor>; /** * A contract's code was updated. */ ContractCodeUpdated: PlainDescriptor>; /** * A contract was called either by a plain account or another contract. * * # Note * * Please keep in mind that like all events this is only emitted for successful * calls. This is because on failure all storage changes including events are * rolled back. */ Called: PlainDescriptor>; /** * A contract delegate called a code hash. * * # Note * * Please keep in mind that like all events this is only emitted for successful * calls. This is because on failure all storage changes including events are * rolled back. */ DelegateCalled: PlainDescriptor>; /** * Some funds have been transferred and held as storage deposit. */ StorageDepositTransferredAndHeld: PlainDescriptor>; /** * Some storage deposit funds have been transferred and released. */ StorageDepositTransferredAndReleased: PlainDescriptor>; }; MevShield: { /** * Encrypted wrapper accepted. */ EncryptedSubmitted: PlainDescriptor>; /** * Encrypted extrinsic was stored for later execution. */ ExtrinsicStored: PlainDescriptor>; /** * Extrinsic decode failed during on_initialize. */ ExtrinsicDecodeFailed: PlainDescriptor>; /** * Extrinsic dispatch failed during on_initialize. */ ExtrinsicDispatchFailed: PlainDescriptor>; /** * Extrinsic was successfully dispatched during on_initialize. */ ExtrinsicDispatched: PlainDescriptor>; /** * Extrinsic expired (exceeded max block lifetime). */ ExtrinsicExpired: PlainDescriptor>; /** * Extrinsic postponed due to weight limit. */ ExtrinsicPostponed: PlainDescriptor>; /** * Maximum pending extrinsics limit was updated. */ MaxPendingExtrinsicsNumberSet: PlainDescriptor>; /** * Maximum on_initialize weight was updated. */ OnInitializeWeightSet: PlainDescriptor>; /** * Extrinsic lifetime was updated. */ ExtrinsicLifetimeSet: PlainDescriptor>; /** * Maximum per-extrinsic weight was updated. */ MaxExtrinsicWeightSet: PlainDescriptor>; /** * Extrinsic exceeded the per-extrinsic weight limit and was removed. */ ExtrinsicWeightExceeded: PlainDescriptor>; }; }; type IError = { System: { /** * The name of specification does not match between the current runtime * and the new runtime. */ InvalidSpecName: PlainDescriptor; /** * The specification version is not allowed to decrease between the current runtime * and the new runtime. */ SpecVersionNeedsToIncrease: PlainDescriptor; /** * Failed to extract the runtime version from the new runtime. * * Either calling `Core_version` or decoding `RuntimeVersion` failed. */ FailedToExtractRuntimeVersion: PlainDescriptor; /** * Suicide called when the account has non-default composite data. */ NonDefaultComposite: PlainDescriptor; /** * There is a non-zero reference count preventing the account from being purged. */ NonZeroRefCount: PlainDescriptor; /** * The origin filter prevent the call to be dispatched. */ CallFiltered: PlainDescriptor; /** * A multi-block migration is ongoing and prevents the current code from being replaced. */ MultiBlockMigrationsOngoing: PlainDescriptor; /** * No upgrade authorized. */ NothingAuthorized: PlainDescriptor; /** * The submitted code is not authorized. */ Unauthorized: PlainDescriptor; }; Grandpa: { /** * Attempt to signal GRANDPA pause when the authority set isn't live * (either paused or already pending pause). */ PauseFailed: PlainDescriptor; /** * Attempt to signal GRANDPA resume when the authority set isn't paused * (either live or already pending resume). */ ResumeFailed: PlainDescriptor; /** * Attempt to signal GRANDPA change with one already pending. */ ChangePending: PlainDescriptor; /** * Cannot signal forced change so soon after last. */ TooSoon: PlainDescriptor; /** * A key ownership proof provided as part of an equivocation report is invalid. */ InvalidKeyOwnershipProof: PlainDescriptor; /** * An equivocation proof provided as part of an equivocation report is invalid. */ InvalidEquivocationProof: PlainDescriptor; /** * A given equivocation report is valid but already previously reported. */ DuplicateOffenceReport: PlainDescriptor; }; Balances: { /** * Vesting balance too high to send value. */ VestingBalance: PlainDescriptor; /** * Account liquidity restrictions prevent withdrawal. */ LiquidityRestrictions: PlainDescriptor; /** * Balance too low to send value. */ InsufficientBalance: PlainDescriptor; /** * Value too low to create account due to existential deposit. */ ExistentialDeposit: PlainDescriptor; /** * Transfer/payment would kill account. */ Expendability: PlainDescriptor; /** * A vesting schedule already exists for this account. */ ExistingVestingSchedule: PlainDescriptor; /** * Beneficiary account must pre-exist. */ DeadAccount: PlainDescriptor; /** * Number of named reserves exceed `MaxReserves`. */ TooManyReserves: PlainDescriptor; /** * Number of holds exceed `VariantCountOf`. */ TooManyHolds: PlainDescriptor; /** * Number of freezes exceed `MaxFreezes`. */ TooManyFreezes: PlainDescriptor; /** * The issuance cannot be modified since it is already deactivated. */ IssuanceDeactivated: PlainDescriptor; /** * The delta cannot be zero. */ DeltaZero: PlainDescriptor; }; SubtensorModule: { /** * The root network does not exist. */ RootNetworkDoesNotExist: PlainDescriptor; /** * The user is trying to serve an axon which is not of type 4 (IPv4) or 6 (IPv6). */ InvalidIpType: PlainDescriptor; /** * An invalid IP address is passed to the serve function. */ InvalidIpAddress: PlainDescriptor; /** * An invalid port is passed to the serve function. */ InvalidPort: PlainDescriptor; /** * The hotkey is not registered in subnet */ HotKeyNotRegisteredInSubNet: PlainDescriptor; /** * The hotkey does not exists */ HotKeyAccountNotExists: PlainDescriptor; /** * The hotkey is not registered in any subnet. */ HotKeyNotRegisteredInNetwork: PlainDescriptor; /** * Request to stake, unstake or subscribe is made by a coldkey that is not associated with * the hotkey account. */ NonAssociatedColdKey: PlainDescriptor; /** * DEPRECATED: Stake amount to withdraw is zero. * The caller does not have enought stake to perform this action. */ NotEnoughStake: PlainDescriptor; /** * The caller is requesting removing more stake than there exists in the staking account. * See: "[remove_stake()]". */ NotEnoughStakeToWithdraw: PlainDescriptor; /** * The caller is requesting to set weights but the caller has less than minimum stake * required to set weights (less than WeightsMinStake). */ NotEnoughStakeToSetWeights: PlainDescriptor; /** * The parent hotkey doesn't have enough own stake to set childkeys. */ NotEnoughStakeToSetChildkeys: PlainDescriptor; /** * The caller is requesting adding more stake than there exists in the coldkey account. * See: "[add_stake()]" */ NotEnoughBalanceToStake: PlainDescriptor; /** * The caller is trying to add stake, but for some reason the requested amount could not be * withdrawn from the coldkey account. */ BalanceWithdrawalError: PlainDescriptor; /** * Unsuccessfully withdraw, balance could be zero (can not make account exist) after * withdrawal. */ ZeroBalanceAfterWithdrawn: PlainDescriptor; /** * The caller is attempting to set non-self weights without being a permitted validator. */ NeuronNoValidatorPermit: PlainDescriptor; /** * The caller is attempting to set the weight keys and values but these vectors have * different size. */ WeightVecNotEqualSize: PlainDescriptor; /** * The caller is attempting to set weights with duplicate UIDs in the weight matrix. */ DuplicateUids: PlainDescriptor; /** * The caller is attempting to set weight to at least one UID that does not exist in the * metagraph. */ UidVecContainInvalidOne: PlainDescriptor; /** * The dispatch is attempting to set weights on chain with fewer elements than are allowed. */ WeightVecLengthIsLow: PlainDescriptor; /** * Number of registrations in this block exceeds the allowed number (i.e., exceeds the * subnet hyperparameter "max_regs_per_block"). */ TooManyRegistrationsThisBlock: PlainDescriptor; /** * The caller is requesting registering a neuron which already exists in the active set. */ HotKeyAlreadyRegisteredInSubNet: PlainDescriptor; /** * The new hotkey is the same as old one */ NewHotKeyIsSameWithOld: PlainDescriptor; /** * The new hotkey has outstanding root claimable or non-zero root stake, * so the root rate-book cannot be merged without misallocating dividends. */ NewHotKeyNotCleanForRootSwap: PlainDescriptor; /** * The supplied PoW hash block is in the future or negative. */ InvalidWorkBlock: PlainDescriptor; /** * The supplied PoW hash block does not meet the network difficulty. */ InvalidDifficulty: PlainDescriptor; /** * The supplied PoW hash seal does not match the supplied work. */ InvalidSeal: PlainDescriptor; /** * The dispatch is attempting to set weights on chain with weight value exceeding the * configured max weight limit (currently `u16::MAX`). */ MaxWeightExceeded: PlainDescriptor; /** * The hotkey is attempting to become a delegate when the hotkey is already a delegate. */ HotKeyAlreadyDelegate: PlainDescriptor; /** * A transactor exceeded the rate limit for setting weights. */ SettingWeightsTooFast: PlainDescriptor; /** * A validator is attempting to set weights from a validator with incorrect weight version. */ IncorrectWeightVersionKey: PlainDescriptor; /** * An axon or prometheus serving exceeded the rate limit for a registered neuron. */ ServingRateLimitExceeded: PlainDescriptor; /** * The caller is attempting to set weights with more UIDs than allowed. */ UidsLengthExceedUidsInSubNet: PlainDescriptor; /** * A transactor exceeded the rate limit for add network transaction. */ NetworkTxRateLimitExceeded: PlainDescriptor; /** * A transactor exceeded the rate limit for delegate transaction. */ DelegateTxRateLimitExceeded: PlainDescriptor; /** * A transactor exceeded the rate limit for setting or swapping hotkey. */ HotKeySetTxRateLimitExceeded: PlainDescriptor; /** * A transactor exceeded the rate limit for staking. */ StakingRateLimitExceeded: PlainDescriptor; /** * Registration is disabled. */ SubNetRegistrationDisabled: PlainDescriptor; /** * The number of registration attempts exceeded the allowed number in the interval. */ TooManyRegistrationsThisInterval: PlainDescriptor; /** * The hotkey is required to be the origin. */ TransactorAccountShouldBeHotKey: PlainDescriptor; /** * Faucet is disabled. */ FaucetDisabled: PlainDescriptor; /** * Not a subnet owner. */ NotSubnetOwner: PlainDescriptor; /** * Operation is not permitted on the root subnet. */ RegistrationNotPermittedOnRootSubnet: PlainDescriptor; /** * A hotkey with too little stake is attempting to join the root subnet. */ StakeTooLowForRoot: PlainDescriptor; /** * All subnets are in the immunity period. */ AllNetworksInImmunity: PlainDescriptor; /** * Not enough balance to pay swapping hotkey. */ NotEnoughBalanceToPaySwapHotKey: PlainDescriptor; /** * Netuid does not match for setting root network weights. */ NotRootSubnet: PlainDescriptor; /** * Can not set weights for the root network. */ CanNotSetRootNetworkWeights: PlainDescriptor; /** * No neuron ID is available. */ NoNeuronIdAvailable: PlainDescriptor; /** * Delegate take is too low. */ DelegateTakeTooLow: PlainDescriptor; /** * Delegate take is too high. */ DelegateTakeTooHigh: PlainDescriptor; /** * No commit found for the provided hotkey+netuid combination when attempting to reveal the * weights. */ NoWeightsCommitFound: PlainDescriptor; /** * Committed hash does not equal the hashed reveal data. */ InvalidRevealCommitHashNotMatch: PlainDescriptor; /** * Attempting to call set_weights when commit/reveal is enabled */ CommitRevealEnabled: PlainDescriptor; /** * Attemtping to commit/reveal weights when disabled. */ CommitRevealDisabled: PlainDescriptor; /** * Attempting to set alpha high/low while disabled */ LiquidAlphaDisabled: PlainDescriptor; /** * Alpha high is too low: alpha_high > 0.8 */ AlphaHighTooLow: PlainDescriptor; /** * Alpha low is out of range: alpha_low > 0 && alpha_low < 0.8 */ AlphaLowOutOfRange: PlainDescriptor; /** * The coldkey has already been swapped */ ColdKeyAlreadyAssociated: PlainDescriptor; /** * The coldkey balance is not enough to pay for the swap */ NotEnoughBalanceToPaySwapColdKey: PlainDescriptor; /** * Attempting to set an invalid child for a hotkey on a network. */ InvalidChild: PlainDescriptor; /** * Duplicate child when setting children. */ DuplicateChild: PlainDescriptor; /** * Proportion overflow when setting children. */ ProportionOverflow: PlainDescriptor; /** * Too many children MAX 5. */ TooManyChildren: PlainDescriptor; /** * Default transaction rate limit exceeded. */ TxRateLimitExceeded: PlainDescriptor; /** * Coldkey swap announcement not found */ ColdkeySwapAnnouncementNotFound: PlainDescriptor; /** * Coldkey swap too early. */ ColdkeySwapTooEarly: PlainDescriptor; /** * Coldkey swap reannounced too early. */ ColdkeySwapReannouncedTooEarly: PlainDescriptor; /** * The announced coldkey hash does not match the new coldkey hash. */ AnnouncedColdkeyHashDoesNotMatch: PlainDescriptor; /** * Coldkey swap already disputed */ ColdkeySwapAlreadyDisputed: PlainDescriptor; /** * New coldkey is hotkey */ NewColdKeyIsHotkey: PlainDescriptor; /** * Childkey take is invalid. */ InvalidChildkeyTake: PlainDescriptor; /** * Childkey take rate limit exceeded. */ TxChildkeyTakeRateLimitExceeded: PlainDescriptor; /** * Invalid identity. */ InvalidIdentity: PlainDescriptor; /** * Subnet mechanism does not exist. */ MechanismDoesNotExist: PlainDescriptor; /** * Trying to unstake or re-lock the locked amount. */ StakeUnavailable: PlainDescriptor; /** * Trying to perform action on non-existent subnet. */ SubnetNotExists: PlainDescriptor; /** * Maximum commit limit reached */ TooManyUnrevealedCommits: PlainDescriptor; /** * Attempted to reveal weights that are expired. */ ExpiredWeightCommit: PlainDescriptor; /** * Attempted to reveal weights too early. */ RevealTooEarly: PlainDescriptor; /** * Attempted to batch reveal weights with mismatched vector input lenghts. */ InputLengthsUnequal: PlainDescriptor; /** * A transactor exceeded the rate limit for setting weights. */ CommittingWeightsTooFast: PlainDescriptor; /** * Stake amount is too low. */ AmountTooLow: PlainDescriptor; /** * Not enough liquidity. */ InsufficientLiquidity: PlainDescriptor; /** * Slippage is too high for the transaction. */ SlippageTooHigh: PlainDescriptor; /** * Subnet disallows transfer. */ TransferDisallowed: PlainDescriptor; /** * Activity cutoff is being set too low. */ ActivityCutoffTooLow: PlainDescriptor; /** * Call is disabled */ CallDisabled: PlainDescriptor; /** * FirstEmissionBlockNumber is already set. */ FirstEmissionBlockNumberAlreadySet: PlainDescriptor; /** * need wait for more blocks to accept the start call extrinsic. */ NeedWaitingMoreBlocksToStarCall: PlainDescriptor; /** * Not enough AlphaOut on the subnet to recycle */ NotEnoughAlphaOutToRecycle: PlainDescriptor; /** * Cannot burn or recycle TAO from root subnet */ CannotBurnOrRecycleOnRootSubnet: PlainDescriptor; /** * Public key cannot be recovered. */ UnableToRecoverPublicKey: PlainDescriptor; /** * Recovered public key is invalid. */ InvalidRecoveredPublicKey: PlainDescriptor; /** * SubToken disabled now */ SubtokenDisabled: PlainDescriptor; /** * Too frequent hotkey swap on subnet */ HotKeySwapOnSubnetIntervalNotPassed: PlainDescriptor; /** * Zero max stake amount */ ZeroMaxStakeAmount: PlainDescriptor; /** * Invalid netuid duplication */ SameNetuid: PlainDescriptor; /** * The caller does not have enough balance for the operation. */ InsufficientBalance: PlainDescriptor; /** * Too frequent staking operations */ StakingOperationRateLimitExceeded: PlainDescriptor; /** * Invalid lease beneficiary to register the leased network. */ InvalidLeaseBeneficiary: PlainDescriptor; /** * Lease cannot end in the past. */ LeaseCannotEndInThePast: PlainDescriptor; /** * Couldn't find the lease netuid. */ LeaseNetuidNotFound: PlainDescriptor; /** * Lease does not exist. */ LeaseDoesNotExist: PlainDescriptor; /** * Lease has no end block. */ LeaseHasNoEndBlock: PlainDescriptor; /** * Lease has not ended. */ LeaseHasNotEnded: PlainDescriptor; /** * An overflow occurred. */ Overflow: PlainDescriptor; /** * Beneficiary does not own hotkey. */ BeneficiaryDoesNotOwnHotkey: PlainDescriptor; /** * Expected beneficiary origin. */ ExpectedBeneficiaryOrigin: PlainDescriptor; /** * Admin operation is prohibited during the protected weights window */ AdminActionProhibitedDuringWeightsWindow: PlainDescriptor; /** * Symbol does not exist. */ SymbolDoesNotExist: PlainDescriptor; /** * Symbol already in use. */ SymbolAlreadyInUse: PlainDescriptor; /** * Incorrect commit-reveal version. */ IncorrectCommitRevealVersion: PlainDescriptor; /** * Reveal period is too large. */ RevealPeriodTooLarge: PlainDescriptor; /** * Reveal period is too small. */ RevealPeriodTooSmall: PlainDescriptor; /** * Generic error for out-of-range parameter value */ InvalidValue: PlainDescriptor; /** * Subnet limit reached & there is no eligible subnet to prune */ SubnetLimitReached: PlainDescriptor; /** * Insufficient funds to meet the subnet lock cost */ CannotAffordLockCost: PlainDescriptor; /** * exceeded the rate limit for associating an EVM key. */ EvmKeyAssociateRateLimitExceeded: PlainDescriptor; /** * Same auto stake hotkey already set */ SameAutoStakeHotkeyAlreadySet: PlainDescriptor; /** * The UID map for the subnet could not be cleared */ UidMapCouldNotBeCleared: PlainDescriptor; /** * Trimming would exceed the max immune neurons percentage */ TrimmingWouldExceedMaxImmunePercentage: PlainDescriptor; /** * Violating the rules of Childkey-Parentkey consistency */ ChildParentInconsistency: PlainDescriptor; /** * Invalid number of root claims */ InvalidNumRootClaim: PlainDescriptor; /** * Invalid value of root claim threshold */ InvalidRootClaimThreshold: PlainDescriptor; /** * Exceeded subnet limit number or zero. */ InvalidSubnetNumber: PlainDescriptor; /** * The maximum allowed UIDs times mechanism count should not exceed 256. */ TooManyUIDsPerMechanism: PlainDescriptor; /** * Voting power tracking is not enabled for this subnet. */ VotingPowerTrackingNotEnabled: PlainDescriptor; /** * Invalid voting power EMA alpha value (must be <= 10^18). */ InvalidVotingPowerEmaAlpha: PlainDescriptor; /** * Deprecated call. */ Deprecated: PlainDescriptor; /** * "Add stake and burn" exceeded the operation rate limit */ AddStakeBurnRateLimitExceeded: PlainDescriptor; /** * A coldkey swap has been announced for this account. */ ColdkeySwapAnnounced: PlainDescriptor; /** * A coldkey swap for this account is under dispute. */ ColdkeySwapDisputed: PlainDescriptor; /** * Coldkey swap clear too early. */ ColdkeySwapClearTooEarly: PlainDescriptor; /** * Disabled temporarily. */ DisabledTemporarily: PlainDescriptor; /** * Registration Price Limit Exceeded */ RegistrationPriceLimitExceeded: PlainDescriptor; /** * Lock hotkey mismatch: existing lock is for a different hotkey. */ LockHotkeyMismatch: PlainDescriptor; /** * Insufficient stake on subnet to cover the lock amount. */ InsufficientStakeForLock: PlainDescriptor; /** * No existing lock found for the given coldkey and subnet. */ NoExistingLock: PlainDescriptor; /** * There is already an active lock for the given coldkey. */ ActiveLockExists: PlainDescriptor; /** * A system account cannot be used in this operation */ CannotUseSystemAccount: PlainDescriptor; /** * Trying to unlock more than locked */ UnlockAmountTooHigh: PlainDescriptor; /** * The destination coldkey rejects incoming locked alpha. */ AccountRejectsLockedAlpha: PlainDescriptor; }; Utility: { /** * Too many calls batched. */ TooManyCalls: PlainDescriptor; /** * Bad input data for derived account ID */ InvalidDerivedAccount: PlainDescriptor; }; Sudo: { /** * Sender must be the Sudo account. */ RequireSudo: PlainDescriptor; }; Multisig: { /** * Threshold must be 2 or greater. */ MinimumThreshold: PlainDescriptor; /** * Call is already approved by this signatory. */ AlreadyApproved: PlainDescriptor; /** * Call doesn't need any (more) approvals. */ NoApprovalsNeeded: PlainDescriptor; /** * There are too few signatories in the list. */ TooFewSignatories: PlainDescriptor; /** * There are too many signatories in the list. */ TooManySignatories: PlainDescriptor; /** * The signatories were provided out of order; they should be ordered. */ SignatoriesOutOfOrder: PlainDescriptor; /** * The sender was contained in the other signatories; it shouldn't be. */ SenderInSignatories: PlainDescriptor; /** * Multisig operation not found in storage. */ NotFound: PlainDescriptor; /** * Only the account that originally created the multisig is able to cancel it or update * its deposits. */ NotOwner: PlainDescriptor; /** * No timepoint was given, yet the multisig operation is already underway. */ NoTimepoint: PlainDescriptor; /** * A different timepoint was given to the multisig operation that is underway. */ WrongTimepoint: PlainDescriptor; /** * A timepoint was given, yet no multisig operation is underway. */ UnexpectedTimepoint: PlainDescriptor; /** * The maximum weight information provided was too low. */ MaxWeightTooLow: PlainDescriptor; /** * The data to be stored is already stored. */ AlreadyStored: PlainDescriptor; }; Preimage: { /** * Preimage is too large to store on-chain. */ TooBig: PlainDescriptor; /** * Preimage has already been noted on-chain. */ AlreadyNoted: PlainDescriptor; /** * The user is not authorized to perform this action. */ NotAuthorized: PlainDescriptor; /** * The preimage cannot be removed since it has not yet been noted. */ NotNoted: PlainDescriptor; /** * A preimage may not be removed when there are outstanding requests. */ Requested: PlainDescriptor; /** * The preimage request cannot be removed since no outstanding requests exist. */ NotRequested: PlainDescriptor; /** * More than `MAX_HASH_UPGRADE_BULK_COUNT` hashes were requested to be upgraded at once. */ TooMany: PlainDescriptor; /** * Too few hashes were requested to be upgraded (i.e. zero). */ TooFew: PlainDescriptor; }; Scheduler: { /** * Failed to schedule a call */ FailedToSchedule: PlainDescriptor; /** * Cannot find the scheduled call. */ NotFound: PlainDescriptor; /** * Given target block number is in the past. */ TargetBlockNumberInPast: PlainDescriptor; /** * Reschedule failed because it does not change scheduled time. */ RescheduleNoChange: PlainDescriptor; /** * Attempt to use a non-named function on a named task. */ Named: PlainDescriptor; }; Proxy: { /** * There are too many proxies registered or too many announcements pending. */ TooMany: PlainDescriptor; /** * Proxy registration not found. */ NotFound: PlainDescriptor; /** * Sender is not a proxy of the account to be proxied. */ NotProxy: PlainDescriptor; /** * A call which is incompatible with the proxy type's filter was attempted. */ Unproxyable: PlainDescriptor; /** * Account is already a proxy. */ Duplicate: PlainDescriptor; /** * Call may not be made by proxy because it may escalate its privileges. */ NoPermission: PlainDescriptor; /** * Announcement, if made at all, was made too recently. */ Unannounced: PlainDescriptor; /** * Cannot add self as proxy. */ NoSelfProxy: PlainDescriptor; /** * Invariant violated: deposit recomputation returned None after updating announcements. */ AnnouncementDepositInvariantViolated: PlainDescriptor; /** * Failed to derive a valid account id from the provided entropy. */ InvalidDerivedAccountId: PlainDescriptor; }; Registry: { /** * Account attempted to register an identity but does not meet the requirements. */ CannotRegister: PlainDescriptor; /** * Account passed too many additional fields to their identity */ TooManyFieldsInIdentityInfo: PlainDescriptor; /** * Account doesn't have a registered identity */ NotRegistered: PlainDescriptor; }; Commitments: { /** * Account passed too many additional fields to their commitment */ TooManyFieldsInCommitmentInfo: PlainDescriptor; /** * Account is not allowed to make commitments to the chain */ AccountNotAllowedCommit: PlainDescriptor; /** * Space Limit Exceeded for the current interval */ SpaceLimitExceeded: PlainDescriptor; /** * Indicates that unreserve returned a leftover, which is unexpected. */ UnexpectedUnreserveLeftover: PlainDescriptor; }; AdminUtils: { /** * The subnet does not exist, check the netuid parameter */ SubnetDoesNotExist: PlainDescriptor; /** * The maximum number of subnet validators must be less than the maximum number of allowed UIDs in the subnet. */ MaxValidatorsLargerThanMaxUIds: PlainDescriptor; /** * The maximum number of subnet validators must be more than the current number of UIDs already in the subnet. */ MaxAllowedUIdsLessThanCurrentUIds: PlainDescriptor; /** * The maximum value for bonds moving average is reached */ BondsMovingAverageMaxReached: PlainDescriptor; /** * Only root can set negative sigmoid steepness values */ NegativeSigmoidSteepness: PlainDescriptor; /** * Value not in allowed bounds. */ ValueNotInBounds: PlainDescriptor; /** * The minimum allowed UIDs must be less than the current number of UIDs in the subnet. */ MinAllowedUidsGreaterThanCurrentUids: PlainDescriptor; /** * The minimum allowed UIDs must be less than the maximum allowed UIDs. */ MinAllowedUidsGreaterThanMaxAllowedUids: PlainDescriptor; /** * The maximum allowed UIDs must be greater than the minimum allowed UIDs. */ MaxAllowedUidsLessThanMinAllowedUids: PlainDescriptor; /** * The maximum allowed UIDs must be less than the default maximum allowed UIDs. */ MaxAllowedUidsGreaterThanDefaultMaxAllowedUids: PlainDescriptor; /** * Bad parameter value */ InvalidValue: PlainDescriptor; /** * Operation is not permitted on the root network. */ NotPermittedOnRootSubnet: PlainDescriptor; /** * POW Registration has been deprecated */ POWRegistrationDisabled: PlainDescriptor; /** * Call is deprecated */ Deprecated: PlainDescriptor; }; SafeMode: { /** * The safe-mode is (already or still) entered. */ Entered: PlainDescriptor; /** * The safe-mode is (already or still) exited. */ Exited: PlainDescriptor; /** * This functionality of the pallet is disabled by the configuration. */ NotConfigured: PlainDescriptor; /** * There is no balance reserved. */ NoDeposit: PlainDescriptor; /** * The account already has a deposit reserved and can therefore not enter or extend again. */ AlreadyDeposited: PlainDescriptor; /** * This deposit cannot be released yet. */ CannotReleaseYet: PlainDescriptor; /** * An error from the underlying `Currency`. */ CurrencyError: PlainDescriptor; }; Ethereum: { /** * Signature is invalid. */ InvalidSignature: PlainDescriptor; /** * Pre-log is present, therefore transact is not allowed. */ PreLogExists: PlainDescriptor; }; EVM: { /** * Not enough balance to perform action */ BalanceLow: PlainDescriptor; /** * Calculating total fee overflowed */ FeeOverflow: PlainDescriptor; /** * Calculating total payment overflowed */ PaymentOverflow: PlainDescriptor; /** * Withdraw fee failed */ WithdrawFailed: PlainDescriptor; /** * Gas price is too low. */ GasPriceTooLow: PlainDescriptor; /** * Nonce is invalid */ InvalidNonce: PlainDescriptor; /** * Gas limit is too low. */ GasLimitTooLow: PlainDescriptor; /** * Gas limit is too high. */ GasLimitTooHigh: PlainDescriptor; /** * The chain id is invalid. */ InvalidChainId: PlainDescriptor; /** * the signature is invalid. */ InvalidSignature: PlainDescriptor; /** * EVM reentrancy */ Reentrancy: PlainDescriptor; /** * EIP-3607, */ TransactionMustComeFromEOA: PlainDescriptor; /** * Undefined error. */ Undefined: PlainDescriptor; /** * Origin is not allowed to perform the operation. */ NotAllowed: PlainDescriptor; /** * Address not allowed to deploy contracts either via CREATE or CALL(CREATE). */ CreateOriginNotAllowed: PlainDescriptor; }; Drand: { /** * The value retrieved was `None` as no value was previously set. */ NoneValue: PlainDescriptor; /** * There was an attempt to increment the value in storage over `u32::MAX`. */ StorageOverflow: PlainDescriptor; /** * failed to connect to the */ DrandConnectionFailure: PlainDescriptor; /** * the pulse is invalid */ UnverifiedPulse: PlainDescriptor; /** * the round number did not increment */ InvalidRoundNumber: PlainDescriptor; /** * the pulse could not be verified */ PulseVerificationError: PlainDescriptor; }; Crowdloan: { /** * The crowdloan initial deposit is too low. */ DepositTooLow: PlainDescriptor; /** * The crowdloan cap is too low. */ CapTooLow: PlainDescriptor; /** * The minimum contribution is too low. */ MinimumContributionTooLow: PlainDescriptor; /** * The crowdloan cannot end in the past. */ CannotEndInPast: PlainDescriptor; /** * The crowdloan block duration is too short. */ BlockDurationTooShort: PlainDescriptor; /** * The block duration is too long. */ BlockDurationTooLong: PlainDescriptor; /** * The account does not have enough balance to pay for the initial deposit/contribution. */ InsufficientBalance: PlainDescriptor; /** * An overflow occurred. */ Overflow: PlainDescriptor; /** * The crowdloan id is invalid. */ InvalidCrowdloanId: PlainDescriptor; /** * The crowdloan cap has been fully raised. */ CapRaised: PlainDescriptor; /** * The contribution period has ended. */ ContributionPeriodEnded: PlainDescriptor; /** * The contribution is too low. */ ContributionTooLow: PlainDescriptor; /** * The origin of this call is invalid. */ InvalidOrigin: PlainDescriptor; /** * The crowdloan has already been finalized. */ AlreadyFinalized: PlainDescriptor; /** * The crowdloan contribution period has not ended yet. */ ContributionPeriodNotEnded: PlainDescriptor; /** * The contributor has no contribution for this crowdloan. */ NoContribution: PlainDescriptor; /** * The crowdloan cap has not been raised. */ CapNotRaised: PlainDescriptor; /** * An underflow occurred. */ Underflow: PlainDescriptor; /** * Call to dispatch was not found in the preimage storage. */ CallUnavailable: PlainDescriptor; /** * The crowdloan is not ready to be dissolved, it still has contributions. */ NotReadyToDissolve: PlainDescriptor; /** * The deposit cannot be withdrawn from the crowdloan. */ DepositCannotBeWithdrawn: PlainDescriptor; /** * The maximum number of contributors has been reached. */ MaxContributorsReached: PlainDescriptor; /** * Exactly one of call or target address must be provided. */ InvalidFinalizationConfig: PlainDescriptor; /** * The contributor has already reached the maximum contribution. */ MaxContributionReached: PlainDescriptor; /** * The maximum contribution is too low. */ MaximumContributionTooLow: PlainDescriptor; /** * The minimum contribution is too high. */ MinimumContributionTooHigh: PlainDescriptor; }; Swap: { /** * The fee rate is too high */ FeeRateTooHigh: PlainDescriptor; /** * The provided amount is insufficient for the swap. */ InsufficientInputAmount: PlainDescriptor; /** * The provided liquidity is insufficient for the operation. */ InsufficientLiquidity: PlainDescriptor; /** * The operation would exceed the price limit. */ PriceLimitExceeded: PlainDescriptor; /** * The caller does not have enough balance for the operation. */ InsufficientBalance: PlainDescriptor; /** * Attempted to remove liquidity that does not exist. */ LiquidityNotFound: PlainDescriptor; /** * The provided tick range is invalid. */ InvalidTickRange: PlainDescriptor; /** * Maximum user positions exceeded */ MaxPositionsExceeded: PlainDescriptor; /** * Too many swap steps */ TooManySwapSteps: PlainDescriptor; /** * Provided liquidity parameter is invalid (likely too small) */ InvalidLiquidityValue: PlainDescriptor; /** * Reserves too low for operation. */ ReservesTooLow: PlainDescriptor; /** * The subnet does not exist. */ MechanismDoesNotExist: PlainDescriptor; /** * User liquidity operations are disabled for this subnet */ UserLiquidityDisabled: PlainDescriptor; /** * The subnet does not have subtoken enabled */ SubtokenDisabled: PlainDescriptor; }; Contracts: { /** * Invalid schedule supplied, e.g. with zero weight of a basic operation. */ InvalidSchedule: PlainDescriptor; /** * Invalid combination of flags supplied to `seal_call` or `seal_delegate_call`. */ InvalidCallFlags: PlainDescriptor; /** * The executed contract exhausted its gas limit. */ OutOfGas: PlainDescriptor; /** * The output buffer supplied to a contract API call was too small. */ OutputBufferTooSmall: PlainDescriptor; /** * Performing the requested transfer failed. Probably because there isn't enough * free balance in the sender's account. */ TransferFailed: PlainDescriptor; /** * Performing a call was denied because the calling depth reached the limit * of what is specified in the schedule. */ MaxCallDepthReached: PlainDescriptor; /** * No contract was found at the specified address. */ ContractNotFound: PlainDescriptor; /** * The code supplied to `instantiate_with_code` exceeds the limit specified in the * current schedule. */ CodeTooLarge: PlainDescriptor; /** * No code could be found at the supplied code hash. */ CodeNotFound: PlainDescriptor; /** * No code info could be found at the supplied code hash. */ CodeInfoNotFound: PlainDescriptor; /** * A buffer outside of sandbox memory was passed to a contract API function. */ OutOfBounds: PlainDescriptor; /** * Input passed to a contract API function failed to decode as expected type. */ DecodingFailed: PlainDescriptor; /** * Contract trapped during execution. */ ContractTrapped: PlainDescriptor; /** * The size defined in `T::MaxValueSize` was exceeded. */ ValueTooLarge: PlainDescriptor; /** * Termination of a contract is not allowed while the contract is already * on the call stack. Can be triggered by `seal_terminate`. */ TerminatedWhileReentrant: PlainDescriptor; /** * `seal_call` forwarded this contracts input. It therefore is no longer available. */ InputForwarded: PlainDescriptor; /** * The subject passed to `seal_random` exceeds the limit. */ RandomSubjectTooLong: PlainDescriptor; /** * The amount of topics passed to `seal_deposit_events` exceeds the limit. */ TooManyTopics: PlainDescriptor; /** * The chain does not provide a chain extension. Calling the chain extension results * in this error. Note that this usually shouldn't happen as deploying such contracts * is rejected. */ NoChainExtension: PlainDescriptor; /** * Failed to decode the XCM program. */ XCMDecodeFailed: PlainDescriptor; /** * A contract with the same AccountId already exists. */ DuplicateContract: PlainDescriptor; /** * A contract self destructed in its constructor. * * This can be triggered by a call to `seal_terminate`. */ TerminatedInConstructor: PlainDescriptor; /** * A call tried to invoke a contract that is flagged as non-reentrant. * The only other cause is that a call from a contract into the runtime tried to call back * into `pallet-contracts`. This would make the whole pallet reentrant with regard to * contract code execution which is not supported. */ ReentranceDenied: PlainDescriptor; /** * A contract attempted to invoke a state modifying API while being in read-only mode. */ StateChangeDenied: PlainDescriptor; /** * Origin doesn't have enough balance to pay the required storage deposits. */ StorageDepositNotEnoughFunds: PlainDescriptor; /** * More storage was created than allowed by the storage deposit limit. */ StorageDepositLimitExhausted: PlainDescriptor; /** * Code removal was denied because the code is still in use by at least one contract. */ CodeInUse: PlainDescriptor; /** * 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: PlainDescriptor; /** * The contract's code was found to be invalid during validation. * * The most likely cause of this is that an API was used which is not supported by the * node. This happens if an older node is used with a new version of ink!. Try updating * your node to the newest available version. * * A more detailed error can be found on the node console if debug messages are enabled * by supplying `-lruntime::contracts=debug`. */ CodeRejected: PlainDescriptor; /** * An indeterministic code was used in a context where this is not permitted. */ Indeterministic: PlainDescriptor; /** * A pending migration needs to complete before the extrinsic can be called. */ MigrationInProgress: PlainDescriptor; /** * Migrate dispatch call was attempted but no migration was performed. */ NoMigrationPerformed: PlainDescriptor; /** * The contract has reached its maximum number of delegate dependencies. */ MaxDelegateDependenciesReached: PlainDescriptor; /** * The dependency was not found in the contract's delegate dependencies. */ DelegateDependencyNotFound: PlainDescriptor; /** * The contract already depends on the given delegate dependency. */ DelegateDependencyAlreadyExists: PlainDescriptor; /** * Can not add a delegate dependency to the code hash of the contract itself. */ CannotAddSelfAsDelegateDependency: PlainDescriptor; /** * Can not add more data to transient storage. */ OutOfTransientStorage: PlainDescriptor; }; MevShield: { /** * The announced ML‑KEM encapsulation key length is invalid. */ BadEncKeyLen: PlainDescriptor; /** * Unreachable. */ Unreachable: PlainDescriptor; /** * Too many pending extrinsics in storage. */ TooManyPendingExtrinsics: PlainDescriptor; /** * Weight exceeds the absolute maximum (half of total block weight). */ WeightExceedsAbsoluteMax: PlainDescriptor; }; }; type IConstants = { System: { /** * Block & extrinsics weights: base values and limits. */ BlockWeights: PlainDescriptor>; /** * The maximum length of a block (in bytes). */ BlockLength: PlainDescriptor>; /** * Maximum number of block number to block hash mappings to keep (oldest pruned first). */ BlockHashCount: PlainDescriptor; /** * The weight of runtime database operations the runtime can invoke. */ DbWeight: PlainDescriptor>; /** * Get the chain's in-code version. */ Version: PlainDescriptor>; /** * The designated SS58 prefix of this chain. * * This replaces the "ss58Format" property declared in the chain spec. Reason is * that the runtime should know about the prefix in order to make use of it as * an identifier of the chain. */ SS58Prefix: PlainDescriptor; }; Timestamp: { /** * The minimum period between blocks. * * Be aware that this is different to the *expected* period that the block production * apparatus provides. Your chosen consensus system will generally work with this to * determine a sensible block time. For example, in the Aura pallet it will be double this * period on default settings. */ MinimumPeriod: PlainDescriptor; }; Aura: { /** * The slot duration Aura should run with, expressed in milliseconds. * The effective value of this type should not change while the chain is running. * * For backwards compatibility either use [`MinimumPeriodTimesTwo`] or a const. */ SlotDuration: PlainDescriptor; }; Grandpa: { /** * Max Authorities in use */ MaxAuthorities: PlainDescriptor; /** * The maximum number of nominators for each validator. */ MaxNominators: PlainDescriptor; /** * The maximum number of entries to keep in the set id to session index mapping. * * Since the `SetIdSession` map is only used for validating equivocations this * value should relate to the bonding duration of whatever staking system is * being used (if any). If equivocation handling is not enabled then this value * can be zero. */ MaxSetIdSessionEntries: PlainDescriptor; }; Balances: { /** * The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO! * * If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for * this pallet. However, you do so at your own risk: this will open up a major DoS vector. * In case you have multiple sources of provider references, you may also get unexpected * behaviour if you set this to zero. * * Bottom line: Do yourself a favour and make it at least one! */ ExistentialDeposit: PlainDescriptor; /** * The maximum number of locks that should exist on an account. * Not strictly enforced, but used for weight estimation. * * Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/` */ MaxLocks: PlainDescriptor; /** * The maximum number of named reserves that can exist on an account. * * Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/` */ MaxReserves: PlainDescriptor; /** * The maximum number of individual freeze locks that can exist on an account at any time. */ MaxFreezes: PlainDescriptor; }; TransactionPayment: { /** * A fee multiplier for `Operational` extrinsics to compute "virtual tip" to boost their * `priority` * * This value is multiplied by the `final_fee` to obtain a "virtual tip" that is later * added to a tip component in regular `priority` calculations. * It means that a `Normal` transaction can front-run a similarly-sized `Operational` * extrinsic (with no tip), by including a tip value greater than the virtual tip. * * ```rust,ignore * // For `Normal` * let priority = priority_calc(tip); * * // For `Operational` * let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier; * let priority = priority_calc(tip + virtual_tip); * ``` * * Note that since we use `final_fee` the multiplier applies also to the regular `tip` * sent with the transaction. So, not only does the transaction get a priority bump based * on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational` * transactions. */ OperationalFeeMultiplier: PlainDescriptor; }; SubtensorModule: { /** * ================================= * ==== Initial Value Constants ==== * ================================= * Initial currency issuance. */ InitialIssuance: PlainDescriptor; /** * Initial min allowed weights setting. */ InitialMinAllowedWeights: PlainDescriptor; /** * Initial Emission Ratio. */ InitialEmissionValue: PlainDescriptor; /** * Tempo for each network. */ InitialTempo: PlainDescriptor; /** * Initial Difficulty. */ InitialDifficulty: PlainDescriptor; /** * Initial Max Difficulty. */ InitialMaxDifficulty: PlainDescriptor; /** * Initial Min Difficulty. */ InitialMinDifficulty: PlainDescriptor; /** * Initial RAO Recycled. */ InitialRAORecycledForRegistration: PlainDescriptor; /** * Initial Burn. */ InitialBurn: PlainDescriptor; /** * Initial Max Burn. */ InitialMaxBurn: PlainDescriptor; /** * Initial Min Burn. */ InitialMinBurn: PlainDescriptor; /** * Initial minimum stake. */ InitialMinStake: PlainDescriptor; /** * Min burn upper bound. */ MinBurnUpperBound: PlainDescriptor; /** * Max burn lower bound. */ MaxBurnLowerBound: PlainDescriptor; /** * Initial adjustment interval. */ InitialAdjustmentInterval: PlainDescriptor; /** * Initial bonds moving average. */ InitialBondsMovingAverage: PlainDescriptor; /** * Initial bonds penalty. */ InitialBondsPenalty: PlainDescriptor; /** * Initial bonds reset. */ InitialBondsResetOn: PlainDescriptor; /** * Initial target registrations per interval. */ InitialTargetRegistrationsPerInterval: PlainDescriptor; /** * Rho constant. */ InitialRho: PlainDescriptor; /** * AlphaSigmoidSteepness constant. */ InitialAlphaSigmoidSteepness: PlainDescriptor; /** * Kappa constant. */ InitialKappa: PlainDescriptor; /** * Initial minimum allowed network UIDs */ InitialMinAllowedUids: PlainDescriptor; /** * Initial maximum allowed network UIDs */ InitialMaxAllowedUids: PlainDescriptor; /** * Initial validator context pruning length. */ InitialValidatorPruneLen: PlainDescriptor; /** * Initial scaling law power. */ InitialScalingLawPower: PlainDescriptor; /** * Immunity Period Constant. */ InitialImmunityPeriod: PlainDescriptor; /** * Activity constant. */ InitialActivityCutoff: PlainDescriptor; /** * Initial max registrations per block. */ InitialMaxRegistrationsPerBlock: PlainDescriptor; /** * Initial pruning score for each neuron. */ InitialPruningScore: PlainDescriptor; /** * Initial maximum allowed validators per network. */ InitialMaxAllowedValidators: PlainDescriptor; /** * Initial default delegation take. */ InitialDefaultDelegateTake: PlainDescriptor; /** * Initial minimum delegation take. */ InitialMinDelegateTake: PlainDescriptor; /** * Initial default childkey take. */ InitialDefaultChildKeyTake: PlainDescriptor; /** * Initial minimum childkey take. */ InitialMinChildKeyTake: PlainDescriptor; /** * Initial maximum childkey take. */ InitialMaxChildKeyTake: PlainDescriptor; /** * Initial weights version key. */ InitialWeightsVersionKey: PlainDescriptor; /** * Initial serving rate limit. */ InitialServingRateLimit: PlainDescriptor; /** * Initial transaction rate limit. */ InitialTxRateLimit: PlainDescriptor; /** * Initial delegate take transaction rate limit. */ InitialTxDelegateTakeRateLimit: PlainDescriptor; /** * Initial childkey take transaction rate limit. */ InitialTxChildKeyTakeRateLimit: PlainDescriptor; /** * Initial adjustment alpha on burn and pow. */ InitialAdjustmentAlpha: PlainDescriptor; /** * Initial network immunity period */ InitialNetworkImmunityPeriod: PlainDescriptor; /** * Initial network minimum burn cost */ InitialNetworkMinLockCost: PlainDescriptor; /** * Initial network subnet cut. */ InitialSubnetOwnerCut: PlainDescriptor; /** * Initial lock reduction interval. */ InitialNetworkLockReductionInterval: PlainDescriptor; /** * Initial network creation rate limit */ InitialNetworkRateLimit: PlainDescriptor; /** * Cost of swapping a hotkey. */ KeySwapCost: PlainDescriptor; /** * The upper bound for the alpha parameter. Used for Liquid Alpha. */ AlphaHigh: PlainDescriptor; /** * The lower bound for the alpha parameter. Used for Liquid Alpha. */ AlphaLow: PlainDescriptor; /** * A flag to indicate if Liquid Alpha is enabled. */ LiquidAlphaOn: PlainDescriptor; /** * A flag to indicate if Yuma3 is enabled. */ Yuma3On: PlainDescriptor; /** * Coldkey swap announcement delay. */ InitialColdkeySwapAnnouncementDelay: PlainDescriptor; /** * Coldkey swap reannouncement delay. */ InitialColdkeySwapReannouncementDelay: PlainDescriptor; /** * Dissolve network schedule duration */ InitialDissolveNetworkScheduleDuration: PlainDescriptor; /** * Initial TAO weight. */ InitialTaoWeight: PlainDescriptor; /** * Initial EMA price halving period */ InitialEmaPriceHalvingPeriod: PlainDescriptor; /** * Delay after which a new subnet can dispatch start call extrinsic. */ InitialStartCallDelay: PlainDescriptor; /** * Cost of swapping a hotkey in a subnet. */ KeySwapOnSubnetCost: PlainDescriptor; /** * Block number for a coldkey swap the hotkey in specific subnet. */ HotkeySwapOnSubnetInterval: PlainDescriptor; /** * Number of blocks between dividends distribution. */ LeaseDividendsDistributionInterval: PlainDescriptor; /** * Maximum percentage of immune UIDs. */ MaxImmuneUidsPercentage: PlainDescriptor; /** * Pallet account ID */ SubtensorPalletId: PlainDescriptor>; /** * Burn account ID */ BurnAccountId: PlainDescriptor>; }; Utility: { /** * The limit on the number of batched calls. */ batched_calls_limit: PlainDescriptor; }; Multisig: { /** * The base amount of currency needed to reserve for creating a multisig execution or to * store a dispatch call for later. * * This is held for an additional storage item whose value size is * `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is * `32 + sizeof(AccountId)` bytes. */ DepositBase: PlainDescriptor; /** * The amount of currency needed per unit threshold when creating a multisig execution. * * This is held for adding 32 bytes more into a pre-existing storage value. */ DepositFactor: PlainDescriptor; /** * The maximum amount of signatories allowed in the multisig. */ MaxSignatories: PlainDescriptor; }; Scheduler: { /** * The maximum weight that may be scheduled per block for any dispatchables. */ MaximumWeight: PlainDescriptor>; /** * The maximum number of scheduled calls in the queue for a single block. * * NOTE: * + Dependent pallets' benchmarks might require a higher limit for the setting. Set a * higher limit under `runtime-benchmarks` feature. */ MaxScheduledPerBlock: PlainDescriptor; }; Proxy: { /** * The base amount of currency needed to reserve for creating a proxy. * * This is held for an additional storage item whose value size is * `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes. */ ProxyDepositBase: PlainDescriptor; /** * The amount of currency needed per proxy added. * * This is held for adding 32 bytes plus an instance of `ProxyType` more into a * pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take * into account `32 + proxy_type.encode().len()` bytes of data. */ ProxyDepositFactor: PlainDescriptor; /** * The maximum amount of proxies allowed for a single account. */ MaxProxies: PlainDescriptor; /** * The maximum amount of time-delayed announcements that are allowed to be pending. */ MaxPending: PlainDescriptor; /** * The base amount of currency needed to reserve for creating an announcement. * * This is held when a new storage item holding a `Balance` is created (typically 16 * bytes). */ AnnouncementDepositBase: PlainDescriptor; /** * The amount of currency needed per announcement made. * * This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes) * into a pre-existing storage value. */ AnnouncementDepositFactor: PlainDescriptor; }; Registry: { /** * Configuration fields * Maximum user-configured additional fields */ MaxAdditionalFields: PlainDescriptor; /** * The amount held on deposit for a registered identity */ InitialDeposit: PlainDescriptor; /** * The amount held on deposit per additional field for a registered identity. */ FieldDeposit: PlainDescriptor; }; Commitments: { /** * The maximum number of additional fields that can be added to a commitment */ MaxFields: PlainDescriptor; /** * The amount held on deposit for a registered identity */ InitialDeposit: PlainDescriptor; /** * The amount held on deposit per additional field for a registered identity. */ FieldDeposit: PlainDescriptor; }; SafeMode: { /** * For how many blocks the safe-mode will be entered by [`Pallet::enter`]. */ EnterDuration: PlainDescriptor; /** * For how many blocks the safe-mode can be extended by each [`Pallet::extend`] call. * * This does not impose a hard limit as the safe-mode can be extended multiple times. */ ExtendDuration: PlainDescriptor; /** * The amount that will be reserved upon calling [`Pallet::enter`]. * * `None` disallows permissionlessly enabling the safe-mode and is a sane default. */ EnterDepositAmount: PlainDescriptor>; /** * The amount that will be reserved upon calling [`Pallet::extend`]. * * `None` disallows permissionlessly extending the safe-mode and is a sane default. */ ExtendDepositAmount: PlainDescriptor>; /** * The minimal duration a deposit will remain reserved after safe-mode is entered or * extended, unless [`Pallet::force_release_deposit`] is successfully called sooner. * * Every deposit is tied to a specific activation or extension, thus each deposit can be * released independently after the delay for it has passed. * * `None` disallows permissionlessly releasing the safe-mode deposits and is a sane * default. */ ReleaseDelay: PlainDescriptor>; }; Drand: { /** * A configuration for base priority of unsigned transactions. * * This is exposed so that it can be tuned for particular runtime, when * multiple pallets send unsigned transactions. */ UnsignedPriority: PlainDescriptor; /** * The maximum number of milliseconds we are willing to wait for the HTTP request to * complete. */ HttpFetchTimeout: PlainDescriptor; }; Crowdloan: { /** * The pallet id that will be used to derive crowdloan account ids. */ PalletId: PlainDescriptor>; /** * The minimum deposit required to create a crowdloan. */ MinimumDeposit: PlainDescriptor; /** * The absolute minimum contribution required to contribute to a crowdloan. */ AbsoluteMinimumContribution: PlainDescriptor; /** * The minimum block duration for a crowdloan. */ MinimumBlockDuration: PlainDescriptor; /** * The maximum block duration for a crowdloan. */ MaximumBlockDuration: PlainDescriptor; /** * The maximum number of contributors that can be refunded in a single refund. */ RefundContributorsLimit: PlainDescriptor; /** */ MaxContributors: PlainDescriptor; }; Swap: { /** * This type is used to derive protocol accoun ID. */ ProtocolId: PlainDescriptor>; /** * The maximum fee rate that can be set */ MaxFeeRate: PlainDescriptor; /** * The maximum number of positions a user can have */ MaxPositions: PlainDescriptor; /** * Minimum liquidity that is safe for rounding and integer math. */ MinimumLiquidity: PlainDescriptor; /** * Minimum reserve for tao and alpha */ MinimumReserve: PlainDescriptor; }; Contracts: { /** * Cost schedule and limits. */ Schedule: PlainDescriptor>; /** * The amount of balance a caller has to pay for each byte of storage. * * # Note * * Changing this value for an existing chain might need a storage migration. */ DepositPerByte: PlainDescriptor; /** * Fallback value to limit the storage deposit if it's not being set by the caller. */ DefaultDepositLimit: PlainDescriptor; /** * The amount of balance a caller has to pay for each storage item. * * # Note * * Changing this value for an existing chain might need a storage migration. */ DepositPerItem: PlainDescriptor; /** * The percentage of the storage deposit that should be held for using a code hash. * Instantiating a contract, or calling [`chain_extension::Ext::lock_delegate_dependency`] * protects the code from being removed. In order to prevent abuse these actions are * protected with a percentage of the code deposit. */ CodeHashLockupDepositPercent: PlainDescriptor; /** * The maximum length of a contract code in bytes. * * The value should be chosen carefully taking into the account the overall memory limit * your runtime has, as well as the [maximum allowed callstack * depth](#associatedtype.CallStack). Look into the `integrity_test()` for some insights. */ MaxCodeLen: PlainDescriptor; /** * The maximum allowable length in bytes for storage keys. */ MaxStorageKeyLen: PlainDescriptor; /** * The maximum size of the transient storage in bytes. * This includes keys, values, and previous entries used for storage rollback. */ MaxTransientStorageSize: PlainDescriptor; /** * The maximum number of delegate_dependencies that a contract can lock with * [`chain_extension::Ext::lock_delegate_dependency`]. */ MaxDelegateDependencies: PlainDescriptor; /** * Make contract callable functions marked as `#[unstable]` available. * * Contracts that use `#[unstable]` functions won't be able to be uploaded unless * this is set to `true`. This is only meant for testnets and dev nodes in order to * experiment with new features. * * # Warning * * Do **not** set to `true` on productions chains. */ UnsafeUnstableInterface: PlainDescriptor; /** * The maximum length of the debug buffer in bytes. */ MaxDebugBufferLen: PlainDescriptor; /** * Type that bundles together all the runtime configurable interface types. * * This is not a real config. We just mention the type here as constant so that * its type appears in the metadata. Only valid value is `()`. */ Environment: PlainDescriptor>; /** * The version of the HostFn APIs that are available in the runtime. * * Only valid value is `()`. */ ApiVersion: PlainDescriptor; }; }; type IViewFns = { Proxy: { /** * Check if a `RuntimeCall` is allowed for a given `ProxyType`. */ check_permissions: RuntimeDescriptor<[call: Anonymize, proxy_type: Anonymize], boolean>; /** * Check if one `ProxyType` is a subset of another `ProxyType`. */ is_superset: RuntimeDescriptor<[to_check: Anonymize, against: Anonymize], boolean>; }; }; type IRuntimeCalls = { /** * The `Core` runtime api that every Substrate runtime needs to implement. */ Core: { /** * Returns the version of the runtime. */ version: RuntimeDescriptor<[], Anonymize>; /** * Execute the given block. */ execute_block: RuntimeDescriptor<[block: Anonymize], undefined>; /** * Initialize a block with the given header and return the runtime executive mode. */ initialize_block: RuntimeDescriptor<[header: Anonymize], Anonymize>; }; /** * The `Metadata` api trait that returns metadata for the runtime. */ Metadata: { /** * Returns the metadata of a runtime. */ metadata: RuntimeDescriptor<[], Uint8Array>; /** * Returns the metadata at a given version. * * If the given `version` isn't supported, this will return `None`. * Use [`Self::metadata_versions`] to find out about supported metadata version of the runtime. */ metadata_at_version: RuntimeDescriptor<[version: number], Anonymize>; /** * Returns the supported metadata versions. * * This can be used to call `metadata_at_version`. */ metadata_versions: RuntimeDescriptor<[], Anonymize>; }; /** * The `BlockBuilder` api trait that provides the required functionality for building a block. */ BlockBuilder: { /** * Apply the given extrinsic. * * Returns an inclusion outcome which specifies if this extrinsic is included in * this block or not. */ apply_extrinsic: RuntimeDescriptor<[extrinsic: Uint8Array], Anonymize>; /** * Finish the current block. */ finalize_block: RuntimeDescriptor<[], Anonymize>; /** * Generate inherent extrinsics. The inherent data will vary from chain to chain. */ inherent_extrinsics: RuntimeDescriptor<[inherent: Anonymize], Anonymize>; /** * Check that the inherents are valid. The inherent data will vary from chain to chain. */ check_inherents: RuntimeDescriptor<[block: Anonymize, data: Anonymize], Anonymize>; }; /** * API to interact with `RuntimeGenesisConfig` for the runtime */ GenesisBuilder: { /** * Build `RuntimeGenesisConfig` from a JSON blob not using any defaults and store it in the * storage. * * In the case of a FRAME-based runtime, this function deserializes the full * `RuntimeGenesisConfig` from the given JSON blob and puts it into the storage. If the * provided JSON blob is incorrect or incomplete or the deserialization fails, an error * is returned. * * Please note that provided JSON blob must contain all `RuntimeGenesisConfig` fields, no * defaults will be used. */ build_state: RuntimeDescriptor<[json: Uint8Array], Anonymize>; /** * Returns a JSON blob representation of the built-in `RuntimeGenesisConfig` identified by * `id`. * * If `id` is `None` the function should return JSON blob representation of the default * `RuntimeGenesisConfig` struct of the runtime. Implementation must provide default * `RuntimeGenesisConfig`. * * Otherwise function returns a JSON representation of the built-in, named * `RuntimeGenesisConfig` preset identified by `id`, or `None` if such preset does not * exist. Returned `Vec` contains bytes of JSON blob (patch) which comprises a list of * (potentially nested) key-value pairs that are intended for customizing the default * runtime genesis config. The patch shall be merged (rfc7386) with the JSON representation * of the default `RuntimeGenesisConfig` to create a comprehensive genesis config that can * be used in `build_state` method. */ get_preset: RuntimeDescriptor<[id: Anonymize], Anonymize>; /** * Returns a list of identifiers for available builtin `RuntimeGenesisConfig` presets. * * The presets from the list can be queried with [`GenesisBuilder::get_preset`] method. If * no named presets are provided by the runtime the list is empty. */ preset_names: RuntimeDescriptor<[], Anonymize>; }; /** * The `TaggedTransactionQueue` api trait for interfering with the transaction queue. */ TaggedTransactionQueue: { /** * Validate the transaction. * * This method is invoked by the transaction pool to learn details about given transaction. * The implementation should make sure to verify the correctness of the transaction * against current state. The given `block_hash` corresponds to the hash of the block * that is used as current state. * * Note that this call may be performed by the pool multiple times and transactions * might be verified in any possible order. */ validate_transaction: RuntimeDescriptor<[source: TransactionValidityTransactionSource, tx: Uint8Array, block_hash: SizedHex<32>], Anonymize>; }; /** * The offchain worker api. */ OffchainWorkerApi: { /** * Starts the off-chain task for given block header. */ offchain_worker: RuntimeDescriptor<[header: Anonymize], undefined>; }; /** * API necessary for block authorship with aura. */ AuraApi: { /** * Returns the slot duration for Aura. * * Currently, only the value provided by this type at genesis will be used. */ slot_duration: RuntimeDescriptor<[], bigint>; /** * Return the current set of authorities. */ authorities: RuntimeDescriptor<[], Anonymize>; }; /** * Session keys runtime api. */ SessionKeys: { /** * Generate a set of session keys with optionally using the given seed. * The keys should be stored within the keystore exposed via runtime * externalities. * * The seed needs to be a valid `utf8` string. * * Returns the concatenated SCALE encoded public keys. */ generate_session_keys: RuntimeDescriptor<[seed: Anonymize], Uint8Array>; /** * Decode the given public session keys. * * Returns the list of public raw public keys + key type. */ decode_session_keys: RuntimeDescriptor<[encoded: Uint8Array], Anonymize>; }; /** * APIs for integrating the GRANDPA finality gadget into runtimes. * This should be implemented on the runtime side. * * This is primarily used for negotiating authority-set changes for the * gadget. GRANDPA uses a signaling model of changing authority sets: * changes should be signaled with a delay of N blocks, and then automatically * applied in the runtime after those N blocks have passed. * * The consensus protocol will coordinate the handoff externally. */ GrandpaApi: { /** * Get the current GRANDPA authorities and weights. This should not change except * for when changes are scheduled and the corresponding delay has passed. * * When called at block B, it will return the set of authorities that should be * used to finalize descendants of this block (B+1, B+2, ...). The block B itself * is finalized by the authorities from block B-1. */ grandpa_authorities: RuntimeDescriptor<[], Anonymize>; /** * Submits an unsigned extrinsic to report an equivocation. The caller * must provide the equivocation proof and a key ownership proof * (should be obtained using `generate_key_ownership_proof`). The * extrinsic will be unsigned and should only be accepted for local * authorship (not to be broadcast to the network). This method returns * `None` when creation of the extrinsic fails, e.g. if equivocation * reporting is disabled for the given runtime (i.e. this method is * hardcoded to return `None`). Only useful in an offchain context. */ submit_report_equivocation_unsigned_extrinsic: RuntimeDescriptor<[equivocation_proof: Anonymize, key_owner_proof: Uint8Array], boolean>; /** * Generates a proof of key ownership for the given authority in the * given set. An example usage of this module is coupled with the * session historical module to prove that a given authority key is * tied to a given staking identity during a specific session. Proofs * of key ownership are necessary for submitting equivocation reports. * NOTE: even though the API takes a `set_id` as parameter the current * implementations ignore this parameter and instead rely on this * method being called at the correct block height, i.e. any point at * which the given set id is live on-chain. Future implementations will * instead use indexed data through an offchain worker, not requiring * older states to be available. */ generate_key_ownership_proof: RuntimeDescriptor<[set_id: bigint, authority_id: SizedHex<32>], Anonymize>; /** * Get current GRANDPA authority set id. */ current_set_id: RuntimeDescriptor<[], bigint>; }; /** * The API to query account nonce. */ AccountNonceApi: { /** * Get current account nonce of given `AccountId`. */ account_nonce: RuntimeDescriptor<[account: SS58String], number>; }; /** */ TransactionPaymentApi: { /** */ query_info: RuntimeDescriptor<[uxt: Uint8Array, len: number], Anonymize>; /** */ query_fee_details: RuntimeDescriptor<[uxt: Uint8Array, len: number], Anonymize>; /** */ query_weight_to_fee: RuntimeDescriptor<[weight: Anonymize], bigint>; /** */ query_length_to_fee: RuntimeDescriptor<[length: number], bigint>; }; /** */ TransactionPaymentCallApi: { /** * Query information of a dispatch class, weight, and fee of a given encoded `Call`. */ query_call_info: RuntimeDescriptor<[call: Anonymize, len: number], Anonymize>; /** * Query fee details of a given encoded `Call`. */ query_call_fee_details: RuntimeDescriptor<[call: Anonymize, len: number], Anonymize>; /** * Query the output of the current `WeightToFee` given some input. */ query_weight_to_fee: RuntimeDescriptor<[weight: Anonymize], bigint>; /** * Query the output of the current `LengthToFee` given some input. */ query_length_to_fee: RuntimeDescriptor<[length: number], bigint>; }; /** * API necessary for Ethereum-compatibility layer. */ EthereumRuntimeRPCApi: { /** * Returns runtime defined pallet_evm::ChainId. */ chain_id: RuntimeDescriptor<[], bigint>; /** * Returns pallet_evm::Accounts by address. */ account_basic: RuntimeDescriptor<[address: SizedHex<20>], Anonymize>; /** * Returns FixedGasPrice::min_gas_price */ gas_price: RuntimeDescriptor<[], Anonymize>; /** * For a given account address, returns pallet_evm::AccountCodes. */ account_code_at: RuntimeDescriptor<[address: SizedHex<20>], Uint8Array>; /** * Returns the converted FindAuthor::find_author authority id. */ author: RuntimeDescriptor<[], SizedHex<20>>; /** * For a given account address and index, returns pallet_evm::AccountStorages. */ storage_at: RuntimeDescriptor<[address: SizedHex<20>, index: Anonymize], SizedHex<32>>; /** */ call: RuntimeDescriptor<[from: SizedHex<20>, to: SizedHex<20>, data: Uint8Array, value: Anonymize, gas_limit: Anonymize, max_fee_per_gas: Anonymize, max_priority_fee_per_gas: Anonymize, nonce: Anonymize, estimate: boolean, access_list: Anonymize, authorization_list: Anonymize], Anonymize>; /** */ create: RuntimeDescriptor<[from: SizedHex<20>, data: Uint8Array, value: Anonymize, gas_limit: Anonymize, max_fee_per_gas: Anonymize, max_priority_fee_per_gas: Anonymize, nonce: Anonymize, estimate: boolean, access_list: Anonymize, authorization_list: Anonymize], Anonymize>; /** * Return the current block. */ current_block: RuntimeDescriptor<[], Anonymize>; /** * Return the current receipt. */ current_receipts: RuntimeDescriptor<[], Anonymize>; /** * Return the current transaction status. */ current_transaction_statuses: RuntimeDescriptor<[], Anonymize>; /** */ current_all: RuntimeDescriptor<[], Anonymize>; /** * Receives a `Vec` and filters all the ethereum transactions. */ extrinsic_filter: RuntimeDescriptor<[xts: Anonymize], Anonymize>; /** * Return the elasticity multiplier. */ elasticity: RuntimeDescriptor<[], Anonymize>; /** * Used to determine if gas limit multiplier for non-transactional calls (eth_call/estimateGas) * is supported. */ gas_limit_multiplier_support: RuntimeDescriptor<[], undefined>; /** * Return the pending block. */ pending_block: RuntimeDescriptor<[xts: Anonymize], Anonymize>; /** * Initialize the pending block. * The behavior should be the same as the runtime api Core_initialize_block but * for a "pending" block. * If your project don't need to have a different behavior to initialize "pending" blocks, * you can copy your Core_initialize_block implementation. */ initialize_pending_block: RuntimeDescriptor<[header: Anonymize], undefined>; }; /** */ ConvertTransactionRuntimeApi: { /** */ convert_transaction: RuntimeDescriptor<[transaction: Anonymize], Uint8Array>; }; /** * The API used to dry-run contract interactions. */ ContractsApi: { /** * Perform a call from a specified account to a given contract. * * See [`crate::Pallet::bare_call`]. */ call: RuntimeDescriptor<[origin: SS58String, dest: SS58String, value: bigint, gas_limit: Anonymize, storage_deposit_limit: Anonymize, input_data: Uint8Array], Anonymize>; /** * Instantiate a new contract. * * See `[crate::Pallet::bare_instantiate]`. */ instantiate: RuntimeDescriptor<[origin: SS58String, value: bigint, gas_limit: Anonymize, storage_deposit_limit: Anonymize, code: Anonymize, data: Uint8Array, salt: Uint8Array], Anonymize>; /** * Upload new code without instantiating a contract from it. * * See [`crate::Pallet::bare_upload_code`]. */ upload_code: RuntimeDescriptor<[origin: SS58String, code: Uint8Array, storage_deposit_limit: Anonymize, determinism: Anonymize], Anonymize>; /** * Query a given storage key in a given contract. * * Returns `Ok(Some(Vec))` if the storage value exists under the given key in the * specified account and `Ok(None)` if it doesn't. If the account specified by the address * doesn't exist, or doesn't have a contract then `Err` is returned. */ get_storage: RuntimeDescriptor<[address: SS58String, key: Uint8Array], Anonymize>; }; /** */ DelegateInfoRuntimeApi: { /** */ get_delegates: RuntimeDescriptor<[], Anonymize>; /** */ get_delegate: RuntimeDescriptor<[delegate_account: SS58String], Anonymize>; /** */ get_delegated: RuntimeDescriptor<[delegatee_account: SS58String], Anonymize>; }; /** */ NeuronInfoRuntimeApi: { /** */ get_neurons: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_neuron: RuntimeDescriptor<[netuid: number, uid: number], Anonymize>; /** */ get_neurons_lite: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_neuron_lite: RuntimeDescriptor<[netuid: number, uid: number], Anonymize>; }; /** */ SubnetInfoRuntimeApi: { /** */ get_subnet_info: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_subnets_info: RuntimeDescriptor<[], Anonymize>; /** */ get_subnet_info_v2: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_subnets_info_v2: RuntimeDescriptor<[], Anonymize>; /** */ get_subnet_hyperparams: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_subnet_hyperparams_v2: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_all_dynamic_info: RuntimeDescriptor<[], Anonymize>; /** */ get_all_metagraphs: RuntimeDescriptor<[], Anonymize>; /** */ get_metagraph: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_all_mechagraphs: RuntimeDescriptor<[], Anonymize>; /** */ get_mechagraph: RuntimeDescriptor<[netuid: number, mecid: number], Anonymize>; /** */ get_dynamic_info: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_subnet_state: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_selective_metagraph: RuntimeDescriptor<[netuid: number, metagraph_indexes: Anonymize], Anonymize>; /** */ get_coldkey_auto_stake_hotkey: RuntimeDescriptor<[coldkey: SS58String, netuid: number], Anonymize>; /** */ get_selective_mechagraph: RuntimeDescriptor<[netuid: number, subid: number, metagraph_indexes: Anonymize], Anonymize>; /** */ get_subnet_to_prune: RuntimeDescriptor<[], Anonymize>; /** */ get_subnet_account_id: RuntimeDescriptor<[netuid: number], Anonymize>; /** */ get_subnet_hyperparams_v3: RuntimeDescriptor<[netuid: number], Anonymize>; }; /** */ StakeInfoRuntimeApi: { /** */ get_stake_info_for_coldkey: RuntimeDescriptor<[coldkey_account: SS58String], Anonymize>; /** */ get_stake_info_for_coldkeys: RuntimeDescriptor<[coldkey_accounts: Anonymize], Anonymize>; /** */ get_stake_info_for_hotkey_coldkey_netuid: RuntimeDescriptor<[hotkey_account: SS58String, coldkey_account: SS58String, netuid: number], Anonymize>; /** */ get_stake_fee: RuntimeDescriptor<[origin: Anonymize, origin_coldkey_account: SS58String, destination: Anonymize, destination_coldkey_account: SS58String, amount: bigint], bigint>; /** */ get_coldkey_lock: RuntimeDescriptor<[coldkey: SS58String, netuid: number], Anonymize>; /** */ get_hotkey_conviction: RuntimeDescriptor<[hotkey: SS58String, netuid: number], bigint>; /** */ get_most_convicted_hotkey_on_subnet: RuntimeDescriptor<[netuid: number], Anonymize>; }; /** */ SubnetRegistrationRuntimeApi: { /** */ get_network_registration_cost: RuntimeDescriptor<[], bigint>; }; /** */ ProxyFilterRuntimeApi: { /** */ get_proxy_types: RuntimeDescriptor<[], Anonymize>; /** */ get_proxy_filter: RuntimeDescriptor<[proxy_type: Anonymize], Anonymize>; }; /** * API necessary for block authorship with BABE. */ BabeApi: { /** * Return the configuration for BABE. */ configuration: RuntimeDescriptor<[], Anonymize>; /** * Returns the slot that started the current epoch. */ current_epoch_start: RuntimeDescriptor<[], bigint>; /** * Returns information regarding the current epoch. */ current_epoch: RuntimeDescriptor<[], Anonymize>; /** * Returns information regarding the next epoch (which was already * previously announced). */ next_epoch: RuntimeDescriptor<[], Anonymize>; /** * Generates a proof of key ownership for the given authority in the * current epoch. An example usage of this module is coupled with the * session historical module to prove that a given authority key is * tied to a given staking identity during a specific session. Proofs * of key ownership are necessary for submitting equivocation reports. * NOTE: even though the API takes a `slot` as parameter the current * implementations ignores this parameter and instead relies on this * method being called at the correct block height, i.e. any point at * which the epoch for the given slot is live on-chain. Future * implementations will instead use indexed data through an offchain * worker, not requiring older states to be available. */ generate_key_ownership_proof: RuntimeDescriptor<[slot: bigint, authority_id: SizedHex<32>], Anonymize>; /** * Submits an unsigned extrinsic to report an equivocation. The caller * must provide the equivocation proof and a key ownership proof * (should be obtained using `generate_key_ownership_proof`). The * extrinsic will be unsigned and should only be accepted for local * authorship (not to be broadcast to the network). This method returns * `None` when creation of the extrinsic fails, e.g. if equivocation * reporting is disabled for the given runtime (i.e. this method is * hardcoded to return `None`). Only useful in an offchain context. */ submit_report_equivocation_unsigned_extrinsic: RuntimeDescriptor<[equivocation_proof: Anonymize, key_owner_proof: Uint8Array], boolean>; }; /** */ SwapRuntimeApi: { /** */ current_alpha_price: RuntimeDescriptor<[netuid: number], bigint>; /** */ current_alpha_price_all: RuntimeDescriptor<[], Anonymize>; /** */ sim_swap_tao_for_alpha: RuntimeDescriptor<[netuid: number, tao: bigint], Anonymize>; /** */ sim_swap_alpha_for_tao: RuntimeDescriptor<[netuid: number, alpha: bigint], Anonymize>; }; /** */ ShieldApi: { /** * Try to decode a shielded transaction from an extrinsic. */ try_decode_shielded_tx: RuntimeDescriptor<[uxt: Uint8Array], Anonymize>; /** * Check if a transaction is shielded using the current key. */ is_shielded_using_current_key: RuntimeDescriptor<[key_hash: SizedHex<16>], boolean>; /** * Try to unshield a transaction using a decapsulation key. */ try_unshield_tx: RuntimeDescriptor<[dec_key_bytes: Uint8Array, shielded_tx: Anonymize], Anonymize>; }; }; type IAsset = PlainDescriptor; type BittensorExtensions = {}; type PalletsTypedef = { __storage: IStorage; __tx: ICalls; __event: IEvent; __error: IError; __const: IConstants; __view: IViewFns; }; type Bittensor = { descriptors: { pallets: PalletsTypedef; apis: IRuntimeCalls; } & Promise; metadataTypes: Promise; asset: IAsset; extensions: BittensorExtensions; getMetadata: () => Promise; genesis: string | undefined; }; declare const _allDescriptors: Bittensor; //#endregion //#region src/modules/substrate-dtao/types.d.ts declare const SubDTaoTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; netuid: z.ZodNumber; }, z.core.$strict>; type SubDTaoTokenConfig = z.infer; type SubDTaoBalanceMeta = { convictionLock?: SubDTaoConvictionLockMeta; }; type SubDTaoConvictionLockType = "decaying" | "perpetual"; type SubDTaoConvictionLockMeta = { type: "conviction-lock"; hotkey: string; lockType: SubDTaoConvictionLockType; }; type SubDTaoBalance = { address: string; tokenId: string; baseTokenId: string; stake: bigint; pendingRootClaim?: bigint; convictionLock?: SubDTaoConvictionLock; hotkey: string; netuid: number; }; type SubDTaoConvictionLock = { amount: bigint; hotkey: string; lockType: SubDTaoConvictionLockType; convictionRaw: string; }; type GetStakeInfosResult = (typeof _allDescriptors)["descriptors"]["apis"]["StakeInfoRuntimeApi"]["get_stake_info_for_coldkeys"][1]; /** * `undefined` when the coldkey has no lock on the subnet; `null` is our own fetch-failure marker. * `conviction` is the raw U64F64 fixed-point value (shift right by 64 bits for the integer part), * despite decoding as a plain bigint. */ type GetColdkeyLockResult = (typeof _allDescriptors)["descriptors"]["apis"]["StakeInfoRuntimeApi"]["get_coldkey_lock"][1] | null; //#endregion //#region src/modules/substrate-dtao/convictionLocks.d.ts declare const getConvictionLockLabel: (lockType: SubDTaoConvictionLockType) => string; type DTaoConvictionLockInfo = { amount: bigint; /** the hotkey the lock is keyed on: required to top-up (the chain rejects a different hotkey) */ hotkey: string; lockType: SubDTaoConvictionLockType; label: string; }; type BalanceLockLike = { amount: { planck: bigint; }; meta?: unknown; }; /** * Extracts the dtao conviction lock from a Balance locks array (Balance#locks), if any. * The locked amount cannot be unstaked until the lock decays (or ever, if perpetual); * transferring it is allowed but moves the lock and its conviction to the recipient. */ declare const findDTaoConvictionLock: (locks: BalanceLockLike[] | null | undefined) => DTaoConvictionLockInfo | null; //#endregion //#region src/modules/substrate-dtao/config.d.ts declare const MODULE_TYPE$5: "substrate-dtao"; type TokenConfig = z.infer; //#endregion //#region src/modules/substrate-dtao/module.d.ts declare const SubDTaoBalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-foreignassets/types.d.ts declare const SubForeignAssetsTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; onChainId: z.ZodString; }, z.core.$strict>; type SubForeignAssetsTokenConfig = z.infer; //#endregion //#region src/modules/substrate-foreignassets/config.d.ts declare const MODULE_TYPE$4: "substrate-foreignassets"; //#endregion //#region src/modules/substrate-foreignassets/module.d.ts declare const SubForeignAssetsBalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-hydration/types.d.ts declare const SubHydrationTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; onChainId: z.ZodUInt32; }, z.core.$strict>; type SubHydrationTokenConfig = z.infer; //#endregion //#region src/modules/substrate-hydration/config.d.ts declare const MODULE_TYPE$3: "substrate-hydration"; //#endregion //#region src/modules/substrate-hydration/module.d.ts declare const SubHydrationBalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-native/types.d.ts declare const SubNativeTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; }, z.core.$strict>; type SubNativeTokenConfig = z.infer; declare const SubNativeModuleConfigSchema: z.ZodObject<{ disable: z.ZodOptional; }, z.core.$strict>; type SubNativeModuleConfig = z.infer; declare const SubNativeMiniMetadataExtraSchema: z.ZodObject<{ disable: z.ZodOptional; useLegacyTransferableCalculation: z.ZodOptional; existentialDeposit: z.ZodOptional; nominationPoolsPalletId: z.ZodOptional; }, z.core.$strict>; type SubNativeMiniMetadataExtra = z.infer; //#endregion //#region src/modules/substrate-native/config.d.ts declare const MODULE_TYPE$2: "substrate-native"; //#endregion //#region src/modules/substrate-native/module.d.ts declare const SubNativeBalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-native/util/lockTypes.d.ts type BalanceLockType = "reserved" | "democracy" | "crowdloan" | "staking" | "nompools-staking" | "nompools-unbonding" | "subtensor-staking" | "vesting" | "dapp-staking" | `other-${string}` | "other"; /** * For converting the value of `lock?.id?.toUtf8?.()` which is retrieved from * the Balances.Locks storage key into a useful classification for our UI */ declare const getLockedType: (input?: string) => BalanceLockType; declare const filterBaseLocks: (locks: Array, "amount"> & { amount: BalanceFormatter; }>) => (Omit, "amount"> & { amount: BalanceFormatter; })[]; declare const getLockTitle: (lock: Pick, "label" | "meta">, { balance }?: { balance?: Balance; }) => string; //#endregion //#region src/modules/substrate-psp22/types.d.ts declare const SubPsp22TokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; decimals: z.ZodOptional; symbol: z.ZodOptional; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; contractAddress: z.ZodString; }, z.core.$strict>; type SubPsp22TokenConfig = z.infer; //#endregion //#region src/modules/substrate-psp22/config.d.ts declare const MODULE_TYPE$1: "substrate-psp22"; //#endregion //#region src/modules/substrate-psp22/module.d.ts declare const SubPsp22BalanceModule: IBalanceModule; //#endregion //#region src/modules/substrate-tokens/types.d.ts declare const SubTokensTokenConfigSchema: z.ZodObject<{ networkId: z.ZodOptional; isDefault: z.ZodOptional>; name: z.ZodOptional>; logo: z.ZodOptional>; coingeckoId: z.ZodOptional>; noDiscovery: z.ZodOptional>; mirrorOf: z.ZodOptional>; onChainId: z.ZodUnion; symbol: z.ZodString; decimals: z.ZodNumber; existentialDeposit: z.ZodString; }, z.core.$strict>; type SubTokensTokenConfig = z.infer; declare const SubTokensModuleConfigSchema: z.ZodObject<{ palletId: z.ZodOptional; }, z.core.$strict>; type SubTokensModuleConfig = z.infer; declare const SubTokensMiniMetadataExtraSchema: z.ZodObject<{ palletId: z.ZodString; }, z.core.$strict>; type SubTokensMiniMetadataExtra = z.infer; //#endregion //#region src/modules/substrate-tokens/config.d.ts declare const MODULE_TYPE: "substrate-tokens"; //#endregion //#region src/modules/substrate-tokens/module.d.ts declare const SubTokensBalanceModule: IBalanceModule; //#endregion //#region src/modules/index.d.ts declare const BALANCE_MODULES: (IBalanceModule<"evm-erc20", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; contractAddress: `0x${string}`; }, unknown, unknown> | IBalanceModule<"evm-native", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; }, unknown, unknown> | IBalanceModule<"evm-uniswapv2", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; contractAddress: `0x${string}`; }, unknown, unknown> | IBalanceModule<"sol-native", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; }, unknown, unknown> | IBalanceModule<"sol-spl", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; mintAddress: string; }, unknown, unknown> | IBalanceModule<"sol-token2022", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; mintAddress: string; }, unknown, unknown> | IBalanceModule<"substrate-assets", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; assetId: string; }, unknown, unknown> | IBalanceModule<"substrate-dtao", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; netuid: number; }, unknown, unknown> | IBalanceModule<"substrate-foreignassets", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; onChainId: string; }, unknown, unknown> | IBalanceModule<"substrate-hydration", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; onChainId: number; }, unknown, unknown> | IBalanceModule<"substrate-native", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; }, { disable?: boolean | undefined; }, { disable?: boolean | undefined; useLegacyTransferableCalculation?: boolean | undefined; existentialDeposit?: string | undefined; nominationPoolsPalletId?: string | undefined; }> | IBalanceModule<"substrate-psp22", { networkId?: string | undefined; isDefault?: boolean | undefined; decimals?: number | undefined; symbol?: string | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; contractAddress: string; }, unknown, unknown> | IBalanceModule<"substrate-tokens", { networkId?: string | undefined; isDefault?: boolean | undefined; name?: string | undefined; logo?: string | undefined; coingeckoId?: string | undefined; noDiscovery?: boolean | undefined; mirrorOf?: string | undefined; onChainId: string | number; symbol: string; decimals: number; existentialDeposit: string; }, { palletId?: string | undefined; }, { palletId: string; }>)[]; type AnyBalanceModule = (typeof BALANCE_MODULES)[number]; //#endregion export { ALPHA_PRICE_SCALE, Address, Amount, AmountWithLabel, AnyBalanceModule, BALANCE_MODULES, Balance, BalanceFormatter, BalanceJson, BalanceJsonList, BalanceLockType, BalanceSearchQuery, BalanceSource, BalanceStatus, BalanceStatusTypes, BalanceTransferType, BalanceValueGetter, Balances, BalancesProvider, BalancesResult, BalancesStorage, ChainConnectors, Change24hCurrencyFormatter, type DTaoConvictionLockInfo, EvmErc20BalanceModule, EvmErc20TokenConfig, EvmErc20TokenConfigSchema, EvmNativeBalanceModule, EvmNativeTokenConfig, EvmNativeTokenConfigSchema, EvmUniswapV2BalanceModule, EvmUniswapV2TokenConfig, EvmUniswapV2TokenConfigSchema, ExtraAmount, FetchBalanceErrors, FetchBalanceResults, FiatSumBalancesFormatter, GetColdkeyLockResult, GetStakeInfosResult, HydrateDb, IBalance, IBalanceModule, LockedAmount, MINIMETADATA_VERSION, MiniMetadata, NarrowBalanceType, PlanckSumBalancesFormatter, PlatformConnector, SolNativeBalanceModule, SolNativeTokenConfig, SolNativeTokenConfigSchema, SolSplBalanceModule, SolSplTokenConfig, SolSplTokenConfigSchema, SolToken2022BalanceModule, SolToken2022TokenConfig, SolToken2022TokenConfigSchema, SubAssetsBalanceModule, SubAssetsTokenConfig, SubAssetsTokenConfigSchema, SubDTaoBalance, SubDTaoBalanceMeta, SubDTaoBalanceModule, SubDTaoConvictionLock, SubDTaoConvictionLockMeta, SubDTaoConvictionLockType, SubDTaoTokenConfig, SubDTaoTokenConfigSchema, SubForeignAssetsBalanceModule, SubForeignAssetsTokenConfig, SubForeignAssetsTokenConfigSchema, SubHydrationBalanceModule, SubHydrationTokenConfig, SubHydrationTokenConfigSchema, SubNativeBalanceModule, SubNativeMiniMetadataExtra, SubNativeMiniMetadataExtraSchema, SubNativeModuleConfig, SubNativeModuleConfigSchema, SubNativeTokenConfig, SubNativeTokenConfigSchema, SubPsp22BalanceModule, SubPsp22TokenConfig, SubPsp22TokenConfigSchema, SubTokensBalanceModule, SubTokensMiniMetadataExtra, SubTokensMiniMetadataExtraSchema, SubTokensModuleConfig, SubTokensModuleConfigSchema, SubTokensTokenConfig, SubTokensTokenConfigSchema, SubscriptionCallback, SumBalancesFormatter, TAO_DECIMALS, TokenPlatform, TokensWithAddresses, UnsubscribeFn, abiMulticall, alphaToTao, calculateToken2022TransferFee, deriveMiniMetadataId, erc20BalancesAggregatorAbi, excludeFromFeePayableLocks, excludeFromTransferableAmount, filterBaseLocks, filterMirrorTokens, findDTaoConvictionLock, getBalanceFingerprint, getBalanceId, getBalanceStorageFingerprint, getConvictionLockLabel, getEpochTransferFee, getExtension, getLockTitle, getLockedType, getMintExtensions, getRawLocks, getRawTotalPlanck, getSweepStaleVariant, getTokenMetadata, getTransferFeeConfig, getTransferHook, getValueId, includeInTotalExtraAmount, isEqualBalanceArrays, isEqualBalancesResult, isEqualMiniMetadatas, isEqualModuleResults, isNonTransferable, taoToAlpha, taoToAlphaCeil, uniswapV2PairAbi }; //# sourceMappingURL=index.d.ts.map