From 68662553c987a98c6669bada54c67783cf13c0dd Mon Sep 17 00:00:00 2001 From: Zhichao Zhang Date: Wed, 16 Jun 2021 11:20:10 +0800 Subject: [PATCH 1/4] feat: add alliance types and derive --- packages/api-derive/src/alliance/index.ts | 4 + packages/api-derive/src/alliance/proposals.ts | 18 + .../api-derive/src/collective/proposals.ts | 2 +- packages/api-derive/src/index.ts | 4 +- packages/api/src/augment/consts.ts | 60 +- packages/api/src/augment/errors.ts | 82 +- packages/api/src/augment/events.ts | 89 +- packages/api/src/augment/query.ts | 191 +- packages/api/src/augment/tx.ts | 1877 +++++++++-------- packages/types/src/augment/registry.ts | 20 + .../src/interfaces/alliance/definitions.ts | 27 + .../types/src/interfaces/alliance/index.ts | 4 + .../types/src/interfaces/alliance/types.ts | 25 + .../types/src/interfaces/cid/definitions.ts | 29 + packages/types/src/interfaces/cid/index.ts | 4 + packages/types/src/interfaces/cid/types.ts | 26 + packages/types/src/interfaces/definitions.ts | 2 + packages/types/src/interfaces/types.ts | 2 + 18 files changed, 1530 insertions(+), 936 deletions(-) create mode 100644 packages/api-derive/src/alliance/index.ts create mode 100644 packages/api-derive/src/alliance/proposals.ts create mode 100644 packages/types/src/interfaces/alliance/definitions.ts create mode 100644 packages/types/src/interfaces/alliance/index.ts create mode 100644 packages/types/src/interfaces/alliance/types.ts create mode 100644 packages/types/src/interfaces/cid/definitions.ts create mode 100644 packages/types/src/interfaces/cid/index.ts create mode 100644 packages/types/src/interfaces/cid/types.ts diff --git a/packages/api-derive/src/alliance/index.ts b/packages/api-derive/src/alliance/index.ts new file mode 100644 index 000000000000..c927b748a970 --- /dev/null +++ b/packages/api-derive/src/alliance/index.ts @@ -0,0 +1,4 @@ +// Copyright 2017-2021 @polkadot/api-derive authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +export * from './proposals'; diff --git a/packages/api-derive/src/alliance/proposals.ts b/packages/api-derive/src/alliance/proposals.ts new file mode 100644 index 000000000000..9edaf052320e --- /dev/null +++ b/packages/api-derive/src/alliance/proposals.ts @@ -0,0 +1,18 @@ +// Copyright 2017-2021 @polkadot/api-derive authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +import type { ApiInterfaceRx } from '@polkadot/api/types'; +import type { Hash } from '@polkadot/types/interfaces'; +import type { Observable } from '@polkadot/x-rxjs'; +import type { DeriveCollectiveProposal } from '../types'; + +import { proposal as collectiveProposal, proposals as collectiveProposals } from '../collective'; +import { memo } from '../util'; + +export function proposal (instanceId: string, api: ApiInterfaceRx): (hash: Hash | Uint8Array | string) => Observable { + return memo(instanceId, collectiveProposal(instanceId, api, 'allianceMotion')); +} + +export function proposals (instanceId: string, api: ApiInterfaceRx): () => Observable { + return memo(instanceId, collectiveProposals(instanceId, api, 'allianceMotion')); +} diff --git a/packages/api-derive/src/collective/proposals.ts b/packages/api-derive/src/collective/proposals.ts index b0e826e1ac9d..20abd1146343 100644 --- a/packages/api-derive/src/collective/proposals.ts +++ b/packages/api-derive/src/collective/proposals.ts @@ -13,7 +13,7 @@ import { catchError, map, switchMap } from '@polkadot/x-rxjs/operators'; import { memo } from '../util'; -type Collective = 'council' | 'membership' | 'technicalCommittee'; +type Collective = 'council' | 'membership' | 'technicalCommittee' | 'allianceMotion'; type Result = [(Hash | Uint8Array | string)[], (Option | null)[], Option[]]; diff --git a/packages/api-derive/src/index.ts b/packages/api-derive/src/index.ts index a3622904d3bf..b5e5f2e90aea 100644 --- a/packages/api-derive/src/index.ts +++ b/packages/api-derive/src/index.ts @@ -8,6 +8,7 @@ import type { AnyFunction } from '@polkadot/types/types'; import type { Observable } from '@polkadot/x-rxjs'; import * as accounts from './accounts'; +import * as alliance from './alliance'; import * as balances from './balances'; import * as bounties from './bounties'; import * as chain from './chain'; @@ -28,7 +29,7 @@ import * as tx from './tx'; export { packageInfo } from './packageInfo'; export * from './type'; -export const derive = { accounts, balances, bounties, chain, contracts, council, democracy, elections, imOnline, membership, parachains, session, society, staking, technicalCommittee, treasury, tx }; +export const derive = { accounts, alliance, balances, bounties, chain, contracts, council, democracy, elections, imOnline, membership, parachains, session, society, staking, technicalCommittee, treasury, tx }; type DeriveSection
= { [Method in keyof Section]: Section[Method] extends AnyFunction @@ -45,6 +46,7 @@ export type ExactDerive = DeriveAllSections; // Enable derive only if some of these modules are available const deriveAvail: Record = { + alliance: ['allianceMotion'], contracts: ['contracts'], council: ['council'], democracy: ['democracy'], diff --git a/packages/api/src/augment/consts.ts b/packages/api/src/augment/consts.ts index 8d55ec65b8d6..96a4291a81c0 100644 --- a/packages/api/src/augment/consts.ts +++ b/packages/api/src/augment/consts.ts @@ -14,6 +14,16 @@ import type { ApiTypes } from '@polkadot/api/types'; declare module '@polkadot/api/types/consts' { export interface AugmentedConsts { + alliance: { + /** + * The minimum amount of a deposit required for submit candidacy. + **/ + candidateDeposit: BalanceOf & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; babe: { /** * The amount of time, in slots, that each epoch should last. @@ -89,18 +99,18 @@ declare module '@polkadot/api/types/consts' { deletionWeightLimit: Weight & AugmentedConst; /** * The balance every contract needs to deposit to stay alive indefinitely. - * + * * This is different from the [`Self::TombstoneDeposit`] because this only needs to be * deposited while the contract is alive. Costs for additional storage are added to * this base cost. - * + * * This is a simple way to ensure that contracts with empty storage eventually get deleted by * making them pay rent. This creates an incentive to remove them early in order to save rent. **/ depositPerContract: BalanceOf & AugmentedConst; /** * The balance a contract needs to deposit per storage byte to stay alive indefinitely. - * + * * Let's suppose the deposit is 1,000 BU (balance units)/byte and the rent is 1 BU/byte/day, * then a contract with 1,000,000 BU that uses 1,000 bytes of storage would pay no rent. * But if the balance reduced to 500,000 BU and the storage stayed the same at 1,000, @@ -109,13 +119,13 @@ declare module '@polkadot/api/types/consts' { depositPerStorageByte: BalanceOf & AugmentedConst; /** * The balance a contract needs to deposit per storage item to stay alive indefinitely. - * + * * It works the same as [`Self::DepositPerStorageByte`] but for storage items. **/ depositPerStorageItem: BalanceOf & AugmentedConst; /** * The fraction of the deposit that should be used as rent per block. - * + * * When a contract hasn't enough balance deposited to stay alive indefinitely it needs * to pay per block for the storage it consumes that is not covered by the deposit. * This determines how high this rent payment is per block as a fraction of the deposit. @@ -127,7 +137,7 @@ declare module '@polkadot/api/types/consts' { schedule: Schedule & AugmentedConst; /** * Number of block delay an extrinsic claim surcharge has. - * + * * When claim surcharge is called by an extrinsic the rent is checked * for current_block - delay **/ @@ -153,7 +163,7 @@ declare module '@polkadot/api/types/consts' { cooloffPeriod: BlockNumber & AugmentedConst; /** * The minimum period of locking and the period between a proposal being approved and enacted. - * + * * It should generally be a little more than the unstake period to ensure that * voting stakers have an opportunity to remove themselves from the system in the case where * they are on the losing side of a vote. @@ -169,7 +179,7 @@ declare module '@polkadot/api/types/consts' { launchPeriod: BlockNumber & AugmentedConst; /** * The maximum number of votes for an account. - * + * * Also used to compute weight, an overly big value can * lead to extrinsic with very big weight: see `delegate` for instance. **/ @@ -194,7 +204,7 @@ declare module '@polkadot/api/types/consts' { electionProviderMultiPhase: { /** * The repeat threshold of the offchain worker. - * + * * For example, if it is 5, that means that at least 5 blocks will elapse between attempts * to submit the worker's solution. **/ @@ -242,7 +252,7 @@ declare module '@polkadot/api/types/consts' { termDuration: BlockNumber & AugmentedConst; /** * Base deposit associated with voting. - * + * * This should be sensibly high to economically ensure the pallet cannot be attacked by * creating a gigantic number of votes. **/ @@ -259,14 +269,14 @@ declare module '@polkadot/api/types/consts' { gilt: { /** * Portion of the queue which is free from ordering and just a FIFO. - * + * * Must be no greater than `MaxQueueLen`. **/ fifoQueueLen: u32 & AugmentedConst; /** * The number of blocks between consecutive attempts to issue more gilts in an effort to * get to the target amount to be frozen. - * + * * A larger value results in fewer storage hits each block, but a slower period to get to * the target. **/ @@ -285,7 +295,7 @@ declare module '@polkadot/api/types/consts' { * The minimum amount of funds that may be offered to freeze for a gilt. Note that this * does not actually limit the amount which may be frozen in a gilt since gilts may be * split up in order to satisfy the desired amount of funds under gilts. - * + * * It should be at least big enough to ensure that there is no possible storage spam attack * or queue-filling attack. **/ @@ -367,7 +377,7 @@ declare module '@polkadot/api/types/consts' { /** * 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. @@ -375,7 +385,7 @@ declare module '@polkadot/api/types/consts' { depositBase: BalanceOf & AugmentedConst; /** * 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: BalanceOf & AugmentedConst; @@ -391,13 +401,13 @@ declare module '@polkadot/api/types/consts' { proxy: { /** * 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: BalanceOf & AugmentedConst; /** * 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. **/ @@ -412,14 +422,14 @@ declare module '@polkadot/api/types/consts' { maxProxies: u32 & AugmentedConst; /** * 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: BalanceOf & AugmentedConst; /** * 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. @@ -433,14 +443,14 @@ declare module '@polkadot/api/types/consts' { recovery: { /** * The base amount of currency needed to reserve for creating a recovery configuration. - * + * * This is held for an additional storage item whose value size is * `2 + sizeof(BlockNumber, Balance)` bytes. **/ configDepositBase: BalanceOf & AugmentedConst; /** * The amount of currency needed per additional user when creating a recovery configuration. - * + * * This is held for adding `sizeof(AccountId)` bytes more into a pre-existing storage value. **/ friendDepositFactor: BalanceOf & AugmentedConst; @@ -450,7 +460,7 @@ declare module '@polkadot/api/types/consts' { maxFriends: u16 & AugmentedConst; /** * The base amount of currency needed to reserve for starting a recovery. - * + * * This is primarily held for deterring malicious recovery attempts, and should * have a value large enough that a bad actor would choose not to place this * deposit. It also acts to fund additional storage item whose value size is @@ -511,7 +521,7 @@ declare module '@polkadot/api/types/consts' { maxNominations: u32 & AugmentedConst; /** * The maximum number of nominators rewarded for each validator. - * + * * For each validator only the `$MaxNominatorRewardedPerValidator` biggest stakers can claim * their reward. This used to limit the i/o cost for the nominator payout. **/ @@ -522,7 +532,7 @@ declare module '@polkadot/api/types/consts' { sessionsPerEra: SessionIndex & AugmentedConst; /** * Number of eras that slashes are deferred by, after computation. - * + * * This should be less than the bonding duration. Set to 0 if slashes * should be applied immediately, without opportunity for intervention. **/ @@ -551,7 +561,7 @@ declare module '@polkadot/api/types/consts' { dbWeight: RuntimeDbWeight & AugmentedConst; /** * The designated SS85 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. diff --git a/packages/api/src/augment/errors.ts b/packages/api/src/augment/errors.ts index 67e519fd6978..d61e9cceffb7 100644 --- a/packages/api/src/augment/errors.ts +++ b/packages/api/src/augment/errors.ts @@ -5,6 +5,74 @@ import type { ApiTypes } from '@polkadot/api/types'; declare module '@polkadot/api/types/errors' { export interface AugmentedErrors { + alliance: { + AlreadyCandidate: AugmentedError; + AlreadyElevated: AugmentedError; + AlreadyInBlacklist: AugmentedError; + AlreadyMember: AugmentedError; + FoundersAlreadyInitialized: AugmentedError; + InsufficientCandidateFunds: AugmentedError; + KickingMember: AugmentedError; + MissingProposalHash: AugmentedError; + NoIdentity: AugmentedError; + NotAlly: AugmentedError; + NotCandidate: AugmentedError; + NotFounder: AugmentedError; + NotInBlacklist: AugmentedError; + NotMember: AugmentedError; + NotVetoableProposal: AugmentedError; + NotVotableMember: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; + allianceMotion: { + /** + * Members are already initialized! + **/ + AlreadyInitialized: AugmentedError; + /** + * Duplicate proposals not allowed + **/ + DuplicateProposal: AugmentedError; + /** + * Duplicate vote ignored + **/ + DuplicateVote: AugmentedError; + /** + * Account is not a member + **/ + NotMember: AugmentedError; + /** + * Proposal must exist + **/ + ProposalMissing: AugmentedError; + /** + * The close call was made too early, before the end of the voting. + **/ + TooEarly: AugmentedError; + /** + * There can only be a maximum of `MaxProposals` active proposals. + **/ + TooManyProposals: AugmentedError; + /** + * Mismatched index + **/ + WrongIndex: AugmentedError; + /** + * The given length bound for the proposal was too low. + **/ + WrongProposalLength: AugmentedError; + /** + * The given weight bound for the proposal was too low. + **/ + WrongProposalWeight: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; assets: { /** * Invalid metadata given. @@ -211,14 +279,14 @@ declare module '@polkadot/api/types/errors' { CodeTooLarge: AugmentedError; /** * A tombstone exist at the specified address. - * + * * Tombstone cannot be called. Anyone can use `seal_restore_to` in order to revive * the contract, though. **/ ContractIsTombstone: AugmentedError; /** * A contract could not be evicted because it has enough balance to pay rent. - * + * * This can be returned from [`Pallet::claim_surcharge`] because the target * contract has enough balance to pay for its rent. **/ @@ -241,7 +309,7 @@ declare module '@polkadot/api/types/errors' { DecodingFailed: AugmentedError; /** * Removal of a contract failed because the deletion queue is full. - * + * * This can happen when either calling [`Pallet::claim_surcharge`] or `seal_terminate`. * The queue is filled by deleting contracts and emptied by a fixed amount each block. * Trying again during another block is the only way to resolve this issue. @@ -321,7 +389,7 @@ declare module '@polkadot/api/types/errors' { ReentranceDenied: AugmentedError; /** * The called contract does not have enough balance to pay for its storage. - * + * * The contract ran out of balance and is therefore eligible for eviction into a * tombstone. Anyone can evict the contract by submitting a `claim_surcharge` * extrinsic. Alternatively, a plain balance transfer can be used in order to @@ -330,14 +398,14 @@ declare module '@polkadot/api/types/errors' { RentNotPaid: AugmentedError; /** * A storage modification exhausted the 32bit type that holds the storage size. - * + * * This can either happen when the accumulated storage in bytes is too large or * when number of storage items is too large. **/ StorageExhausted: AugmentedError; /** * A contract self destructed in its constructor. - * + * * This can be triggered by a call to `seal_terminate` or `seal_restore_to`. **/ TerminatedInConstructor: AugmentedError; @@ -1260,7 +1328,7 @@ declare module '@polkadot/api/types/errors' { system: { /** * Failed to extract the runtime version from the new runtime. - * + * * Either calling `Core_version` or decoding `RuntimeVersion` failed. **/ FailedToExtractRuntimeVersion: AugmentedError; diff --git a/packages/api/src/augment/events.ts b/packages/api/src/augment/events.ts index ea6975cedb28..2c67971a1b06 100644 --- a/packages/api/src/augment/events.ts +++ b/packages/api/src/augment/events.ts @@ -24,9 +24,70 @@ import type { BountyIndex } from '@polkadot/types/interfaces/treasury'; import type { ClassId, InstanceId } from '@polkadot/types/interfaces/uniques'; import type { Timepoint } from '@polkadot/types/interfaces/utility'; import type { ApiTypes } from '@polkadot/api/types'; +import { Cid, UserIdentity } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/events' { export interface AugmentedEvents { + alliance: { + AllyElevated: AugmentedEvent; + BlacklistAdded: AugmentedEvent]>; + BlacklistRemoved: AugmentedEvent]>; + CandidateAdded: AugmentedEvent, Option]>; + CandidateApproved: AugmentedEvent; + CandidateRejected: AugmentedEvent; + FoundersInitialized: AugmentedEvent]>; + MemberKicked: AugmentedEvent; + MemberRetired: AugmentedEvent; + NewAnnouncement: AugmentedEvent; + NewRule: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; + allianceMotion: { + /** + * A motion was approved by the required threshold. + * \[proposal_hash\] + **/ + Approved: AugmentedEvent; + /** + * A proposal was closed because its threshold was reached or after its duration was up. + * \[proposal_hash, yes, no\] + **/ + Closed: AugmentedEvent; + /** + * A motion was not approved by the required threshold. + * \[proposal_hash\] + **/ + Disapproved: AugmentedEvent; + /** + * A motion was executed; result will be `Ok` if it returned without error. + * \[proposal_hash, result\] + **/ + Executed: AugmentedEvent; + /** + * A single member did some action; result will be `Ok` if it returned without error. + * \[proposal_hash, result\] + **/ + MemberExecuted: AugmentedEvent; + /** + * A motion (given hash) has been proposed (by given account) with a threshold (given + * `MemberCount`). + * \[account, proposal_index, proposal_hash, threshold\] + **/ + Proposed: AugmentedEvent; + /** + * A motion (given hash) has been voted on by given account, leaving + * a tally (yes votes and no votes given respectively as `MemberCount`). + * \[account, proposal_hash, voted, yes, no\] + **/ + Voted: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; assets: { /** * An approval for account `delegate` was cancelled by `owner`. @@ -189,7 +250,7 @@ declare module '@polkadot/api/types/events' { /** * A code with the specified hash was removed. * \[code_hash\] - * + * * This happens when the last contract that uses this code hash was removed or evicted. **/ CodeRemoved: AugmentedEvent; @@ -200,9 +261,9 @@ declare module '@polkadot/api/types/events' { /** * A custom event emitted by the contract. * \[contract, data\] - * + * * # Params - * + * * - `contract`: The contract that emitted the event. * - `data`: Data supplied by the contract. Metadata generated during contract * compilation is needed to decode it. @@ -219,9 +280,9 @@ declare module '@polkadot/api/types/events' { /** * Restoration of a contract has been successful. * \[restorer, dest, code_hash, rent_allowance\] - * + * * # Params - * + * * - `restorer`: Account ID of the restoring contract. * - `dest`: Account ID of the restored contract. * - `code_hash`: Code hash of the restored contract. @@ -231,23 +292,23 @@ declare module '@polkadot/api/types/events' { /** * Triggered when the current schedule is updated. * \[version\] - * + * * # Params - * + * * - `version`: The version of the newly set schedule. **/ ScheduleUpdated: AugmentedEvent; /** * Contract has been terminated without leaving a tombstone. * \[contract, beneficiary\] - * + * * # Params - * + * * - `contract`: The contract that was terminated. * - `beneficiary`: The account that received the contracts remaining balance. - * + * * # Note - * + * * The only way for a contract to be removed without a tombstone and emitting * this event is by calling `seal_terminate`. **/ @@ -402,7 +463,7 @@ declare module '@polkadot/api/types/events' { Slashed: AugmentedEvent; /** * A solution was stored with the given compute. - * + * * If the solution is signed, this means that it hasn't yet been processed. If the * solution is unsigned, this means that it has also been processed. **/ @@ -420,7 +481,7 @@ declare module '@polkadot/api/types/events' { /** * A \[candidate\] was slashed by \[amount\] due to failing to obtain a seat as member or * runner-up. - * + * * Note that old members and runners-up are also candidates. **/ CandidateSlashed: AugmentedEvent; @@ -802,7 +863,7 @@ declare module '@polkadot/api/types/events' { staking: { /** * An account has bonded this amount. \[stash, amount\] - * + * * NOTE: This event is only emitted when funds are bonded via a dispatchable. Notably, * it will not be emitted for staking rewards when they are added to stake. **/ diff --git a/packages/api/src/augment/query.ts b/packages/api/src/augment/query.ts index eb1fec2b3c49..31d7f0995e57 100644 --- a/packages/api/src/augment/query.ts +++ b/packages/api/src/augment/query.ts @@ -32,9 +32,80 @@ import type { ClassDetails, ClassId, ClassMetadata, DepositBalanceOf, InstanceDe import type { Multisig } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; import type { ApiTypes } from '@polkadot/api/types'; +import { Cid, MemberRole, Url } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/storage' { export interface AugmentedQueries { + alliance: { + /** + * Maps proposal hash and identity info. + **/ + accountBlacklist: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Maps proposal hash and identity info. + **/ + announcements: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The current set of candidates; outsiders who are attempting to become members. + **/ + candidates: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The member who have locked a candidate deposit. + **/ + depositOf: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; + /** + * The set of kicking members. + **/ + kickingMembers: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; + /** + * The current set of alliance members(founder/fellow/ally). + * + * Note: ally can’t proposal or vote on motions, only for show. + **/ + members: AugmentedQuery Observable>, [MemberRole]> & QueryableStorageEntry; + /** + * A ipfs cid of the rules of this alliance concerning membership. + * Any member can propose rules, other members make a traditional majority-wins + * vote to determine if the rules take effect. + * The founder has a special one-vote veto right to the rules setting. + **/ + rule: AugmentedQuery Observable>, []> & QueryableStorageEntry; + websiteBlacklist: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; + allianceMotion: { + /** + * The current members of the collective. This is stored sorted (just by value). + **/ + members: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The prime member that helps determine the default vote behavior in case of absentations. + **/ + prime: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Proposals so far. + **/ + proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Actual proposal for a given hash, if it's current. + **/ + proposalOf: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; + /** + * The hashes of the active proposals. + **/ + proposals: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Votes on a given proposal, if it is ongoing. + **/ + voting: AugmentedQuery Observable>, [Hash]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; assets: { /** * The number of units of assets held by any given account. @@ -120,7 +191,7 @@ declare module '@polkadot/api/types/storage' { initialized: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * How late the current block is compared to its parent. - * + * * This entry is populated as part of block execution and is cleaned up * on block finalization. Querying this storage entry outside of block * execution context should always yield zero. @@ -145,9 +216,9 @@ declare module '@polkadot/api/types/storage' { pendingEpochConfigChange: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The epoch randomness for the *current* epoch. - * + * * # Security - * + * * This MUST NOT be used for gambling, as it can be influenced by a * malicious validator in the short term. It MAY be used in many * cryptographic protocols, however, so long as one remembers that this @@ -158,11 +229,11 @@ declare module '@polkadot/api/types/storage' { randomness: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Randomness under construction. - * + * * We make a tradeoff between storage accesses and list length. * We store the under-construction randomness in segments of up to * `UNDER_CONSTRUCTION_SEGMENT_LENGTH`. - * + * * Once a segment reaches this length, we begin the next one. * We reset all segments and return to `0` at the beginning of every * epoch. @@ -180,7 +251,7 @@ declare module '@polkadot/api/types/storage' { balances: { /** * The balance of an account. - * + * * NOTE: This is only used in the case that this pallet is used to store balances. **/ account: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; @@ -195,7 +266,7 @@ declare module '@polkadot/api/types/storage' { reserves: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * Storage version of the pallet. - * + * * This is set to v2.0.0 for new networks. **/ storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; @@ -241,13 +312,13 @@ declare module '@polkadot/api/types/storage' { codeStorage: AugmentedQuery Observable>, [CodeHash]> & QueryableStorageEntry; /** * The code associated with a given account. - * + * * TWOX-NOTE: SAFE since `AccountId` is a secure hash. **/ contractInfoOf: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * 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_initialize`. **/ @@ -303,7 +374,7 @@ declare module '@polkadot/api/types/storage' { cancellations: AugmentedQuery Observable, [Hash]> & QueryableStorageEntry; /** * Those who have locked a deposit. - * + * * TWOX-NOTE: Safe, as increasing integer keys are safe. **/ depositOf: AugmentedQuery Observable, BalanceOf]>>>, [PropIndex]> & QueryableStorageEntry; @@ -315,7 +386,7 @@ declare module '@polkadot/api/types/storage' { /** * Accounts for which there are locks in action which may be removed at some point in the * future. The value is the block number at which the lock expires and may be removed. - * + * * TWOX-NOTE: OK ― `AccountId` is a secure hash. **/ locks: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; @@ -350,20 +421,20 @@ declare module '@polkadot/api/types/storage' { referendumCount: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Information concerning any given referendum. - * + * * TWOX-NOTE: SAFE as indexes are not under an attacker’s control. **/ referendumInfoOf: AugmentedQuery Observable>, [ReferendumIndex]> & QueryableStorageEntry; /** * Storage version of the pallet. - * + * * New networks start with last version. **/ storageVersion: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * All votes for a particular voter. We store the balance for the number of votes that we * have recorded. The second item is the total amount of delegations, that will be added. - * + * * TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway. **/ votingOf: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; @@ -379,14 +450,14 @@ declare module '@polkadot/api/types/storage' { currentPhase: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Desired number of targets to elect for this round. - * + * * Only exists when [`Snapshot`] is present. **/ desiredTargets: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The minimum score that each 'untrusted' solution must attain in order to be considered * feasible. - * + * * Can be set via `set_minimum_untrusted_score`. **/ minimumUntrustedScore: AugmentedQuery Observable>, []> & QueryableStorageEntry; @@ -396,22 +467,22 @@ declare module '@polkadot/api/types/storage' { queuedSolution: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Internal counter for the number of rounds. - * + * * This is useful for de-duplication of transactions submitted to the pool, and general * diagnostics of the pallet. - * + * * This is merely incremented once per every time that an upstream `elect` is called. **/ round: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Snapshot data of the round. - * + * * This is created at the beginning of the signed phase and cleared upon calling `elect`. **/ snapshot: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The metadata of the [`RoundSnapshot`] - * + * * Only exists when [`Snapshot`] is present. **/ snapshotMetadata: AugmentedQuery Observable>, []> & QueryableStorageEntry; @@ -424,9 +495,9 @@ declare module '@polkadot/api/types/storage' { /** * The present candidate list. A current member or runner-up can never enter this vector * and is always implicitly assumed to be a candidate. - * + * * Second element is the deposit. - * + * * Invariant: Always sorted based on account id. **/ candidates: AugmentedQuery Observable>>, []> & QueryableStorageEntry; @@ -436,20 +507,20 @@ declare module '@polkadot/api/types/storage' { electionRounds: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The current elected members. - * + * * Invariant: Always sorted based on account id. **/ members: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The current reserved runners-up. - * + * * Invariant: Always sorted based on rank (worse to best). Upon removal of a member, the * last (i.e. _best_) runner-up will be replaced. **/ runnersUp: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * Votes and locked stake of a particular voter. - * + * * TWOX-NOTE: SAFE as `AccountId` is a crypto hash. **/ voting: AugmentedQuery Observable, [AccountId]> & QueryableStorageEntry; @@ -474,7 +545,7 @@ declare module '@polkadot/api/types/storage' { /** * The totals of items and balances within each queue. Saves a lot of storage reads in the * case of sparsely packed queues. - * + * * The vector is indexed by duration in `Period`s, offset by one, so information on the queue * whose duration is one `Period` would be storage `0`. **/ @@ -501,7 +572,7 @@ declare module '@polkadot/api/types/storage' { /** * A mapping from grandpa set ID to the index of the *most recent* session for which its * members were responsible. - * + * * TWOX-NOTE: `SetId` is not under user control. **/ setIdSession: AugmentedQuery Observable>, [SetId]> & QueryableStorageEntry; @@ -521,22 +592,22 @@ declare module '@polkadot/api/types/storage' { identity: { /** * Information that is pertinent to identify the entity behind an account. - * + * * TWOX-NOTE: OK ― `AccountId` is a secure hash. **/ identityOf: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * The set of registrars. Not expected to get very big as can only be added through a * special origin (likely a council motion). - * + * * The index into this can be cast to `RegistrarIndex` to get a valid value. **/ registrars: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * Alternative "sub" identities of this account. - * + * * The first item is the deposit, the second is a vector of the accounts. - * + * * TWOX-NOTE: OK ― `AccountId` is a secure hash. **/ subsOf: AugmentedQuery Observable]>>, [AccountId]> & QueryableStorageEntry; @@ -559,12 +630,12 @@ declare module '@polkadot/api/types/storage' { /** * The block number after which it's ok to send heartbeats in the current * session. - * + * * At the beginning of each session we set this to a value that should fall * roughly in the middle of the session duration. The idea is to first wait for * the validators to produce a block in the current session, so that the * heartbeat later on will not be necessary. - * + * * This value will only be used as a fallback if we fail to get a proper session * progress estimate from `NextSessionRotation`, as those estimates should be * more accurate then the value we calculate for `HeartbeatAfter`. @@ -611,7 +682,7 @@ declare module '@polkadot/api/types/storage' { participants: AugmentedQuery Observable]>>, [AccountId]> & QueryableStorageEntry; /** * Each ticket's owner. - * + * * May have residual storage from previous lotteries. Use `TicketsCount` to see which ones * are actually valid ticket mappings. **/ @@ -628,7 +699,7 @@ declare module '@polkadot/api/types/storage' { mmr: { /** * Hashes of the nodes in the MMR. - * + * * Note this collection only contains MMR peaks, the inner nodes (and leaves) * are pruned and only stored in the Offchain DB. **/ @@ -668,9 +739,9 @@ declare module '@polkadot/api/types/storage' { reports: AugmentedQuery Observable>, [ReportIdOf]> & QueryableStorageEntry; /** * Enumerates all reports of a kind along with the time they happened. - * + * * All reports are sorted by the time of offence. - * + * * Note that the actual type of this mapping is `Vec`, this is because values of * different types are not supported at the moment so we are doing the manual serialization. **/ @@ -710,14 +781,14 @@ declare module '@polkadot/api/types/storage' { recovery: { /** * Active recovery attempts. - * + * * First account is the account to be recovered, and the second account * is the user trying to recover the account. **/ activeRecoveries: AugmentedQuery Observable>, [AccountId, AccountId]> & QueryableStorageEntry; /** * The list of allowed proxy accounts. - * + * * Map from the user who can access it to the recovered account. **/ proxy: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; @@ -741,7 +812,7 @@ declare module '@polkadot/api/types/storage' { lookup: AugmentedQuery Observable>, [Bytes]> & QueryableStorageEntry; /** * Storage version of the pallet. - * + * * New networks start with last version. **/ storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; @@ -757,7 +828,7 @@ declare module '@polkadot/api/types/storage' { currentIndex: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Indices of disabled validators. - * + * * The set is cleared when `on_session_ending` returns a new set of identities. **/ disabledValidators: AugmentedQuery Observable>, []> & QueryableStorageEntry; @@ -862,7 +933,7 @@ declare module '@polkadot/api/types/storage' { staking: { /** * The active era information, it holds index and start. - * + * * The active era is the era being currently rewarded. Validator set of this era must be * equal to [`SessionInterface::validators`]. **/ @@ -873,7 +944,7 @@ declare module '@polkadot/api/types/storage' { bonded: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * A mapping from still-bonded eras to the first session index of that era. - * + * * Must contains information for eras for the range: * `[active_era - bounding_duration; active_era]` **/ @@ -885,14 +956,14 @@ declare module '@polkadot/api/types/storage' { canceledSlashPayout: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * The current era index. - * + * * This is the latest planned era, depending on how the Session pallet queues the validator * set, it might be active or not. **/ currentEra: AugmentedQuery Observable>, []> & QueryableStorageEntry; /** * The last planned session scheduled by the session pallet. - * + * * This is basically in sync with the call to [`SessionManager::new_session`]. **/ currentPlannedSession: AugmentedQuery Observable, []> & QueryableStorageEntry; @@ -907,30 +978,30 @@ declare module '@polkadot/api/types/storage' { erasRewardPoints: AugmentedQuery Observable, [EraIndex]> & QueryableStorageEntry; /** * Exposure of validator at era. - * + * * This is keyed first by the era index to allow bulk deletion and then the stash account. - * + * * Is it removed after `HISTORY_DEPTH` eras. * If stakers hasn't been set or has been removed then empty exposure is returned. **/ erasStakers: AugmentedQuery Observable, [EraIndex, AccountId]> & QueryableStorageEntry; /** * Clipped Exposure of validator at era. - * + * * This is similar to [`ErasStakers`] but number of nominators exposed is reduced to the * `T::MaxNominatorRewardedPerValidator` biggest stakers. * (Note: the field `total` and `own` of the exposure remains unchanged). * This is used to limit the i/o cost for the nominator payout. - * + * * This is keyed fist by the era index to allow bulk deletion and then the stash account. - * + * * Is it removed after `HISTORY_DEPTH` eras. * If stakers hasn't been set or has been removed then empty exposure is returned. **/ erasStakersClipped: AugmentedQuery Observable, [EraIndex, AccountId]> & QueryableStorageEntry; /** * The session index at which the era start for the last `HISTORY_DEPTH` eras. - * + * * Note: This tracks the starting session (i.e. session index when era start being active) * for the eras in `[CurrentEra - HISTORY_DEPTH, CurrentEra]`. **/ @@ -942,15 +1013,15 @@ declare module '@polkadot/api/types/storage' { erasTotalStake: AugmentedQuery Observable, [EraIndex]> & QueryableStorageEntry; /** * Similar to `ErasStakers`, this holds the preferences of validators. - * + * * This is keyed first by the era index to allow bulk deletion and then the stash account. - * + * * Is it removed after `HISTORY_DEPTH` eras. **/ erasValidatorPrefs: AugmentedQuery Observable, [EraIndex, AccountId]> & QueryableStorageEntry; /** * The total validator era payout for the last `HISTORY_DEPTH` eras. - * + * * Eras that haven't finished yet or has been removed doesn't have reward. **/ erasValidatorReward: AugmentedQuery Observable>, [EraIndex]> & QueryableStorageEntry; @@ -960,9 +1031,9 @@ declare module '@polkadot/api/types/storage' { forceEra: AugmentedQuery Observable, []> & QueryableStorageEntry; /** * Number of eras to keep in history. - * + * * Information is kept for eras in `[current_era - history_depth; current_era]`. - * + * * Must be more than the number of eras delayed by session otherwise. I.e. active era must * always be in history. I.e. `active_era > current_era - history_depth` must be * guaranteed. @@ -1000,7 +1071,7 @@ declare module '@polkadot/api/types/storage' { slashingSpans: AugmentedQuery Observable>, [AccountId]> & QueryableStorageEntry; /** * The percentage of the slash that is distributed to reporters. - * + * * The rest of the slashed value is handled by the `Slash`. **/ slashRewardFraction: AugmentedQuery Observable, []> & QueryableStorageEntry; @@ -1012,7 +1083,7 @@ declare module '@polkadot/api/types/storage' { /** * True if network has been upgraded to this version. * Storage version of the pallet. - * + * * This is set to v6.0.0 for new networks. **/ storageVersion: AugmentedQuery Observable, []> & QueryableStorageEntry; @@ -1080,11 +1151,11 @@ declare module '@polkadot/api/types/storage' { /** * 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 `(T::BlockNumber, 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. diff --git a/packages/api/src/augment/tx.ts b/packages/api/src/augment/tx.ts index a7cc85b46521..3a866ddc916b 100644 --- a/packages/api/src/augment/tx.ts +++ b/packages/api/src/augment/tx.ts @@ -26,90 +26,311 @@ import type { ClassId, DestroyWitness, InstanceId } from '@polkadot/types/interf import type { Timepoint } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types'; +import { Cid, UserIdentity } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/submittable' { export interface AugmentedSubmittables { + alliance: { + /** + * Add websites or addresses into blacklist. + **/ + addBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { Website: any } | { AccountId: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Announcement IPFS Hash about dispute between two allies and other issues. + * Proposer should publish in polkassembly.io first and talked with others, + * then publish the post into IPFS. Create a ID. + **/ + announce: AugmentedSubmittable<(announcement: Cid | { version?: any; codec?: any; multihash?: any } | string | Uint8Array) => SubmittableExtrinsic, [Cid]>; + /** + * Approve a `Candidate` to be a `Ally`. + **/ + approveCandidate: AugmentedSubmittable<(candidate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; + close: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, index: ProposalIndex | AnyNumber | Uint8Array, proposalWeightBound: Weight | AnyNumber | Uint8Array, lengthBound: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, ProposalIndex, Weight, u32]>; + /** + * As a active member, elevate a ally to fellow. + * + * The dispatch origin for this call must be _Signed_ and a member. + **/ + elevateAlly: AugmentedSubmittable<(ally: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; + /** + * Initialize the founders to the given members. + **/ + initFounders: AugmentedSubmittable<(founders: Vec | (AccountId | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Kick a member to outsider with its deposit slashed. + **/ + kickMember: AugmentedSubmittable<(who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; + /** + * As a elevated member, nominate for someone to join alliance. + * + * There is no deposit required to the nominees. + * + * The dispatch origin for this call must be _Signed_ and a elevated member. + **/ + nominateCandidacy: AugmentedSubmittable<(who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; + /** + * Add a new proposal to be voted on. + * + * Requires the sender to be elevated member(founders/fellows). + **/ + propose: AugmentedSubmittable<(proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [Proposal]>; + /** + * Reject a `Candidate` to be a `Outsider`. + * Only the members (`Fellows` and `Founders`) can vote to approve/reject the `Candidate`. + **/ + rejectCandidate: AugmentedSubmittable<(candidate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; + /** + * Remove websites or addresses form blacklist. + **/ + removeBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { Website: any } | { AccountId: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * As a member, back to outsider and unlock deposit. + **/ + retire: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** + * A IPFS cid of the rules of this alliance concerning membership. + **/ + setRule: AugmentedSubmittable<(rule: Cid | { version?: any; codec?: any; multihash?: any } | string | Uint8Array) => SubmittableExtrinsic, [Cid]>; + /** + * Submit oneself for candidacy. + * + * Account must have enough transferable funds in it to pay the candidate deposit. + **/ + submitCandidacy: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** + * Disapprove a proposal, close, and remove it from the system, regardless of its current state. + * + * Must be called by the founders. + **/ + veto: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; + allianceMotion: { + /** + * Close a vote that is either approved, disapproved or whose voting period has ended. + * + * May be called by any signed account in order to finish voting and close the proposal. + * + * If called before the end of the voting period it will only close the vote if it is + * has enough votes to be approved or disapproved. + * + * If called after the end of the voting period abstentions are counted as rejections + * unless there is a prime member set and the prime member cast an approval. + * + * If the close operation completes successfully with disapproval, the transaction fee will + * be waived. Otherwise execution of the approved operation will be charged to the caller. + * + * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal. + * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via + * `storage::read` so it is `size_of::() == 4` larger than the pure length. + * + * # + * ## Weight + * - `O(B + M + P1 + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - `P1` is the complexity of `proposal` preimage. + * - `P2` is proposal-count (code-bounded) + * - DB: + * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) + * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`) + * - any mutations done while executing `proposal` (`P1`) + * - up to 3 events + * # + **/ + close: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact, Compact, Compact]>; + /** + * Disapprove a proposal, close, and remove it from the system, regardless of its current state. + * + * Must be called by the Root origin. + * + * Parameters: + * * `proposal_hash`: The hash of the proposal that should be disapproved. + * + * # + * Complexity: O(P) where P is the number of max proposals + * DB Weight: + * * Reads: Proposals + * * Writes: Voting, Proposals, ProposalOf + * # + **/ + disapproveProposal: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; + /** + * Dispatch a proposal from a member using the `Member` origin. + * + * Origin must be a member of the collective. + * + * # + * ## Weight + * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal` + * - DB: 1 read (codec `O(M)`) + DB access of `proposal` + * - 1 event + * # + **/ + execute: AugmentedSubmittable<(proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Proposal, Compact]>; + /** + * Add a new proposal to either be voted on or executed directly. + * + * Requires the sender to be member. + * + * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) + * or put up for voting. + * + * # + * ## Weight + * - `O(B + M + P1)` or `O(B + M + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - branching is influenced by `threshold` where: + * - `P1` is proposal execution complexity (`threshold < 2`) + * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) + * - DB: + * - 1 storage read `is_member` (codec `O(M)`) + * - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) + * - DB accesses influenced by `threshold`: + * - EITHER storage accesses done by `proposal` (`threshold < 2`) + * - OR proposal insertion (`threshold <= 2`) + * - 1 storage mutation `Proposals` (codec `O(P2)`) + * - 1 storage mutation `ProposalCount` (codec `O(1)`) + * - 1 storage write `ProposalOf` (codec `O(B)`) + * - 1 storage write `Voting` (codec `O(M)`) + * - 1 event + * # + **/ + propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Proposal, Compact]>; + /** + * Set the collective's membership. + * + * - `new_members`: The new member list. Be nice to the chain and provide it sorted. + * - `prime`: The prime member whose vote sets the default. + * - `old_count`: The upper bound for the previous number of members in storage. + * Used for weight estimation. + * + * Requires root origin. + * + * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but + * the weight estimations rely on it to estimate dispatchable weight. + * + * # + * ## Weight + * - `O(MP + N)` where: + * - `M` old-members-count (code- and governance-bounded) + * - `N` new-members-count (code- and governance-bounded) + * - `P` proposals-count (code-bounded) + * - DB: + * - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members + * - 1 storage read (codec `O(P)`) for reading the proposals + * - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal + * - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one + * # + **/ + setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId | string | Uint8Array)[], prime: Option | null | object | string | Uint8Array, oldCount: MemberCount | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, MemberCount]>; + /** + * Add an aye or nay vote for the sender to the given proposal. + * + * Requires the sender to be a member. + * + * Transaction fees will be waived if the member is voting on any particular proposal + * for the first time and the call is successful. Subsequent vote changes will charge a fee. + * # + * ## Weight + * - `O(M)` where `M` is members-count (code- and governance-bounded) + * - DB: + * - 1 storage read `Members` (codec `O(M)`) + * - 1 storage mutation `Voting` (codec `O(M)`) + * - 1 event + * # + **/ + vote: AugmentedSubmittable<(proposal: Hash | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Hash, Compact, bool]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; assets: { /** * Approve an amount of asset for transfer by a delegated third-party account. - * + * * Origin must be Signed. - * + * * Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account * for the purpose of holding the approval. If some non-zero amount of assets is already * approved from signing account to `delegate`, then it is topped up or unreserved to * meet the right value. - * + * * NOTE: The signing account does not need to own `amount` of assets at the point of * making this call. - * + * * - `id`: The identifier of the asset. * - `delegate`: The account to delegate permission to transfer asset. * - `amount`: The amount of asset that may be transferred by `delegate`. If there is * already an approval in place, then this acts additively. - * + * * Emits `ApprovedTransfer` on success. - * + * * Weight: `O(1)` **/ approveTransfer: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, delegate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, Compact]>; /** * Reduce the balance of `who` by as much as possible up to `amount` assets of `id`. - * + * * Origin must be Signed and the sender should be the Manager of the asset `id`. - * + * * Bails with `BalanceZero` if the `who` is already dead. - * + * * - `id`: The identifier of the asset to have some amount burned. * - `who`: The account to be debited from. * - `amount`: The maximum amount by which `who`'s balance should be reduced. - * + * * Emits `Burned` with the actual amount burned. If this takes the balance to below the * minimum for the asset, then the amount burned is increased to take it to zero. - * + * * Weight: `O(1)` * Modes: Post-existence of `who`; Pre & post Zombie-status of `who`. **/ burn: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, Compact]>; /** * Cancel all of some asset approved for delegated transfer by a third-party account. - * + * * Origin must be Signed and there must be an approval in place between signer and * `delegate`. - * + * * Unreserves any deposit previously reserved by `approve_transfer` for the approval. - * + * * - `id`: The identifier of the asset. * - `delegate`: The account delegated permission to transfer asset. - * + * * Emits `ApprovalCancelled` on success. - * + * * Weight: `O(1)` **/ cancelApproval: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, delegate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; /** * Clear the metadata for an asset. - * + * * Origin must be Signed and the sender should be the Owner of the asset `id`. - * + * * Any deposit is freed for the asset owner. - * + * * - `id`: The identifier of the asset to clear. - * + * * Emits `MetadataCleared`. - * + * * Weight: `O(1)` **/ clearMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Issue a new class of fungible assets from a public origin. - * + * * This new asset class has no assets initially and its owner is the origin. - * + * * The origin must be Signed and the sender must have sufficient funds free. - * + * * Funds of sender are reserved by `AssetDeposit`. - * + * * Parameters: * - `id`: The identifier of the new asset. This must not be currently in use to identify * an existing asset. @@ -117,27 +338,27 @@ declare module '@polkadot/api/types/submittable' { * member of the asset class's admin team. * - `min_balance`: The minimum balance of this new asset that any single account must * have. If an account's balance is reduced below this, then it collapses to zero. - * + * * Emits `Created` event when successful. - * + * * Weight: `O(1)` **/ create: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, admin: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, minBalance: TAssetBalance | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, TAssetBalance]>; /** * Destroy a class of fungible assets. - * + * * The origin must conform to `ForceOrigin` or must be Signed and the sender must be the * owner of the asset `id`. - * + * * - `id`: The identifier of the asset to be destroyed. This must identify an existing * asset. - * + * * Emits `Destroyed` event when successful. - * + * * NOTE: It can be helpful to first freeze an asset before destroying it so that you * can provide accurate witness information and prevent users from manipulating state * in a way that can make it harder to destroy. - * + * * Weight: `O(c + p + a)` where: * - `c = (witness.accounts - witness.sufficients)` * - `s = witness.sufficients` @@ -146,9 +367,9 @@ declare module '@polkadot/api/types/submittable' { destroy: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, witness: AssetDestroyWitness | { accounts?: any; sufficients?: any; approvals?: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, AssetDestroyWitness]>; /** * Alter the attributes of a given asset. - * + * * Origin must be `ForceOrigin`. - * + * * - `id`: The identifier of the asset. * - `owner`: The new Owner of this asset. * - `issuer`: The new Issuer of this asset. @@ -163,51 +384,51 @@ declare module '@polkadot/api/types/submittable' { * growth). * - `is_frozen`: Whether this asset class is frozen except for permissioned/admin * instructions. - * + * * Emits `AssetStatusChanged` with the identity of the asset. - * + * * Weight: `O(1)` **/ forceAssetStatus: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, issuer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, admin: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freezer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, minBalance: Compact | AnyNumber | Uint8Array, isSufficient: bool | boolean | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource, LookupSource, LookupSource, Compact, bool, bool]>; /** * Cancel all of some asset approved for delegated transfer by a third-party account. - * + * * Origin must be either ForceOrigin or Signed origin with the signer being the Admin * account of the asset `id`. - * + * * Unreserves any deposit previously reserved by `approve_transfer` for the approval. - * + * * - `id`: The identifier of the asset. * - `delegate`: The account delegated permission to transfer asset. - * + * * Emits `ApprovalCancelled` on success. - * + * * Weight: `O(1)` **/ forceCancelApproval: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, delegate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource]>; /** * Clear the metadata for an asset. - * + * * Origin must be ForceOrigin. - * + * * Any deposit is returned. - * + * * - `id`: The identifier of the asset to clear. - * + * * Emits `MetadataCleared`. - * + * * Weight: `O(1)` **/ forceClearMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Issue a new class of fungible assets from a privileged origin. - * + * * This new asset class has no assets initially. - * + * * The origin must conform to `ForceOrigin`. - * + * * Unlike `create`, no funds are reserved. - * + * * - `id`: The identifier of the new asset. This must not be currently in use to identify * an existing asset. * - `owner`: The owner of this class of assets. The owner has full superuser permissions @@ -215,34 +436,34 @@ declare module '@polkadot/api/types/submittable' { * and `set_team`. * - `min_balance`: The minimum balance of this new asset that any single account must * have. If an account's balance is reduced below this, then it collapses to zero. - * + * * Emits `ForceCreated` event when successful. - * + * * Weight: `O(1)` **/ forceCreate: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, isSufficient: bool | boolean | Uint8Array, minBalance: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, bool, Compact]>; /** * Force the metadata for an asset to some value. - * + * * Origin must be ForceOrigin. - * + * * Any deposit is left alone. - * + * * - `id`: The identifier of the asset to update. * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`. * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`. * - `decimals`: The number of decimals this asset uses to represent one unit. - * + * * Emits `MetadataSet`. - * + * * Weight: `O(N + S)` where N and S are the length of the name and symbol respectively. **/ forceSetMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, name: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, decimals: u8 | AnyNumber | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes, Bytes, u8, bool]>; /** * Move some assets from one account to another. - * + * * Origin must be Signed and the sender should be the Admin of the asset `id`. - * + * * - `id`: The identifier of the asset to have some amount transferred. * - `source`: The account to be debited. * - `dest`: The account to be credited. @@ -250,11 +471,11 @@ declare module '@polkadot/api/types/submittable' { * `dest`'s balance increased. The amount actually transferred may be slightly greater in * the case that the transfer would otherwise take the `source` balance above zero but * below the minimum balance. Must be greater than zero. - * + * * Emits `Transferred` with the actual amount transferred. If this takes the source balance * to below the minimum for the asset, then the amount transferred is increased to take it * to zero. - * + * * Weight: `O(1)` * Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of * `dest`. @@ -262,119 +483,119 @@ declare module '@polkadot/api/types/submittable' { forceTransfer: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, source: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource, Compact]>; /** * Disallow further unprivileged transfers from an account. - * + * * Origin must be Signed and the sender should be the Freezer of the asset `id`. - * + * * - `id`: The identifier of the asset to be frozen. * - `who`: The account to be frozen. - * + * * Emits `Frozen`. - * + * * Weight: `O(1)` **/ freeze: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; /** * Disallow further unprivileged transfers for the asset class. - * + * * Origin must be Signed and the sender should be the Freezer of the asset `id`. - * + * * - `id`: The identifier of the asset to be frozen. - * + * * Emits `Frozen`. - * + * * Weight: `O(1)` **/ freezeAsset: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Mint assets of a particular class. - * + * * The origin must be Signed and the sender must be the Issuer of the asset `id`. - * + * * - `id`: The identifier of the asset to have some amount minted. * - `beneficiary`: The account to be credited with the minted assets. * - `amount`: The amount of the asset to be minted. - * + * * Emits `Issued` event when successful. - * + * * Weight: `O(1)` * Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`. **/ mint: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, beneficiary: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, Compact]>; /** * Set the metadata for an asset. - * + * * Origin must be Signed and the sender should be the Owner of the asset `id`. - * + * * Funds of sender are reserved according to the formula: * `MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into * account any already reserved funds. - * + * * - `id`: The identifier of the asset to update. * - `name`: The user friendly name of this asset. Limited in length by `StringLimit`. * - `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`. * - `decimals`: The number of decimals this asset uses to represent one unit. - * + * * Emits `MetadataSet`. - * + * * Weight: `O(1)` **/ setMetadata: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, name: Bytes | string | Uint8Array, symbol: Bytes | string | Uint8Array, decimals: u8 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes, Bytes, u8]>; /** * Change the Issuer, Admin and Freezer of an asset. - * + * * Origin must be Signed and the sender should be the Owner of the asset `id`. - * + * * - `id`: The identifier of the asset to be frozen. * - `issuer`: The new Issuer of this asset. * - `admin`: The new Admin of this asset. * - `freezer`: The new Freezer of this asset. - * + * * Emits `TeamChanged`. - * + * * Weight: `O(1)` **/ setTeam: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, issuer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, admin: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freezer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource, LookupSource]>; /** * Allow unprivileged transfers from an account again. - * + * * Origin must be Signed and the sender should be the Admin of the asset `id`. - * + * * - `id`: The identifier of the asset to be frozen. * - `who`: The account to be unfrozen. - * + * * Emits `Thawed`. - * + * * Weight: `O(1)` **/ thaw: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; /** * Allow unprivileged transfers for the asset again. - * + * * Origin must be Signed and the sender should be the Admin of the asset `id`. - * + * * - `id`: The identifier of the asset to be thawed. - * + * * Emits `Thawed`. - * + * * Weight: `O(1)` **/ thawAsset: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Move some assets from the sender account to another. - * + * * Origin must be Signed. - * + * * - `id`: The identifier of the asset to have some amount transferred. * - `target`: The account to be credited. * - `amount`: The amount by which the sender's balance of assets should be reduced and * `target`'s balance increased. The amount actually transferred may be slightly greater in * the case that the transfer would otherwise take the sender balance above zero but below * the minimum balance. Must be greater than zero. - * + * * Emits `Transferred` with the actual amount transferred. If this takes the source balance * to below the minimum for the asset, then the amount transferred is increased to take it * to zero. - * + * * Weight: `O(1)` * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of * `target`. @@ -383,40 +604,40 @@ declare module '@polkadot/api/types/submittable' { /** * Transfer some asset balance from a previously delegated account to some third-party * account. - * + * * Origin must be Signed and there must be an approval in place by the `owner` to the * signer. - * + * * If the entire amount approved for transfer is transferred, then any deposit previously * reserved by `approve_transfer` is unreserved. - * + * * - `id`: The identifier of the asset. * - `owner`: The account which previously approved for a transfer of at least `amount` and * from which the asset balance will be withdrawn. * - `destination`: The account to which the asset balance of `amount` will be transferred. * - `amount`: The amount of assets to transfer. - * + * * Emits `TransferredApproved` on success. - * + * * Weight: `O(1)` **/ transferApproved: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, destination: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource, Compact]>; /** * Move some assets from the sender account to another, keeping the sender account alive. - * + * * Origin must be Signed. - * + * * - `id`: The identifier of the asset to have some amount transferred. * - `target`: The account to be credited. * - `amount`: The amount by which the sender's balance of assets should be reduced and * `target`'s balance increased. The amount actually transferred may be slightly greater in * the case that the transfer would otherwise take the sender balance above zero but below * the minimum balance. Must be greater than zero. - * + * * Emits `Transferred` with the actual amount transferred. If this takes the source balance * to below the minimum for the asset, then the amount transferred is increased to take it * to zero. - * + * * Weight: `O(1)` * Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of * `target`. @@ -424,14 +645,14 @@ declare module '@polkadot/api/types/submittable' { transferKeepAlive: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, target: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, amount: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, Compact]>; /** * Change the Owner of an asset. - * + * * Origin must be Signed and the sender should be the Owner of the asset `id`. - * + * * - `id`: The identifier of the asset. * - `owner`: The new Owner of this asset. - * + * * Emits `OwnerChanged`. - * + * * Weight: `O(1)` **/ transferOwnership: AugmentedSubmittable<(id: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; @@ -493,14 +714,14 @@ declare module '@polkadot/api/types/submittable' { forceTransfer: AugmentedSubmittable<(source: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, dest: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [LookupSource, LookupSource, Compact]>; /** * Set the balances of a given account. - * + * * This will alter `FreeBalance` and `ReservedBalance` in storage. it will * also decrease the total issuance of the system (`TotalIssuance`). * If the new free or reserved balance is below the existential deposit, * it will reset the account nonce (`frame_system::AccountNonce`). - * + * * The dispatch origin for this call is `root`. - * + * * # * - Independent of the arguments. * - Contains a limited number of reads and writes. @@ -514,21 +735,21 @@ declare module '@polkadot/api/types/submittable' { setBalance: AugmentedSubmittable<(who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, newFree: Compact | AnyNumber | Uint8Array, newReserved: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [LookupSource, Compact, Compact]>; /** * Transfer some liquid free balance to another account. - * + * * `transfer` will set the `FreeBalance` of the sender and receiver. * It will decrease the total issuance of the system by the `TransferFee`. * If the sender's account is below the existential deposit as a result * of the transfer, the account will be reaped. - * + * * The dispatch origin for this call must be `Signed` by the transactor. - * + * * # * - Dependent on arguments but not critical, given proper implementations for * input config types. See related functions below. * - It contains a limited number of reads and writes internally and no complex computation. - * + * * Related functions: - * + * * - `ensure_can_withdraw` is always called internally but has a bounded complexity. * - Transferring balances to accounts that did not exist before will cause * `T::OnNewAccount::on_new_account` to be called. @@ -544,15 +765,15 @@ declare module '@polkadot/api/types/submittable' { transfer: AugmentedSubmittable<(dest: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [LookupSource, Compact]>; /** * 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 @@ -566,9 +787,9 @@ declare module '@polkadot/api/types/submittable' { /** * Same as the [`transfer`] call, but with a check that the transfer will not kill the * origin account. - * + * * 99% of the time you want [`transfer`] instead. - * + * * [`transfer`]: struct.Pallet.html#method.transfer * # * - Cheaper than transfer because account cannot be killed. @@ -586,9 +807,9 @@ declare module '@polkadot/api/types/submittable' { /** * Accept the curator role for a bounty. * A deposit will be reserved from curator and refund upon successful payout. - * + * * May only be called from the curator. - * + * * # * - O(1). * # @@ -597,9 +818,9 @@ declare module '@polkadot/api/types/submittable' { /** * Approve a bounty proposal. At a later time, the bounty will be funded and become active * and the original deposit will be returned. - * + * * May only be called from `T::ApproveOrigin`. - * + * * # * - O(1). * # @@ -607,12 +828,12 @@ declare module '@polkadot/api/types/submittable' { approveBounty: AugmentedSubmittable<(bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay. - * + * * The dispatch origin for this call must be the curator of this bounty. - * + * * - `bounty_id`: Bounty ID to award. * - `beneficiary`: The beneficiary account whom will receive the payout. - * + * * # * - O(1). * # @@ -620,11 +841,11 @@ declare module '@polkadot/api/types/submittable' { awardBounty: AugmentedSubmittable<(bountyId: Compact | AnyNumber | Uint8Array, beneficiary: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; /** * Claim the payout from an awarded bounty after payout delay. - * + * * The dispatch origin for this call must be the beneficiary of this bounty. - * + * * - `bounty_id`: Bounty ID to claim. - * + * * # * - O(1). * # @@ -633,11 +854,11 @@ declare module '@polkadot/api/types/submittable' { /** * Cancel a proposed or active bounty. All the funds will be sent to treasury and * the curator deposit will be unreserved if possible. - * + * * Only `T::RejectOrigin` is able to cancel a bounty. - * + * * - `bounty_id`: Bounty ID to cancel. - * + * * # * - O(1). * # @@ -645,12 +866,12 @@ declare module '@polkadot/api/types/submittable' { closeBounty: AugmentedSubmittable<(bountyId: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Extend the expiry time of an active bounty. - * + * * The dispatch origin for this call must be the curator of this bounty. - * + * * - `bounty_id`: Bounty ID to extend. * - `remark`: additional information. - * + * * # * - O(1). * # @@ -658,13 +879,13 @@ declare module '@polkadot/api/types/submittable' { extendBountyExpiry: AugmentedSubmittable<(bountyId: Compact | AnyNumber | Uint8Array, remark: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes]>; /** * Propose a new bounty. - * + * * The dispatch origin for this call must be _Signed_. - * + * * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as * `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval, * or slashed when rejected. - * + * * - `curator`: The curator account whom will manage this bounty. * - `fee`: The curator fee. * - `value`: The total payment amount of this bounty, curator fee included. @@ -673,9 +894,9 @@ declare module '@polkadot/api/types/submittable' { proposeBounty: AugmentedSubmittable<(value: Compact | AnyNumber | Uint8Array, description: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes]>; /** * Assign a curator to a funded bounty. - * + * * May only be called from `T::ApproveOrigin`. - * + * * # * - O(1). * # @@ -683,20 +904,20 @@ declare module '@polkadot/api/types/submittable' { proposeCurator: AugmentedSubmittable<(bountyId: Compact | AnyNumber | Uint8Array, curator: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, fee: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, Compact]>; /** * Unassign curator from a bounty. - * + * * This function can only be called by the `RejectOrigin` a signed origin. - * + * * If this function is called by the `RejectOrigin`, we assume that the curator is malicious * or inactive. As a result, we will slash the curator when possible. - * + * * If the origin is the curator, we take this as a sign they are unable to do their job and * they willingly give up. We could slash them, but for now we allow them to recover their * deposit and exit without issue. (We may want to change this if it is abused.) - * + * * Finally, the origin can be anyone if and only if the curator is "inactive". This allows * anyone in the community to call out that a curator is not doing their due diligence, and * we should pick a new curator. In this case the curator should also be slashed. - * + * * # * - O(1). * # @@ -710,7 +931,7 @@ declare module '@polkadot/api/types/submittable' { contracts: { /** * Makes a call to an account, optionally transferring some balance. - * + * * * 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. @@ -721,18 +942,18 @@ declare module '@polkadot/api/types/submittable' { /** * Allows block producers to claim a small reward for evicting a contract. If a block * producer fails to do so, a regular users will be allowed to claim the reward. - * + * * In case of a successful eviction no fees are charged from the sender. However, the * reward is capped by the total amount of rent that was paid by the contract while * it was alive. - * + * * If contract is not evicted as a result of this call, [`Error::ContractNotEvictable`] * is returned and the sender is not eligible for the reward. **/ claimSurcharge: AugmentedSubmittable<(dest: AccountId | string | Uint8Array, auxSender: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [AccountId, Option]>; /** * 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. @@ -741,19 +962,19 @@ declare module '@polkadot/api/types/submittable' { /** * Instantiates a new contract from the supplied `code` optionally transferring * some balance. - * + * * This is the only function that can deploy new code to the chain. - * + * * # Parameters - * + * * * `endowment`: The balance to transfer from the `origin` to the newly created contract. * * `gas_limit`: The gas limit enforced when executing the constructor. * * `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 instrumented, 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. @@ -770,22 +991,22 @@ declare module '@polkadot/api/types/submittable' { council: { /** * Close a vote that is either approved, disapproved or whose voting period has ended. - * + * * May be called by any signed account in order to finish voting and close the proposal. - * + * * If called before the end of the voting period it will only close the vote if it is * has enough votes to be approved or disapproved. - * + * * If called after the end of the voting period abstentions are counted as rejections * unless there is a prime member set and the prime member cast an approval. - * + * * If the close operation completes successfully with disapproval, the transaction fee will * be waived. Otherwise execution of the approved operation will be charged to the caller. - * + * * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal. * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * + * * # * ## Weight * - `O(B + M + P1 + P2)` where: @@ -803,12 +1024,12 @@ declare module '@polkadot/api/types/submittable' { close: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact, Compact, Compact]>; /** * Disapprove a proposal, close, and remove it from the system, regardless of its current state. - * + * * Must be called by the Root origin. - * + * * Parameters: * * `proposal_hash`: The hash of the proposal that should be disapproved. - * + * * # * Complexity: O(P) where P is the number of max proposals * DB Weight: @@ -819,9 +1040,9 @@ declare module '@polkadot/api/types/submittable' { disapproveProposal: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Dispatch a proposal from a member using the `Member` origin. - * + * * Origin must be a member of the collective. - * + * * # * ## Weight * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal` @@ -832,12 +1053,12 @@ declare module '@polkadot/api/types/submittable' { execute: AugmentedSubmittable<(proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Proposal, Compact]>; /** * Add a new proposal to either be voted on or executed directly. - * + * * Requires the sender to be member. - * + * * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) * or put up for voting. - * + * * # * ## Weight * - `O(B + M + P1)` or `O(B + M + P2)` where: @@ -862,17 +1083,17 @@ declare module '@polkadot/api/types/submittable' { propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Proposal, Compact]>; /** * Set the collective's membership. - * + * * - `new_members`: The new member list. Be nice to the chain and provide it sorted. * - `prime`: The prime member whose vote sets the default. * - `old_count`: The upper bound for the previous number of members in storage. * Used for weight estimation. - * + * * Requires root origin. - * + * * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but * the weight estimations rely on it to estimate dispatchable weight. - * + * * # * ## Weight * - `O(MP + N)` where: @@ -889,9 +1110,9 @@ declare module '@polkadot/api/types/submittable' { setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId | string | Uint8Array)[], prime: Option | null | object | string | Uint8Array, oldCount: MemberCount | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, MemberCount]>; /** * Add an aye or nay vote for the sender to the given proposal. - * + * * Requires the sender to be a member. - * + * * Transaction fees will be waived if the member is voting on any particular proposal * for the first time and the call is successful. Subsequent vote changes will charge a fee. * # @@ -913,78 +1134,78 @@ declare module '@polkadot/api/types/submittable' { /** * Permanently place a proposal into the blacklist. This prevents it from ever being * proposed again. - * + * * If called on a queued public or external proposal, then this will result in it being * removed. If the `ref_index` supplied is an active referendum with the proposal hash, * then it will be cancelled. - * + * * The dispatch origin of this call must be `BlacklistOrigin`. - * + * * - `proposal_hash`: The proposal hash to blacklist permanently. * - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be * cancelled. - * + * * Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a * reasonable value). **/ blacklist: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, maybeRefIndex: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Hash, Option]>; /** * Remove a proposal. - * + * * The dispatch origin of this call must be `CancelProposalOrigin`. - * + * * - `prop_index`: The index of the proposal to cancel. - * + * * Weight: `O(p)` where `p = PublicProps::::decode_len()` **/ cancelProposal: AugmentedSubmittable<(propIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Cancel a proposal queued for enactment. - * + * * The dispatch origin of this call must be _Root_. - * + * * - `which`: The index of the referendum to cancel. - * + * * Weight: `O(D)` where `D` is the items in the dispatch queue. Weighted as `D = 10`. **/ cancelQueued: AugmentedSubmittable<(which: ReferendumIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic, [ReferendumIndex]>; /** * Remove a referendum. - * + * * The dispatch origin of this call must be _Root_. - * + * * - `ref_index`: The index of the referendum to cancel. - * + * * # Weight: `O(1)`. **/ cancelReferendum: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Clears all public proposals. - * + * * The dispatch origin of this call must be _Root_. - * + * * Weight: `O(1)`. **/ clearPublicProposals: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Delegate the voting power (with some given conviction) of the sending account. - * + * * The balance delegated is locked for as long as it's delegated, and thereafter for the * time appropriate for the conviction's lock period. - * + * * The dispatch origin of this call must be _Signed_, and the signing account must either: * - be delegating already; or * - have no voting activity (if there is, then it will need to be removed/consolidated * through `reap_vote` or `unvote`). - * + * * - `to`: The account whose voting the `target` account's voting power will follow. * - `conviction`: The conviction that will be attached to the delegated votes. When the * account is undelegated, the funds will be locked for the corresponding period. * - `balance`: The amount of the account's balance to be used in delegating. This must * not be more than the account's current balance. - * + * * Emits `Delegated`. - * + * * Weight: `O(R)` where R is the number of referendums the voter delegating to has * voted on. Weight is charged as if maximum votes. **/ @@ -992,11 +1213,11 @@ declare module '@polkadot/api/types/submittable' { /** * Schedule an emergency cancellation of a referendum. Cannot happen twice to the same * referendum. - * + * * The dispatch origin of this call must be `CancellationOrigin`. - * + * * -`ref_index`: The index of the referendum to cancel. - * + * * Weight: `O(1)`. **/ emergencyCancel: AugmentedSubmittable<(refIndex: ReferendumIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic, [ReferendumIndex]>; @@ -1007,11 +1228,11 @@ declare module '@polkadot/api/types/submittable' { /** * Schedule a referendum to be tabled once it is legal to schedule an external * referendum. - * + * * The dispatch origin of this call must be `ExternalOrigin`. - * + * * - `proposal_hash`: The preimage hash of the proposal. - * + * * Weight: `O(V)` with V number of vetoers in the blacklist of proposal. * Decoding vec of length V. Charged as maximum **/ @@ -1019,28 +1240,28 @@ declare module '@polkadot/api/types/submittable' { /** * Schedule a negative-turnout-bias referendum to be tabled next once it is legal to * schedule an external referendum. - * + * * The dispatch of this call must be `ExternalDefaultOrigin`. - * + * * - `proposal_hash`: The preimage hash of the proposal. - * + * * Unlike `external_propose`, blacklisting has no effect on this and it may replace a * pre-scheduled `external_propose` call. - * + * * Weight: `O(1)` **/ externalProposeDefault: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Schedule a majority-carries referendum to be tabled next once it is legal to schedule * an external referendum. - * + * * The dispatch of this call must be `ExternalMajorityOrigin`. - * + * * - `proposal_hash`: The preimage hash of the proposal. - * + * * Unlike `external_propose`, blacklisting has no effect on this and it may replace a * pre-scheduled `external_propose` call. - * + * * Weight: `O(1)` **/ externalProposeMajority: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; @@ -1048,17 +1269,17 @@ declare module '@polkadot/api/types/submittable' { * Schedule the currently externally-proposed majority-carries referendum to be tabled * immediately. If there is no externally-proposed referendum currently, or if there is one * but it is not a majority-carries referendum then it fails. - * + * * The dispatch of this call must be `FastTrackOrigin`. - * + * * - `proposal_hash`: The hash of the current external proposal. * - `voting_period`: The period that is allowed for voting on this proposal. Increased to * `FastTrackVotingPeriod` if too low. * - `delay`: The number of block after voting has ended in approval and this should be * enacted. This doesn't have a minimum amount. - * + * * Emits `Started`. - * + * * Weight: `O(1)` **/ fastTrack: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, votingPeriod: BlockNumber | AnyNumber | Uint8Array, delay: BlockNumber | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, BlockNumber, BlockNumber]>; @@ -1067,13 +1288,13 @@ declare module '@polkadot/api/types/submittable' { * in the dispatch queue. No deposit is needed. When this call is successful, i.e. * the preimage has not been uploaded before and matches some imminent proposal, * no fee is paid. - * + * * The dispatch origin of this call must be _Signed_. - * + * * - `encoded_proposal`: The preimage of a proposal. - * + * * Emits `PreimageNoted`. - * + * * Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit). **/ noteImminentPreimage: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; @@ -1084,13 +1305,13 @@ declare module '@polkadot/api/types/submittable' { /** * Register the preimage for an upcoming proposal. This doesn't require the proposal to be * in the dispatch queue but does require a deposit, returned once enacted. - * + * * The dispatch origin of this call must be _Signed_. - * + * * - `encoded_proposal`: The preimage of a proposal. - * + * * Emits `PreimageNoted`. - * + * * Weight: `O(E)` with E size of `encoded_proposal` (protected by a required deposit). **/ notePreimage: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; @@ -1100,57 +1321,57 @@ declare module '@polkadot/api/types/submittable' { notePreimageOperational: AugmentedSubmittable<(encodedProposal: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Propose a sensitive action to be taken. - * + * * The dispatch origin of this call must be _Signed_ and the sender must * have funds to cover the deposit. - * + * * - `proposal_hash`: The hash of the proposal preimage. * - `value`: The amount of deposit (must be at least `MinimumDeposit`). - * + * * Emits `Proposed`. - * + * * Weight: `O(p)` **/ propose: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact]>; /** * Remove an expired proposal preimage and collect the deposit. - * + * * The dispatch origin of this call must be _Signed_. - * + * * - `proposal_hash`: The preimage hash of a proposal. * - `proposal_length_upper_bound`: an upper bound on length of the proposal. * Extrinsic is weighted according to this value with no refund. - * + * * This will only work after `VotingPeriod` blocks from the time that the preimage was * noted, if it's the same account doing it. If it's a different account, then it'll only * work an additional `EnactmentPeriod` later. - * + * * Emits `PreimageReaped`. - * + * * Weight: `O(D)` where D is length of proposal. **/ reapPreimage: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, proposalLenUpperBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact]>; /** * Remove a vote for a referendum. - * + * * If the `target` is equal to the signer, then this function is exactly equivalent to * `remove_vote`. If not equal to the signer, then the vote must have expired, * either because the referendum was cancelled, because the voter lost the referendum or * because the conviction period is over. - * + * * The dispatch origin of this call must be _Signed_. - * + * * - `target`: The account of the vote to be removed; this account must have voted for * referendum `index`. * - `index`: The index of referendum of the vote to be removed. - * + * * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on. * Weight is calculated for the maximum number of vote. **/ removeOtherVote: AugmentedSubmittable<(target: AccountId | string | Uint8Array, index: ReferendumIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic, [AccountId, ReferendumIndex]>; /** * Remove a vote for a referendum. - * + * * If: * - the referendum was cancelled, or * - the referendum is ongoing, or @@ -1160,7 +1381,7 @@ declare module '@polkadot/api/types/submittable' { * - the account made a split vote * ...then the vote is removed cleanly and a following call to `unlock` may result in more * funds being available. - * + * * If, however, the referendum has ended and: * - it finished corresponding to the vote of the account, and * - the account made a standard vote with conviction, and @@ -1168,75 +1389,75 @@ declare module '@polkadot/api/types/submittable' { * ...then the lock will be aggregated into the overall account's lock, which may involve * *overlocking* (where the two locks are combined into a single lock that is the maximum * of both the amount locked and the time is it locked for). - * + * * The dispatch origin of this call must be _Signed_, and the signer must have a vote * registered for referendum `index`. - * + * * - `index`: The index of referendum of the vote to be removed. - * + * * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on. * Weight is calculated for the maximum number of vote. **/ removeVote: AugmentedSubmittable<(index: ReferendumIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic, [ReferendumIndex]>; /** * Signals agreement with a particular proposal. - * + * * The dispatch origin of this call must be _Signed_ and the sender * must have funds to cover the deposit, equal to the original deposit. - * + * * - `proposal`: The index of the proposal to second. * - `seconds_upper_bound`: an upper bound on the current number of seconds on this * proposal. Extrinsic is weighted according to this value with no refund. - * + * * Weight: `O(S)` where S is the number of seconds a proposal already has. **/ second: AugmentedSubmittable<(proposal: Compact | AnyNumber | Uint8Array, secondsUpperBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Undelegate the voting power of the sending account. - * + * * Tokens may be unlocked following once an amount of time consistent with the lock period * of the conviction with which the delegation was issued. - * + * * The dispatch origin of this call must be _Signed_ and the signing account must be * currently delegating. - * + * * Emits `Undelegated`. - * + * * Weight: `O(R)` where R is the number of referendums the voter delegating to has * voted on. Weight is charged as if maximum votes. **/ undelegate: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Unlock tokens that have an expired lock. - * + * * The dispatch origin of this call must be _Signed_. - * + * * - `target`: The account to remove the lock on. - * + * * Weight: `O(R)` with R number of vote of target. **/ unlock: AugmentedSubmittable<(target: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Veto and blacklist the external proposal hash. - * + * * The dispatch origin of this call must be `VetoOrigin`. - * + * * - `proposal_hash`: The preimage hash of the proposal to veto and blacklist. - * + * * Emits `Vetoed`. - * + * * Weight: `O(V + log(V))` where V is number of `existing vetoers` **/ vetoExternal: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal; * otherwise it is a vote to keep the status quo. - * + * * The dispatch origin of this call must be _Signed_. - * + * * - `ref_index`: The index of the referendum to vote for. * - `vote`: The vote configuration. - * + * * Weight: `O(R)` where R is the number of referendums the voter has voted on. **/ vote: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array, vote: AccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, AccountVote]>; @@ -1248,26 +1469,26 @@ declare module '@polkadot/api/types/submittable' { electionProviderMultiPhase: { /** * Set a new value for `MinimumUntrustedScore`. - * + * * Dispatch origin must be aligned with `T::ForceOrigin`. - * + * * This check can be turned off by setting the value to `None`. **/ setMinimumUntrustedScore: AugmentedSubmittable<(maybeNextScore: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Option]>; /** * Submit a solution for the unsigned phase. - * + * * The dispatch origin fo this call must be __none__. - * + * * This submission is checked on the fly. Moreover, this unsigned solution is only * validated when submitted to the pool from the **local** node. Effectively, this means * that only active validators can submit this transaction when authoring a block (similar * to an inherent). - * + * * To prevent any incorrect solution (and thus wasted time/weight), this transaction will * panic if the solution submitted by the validator is invalid in any way, effectively * putting their authoring reward at risk. - * + * * No deposit or reward is associated with this submission. **/ submitUnsigned: AugmentedSubmittable<(solution: RawSolution | { compact?: any; score?: any; round?: any } | string | Uint8Array, witness: SolutionOrSnapshotSize | { voters?: any; targets?: any } | string | Uint8Array) => SubmittableExtrinsic, [RawSolution, SolutionOrSnapshotSize]>; @@ -1280,11 +1501,11 @@ declare module '@polkadot/api/types/submittable' { /** * Clean all voters who are defunct (i.e. they do not serve any purpose at all). The * deposit of the removed voters are returned. - * + * * This is an root function to be used only for cleaning the state. - * + * * The dispatch origin of this call must be root. - * + * * # * The total number of voters and those that are defunct must be provided as witness data. * # @@ -1293,14 +1514,14 @@ declare module '@polkadot/api/types/submittable' { /** * Remove a particular member from the set. This is effective immediately and the bond of * the outgoing member is slashed. - * + * * If a runner-up is available, then the best runner-up will be removed and replaces the * outgoing member. Otherwise, a new phragmen election is started. - * + * * The dispatch origin of this call must be root. - * + * * Note that this does not affect the designated block number of the next election. - * + * * # * If we have a replacement, we use a small weight. Else, since this is a root call and * will go into phragmen, we assume full block for now. @@ -1309,16 +1530,16 @@ declare module '@polkadot/api/types/submittable' { removeMember: AugmentedSubmittable<(who: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, hasReplacement: bool | boolean | Uint8Array) => SubmittableExtrinsic, [LookupSource, bool]>; /** * Remove `origin` as a voter. - * + * * This removes the lock and returns the deposit. - * + * * The dispatch origin of this call must be signed and be a voter. **/ removeVoter: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Renounce one's intention to be a candidate for the next election round. 3 potential * outcomes exist: - * + * * - `origin` is a candidate and not elected in any set. In this case, the deposit is * unreserved, returned and origin is removed as a candidate. * - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and @@ -1327,9 +1548,9 @@ declare module '@polkadot/api/types/submittable' { * removed as a member, consequently not being a candidate for the next round anymore. * Similar to [`remove_members`], if replacement runners exists, they are immediately * used. If the prime is renouncing, then no prime will exist until the next round. - * + * * The dispatch origin of this call must be signed, and have one of the above roles. - * + * * # * The type of renouncing must be provided as witness data. * # @@ -1337,17 +1558,17 @@ declare module '@polkadot/api/types/submittable' { renounceCandidacy: AugmentedSubmittable<(renouncing: Renouncing | { Member: any } | { RunnerUp: any } | { Candidate: any } | string | Uint8Array) => SubmittableExtrinsic, [Renouncing]>; /** * Submit oneself for candidacy. A fixed amount of deposit is recorded. - * + * * All candidates are wiped at the end of the term. They either become a member/runner-up, * or leave the system while their deposit is slashed. - * + * * The dispatch origin of this call must be signed. - * + * * ### Warning - * + * * Even if a candidate ends up being a member, they must call [`Call::renounce_candidacy`] * to get their deposit back. Losing the spot in an election will always lead to a slash. - * + * * # * The number of current candidates must be provided as witness data. * # @@ -1356,24 +1577,24 @@ declare module '@polkadot/api/types/submittable' { /** * Vote for a set of candidates for the upcoming round of election. This can be called to * set the initial votes, or update already existing votes. - * + * * Upon initial voting, `value` units of `who`'s balance is locked and a deposit amount is * reserved. The deposit is based on the number of votes and can be updated over time. - * + * * The `votes` should: * - not be empty. * - be less than the number of possible candidates. Note that all current members and * runners-up are also automatically candidates for the next round. - * + * * If `value` is more than `who`'s total balance, then the maximum of the two is used. - * + * * The dispatch origin of this call must be signed. - * + * * ### Warning - * + * * It is the responsibility of the caller to **NOT** place all of their balance into the * lock and keep some for further operations. - * + * * # * We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less. * # @@ -1387,35 +1608,35 @@ declare module '@polkadot/api/types/submittable' { gilt: { /** * Place a bid for a gilt to be issued. - * + * * Origin must be Signed, and account must have at least `amount` in free balance. - * + * * - `amount`: The amount of the bid; these funds will be reserved. If the bid is * successfully elevated into an issued gilt, then these funds will continue to be * reserved until the gilt expires. Must be at least `MinFreeze`. * - `duration`: The number of periods for which the funds will be locked if the gilt is * issued. It will expire only after this period has elapsed after the point of issuance. * Must be greater than 1 and no more than `QueueCount`. - * + * * Complexities: * - `Queues[duration].len()` (just take max). **/ placeBid: AugmentedSubmittable<(amount: Compact | AnyNumber | Uint8Array, duration: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, u32]>; /** * Retract a previously placed bid. - * + * * Origin must be Signed, and the account should have previously issued a still-active bid * of `amount` for `duration`. - * + * * - `amount`: The amount of the previous bid. * - `duration`: The duration of the previous bid. **/ retractBid: AugmentedSubmittable<(amount: Compact | AnyNumber | Uint8Array, duration: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, u32]>; /** * Set target proportion of gilt-funds. - * + * * Origin must be `AdminOrigin`. - * + * * - `target`: The target proportion of effective issued funds that should be under gilts * at any one time. **/ @@ -1424,9 +1645,9 @@ declare module '@polkadot/api/types/submittable' { * Remove an active but expired gilt. Reserved funds under gilt are freed and balance is * adjusted to ensure that the funds grow or shrink to maintain the equivalent proportion * of effective total issued funds. - * + * * Origin must be Signed and the account must be the owner of the gilt of the given index. - * + * * - `index`: The index of the gilt to be thawed. **/ thaw: AugmentedSubmittable<(index: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; @@ -1458,7 +1679,7 @@ declare module '@polkadot/api/types/submittable' { * 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 @@ -1473,13 +1694,13 @@ declare module '@polkadot/api/types/submittable' { identity: { /** * Add a registrar to the system. - * + * * The dispatch origin for this call must be `T::RegistrarOrigin`. - * + * * - `account`: the account of the registrar. - * + * * Emits `RegistrarAdded` if successful. - * + * * # * - `O(R)` where `R` registrar-count (governance-bounded and code-bounded). * - One storage mutation (codec `O(R)`). @@ -1489,26 +1710,26 @@ declare module '@polkadot/api/types/submittable' { addRegistrar: AugmentedSubmittable<(account: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Add the given account to the sender's subs. - * + * * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated * to the sender. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a registered * sub identity of `sub`. **/ addSub: AugmentedSubmittable<(sub: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource, Data]>; /** * Cancel a previous request. - * + * * Payment: A previously reserved deposit is returned on success. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a * registered identity. - * + * * - `reg_index`: The index of the registrar whose judgement is no longer requested. - * + * * Emits `JudgementUnrequested` if successful. - * + * * # * - `O(R + X)`. * - One balance-reserve operation. @@ -1519,14 +1740,14 @@ declare module '@polkadot/api/types/submittable' { cancelRequest: AugmentedSubmittable<(regIndex: RegistrarIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic, [RegistrarIndex]>; /** * Clear an account's identity info and all sub-accounts and return all deposits. - * + * * Payment: All reserved balances on the account are returned. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a registered * identity. - * + * * Emits `IdentityCleared` if successful. - * + * * # * - `O(R + S + X)` * - where `R` registrar-count (governance-bounded). @@ -1540,18 +1761,18 @@ declare module '@polkadot/api/types/submittable' { clearIdentity: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Remove an account's identity and sub-account information and slash the deposits. - * + * * Payment: Reserved balances from `set_subs` and `set_identity` are slashed and handled by * `Slash`. Verification request deposits are not returned; they should be cancelled * manually using `cancel_request`. - * + * * The dispatch origin for this call must match `T::ForceOrigin`. - * + * * - `target`: the account whose identity the judgement is upon. This must be an account * with a registered identity. - * + * * Emits `IdentityKilled` if successful. - * + * * # * - `O(R + S + X)`. * - One balance-reserve operation. @@ -1562,17 +1783,17 @@ declare module '@polkadot/api/types/submittable' { killIdentity: AugmentedSubmittable<(target: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; /** * Provide a judgement for an account's identity. - * + * * The dispatch origin for this call must be _Signed_ and the sender must be the account * of the registrar whose index is `reg_index`. - * + * * - `reg_index`: the index of the registrar whose judgement is being made. * - `target`: the account whose identity the judgement is upon. This must be an account * with a registered identity. * - `judgement`: the judgement of the registrar of index `reg_index` about `target`. - * + * * Emits `JudgementGiven` if successful. - * + * * # * - `O(R + X)`. * - One balance-transfer operation. @@ -1584,52 +1805,52 @@ declare module '@polkadot/api/types/submittable' { provideJudgement: AugmentedSubmittable<(regIndex: Compact | AnyNumber | Uint8Array, target: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, judgement: IdentityJudgement | { Unknown: any } | { FeePaid: any } | { Reasonable: any } | { KnownGood: any } | { OutOfDate: any } | { LowQuality: any } | { Erroneous: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, IdentityJudgement]>; /** * Remove the sender as a sub-account. - * + * * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated * to the sender (*not* the original depositor). - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a registered * super-identity. - * + * * NOTE: This should not normally be used, but is provided in the case that the non- * controller of an account is maliciously registered as a sub-account. **/ quitSub: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Remove the given account from the sender's subs. - * + * * Payment: Balance reserved by a previous `set_subs` call for one sub will be repatriated * to the sender. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a registered * sub identity of `sub`. **/ removeSub: AugmentedSubmittable<(sub: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; /** * Alter the associated name of the given sub-account. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a registered * sub identity of `sub`. **/ renameSub: AugmentedSubmittable<(sub: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, data: Data | { None: any } | { Raw: any } | { BlakeTwo256: any } | { Sha256: any } | { Keccak256: any } | { ShaThree256: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource, Data]>; /** * Request a judgement from a registrar. - * + * * Payment: At most `max_fee` will be reserved for payment to the registrar if judgement * given. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a * registered identity. - * + * * - `reg_index`: The index of the registrar whose judgement is requested. * - `max_fee`: The maximum fee that may be paid. This should just be auto-populated as: - * + * * ```nocompile * Self::registrars().get(reg_index).unwrap().fee * ``` - * + * * Emits `JudgementRequested` if successful. - * + * * # * - `O(R + X)`. * - One balance-reserve operation. @@ -1640,13 +1861,13 @@ declare module '@polkadot/api/types/submittable' { requestJudgement: AugmentedSubmittable<(regIndex: Compact | AnyNumber | Uint8Array, maxFee: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Change the account associated with a registrar. - * + * * The dispatch origin for this call must be _Signed_ and the sender must be the account * of the registrar whose index is `index`. - * + * * - `index`: the index of the registrar whose fee is to be set. * - `new`: the new account ID. - * + * * # * - `O(R)`. * - One storage mutation `O(R)`. @@ -1656,13 +1877,13 @@ declare module '@polkadot/api/types/submittable' { setAccountId: AugmentedSubmittable<(index: Compact | AnyNumber | Uint8Array, updated: AccountId | string | Uint8Array) => SubmittableExtrinsic, [Compact, AccountId]>; /** * Set the fee required for a judgement to be requested from a registrar. - * + * * The dispatch origin for this call must be _Signed_ and the sender must be the account * of the registrar whose index is `index`. - * + * * - `index`: the index of the registrar whose fee is to be set. * - `fee`: the new fee. - * + * * # * - `O(R)`. * - One storage mutation `O(R)`. @@ -1672,13 +1893,13 @@ declare module '@polkadot/api/types/submittable' { setFee: AugmentedSubmittable<(index: Compact | AnyNumber | Uint8Array, fee: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Set the field information for a registrar. - * + * * The dispatch origin for this call must be _Signed_ and the sender must be the account * of the registrar whose index is `index`. - * + * * - `index`: the index of the registrar whose fee is to be set. * - `fields`: the fields that the registrar concerns themselves with. - * + * * # * - `O(R)`. * - One storage mutation `O(R)`. @@ -1688,16 +1909,16 @@ declare module '@polkadot/api/types/submittable' { setFields: AugmentedSubmittable<(index: Compact | AnyNumber | Uint8Array, fields: IdentityFields) => SubmittableExtrinsic, [Compact, IdentityFields]>; /** * Set an account's identity information and reserve the appropriate deposit. - * + * * If the account already has identity information, the deposit is taken as part payment * for the new deposit. - * + * * The dispatch origin for this call must be _Signed_. - * + * * - `info`: The identity information. - * + * * Emits `IdentitySet` if successful. - * + * * # * - `O(X + X' + R)` * - where `X` additional-field-count (deposit-bounded and code-bounded) @@ -1710,15 +1931,15 @@ declare module '@polkadot/api/types/submittable' { setIdentity: AugmentedSubmittable<(info: IdentityInfo | { additional?: any; display?: any; legal?: any; web?: any; riot?: any; email?: any; pgpFingerprint?: any; image?: any; twitter?: any } | string | Uint8Array) => SubmittableExtrinsic, [IdentityInfo]>; /** * Set the sub-accounts of the sender. - * + * * Payment: Any aggregate balance reserved by previous `set_subs` calls will be returned * and an amount `SubAccountDeposit` will be reserved for each item in `subs`. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have a registered * identity. - * + * * - `subs`: The identity's (new) sub-accounts. - * + * * # * - `O(P + S)` * - where `P` old-subs-count (hard- and deposit-bounded). @@ -1758,15 +1979,15 @@ declare module '@polkadot/api/types/submittable' { indices: { /** * Assign an previously unassigned index. - * + * * Payment: `Deposit` is reserved from the sender account. - * + * * The dispatch origin for this call must be _Signed_. - * + * * - `index`: the index to be claimed. This must not be in use. - * + * * Emits `IndexAssigned` if successful. - * + * * # * - `O(1)`. * - One storage mutation (codec `O(1)`). @@ -1780,15 +2001,15 @@ declare module '@polkadot/api/types/submittable' { /** * Force an index to an account. This doesn't require a deposit. If the index is already * held, then any deposit is reimbursed to its current owner. - * + * * The dispatch origin for this call must be _Root_. - * + * * - `index`: the index to be (re-)assigned. * - `new`: the new owner of the index. This function is a no-op if it is equal to sender. * - `freeze`: if set to `true`, will freeze the index so it cannot be transferred. - * + * * Emits `IndexAssigned` if successful. - * + * * # * - `O(1)`. * - One storage mutation (codec `O(1)`). @@ -1803,15 +2024,15 @@ declare module '@polkadot/api/types/submittable' { forceTransfer: AugmentedSubmittable<(updated: AccountId | string | Uint8Array, index: AccountIndex | AnyNumber | Uint8Array, freeze: bool | boolean | Uint8Array) => SubmittableExtrinsic, [AccountId, AccountIndex, bool]>; /** * Free up an index owned by the sender. - * + * * Payment: Any previous deposit placed for the index is unreserved in the sender account. - * + * * The dispatch origin for this call must be _Signed_ and the sender must own the index. - * + * * - `index`: the index to be freed. This must be owned by the sender. - * + * * Emits `IndexFreed` if successful. - * + * * # * - `O(1)`. * - One storage mutation (codec `O(1)`). @@ -1824,14 +2045,14 @@ declare module '@polkadot/api/types/submittable' { free: AugmentedSubmittable<(index: AccountIndex | AnyNumber | Uint8Array) => SubmittableExtrinsic, [AccountIndex]>; /** * Freeze an index so it will always point to the sender account. This consumes the deposit. - * + * * The dispatch origin for this call must be _Signed_ and the signing account must have a * non-frozen account `index`. - * + * * - `index`: the index to be frozen in place. - * + * * Emits `IndexFrozen` if successful. - * + * * # * - `O(1)`. * - One storage mutation (codec `O(1)`). @@ -1845,14 +2066,14 @@ declare module '@polkadot/api/types/submittable' { /** * Assign an index already owned by the sender to another account. The balance reservation * is effectively transferred to the new account. - * + * * The dispatch origin for this call must be _Signed_. - * + * * - `index`: the index to be re-assigned. This must be owned by the sender. * - `new`: the new owner of the index. This function is a no-op if it is equal to sender. - * + * * Emits `IndexAssigned` if successful. - * + * * # * - `O(1)`. * - One storage mutation (codec `O(1)`). @@ -1873,34 +2094,34 @@ declare module '@polkadot/api/types/submittable' { lottery: { /** * Buy a ticket to enter the lottery. - * + * * This extrinsic acts as a passthrough function for `call`. In all * situations where `call` alone would succeed, this extrinsic should * succeed. - * + * * If `call` is successful, then we will attempt to purchase a ticket, * which may fail silently. To detect success of a ticket purchase, you * should listen for the `TicketBought` event. - * + * * This extrinsic must be called by a signed origin. **/ buyTicket: AugmentedSubmittable<(call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [Call]>; /** * Set calls in storage which can be used to purchase a lottery ticket. - * + * * This function only matters if you use the `ValidateCall` implementation * provided by this pallet, which uses storage to determine the valid calls. - * + * * This extrinsic must be called by the Manager origin. **/ setCalls: AugmentedSubmittable<(calls: Vec | (Call | { callIndex?: any; args?: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Start a lottery using the provided configuration. - * + * * This extrinsic must be called by the `ManagerOrigin`. - * + * * Parameters: - * + * * * `price`: The cost of a single ticket. * * `length`: How long the lottery should run for starting at the current block. * * `delay`: How long after the lottery end we should wait before picking a winner. @@ -1910,7 +2131,7 @@ declare module '@polkadot/api/types/submittable' { /** * If a lottery is repeating, you can use this to stop the repeat. * The lottery will continue to run to completion. - * + * * This extrinsic must be called by the `ManagerOrigin`. **/ stopRepeat: AugmentedSubmittable<() => SubmittableExtrinsic, []>; @@ -1923,13 +2144,13 @@ declare module '@polkadot/api/types/submittable' { /** * 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. @@ -1937,9 +2158,9 @@ declare module '@polkadot/api/types/submittable' { * 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. - * + * * # * - `O(S)`. * - Up to one balance-reserve or unreserve operation. @@ -1962,15 +2183,15 @@ declare module '@polkadot/api/types/submittable' { /** * 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. @@ -1978,14 +2199,14 @@ declare module '@polkadot/api/types/submittable' { * 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. - * + * * # * - `O(S + Z + Call)`. * - Up to one balance-reserve or unreserve operation. @@ -2010,15 +2231,15 @@ declare module '@polkadot/api/types/submittable' { asMulti: AugmentedSubmittable<(threshold: u16 | AnyNumber | Uint8Array, otherSignatories: Vec | (AccountId | string | Uint8Array)[], maybeTimepoint: Option | null | object | string | Uint8Array, call: OpaqueCall | string | Uint8Array, storeCall: bool | boolean | Uint8Array, maxWeight: Weight | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u16, Vec, Option, OpaqueCall, bool, Weight]>; /** * 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. - * + * * # * O(Z + C) where Z is the length of the call and C its execution weight. * ------------------------------- @@ -2030,16 +2251,16 @@ declare module '@polkadot/api/types/submittable' { /** * 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. - * + * * # * - `O(S)`. * - Up to one balance-reserve or unreserve operation. @@ -2064,15 +2285,15 @@ declare module '@polkadot/api/types/submittable' { proxy: { /** * 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. - * + * * # * Weight is a function of the number of proxies the user has (P). * # @@ -2080,21 +2301,21 @@ declare module '@polkadot/api/types/submittable' { addProxy: AugmentedSubmittable<(delegate: AccountId | string | Uint8Array, proxyType: ProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, delay: BlockNumber | AnyNumber | Uint8Array) => SubmittableExtrinsic, [AccountId, ProxyType, BlockNumber]>; /** * 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. - * + * * # * Weight is a function of: * - A: the number of announcements made. @@ -2105,9 +2326,9 @@ declare module '@polkadot/api/types/submittable' { /** * 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. @@ -2116,12 +2337,12 @@ declare module '@polkadot/api/types/submittable' { * 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. - * + * * # * Weight is a function of the number of proxies the user has (P). * # @@ -2130,22 +2351,22 @@ declare module '@polkadot/api/types/submittable' { anonymous: AugmentedSubmittable<(proxyType: ProxyType | 'Any' | 'NonTransfer' | 'Governance' | 'Staking' | number | Uint8Array, delay: BlockNumber | AnyNumber | Uint8Array, index: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [ProxyType, BlockNumber, u16]>; /** * Removes a previously spawned anonymous 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 * `anonymous` with corresponding parameters. - * + * * - `spawner`: The account that originally called `anonymous` to create this account. * - `index`: The disambiguation index originally passed to `anonymous`. Probably `0`. * - `proxy_type`: The proxy type originally passed to `anonymous`. * - `height`: The height of the chain when the call to `anonymous` was processed. * - `ext_index`: The extrinsic index in which the call to `anonymous` was processed. - * + * * Fails with `NoPermission` in case the caller is not a previously created anonymous * account whose `anonymous` call has corresponding parameters. - * + * * # * Weight is a function of the number of proxies the user has (P). * # @@ -2154,16 +2375,16 @@ declare module '@polkadot/api/types/submittable' { /** * Dispatch the given `call` from an account that the sender is authorised 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. - * + * * # * Weight is a function of the number of proxies the user has (P). * # @@ -2172,16 +2393,16 @@ declare module '@polkadot/api/types/submittable' { /** * 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. - * + * * # * Weight is a function of: * - A: the number of announcements made. @@ -2191,16 +2412,16 @@ declare module '@polkadot/api/types/submittable' { proxyAnnounced: AugmentedSubmittable<(delegate: AccountId | string | Uint8Array, real: AccountId | string | Uint8Array, forceProxyType: Option | null | object | string | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [AccountId, AccountId, Option, Call]>; /** * 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. - * + * * # * Weight is a function of: * - A: the number of announcements made. @@ -2210,16 +2431,16 @@ declare module '@polkadot/api/types/submittable' { rejectAnnouncement: AugmentedSubmittable<(delegate: AccountId | string | Uint8Array, callHash: CallHashOf | string | Uint8Array) => SubmittableExtrinsic, [AccountId, CallHashOf]>; /** * 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. - * + * * # * Weight is a function of: * - A: the number of announcements made. @@ -2229,12 +2450,12 @@ declare module '@polkadot/api/types/submittable' { removeAnnouncement: AugmentedSubmittable<(real: AccountId | string | Uint8Array, callHash: CallHashOf | string | Uint8Array) => SubmittableExtrinsic, [AccountId, CallHashOf]>; /** * 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 `anonymous`, however if done, then * the unreserved fees will be inaccessible. **All access to this account will be lost.** - * + * * # * Weight is a function of the number of proxies the user has (P). * # @@ -2242,13 +2463,13 @@ declare module '@polkadot/api/types/submittable' { removeProxies: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * 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. - * + * * # * Weight is a function of the number of proxies the user has (P). * # @@ -2262,14 +2483,14 @@ declare module '@polkadot/api/types/submittable' { recovery: { /** * Send a call through a recovered account. - * + * * The dispatch origin for this call must be _Signed_ and registered to * be able to make calls on behalf of the recovered account. - * + * * Parameters: * - `account`: The recovered account you want to make a call on-behalf-of. * - `call`: The call you want to make with the recovered account. - * + * * # * - The weight of the `call` + 10,000. * - One storage lookup to check account is recovered by `who`. O(1) @@ -2278,13 +2499,13 @@ declare module '@polkadot/api/types/submittable' { asRecovered: AugmentedSubmittable<(account: AccountId | string | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [AccountId, Call]>; /** * Cancel the ability to use `as_recovered` for `account`. - * + * * The dispatch origin for this call must be _Signed_ and registered to * be able to make calls on behalf of the recovered account. - * + * * Parameters: * - `account`: The recovered account you are able to call on-behalf-of. - * + * * # * - One storage mutation to check account is recovered by `who`. O(1) * # @@ -2292,15 +2513,15 @@ declare module '@polkadot/api/types/submittable' { cancelRecovered: AugmentedSubmittable<(account: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Allow a successful rescuer to claim their recovered account. - * + * * The dispatch origin for this call must be _Signed_ and must be a "rescuer" * who has successfully completed the account recovery process: collected * `threshold` or more vouches, waited `delay_period` blocks since initiation. - * + * * Parameters: * - `account`: The lost account that you want to claim has been successfully * recovered by you. - * + * * # * Key: F (len of friends in config), V (len of vouching friends) * - One storage read to get the recovery configuration. O(1), Codec O(F) @@ -2308,7 +2529,7 @@ declare module '@polkadot/api/types/submittable' { * - One storage read to get the current block number. O(1) * - One storage write. O(1), Codec O(V). * - One event. - * + * * Total Complexity: O(F + V) * # **/ @@ -2316,35 +2537,35 @@ declare module '@polkadot/api/types/submittable' { /** * As the controller of a recoverable account, close an active recovery * process for your account. - * + * * Payment: By calling this function, the recoverable account will receive * the recovery deposit `RecoveryDeposit` placed by the rescuer. - * + * * The dispatch origin for this call must be _Signed_ and must be a * recoverable account with an active recovery process for it. - * + * * Parameters: * - `rescuer`: The account trying to rescue this recoverable account. - * + * * # * Key: V (len of vouching friends) * - One storage read/remove to get the active recovery process. O(1), Codec O(V) * - One balance call to repatriate reserved. O(X) * - One event. - * + * * Total Complexity: O(V + X) * # **/ closeRecovery: AugmentedSubmittable<(rescuer: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Create a recovery configuration for your account. This makes your account recoverable. - * + * * Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance * will be reserved for storing the recovery configuration. This deposit is returned * in full when the user calls `remove_recovery`. - * + * * The dispatch origin for this call must be _Signed_. - * + * * Parameters: * - `friends`: A list of friends you trust to vouch for recovery attempts. * Should be ordered and contain no duplicate values. @@ -2353,7 +2574,7 @@ declare module '@polkadot/api/types/submittable' { * the length of the list of friends. * - `delay_period`: The number of blocks after a recovery attempt is initialized * that needs to pass before the account can be recovered. - * + * * # * - Key: F (len of friends) * - One storage read to check that account is not already recoverable. O(1). @@ -2361,24 +2582,24 @@ declare module '@polkadot/api/types/submittable' { * - One currency reserve operation. O(X) * - One storage write. O(1). Codec O(F). * - One event. - * + * * Total Complexity: O(F + X) * # **/ createRecovery: AugmentedSubmittable<(friends: Vec | (AccountId | string | Uint8Array)[], threshold: u16 | AnyNumber | Uint8Array, delayPeriod: BlockNumber | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, u16, BlockNumber]>; /** * Initiate the process for recovering a recoverable account. - * + * * Payment: `RecoveryDeposit` balance will be reserved for initiating the * recovery process. This deposit will always be repatriated to the account * trying to be recovered. See `close_recovery`. - * + * * The dispatch origin for this call must be _Signed_. - * + * * Parameters: * - `account`: The lost account that you want to recover. This account * needs to be recoverable (i.e. have a recovery configuration). - * + * * # * - One storage read to check that account is recoverable. O(F) * - One storage read to check that this recovery process hasn't already started. O(1) @@ -2386,31 +2607,31 @@ declare module '@polkadot/api/types/submittable' { * - One storage read to get the current block number. O(1) * - One storage write. O(1). * - One event. - * + * * Total Complexity: O(F + X) * # **/ initiateRecovery: AugmentedSubmittable<(account: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Remove the recovery process for your account. Recovered accounts are still accessible. - * + * * NOTE: The user must make sure to call `close_recovery` on all active * recovery attempts before calling this function else it will fail. - * + * * Payment: By calling this function the recoverable account will unreserve * their recovery configuration deposit. * (`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends) - * + * * The dispatch origin for this call must be _Signed_ and must be a * recoverable account (i.e. has a recovery configuration). - * + * * # * Key: F (len of friends) * - One storage read to get the prefix iterator for active recoveries. O(1) * - One storage read/remove to get the recovery configuration. O(1), Codec O(F) * - One balance call to unreserved. O(X) * - One event. - * + * * Total Complexity: O(F + X) * # **/ @@ -2418,13 +2639,13 @@ declare module '@polkadot/api/types/submittable' { /** * Allow ROOT to bypass the recovery process and set an a rescuer account * for a lost account directly. - * + * * The dispatch origin for this call must be _ROOT_. - * + * * Parameters: * - `lost`: The "lost account" to be recovered. * - `rescuer`: The "rescuer account" which can call as the lost account. - * + * * # * - One storage write O(1) * - One event @@ -2434,18 +2655,18 @@ declare module '@polkadot/api/types/submittable' { /** * Allow a "friend" of a recoverable account to vouch for an active recovery * process for that account. - * + * * The dispatch origin for this call must be _Signed_ and must be a "friend" * for the recoverable account. - * + * * Parameters: * - `lost`: The lost account that you want to recover. * - `rescuer`: The account trying to rescue the lost account that you * want to vouch for. - * + * * The combination of these two parameters must point to an active recovery * process. - * + * * # * Key: F (len of friends in config), V (len of vouching friends) * - One storage read to get the recovery configuration. O(1), Codec O(F) @@ -2454,7 +2675,7 @@ declare module '@polkadot/api/types/submittable' { * - One binary search to confirm caller has not already vouched. O(logV) * - One storage write. O(1), Codec O(V). * - One event. - * + * * Total Complexity: O(F + logF + V + logV) * # **/ @@ -2467,7 +2688,7 @@ declare module '@polkadot/api/types/submittable' { scheduler: { /** * Cancel an anonymously scheduled task. - * + * * # * - S = Number of already scheduled calls * - Base Weight: 22.15 + 2.869 * S µs @@ -2480,7 +2701,7 @@ declare module '@polkadot/api/types/submittable' { cancel: AugmentedSubmittable<(when: BlockNumber | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [BlockNumber, u32]>; /** * Cancel a named scheduled task. - * + * * # * - S = Number of already scheduled calls * - Base Weight: 24.91 + 2.907 * S µs @@ -2493,7 +2714,7 @@ declare module '@polkadot/api/types/submittable' { cancelNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Anonymously schedule a task. - * + * * # * - S = Number of already scheduled calls * - Base Weight: 22.29 + .126 * S µs @@ -2506,7 +2727,7 @@ declare module '@polkadot/api/types/submittable' { schedule: AugmentedSubmittable<(when: BlockNumber | AnyNumber | Uint8Array, maybePeriodic: Option | null | object | string | Uint8Array, priority: Priority | AnyNumber | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [BlockNumber, Option, Priority, Call]>; /** * Anonymously schedule a task after a delay. - * + * * # * Same as [`schedule`]. * # @@ -2514,7 +2735,7 @@ declare module '@polkadot/api/types/submittable' { scheduleAfter: AugmentedSubmittable<(after: BlockNumber | AnyNumber | Uint8Array, maybePeriodic: Option | null | object | string | Uint8Array, priority: Priority | AnyNumber | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [BlockNumber, Option, Priority, Call]>; /** * Schedule a named task. - * + * * # * - S = Number of already scheduled calls * - Base Weight: 29.6 + .159 * S µs @@ -2527,7 +2748,7 @@ declare module '@polkadot/api/types/submittable' { scheduleNamed: AugmentedSubmittable<(id: Bytes | string | Uint8Array, when: BlockNumber | AnyNumber | Uint8Array, maybePeriodic: Option | null | object | string | Uint8Array, priority: Priority | AnyNumber | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [Bytes, BlockNumber, Option, Priority, Call]>; /** * Schedule a named task after a delay. - * + * * # * Same as [`schedule_named`]. * # @@ -2542,9 +2763,9 @@ declare module '@polkadot/api/types/submittable' { /** * Removes any session key(s) of the function caller. * This doesn't take effect until the next session. - * + * * The dispatch origin of this function must be signed. - * + * * # * - Complexity: `O(1)` in number of key types. * Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed. @@ -2558,9 +2779,9 @@ declare module '@polkadot/api/types/submittable' { * Sets the session key(s) of the function caller to `keys`. * Allows an account to set its session key prior to becoming a validator. * This doesn't take effect until the next session. - * + * * The dispatch origin of this function must be signed. - * + * * # * - Complexity: `O(1)` * Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed. @@ -2579,15 +2800,15 @@ declare module '@polkadot/api/types/submittable' { society: { /** * A user outside of the society can make a bid for entry. - * + * * Payment: `CandidateDeposit` will be reserved for making a bid. It is returned * when the bid becomes a member, or if the bid calls `unbid`. - * + * * The dispatch origin for this call must be _Signed_. - * + * * Parameters: * - `value`: A one time payment the bid would like to receive when joining the society. - * + * * # * Key: B (len of bids), C (len of candidates), M (len of members), X (balance reserve) * - Storage Reads: @@ -2608,70 +2829,70 @@ declare module '@polkadot/api/types/submittable' { * - Events: * - One event for new bid. * - Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT. - * + * * Total Complexity: O(M + B + C + logM + logB + X) * # **/ bid: AugmentedSubmittable<(value: BalanceOf | AnyNumber | Uint8Array) => SubmittableExtrinsic, [BalanceOf]>; /** * As a member, vote on the defender. - * + * * The dispatch origin for this call must be _Signed_ and a member. - * + * * Parameters: * - `approve`: A boolean which says if the candidate should be * approved (`true`) or rejected (`false`). - * + * * # * - Key: M (len of members) * - One storage read O(M) and O(log M) search to check user is a member. * - One storage write to add vote to votes. O(1) * - One event. - * + * * Total Complexity: O(M + logM) * # **/ defenderVote: AugmentedSubmittable<(approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [bool]>; /** * Found the society. - * + * * This is done as a discrete action in order to allow for the * module to be included into a running chain and can only be done once. - * + * * The dispatch origin for this call must be from the _FounderSetOrigin_. - * + * * Parameters: * - `founder` - The first member and head of the newly founded society. * - `max_members` - The initial max number of members for the society. * - `rules` - The rules of this society concerning membership. - * + * * # * - Two storage mutates to set `Head` and `Founder`. O(1) * - One storage write to add the first member to society. O(1) * - One event. - * + * * Total Complexity: O(1) * # **/ found: AugmentedSubmittable<(founder: AccountId | string | Uint8Array, maxMembers: u32 | AnyNumber | Uint8Array, rules: Bytes | string | Uint8Array) => SubmittableExtrinsic, [AccountId, u32, Bytes]>; /** * Allow suspended judgement origin to make judgement on a suspended candidate. - * + * * If the judgement is `Approve`, we add them to society as a member with the appropriate * payment for joining society. - * + * * If the judgement is `Reject`, we either slash the deposit of the bid, giving it back * to the society treasury, or we ban the voucher from vouching again. - * + * * If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go * through the induction process again. - * + * * The dispatch origin for this call must be from the _SuspensionJudgementOrigin_. - * + * * Parameters: * - `who` - The suspended candidate to be judged. * - `judgement` - `Approve`, `Reject`, or `Rebid`. - * + * * # * Key: B (len of bids), M (len of members), X (balance action) * - One storage read to check `who` is a suspended candidate. @@ -2692,27 +2913,27 @@ declare module '@polkadot/api/types/submittable' { * - Up to one additional event if unvouch takes place. * - One storage removal. * - One event for the judgement. - * + * * Total Complexity: O(M + logM + B + X) * # **/ judgeSuspendedCandidate: AugmentedSubmittable<(who: AccountId | string | Uint8Array, judgement: SocietyJudgement | 'Rebid' | 'Reject' | 'Approve' | number | Uint8Array) => SubmittableExtrinsic, [AccountId, SocietyJudgement]>; /** * Allow suspension judgement origin to make judgement on a suspended member. - * + * * If a suspended member is forgiven, we simply add them back as a member, not affecting * any of the existing storage items for that member. - * + * * If a suspended member is rejected, remove all associated storage items, including * their payouts, and remove any vouched bids they currently have. - * + * * The dispatch origin for this call must be from the _SuspensionJudgementOrigin_. - * + * * Parameters: * - `who` - The suspended member to be judged. * - `forgive` - A boolean representing whether the suspension judgement origin * forgives (`true`) or rejects (`false`) a suspended member. - * + * * # * Key: B (len of bids), M (len of members) * - One storage read to check `who` is a suspended member. O(1) @@ -2722,22 +2943,22 @@ declare module '@polkadot/api/types/submittable' { * - Up to one additional event if unvouch takes place. * - One storage removal. O(1) * - One event for the judgement. - * + * * Total Complexity: O(M + logM + B) * # **/ judgeSuspendedMember: AugmentedSubmittable<(who: AccountId | string | Uint8Array, forgive: bool | boolean | Uint8Array) => SubmittableExtrinsic, [AccountId, bool]>; /** * Transfer the first matured payout for the sender and remove it from the records. - * + * * NOTE: This extrinsic needs to be called multiple times to claim multiple matured payouts. - * + * * Payment: The member will receive a payment equal to their first matured * payout to their free balance. - * + * * The dispatch origin for this call must be _Signed_ and a member with * payouts remaining. - * + * * # * Key: M (len of members), P (number of payouts for a particular member) * - One storage read O(M) and O(log M) search to check signer is a member. @@ -2745,7 +2966,7 @@ declare module '@polkadot/api/types/submittable' { * - One storage read O(1) to get the current block number. * - One currency transfer call. O(X) * - One storage write or removal to update the member's payouts. O(P) - * + * * Total Complexity: O(M + logM + P + X) * # **/ @@ -2753,16 +2974,16 @@ declare module '@polkadot/api/types/submittable' { /** * Allows root origin to change the maximum number of members in society. * Max membership count must be greater than 1. - * + * * The dispatch origin for this call must be from _ROOT_. - * + * * Parameters: * - `max` - The maximum number of members for the society. - * + * * # * - One storage write to update the max. O(1) * - One event. - * + * * Total Complexity: O(1) * # **/ @@ -2771,36 +2992,36 @@ declare module '@polkadot/api/types/submittable' { * A bidder can remove their bid for entry into society. * By doing so, they will have their candidate deposit returned or * they will unvouch their voucher. - * + * * Payment: The bid deposit is unreserved if the user made a bid. - * + * * The dispatch origin for this call must be _Signed_ and a bidder. - * + * * Parameters: * - `pos`: Position in the `Bids` vector of the bid who wants to unbid. - * + * * # * Key: B (len of bids), X (balance unreserve) * - One storage read and write to retrieve and update the bids. O(B) * - Either one unreserve balance action O(X) or one vouching storage removal. O(1) * - One event. - * + * * Total Complexity: O(B + X) * # **/ unbid: AugmentedSubmittable<(pos: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** * Annul the founding of the society. - * + * * The dispatch origin for this call must be Signed, and the signing account must be both * the `Founder` and the `Head`. This implies that it may only be done when there is one * member. - * + * * # * - Two storage reads O(1). * - Four storage removals O(1). * - One event. - * + * * Total Complexity: O(1) * # **/ @@ -2808,33 +3029,33 @@ declare module '@polkadot/api/types/submittable' { /** * As a vouching member, unvouch a bid. This only works while vouched user is * only a bidder (and not a candidate). - * + * * The dispatch origin for this call must be _Signed_ and a vouching member. - * + * * Parameters: * - `pos`: Position in the `Bids` vector of the bid who should be unvouched. - * + * * # * Key: B (len of bids) * - One storage read O(1) to check the signer is a vouching member. * - One storage mutate to retrieve and update the bids. O(B) * - One vouching storage removal. O(1) * - One event. - * + * * Total Complexity: O(B) * # **/ unvouch: AugmentedSubmittable<(pos: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; /** * As a member, vote on a candidate. - * + * * The dispatch origin for this call must be _Signed_ and a member. - * + * * Parameters: * - `candidate`: The candidate that the member would like to bid on. * - `approve`: A boolean which says if the candidate should be * approved (`true`) or rejected (`false`). - * + * * # * Key: C (len of candidates), M (len of members) * - One storage read O(M) and O(log M) search to check user is a member. @@ -2842,30 +3063,30 @@ declare module '@polkadot/api/types/submittable' { * - One storage read O(C) and O(C) search to check that user is a candidate. * - One storage write to add vote to votes. O(1) * - One event. - * + * * Total Complexity: O(M + logM + C) * # **/ vote: AugmentedSubmittable<(candidate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [LookupSource, bool]>; /** * As a member, vouch for someone to join society by placing a bid on their behalf. - * + * * There is no deposit required to vouch for a new bid, but a member can only vouch for * one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by * the suspension judgement origin, the member will be banned from vouching again. - * + * * As a vouching member, you can claim a tip if the candidate is accepted. This tip will * be paid as a portion of the reward the member will receive for joining the society. - * + * * The dispatch origin for this call must be _Signed_ and a member. - * + * * Parameters: * - `who`: The user who you would like to vouch for. * - `value`: The total reward to be paid between you and the candidate if they become * a member in the society. * - `tip`: Your cut of the total `value` payout when the candidate is inducted into * the society. Tips larger than `value` will be saturated upon payout. - * + * * # * Key: B (len of bids), C (len of candidates), M (len of members) * - Storage Reads: @@ -2889,7 +3110,7 @@ declare module '@polkadot/api/types/submittable' { * - Events: * - One event for vouch. * - Up to one event for AutoUnbid if bid.len() > MAX_BID_COUNT. - * + * * Total Complexity: O(M + B + C + logM + logB + X) * # **/ @@ -2903,18 +3124,18 @@ declare module '@polkadot/api/types/submittable' { /** * Take the origin account as a stash and lock up `value` of its balance. `controller` will * be the account that controls it. - * + * * `value` must be more than the `minimum_balance` specified by `T::Currency`. - * + * * The dispatch origin for this call must be _Signed_ by the stash account. - * + * * Emits `Bonded`. - * + * * # * - Independent of the arguments. Moderate complexity. * - O(1). * - Three extra DB entries. - * + * * NOTE: Two of the storage writes (`Self::bonded`, `Self::payee`) are _never_ cleaned * unless the `origin` falls below _existential deposit_ and gets removed as dust. * ------------------ @@ -2928,16 +3149,16 @@ declare module '@polkadot/api/types/submittable' { /** * Add some extra amount that have appeared in the stash `free_balance` into the balance up * for staking. - * + * * Use this if there are additional funds in your stash account that you wish to bond. * Unlike [`bond`] or [`unbond`] this function does not impose any limitation on the amount * that can be added. - * + * * The dispatch origin for this call must be _Signed_ by the stash, not the controller and * it can be only called when [`EraElectionStatus`] is `Closed`. - * + * * Emits `Bonded`. - * + * * # * - Independent of the arguments. Insignificant complexity. * - O(1). @@ -2951,11 +3172,11 @@ declare module '@polkadot/api/types/submittable' { bondExtra: AugmentedSubmittable<(maxAdditional: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Cancel enactment of a deferred slash. - * + * * Can be called by the `T::SlashCancelOrigin`. - * + * * Parameters: era and indices of the slashes for that era to kill. - * + * * # * Complexity: O(U + S) * with U unapplied slashes weighted with U=1000 @@ -2967,12 +3188,12 @@ declare module '@polkadot/api/types/submittable' { cancelDeferredSlash: AugmentedSubmittable<(era: EraIndex | AnyNumber | Uint8Array, slashIndices: Vec | (u32 | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic, [EraIndex, Vec]>; /** * Declare no desire to either validate or nominate. - * + * * Effects will be felt at the beginning of the next era. - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. * And, it can be only called when [`EraElectionStatus`] is `Closed`. - * + * * # * - Independent of the arguments. Insignificant complexity. * - Contains one read. @@ -2988,9 +3209,9 @@ declare module '@polkadot/api/types/submittable' { /** * Force there to be a new era at the end of the next session. After this, it will be * reset to normal (non-forced) behaviour. - * + * * The dispatch origin must be Root. - * + * * # * - No arguments. * - Weight: O(1) @@ -3000,9 +3221,9 @@ declare module '@polkadot/api/types/submittable' { forceNewEra: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Force there to be a new era at the end of sessions indefinitely. - * + * * The dispatch origin must be Root. - * + * * # * - Weight: O(1) * - Write: ForceEra @@ -3011,9 +3232,9 @@ declare module '@polkadot/api/types/submittable' { forceNewEraAlways: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Force there to be no new eras indefinitely. - * + * * The dispatch origin must be Root. - * + * * # * - No arguments. * - Weight: O(1) @@ -3023,9 +3244,9 @@ declare module '@polkadot/api/types/submittable' { forceNoEras: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Force a current staker to become completely unstaked, immediately. - * + * * The dispatch origin must be Root. - * + * * # * O(S) where S is the number of slashing spans to be removed * Reads: Bonded, Slashing Spans, Account, Locks @@ -3036,9 +3257,9 @@ declare module '@polkadot/api/types/submittable' { forceUnstake: AugmentedSubmittable<(stash: AccountId | string | Uint8Array, numSlashingSpans: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [AccountId, u32]>; /** * Increments the ideal number of validators. - * + * * The dispatch origin must be Root. - * + * * # * Same as [`set_validator_count`]. * # @@ -3046,29 +3267,29 @@ declare module '@polkadot/api/types/submittable' { increaseValidatorCount: AugmentedSubmittable<(additional: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Remove the given nominations from the calling validator. - * + * * Effects will be felt at the beginning of the next era. - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. * And, it can be only called when [`EraElectionStatus`] is `Closed`. The controller * account should represent a validator. - * + * * - `who`: A list of nominator stash accounts who are nominating this validator which * should no longer be nominating this validator. - * + * * Note: Making this call only makes sense if you first set the validator preferences to * block any further nominations. **/ kick: AugmentedSubmittable<(who: Vec | (LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Declare the desire to nominate `targets` for the origin controller. - * + * * Effects will be felt at the beginning of the next era. This can only be called when * [`EraElectionStatus`] is `Closed`. - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. * And, it can be only called when [`EraElectionStatus`] is `Closed`. - * + * * # * - The transaction's complexity is proportional to the size of `targets` (N) * which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS). @@ -3084,16 +3305,16 @@ declare module '@polkadot/api/types/submittable' { nominate: AugmentedSubmittable<(targets: Vec | (LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Pay out all the stakers behind a single validator for a single era. - * + * * - `validator_stash` is the stash account of the validator. Their nominators, up to * `T::MaxNominatorRewardedPerValidator`, will also receive their rewards. * - `era` may be any era between `[current_era - history_depth; current_era]`. - * + * * The origin of this call must be _Signed_. Any account can call this function, even if * it is not one of the stakers. - * + * * This can only be called when [`EraElectionStatus`] is `Closed`. - * + * * # * - Time complexity: at most O(MaxNominatorRewardedPerValidator). * - Contains a limited number of reads and writes. @@ -3107,7 +3328,7 @@ declare module '@polkadot/api/types/submittable' { * ErasStakersClipped, ErasRewardPoints, ErasValidatorPrefs (8 items) * - Read Each: Bonded, Ledger, Payee, Locks, System Account (5 items) * - Write Each: System Account, Locks, Ledger (3 items) - * + * * NOTE: weights are assuming that payouts are made to alive stash account (Staked). * Paying even a dead controller is cheaper weight-wise. We don't do any refunds here. * # @@ -3117,11 +3338,11 @@ declare module '@polkadot/api/types/submittable' { * Remove all data structure concerning a staker/stash once its balance is at the minimum. * This is essentially equivalent to `withdraw_unbonded` except it can be called by anyone * and the target `stash` must have no funds left beyond the ED. - * + * * This can be called from any origin. - * + * * - `stash`: The stash account to reap. Its balance must be zero. - * + * * # * Complexity: O(S) where S is the number of slashing spans on the account. * DB Weight: @@ -3133,10 +3354,10 @@ declare module '@polkadot/api/types/submittable' { reapStash: AugmentedSubmittable<(stash: AccountId | string | Uint8Array, numSlashingSpans: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [AccountId, u32]>; /** * Rebond a portion of the stash scheduled to be unlocked. - * + * * The dispatch origin must be signed by the controller, and it can be only called when * [`EraElectionStatus`] is `Closed`. - * + * * # * - Time complexity: O(L), where L is unlocking chunks * - Bounded by `MAX_UNLOCKING_CHUNKS`. @@ -3150,9 +3371,9 @@ declare module '@polkadot/api/types/submittable' { rebond: AugmentedSubmittable<(value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Scale up the ideal number of validators by a factor. - * + * * The dispatch origin must be Root. - * + * * # * Same as [`set_validator_count`]. * # @@ -3160,11 +3381,11 @@ declare module '@polkadot/api/types/submittable' { scaleValidatorCount: AugmentedSubmittable<(factor: Percent | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Percent]>; /** * (Re-)set the controller of a stash. - * + * * Effects will be felt at the beginning of the next era. - * + * * The dispatch origin for this call must be _Signed_ by the stash, not the controller. - * + * * # * - Independent of the arguments. Insignificant complexity. * - Contains a limited number of reads. @@ -3180,16 +3401,16 @@ declare module '@polkadot/api/types/submittable' { /** * Set `HistoryDepth` value. This function will delete any history information * when `HistoryDepth` is reduced. - * + * * Parameters: * - `new_history_depth`: The new history depth you would like to set. * - `era_items_deleted`: The number of items that will be deleted by this dispatch. * This should report all the storage items that will be deleted by clearing old * era history. Needed to report an accurate weight for the dispatch. Trusted by * `Root` to report an accurate number. - * + * * Origin must be root. - * + * * # * - E: Number of history depths removed, i.e. 10 -> 7 = 3 * - Weight: O(E) @@ -3203,9 +3424,9 @@ declare module '@polkadot/api/types/submittable' { setHistoryDepth: AugmentedSubmittable<(newHistoryDepth: Compact | AnyNumber | Uint8Array, eraItemsDeleted: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Set the validators who cannot be slashed (if any). - * + * * The dispatch origin must be Root. - * + * * # * - O(V) * - Write: Invulnerables @@ -3214,11 +3435,11 @@ declare module '@polkadot/api/types/submittable' { setInvulnerables: AugmentedSubmittable<(invulnerables: Vec | (AccountId | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * (Re-)set the payment target for a controller. - * + * * Effects will be felt at the beginning of the next era. - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. - * + * * # * - Independent of the arguments. Insignificant complexity. * - Contains a limited number of reads. @@ -3233,9 +3454,9 @@ declare module '@polkadot/api/types/submittable' { setPayee: AugmentedSubmittable<(payee: RewardDestination | { Staked: any } | { Stash: any } | { Controller: any } | { Account: any } | { None: any } | string | Uint8Array) => SubmittableExtrinsic, [RewardDestination]>; /** * Sets the ideal number of validators. - * + * * The dispatch origin must be Root. - * + * * # * Weight: O(1) * Write: Validator Count @@ -3246,21 +3467,21 @@ declare module '@polkadot/api/types/submittable' { * Schedule a portion of the stash to be unlocked ready for transfer out after the bond * period ends. If this leaves an amount actively bonded less than * T::Currency::minimum_balance(), then it is increased to the full amount. - * + * * Once the unlock period is done, you can call `withdraw_unbonded` to actually move * the funds out of management ready for transfer. - * + * * No more than a limited number of unlocking chunks (see `MAX_UNLOCKING_CHUNKS`) * can co-exists at the same time. In that case, [`Call::withdraw_unbonded`] need * to be called first to remove some of the chunks (if possible). - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. * And, it can be only called when [`EraElectionStatus`] is `Closed`. - * + * * Emits `Unbonded`. - * + * * See also [`Call::withdraw_unbonded`]. - * + * * # * - Independent of the arguments. Limited but potentially exploitable complexity. * - Contains a limited number of reads. @@ -3279,12 +3500,12 @@ declare module '@polkadot/api/types/submittable' { unbond: AugmentedSubmittable<(value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Declare the desire to validate for the origin controller. - * + * * Effects will be felt at the beginning of the next era. - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. * And, it can be only called when [`EraElectionStatus`] is `Closed`. - * + * * # * - Independent of the arguments. Insignificant complexity. * - Contains a limited number of reads. @@ -3299,17 +3520,17 @@ declare module '@polkadot/api/types/submittable' { validate: AugmentedSubmittable<(prefs: ValidatorPrefs | { commission?: any; blocked?: any } | string | Uint8Array) => SubmittableExtrinsic, [ValidatorPrefs]>; /** * Remove any unlocked chunks from the `unlocking` queue from our management. - * + * * This essentially frees up that balance to be used by the stash account to do * whatever it wants. - * + * * The dispatch origin for this call must be _Signed_ by the controller, not the stash. * And, it can be only called when [`EraElectionStatus`] is `Closed`. - * + * * Emits `Withdrawn`. - * + * * See also [`Call::unbond`]. - * + * * # * - Could be dependent on the `origin` argument and how much `unlocking` chunks exist. * It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is @@ -3339,9 +3560,9 @@ declare module '@polkadot/api/types/submittable' { sudo: { /** * Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo key. - * + * * The dispatch origin for this call must be _Signed_. - * + * * # * - O(1). * - Limited storage reads. @@ -3351,9 +3572,9 @@ declare module '@polkadot/api/types/submittable' { setKey: AugmentedSubmittable<(updated: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; /** * Authenticates the sudo key and dispatches a function call with `Root` origin. - * + * * The dispatch origin for this call must be _Signed_. - * + * * # * - O(1). * - Limited storage reads. @@ -3365,9 +3586,9 @@ declare module '@polkadot/api/types/submittable' { /** * 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_. - * + * * # * - O(1). * - Limited storage reads. @@ -3380,9 +3601,9 @@ declare module '@polkadot/api/types/submittable' { * 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_. - * + * * # * - O(1). * - The weight of this call is defined by the caller. @@ -3401,10 +3622,10 @@ declare module '@polkadot/api/types/submittable' { fillBlock: AugmentedSubmittable<(ratio: Perbill | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Perbill]>; /** * 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. - * + * * # * - `O(P)` where `P` amount of keys with prefix `prefix` * - `P` storage deletions. @@ -3415,7 +3636,7 @@ declare module '@polkadot/api/types/submittable' { killPrefix: AugmentedSubmittable<(prefix: Key | string | Uint8Array, subkeys: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Key, u32]>; /** * Kill some items from storage. - * + * * # * - `O(IK)` where `I` length of `keys` and `K` length of one key * - `I` storage deletions. @@ -3426,7 +3647,7 @@ declare module '@polkadot/api/types/submittable' { killStorage: AugmentedSubmittable<(keys: Vec | (Key | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Make some on-chain remark. - * + * * # * - `O(1)` * # @@ -3434,7 +3655,7 @@ declare module '@polkadot/api/types/submittable' { remark: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Make some on-chain remark and emit event. - * + * * # * - `O(b)` where b is the length of the remark. * - 1 event. @@ -3443,7 +3664,7 @@ declare module '@polkadot/api/types/submittable' { remarkWithEvent: AugmentedSubmittable<(remark: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Set the new changes trie configuration. - * + * * # * - `O(1)` * - 1 storage write or delete (codec `O(1)`). @@ -3456,7 +3677,7 @@ declare module '@polkadot/api/types/submittable' { setChangesTrieConfig: AugmentedSubmittable<(changesTrieConfig: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Option]>; /** * Set the new runtime code. - * + * * # * - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code` * - 1 storage write (codec `O(C)`). @@ -3469,7 +3690,7 @@ declare module '@polkadot/api/types/submittable' { setCode: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Set the new runtime code without doing any checks of the given `code`. - * + * * # * - `O(C)` where `C` length of `code` * - 1 storage write (codec `O(C)`). @@ -3480,7 +3701,7 @@ declare module '@polkadot/api/types/submittable' { setCodeWithoutChecks: AugmentedSubmittable<(code: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Bytes]>; /** * Set the number of pages in the WebAssembly environment's heap. - * + * * # * - `O(1)` * - 1 storage write. @@ -3491,7 +3712,7 @@ declare module '@polkadot/api/types/submittable' { setHeapPages: AugmentedSubmittable<(pages: u64 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u64]>; /** * Set some items of storage. - * + * * # * - `O(I)` where `I` length of `items` * - `I` storage writes (`O(1)`). @@ -3508,22 +3729,22 @@ declare module '@polkadot/api/types/submittable' { technicalCommittee: { /** * Close a vote that is either approved, disapproved or whose voting period has ended. - * + * * May be called by any signed account in order to finish voting and close the proposal. - * + * * If called before the end of the voting period it will only close the vote if it is * has enough votes to be approved or disapproved. - * + * * If called after the end of the voting period abstentions are counted as rejections * unless there is a prime member set and the prime member cast an approval. - * + * * If the close operation completes successfully with disapproval, the transaction fee will * be waived. Otherwise execution of the approved operation will be charged to the caller. - * + * * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal. * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * + * * # * ## Weight * - `O(B + M + P1 + P2)` where: @@ -3541,12 +3762,12 @@ declare module '@polkadot/api/types/submittable' { close: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact, Compact, Compact]>; /** * Disapprove a proposal, close, and remove it from the system, regardless of its current state. - * + * * Must be called by the Root origin. - * + * * Parameters: * * `proposal_hash`: The hash of the proposal that should be disapproved. - * + * * # * Complexity: O(P) where P is the number of max proposals * DB Weight: @@ -3557,9 +3778,9 @@ declare module '@polkadot/api/types/submittable' { disapproveProposal: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Dispatch a proposal from a member using the `Member` origin. - * + * * Origin must be a member of the collective. - * + * * # * ## Weight * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal` @@ -3570,12 +3791,12 @@ declare module '@polkadot/api/types/submittable' { execute: AugmentedSubmittable<(proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Proposal, Compact]>; /** * Add a new proposal to either be voted on or executed directly. - * + * * Requires the sender to be member. - * + * * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) * or put up for voting. - * + * * # * ## Weight * - `O(B + M + P1)` or `O(B + M + P2)` where: @@ -3600,17 +3821,17 @@ declare module '@polkadot/api/types/submittable' { propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Proposal, Compact]>; /** * Set the collective's membership. - * + * * - `new_members`: The new member list. Be nice to the chain and provide it sorted. * - `prime`: The prime member whose vote sets the default. * - `old_count`: The upper bound for the previous number of members in storage. * Used for weight estimation. - * + * * Requires root origin. - * + * * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but * the weight estimations rely on it to estimate dispatchable weight. - * + * * # * ## Weight * - `O(MP + N)` where: @@ -3627,9 +3848,9 @@ declare module '@polkadot/api/types/submittable' { setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId | string | Uint8Array)[], prime: Option | null | object | string | Uint8Array, oldCount: MemberCount | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, MemberCount]>; /** * Add an aye or nay vote for the sender to the given proposal. - * + * * Requires the sender to be a member. - * + * * Transaction fees will be waived if the member is voting on any particular proposal * for the first time and the call is successful. Subsequent vote changes will charge a fee. * # @@ -3650,48 +3871,48 @@ declare module '@polkadot/api/types/submittable' { technicalMembership: { /** * Add a member `who` to the set. - * + * * May only be called from `T::AddOrigin`. **/ addMember: AugmentedSubmittable<(who: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Swap out the sending member for some other key `new`. - * + * * May only be called from `Signed` origin of a current member. - * + * * Prime membership is passed from the origin account to `new`, if extant. **/ changeKey: AugmentedSubmittable<(updated: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Remove the prime member if it exists. - * + * * May only be called from `T::PrimeOrigin`. **/ clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Remove a member `who` from the set. - * + * * May only be called from `T::RemoveOrigin`. **/ removeMember: AugmentedSubmittable<(who: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Change the membership to a new set, disregarding the existing membership. Be nice and * pass `members` pre-sorted. - * + * * May only be called from `T::ResetOrigin`. **/ resetMembers: AugmentedSubmittable<(members: Vec | (AccountId | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Set the prime member. Must be a current member. - * + * * May only be called from `T::PrimeOrigin`. **/ setPrime: AugmentedSubmittable<(who: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId]>; /** * Swap out one member `remove` for another `add`. - * + * * May only be called from `T::SwapOrigin`. - * + * * Prime membership is *not* passed from `remove` to `add`, if extant. **/ swapMember: AugmentedSubmittable<(remove: AccountId | string | Uint8Array, add: AccountId | string | Uint8Array) => SubmittableExtrinsic, [AccountId, AccountId]>; @@ -3703,15 +3924,15 @@ declare module '@polkadot/api/types/submittable' { 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 * `MinimumPeriod`. - * + * * The dispatch origin for this call must be `Inherent`. - * + * * # * - `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`) @@ -3727,14 +3948,14 @@ declare module '@polkadot/api/types/submittable' { tips: { /** * Close and payout a tip. - * + * * The dispatch origin for this call must be _Signed_. - * + * * The tip identified by `hash` must have finished its countdown period. - * + * * - `hash`: The identity of the open tip for which a tip value is declared. This is formed * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. - * + * * # * - Complexity: `O(T)` where `T` is the number of tippers. * decoding `Tipper` vec of length `T`. @@ -3747,18 +3968,18 @@ declare module '@polkadot/api/types/submittable' { closeTip: AugmentedSubmittable<(hash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Report something `reason` that deserves a tip and claim any eventual the finder's fee. - * + * * The dispatch origin for this call must be _Signed_. - * + * * Payment: `TipReportDepositBase` will be reserved from the origin account, as well as * `DataDepositPerByte` for each byte in `reason`. - * + * * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be * a UTF-8-encoded URL. * - `who`: The account which should be credited for the tip. - * + * * Emits `NewTip` if successful. - * + * * # * - Complexity: `O(R)` where `R` length of `reason`. * - encoding and hashing of 'reason' @@ -3769,18 +3990,18 @@ declare module '@polkadot/api/types/submittable' { reportAwesome: AugmentedSubmittable<(reason: Bytes | string | Uint8Array, who: AccountId | string | Uint8Array) => SubmittableExtrinsic, [Bytes, AccountId]>; /** * Retract a prior tip-report from `report_awesome`, and cancel the process of tipping. - * + * * If successful, the original deposit will be unreserved. - * + * * The dispatch origin for this call must be _Signed_ and the tip identified by `hash` * must have been reported by the signing account through `report_awesome` (and not * through `tip_new`). - * + * * - `hash`: The identity of the open tip for which a tip value is declared. This is formed * as the hash of the tuple of the original tip `reason` and the beneficiary account ID. - * + * * Emits `TipRetracted` if successful. - * + * * # * - Complexity: `O(1)` * - Depends on the length of `T::Hash` which is fixed. @@ -3791,13 +4012,13 @@ declare module '@polkadot/api/types/submittable' { retractTip: AugmentedSubmittable<(hash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Remove and slash an already-open tip. - * + * * May only be called from `T::RejectOrigin`. - * + * * As a result, the finder is slashed and the deposits are lost. - * + * * Emits `TipSlashed` if successful. - * + * * # * `T` is charged as upper bound given by `ContainsLengthBound`. * The actual cost depends on the implementation of `T::Tippers`. @@ -3806,25 +4027,25 @@ declare module '@polkadot/api/types/submittable' { slashTip: AugmentedSubmittable<(hash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; /** * Declare a tip value for an already-open tip. - * + * * The dispatch origin for this call must be _Signed_ and the signing account must be a * member of the `Tippers` set. - * + * * - `hash`: The identity of the open tip for which a tip value is declared. This is formed * as the hash of the tuple of the hash of the original tip `reason` and the beneficiary * account ID. * - `tip_value`: The amount of tip that the sender would like to give. The median tip * value of active tippers will be given to the `who`. - * + * * Emits `TipClosing` if the threshold of tippers has been reached and the countdown period * has started. - * + * * # * - Complexity: `O(T)` where `T` is the number of tippers. * decoding `Tipper` vec of length `T`, insert tip and check closing, * `T` is charged as upper bound given by `ContainsLengthBound`. * The actual cost depends on the implementation of `T::Tippers`. - * + * * Actually weight could be lower as it depends on how many tips are in `OpenTip` but it * is weighted as if almost full i.e of length `T-1`. * - DbReads: `Tippers`, `Tips` @@ -3834,18 +4055,18 @@ declare module '@polkadot/api/types/submittable' { tip: AugmentedSubmittable<(hash: Hash | string | Uint8Array, tipValue: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact]>; /** * Give a tip for something new; no finder's fee will be taken. - * + * * The dispatch origin for this call must be _Signed_ and the signing account must be a * member of the `Tippers` set. - * + * * - `reason`: The reason for, or the thing that deserves, the tip; generally this will be * a UTF-8-encoded URL. * - `who`: The account which should be credited for the tip. * - `tip_value`: The amount of tip that the sender would like to give. The median tip * value of active tippers will be given to the `who`. - * + * * Emits `NewTip` if successful. - * + * * # * - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers. * - `O(T)`: decoding `Tipper` vec of length `T` @@ -3901,9 +4122,9 @@ declare module '@polkadot/api/types/submittable' { /** * Approve a proposal. At a later time, the proposal will be allocated to the beneficiary * and the original deposit will be returned. - * + * * May only be called from `T::ApproveOrigin`. - * + * * # * - Complexity: O(1). * - DbReads: `Proposals`, `Approvals` @@ -3915,7 +4136,7 @@ declare module '@polkadot/api/types/submittable' { * Put forward a suggestion for spending. A deposit proportional to the value * is reserved and slashed if the proposal is rejected. It is returned once the * proposal is awarded. - * + * * # * - Complexity: O(1) * - DbReads: `ProposalCount`, `origin account` @@ -3925,9 +4146,9 @@ declare module '@polkadot/api/types/submittable' { proposeSpend: AugmentedSubmittable<(value: Compact | AnyNumber | Uint8Array, beneficiary: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; /** * Reject a proposed spend. The original deposit will be slashed. - * + * * May only be called from `T::RejectOrigin`. - * + * * # * - Complexity: O(1) * - DbReads: `Proposals`, `rejected proposer account` @@ -3943,135 +4164,135 @@ declare module '@polkadot/api/types/submittable' { uniques: { /** * Approve an instance to be transferred by a delegated third-party account. - * + * * Origin must be Signed and must be the owner of the asset `instance`. - * + * * - `class`: The class of the asset to be approved for delegated transfer. * - `instance`: The instance of the asset to be approved for delegated transfer. * - `delegate`: The account to delegate permission to transfer the asset. - * + * * Emits `ApprovedTransfer` on success. - * + * * Weight: `O(1)` **/ approveTransfer: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array, delegate: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, Compact, LookupSource]>; /** * Destroy a single asset instance. - * + * * Origin must be Signed and the sender should be the Admin of the asset `class`. - * + * * - `class`: The class of the asset to be burned. * - `instance`: The instance of the asset to be burned. * - `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the * asset is owned by this value. - * + * * Emits `Burned` with the actual amount burned. - * + * * Weight: `O(1)` * Modes: `check_owner.is_some()`. **/ burn: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array, checkOwner: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Compact, Compact, Option]>; /** * Cancel the prior approval for the transfer of an asset by a delegate. - * + * * Origin must be either: * - the `Force` origin; * - `Signed` with the signer being the Admin of the asset `class`; * - `Signed` with the signer being the Owner of the asset `instance`; - * + * * Arguments: * - `class`: The class of the asset of whose approval will be cancelled. * - `instance`: The instance of the asset of whose approval will be cancelled. * - `maybe_check_delegate`: If `Some` will ensure that the given account is the one to * which permission of transfer is delegated. - * + * * Emits `ApprovalCancelled` on success. - * + * * Weight: `O(1)` **/ cancelApproval: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array, maybeCheckDelegate: Option | null | object | string | Uint8Array) => SubmittableExtrinsic, [Compact, Compact, Option]>; /** * Set an attribute for an asset class or instance. - * + * * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the * asset `class`. - * + * * If the origin is Signed, then funds of signer are reserved according to the formula: * `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into * account any already reserved funds. - * + * * - `class`: The identifier of the asset class whose instance's metadata to set. * - `instance`: The identifier of the asset instance whose metadata to set. * - `key`: The key of the attribute. * - `value`: The value to which to set the attribute. - * + * * Emits `AttributeSet`. - * + * * Weight: `O(1)` **/ clearAttribute: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, maybeInstance: Option | null | object | string | Uint8Array, key: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Compact, Option, Bytes]>; /** * Clear the metadata for an asset class. - * + * * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of * the asset `class`. - * + * * Any deposit is freed for the asset class owner. - * + * * - `class`: The identifier of the asset class whose metadata to clear. - * + * * Emits `ClassMetadataCleared`. - * + * * Weight: `O(1)` **/ clearClassMetadata: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Clear the metadata for an asset instance. - * + * * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the * asset `instance`. - * + * * Any deposit is freed for the asset class owner. - * + * * - `class`: The identifier of the asset class whose instance's metadata to clear. * - `instance`: The identifier of the asset instance whose metadata to clear. - * + * * Emits `MetadataCleared`. - * + * * Weight: `O(1)` **/ clearMetadata: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Issue a new class of non-fungible assets from a public origin. - * + * * This new asset class has no assets initially and its owner is the origin. - * + * * The origin must be Signed and the sender must have sufficient funds free. - * + * * `AssetDeposit` funds of sender are reserved. - * + * * Parameters: * - `class`: The identifier of the new asset class. This must not be currently in use. * - `admin`: The admin of this class of assets. The admin is the initial address of each * member of the asset class's admin team. - * + * * Emits `Created` event when successful. - * + * * Weight: `O(1)` **/ create: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, admin: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; /** * Destroy a class of fungible assets. - * + * * The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the * owner of the asset `class`. - * + * * - `class`: The identifier of the asset class to be destroyed. * - `witness`: Information on the instances minted in the asset class. This must be * correct. - * + * * Emits `Destroyed` event when successful. - * + * * Weight: `O(n + m)` where: * - `n = witness.instances` * - `m = witness.instance_metdadatas` @@ -4080,9 +4301,9 @@ declare module '@polkadot/api/types/submittable' { destroy: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, witness: DestroyWitness | { instances?: any; instanceMetadatas?: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, DestroyWitness]>; /** * Alter the attributes of a given asset. - * + * * Origin must be `ForceOrigin`. - * + * * - `class`: The identifier of the asset. * - `owner`: The new Owner of this asset. * - `issuer`: The new Issuer of this asset. @@ -4092,217 +4313,217 @@ declare module '@polkadot/api/types/submittable' { * class. * - `is_frozen`: Whether this asset class is frozen except for permissioned/admin * instructions. - * + * * Emits `AssetStatusChanged` with the identity of the asset. - * + * * Weight: `O(1)` **/ forceAssetStatus: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, issuer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, admin: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freezer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freeHolding: bool | boolean | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource, LookupSource, LookupSource, bool, bool]>; /** * Issue a new class of non-fungible assets from a privileged origin. - * + * * This new asset class has no assets initially. - * + * * The origin must conform to `ForceOrigin`. - * + * * Unlike `create`, no funds are reserved. - * + * * - `class`: The identifier of the new asset. This must not be currently in use. * - `owner`: The owner of this class of assets. The owner has full superuser permissions * over this asset, but may later change and configure the permissions using * `transfer_ownership` and `set_team`. - * + * * Emits `ForceCreated` event when successful. - * + * * Weight: `O(1)` **/ forceCreate: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freeHolding: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, bool]>; /** * Disallow further unprivileged transfer of an asset instance. - * + * * Origin must be Signed and the sender should be the Freezer of the asset `class`. - * + * * - `class`: The class of the asset to be frozen. * - `instance`: The instance of the asset to be frozen. - * + * * Emits `Frozen`. - * + * * Weight: `O(1)` **/ freeze: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Disallow further unprivileged transfers for a whole asset class. - * + * * Origin must be Signed and the sender should be the Freezer of the asset `class`. - * + * * - `class`: The asset class to be frozen. - * + * * Emits `ClassFrozen`. - * + * * Weight: `O(1)` **/ freezeClass: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Mint an asset instance of a particular class. - * + * * The origin must be Signed and the sender must be the Issuer of the asset `class`. - * + * * - `class`: The class of the asset to be minted. * - `instance`: The instance value of the asset to be minted. * - `beneficiary`: The initial owner of the minted asset. - * + * * Emits `Issued` event when successful. - * + * * Weight: `O(1)` **/ mint: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, Compact, LookupSource]>; /** * Reevaluate the deposits on some assets. - * + * * Origin must be Signed and the sender should be the Owner of the asset `class`. - * + * * - `class`: The class of the asset to be frozen. * - `instances`: The instances of the asset class whose deposits will be reevaluated. - * + * * NOTE: This exists as a best-effort function. Any asset instances which are unknown or * in the case that the owner account does not have reservable funds to pay for a * deposit increase are ignored. Generally the owner isn't going to call this on instances * whose existing deposit is less than the refreshed deposit as it would only cost them, * so it's of little consequence. - * + * * It will still return an error in the case that the class is unknown of the signer is * not permitted to call it. - * + * * Weight: `O(instances.len())` **/ redeposit: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instances: Vec | (InstanceId | AnyNumber | Uint8Array)[]) => SubmittableExtrinsic, [Compact, Vec]>; /** * Set an attribute for an asset class or instance. - * + * * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the * asset `class`. - * + * * If the origin is Signed, then funds of signer are reserved according to the formula: * `MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into * account any already reserved funds. - * + * * - `class`: The identifier of the asset class whose instance's metadata to set. * - `maybe_instance`: The identifier of the asset instance whose metadata to set. * - `key`: The key of the attribute. * - `value`: The value to which to set the attribute. - * + * * Emits `AttributeSet`. - * + * * Weight: `O(1)` **/ setAttribute: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, maybeInstance: Option | null | object | string | Uint8Array, key: Bytes | string | Uint8Array, value: Bytes | string | Uint8Array) => SubmittableExtrinsic, [Compact, Option, Bytes, Bytes]>; /** * Set the metadata for an asset class. - * + * * Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of * the asset `class`. - * + * * If the origin is `Signed`, then funds of signer are reserved according to the formula: * `MetadataDepositBase + DepositPerByte * data.len` taking into * account any already reserved funds. - * + * * - `class`: The identifier of the asset whose metadata to update. * - `data`: The general information of this asset. Limited in length by `StringLimit`. * - `is_frozen`: Whether the metadata should be frozen against further changes. - * + * * Emits `ClassMetadataSet`. - * + * * Weight: `O(1)` **/ setClassMetadata: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, Bytes, bool]>; /** * Set the metadata for an asset instance. - * + * * Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the * asset `class`. - * + * * If the origin is Signed, then funds of signer are reserved according to the formula: * `MetadataDepositBase + DepositPerByte * data.len` taking into * account any already reserved funds. - * + * * - `class`: The identifier of the asset class whose instance's metadata to set. * - `instance`: The identifier of the asset instance whose metadata to set. * - `data`: The general information of this asset. Limited in length by `StringLimit`. * - `is_frozen`: Whether the metadata should be frozen against further changes. - * + * * Emits `MetadataSet`. - * + * * Weight: `O(1)` **/ setMetadata: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array, data: Bytes | string | Uint8Array, isFrozen: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Compact, Compact, Bytes, bool]>; /** * Change the Issuer, Admin and Freezer of an asset class. - * + * * Origin must be Signed and the sender should be the Owner of the asset `class`. - * + * * - `class`: The asset class whose team should be changed. * - `issuer`: The new Issuer of this asset class. * - `admin`: The new Admin of this asset class. * - `freezer`: The new Freezer of this asset class. - * + * * Emits `TeamChanged`. - * + * * Weight: `O(1)` **/ setTeam: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, issuer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, admin: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, freezer: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource, LookupSource, LookupSource]>; /** * Re-allow unprivileged transfer of an asset instance. - * + * * Origin must be Signed and the sender should be the Freezer of the asset `class`. - * + * * - `class`: The class of the asset to be thawed. * - `instance`: The instance of the asset to be thawed. - * + * * Emits `Thawed`. - * + * * Weight: `O(1)` **/ thaw: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Compact]>; /** * Re-allow unprivileged transfers for a whole asset class. - * + * * Origin must be Signed and the sender should be the Admin of the asset `class`. - * + * * - `class`: The class to be thawed. - * + * * Emits `ClassThawed`. - * + * * Weight: `O(1)` **/ thawClass: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; /** * Move an asset from the sender account to another. - * + * * Origin must be Signed and the signing account must be either: * - the Admin of the asset `class`; * - the Owner of the asset `instance`; * - the approved delegate for the asset `instance` (in this case, the approval is reset). - * + * * Arguments: * - `class`: The class of the asset to be transferred. * - `instance`: The instance of the asset to be transferred. * - `dest`: The account to receive ownership of the asset. - * + * * Emits `Transferred`. - * + * * Weight: `O(1)` **/ transfer: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, instance: Compact | AnyNumber | Uint8Array, dest: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, Compact, LookupSource]>; /** * Change the Owner of an asset class. - * + * * Origin must be Signed and the sender should be the Owner of the asset `class`. - * + * * - `class`: The asset class whose owner should be changed. * - `owner`: The new Owner of this asset class. - * + * * Emits `OwnerChanged`. - * + * * Weight: `O(1)` **/ transferOwnership: AugmentedSubmittable<(clazz: Compact | AnyNumber | Uint8Array, owner: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, LookupSource]>; @@ -4314,34 +4535,34 @@ declare module '@polkadot/api/types/submittable' { utility: { /** * 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_. **/ asDerivative: AugmentedSubmittable<(index: u16 | AnyNumber | Uint8Array, call: Call | { callIndex?: any; args?: any } | string | Uint8Array) => SubmittableExtrinsic, [u16, Call]>; /** * Send a batch of dispatch calls. - * + * * May be called from any origin. - * + * * - `calls`: The calls to be dispatched from the same origin. - * + * * If origin is root then call 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. * # - * + * * 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 @@ -4352,14 +4573,14 @@ declare module '@polkadot/api/types/submittable' { /** * 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. - * + * * - `calls`: The calls to be dispatched from the same origin. - * + * * If origin is root then call 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. * # @@ -4373,16 +4594,16 @@ declare module '@polkadot/api/types/submittable' { vesting: { /** * Force a vested transfer. - * + * * The dispatch origin for this call must be _Root_. - * + * * - `source`: The account whose funds should be transferred. * - `target`: The account that should be transferred the vested funds. * - `amount`: The amount of funds to transfer and will be vested. * - `schedule`: The vesting schedule attached to the transfer. - * + * * Emits `VestingCreated`. - * + * * # * - `O(1)`. * - DbWeight: 4 Reads, 4 Writes @@ -4393,12 +4614,12 @@ declare module '@polkadot/api/types/submittable' { forceVestedTransfer: AugmentedSubmittable<(source: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, target: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, schedule: VestingInfo | { locked?: any; perBlock?: any; startingBlock?: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource, LookupSource, VestingInfo]>; /** * Unlock any vested funds of the sender account. - * + * * The dispatch origin for this call must be _Signed_ and the sender must have funds still * locked under this pallet. - * + * * Emits either `VestingCompleted` or `VestingUpdated`. - * + * * # * - `O(1)`. * - DbWeight: 2 Reads, 2 Writes @@ -4409,14 +4630,14 @@ declare module '@polkadot/api/types/submittable' { vest: AugmentedSubmittable<() => SubmittableExtrinsic, []>; /** * Unlock any vested funds of a `target` account. - * + * * The dispatch origin for this call must be _Signed_. - * + * * - `target`: The account whose vested funds should be unlocked. Must have funds still * locked under this pallet. - * + * * Emits either `VestingCompleted` or `VestingUpdated`. - * + * * # * - `O(1)`. * - DbWeight: 3 Reads, 3 Writes @@ -4427,15 +4648,15 @@ declare module '@polkadot/api/types/submittable' { vestOther: AugmentedSubmittable<(target: LookupSource | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [LookupSource]>; /** * Create a vested transfer. - * + * * The dispatch origin for this call must be _Signed_. - * + * * - `target`: The account that should be transferred the vested funds. * - `amount`: The amount of funds to transfer and will be vested. * - `schedule`: The vesting schedule attached to the transfer. - * + * * Emits `VestingCreated`. - * + * * # * - `O(1)`. * - DbWeight: 3 Reads, 3 Writes diff --git a/packages/types/src/augment/registry.ts b/packages/types/src/augment/registry.ts index 234d74aec955..3eaca17a35e0 100644 --- a/packages/types/src/augment/registry.ts +++ b/packages/types/src/augment/registry.ts @@ -2,6 +2,7 @@ /* eslint-disable */ import type { BitVec, Bool, Bytes, Compact, Data, DoNotConstruct, I128, I16, I256, I32, I64, I8, Json, Null, Option, Raw, StorageKey, Text, Type, U128, U16, U256, U32, U64, U8, USize, Vec, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types'; +import type { MemberRole, Url, UserIdentity } from '@polkadot/types/interfaces/alliance'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations'; import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura'; @@ -13,6 +14,7 @@ import type { BeefyCommitment, BeefyNextAuthoritySet, BeefyPayload, BeefySignedC import type { BridgedBlockHash, BridgedBlockNumber, BridgedHeader, InitializationData } from '@polkadot/types/interfaces/bridges'; import type { BlockHash } from '@polkadot/types/interfaces/chain'; import type { PrefixedStorageKey } from '@polkadot/types/interfaces/childstate'; +import type { Cid, CidMultihash, CidVersion } from '@polkadot/types/interfaces/cid'; import type { EthereumAddress, StatementKind } from '@polkadot/types/interfaces/claims'; import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective'; import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus'; @@ -276,6 +278,9 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; + 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -597,6 +602,7 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -952,6 +958,8 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -1150,6 +1158,9 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1471,6 +1482,7 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1826,6 +1838,8 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -2024,6 +2038,9 @@ declare module '@polkadot/types/types/registry' { ChainType: ChainType; ChangesTrieConfiguration: ChangesTrieConfiguration; ChangesTrieSignal: ChangesTrieSignal; + Cid: Cid; + CidMultihash: CidMultihash; + CidVersion: CidVersion; ClassDetails: ClassDetails; ClassId: ClassId; ClassMetadata: ClassMetadata; @@ -2345,6 +2362,7 @@ declare module '@polkadot/types/types/registry' { MaybeRandomness: MaybeRandomness; MaybeVrf: MaybeVrf; MemberCount: MemberCount; + MemberRole: MemberRole; MembershipProof: MembershipProof; MessageId: MessageId; MessageIngestionType: MessageIngestionType; @@ -2700,6 +2718,8 @@ declare module '@polkadot/types/types/registry' { UnknownTransaction: UnknownTransaction; UnlockChunk: UnlockChunk; UpwardMessage: UpwardMessage; + Url: Url; + UserIdentity: UserIdentity; usize: usize; USize: USize; ValidationCode: ValidationCode; diff --git a/packages/types/src/interfaces/alliance/definitions.ts b/packages/types/src/interfaces/alliance/definitions.ts new file mode 100644 index 000000000000..0a10cbc5b2d9 --- /dev/null +++ b/packages/types/src/interfaces/alliance/definitions.ts @@ -0,0 +1,27 @@ +// Copyright 2017-2021 @polkadot/types authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// order important in structs... :) +/* eslint-disable sort-keys */ + +import type { Definitions } from '../../types'; + +export default { + rpc: {}, + types: { + MemberRole: { + _enum: [ + 'Founder', + 'Fellow', + 'Ally' + ] + }, + Url: 'Vec', + UserIdentity: { + _enum: { + Website: 'Vec', + AccountId: 'AccountId' + } + } + } +} as Definitions; diff --git a/packages/types/src/interfaces/alliance/index.ts b/packages/types/src/interfaces/alliance/index.ts new file mode 100644 index 000000000000..2d307291c395 --- /dev/null +++ b/packages/types/src/interfaces/alliance/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/alliance/types.ts b/packages/types/src/interfaces/alliance/types.ts new file mode 100644 index 000000000000..9af2fd764237 --- /dev/null +++ b/packages/types/src/interfaces/alliance/types.ts @@ -0,0 +1,25 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { Bytes, Enum } from '@polkadot/types'; +import type { AccountId } from '@polkadot/types/interfaces/runtime'; + +/** @name MemberRole */ +export interface MemberRole extends Enum { + readonly isFounder: boolean; + readonly isFellow: boolean; + readonly isAlly: boolean; +} + +/** @name Url */ +export interface Url extends Bytes {} + +/** @name UserIdentity */ +export interface UserIdentity extends Enum { + readonly isWebsite: boolean; + readonly asWebsite: Bytes; + readonly isAccountId: boolean; + readonly asAccountId: AccountId; +} + +export type PHANTOM_ALLIANCE = 'alliance'; diff --git a/packages/types/src/interfaces/cid/definitions.ts b/packages/types/src/interfaces/cid/definitions.ts new file mode 100644 index 000000000000..720bc5e70d08 --- /dev/null +++ b/packages/types/src/interfaces/cid/definitions.ts @@ -0,0 +1,29 @@ +// Copyright 2017-2021 @polkadot/types authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +// order important in structs... :) +/* eslint-disable sort-keys */ + +import type { Definitions } from '../../types'; + +export default { + rpc: {}, + types: { + CidVersion: { + _enum: [ + 'V0', + 'V1' + ] + }, + CidMultihash: { + codec: 'u64', + size1: 'u8', + digest: 'Raw' + }, + Cid: { + version: 'CidVersion', + codec: 'u64', + multihash: 'CidMultihash' + } + } +} as Definitions; diff --git a/packages/types/src/interfaces/cid/index.ts b/packages/types/src/interfaces/cid/index.ts new file mode 100644 index 000000000000..2d307291c395 --- /dev/null +++ b/packages/types/src/interfaces/cid/index.ts @@ -0,0 +1,4 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +export * from './types'; diff --git a/packages/types/src/interfaces/cid/types.ts b/packages/types/src/interfaces/cid/types.ts new file mode 100644 index 000000000000..e85dd3ea2106 --- /dev/null +++ b/packages/types/src/interfaces/cid/types.ts @@ -0,0 +1,26 @@ +// Auto-generated via `yarn polkadot-types-from-defs`, do not edit +/* eslint-disable */ + +import type { Enum, Raw, Struct, u64, u8 } from '@polkadot/types'; + +/** @name Cid */ +export interface Cid extends Struct { + readonly version: CidVersion; + readonly codec: u64; + readonly multihash: CidMultihash; +} + +/** @name CidMultihash */ +export interface CidMultihash extends Struct { + readonly codec: u64; + readonly size1: u8; + readonly digest: Raw; +} + +/** @name CidVersion */ +export interface CidVersion extends Enum { + readonly isV0: boolean; + readonly isV1: boolean; +} + +export type PHANTOM_CID = 'cid'; diff --git a/packages/types/src/interfaces/definitions.ts b/packages/types/src/interfaces/definitions.ts index b27a8881b196..cd9f10d4e687 100644 --- a/packages/types/src/interfaces/definitions.ts +++ b/packages/types/src/interfaces/definitions.ts @@ -59,6 +59,8 @@ export { default as scaleInfo } from './scaleInfo/definitions'; // other useful types export { default as eth } from './eth/definitions'; +export { default as cid } from './cid/definitions'; +export { default as alliance } from './alliance/definitions'; // pull in metadata & rpc last, assuming that is uses info from above export { default as metadata } from './metadata/definitions'; diff --git a/packages/types/src/interfaces/types.ts b/packages/types/src/interfaces/types.ts index a9a9b42fd587..c86fb9f6922f 100644 --- a/packages/types/src/interfaces/types.ts +++ b/packages/types/src/interfaces/types.ts @@ -50,6 +50,8 @@ export * from './xcm/types'; export * from './contractsAbi/types'; export * from './scaleInfo/types'; export * from './eth/types'; +export * from './cid/types'; +export * from './alliance/types'; export * from './metadata/types'; export * from './rpc/types'; export * from './author/types'; From c808781b11435c0aeca0e3aa002dc0ccd1c7015f Mon Sep 17 00:00:00 2001 From: Zhichao Zhang Date: Wed, 16 Jun 2021 15:20:36 +0800 Subject: [PATCH 2/4] update alliance types --- packages/api/src/augment/tx.ts | 4 ++-- packages/types/src/interfaces/alliance/definitions.ts | 4 ++-- packages/types/src/interfaces/alliance/types.ts | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/api/src/augment/tx.ts b/packages/api/src/augment/tx.ts index 3a866ddc916b..c5a6984b26ba 100644 --- a/packages/api/src/augment/tx.ts +++ b/packages/api/src/augment/tx.ts @@ -34,7 +34,7 @@ declare module '@polkadot/api/types/submittable' { /** * Add websites or addresses into blacklist. **/ - addBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { Website: any } | { AccountId: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + addBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Announcement IPFS Hash about dispute between two allies and other issues. * Proposer should publish in polkassembly.io first and talked with others, @@ -82,7 +82,7 @@ declare module '@polkadot/api/types/submittable' { /** * Remove websites or addresses form blacklist. **/ - removeBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { Website: any } | { AccountId: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + removeBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * As a member, back to outsider and unlock deposit. **/ diff --git a/packages/types/src/interfaces/alliance/definitions.ts b/packages/types/src/interfaces/alliance/definitions.ts index 0a10cbc5b2d9..503e003f872a 100644 --- a/packages/types/src/interfaces/alliance/definitions.ts +++ b/packages/types/src/interfaces/alliance/definitions.ts @@ -19,8 +19,8 @@ export default { Url: 'Vec', UserIdentity: { _enum: { - Website: 'Vec', - AccountId: 'AccountId' + AccountId: 'AccountId', + Website: 'Vec' } } } diff --git a/packages/types/src/interfaces/alliance/types.ts b/packages/types/src/interfaces/alliance/types.ts index 9af2fd764237..374bea999840 100644 --- a/packages/types/src/interfaces/alliance/types.ts +++ b/packages/types/src/interfaces/alliance/types.ts @@ -16,10 +16,10 @@ export interface Url extends Bytes {} /** @name UserIdentity */ export interface UserIdentity extends Enum { - readonly isWebsite: boolean; - readonly asWebsite: Bytes; readonly isAccountId: boolean; readonly asAccountId: AccountId; + readonly isWebsite: boolean; + readonly asWebsite: Bytes; } export type PHANTOM_ALLIANCE = 'alliance'; From eb4edad229a03635f09db964e938544ace70bfc4 Mon Sep 17 00:00:00 2001 From: Zenacia <17864213831@163.com> Date: Mon, 21 Jun 2021 16:57:21 +0800 Subject: [PATCH 3/4] update types: UserIdentity-> BlacklistItem --- packages/api/src/augment/events.ts | 6 +++--- packages/api/src/augment/query.ts | 2 +- packages/api/src/augment/tx.ts | 6 +++--- packages/types/src/augment/registry.ts | 8 ++++---- packages/types/src/interfaces/alliance/definitions.ts | 2 +- packages/types/src/interfaces/alliance/types.ts | 4 ++-- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/packages/api/src/augment/events.ts b/packages/api/src/augment/events.ts index 2c67971a1b06..dc29c80ffb82 100644 --- a/packages/api/src/augment/events.ts +++ b/packages/api/src/augment/events.ts @@ -24,14 +24,14 @@ import type { BountyIndex } from '@polkadot/types/interfaces/treasury'; import type { ClassId, InstanceId } from '@polkadot/types/interfaces/uniques'; import type { Timepoint } from '@polkadot/types/interfaces/utility'; import type { ApiTypes } from '@polkadot/api/types'; -import { Cid, UserIdentity } from '@polkadot/types/interfaces'; +import type { Cid, BlacklistItem } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/events' { export interface AugmentedEvents { alliance: { AllyElevated: AugmentedEvent; - BlacklistAdded: AugmentedEvent]>; - BlacklistRemoved: AugmentedEvent]>; + BlacklistAdded: AugmentedEvent]>; + BlacklistRemoved: AugmentedEvent]>; CandidateAdded: AugmentedEvent, Option]>; CandidateApproved: AugmentedEvent; CandidateRejected: AugmentedEvent; diff --git a/packages/api/src/augment/query.ts b/packages/api/src/augment/query.ts index 31d7f0995e57..e251bab470b9 100644 --- a/packages/api/src/augment/query.ts +++ b/packages/api/src/augment/query.ts @@ -32,7 +32,7 @@ import type { ClassDetails, ClassId, ClassMetadata, DepositBalanceOf, InstanceDe import type { Multisig } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; import type { ApiTypes } from '@polkadot/api/types'; -import { Cid, MemberRole, Url } from '@polkadot/types/interfaces'; +import type { Cid, MemberRole, Url } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/storage' { export interface AugmentedQueries { diff --git a/packages/api/src/augment/tx.ts b/packages/api/src/augment/tx.ts index c5a6984b26ba..c6630f21badf 100644 --- a/packages/api/src/augment/tx.ts +++ b/packages/api/src/augment/tx.ts @@ -26,7 +26,7 @@ import type { ClassId, DestroyWitness, InstanceId } from '@polkadot/types/interf import type { Timepoint } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types'; -import { Cid, UserIdentity } from '@polkadot/types/interfaces'; +import type { Cid, BlacklistItem } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/submittable' { export interface AugmentedSubmittables { @@ -34,7 +34,7 @@ declare module '@polkadot/api/types/submittable' { /** * Add websites or addresses into blacklist. **/ - addBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + addBlacklist: AugmentedSubmittable<(infos: Vec | (BlacklistItem | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Announcement IPFS Hash about dispute between two allies and other issues. * Proposer should publish in polkassembly.io first and talked with others, @@ -82,7 +82,7 @@ declare module '@polkadot/api/types/submittable' { /** * Remove websites or addresses form blacklist. **/ - removeBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + removeBlacklist: AugmentedSubmittable<(infos: Vec | (BlacklistItem | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * As a member, back to outsider and unlock deposit. **/ diff --git a/packages/types/src/augment/registry.ts b/packages/types/src/augment/registry.ts index 3eaca17a35e0..553313c91135 100644 --- a/packages/types/src/augment/registry.ts +++ b/packages/types/src/augment/registry.ts @@ -2,7 +2,7 @@ /* eslint-disable */ import type { BitVec, Bool, Bytes, Compact, Data, DoNotConstruct, I128, I16, I256, I32, I64, I8, Json, Null, Option, Raw, StorageKey, Text, Type, U128, U16, U256, U32, U64, U8, USize, Vec, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types'; -import type { MemberRole, Url, UserIdentity } from '@polkadot/types/interfaces/alliance'; +import type { MemberRole, Url, BlacklistItem } from '@polkadot/types/interfaces/alliance'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations'; import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura'; @@ -959,7 +959,7 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -1839,7 +1839,7 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -2719,7 +2719,7 @@ declare module '@polkadot/types/types/registry' { UnlockChunk: UnlockChunk; UpwardMessage: UpwardMessage; Url: Url; - UserIdentity: UserIdentity; + BlacklistItem: BlacklistItem; usize: usize; USize: USize; ValidationCode: ValidationCode; diff --git a/packages/types/src/interfaces/alliance/definitions.ts b/packages/types/src/interfaces/alliance/definitions.ts index 503e003f872a..780a2416433c 100644 --- a/packages/types/src/interfaces/alliance/definitions.ts +++ b/packages/types/src/interfaces/alliance/definitions.ts @@ -17,7 +17,7 @@ export default { ] }, Url: 'Vec', - UserIdentity: { + BlacklistItem: { _enum: { AccountId: 'AccountId', Website: 'Vec' diff --git a/packages/types/src/interfaces/alliance/types.ts b/packages/types/src/interfaces/alliance/types.ts index 374bea999840..f5b8c3776896 100644 --- a/packages/types/src/interfaces/alliance/types.ts +++ b/packages/types/src/interfaces/alliance/types.ts @@ -14,8 +14,8 @@ export interface MemberRole extends Enum { /** @name Url */ export interface Url extends Bytes {} -/** @name UserIdentity */ -export interface UserIdentity extends Enum { +/** @name BlacklistItem */ +export interface BlacklistItem extends Enum { readonly isAccountId: boolean; readonly asAccountId: AccountId; readonly isWebsite: boolean; From 89807eb27e875ca133d17f3aeef31baf75207eba Mon Sep 17 00:00:00 2001 From: Zhichao Zhang Date: Mon, 21 Jun 2021 17:55:55 +0800 Subject: [PATCH 4/4] add CidMultihash type --- packages/api/src/augment/errors.ts | 5 +- packages/api/src/augment/events.ts | 10 +- packages/api/src/augment/tx.ts | 149 +----------------- packages/types/package.json | 3 +- packages/types/src/augment/registry.ts | 8 +- .../types/src/generic/CidMultihash.spec.ts | 53 +++++++ packages/types/src/generic/CidMultihash.ts | 136 ++++++++++++++++ packages/types/src/generic/index.ts | 1 + .../src/interfaces/alliance/definitions.ts | 2 +- .../types/src/interfaces/alliance/types.ts | 16 +- .../types/src/interfaces/cid/definitions.ts | 6 +- packages/types/src/interfaces/cid/types.ts | 8 +- yarn.lock | 44 ++++++ 13 files changed, 265 insertions(+), 176 deletions(-) create mode 100644 packages/types/src/generic/CidMultihash.spec.ts create mode 100644 packages/types/src/generic/CidMultihash.ts diff --git a/packages/api/src/augment/errors.ts b/packages/api/src/augment/errors.ts index d61e9cceffb7..c104882b6692 100644 --- a/packages/api/src/augment/errors.ts +++ b/packages/api/src/augment/errors.ts @@ -14,14 +14,17 @@ declare module '@polkadot/api/types/errors' { InsufficientCandidateFunds: AugmentedError; KickingMember: AugmentedError; MissingProposalHash: AugmentedError; - NoIdentity: AugmentedError; + NoDisplayName: AugmentedError; + NoJudgedIdentity: AugmentedError; NotAlly: AugmentedError; NotCandidate: AugmentedError; NotFounder: AugmentedError; NotInBlacklist: AugmentedError; + NotKickingMember: AugmentedError; NotMember: AugmentedError; NotVetoableProposal: AugmentedError; NotVotableMember: AugmentedError; + NoWebsite: AugmentedError; /** * Generic error **/ diff --git a/packages/api/src/augment/events.ts b/packages/api/src/augment/events.ts index 2c67971a1b06..c8a70b48bfc9 100644 --- a/packages/api/src/augment/events.ts +++ b/packages/api/src/augment/events.ts @@ -24,20 +24,20 @@ import type { BountyIndex } from '@polkadot/types/interfaces/treasury'; import type { ClassId, InstanceId } from '@polkadot/types/interfaces/uniques'; import type { Timepoint } from '@polkadot/types/interfaces/utility'; import type { ApiTypes } from '@polkadot/api/types'; -import { Cid, UserIdentity } from '@polkadot/types/interfaces'; +import { BlacklistItem, Cid } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/events' { export interface AugmentedEvents { alliance: { AllyElevated: AugmentedEvent; - BlacklistAdded: AugmentedEvent]>; - BlacklistRemoved: AugmentedEvent]>; + BlacklistAdded: AugmentedEvent]>; + BlacklistRemoved: AugmentedEvent]>; CandidateAdded: AugmentedEvent, Option]>; CandidateApproved: AugmentedEvent; CandidateRejected: AugmentedEvent; FoundersInitialized: AugmentedEvent]>; - MemberKicked: AugmentedEvent; - MemberRetired: AugmentedEvent; + MemberKicked: AugmentedEvent]>; + MemberRetired: AugmentedEvent]>; NewAnnouncement: AugmentedEvent; NewRule: AugmentedEvent; /** diff --git a/packages/api/src/augment/tx.ts b/packages/api/src/augment/tx.ts index c5a6984b26ba..fddeba751ebf 100644 --- a/packages/api/src/augment/tx.ts +++ b/packages/api/src/augment/tx.ts @@ -26,7 +26,7 @@ import type { ClassId, DestroyWitness, InstanceId } from '@polkadot/types/interf import type { Timepoint } from '@polkadot/types/interfaces/utility'; import type { VestingInfo } from '@polkadot/types/interfaces/vesting'; import type { ApiTypes, SubmittableExtrinsic } from '@polkadot/api/types'; -import { Cid, UserIdentity } from '@polkadot/types/interfaces'; +import { BlacklistItem, Cid } from '@polkadot/types/interfaces'; declare module '@polkadot/api/types/submittable' { export interface AugmentedSubmittables { @@ -34,7 +34,7 @@ declare module '@polkadot/api/types/submittable' { /** * Add websites or addresses into blacklist. **/ - addBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + addBlacklist: AugmentedSubmittable<(infos: Vec | (BlacklistItem | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * Announcement IPFS Hash about dispute between two allies and other issues. * Proposer should publish in polkassembly.io first and talked with others, @@ -82,7 +82,7 @@ declare module '@polkadot/api/types/submittable' { /** * Remove websites or addresses form blacklist. **/ - removeBlacklist: AugmentedSubmittable<(infos: Vec | (UserIdentity | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + removeBlacklist: AugmentedSubmittable<(infos: Vec | (BlacklistItem | { AccountId: any } | { Website: any } | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; /** * As a member, back to outsider and unlock deposit. **/ @@ -103,148 +103,7 @@ declare module '@polkadot/api/types/submittable' { * Must be called by the founders. **/ veto: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; - /** - * Generic tx - **/ - [key: string]: SubmittableExtrinsicFunction; - }; - allianceMotion: { - /** - * Close a vote that is either approved, disapproved or whose voting period has ended. - * - * May be called by any signed account in order to finish voting and close the proposal. - * - * If called before the end of the voting period it will only close the vote if it is - * has enough votes to be approved or disapproved. - * - * If called after the end of the voting period abstentions are counted as rejections - * unless there is a prime member set and the prime member cast an approval. - * - * If the close operation completes successfully with disapproval, the transaction fee will - * be waived. Otherwise execution of the approved operation will be charged to the caller. - * - * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal. - * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via - * `storage::read` so it is `size_of::() == 4` larger than the pure length. - * - * # - * ## Weight - * - `O(B + M + P1 + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - `P1` is the complexity of `proposal` preimage. - * - `P2` is proposal-count (code-bounded) - * - DB: - * - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`) - * - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`) - * - any mutations done while executing `proposal` (`P1`) - * - up to 3 events - * # - **/ - close: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: Compact | AnyNumber | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Hash, Compact, Compact, Compact]>; - /** - * Disapprove a proposal, close, and remove it from the system, regardless of its current state. - * - * Must be called by the Root origin. - * - * Parameters: - * * `proposal_hash`: The hash of the proposal that should be disapproved. - * - * # - * Complexity: O(P) where P is the number of max proposals - * DB Weight: - * * Reads: Proposals - * * Writes: Voting, Proposals, ProposalOf - * # - **/ - disapproveProposal: AugmentedSubmittable<(proposalHash: Hash | string | Uint8Array) => SubmittableExtrinsic, [Hash]>; - /** - * Dispatch a proposal from a member using the `Member` origin. - * - * Origin must be a member of the collective. - * - * # - * ## Weight - * - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal` - * - DB: 1 read (codec `O(M)`) + DB access of `proposal` - * - 1 event - * # - **/ - execute: AugmentedSubmittable<(proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Proposal, Compact]>; - /** - * Add a new proposal to either be voted on or executed directly. - * - * Requires the sender to be member. - * - * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) - * or put up for voting. - * - * # - * ## Weight - * - `O(B + M + P1)` or `O(B + M + P2)` where: - * - `B` is `proposal` size in bytes (length-fee-bounded) - * - `M` is members-count (code- and governance-bounded) - * - branching is influenced by `threshold` where: - * - `P1` is proposal execution complexity (`threshold < 2`) - * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) - * - DB: - * - 1 storage read `is_member` (codec `O(M)`) - * - 1 storage read `ProposalOf::contains_key` (codec `O(1)`) - * - DB accesses influenced by `threshold`: - * - EITHER storage accesses done by `proposal` (`threshold < 2`) - * - OR proposal insertion (`threshold <= 2`) - * - 1 storage mutation `Proposals` (codec `O(P2)`) - * - 1 storage mutation `ProposalCount` (codec `O(1)`) - * - 1 storage write `ProposalOf` (codec `O(B)`) - * - 1 storage write `Voting` (codec `O(M)`) - * - 1 event - * # - **/ - propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Proposal | { callIndex?: any; args?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Proposal, Compact]>; - /** - * Set the collective's membership. - * - * - `new_members`: The new member list. Be nice to the chain and provide it sorted. - * - `prime`: The prime member whose vote sets the default. - * - `old_count`: The upper bound for the previous number of members in storage. - * Used for weight estimation. - * - * Requires root origin. - * - * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but - * the weight estimations rely on it to estimate dispatchable weight. - * - * # - * ## Weight - * - `O(MP + N)` where: - * - `M` old-members-count (code- and governance-bounded) - * - `N` new-members-count (code- and governance-bounded) - * - `P` proposals-count (code-bounded) - * - DB: - * - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members - * - 1 storage read (codec `O(P)`) for reading the proposals - * - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal - * - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one - * # - **/ - setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId | string | Uint8Array)[], prime: Option | null | object | string | Uint8Array, oldCount: MemberCount | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, MemberCount]>; - /** - * Add an aye or nay vote for the sender to the given proposal. - * - * Requires the sender to be a member. - * - * Transaction fees will be waived if the member is voting on any particular proposal - * for the first time and the call is successful. Subsequent vote changes will charge a fee. - * # - * ## Weight - * - `O(M)` where `M` is members-count (code- and governance-bounded) - * - DB: - * - 1 storage read `Members` (codec `O(M)`) - * - 1 storage mutation `Voting` (codec `O(M)`) - * - 1 event - * # - **/ - vote: AugmentedSubmittable<(proposal: Hash | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Hash, Compact, bool]>; + vote: AugmentedSubmittable<(proposal: Hash | string | Uint8Array, index: ProposalIndex | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [Hash, ProposalIndex, bool]>; /** * Generic tx **/ diff --git a/packages/types/package.json b/packages/types/package.json index 8e6e3c24eddf..470222aa0d0b 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -23,7 +23,8 @@ "@polkadot/metadata": "4.14.2-3", "@polkadot/util": "^6.8.1", "@polkadot/util-crypto": "^6.8.1", - "@polkadot/x-rxjs": "^6.8.1" + "@polkadot/x-rxjs": "^6.8.1", + "multihashes": "^4.0.2" }, "devDependencies": { "@polkadot/keyring": "^6.8.1", diff --git a/packages/types/src/augment/registry.ts b/packages/types/src/augment/registry.ts index 3eaca17a35e0..5ffd8292d0ea 100644 --- a/packages/types/src/augment/registry.ts +++ b/packages/types/src/augment/registry.ts @@ -2,7 +2,7 @@ /* eslint-disable */ import type { BitVec, Bool, Bytes, Compact, Data, DoNotConstruct, I128, I16, I256, I32, I64, I8, Json, Null, Option, Raw, StorageKey, Text, Type, U128, U16, U256, U32, U64, U8, USize, Vec, bool, i128, i16, i256, i32, i64, i8, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types'; -import type { MemberRole, Url, UserIdentity } from '@polkadot/types/interfaces/alliance'; +import type { BlacklistItem, MemberRole, Url } from '@polkadot/types/interfaces/alliance'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; import type { BlockAttestations, IncludedBlocks, MoreAttestations } from '@polkadot/types/interfaces/attestations'; import type { RawAuraPreDigest } from '@polkadot/types/interfaces/aura'; @@ -236,6 +236,7 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; + 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -959,7 +960,6 @@ declare module '@polkadot/types/types/registry' { 'Option': Option; 'Option': Option; 'Option': Option; - 'Option': Option; 'Option': Option; 'Option': Option; 'Option': Option; @@ -1116,6 +1116,7 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; + 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1839,7 +1840,6 @@ declare module '@polkadot/types/types/registry' { 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; - 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; 'Vec': Vec; @@ -1996,6 +1996,7 @@ declare module '@polkadot/types/types/registry' { Bidder: Bidder; BidKind: BidKind; BitVec: BitVec; + BlacklistItem: BlacklistItem; Block: Block; BlockAttestations: BlockAttestations; BlockHash: BlockHash; @@ -2719,7 +2720,6 @@ declare module '@polkadot/types/types/registry' { UnlockChunk: UnlockChunk; UpwardMessage: UpwardMessage; Url: Url; - UserIdentity: UserIdentity; usize: usize; USize: USize; ValidationCode: ValidationCode; diff --git a/packages/types/src/generic/CidMultihash.spec.ts b/packages/types/src/generic/CidMultihash.spec.ts new file mode 100644 index 000000000000..a1b67aca563f --- /dev/null +++ b/packages/types/src/generic/CidMultihash.spec.ts @@ -0,0 +1,53 @@ +// Copyright 2017-2021 @polkadot/types authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +/* eslint-disable new-cap */ + +import multihashes from 'multihashes'; + +import { hexToU8a, u8aConcat, u8aEq } from '@polkadot/util'; + +import { Vec } from '../codec'; +import { TypeRegistry } from '../create'; +import { u8, u64 } from '../primitive'; +import { GenericCidMultihash as CidMultihash } from './CidMultihash'; + +describe('CidMultihash', (): void => { + const registry = new TypeRegistry(); + + it('encode CidMultihash from native multihash', (): void => { + const multi = multihashes.fromHexString('12202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f95'); + + expect( + new CidMultihash( + registry, + u8aConcat( + new u64(registry, multi.slice(0, 1)).toU8a(), + new u8(registry, multi.slice(1, 2)).toU8a(), + multi.slice(2) + ) + ) + .eq('0x1200000000000000202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f95') + ).toBe(true); + }); + + it('decode CidMultihash', (): void => { + const cidMultihash = new CidMultihash(registry, '0x1200000000000000202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f95'); + + expect(u8aEq( + cidMultihash.toMultihash(), + hexToU8a('0x12202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f95') + )).toBe(true); + }); + + it('decode vec', (): void => { + const cids = new Vec(registry, 'CidMultihash', '0x081200000000000000202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f951200000000000000202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f95'); + + expect( + u8aEq( + u8aConcat(...cids.map((cid) => cid.toU8a())), + hexToU8a('0x1200000000000000202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f951200000000000000202fe65ccc17fe180c3bf4e9b8490fcc6dc74c30bf6595795dcd1136d8d9cb3f95') + ) + ).toBe(true); + }); +}); diff --git a/packages/types/src/generic/CidMultihash.ts b/packages/types/src/generic/CidMultihash.ts new file mode 100644 index 000000000000..1326f1dd7e6c --- /dev/null +++ b/packages/types/src/generic/CidMultihash.ts @@ -0,0 +1,136 @@ +// Copyright 2017-2021 @polkadot/types authors & contributors +// SPDX-License-Identifier: Apache-2.0 + +/* eslint-disable new-cap */ + +import type { HashCode } from 'multihashes'; + +import multihashes from 'multihashes'; + +import { isUndefined, u8aConcat, u8aToHex, u8aToU8a } from '@polkadot/util'; + +import { CodecHash, Hash } from '../interfaces'; +import { u8, u64 } from '../primitive'; +import { AnyJson, AnyU8a, BareOpts, Codec, Registry } from '../types'; + +/** + * @name GenericCidMultihash + * @description + * This manages codec arrays. Internally it keeps track of the length (as decoded) and allows + * construction with the passed `Type` in the constructor. It is an extension to Array, providing + * specific encoding/decoding on top of the base type. + */ +export class GenericCidMultihash extends Uint8Array implements Codec { + #code: u64; + #size: u8; + #digest: Uint8Array; + + registry: Registry; + createdAtHash?: Hash | undefined; + + constructor (registry: Registry, value?: AnyU8a) { + const u8a: Uint8Array = u8aToU8a(value); + const code: u64 = new u64(registry, u8a.slice(0, 8)); + + const size: u8 = new u8(registry, u8a.slice(8, 9)); + const digest: Uint8Array = u8a.slice(9, size.toNumber() + 9); + + super(u8aConcat(code.toU8a(), size.toU8a(), digest)); + + this.#code = code; + this.#size = size; + this.#digest = digest; + + this.registry = registry; + } + + public get code (): u64 { + return this.#code; + } + + public get size (): u8 { + return this.#size; + } + + public get digest (): Uint8Array { + return this.#digest; + } + + /** + * @description The length of the value when encoded as a Uint8Array + */ + public get encodedLength (): number { + return this.length; + } + + /** + * @description returns a hash of the contents + */ + public get hash (): CodecHash { + return this.registry.hash(this.toU8a()); + } + + /** + * @description Returns true if the type wraps an empty/default all-0 value + */ + public get isEmpty (): boolean { + return !this.encodedLength || isUndefined(this.find((value) => !!value)); + } + + public eq (other?: unknown): boolean { + if (other instanceof Uint8Array) { + return (this.length === other.length) && + !this.some((value, index) => value !== other[index]); + } + + return this.eq(u8aToU8a(other as any)); + } + + /** + * @description Returns a hex string representation of the value + */ + public toHex (): string { + return u8aToHex(this.toU8a()); + } + + /** + * @description Converts the Object to to a human-friendly JSON, with additional fields, expansion and formatting of information + */ + public toHuman (): AnyJson { + return this.toJSON(); + } + + /** + * @description Converts the Object to JSON, typically used for RPC transfers + */ + public toJSON (): AnyJson { + return { + code: this.#code.toNumber(), + digest: u8aToHex(this.#digest), + size: this.#size.toNumber() + }; + } + + /** + * @description Returns the base runtime type name for this instance + */ + public toRawType (): string { + return 'CidMultihash'; + } + + /** + * @description Encodes the value as a Uint8Array as per the SCALE specifications + * @param isBare true when the value has none of the type-specific prefixes (internal) + */ + // eslint-disable-next-line @typescript-eslint/no-unused-vars + public toU8a (isBare?: BareOpts): Uint8Array { + return this; + } + + /** + * @description return ipfs cid's multihash + */ + public toMultihash (): Uint8Array { + return multihashes.encode(this.#digest, this.#code.toNumber() as HashCode, this.#size.toNumber()); + } +} diff --git a/packages/types/src/generic/index.ts b/packages/types/src/generic/index.ts index b9a0738d83e3..694b179609d5 100644 --- a/packages/types/src/generic/index.ts +++ b/packages/types/src/generic/index.ts @@ -12,4 +12,5 @@ export { GenericConsensusEngineId } from './ConsensusEngineId'; export { GenericEvent, GenericEventData } from './Event'; export { GenericLookupSource } from './LookupSource'; export { GenericMultiAddress } from './MultiAddress'; +export { GenericCidMultihash } from './CidMultihash'; export { GenericVote } from './Vote'; diff --git a/packages/types/src/interfaces/alliance/definitions.ts b/packages/types/src/interfaces/alliance/definitions.ts index 503e003f872a..780a2416433c 100644 --- a/packages/types/src/interfaces/alliance/definitions.ts +++ b/packages/types/src/interfaces/alliance/definitions.ts @@ -17,7 +17,7 @@ export default { ] }, Url: 'Vec', - UserIdentity: { + BlacklistItem: { _enum: { AccountId: 'AccountId', Website: 'Vec' diff --git a/packages/types/src/interfaces/alliance/types.ts b/packages/types/src/interfaces/alliance/types.ts index 374bea999840..92e03301dee2 100644 --- a/packages/types/src/interfaces/alliance/types.ts +++ b/packages/types/src/interfaces/alliance/types.ts @@ -4,6 +4,14 @@ import type { Bytes, Enum } from '@polkadot/types'; import type { AccountId } from '@polkadot/types/interfaces/runtime'; +/** @name BlacklistItem */ +export interface BlacklistItem extends Enum { + readonly isAccountId: boolean; + readonly asAccountId: AccountId; + readonly isWebsite: boolean; + readonly asWebsite: Bytes; +} + /** @name MemberRole */ export interface MemberRole extends Enum { readonly isFounder: boolean; @@ -14,12 +22,4 @@ export interface MemberRole extends Enum { /** @name Url */ export interface Url extends Bytes {} -/** @name UserIdentity */ -export interface UserIdentity extends Enum { - readonly isAccountId: boolean; - readonly asAccountId: AccountId; - readonly isWebsite: boolean; - readonly asWebsite: Bytes; -} - export type PHANTOM_ALLIANCE = 'alliance'; diff --git a/packages/types/src/interfaces/cid/definitions.ts b/packages/types/src/interfaces/cid/definitions.ts index 720bc5e70d08..d8cfc0beb902 100644 --- a/packages/types/src/interfaces/cid/definitions.ts +++ b/packages/types/src/interfaces/cid/definitions.ts @@ -15,11 +15,7 @@ export default { 'V1' ] }, - CidMultihash: { - codec: 'u64', - size1: 'u8', - digest: 'Raw' - }, + CidMultihash: 'GenericCidMultihash', Cid: { version: 'CidVersion', codec: 'u64', diff --git a/packages/types/src/interfaces/cid/types.ts b/packages/types/src/interfaces/cid/types.ts index e85dd3ea2106..e94bfec47d13 100644 --- a/packages/types/src/interfaces/cid/types.ts +++ b/packages/types/src/interfaces/cid/types.ts @@ -1,7 +1,7 @@ // Auto-generated via `yarn polkadot-types-from-defs`, do not edit /* eslint-disable */ -import type { Enum, Raw, Struct, u64, u8 } from '@polkadot/types'; +import type { Enum, GenericCidMultihash, Struct, u64 } from '@polkadot/types'; /** @name Cid */ export interface Cid extends Struct { @@ -11,11 +11,7 @@ export interface Cid extends Struct { } /** @name CidMultihash */ -export interface CidMultihash extends Struct { - readonly codec: u64; - readonly size1: u8; - readonly digest: Raw; -} +export interface CidMultihash extends GenericCidMultihash {} /** @name CidVersion */ export interface CidVersion extends Enum { diff --git a/yarn.lock b/yarn.lock index 1e6c2e2659d5..fa6777443330 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1665,6 +1665,13 @@ __metadata: languageName: node linkType: hard +"@multiformats/base-x@npm:^4.0.1": + version: 4.0.1 + resolution: "@multiformats/base-x@npm:4.0.1" + checksum: ecbf84bdd7613fd795e4a41f20f3e8cc7df8bbee84690b7feed383d45a638ed228a80ff6f5c930373cbf24539f64857b66023ee3c1e914f6bac9995c76414a87 + languageName: node + linkType: hard + "@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.2": version: 2.1.8-no-fsevents.2 resolution: "@nicolo-ribaudo/chokidar-2@npm:2.1.8-no-fsevents.2" @@ -2104,6 +2111,7 @@ __metadata: "@polkadot/x-rxjs": ^6.8.1 "@types/bn.js": ^4.11.6 bn.js: ^4.11.9 + multihashes: ^4.0.2 languageName: unknown linkType: soft @@ -8010,6 +8018,26 @@ fsevents@~2.1.2: languageName: node linkType: hard +"multibase@npm:^4.0.1": + version: 4.0.4 + resolution: "multibase@npm:4.0.4" + dependencies: + "@multiformats/base-x": ^4.0.1 + checksum: 7d112ae9a12aeefda4dac0ae7e1f2e845a00e374ccb7bb3d521b8be17078dd86e2ae4f0f0f21d8ceb32ea5e8153b8b2cd611b884639a0ddba3c97f2b3217f47c + languageName: node + linkType: hard + +"multihashes@npm:^4.0.2": + version: 4.0.2 + resolution: "multihashes@npm:4.0.2" + dependencies: + multibase: ^4.0.1 + uint8arrays: ^2.1.3 + varint: ^5.0.2 + checksum: 506fcbc3e59638e3509900beb34f490bfb5bf19bcce338f55e7c908d93d5358a6a0876a3275f8d07d9e5a7a5368e1d598a0d5359fa3d6003116977b4e1e306f8 + languageName: node + linkType: hard + "mute-stream@npm:0.0.8, mute-stream@npm:~0.0.4": version: 0.0.8 resolution: "mute-stream@npm:0.0.8" @@ -10614,6 +10642,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"uint8arrays@npm:^2.1.3": + version: 2.1.5 + resolution: "uint8arrays@npm:2.1.5" + dependencies: + multibase: ^4.0.1 + checksum: 521a120ad21250004a95330d0501c87344c5072376b5d5d9ef642721f7913cc1880b823715e5d8829307a9dda73c3064283cb3a7442f0e85fef781cfca4f0334 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.1": version: 1.0.1 resolution: "unbox-primitive@npm:1.0.1" @@ -10855,6 +10892,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"varint@npm:^5.0.2": + version: 5.0.2 + resolution: "varint@npm:5.0.2" + checksum: e1a66bf9a6cea96d1f13259170d4d41b845833acf3a9df990ea1e760d279bd70d5b1f4c002a50197efd2168a2fd43eb0b808444600fd4d23651e8d42fe90eb05 + languageName: node + linkType: hard + "verror@npm:1.10.0": version: 1.10.0 resolution: "verror@npm:1.10.0"