Skip to content

Instantly share code, notes, and snippets.

@ascjones
Created June 21, 2021 15:15
Show Gist options
  • Save ascjones/726caaf29eff76ca72f142f419e9c6a9 to your computer and use it in GitHub Desktop.
Save ascjones/726caaf29eff76ca72f142f419e9c6a9 to your computer and use it in GitHub Desktop.
polkadot scale-info metadata
This file has been truncated, but you can view the full file.
[
1635018093,
{
"V14": {
"types": {
"types": [
{
"path": [
"sp_core",
"crypto",
"AccountId32"
],
"def": {
"composite": {
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
]
}
},
"docs": [
"An opaque 32-byte cryptographic identifier."
]
},
{
"def": {
"array": {
"len": 32,
"type": 2
}
}
},
{
"def": {
"primitive": "u8"
}
},
{
"path": [
"frame_system",
"AccountInfo"
],
"params": [
4,
5
],
"def": {
"composite": {
"fields": [
{
"name": "nonce",
"type": 4,
"typeName": "Index",
"docs": [
"The number of transactions this account has sent."
]
},
{
"name": "consumers",
"type": 4,
"typeName": "RefCount",
"docs": [
"The number of other modules that currently depend on this account\\'s existence. The account",
"cannot be reaped until this is zero."
]
},
{
"name": "providers",
"type": 4,
"typeName": "RefCount",
"docs": [
"The number of other modules that allow this account to exist. The account may not be reaped",
"until this and `sufficients` are both zero."
]
},
{
"name": "sufficients",
"type": 4,
"typeName": "RefCount",
"docs": [
"The number of modules that allow this account to exist for their own purposes only. The",
"account may not be reaped until this and `providers` are both zero."
]
},
{
"name": "data",
"type": 5,
"typeName": "AccountData",
"docs": [
"The additional data that belongs to this account. Used to store the balance(s) in a lot of",
"chains."
]
}
]
}
},
"docs": [
"Information of an account."
]
},
{
"def": {
"primitive": "u32"
}
},
{
"path": [
"pallet_balances",
"AccountData"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "free",
"type": 6,
"typeName": "Balance",
"docs": [
"Non-reserved part of the balance. There may still be restrictions on this, but it is the",
"total pool what may in principle be transferred, reserved and used for tipping.",
"",
"This is the only balance that matters in terms of most operations on tokens. It",
"alone is used to determine the balance when in the contract execution environment."
]
},
{
"name": "reserved",
"type": 6,
"typeName": "Balance",
"docs": [
"Balance which is reserved and may not be used at all.",
"",
"This can still get slashed, but gets slashed last of all.",
"",
"This balance is a \\'reserve\\' balance that other subsystems use in order to set aside tokens",
"that are still \\'owned\\' by the account holder, but which are suspendable.",
"This includes named reserve and unnamed reserve."
]
},
{
"name": "misc_frozen",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount that `free` may not drop below when withdrawing for *anything except transaction",
"fee payment*."
]
},
{
"name": "fee_frozen",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount that `free` may not drop below when withdrawing specifically for transaction",
"fee payment."
]
}
]
}
},
"docs": [
"All balance information for an account."
]
},
{
"def": {
"primitive": "u128"
}
},
{
"path": [
"frame_support",
"weights",
"PerDispatchClass"
],
"params": [
8
],
"def": {
"composite": {
"fields": [
{
"name": "normal",
"type": 8,
"typeName": "T",
"docs": [
"Value for `Normal` extrinsics."
]
},
{
"name": "operational",
"type": 8,
"typeName": "T",
"docs": [
"Value for `Operational` extrinsics."
]
},
{
"name": "mandatory",
"type": 8,
"typeName": "T",
"docs": [
"Value for `Mandatory` extrinsics."
]
}
]
}
},
"docs": [
"A struct holding value for each `DispatchClass`."
]
},
{
"def": {
"primitive": "u64"
}
},
{
"path": [
"primitive_types",
"H256"
],
"def": {
"composite": {
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
]
}
},
"docs": [
"r\" Fixed-size uninterpreted hash type with 32 bytes (256 bits) size."
]
},
{
"def": {
"sequence": {
"type": 2
}
}
},
{
"path": [
"sp_runtime",
"generic",
"digest",
"Digest"
],
"params": [
9
],
"def": {
"composite": {
"fields": [
{
"name": "logs",
"type": 12,
"typeName": "Vec<DigestItem<Hash>>",
"docs": [
"A list of logs in the digest."
]
}
]
}
},
"docs": [
"Generic header digest."
]
},
{
"def": {
"sequence": {
"type": 13
}
}
},
{
"path": [
"sp_runtime",
"generic",
"digest",
"DigestItem"
],
"params": [
9
],
"def": {
"variant": {
"variants": [
{
"name": "ChangesTrieRoot",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"System digest item that contains the root of changes trie at given",
"block. It is created for every block iff runtime supports changes",
"trie creation."
]
},
{
"name": "PreRuntime",
"fields": [
{
"type": 14,
"typeName": "ConsensusEngineId"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"A pre-runtime digest.",
"",
"These are messages from the consensus engine to the runtime, although",
"the consensus engine can (and should) read them itself to avoid",
"code and state duplication. It is erroneous for a runtime to produce",
"these, but this is not (yet) checked.",
"",
"NOTE: the runtime is not allowed to panic or fail in an `on_initialize`",
"call if an expected `PreRuntime` digest is not present. It is the",
"responsibility of a external block verifier to check this. Runtime API calls",
"will initialize the block without pre-runtime digests, so initialization",
"cannot fail when they are missing."
]
},
{
"name": "Consensus",
"fields": [
{
"type": 14,
"typeName": "ConsensusEngineId"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"A message from the runtime to the consensus engine. This should *never*",
"be generated by the native code of any consensus engine, but this is not",
"checked (yet)."
]
},
{
"name": "Seal",
"fields": [
{
"type": 14,
"typeName": "ConsensusEngineId"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Put a Seal on it. This is only used by native code, and is never seen",
"by runtimes."
]
},
{
"name": "ChangesTrieSignal",
"fields": [
{
"type": 15,
"typeName": "ChangesTrieSignal"
}
],
"docs": [
"Digest item that contains signal from changes tries manager to the",
"native code."
]
},
{
"name": "Other",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Some other thing. Unsupported and experimental."
]
}
]
}
},
"docs": [
"Digest item that is able to encode/decode \\'system\\' digest items and",
"provide opaque access to other items."
]
},
{
"def": {
"array": {
"len": 4,
"type": 2
}
}
},
{
"path": [
"sp_runtime",
"generic",
"digest",
"ChangesTrieSignal"
],
"def": {
"variant": {
"variants": [
{
"name": "NewConfiguration",
"fields": [
{
"type": 16,
"typeName": "Option<ChangesTrieConfiguration>"
}
],
"docs": [
"New changes trie configuration is enacted, starting from **next block**.",
"",
"The block that emits this signal will contain changes trie (CT) that covers",
"blocks range [BEGIN; current block], where BEGIN is (order matters):",
"- LAST_TOP_LEVEL_DIGEST_BLOCK+1 if top level digest CT has ever been created",
" using current configuration AND the last top level digest CT has been created",
" at block LAST_TOP_LEVEL_DIGEST_BLOCK;",
"- LAST_CONFIGURATION_CHANGE_BLOCK+1 if there has been CT configuration change",
" before and the last configuration change happened at block",
" LAST_CONFIGURATION_CHANGE_BLOCK;",
"- 1 otherwise."
]
}
]
}
},
"docs": [
"Available changes trie signals."
]
},
{
"path": [
"Option"
],
"params": [
17
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 17
}
]
}
]
}
}
},
{
"path": [
"sp_core",
"changes_trie",
"ChangesTrieConfiguration"
],
"def": {
"composite": {
"fields": [
{
"name": "digest_interval",
"type": 4,
"typeName": "u32",
"docs": [
"Interval (in blocks) at which level1-digests are created. Digests are not",
"created when this is less or equal to 1."
]
},
{
"name": "digest_levels",
"type": 4,
"typeName": "u32",
"docs": [
"Maximal number of digest levels in hierarchy. 0 means that digests are not",
"created at all (even level1 digests). 1 means only level1-digests are created.",
"2 means that every digest_interval^2 there will be a level2-digest, and so on.",
"Please ensure that maximum digest interval (i.e. digest_interval^digest_levels)",
"is within `u32` limits. Otherwise you\\'ll never see digests covering such intervals",
"&& maximal digests interval will be truncated to the last interval that fits",
"`u32` limits."
]
}
]
}
},
"docs": [
"Substrate changes trie configuration."
]
},
{
"def": {
"sequence": {
"type": 19
}
}
},
{
"path": [
"frame_system",
"EventRecord"
],
"params": [
20,
9
],
"def": {
"composite": {
"fields": [
{
"name": "phase",
"type": 86,
"typeName": "Phase",
"docs": [
"The phase of the block it happened in."
]
},
{
"name": "event",
"type": 20,
"typeName": "E",
"docs": [
"The event itself."
]
},
{
"name": "topics",
"type": 87,
"typeName": "Vec<T>",
"docs": [
"The list of the topics this event has."
]
}
]
}
},
"docs": [
"Record of an event happening."
]
},
{
"path": [
"polkadot_runtime",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "System",
"fields": [
{
"type": 21,
"typeName": "frame_system::Event<Runtime>"
}
],
"index": 0
},
{
"name": "Scheduler",
"fields": [
{
"type": 28,
"typeName": "pallet_scheduler::Event<Runtime>"
}
],
"index": 1
},
{
"name": "Indices",
"fields": [
{
"type": 33,
"typeName": "pallet_indices::Event<Runtime>"
}
],
"index": 4
},
{
"name": "Balances",
"fields": [
{
"type": 34,
"typeName": "pallet_balances::Event<Runtime>"
}
],
"index": 5
},
{
"name": "Staking",
"fields": [
{
"type": 36,
"typeName": "pallet_staking::Event<Runtime>"
}
],
"index": 7
},
{
"name": "Offences",
"fields": [
{
"type": 37,
"typeName": "pallet_offences::Event"
}
],
"index": 8
},
{
"name": "Session",
"fields": [
{
"type": 39,
"typeName": "pallet_session::Event"
}
],
"index": 9
},
{
"name": "Grandpa",
"fields": [
{
"type": 40,
"typeName": "pallet_grandpa::Event"
}
],
"index": 11
},
{
"name": "ImOnline",
"fields": [
{
"type": 45,
"typeName": "pallet_im_online::Event<Runtime>"
}
],
"index": 12
},
{
"name": "Democracy",
"fields": [
{
"type": 54,
"typeName": "pallet_democracy::Event<Runtime>"
}
],
"index": 14
},
{
"name": "Council",
"fields": [
{
"type": 58,
"typeName": "pallet_collective::Event<Runtime, pallet_collective::Instance1>"
}
],
"index": 15
},
{
"name": "TechnicalCommittee",
"fields": [
{
"type": 60,
"typeName": "pallet_collective::Event<Runtime, pallet_collective::Instance2>"
}
],
"index": 16
},
{
"name": "PhragmenElection",
"fields": [
{
"type": 62,
"typeName": "pallet_elections_phragmen::Event<Runtime>"
}
],
"index": 17
},
{
"name": "TechnicalMembership",
"fields": [
{
"type": 65,
"typeName": "pallet_membership::Event<Runtime, pallet_membership::Instance1>"
}
],
"index": 18
},
{
"name": "Treasury",
"fields": [
{
"type": 68,
"typeName": "pallet_treasury::Event<Runtime>"
}
],
"index": 19
},
{
"name": "Claims",
"fields": [
{
"type": 70,
"typeName": "claims::Event<Runtime>"
}
],
"index": 24
},
{
"name": "Vesting",
"fields": [
{
"type": 73,
"typeName": "pallet_vesting::Event<Runtime>"
}
],
"index": 25
},
{
"name": "Utility",
"fields": [
{
"type": 74,
"typeName": "pallet_utility::Event"
}
],
"index": 26
},
{
"name": "Identity",
"fields": [
{
"type": 75,
"typeName": "pallet_identity::Event<Runtime>"
}
],
"index": 28
},
{
"name": "Proxy",
"fields": [
{
"type": 76,
"typeName": "pallet_proxy::Event<Runtime>"
}
],
"index": 29
},
{
"name": "Multisig",
"fields": [
{
"type": 79,
"typeName": "pallet_multisig::Event<Runtime>"
}
],
"index": 30
},
{
"name": "Bounties",
"fields": [
{
"type": 81,
"typeName": "pallet_bounties::Event<Runtime>"
}
],
"index": 34
},
{
"name": "Tips",
"fields": [
{
"type": 82,
"typeName": "pallet_tips::Event<Runtime>"
}
],
"index": 35
},
{
"name": "ElectionProviderMultiPhase",
"fields": [
{
"type": 83,
"typeName": "pallet_election_provider_multi_phase::Event<Runtime>"
}
],
"index": 36
}
]
}
}
},
{
"path": [
"frame_system",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "ExtrinsicSuccess",
"fields": [
{
"type": 22,
"typeName": "DispatchInfo"
}
],
"docs": [
"An extrinsic completed successfully. \\\\[info\\\\]"
]
},
{
"name": "ExtrinsicFailed",
"fields": [
{
"type": 25,
"typeName": "DispatchError"
},
{
"type": 22,
"typeName": "DispatchInfo"
}
],
"docs": [
"An extrinsic failed. \\\\[error, info\\\\]"
]
},
{
"name": "CodeUpdated",
"docs": [
"`:code` was updated."
]
},
{
"name": "NewAccount",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"A new \\\\[account\\\\] was created."
]
},
{
"name": "KilledAccount",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"An \\\\[account\\\\] was reaped."
]
},
{
"name": "Remarked",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"On on-chain remark happened. \\\\[origin, remark_hash\\\\]"
]
}
]
}
},
"docs": [
"Event for the System pallet."
]
},
{
"path": [
"frame_support",
"weights",
"DispatchInfo"
],
"def": {
"composite": {
"fields": [
{
"name": "weight",
"type": 8,
"typeName": "Weight",
"docs": [
"Weight of this transaction."
]
},
{
"name": "class",
"type": 23,
"typeName": "DispatchClass",
"docs": [
"Class of this transaction."
]
},
{
"name": "pays_fee",
"type": 24,
"typeName": "Pays",
"docs": [
"Does this transaction pay fees."
]
}
]
}
},
"docs": [
"A bundle of static information collected from the `#[weight = $x]` attributes."
]
},
{
"path": [
"frame_support",
"weights",
"DispatchClass"
],
"def": {
"variant": {
"variants": [
{
"name": "Normal",
"discriminant": 0,
"docs": [
"A normal dispatch."
]
},
{
"name": "Operational",
"discriminant": 1,
"docs": [
"An operational dispatch."
]
},
{
"name": "Mandatory",
"discriminant": 2,
"docs": [
"A mandatory dispatch. These kinds of dispatch are always included regardless of their",
"weight, therefore it is critical that they are separately validated to ensure that a",
"malicious validator cannot craft a valid but impossibly heavy block. Usually this just means",
"ensuring that the extrinsic can only be included once and that it is always very light.",
"",
"Do *NOT* use it for extrinsics that can be heavy.",
"",
"The only real use case for this is inherent extrinsics that are required to execute in a",
"block for the block to be valid, and it solves the issue in the case that the block",
"initialization is sufficiently heavy to mean that those inherents do not fit into the",
"block. Essentially, we assume that in these exceptional circumstances, it is better to",
"allow an overweight block to be created than to not allow any block at all to be created."
]
}
]
}
},
"docs": [
"A generalized group of dispatch types.",
"",
"NOTE whenever upgrading the enum make sure to also update",
"[DispatchClass::all] and [DispatchClass::non_mandatory] helper functions."
]
},
{
"path": [
"frame_support",
"weights",
"Pays"
],
"def": {
"variant": {
"variants": [
{
"name": "Yes",
"discriminant": 0,
"docs": [
"Transactor will pay related fees."
]
},
{
"name": "No",
"discriminant": 1,
"docs": [
"Transactor will NOT pay related fees."
]
}
]
}
},
"docs": [
"Explicit enum to denote if a transaction pays fee or not."
]
},
{
"path": [
"sp_runtime",
"DispatchError"
],
"def": {
"variant": {
"variants": [
{
"name": "Other",
"docs": [
"Some error occurred."
]
},
{
"name": "CannotLookup",
"docs": [
"Failed to lookup some data."
]
},
{
"name": "BadOrigin",
"docs": [
"A bad origin."
]
},
{
"name": "Module",
"fields": [
{
"name": "index",
"type": 2,
"typeName": "u8",
"docs": [
"Module index, matching the metadata module index."
]
},
{
"name": "error",
"type": 2,
"typeName": "u8",
"docs": [
"Module specific error value."
]
}
],
"docs": [
"A custom error in a module."
]
},
{
"name": "ConsumerRemaining",
"docs": [
"At least one consumer is remaining so the account cannot be destroyed."
]
},
{
"name": "NoProviders",
"docs": [
"There are no providers so the account cannot be created."
]
},
{
"name": "Token",
"fields": [
{
"type": 26,
"typeName": "TokenError"
}
],
"docs": [
"An error to do with tokens."
]
},
{
"name": "Arithmetic",
"fields": [
{
"type": 27,
"typeName": "ArithmeticError"
}
],
"docs": [
"An arithmetic error."
]
}
]
}
},
"docs": [
"Reason why a dispatch call failed."
]
},
{
"path": [
"sp_runtime",
"TokenError"
],
"def": {
"variant": {
"variants": [
{
"name": "NoFunds",
"discriminant": 0,
"docs": [
"Funds are unavailable."
]
},
{
"name": "WouldDie",
"discriminant": 1,
"docs": [
"Account that must exist would die."
]
},
{
"name": "BelowMinimum",
"discriminant": 2,
"docs": [
"Account cannot exist with the funds that would be given."
]
},
{
"name": "CannotCreate",
"discriminant": 3,
"docs": [
"Account cannot be created."
]
},
{
"name": "UnknownAsset",
"discriminant": 4,
"docs": [
"The asset in question is unknown."
]
},
{
"name": "Frozen",
"discriminant": 5,
"docs": [
"Funds exist but are frozen."
]
},
{
"name": "Unsupported",
"discriminant": 6,
"docs": [
"Operation is not supported by the asset."
]
}
]
}
},
"docs": [
"Description of what went wrong when trying to complete an operation on a token."
]
},
{
"path": [
"sp_runtime",
"ArithmeticError"
],
"def": {
"variant": {
"variants": [
{
"name": "Underflow",
"discriminant": 0,
"docs": [
"Underflow."
]
},
{
"name": "Overflow",
"discriminant": 1,
"docs": [
"Overflow."
]
},
{
"name": "DivisionByZero",
"discriminant": 2,
"docs": [
"Division by zero."
]
}
]
}
},
"docs": [
"Arithmetic errors."
]
},
{
"path": [
"pallet_scheduler",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "Scheduled",
"fields": [
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"Scheduled some task. \\\\[when, index\\\\]"
]
},
{
"name": "Canceled",
"fields": [
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"Canceled some task. \\\\[when, index\\\\]"
]
},
{
"name": "Dispatched",
"fields": [
{
"type": 29,
"typeName": "TaskAddress<T::BlockNumber>"
},
{
"type": 30,
"typeName": "Option<Vec<u8>>"
},
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"Dispatched some task. \\\\[task, id, result\\\\]"
]
}
]
}
},
"docs": [
"Events type."
]
},
{
"def": {
"tuple": [
4,
4
]
}
},
{
"path": [
"Option"
],
"params": [
10
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 10
}
]
}
]
}
}
},
{
"path": [
"Result"
],
"params": [
32,
25
],
"def": {
"variant": {
"variants": [
{
"name": "Ok",
"fields": [
{
"type": 32
}
]
},
{
"name": "Err",
"fields": [
{
"type": 25
}
]
}
]
}
}
},
{
"def": {
"tuple": []
}
},
{
"path": [
"pallet_indices",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "IndexAssigned",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "T::AccountIndex"
}
],
"docs": [
"A account index was assigned. \\\\[index, who\\\\]"
]
},
{
"name": "IndexFreed",
"fields": [
{
"type": 4,
"typeName": "T::AccountIndex"
}
],
"docs": [
"A account index has been freed up (unassigned). \\\\[index\\\\]"
]
},
{
"name": "IndexFrozen",
"fields": [
{
"type": 4,
"typeName": "T::AccountIndex"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"A account index has been frozen to its current account ID. \\\\[index, who\\\\]"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_balances",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "Endowed",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"An account was created with some free balance. \\\\[account, free_balance\\\\]"
]
},
{
"name": "DustLost",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"An account was removed whose balance was non-zero but below ExistentialDeposit,",
"resulting in an outright loss. \\\\[account, balance\\\\]"
]
},
{
"name": "Transfer",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"Transfer succeeded. \\\\[from, to, value\\\\]"
]
},
{
"name": "BalanceSet",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"A balance was set by root. \\\\[who, free, reserved\\\\]"
]
},
{
"name": "Deposit",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"Some amount was deposited (e.g. for transaction fees). \\\\[who, deposit\\\\]"
]
},
{
"name": "Reserved",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"Some balance was reserved (moved from free to reserved). \\\\[who, value\\\\]"
]
},
{
"name": "Unreserved",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
}
],
"docs": [
"Some balance was unreserved (moved from reserved to free). \\\\[who, value\\\\]"
]
},
{
"name": "ReserveRepatriated",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "T::Balance"
},
{
"type": 35,
"typeName": "Status"
}
],
"docs": [
"Some balance was moved from the reserve of the first account to the second account.",
"Final argument indicates the destination balance type.",
"\\\\[from, to, balance, destination_status\\\\]"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"frame_support",
"traits",
"tokens",
"misc",
"BalanceStatus"
],
"def": {
"variant": {
"variants": [
{
"name": "Free",
"discriminant": 0,
"docs": [
"Funds are free, as corresponding to `free` item in Balances."
]
},
{
"name": "Reserved",
"discriminant": 1,
"docs": [
"Funds are reserved, as corresponding to `reserved` item in Balances."
]
}
]
}
},
"docs": [
"Status of funds."
]
},
{
"path": [
"pallet_staking",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "EraPayout",
"fields": [
{
"type": 4,
"typeName": "EraIndex"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"The era payout has been set; the first balance is the validator-payout; the second is",
"the remainder from the maximum amount of reward.",
"\\\\[era_index, validator_payout, remainder\\\\]"
]
},
{
"name": "Reward",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"The staker has been rewarded by this amount. \\\\[stash, amount\\\\]"
]
},
{
"name": "Slash",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"One validator (and its nominators) has been slashed by the given amount.",
"\\\\[validator, amount\\\\]"
]
},
{
"name": "OldSlashingReportDiscarded",
"fields": [
{
"type": 4,
"typeName": "SessionIndex"
}
],
"docs": [
"An old slashing report from a prior era was discarded because it could",
"not be processed. \\\\[session_index\\\\]"
]
},
{
"name": "StakingElection",
"docs": [
"A new set of stakers was elected."
]
},
{
"name": "Bonded",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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."
]
},
{
"name": "Unbonded",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"An account has unbonded this amount. \\\\[stash, amount\\\\]"
]
},
{
"name": "Withdrawn",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"An account has called `withdraw_unbonded` and removed unbonding chunks worth `Balance`",
"from the unlocking queue. \\\\[stash, amount\\\\]"
]
},
{
"name": "Kicked",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"A nominator has been kicked from a validator. \\\\[nominator, stash\\\\]"
]
},
{
"name": "StakingElectionFailed",
"docs": [
"The election failed. No new era is planned."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_offences",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "Offence",
"fields": [
{
"type": 38,
"typeName": "Kind"
},
{
"type": 10,
"typeName": "OpaqueTimeSlot"
}
],
"docs": [
"There is an offence reported of the given `kind` happened at the `session_index` and",
"(kind-specific) time slot. This event is not deposited for duplicate slashes.",
"\\\\[kind, timeslot\\\\]."
]
}
]
}
},
"docs": [
"Events type."
]
},
{
"def": {
"array": {
"len": 16,
"type": 2
}
}
},
{
"path": [
"pallet_session",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "NewSession",
"fields": [
{
"type": 4,
"typeName": "SessionIndex"
}
],
"docs": [
"r\" New session has happened. Note that the argument is the \\[session_index\\], not the block",
"r\" number as the type might suggest."
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_grandpa",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "NewAuthorities",
"fields": [
{
"type": 41,
"typeName": "AuthorityList"
}
],
"docs": [
"New authority set has been applied. \\\\[authority_set\\\\]"
]
},
{
"name": "Paused",
"docs": [
"Current authority set has been paused."
]
},
{
"name": "Resumed",
"docs": [
"Current authority set has been resumed."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"def": {
"sequence": {
"type": 42
}
}
},
{
"def": {
"tuple": [
43,
8
]
}
},
{
"path": [
"sp_finality_grandpa",
"app",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 44,
"typeName": "ed25519::Public"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"sp_core",
"ed25519",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
]
}
},
"docs": [
"A public key."
]
},
{
"path": [
"pallet_im_online",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "HeartbeatReceived",
"fields": [
{
"type": 46,
"typeName": "T::AuthorityId"
}
],
"docs": [
"A new heartbeat was received from `AuthorityId` \\\\[authority_id\\\\]"
]
},
{
"name": "AllGood",
"docs": [
"At the end of the session, no offence was committed."
]
},
{
"name": "SomeOffline",
"fields": [
{
"type": 48,
"typeName": "Vec<IdentificationTuple<T>>"
}
],
"docs": [
"At the end of the session, at least one validator was found to be \\\\[offline\\\\]."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_im_online",
"sr25519",
"app_sr25519",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 47,
"typeName": "sr25519::Public"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"sp_core",
"sr25519",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
]
}
},
"docs": [
"An Schnorrkel/Ristretto x25519 (\\\"sr25519\\\") public key."
]
},
{
"def": {
"sequence": {
"type": 49
}
}
},
{
"def": {
"tuple": [
0,
50
]
}
},
{
"path": [
"pallet_staking",
"Exposure"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "total",
"type": 51,
"typeName": "Balance",
"docs": [
"The total balance backing this validator."
]
},
{
"name": "own",
"type": 51,
"typeName": "Balance",
"docs": [
"The validator\\'s own stash that is exposed."
]
},
{
"name": "others",
"type": 52,
"typeName": "Vec<IndividualExposure<AccountId, Balance>>",
"docs": [
"The portions of nominators stashes that are exposed."
]
}
]
}
},
"docs": [
"A snapshot of the stake backing a single validator in the system."
]
},
{
"def": {
"compact": {
"type": 6
}
}
},
{
"def": {
"sequence": {
"type": 53
}
}
},
{
"path": [
"pallet_staking",
"IndividualExposure"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "who",
"type": 0,
"typeName": "AccountId",
"docs": [
"The stash account of the nominator in question."
]
},
{
"name": "value",
"type": 51,
"typeName": "Balance",
"docs": [
"Amount of funds exposed."
]
}
]
}
},
"docs": [
"The amount of exposure (to slashing) than an individual nominator has."
]
},
{
"path": [
"pallet_democracy",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "Proposed",
"fields": [
{
"type": 4,
"typeName": "PropIndex"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A motion has been proposed by a public account. \\\\[proposal_index, deposit\\\\]"
]
},
{
"name": "Tabled",
"fields": [
{
"type": 4,
"typeName": "PropIndex"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
},
{
"type": 55,
"typeName": "Vec<T::AccountId>"
}
],
"docs": [
"A public proposal has been tabled for referendum vote. \\\\[proposal_index, deposit, depositors\\\\]"
]
},
{
"name": "ExternalTabled",
"docs": [
"An external proposal has been tabled."
]
},
{
"name": "Started",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
},
{
"type": 56,
"typeName": "VoteThreshold"
}
],
"docs": [
"A referendum has begun. \\\\[ref_index, threshold\\\\]"
]
},
{
"name": "Passed",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"A proposal has been approved by referendum. \\\\[ref_index\\\\]"
]
},
{
"name": "NotPassed",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"A proposal has been rejected by referendum. \\\\[ref_index\\\\]"
]
},
{
"name": "Cancelled",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"A referendum has been cancelled. \\\\[ref_index\\\\]"
]
},
{
"name": "Executed",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
},
{
"type": 57,
"typeName": "bool"
}
],
"docs": [
"A proposal has been enacted. \\\\[ref_index, is_ok\\\\]"
]
},
{
"name": "Delegated",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"An account has delegated their vote to another account. \\\\[who, target\\\\]"
]
},
{
"name": "Undelegated",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"An \\\\[account\\\\] has cancelled a previous delegation operation."
]
},
{
"name": "Vetoed",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 4,
"typeName": "T::BlockNumber"
}
],
"docs": [
"An external proposal has been vetoed. \\\\[who, proposal_hash, until\\\\]"
]
},
{
"name": "PreimageNoted",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A proposal\\'s preimage was noted, and the deposit taken. \\\\[proposal_hash, who, deposit\\\\]"
]
},
{
"name": "PreimageUsed",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A proposal preimage was removed and used (the deposit was returned).",
"\\\\[proposal_hash, provider, deposit\\\\]"
]
},
{
"name": "PreimageInvalid",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"A proposal could not be executed because its preimage was invalid.",
"\\\\[proposal_hash, ref_index\\\\]"
]
},
{
"name": "PreimageMissing",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"A proposal could not be executed because its preimage was missing.",
"\\\\[proposal_hash, ref_index\\\\]"
]
},
{
"name": "PreimageReaped",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"A registered preimage was removed and the deposit collected by the reaper.",
"\\\\[proposal_hash, provider, deposit, reaper\\\\]"
]
},
{
"name": "Unlocked",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"An \\\\[account\\\\] has been unlocked successfully."
]
},
{
"name": "Blacklisted",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"A proposal \\\\[hash\\\\] has been blacklisted permanently."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"def": {
"sequence": {
"type": 0
}
}
},
{
"path": [
"pallet_democracy",
"vote_threshold",
"VoteThreshold"
],
"def": {
"variant": {
"variants": [
{
"name": "SuperMajorityApprove",
"discriminant": 0,
"docs": [
"A supermajority of approvals is needed to pass this vote."
]
},
{
"name": "SuperMajorityAgainst",
"discriminant": 1,
"docs": [
"A supermajority of rejects is needed to fail this vote."
]
},
{
"name": "SimpleMajority",
"discriminant": 2,
"docs": [
"A simple majority of approvals is needed to pass this vote."
]
}
]
}
},
"docs": [
"A means of determining if a vote is past pass threshold."
]
},
{
"def": {
"primitive": "bool"
}
},
{
"path": [
"pallet_collective",
"RawEvent"
],
"params": [
9,
0,
59
],
"def": {
"variant": {
"variants": [
{
"name": "Proposed",
"fields": [
{
"type": 0,
"typeName": "AccountId"
},
{
"type": 4,
"typeName": "ProposalIndex"
},
{
"type": 9,
"typeName": "Hash"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" A motion (given hash) has been proposed (by given account) with a threshold (given",
"r\" `MemberCount`).",
"r\" \\[account, proposal_index, proposal_hash, threshold\\]"
]
},
{
"name": "Voted",
"fields": [
{
"type": 0,
"typeName": "AccountId"
},
{
"type": 9,
"typeName": "Hash"
},
{
"type": 57,
"typeName": "bool"
},
{
"type": 4,
"typeName": "MemberCount"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" A motion (given hash) has been voted on by given account, leaving",
"r\" a tally (yes votes and no votes given respectively as `MemberCount`).",
"r\" \\[account, proposal_hash, voted, yes, no\\]"
]
},
{
"name": "Approved",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A motion was approved by the required threshold.",
"r\" \\[proposal_hash\\]"
]
},
{
"name": "Disapproved",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A motion was not approved by the required threshold.",
"r\" \\[proposal_hash\\]"
]
},
{
"name": "Executed",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"r\" A motion was executed; result will be `Ok` if it returned without error.",
"r\" \\[proposal_hash, result\\]"
]
},
{
"name": "MemberExecuted",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"r\" A single member did some action; result will be `Ok` if it returned without error.",
"r\" \\[proposal_hash, result\\]"
]
},
{
"name": "Closed",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 4,
"typeName": "MemberCount"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" A proposal was closed because its threshold was reached or after its duration was up.",
"r\" \\[proposal_hash, yes, no\\]"
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_collective",
"Instance1"
],
"def": {
"composite": {}
},
"docs": [
"r\"Module instance"
]
},
{
"path": [
"pallet_collective",
"RawEvent"
],
"params": [
9,
0,
61
],
"def": {
"variant": {
"variants": [
{
"name": "Proposed",
"fields": [
{
"type": 0,
"typeName": "AccountId"
},
{
"type": 4,
"typeName": "ProposalIndex"
},
{
"type": 9,
"typeName": "Hash"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" A motion (given hash) has been proposed (by given account) with a threshold (given",
"r\" `MemberCount`).",
"r\" \\[account, proposal_index, proposal_hash, threshold\\]"
]
},
{
"name": "Voted",
"fields": [
{
"type": 0,
"typeName": "AccountId"
},
{
"type": 9,
"typeName": "Hash"
},
{
"type": 57,
"typeName": "bool"
},
{
"type": 4,
"typeName": "MemberCount"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" A motion (given hash) has been voted on by given account, leaving",
"r\" a tally (yes votes and no votes given respectively as `MemberCount`).",
"r\" \\[account, proposal_hash, voted, yes, no\\]"
]
},
{
"name": "Approved",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A motion was approved by the required threshold.",
"r\" \\[proposal_hash\\]"
]
},
{
"name": "Disapproved",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A motion was not approved by the required threshold.",
"r\" \\[proposal_hash\\]"
]
},
{
"name": "Executed",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"r\" A motion was executed; result will be `Ok` if it returned without error.",
"r\" \\[proposal_hash, result\\]"
]
},
{
"name": "MemberExecuted",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"r\" A single member did some action; result will be `Ok` if it returned without error.",
"r\" \\[proposal_hash, result\\]"
]
},
{
"name": "Closed",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 4,
"typeName": "MemberCount"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" A proposal was closed because its threshold was reached or after its duration was up.",
"r\" \\[proposal_hash, yes, no\\]"
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_collective",
"Instance2"
],
"def": {
"composite": {}
},
"docs": [
"r\"Module instance"
]
},
{
"path": [
"pallet_elections_phragmen",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "NewTerm",
"fields": [
{
"type": 63,
"typeName": "Vec<(<T as frame_system::Config>::AccountId, BalanceOf<T>)>"
}
],
"docs": [
"A new term with \\\\[new_members\\\\]. This indicates that enough candidates existed to run",
"the election, not that enough have has been elected. The inner value must be examined",
"for this purpose. A `NewTerm(\\\\[\\\\])` indicates that some candidates got their bond",
"slashed and none were elected, whilst `EmptyTerm` means that no candidates existed to",
"begin with."
]
},
{
"name": "EmptyTerm",
"docs": [
"No (or not enough) candidates existed for this round. This is different from",
"`NewTerm(\\\\[\\\\])`. See the description of `NewTerm`."
]
},
{
"name": "ElectionError",
"docs": [
"Internal error happened while trying to perform election."
]
},
{
"name": "MemberKicked",
"fields": [
{
"type": 0,
"typeName": "<T as frame_system::Config>::AccountId"
}
],
"docs": [
"A \\\\[member\\\\] has been removed. This should always be followed by either `NewTerm` or",
"`EmptyTerm`."
]
},
{
"name": "Renounced",
"fields": [
{
"type": 0,
"typeName": "<T as frame_system::Config>::AccountId"
}
],
"docs": [
"Someone has renounced their candidacy."
]
},
{
"name": "CandidateSlashed",
"fields": [
{
"type": 0,
"typeName": "<T as frame_system::Config>::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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."
]
},
{
"name": "SeatHolderSlashed",
"fields": [
{
"type": 0,
"typeName": "<T as frame_system::Config>::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A \\\\[seat holder\\\\] was slashed by \\\\[amount\\\\] by being forcefully removed from the set."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"def": {
"sequence": {
"type": 64
}
}
},
{
"def": {
"tuple": [
0,
6
]
}
},
{
"path": [
"pallet_membership",
"RawEvent"
],
"params": [
0,
20,
66
],
"def": {
"variant": {
"variants": [
{
"name": "MemberAdded",
"docs": [
"r\" The given member was added; see the transaction for who."
]
},
{
"name": "MemberRemoved",
"docs": [
"r\" The given member was removed; see the transaction for who."
]
},
{
"name": "MembersSwapped",
"docs": [
"r\" Two members were swapped; see the transaction for who."
]
},
{
"name": "MembersReset",
"docs": [
"r\" The membership was reset; see the transaction for who the new set is."
]
},
{
"name": "KeyChanged",
"docs": [
"r\" One of the members' keys changed."
]
},
{
"name": "Dummy",
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<(AccountId, Event)>"
}
],
"docs": [
"r\" Phantom member, never used."
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_membership",
"Instance1"
],
"def": {
"composite": {}
},
"docs": [
"r\"Module instance"
]
},
{
"def": {
"phantom": null
}
},
{
"path": [
"pallet_treasury",
"RawEvent"
],
"params": [
6,
0,
69
],
"def": {
"variant": {
"variants": [
{
"name": "Proposed",
"fields": [
{
"type": 4,
"typeName": "ProposalIndex"
}
],
"docs": [
"r\" New proposal. \\[proposal_index\\]"
]
},
{
"name": "Spending",
"fields": [
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" We have ended a spend period and will now allocate funds. \\[budget_remaining\\]"
]
},
{
"name": "Awarded",
"fields": [
{
"type": 4,
"typeName": "ProposalIndex"
},
{
"type": 6,
"typeName": "Balance"
},
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"r\" Some funds have been allocated. \\[proposal_index, award, beneficiary\\]"
]
},
{
"name": "Rejected",
"fields": [
{
"type": 4,
"typeName": "ProposalIndex"
},
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" A proposal was rejected; funds were slashed. \\[proposal_index, slashed\\]"
]
},
{
"name": "Burnt",
"fields": [
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" Some of our funds have been burnt. \\[burn\\]"
]
},
{
"name": "Rollover",
"fields": [
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" Spending has finished; this is the amount that rolls over until next spend.",
"r\" \\[budget_remaining\\]"
]
},
{
"name": "Deposit",
"fields": [
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" Some funds have been deposited. \\[deposit\\]"
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_treasury",
"DefaultInstance"
],
"def": {
"composite": {}
},
"docs": [
"r\"Default module instance"
]
},
{
"path": [
"polkadot_runtime_common",
"claims",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "Claimed",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 71,
"typeName": "EthereumAddress"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"Someone claimed some DOTs. [who, ethereum_address, amount]"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"polkadot_runtime_common",
"claims",
"EthereumAddress"
],
"def": {
"composite": {
"fields": [
{
"type": 72,
"typeName": "[u8; 20]"
}
]
}
},
"docs": [
"An Ethereum address (i.e. 20 bytes, used to represent an Ethereum account).",
"",
"This gets serialized to the 0x-prefixed hex representation."
]
},
{
"def": {
"array": {
"len": 20,
"type": 2
}
}
},
{
"path": [
"pallet_vesting",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "VestingUpdated",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"The amount vested has been updated. This could indicate more funds are available. The",
"balance given is the amount which is left unvested (and thus locked).",
"\\\\[account, unvested\\\\]"
]
},
{
"name": "VestingCompleted",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"An \\\\[account\\\\] has become fully vested. No further vesting can happen."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_utility",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "BatchInterrupted",
"fields": [
{
"type": 4,
"typeName": "u32"
},
{
"type": 25,
"typeName": "DispatchError"
}
],
"docs": [
"Batch of dispatches did not complete fully. Index of first failing dispatch given, as",
"well as the error. \\\\[index, error\\\\]"
]
},
{
"name": "BatchCompleted",
"docs": [
"Batch of dispatches completed fully with no error."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_identity",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "IdentitySet",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"A name was set or reset (which will remove all judgements). \\\\[who\\\\]"
]
},
{
"name": "IdentityCleared",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A name was cleared, and the given balance returned. \\\\[who, deposit\\\\]"
]
},
{
"name": "IdentityKilled",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A name was removed and the given balance slashed. \\\\[who, deposit\\\\]"
]
},
{
"name": "JudgementRequested",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "RegistrarIndex"
}
],
"docs": [
"A judgement was asked from a registrar. \\\\[who, registrar_index\\\\]"
]
},
{
"name": "JudgementUnrequested",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "RegistrarIndex"
}
],
"docs": [
"A judgement request was retracted. \\\\[who, registrar_index\\\\]"
]
},
{
"name": "JudgementGiven",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "RegistrarIndex"
}
],
"docs": [
"A judgement was given by a registrar. \\\\[target, registrar_index\\\\]"
]
},
{
"name": "RegistrarAdded",
"fields": [
{
"type": 4,
"typeName": "RegistrarIndex"
}
],
"docs": [
"A registrar was added. \\\\[registrar_index\\\\]"
]
},
{
"name": "SubIdentityAdded",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A sub-identity was added to an identity and the deposit paid. \\\\[sub, main, deposit\\\\]"
]
},
{
"name": "SubIdentityRemoved",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A sub-identity was removed from an identity and the deposit freed.",
"\\\\[sub, main, deposit\\\\]"
]
},
{
"name": "SubIdentityRevoked",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"A sub-identity was cleared, and the given deposit repatriated from the",
"main identity account to the sub-identity account. \\\\[sub, main, deposit\\\\]"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_proxy",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "ProxyExecuted",
"fields": [
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"A proxy was executed correctly, with the given \\\\[result\\\\]."
]
},
{
"name": "AnonymousCreated",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 77,
"typeName": "T::ProxyType"
},
{
"type": 78,
"typeName": "u16"
}
],
"docs": [
"Anonymous account has been created by new proxy with given",
"disambiguation index and proxy type. \\\\[anonymous, who, proxy_type, disambiguation_index\\\\]"
]
},
{
"name": "Announced",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 9,
"typeName": "CallHashOf<T>"
}
],
"docs": [
"An announcement was placed to make a call in the future. \\\\[real, proxy, call_hash\\\\]"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"polkadot_runtime",
"ProxyType"
],
"def": {
"variant": {
"variants": [
{
"name": "Any",
"discriminant": 0
},
{
"name": "NonTransfer",
"discriminant": 1
},
{
"name": "Governance",
"discriminant": 2
},
{
"name": "Staking",
"discriminant": 3
},
{
"name": "IdentityJudgement",
"discriminant": 5
},
{
"name": "CancelProxy",
"discriminant": 6
}
]
}
},
"docs": [
"The type used to represent the kinds of proxying allowed."
]
},
{
"def": {
"primitive": "u16"
}
},
{
"path": [
"pallet_multisig",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "NewMultisig",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 1,
"typeName": "CallHash"
}
],
"docs": [
"A new multisig operation has begun. \\\\[approving, multisig, call_hash\\\\]"
]
},
{
"name": "MultisigApproval",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 80,
"typeName": "Timepoint<T::BlockNumber>"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 1,
"typeName": "CallHash"
}
],
"docs": [
"A multisig operation has been approved by someone.",
"\\\\[approving, timepoint, multisig, call_hash\\\\]"
]
},
{
"name": "MultisigExecuted",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 80,
"typeName": "Timepoint<T::BlockNumber>"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 1,
"typeName": "CallHash"
},
{
"type": 31,
"typeName": "DispatchResult"
}
],
"docs": [
"A multisig operation has been executed. \\\\[approving, timepoint, multisig, call_hash\\\\]"
]
},
{
"name": "MultisigCancelled",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 80,
"typeName": "Timepoint<T::BlockNumber>"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 1,
"typeName": "CallHash"
}
],
"docs": [
"A multisig operation has been cancelled. \\\\[cancelling, timepoint, multisig, call_hash\\\\]"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_multisig",
"Timepoint"
],
"params": [
4
],
"def": {
"composite": {
"fields": [
{
"name": "height",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"The height of the chain at the point in time."
]
},
{
"name": "index",
"type": 4,
"typeName": "u32",
"docs": [
"The index of the extrinsic at the point in time."
]
}
]
}
},
"docs": [
"A global extrinsic index, formed as the extrinsic index within a block, together with that",
"block\\'s height. This allows a transaction in which a multisig operation of a particular",
"composite was created to be uniquely identified."
]
},
{
"path": [
"pallet_bounties",
"RawEvent"
],
"params": [
6,
0
],
"def": {
"variant": {
"variants": [
{
"name": "BountyProposed",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" New bounty proposal. \\[index\\]"
]
},
{
"name": "BountyRejected",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
},
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" A bounty proposal was rejected; funds were slashed. \\[index, bond\\]"
]
},
{
"name": "BountyBecameActive",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" A bounty proposal is funded and became active. \\[index\\]"
]
},
{
"name": "BountyAwarded",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
},
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"r\" A bounty is awarded to a beneficiary. \\[index, beneficiary\\]"
]
},
{
"name": "BountyClaimed",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
},
{
"type": 6,
"typeName": "Balance"
},
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"r\" A bounty is claimed by beneficiary. \\[index, payout, beneficiary\\]"
]
},
{
"name": "BountyCanceled",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" A bounty is cancelled. \\[index\\]"
]
},
{
"name": "BountyExtended",
"fields": [
{
"type": 4,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" A bounty expiry is extended. \\[index\\]"
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_tips",
"RawEvent"
],
"params": [
6,
0,
9
],
"def": {
"variant": {
"variants": [
{
"name": "NewTip",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A new tip suggestion has been opened. \\[tip_hash\\]"
]
},
{
"name": "TipClosing",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A tip suggestion has reached threshold and is closing. \\[tip_hash\\]"
]
},
{
"name": "TipClosed",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 0,
"typeName": "AccountId"
},
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" A tip suggestion has been closed. \\[tip_hash, who, payout\\]"
]
},
{
"name": "TipRetracted",
"fields": [
{
"type": 9,
"typeName": "Hash"
}
],
"docs": [
"r\" A tip suggestion has been retracted. \\[tip_hash\\]"
]
},
{
"name": "TipSlashed",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 0,
"typeName": "AccountId"
},
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"r\" A tip suggestion has been slashed. \\[tip_hash, finder, deposit\\]"
]
}
]
}
},
"docs": [
"Events for this module.",
""
]
},
{
"path": [
"pallet_election_provider_multi_phase",
"pallet",
"Event"
],
"def": {
"variant": {
"variants": [
{
"name": "SolutionStored",
"fields": [
{
"type": 84,
"typeName": "ElectionCompute"
}
],
"docs": [
"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."
]
},
{
"name": "ElectionFinalized",
"fields": [
{
"type": 85,
"typeName": "Option<ElectionCompute>"
}
],
"docs": [
"The election has been finalized, with `Some` of the given computation, or else if the",
"election failed, `None`."
]
},
{
"name": "Rewarded",
"fields": [
{
"type": 0,
"typeName": "<T as frame_system::Config>::AccountId"
}
],
"docs": [
"An account has been rewarded for their signed submission being finalized."
]
},
{
"name": "Slashed",
"fields": [
{
"type": 0,
"typeName": "<T as frame_system::Config>::AccountId"
}
],
"docs": [
"An account has been slashed for submitting an invalid signed submission."
]
},
{
"name": "SignedPhaseStarted",
"fields": [
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"The signed phase of the given round has started."
]
},
{
"name": "UnsignedPhaseStarted",
"fields": [
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"The unsigned phase of the given round has started."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tThe [event](https://substrate.dev/docs/en/knowledgebase/runtime/events) emitted\n\t\t\tby this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_election_provider_multi_phase",
"ElectionCompute"
],
"def": {
"variant": {
"variants": [
{
"name": "OnChain",
"discriminant": 0,
"docs": [
"Election was computed on-chain."
]
},
{
"name": "Signed",
"discriminant": 1,
"docs": [
"Election was computed with a signed submission."
]
},
{
"name": "Unsigned",
"discriminant": 2,
"docs": [
"Election was computed with an unsigned submission."
]
}
]
}
},
"docs": [
"The type of `Computation` that provided this election data."
]
},
{
"path": [
"Option"
],
"params": [
84
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 84
}
]
}
]
}
}
},
{
"path": [
"frame_system",
"Phase"
],
"def": {
"variant": {
"variants": [
{
"name": "ApplyExtrinsic",
"fields": [
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"Applying an extrinsic."
]
},
{
"name": "Finalization",
"docs": [
"Finalizing the block."
]
},
{
"name": "Initialization",
"docs": [
"Initializing the block."
]
}
]
}
},
"docs": [
"A phase of a block\\'s execution."
]
},
{
"def": {
"sequence": {
"type": 9
}
}
},
{
"def": {
"sequence": {
"type": 29
}
}
},
{
"path": [
"frame_system",
"LastRuntimeUpgradeInfo"
],
"def": {
"composite": {
"fields": [
{
"name": "spec_version",
"type": 90,
"typeName": "codec::Compact<u32>"
},
{
"name": "spec_name",
"type": 91,
"typeName": "sp_runtime::RuntimeString"
}
]
}
},
"docs": [
"Stores the `spec_version` and `spec_name` of when the last runtime upgrade",
"happened."
]
},
{
"def": {
"compact": {
"type": 4
}
}
},
{
"def": {
"primitive": "str"
}
},
{
"path": [
"frame_system",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "fill_block",
"fields": [
{
"type": 93,
"typeName": "Perbill"
}
],
"docs": [
"A dispatch that will fill the block weight up to the given ratio.a"
]
},
{
"name": "remark",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Make some on-chain remark.",
"",
"# <weight>",
"- `O(1)`",
"# </weight>"
]
},
{
"name": "set_heap_pages",
"fields": [
{
"type": 8,
"typeName": "u64"
}
],
"docs": [
"Set the number of pages in the WebAssembly environment\\'s heap.",
"",
"# <weight>",
"- `O(1)`",
"- 1 storage write.",
"- Base Weight: 1.405 µs",
"- 1 write to HEAP_PAGES",
"# </weight>"
]
},
{
"name": "set_code",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Set the new runtime code.",
"",
"# <weight>",
"- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`",
"- 1 storage write (codec `O(C)`).",
"- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).",
"- 1 event.",
"The weight of this function is dependent on the runtime, but generally this is very expensive.",
"We will treat this as a full block.",
"# </weight>"
]
},
{
"name": "set_code_without_checks",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Set the new runtime code without doing any checks of the given `code`.",
"",
"# <weight>",
"- `O(C)` where `C` length of `code`",
"- 1 storage write (codec `O(C)`).",
"- 1 event.",
"The weight of this function is dependent on the runtime. We will treat this as a full block.",
"# </weight>"
]
},
{
"name": "set_changes_trie_config",
"fields": [
{
"type": 16,
"typeName": "Option<ChangesTrieConfiguration>"
}
],
"docs": [
"Set the new changes trie configuration.",
"",
"# <weight>",
"- `O(1)`",
"- 1 storage write or delete (codec `O(1)`).",
"- 1 call to `deposit_log`: Uses `append` API, so O(1)",
"- Base Weight: 7.218 µs",
"- DB Weight:",
" - Writes: Changes Trie, System Digest",
"# </weight>"
]
},
{
"name": "set_storage",
"fields": [
{
"type": 94,
"typeName": "Vec<KeyValue>"
}
],
"docs": [
"Set some items of storage.",
"",
"# <weight>",
"- `O(I)` where `I` length of `items`",
"- `I` storage writes (`O(1)`).",
"- Base Weight: 0.568 * i µs",
"- Writes: Number of items",
"# </weight>"
]
},
{
"name": "kill_storage",
"fields": [
{
"type": 96,
"typeName": "Vec<Key>"
}
],
"docs": [
"Kill some items from storage.",
"",
"# <weight>",
"- `O(IK)` where `I` length of `keys` and `K` length of one key",
"- `I` storage deletions.",
"- Base Weight: .378 * i µs",
"- Writes: Number of items",
"# </weight>"
]
},
{
"name": "kill_prefix",
"fields": [
{
"type": 10,
"typeName": "Key"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(P)` where `P` amount of keys with prefix `prefix`",
"- `P` storage deletions.",
"- Base Weight: 0.834 * P µs",
"- Writes: Number of subkeys + 1",
"# </weight>"
]
},
{
"name": "remark_with_event",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Make some on-chain remark and emit event.",
"",
"# <weight>",
"- `O(b)` where b is the length of the remark.",
"- 1 event.",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"sp_arithmetic",
"per_things",
"Perbill"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
},
"docs": [
"A fixed point representation of a number in the range [0, 1].",
"",
"\"_Parts per Billion_"
]
},
{
"def": {
"sequence": {
"type": 95
}
}
},
{
"def": {
"tuple": [
10,
10
]
}
},
{
"def": {
"sequence": {
"type": 10
}
}
},
{
"path": [
"frame_system",
"limits",
"BlockWeights"
],
"def": {
"composite": {
"fields": [
{
"name": "base_block",
"type": 8,
"typeName": "Weight",
"docs": [
"Base weight of block execution."
]
},
{
"name": "max_block",
"type": 8,
"typeName": "Weight",
"docs": [
"Maximal total weight consumed by all kinds of extrinsics (without `reserved` space)."
]
},
{
"name": "per_class",
"type": 98,
"typeName": "PerDispatchClass<WeightsPerClass>",
"docs": [
"Weight limits for extrinsics of given dispatch class."
]
}
]
}
},
"docs": [
"Block weight limits & base values configuration.",
"",
"This object is responsible for defining weight limits and base weight values tracked",
"during extrinsic execution.",
"",
"Each block starts with `base_block` weight being consumed right away. Next up the",
"`on_initialize` pallet callbacks are invoked and their cost is added before any extrinsic",
"is executed. This cost is tracked as `Mandatory` dispatch class.",
"",
"```text,ignore",
"| | `max_block` | |",
"| | | |",
"| | | |",
"| | | |",
"| | | #| `on_initialize`",
"| #| `base_block` | #|",
"|NOM| |NOM|",
" ||\\\\_ Mandatory",
" |\\\\__ Operational",
" \\\\___ Normal",
"```",
"",
"The remaining capacity can be used to dispatch extrinsics. Note that each dispatch class",
"is being tracked separately, but the sum can\\'t exceed `max_block` (except for `reserved`).",
"Below you can see a picture representing full block with 3 extrinsics (two `Operational` and",
"one `Normal`). Each class has it\\'s own limit `max_total`, but also the sum cannot exceed",
"`max_block` value.",
"",
"```text,ignore",
" -- `Mandatory` limit (unlimited)",
"| # | | |",
"| # | `Ext3` | - - `Operational` limit",
"|# | `Ext2` |- - `Normal` limit",
"| # | `Ext1` | # |",
"| #| `on_initialize` | ##|",
"| #| `base_block` |###|",
"|NOM| |NOM|",
"```",
"",
"It should be obvious now that it\\'s possible for one class to reach it\\'s limit (say `Normal`),",
"while the block has still capacity to process more transactions (`max_block` not reached,",
"`Operational` transactions can still go in). Setting `max_total` to `None` disables the",
"per-class limit. This is generally highly recommended for `Mandatory` dispatch class, while it",
"can be dangerous for `Normal` class and should only be done with extra care and consideration.",
"",
"Often it\\'s desirable for some class of transactions to be added to the block despite it being",
"full. For instance one might want to prevent high-priority `Normal` transactions from pushing",
"out lower-priority `Operational` transactions. In such cases you might add a `reserved` capacity",
"for given class.",
"",
"```test,ignore",
" _",
" # \\\\",
" # `Ext8` - `reserved`",
" # _/",
"| # | `Ext7 | - - `Operational` limit",
"|# | `Ext6` | |",
"|# | `Ext5` |-# - `Normal` limit",
"|# | `Ext4` |## |",
"| #| `on_initialize` |###|",
"| #| `base_block` |###|",
"|NOM| |NOM|",
"```",
"",
"In the above example, `Ext4-6` fill up the block almost up to `max_block`. `Ext7` would not fit",
"if there wasn\\'t the extra `reserved` space for `Operational` transactions. Note that `max_total`",
"limit applies to `reserved` space as well (i.e. the sum of weights of `Ext7` & `Ext8` mustn\\'t",
"exceed it). Setting `reserved` to `None` allows the extrinsics to always get into the block up",
"to their `max_total` limit. If `max_total` is set to `None` as well, all extrinsics witch",
"dispatchables of given class will always end up in the block (recommended for `Mandatory`",
"dispatch class).",
"",
"As a consequence of `reserved` space, total consumed block weight might exceed `max_block`",
"value, so this parameter should rather be thought of as \\\"target block weight\\\" than a hard limit."
]
},
{
"path": [
"frame_support",
"weights",
"PerDispatchClass"
],
"params": [
99
],
"def": {
"composite": {
"fields": [
{
"name": "normal",
"type": 99,
"typeName": "T",
"docs": [
"Value for `Normal` extrinsics."
]
},
{
"name": "operational",
"type": 99,
"typeName": "T",
"docs": [
"Value for `Operational` extrinsics."
]
},
{
"name": "mandatory",
"type": 99,
"typeName": "T",
"docs": [
"Value for `Mandatory` extrinsics."
]
}
]
}
},
"docs": [
"A struct holding value for each `DispatchClass`."
]
},
{
"path": [
"frame_system",
"limits",
"WeightsPerClass"
],
"def": {
"composite": {
"fields": [
{
"name": "base_extrinsic",
"type": 8,
"typeName": "Weight",
"docs": [
"Base weight of single extrinsic of given class."
]
},
{
"name": "max_extrinsic",
"type": 100,
"typeName": "Option<Weight>",
"docs": [
"Maximal weight of single extrinsic. Should NOT include `base_extrinsic` cost.",
"",
"`None` indicates that this class of extrinsics doesn\\'t have a limit."
]
},
{
"name": "max_total",
"type": 100,
"typeName": "Option<Weight>",
"docs": [
"Block maximal total weight for all extrinsics of given class.",
"",
"`None` indicates that weight sum of this class of extrinsics is not",
"restricted. Use this value carefully, since it might produce heavily oversized",
"blocks.",
"",
"In the worst case, the total weight consumed by the class is going to be:",
"`MAX(max_total) + MAX(reserved)`."
]
},
{
"name": "reserved",
"type": 100,
"typeName": "Option<Weight>",
"docs": [
"Block reserved allowance for all extrinsics of a particular class.",
"",
"Setting to `None` indicates that extrinsics of that class are allowed",
"to go over total block weight (but at most `max_total` for that class).",
"Setting to `Some(x)` guarantees that at least `x` weight of particular class",
"is processed in every block."
]
}
]
}
},
"docs": [
"`DispatchClass`-specific weight configuration."
]
},
{
"path": [
"Option"
],
"params": [
8
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 8
}
]
}
]
}
}
},
{
"path": [
"frame_system",
"limits",
"BlockLength"
],
"def": {
"composite": {
"fields": [
{
"name": "max",
"type": 102,
"typeName": "PerDispatchClass<u32>",
"docs": [
"Maximal total length in bytes for each extrinsic class.",
"",
"In the worst case, the total block length is going to be:",
"`MAX(max)`"
]
}
]
}
},
"docs": [
"Block length limit configuration."
]
},
{
"path": [
"frame_support",
"weights",
"PerDispatchClass"
],
"params": [
4
],
"def": {
"composite": {
"fields": [
{
"name": "normal",
"type": 4,
"typeName": "T",
"docs": [
"Value for `Normal` extrinsics."
]
},
{
"name": "operational",
"type": 4,
"typeName": "T",
"docs": [
"Value for `Operational` extrinsics."
]
},
{
"name": "mandatory",
"type": 4,
"typeName": "T",
"docs": [
"Value for `Mandatory` extrinsics."
]
}
]
}
},
"docs": [
"A struct holding value for each `DispatchClass`."
]
},
{
"path": [
"frame_support",
"weights",
"RuntimeDbWeight"
],
"def": {
"composite": {
"fields": [
{
"name": "read",
"type": 8,
"typeName": "Weight"
},
{
"name": "write",
"type": 8,
"typeName": "Weight"
}
]
}
},
"docs": [
"The weight of database operations that the runtime can invoke."
]
},
{
"path": [
"sp_version",
"RuntimeVersion"
],
"def": {
"composite": {
"fields": [
{
"name": "spec_name",
"type": 91,
"typeName": "RuntimeString",
"docs": [
"Identifies the different Substrate runtimes. There\\'ll be at least polkadot and node.",
"A different on-chain spec_name to that of the native runtime would normally result",
"in node not attempting to sync or author blocks."
]
},
{
"name": "impl_name",
"type": 91,
"typeName": "RuntimeString",
"docs": [
"Name of the implementation of the spec. This is of little consequence for the node",
"and serves only to differentiate code of different implementation teams. For this",
"codebase, it will be parity-polkadot. If there were a non-Rust implementation of the",
"Polkadot runtime (e.g. C++), then it would identify itself with an accordingly different",
"`impl_name`."
]
},
{
"name": "authoring_version",
"type": 4,
"typeName": "u32",
"docs": [
"`authoring_version` is the version of the authorship interface. An authoring node",
"will not attempt to author blocks unless this is equal to its native runtime."
]
},
{
"name": "spec_version",
"type": 4,
"typeName": "u32",
"docs": [
"Version of the runtime specification. A full-node will not attempt to use its native",
"runtime in substitute for the on-chain Wasm runtime unless all of `spec_name`,",
"`spec_version` and `authoring_version` are the same between Wasm and native."
]
},
{
"name": "impl_version",
"type": 4,
"typeName": "u32",
"docs": [
"Version of the implementation of the specification. Nodes are free to ignore this; it",
"serves only as an indication that the code is different; as long as the other two versions",
"are the same then while the actual code may be different, it is nonetheless required to",
"do the same thing.",
"Non-consensus-breaking optimizations are about the only changes that could be made which",
"would result in only the `impl_version` changing."
]
},
{
"name": "apis",
"type": 105,
"typeName": "ApisVec",
"docs": [
"List of supported API \\\"features\\\" along with their versions."
]
},
{
"name": "transaction_version",
"type": 4,
"typeName": "u32",
"docs": [
"All existing dispatches are fully compatible when this number doesn\\'t change. If this",
"number changes, then `spec_version` must change, also.",
"",
"This number must change when an existing dispatchable (module ID, dispatch ID) is changed,",
"either through an alteration in its user-level semantics, a parameter added/removed/changed,",
"a dispatchable being removed, a module being removed, or a dispatchable/module changing its",
"index.",
"",
"It need *not* change when a new module is added or when a dispatchable is added."
]
}
]
}
},
"docs": [
"Runtime version.",
"This should not be thought of as classic Semver (major/minor/tiny).",
"This triplet have different semantics and mis-interpretation could cause problems.",
"In particular: bug fixes should result in an increment of `spec_version` and possibly `authoring_version`,",
"absolutely not `impl_version` since they change the semantics of the runtime."
]
},
{
"path": [
"Cow"
],
"params": [
106
],
"def": {
"composite": {
"fields": [
{
"type": 106
}
]
}
}
},
{
"def": {
"sequence": {
"type": 107
}
}
},
{
"def": {
"tuple": [
108,
4
]
}
},
{
"def": {
"array": {
"len": 8,
"type": 2
}
}
},
{
"path": [
"frame_system",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "InvalidSpecName",
"docs": [
"The name of specification does not match between the current runtime",
"and the new runtime."
]
},
{
"name": "SpecVersionNeedsToIncrease",
"docs": [
"The specification version is not allowed to decrease between the current runtime",
"and the new runtime."
]
},
{
"name": "FailedToExtractRuntimeVersion",
"docs": [
"Failed to extract the runtime version from the new runtime.",
"",
"Either calling `Core_version` or decoding `RuntimeVersion` failed."
]
},
{
"name": "NonDefaultComposite",
"docs": [
"Suicide called when the account has non-default composite data."
]
},
{
"name": "NonZeroRefCount",
"docs": [
"There is a non-zero reference count preventing the account from being purged."
]
}
]
}
},
"docs": [
"Error for the System pallet"
]
},
{
"path": [
"frame_support",
"Never"
],
"def": {
"variant": {}
},
"docs": [
"A type that cannot be instantiated."
]
},
{
"def": {
"sequence": {
"type": 112
}
}
},
{
"path": [
"Option"
],
"params": [
113
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 113
}
]
}
]
}
}
},
{
"path": [
"pallet_scheduler",
"ScheduledV2"
],
"params": [
114,
4,
263,
0
],
"def": {
"composite": {
"fields": [
{
"name": "maybe_id",
"type": 30,
"typeName": "Option<Vec<u8>>",
"docs": [
"The unique identity for this task, if there is one."
]
},
{
"name": "priority",
"type": 2,
"typeName": "schedule::Priority",
"docs": [
"This task\\'s priority."
]
},
{
"name": "call",
"type": 114,
"typeName": "Call",
"docs": [
"The call to be dispatched."
]
},
{
"name": "maybe_periodic",
"type": 116,
"typeName": "Option<schedule::Period<BlockNumber>>",
"docs": [
"If the call is periodic, then this points to the information concerning that."
]
},
{
"name": "origin",
"type": 263,
"typeName": "PalletsOrigin",
"docs": [
"The origin to dispatch the call."
]
},
{
"name": "_phantom",
"type": 67,
"typeName": "PhantomData<AccountId>"
}
]
}
},
"docs": [
"Information regarding an item to be executed in the future."
]
},
{
"path": [
"polkadot_runtime",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "System",
"fields": [
{
"type": 92,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<System, Runtime>"
}
],
"index": 0
},
{
"name": "Scheduler",
"fields": [
{
"type": 115,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Scheduler, Runtime>"
}
],
"index": 1
},
{
"name": "Babe",
"fields": [
{
"type": 117,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Babe, Runtime>"
}
],
"index": 2
},
{
"name": "Timestamp",
"fields": [
{
"type": 126,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Timestamp, Runtime>"
}
],
"index": 3
},
{
"name": "Indices",
"fields": [
{
"type": 128,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Indices, Runtime>"
}
],
"index": 4
},
{
"name": "Balances",
"fields": [
{
"type": 129,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Balances, Runtime>"
}
],
"index": 5
},
{
"name": "Authorship",
"fields": [
{
"type": 132,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Authorship, Runtime>"
}
],
"index": 6
},
{
"name": "Staking",
"fields": [
{
"type": 134,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Staking, Runtime>"
}
],
"index": 7
},
{
"name": "Session",
"fields": [
{
"type": 142,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Session, Runtime>"
}
],
"index": 9
},
{
"name": "Grandpa",
"fields": [
{
"type": 147,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Grandpa, Runtime>"
}
],
"index": 11
},
{
"name": "ImOnline",
"fields": [
{
"type": 159,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<ImOnline, Runtime>"
}
],
"index": 12
},
{
"name": "Democracy",
"fields": [
{
"type": 167,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Democracy, Runtime>"
}
],
"index": 14
},
{
"name": "Council",
"fields": [
{
"type": 171,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Council, Runtime>"
}
],
"index": 15
},
{
"name": "TechnicalCommittee",
"fields": [
{
"type": 173,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<TechnicalCommittee, Runtime>"
}
],
"index": 16
},
{
"name": "PhragmenElection",
"fields": [
{
"type": 174,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<PhragmenElection, Runtime>"
}
],
"index": 17
},
{
"name": "TechnicalMembership",
"fields": [
{
"type": 176,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<TechnicalMembership, Runtime>"
}
],
"index": 18
},
{
"name": "Treasury",
"fields": [
{
"type": 177,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Treasury, Runtime>"
}
],
"index": 19
},
{
"name": "Claims",
"fields": [
{
"type": 178,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Claims, Runtime>"
}
],
"index": 24
},
{
"name": "Vesting",
"fields": [
{
"type": 185,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Vesting, Runtime>"
}
],
"index": 25
},
{
"name": "Utility",
"fields": [
{
"type": 187,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Utility, Runtime>"
}
],
"index": 26
},
{
"name": "Identity",
"fields": [
{
"type": 189,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Identity, Runtime>"
}
],
"index": 28
},
{
"name": "Proxy",
"fields": [
{
"type": 199,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Proxy, Runtime>"
}
],
"index": 29
},
{
"name": "Multisig",
"fields": [
{
"type": 201,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Multisig, Runtime>"
}
],
"index": 30
},
{
"name": "Bounties",
"fields": [
{
"type": 203,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Bounties, Runtime>"
}
],
"index": 34
},
{
"name": "Tips",
"fields": [
{
"type": 204,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Tips, Runtime>"
}
],
"index": 35
},
{
"name": "ElectionProviderMultiPhase",
"fields": [
{
"type": 205,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<ElectionProviderMultiPhase, Runtime>"
}
],
"index": 36
}
]
}
}
},
{
"path": [
"pallet_scheduler",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "schedule",
"fields": [
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 116,
"typeName": "Option<schedule::Period<T::BlockNumber>>"
},
{
"type": 2,
"typeName": "schedule::Priority"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"Anonymously schedule a task.",
"",
"# <weight>",
"- S = Number of already scheduled calls",
"- Base Weight: 22.29 + .126 * S µs",
"- DB Weight:",
" - Read: Agenda",
" - Write: Agenda",
"- Will use base weight of 25 which should be good for up to 30 scheduled calls",
"# </weight>"
]
},
{
"name": "cancel",
"fields": [
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"Cancel an anonymously scheduled task.",
"",
"# <weight>",
"- S = Number of already scheduled calls",
"- Base Weight: 22.15 + 2.869 * S µs",
"- DB Weight:",
" - Read: Agenda",
" - Write: Agenda, Lookup",
"- Will use base weight of 100 which should be good for up to 30 scheduled calls",
"# </weight>"
]
},
{
"name": "schedule_named",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
},
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 116,
"typeName": "Option<schedule::Period<T::BlockNumber>>"
},
{
"type": 2,
"typeName": "schedule::Priority"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"Schedule a named task.",
"",
"# <weight>",
"- S = Number of already scheduled calls",
"- Base Weight: 29.6 + .159 * S µs",
"- DB Weight:",
" - Read: Agenda, Lookup",
" - Write: Agenda, Lookup",
"- Will use base weight of 35 which should be good for more than 30 scheduled calls",
"# </weight>"
]
},
{
"name": "cancel_named",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Cancel a named scheduled task.",
"",
"# <weight>",
"- S = Number of already scheduled calls",
"- Base Weight: 24.91 + 2.907 * S µs",
"- DB Weight:",
" - Read: Agenda, Lookup",
" - Write: Agenda, Lookup",
"- Will use base weight of 100 which should be good for up to 30 scheduled calls",
"# </weight>"
]
},
{
"name": "schedule_after",
"fields": [
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 116,
"typeName": "Option<schedule::Period<T::BlockNumber>>"
},
{
"type": 2,
"typeName": "schedule::Priority"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"Anonymously schedule a task after a delay.",
"",
"# <weight>",
"Same as [`schedule`].",
"# </weight>"
]
},
{
"name": "schedule_named_after",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
},
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 116,
"typeName": "Option<schedule::Period<T::BlockNumber>>"
},
{
"type": 2,
"typeName": "schedule::Priority"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"Schedule a named task after a delay.",
"",
"# <weight>",
"Same as [`schedule_named`].",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"Option"
],
"params": [
29
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 29
}
]
}
]
}
}
},
{
"path": [
"pallet_babe",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "report_equivocation",
"fields": [
{
"type": 118,
"typeName": "EquivocationProof<T::Header>"
},
{
"type": 122,
"typeName": "T::KeyOwnerProof"
}
],
"docs": [
"Report authority equivocation/misbehavior. This method will verify",
"the equivocation proof and validate the given key ownership proof",
"against the extracted offender. If both are valid, the offence will",
"be reported."
]
},
{
"name": "report_equivocation_unsigned",
"fields": [
{
"type": 118,
"typeName": "EquivocationProof<T::Header>"
},
{
"type": 122,
"typeName": "T::KeyOwnerProof"
}
],
"docs": [
"Report authority equivocation/misbehavior. This method will verify",
"the equivocation proof and validate the given key ownership proof",
"against the extracted offender. If both are valid, the offence will",
"be reported.",
"This extrinsic must be called unsigned and it is expected that only",
"block authors will call it (validated in `ValidateUnsigned`), as such",
"if the block author is defined it will be defined as the equivocation",
"reporter."
]
},
{
"name": "plan_config_change",
"fields": [
{
"type": 123,
"typeName": "NextConfigDescriptor"
}
],
"docs": [
"Plan an epoch config change. The epoch config change is recorded and will be enacted on",
"the next call to `enact_epoch_change`. The config will be activated one epoch after.",
"Multiple calls to this method will replace any existing planned config change that had",
"not been enacted yet."
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"sp_consensus_slots",
"EquivocationProof"
],
"params": [
119,
120
],
"def": {
"composite": {
"fields": [
{
"name": "offender",
"type": 120,
"typeName": "Id",
"docs": [
"Returns the authority id of the equivocator."
]
},
{
"name": "slot",
"type": 121,
"typeName": "Slot",
"docs": [
"The slot at which the equivocation happened."
]
},
{
"name": "first_header",
"type": 119,
"typeName": "Header",
"docs": [
"The first header involved in the equivocation."
]
},
{
"name": "second_header",
"type": 119,
"typeName": "Header",
"docs": [
"The second header involved in the equivocation."
]
}
]
}
},
"docs": [
"Represents an equivocation proof. An equivocation happens when a validator",
"produces more than one block on the same slot. The proof of equivocation",
"are the given distinct headers that were signed by the validator and which",
"include the slot number."
]
},
{
"path": [
"sp_runtime",
"generic",
"header",
"Header"
],
"def": {
"composite": {}
}
},
{
"path": [
"sp_consensus_babe",
"app",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 47,
"typeName": "sr25519::Public"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"sp_consensus_slots",
"Slot"
],
"def": {
"composite": {
"fields": [
{
"type": 8,
"typeName": "u64"
}
]
}
},
"docs": [
"Unit type wrapper that represents a slot."
]
},
{
"path": [
"sp_session",
"MembershipProof"
],
"def": {
"composite": {
"fields": [
{
"name": "session",
"type": 4,
"typeName": "SessionIndex",
"docs": [
"The session index on which the specific key is a member."
]
},
{
"name": "trie_nodes",
"type": 96,
"typeName": "Vec<Vec<u8>>",
"docs": [
"Trie nodes of a merkle proof of session membership."
]
},
{
"name": "validator_count",
"type": 4,
"typeName": "ValidatorCount",
"docs": [
"The validator count of the session on which the specific key is a member."
]
}
]
}
},
"docs": [
"Proof of membership of a specific key in a given session."
]
},
{
"path": [
"sp_consensus_babe",
"digests",
"NextConfigDescriptor"
],
"def": {
"variant": {
"variants": [
{
"name": "V1",
"fields": [
{
"name": "c",
"type": 124,
"typeName": "(u64, u64)",
"docs": [
"Value of `c` in `BabeEpochConfiguration`."
]
},
{
"name": "allowed_slots",
"type": 125,
"typeName": "AllowedSlots",
"docs": [
"Value of `allowed_slots` in `BabeEpochConfiguration`."
]
}
],
"index": 1,
"docs": [
"Version 1."
]
}
]
}
},
"docs": [
"Information about the next epoch config, if changed. This is broadcast in the first",
"block of the epoch, and applies using the same rules as `NextEpochDescriptor`."
]
},
{
"def": {
"tuple": [
8,
8
]
}
},
{
"path": [
"sp_consensus_babe",
"AllowedSlots"
],
"def": {
"variant": {
"variants": [
{
"name": "PrimarySlots",
"discriminant": 0,
"docs": [
"Only allow primary slots."
]
},
{
"name": "PrimaryAndSecondaryPlainSlots",
"discriminant": 1,
"docs": [
"Allow primary and secondary plain slots."
]
},
{
"name": "PrimaryAndSecondaryVRFSlots",
"discriminant": 2,
"docs": [
"Allow primary and secondary VRF slots."
]
}
]
}
},
"docs": [
"Types of allowed slots."
]
},
{
"path": [
"pallet_timestamp",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "set",
"fields": [
{
"type": 127,
"typeName": "T::Moment"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)",
"- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)",
"- 1 event handler `on_timestamp_set`. Must be `O(1)`.",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"def": {
"compact": {
"type": 8
}
}
},
{
"path": [
"pallet_indices",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "claim",
"fields": [
{
"type": 4,
"typeName": "T::AccountIndex"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(1)`.",
"- One storage mutation (codec `O(1)`).",
"- One reserve operation.",
"- One event.",
"-------------------",
"- DB Weight: 1 Read/Write (Accounts)",
"# </weight>"
]
},
{
"name": "transfer",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "T::AccountIndex"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(1)`.",
"- One storage mutation (codec `O(1)`).",
"- One transfer operation.",
"- One event.",
"-------------------",
"- DB Weight:",
" - Reads: Indices Accounts, System Account (recipient)",
" - Writes: Indices Accounts, System Account (recipient)",
"# </weight>"
]
},
{
"name": "free",
"fields": [
{
"type": 4,
"typeName": "T::AccountIndex"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(1)`.",
"- One storage mutation (codec `O(1)`).",
"- One reserve operation.",
"- One event.",
"-------------------",
"- DB Weight: 1 Read/Write (Accounts)",
"# </weight>"
]
},
{
"name": "force_transfer",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "T::AccountIndex"
},
{
"type": 57,
"typeName": "bool"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(1)`.",
"- One storage mutation (codec `O(1)`).",
"- Up to one reserve operation.",
"- One event.",
"-------------------",
"- DB Weight:",
" - Reads: Indices Accounts, System Account (original owner)",
" - Writes: Indices Accounts, System Account (original owner)",
"# </weight>"
]
},
{
"name": "freeze",
"fields": [
{
"type": 4,
"typeName": "T::AccountIndex"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(1)`.",
"- One storage mutation (codec `O(1)`).",
"- Up to one slash operation.",
"- One event.",
"-------------------",
"- DB Weight: 1 Read/Write (Accounts)",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_balances",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "transfer",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 51,
"typeName": "T::Balance"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- 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.",
" - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.",
" - `transfer_keep_alive` works the same way as `transfer`, but has an additional",
" check that the transfer will not kill the origin account.",
"---------------------------------",
"- Base Weight: 73.64 µs, worst case scenario (account created, account removed)",
"- DB Weight: 1 Read and 1 Write to destination account",
"- Origin account is already in memory, so no DB operations for them.",
"# </weight>"
]
},
{
"name": "set_balance",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 51,
"typeName": "T::Balance"
},
{
"type": 51,
"typeName": "T::Balance"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- Independent of the arguments.",
"- Contains a limited number of reads and writes.",
"---------------------",
"- Base Weight:",
" - Creating: 27.56 µs",
" - Killing: 35.11 µs",
"- DB Weight: 1 Read, 1 Write to `who`",
"# </weight>"
]
},
{
"name": "force_transfer",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 51,
"typeName": "T::Balance"
}
],
"docs": [
"Exactly as `transfer`, except the origin must be root and the source account may be",
"specified.",
"# <weight>",
"- Same as transfer, but additional read and write because the source account is",
" not assumed to be in the overlay.",
"# </weight>"
]
},
{
"name": "transfer_keep_alive",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 51,
"typeName": "T::Balance"
}
],
"docs": [
"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",
"# <weight>",
"- Cheaper than transfer because account cannot be killed.",
"- Base Weight: 51.4 µs",
"- DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)",
"#</weight>"
]
},
{
"name": "transfer_all",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 57,
"typeName": "bool"
}
],
"docs": [
"Transfer the entire transferable balance from the caller account.",
"",
"NOTE: This function only attempts to transfer _transferable_ balances. This means that",
"any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be",
"transferred by this function. To ensure that this function results in a killed account,",
"you might need to prepare the account by removing any reference counters, storage",
"deposits, etc...",
"",
"The dispatch origin of this call must be Signed.",
"",
"- `dest`: The recipient of the transfer.",
"- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all",
" of the funds the account has, causing the sender account to be killed (false), or",
" transfer everything except at least the existential deposit, which will guarantee to",
" keep the sender account alive (true).",
" # <weight>",
"- O(1). Just like transfer, but reading the user\\'s transferable balance first.",
" #</weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"sp_runtime",
"multiaddress",
"MultiAddress"
],
"params": [
0,
32
],
"def": {
"variant": {
"variants": [
{
"name": "Id",
"fields": [
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"It\\'s an account ID (pubkey)."
]
},
{
"name": "Index",
"fields": [
{
"type": 131,
"typeName": "AccountIndex"
}
],
"docs": [
"It\\'s an account index."
]
},
{
"name": "Raw",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"It\\'s some arbitrary raw bytes."
]
},
{
"name": "Address32",
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
],
"docs": [
"It\\'s a 32 byte representation."
]
},
{
"name": "Address20",
"fields": [
{
"type": 72,
"typeName": "[u8; 20]"
}
],
"docs": [
"Its a 20 byte representation."
]
}
]
}
},
"docs": [
"A multi-format address wrapper for on-chain accounts."
]
},
{
"def": {
"compact": {
"type": 32
}
}
},
{
"path": [
"pallet_authorship",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "set_uncles",
"fields": [
{
"type": 133,
"typeName": "Vec<T::Header>"
}
],
"docs": [
"Provide a set of uncles."
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"def": {
"sequence": {
"type": 119
}
}
},
{
"path": [
"pallet_staking",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "bond",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
},
{
"type": 135,
"typeName": "RewardDestination<T::AccountId>"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- 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.",
"------------------",
"Weight: O(1)",
"DB Weight:",
"- Read: Bonded, Ledger, [Origin Account], Current Era, History Depth, Locks",
"- Write: Bonded, Payee, [Origin Account], Locks, Ledger",
"# </weight>"
]
},
{
"name": "bond_extra",
"fields": [
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- Independent of the arguments. Insignificant complexity.",
"- O(1).",
"- One DB entry.",
"------------",
"DB Weight:",
"- Read: Era Election Status, Bonded, Ledger, [Origin Account], Locks",
"- Write: [Origin Account], Locks, Ledger",
"# </weight>"
]
},
{
"name": "unbond",
"fields": [
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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).",
"",
"If a user encounters the `InsufficientBond` error when calling this extrinsic,",
"they should call `chill` first in order to free up their bonded funds.",
"",
"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`].",
"",
"# <weight>",
"- Independent of the arguments. Limited but potentially exploitable complexity.",
"- Contains a limited number of reads.",
"- Each call (requires the remainder of the bonded balance to be above `minimum_balance`)",
" will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage.",
" The only way to clean the aforementioned storage item is also user-controlled via",
" `withdraw_unbonded`.",
"- One DB entry.",
"----------",
"Weight: O(1)",
"DB Weight:",
"- Read: EraElectionStatus, Ledger, CurrentEra, Locks, BalanceOf Stash,",
"- Write: Locks, Ledger, BalanceOf Stash,",
"</weight>"
]
},
{
"name": "withdraw_unbonded",
"fields": [
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"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`].",
"",
"# <weight>",
"- Could be dependent on the `origin` argument and how much `unlocking` chunks exist.",
" It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is",
" indirectly user-controlled. See [`unbond`] for more detail.",
"- Contains a limited number of reads, yet the size of which could be large based on `ledger`.",
"- Writes are limited to the `origin` account key.",
"---------------",
"Complexity O(S) where S is the number of slashing spans to remove",
"Update:",
"- Reads: EraElectionStatus, Ledger, Current Era, Locks, [Origin Account]",
"- Writes: [Origin Account], Locks, Ledger",
"Kill:",
"- Reads: EraElectionStatus, Ledger, Current Era, Bonded, Slashing Spans, [Origin",
" Account], Locks, BalanceOf stash",
"- Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators,",
" [Origin Account], Locks, BalanceOf stash.",
"- Writes Each: SpanSlash * S",
"NOTE: Weight annotation is the kill scenario, we refund otherwise.",
"# </weight>"
]
},
{
"name": "validate",
"fields": [
{
"type": 136,
"typeName": "ValidatorPrefs"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- Independent of the arguments. Insignificant complexity.",
"- Contains a limited number of reads.",
"- Writes are limited to the `origin` account key.",
"-----------",
"Weight: O(1)",
"DB Weight:",
"- Read: Era Election Status, Ledger",
"- Write: Nominators, Validators",
"# </weight>"
]
},
{
"name": "nominate",
"fields": [
{
"type": 138,
"typeName": "Vec<<T::Lookup as StaticLookup>::Source>"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- The transaction\\'s complexity is proportional to the size of `targets` (N)",
"which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).",
"- Both the reads and writes follow a similar pattern.",
"---------",
"Weight: O(N)",
"where N is the number of targets",
"DB Weight:",
"- Reads: Era Election Status, Ledger, Current Era",
"- Writes: Validators, Nominators",
"# </weight>"
]
},
{
"name": "chill",
"docs": [
"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`.",
"",
"# <weight>",
"- Independent of the arguments. Insignificant complexity.",
"- Contains one read.",
"- Writes are limited to the `origin` account key.",
"--------",
"Weight: O(1)",
"DB Weight:",
"- Read: EraElectionStatus, Ledger",
"- Write: Validators, Nominators",
"# </weight>"
]
},
{
"name": "set_payee",
"fields": [
{
"type": 135,
"typeName": "RewardDestination<T::AccountId>"
}
],
"docs": [
"(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.",
"",
"# <weight>",
"- Independent of the arguments. Insignificant complexity.",
"- Contains a limited number of reads.",
"- Writes are limited to the `origin` account key.",
"---------",
"- Weight: O(1)",
"- DB Weight:",
" - Read: Ledger",
" - Write: Payee",
"# </weight>"
]
},
{
"name": "set_controller",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
}
],
"docs": [
"(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.",
"",
"# <weight>",
"- Independent of the arguments. Insignificant complexity.",
"- Contains a limited number of reads.",
"- Writes are limited to the `origin` account key.",
"----------",
"Weight: O(1)",
"DB Weight:",
"- Read: Bonded, Ledger New Controller, Ledger Old Controller",
"- Write: Bonded, Ledger New Controller, Ledger Old Controller",
"# </weight>"
]
},
{
"name": "set_validator_count",
"fields": [
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"Sets the ideal number of validators.",
"",
"The dispatch origin must be Root.",
"",
"# <weight>",
"Weight: O(1)",
"Write: Validator Count",
"# </weight>"
]
},
{
"name": "increase_validator_count",
"fields": [
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"Increments the ideal number of validators.",
"",
"The dispatch origin must be Root.",
"",
"# <weight>",
"Same as [`set_validator_count`].",
"# </weight>"
]
},
{
"name": "scale_validator_count",
"fields": [
{
"type": 139,
"typeName": "Percent"
}
],
"docs": [
"Scale up the ideal number of validators by a factor.",
"",
"The dispatch origin must be Root.",
"",
"# <weight>",
"Same as [`set_validator_count`].",
"# </weight>"
]
},
{
"name": "force_no_eras",
"docs": [
"Force there to be no new eras indefinitely.",
"",
"The dispatch origin must be Root.",
"",
"# Warning",
"",
"The election process starts multiple blocks before the end of the era.",
"Thus the election process may be ongoing when this is called. In this case the",
"election will continue until the next era is triggered.",
"",
"# <weight>",
"- No arguments.",
"- Weight: O(1)",
"- Write: ForceEra",
"# </weight>"
]
},
{
"name": "force_new_era",
"docs": [
"Force there to be a new era at the end of the next session. After this, it will be",
"reset to normal (non-forced) behaviour.",
"",
"The dispatch origin must be Root.",
"",
"# Warning",
"",
"The election process starts multiple blocks before the end of the era.",
"If this is called just before a new era is triggered, the election process may not",
"have enough blocks to get a result.",
"",
"# <weight>",
"- No arguments.",
"- Weight: O(1)",
"- Write ForceEra",
"# </weight>"
]
},
{
"name": "set_invulnerables",
"fields": [
{
"type": 55,
"typeName": "Vec<T::AccountId>"
}
],
"docs": [
"Set the validators who cannot be slashed (if any).",
"",
"The dispatch origin must be Root.",
"",
"# <weight>",
"- O(V)",
"- Write: Invulnerables",
"# </weight>"
]
},
{
"name": "force_unstake",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"Force a current staker to become completely unstaked, immediately.",
"",
"The dispatch origin must be Root.",
"",
"# <weight>",
"O(S) where S is the number of slashing spans to be removed",
"Reads: Bonded, Slashing Spans, Account, Locks",
"Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locks",
"Writes Each: SpanSlash * S",
"# </weight>"
]
},
{
"name": "force_new_era_always",
"docs": [
"Force there to be a new era at the end of sessions indefinitely.",
"",
"The dispatch origin must be Root.",
"",
"# Warning",
"",
"The election process starts multiple blocks before the end of the era.",
"If this is called just before a new era is triggered, the election process may not",
"have enough blocks to get a result.",
"",
"# <weight>",
"- Weight: O(1)",
"- Write: ForceEra",
"# </weight>"
]
},
{
"name": "cancel_deferred_slash",
"fields": [
{
"type": 4,
"typeName": "EraIndex"
},
{
"type": 140,
"typeName": "Vec<u32>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"Complexity: O(U + S)",
"with U unapplied slashes weighted with U=1000",
"and S is the number of slash indices to be canceled.",
"- Read: Unapplied Slashes",
"- Write: Unapplied Slashes",
"# </weight>"
]
},
{
"name": "payout_stakers",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "EraIndex"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- Time complexity: at most O(MaxNominatorRewardedPerValidator).",
"- Contains a limited number of reads and writes.",
"-----------",
"N is the Number of payouts for the validator (including the validator)",
"Weight:",
"- Reward Destination Staked: O(N)",
"- Reward Destination Controller (Creating): O(N)",
"DB Weight:",
"- Read: EraElectionStatus, CurrentEra, HistoryDepth, ErasValidatorReward,",
" 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.",
"# </weight>"
]
},
{
"name": "rebond",
"fields": [
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- Time complexity: O(L), where L is unlocking chunks",
"- Bounded by `MAX_UNLOCKING_CHUNKS`.",
"- Storage changes: Can\\'t increase storage, only decrease it.",
"---------------",
"- DB Weight:",
" - Reads: EraElectionStatus, Ledger, Locks, [Origin Account]",
" - Writes: [Origin Account], Locks, Ledger",
"# </weight>"
]
},
{
"name": "set_history_depth",
"fields": [
{
"type": 90,
"typeName": "EraIndex"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- E: Number of history depths removed, i.e. 10 -> 7 = 3",
"- Weight: O(E)",
"- DB Weight:",
" - Reads: Current Era, History Depth",
" - Writes: History Depth",
" - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs",
" - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex",
"# </weight>"
]
},
{
"name": "reap_stash",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"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.",
"",
"# <weight>",
"Complexity: O(S) where S is the number of slashing spans on the account.",
"DB Weight:",
"- Reads: Stash Account, Bonded, Slashing Spans, Locks",
"- Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks",
"- Writes Each: SpanSlash * S",
"# </weight>"
]
},
{
"name": "kick",
"fields": [
{
"type": 138,
"typeName": "Vec<<T::Lookup as StaticLookup>::Source>"
}
],
"docs": [
"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."
]
},
{
"name": "update_staking_limits",
"fields": [
{
"type": 6,
"typeName": "BalanceOf<T>"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
},
{
"type": 141,
"typeName": "Option<u32>"
},
{
"type": 141,
"typeName": "Option<u32>"
}
],
"docs": [
"Update the various staking limits this pallet.",
"",
"* `min_nominator_bond`: The minimum active bond needed to be a nominator.",
"* `min_validator_bond`: The minimum active bond needed to be a validator.",
"* `max_nominator_count`: The max number of users who can be a nominator at once.",
" When set to `None`, no limit is enforced.",
"* `max_validator_count`: The max number of users who can be a validator at once.",
" When set to `None`, no limit is enforced.",
"",
"Origin must be Root to call this function.",
"",
"NOTE: Existing nominators and validators will not be affected by this update.",
"to kick people under the new limits, `chill_other` should be called."
]
},
{
"name": "chill_other",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"Declare a `controller` as having no desire to either validator or nominate.",
"",
"Effects will be felt at the beginning of the next era.",
"",
"The dispatch origin for this call must be _Signed_, but can be called by anyone.",
"",
"If the caller is the same as the controller being targeted, then no further checks",
"are enforced. However, this call can also be made by an third party user who witnesses",
"that this controller does not satisfy the minimum bond requirements to be in their role.",
"",
"This can be helpful if bond requirements are updated, and we need to remove old users",
"who do not satisfy these requirements.",
""
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_staking",
"RewardDestination"
],
"params": [
0
],
"def": {
"variant": {
"variants": [
{
"name": "Staked",
"docs": [
"Pay into the stash account, increasing the amount at stake accordingly."
]
},
{
"name": "Stash",
"docs": [
"Pay into the stash account, not increasing the amount at stake."
]
},
{
"name": "Controller",
"docs": [
"Pay into the controller account."
]
},
{
"name": "Account",
"fields": [
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"Pay into a specified account."
]
},
{
"name": "None",
"docs": [
"Receive no reward."
]
}
]
}
},
"docs": [
"A destination account for payment."
]
},
{
"path": [
"pallet_staking",
"ValidatorPrefs"
],
"def": {
"composite": {
"fields": [
{
"name": "commission",
"type": 137,
"typeName": "Perbill",
"docs": [
"Reward that validator takes up-front; only the rest is split between themselves and",
"nominators."
]
},
{
"name": "blocked",
"type": 57,
"typeName": "bool",
"docs": [
"Whether or not this validator is accepting more nominations. If `true`, then no nominator",
"who is not already nominating this validator may nominate them. By default, validators",
"are accepting nominations."
]
}
]
}
},
"docs": [
"Preference of what happens regarding validation."
]
},
{
"def": {
"compact": {
"type": 93
}
}
},
{
"def": {
"sequence": {
"type": 130
}
}
},
{
"path": [
"sp_arithmetic",
"per_things",
"Percent"
],
"def": {
"composite": {
"fields": [
{
"type": 2,
"typeName": "u8"
}
]
}
},
"docs": [
"A fixed point representation of a number in the range [0, 1].",
"",
"\"_Percent_"
]
},
{
"def": {
"sequence": {
"type": 4
}
}
},
{
"path": [
"Option"
],
"params": [
4
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 4
}
]
}
]
}
}
},
{
"path": [
"pallet_session",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "set_keys",
"fields": [
{
"type": 143,
"typeName": "T::Keys"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"r\" Sets the session key(s) of the function caller to `keys`.",
"r\" Allows an account to set its session key prior to becoming a validator.",
"r\" This doesn't take effect until the next session.",
"r",
"r\" The dispatch origin of this function must be signed.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(1)`",
"r\" Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",
"r\" - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`",
"r\" - DbWrites: `origin account`, `NextKeys`",
"r\" - DbReads per key id: `KeyOwner`",
"r\" - DbWrites per key id: `KeyOwner`",
"r\" # </weight>"
]
},
{
"name": "purge_keys",
"docs": [
"r\" Removes any session key(s) of the function caller.",
"r\" This doesn't take effect until the next session.",
"r",
"r\" The dispatch origin of this function must be signed.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(1)` in number of key types.",
"r\" Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",
"r\" - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`",
"r\" - DbWrites: `NextKeys`, `origin account`",
"r\" - DbWrites per key id: `KeyOwner`",
"r\" # </weight>"
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"polkadot_runtime",
"SessionKeys"
],
"def": {
"composite": {
"fields": [
{
"name": "grandpa",
"type": 43,
"typeName": "<Grandpa as $crate::BoundToRuntimeAppPublic>::Public"
},
{
"name": "babe",
"type": 120,
"typeName": "<Babe as $crate::BoundToRuntimeAppPublic>::Public"
},
{
"name": "im_online",
"type": 46,
"typeName": "<ImOnline as $crate::BoundToRuntimeAppPublic>::Public"
},
{
"name": "para_validator",
"type": 144,
"typeName": "<ParachainSessionKeyPlaceholder<Runtime> as $crate::\nBoundToRuntimeAppPublic>::Public"
},
{
"name": "para_assignment",
"type": 145,
"typeName": "<AssignmentSessionKeyPlaceholder<Runtime> as $crate::\nBoundToRuntimeAppPublic>::Public"
},
{
"name": "authority_discovery",
"type": 146,
"typeName": "<AuthorityDiscovery as $crate::BoundToRuntimeAppPublic>::Public"
}
]
}
}
},
{
"path": [
"polkadot_primitives",
"v0",
"validator_app",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 47,
"typeName": "sr25519::Public"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"polkadot_primitives",
"v1",
"assignment_app",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 47,
"typeName": "sr25519::Public"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"sp_authority_discovery",
"app",
"Public"
],
"def": {
"composite": {
"fields": [
{
"type": 47,
"typeName": "sr25519::Public"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"pallet_grandpa",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "report_equivocation",
"fields": [
{
"type": 148,
"typeName": "EquivocationProof<T::Hash, T::BlockNumber>"
},
{
"type": 122,
"typeName": "T::KeyOwnerProof"
}
],
"docs": [
"Report voter equivocation/misbehavior. This method will verify the",
"equivocation proof and validate the given key ownership proof",
"against the extracted offender. If both are valid, the offence",
"will be reported."
]
},
{
"name": "report_equivocation_unsigned",
"fields": [
{
"type": 148,
"typeName": "EquivocationProof<T::Hash, T::BlockNumber>"
},
{
"type": 122,
"typeName": "T::KeyOwnerProof"
}
],
"docs": [
"Report voter equivocation/misbehavior. This method will verify the",
"equivocation proof and validate the given key ownership proof",
"against the extracted offender. If both are valid, the offence",
"will be reported.",
"",
"This extrinsic must be called unsigned and it is expected that only",
"block authors will call it (validated in `ValidateUnsigned`), as such",
"if the block author is defined it will be defined as the equivocation",
"reporter."
]
},
{
"name": "note_stalled",
"fields": [
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 4,
"typeName": "T::BlockNumber"
}
],
"docs": [
"Note that the current authority set of the GRANDPA finality gadget has",
"stalled. This will trigger a forced authority set change at the beginning",
"of the next session, to be enacted `delay` blocks after that. The delay",
"should be high enough to safely assume that the block signalling the",
"forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters",
"will start the new authority set using the given finalized block as base.",
"Only callable by root."
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"sp_finality_grandpa",
"EquivocationProof"
],
"params": [
9,
4
],
"def": {
"composite": {
"fields": [
{
"name": "set_id",
"type": 8,
"typeName": "SetId"
},
{
"name": "equivocation",
"type": 149,
"typeName": "Equivocation<H, N>"
}
]
}
},
"docs": [
"Proof of voter misbehavior on a given set id. Misbehavior/equivocation in",
"GRANDPA happens when a voter votes on the same round (either at prevote or",
"precommit stage) for different blocks. Proving is achieved by collecting the",
"signed messages of conflicting votes."
]
},
{
"path": [
"sp_finality_grandpa",
"Equivocation"
],
"params": [
9,
4
],
"def": {
"variant": {
"variants": [
{
"name": "Prevote",
"fields": [
{
"type": 150,
"typeName": "grandpa::Equivocation<AuthorityId, grandpa::Prevote<H, N>,\nAuthoritySignature>"
}
],
"docs": [
"Proof of equivocation at prevote stage."
]
},
{
"name": "Precommit",
"fields": [
{
"type": 156,
"typeName": "grandpa::Equivocation<AuthorityId, grandpa::Precommit<H, N>,\nAuthoritySignature>"
}
],
"docs": [
"Proof of equivocation at precommit stage."
]
}
]
}
},
"docs": [
"Wrapper object for GRANDPA equivocation proofs, useful for unifying prevote",
"and precommit equivocations under a common type."
]
},
{
"path": [
"finality_grandpa",
"Equivocation"
],
"params": [
43,
151,
152
],
"def": {
"composite": {
"fields": [
{
"name": "round_number",
"type": 8,
"typeName": "u64",
"docs": [
"The round number equivocated in."
]
},
{
"name": "identity",
"type": 43,
"typeName": "Id",
"docs": [
"The identity of the equivocator."
]
},
{
"name": "first",
"type": 155,
"typeName": "(V, S)",
"docs": [
"The first vote in the equivocation."
]
},
{
"name": "second",
"type": 155,
"typeName": "(V, S)",
"docs": [
"The second vote in the equivocation."
]
}
]
}
},
"docs": [
"An equivocation (double-vote) in a given round."
]
},
{
"path": [
"finality_grandpa",
"Prevote"
],
"params": [
9,
4
],
"def": {
"composite": {
"fields": [
{
"name": "target_hash",
"type": 9,
"typeName": "H",
"docs": [
"The target block\\'s hash."
]
},
{
"name": "target_number",
"type": 4,
"typeName": "N",
"docs": [
"The target block\\'s number."
]
}
]
}
},
"docs": [
"A prevote for a block and its ancestors."
]
},
{
"path": [
"sp_finality_grandpa",
"app",
"Signature"
],
"def": {
"composite": {
"fields": [
{
"type": 153,
"typeName": "ed25519::Signature"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"sp_core",
"ed25519",
"Signature"
],
"def": {
"composite": {
"fields": [
{
"type": 154,
"typeName": "[u8; 64]"
}
]
}
},
"docs": [
"A signature (a 512-bit value)."
]
},
{
"def": {
"array": {
"len": 64,
"type": 2
}
}
},
{
"def": {
"tuple": [
151,
152
]
}
},
{
"path": [
"finality_grandpa",
"Equivocation"
],
"params": [
43,
157,
152
],
"def": {
"composite": {
"fields": [
{
"name": "round_number",
"type": 8,
"typeName": "u64",
"docs": [
"The round number equivocated in."
]
},
{
"name": "identity",
"type": 43,
"typeName": "Id",
"docs": [
"The identity of the equivocator."
]
},
{
"name": "first",
"type": 158,
"typeName": "(V, S)",
"docs": [
"The first vote in the equivocation."
]
},
{
"name": "second",
"type": 158,
"typeName": "(V, S)",
"docs": [
"The second vote in the equivocation."
]
}
]
}
},
"docs": [
"An equivocation (double-vote) in a given round."
]
},
{
"path": [
"finality_grandpa",
"Precommit"
],
"params": [
9,
4
],
"def": {
"composite": {
"fields": [
{
"name": "target_hash",
"type": 9,
"typeName": "H",
"docs": [
"The target block\\'s hash."
]
},
{
"name": "target_number",
"type": 4,
"typeName": "N",
"docs": [
"The target block\\'s number"
]
}
]
}
},
"docs": [
"A precommit for a block and its ancestors."
]
},
{
"def": {
"tuple": [
157,
152
]
}
},
{
"path": [
"pallet_im_online",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "heartbeat",
"fields": [
{
"type": 160,
"typeName": "Heartbeat<T::BlockNumber>"
},
{
"type": 165,
"typeName": "<T::AuthorityId as RuntimeAppPublic>::Signature"
}
],
"docs": [
"# <weight>",
"- Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len)",
" and E is length of `heartbeat.network_state.external_address`",
" - `O(K)`: decoding of length `K`",
" - `O(E)`: decoding/encoding of length `E`",
"- DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,",
" `ReceivedHeartbeats`",
"- DbWrites: `ReceivedHeartbeats`",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_im_online",
"Heartbeat"
],
"params": [
4
],
"def": {
"composite": {
"fields": [
{
"name": "block_number",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"Block number at the time heartbeat is created.."
]
},
{
"name": "network_state",
"type": 161,
"typeName": "OpaqueNetworkState",
"docs": [
"A state of local network (peer id and external addresses)"
]
},
{
"name": "session_index",
"type": 4,
"typeName": "SessionIndex",
"docs": [
"Index of the current session."
]
},
{
"name": "authority_index",
"type": 4,
"typeName": "AuthIndex",
"docs": [
"An index of the authority on the list of validators."
]
},
{
"name": "validators_len",
"type": 4,
"typeName": "u32",
"docs": [
"The length of session validator set"
]
}
]
}
},
"docs": [
"Heartbeat which is sent/received."
]
},
{
"path": [
"sp_core",
"offchain",
"OpaqueNetworkState"
],
"def": {
"composite": {
"fields": [
{
"name": "peer_id",
"type": 162,
"typeName": "OpaquePeerId",
"docs": [
"PeerId of the local node in SCALE encoded."
]
},
{
"name": "external_addresses",
"type": 163,
"typeName": "Vec<OpaqueMultiaddr>",
"docs": [
"List of addresses the node knows it can be reached as."
]
}
]
}
},
"docs": [
"A blob to hold information about the local node\\'s network state",
"without committing to its format."
]
},
{
"path": [
"sp_core",
"OpaquePeerId"
],
"def": {
"composite": {
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
]
}
},
"docs": [
"Simple blob to hold a `PeerId` without committing to its format."
]
},
{
"def": {
"sequence": {
"type": 164
}
}
},
{
"path": [
"sp_core",
"offchain",
"OpaqueMultiaddr"
],
"def": {
"composite": {
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
]
}
},
"docs": [
"Simple blob to hold a `Multiaddr` without committing to its format."
]
},
{
"path": [
"pallet_im_online",
"sr25519",
"app_sr25519",
"Signature"
],
"def": {
"composite": {
"fields": [
{
"type": 166,
"typeName": "sr25519::Signature"
}
]
}
},
"docs": [
"r\" A generic `AppPublic` wrapper type over $public crypto; this has no specific App."
]
},
{
"path": [
"sp_core",
"sr25519",
"Signature"
],
"def": {
"composite": {
"fields": [
{
"type": 154,
"typeName": "[u8; 64]"
}
]
}
},
"docs": [
"An Schnorrkel/Ristretto x25519 (\\\"sr25519\\\") signature.",
"",
"Instead of importing it for the local module, alias it to be available as a public type"
]
},
{
"path": [
"pallet_democracy",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "propose",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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)`"
]
},
{
"name": "second",
"fields": [
{
"type": 90,
"typeName": "PropIndex"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"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."
]
},
{
"name": "vote",
"fields": [
{
"type": 90,
"typeName": "ReferendumIndex"
},
{
"type": 168,
"typeName": "AccountVote<BalanceOf<T>>"
}
],
"docs": [
"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."
]
},
{
"name": "emergency_cancel",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"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)`."
]
},
{
"name": "external_propose",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"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"
]
},
{
"name": "external_propose_majority",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"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)`"
]
},
{
"name": "external_propose_default",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"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)`"
]
},
{
"name": "fast_track",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 4,
"typeName": "T::BlockNumber"
}
],
"docs": [
"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)`"
]
},
{
"name": "veto_external",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"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`"
]
},
{
"name": "cancel_referendum",
"fields": [
{
"type": 90,
"typeName": "ReferendumIndex"
}
],
"docs": [
"Remove a referendum.",
"",
"The dispatch origin of this call must be _Root_.",
"",
"- `ref_index`: The index of the referendum to cancel.",
"",
"# Weight: `O(1)`."
]
},
{
"name": "cancel_queued",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"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`."
]
},
{
"name": "delegate",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 170,
"typeName": "Conviction"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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."
]
},
{
"name": "undelegate",
"docs": [
"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."
]
},
{
"name": "clear_public_proposals",
"docs": [
"Clears all public proposals.",
"",
"The dispatch origin of this call must be _Root_.",
"",
"Weight: `O(1)`."
]
},
{
"name": "note_preimage",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"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)."
]
},
{
"name": "note_preimage_operational",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Same as `note_preimage` but origin is `OperationalPreimageOrigin`."
]
},
{
"name": "note_imminent_preimage",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Register the preimage for an upcoming proposal. This requires the proposal to be",
"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)."
]
},
{
"name": "note_imminent_preimage_operational",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`."
]
},
{
"name": "reap_preimage",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"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."
]
},
{
"name": "unlock",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"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."
]
},
{
"name": "remove_vote",
"fields": [
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"Remove a vote for a referendum.",
"",
"If:",
"- the referendum was cancelled, or",
"- the referendum is ongoing, or",
"- the referendum has ended such that",
" - the vote of the account was in opposition to the result; or",
" - there was no conviction to the account\\'s vote; or",
" - the account made a split vote",
"...then the vote is removed cleanly and a following call to `unlock` may result in more",
"funds being available.",
"",
"If, however, the referendum has ended and:",
"- it finished corresponding to the vote of the account, and",
"- the account made a standard vote with conviction, and",
"- the lock period of the conviction is not over",
"...then the lock will be aggregated into the overall account\\'s lock, which may involve",
"*overlocking* (where the two locks are combined into a single lock that is the maximum",
"of both the amount locked and the time is it locked for).",
"",
"The dispatch origin of this call must be _Signed_, and the signer must have a vote",
"registered for referendum `index`.",
"",
"- `index`: The index of referendum of the vote to be removed.",
"",
"Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.",
" Weight is calculated for the maximum number of vote."
]
},
{
"name": "remove_other_vote",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"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."
]
},
{
"name": "enact_proposal",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 4,
"typeName": "ReferendumIndex"
}
],
"docs": [
"Enact a proposal from a referendum. For now we just make the weight be the maximum."
]
},
{
"name": "blacklist",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 141,
"typeName": "Option<ReferendumIndex>"
}
],
"docs": [
"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)."
]
},
{
"name": "cancel_proposal",
"fields": [
{
"type": 90,
"typeName": "PropIndex"
}
],
"docs": [
"Remove a proposal.",
"",
"The dispatch origin of this call must be `CancelProposalOrigin`.",
"",
"- `prop_index`: The index of the proposal to cancel.",
"",
"Weight: `O(p)` where `p = PublicProps::<T>::decode_len()`"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_democracy",
"vote",
"AccountVote"
],
"params": [
6
],
"def": {
"variant": {
"variants": [
{
"name": "Standard",
"fields": [
{
"name": "vote",
"type": 169,
"typeName": "Vote"
},
{
"name": "balance",
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"A standard vote, one-way (approve or reject) with a given amount of conviction."
]
},
{
"name": "Split",
"fields": [
{
"name": "aye",
"type": 6,
"typeName": "Balance"
},
{
"name": "nay",
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"A split vote with balances given for both ways, and with no conviction, useful for",
"parachains when voting."
]
}
]
}
},
"docs": [
"A vote for a referendum of a particular account."
]
},
{
"path": [
"pallet_democracy",
"vote",
"Vote"
],
"def": {
"composite": {
"fields": [
{
"name": "aye",
"type": 57,
"typeName": "bool"
},
{
"name": "conviction",
"type": 170,
"typeName": "Conviction"
}
]
}
},
"docs": [
"A number of lock periods, plus a vote, one way or the other."
]
},
{
"path": [
"pallet_democracy",
"conviction",
"Conviction"
],
"def": {
"variant": {
"variants": [
{
"name": "None",
"discriminant": 0,
"docs": [
"0.1x votes, unlocked."
]
},
{
"name": "Locked1x",
"discriminant": 1,
"docs": [
"1x votes, locked for an enactment period following a successful vote."
]
},
{
"name": "Locked2x",
"discriminant": 2,
"docs": [
"2x votes, locked for 2x enactment periods following a successful vote."
]
},
{
"name": "Locked3x",
"discriminant": 3,
"docs": [
"3x votes, locked for 4x..."
]
},
{
"name": "Locked4x",
"discriminant": 4,
"docs": [
"4x votes, locked for 8x..."
]
},
{
"name": "Locked5x",
"discriminant": 5,
"docs": [
"5x votes, locked for 16x..."
]
},
{
"name": "Locked6x",
"discriminant": 6,
"docs": [
"6x votes, locked for 32x..."
]
}
]
}
},
"docs": [
"A value denoting the strength of conviction of a vote."
]
},
{
"path": [
"pallet_collective",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "set_members",
"fields": [
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 172,
"typeName": "Option<T::AccountId>"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" Set the collective's membership.",
"r",
"r\" - `new_members`: The new member list. Be nice to the chain and provide it sorted.",
"r\" - `prime`: The prime member whose vote sets the default.",
"r\" - `old_count`: The upper bound for the previous number of members in storage.",
"r\" Used for weight estimation.",
"r",
"r\" Requires root origin.",
"r",
"r\" NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",
"r\" the weight estimations rely on it to estimate dispatchable weight.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(MP + N)` where:",
"r\" - `M` old-members-count (code- and governance-bounded)",
"r\" - `N` new-members-count (code- and governance-bounded)",
"r\" - `P` proposals-count (code-bounded)",
"r\" - DB:",
"r\" - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",
"r\" - 1 storage read (codec `O(P)`) for reading the proposals",
"r\" - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",
"r\" - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",
"r\" # </weight>"
]
},
{
"name": "execute",
"fields": [
{
"type": 114,
"typeName": "Box<<T as Config<I>>::Proposal>"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"r\" Dispatch a proposal from a member using the `Member` origin.",
"r",
"r\" Origin must be a member of the collective.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",
"r\" - DB: 1 read (codec `O(M)`) + DB access of `proposal`",
"r\" - 1 event",
"r\" # </weight>"
]
},
{
"name": "propose",
"fields": [
{
"type": 90,
"typeName": "MemberCount"
},
{
"type": 114,
"typeName": "Box<<T as Config<I>>::Proposal>"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"r\" Add a new proposal to either be voted on or executed directly.",
"r",
"r\" Requires the sender to be member.",
"r",
"r\" `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",
"r\" or put up for voting.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(B + M + P1)` or `O(B + M + P2)` where:",
"r\" - `B` is `proposal` size in bytes (length-fee-bounded)",
"r\" - `M` is members-count (code- and governance-bounded)",
"r\" - branching is influenced by `threshold` where:",
"r\" - `P1` is proposal execution complexity (`threshold < 2`)",
"r\" - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",
"r\" - DB:",
"r\" - 1 storage read `is_member` (codec `O(M)`)",
"r\" - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",
"r\" - DB accesses influenced by `threshold`:",
"r\" - EITHER storage accesses done by `proposal` (`threshold < 2`)",
"r\" - OR proposal insertion (`threshold <= 2`)",
"r\" - 1 storage mutation `Proposals` (codec `O(P2)`)",
"r\" - 1 storage mutation `ProposalCount` (codec `O(1)`)",
"r\" - 1 storage write `ProposalOf` (codec `O(B)`)",
"r\" - 1 storage write `Voting` (codec `O(M)`)",
"r\" - 1 event",
"r\" # </weight>"
]
},
{
"name": "vote",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 90,
"typeName": "ProposalIndex"
},
{
"type": 57,
"typeName": "bool"
}
],
"docs": [
"r\" Add an aye or nay vote for the sender to the given proposal.",
"r",
"r\" Requires the sender to be a member.",
"r",
"r\" Transaction fees will be waived if the member is voting on any particular proposal",
"r\" for the first time and the call is successful. Subsequent vote changes will charge a fee.",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(M)` where `M` is members-count (code- and governance-bounded)",
"r\" - DB:",
"r\" - 1 storage read `Members` (codec `O(M)`)",
"r\" - 1 storage mutation `Voting` (codec `O(M)`)",
"r\" - 1 event",
"r\" # </weight>"
]
},
{
"name": "close",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 90,
"typeName": "ProposalIndex"
},
{
"type": 127,
"typeName": "Weight"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"r\" Close a vote that is either approved, disapproved or whose voting period has ended.",
"r",
"r\" May be called by any signed account in order to finish voting and close the proposal.",
"r",
"r\" If called before the end of the voting period it will only close the vote if it is",
"r\" has enough votes to be approved or disapproved.",
"r",
"r\" If called after the end of the voting period abstentions are counted as rejections",
"r\" unless there is a prime member set and the prime member cast an approval.",
"r",
"r\" If the close operation completes successfully with disapproval, the transaction fee will",
"r\" be waived. Otherwise execution of the approved operation will be charged to the caller.",
"r",
"r\" + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",
"r\" + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
"r\" `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(B + M + P1 + P2)` where:",
"r\" - `B` is `proposal` size in bytes (length-fee-bounded)",
"r\" - `M` is members-count (code- and governance-bounded)",
"r\" - `P1` is the complexity of `proposal` preimage.",
"r\" - `P2` is proposal-count (code-bounded)",
"r\" - DB:",
"r\" - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",
"r\" - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",
"r\" - any mutations done while executing `proposal` (`P1`)",
"r\" - up to 3 events",
"r\" # </weight>"
]
},
{
"name": "disapprove_proposal",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"r\" Disapprove a proposal, close, and remove it from the system, regardless of its current state.",
"r",
"r\" Must be called by the Root origin.",
"r",
"r\" Parameters:",
"r\" * `proposal_hash`: The hash of the proposal that should be disapproved.",
"r",
"r\" # <weight>",
"r\" Complexity: O(P) where P is the number of max proposals",
"r\" DB Weight:",
"r\" * Reads: Proposals",
"r\" * Writes: Voting, Proposals, ProposalOf",
"r\" # </weight>"
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"Option"
],
"params": [
0
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 0
}
]
}
]
}
}
},
{
"path": [
"pallet_collective",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "set_members",
"fields": [
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 172,
"typeName": "Option<T::AccountId>"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"r\" Set the collective's membership.",
"r",
"r\" - `new_members`: The new member list. Be nice to the chain and provide it sorted.",
"r\" - `prime`: The prime member whose vote sets the default.",
"r\" - `old_count`: The upper bound for the previous number of members in storage.",
"r\" Used for weight estimation.",
"r",
"r\" Requires root origin.",
"r",
"r\" NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",
"r\" the weight estimations rely on it to estimate dispatchable weight.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(MP + N)` where:",
"r\" - `M` old-members-count (code- and governance-bounded)",
"r\" - `N` new-members-count (code- and governance-bounded)",
"r\" - `P` proposals-count (code-bounded)",
"r\" - DB:",
"r\" - 1 storage mutation (codec `O(M)` read, `O(N)` write) for reading and writing the members",
"r\" - 1 storage read (codec `O(P)`) for reading the proposals",
"r\" - `P` storage mutations (codec `O(M)`) for updating the votes for each proposal",
"r\" - 1 storage write (codec `O(1)`) for deleting the old `prime` and setting the new one",
"r\" # </weight>"
]
},
{
"name": "execute",
"fields": [
{
"type": 114,
"typeName": "Box<<T as Config<I>>::Proposal>"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"r\" Dispatch a proposal from a member using the `Member` origin.",
"r",
"r\" Origin must be a member of the collective.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(M + P)` where `M` members-count (code-bounded) and `P` complexity of dispatching `proposal`",
"r\" - DB: 1 read (codec `O(M)`) + DB access of `proposal`",
"r\" - 1 event",
"r\" # </weight>"
]
},
{
"name": "propose",
"fields": [
{
"type": 90,
"typeName": "MemberCount"
},
{
"type": 114,
"typeName": "Box<<T as Config<I>>::Proposal>"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"r\" Add a new proposal to either be voted on or executed directly.",
"r",
"r\" Requires the sender to be member.",
"r",
"r\" `threshold` determines whether `proposal` is executed directly (`threshold < 2`)",
"r\" or put up for voting.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(B + M + P1)` or `O(B + M + P2)` where:",
"r\" - `B` is `proposal` size in bytes (length-fee-bounded)",
"r\" - `M` is members-count (code- and governance-bounded)",
"r\" - branching is influenced by `threshold` where:",
"r\" - `P1` is proposal execution complexity (`threshold < 2`)",
"r\" - `P2` is proposals-count (code-bounded) (`threshold >= 2`)",
"r\" - DB:",
"r\" - 1 storage read `is_member` (codec `O(M)`)",
"r\" - 1 storage read `ProposalOf::contains_key` (codec `O(1)`)",
"r\" - DB accesses influenced by `threshold`:",
"r\" - EITHER storage accesses done by `proposal` (`threshold < 2`)",
"r\" - OR proposal insertion (`threshold <= 2`)",
"r\" - 1 storage mutation `Proposals` (codec `O(P2)`)",
"r\" - 1 storage mutation `ProposalCount` (codec `O(1)`)",
"r\" - 1 storage write `ProposalOf` (codec `O(B)`)",
"r\" - 1 storage write `Voting` (codec `O(M)`)",
"r\" - 1 event",
"r\" # </weight>"
]
},
{
"name": "vote",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 90,
"typeName": "ProposalIndex"
},
{
"type": 57,
"typeName": "bool"
}
],
"docs": [
"r\" Add an aye or nay vote for the sender to the given proposal.",
"r",
"r\" Requires the sender to be a member.",
"r",
"r\" Transaction fees will be waived if the member is voting on any particular proposal",
"r\" for the first time and the call is successful. Subsequent vote changes will charge a fee.",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(M)` where `M` is members-count (code- and governance-bounded)",
"r\" - DB:",
"r\" - 1 storage read `Members` (codec `O(M)`)",
"r\" - 1 storage mutation `Voting` (codec `O(M)`)",
"r\" - 1 event",
"r\" # </weight>"
]
},
{
"name": "close",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 90,
"typeName": "ProposalIndex"
},
{
"type": 127,
"typeName": "Weight"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"r\" Close a vote that is either approved, disapproved or whose voting period has ended.",
"r",
"r\" May be called by any signed account in order to finish voting and close the proposal.",
"r",
"r\" If called before the end of the voting period it will only close the vote if it is",
"r\" has enough votes to be approved or disapproved.",
"r",
"r\" If called after the end of the voting period abstentions are counted as rejections",
"r\" unless there is a prime member set and the prime member cast an approval.",
"r",
"r\" If the close operation completes successfully with disapproval, the transaction fee will",
"r\" be waived. Otherwise execution of the approved operation will be charged to the caller.",
"r",
"r\" + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",
"r\" + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
"r\" `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
"r",
"r\" # <weight>",
"r\" ## Weight",
"r\" - `O(B + M + P1 + P2)` where:",
"r\" - `B` is `proposal` size in bytes (length-fee-bounded)",
"r\" - `M` is members-count (code- and governance-bounded)",
"r\" - `P1` is the complexity of `proposal` preimage.",
"r\" - `P2` is proposal-count (code-bounded)",
"r\" - DB:",
"r\" - 2 storage reads (`Members`: codec `O(M)`, `Prime`: codec `O(1)`)",
"r\" - 3 mutations (`Voting`: codec `O(M)`, `ProposalOf`: codec `O(B)`, `Proposals`: codec `O(P2)`)",
"r\" - any mutations done while executing `proposal` (`P1`)",
"r\" - up to 3 events",
"r\" # </weight>"
]
},
{
"name": "disapprove_proposal",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"r\" Disapprove a proposal, close, and remove it from the system, regardless of its current state.",
"r",
"r\" Must be called by the Root origin.",
"r",
"r\" Parameters:",
"r\" * `proposal_hash`: The hash of the proposal that should be disapproved.",
"r",
"r\" # <weight>",
"r\" Complexity: O(P) where P is the number of max proposals",
"r\" DB Weight:",
"r\" * Reads: Proposals",
"r\" * Writes: Voting, Proposals, ProposalOf",
"r\" # </weight>"
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"pallet_elections_phragmen",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "vote",
"fields": [
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.",
"# </weight>"
]
},
{
"name": "remove_voter",
"docs": [
"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."
]
},
{
"name": "submit_candidacy",
"fields": [
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"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.",
"",
"# <weight>",
"The number of current candidates must be provided as witness data.",
"# </weight>"
]
},
{
"name": "renounce_candidacy",
"fields": [
{
"type": 175,
"typeName": "Renouncing"
}
],
"docs": [
"Renounce one\\'s intention to be a candidate for the next election round. 3 potential",
"outcomes exist:",
"",
"- `origin` is a candidate and not elected in any set. In this case, the deposit is",
" unreserved, returned and origin is removed as a candidate.",
"- `origin` is a current runner-up. In this case, the deposit is unreserved, returned and",
" origin is removed as a runner-up.",
"- `origin` is a current member. In this case, the deposit is unreserved and origin is",
" removed as a member, consequently not being a candidate for the next round anymore.",
" Similar to [`remove_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.",
"",
"# <weight>",
"The type of renouncing must be provided as witness data.",
"# </weight>"
]
},
{
"name": "remove_member",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 57,
"typeName": "bool"
}
],
"docs": [
"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.",
"",
"# <weight>",
"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.",
"# </weight>"
]
},
{
"name": "clean_defunct_voters",
"fields": [
{
"type": 4,
"typeName": "u32"
},
{
"type": 4,
"typeName": "u32"
}
],
"docs": [
"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.",
"",
"# <weight>",
"The total number of voters and those that are defunct must be provided as witness data.",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_elections_phragmen",
"Renouncing"
],
"def": {
"variant": {
"variants": [
{
"name": "Member",
"docs": [
"A member is renouncing."
]
},
{
"name": "RunnerUp",
"docs": [
"A runner-up is renouncing."
]
},
{
"name": "Candidate",
"fields": [
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"A candidate is renouncing, while the given total number of candidates exists."
]
}
]
}
},
"docs": [
"An indication that the renouncing account currently has which of the below roles."
]
},
{
"path": [
"pallet_membership",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "add_member",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"r\" Add a member `who` to the set.",
"r",
"r\" May only be called from `T::AddOrigin`."
]
},
{
"name": "remove_member",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"r\" Remove a member `who` from the set.",
"r",
"r\" May only be called from `T::RemoveOrigin`."
]
},
{
"name": "swap_member",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"r\" Swap out one member `remove` for another `add`.",
"r",
"r\" May only be called from `T::SwapOrigin`.",
"r",
"r\" Prime membership is *not* passed from `remove` to `add`, if extant."
]
},
{
"name": "reset_members",
"fields": [
{
"type": 55,
"typeName": "Vec<T::AccountId>"
}
],
"docs": [
"r\" Change the membership to a new set, disregarding the existing membership. Be nice and",
"r\" pass `members` pre-sorted.",
"r",
"r\" May only be called from `T::ResetOrigin`."
]
},
{
"name": "change_key",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"r\" Swap out the sending member for some other key `new`.",
"r",
"r\" May only be called from `Signed` origin of a current member.",
"r",
"r\" Prime membership is passed from the origin account to `new`, if extant."
]
},
{
"name": "set_prime",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"r\" Set the prime member. Must be a current member.",
"r",
"r\" May only be called from `T::PrimeOrigin`."
]
},
{
"name": "clear_prime",
"docs": [
"r\" Remove the prime member if it exists.",
"r",
"r\" May only be called from `T::PrimeOrigin`."
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"pallet_treasury",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "propose_spend",
"fields": [
{
"type": 51,
"typeName": "BalanceOf<T, I>"
},
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
}
],
"docs": [
"r\" Put forward a suggestion for spending. A deposit proportional to the value",
"r\" is reserved and slashed if the proposal is rejected. It is returned once the",
"r\" proposal is awarded.",
"r",
"r\" # <weight>",
"r\" - Complexity: O(1)",
"r\" - DbReads: `ProposalCount`, `origin account`",
"r\" - DbWrites: `ProposalCount`, `Proposals`, `origin account`",
"r\" # </weight>"
]
},
{
"name": "reject_proposal",
"fields": [
{
"type": 90,
"typeName": "ProposalIndex"
}
],
"docs": [
"r\" Reject a proposed spend. The original deposit will be slashed.",
"r",
"r\" May only be called from `T::RejectOrigin`.",
"r",
"r\" # <weight>",
"r\" - Complexity: O(1)",
"r\" - DbReads: `Proposals`, `rejected proposer account`",
"r\" - DbWrites: `Proposals`, `rejected proposer account`",
"r\" # </weight>"
]
},
{
"name": "approve_proposal",
"fields": [
{
"type": 90,
"typeName": "ProposalIndex"
}
],
"docs": [
"r\" Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",
"r\" and the original deposit will be returned.",
"r",
"r\" May only be called from `T::ApproveOrigin`.",
"r",
"r\" # <weight>",
"r\" - Complexity: O(1).",
"r\" - DbReads: `Proposals`, `Approvals`",
"r\" - DbWrite: `Approvals`",
"r\" # </weight>"
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"polkadot_runtime_common",
"claims",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "claim",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 179,
"typeName": "EcdsaSignature"
}
],
"docs": [
"Make a claim to collect your DOTs.",
"",
"The dispatch origin for this call must be _None_.",
"",
"Unsigned Validation:",
"A call to claim is deemed valid if the signature provided matches",
"the expected signed message of:",
"",
"> Ethereum Signed Message:",
"> (configured prefix string)(address)",
"",
"and `address` matches the `dest` account.",
"",
"Parameters:",
"- `dest`: The destination account to payout the claim.",
"- `ethereum_signature`: The signature of an ethereum signed message",
" matching the format described above.",
"",
"<weight>",
"The weight of this call is invariant over the input parameters.",
"Weight includes logic to validate unsigned `claim` call.",
"",
"Total Complexity: O(1)",
"</weight>"
]
},
{
"name": "mint_claim",
"fields": [
{
"type": 71,
"typeName": "EthereumAddress"
},
{
"type": 6,
"typeName": "BalanceOf<T>"
},
{
"type": 181,
"typeName": "Option<(BalanceOf<T>, BalanceOf<T>, T::BlockNumber)>"
},
{
"type": 183,
"typeName": "Option<StatementKind>"
}
],
"docs": [
"Mint a new claim to collect DOTs.",
"",
"The dispatch origin for this call must be _Root_.",
"",
"Parameters:",
"- `who`: The Ethereum address allowed to collect this claim.",
"- `value`: The number of DOTs that will be claimed.",
"- `vesting_schedule`: An optional vesting schedule for these DOTs.",
"",
"<weight>",
"The weight of this call is invariant over the input parameters.",
"We assume worst case that both vesting and statement is being inserted.",
"",
"Total Complexity: O(1)",
"</weight>"
]
},
{
"name": "claim_attest",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 179,
"typeName": "EcdsaSignature"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Make a claim to collect your DOTs by signing a statement.",
"",
"The dispatch origin for this call must be _None_.",
"",
"Unsigned Validation:",
"A call to `claim_attest` is deemed valid if the signature provided matches",
"the expected signed message of:",
"",
"> Ethereum Signed Message:",
"> (configured prefix string)(address)(statement)",
"",
"and `address` matches the `dest` account; the `statement` must match that which is",
"expected according to your purchase arrangement.",
"",
"Parameters:",
"- `dest`: The destination account to payout the claim.",
"- `ethereum_signature`: The signature of an ethereum signed message",
" matching the format described above.",
"- `statement`: The identity of the statement which is being attested to in the signature.",
"",
"<weight>",
"The weight of this call is invariant over the input parameters.",
"Weight includes logic to validate unsigned `claim_attest` call.",
"",
"Total Complexity: O(1)",
"</weight>"
]
},
{
"name": "attest",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"Attest to a statement, needed to finalize the claims process.",
"",
"WARNING: Insecure unless your chain includes `PrevalidateAttests` as a `SignedExtension`.",
"",
"Unsigned Validation:",
"A call to attest is deemed valid if the sender has a `Preclaim` registered",
"and provides a `statement` which is expected for the account.",
"",
"Parameters:",
"- `statement`: The identity of the statement which is being attested to in the signature.",
"",
"<weight>",
"The weight of this call is invariant over the input parameters.",
"Weight includes logic to do pre-validation on `attest` call.",
"",
"Total Complexity: O(1)",
"</weight>"
]
},
{
"name": "move_claim",
"fields": [
{
"type": 71,
"typeName": "EthereumAddress"
},
{
"type": 71,
"typeName": "EthereumAddress"
},
{
"type": 172,
"typeName": "Option<T::AccountId>"
}
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"polkadot_runtime_common",
"claims",
"EcdsaSignature"
],
"def": {
"composite": {
"fields": [
{
"type": 180,
"typeName": "[u8; 65]"
}
]
}
}
},
{
"def": {
"array": {
"len": 65,
"type": 2
}
}
},
{
"path": [
"Option"
],
"params": [
182
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 182
}
]
}
]
}
}
},
{
"def": {
"tuple": [
6,
6,
4
]
}
},
{
"path": [
"Option"
],
"params": [
184
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 184
}
]
}
]
}
}
},
{
"path": [
"polkadot_runtime_common",
"claims",
"StatementKind"
],
"def": {
"variant": {
"variants": [
{
"name": "Regular",
"discriminant": 0,
"docs": [
"Statement required to be made by non-SAFT holders."
]
},
{
"name": "Saft",
"discriminant": 1,
"docs": [
"Statement required to be made by SAFT holders."
]
}
]
}
},
"docs": [
"The kind of statement an account needs to make for a claim to be valid."
]
},
{
"path": [
"pallet_vesting",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "vest",
"docs": [
"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`.",
"",
"# <weight>",
"- `O(1)`.",
"- DbWeight: 2 Reads, 2 Writes",
" - Reads: Vesting Storage, Balances Locks, [Sender Account]",
" - Writes: Vesting Storage, Balances Locks, [Sender Account]",
"# </weight>"
]
},
{
"name": "vest_other",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- `O(1)`.",
"- DbWeight: 3 Reads, 3 Writes",
" - Reads: Vesting Storage, Balances Locks, Target Account",
" - Writes: Vesting Storage, Balances Locks, Target Account",
"# </weight>"
]
},
{
"name": "vested_transfer",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 186,
"typeName": "VestingInfo<BalanceOf<T>, T::BlockNumber>"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- `O(1)`.",
"- DbWeight: 3 Reads, 3 Writes",
" - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]",
" - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]",
"# </weight>"
]
},
{
"name": "force_vested_transfer",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 186,
"typeName": "VestingInfo<BalanceOf<T>, T::BlockNumber>"
}
],
"docs": [
"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`.",
"",
"# <weight>",
"- `O(1)`.",
"- DbWeight: 4 Reads, 4 Writes",
" - Reads: Vesting Storage, Balances Locks, Target Account, Source Account",
" - Writes: Vesting Storage, Balances Locks, Target Account, Source Account",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_vesting",
"VestingInfo"
],
"params": [
6,
4
],
"def": {
"composite": {
"fields": [
{
"name": "locked",
"type": 6,
"typeName": "Balance",
"docs": [
"Locked amount at genesis."
]
},
{
"name": "per_block",
"type": 6,
"typeName": "Balance",
"docs": [
"Amount that gets unlocked every block after `starting_block`."
]
},
{
"name": "starting_block",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"Starting block for unlocking(vesting)."
]
}
]
}
},
"docs": [
"Struct to encode the vesting schedule of an individual account."
]
},
{
"path": [
"pallet_utility",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "batch",
"fields": [
{
"type": 188,
"typeName": "Vec<<T as Config>::Call>"
}
],
"docs": [
"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`).",
"",
"# <weight>",
"- Complexity: O(C) where C is the number of calls to be batched.",
"# </weight>",
"",
"This will return `Ok` in all circumstances. To determine the success of the batch, an",
"event is deposited. If a call failed and the batch was interrupted, then the",
"`BatchInterrupted` event is deposited, along with the number of successful calls made",
"and the error of the failed call. If all were successful, then the `BatchCompleted`",
"event is deposited."
]
},
{
"name": "as_derivative",
"fields": [
{
"type": 78,
"typeName": "u16"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"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_."
]
},
{
"name": "batch_all",
"fields": [
{
"type": 188,
"typeName": "Vec<<T as Config>::Call>"
}
],
"docs": [
"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`).",
"",
"# <weight>",
"- Complexity: O(C) where C is the number of calls to be batched.",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"def": {
"sequence": {
"type": 114
}
}
},
{
"path": [
"pallet_identity",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "add_registrar",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R)` where `R` registrar-count (governance-bounded and code-bounded).",
"- One storage mutation (codec `O(R)`).",
"- One event.",
"# </weight>"
]
},
{
"name": "set_identity",
"fields": [
{
"type": 190,
"typeName": "IdentityInfo"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(X + X\\' + R)`",
" - where `X` additional-field-count (deposit-bounded and code-bounded)",
" - where `R` judgements-count (registrar-count-bounded)",
"- One balance reserve operation.",
"- One storage mutation (codec-read `O(X\\' + R)`, codec-write `O(X + R)`).",
"- One event.",
"# </weight>"
]
},
{
"name": "set_subs",
"fields": [
{
"type": 195,
"typeName": "Vec<(T::AccountId, Data)>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(P + S)`",
" - where `P` old-subs-count (hard- and deposit-bounded).",
" - where `S` subs-count (hard- and deposit-bounded).",
"- At most one balance operations.",
"- DB:",
" - `P + S` storage mutations (codec complexity `O(1)`)",
" - One storage read (codec complexity `O(P)`).",
" - One storage write (codec complexity `O(S)`).",
" - One storage-exists (`IdentityOf::contains_key`).",
"# </weight>"
]
},
{
"name": "clear_identity",
"docs": [
"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.",
"",
"# <weight>",
"- `O(R + S + X)`",
" - where `R` registrar-count (governance-bounded).",
" - where `S` subs-count (hard- and deposit-bounded).",
" - where `X` additional-field-count (deposit-bounded and code-bounded).",
"- One balance-unreserve operation.",
"- `2` storage reads and `S + 2` storage deletions.",
"- One event.",
"# </weight>"
]
},
{
"name": "request_judgement",
"fields": [
{
"type": 90,
"typeName": "RegistrarIndex"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R + X)`.",
"- One balance-reserve operation.",
"- Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.",
"- One event.",
"# </weight>"
]
},
{
"name": "cancel_request",
"fields": [
{
"type": 4,
"typeName": "RegistrarIndex"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R + X)`.",
"- One balance-reserve operation.",
"- One storage mutation `O(R + X)`.",
"- One event",
"# </weight>"
]
},
{
"name": "set_fee",
"fields": [
{
"type": 90,
"typeName": "RegistrarIndex"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R)`.",
"- One storage mutation `O(R)`.",
"- Benchmark: 7.315 + R * 0.329 µs (min squares analysis)",
"# </weight>"
]
},
{
"name": "set_account_id",
"fields": [
{
"type": 90,
"typeName": "RegistrarIndex"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R)`.",
"- One storage mutation `O(R)`.",
"- Benchmark: 8.823 + R * 0.32 µs (min squares analysis)",
"# </weight>"
]
},
{
"name": "set_fields",
"fields": [
{
"type": 90,
"typeName": "RegistrarIndex"
},
{
"type": 197,
"typeName": "IdentityFields"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R)`.",
"- One storage mutation `O(R)`.",
"- Benchmark: 7.464 + R * 0.325 µs (min squares analysis)",
"# </weight>"
]
},
{
"name": "provide_judgement",
"fields": [
{
"type": 90,
"typeName": "RegistrarIndex"
},
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 198,
"typeName": "Judgement<BalanceOf<T>>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R + X)`.",
"- One balance-transfer operation.",
"- Up to one account-lookup operation.",
"- Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.",
"- One event.",
"# </weight>"
]
},
{
"name": "kill_identity",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(R + S + X)`.",
"- One balance-reserve operation.",
"- `S + 2` storage mutations.",
"- One event.",
"# </weight>"
]
},
{
"name": "add_sub",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 193,
"typeName": "Data"
}
],
"docs": [
"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`."
]
},
{
"name": "rename_sub",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 193,
"typeName": "Data"
}
],
"docs": [
"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`."
]
},
{
"name": "remove_sub",
"fields": [
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
}
],
"docs": [
"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`."
]
},
{
"name": "quit_sub",
"docs": [
"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."
]
}
]
}
},
"docs": [
"Identity pallet declaration."
]
},
{
"path": [
"pallet_identity",
"IdentityInfo"
],
"def": {
"composite": {
"fields": [
{
"name": "additional",
"type": 191,
"typeName": "Vec<(Data, Data)>",
"docs": [
"Additional fields of the identity that are not catered for with the struct\\'s explicit",
"fields."
]
},
{
"name": "display",
"type": 193,
"typeName": "Data",
"docs": [
"A reasonable display name for the controller of the account. This should be whatever it is",
"that it is typically known as and should not be confusable with other entities, given",
"reasonable context.",
"",
"Stored as UTF-8."
]
},
{
"name": "legal",
"type": 193,
"typeName": "Data",
"docs": [
"The full legal name in the local jurisdiction of the entity. This might be a bit",
"long-winded.",
"",
"Stored as UTF-8."
]
},
{
"name": "web",
"type": 193,
"typeName": "Data",
"docs": [
"A representative website held by the controller of the account.",
"",
"NOTE: `https://` is automatically prepended.",
"",
"Stored as UTF-8."
]
},
{
"name": "riot",
"type": 193,
"typeName": "Data",
"docs": [
"The Riot/Matrix handle held by the controller of the account.",
"",
"Stored as UTF-8."
]
},
{
"name": "email",
"type": 193,
"typeName": "Data",
"docs": [
"The email address of the controller of the account.",
"",
"Stored as UTF-8."
]
},
{
"name": "pgp_fingerprint",
"type": 194,
"typeName": "Option<[u8; 20]>",
"docs": [
"The PGP/GPG public key of the controller of the account."
]
},
{
"name": "image",
"type": 193,
"typeName": "Data",
"docs": [
"A graphic image representing the controller of the account. Should be a company,",
"organization or project logo or a headshot in the case of a human."
]
},
{
"name": "twitter",
"type": 193,
"typeName": "Data",
"docs": [
"The Twitter identity. The leading `@` character may be elided."
]
}
]
}
},
"docs": [
"Information concerning the identity of the controller of an account.",
"",
"NOTE: This should be stored at the end of the storage item to facilitate the addition of extra",
"fields in a backwards compatible way through a specialized `Decode` impl."
]
},
{
"def": {
"sequence": {
"type": 192
}
}
},
{
"def": {
"tuple": [
193,
193
]
}
},
{
"path": [
"pallet_identity",
"Data"
],
"def": {
"variant": {
"variants": [
{
"name": "None",
"docs": [
"No data here."
]
},
{
"name": "Raw",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"The data is stored directly."
]
},
{
"name": "BlakeTwo256",
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
],
"docs": [
"Only the Blake2 hash of the data is stored. The preimage of the hash may be retrieved",
"through some hash-lookup service."
]
},
{
"name": "Sha256",
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
],
"docs": [
"Only the SHA2-256 hash of the data is stored. The preimage of the hash may be retrieved",
"through some hash-lookup service."
]
},
{
"name": "Keccak256",
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
],
"docs": [
"Only the Keccak-256 hash of the data is stored. The preimage of the hash may be retrieved",
"through some hash-lookup service."
]
},
{
"name": "ShaThree256",
"fields": [
{
"type": 1,
"typeName": "[u8; 32]"
}
],
"docs": [
"Only the SHA3-256 hash of the data is stored. The preimage of the hash may be retrieved",
"through some hash-lookup service."
]
}
]
}
},
"docs": [
"Either underlying data blob if it is at most 32 bytes, or a hash of it. If the data is greater",
"than 32-bytes then it will be truncated when encoding.",
"",
"Can also be `None`."
]
},
{
"path": [
"Option"
],
"params": [
72
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 72
}
]
}
]
}
}
},
{
"def": {
"sequence": {
"type": 196
}
}
},
{
"def": {
"tuple": [
0,
193
]
}
},
{
"path": [
"pallet_identity",
"IdentityFields"
],
"def": {
"composite": {
"fields": [
{
"type": 8,
"typeName": "BitFlags<IdentityField>",
"docs": [
"Wrapper type for `BitFlags<IdentityField>`"
]
}
]
}
}
},
{
"path": [
"pallet_identity",
"Judgement"
],
"params": [
6
],
"def": {
"variant": {
"variants": [
{
"name": "Unknown",
"docs": [
"The default value; no opinion is held."
]
},
{
"name": "FeePaid",
"fields": [
{
"type": 6,
"typeName": "Balance"
}
],
"docs": [
"No judgement is yet in place, but a deposit is reserved as payment for providing one."
]
},
{
"name": "Reasonable",
"docs": [
"The data appears to be reasonably acceptable in terms of its accuracy, however no in depth",
"checks (such as in-person meetings or formal KYC) have been conducted."
]
},
{
"name": "KnownGood",
"docs": [
"The target is known directly by the registrar and the registrar can fully attest to the",
"the data\\'s accuracy."
]
},
{
"name": "OutOfDate",
"docs": [
"The data was once good but is currently out of date. There is no malicious intent in the",
"inaccuracy. This judgement can be removed through updating the data."
]
},
{
"name": "LowQuality",
"docs": [
"The data is imprecise or of sufficiently low-quality to be problematic. It is not",
"indicative of malicious intent. This judgement can be removed through updating the data."
]
},
{
"name": "Erroneous",
"docs": [
"The data is erroneous. This may be indicative of malicious intent. This cannot be removed",
"except by the registrar."
]
}
]
}
},
"docs": [
"An attestation of a registrar over how accurate some `IdentityInfo` is in describing an account.",
"",
"NOTE: Registrars may pay little attention to some fields. Registrars may want to make clear",
"which fields their attestation is relevant for by off-chain means."
]
},
{
"path": [
"pallet_proxy",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "proxy",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 200,
"typeName": "Option<T::ProxyType>"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"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>",
"Weight is a function of the number of proxies the user has (P).",
"# </weight>"
]
},
{
"name": "add_proxy",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 77,
"typeName": "T::ProxyType"
},
{
"type": 4,
"typeName": "T::BlockNumber"
}
],
"docs": [
"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>",
"Weight is a function of the number of proxies the user has (P).",
"# </weight>"
]
},
{
"name": "remove_proxy",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 77,
"typeName": "T::ProxyType"
},
{
"type": 4,
"typeName": "T::BlockNumber"
}
],
"docs": [
"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>",
"Weight is a function of the number of proxies the user has (P).",
"# </weight>"
]
},
{
"name": "remove_proxies",
"docs": [
"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>",
"Weight is a function of the number of proxies the user has (P).",
"# </weight>"
]
},
{
"name": "anonymous",
"fields": [
{
"type": 77,
"typeName": "T::ProxyType"
},
{
"type": 4,
"typeName": "T::BlockNumber"
},
{
"type": 78,
"typeName": "u16"
}
],
"docs": [
"Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and",
"initialize it with a proxy of `proxy_type` for `origin` sender.",
"",
"Requires a `Signed` origin.",
"",
"- `proxy_type`: The type of the proxy that the sender will be registered as over the",
"new account. This will almost always be the most permissive `ProxyType` possible to",
"allow for maximum flexibility.",
"- `index`: A disambiguation index, in case this is called multiple times in the same",
"transaction (e.g. with `utility::batch`). Unless you\\'re using `batch` you probably just",
"want to use `0`.",
"- `delay`: The announcement period required of the initial proxy. Will generally be",
"zero.",
"",
"Fails with `Duplicate` if this has already been called in this transaction, from the",
"same sender, with the same parameters.",
"",
"Fails if there are insufficient funds to pay for deposit.",
"",
"# <weight>",
"Weight is a function of the number of proxies the user has (P).",
"# </weight>",
"TODO: Might be over counting 1 read"
]
},
{
"name": "kill_anonymous",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 77,
"typeName": "T::ProxyType"
},
{
"type": 78,
"typeName": "u16"
},
{
"type": 90,
"typeName": "T::BlockNumber"
},
{
"type": 90,
"typeName": "u32"
}
],
"docs": [
"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>",
"Weight is a function of the number of proxies the user has (P).",
"# </weight>"
]
},
{
"name": "announce",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 9,
"typeName": "CallHashOf<T>"
}
],
"docs": [
"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>",
"Weight is a function of:",
"- A: the number of announcements made.",
"- P: the number of proxies the user has.",
"# </weight>"
]
},
{
"name": "remove_announcement",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 9,
"typeName": "CallHashOf<T>"
}
],
"docs": [
"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>",
"Weight is a function of:",
"- A: the number of announcements made.",
"- P: the number of proxies the user has.",
"# </weight>"
]
},
{
"name": "reject_announcement",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 9,
"typeName": "CallHashOf<T>"
}
],
"docs": [
"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>",
"Weight is a function of:",
"- A: the number of announcements made.",
"- P: the number of proxies the user has.",
"# </weight>"
]
},
{
"name": "proxy_announced",
"fields": [
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 200,
"typeName": "Option<T::ProxyType>"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"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>",
"Weight is a function of:",
"- A: the number of announcements made.",
"- P: the number of proxies the user has.",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"Option"
],
"params": [
77
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 77
}
]
}
]
}
}
},
{
"path": [
"pallet_multisig",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "as_multi_threshold_1",
"fields": [
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 114,
"typeName": "Box<<T as Config>::Call>"
}
],
"docs": [
"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.",
"",
"# <weight>",
"O(Z + C) where Z is the length of the call and C its execution weight.",
"-------------------------------",
"- DB Weight: None",
"- Plus Call Weight",
"# </weight>"
]
},
{
"name": "as_multi",
"fields": [
{
"type": 78,
"typeName": "u16"
},
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 202,
"typeName": "Option<Timepoint<T::BlockNumber>>"
},
{
"type": 10,
"typeName": "OpaqueCall"
},
{
"type": 57,
"typeName": "bool"
},
{
"type": 8,
"typeName": "Weight"
}
],
"docs": [
"Register approval for a dispatch to be made from a deterministic composite account if",
"approved by a total of `threshold - 1` of `other_signatories`.",
"",
"If there are enough, then dispatch the call.",
"",
"Payment: `DepositBase` will be reserved if this is the first approval, plus",
"`threshold` times `DepositFactor`. It is returned once this dispatch happens or",
"is cancelled.",
"",
"The dispatch origin for this call must be _Signed_.",
"",
"- `threshold`: The total number of approvals for this dispatch before it is executed.",
"- `other_signatories`: The accounts (other than the sender) who can approve this",
"dispatch. May not be empty.",
"- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",
"not the first approval, then it must be `Some`, with the timepoint (block number and",
"transaction index) of the first approval transaction.",
"- `call`: The call to be executed.",
"",
"NOTE: Unless this is the final approval, you will generally want to use",
"`approve_as_multi` instead, since it only requires a hash of the call.",
"",
"Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise",
"on success, result is `Ok` and the result from the interior call, if it was executed,",
"may be found in the deposited `MultisigExecuted` event.",
"",
"# <weight>",
"- `O(S + Z + Call)`.",
"- Up to one balance-reserve or unreserve operation.",
"- One passthrough operation, one insert, both `O(S)` where `S` is the number of",
" signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",
"- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.",
"- One encode & hash, both of complexity `O(S)`.",
"- Up to one binary search and insert (`O(logS + S)`).",
"- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",
"- One event.",
"- The weight of the `call`.",
"- Storage: inserts one item, value size bounded by `MaxSignatories`, with a",
" deposit taken for its lifetime of",
" `DepositBase + threshold * DepositFactor`.",
"-------------------------------",
"- DB Weight:",
" - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)",
" - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)",
"- Plus Call Weight",
"# </weight>"
]
},
{
"name": "approve_as_multi",
"fields": [
{
"type": 78,
"typeName": "u16"
},
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 202,
"typeName": "Option<Timepoint<T::BlockNumber>>"
},
{
"type": 1,
"typeName": "[u8; 32]"
},
{
"type": 8,
"typeName": "Weight"
}
],
"docs": [
"Register approval for a dispatch to be made from a deterministic composite account if",
"approved by a total of `threshold - 1` of `other_signatories`.",
"",
"Payment: `DepositBase` will be reserved if this is the first approval, plus",
"`threshold` times `DepositFactor`. It is returned once this dispatch happens or",
"is cancelled.",
"",
"The dispatch origin for this call must be _Signed_.",
"",
"- `threshold`: The total number of approvals for this dispatch before it is executed.",
"- `other_signatories`: The accounts (other than the sender) who can approve this",
"dispatch. May not be empty.",
"- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is",
"not the first approval, then it must be `Some`, with the timepoint (block number and",
"transaction index) of the first approval transaction.",
"- `call_hash`: The hash of the call to be executed.",
"",
"NOTE: If this is the final approval, you will want to use `as_multi` instead.",
"",
"# <weight>",
"- `O(S)`.",
"- Up to one balance-reserve or unreserve operation.",
"- One passthrough operation, one insert, both `O(S)` where `S` is the number of",
" signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",
"- One encode & hash, both of complexity `O(S)`.",
"- Up to one binary search and insert (`O(logS + S)`).",
"- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",
"- One event.",
"- Storage: inserts one item, value size bounded by `MaxSignatories`, with a",
" deposit taken for its lifetime of",
" `DepositBase + threshold * DepositFactor`.",
"----------------------------------",
"- DB Weight:",
" - Read: Multisig Storage, [Caller Account]",
" - Write: Multisig Storage, [Caller Account]",
"# </weight>"
]
},
{
"name": "cancel_as_multi",
"fields": [
{
"type": 78,
"typeName": "u16"
},
{
"type": 55,
"typeName": "Vec<T::AccountId>"
},
{
"type": 80,
"typeName": "Timepoint<T::BlockNumber>"
},
{
"type": 1,
"typeName": "[u8; 32]"
}
],
"docs": [
"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.",
"",
"# <weight>",
"- `O(S)`.",
"- Up to one balance-reserve or unreserve operation.",
"- One passthrough operation, one insert, both `O(S)` where `S` is the number of",
" signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",
"- One encode & hash, both of complexity `O(S)`.",
"- One event.",
"- I/O: 1 read `O(S)`, one remove.",
"- Storage: removes one item.",
"----------------------------------",
"- DB Weight:",
" - Read: Multisig Storage, [Caller Account], Refund Account, Calls",
" - Write: Multisig Storage, [Caller Account], Refund Account, Calls",
"# </weight>"
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"Option"
],
"params": [
80
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 80
}
]
}
]
}
}
},
{
"path": [
"pallet_bounties",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "propose_bounty",
"fields": [
{
"type": 51,
"typeName": "BalanceOf<T>"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"r\" Propose a new bounty.",
"r",
"r\" The dispatch origin for this call must be _Signed_.",
"r",
"r\" Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",
"r\" `DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,",
"r\" or slashed when rejected.",
"r",
"r\" - `curator`: The curator account whom will manage this bounty.",
"r\" - `fee`: The curator fee.",
"r\" - `value`: The total payment amount of this bounty, curator fee included.",
"r\" - `description`: The description of this bounty."
]
},
{
"name": "approve_bounty",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" Approve a bounty proposal. At a later time, the bounty will be funded and become active",
"r\" and the original deposit will be returned.",
"r",
"r\" May only be called from `T::ApproveOrigin`.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "propose_curator",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
},
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"r\" Assign a curator to a funded bounty.",
"r",
"r\" May only be called from `T::ApproveOrigin`.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "unassign_curator",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" Unassign curator from a bounty.",
"r",
"r\" This function can only be called by the `RejectOrigin` a signed origin.",
"r",
"r\" If this function is called by the `RejectOrigin`, we assume that the curator is malicious",
"r\" or inactive. As a result, we will slash the curator when possible.",
"r",
"r\" If the origin is the curator, we take this as a sign they are unable to do their job and",
"r\" they willingly give up. We could slash them, but for now we allow them to recover their",
"r\" deposit and exit without issue. (We may want to change this if it is abused.)",
"r",
"r#\" Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows\"#",
"r\" anyone in the community to call out that a curator is not doing their due diligence, and",
"r\" we should pick a new curator. In this case the curator should also be slashed.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "accept_curator",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" Accept the curator role for a bounty.",
"r\" A deposit will be reserved from curator and refund upon successful payout.",
"r",
"r\" May only be called from the curator.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "award_bounty",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
},
{
"type": 130,
"typeName": "<T::Lookup as StaticLookup>::Source"
}
],
"docs": [
"r\" Award bounty to a beneficiary account. The beneficiary will be able to claim the funds after a delay.",
"r",
"r\" The dispatch origin for this call must be the curator of this bounty.",
"r",
"r\" - `bounty_id`: Bounty ID to award.",
"r\" - `beneficiary`: The beneficiary account whom will receive the payout.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "claim_bounty",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" Claim the payout from an awarded bounty after payout delay.",
"r",
"r\" The dispatch origin for this call must be the beneficiary of this bounty.",
"r",
"r\" - `bounty_id`: Bounty ID to claim.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "close_bounty",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
}
],
"docs": [
"r\" Cancel a proposed or active bounty. All the funds will be sent to treasury and",
"r\" the curator deposit will be unreserved if possible.",
"r",
"r\" Only `T::RejectOrigin` is able to cancel a bounty.",
"r",
"r\" - `bounty_id`: Bounty ID to cancel.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
},
{
"name": "extend_bounty_expiry",
"fields": [
{
"type": 90,
"typeName": "BountyIndex"
},
{
"type": 10,
"typeName": "Vec<u8>"
}
],
"docs": [
"r\" Extend the expiry time of an active bounty.",
"r",
"r\" The dispatch origin for this call must be the curator of this bounty.",
"r",
"r\" - `bounty_id`: Bounty ID to extend.",
"r\" - `remark`: additional information.",
"r",
"r\" # <weight>",
"r\" - O(1).",
"r\" # </weight>"
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"pallet_tips",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "report_awesome",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
},
{
"type": 0,
"typeName": "T::AccountId"
}
],
"docs": [
"r\" Report something `reason` that deserves a tip and claim any eventual the finder's fee.",
"r",
"r\" The dispatch origin for this call must be _Signed_.",
"r",
"r\" Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",
"r\" `DataDepositPerByte` for each byte in `reason`.",
"r",
"r\" - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",
"r\" a UTF-8-encoded URL.",
"r\" - `who`: The account which should be credited for the tip.",
"r",
"r\" Emits `NewTip` if successful.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(R)` where `R` length of `reason`.",
"r\" - encoding and hashing of 'reason'",
"r\" - DbReads: `Reasons`, `Tips`",
"r\" - DbWrites: `Reasons`, `Tips`",
"r\" # </weight>"
]
},
{
"name": "retract_tip",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"r\" Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.",
"r",
"r\" If successful, the original deposit will be unreserved.",
"r",
"r\" The dispatch origin for this call must be _Signed_ and the tip identified by `hash`",
"r\" must have been reported by the signing account through `report_awesome` (and not",
"r\" through `tip_new`).",
"r",
"r\" - `hash`: The identity of the open tip for which a tip value is declared. This is formed",
"r\" as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",
"r",
"r\" Emits `TipRetracted` if successful.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(1)`",
"r\" - Depends on the length of `T::Hash` which is fixed.",
"r\" - DbReads: `Tips`, `origin account`",
"r\" - DbWrites: `Reasons`, `Tips`, `origin account`",
"r\" # </weight>"
]
},
{
"name": "tip_new",
"fields": [
{
"type": 10,
"typeName": "Vec<u8>"
},
{
"type": 0,
"typeName": "T::AccountId"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"r\" Give a tip for something new; no finder's fee will be taken.",
"r",
"r\" The dispatch origin for this call must be _Signed_ and the signing account must be a",
"r\" member of the `Tippers` set.",
"r",
"r\" - `reason`: The reason for, or the thing that deserves, the tip; generally this will be",
"r\" a UTF-8-encoded URL.",
"r\" - `who`: The account which should be credited for the tip.",
"r\" - `tip_value`: The amount of tip that the sender would like to give. The median tip",
"r\" value of active tippers will be given to the `who`.",
"r",
"r\" Emits `NewTip` if successful.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.",
"r\" - `O(T)`: decoding `Tipper` vec of length `T`",
"r\" `T` is charged as upper bound given by `ContainsLengthBound`.",
"r\" The actual cost depends on the implementation of `T::Tippers`.",
"r\" - `O(R)`: hashing and encoding of reason of length `R`",
"r\" - DbReads: `Tippers`, `Reasons`",
"r\" - DbWrites: `Reasons`, `Tips`",
"r\" # </weight>"
]
},
{
"name": "tip",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
},
{
"type": 51,
"typeName": "BalanceOf<T>"
}
],
"docs": [
"r\" Declare a tip value for an already-open tip.",
"r",
"r\" The dispatch origin for this call must be _Signed_ and the signing account must be a",
"r\" member of the `Tippers` set.",
"r",
"r\" - `hash`: The identity of the open tip for which a tip value is declared. This is formed",
"r\" as the hash of the tuple of the hash of the original tip `reason` and the beneficiary",
"r\" account ID.",
"r\" - `tip_value`: The amount of tip that the sender would like to give. The median tip",
"r\" value of active tippers will be given to the `who`.",
"r",
"r\" Emits `TipClosing` if the threshold of tippers has been reached and the countdown period",
"r\" has started.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(T)` where `T` is the number of tippers.",
"r\" decoding `Tipper` vec of length `T`, insert tip and check closing,",
"r\" `T` is charged as upper bound given by `ContainsLengthBound`.",
"r\" The actual cost depends on the implementation of `T::Tippers`.",
"r",
"r\" Actually weight could be lower as it depends on how many tips are in `OpenTip` but it",
"r\" is weighted as if almost full i.e of length `T-1`.",
"r\" - DbReads: `Tippers`, `Tips`",
"r\" - DbWrites: `Tips`",
"r\" # </weight>"
]
},
{
"name": "close_tip",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"r\" Close and payout a tip.",
"r",
"r\" The dispatch origin for this call must be _Signed_.",
"r",
"r\" The tip identified by `hash` must have finished its countdown period.",
"r",
"r\" - `hash`: The identity of the open tip for which a tip value is declared. This is formed",
"r\" as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",
"r",
"r\" # <weight>",
"r\" - Complexity: `O(T)` where `T` is the number of tippers.",
"r\" decoding `Tipper` vec of length `T`.",
"r\" `T` is charged as upper bound given by `ContainsLengthBound`.",
"r\" The actual cost depends on the implementation of `T::Tippers`.",
"r\" - DbReads: `Tips`, `Tippers`, `tip finder`",
"r\" - DbWrites: `Reasons`, `Tips`, `Tippers`, `tip finder`",
"r\" # </weight>"
]
},
{
"name": "slash_tip",
"fields": [
{
"type": 9,
"typeName": "T::Hash"
}
],
"docs": [
"r\" Remove and slash an already-open tip.",
"r",
"r\" May only be called from `T::RejectOrigin`.",
"r",
"r\" As a result, the finder is slashed and the deposits are lost.",
"r",
"r\" Emits `TipSlashed` if successful.",
"r",
"r\" # <weight>",
"r\" `T` is charged as upper bound given by `ContainsLengthBound`.",
"r\" The actual cost depends on the implementation of `T::Tippers`.",
"r\" # </weight>"
]
}
]
}
},
"docs": [
"Dispatchable calls.",
"",
"Each variant of this enum maps to a dispatchable function from the associated module."
]
},
{
"path": [
"pallet_election_provider_multi_phase",
"pallet",
"Call"
],
"def": {
"variant": {
"variants": [
{
"name": "submit_unsigned",
"fields": [
{
"type": 206,
"typeName": "RawSolution<CompactOf<T>>"
},
{
"type": 257,
"typeName": "SolutionOrSnapshotSize"
}
],
"docs": [
"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."
]
},
{
"name": "set_minimum_untrusted_score",
"fields": [
{
"type": 258,
"typeName": "Option<ElectionScore>"
}
],
"docs": [
"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`."
]
},
{
"name": "set_emergency_election_result",
"fields": [
{
"type": 259,
"typeName": "ReadySolution<T::AccountId>"
}
],
"docs": [
"Set a solution in the queue, to be handed out to the client of this pallet in the next",
"call to `ElectionProvider::elect`.",
"",
"This can only be set by `T::ForceOrigin`, and only when the phase is `Emergency`.",
"",
"The solution is not checked for any feasibility and is assumed to be trustworthy, as any",
"feasibility check itself can in principle cause the election process to fail (due to",
"memory/weight constrains)."
]
}
]
}
},
"docs": [
"r\"Contains one variant per dispatchable that can be called by an extrinsic."
]
},
{
"path": [
"pallet_election_provider_multi_phase",
"RawSolution"
],
"params": [
207
],
"def": {
"composite": {
"fields": [
{
"name": "compact",
"type": 207,
"typeName": "C",
"docs": [
"Compact election edges."
]
},
{
"name": "score",
"type": 256,
"typeName": "ElectionScore",
"docs": [
"The _claimed_ score of the solution."
]
},
{
"name": "round",
"type": 4,
"typeName": "u32",
"docs": [
"The round at which this solution should be submitted."
]
}
]
}
},
"docs": [
"A raw, unchecked solution.",
"",
"This is what will get submitted to the chain.",
"",
"Such a solution should never become effective in anyway before being checked by the",
"`Pallet::feasibility_check`"
]
},
{
"path": [
"polkadot_runtime",
"NposCompactSolution16"
],
"def": {
"composite": {
"fields": [
{
"name": "votes1",
"type": 208,
"typeName": "_npos::sp_std::prelude::Vec<(u32, u16)>"
},
{
"name": "votes2",
"type": 210,
"typeName": "_npos::sp_std::prelude::Vec<(u32, (u16, sp_runtime::PerU16), u16)>"
},
{
"name": "votes3",
"type": 214,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 2usize], u16)>"
},
{
"name": "votes4",
"type": 217,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 3usize], u16)>"
},
{
"name": "votes5",
"type": 220,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 4usize], u16)>"
},
{
"name": "votes6",
"type": 223,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 5usize], u16)>"
},
{
"name": "votes7",
"type": 226,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 6usize], u16)>"
},
{
"name": "votes8",
"type": 229,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 7usize], u16)>"
},
{
"name": "votes9",
"type": 232,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 8usize], u16)>"
},
{
"name": "votes10",
"type": 235,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 9usize], u16)>"
},
{
"name": "votes11",
"type": 238,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 10usize], u16)>"
},
{
"name": "votes12",
"type": 241,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 11usize], u16)>"
},
{
"name": "votes13",
"type": 244,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 12usize], u16)>"
},
{
"name": "votes14",
"type": 247,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 13usize], u16)>"
},
{
"name": "votes15",
"type": 250,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 14usize], u16)>"
},
{
"name": "votes16",
"type": 253,
"typeName": "_npos::sp_std::prelude::Vec<\n(u32,[(u16, sp_runtime::PerU16); 15usize], u16)>"
}
]
}
}
},
{
"def": {
"sequence": {
"type": 209
}
}
},
{
"def": {
"tuple": [
4,
78
]
}
},
{
"def": {
"sequence": {
"type": 211
}
}
},
{
"def": {
"tuple": [
4,
212,
78
]
}
},
{
"def": {
"tuple": [
78,
213
]
}
},
{
"path": [
"sp_arithmetic",
"per_things",
"PerU16"
],
"def": {
"composite": {
"fields": [
{
"type": 78,
"typeName": "u16"
}
]
}
},
"docs": [
"A fixed point representation of a number in the range [0, 1].",
"",
"\"_Parts per 65535_"
]
},
{
"def": {
"sequence": {
"type": 215
}
}
},
{
"def": {
"tuple": [
4,
216,
78
]
}
},
{
"def": {
"array": {
"len": 2,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 218
}
}
},
{
"def": {
"tuple": [
4,
219,
78
]
}
},
{
"def": {
"array": {
"len": 3,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 221
}
}
},
{
"def": {
"tuple": [
4,
222,
78
]
}
},
{
"def": {
"array": {
"len": 4,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 224
}
}
},
{
"def": {
"tuple": [
4,
225,
78
]
}
},
{
"def": {
"array": {
"len": 5,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 227
}
}
},
{
"def": {
"tuple": [
4,
228,
78
]
}
},
{
"def": {
"array": {
"len": 6,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 230
}
}
},
{
"def": {
"tuple": [
4,
231,
78
]
}
},
{
"def": {
"array": {
"len": 7,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 233
}
}
},
{
"def": {
"tuple": [
4,
234,
78
]
}
},
{
"def": {
"array": {
"len": 8,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 236
}
}
},
{
"def": {
"tuple": [
4,
237,
78
]
}
},
{
"def": {
"array": {
"len": 9,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 239
}
}
},
{
"def": {
"tuple": [
4,
240,
78
]
}
},
{
"def": {
"array": {
"len": 10,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 242
}
}
},
{
"def": {
"tuple": [
4,
243,
78
]
}
},
{
"def": {
"array": {
"len": 11,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 245
}
}
},
{
"def": {
"tuple": [
4,
246,
78
]
}
},
{
"def": {
"array": {
"len": 12,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 248
}
}
},
{
"def": {
"tuple": [
4,
249,
78
]
}
},
{
"def": {
"array": {
"len": 13,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 251
}
}
},
{
"def": {
"tuple": [
4,
252,
78
]
}
},
{
"def": {
"array": {
"len": 14,
"type": 212
}
}
},
{
"def": {
"sequence": {
"type": 254
}
}
},
{
"def": {
"tuple": [
4,
255,
78
]
}
},
{
"def": {
"array": {
"len": 15,
"type": 212
}
}
},
{
"def": {
"array": {
"len": 3,
"type": 6
}
}
},
{
"path": [
"pallet_election_provider_multi_phase",
"SolutionOrSnapshotSize"
],
"def": {
"composite": {
"fields": [
{
"name": "voters",
"type": 90,
"typeName": "u32",
"docs": [
"The length of voters."
]
},
{
"name": "targets",
"type": 90,
"typeName": "u32",
"docs": [
"The length of targets."
]
}
]
}
},
"docs": [
"Encodes the length of a solution or a snapshot.",
"",
"This is stored automatically on-chain, and it contains the **size of the entire snapshot**.",
"This is also used in dispatchables as weight witness data and should **only contain the size of",
"the presented solution**, not the entire snapshot."
]
},
{
"path": [
"Option"
],
"params": [
256
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 256
}
]
}
]
}
}
},
{
"path": [
"pallet_election_provider_multi_phase",
"ReadySolution"
],
"params": [
0
],
"def": {
"composite": {
"fields": [
{
"name": "supports",
"type": 260,
"typeName": "Supports<A>",
"docs": [
"The final supports of the solution.",
"",
"This is target-major vector, storing each winners, total backing, and each individual",
"backer."
]
},
{
"name": "score",
"type": 256,
"typeName": "ElectionScore",
"docs": [
"The score of the solution.",
"",
"This is needed to potentially challenge the solution."
]
},
{
"name": "compute",
"type": 84,
"typeName": "ElectionCompute",
"docs": [
"How this election was computed."
]
}
]
}
},
"docs": [
"A checked solution, ready to be enacted."
]
},
{
"def": {
"sequence": {
"type": 261
}
}
},
{
"def": {
"tuple": [
0,
262
]
}
},
{
"path": [
"sp_npos_elections",
"Support"
],
"params": [
0
],
"def": {
"composite": {
"fields": [
{
"name": "total",
"type": 6,
"typeName": "ExtendedBalance",
"docs": [
"Total support."
]
},
{
"name": "voters",
"type": 63,
"typeName": "Vec<(AccountId, ExtendedBalance)>",
"docs": [
"Support from voters."
]
}
]
}
},
"docs": [
"A structure to demonstrate the election result from the perspective of the candidate, i.e. how",
"much support each candidate is receiving.",
"",
"This complements the [`ElectionResult`] and is needed to run the balancing post-processing.",
"",
"This, at the current version, resembles the `Exposure` defined in the Staking pallet, yet they",
"do not necessarily have to be the same."
]
},
{
"path": [
"polkadot_runtime",
"OriginCaller"
],
"def": {
"variant": {
"variants": [
{
"name": "system",
"fields": [
{
"type": 264,
"typeName": "frame_system::Origin<Runtime>"
}
],
"index": 0
},
{
"name": "Council",
"fields": [
{
"type": 265,
"typeName": "pallet_collective::Origin<Runtime, pallet_collective::Instance1>"
}
],
"index": 15
},
{
"name": "TechnicalCommittee",
"fields": [
{
"type": 266,
"typeName": "pallet_collective::Origin<Runtime, pallet_collective::Instance2>"
}
],
"index": 16
},
{
"name": "Void",
"fields": [
{
"type": 267,
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::Void"
}
]
}
]
}
}
},
{
"path": [
"frame_system",
"RawOrigin"
],
"params": [
0
],
"def": {
"variant": {
"variants": [
{
"name": "Root",
"docs": [
"The system itself ordained this dispatch to happen: this is the highest privilege level."
]
},
{
"name": "Signed",
"fields": [
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"It is signed by some public key and we provide the `AccountId`."
]
},
{
"name": "None",
"docs": [
"It is signed by nobody, can be either:",
"* included and agreed upon by the validators anyway,",
"* or unsigned transaction validated by a pallet."
]
}
]
}
},
"docs": [
"Origin for the System pallet."
]
},
{
"path": [
"pallet_collective",
"RawOrigin"
],
"params": [
0,
59
],
"def": {
"variant": {
"variants": [
{
"name": "Members",
"fields": [
{
"type": 4,
"typeName": "MemberCount"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"It has been condoned by a given number of members of the collective from a given total."
]
},
{
"name": "Member",
"fields": [
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"It has been condoned by a single member of the collective."
]
},
{
"name": "_Phantom",
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<I>"
}
],
"docs": [
"Dummy to manage the fact we have instancing."
]
}
]
}
},
"docs": [
"Origin for the collective module."
]
},
{
"path": [
"pallet_collective",
"RawOrigin"
],
"params": [
0,
61
],
"def": {
"variant": {
"variants": [
{
"name": "Members",
"fields": [
{
"type": 4,
"typeName": "MemberCount"
},
{
"type": 4,
"typeName": "MemberCount"
}
],
"docs": [
"It has been condoned by a given number of members of the collective from a given total."
]
},
{
"name": "Member",
"fields": [
{
"type": 0,
"typeName": "AccountId"
}
],
"docs": [
"It has been condoned by a single member of the collective."
]
},
{
"name": "_Phantom",
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<I>"
}
],
"docs": [
"Dummy to manage the fact we have instancing."
]
}
]
}
},
"docs": [
"Origin for the collective module."
]
},
{
"path": [
"sp_core",
"Void"
],
"def": {
"variant": {}
},
"docs": [
"The void type - it cannot exist."
]
},
{
"path": [
"pallet_scheduler",
"Releases"
],
"def": {
"variant": {
"variants": [
{
"name": "V1",
"discriminant": 0
},
{
"name": "V2",
"discriminant": 1
}
]
}
}
},
{
"path": [
"pallet_scheduler",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "FailedToSchedule",
"docs": [
"Failed to schedule a call"
]
},
{
"name": "NotFound",
"docs": [
"Cannot find the scheduled call."
]
},
{
"name": "TargetBlockNumberInPast",
"docs": [
"Given target block number is in the past."
]
},
{
"name": "RescheduleNoChange",
"docs": [
"Reschedule failed because it does not change scheduled time."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"def": {
"sequence": {
"type": 271
}
}
},
{
"def": {
"tuple": [
120,
8
]
}
},
{
"def": {
"sequence": {
"type": 1
}
}
},
{
"path": [
"Option"
],
"params": [
1
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 1
}
]
}
]
}
}
},
{
"path": [
"sp_consensus_babe",
"BabeEpochConfiguration"
],
"def": {
"composite": {
"fields": [
{
"name": "c",
"type": 124,
"typeName": "(u64, u64)",
"docs": [
"A constant value that is used in the threshold calculation formula.",
"Expressed as a rational where the first member of the tuple is the",
"numerator and the second is the denominator. The rational should",
"represent a value between 0 and 1.",
"In the threshold formula calculation, `1 - c` represents the probability",
"of a slot being empty."
]
},
{
"name": "allowed_slots",
"type": 125,
"typeName": "AllowedSlots",
"docs": [
"Whether this chain should run with secondary slots, which are assigned",
"in round-robin manner."
]
}
]
}
},
"docs": [
"Configuration data used by the BABE consensus engine."
]
},
{
"path": [
"pallet_babe",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "InvalidEquivocationProof",
"docs": [
"An equivocation proof provided as part of an equivocation report is invalid."
]
},
{
"name": "InvalidKeyOwnershipProof",
"docs": [
"A key ownership proof provided as part of an equivocation report is invalid."
]
},
{
"name": "DuplicateOffenceReport",
"docs": [
"A given equivocation report is valid but already previously reported."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"def": {
"tuple": [
0,
6,
57
]
}
},
{
"path": [
"pallet_indices",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "NotAssigned",
"docs": [
"The index was not already assigned."
]
},
{
"name": "NotOwner",
"docs": [
"The index is assigned to another account."
]
},
{
"name": "InUse",
"docs": [
"The index was not available."
]
},
{
"name": "NotTransfer",
"docs": [
"The source and destination accounts are identical."
]
},
{
"name": "Permanent",
"docs": [
"The index is permanent and may not be freed/changed."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"frame_support",
"storage",
"weak_bounded_vec",
"WeakBoundedVec"
],
"params": [
279,
281
],
"def": {
"composite": {
"fields": [
{
"type": 282,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A weakly bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"The length of the vec is not strictly bounded. Decoding a vec with more element that the bound",
"is accepted, and some method allow to bypass the restriction with warnings."
]
},
{
"path": [
"pallet_balances",
"BalanceLock"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "id",
"type": 108,
"typeName": "LockIdentifier",
"docs": [
"An identifier for this lock. Only one lock may be in existence for each identifier."
]
},
{
"name": "amount",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount which the free balance may not drop below when this lock is in effect."
]
},
{
"name": "reasons",
"type": 280,
"typeName": "Reasons",
"docs": [
"If true, then the lock remains in effect even for payment of transaction fees."
]
}
]
}
},
"docs": [
"A single lock on a balance. There can be many of these on an account and they \\\"overlap\\\", so the",
"same balance is frozen by multiple locks."
]
},
{
"path": [
"pallet_balances",
"Reasons"
],
"def": {
"variant": {
"variants": [
{
"name": "Fee",
"discriminant": 0,
"docs": [
"Paying system transaction fees."
]
},
{
"name": "Misc",
"discriminant": 1,
"docs": [
"Any reason other than paying system transaction fees."
]
},
{
"name": "All",
"discriminant": 2,
"docs": [
"Any reason at all."
]
}
]
}
},
"docs": [
"Simplified reasons for withdrawing balance."
]
},
{
"path": [
"polkadot_runtime",
"MaxLocks"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
}
},
{
"def": {
"sequence": {
"type": 279
}
}
},
{
"path": [
"frame_support",
"storage",
"bounded_vec",
"BoundedVec"
],
"params": [
284,
285
],
"def": {
"composite": {
"fields": [
{
"type": 286,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"As the name suggests, the length of the queue is always bounded. All internal operations ensure",
"this bound is respected."
]
},
{
"path": [
"pallet_balances",
"ReserveData"
],
"params": [
108,
6
],
"def": {
"composite": {
"fields": [
{
"name": "id",
"type": 108,
"typeName": "ReserveIdentifier",
"docs": [
"The identifier for the named reserve."
]
},
{
"name": "amount",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of the named reserve."
]
}
]
}
},
"docs": [
"Store named reserved balance."
]
},
{
"path": [
"polkadot_runtime",
"MaxReserves"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
}
},
{
"def": {
"sequence": {
"type": 284
}
}
},
{
"path": [
"pallet_balances",
"Releases"
],
"def": {
"variant": {
"variants": [
{
"name": "V1_0_0",
"discriminant": 0
},
{
"name": "V2_0_0",
"discriminant": 1
}
]
}
}
},
{
"path": [
"pallet_balances",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T, I)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "VestingBalance",
"docs": [
"Vesting balance too high to send value"
]
},
{
"name": "LiquidityRestrictions",
"docs": [
"Account liquidity restrictions prevent withdrawal"
]
},
{
"name": "InsufficientBalance",
"docs": [
"Balance too low to send value"
]
},
{
"name": "ExistentialDeposit",
"docs": [
"Value too low to create account due to existential deposit"
]
},
{
"name": "KeepAlive",
"docs": [
"Transfer/payment would kill account"
]
},
{
"name": "ExistingVestingSchedule",
"docs": [
"A vesting schedule already exists for this account"
]
},
{
"name": "DeadAccount",
"docs": [
"Beneficiary account must pre-exist"
]
},
{
"name": "TooManyReserves",
"docs": [
"Number of named reserves exceed MaxReserves"
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"sp_arithmetic",
"fixed_point",
"FixedU128"
],
"def": {
"composite": {
"fields": [
{
"type": 6,
"typeName": "u128"
}
]
}
},
"docs": [
"A fixed point number representation in the range.",
"",
"\"_Fixed Point 128 bits unsigned, range = \\\n\t\t[0.000000000000000000, 340282366920938463463.374607431768211455]_"
]
},
{
"path": [
"pallet_transaction_payment",
"Releases"
],
"def": {
"variant": {
"variants": [
{
"name": "V1Ancient",
"discriminant": 0,
"docs": [
"Original version of the module."
]
},
{
"name": "V2",
"discriminant": 1,
"docs": [
"One that bumps the usage to FixedU128 from FixedI128."
]
}
]
}
},
"docs": [
"Storage releases of the module."
]
},
{
"def": {
"sequence": {
"type": 292
}
}
},
{
"path": [
"frame_support",
"weights",
"WeightToFeeCoefficient"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "coeff_integer",
"type": 6,
"typeName": "Balance",
"docs": [
"The integral part of the coefficient."
]
},
{
"name": "coeff_frac",
"type": 93,
"typeName": "Perbill",
"docs": [
"The fractional part of the coefficient."
]
},
{
"name": "negative",
"type": 57,
"typeName": "bool",
"docs": [
"True iff the coefficient should be interpreted as negative."
]
},
{
"name": "degree",
"type": 2,
"typeName": "u8",
"docs": [
"Degree/exponent of the term."
]
}
]
}
},
"docs": [
"One coefficient and its position in the `WeightToFeePolynomial`.",
"",
"One term of polynomial is calculated as:",
"",
"```ignore",
"coeff_integer * x^(degree) + coeff_frac * x^(degree)",
"```",
"",
"The `negative` value encodes whether the term is added or substracted from the",
"overall polynomial result."
]
},
{
"def": {
"sequence": {
"type": 294
}
}
},
{
"path": [
"pallet_authorship",
"UncleEntryItem"
],
"params": [
4,
9,
0
],
"def": {
"variant": {
"variants": [
{
"name": "InclusionHeight",
"fields": [
{
"type": 4,
"typeName": "BlockNumber"
}
]
},
{
"name": "Uncle",
"fields": [
{
"type": 9,
"typeName": "Hash"
},
{
"type": 172,
"typeName": "Option<Author>"
}
]
}
]
}
}
},
{
"path": [
"pallet_authorship",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "InvalidUncleParent",
"docs": [
"The uncle parent not in the chain."
]
},
{
"name": "UnclesAlreadySet",
"docs": [
"Uncles already set in the block."
]
},
{
"name": "TooManyUncles",
"docs": [
"Too many uncles."
]
},
{
"name": "GenesisUncle",
"docs": [
"The uncle is genesis."
]
},
{
"name": "TooHighUncle",
"docs": [
"The uncle is too high in chain."
]
},
{
"name": "UncleAlreadyIncluded",
"docs": [
"The uncle is already included."
]
},
{
"name": "OldUncle",
"docs": [
"The uncle isn\\'t recent enough to be included."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_staking",
"StakingLedger"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "stash",
"type": 0,
"typeName": "AccountId",
"docs": [
"The stash account whose balance is actually locked and at stake."
]
},
{
"name": "total",
"type": 51,
"typeName": "Balance",
"docs": [
"The total amount of the stash\\'s balance that we are currently accounting for.",
"It\\'s just `active` plus all the `unlocking` balances."
]
},
{
"name": "active",
"type": 51,
"typeName": "Balance",
"docs": [
"The total amount of the stash\\'s balance that will be at stake in any forthcoming",
"rounds."
]
},
{
"name": "unlocking",
"type": 297,
"typeName": "Vec<UnlockChunk<Balance>>",
"docs": [
"Any balance that is becoming free, which may eventually be transferred out",
"of the stash (assuming it doesn\\'t get slashed first)."
]
},
{
"name": "claimed_rewards",
"type": 140,
"typeName": "Vec<EraIndex>",
"docs": [
"List of eras for which the stakers behind a validator have claimed rewards. Only updated",
"for validators."
]
}
]
}
},
"docs": [
"The ledger of a (bonded) stash."
]
},
{
"def": {
"sequence": {
"type": 298
}
}
},
{
"path": [
"pallet_staking",
"UnlockChunk"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "value",
"type": 51,
"typeName": "Balance",
"docs": [
"Amount of funds to be unlocked."
]
},
{
"name": "era",
"type": 90,
"typeName": "EraIndex",
"docs": [
"Era number at which point it\\'ll be unlocked."
]
}
]
}
},
"docs": [
"Just a Balance/BlockNumber tuple to encode when a chunk of funds will be unlocked."
]
},
{
"path": [
"pallet_staking",
"Nominations"
],
"params": [
0
],
"def": {
"composite": {
"fields": [
{
"name": "targets",
"type": 55,
"typeName": "Vec<AccountId>",
"docs": [
"The targets of nomination."
]
},
{
"name": "submitted_in",
"type": 4,
"typeName": "EraIndex",
"docs": [
"The era the nominations were submitted.",
"",
"Except for initial nominations which are considered submitted at era 0."
]
},
{
"name": "suppressed",
"type": 57,
"typeName": "bool",
"docs": [
"Whether the nominations have been suppressed. This can happen due to slashing of the",
"validators, or other events that might invalidate the nomination.",
"",
"NOTE: this for future proofing and is thus far not used."
]
}
]
}
},
"docs": [
"A record of the nominations made by a specific account."
]
},
{
"path": [
"pallet_staking",
"ActiveEraInfo"
],
"def": {
"composite": {
"fields": [
{
"name": "index",
"type": 4,
"typeName": "EraIndex",
"docs": [
"Index of era."
]
},
{
"name": "start",
"type": 100,
"typeName": "Option<u64>",
"docs": [
"Moment of start expressed as millisecond from `$UNIX_EPOCH`.",
"",
"Start can be none if start hasn\\'t been set for the era yet,",
"Start is set on the first on_finalize of the era to guarantee usage of `Time`."
]
}
]
}
},
"docs": [
"Information regarding the active era (era in used in session)."
]
},
{
"path": [
"pallet_staking",
"EraRewardPoints"
],
"params": [
0
],
"def": {
"composite": {
"fields": [
{
"name": "total",
"type": 4,
"typeName": "RewardPoint",
"docs": [
"Total number of points. Equals the sum of reward points for each validator."
]
},
{
"name": "individual",
"type": 302,
"typeName": "BTreeMap<AccountId, RewardPoint>",
"docs": [
"The reward points earned by a given validator."
]
}
]
}
},
"docs": [
"Reward points of an era. Used to split era total payout between validators.",
"",
"This points will be used to reward validators and their respective nominators."
]
},
{
"path": [
"BTreeMap"
],
"params": [
303
],
"def": {
"composite": {
"fields": [
{
"type": 304
}
]
}
}
},
{
"def": {
"tuple": [
0,
4
]
}
},
{
"def": {
"sequence": {
"type": 303
}
}
},
{
"path": [
"pallet_staking",
"Forcing"
],
"def": {
"variant": {
"variants": [
{
"name": "NotForcing",
"discriminant": 0,
"docs": [
"Not forcing anything - just let whatever happen."
]
},
{
"name": "ForceNew",
"discriminant": 1,
"docs": [
"Force a new era, then reset to `NotForcing` as soon as it is done.",
"Note that this will force to trigger an election until a new era is triggered, if the",
"election failed, the next session end will trigger a new election again, until success."
]
},
{
"name": "ForceNone",
"discriminant": 2,
"docs": [
"Avoid a new era indefinitely."
]
},
{
"name": "ForceAlways",
"discriminant": 3,
"docs": [
"Force a new era at the end of all sessions indefinitely."
]
}
]
}
},
"docs": [
"Mode of era-forcing."
]
},
{
"def": {
"sequence": {
"type": 307
}
}
},
{
"path": [
"pallet_staking",
"UnappliedSlash"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "validator",
"type": 0,
"typeName": "AccountId",
"docs": [
"The stash ID of the offending validator."
]
},
{
"name": "own",
"type": 6,
"typeName": "Balance",
"docs": [
"The validator\\'s own slash."
]
},
{
"name": "others",
"type": 63,
"typeName": "Vec<(AccountId, Balance)>",
"docs": [
"All other slashed stakers and amounts."
]
},
{
"name": "reporters",
"type": 55,
"typeName": "Vec<AccountId>",
"docs": [
"Reporters of the offence; bounty payout recipients."
]
},
{
"name": "payout",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of payout."
]
}
]
}
},
"docs": [
"A pending slash record. The value of the slash has been computed but not applied yet,",
"rather deferred for several eras."
]
},
{
"def": {
"tuple": [
93,
6
]
}
},
{
"path": [
"pallet_staking",
"slashing",
"SlashingSpans"
],
"def": {
"composite": {
"fields": [
{
"name": "span_index",
"type": 4,
"typeName": "SpanIndex"
},
{
"name": "last_start",
"type": 4,
"typeName": "EraIndex"
},
{
"name": "last_nonzero_slash",
"type": 4,
"typeName": "EraIndex"
},
{
"name": "prior",
"type": 140,
"typeName": "Vec<EraIndex>"
}
]
}
},
"docs": [
"An encoding of all of a nominator\\'s slashing spans."
]
},
{
"path": [
"pallet_staking",
"slashing",
"SpanRecord"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "slashed",
"type": 6,
"typeName": "Balance"
},
{
"name": "paid_out",
"type": 6,
"typeName": "Balance"
}
]
}
},
"docs": [
"A slashing-span record for a particular stash."
]
},
{
"path": [
"pallet_staking",
"Releases"
],
"def": {
"variant": {
"variants": [
{
"name": "V1_0_0Ancient",
"discriminant": 0
},
{
"name": "V2_0_0",
"discriminant": 1
},
{
"name": "V3_0_0",
"discriminant": 2
},
{
"name": "V4_0_0",
"discriminant": 3
},
{
"name": "V5_0_0",
"discriminant": 4
},
{
"name": "V6_0_0",
"discriminant": 5
},
{
"name": "V7_0_0",
"discriminant": 6
}
]
}
}
},
{
"path": [
"pallet_staking",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "NotController",
"docs": [
"Not a controller account."
]
},
{
"name": "NotStash",
"docs": [
"Not a stash account."
]
},
{
"name": "AlreadyBonded",
"docs": [
"Stash is already bonded."
]
},
{
"name": "AlreadyPaired",
"docs": [
"Controller is already paired."
]
},
{
"name": "EmptyTargets",
"docs": [
"Targets cannot be empty."
]
},
{
"name": "DuplicateIndex",
"docs": [
"Duplicate index."
]
},
{
"name": "InvalidSlashIndex",
"docs": [
"Slash record index out of bounds."
]
},
{
"name": "InsufficientBond",
"docs": [
"Can not bond with value less than minimum required."
]
},
{
"name": "NoMoreChunks",
"docs": [
"Can not schedule more unlock chunks."
]
},
{
"name": "NoUnlockChunk",
"docs": [
"Can not rebond without unlocking chunks."
]
},
{
"name": "FundedTarget",
"docs": [
"Attempting to target a stash that still has funds."
]
},
{
"name": "InvalidEraToReward",
"docs": [
"Invalid era to reward."
]
},
{
"name": "InvalidNumberOfNominations",
"docs": [
"Invalid number of nominations."
]
},
{
"name": "NotSortedAndUnique",
"docs": [
"Items are not sorted and unique."
]
},
{
"name": "AlreadyClaimed",
"docs": [
"Rewards for this era have already been claimed for this validator."
]
},
{
"name": "IncorrectHistoryDepth",
"docs": [
"Incorrect previous history depth input provided."
]
},
{
"name": "IncorrectSlashingSpans",
"docs": [
"Incorrect number of slashing spans provided."
]
},
{
"name": "BadState",
"docs": [
"Internal state has become somehow corrupted and the operation cannot continue."
]
},
{
"name": "TooManyTargets",
"docs": [
"Too many nomination targets supplied."
]
},
{
"name": "BadTarget",
"docs": [
"A nomination target was supplied that was blocked or otherwise not a validator."
]
},
{
"name": "CannotChillOther",
"docs": [
"The user has enough bond and thus cannot be chilled forcefully by an external person."
]
},
{
"name": "TooManyNominators",
"docs": [
"There are too many nominators in the system. Governance needs to adjust the staking settings",
"to keep things safe for the runtime."
]
},
{
"name": "TooManyValidators",
"docs": [
"There are too many validators in the system. Governance needs to adjust the staking settings",
"to keep things safe for the runtime."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"sp_staking",
"offence",
"OffenceDetails"
],
"params": [
0,
49
],
"def": {
"composite": {
"fields": [
{
"name": "offender",
"type": 49,
"typeName": "Offender",
"docs": [
"The offending authority id"
]
},
{
"name": "reporters",
"type": 55,
"typeName": "Vec<Reporter>",
"docs": [
"A list of reporters of offences of this authority ID. Possibly empty where there are no",
"particular reporters."
]
}
]
}
},
"docs": [
"A details about an offending authority for a particular kind of offence."
]
},
{
"def": {
"sequence": {
"type": 315
}
}
},
{
"def": {
"tuple": [
0,
143
]
}
},
{
"def": {
"tuple": [
317,
10
]
}
},
{
"path": [
"sp_core",
"crypto",
"KeyTypeId"
],
"def": {
"composite": {
"fields": [
{
"type": 14,
"typeName": "[u8; 4]"
}
]
}
},
"docs": [
"An identifier for a type of cryptographic key.",
"",
"To avoid clashes with other modules when distributing your module publicly, register your",
"`KeyTypeId` on the list here by making a PR.",
"",
"Values whose first character is `_` are reserved for private use and won\\'t conflict with any",
"public modules."
]
},
{
"path": [
"pallet_session",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T,)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "InvalidProof",
"docs": [
"r\" Invalid ownership proof."
]
},
{
"name": "NoAssociatedValidatorId",
"docs": [
"r\" No associated validator ID for account."
]
},
{
"name": "DuplicatedKey",
"docs": [
"r\" Registered duplicate key."
]
},
{
"name": "NoKeys",
"docs": [
"r\" No keys are associated with this account."
]
},
{
"name": "NoAccount",
"docs": [
"r\" Key setting account is not live, so it's impossible to associate keys."
]
}
]
}
},
"docs": [
"r\" Error for the session module."
]
},
{
"path": [
"pallet_grandpa",
"StoredState"
],
"params": [
4
],
"def": {
"variant": {
"variants": [
{
"name": "Live",
"docs": [
"The current authority set is live, and GRANDPA is enabled."
]
},
{
"name": "PendingPause",
"fields": [
{
"name": "scheduled_at",
"type": 4,
"typeName": "N",
"docs": [
"Block at which the intention to pause was scheduled."
]
},
{
"name": "delay",
"type": 4,
"typeName": "N",
"docs": [
"Number of blocks after which the change will be enacted."
]
}
],
"docs": [
"There is a pending pause event which will be enacted at the given block",
"height."
]
},
{
"name": "Paused",
"docs": [
"The current GRANDPA authority set is paused."
]
},
{
"name": "PendingResume",
"fields": [
{
"name": "scheduled_at",
"type": 4,
"typeName": "N",
"docs": [
"Block at which the intention to resume was scheduled."
]
},
{
"name": "delay",
"type": 4,
"typeName": "N",
"docs": [
"Number of blocks after which the change will be enacted."
]
}
],
"docs": [
"There is a pending resume event which will be enacted at the given block",
"height."
]
}
]
}
},
"docs": [
"Current state of the GRANDPA authority set. State transitions must happen in",
"the same order of states defined below, e.g. `Paused` implies a prior",
"`PendingPause`."
]
},
{
"path": [
"pallet_grandpa",
"StoredPendingChange"
],
"params": [
4
],
"def": {
"composite": {
"fields": [
{
"name": "scheduled_at",
"type": 4,
"typeName": "N",
"docs": [
"The block number this was scheduled at."
]
},
{
"name": "delay",
"type": 4,
"typeName": "N",
"docs": [
"The delay in blocks until it will be applied."
]
},
{
"name": "next_authorities",
"type": 41,
"typeName": "AuthorityList",
"docs": [
"The next authority set."
]
},
{
"name": "forced",
"type": 141,
"typeName": "Option<N>",
"docs": [
"If defined it means the change was forced and the given block number",
"indicates the median last finalized block when the change was signaled."
]
}
]
}
},
"docs": [
"A stored pending change."
]
},
{
"path": [
"pallet_grandpa",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "PauseFailed",
"docs": [
"Attempt to signal GRANDPA pause when the authority set isn\\'t live",
"(either paused or already pending pause)."
]
},
{
"name": "ResumeFailed",
"docs": [
"Attempt to signal GRANDPA resume when the authority set isn\\'t paused",
"(either live or already pending resume)."
]
},
{
"name": "ChangePending",
"docs": [
"Attempt to signal GRANDPA change with one already pending."
]
},
{
"name": "TooSoon",
"docs": [
"Cannot signal forced change so soon after last."
]
},
{
"name": "InvalidKeyOwnershipProof",
"docs": [
"A key ownership proof provided as part of an equivocation report is invalid."
]
},
{
"name": "InvalidEquivocationProof",
"docs": [
"An equivocation proof provided as part of an equivocation report is invalid."
]
},
{
"name": "DuplicateOffenceReport",
"docs": [
"A given equivocation report is valid but already previously reported."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"def": {
"sequence": {
"type": 46
}
}
},
{
"path": [
"pallet_im_online",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "InvalidKey",
"docs": [
"Non existent public key."
]
},
{
"name": "DuplicatedHeartbeat",
"docs": [
"Duplicated heartbeat."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"def": {
"sequence": {
"type": 325
}
}
},
{
"def": {
"tuple": [
4,
9,
0
]
}
},
{
"def": {
"tuple": [
55,
6
]
}
},
{
"path": [
"pallet_democracy",
"PreimageStatus"
],
"params": [
0,
6,
4
],
"def": {
"variant": {
"variants": [
{
"name": "Missing",
"fields": [
{
"type": 4,
"typeName": "BlockNumber"
}
],
"docs": [
"The preimage is imminently needed at the argument."
]
},
{
"name": "Available",
"fields": [
{
"name": "data",
"type": 10,
"typeName": "Vec<u8>"
},
{
"name": "provider",
"type": 0,
"typeName": "AccountId"
},
{
"name": "deposit",
"type": 6,
"typeName": "Balance"
},
{
"name": "since",
"type": 4,
"typeName": "BlockNumber"
},
{
"name": "expiry",
"type": 141,
"typeName": "Option<BlockNumber>",
"docs": [
"None if it\\'s not imminent."
]
}
],
"docs": [
"The preimage is available."
]
}
]
}
}
},
{
"path": [
"pallet_democracy",
"types",
"ReferendumInfo"
],
"params": [
4,
9,
6
],
"def": {
"variant": {
"variants": [
{
"name": "Ongoing",
"fields": [
{
"type": 329,
"typeName": "ReferendumStatus<BlockNumber, Hash, Balance>"
}
],
"docs": [
"Referendum is happening, the arg is the block number at which it will end."
]
},
{
"name": "Finished",
"fields": [
{
"name": "approved",
"type": 57,
"typeName": "bool"
},
{
"name": "end",
"type": 4,
"typeName": "BlockNumber"
}
],
"docs": [
"Referendum finished at `end`, and has been `approved` or rejected."
]
}
]
}
},
"docs": [
"Info regarding a referendum, present or past."
]
},
{
"path": [
"pallet_democracy",
"types",
"ReferendumStatus"
],
"params": [
4,
9,
6
],
"def": {
"composite": {
"fields": [
{
"name": "end",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"When voting on this referendum will end."
]
},
{
"name": "proposal_hash",
"type": 9,
"typeName": "Hash",
"docs": [
"The hash of the proposal being voted on."
]
},
{
"name": "threshold",
"type": 56,
"typeName": "VoteThreshold",
"docs": [
"The thresholding mechanism to determine whether it passed."
]
},
{
"name": "delay",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"The delay (in blocks) to wait after a successful referendum before deploying."
]
},
{
"name": "tally",
"type": 330,
"typeName": "Tally<Balance>",
"docs": [
"The current tally of votes in this referendum."
]
}
]
}
},
"docs": [
"Info regarding an ongoing referendum."
]
},
{
"path": [
"pallet_democracy",
"types",
"Tally"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "ayes",
"type": 6,
"typeName": "Balance",
"docs": [
"The number of aye votes, expressed in terms of post-conviction lock-vote."
]
},
{
"name": "nays",
"type": 6,
"typeName": "Balance",
"docs": [
"The number of nay votes, expressed in terms of post-conviction lock-vote."
]
},
{
"name": "turnout",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of funds currently expressing its opinion. Pre-conviction."
]
}
]
}
},
"docs": [
"Info regarding an ongoing referendum."
]
},
{
"path": [
"pallet_democracy",
"vote",
"Voting"
],
"params": [
6,
0,
4
],
"def": {
"variant": {
"variants": [
{
"name": "Direct",
"fields": [
{
"name": "votes",
"type": 332,
"typeName": "Vec<(ReferendumIndex, AccountVote<Balance>)>",
"docs": [
"The current votes of the account."
]
},
{
"name": "delegations",
"type": 334,
"typeName": "Delegations<Balance>",
"docs": [
"The total amount of delegations that this account has received."
]
},
{
"name": "prior",
"type": 335,
"typeName": "PriorLock<BlockNumber, Balance>",
"docs": [
"Any pre-existing locks from past voting/delegating activity."
]
}
],
"docs": [
"The account is voting directly. `delegations` is the total amount of post-conviction voting",
"weight that it controls from those that have delegated to it."
]
},
{
"name": "Delegating",
"fields": [
{
"name": "balance",
"type": 6,
"typeName": "Balance"
},
{
"name": "target",
"type": 0,
"typeName": "AccountId"
},
{
"name": "conviction",
"type": 170,
"typeName": "Conviction"
},
{
"name": "delegations",
"type": 334,
"typeName": "Delegations<Balance>",
"docs": [
"The total amount of delegations that this account has received."
]
},
{
"name": "prior",
"type": 335,
"typeName": "PriorLock<BlockNumber, Balance>",
"docs": [
"Any pre-existing locks from past voting/delegating activity."
]
}
],
"docs": [
"The account is delegating `balance` of its balance to a `target` account with `conviction`."
]
}
]
}
},
"docs": [
"An indicator for what an account is doing; it can either be delegating or voting."
]
},
{
"def": {
"sequence": {
"type": 333
}
}
},
{
"def": {
"tuple": [
4,
168
]
}
},
{
"path": [
"pallet_democracy",
"types",
"Delegations"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "votes",
"type": 6,
"typeName": "Balance",
"docs": [
"The number of votes (this is post-conviction)."
]
},
{
"name": "capital",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of raw capital, used for the turnout."
]
}
]
}
},
"docs": [
"Amount of votes and capital placed in delegation for an account."
]
},
{
"path": [
"pallet_democracy",
"vote",
"PriorLock"
],
"params": [
4,
6
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "BlockNumber"
},
{
"type": 6,
"typeName": "Balance"
}
]
}
},
"docs": [
"A \\\"prior\\\" lock, i.e. a lock for some now-forgotten reason."
]
},
{
"def": {
"tuple": [
9,
56
]
}
},
{
"def": {
"tuple": [
4,
55
]
}
},
{
"path": [
"pallet_democracy",
"Releases"
],
"def": {
"variant": {
"variants": [
{
"name": "V1",
"discriminant": 0
}
]
}
}
},
{
"path": [
"pallet_democracy",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "ValueLow",
"docs": [
"Value too low"
]
},
{
"name": "ProposalMissing",
"docs": [
"Proposal does not exist"
]
},
{
"name": "BadIndex",
"docs": [
"Unknown index"
]
},
{
"name": "AlreadyCanceled",
"docs": [
"Cannot cancel the same proposal twice"
]
},
{
"name": "DuplicateProposal",
"docs": [
"Proposal already made"
]
},
{
"name": "ProposalBlacklisted",
"docs": [
"Proposal still blacklisted"
]
},
{
"name": "NotSimpleMajority",
"docs": [
"Next external proposal not simple majority"
]
},
{
"name": "InvalidHash",
"docs": [
"Invalid hash"
]
},
{
"name": "NoProposal",
"docs": [
"No external proposal"
]
},
{
"name": "AlreadyVetoed",
"docs": [
"Identity may not veto a proposal twice"
]
},
{
"name": "NotDelegated",
"docs": [
"Not delegated"
]
},
{
"name": "DuplicatePreimage",
"docs": [
"Preimage already noted"
]
},
{
"name": "NotImminent",
"docs": [
"Not imminent"
]
},
{
"name": "TooEarly",
"docs": [
"Too early"
]
},
{
"name": "Imminent",
"docs": [
"Imminent"
]
},
{
"name": "PreimageMissing",
"docs": [
"Preimage not found"
]
},
{
"name": "ReferendumInvalid",
"docs": [
"Vote given for invalid referendum"
]
},
{
"name": "PreimageInvalid",
"docs": [
"Invalid preimage"
]
},
{
"name": "NoneWaiting",
"docs": [
"No proposals waiting"
]
},
{
"name": "NotLocked",
"docs": [
"The target account does not have a lock."
]
},
{
"name": "NotExpired",
"docs": [
"The lock on the account to be unlocked has not yet expired."
]
},
{
"name": "NotVoter",
"docs": [
"The given account did not vote on the referendum."
]
},
{
"name": "NoPermission",
"docs": [
"The actor has no permission to conduct the action."
]
},
{
"name": "AlreadyDelegating",
"docs": [
"The account is already delegating."
]
},
{
"name": "InsufficientFunds",
"docs": [
"Too high a balance was provided that the account cannot afford."
]
},
{
"name": "NotDelegating",
"docs": [
"The account is not currently delegating."
]
},
{
"name": "VotesExist",
"docs": [
"The account currently has votes attached to it and the operation cannot succeed until",
"these are removed, either through `unvote` or `reap_vote`."
]
},
{
"name": "InstantNotAllowed",
"docs": [
"The instant referendum origin is currently disallowed."
]
},
{
"name": "Nonsense",
"docs": [
"Delegation to oneself makes no sense."
]
},
{
"name": "WrongUpperBound",
"docs": [
"Invalid upper bound."
]
},
{
"name": "MaxVotesReached",
"docs": [
"Maximum number of votes reached."
]
},
{
"name": "InvalidWitness",
"docs": [
"The provided witness data is wrong."
]
},
{
"name": "TooManyProposals",
"docs": [
"Maximum number of proposals reached."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"frame_support",
"storage",
"bounded_vec",
"BoundedVec"
],
"params": [
9,
341
],
"def": {
"composite": {
"fields": [
{
"type": 87,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"As the name suggests, the length of the queue is always bounded. All internal operations ensure",
"this bound is respected."
]
},
{
"path": [
"polkadot_runtime",
"CouncilMaxProposals"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
}
},
{
"path": [
"pallet_collective",
"Votes"
],
"params": [
0,
4
],
"def": {
"composite": {
"fields": [
{
"name": "index",
"type": 4,
"typeName": "ProposalIndex",
"docs": [
"The proposal\\'s unique index."
]
},
{
"name": "threshold",
"type": 4,
"typeName": "MemberCount",
"docs": [
"The number of approval votes that are needed to pass the motion."
]
},
{
"name": "ayes",
"type": 55,
"typeName": "Vec<AccountId>",
"docs": [
"The current set of voters that approved it."
]
},
{
"name": "nays",
"type": 55,
"typeName": "Vec<AccountId>",
"docs": [
"The current set of voters that rejected it."
]
},
{
"name": "end",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"The hard end time of this vote."
]
}
]
}
},
"docs": [
"Info for keeping track of a motion being voted on."
]
},
{
"path": [
"pallet_collective",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T, I)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "NotMember",
"docs": [
"r\" Account is not a member"
]
},
{
"name": "DuplicateProposal",
"docs": [
"r\" Duplicate proposals not allowed"
]
},
{
"name": "ProposalMissing",
"docs": [
"r\" Proposal must exist"
]
},
{
"name": "WrongIndex",
"docs": [
"r\" Mismatched index"
]
},
{
"name": "DuplicateVote",
"docs": [
"r\" Duplicate vote ignored"
]
},
{
"name": "AlreadyInitialized",
"docs": [
"r\" Members are already initialized!"
]
},
{
"name": "TooEarly",
"docs": [
"r\" The close call was made too early, before the end of the voting."
]
},
{
"name": "TooManyProposals",
"docs": [
"r\" There can only be a maximum of `MaxProposals` active proposals."
]
},
{
"name": "WrongProposalWeight",
"docs": [
"r\" The given weight bound for the proposal was too low."
]
},
{
"name": "WrongProposalLength",
"docs": [
"r\" The given length bound for the proposal was too low."
]
}
]
}
}
},
{
"path": [
"frame_support",
"storage",
"bounded_vec",
"BoundedVec"
],
"params": [
9,
345
],
"def": {
"composite": {
"fields": [
{
"type": 87,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"As the name suggests, the length of the queue is always bounded. All internal operations ensure",
"this bound is respected."
]
},
{
"path": [
"polkadot_runtime",
"TechnicalMaxProposals"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
}
},
{
"path": [
"pallet_collective",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T, I)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "NotMember",
"docs": [
"r\" Account is not a member"
]
},
{
"name": "DuplicateProposal",
"docs": [
"r\" Duplicate proposals not allowed"
]
},
{
"name": "ProposalMissing",
"docs": [
"r\" Proposal must exist"
]
},
{
"name": "WrongIndex",
"docs": [
"r\" Mismatched index"
]
},
{
"name": "DuplicateVote",
"docs": [
"r\" Duplicate vote ignored"
]
},
{
"name": "AlreadyInitialized",
"docs": [
"r\" Members are already initialized!"
]
},
{
"name": "TooEarly",
"docs": [
"r\" The close call was made too early, before the end of the voting."
]
},
{
"name": "TooManyProposals",
"docs": [
"r\" There can only be a maximum of `MaxProposals` active proposals."
]
},
{
"name": "WrongProposalWeight",
"docs": [
"r\" The given weight bound for the proposal was too low."
]
},
{
"name": "WrongProposalLength",
"docs": [
"r\" The given length bound for the proposal was too low."
]
}
]
}
}
},
{
"def": {
"sequence": {
"type": 348
}
}
},
{
"path": [
"pallet_elections_phragmen",
"SeatHolder"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "who",
"type": 0,
"typeName": "AccountId",
"docs": [
"The holder."
]
},
{
"name": "stake",
"type": 6,
"typeName": "Balance",
"docs": [
"The total backing stake."
]
},
{
"name": "deposit",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of deposit held on-chain.",
"",
"To be unreserved upon renouncing, or slashed upon being a loser."
]
}
]
}
},
"docs": [
"A holder of a seat as either a member or a runner-up."
]
},
{
"path": [
"pallet_elections_phragmen",
"Voter"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "votes",
"type": 55,
"typeName": "Vec<AccountId>",
"docs": [
"The members being backed."
]
},
{
"name": "stake",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of stake placed on this vote."
]
},
{
"name": "deposit",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount of deposit reserved for this vote.",
"",
"To be unreserved upon removal."
]
}
]
}
},
"docs": [
"An active voter."
]
},
{
"path": [
"pallet_elections_phragmen",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "UnableToVote",
"docs": [
"Cannot vote when no candidates or members exist."
]
},
{
"name": "NoVotes",
"docs": [
"Must vote for at least one candidate."
]
},
{
"name": "TooManyVotes",
"docs": [
"Cannot vote more than candidates."
]
},
{
"name": "MaximumVotesExceeded",
"docs": [
"Cannot vote more than maximum allowed."
]
},
{
"name": "LowBalance",
"docs": [
"Cannot vote with stake less than minimum balance."
]
},
{
"name": "UnableToPayBond",
"docs": [
"Voter can not pay voting bond."
]
},
{
"name": "MustBeVoter",
"docs": [
"Must be a voter."
]
},
{
"name": "ReportSelf",
"docs": [
"Cannot report self."
]
},
{
"name": "DuplicatedCandidate",
"docs": [
"Duplicated candidate submission."
]
},
{
"name": "MemberSubmit",
"docs": [
"Member cannot re-submit candidacy."
]
},
{
"name": "RunnerUpSubmit",
"docs": [
"Runner cannot re-submit candidacy."
]
},
{
"name": "InsufficientCandidateFunds",
"docs": [
"Candidate does not have enough funds."
]
},
{
"name": "NotMember",
"docs": [
"Not a member."
]
},
{
"name": "InvalidWitnessData",
"docs": [
"The provided count of number of candidates is incorrect."
]
},
{
"name": "InvalidVoteCount",
"docs": [
"The provided count of number of votes is incorrect."
]
},
{
"name": "InvalidRenouncing",
"docs": [
"The renouncing origin presented a wrong `Renouncing` parameter."
]
},
{
"name": "InvalidReplacement",
"docs": [
"Prediction regarding replacement after member removal is wrong."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_membership",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T, I)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "AlreadyMember",
"docs": [
"r\" Already a member."
]
},
{
"name": "NotMember",
"docs": [
"r\" Not a member."
]
}
]
}
},
"docs": [
"r\" Error for the nicks module."
]
},
{
"path": [
"pallet_treasury",
"Proposal"
],
"params": [
0,
6
],
"def": {
"composite": {
"fields": [
{
"name": "proposer",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account proposing it."
]
},
{
"name": "value",
"type": 6,
"typeName": "Balance",
"docs": [
"The (total) amount that should be paid if the proposal is accepted."
]
},
{
"name": "beneficiary",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account to whom the payment should be made if the proposal is accepted."
]
},
{
"name": "bond",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount held on deposit (reserved) for making this proposal."
]
}
]
}
},
"docs": [
"A spending proposal."
]
},
{
"path": [
"frame_support",
"storage",
"bounded_vec",
"BoundedVec"
],
"params": [
4,
354
],
"def": {
"composite": {
"fields": [
{
"type": 140,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"As the name suggests, the length of the queue is always bounded. All internal operations ensure",
"this bound is respected."
]
},
{
"path": [
"polkadot_runtime",
"MaxApprovals"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
}
},
{
"path": [
"sp_arithmetic",
"per_things",
"Permill"
],
"def": {
"composite": {
"fields": [
{
"type": 4,
"typeName": "u32"
}
]
}
},
"docs": [
"A fixed point representation of a number in the range [0, 1].",
"",
"\"_Parts per Million_"
]
},
{
"path": [
"frame_support",
"PalletId"
],
"def": {
"composite": {
"fields": [
{
"type": 108,
"typeName": "[u8; 8]"
}
]
}
},
"docs": [
"A pallet identifier. These are per pallet and should be stored in a registry somewhere."
]
},
{
"path": [
"pallet_treasury",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T, I)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "InsufficientProposersBalance",
"docs": [
"r\" Proposer's balance is too low."
]
},
{
"name": "InvalidIndex",
"docs": [
"r\" No proposal or bounty at that index."
]
},
{
"name": "TooManyApprovals",
"docs": [
"r\" Too many approvals in the queue."
]
}
]
}
},
"docs": [
"r\" Error for the treasury module."
]
},
{
"path": [
"polkadot_runtime_common",
"claims",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "InvalidEthereumSignature",
"docs": [
"Invalid Ethereum signature."
]
},
{
"name": "SignerHasNoClaim",
"docs": [
"Ethereum address has no claim."
]
},
{
"name": "SenderHasNoClaim",
"docs": [
"Account ID sending tx has no claim."
]
},
{
"name": "PotUnderflow",
"docs": [
"There\\'s not enough in the pot to pay out some unvested amount. Generally implies a logic",
"error."
]
},
{
"name": "InvalidStatement",
"docs": [
"A needed statement was not included."
]
},
{
"name": "VestedBalanceExists",
"docs": [
"The account already has a vested balance."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_vesting",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "NotVesting",
"docs": [
"The account given is not vesting."
]
},
{
"name": "ExistingVestingSchedule",
"docs": [
"An existing vesting schedule already exists for this account that cannot be clobbered."
]
},
{
"name": "AmountLow",
"docs": [
"Amount being transferred is too low to create a vesting schedule."
]
}
]
}
},
"docs": [
"Error for the vesting pallet."
]
},
{
"path": [
"pallet_identity",
"Registration"
],
"params": [
6
],
"def": {
"composite": {
"fields": [
{
"name": "judgements",
"type": 361,
"typeName": "Vec<(RegistrarIndex, Judgement<Balance>)>",
"docs": [
"Judgements from the registrars on this identity. Stored ordered by `RegistrarIndex`. There",
"may be only a single judgement from each registrar."
]
},
{
"name": "deposit",
"type": 6,
"typeName": "Balance",
"docs": [
"Amount held on deposit for this information."
]
},
{
"name": "info",
"type": 190,
"typeName": "IdentityInfo",
"docs": [
"Information on the identity."
]
}
]
}
},
"docs": [
"Information concerning the identity of the controller of an account.",
"",
"NOTE: This is stored separately primarily to facilitate the addition of extra fields in a",
"backwards compatible way through a specialized `Decode` impl."
]
},
{
"def": {
"sequence": {
"type": 362
}
}
},
{
"def": {
"tuple": [
4,
198
]
}
},
{
"def": {
"tuple": [
6,
55
]
}
},
{
"def": {
"sequence": {
"type": 365
}
}
},
{
"path": [
"Option"
],
"params": [
366
],
"def": {
"variant": {
"variants": [
{
"name": "None"
},
{
"name": "Some",
"fields": [
{
"type": 366
}
]
}
]
}
}
},
{
"path": [
"pallet_identity",
"RegistrarInfo"
],
"params": [
6,
0
],
"def": {
"composite": {
"fields": [
{
"name": "account",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account of the registrar."
]
},
{
"name": "fee",
"type": 6,
"typeName": "Balance",
"docs": [
"Amount required to be given to the registrar for them to provide judgement."
]
},
{
"name": "fields",
"type": 197,
"typeName": "IdentityFields",
"docs": [
"Relevant fields for this registrar. Registrar judgements are limited to attestations on",
"these fields."
]
}
]
}
},
"docs": [
"Information concerning a registrar."
]
},
{
"path": [
"pallet_identity",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "TooManySubAccounts",
"docs": [
"Too many subs-accounts."
]
},
{
"name": "NotFound",
"docs": [
"Account isn\\'t found."
]
},
{
"name": "NotNamed",
"docs": [
"Account isn\\'t named."
]
},
{
"name": "EmptyIndex",
"docs": [
"Empty index."
]
},
{
"name": "FeeChanged",
"docs": [
"Fee is changed."
]
},
{
"name": "NoIdentity",
"docs": [
"No identity found."
]
},
{
"name": "StickyJudgement",
"docs": [
"Sticky judgement."
]
},
{
"name": "JudgementGiven",
"docs": [
"Judgement given."
]
},
{
"name": "InvalidJudgement",
"docs": [
"Invalid judgement."
]
},
{
"name": "InvalidIndex",
"docs": [
"The index is invalid."
]
},
{
"name": "InvalidTarget",
"docs": [
"The target is invalid."
]
},
{
"name": "TooManyFields",
"docs": [
"Too many additional fields."
]
},
{
"name": "TooManyRegistrars",
"docs": [
"Maximum amount of registrars reached. Cannot add any more."
]
},
{
"name": "AlreadyClaimed",
"docs": [
"Account ID is already named."
]
},
{
"name": "NotSub",
"docs": [
"Sender is not a sub-account."
]
},
{
"name": "NotOwned",
"docs": [
"Sub-account isn\\'t owned by sender."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"def": {
"tuple": [
369,
6
]
}
},
{
"path": [
"frame_support",
"storage",
"bounded_vec",
"BoundedVec"
],
"params": [
370,
371
],
"def": {
"composite": {
"fields": [
{
"type": 372,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"As the name suggests, the length of the queue is always bounded. All internal operations ensure",
"this bound is respected."
]
},
{
"path": [
"pallet_proxy",
"ProxyDefinition"
],
"params": [
0,
77,
4
],
"def": {
"composite": {
"fields": [
{
"name": "delegate",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account which may act on behalf of another."
]
},
{
"name": "proxy_type",
"type": 77,
"typeName": "ProxyType",
"docs": [
"A value defining the subset of calls that it is allowed to make."
]
},
{
"name": "delay",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"The number of blocks that an announcement must be in place for before the corresponding call",
"may be dispatched. If zero, then no announcement is needed."
]
}
]
}
},
"docs": [
"The parameters under which a particular account has a proxy relationship with some other",
"account."
]
},
{
"path": [
"polkadot_runtime",
"MaxProxies"
],
"def": {
"composite": {
"fields": [
{
"type": 78,
"typeName": "u16"
}
]
}
}
},
{
"def": {
"sequence": {
"type": 370
}
}
},
{
"def": {
"tuple": [
374,
6
]
}
},
{
"path": [
"frame_support",
"storage",
"bounded_vec",
"BoundedVec"
],
"params": [
375,
376
],
"def": {
"composite": {
"fields": [
{
"type": 377,
"typeName": "Vec<T>"
},
{
"type": 67,
"typeName": "PhantomData<S>"
}
]
}
},
"docs": [
"A bounded vector.",
"",
"It has implementations for efficient append and length decoding, as with a normal `Vec<_>`, once",
"put into storage as a raw value, map or double-map.",
"",
"As the name suggests, the length of the queue is always bounded. All internal operations ensure",
"this bound is respected."
]
},
{
"path": [
"pallet_proxy",
"Announcement"
],
"params": [
0,
9,
4
],
"def": {
"composite": {
"fields": [
{
"name": "real",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account which made the announcement."
]
},
{
"name": "call_hash",
"type": 9,
"typeName": "Hash",
"docs": [
"The hash of the call to be made."
]
},
{
"name": "height",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"The height at which the announcement was made."
]
}
]
}
},
"docs": [
"Details surrounding a specific instance of an announcement to make a call."
]
},
{
"path": [
"polkadot_runtime",
"MaxPending"
],
"def": {
"composite": {
"fields": [
{
"type": 78,
"typeName": "u16"
}
]
}
}
},
{
"def": {
"sequence": {
"type": 375
}
}
},
{
"path": [
"pallet_proxy",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "TooMany",
"docs": [
"There are too many proxies registered or too many announcements pending."
]
},
{
"name": "NotFound",
"docs": [
"Proxy registration not found."
]
},
{
"name": "NotProxy",
"docs": [
"Sender is not a proxy of the account to be proxied."
]
},
{
"name": "Unproxyable",
"docs": [
"A call which is incompatible with the proxy type\\'s filter was attempted."
]
},
{
"name": "Duplicate",
"docs": [
"Account is already a proxy."
]
},
{
"name": "NoPermission",
"docs": [
"Call may not be made by proxy because it may escalate its privileges."
]
},
{
"name": "Unannounced",
"docs": [
"Announcement, if made at all, was made too recently."
]
},
{
"name": "NoSelfProxy",
"docs": [
"Cannot add self as proxy."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_multisig",
"Multisig"
],
"params": [
4,
6,
0
],
"def": {
"composite": {
"fields": [
{
"name": "when",
"type": 80,
"typeName": "Timepoint<BlockNumber>",
"docs": [
"The extrinsic when the multisig operation was opened."
]
},
{
"name": "deposit",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount held in reserve of the `depositor`, to be returned once the operation ends."
]
},
{
"name": "depositor",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account who opened it (i.e. the first to approve it)."
]
},
{
"name": "approvals",
"type": 55,
"typeName": "Vec<AccountId>",
"docs": [
"The approvals achieved so far, including the depositor. Always sorted."
]
}
]
}
},
"docs": [
"An open multisig operation."
]
},
{
"def": {
"tuple": [
10,
0,
6
]
}
},
{
"path": [
"pallet_multisig",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "MinimumThreshold",
"docs": [
"Threshold must be 2 or greater."
]
},
{
"name": "AlreadyApproved",
"docs": [
"Call is already approved by this signatory."
]
},
{
"name": "NoApprovalsNeeded",
"docs": [
"Call doesn\\'t need any (more) approvals."
]
},
{
"name": "TooFewSignatories",
"docs": [
"There are too few signatories in the list."
]
},
{
"name": "TooManySignatories",
"docs": [
"There are too many signatories in the list."
]
},
{
"name": "SignatoriesOutOfOrder",
"docs": [
"The signatories were provided out of order; they should be ordered."
]
},
{
"name": "SenderInSignatories",
"docs": [
"The sender was contained in the other signatories; it shouldn\\'t be."
]
},
{
"name": "NotFound",
"docs": [
"Multisig operation not found when attempting to cancel."
]
},
{
"name": "NotOwner",
"docs": [
"Only the account that originally created the multisig is able to cancel it."
]
},
{
"name": "NoTimepoint",
"docs": [
"No timepoint was given, yet the multisig operation is already underway."
]
},
{
"name": "WrongTimepoint",
"docs": [
"A different timepoint was given to the multisig operation that is underway."
]
},
{
"name": "UnexpectedTimepoint",
"docs": [
"A timepoint was given, yet no multisig operation is underway."
]
},
{
"name": "MaxWeightTooLow",
"docs": [
"The maximum weight information provided was too low."
]
},
{
"name": "AlreadyStored",
"docs": [
"The data to be stored is already stored."
]
}
]
}
},
"docs": [
"r\"\n\t\t\tCustom [dispatch errors](https://substrate.dev/docs/en/knowledgebase/runtime/errors)\n\t\t\tof this pallet.\n\t\t\t"
]
},
{
"path": [
"pallet_bounties",
"Bounty"
],
"params": [
0,
6,
4
],
"def": {
"composite": {
"fields": [
{
"name": "proposer",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account proposing it."
]
},
{
"name": "value",
"type": 6,
"typeName": "Balance",
"docs": [
"The (total) amount that should be paid if the bounty is rewarded."
]
},
{
"name": "fee",
"type": 6,
"typeName": "Balance",
"docs": [
"The curator fee. Included in value."
]
},
{
"name": "curator_deposit",
"type": 6,
"typeName": "Balance",
"docs": [
"The deposit of curator."
]
},
{
"name": "bond",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount held on deposit (reserved) for making this proposal."
]
},
{
"name": "status",
"type": 383,
"typeName": "BountyStatus<AccountId, BlockNumber>",
"docs": [
"The status of this bounty."
]
}
]
}
},
"docs": [
"A bounty proposal."
]
},
{
"path": [
"pallet_bounties",
"BountyStatus"
],
"params": [
0,
4
],
"def": {
"variant": {
"variants": [
{
"name": "Proposed",
"docs": [
"The bounty is proposed and waiting for approval."
]
},
{
"name": "Approved",
"docs": [
"The bounty is approved and waiting to become active at next spend period."
]
},
{
"name": "Funded",
"docs": [
"The bounty is funded and waiting for curator assignment."
]
},
{
"name": "CuratorProposed",
"fields": [
{
"name": "curator",
"type": 0,
"typeName": "AccountId",
"docs": [
"The assigned curator of this bounty."
]
}
],
"docs": [
"A curator has been proposed by the `ApproveOrigin`. Waiting for acceptance from the curator."
]
},
{
"name": "Active",
"fields": [
{
"name": "curator",
"type": 0,
"typeName": "AccountId",
"docs": [
"The curator of this bounty."
]
},
{
"name": "update_due",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"An update from the curator is due by this block, else they are considered inactive."
]
}
],
"docs": [
"The bounty is active and waiting to be awarded."
]
},
{
"name": "PendingPayout",
"fields": [
{
"name": "curator",
"type": 0,
"typeName": "AccountId",
"docs": [
"The curator of this bounty."
]
},
{
"name": "beneficiary",
"type": 0,
"typeName": "AccountId",
"docs": [
"The beneficiary of the bounty."
]
},
{
"name": "unlock_at",
"type": 4,
"typeName": "BlockNumber",
"docs": [
"When the bounty can be claimed."
]
}
],
"docs": [
"The bounty is awarded and waiting to released after a delay."
]
}
]
}
},
"docs": [
"The status of a bounty proposal."
]
},
{
"path": [
"pallet_bounties",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T,)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "InsufficientProposersBalance",
"docs": [
"r\" Proposer's balance is too low."
]
},
{
"name": "InvalidIndex",
"docs": [
"r\" No proposal or bounty at that index."
]
},
{
"name": "ReasonTooBig",
"docs": [
"r\" The reason given is just too big."
]
},
{
"name": "UnexpectedStatus",
"docs": [
"r\" The bounty status is unexpected."
]
},
{
"name": "RequireCurator",
"docs": [
"r\" Require bounty curator."
]
},
{
"name": "InvalidValue",
"docs": [
"r\" Invalid bounty value."
]
},
{
"name": "InvalidFee",
"docs": [
"r\" Invalid bounty fee."
]
},
{
"name": "PendingPayout",
"docs": [
"r\" A bounty payout is pending.",
"r\" To cancel the bounty, you must unassign and slash the curator."
]
},
{
"name": "Premature",
"docs": [
"r\" The bounties cannot be claimed/closed because it's still in the countdown period."
]
}
]
}
},
"docs": [
"r\" Error for the treasury module."
]
},
{
"path": [
"pallet_tips",
"OpenTip"
],
"params": [
0,
6,
4,
9
],
"def": {
"composite": {
"fields": [
{
"name": "reason",
"type": 9,
"typeName": "Hash",
"docs": [
"The hash of the reason for the tip. The reason should be a human-readable UTF-8 encoded string. A URL would be",
"sensible."
]
},
{
"name": "who",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account to be tipped."
]
},
{
"name": "finder",
"type": 0,
"typeName": "AccountId",
"docs": [
"The account who began this tip."
]
},
{
"name": "deposit",
"type": 6,
"typeName": "Balance",
"docs": [
"The amount held on deposit for this tip."
]
},
{
"name": "closes",
"type": 141,
"typeName": "Option<BlockNumber>",
"docs": [
"The block number at which this tip will close if `Some`. If `None`, then no closing is",
"scheduled."
]
},
{
"name": "tips",
"type": 63,
"typeName": "Vec<(AccountId, Balance)>",
"docs": [
"The members who have voted for this tip. Sorted by AccountId."
]
},
{
"name": "finders_fee",
"type": 57,
"typeName": "bool",
"docs": [
"Whether this tip should result in the finder taking a fee."
]
}
]
}
},
"docs": [
"An open tipping \\\"motion\\\". Retains all details of a tip including information on the finder",
"and the members who have voted."
]
},
{
"path": [
"pallet_tips",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "$crate::sp_std::marker::PhantomData<(T,)>"
},
{
"type": 110,
"typeName": "$crate::Never"
}
]
},
{
"name": "ReasonTooBig",
"docs": [
"r\" The reason given is just too big."
]
},
{
"name": "AlreadyKnown",
"docs": [
"r\" The tip was already found/started."
]
},
{
"name": "UnknownTip",
"docs": [
"r\" The tip hash is unknown."
]
},
{
"name": "NotFinder",
"docs": [
"r\" The account attempting to retract the tip is not the finder of the tip."
]
},
{
"name": "StillOpen",
"docs": [
"r\" The tip cannot be claimed/closed because there are not enough tippers yet."
]
},
{
"name": "Premature",
"docs": [
"r\" The tip cannot be claimed/closed because it's still in the countdown period."
]
}
]
}
},
"docs": [
"r\" Error for the tips module."
]
},
{
"path": [
"pallet_election_provider_multi_phase",
"Phase"
],
"params": [
4
],
"def": {
"variant": {
"variants": [
{
"name": "Off",
"docs": [
"Nothing, the election is not happening."
]
},
{
"name": "Signed",
"docs": [
"Signed phase is open."
]
},
{
"name": "Unsigned",
"fields": [
{
"type": 388,
"typeName": "(bool, Bn)"
}
],
"docs": [
"Unsigned phase. First element is whether it is active or not, second the starting block",
"number.",
"",
"We do not yet check whether the unsigned phase is active or passive. The intent is for the",
"blockchain to be able to declare: \\\"I believe that there exists an adequate signed solution,\\",
"advising validators not to bother running the unsigned offchain worker.",
"",
"As validator nodes are free to edit their OCW code, they could simply ignore this advisory",
"and always compute their own solution. However, by default, when the unsigned phase is",
"passive, the offchain workers will not bother running."
]
},
{
"name": "Emergency",
"docs": [
"The emergency phase. This is enabled upon a failing call to `T::ElectionProvider::elect`.",
"After that, the only way to leave this phase is through a successful",
"`T::ElectionProvider::elect`."
]
}
]
}
},
"docs": [
"Current phase of the pallet."
]
},
{
"def": {
"tuple": [
57,
4
]
}
},
{
"path": [
"pallet_election_provider_multi_phase",
"RoundSnapshot"
],
"params": [
0
],
"def": {
"composite": {
"fields": [
{
"name": "voters",
"type": 390,
"typeName": "Vec<(A, VoteWeight, Vec<A>)>",
"docs": [
"All of the voters."
]
},
{
"name": "targets",
"type": 55,
"typeName": "Vec<A>",
"docs": [
"All of the targets."
]
}
]
}
},
"docs": [
"A snapshot of all the data that is needed for en entire round. They are provided by",
"[`ElectionDataProvider`] and are kept around until the round is finished.",
"",
"These are stored together because they are often accessed together."
]
},
{
"def": {
"sequence": {
"type": 391
}
}
},
{
"def": {
"tuple": [
0,
8,
55
]
}
},
{
"path": [
"pallet_election_provider_multi_phase",
"pallet",
"Error"
],
"def": {
"variant": {
"variants": [
{
"name": "__Ignore",
"fields": [
{
"type": 67,
"typeName": "frame_support::sp_std::marker::PhantomData<(T)>"
},
{
"type": 110,
"typeName": "frame_support::Never"
}
]
},
{
"name": "PreDispatchEarlySubmission",
"docs": [
"Submission was too early."
]
},
{
"name": "PreDispatchWrongWinnerCount",
"docs": [
"Wrong number of winners presented."
]
},
{
"name": "PreDispatchWeakSubmission",
"docs": [
"Submission was too weak, score-wise."
]
},
{
"name": "OcwCallWrongEra",
"docs": [
"OCW submitted solution for wrong round"
]
},
{
"name": "CallNotAllowed",
"docs": [
"The call is not allowed at this point."
]
}
]
}
},
"docs": [
"Error of the pallet that can be returned in response to dispatches."
]
},
{
"path": [
"frame_system",
"extensions",
"check_spec_version",
"CheckSpecVersion"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<T>"
}
]
}
},
"docs": [
"Ensure the runtime version registered in the transaction is the same as at present."
]
},
{
"path": [
"polkadot_runtime",
"Runtime"
],
"def": {
"composite": {}
}
},
{
"path": [
"frame_system",
"extensions",
"check_tx_version",
"CheckTxVersion"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<T>"
}
]
}
},
"docs": [
"Ensure the transaction version registered in the transaction is the same as at present."
]
},
{
"path": [
"frame_system",
"extensions",
"check_genesis",
"CheckGenesis"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<T>"
}
]
}
},
"docs": [
"Genesis hash check to provide replay protection between different networks."
]
},
{
"path": [
"frame_system",
"extensions",
"check_mortality",
"CheckMortality"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 398,
"typeName": "Era"
},
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<T>"
}
]
}
},
"docs": [
"Check for transaction mortality."
]
},
{
"path": [
"sp_runtime",
"generic",
"era",
"Era"
],
"def": {
"variant": {
"variants": [
{
"name": "Immortal",
"docs": [
"The transaction is valid forever. The genesis hash must be present in the signed content."
]
},
{
"name": "Mortal",
"fields": [
{
"type": 8,
"typeName": "Period"
},
{
"type": 8,
"typeName": "Phase"
}
],
"docs": [
"Period and phase are encoded:",
"- The period of validity from the block hash found in the signing material.",
"- The phase in the period that this transaction\\'s lifetime begins (and, importantly,",
"implies which block hash is included in the signature material). If the `period` is",
"greater than 1 << 12, then it will be a factor of the times greater than 1<<12 that",
"`period` is.",
"",
"When used on `FRAME`-based runtimes, `period` cannot exceed `BlockHashCount` parameter",
"of `system` module."
]
}
]
}
},
"docs": [
"An era to describe the longevity of a transaction."
]
},
{
"path": [
"frame_system",
"extensions",
"check_nonce",
"CheckNonce"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 90,
"typeName": "T::Index"
}
]
}
},
"docs": [
"Nonce check and increment to give replay protection for transactions.",
"",
"Note that this does not set any priority by default. Make sure that AT LEAST one of the signed",
"extension sets some kind of priority upon validating transactions."
]
},
{
"path": [
"frame_system",
"extensions",
"check_weight",
"CheckWeight"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<T>"
}
]
}
},
"docs": [
"Block resource (weight) limit check."
]
},
{
"path": [
"pallet_transaction_payment",
"ChargeTransactionPayment"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 51,
"typeName": "BalanceOf<T>"
}
]
}
},
"docs": [
"Require the transactor pay for themselves and maybe include a tip to gain additional priority",
"in the queue."
]
},
{
"path": [
"polkadot_runtime_common",
"claims",
"PrevalidateAttests"
],
"params": [
394
],
"def": {
"composite": {
"fields": [
{
"type": 67,
"typeName": "sp_std::marker::PhantomData<T>"
}
]
}
},
"docs": [
"Validate `attest` calls prior to execution. Needed to avoid a DoS attack since they are",
"otherwise free to place on chain."
]
}
]
},
"pallets": [
{
"name": "System",
"storage": {
"prefix": "System",
"entries": [
{
"name": "Account",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 3,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The full account information for a particular account ID."
]
},
{
"name": "ExtrinsicCount",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" Total extrinsics count for the current block."
]
},
{
"name": "BlockWeight",
"modifier": "Default",
"ty": {
"Plain": 7
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The current weight for the block."
]
},
{
"name": "AllExtrinsicsLen",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" Total length (in bytes) for all extrinsics put together, for the current block."
]
},
{
"name": "BlockHash",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 9,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Map of block numbers to block hashes."
]
},
{
"name": "ExtrinsicData",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 10,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Extrinsics data for the current block (maps an extrinsic's index to its data)."
]
},
{
"name": "Number",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The current block number being processed. Set by `execute_block`."
]
},
{
"name": "ParentHash",
"modifier": "Default",
"ty": {
"Plain": 9
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Hash of the previous block."
]
},
{
"name": "Digest",
"modifier": "Default",
"ty": {
"Plain": 11
},
"default": [
0
],
"documentation": [
" Digest of the current block, also part of the block header."
]
},
{
"name": "Events",
"modifier": "Default",
"ty": {
"Plain": 18
},
"default": [
0
],
"documentation": [
" Events deposited for the current block."
]
},
{
"name": "EventCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The number of events in the `Events<T>` list."
]
},
{
"name": "EventTopics",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 9,
"value": 88,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Mapping between a topic (represented by T::Hash) and a vector of indexes",
" of events in the `<Events<T>>` list.",
"",
" All topic vectors have deterministic storage locations depending on the topic. This",
" allows light-clients to leverage the changes trie storage tracking mechanism and",
" in case of changes fetch the list of events of interest.",
"",
" The value has the type `(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."
]
},
{
"name": "LastRuntimeUpgrade",
"modifier": "Optional",
"ty": {
"Plain": 89
},
"default": [
0
],
"documentation": [
" Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."
]
},
{
"name": "UpgradedToU32RefCount",
"modifier": "Default",
"ty": {
"Plain": 57
},
"default": [
0
],
"documentation": [
" True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."
]
},
{
"name": "UpgradedToTripleRefCount",
"modifier": "Default",
"ty": {
"Plain": 57
},
"default": [
0
],
"documentation": [
" True if we have upgraded so that AccountInfo contains three types of `RefCount`. False",
" (default) if not."
]
},
{
"name": "ExecutionPhase",
"modifier": "Optional",
"ty": {
"Plain": 86
},
"default": [
0
],
"documentation": [
" The execution phase of the block."
]
}
]
},
"calls": {
"ty": 92,
"calls": [
{
"name": "fill_block",
"arguments": [
{
"name": "_ratio",
"ty": 93
}
],
"documentation": [
" A dispatch that will fill the block weight up to the given ratio.a"
]
},
{
"name": "remark",
"arguments": [
{
"name": "_remark",
"ty": 10
}
],
"documentation": [
" Make some on-chain remark.",
"",
" # <weight>",
" - `O(1)`",
" # </weight>"
]
},
{
"name": "set_heap_pages",
"arguments": [
{
"name": "pages",
"ty": 8
}
],
"documentation": [
" Set the number of pages in the WebAssembly environment's heap.",
"",
" # <weight>",
" - `O(1)`",
" - 1 storage write.",
" - Base Weight: 1.405 µs",
" - 1 write to HEAP_PAGES",
" # </weight>"
]
},
{
"name": "set_code",
"arguments": [
{
"name": "code",
"ty": 10
}
],
"documentation": [
" Set the new runtime code.",
"",
" # <weight>",
" - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`",
" - 1 storage write (codec `O(C)`).",
" - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).",
" - 1 event.",
" The weight of this function is dependent on the runtime, but generally this is very expensive.",
" We will treat this as a full block.",
" # </weight>"
]
},
{
"name": "set_code_without_checks",
"arguments": [
{
"name": "code",
"ty": 10
}
],
"documentation": [
" Set the new runtime code without doing any checks of the given `code`.",
"",
" # <weight>",
" - `O(C)` where `C` length of `code`",
" - 1 storage write (codec `O(C)`).",
" - 1 event.",
" The weight of this function is dependent on the runtime. We will treat this as a full block.",
" # </weight>"
]
},
{
"name": "set_changes_trie_config",
"arguments": [
{
"name": "changes_trie_config",
"ty": 16
}
],
"documentation": [
" Set the new changes trie configuration.",
"",
" # <weight>",
" - `O(1)`",
" - 1 storage write or delete (codec `O(1)`).",
" - 1 call to `deposit_log`: Uses `append` API, so O(1)",
" - Base Weight: 7.218 µs",
" - DB Weight:",
" - Writes: Changes Trie, System Digest",
" # </weight>"
]
},
{
"name": "set_storage",
"arguments": [
{
"name": "items",
"ty": 94
}
],
"documentation": [
" Set some items of storage.",
"",
" # <weight>",
" - `O(I)` where `I` length of `items`",
" - `I` storage writes (`O(1)`).",
" - Base Weight: 0.568 * i µs",
" - Writes: Number of items",
" # </weight>"
]
},
{
"name": "kill_storage",
"arguments": [
{
"name": "keys",
"ty": 96
}
],
"documentation": [
" Kill some items from storage.",
"",
" # <weight>",
" - `O(IK)` where `I` length of `keys` and `K` length of one key",
" - `I` storage deletions.",
" - Base Weight: .378 * i µs",
" - Writes: Number of items",
" # </weight>"
]
},
{
"name": "kill_prefix",
"arguments": [
{
"name": "prefix",
"ty": 10
},
{
"name": "_subkeys",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(P)` where `P` amount of keys with prefix `prefix`",
" - `P` storage deletions.",
" - Base Weight: 0.834 * P µs",
" - Writes: Number of subkeys + 1",
" # </weight>"
]
},
{
"name": "remark_with_event",
"arguments": [
{
"name": "remark",
"ty": 10
}
],
"documentation": [
" Make some on-chain remark and emit event.",
"",
" # <weight>",
" - `O(b)` where b is the length of the remark.",
" - 1 event.",
" # </weight>"
]
}
]
},
"event": {
"ty": 21
},
"constants": [
{
"name": "BlockWeights",
"ty": 97,
"value": [
0,
242,
5,
42,
1,
0,
0,
0,
0,
32,
74,
169,
209,
1,
0,
0,
64,
89,
115,
7,
0,
0,
0,
0,
1,
192,
118,
108,
143,
88,
1,
0,
0,
1,
0,
152,
247,
62,
93,
1,
0,
0,
1,
0,
0,
0,
0,
0,
0,
0,
0,
64,
89,
115,
7,
0,
0,
0,
0,
1,
192,
254,
190,
249,
204,
1,
0,
0,
1,
0,
32,
74,
169,
209,
1,
0,
0,
1,
0,
136,
82,
106,
116,
0,
0,
0,
64,
89,
115,
7,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Block & extrinsics weights: base values and limits."
]
},
{
"name": "BlockLength",
"ty": 101,
"value": [
0,
0,
60,
0,
0,
0,
80,
0,
0,
0,
80,
0
],
"documentation": [
" The maximum length of a block (in bytes)."
]
},
{
"name": "BlockHashCount",
"ty": 4,
"value": [
96,
9,
0,
0
],
"documentation": [
" Maximum number of block number to block hash mappings to keep (oldest pruned first)."
]
},
{
"name": "DbWeight",
"ty": 103,
"value": [
64,
120,
125,
1,
0,
0,
0,
0,
0,
225,
245,
5,
0,
0,
0,
0
],
"documentation": [
" The weight of runtime database operations the runtime can invoke."
]
},
{
"name": "Version",
"ty": 104,
"value": [
32,
112,
111,
108,
107,
97,
100,
111,
116,
60,
112,
97,
114,
105,
116,
121,
45,
112,
111,
108,
107,
97,
100,
111,
116,
0,
0,
0,
0,
91,
35,
0,
0,
0,
0,
0,
0,
56,
223,
106,
203,
104,
153,
7,
96,
155,
3,
0,
0,
0,
55,
227,
151,
252,
124,
145,
245,
228,
1,
0,
0,
0,
64,
254,
58,
212,
1,
248,
149,
154,
5,
0,
0,
0,
210,
188,
152,
151,
238,
208,
143,
21,
2,
0,
0,
0,
247,
139,
39,
139,
229,
63,
69,
76,
2,
0,
0,
0,
175,
44,
2,
151,
162,
62,
109,
61,
1,
0,
0,
0,
73,
234,
175,
27,
84,
138,
12,
176,
1,
0,
0,
0,
145,
213,
223,
24,
176,
210,
207,
88,
1,
0,
0,
0,
237,
153,
197,
172,
178,
94,
237,
245,
2,
0,
0,
0,
203,
202,
37,
227,
159,
20,
35,
135,
2,
0,
0,
0,
104,
122,
212,
74,
211,
127,
3,
194,
1,
0,
0,
0,
171,
60,
5,
114,
41,
31,
235,
139,
1,
0,
0,
0,
188,
157,
137,
144,
79,
91,
146,
63,
1,
0,
0,
0,
55,
200,
187,
19,
80,
169,
162,
168,
1,
0,
0,
0,
7,
0,
0,
0
],
"documentation": [
" Get the chain's current version."
]
},
{
"name": "SS58Prefix",
"ty": 78,
"value": [
0,
0
],
"documentation": [
" 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."
]
}
],
"error": {
"ty": 109
},
"index": 0
},
{
"name": "RandomnessCollectiveFlip",
"storage": {
"prefix": "RandomnessCollectiveFlip",
"entries": [
{
"name": "RandomMaterial",
"modifier": "Default",
"ty": {
"Plain": 87
},
"default": [
0
],
"documentation": [
" Series of block headers from the last 81 blocks that acts as random seed material. This",
" is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",
" the oldest hash."
]
}
]
},
"calls": null,
"event": null,
"constants": [],
"error": null,
"index": 31
},
{
"name": "Scheduler",
"storage": {
"prefix": "Scheduler",
"entries": [
{
"name": "Agenda",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 111,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Items to be executed, indexed by the block number that they should be executed on."
]
},
{
"name": "Lookup",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 10,
"value": 29,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Lookup from identity to the block number and index of the task."
]
},
{
"name": "StorageVersion",
"modifier": "Default",
"ty": {
"Plain": 268
},
"default": [
0
],
"documentation": [
" Storage version of the pallet.",
"",
" New networks start with last version."
]
}
]
},
"calls": {
"ty": 115,
"calls": [
{
"name": "schedule",
"arguments": [
{
"name": "when",
"ty": 4
},
{
"name": "maybe_periodic",
"ty": 116
},
{
"name": "priority",
"ty": 2
},
{
"name": "call",
"ty": 114
}
],
"documentation": [
" Anonymously schedule a task.",
"",
" # <weight>",
" - S = Number of already scheduled calls",
" - Base Weight: 22.29 + .126 * S µs",
" - DB Weight:",
" - Read: Agenda",
" - Write: Agenda",
" - Will use base weight of 25 which should be good for up to 30 scheduled calls",
" # </weight>"
]
},
{
"name": "cancel",
"arguments": [
{
"name": "when",
"ty": 4
},
{
"name": "index",
"ty": 4
}
],
"documentation": [
" Cancel an anonymously scheduled task.",
"",
" # <weight>",
" - S = Number of already scheduled calls",
" - Base Weight: 22.15 + 2.869 * S µs",
" - DB Weight:",
" - Read: Agenda",
" - Write: Agenda, Lookup",
" - Will use base weight of 100 which should be good for up to 30 scheduled calls",
" # </weight>"
]
},
{
"name": "schedule_named",
"arguments": [
{
"name": "id",
"ty": 10
},
{
"name": "when",
"ty": 4
},
{
"name": "maybe_periodic",
"ty": 116
},
{
"name": "priority",
"ty": 2
},
{
"name": "call",
"ty": 114
}
],
"documentation": [
" Schedule a named task.",
"",
" # <weight>",
" - S = Number of already scheduled calls",
" - Base Weight: 29.6 + .159 * S µs",
" - DB Weight:",
" - Read: Agenda, Lookup",
" - Write: Agenda, Lookup",
" - Will use base weight of 35 which should be good for more than 30 scheduled calls",
" # </weight>"
]
},
{
"name": "cancel_named",
"arguments": [
{
"name": "id",
"ty": 10
}
],
"documentation": [
" Cancel a named scheduled task.",
"",
" # <weight>",
" - S = Number of already scheduled calls",
" - Base Weight: 24.91 + 2.907 * S µs",
" - DB Weight:",
" - Read: Agenda, Lookup",
" - Write: Agenda, Lookup",
" - Will use base weight of 100 which should be good for up to 30 scheduled calls",
" # </weight>"
]
},
{
"name": "schedule_after",
"arguments": [
{
"name": "after",
"ty": 4
},
{
"name": "maybe_periodic",
"ty": 116
},
{
"name": "priority",
"ty": 2
},
{
"name": "call",
"ty": 114
}
],
"documentation": [
" Anonymously schedule a task after a delay.",
"",
" # <weight>",
" Same as [`schedule`].",
" # </weight>"
]
},
{
"name": "schedule_named_after",
"arguments": [
{
"name": "id",
"ty": 10
},
{
"name": "after",
"ty": 4
},
{
"name": "maybe_periodic",
"ty": 116
},
{
"name": "priority",
"ty": 2
},
{
"name": "call",
"ty": 114
}
],
"documentation": [
" Schedule a named task after a delay.",
"",
" # <weight>",
" Same as [`schedule_named`].",
" # </weight>"
]
}
]
},
"event": {
"ty": 28
},
"constants": [],
"error": {
"ty": 269
},
"index": 1
},
{
"name": "Babe",
"storage": {
"prefix": "Babe",
"entries": [
{
"name": "EpochIndex",
"modifier": "Default",
"ty": {
"Plain": 8
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Current epoch index."
]
},
{
"name": "Authorities",
"modifier": "Default",
"ty": {
"Plain": 270
},
"default": [
0
],
"documentation": [
" Current epoch authorities."
]
},
{
"name": "GenesisSlot",
"modifier": "Default",
"ty": {
"Plain": 121
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The slot at which the first epoch actually started. This is 0",
" until the first block of the chain."
]
},
{
"name": "CurrentSlot",
"modifier": "Default",
"ty": {
"Plain": 121
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Current slot number."
]
},
{
"name": "Randomness",
"modifier": "Default",
"ty": {
"Plain": 1
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" 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",
" (like everything else on-chain) it is public. For example, it can be",
" used where a number is needed that cannot have been chosen by an",
" adversary, for purposes such as public-coin zero-knowledge proofs."
]
},
{
"name": "PendingEpochConfigChange",
"modifier": "Optional",
"ty": {
"Plain": 123
},
"default": [
0
],
"documentation": [
" Pending epoch configuration change that will be applied when the next epoch is enacted."
]
},
{
"name": "NextRandomness",
"modifier": "Default",
"ty": {
"Plain": 1
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Next epoch randomness."
]
},
{
"name": "NextAuthorities",
"modifier": "Default",
"ty": {
"Plain": 270
},
"default": [
0
],
"documentation": [
" Next epoch authorities."
]
},
{
"name": "SegmentIndex",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "UnderConstruction",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 272,
"unused": false
}
},
"default": [
0
],
"documentation": [
" TWOX-NOTE: `SegmentIndex` is an increasing integer, so this is okay."
]
},
{
"name": "Initialized",
"modifier": "Optional",
"ty": {
"Plain": 273
},
"default": [
0
],
"documentation": [
" Temporary value (cleared at block finalization) which is `Some`",
" if per-block initialization has already been called for current block."
]
},
{
"name": "AuthorVrfRandomness",
"modifier": "Default",
"ty": {
"Plain": 273
},
"default": [
0
],
"documentation": [
" Temporary value (cleared at block finalization) that includes the VRF output generated",
" at this block. This field should always be populated during block processing unless",
" secondary plain slots are enabled (which don't contain a VRF output)."
]
},
{
"name": "EpochStart",
"modifier": "Default",
"ty": {
"Plain": 29
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The block numbers when the last and current epoch have started, respectively `N-1` and",
" `N`.",
" NOTE: We track this is in order to annotate the block number when a given pool of",
" entropy was fixed (i.e. it was known to chain observers). Since epochs are defined in",
" slots, which may be skipped, the block numbers may not line up with the slot numbers."
]
},
{
"name": "Lateness",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "EpochConfig",
"modifier": "Optional",
"ty": {
"Plain": 274
},
"default": [
0
],
"documentation": [
" The configuration for the current epoch. Should never be `None` as it is initialized in genesis."
]
},
{
"name": "NextEpochConfig",
"modifier": "Optional",
"ty": {
"Plain": 274
},
"default": [
0
],
"documentation": [
" The configuration for the next epoch, `None` if the config will not change",
" (you can fallback to `EpochConfig` instead in that case)."
]
}
]
},
"calls": {
"ty": 117,
"calls": [
{
"name": "report_equivocation",
"arguments": [
{
"name": "equivocation_proof",
"ty": 118
},
{
"name": "key_owner_proof",
"ty": 122
}
],
"documentation": [
" Report authority equivocation/misbehavior. This method will verify",
" the equivocation proof and validate the given key ownership proof",
" against the extracted offender. If both are valid, the offence will",
" be reported."
]
},
{
"name": "report_equivocation_unsigned",
"arguments": [
{
"name": "equivocation_proof",
"ty": 118
},
{
"name": "key_owner_proof",
"ty": 122
}
],
"documentation": [
" Report authority equivocation/misbehavior. This method will verify",
" the equivocation proof and validate the given key ownership proof",
" against the extracted offender. If both are valid, the offence will",
" be reported.",
" This extrinsic must be called unsigned and it is expected that only",
" block authors will call it (validated in `ValidateUnsigned`), as such",
" if the block author is defined it will be defined as the equivocation",
" reporter."
]
},
{
"name": "plan_config_change",
"arguments": [
{
"name": "config",
"ty": 123
}
],
"documentation": [
" Plan an epoch config change. The epoch config change is recorded and will be enacted on",
" the next call to `enact_epoch_change`. The config will be activated one epoch after.",
" Multiple calls to this method will replace any existing planned config change that had",
" not been enacted yet."
]
}
]
},
"event": null,
"constants": [
{
"name": "EpochDuration",
"ty": 8,
"value": [
96,
9,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount of time, in slots, that each epoch should last.",
" NOTE: Currently it is not possible to change the epoch duration after",
" the chain has started. Attempting to do so will brick block production."
]
},
{
"name": "ExpectedBlockTime",
"ty": 8,
"value": [
112,
23,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The expected average block time at which BABE should be creating",
" blocks. Since BABE is probabilistic it is not trivial to figure out",
" what the expected average block time should be based on the slot",
" duration and the security parameter `c` (where `1 - c` represents",
" the probability of a slot being empty)."
]
}
],
"error": {
"ty": 275
},
"index": 2
},
{
"name": "Timestamp",
"storage": {
"prefix": "Timestamp",
"entries": [
{
"name": "Now",
"modifier": "Default",
"ty": {
"Plain": 8
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Current time for the current block."
]
},
{
"name": "DidUpdate",
"modifier": "Default",
"ty": {
"Plain": 57
},
"default": [
0
],
"documentation": [
" Did the timestamp get updated in this block?"
]
}
]
},
"calls": {
"ty": 126,
"calls": [
{
"name": "set",
"arguments": [
{
"name": "now",
"ty": 127
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)",
" - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)",
" - 1 event handler `on_timestamp_set`. Must be `O(1)`.",
" # </weight>"
]
}
]
},
"event": null,
"constants": [
{
"name": "MinimumPeriod",
"ty": 8,
"value": [
184,
11,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The minimum period between blocks. Beware that this is different to the *expected* period",
" that the block production apparatus provides. Your chosen consensus system will generally",
" work with this to determine a sensible block time. e.g. For Aura, it will be double this",
" period on default settings."
]
}
],
"error": null,
"index": 3
},
{
"name": "Indices",
"storage": {
"prefix": "Indices",
"entries": [
{
"name": "Accounts",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 4,
"value": 276,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The lookup from index to account."
]
}
]
},
"calls": {
"ty": 128,
"calls": [
{
"name": "claim",
"arguments": [
{
"name": "index",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - One reserve operation.",
" - One event.",
" -------------------",
" - DB Weight: 1 Read/Write (Accounts)",
" # </weight>"
]
},
{
"name": "transfer",
"arguments": [
{
"name": "new",
"ty": 0
},
{
"name": "index",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - One transfer operation.",
" - One event.",
" -------------------",
" - DB Weight:",
" - Reads: Indices Accounts, System Account (recipient)",
" - Writes: Indices Accounts, System Account (recipient)",
" # </weight>"
]
},
{
"name": "free",
"arguments": [
{
"name": "index",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - One reserve operation.",
" - One event.",
" -------------------",
" - DB Weight: 1 Read/Write (Accounts)",
" # </weight>"
]
},
{
"name": "force_transfer",
"arguments": [
{
"name": "new",
"ty": 0
},
{
"name": "index",
"ty": 4
},
{
"name": "freeze",
"ty": 57
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - Up to one reserve operation.",
" - One event.",
" -------------------",
" - DB Weight:",
" - Reads: Indices Accounts, System Account (original owner)",
" - Writes: Indices Accounts, System Account (original owner)",
" # </weight>"
]
},
{
"name": "freeze",
"arguments": [
{
"name": "index",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - Up to one slash operation.",
" - One event.",
" -------------------",
" - DB Weight: 1 Read/Write (Accounts)",
" # </weight>"
]
}
]
},
"event": {
"ty": 33
},
"constants": [
{
"name": "Deposit",
"ty": 6,
"value": [
0,
232,
118,
72,
23,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The deposit needed for reserving an index."
]
}
],
"error": {
"ty": 277
},
"index": 4
},
{
"name": "Balances",
"storage": {
"prefix": "Balances",
"entries": [
{
"name": "TotalIssuance",
"modifier": "Default",
"ty": {
"Plain": 6
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The total units issued in the system."
]
},
{
"name": "Account",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 5,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The balance of an account.",
"",
" NOTE: This is only used in the case that this pallet is used to store balances."
]
},
{
"name": "Locks",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 278,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Any liquidity locks on some account balances.",
" NOTE: Should only be accessed when setting, changing and freeing a lock."
]
},
{
"name": "Reserves",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 283,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Named reserves on some account balances."
]
},
{
"name": "StorageVersion",
"modifier": "Default",
"ty": {
"Plain": 287
},
"default": [
0
],
"documentation": [
" Storage version of the pallet.",
"",
" This is set to v2.0.0 for new networks."
]
}
]
},
"calls": {
"ty": 129,
"calls": [
{
"name": "transfer",
"arguments": [
{
"name": "dest",
"ty": 130
},
{
"name": "value",
"ty": 51
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - 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.",
" - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.",
" - `transfer_keep_alive` works the same way as `transfer`, but has an additional",
" check that the transfer will not kill the origin account.",
" ---------------------------------",
" - Base Weight: 73.64 µs, worst case scenario (account created, account removed)",
" - DB Weight: 1 Read and 1 Write to destination account",
" - Origin account is already in memory, so no DB operations for them.",
" # </weight>"
]
},
{
"name": "set_balance",
"arguments": [
{
"name": "who",
"ty": 130
},
{
"name": "new_free",
"ty": 51
},
{
"name": "new_reserved",
"ty": 51
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Independent of the arguments.",
" - Contains a limited number of reads and writes.",
" ---------------------",
" - Base Weight:",
" - Creating: 27.56 µs",
" - Killing: 35.11 µs",
" - DB Weight: 1 Read, 1 Write to `who`",
" # </weight>"
]
},
{
"name": "force_transfer",
"arguments": [
{
"name": "source",
"ty": 130
},
{
"name": "dest",
"ty": 130
},
{
"name": "value",
"ty": 51
}
],
"documentation": [
" Exactly as `transfer`, except the origin must be root and the source account may be",
" specified.",
" # <weight>",
" - Same as transfer, but additional read and write because the source account is",
" not assumed to be in the overlay.",
" # </weight>"
]
},
{
"name": "transfer_keep_alive",
"arguments": [
{
"name": "dest",
"ty": 130
},
{
"name": "value",
"ty": 51
}
],
"documentation": [
" 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",
" # <weight>",
" - Cheaper than transfer because account cannot be killed.",
" - Base Weight: 51.4 µs",
" - DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)",
" #</weight>"
]
},
{
"name": "transfer_all",
"arguments": [
{
"name": "dest",
"ty": 130
},
{
"name": "keep_alive",
"ty": 57
}
],
"documentation": [
" Transfer the entire transferable balance from the caller account.",
"",
" NOTE: This function only attempts to transfer _transferable_ balances. This means that",
" any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be",
" transferred by this function. To ensure that this function results in a killed account,",
" you might need to prepare the account by removing any reference counters, storage",
" deposits, etc...",
"",
" The dispatch origin of this call must be Signed.",
"",
" - `dest`: The recipient of the transfer.",
" - `keep_alive`: A boolean to determine if the `transfer_all` operation should send all",
" of the funds the account has, causing the sender account to be killed (false), or",
" transfer everything except at least the existential deposit, which will guarantee to",
" keep the sender account alive (true).",
" # <weight>",
" - O(1). Just like transfer, but reading the user's transferable balance first.",
" #</weight>"
]
}
]
},
"event": {
"ty": 34
},
"constants": [
{
"name": "ExistentialDeposit",
"ty": 6,
"value": [
0,
228,
11,
84,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The minimum amount required to keep an account open."
]
}
],
"error": {
"ty": 288
},
"index": 5
},
{
"name": "TransactionPayment",
"storage": {
"prefix": "TransactionPayment",
"entries": [
{
"name": "NextFeeMultiplier",
"modifier": "Default",
"ty": {
"Plain": 289
},
"default": [
0,
0,
100,
167,
179,
182,
224,
13,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": []
},
{
"name": "StorageVersion",
"modifier": "Default",
"ty": {
"Plain": 290
},
"default": [
0
],
"documentation": []
}
]
},
"calls": null,
"event": null,
"constants": [
{
"name": "TransactionByteFee",
"ty": 6,
"value": [
64,
66,
15,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The fee to be paid for making a transaction; the per-byte portion."
]
},
{
"name": "WeightToFee",
"ty": 291,
"value": [
4,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
180,
196,
4,
0,
1
],
"documentation": [
" The polynomial that is applied in order to derive fee from weight."
]
}
],
"error": null,
"index": 32
},
{
"name": "Authorship",
"storage": {
"prefix": "Authorship",
"entries": [
{
"name": "Uncles",
"modifier": "Default",
"ty": {
"Plain": 293
},
"default": [
0
],
"documentation": [
" Uncles"
]
},
{
"name": "Author",
"modifier": "Optional",
"ty": {
"Plain": 0
},
"default": [
0
],
"documentation": [
" Author of current block."
]
},
{
"name": "DidSetUncles",
"modifier": "Default",
"ty": {
"Plain": 57
},
"default": [
0
],
"documentation": [
" Whether uncles were already set in this block."
]
}
]
},
"calls": {
"ty": 132,
"calls": [
{
"name": "set_uncles",
"arguments": [
{
"name": "new_uncles",
"ty": 133
}
],
"documentation": [
" Provide a set of uncles."
]
}
]
},
"event": null,
"constants": [],
"error": {
"ty": 295
},
"index": 6
},
{
"name": "Staking",
"storage": {
"prefix": "Staking",
"entries": [
{
"name": "HistoryDepth",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
84,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "ValidatorCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The ideal number of staking participants."
]
},
{
"name": "MinimumValidatorCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" Minimum number of staking participants before emergency conditions are imposed."
]
},
{
"name": "Invulnerables",
"modifier": "Default",
"ty": {
"Plain": 55
},
"default": [
0
],
"documentation": [
" Any validators that may never be slashed or forcibly kicked. It's a Vec since they're",
" easy to initialize and the performance hit is minimal (we expect no more than four",
" invulnerables) and restricted to testnets."
]
},
{
"name": "Bonded",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 0,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Map from all locked \"stash\" accounts to the controller account."
]
},
{
"name": "MinNominatorBond",
"modifier": "Default",
"ty": {
"Plain": 6
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The minimum active bond to become and maintain the role of a nominator."
]
},
{
"name": "MinValidatorBond",
"modifier": "Default",
"ty": {
"Plain": 6
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The minimum active bond to become and maintain the role of a validator."
]
},
{
"name": "Ledger",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 296,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Map from all (unlocked) \"controller\" accounts to the info regarding the staking."
]
},
{
"name": "Payee",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 135,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Where the reward payment should be made. Keyed by stash."
]
},
{
"name": "Validators",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 136,
"unused": false
}
},
"default": [
0,
0
],
"documentation": [
" The map from (wannabe) validator stash key to the preferences of that validator.",
"",
" When updating this storage item, you must also update the `CounterForValidators`."
]
},
{
"name": "CounterForValidators",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" A tracker to keep count of the number of items in the `Validators` map."
]
},
{
"name": "MaxValidatorsCount",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" The maximum validator count before we stop allowing new validators to join.",
"",
" When this value is not set, no limits are enforced."
]
},
{
"name": "Nominators",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 299,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The map from nominator stash key to the set of stash keys of all validators to nominate.",
"",
" When updating this storage item, you must also update the `CounterForNominators`."
]
},
{
"name": "CounterForNominators",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" A tracker to keep count of the number of items in the `Nominators` map."
]
},
{
"name": "MaxNominatorsCount",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" The maximum nominator count before we stop allowing new validators to join.",
"",
" When this value is not set, no limits are enforced."
]
},
{
"name": "CurrentEra",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" 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."
]
},
{
"name": "ActiveEra",
"modifier": "Optional",
"ty": {
"Plain": 300
},
"default": [
0
],
"documentation": [
" 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`]."
]
},
{
"name": "ErasStartSessionIndex",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 4,
"unused": false
}
},
"default": [
0
],
"documentation": [
" 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]`."
]
},
{
"name": "ErasStakers",
"modifier": "Default",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 0,
"value": 50,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "ErasStakersClipped",
"modifier": "Default",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 0,
"value": 50,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "ErasValidatorPrefs",
"modifier": "Default",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 0,
"value": 136,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "ErasValidatorReward",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 6,
"unused": false
}
},
"default": [
0
],
"documentation": [
" 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."
]
},
{
"name": "ErasRewardPoints",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 301,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0
],
"documentation": [
" Rewards for the last `HISTORY_DEPTH` eras.",
" If reward hasn't been set or has been removed then 0 reward is returned."
]
},
{
"name": "ErasTotalStake",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 6,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The total amount staked for the last `HISTORY_DEPTH` eras.",
" If total hasn't been set or has been removed then 0 stake is returned."
]
},
{
"name": "ForceEra",
"modifier": "Default",
"ty": {
"Plain": 305
},
"default": [
0
],
"documentation": [
" Mode of era forcing."
]
},
{
"name": "SlashRewardFraction",
"modifier": "Default",
"ty": {
"Plain": 93
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The percentage of the slash that is distributed to reporters.",
"",
" The rest of the slashed value is handled by the `Slash`."
]
},
{
"name": "CanceledSlashPayout",
"modifier": "Default",
"ty": {
"Plain": 6
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount of currency given to reporters of a slash event which was",
" canceled by extraordinary circumstances (e.g. governance)."
]
},
{
"name": "UnappliedSlashes",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 306,
"unused": false
}
},
"default": [
0
],
"documentation": [
" All unapplied slashes that are queued for later."
]
},
{
"name": "BondedEras",
"modifier": "Default",
"ty": {
"Plain": 88
},
"default": [
0
],
"documentation": [
" 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]`"
]
},
{
"name": "ValidatorSlashInEra",
"modifier": "Optional",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 0,
"value": 308,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0
],
"documentation": [
" All slashing events on validators, mapped by era to the highest slash proportion",
" and slash value of the era."
]
},
{
"name": "NominatorSlashInEra",
"modifier": "Optional",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 0,
"value": 6,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0
],
"documentation": [
" All slashing events on nominators, mapped by era to the highest slash value of the era."
]
},
{
"name": "SlashingSpans",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 309,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Slashing spans for stash accounts."
]
},
{
"name": "SpanSlash",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 303,
"value": 310,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Records information about the maximum slash of a stash within a slashing span,",
" as well as how much reward has been paid out."
]
},
{
"name": "EarliestUnappliedSlash",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" The earliest era for which we have a pending, unapplied slash."
]
},
{
"name": "CurrentPlannedSession",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The last planned session scheduled by the session pallet.",
"",
" This is basically in sync with the call to [`SessionManager::new_session`]."
]
},
{
"name": "StorageVersion",
"modifier": "Default",
"ty": {
"Plain": 311
},
"default": [
6
],
"documentation": [
" True if network has been upgraded to this version.",
" Storage version of the pallet.",
"",
" This is set to v6.0.0 for new networks."
]
}
]
},
"calls": {
"ty": 134,
"calls": [
{
"name": "bond",
"arguments": [
{
"name": "controller",
"ty": 130
},
{
"name": "value",
"ty": 51
},
{
"name": "payee",
"ty": 135
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - 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.",
" ------------------",
" Weight: O(1)",
" DB Weight:",
" - Read: Bonded, Ledger, [Origin Account], Current Era, History Depth, Locks",
" - Write: Bonded, Payee, [Origin Account], Locks, Ledger",
" # </weight>"
]
},
{
"name": "bond_extra",
"arguments": [
{
"name": "max_additional",
"ty": 51
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Independent of the arguments. Insignificant complexity.",
" - O(1).",
" - One DB entry.",
" ------------",
" DB Weight:",
" - Read: Era Election Status, Bonded, Ledger, [Origin Account], Locks",
" - Write: [Origin Account], Locks, Ledger",
" # </weight>"
]
},
{
"name": "unbond",
"arguments": [
{
"name": "value",
"ty": 51
}
],
"documentation": [
" 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).",
"",
" If a user encounters the `InsufficientBond` error when calling this extrinsic,",
" they should call `chill` first in order to free up their bonded funds.",
"",
" 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`].",
"",
" # <weight>",
" - Independent of the arguments. Limited but potentially exploitable complexity.",
" - Contains a limited number of reads.",
" - Each call (requires the remainder of the bonded balance to be above `minimum_balance`)",
" will cause a new entry to be inserted into a vector (`Ledger.unlocking`) kept in storage.",
" The only way to clean the aforementioned storage item is also user-controlled via",
" `withdraw_unbonded`.",
" - One DB entry.",
" ----------",
" Weight: O(1)",
" DB Weight:",
" - Read: EraElectionStatus, Ledger, CurrentEra, Locks, BalanceOf Stash,",
" - Write: Locks, Ledger, BalanceOf Stash,",
" </weight>"
]
},
{
"name": "withdraw_unbonded",
"arguments": [
{
"name": "num_slashing_spans",
"ty": 4
}
],
"documentation": [
" 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`].",
"",
" # <weight>",
" - Could be dependent on the `origin` argument and how much `unlocking` chunks exist.",
" It implies `consolidate_unlocked` which loops over `Ledger.unlocking`, which is",
" indirectly user-controlled. See [`unbond`] for more detail.",
" - Contains a limited number of reads, yet the size of which could be large based on `ledger`.",
" - Writes are limited to the `origin` account key.",
" ---------------",
" Complexity O(S) where S is the number of slashing spans to remove",
" Update:",
" - Reads: EraElectionStatus, Ledger, Current Era, Locks, [Origin Account]",
" - Writes: [Origin Account], Locks, Ledger",
" Kill:",
" - Reads: EraElectionStatus, Ledger, Current Era, Bonded, Slashing Spans, [Origin",
" Account], Locks, BalanceOf stash",
" - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators,",
" [Origin Account], Locks, BalanceOf stash.",
" - Writes Each: SpanSlash * S",
" NOTE: Weight annotation is the kill scenario, we refund otherwise.",
" # </weight>"
]
},
{
"name": "validate",
"arguments": [
{
"name": "prefs",
"ty": 136
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Independent of the arguments. Insignificant complexity.",
" - Contains a limited number of reads.",
" - Writes are limited to the `origin` account key.",
" -----------",
" Weight: O(1)",
" DB Weight:",
" - Read: Era Election Status, Ledger",
" - Write: Nominators, Validators",
" # </weight>"
]
},
{
"name": "nominate",
"arguments": [
{
"name": "targets",
"ty": 138
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - The transaction's complexity is proportional to the size of `targets` (N)",
" which is capped at CompactAssignments::LIMIT (MAX_NOMINATIONS).",
" - Both the reads and writes follow a similar pattern.",
" ---------",
" Weight: O(N)",
" where N is the number of targets",
" DB Weight:",
" - Reads: Era Election Status, Ledger, Current Era",
" - Writes: Validators, Nominators",
" # </weight>"
]
},
{
"name": "chill",
"arguments": [],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Independent of the arguments. Insignificant complexity.",
" - Contains one read.",
" - Writes are limited to the `origin` account key.",
" --------",
" Weight: O(1)",
" DB Weight:",
" - Read: EraElectionStatus, Ledger",
" - Write: Validators, Nominators",
" # </weight>"
]
},
{
"name": "set_payee",
"arguments": [
{
"name": "payee",
"ty": 135
}
],
"documentation": [
" (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.",
"",
" # <weight>",
" - Independent of the arguments. Insignificant complexity.",
" - Contains a limited number of reads.",
" - Writes are limited to the `origin` account key.",
" ---------",
" - Weight: O(1)",
" - DB Weight:",
" - Read: Ledger",
" - Write: Payee",
" # </weight>"
]
},
{
"name": "set_controller",
"arguments": [
{
"name": "controller",
"ty": 130
}
],
"documentation": [
" (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.",
"",
" # <weight>",
" - Independent of the arguments. Insignificant complexity.",
" - Contains a limited number of reads.",
" - Writes are limited to the `origin` account key.",
" ----------",
" Weight: O(1)",
" DB Weight:",
" - Read: Bonded, Ledger New Controller, Ledger Old Controller",
" - Write: Bonded, Ledger New Controller, Ledger Old Controller",
" # </weight>"
]
},
{
"name": "set_validator_count",
"arguments": [
{
"name": "new",
"ty": 90
}
],
"documentation": [
" Sets the ideal number of validators.",
"",
" The dispatch origin must be Root.",
"",
" # <weight>",
" Weight: O(1)",
" Write: Validator Count",
" # </weight>"
]
},
{
"name": "increase_validator_count",
"arguments": [
{
"name": "additional",
"ty": 90
}
],
"documentation": [
" Increments the ideal number of validators.",
"",
" The dispatch origin must be Root.",
"",
" # <weight>",
" Same as [`set_validator_count`].",
" # </weight>"
]
},
{
"name": "scale_validator_count",
"arguments": [
{
"name": "factor",
"ty": 139
}
],
"documentation": [
" Scale up the ideal number of validators by a factor.",
"",
" The dispatch origin must be Root.",
"",
" # <weight>",
" Same as [`set_validator_count`].",
" # </weight>"
]
},
{
"name": "force_no_eras",
"arguments": [],
"documentation": [
" Force there to be no new eras indefinitely.",
"",
" The dispatch origin must be Root.",
"",
" # Warning",
"",
" The election process starts multiple blocks before the end of the era.",
" Thus the election process may be ongoing when this is called. In this case the",
" election will continue until the next era is triggered.",
"",
" # <weight>",
" - No arguments.",
" - Weight: O(1)",
" - Write: ForceEra",
" # </weight>"
]
},
{
"name": "force_new_era",
"arguments": [],
"documentation": [
" Force there to be a new era at the end of the next session. After this, it will be",
" reset to normal (non-forced) behaviour.",
"",
" The dispatch origin must be Root.",
"",
" # Warning",
"",
" The election process starts multiple blocks before the end of the era.",
" If this is called just before a new era is triggered, the election process may not",
" have enough blocks to get a result.",
"",
" # <weight>",
" - No arguments.",
" - Weight: O(1)",
" - Write ForceEra",
" # </weight>"
]
},
{
"name": "set_invulnerables",
"arguments": [
{
"name": "invulnerables",
"ty": 55
}
],
"documentation": [
" Set the validators who cannot be slashed (if any).",
"",
" The dispatch origin must be Root.",
"",
" # <weight>",
" - O(V)",
" - Write: Invulnerables",
" # </weight>"
]
},
{
"name": "force_unstake",
"arguments": [
{
"name": "stash",
"ty": 0
},
{
"name": "num_slashing_spans",
"ty": 4
}
],
"documentation": [
" Force a current staker to become completely unstaked, immediately.",
"",
" The dispatch origin must be Root.",
"",
" # <weight>",
" O(S) where S is the number of slashing spans to be removed",
" Reads: Bonded, Slashing Spans, Account, Locks",
" Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Account, Locks",
" Writes Each: SpanSlash * S",
" # </weight>"
]
},
{
"name": "force_new_era_always",
"arguments": [],
"documentation": [
" Force there to be a new era at the end of sessions indefinitely.",
"",
" The dispatch origin must be Root.",
"",
" # Warning",
"",
" The election process starts multiple blocks before the end of the era.",
" If this is called just before a new era is triggered, the election process may not",
" have enough blocks to get a result.",
"",
" # <weight>",
" - Weight: O(1)",
" - Write: ForceEra",
" # </weight>"
]
},
{
"name": "cancel_deferred_slash",
"arguments": [
{
"name": "era",
"ty": 4
},
{
"name": "slash_indices",
"ty": 140
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" Complexity: O(U + S)",
" with U unapplied slashes weighted with U=1000",
" and S is the number of slash indices to be canceled.",
" - Read: Unapplied Slashes",
" - Write: Unapplied Slashes",
" # </weight>"
]
},
{
"name": "payout_stakers",
"arguments": [
{
"name": "validator_stash",
"ty": 0
},
{
"name": "era",
"ty": 4
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Time complexity: at most O(MaxNominatorRewardedPerValidator).",
" - Contains a limited number of reads and writes.",
" -----------",
" N is the Number of payouts for the validator (including the validator)",
" Weight:",
" - Reward Destination Staked: O(N)",
" - Reward Destination Controller (Creating): O(N)",
" DB Weight:",
" - Read: EraElectionStatus, CurrentEra, HistoryDepth, ErasValidatorReward,",
" 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.",
" # </weight>"
]
},
{
"name": "rebond",
"arguments": [
{
"name": "value",
"ty": 51
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Time complexity: O(L), where L is unlocking chunks",
" - Bounded by `MAX_UNLOCKING_CHUNKS`.",
" - Storage changes: Can't increase storage, only decrease it.",
" ---------------",
" - DB Weight:",
" - Reads: EraElectionStatus, Ledger, Locks, [Origin Account]",
" - Writes: [Origin Account], Locks, Ledger",
" # </weight>"
]
},
{
"name": "set_history_depth",
"arguments": [
{
"name": "new_history_depth",
"ty": 90
},
{
"name": "_era_items_deleted",
"ty": 90
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - E: Number of history depths removed, i.e. 10 -> 7 = 3",
" - Weight: O(E)",
" - DB Weight:",
" - Reads: Current Era, History Depth",
" - Writes: History Depth",
" - Clear Prefix Each: Era Stakers, EraStakersClipped, ErasValidatorPrefs",
" - Writes Each: ErasValidatorReward, ErasRewardPoints, ErasTotalStake, ErasStartSessionIndex",
" # </weight>"
]
},
{
"name": "reap_stash",
"arguments": [
{
"name": "stash",
"ty": 0
},
{
"name": "num_slashing_spans",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" Complexity: O(S) where S is the number of slashing spans on the account.",
" DB Weight:",
" - Reads: Stash Account, Bonded, Slashing Spans, Locks",
" - Writes: Bonded, Slashing Spans (if S > 0), Ledger, Payee, Validators, Nominators, Stash Account, Locks",
" - Writes Each: SpanSlash * S",
" # </weight>"
]
},
{
"name": "kick",
"arguments": [
{
"name": "who",
"ty": 138
}
],
"documentation": [
" 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."
]
},
{
"name": "update_staking_limits",
"arguments": [
{
"name": "min_nominator_bond",
"ty": 6
},
{
"name": "min_validator_bond",
"ty": 6
},
{
"name": "max_nominator_count",
"ty": 141
},
{
"name": "max_validator_count",
"ty": 141
}
],
"documentation": [
" Update the various staking limits this pallet.",
"",
" * `min_nominator_bond`: The minimum active bond needed to be a nominator.",
" * `min_validator_bond`: The minimum active bond needed to be a validator.",
" * `max_nominator_count`: The max number of users who can be a nominator at once.",
" When set to `None`, no limit is enforced.",
" * `max_validator_count`: The max number of users who can be a validator at once.",
" When set to `None`, no limit is enforced.",
"",
" Origin must be Root to call this function.",
"",
" NOTE: Existing nominators and validators will not be affected by this update.",
" to kick people under the new limits, `chill_other` should be called."
]
},
{
"name": "chill_other",
"arguments": [
{
"name": "controller",
"ty": 0
}
],
"documentation": [
" Declare a `controller` as having no desire to either validator or nominate.",
"",
" Effects will be felt at the beginning of the next era.",
"",
" The dispatch origin for this call must be _Signed_, but can be called by anyone.",
"",
" If the caller is the same as the controller being targeted, then no further checks",
" are enforced. However, this call can also be made by an third party user who witnesses",
" that this controller does not satisfy the minimum bond requirements to be in their role.",
"",
" This can be helpful if bond requirements are updated, and we need to remove old users",
" who do not satisfy these requirements.",
""
]
}
]
},
"event": {
"ty": 36
},
"constants": [
{
"name": "SessionsPerEra",
"ty": 4,
"value": [
6,
0,
0,
0
],
"documentation": [
" Number of sessions per era."
]
},
{
"name": "BondingDuration",
"ty": 4,
"value": [
28,
0,
0,
0
],
"documentation": [
" Number of eras that staked funds must remain bonded for."
]
},
{
"name": "SlashDeferDuration",
"ty": 4,
"value": [
27,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "MaxNominatorRewardedPerValidator",
"ty": 4,
"value": [
0,
1,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "MaxNominations",
"ty": 4,
"value": [
16,
0,
0,
0
],
"documentation": []
}
],
"error": {
"ty": 312
},
"index": 7
},
{
"name": "Offences",
"storage": {
"prefix": "Offences",
"entries": [
{
"name": "Reports",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 9,
"value": 313,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The primary structure that holds all offence records keyed by report identifiers."
]
},
{
"name": "ConcurrentReportsIndex",
"modifier": "Default",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 38,
"key2": 10,
"value": 87,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0
],
"documentation": [
" A vector of reports of the same kind that happened at the same time slot."
]
},
{
"name": "ReportsByKindIndex",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 38,
"value": 10,
"unused": false
}
},
"default": [
0
],
"documentation": [
" 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<u8>`, this is because values of",
" different types are not supported at the moment so we are doing the manual serialization."
]
}
]
},
"calls": null,
"event": {
"ty": 37
},
"constants": [],
"error": null,
"index": 8
},
{
"name": "Historical",
"storage": null,
"calls": null,
"event": null,
"constants": [],
"error": null,
"index": 33
},
{
"name": "Session",
"storage": {
"prefix": "Session",
"entries": [
{
"name": "Validators",
"modifier": "Default",
"ty": {
"Plain": 55
},
"default": [
0
],
"documentation": [
" The current set of validators."
]
},
{
"name": "CurrentIndex",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" Current index of the session."
]
},
{
"name": "QueuedChanged",
"modifier": "Default",
"ty": {
"Plain": 57
},
"default": [
0
],
"documentation": [
" True if the underlying economic identities or weighting behind the validators",
" has changed in the queued validator set."
]
},
{
"name": "QueuedKeys",
"modifier": "Default",
"ty": {
"Plain": 314
},
"default": [
0
],
"documentation": [
" The queued keys for the next session. When the next session begins, these keys",
" will be used to determine the validator's session keys."
]
},
{
"name": "DisabledValidators",
"modifier": "Default",
"ty": {
"Plain": 140
},
"default": [
0
],
"documentation": [
" Indices of disabled validators.",
"",
" The set is cleared when `on_session_ending` returns a new set of identities."
]
},
{
"name": "NextKeys",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 143,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The next session keys for a validator."
]
},
{
"name": "KeyOwner",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 316,
"value": 0,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The owner of a key. The key is the `KeyTypeId` + the encoded key."
]
}
]
},
"calls": {
"ty": 142,
"calls": [
{
"name": "set_keys",
"arguments": [
{
"name": "keys",
"ty": 143
},
{
"name": "proof",
"ty": 10
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - Complexity: `O(1)`",
" Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",
" - DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`",
" - DbWrites: `origin account`, `NextKeys`",
" - DbReads per key id: `KeyOwner`",
" - DbWrites per key id: `KeyOwner`",
" # </weight>"
]
},
{
"name": "purge_keys",
"arguments": [],
"documentation": [
" 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.",
"",
" # <weight>",
" - Complexity: `O(1)` in number of key types.",
" Actual cost depends on the number of length of `T::Keys::key_ids()` which is fixed.",
" - DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`",
" - DbWrites: `NextKeys`, `origin account`",
" - DbWrites per key id: `KeyOwner`",
" # </weight>"
]
}
]
},
"event": {
"ty": 39
},
"constants": [],
"error": {
"ty": 318
},
"index": 9
},
{
"name": "Grandpa",
"storage": {
"prefix": "Grandpa",
"entries": [
{
"name": "State",
"modifier": "Default",
"ty": {
"Plain": 319
},
"default": [
0
],
"documentation": [
" State of the current authority set."
]
},
{
"name": "PendingChange",
"modifier": "Optional",
"ty": {
"Plain": 320
},
"default": [
0
],
"documentation": [
" Pending change: (signaled at, scheduled change)."
]
},
{
"name": "NextForced",
"modifier": "Optional",
"ty": {
"Plain": 4
},
"default": [
0
],
"documentation": [
" next block number where we can force a change."
]
},
{
"name": "Stalled",
"modifier": "Optional",
"ty": {
"Plain": 29
},
"default": [
0
],
"documentation": [
" `true` if we are currently stalled."
]
},
{
"name": "CurrentSetId",
"modifier": "Default",
"ty": {
"Plain": 8
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The number of changes (both in terms of keys and underlying economic responsibilities)",
" in the \"set\" of Grandpa validators from genesis."
]
},
{
"name": "SetIdSession",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 8,
"value": 4,
"unused": false
}
},
"default": [
0
],
"documentation": [
" 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."
]
}
]
},
"calls": {
"ty": 147,
"calls": [
{
"name": "report_equivocation",
"arguments": [
{
"name": "equivocation_proof",
"ty": 148
},
{
"name": "key_owner_proof",
"ty": 122
}
],
"documentation": [
" Report voter equivocation/misbehavior. This method will verify the",
" equivocation proof and validate the given key ownership proof",
" against the extracted offender. If both are valid, the offence",
" will be reported."
]
},
{
"name": "report_equivocation_unsigned",
"arguments": [
{
"name": "equivocation_proof",
"ty": 148
},
{
"name": "key_owner_proof",
"ty": 122
}
],
"documentation": [
" Report voter equivocation/misbehavior. This method will verify the",
" equivocation proof and validate the given key ownership proof",
" against the extracted offender. If both are valid, the offence",
" will be reported.",
"",
" This extrinsic must be called unsigned and it is expected that only",
" block authors will call it (validated in `ValidateUnsigned`), as such",
" if the block author is defined it will be defined as the equivocation",
" reporter."
]
},
{
"name": "note_stalled",
"arguments": [
{
"name": "delay",
"ty": 4
},
{
"name": "best_finalized_block_number",
"ty": 4
}
],
"documentation": [
" Note that the current authority set of the GRANDPA finality gadget has",
" stalled. This will trigger a forced authority set change at the beginning",
" of the next session, to be enacted `delay` blocks after that. The delay",
" should be high enough to safely assume that the block signalling the",
" forced change will not be re-orged (e.g. 1000 blocks). The GRANDPA voters",
" will start the new authority set using the given finalized block as base.",
" Only callable by root."
]
}
]
},
"event": {
"ty": 40
},
"constants": [],
"error": {
"ty": 321
},
"index": 11
},
{
"name": "ImOnline",
"storage": {
"prefix": "ImOnline",
"entries": [
{
"name": "HeartbeatAfter",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" 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`."
]
},
{
"name": "Keys",
"modifier": "Default",
"ty": {
"Plain": 322
},
"default": [
0
],
"documentation": [
" The current set of keys that may issue a heartbeat."
]
},
{
"name": "ReceivedHeartbeats",
"modifier": "Optional",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 4,
"value": 10,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0
],
"documentation": [
" For each session index, we keep a mapping of `AuthIndex` to",
" `offchain::OpaqueNetworkState`."
]
},
{
"name": "AuthoredBlocks",
"modifier": "Default",
"ty": {
"DoubleMap": {
"hasher": "Twox64Concat",
"key1": 4,
"key2": 0,
"value": 4,
"key2_hasher": "Twox64Concat"
}
},
"default": [
0,
0,
0,
0
],
"documentation": [
" For each session index, we keep a mapping of `ValidatorId<T>` to the",
" number of blocks authored by the given authority."
]
}
]
},
"calls": {
"ty": 159,
"calls": [
{
"name": "heartbeat",
"arguments": [
{
"name": "heartbeat",
"ty": 160
},
{
"name": "_signature",
"ty": 165
}
],
"documentation": [
" # <weight>",
" - Complexity: `O(K + E)` where K is length of `Keys` (heartbeat.validators_len)",
" and E is length of `heartbeat.network_state.external_address`",
" - `O(K)`: decoding of length `K`",
" - `O(E)`: decoding/encoding of length `E`",
" - DbReads: pallet_session `Validators`, pallet_session `CurrentIndex`, `Keys`,",
" `ReceivedHeartbeats`",
" - DbWrites: `ReceivedHeartbeats`",
" # </weight>"
]
}
]
},
"event": {
"ty": 45
},
"constants": [],
"error": {
"ty": 323
},
"index": 12
},
{
"name": "AuthorityDiscovery",
"storage": null,
"calls": null,
"event": null,
"constants": [],
"error": null,
"index": 13
},
{
"name": "Democracy",
"storage": {
"prefix": "Democracy",
"entries": [
{
"name": "PublicPropCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The number of (public) proposals that have been made so far."
]
},
{
"name": "PublicProps",
"modifier": "Default",
"ty": {
"Plain": 324
},
"default": [
0
],
"documentation": [
" The public proposals. Unsorted. The second item is the proposal's hash."
]
},
{
"name": "DepositOf",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 326,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Those who have locked a deposit.",
"",
" TWOX-NOTE: Safe, as increasing integer keys are safe."
]
},
{
"name": "Preimages",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 327,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Map of hashes to the proposal preimage, along with who registered it and their deposit.",
" The block number is the block at which it was deposited."
]
},
{
"name": "ReferendumCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The next free referendum index, aka the number of referenda started so far."
]
},
{
"name": "LowestUnbaked",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The lowest referendum index representing an unbaked referendum. Equal to",
" `ReferendumCount` if there isn't a unbaked referendum."
]
},
{
"name": "ReferendumInfoOf",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 328,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Information concerning any given referendum.",
"",
" TWOX-NOTE: SAFE as indexes are not under an attacker’s control."
]
},
{
"name": "VotingOf",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 331,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "Locks",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 4,
"unused": false
}
},
"default": [
0
],
"documentation": [
" 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."
]
},
{
"name": "LastTabledWasExternal",
"modifier": "Default",
"ty": {
"Plain": 57
},
"default": [
0
],
"documentation": [
" True if the last referendum tabled was submitted externally. False if it was a public",
" proposal."
]
},
{
"name": "NextExternal",
"modifier": "Optional",
"ty": {
"Plain": 336
},
"default": [
0
],
"documentation": [
" The referendum to be tabled whenever it would be valid to table an external proposal.",
" This happens when a referendum needs to be tabled and one of two conditions are met:",
" - `LastTabledWasExternal` is `false`; or",
" - `PublicProps` is empty."
]
},
{
"name": "Blacklist",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 337,
"unused": false
}
},
"default": [
0
],
"documentation": [
" A record of who vetoed what. Maps proposal hash to a possible existent block number",
" (until when it may not be resubmitted) and who vetoed it."
]
},
{
"name": "Cancellations",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 57,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Record of all proposals that have been subject to emergency cancellation."
]
},
{
"name": "StorageVersion",
"modifier": "Optional",
"ty": {
"Plain": 338
},
"default": [
0
],
"documentation": [
" Storage version of the pallet.",
"",
" New networks start with last version."
]
}
]
},
"calls": {
"ty": 167,
"calls": [
{
"name": "propose",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "value",
"ty": 51
}
],
"documentation": [
" 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)`"
]
},
{
"name": "second",
"arguments": [
{
"name": "proposal",
"ty": 90
},
{
"name": "seconds_upper_bound",
"ty": 90
}
],
"documentation": [
" 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."
]
},
{
"name": "vote",
"arguments": [
{
"name": "ref_index",
"ty": 90
},
{
"name": "vote",
"ty": 168
}
],
"documentation": [
" 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."
]
},
{
"name": "emergency_cancel",
"arguments": [
{
"name": "ref_index",
"ty": 4
}
],
"documentation": [
" 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)`."
]
},
{
"name": "external_propose",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
}
],
"documentation": [
" 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"
]
},
{
"name": "external_propose_majority",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
}
],
"documentation": [
" 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)`"
]
},
{
"name": "external_propose_default",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
}
],
"documentation": [
" 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)`"
]
},
{
"name": "fast_track",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "voting_period",
"ty": 4
},
{
"name": "delay",
"ty": 4
}
],
"documentation": [
" 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)`"
]
},
{
"name": "veto_external",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
}
],
"documentation": [
" 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`"
]
},
{
"name": "cancel_referendum",
"arguments": [
{
"name": "ref_index",
"ty": 90
}
],
"documentation": [
" Remove a referendum.",
"",
" The dispatch origin of this call must be _Root_.",
"",
" - `ref_index`: The index of the referendum to cancel.",
"",
" # Weight: `O(1)`."
]
},
{
"name": "cancel_queued",
"arguments": [
{
"name": "which",
"ty": 4
}
],
"documentation": [
" 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`."
]
},
{
"name": "delegate",
"arguments": [
{
"name": "to",
"ty": 0
},
{
"name": "conviction",
"ty": 170
},
{
"name": "balance",
"ty": 6
}
],
"documentation": [
" 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."
]
},
{
"name": "undelegate",
"arguments": [],
"documentation": [
" 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."
]
},
{
"name": "clear_public_proposals",
"arguments": [],
"documentation": [
" Clears all public proposals.",
"",
" The dispatch origin of this call must be _Root_.",
"",
" Weight: `O(1)`."
]
},
{
"name": "note_preimage",
"arguments": [
{
"name": "encoded_proposal",
"ty": 10
}
],
"documentation": [
" 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)."
]
},
{
"name": "note_preimage_operational",
"arguments": [
{
"name": "encoded_proposal",
"ty": 10
}
],
"documentation": [
" Same as `note_preimage` but origin is `OperationalPreimageOrigin`."
]
},
{
"name": "note_imminent_preimage",
"arguments": [
{
"name": "encoded_proposal",
"ty": 10
}
],
"documentation": [
" Register the preimage for an upcoming proposal. This requires the proposal to be",
" 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)."
]
},
{
"name": "note_imminent_preimage_operational",
"arguments": [
{
"name": "encoded_proposal",
"ty": 10
}
],
"documentation": [
" Same as `note_imminent_preimage` but origin is `OperationalPreimageOrigin`."
]
},
{
"name": "reap_preimage",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "proposal_len_upper_bound",
"ty": 90
}
],
"documentation": [
" 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."
]
},
{
"name": "unlock",
"arguments": [
{
"name": "target",
"ty": 0
}
],
"documentation": [
" 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."
]
},
{
"name": "remove_vote",
"arguments": [
{
"name": "index",
"ty": 4
}
],
"documentation": [
" Remove a vote for a referendum.",
"",
" If:",
" - the referendum was cancelled, or",
" - the referendum is ongoing, or",
" - the referendum has ended such that",
" - the vote of the account was in opposition to the result; or",
" - there was no conviction to the account's vote; or",
" - the account made a split vote",
" ...then the vote is removed cleanly and a following call to `unlock` may result in more",
" funds being available.",
"",
" If, however, the referendum has ended and:",
" - it finished corresponding to the vote of the account, and",
" - the account made a standard vote with conviction, and",
" - the lock period of the conviction is not over",
" ...then the lock will be aggregated into the overall account's lock, which may involve",
" *overlocking* (where the two locks are combined into a single lock that is the maximum",
" of both the amount locked and the time is it locked for).",
"",
" The dispatch origin of this call must be _Signed_, and the signer must have a vote",
" registered for referendum `index`.",
"",
" - `index`: The index of referendum of the vote to be removed.",
"",
" Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on.",
" Weight is calculated for the maximum number of vote."
]
},
{
"name": "remove_other_vote",
"arguments": [
{
"name": "target",
"ty": 0
},
{
"name": "index",
"ty": 4
}
],
"documentation": [
" 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."
]
},
{
"name": "enact_proposal",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "index",
"ty": 4
}
],
"documentation": [
" Enact a proposal from a referendum. For now we just make the weight be the maximum."
]
},
{
"name": "blacklist",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "maybe_ref_index",
"ty": 141
}
],
"documentation": [
" 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)."
]
},
{
"name": "cancel_proposal",
"arguments": [
{
"name": "prop_index",
"ty": 90
}
],
"documentation": [
" Remove a proposal.",
"",
" The dispatch origin of this call must be `CancelProposalOrigin`.",
"",
" - `prop_index`: The index of the proposal to cancel.",
"",
" Weight: `O(p)` where `p = PublicProps::<T>::decode_len()`"
]
}
]
},
"event": {
"ty": 54
},
"constants": [
{
"name": "EnactmentPeriod",
"ty": 4,
"value": [
0,
39,
6,
0
],
"documentation": [
" 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."
]
},
{
"name": "LaunchPeriod",
"ty": 4,
"value": [
0,
39,
6,
0
],
"documentation": [
" How often (in blocks) new public referenda are launched."
]
},
{
"name": "VotingPeriod",
"ty": 4,
"value": [
0,
39,
6,
0
],
"documentation": [
" How often (in blocks) to check for new votes."
]
},
{
"name": "MinimumDeposit",
"ty": 6,
"value": [
0,
16,
165,
212,
232,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The minimum amount to be used as a deposit for a public referendum proposal."
]
},
{
"name": "FastTrackVotingPeriod",
"ty": 4,
"value": [
8,
7,
0,
0
],
"documentation": [
" Minimum voting period allowed for a fast-track referendum."
]
},
{
"name": "CooloffPeriod",
"ty": 4,
"value": [
192,
137,
1,
0
],
"documentation": [
" Period in blocks where an external proposal may not be re-submitted after being vetoed."
]
},
{
"name": "PreimageByteDeposit",
"ty": 6,
"value": [
0,
225,
245,
5,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount of balance that must be deposited per byte of preimage stored."
]
},
{
"name": "MaxVotes",
"ty": 4,
"value": [
100,
0,
0,
0
],
"documentation": [
" 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."
]
}
],
"error": {
"ty": 339
},
"index": 14
},
{
"name": "Council",
"storage": {
"prefix": "Instance1Collective",
"entries": [
{
"name": "Proposals",
"modifier": "Default",
"ty": {
"Plain": 340
},
"default": [
0
],
"documentation": [
" The hashes of the active proposals."
]
},
{
"name": "ProposalOf",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 114,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Actual proposal for a given hash, if it's current."
]
},
{
"name": "Voting",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 342,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Votes on a given proposal, if it is ongoing."
]
},
{
"name": "ProposalCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" Proposals so far."
]
},
{
"name": "Members",
"modifier": "Default",
"ty": {
"Plain": 55
},
"default": [
0
],
"documentation": [
" The current members of the collective. This is stored sorted (just by value)."
]
},
{
"name": "Prime",
"modifier": "Optional",
"ty": {
"Plain": 0
},
"default": [
0
],
"documentation": [
" The prime member that helps determine the default vote behavior in case of absentations."
]
}
]
},
"calls": {
"ty": 171,
"calls": [
{
"name": "set_members",
"arguments": [
{
"name": "new_members",
"ty": 55
},
{
"name": "prime",
"ty": 172
},
{
"name": "old_count",
"ty": 4
}
],
"documentation": [
" 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>",
" ## 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",
" # </weight>"
]
},
{
"name": "execute",
"arguments": [
{
"name": "proposal",
"ty": 114
},
{
"name": "length_bound",
"ty": 90
}
],
"documentation": [
" Dispatch a proposal from a member using the `Member` origin.",
"",
" Origin must be a member of the collective.",
"",
" # <weight>",
" ## 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",
" # </weight>"
]
},
{
"name": "propose",
"arguments": [
{
"name": "threshold",
"ty": 90
},
{
"name": "proposal",
"ty": 114
},
{
"name": "length_bound",
"ty": 90
}
],
"documentation": [
" 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>",
" ## 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",
" # </weight>"
]
},
{
"name": "vote",
"arguments": [
{
"name": "proposal",
"ty": 9
},
{
"name": "index",
"ty": 90
},
{
"name": "approve",
"ty": 57
}
],
"documentation": [
" 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>",
" ## 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",
" # </weight>"
]
},
{
"name": "close",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "index",
"ty": 90
},
{
"name": "proposal_weight_bound",
"ty": 127
},
{
"name": "length_bound",
"ty": 90
}
],
"documentation": [
" Close a vote that is either approved, disapproved or whose voting period has ended.",
"",
" May be called by any signed account in order to finish voting and close the proposal.",
"",
" If called before the end of the voting period it will only close the vote if it is",
" has enough votes to be approved or disapproved.",
"",
" If called after the end of the voting period abstentions are counted as rejections",
" unless there is a prime member set and the prime member cast an approval.",
"",
" If the close operation completes successfully with disapproval, the transaction fee will",
" be waived. Otherwise execution of the approved operation will be charged to the caller.",
"",
" + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",
" + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
" `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
"",
" # <weight>",
" ## 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",
" # </weight>"
]
},
{
"name": "disapprove_proposal",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" Complexity: O(P) where P is the number of max proposals",
" DB Weight:",
" * Reads: Proposals",
" * Writes: Voting, Proposals, ProposalOf",
" # </weight>"
]
}
]
},
"event": {
"ty": 58
},
"constants": [],
"error": {
"ty": 343
},
"index": 15
},
{
"name": "TechnicalCommittee",
"storage": {
"prefix": "Instance2Collective",
"entries": [
{
"name": "Proposals",
"modifier": "Default",
"ty": {
"Plain": 344
},
"default": [
0
],
"documentation": [
" The hashes of the active proposals."
]
},
{
"name": "ProposalOf",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 114,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Actual proposal for a given hash, if it's current."
]
},
{
"name": "Voting",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 9,
"value": 342,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Votes on a given proposal, if it is ongoing."
]
},
{
"name": "ProposalCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" Proposals so far."
]
},
{
"name": "Members",
"modifier": "Default",
"ty": {
"Plain": 55
},
"default": [
0
],
"documentation": [
" The current members of the collective. This is stored sorted (just by value)."
]
},
{
"name": "Prime",
"modifier": "Optional",
"ty": {
"Plain": 0
},
"default": [
0
],
"documentation": [
" The prime member that helps determine the default vote behavior in case of absentations."
]
}
]
},
"calls": {
"ty": 173,
"calls": [
{
"name": "set_members",
"arguments": [
{
"name": "new_members",
"ty": 55
},
{
"name": "prime",
"ty": 172
},
{
"name": "old_count",
"ty": 4
}
],
"documentation": [
" 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>",
" ## 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",
" # </weight>"
]
},
{
"name": "execute",
"arguments": [
{
"name": "proposal",
"ty": 114
},
{
"name": "length_bound",
"ty": 90
}
],
"documentation": [
" Dispatch a proposal from a member using the `Member` origin.",
"",
" Origin must be a member of the collective.",
"",
" # <weight>",
" ## 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",
" # </weight>"
]
},
{
"name": "propose",
"arguments": [
{
"name": "threshold",
"ty": 90
},
{
"name": "proposal",
"ty": 114
},
{
"name": "length_bound",
"ty": 90
}
],
"documentation": [
" 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>",
" ## 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",
" # </weight>"
]
},
{
"name": "vote",
"arguments": [
{
"name": "proposal",
"ty": 9
},
{
"name": "index",
"ty": 90
},
{
"name": "approve",
"ty": 57
}
],
"documentation": [
" 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>",
" ## 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",
" # </weight>"
]
},
{
"name": "close",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
},
{
"name": "index",
"ty": 90
},
{
"name": "proposal_weight_bound",
"ty": 127
},
{
"name": "length_bound",
"ty": 90
}
],
"documentation": [
" Close a vote that is either approved, disapproved or whose voting period has ended.",
"",
" May be called by any signed account in order to finish voting and close the proposal.",
"",
" If called before the end of the voting period it will only close the vote if it is",
" has enough votes to be approved or disapproved.",
"",
" If called after the end of the voting period abstentions are counted as rejections",
" unless there is a prime member set and the prime member cast an approval.",
"",
" If the close operation completes successfully with disapproval, the transaction fee will",
" be waived. Otherwise execution of the approved operation will be charged to the caller.",
"",
" + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed proposal.",
" + `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
" `storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
"",
" # <weight>",
" ## 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",
" # </weight>"
]
},
{
"name": "disapprove_proposal",
"arguments": [
{
"name": "proposal_hash",
"ty": 9
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" Complexity: O(P) where P is the number of max proposals",
" DB Weight:",
" * Reads: Proposals",
" * Writes: Voting, Proposals, ProposalOf",
" # </weight>"
]
}
]
},
"event": {
"ty": 60
},
"constants": [],
"error": {
"ty": 346
},
"index": 16
},
{
"name": "PhragmenElection",
"storage": {
"prefix": "PhragmenElection",
"entries": [
{
"name": "Members",
"modifier": "Default",
"ty": {
"Plain": 347
},
"default": [
0
],
"documentation": [
" The current elected members.",
"",
" Invariant: Always sorted based on account id."
]
},
{
"name": "RunnersUp",
"modifier": "Default",
"ty": {
"Plain": 347
},
"default": [
0
],
"documentation": [
" 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."
]
},
{
"name": "Candidates",
"modifier": "Default",
"ty": {
"Plain": 63
},
"default": [
0
],
"documentation": [
" 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."
]
},
{
"name": "ElectionRounds",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" The total number of vote rounds that have happened, excluding the upcoming one."
]
},
{
"name": "Voting",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 349,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Votes and locked stake of a particular voter.",
"",
" TWOX-NOTE: SAFE as `AccountId` is a crypto hash."
]
}
]
},
"calls": {
"ty": 174,
"calls": [
{
"name": "vote",
"arguments": [
{
"name": "votes",
"ty": 55
},
{
"name": "value",
"ty": 51
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" We assume the maximum weight among all 3 cases: vote_equal, vote_more and vote_less.",
" # </weight>"
]
},
{
"name": "remove_voter",
"arguments": [],
"documentation": [
" 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."
]
},
{
"name": "submit_candidacy",
"arguments": [
{
"name": "candidate_count",
"ty": 90
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" The number of current candidates must be provided as witness data.",
" # </weight>"
]
},
{
"name": "renounce_candidacy",
"arguments": [
{
"name": "renouncing",
"ty": 175
}
],
"documentation": [
" Renounce one's intention to be a candidate for the next election round. 3 potential",
" outcomes exist:",
"",
" - `origin` is a candidate and not elected in any set. In this case, the deposit is",
" unreserved, returned and origin is removed as a candidate.",
" - `origin` is a current runner-up. In this case, the deposit is unreserved, returned and",
" origin is removed as a runner-up.",
" - `origin` is a current member. In this case, the deposit is unreserved and origin is",
" removed as a member, consequently not being a candidate for the next round anymore.",
" Similar to [`remove_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.",
"",
" # <weight>",
" The type of renouncing must be provided as witness data.",
" # </weight>"
]
},
{
"name": "remove_member",
"arguments": [
{
"name": "who",
"ty": 130
},
{
"name": "has_replacement",
"ty": 57
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" 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.",
" # </weight>"
]
},
{
"name": "clean_defunct_voters",
"arguments": [
{
"name": "_num_voters",
"ty": 4
},
{
"name": "_num_defunct",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" The total number of voters and those that are defunct must be provided as witness data.",
" # </weight>"
]
}
]
},
"event": {
"ty": 62
},
"constants": [
{
"name": "PalletId",
"ty": 108,
"value": [
112,
104,
114,
101,
108,
101,
99,
116
],
"documentation": [
" Identifier for the elections-phragmen pallet's lock"
]
},
{
"name": "CandidacyBond",
"ty": 6,
"value": [
0,
16,
165,
212,
232,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" How much should be locked up in order to submit one's candidacy."
]
},
{
"name": "VotingBondBase",
"ty": 6,
"value": [
0,
112,
19,
183,
46,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "VotingBondFactor",
"ty": 6,
"value": [
0,
208,
18,
19,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount of bond that need to be locked for each vote (32 bytes)."
]
},
{
"name": "DesiredMembers",
"ty": 4,
"value": [
13,
0,
0,
0
],
"documentation": [
" Number of members to elect."
]
},
{
"name": "DesiredRunnersUp",
"ty": 4,
"value": [
20,
0,
0,
0
],
"documentation": [
" Number of runners_up to keep."
]
},
{
"name": "TermDuration",
"ty": 4,
"value": [
192,
137,
1,
0
],
"documentation": [
" How long each seat is kept. This defines the next block number at which an election",
" round will happen. If set to zero, no elections are ever triggered and the module will",
" be in passive mode."
]
}
],
"error": {
"ty": 350
},
"index": 17
},
{
"name": "TechnicalMembership",
"storage": {
"prefix": "Instance1Membership",
"entries": [
{
"name": "Members",
"modifier": "Default",
"ty": {
"Plain": 55
},
"default": [
0
],
"documentation": [
" The current membership, stored as an ordered Vec."
]
},
{
"name": "Prime",
"modifier": "Optional",
"ty": {
"Plain": 0
},
"default": [
0
],
"documentation": [
" The current prime member, if one exists."
]
}
]
},
"calls": {
"ty": 176,
"calls": [
{
"name": "add_member",
"arguments": [
{
"name": "who",
"ty": 0
}
],
"documentation": [
" Add a member `who` to the set.",
"",
" May only be called from `T::AddOrigin`."
]
},
{
"name": "remove_member",
"arguments": [
{
"name": "who",
"ty": 0
}
],
"documentation": [
" Remove a member `who` from the set.",
"",
" May only be called from `T::RemoveOrigin`."
]
},
{
"name": "swap_member",
"arguments": [
{
"name": "remove",
"ty": 0
},
{
"name": "add",
"ty": 0
}
],
"documentation": [
" 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."
]
},
{
"name": "reset_members",
"arguments": [
{
"name": "members",
"ty": 55
}
],
"documentation": [
" 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`."
]
},
{
"name": "change_key",
"arguments": [
{
"name": "new",
"ty": 0
}
],
"documentation": [
" 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."
]
},
{
"name": "set_prime",
"arguments": [
{
"name": "who",
"ty": 0
}
],
"documentation": [
" Set the prime member. Must be a current member.",
"",
" May only be called from `T::PrimeOrigin`."
]
},
{
"name": "clear_prime",
"arguments": [],
"documentation": [
" Remove the prime member if it exists.",
"",
" May only be called from `T::PrimeOrigin`."
]
}
]
},
"event": {
"ty": 65
},
"constants": [],
"error": {
"ty": 351
},
"index": 18
},
{
"name": "Treasury",
"storage": {
"prefix": "Treasury",
"entries": [
{
"name": "ProposalCount",
"modifier": "Default",
"ty": {
"Plain": 4
},
"default": [
0,
0,
0,
0
],
"documentation": [
" Number of proposals that have been made."
]
},
{
"name": "Proposals",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 4,
"value": 352,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Proposals that have been made."
]
},
{
"name": "Approvals",
"modifier": "Default",
"ty": {
"Plain": 353
},
"default": [
0
],
"documentation": [
" Proposal indices that have been approved but not yet awarded."
]
}
]
},
"calls": {
"ty": 177,
"calls": [
{
"name": "propose_spend",
"arguments": [
{
"name": "value",
"ty": 51
},
{
"name": "beneficiary",
"ty": 130
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - Complexity: O(1)",
" - DbReads: `ProposalCount`, `origin account`",
" - DbWrites: `ProposalCount`, `Proposals`, `origin account`",
" # </weight>"
]
},
{
"name": "reject_proposal",
"arguments": [
{
"name": "proposal_id",
"ty": 90
}
],
"documentation": [
" Reject a proposed spend. The original deposit will be slashed.",
"",
" May only be called from `T::RejectOrigin`.",
"",
" # <weight>",
" - Complexity: O(1)",
" - DbReads: `Proposals`, `rejected proposer account`",
" - DbWrites: `Proposals`, `rejected proposer account`",
" # </weight>"
]
},
{
"name": "approve_proposal",
"arguments": [
{
"name": "proposal_id",
"ty": 90
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - Complexity: O(1).",
" - DbReads: `Proposals`, `Approvals`",
" - DbWrite: `Approvals`",
" # </weight>"
]
}
]
},
"event": {
"ty": 68
},
"constants": [
{
"name": "ProposalBond",
"ty": 355,
"value": [
80,
195,
0,
0
],
"documentation": [
" Fraction of a proposal's value that should be bonded in order to place the proposal.",
" An accepted proposal gets these back. A rejected proposal does not."
]
},
{
"name": "ProposalBondMinimum",
"ty": 6,
"value": [
0,
16,
165,
212,
232,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" Minimum amount of funds that should be placed in a deposit for making a proposal."
]
},
{
"name": "SpendPeriod",
"ty": 4,
"value": [
0,
70,
5,
0
],
"documentation": [
" Period between successive spends."
]
},
{
"name": "Burn",
"ty": 355,
"value": [
16,
39,
0,
0
],
"documentation": [
" Percentage of spare funds (if any) that are burnt per spend period."
]
},
{
"name": "PalletId",
"ty": 356,
"value": [
112,
121,
47,
116,
114,
115,
114,
121
],
"documentation": [
" The treasury's module id, used for deriving its sovereign account ID."
]
}
],
"error": {
"ty": 357
},
"index": 19
},
{
"name": "Claims",
"storage": {
"prefix": "Claims",
"entries": [
{
"name": "Claims",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 71,
"value": 6,
"unused": false
}
},
"default": [
0
],
"documentation": []
},
{
"name": "Total",
"modifier": "Default",
"ty": {
"Plain": 6
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": []
},
{
"name": "Vesting",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 71,
"value": 182,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Vesting schedule for a claim.",
" First balance is the total amount that should be held for vesting.",
" Second balance is how much should be unlocked per block.",
" The block number is when the vesting should start."
]
},
{
"name": "Signing",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 71,
"value": 184,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The statement kind that must be signed, if any."
]
},
{
"name": "Preclaims",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Identity",
"key": 0,
"value": 71,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Pre-claimed Ethereum accounts, by the Account ID that they are claimed to."
]
}
]
},
"calls": {
"ty": 178,
"calls": [
{
"name": "claim",
"arguments": [
{
"name": "dest",
"ty": 0
},
{
"name": "ethereum_signature",
"ty": 179
}
],
"documentation": [
" Make a claim to collect your DOTs.",
"",
" The dispatch origin for this call must be _None_.",
"",
" Unsigned Validation:",
" A call to claim is deemed valid if the signature provided matches",
" the expected signed message of:",
"",
" > Ethereum Signed Message:",
" > (configured prefix string)(address)",
"",
" and `address` matches the `dest` account.",
"",
" Parameters:",
" - `dest`: The destination account to payout the claim.",
" - `ethereum_signature`: The signature of an ethereum signed message",
" matching the format described above.",
"",
" <weight>",
" The weight of this call is invariant over the input parameters.",
" Weight includes logic to validate unsigned `claim` call.",
"",
" Total Complexity: O(1)",
" </weight>"
]
},
{
"name": "mint_claim",
"arguments": [
{
"name": "who",
"ty": 71
},
{
"name": "value",
"ty": 6
},
{
"name": "vesting_schedule",
"ty": 181
},
{
"name": "statement",
"ty": 183
}
],
"documentation": [
" Mint a new claim to collect DOTs.",
"",
" The dispatch origin for this call must be _Root_.",
"",
" Parameters:",
" - `who`: The Ethereum address allowed to collect this claim.",
" - `value`: The number of DOTs that will be claimed.",
" - `vesting_schedule`: An optional vesting schedule for these DOTs.",
"",
" <weight>",
" The weight of this call is invariant over the input parameters.",
" We assume worst case that both vesting and statement is being inserted.",
"",
" Total Complexity: O(1)",
" </weight>"
]
},
{
"name": "claim_attest",
"arguments": [
{
"name": "dest",
"ty": 0
},
{
"name": "ethereum_signature",
"ty": 179
},
{
"name": "statement",
"ty": 10
}
],
"documentation": [
" Make a claim to collect your DOTs by signing a statement.",
"",
" The dispatch origin for this call must be _None_.",
"",
" Unsigned Validation:",
" A call to `claim_attest` is deemed valid if the signature provided matches",
" the expected signed message of:",
"",
" > Ethereum Signed Message:",
" > (configured prefix string)(address)(statement)",
"",
" and `address` matches the `dest` account; the `statement` must match that which is",
" expected according to your purchase arrangement.",
"",
" Parameters:",
" - `dest`: The destination account to payout the claim.",
" - `ethereum_signature`: The signature of an ethereum signed message",
" matching the format described above.",
" - `statement`: The identity of the statement which is being attested to in the signature.",
"",
" <weight>",
" The weight of this call is invariant over the input parameters.",
" Weight includes logic to validate unsigned `claim_attest` call.",
"",
" Total Complexity: O(1)",
" </weight>"
]
},
{
"name": "attest",
"arguments": [
{
"name": "statement",
"ty": 10
}
],
"documentation": [
" Attest to a statement, needed to finalize the claims process.",
"",
" WARNING: Insecure unless your chain includes `PrevalidateAttests` as a `SignedExtension`.",
"",
" Unsigned Validation:",
" A call to attest is deemed valid if the sender has a `Preclaim` registered",
" and provides a `statement` which is expected for the account.",
"",
" Parameters:",
" - `statement`: The identity of the statement which is being attested to in the signature.",
"",
" <weight>",
" The weight of this call is invariant over the input parameters.",
" Weight includes logic to do pre-validation on `attest` call.",
"",
" Total Complexity: O(1)",
" </weight>"
]
},
{
"name": "move_claim",
"arguments": [
{
"name": "old",
"ty": 71
},
{
"name": "new",
"ty": 71
},
{
"name": "maybe_preclaim",
"ty": 172
}
],
"documentation": []
}
]
},
"event": {
"ty": 70
},
"constants": [
{
"name": "Prefix",
"ty": 10,
"value": [
132,
80,
97,
121,
32,
68,
79,
84,
115,
32,
116,
111,
32,
116,
104,
101,
32,
80,
111,
108,
107,
97,
100,
111,
116,
32,
97,
99,
99,
111,
117,
110,
116,
58
],
"documentation": []
}
],
"error": {
"ty": 358
},
"index": 24
},
{
"name": "Vesting",
"storage": {
"prefix": "Vesting",
"entries": [
{
"name": "Vesting",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 186,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Information regarding the vesting of a given account."
]
}
]
},
"calls": {
"ty": 185,
"calls": [
{
"name": "vest",
"arguments": [],
"documentation": [
" 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`.",
"",
" # <weight>",
" - `O(1)`.",
" - DbWeight: 2 Reads, 2 Writes",
" - Reads: Vesting Storage, Balances Locks, [Sender Account]",
" - Writes: Vesting Storage, Balances Locks, [Sender Account]",
" # </weight>"
]
},
{
"name": "vest_other",
"arguments": [
{
"name": "target",
"ty": 130
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - `O(1)`.",
" - DbWeight: 3 Reads, 3 Writes",
" - Reads: Vesting Storage, Balances Locks, Target Account",
" - Writes: Vesting Storage, Balances Locks, Target Account",
" # </weight>"
]
},
{
"name": "vested_transfer",
"arguments": [
{
"name": "target",
"ty": 130
},
{
"name": "schedule",
"ty": 186
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - `O(1)`.",
" - DbWeight: 3 Reads, 3 Writes",
" - Reads: Vesting Storage, Balances Locks, Target Account, [Sender Account]",
" - Writes: Vesting Storage, Balances Locks, Target Account, [Sender Account]",
" # </weight>"
]
},
{
"name": "force_vested_transfer",
"arguments": [
{
"name": "source",
"ty": 130
},
{
"name": "target",
"ty": 130
},
{
"name": "schedule",
"ty": 186
}
],
"documentation": [
" 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`.",
"",
" # <weight>",
" - `O(1)`.",
" - DbWeight: 4 Reads, 4 Writes",
" - Reads: Vesting Storage, Balances Locks, Target Account, Source Account",
" - Writes: Vesting Storage, Balances Locks, Target Account, Source Account",
" # </weight>"
]
}
]
},
"event": {
"ty": 73
},
"constants": [
{
"name": "MinVestedTransfer",
"ty": 6,
"value": [
0,
228,
11,
84,
2,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The minimum amount transferred to call `vested_transfer`."
]
}
],
"error": {
"ty": 359
},
"index": 25
},
{
"name": "Utility",
"storage": null,
"calls": {
"ty": 187,
"calls": [
{
"name": "batch",
"arguments": [
{
"name": "calls",
"ty": 188
}
],
"documentation": [
" 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`).",
"",
" # <weight>",
" - Complexity: O(C) where C is the number of calls to be batched.",
" # </weight>",
"",
" This will return `Ok` in all circumstances. To determine the success of the batch, an",
" event is deposited. If a call failed and the batch was interrupted, then the",
" `BatchInterrupted` event is deposited, along with the number of successful calls made",
" and the error of the failed call. If all were successful, then the `BatchCompleted`",
" event is deposited."
]
},
{
"name": "as_derivative",
"arguments": [
{
"name": "index",
"ty": 78
},
{
"name": "call",
"ty": 114
}
],
"documentation": [
" 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_."
]
},
{
"name": "batch_all",
"arguments": [
{
"name": "calls",
"ty": 188
}
],
"documentation": [
" 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`).",
"",
" # <weight>",
" - Complexity: O(C) where C is the number of calls to be batched.",
" # </weight>"
]
}
]
},
"event": {
"ty": 74
},
"constants": [],
"error": null,
"index": 26
},
{
"name": "Identity",
"storage": {
"prefix": "Identity",
"entries": [
{
"name": "IdentityOf",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 360,
"unused": false
}
},
"default": [
0
],
"documentation": [
" Information that is pertinent to identify the entity behind an account.",
"",
" TWOX-NOTE: OK ― `AccountId` is a secure hash."
]
},
{
"name": "SuperOf",
"modifier": "Optional",
"ty": {
"Map": {
"hasher": "Blake2_128Concat",
"key": 0,
"value": 196,
"unused": false
}
},
"default": [
0
],
"documentation": [
" The super-identity of an alternative \"sub\" identity together with its name, within that",
" context. If the account is not some other account's sub-identity, then just `None`."
]
},
{
"name": "SubsOf",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 363,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" 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."
]
},
{
"name": "Registrars",
"modifier": "Default",
"ty": {
"Plain": 364
},
"default": [
0
],
"documentation": [
" 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."
]
}
]
},
"calls": {
"ty": 189,
"calls": [
{
"name": "add_registrar",
"arguments": [
{
"name": "account",
"ty": 0
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R)` where `R` registrar-count (governance-bounded and code-bounded).",
" - One storage mutation (codec `O(R)`).",
" - One event.",
" # </weight>"
]
},
{
"name": "set_identity",
"arguments": [
{
"name": "info",
"ty": 190
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(X + X' + R)`",
" - where `X` additional-field-count (deposit-bounded and code-bounded)",
" - where `R` judgements-count (registrar-count-bounded)",
" - One balance reserve operation.",
" - One storage mutation (codec-read `O(X' + R)`, codec-write `O(X + R)`).",
" - One event.",
" # </weight>"
]
},
{
"name": "set_subs",
"arguments": [
{
"name": "subs",
"ty": 195
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(P + S)`",
" - where `P` old-subs-count (hard- and deposit-bounded).",
" - where `S` subs-count (hard- and deposit-bounded).",
" - At most one balance operations.",
" - DB:",
" - `P + S` storage mutations (codec complexity `O(1)`)",
" - One storage read (codec complexity `O(P)`).",
" - One storage write (codec complexity `O(S)`).",
" - One storage-exists (`IdentityOf::contains_key`).",
" # </weight>"
]
},
{
"name": "clear_identity",
"arguments": [],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R + S + X)`",
" - where `R` registrar-count (governance-bounded).",
" - where `S` subs-count (hard- and deposit-bounded).",
" - where `X` additional-field-count (deposit-bounded and code-bounded).",
" - One balance-unreserve operation.",
" - `2` storage reads and `S + 2` storage deletions.",
" - One event.",
" # </weight>"
]
},
{
"name": "request_judgement",
"arguments": [
{
"name": "reg_index",
"ty": 90
},
{
"name": "max_fee",
"ty": 51
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R + X)`.",
" - One balance-reserve operation.",
" - Storage: 1 read `O(R)`, 1 mutate `O(X + R)`.",
" - One event.",
" # </weight>"
]
},
{
"name": "cancel_request",
"arguments": [
{
"name": "reg_index",
"ty": 4
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R + X)`.",
" - One balance-reserve operation.",
" - One storage mutation `O(R + X)`.",
" - One event",
" # </weight>"
]
},
{
"name": "set_fee",
"arguments": [
{
"name": "index",
"ty": 90
},
{
"name": "fee",
"ty": 51
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R)`.",
" - One storage mutation `O(R)`.",
" - Benchmark: 7.315 + R * 0.329 µs (min squares analysis)",
" # </weight>"
]
},
{
"name": "set_account_id",
"arguments": [
{
"name": "index",
"ty": 90
},
{
"name": "new",
"ty": 0
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R)`.",
" - One storage mutation `O(R)`.",
" - Benchmark: 8.823 + R * 0.32 µs (min squares analysis)",
" # </weight>"
]
},
{
"name": "set_fields",
"arguments": [
{
"name": "index",
"ty": 90
},
{
"name": "fields",
"ty": 197
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R)`.",
" - One storage mutation `O(R)`.",
" - Benchmark: 7.464 + R * 0.325 µs (min squares analysis)",
" # </weight>"
]
},
{
"name": "provide_judgement",
"arguments": [
{
"name": "reg_index",
"ty": 90
},
{
"name": "target",
"ty": 130
},
{
"name": "judgement",
"ty": 198
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R + X)`.",
" - One balance-transfer operation.",
" - Up to one account-lookup operation.",
" - Storage: 1 read `O(R)`, 1 mutate `O(R + X)`.",
" - One event.",
" # </weight>"
]
},
{
"name": "kill_identity",
"arguments": [
{
"name": "target",
"ty": 130
}
],
"documentation": [
" 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.",
"",
" # <weight>",
" - `O(R + S + X)`.",
" - One balance-reserve operation.",
" - `S + 2` storage mutations.",
" - One event.",
" # </weight>"
]
},
{
"name": "add_sub",
"arguments": [
{
"name": "sub",
"ty": 130
},
{
"name": "data",
"ty": 193
}
],
"documentation": [
" 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`."
]
},
{
"name": "rename_sub",
"arguments": [
{
"name": "sub",
"ty": 130
},
{
"name": "data",
"ty": 193
}
],
"documentation": [
" 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`."
]
},
{
"name": "remove_sub",
"arguments": [
{
"name": "sub",
"ty": 130
}
],
"documentation": [
" 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`."
]
},
{
"name": "quit_sub",
"arguments": [],
"documentation": [
" 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."
]
}
]
},
"event": {
"ty": 75
},
"constants": [
{
"name": "BasicDeposit",
"ty": 6,
"value": [
0,
125,
181,
42,
47,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount held on deposit for a registered identity"
]
},
{
"name": "FieldDeposit",
"ty": 6,
"value": [
0,
205,
86,
39,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount held on deposit per additional field for a registered identity."
]
},
{
"name": "SubAccountDeposit",
"ty": 6,
"value": [
128,
248,
132,
176,
46,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The amount held on deposit for a registered subaccount. This should account for the fact",
" that one storage item's value will increase by the size of an account ID, and there will be",
" another trie item whose value is the size of an account ID plus 32 bytes."
]
},
{
"name": "MaxSubAccounts",
"ty": 4,
"value": [
100,
0,
0,
0
],
"documentation": [
" The maximum number of sub-accounts allowed per identified account."
]
},
{
"name": "MaxAdditionalFields",
"ty": 4,
"value": [
100,
0,
0,
0
],
"documentation": [
" Maximum number of additional fields that may be stored in an ID. Needed to bound the I/O",
" required to access an identity, but can be pretty high."
]
},
{
"name": "MaxRegistrars",
"ty": 4,
"value": [
20,
0,
0,
0
],
"documentation": [
" Maxmimum number of registrars allowed in the system. Needed to bound the complexity",
" of, e.g., updating judgements."
]
}
],
"error": {
"ty": 367
},
"index": 28
},
{
"name": "Proxy",
"storage": {
"prefix": "Proxy",
"entries": [
{
"name": "Proxies",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 368,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0
],
"documentation": [
" The set of account proxies. Maps the account which has delegated to the accounts",
" which are being delegated to, together with the amount held on deposit."
]
},
{
"name": "Announcements",
"modifier": "Default",
"ty": {
"Map": {
"hasher": "Twox64Concat",
"key": 0,
"value": 373,
"unused": false
}
},
"default": [
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
0,
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment