mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-11 22:21:07 +00:00
0583e902b3
Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
23587 lines
846 KiB
JSON
23587 lines
846 KiB
JSON
[
|
|
1635018093,
|
|
{
|
|
"V14": {
|
|
"types": {
|
|
"types": [
|
|
{
|
|
"id": 0,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_grandpa",
|
|
"Equivocation"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "H",
|
|
"type": 1
|
|
},
|
|
{
|
|
"name": "N",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Prevote",
|
|
"fields": [
|
|
{
|
|
"type": 5,
|
|
"typeName": "grandpa::Equivocation<AuthorityId, grandpa::Prevote<H, N>,\nAuthoritySignature>"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Precommit",
|
|
"fields": [
|
|
{
|
|
"type": 14,
|
|
"typeName": "grandpa::Equivocation<AuthorityId, grandpa::Precommit<H, N>,\nAuthoritySignature>"
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 1,
|
|
"type": {
|
|
"path": [
|
|
"primitive_types",
|
|
"H256"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 32,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": {
|
|
"def": {
|
|
"primitive": "u8"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": {
|
|
"def": {
|
|
"primitive": "u32"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": {
|
|
"path": [
|
|
"finality_grandpa",
|
|
"Equivocation"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Id",
|
|
"type": 6
|
|
},
|
|
{
|
|
"name": "V",
|
|
"type": 8
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": 9
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "round_number",
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
},
|
|
{
|
|
"name": "identity",
|
|
"type": 6,
|
|
"typeName": "Id"
|
|
},
|
|
{
|
|
"name": "first",
|
|
"type": 13,
|
|
"typeName": "(V, S)"
|
|
},
|
|
{
|
|
"name": "second",
|
|
"type": 13,
|
|
"typeName": "(V, S)"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 6,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_grandpa",
|
|
"app",
|
|
"Public"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 7,
|
|
"typeName": "ed25519::Public"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"ed25519",
|
|
"Public"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": {
|
|
"path": [
|
|
"finality_grandpa",
|
|
"Prevote"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "H",
|
|
"type": 1
|
|
},
|
|
{
|
|
"name": "N",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "target_hash",
|
|
"type": 1,
|
|
"typeName": "H"
|
|
},
|
|
{
|
|
"name": "target_number",
|
|
"type": 4,
|
|
"typeName": "N"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_grandpa",
|
|
"app",
|
|
"Signature"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 10,
|
|
"typeName": "ed25519::Signature"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"ed25519",
|
|
"Signature"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 11,
|
|
"typeName": "[u8; 64]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 11,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 64,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": {
|
|
"def": {
|
|
"primitive": "u64"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 13,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
8,
|
|
9
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 14,
|
|
"type": {
|
|
"path": [
|
|
"finality_grandpa",
|
|
"Equivocation"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Id",
|
|
"type": 6
|
|
},
|
|
{
|
|
"name": "V",
|
|
"type": 15
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": 9
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "round_number",
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
},
|
|
{
|
|
"name": "identity",
|
|
"type": 6,
|
|
"typeName": "Id"
|
|
},
|
|
{
|
|
"name": "first",
|
|
"type": 16,
|
|
"typeName": "(V, S)"
|
|
},
|
|
{
|
|
"name": "second",
|
|
"type": 16,
|
|
"typeName": "(V, S)"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 15,
|
|
"type": {
|
|
"path": [
|
|
"finality_grandpa",
|
|
"Precommit"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "H",
|
|
"type": 1
|
|
},
|
|
{
|
|
"name": "N",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "target_hash",
|
|
"type": 1,
|
|
"typeName": "H"
|
|
},
|
|
{
|
|
"name": "target_number",
|
|
"type": 4,
|
|
"typeName": "N"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 16,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
15,
|
|
9
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 17,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 5,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 18,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
19,
|
|
21
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 19,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 20
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 20,
|
|
"type": {
|
|
"def": {
|
|
"primitive": "u16"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 21,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 22
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 22,
|
|
"type": {
|
|
"path": [
|
|
"sp_arithmetic",
|
|
"per_things",
|
|
"PerU16"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 23,
|
|
"type": {
|
|
"path": [
|
|
"pallet_multisig",
|
|
"Timepoint"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "BlockNumber",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "height",
|
|
"type": 4,
|
|
"typeName": "BlockNumber"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 24,
|
|
"type": {
|
|
"path": [
|
|
"pallet_utility",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "batch",
|
|
"fields": [
|
|
{
|
|
"name": "calls",
|
|
"type": 25,
|
|
"typeName": "Vec<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Send a batch of dispatch calls.",
|
|
"",
|
|
"May be called from any origin except `None`.",
|
|
"",
|
|
"- `calls`: The calls to be dispatched from the same origin. The number of call must not",
|
|
" exceed the constant: `batched_calls_limit` (available in constant metadata).",
|
|
"",
|
|
"If origin is root then the calls are dispatched without checking origin filter. (This",
|
|
"includes bypassing `frame_system::Config::BaseCallFilter`).",
|
|
"",
|
|
"## Complexity",
|
|
"- O(C) where C is the number of calls to be batched.",
|
|
"",
|
|
"This will return `Ok` in all circumstances. To determine the success of the batch, an",
|
|
"event is deposited. If a call failed and the batch was interrupted, then the",
|
|
"`BatchInterrupted` event is deposited, along with the number of successful calls made",
|
|
"and the error of the failed call. If all were successful, then the `BatchCompleted`",
|
|
"event is deposited."
|
|
]
|
|
},
|
|
{
|
|
"name": "as_derivative",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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": [
|
|
{
|
|
"name": "calls",
|
|
"type": 25,
|
|
"typeName": "Vec<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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 except `None`.",
|
|
"",
|
|
"- `calls`: The calls to be dispatched from the same origin. The number of call must not",
|
|
" exceed the constant: `batched_calls_limit` (available in constant metadata).",
|
|
"",
|
|
"If origin is root then the calls are dispatched without checking origin filter. (This",
|
|
"includes bypassing `frame_system::Config::BaseCallFilter`).",
|
|
"",
|
|
"## Complexity",
|
|
"- O(C) where C is the number of calls to be batched."
|
|
]
|
|
},
|
|
{
|
|
"name": "dispatch_as",
|
|
"fields": [
|
|
{
|
|
"name": "as_origin",
|
|
"type": 271,
|
|
"typeName": "Box<T::PalletsOrigin>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Dispatches a function call with a provided origin.",
|
|
"",
|
|
"The dispatch origin for this call must be _Root_.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_batch",
|
|
"fields": [
|
|
{
|
|
"name": "calls",
|
|
"type": 25,
|
|
"typeName": "Vec<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Send a batch of dispatch calls.",
|
|
"Unlike `batch`, it allows errors and won't interrupt.",
|
|
"",
|
|
"May be called from any origin except `None`.",
|
|
"",
|
|
"- `calls`: The calls to be dispatched from the same origin. The number of call must not",
|
|
" exceed the constant: `batched_calls_limit` (available in constant metadata).",
|
|
"",
|
|
"If origin is root then the calls are dispatch without checking origin filter. (This",
|
|
"includes bypassing `frame_system::Config::BaseCallFilter`).",
|
|
"",
|
|
"## Complexity",
|
|
"- O(C) where C is the number of calls to be batched."
|
|
]
|
|
},
|
|
{
|
|
"name": "with_weight",
|
|
"fields": [
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
},
|
|
{
|
|
"name": "weight",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Dispatch a function call with a specified weight.",
|
|
"",
|
|
"This function does not check the weight of the call, and instead allows the",
|
|
"Root origin to specify the weight of the call.",
|
|
"",
|
|
"The dispatch origin for this call must be _Root_."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 25,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 26
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 26,
|
|
"type": {
|
|
"path": [
|
|
"kitchensink_runtime",
|
|
"RuntimeCall"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "System",
|
|
"fields": [
|
|
{
|
|
"type": 27,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<System, Runtime>"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Utility",
|
|
"fields": [
|
|
{
|
|
"type": 24,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Utility, Runtime>"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Babe",
|
|
"fields": [
|
|
{
|
|
"type": 32,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Babe, Runtime>"
|
|
}
|
|
],
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Timestamp",
|
|
"fields": [
|
|
{
|
|
"type": 48,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Timestamp, Runtime>"
|
|
}
|
|
],
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "Indices",
|
|
"fields": [
|
|
{
|
|
"type": 50,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Indices, Runtime>"
|
|
}
|
|
],
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Balances",
|
|
"fields": [
|
|
{
|
|
"type": 55,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Balances, Runtime>"
|
|
}
|
|
],
|
|
"index": 6
|
|
},
|
|
{
|
|
"name": "ElectionProviderMultiPhase",
|
|
"fields": [
|
|
{
|
|
"type": 58,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<ElectionProviderMultiPhase, Runtime>"
|
|
}
|
|
],
|
|
"index": 9
|
|
},
|
|
{
|
|
"name": "Staking",
|
|
"fields": [
|
|
{
|
|
"type": 115,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Staking, Runtime>"
|
|
}
|
|
],
|
|
"index": 10
|
|
},
|
|
{
|
|
"name": "Session",
|
|
"fields": [
|
|
{
|
|
"type": 128,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Session, Runtime>"
|
|
}
|
|
],
|
|
"index": 11
|
|
},
|
|
{
|
|
"name": "Democracy",
|
|
"fields": [
|
|
{
|
|
"type": 132,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Democracy, Runtime>"
|
|
}
|
|
],
|
|
"index": 12
|
|
},
|
|
{
|
|
"name": "Council",
|
|
"fields": [
|
|
{
|
|
"type": 140,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Council, Runtime>"
|
|
}
|
|
],
|
|
"index": 13
|
|
},
|
|
{
|
|
"name": "TechnicalCommittee",
|
|
"fields": [
|
|
{
|
|
"type": 145,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<TechnicalCommittee, Runtime>"
|
|
}
|
|
],
|
|
"index": 14
|
|
},
|
|
{
|
|
"name": "Elections",
|
|
"fields": [
|
|
{
|
|
"type": 146,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Elections, Runtime>"
|
|
}
|
|
],
|
|
"index": 15
|
|
},
|
|
{
|
|
"name": "TechnicalMembership",
|
|
"fields": [
|
|
{
|
|
"type": 148,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<TechnicalMembership, Runtime>"
|
|
}
|
|
],
|
|
"index": 16
|
|
},
|
|
{
|
|
"name": "Grandpa",
|
|
"fields": [
|
|
{
|
|
"type": 149,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Grandpa, Runtime>"
|
|
}
|
|
],
|
|
"index": 17
|
|
},
|
|
{
|
|
"name": "Treasury",
|
|
"fields": [
|
|
{
|
|
"type": 151,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Treasury, Runtime>"
|
|
}
|
|
],
|
|
"index": 18
|
|
},
|
|
{
|
|
"name": "Contracts",
|
|
"fields": [
|
|
{
|
|
"type": 152,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Contracts, Runtime>"
|
|
}
|
|
],
|
|
"index": 19
|
|
},
|
|
{
|
|
"name": "Sudo",
|
|
"fields": [
|
|
{
|
|
"type": 155,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Sudo, Runtime>"
|
|
}
|
|
],
|
|
"index": 20
|
|
},
|
|
{
|
|
"name": "ImOnline",
|
|
"fields": [
|
|
{
|
|
"type": 156,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<ImOnline, Runtime>"
|
|
}
|
|
],
|
|
"index": 21
|
|
},
|
|
{
|
|
"name": "Identity",
|
|
"fields": [
|
|
{
|
|
"type": 164,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Identity, Runtime>"
|
|
}
|
|
],
|
|
"index": 26
|
|
},
|
|
{
|
|
"name": "Society",
|
|
"fields": [
|
|
{
|
|
"type": 206,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Society, Runtime>"
|
|
}
|
|
],
|
|
"index": 27
|
|
},
|
|
{
|
|
"name": "Recovery",
|
|
"fields": [
|
|
{
|
|
"type": 208,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Recovery, Runtime>"
|
|
}
|
|
],
|
|
"index": 28
|
|
},
|
|
{
|
|
"name": "Vesting",
|
|
"fields": [
|
|
{
|
|
"type": 209,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Vesting, Runtime>"
|
|
}
|
|
],
|
|
"index": 29
|
|
},
|
|
{
|
|
"name": "Scheduler",
|
|
"fields": [
|
|
{
|
|
"type": 211,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Scheduler, Runtime>"
|
|
}
|
|
],
|
|
"index": 30
|
|
},
|
|
{
|
|
"name": "Glutton",
|
|
"fields": [
|
|
{
|
|
"type": 214,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Glutton, Runtime>"
|
|
}
|
|
],
|
|
"index": 31
|
|
},
|
|
{
|
|
"name": "Preimage",
|
|
"fields": [
|
|
{
|
|
"type": 215,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Preimage, Runtime>"
|
|
}
|
|
],
|
|
"index": 32
|
|
},
|
|
{
|
|
"name": "Proxy",
|
|
"fields": [
|
|
{
|
|
"type": 216,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Proxy, Runtime>"
|
|
}
|
|
],
|
|
"index": 33
|
|
},
|
|
{
|
|
"name": "Multisig",
|
|
"fields": [
|
|
{
|
|
"type": 219,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Multisig, Runtime>"
|
|
}
|
|
],
|
|
"index": 34
|
|
},
|
|
{
|
|
"name": "Bounties",
|
|
"fields": [
|
|
{
|
|
"type": 221,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Bounties, Runtime>"
|
|
}
|
|
],
|
|
"index": 35
|
|
},
|
|
{
|
|
"name": "Tips",
|
|
"fields": [
|
|
{
|
|
"type": 222,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Tips, Runtime>"
|
|
}
|
|
],
|
|
"index": 36
|
|
},
|
|
{
|
|
"name": "Assets",
|
|
"fields": [
|
|
{
|
|
"type": 223,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Assets, Runtime>"
|
|
}
|
|
],
|
|
"index": 37
|
|
},
|
|
{
|
|
"name": "Lottery",
|
|
"fields": [
|
|
{
|
|
"type": 224,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Lottery, Runtime>"
|
|
}
|
|
],
|
|
"index": 39
|
|
},
|
|
{
|
|
"name": "Nis",
|
|
"fields": [
|
|
{
|
|
"type": 225,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Nis, Runtime>"
|
|
}
|
|
],
|
|
"index": 40
|
|
},
|
|
{
|
|
"name": "Uniques",
|
|
"fields": [
|
|
{
|
|
"type": 228,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Uniques, Runtime>"
|
|
}
|
|
],
|
|
"index": 41
|
|
},
|
|
{
|
|
"name": "Nfts",
|
|
"fields": [
|
|
{
|
|
"type": 235,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Nfts, Runtime>"
|
|
}
|
|
],
|
|
"index": 42
|
|
},
|
|
{
|
|
"name": "TransactionStorage",
|
|
"fields": [
|
|
{
|
|
"type": 260,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<TransactionStorage, Runtime>"
|
|
}
|
|
],
|
|
"index": 43
|
|
},
|
|
{
|
|
"name": "VoterList",
|
|
"fields": [
|
|
{
|
|
"type": 262,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<VoterList, Runtime>"
|
|
}
|
|
],
|
|
"index": 44
|
|
},
|
|
{
|
|
"name": "StateTrieMigration",
|
|
"fields": [
|
|
{
|
|
"type": 263,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<StateTrieMigration, Runtime>"
|
|
}
|
|
],
|
|
"index": 45
|
|
},
|
|
{
|
|
"name": "ChildBounties",
|
|
"fields": [
|
|
{
|
|
"type": 269,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<ChildBounties, Runtime>"
|
|
}
|
|
],
|
|
"index": 46
|
|
},
|
|
{
|
|
"name": "Referenda",
|
|
"fields": [
|
|
{
|
|
"type": 270,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Referenda, Runtime>"
|
|
}
|
|
],
|
|
"index": 47
|
|
},
|
|
{
|
|
"name": "Remark",
|
|
"fields": [
|
|
{
|
|
"type": 278,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Remark, Runtime>"
|
|
}
|
|
],
|
|
"index": 48
|
|
},
|
|
{
|
|
"name": "RootTesting",
|
|
"fields": [
|
|
{
|
|
"type": 279,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<RootTesting, Runtime>"
|
|
}
|
|
],
|
|
"index": 49
|
|
},
|
|
{
|
|
"name": "ConvictionVoting",
|
|
"fields": [
|
|
{
|
|
"type": 280,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<ConvictionVoting, Runtime>"
|
|
}
|
|
],
|
|
"index": 50
|
|
},
|
|
{
|
|
"name": "Whitelist",
|
|
"fields": [
|
|
{
|
|
"type": 285,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Whitelist, Runtime>"
|
|
}
|
|
],
|
|
"index": 51
|
|
},
|
|
{
|
|
"name": "AllianceMotion",
|
|
"fields": [
|
|
{
|
|
"type": 286,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<AllianceMotion, Runtime>"
|
|
}
|
|
],
|
|
"index": 52
|
|
},
|
|
{
|
|
"name": "Alliance",
|
|
"fields": [
|
|
{
|
|
"type": 287,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Alliance, Runtime>"
|
|
}
|
|
],
|
|
"index": 53
|
|
},
|
|
{
|
|
"name": "NominationPools",
|
|
"fields": [
|
|
{
|
|
"type": 296,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<NominationPools, Runtime>"
|
|
}
|
|
],
|
|
"index": 54
|
|
},
|
|
{
|
|
"name": "RankedPolls",
|
|
"fields": [
|
|
{
|
|
"type": 303,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<RankedPolls, Runtime>"
|
|
}
|
|
],
|
|
"index": 55
|
|
},
|
|
{
|
|
"name": "RankedCollective",
|
|
"fields": [
|
|
{
|
|
"type": 304,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<RankedCollective, Runtime>"
|
|
}
|
|
],
|
|
"index": 56
|
|
},
|
|
{
|
|
"name": "FastUnstake",
|
|
"fields": [
|
|
{
|
|
"type": 305,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<FastUnstake, Runtime>"
|
|
}
|
|
],
|
|
"index": 57
|
|
},
|
|
{
|
|
"name": "MessageQueue",
|
|
"fields": [
|
|
{
|
|
"type": 306,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<MessageQueue, Runtime>"
|
|
}
|
|
],
|
|
"index": 58
|
|
},
|
|
{
|
|
"name": "Pov",
|
|
"fields": [
|
|
{
|
|
"type": 307,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::dispatch\n::CallableCallFor<Pov, Runtime>"
|
|
}
|
|
],
|
|
"index": 59
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 27,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "remark",
|
|
"fields": [
|
|
{
|
|
"name": "remark",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Make some on-chain remark.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_heap_pages",
|
|
"fields": [
|
|
{
|
|
"name": "pages",
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Set the number of pages in the WebAssembly environment's heap."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_code",
|
|
"fields": [
|
|
{
|
|
"name": "code",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Set the new runtime code.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_code_without_checks",
|
|
"fields": [
|
|
{
|
|
"name": "code",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Set the new runtime code without doing any checks of the given `code`.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(C)` where `C` length of `code`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_storage",
|
|
"fields": [
|
|
{
|
|
"name": "items",
|
|
"type": 29,
|
|
"typeName": "Vec<KeyValue>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Set some items of storage."
|
|
]
|
|
},
|
|
{
|
|
"name": "kill_storage",
|
|
"fields": [
|
|
{
|
|
"name": "keys",
|
|
"type": 31,
|
|
"typeName": "Vec<Key>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Kill some items from storage."
|
|
]
|
|
},
|
|
{
|
|
"name": "kill_prefix",
|
|
"fields": [
|
|
{
|
|
"name": "prefix",
|
|
"type": 28,
|
|
"typeName": "Key"
|
|
},
|
|
{
|
|
"name": "subkeys",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "remark_with_event",
|
|
"fields": [
|
|
{
|
|
"name": "remark",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Make some on-chain remark and emit event."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 28,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 29,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 30
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 30,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
28,
|
|
28
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 31,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 28
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 32,
|
|
"type": {
|
|
"path": [
|
|
"pallet_babe",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "report_equivocation",
|
|
"fields": [
|
|
{
|
|
"name": "equivocation_proof",
|
|
"type": 33,
|
|
"typeName": "Box<EquivocationProof<T::Header>>"
|
|
},
|
|
{
|
|
"name": "key_owner_proof",
|
|
"type": 44,
|
|
"typeName": "T::KeyOwnerProof"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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": [
|
|
{
|
|
"name": "equivocation_proof",
|
|
"type": 33,
|
|
"typeName": "Box<EquivocationProof<T::Header>>"
|
|
},
|
|
{
|
|
"name": "key_owner_proof",
|
|
"type": 44,
|
|
"typeName": "T::KeyOwnerProof"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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": [
|
|
{
|
|
"name": "config",
|
|
"type": 45,
|
|
"typeName": "NextConfigDescriptor"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 33,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_slots",
|
|
"EquivocationProof"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Header",
|
|
"type": 34
|
|
},
|
|
{
|
|
"name": "Id",
|
|
"type": 41
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "offender",
|
|
"type": 41,
|
|
"typeName": "Id"
|
|
},
|
|
{
|
|
"name": "slot",
|
|
"type": 43,
|
|
"typeName": "Slot"
|
|
},
|
|
{
|
|
"name": "first_header",
|
|
"type": 34,
|
|
"typeName": "Header"
|
|
},
|
|
{
|
|
"name": "second_header",
|
|
"type": 34,
|
|
"typeName": "Header"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 34,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"generic",
|
|
"header",
|
|
"Header"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Number",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "Hash",
|
|
"type": 35
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "parent_hash",
|
|
"type": 1,
|
|
"typeName": "Hash::Output"
|
|
},
|
|
{
|
|
"name": "number",
|
|
"type": 36,
|
|
"typeName": "Number"
|
|
},
|
|
{
|
|
"name": "state_root",
|
|
"type": 1,
|
|
"typeName": "Hash::Output"
|
|
},
|
|
{
|
|
"name": "extrinsics_root",
|
|
"type": 1,
|
|
"typeName": "Hash::Output"
|
|
},
|
|
{
|
|
"name": "digest",
|
|
"type": 37,
|
|
"typeName": "Digest"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 35,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"traits",
|
|
"BlakeTwo256"
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 36,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 4
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 37,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"generic",
|
|
"digest",
|
|
"Digest"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "logs",
|
|
"type": 38,
|
|
"typeName": "Vec<DigestItem>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 38,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 39
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 39,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"generic",
|
|
"digest",
|
|
"DigestItem"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "PreRuntime",
|
|
"fields": [
|
|
{
|
|
"type": 40,
|
|
"typeName": "ConsensusEngineId"
|
|
},
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 6
|
|
},
|
|
{
|
|
"name": "Consensus",
|
|
"fields": [
|
|
{
|
|
"type": 40,
|
|
"typeName": "ConsensusEngineId"
|
|
},
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "Seal",
|
|
"fields": [
|
|
{
|
|
"type": 40,
|
|
"typeName": "ConsensusEngineId"
|
|
},
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Other",
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "RuntimeEnvironmentUpdated",
|
|
"index": 8
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 40,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 4,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 41,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_babe",
|
|
"app",
|
|
"Public"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 42,
|
|
"typeName": "sr25519::Public"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 42,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"sr25519",
|
|
"Public"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 43,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_slots",
|
|
"Slot"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 44,
|
|
"type": {
|
|
"path": [
|
|
"sp_session",
|
|
"MembershipProof"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "session",
|
|
"type": 4,
|
|
"typeName": "SessionIndex"
|
|
},
|
|
{
|
|
"name": "trie_nodes",
|
|
"type": 31,
|
|
"typeName": "Vec<Vec<u8>>"
|
|
},
|
|
{
|
|
"name": "validator_count",
|
|
"type": 4,
|
|
"typeName": "ValidatorCount"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 45,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_babe",
|
|
"digests",
|
|
"NextConfigDescriptor"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "V1",
|
|
"fields": [
|
|
{
|
|
"name": "c",
|
|
"type": 46,
|
|
"typeName": "(u64, u64)"
|
|
},
|
|
{
|
|
"name": "allowed_slots",
|
|
"type": 47,
|
|
"typeName": "AllowedSlots"
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 46,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
12,
|
|
12
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 47,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_babe",
|
|
"AllowedSlots"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "PrimarySlots",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "PrimaryAndSecondaryPlainSlots",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "PrimaryAndSecondaryVRFSlots",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 48,
|
|
"type": {
|
|
"path": [
|
|
"pallet_timestamp",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "set",
|
|
"fields": [
|
|
{
|
|
"name": "now",
|
|
"type": 49,
|
|
"typeName": "T::Moment"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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`.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)",
|
|
"- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in",
|
|
" `on_finalize`)",
|
|
"- 1 event handler `on_timestamp_set`. Must be `O(1)`."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 49,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 12
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 50,
|
|
"type": {
|
|
"path": [
|
|
"pallet_indices",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "claim",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "T::AccountIndex"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer",
|
|
"fields": [
|
|
{
|
|
"name": "new",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "T::AccountIndex"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "free",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "T::AccountIndex"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "new",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "T::AccountIndex"
|
|
},
|
|
{
|
|
"name": "freeze",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "freeze",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "T::AccountIndex"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 51,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"multiaddress",
|
|
"MultiAddress"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "AccountIndex",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Id",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Index",
|
|
"fields": [
|
|
{
|
|
"type": 36,
|
|
"typeName": "AccountIndex"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Raw",
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Address32",
|
|
"fields": [
|
|
{
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
}
|
|
],
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "Address20",
|
|
"fields": [
|
|
{
|
|
"type": 53,
|
|
"typeName": "[u8; 20]"
|
|
}
|
|
],
|
|
"index": 4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 52,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"crypto",
|
|
"AccountId32"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 53,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 20,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 54,
|
|
"type": {
|
|
"def": {
|
|
"primitive": "bool"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 55,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "transfer",
|
|
"fields": [
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Transfer some liquid free balance to another account.",
|
|
"",
|
|
"`transfer` will set the `FreeBalance` of the sender and receiver.",
|
|
"If the sender's account is below the existential deposit as a result",
|
|
"of the transfer, the account will be reaped.",
|
|
"",
|
|
"The dispatch origin for this call must be `Signed` by the transactor.",
|
|
"",
|
|
"## Complexity",
|
|
"- 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."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_balance",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "new_free",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
},
|
|
{
|
|
"name": "new_reserved",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Set the balances of a given account.",
|
|
"",
|
|
"This will alter `FreeBalance` and `ReservedBalance` in storage. it will",
|
|
"also alter the total issuance of the system (`TotalIssuance`) appropriately.",
|
|
"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`."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "source",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Exactly as `transfer`, except the origin must be root and the source account may be",
|
|
"specified.",
|
|
"## Complexity",
|
|
"- Same as transfer, but additional read and write because the source account is not",
|
|
" assumed to be in the overlay."
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_keep_alive",
|
|
"fields": [
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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"
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_all",
|
|
"fields": [
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "keep_alive",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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). ## Complexity",
|
|
"- O(1). Just like transfer, but reading the user's transferable balance first."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_unreserve",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Unreserve some balance from a user by force.",
|
|
"",
|
|
"Can only be called by ROOT."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 56,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 57
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 57,
|
|
"type": {
|
|
"def": {
|
|
"primitive": "u128"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 58,
|
|
"type": {
|
|
"path": [
|
|
"pallet_election_provider_multi_phase",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "submit_unsigned",
|
|
"fields": [
|
|
{
|
|
"name": "raw_solution",
|
|
"type": 59,
|
|
"typeName": "Box<RawSolution<SolutionOf<T::MinerConfig>>>"
|
|
},
|
|
{
|
|
"name": "witness",
|
|
"type": 107,
|
|
"typeName": "SolutionOrSnapshotSize"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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": [
|
|
{
|
|
"name": "maybe_next_score",
|
|
"type": 108,
|
|
"typeName": "Option<ElectionScore>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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": [
|
|
{
|
|
"name": "supports",
|
|
"type": 109,
|
|
"typeName": "Supports<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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)."
|
|
]
|
|
},
|
|
{
|
|
"name": "submit",
|
|
"fields": [
|
|
{
|
|
"name": "raw_solution",
|
|
"type": 59,
|
|
"typeName": "Box<RawSolution<SolutionOf<T::MinerConfig>>>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Submit a solution for the signed phase.",
|
|
"",
|
|
"The dispatch origin fo this call must be __signed__.",
|
|
"",
|
|
"The solution is potentially queued, based on the claimed score and processed at the end",
|
|
"of the signed phase.",
|
|
"",
|
|
"A deposit is reserved and recorded for the solution. Based on the outcome, the solution",
|
|
"might be rewarded, slashed, or get all or a part of the deposit back."
|
|
]
|
|
},
|
|
{
|
|
"name": "governance_fallback",
|
|
"fields": [
|
|
{
|
|
"name": "maybe_max_voters",
|
|
"type": 114,
|
|
"typeName": "Option<u32>"
|
|
},
|
|
{
|
|
"name": "maybe_max_targets",
|
|
"type": 114,
|
|
"typeName": "Option<u32>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Trigger the governance fallback.",
|
|
"",
|
|
"This can only be called when [`Phase::Emergency`] is enabled, as an alternative to",
|
|
"calling [`Call::set_emergency_election_result`]."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 59,
|
|
"type": {
|
|
"path": [
|
|
"pallet_election_provider_multi_phase",
|
|
"RawSolution"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "S",
|
|
"type": 60
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "solution",
|
|
"type": 60,
|
|
"typeName": "S"
|
|
},
|
|
{
|
|
"name": "score",
|
|
"type": 106,
|
|
"typeName": "ElectionScore"
|
|
},
|
|
{
|
|
"name": "round",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 60,
|
|
"type": {
|
|
"path": [
|
|
"kitchensink_runtime",
|
|
"NposSolution16"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "votes1",
|
|
"type": 61
|
|
},
|
|
{
|
|
"name": "votes2",
|
|
"type": 63
|
|
},
|
|
{
|
|
"name": "votes3",
|
|
"type": 65
|
|
},
|
|
{
|
|
"name": "votes4",
|
|
"type": 68
|
|
},
|
|
{
|
|
"name": "votes5",
|
|
"type": 71
|
|
},
|
|
{
|
|
"name": "votes6",
|
|
"type": 74
|
|
},
|
|
{
|
|
"name": "votes7",
|
|
"type": 76
|
|
},
|
|
{
|
|
"name": "votes8",
|
|
"type": 79
|
|
},
|
|
{
|
|
"name": "votes9",
|
|
"type": 82
|
|
},
|
|
{
|
|
"name": "votes10",
|
|
"type": 85
|
|
},
|
|
{
|
|
"name": "votes11",
|
|
"type": 88
|
|
},
|
|
{
|
|
"name": "votes12",
|
|
"type": 91
|
|
},
|
|
{
|
|
"name": "votes13",
|
|
"type": 94
|
|
},
|
|
{
|
|
"name": "votes14",
|
|
"type": 97
|
|
},
|
|
{
|
|
"name": "votes15",
|
|
"type": 100
|
|
},
|
|
{
|
|
"name": "votes16",
|
|
"type": 103
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 61,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 62
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 62,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 63,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 64
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 64,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
18,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 65,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 66
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 66,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
67,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 67,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 2,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 68,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 69
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 69,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
70,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 70,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 3,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 71,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 72
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 72,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
73,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 73,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 4,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 74,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 75
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 75,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
17,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 76,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 77
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 77,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
78,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 78,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 6,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 79,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 80
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 80,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
81,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 81,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 7,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 82,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 83
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 83,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
84,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 84,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 8,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 85,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 86
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 86,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
87,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 87,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 9,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 88,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 89
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 89,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
90,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 90,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 10,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 91,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 92
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 92,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
93,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 93,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 11,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 94,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 95
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 95,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
96,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 96,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 12,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 97,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 98
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 98,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
99,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 99,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 13,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 100,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 101
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 101,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
102,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 102,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 14,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 103,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 104
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 104,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
36,
|
|
105,
|
|
19
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 105,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 15,
|
|
"type": 18
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 106,
|
|
"type": {
|
|
"path": [
|
|
"sp_npos_elections",
|
|
"ElectionScore"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "minimal_stake",
|
|
"type": 57,
|
|
"typeName": "ExtendedBalance"
|
|
},
|
|
{
|
|
"name": "sum_stake",
|
|
"type": 57,
|
|
"typeName": "ExtendedBalance"
|
|
},
|
|
{
|
|
"name": "sum_stake_squared",
|
|
"type": 57,
|
|
"typeName": "ExtendedBalance"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 107,
|
|
"type": {
|
|
"path": [
|
|
"pallet_election_provider_multi_phase",
|
|
"SolutionOrSnapshotSize"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "voters",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "targets",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 108,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 106
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 106
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 109,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 110
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 110,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
52,
|
|
111
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 111,
|
|
"type": {
|
|
"path": [
|
|
"sp_npos_elections",
|
|
"Support"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "total",
|
|
"type": 57,
|
|
"typeName": "ExtendedBalance"
|
|
},
|
|
{
|
|
"name": "voters",
|
|
"type": 112,
|
|
"typeName": "Vec<(AccountId, ExtendedBalance)>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 112,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 113
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 113,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
52,
|
|
57
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 114,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 4
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 115,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"pallet",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "bond",
|
|
"fields": [
|
|
{
|
|
"name": "controller",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "payee",
|
|
"type": 116,
|
|
"typeName": "RewardDestination<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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`.",
|
|
"## Complexity",
|
|
"- 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."
|
|
]
|
|
},
|
|
{
|
|
"name": "bond_extra",
|
|
"fields": [
|
|
{
|
|
"name": "max_additional",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Add some extra amount that have appeared in the stash `free_balance` into the balance up",
|
|
"for staking.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ by the stash, not the controller.",
|
|
"",
|
|
"Use this if there are additional funds in your stash account that you wish to bond.",
|
|
"Unlike [`bond`](Self::bond) or [`unbond`](Self::unbond) this function does not impose",
|
|
"any limitation on the amount that can be added.",
|
|
"",
|
|
"Emits `Bonded`.",
|
|
"",
|
|
"## Complexity",
|
|
"- Independent of the arguments. Insignificant complexity.",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "unbond",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ by the controller, not the stash.",
|
|
"",
|
|
"Once the unlock period is done, you can call `withdraw_unbonded` to actually move",
|
|
"the funds out of management ready for transfer.",
|
|
"",
|
|
"No more than a limited number of unlocking chunks (see `MaxUnlockingChunks`)",
|
|
"can co-exists at the same time. If there are no unlocking chunks slots available",
|
|
"[`Call::withdraw_unbonded`] is called to remove some of the chunks (if possible).",
|
|
"",
|
|
"If a user encounters the `InsufficientBond` error when calling this extrinsic,",
|
|
"they should call `chill` first in order to free up their bonded funds.",
|
|
"",
|
|
"Emits `Unbonded`.",
|
|
"",
|
|
"See also [`Call::withdraw_unbonded`]."
|
|
]
|
|
},
|
|
{
|
|
"name": "withdraw_unbonded",
|
|
"fields": [
|
|
{
|
|
"name": "num_slashing_spans",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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.",
|
|
"",
|
|
"Emits `Withdrawn`.",
|
|
"",
|
|
"See also [`Call::unbond`].",
|
|
"",
|
|
"## Complexity",
|
|
"O(S) where S is the number of slashing spans to remove",
|
|
"NOTE: Weight annotation is the kill scenario, we refund otherwise."
|
|
]
|
|
},
|
|
{
|
|
"name": "validate",
|
|
"fields": [
|
|
{
|
|
"name": "prefs",
|
|
"type": 117,
|
|
"typeName": "ValidatorPrefs"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "nominate",
|
|
"fields": [
|
|
{
|
|
"name": "targets",
|
|
"type": 120,
|
|
"typeName": "Vec<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Declare the desire to nominate `targets` for the origin controller.",
|
|
"",
|
|
"Effects will be felt at the beginning of the next era.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ by the controller, not the stash.",
|
|
"",
|
|
"## Complexity",
|
|
"- The transaction's complexity is proportional to the size of `targets` (N)",
|
|
"which is capped at CompactAssignments::LIMIT (T::MaxNominations).",
|
|
"- Both the reads and writes follow a similar pattern."
|
|
]
|
|
},
|
|
{
|
|
"name": "chill",
|
|
"index": 6,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- Independent of the arguments. Insignificant complexity.",
|
|
"- Contains one read.",
|
|
"- Writes are limited to the `origin` account key."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_payee",
|
|
"fields": [
|
|
{
|
|
"name": "payee",
|
|
"type": 116,
|
|
"typeName": "RewardDestination<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"(Re-)set the payment target for a controller.",
|
|
"",
|
|
"Effects will be felt instantly (as soon as this function is completed successfully).",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ by the controller, not the stash.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)",
|
|
"- Independent of the arguments. Insignificant complexity.",
|
|
"- Contains a limited number of reads.",
|
|
"- Writes are limited to the `origin` account key.",
|
|
"---------"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_controller",
|
|
"fields": [
|
|
{
|
|
"name": "controller",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"(Re-)set the controller of a stash.",
|
|
"",
|
|
"Effects will be felt instantly (as soon as this function is completed successfully).",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ by the stash, not the controller.",
|
|
"",
|
|
"## Complexity",
|
|
"O(1)",
|
|
"- Independent of the arguments. Insignificant complexity.",
|
|
"- Contains a limited number of reads.",
|
|
"- Writes are limited to the `origin` account key."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_validator_count",
|
|
"fields": [
|
|
{
|
|
"name": "new",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Sets the ideal number of validators.",
|
|
"",
|
|
"The dispatch origin must be Root.",
|
|
"",
|
|
"## Complexity",
|
|
"O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "increase_validator_count",
|
|
"fields": [
|
|
{
|
|
"name": "additional",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Increments the ideal number of validators upto maximum of",
|
|
"`ElectionProviderBase::MaxWinners`.",
|
|
"",
|
|
"The dispatch origin must be Root.",
|
|
"",
|
|
"## Complexity",
|
|
"Same as [`Self::set_validator_count`]."
|
|
]
|
|
},
|
|
{
|
|
"name": "scale_validator_count",
|
|
"fields": [
|
|
{
|
|
"name": "factor",
|
|
"type": 121,
|
|
"typeName": "Percent"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"docs": [
|
|
"Scale up the ideal number of validators by a factor upto maximum of",
|
|
"`ElectionProviderBase::MaxWinners`.",
|
|
"",
|
|
"The dispatch origin must be Root.",
|
|
"",
|
|
"## Complexity",
|
|
"Same as [`Self::set_validator_count`]."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_no_eras",
|
|
"index": 12,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- No arguments.",
|
|
"- Weight: O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_new_era",
|
|
"index": 13,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- No arguments.",
|
|
"- Weight: O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_invulnerables",
|
|
"fields": [
|
|
{
|
|
"name": "invulnerables",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"docs": [
|
|
"Set the validators who cannot be slashed (if any).",
|
|
"",
|
|
"The dispatch origin must be Root."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_unstake",
|
|
"fields": [
|
|
{
|
|
"name": "stash",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "num_slashing_spans",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"docs": [
|
|
"Force a current staker to become completely unstaked, immediately.",
|
|
"",
|
|
"The dispatch origin must be Root."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_new_era_always",
|
|
"index": 16,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_deferred_slash",
|
|
"fields": [
|
|
{
|
|
"name": "era",
|
|
"type": 4,
|
|
"typeName": "EraIndex"
|
|
},
|
|
{
|
|
"name": "slash_indices",
|
|
"type": 123,
|
|
"typeName": "Vec<u32>"
|
|
}
|
|
],
|
|
"index": 17,
|
|
"docs": [
|
|
"Cancel enactment of a deferred slash.",
|
|
"",
|
|
"Can be called by the `T::AdminOrigin`.",
|
|
"",
|
|
"Parameters: era and indices of the slashes for that era to kill."
|
|
]
|
|
},
|
|
{
|
|
"name": "payout_stakers",
|
|
"fields": [
|
|
{
|
|
"name": "validator_stash",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "era",
|
|
"type": 4,
|
|
"typeName": "EraIndex"
|
|
}
|
|
],
|
|
"index": 18,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- At most O(MaxNominatorRewardedPerValidator)."
|
|
]
|
|
},
|
|
{
|
|
"name": "rebond",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 19,
|
|
"docs": [
|
|
"Rebond a portion of the stash scheduled to be unlocked.",
|
|
"",
|
|
"The dispatch origin must be signed by the controller.",
|
|
"",
|
|
"## Complexity",
|
|
"- Time complexity: O(L), where L is unlocking chunks",
|
|
"- Bounded by `MaxUnlockingChunks`."
|
|
]
|
|
},
|
|
{
|
|
"name": "reap_stash",
|
|
"fields": [
|
|
{
|
|
"name": "stash",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "num_slashing_spans",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 20,
|
|
"docs": [
|
|
"Remove all data structures concerning a staker/stash once it is at a state where it can",
|
|
"be considered `dust` in the staking system. The requirements are:",
|
|
"",
|
|
"1. the `total_balance` of the stash is below existential deposit.",
|
|
"2. or, the `ledger.total` of the stash is below existential deposit.",
|
|
"",
|
|
"The former can happen in cases like a slash; the latter when a fully unbonded account",
|
|
"is still receiving staking rewards in `RewardDestination::Staked`.",
|
|
"",
|
|
"It can be called by anyone, as long as `stash` meets the above requirements.",
|
|
"",
|
|
"Refunds the transaction fees upon successful execution."
|
|
]
|
|
},
|
|
{
|
|
"name": "kick",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 120,
|
|
"typeName": "Vec<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 21,
|
|
"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.",
|
|
"",
|
|
"- `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": "set_staking_configs",
|
|
"fields": [
|
|
{
|
|
"name": "min_nominator_bond",
|
|
"type": 124,
|
|
"typeName": "ConfigOp<BalanceOf<T>>"
|
|
},
|
|
{
|
|
"name": "min_validator_bond",
|
|
"type": 124,
|
|
"typeName": "ConfigOp<BalanceOf<T>>"
|
|
},
|
|
{
|
|
"name": "max_nominator_count",
|
|
"type": 125,
|
|
"typeName": "ConfigOp<u32>"
|
|
},
|
|
{
|
|
"name": "max_validator_count",
|
|
"type": 125,
|
|
"typeName": "ConfigOp<u32>"
|
|
},
|
|
{
|
|
"name": "chill_threshold",
|
|
"type": 126,
|
|
"typeName": "ConfigOp<Percent>"
|
|
},
|
|
{
|
|
"name": "min_commission",
|
|
"type": 127,
|
|
"typeName": "ConfigOp<Perbill>"
|
|
}
|
|
],
|
|
"index": 22,
|
|
"docs": [
|
|
"Update the various staking configurations .",
|
|
"",
|
|
"* `min_nominator_bond`: The minimum active bond needed to be a nominator.",
|
|
"* `min_validator_bond`: The minimum active bond needed to be a validator.",
|
|
"* `max_nominator_count`: The max number of users who can be a nominator at once. When",
|
|
" set to `None`, no limit is enforced.",
|
|
"* `max_validator_count`: The max number of users who can be a validator at once. When",
|
|
" set to `None`, no limit is enforced.",
|
|
"* `chill_threshold`: The ratio of `max_nominator_count` or `max_validator_count` which",
|
|
" should be filled in order for the `chill_other` transaction to work.",
|
|
"* `min_commission`: The minimum amount of commission that each validators must maintain.",
|
|
" This is checked only upon calling `validate`. Existing validators are not affected.",
|
|
"",
|
|
"RuntimeOrigin must be Root to call this function.",
|
|
"",
|
|
"NOTE: Existing nominators and validators will not be affected by this update.",
|
|
"to kick people under the new limits, `chill_other` should be called."
|
|
]
|
|
},
|
|
{
|
|
"name": "chill_other",
|
|
"fields": [
|
|
{
|
|
"name": "controller",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
}
|
|
],
|
|
"index": 23,
|
|
"docs": [
|
|
"Declare a `controller` to stop participating as either a validator or nominator.",
|
|
"",
|
|
"Effects will be felt at the beginning of the next era.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_, but can be called by anyone.",
|
|
"",
|
|
"If the caller is the same as the controller being targeted, then no further checks are",
|
|
"enforced, and this function behaves just like `chill`.",
|
|
"",
|
|
"If the caller is different than the controller being targeted, the following conditions",
|
|
"must be met:",
|
|
"",
|
|
"* `controller` must belong to a nominator who has become non-decodable,",
|
|
"",
|
|
"Or:",
|
|
"",
|
|
"* A `ChillThreshold` must be set and checked which defines how close to the max",
|
|
" nominators or validators we must reach before users can start chilling one-another.",
|
|
"* A `MaxNominatorCount` and `MaxValidatorCount` must be set which is used to determine",
|
|
" how close we are to the threshold.",
|
|
"* A `MinNominatorBond` and `MinValidatorBond` must be set and checked, which determines",
|
|
" if this is a person that should be chilled because they have not met the threshold",
|
|
" bond required.",
|
|
"",
|
|
"This can be helpful if bond requirements are updated, and we need to remove old users",
|
|
"who do not satisfy these requirements."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_apply_min_commission",
|
|
"fields": [
|
|
{
|
|
"name": "validator_stash",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
}
|
|
],
|
|
"index": 24,
|
|
"docs": [
|
|
"Force a validator to have at least the minimum commission. This will not affect a",
|
|
"validator who already has a commission greater than or equal to the minimum. Any account",
|
|
"can call this."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_min_commission",
|
|
"fields": [
|
|
{
|
|
"name": "new",
|
|
"type": 119,
|
|
"typeName": "Perbill"
|
|
}
|
|
],
|
|
"index": 25,
|
|
"docs": [
|
|
"Sets the minimum amount of commission that each validators must maintain.",
|
|
"",
|
|
"This call has lower privilege requirements than `set_staking_config` and can be called",
|
|
"by the `T::AdminOrigin`. Root can always call this."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 116,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"RewardDestination"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Staked",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Stash",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Controller",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Account",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "None",
|
|
"index": 4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 117,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"ValidatorPrefs"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "commission",
|
|
"type": 118,
|
|
"typeName": "Perbill"
|
|
},
|
|
{
|
|
"name": "blocked",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 118,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 119
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 119,
|
|
"type": {
|
|
"path": [
|
|
"sp_arithmetic",
|
|
"per_things",
|
|
"Perbill"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 120,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 51
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 121,
|
|
"type": {
|
|
"path": [
|
|
"sp_arithmetic",
|
|
"per_things",
|
|
"Percent"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 3,
|
|
"typeName": "u8"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 122,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 52
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 123,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 4
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 124,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"pallet",
|
|
"pallet",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 57,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 125,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"pallet",
|
|
"pallet",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 126,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"pallet",
|
|
"pallet",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 121
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 121,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 127,
|
|
"type": {
|
|
"path": [
|
|
"pallet_staking",
|
|
"pallet",
|
|
"pallet",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 119
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 119,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 128,
|
|
"type": {
|
|
"path": [
|
|
"pallet_session",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "set_keys",
|
|
"fields": [
|
|
{
|
|
"name": "keys",
|
|
"type": 129,
|
|
"typeName": "T::Keys"
|
|
},
|
|
{
|
|
"name": "proof",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Sets the session key(s) of the function caller to `keys`.",
|
|
"Allows an account to set its session key prior to becoming a validator.",
|
|
"This doesn't take effect until the next session.",
|
|
"",
|
|
"The dispatch origin of this function must be signed.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is",
|
|
" fixed."
|
|
]
|
|
},
|
|
{
|
|
"name": "purge_keys",
|
|
"index": 1,
|
|
"docs": [
|
|
"Removes any session key(s) of the function caller.",
|
|
"",
|
|
"This doesn't take effect until the next session.",
|
|
"",
|
|
"The dispatch origin of this function must be Signed and the account must be either be",
|
|
"convertible to a validator ID using the chain's typical addressing system (this usually",
|
|
"means being a controller account) or directly convertible into a validator ID (which",
|
|
"usually means being a stash account).",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)` in number of key types. Actual cost depends on the number of length of",
|
|
" `T::Keys::key_ids()` which is fixed."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 129,
|
|
"type": {
|
|
"path": [
|
|
"kitchensink_runtime",
|
|
"SessionKeys"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "grandpa",
|
|
"type": 6,
|
|
"typeName": "<Grandpa as $crate::BoundToRuntimeAppPublic>::Public"
|
|
},
|
|
{
|
|
"name": "babe",
|
|
"type": 41,
|
|
"typeName": "<Babe as $crate::BoundToRuntimeAppPublic>::Public"
|
|
},
|
|
{
|
|
"name": "im_online",
|
|
"type": 130,
|
|
"typeName": "<ImOnline as $crate::BoundToRuntimeAppPublic>::Public"
|
|
},
|
|
{
|
|
"name": "authority_discovery",
|
|
"type": 131,
|
|
"typeName": "<AuthorityDiscovery as $crate::BoundToRuntimeAppPublic>::Public"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 130,
|
|
"type": {
|
|
"path": [
|
|
"pallet_im_online",
|
|
"sr25519",
|
|
"app_sr25519",
|
|
"Public"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 42,
|
|
"typeName": "sr25519::Public"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 131,
|
|
"type": {
|
|
"path": [
|
|
"sp_authority_discovery",
|
|
"app",
|
|
"Public"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 42,
|
|
"typeName": "sr25519::Public"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 132,
|
|
"type": {
|
|
"path": [
|
|
"pallet_democracy",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "propose",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 133,
|
|
"typeName": "BoundedCallOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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`."
|
|
]
|
|
},
|
|
{
|
|
"name": "second",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 36,
|
|
"typeName": "PropIndex"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "ref_index",
|
|
"type": 36,
|
|
"typeName": "ReferendumIndex"
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"type": 135,
|
|
"typeName": "AccountVote<BalanceOf<T>>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "emergency_cancel",
|
|
"fields": [
|
|
{
|
|
"name": "ref_index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 133,
|
|
"typeName": "BoundedCallOf<T>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "external_propose_majority",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 133,
|
|
"typeName": "BoundedCallOf<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"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": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 133,
|
|
"typeName": "BoundedCallOf<T>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"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": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "H256"
|
|
},
|
|
{
|
|
"name": "voting_period",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "delay",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"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",
|
|
"\tMust be always greater than zero.",
|
|
"\tFor `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`.",
|
|
"- `delay`: The number of block after voting has ended in approval and this should be",
|
|
" enacted. This doesn't have a minimum amount.",
|
|
"",
|
|
"Emits `Started`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "veto_external",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "H256"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"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": [
|
|
{
|
|
"name": "ref_index",
|
|
"type": 36,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"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": "delegate",
|
|
"fields": [
|
|
{
|
|
"name": "to",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "conviction",
|
|
"type": 137,
|
|
"typeName": "Conviction"
|
|
},
|
|
{
|
|
"name": "balance",
|
|
"type": 57,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"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",
|
|
"index": 11,
|
|
"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",
|
|
"index": 12,
|
|
"docs": [
|
|
"Clears all public proposals.",
|
|
"",
|
|
"The dispatch origin of this call must be _Root_.",
|
|
"",
|
|
"Weight: `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "unlock",
|
|
"fields": [
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"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": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"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": [
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"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": "blacklist",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "H256"
|
|
},
|
|
{
|
|
"name": "maybe_ref_index",
|
|
"type": 114,
|
|
"typeName": "Option<ReferendumIndex>"
|
|
}
|
|
],
|
|
"index": 16,
|
|
"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": [
|
|
{
|
|
"name": "prop_index",
|
|
"type": 36,
|
|
"typeName": "PropIndex"
|
|
}
|
|
],
|
|
"index": 17,
|
|
"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()`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "owner",
|
|
"type": 138,
|
|
"typeName": "MetadataOwner"
|
|
},
|
|
{
|
|
"name": "maybe_hash",
|
|
"type": 139,
|
|
"typeName": "Option<PreimageHash>"
|
|
}
|
|
],
|
|
"index": 18,
|
|
"docs": [
|
|
"Set or clear a metadata of a proposal or a referendum.",
|
|
"",
|
|
"Parameters:",
|
|
"- `origin`: Must correspond to the `MetadataOwner`.",
|
|
" - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove`",
|
|
" threshold.",
|
|
" - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst`",
|
|
" threshold.",
|
|
" - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority`",
|
|
" threshold.",
|
|
" - `Signed` by a creator for a public proposal.",
|
|
" - `Signed` to clear a metadata for a finished referendum.",
|
|
" - `Root` to set a metadata for an ongoing referendum.",
|
|
"- `owner`: an identifier of a metadata owner.",
|
|
"- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 133,
|
|
"type": {
|
|
"path": [
|
|
"frame_support",
|
|
"traits",
|
|
"preimages",
|
|
"Bounded"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 26
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Legacy",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "Hash"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Inline",
|
|
"fields": [
|
|
{
|
|
"type": 134,
|
|
"typeName": "BoundedInline"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Lookup",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "Hash"
|
|
},
|
|
{
|
|
"name": "len",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 134,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 135,
|
|
"type": {
|
|
"path": [
|
|
"pallet_democracy",
|
|
"vote",
|
|
"AccountVote"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Standard",
|
|
"fields": [
|
|
{
|
|
"name": "vote",
|
|
"type": 136,
|
|
"typeName": "Vote"
|
|
},
|
|
{
|
|
"name": "balance",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Split",
|
|
"fields": [
|
|
{
|
|
"name": "aye",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "nay",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 136,
|
|
"type": {
|
|
"path": [
|
|
"pallet_democracy",
|
|
"vote",
|
|
"Vote"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 137,
|
|
"type": {
|
|
"path": [
|
|
"pallet_democracy",
|
|
"conviction",
|
|
"Conviction"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Locked1x",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Locked2x",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Locked3x",
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "Locked4x",
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "Locked5x",
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Locked6x",
|
|
"index": 6
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 138,
|
|
"type": {
|
|
"path": [
|
|
"pallet_democracy",
|
|
"types",
|
|
"MetadataOwner"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "External",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Proposal",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "PropIndex"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Referendum",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 139,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 1
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 1
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 140,
|
|
"type": {
|
|
"path": [
|
|
"pallet_collective",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "set_members",
|
|
"fields": [
|
|
{
|
|
"name": "new_members",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "prime",
|
|
"type": 141,
|
|
"typeName": "Option<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "old_count",
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Set the collective's membership.",
|
|
"",
|
|
"- `new_members`: The new member list. Be nice to the chain and provide it sorted.",
|
|
"- `prime`: The prime member whose vote sets the default.",
|
|
"- `old_count`: The upper bound for the previous number of members in storage. Used for",
|
|
" weight estimation.",
|
|
"",
|
|
"The dispatch of this call must be `SetMembersOrigin`.",
|
|
"",
|
|
"NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",
|
|
" the weight estimations rely on it to estimate dispatchable weight.",
|
|
"",
|
|
"# WARNING:",
|
|
"",
|
|
"The `pallet-collective` can also be managed by logic outside of the pallet through the",
|
|
"implementation of the trait [`ChangeMembers`].",
|
|
"Any call to `set_members` must be careful that the member set doesn't get out of sync",
|
|
"with other logic managing the member set.",
|
|
"",
|
|
"## Complexity:",
|
|
"- `O(MP + N)` where:",
|
|
" - `M` old-members-count (code- and governance-bounded)",
|
|
" - `N` new-members-count (code- and governance-bounded)",
|
|
" - `P` proposals-count (code-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "execute",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Dispatch a proposal from a member using the `Member` origin.",
|
|
"",
|
|
"Origin must be a member of the collective.",
|
|
"",
|
|
"## Complexity:",
|
|
"- `O(B + M + P)` where:",
|
|
"- `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
"- `M` members-count (code-bounded)",
|
|
"- `P` complexity of dispatching `proposal`"
|
|
]
|
|
},
|
|
{
|
|
"name": "propose",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 36,
|
|
"typeName": "MemberCount"
|
|
},
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Add a new proposal to either be voted on or executed directly.",
|
|
"",
|
|
"Requires the sender to be member.",
|
|
"",
|
|
"`threshold` determines whether `proposal` is executed directly (`threshold < 2`)",
|
|
"or put up for voting.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1)` or `O(B + M + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - branching is influenced by `threshold` where:",
|
|
" - `P1` is proposal execution complexity (`threshold < 2`)",
|
|
" - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "approve",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Add an aye or nay vote for the sender to the given proposal.",
|
|
"",
|
|
"Requires the sender to be a member.",
|
|
"",
|
|
"Transaction fees will be waived if the member is voting on any particular proposal",
|
|
"for the first time and the call is successful. Subsequent vote changes will charge a",
|
|
"fee.",
|
|
"## Complexity",
|
|
"- `O(M)` where `M` is members-count (code- and governance-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "close_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved or whose voting period has ended.",
|
|
"",
|
|
"May be called by any signed account in order to finish voting and close the proposal.",
|
|
"",
|
|
"If called before the end of the voting period it will only close the vote if it is",
|
|
"has enough votes to be approved or disapproved.",
|
|
"",
|
|
"If called after the end of the voting period abstentions are counted as rejections",
|
|
"unless there is a prime member set and the prime member cast an approval.",
|
|
"",
|
|
"If the close operation completes successfully with disapproval, the transaction fee will",
|
|
"be waived. Otherwise execution of the approved operation will be charged to the caller.",
|
|
"",
|
|
"+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed",
|
|
"proposal.",
|
|
"+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
|
|
"`storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1 + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - `P1` is the complexity of `proposal` preimage.",
|
|
" - `P2` is proposal-count (code-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "disapprove_proposal",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Disapprove a proposal, close, and remove it from the system, regardless of its current",
|
|
"state.",
|
|
"",
|
|
"Must be called by the Root origin.",
|
|
"",
|
|
"Parameters:",
|
|
"* `proposal_hash`: The hash of the proposal that should be disapproved.",
|
|
"",
|
|
"## Complexity",
|
|
"O(P) where P is the number of max proposals"
|
|
]
|
|
},
|
|
{
|
|
"name": "close",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved or whose voting period has ended.",
|
|
"",
|
|
"May be called by any signed account in order to finish voting and close the proposal.",
|
|
"",
|
|
"If called before the end of the voting period it will only close the vote if it is",
|
|
"has enough votes to be approved or disapproved.",
|
|
"",
|
|
"If called after the end of the voting period abstentions are counted as rejections",
|
|
"unless there is a prime member set and the prime member cast an approval.",
|
|
"",
|
|
"If the close operation completes successfully with disapproval, the transaction fee will",
|
|
"be waived. Otherwise execution of the approved operation will be charged to the caller.",
|
|
"",
|
|
"+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed",
|
|
"proposal.",
|
|
"+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
|
|
"`storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1 + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - `P1` is the complexity of `proposal` preimage.",
|
|
" - `P2` is proposal-count (code-bounded)"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 141,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 52
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 52
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 142,
|
|
"type": {
|
|
"def": {
|
|
"compact": {
|
|
"type": 143
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 143,
|
|
"type": {
|
|
"path": [
|
|
"sp_weights",
|
|
"OldWeight"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 144,
|
|
"type": {
|
|
"path": [
|
|
"sp_weights",
|
|
"weight_v2",
|
|
"Weight"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "ref_time",
|
|
"type": 49,
|
|
"typeName": "u64"
|
|
},
|
|
{
|
|
"name": "proof_size",
|
|
"type": 49,
|
|
"typeName": "u64"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 145,
|
|
"type": {
|
|
"path": [
|
|
"pallet_collective",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "set_members",
|
|
"fields": [
|
|
{
|
|
"name": "new_members",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "prime",
|
|
"type": 141,
|
|
"typeName": "Option<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "old_count",
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Set the collective's membership.",
|
|
"",
|
|
"- `new_members`: The new member list. Be nice to the chain and provide it sorted.",
|
|
"- `prime`: The prime member whose vote sets the default.",
|
|
"- `old_count`: The upper bound for the previous number of members in storage. Used for",
|
|
" weight estimation.",
|
|
"",
|
|
"The dispatch of this call must be `SetMembersOrigin`.",
|
|
"",
|
|
"NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",
|
|
" the weight estimations rely on it to estimate dispatchable weight.",
|
|
"",
|
|
"# WARNING:",
|
|
"",
|
|
"The `pallet-collective` can also be managed by logic outside of the pallet through the",
|
|
"implementation of the trait [`ChangeMembers`].",
|
|
"Any call to `set_members` must be careful that the member set doesn't get out of sync",
|
|
"with other logic managing the member set.",
|
|
"",
|
|
"## Complexity:",
|
|
"- `O(MP + N)` where:",
|
|
" - `M` old-members-count (code- and governance-bounded)",
|
|
" - `N` new-members-count (code- and governance-bounded)",
|
|
" - `P` proposals-count (code-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "execute",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Dispatch a proposal from a member using the `Member` origin.",
|
|
"",
|
|
"Origin must be a member of the collective.",
|
|
"",
|
|
"## Complexity:",
|
|
"- `O(B + M + P)` where:",
|
|
"- `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
"- `M` members-count (code-bounded)",
|
|
"- `P` complexity of dispatching `proposal`"
|
|
]
|
|
},
|
|
{
|
|
"name": "propose",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 36,
|
|
"typeName": "MemberCount"
|
|
},
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Add a new proposal to either be voted on or executed directly.",
|
|
"",
|
|
"Requires the sender to be member.",
|
|
"",
|
|
"`threshold` determines whether `proposal` is executed directly (`threshold < 2`)",
|
|
"or put up for voting.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1)` or `O(B + M + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - branching is influenced by `threshold` where:",
|
|
" - `P1` is proposal execution complexity (`threshold < 2`)",
|
|
" - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "approve",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Add an aye or nay vote for the sender to the given proposal.",
|
|
"",
|
|
"Requires the sender to be a member.",
|
|
"",
|
|
"Transaction fees will be waived if the member is voting on any particular proposal",
|
|
"for the first time and the call is successful. Subsequent vote changes will charge a",
|
|
"fee.",
|
|
"## Complexity",
|
|
"- `O(M)` where `M` is members-count (code- and governance-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "close_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved or whose voting period has ended.",
|
|
"",
|
|
"May be called by any signed account in order to finish voting and close the proposal.",
|
|
"",
|
|
"If called before the end of the voting period it will only close the vote if it is",
|
|
"has enough votes to be approved or disapproved.",
|
|
"",
|
|
"If called after the end of the voting period abstentions are counted as rejections",
|
|
"unless there is a prime member set and the prime member cast an approval.",
|
|
"",
|
|
"If the close operation completes successfully with disapproval, the transaction fee will",
|
|
"be waived. Otherwise execution of the approved operation will be charged to the caller.",
|
|
"",
|
|
"+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed",
|
|
"proposal.",
|
|
"+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
|
|
"`storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1 + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - `P1` is the complexity of `proposal` preimage.",
|
|
" - `P2` is proposal-count (code-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "disapprove_proposal",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Disapprove a proposal, close, and remove it from the system, regardless of its current",
|
|
"state.",
|
|
"",
|
|
"Must be called by the Root origin.",
|
|
"",
|
|
"Parameters:",
|
|
"* `proposal_hash`: The hash of the proposal that should be disapproved.",
|
|
"",
|
|
"## Complexity",
|
|
"O(P) where P is the number of max proposals"
|
|
]
|
|
},
|
|
{
|
|
"name": "close",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved or whose voting period has ended.",
|
|
"",
|
|
"May be called by any signed account in order to finish voting and close the proposal.",
|
|
"",
|
|
"If called before the end of the voting period it will only close the vote if it is",
|
|
"has enough votes to be approved or disapproved.",
|
|
"",
|
|
"If called after the end of the voting period abstentions are counted as rejections",
|
|
"unless there is a prime member set and the prime member cast an approval.",
|
|
"",
|
|
"If the close operation completes successfully with disapproval, the transaction fee will",
|
|
"be waived. Otherwise execution of the approved operation will be charged to the caller.",
|
|
"",
|
|
"+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed",
|
|
"proposal.",
|
|
"+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
|
|
"`storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1 + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - `P1` is the complexity of `proposal` preimage.",
|
|
" - `P2` is proposal-count (code-bounded)"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 146,
|
|
"type": {
|
|
"path": [
|
|
"pallet_elections_phragmen",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "votes",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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 free 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."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_voter",
|
|
"index": 1,
|
|
"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": [
|
|
{
|
|
"name": "candidate_count",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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.",
|
|
"",
|
|
"The number of current candidates must be provided as witness data.",
|
|
"## Complexity",
|
|
"O(C + log(C)) where C is candidate_count."
|
|
]
|
|
},
|
|
{
|
|
"name": "renounce_candidacy",
|
|
"fields": [
|
|
{
|
|
"name": "renouncing",
|
|
"type": 147,
|
|
"typeName": "Renouncing"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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_member`](Self::remove_member), if replacement runners exists, they",
|
|
" are immediately used. If the prime is renouncing, then no prime will exist until the",
|
|
" next round.",
|
|
"",
|
|
"The dispatch origin of this call must be signed, and have one of the above roles.",
|
|
"The type of renouncing must be provided as witness data.",
|
|
"",
|
|
"## Complexity",
|
|
" - Renouncing::Candidate(count): O(count + log(count))",
|
|
" - Renouncing::Member: O(1)",
|
|
" - Renouncing::RunnerUp: O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "slash_bond",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
},
|
|
{
|
|
"name": "rerun_election",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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, if `rerun_election` is `true`, a new phragmen election is",
|
|
"started, else, nothing happens.",
|
|
"",
|
|
"If `slash_bond` is set to true, the bond of the member being removed is slashed. Else,",
|
|
"it is returned.",
|
|
"",
|
|
"The dispatch origin of this call must be root.",
|
|
"",
|
|
"Note that this does not affect the designated block number of the next election.",
|
|
"",
|
|
"## Complexity",
|
|
"- Check details of remove_and_replace_member() and do_phragmen()."
|
|
]
|
|
},
|
|
{
|
|
"name": "clean_defunct_voters",
|
|
"fields": [
|
|
{
|
|
"name": "num_voters",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "num_defunct",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- Check is_defunct_voter() details."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 147,
|
|
"type": {
|
|
"path": [
|
|
"pallet_elections_phragmen",
|
|
"Renouncing"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Member",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "RunnerUp",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Candidate",
|
|
"fields": [
|
|
{
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 148,
|
|
"type": {
|
|
"path": [
|
|
"pallet_membership",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "add_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Add a member `who` to the set.",
|
|
"",
|
|
"May only be called from `T::AddOrigin`."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Remove a member `who` from the set.",
|
|
"",
|
|
"May only be called from `T::RemoveOrigin`."
|
|
]
|
|
},
|
|
{
|
|
"name": "swap_member",
|
|
"fields": [
|
|
{
|
|
"name": "remove",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "add",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"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",
|
|
"fields": [
|
|
{
|
|
"name": "members",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"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",
|
|
"fields": [
|
|
{
|
|
"name": "new",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"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",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Set the prime member. Must be a current member.",
|
|
"",
|
|
"May only be called from `T::PrimeOrigin`."
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_prime",
|
|
"index": 6,
|
|
"docs": [
|
|
"Remove the prime member if it exists.",
|
|
"",
|
|
"May only be called from `T::PrimeOrigin`."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 149,
|
|
"type": {
|
|
"path": [
|
|
"pallet_grandpa",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "report_equivocation",
|
|
"fields": [
|
|
{
|
|
"name": "equivocation_proof",
|
|
"type": 150,
|
|
"typeName": "Box<EquivocationProof<T::Hash, T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "key_owner_proof",
|
|
"type": 44,
|
|
"typeName": "T::KeyOwnerProof"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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": [
|
|
{
|
|
"name": "equivocation_proof",
|
|
"type": 150,
|
|
"typeName": "Box<EquivocationProof<T::Hash, T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "key_owner_proof",
|
|
"type": 44,
|
|
"typeName": "T::KeyOwnerProof"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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": [
|
|
{
|
|
"name": "delay",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "best_finalized_block_number",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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 block production rate (which may be slowed down because of finality lagging) should",
|
|
"be taken into account when choosing the `delay`. The GRANDPA voters based on the new",
|
|
"authority will start voting on top of `best_finalized_block_number` for new finalized",
|
|
"blocks. `best_finalized_block_number` should be the highest of the latest finalized",
|
|
"block of all validators of the new authority set.",
|
|
"",
|
|
"Only callable by root."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 150,
|
|
"type": {
|
|
"path": [
|
|
"sp_consensus_grandpa",
|
|
"EquivocationProof"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "H",
|
|
"type": 1
|
|
},
|
|
{
|
|
"name": "N",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "set_id",
|
|
"type": 12,
|
|
"typeName": "SetId"
|
|
},
|
|
{
|
|
"name": "equivocation",
|
|
"type": 0,
|
|
"typeName": "Equivocation<H, N>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 151,
|
|
"type": {
|
|
"path": [
|
|
"pallet_treasury",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "propose_spend",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T, I>"
|
|
},
|
|
{
|
|
"name": "beneficiary",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Put forward a suggestion for spending. A deposit proportional to the value",
|
|
"is reserved and slashed if the proposal is rejected. It is returned once the",
|
|
"proposal is awarded.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "reject_proposal",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_id",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Reject a proposed spend. The original deposit will be slashed.",
|
|
"",
|
|
"May only be called from `T::RejectOrigin`.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_proposal",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_id",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Approve a proposal. At a later time, the proposal will be allocated to the beneficiary",
|
|
"and the original deposit will be returned.",
|
|
"",
|
|
"May only be called from `T::ApproveOrigin`.",
|
|
"",
|
|
"## Complexity",
|
|
" - O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "spend",
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T, I>"
|
|
},
|
|
{
|
|
"name": "beneficiary",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Propose and approve a spend of treasury funds.",
|
|
"",
|
|
"- `origin`: Must be `SpendOrigin` with the `Success` value being at least `amount`.",
|
|
"- `amount`: The amount to be transferred from the treasury to the `beneficiary`.",
|
|
"- `beneficiary`: The destination account for the transfer.",
|
|
"",
|
|
"NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the",
|
|
"beneficiary."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_approval",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_id",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Force a previously approved proposal to be removed from the approval queue.",
|
|
"The original deposit will no longer be returned.",
|
|
"",
|
|
"May only be called from `T::RejectOrigin`.",
|
|
"- `proposal_id`: The index of a proposal",
|
|
"",
|
|
"## Complexity",
|
|
"- O(A) where `A` is the number of approvals",
|
|
"",
|
|
"Errors:",
|
|
"- `ProposalNotApproved`: The `proposal_id` supplied was not found in the approval queue,",
|
|
"i.e., the proposal has not been approved. This could also mean the proposal does not",
|
|
"exist altogether, thus there is no way it would have been approved in the first place."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 152,
|
|
"type": {
|
|
"path": [
|
|
"pallet_contracts",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "call_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "gas_limit",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Deprecated version if [`Self::call`] for use in an in-storage `Call`."
|
|
]
|
|
},
|
|
{
|
|
"name": "instantiate_with_code_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "gas_limit",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "code",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "salt",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Deprecated version if [`Self::instantiate_with_code`] for use in an in-storage `Call`."
|
|
]
|
|
},
|
|
{
|
|
"name": "instantiate_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "gas_limit",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "code_hash",
|
|
"type": 1,
|
|
"typeName": "CodeHash<T>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "salt",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Deprecated version if [`Self::instantiate`] for use in an in-storage `Call`."
|
|
]
|
|
},
|
|
{
|
|
"name": "upload_code",
|
|
"fields": [
|
|
{
|
|
"name": "code",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "determinism",
|
|
"type": 154,
|
|
"typeName": "Determinism"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Upload new `code` without instantiating a contract from it.",
|
|
"",
|
|
"If the code does not already exist a deposit is reserved from the caller",
|
|
"and unreserved only when [`Self::remove_code`] is called. The size of the reserve",
|
|
"depends on the instrumented size of the the supplied `code`.",
|
|
"",
|
|
"If the code already exists in storage it will still return `Ok` and upgrades",
|
|
"the in storage version to the current",
|
|
"[`InstructionWeights::version`](InstructionWeights).",
|
|
"",
|
|
"- `determinism`: If this is set to any other value but [`Determinism::Deterministic`]",
|
|
" then the only way to use this code is to delegate call into it from an offchain",
|
|
" execution. Set to [`Determinism::Deterministic`] if in doubt.",
|
|
"",
|
|
"# Note",
|
|
"",
|
|
"Anyone can instantiate a contract from any uploaded code and thus prevent its removal.",
|
|
"To avoid this situation a constructor could employ access control so that it can",
|
|
"only be instantiated by permissioned entities. The same is true when uploading",
|
|
"through [`Self::instantiate_with_code`]."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_code",
|
|
"fields": [
|
|
{
|
|
"name": "code_hash",
|
|
"type": 1,
|
|
"typeName": "CodeHash<T>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Remove the code stored under `code_hash` and refund the deposit to its owner.",
|
|
"",
|
|
"A code can only be removed by its original uploader (its owner) and only if it is",
|
|
"not used by any contract."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_code",
|
|
"fields": [
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "code_hash",
|
|
"type": 1,
|
|
"typeName": "CodeHash<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Privileged function that changes the code of an existing contract.",
|
|
"",
|
|
"This takes care of updating refcounts and all other necessary operations. Returns",
|
|
"an error if either the `code_hash` or `dest` do not exist.",
|
|
"",
|
|
"# Note",
|
|
"",
|
|
"This does **not** change the address of the contract in question. This means",
|
|
"that the contract address is no longer derived from its code hash after calling",
|
|
"this dispatchable."
|
|
]
|
|
},
|
|
{
|
|
"name": "call",
|
|
"fields": [
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "gas_limit",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Makes a call to an account, optionally transferring some balance.",
|
|
"",
|
|
"# Parameters",
|
|
"",
|
|
"* `dest`: Address of the contract to call.",
|
|
"* `value`: The balance to transfer from the `origin` to `dest`.",
|
|
"* `gas_limit`: The gas limit enforced when executing the constructor.",
|
|
"* `storage_deposit_limit`: The maximum amount of balance that can be charged from the",
|
|
" caller to pay for the storage consumed.",
|
|
"* `data`: The input data to pass to the contract.",
|
|
"",
|
|
"* If the account is a smart-contract account, the associated code will be",
|
|
"executed and any value will be transferred.",
|
|
"* If the account is a regular account, any value will be transferred.",
|
|
"* If no account exists and the call value is not less than `existential_deposit`,",
|
|
"a regular account will be created and any value will be transferred."
|
|
]
|
|
},
|
|
{
|
|
"name": "instantiate_with_code",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "gas_limit",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "code",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "salt",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Instantiates a new contract from the supplied `code` optionally transferring",
|
|
"some balance.",
|
|
"",
|
|
"This dispatchable has the same effect as calling [`Self::upload_code`] +",
|
|
"[`Self::instantiate`]. Bundling them together provides efficiency gains. Please",
|
|
"also check the documentation of [`Self::upload_code`].",
|
|
"",
|
|
"# Parameters",
|
|
"",
|
|
"* `value`: The balance to transfer from the `origin` to the newly created contract.",
|
|
"* `gas_limit`: The gas limit enforced when executing the constructor.",
|
|
"* `storage_deposit_limit`: The maximum amount of balance that can be charged/reserved",
|
|
" from the caller to pay for the storage consumed.",
|
|
"* `code`: The contract code to deploy in raw bytes.",
|
|
"* `data`: The input data to pass to the contract constructor.",
|
|
"* `salt`: Used for the address derivation. See [`Pallet::contract_address`].",
|
|
"",
|
|
"Instantiation is executed as follows:",
|
|
"",
|
|
"- The supplied `code` is instrumented, deployed, and a `code_hash` is created for that",
|
|
" code.",
|
|
"- If the `code_hash` already exists on the chain the underlying `code` will be shared.",
|
|
"- The destination address is computed based on the sender, code_hash and the salt.",
|
|
"- The smart-contract account is created at the computed address.",
|
|
"- The `value` is transferred to the new account.",
|
|
"- The `deploy` function is executed in the context of the newly-created account."
|
|
]
|
|
},
|
|
{
|
|
"name": "instantiate",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "gas_limit",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "storage_deposit_limit",
|
|
"type": 153,
|
|
"typeName": "Option<<BalanceOf<T> as codec::HasCompact>::Type>"
|
|
},
|
|
{
|
|
"name": "code_hash",
|
|
"type": 1,
|
|
"typeName": "CodeHash<T>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "salt",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Instantiates a contract from a previously deployed wasm binary.",
|
|
"",
|
|
"This function is identical to [`Self::instantiate_with_code`] but without the",
|
|
"code deployment step. Instead, the `code_hash` of an on-chain deployed wasm binary",
|
|
"must be supplied."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 153,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 56
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 56
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 154,
|
|
"type": {
|
|
"path": [
|
|
"pallet_contracts",
|
|
"wasm",
|
|
"Determinism"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Deterministic",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "AllowIndeterminism",
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 155,
|
|
"type": {
|
|
"path": [
|
|
"pallet_sudo",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "sudo",
|
|
"fields": [
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Authenticates the sudo key and dispatches a function call with `Root` origin.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "sudo_unchecked_weight",
|
|
"fields": [
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
},
|
|
{
|
|
"name": "weight",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Authenticates the sudo key and dispatches a function call with `Root` origin.",
|
|
"This function does not check the weight of the call, and instead allows the",
|
|
"Sudo user to specify the weight of the call.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_key",
|
|
"fields": [
|
|
{
|
|
"name": "new",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Authenticates the current sudo key and sets the given AccountId (`new`) as the new sudo",
|
|
"key.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "sudo_as",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Authenticates the sudo key and dispatches a function call with `Signed` origin from",
|
|
"a given account.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 156,
|
|
"type": {
|
|
"path": [
|
|
"pallet_im_online",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "heartbeat",
|
|
"fields": [
|
|
{
|
|
"name": "heartbeat",
|
|
"type": 157,
|
|
"typeName": "Heartbeat<T::BlockNumber>"
|
|
},
|
|
{
|
|
"name": "signature",
|
|
"type": 162,
|
|
"typeName": "<T::AuthorityId as RuntimeAppPublic>::Signature"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"## 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`"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 157,
|
|
"type": {
|
|
"path": [
|
|
"pallet_im_online",
|
|
"Heartbeat"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "BlockNumber",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "block_number",
|
|
"type": 4,
|
|
"typeName": "BlockNumber"
|
|
},
|
|
{
|
|
"name": "network_state",
|
|
"type": 158,
|
|
"typeName": "OpaqueNetworkState"
|
|
},
|
|
{
|
|
"name": "session_index",
|
|
"type": 4,
|
|
"typeName": "SessionIndex"
|
|
},
|
|
{
|
|
"name": "authority_index",
|
|
"type": 4,
|
|
"typeName": "AuthIndex"
|
|
},
|
|
{
|
|
"name": "validators_len",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 158,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"offchain",
|
|
"OpaqueNetworkState"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "peer_id",
|
|
"type": 159,
|
|
"typeName": "OpaquePeerId"
|
|
},
|
|
{
|
|
"name": "external_addresses",
|
|
"type": 160,
|
|
"typeName": "Vec<OpaqueMultiaddr>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 159,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"OpaquePeerId"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 160,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 161
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 161,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"offchain",
|
|
"OpaqueMultiaddr"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 162,
|
|
"type": {
|
|
"path": [
|
|
"pallet_im_online",
|
|
"sr25519",
|
|
"app_sr25519",
|
|
"Signature"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 163,
|
|
"typeName": "sr25519::Signature"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 163,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"sr25519",
|
|
"Signature"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 11,
|
|
"typeName": "[u8; 64]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 164,
|
|
"type": {
|
|
"path": [
|
|
"pallet_identity",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "add_registrar",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R)` where `R` registrar-count (governance-bounded and code-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_identity",
|
|
"fields": [
|
|
{
|
|
"name": "info",
|
|
"type": 165,
|
|
"typeName": "Box<IdentityInfo<T::MaxAdditionalFields>>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(X + X' + R)`",
|
|
" - where `X` additional-field-count (deposit-bounded and code-bounded)",
|
|
" - where `R` judgements-count (registrar-count-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_subs",
|
|
"fields": [
|
|
{
|
|
"name": "subs",
|
|
"type": 201,
|
|
"typeName": "Vec<(T::AccountId, Data)>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(P + S)`",
|
|
" - where `P` old-subs-count (hard- and deposit-bounded).",
|
|
" - where `S` subs-count (hard- and deposit-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_identity",
|
|
"index": 3,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `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)."
|
|
]
|
|
},
|
|
{
|
|
"name": "request_judgement",
|
|
"fields": [
|
|
{
|
|
"name": "reg_index",
|
|
"type": 36,
|
|
"typeName": "RegistrarIndex"
|
|
},
|
|
{
|
|
"name": "max_fee",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R + X)`.",
|
|
" - where `R` registrar-count (governance-bounded).",
|
|
" - where `X` additional-field-count (deposit-bounded and code-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_request",
|
|
"fields": [
|
|
{
|
|
"name": "reg_index",
|
|
"type": 4,
|
|
"typeName": "RegistrarIndex"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R + X)`.",
|
|
" - where `R` registrar-count (governance-bounded).",
|
|
" - where `X` additional-field-count (deposit-bounded and code-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_fee",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "RegistrarIndex"
|
|
},
|
|
{
|
|
"name": "fee",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R)`.",
|
|
" - where `R` registrar-count (governance-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_account_id",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "RegistrarIndex"
|
|
},
|
|
{
|
|
"name": "new",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R)`.",
|
|
" - where `R` registrar-count (governance-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_fields",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "RegistrarIndex"
|
|
},
|
|
{
|
|
"name": "fields",
|
|
"type": 203,
|
|
"typeName": "IdentityFields"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R)`.",
|
|
" - where `R` registrar-count (governance-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "provide_judgement",
|
|
"fields": [
|
|
{
|
|
"name": "reg_index",
|
|
"type": 36,
|
|
"typeName": "RegistrarIndex"
|
|
},
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "judgement",
|
|
"type": 205,
|
|
"typeName": "Judgement<BalanceOf<T>>"
|
|
},
|
|
{
|
|
"name": "identity",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"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`.",
|
|
"- `identity`: The hash of the [`IdentityInfo`] for that the judgement is provided.",
|
|
"",
|
|
"Emits `JudgementGiven` if successful.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R + X)`.",
|
|
" - where `R` registrar-count (governance-bounded).",
|
|
" - where `X` additional-field-count (deposit-bounded and code-bounded)."
|
|
]
|
|
},
|
|
{
|
|
"name": "kill_identity",
|
|
"fields": [
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `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)."
|
|
]
|
|
},
|
|
{
|
|
"name": "add_sub",
|
|
"fields": [
|
|
{
|
|
"name": "sub",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"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": [
|
|
{
|
|
"name": "sub",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
}
|
|
],
|
|
"index": 12,
|
|
"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": [
|
|
{
|
|
"name": "sub",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"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",
|
|
"index": 14,
|
|
"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."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 165,
|
|
"type": {
|
|
"path": [
|
|
"pallet_identity",
|
|
"types",
|
|
"IdentityInfo"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "FieldLimit",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "additional",
|
|
"type": 166,
|
|
"typeName": "BoundedVec<(Data, Data), FieldLimit>"
|
|
},
|
|
{
|
|
"name": "display",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
},
|
|
{
|
|
"name": "legal",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
},
|
|
{
|
|
"name": "web",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
},
|
|
{
|
|
"name": "riot",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
},
|
|
{
|
|
"name": "email",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
},
|
|
{
|
|
"name": "pgp_fingerprint",
|
|
"type": 200,
|
|
"typeName": "Option<[u8; 20]>"
|
|
},
|
|
{
|
|
"name": "image",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
},
|
|
{
|
|
"name": "twitter",
|
|
"type": 168,
|
|
"typeName": "Data"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 166,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 167
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 199,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 167,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
168,
|
|
168
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 168,
|
|
"type": {
|
|
"path": [
|
|
"pallet_identity",
|
|
"types",
|
|
"Data"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Raw0",
|
|
"fields": [
|
|
{
|
|
"type": 169
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Raw1",
|
|
"fields": [
|
|
{
|
|
"type": 170
|
|
}
|
|
],
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Raw2",
|
|
"fields": [
|
|
{
|
|
"type": 171
|
|
}
|
|
],
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "Raw3",
|
|
"fields": [
|
|
{
|
|
"type": 172
|
|
}
|
|
],
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "Raw4",
|
|
"fields": [
|
|
{
|
|
"type": 40
|
|
}
|
|
],
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Raw5",
|
|
"fields": [
|
|
{
|
|
"type": 173
|
|
}
|
|
],
|
|
"index": 6
|
|
},
|
|
{
|
|
"name": "Raw6",
|
|
"fields": [
|
|
{
|
|
"type": 174
|
|
}
|
|
],
|
|
"index": 7
|
|
},
|
|
{
|
|
"name": "Raw7",
|
|
"fields": [
|
|
{
|
|
"type": 175
|
|
}
|
|
],
|
|
"index": 8
|
|
},
|
|
{
|
|
"name": "Raw8",
|
|
"fields": [
|
|
{
|
|
"type": 176
|
|
}
|
|
],
|
|
"index": 9
|
|
},
|
|
{
|
|
"name": "Raw9",
|
|
"fields": [
|
|
{
|
|
"type": 177
|
|
}
|
|
],
|
|
"index": 10
|
|
},
|
|
{
|
|
"name": "Raw10",
|
|
"fields": [
|
|
{
|
|
"type": 178
|
|
}
|
|
],
|
|
"index": 11
|
|
},
|
|
{
|
|
"name": "Raw11",
|
|
"fields": [
|
|
{
|
|
"type": 179
|
|
}
|
|
],
|
|
"index": 12
|
|
},
|
|
{
|
|
"name": "Raw12",
|
|
"fields": [
|
|
{
|
|
"type": 180
|
|
}
|
|
],
|
|
"index": 13
|
|
},
|
|
{
|
|
"name": "Raw13",
|
|
"fields": [
|
|
{
|
|
"type": 181
|
|
}
|
|
],
|
|
"index": 14
|
|
},
|
|
{
|
|
"name": "Raw14",
|
|
"fields": [
|
|
{
|
|
"type": 182
|
|
}
|
|
],
|
|
"index": 15
|
|
},
|
|
{
|
|
"name": "Raw15",
|
|
"fields": [
|
|
{
|
|
"type": 183
|
|
}
|
|
],
|
|
"index": 16
|
|
},
|
|
{
|
|
"name": "Raw16",
|
|
"fields": [
|
|
{
|
|
"type": 184
|
|
}
|
|
],
|
|
"index": 17
|
|
},
|
|
{
|
|
"name": "Raw17",
|
|
"fields": [
|
|
{
|
|
"type": 185
|
|
}
|
|
],
|
|
"index": 18
|
|
},
|
|
{
|
|
"name": "Raw18",
|
|
"fields": [
|
|
{
|
|
"type": 186
|
|
}
|
|
],
|
|
"index": 19
|
|
},
|
|
{
|
|
"name": "Raw19",
|
|
"fields": [
|
|
{
|
|
"type": 187
|
|
}
|
|
],
|
|
"index": 20
|
|
},
|
|
{
|
|
"name": "Raw20",
|
|
"fields": [
|
|
{
|
|
"type": 53
|
|
}
|
|
],
|
|
"index": 21
|
|
},
|
|
{
|
|
"name": "Raw21",
|
|
"fields": [
|
|
{
|
|
"type": 188
|
|
}
|
|
],
|
|
"index": 22
|
|
},
|
|
{
|
|
"name": "Raw22",
|
|
"fields": [
|
|
{
|
|
"type": 189
|
|
}
|
|
],
|
|
"index": 23
|
|
},
|
|
{
|
|
"name": "Raw23",
|
|
"fields": [
|
|
{
|
|
"type": 190
|
|
}
|
|
],
|
|
"index": 24
|
|
},
|
|
{
|
|
"name": "Raw24",
|
|
"fields": [
|
|
{
|
|
"type": 191
|
|
}
|
|
],
|
|
"index": 25
|
|
},
|
|
{
|
|
"name": "Raw25",
|
|
"fields": [
|
|
{
|
|
"type": 192
|
|
}
|
|
],
|
|
"index": 26
|
|
},
|
|
{
|
|
"name": "Raw26",
|
|
"fields": [
|
|
{
|
|
"type": 193
|
|
}
|
|
],
|
|
"index": 27
|
|
},
|
|
{
|
|
"name": "Raw27",
|
|
"fields": [
|
|
{
|
|
"type": 194
|
|
}
|
|
],
|
|
"index": 28
|
|
},
|
|
{
|
|
"name": "Raw28",
|
|
"fields": [
|
|
{
|
|
"type": 195
|
|
}
|
|
],
|
|
"index": 29
|
|
},
|
|
{
|
|
"name": "Raw29",
|
|
"fields": [
|
|
{
|
|
"type": 196
|
|
}
|
|
],
|
|
"index": 30
|
|
},
|
|
{
|
|
"name": "Raw30",
|
|
"fields": [
|
|
{
|
|
"type": 197
|
|
}
|
|
],
|
|
"index": 31
|
|
},
|
|
{
|
|
"name": "Raw31",
|
|
"fields": [
|
|
{
|
|
"type": 198
|
|
}
|
|
],
|
|
"index": 32
|
|
},
|
|
{
|
|
"name": "Raw32",
|
|
"fields": [
|
|
{
|
|
"type": 2
|
|
}
|
|
],
|
|
"index": 33
|
|
},
|
|
{
|
|
"name": "BlakeTwo256",
|
|
"fields": [
|
|
{
|
|
"type": 2
|
|
}
|
|
],
|
|
"index": 34
|
|
},
|
|
{
|
|
"name": "Sha256",
|
|
"fields": [
|
|
{
|
|
"type": 2
|
|
}
|
|
],
|
|
"index": 35
|
|
},
|
|
{
|
|
"name": "Keccak256",
|
|
"fields": [
|
|
{
|
|
"type": 2
|
|
}
|
|
],
|
|
"index": 36
|
|
},
|
|
{
|
|
"name": "ShaThree256",
|
|
"fields": [
|
|
{
|
|
"type": 2
|
|
}
|
|
],
|
|
"index": 37
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 169,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 0,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 170,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 1,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 171,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 2,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 172,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 3,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 173,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 5,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 174,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 6,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 175,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 7,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 176,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 8,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 177,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 9,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 178,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 10,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 179,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 11,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 180,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 12,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 181,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 13,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 182,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 14,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 183,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 15,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 184,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 16,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 185,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 17,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 186,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 18,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 187,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 19,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 188,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 21,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 189,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 22,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 190,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 23,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 191,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 24,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 192,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 25,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 193,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 26,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 194,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 27,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 195,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 28,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 196,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 29,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 197,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 30,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 198,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 31,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 199,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 167
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 200,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 53
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 53
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 201,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 202
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 202,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
52,
|
|
168
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 203,
|
|
"type": {
|
|
"path": [
|
|
"pallet_identity",
|
|
"types",
|
|
"BitFlags"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 204
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 12,
|
|
"typeName": "IdentityField"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 204,
|
|
"type": {
|
|
"path": [
|
|
"pallet_identity",
|
|
"types",
|
|
"IdentityField"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Display",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Legal",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Web",
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "Riot",
|
|
"index": 8
|
|
},
|
|
{
|
|
"name": "Email",
|
|
"index": 16
|
|
},
|
|
{
|
|
"name": "PgpFingerprint",
|
|
"index": 32
|
|
},
|
|
{
|
|
"name": "Image",
|
|
"index": 64
|
|
},
|
|
{
|
|
"name": "Twitter",
|
|
"index": 128
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 205,
|
|
"type": {
|
|
"path": [
|
|
"pallet_identity",
|
|
"types",
|
|
"Judgement"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Unknown",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "FeePaid",
|
|
"fields": [
|
|
{
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Reasonable",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "KnownGood",
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "OutOfDate",
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "LowQuality",
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Erroneous",
|
|
"index": 6
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 206,
|
|
"type": {
|
|
"path": [
|
|
"pallet_society",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "bid",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 57,
|
|
"typeName": "BalanceOf<T, I>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"A user outside of the society can make a bid for entry.",
|
|
"",
|
|
"Payment: `CandidateDeposit` will be reserved for making a bid. It is returned",
|
|
"when the bid becomes a member, or if the bid calls `unbid`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `value`: A one time payment the bid would like to receive when joining the society.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + B + C + logM + logB + X)",
|
|
"\t - B (len of bids)",
|
|
" - C (len of candidates)",
|
|
" - M (len of members)",
|
|
" - X (balance reserve)"
|
|
]
|
|
},
|
|
{
|
|
"name": "unbid",
|
|
"fields": [
|
|
{
|
|
"name": "pos",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"A bidder can remove their bid for entry into society.",
|
|
"By doing so, they will have their candidate deposit returned or",
|
|
"they will unvouch their voucher.",
|
|
"",
|
|
"Payment: The bid deposit is unreserved if the user made a bid.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and a bidder.",
|
|
"",
|
|
"Parameters:",
|
|
"- `pos`: Position in the `Bids` vector of the bid who wants to unbid.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(B + X)",
|
|
" - B (len of bids)",
|
|
" - X (balance unreserve)"
|
|
]
|
|
},
|
|
{
|
|
"name": "vouch",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 57,
|
|
"typeName": "BalanceOf<T, I>"
|
|
},
|
|
{
|
|
"name": "tip",
|
|
"type": 57,
|
|
"typeName": "BalanceOf<T, I>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"As a member, vouch for someone to join society by placing a bid on their behalf.",
|
|
"",
|
|
"There is no deposit required to vouch for a new bid, but a member can only vouch for",
|
|
"one bid at a time. If the bid becomes a suspended candidate and ultimately rejected by",
|
|
"the suspension judgement origin, the member will be banned from vouching again.",
|
|
"",
|
|
"As a vouching member, you can claim a tip if the candidate is accepted. This tip will",
|
|
"be paid as a portion of the reward the member will receive for joining the society.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and a member.",
|
|
"",
|
|
"Parameters:",
|
|
"- `who`: The user who you would like to vouch for.",
|
|
"- `value`: The total reward to be paid between you and the candidate if they become",
|
|
"a member in the society.",
|
|
"- `tip`: Your cut of the total `value` payout when the candidate is inducted into",
|
|
"the society. Tips larger than `value` will be saturated upon payout.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + B + C + logM + logB + X)",
|
|
" - B (len of bids)",
|
|
" - C (len of candidates)",
|
|
" - M (len of members)",
|
|
" - X (balance reserve)"
|
|
]
|
|
},
|
|
{
|
|
"name": "unvouch",
|
|
"fields": [
|
|
{
|
|
"name": "pos",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"As a vouching member, unvouch a bid. This only works while vouched user is",
|
|
"only a bidder (and not a candidate).",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and a vouching member.",
|
|
"",
|
|
"Parameters:",
|
|
"- `pos`: Position in the `Bids` vector of the bid who should be unvouched.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(B)",
|
|
" - B (len of bids)"
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "candidate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "approve",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"As a member, vote on a candidate.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and a member.",
|
|
"",
|
|
"Parameters:",
|
|
"- `candidate`: The candidate that the member would like to bid on.",
|
|
"- `approve`: A boolean which says if the candidate should be approved (`true`) or",
|
|
" rejected (`false`).",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + logM + C)",
|
|
" - C (len of candidates)",
|
|
" - M (len of members)"
|
|
]
|
|
},
|
|
{
|
|
"name": "defender_vote",
|
|
"fields": [
|
|
{
|
|
"name": "approve",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"As a member, vote on the defender.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and a member.",
|
|
"",
|
|
"Parameters:",
|
|
"- `approve`: A boolean which says if the candidate should be",
|
|
"approved (`true`) or rejected (`false`).",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + logM)",
|
|
" - M (len of members)"
|
|
]
|
|
},
|
|
{
|
|
"name": "payout",
|
|
"index": 6,
|
|
"docs": [
|
|
"Transfer the first matured payout for the sender and remove it from the records.",
|
|
"",
|
|
"NOTE: This extrinsic needs to be called multiple times to claim multiple matured",
|
|
"payouts.",
|
|
"",
|
|
"Payment: The member will receive a payment equal to their first matured",
|
|
"payout to their free balance.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and a member with",
|
|
"payouts remaining.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + logM + P + X)",
|
|
" - M (len of members)",
|
|
" - P (number of payouts for a particular member)",
|
|
" - X (currency transfer call)"
|
|
]
|
|
},
|
|
{
|
|
"name": "found",
|
|
"fields": [
|
|
{
|
|
"name": "founder",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "max_members",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "rules",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Found the society.",
|
|
"",
|
|
"This is done as a discrete action in order to allow for the",
|
|
"pallet to be included into a running chain and can only be done once.",
|
|
"",
|
|
"The dispatch origin for this call must be from the _FounderSetOrigin_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `founder` - The first member and head of the newly founded society.",
|
|
"- `max_members` - The initial max number of members for the society.",
|
|
"- `rules` - The rules of this society concerning membership.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "unfound",
|
|
"index": 8,
|
|
"docs": [
|
|
"Annul the founding of the society.",
|
|
"",
|
|
"The dispatch origin for this call must be Signed, and the signing account must be both",
|
|
"the `Founder` and the `Head`. This implies that it may only be done when there is one",
|
|
"member.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)"
|
|
]
|
|
},
|
|
{
|
|
"name": "judge_suspended_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "forgive",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Allow suspension judgement origin to make judgement on a suspended member.",
|
|
"",
|
|
"If a suspended member is forgiven, we simply add them back as a member, not affecting",
|
|
"any of the existing storage items for that member.",
|
|
"",
|
|
"If a suspended member is rejected, remove all associated storage items, including",
|
|
"their payouts, and remove any vouched bids they currently have.",
|
|
"",
|
|
"The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `who` - The suspended member to be judged.",
|
|
"- `forgive` - A boolean representing whether the suspension judgement origin forgives",
|
|
" (`true`) or rejects (`false`) a suspended member.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + logM + B)",
|
|
" - B (len of bids)",
|
|
" - M (len of members)"
|
|
]
|
|
},
|
|
{
|
|
"name": "judge_suspended_candidate",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "judgement",
|
|
"type": 207,
|
|
"typeName": "Judgement"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Allow suspended judgement origin to make judgement on a suspended candidate.",
|
|
"",
|
|
"If the judgement is `Approve`, we add them to society as a member with the appropriate",
|
|
"payment for joining society.",
|
|
"",
|
|
"If the judgement is `Reject`, we either slash the deposit of the bid, giving it back",
|
|
"to the society treasury, or we ban the voucher from vouching again.",
|
|
"",
|
|
"If the judgement is `Rebid`, we put the candidate back in the bid pool and let them go",
|
|
"through the induction process again.",
|
|
"",
|
|
"The dispatch origin for this call must be from the _SuspensionJudgementOrigin_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `who` - The suspended candidate to be judged.",
|
|
"- `judgement` - `Approve`, `Reject`, or `Rebid`.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(M + logM + B + X)",
|
|
" - B (len of bids)",
|
|
" - M (len of members)",
|
|
" - X (balance action)"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_max_members",
|
|
"fields": [
|
|
{
|
|
"name": "max",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"docs": [
|
|
"Allows root origin to change the maximum number of members in society.",
|
|
"Max membership count must be greater than 1.",
|
|
"",
|
|
"The dispatch origin for this call must be from _ROOT_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `max` - The maximum number of members for the society.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 207,
|
|
"type": {
|
|
"path": [
|
|
"pallet_society",
|
|
"Judgement"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Rebid",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Reject",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Approve",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 208,
|
|
"type": {
|
|
"path": [
|
|
"pallet_recovery",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "as_recovered",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Send a call through a recovered account.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and registered to",
|
|
"be able to make calls on behalf of the recovered account.",
|
|
"",
|
|
"Parameters:",
|
|
"- `account`: The recovered account you want to make a call on-behalf-of.",
|
|
"- `call`: The call you want to make with the recovered account."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_recovered",
|
|
"fields": [
|
|
{
|
|
"name": "lost",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "rescuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Allow ROOT to bypass the recovery process and set an a rescuer account",
|
|
"for a lost account directly.",
|
|
"",
|
|
"The dispatch origin for this call must be _ROOT_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `lost`: The \"lost account\" to be recovered.",
|
|
"- `rescuer`: The \"rescuer account\" which can call as the lost account."
|
|
]
|
|
},
|
|
{
|
|
"name": "create_recovery",
|
|
"fields": [
|
|
{
|
|
"name": "friends",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "threshold",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
},
|
|
{
|
|
"name": "delay_period",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Create a recovery configuration for your account. This makes your account recoverable.",
|
|
"",
|
|
"Payment: `ConfigDepositBase` + `FriendDepositFactor` * #_of_friends balance",
|
|
"will be reserved for storing the recovery configuration. This deposit is returned",
|
|
"in full when the user calls `remove_recovery`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `friends`: A list of friends you trust to vouch for recovery attempts. Should be",
|
|
" ordered and contain no duplicate values.",
|
|
"- `threshold`: The number of friends that must vouch for a recovery attempt before the",
|
|
" account can be recovered. Should be less than or equal to the length of the list of",
|
|
" friends.",
|
|
"- `delay_period`: The number of blocks after a recovery attempt is initialized that",
|
|
" needs to pass before the account can be recovered."
|
|
]
|
|
},
|
|
{
|
|
"name": "initiate_recovery",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Initiate the process for recovering a recoverable account.",
|
|
"",
|
|
"Payment: `RecoveryDeposit` balance will be reserved for initiating the",
|
|
"recovery process. This deposit will always be repatriated to the account",
|
|
"trying to be recovered. See `close_recovery`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `account`: The lost account that you want to recover. This account needs to be",
|
|
" recoverable (i.e. have a recovery configuration)."
|
|
]
|
|
},
|
|
{
|
|
"name": "vouch_recovery",
|
|
"fields": [
|
|
{
|
|
"name": "lost",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "rescuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Allow a \"friend\" of a recoverable account to vouch for an active recovery",
|
|
"process for that account.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and must be a \"friend\"",
|
|
"for the recoverable account.",
|
|
"",
|
|
"Parameters:",
|
|
"- `lost`: The lost account that you want to recover.",
|
|
"- `rescuer`: The account trying to rescue the lost account that you want to vouch for.",
|
|
"",
|
|
"The combination of these two parameters must point to an active recovery",
|
|
"process."
|
|
]
|
|
},
|
|
{
|
|
"name": "claim_recovery",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Allow a successful rescuer to claim their recovered account.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and must be a \"rescuer\"",
|
|
"who has successfully completed the account recovery process: collected",
|
|
"`threshold` or more vouches, waited `delay_period` blocks since initiation.",
|
|
"",
|
|
"Parameters:",
|
|
"- `account`: The lost account that you want to claim has been successfully recovered by",
|
|
" you."
|
|
]
|
|
},
|
|
{
|
|
"name": "close_recovery",
|
|
"fields": [
|
|
{
|
|
"name": "rescuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"As the controller of a recoverable account, close an active recovery",
|
|
"process for your account.",
|
|
"",
|
|
"Payment: By calling this function, the recoverable account will receive",
|
|
"the recovery deposit `RecoveryDeposit` placed by the rescuer.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and must be a",
|
|
"recoverable account with an active recovery process for it.",
|
|
"",
|
|
"Parameters:",
|
|
"- `rescuer`: The account trying to rescue this recoverable account."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_recovery",
|
|
"index": 7,
|
|
"docs": [
|
|
"Remove the recovery process for your account. Recovered accounts are still accessible.",
|
|
"",
|
|
"NOTE: The user must make sure to call `close_recovery` on all active",
|
|
"recovery attempts before calling this function else it will fail.",
|
|
"",
|
|
"Payment: By calling this function the recoverable account will unreserve",
|
|
"their recovery configuration deposit.",
|
|
"(`ConfigDepositBase` + `FriendDepositFactor` * #_of_friends)",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and must be a",
|
|
"recoverable account (i.e. has a recovery configuration)."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_recovered",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Cancel the ability to use `as_recovered` for `account`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and registered to",
|
|
"be able to make calls on behalf of the recovered account.",
|
|
"",
|
|
"Parameters:",
|
|
"- `account`: The recovered account you are able to call on-behalf-of."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 209,
|
|
"type": {
|
|
"path": [
|
|
"pallet_vesting",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "vest",
|
|
"index": 0,
|
|
"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`.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "vest_other",
|
|
"fields": [
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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`.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "vested_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"type": 210,
|
|
"typeName": "VestingInfo<BalanceOf<T>, T::BlockNumber>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Create a vested transfer.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"- `target`: The account receiving the vested funds.",
|
|
"- `schedule`: The vesting schedule attached to the transfer.",
|
|
"",
|
|
"Emits `VestingCreated`.",
|
|
"",
|
|
"NOTE: This will unlock all schedules through the current block.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_vested_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "source",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "schedule",
|
|
"type": 210,
|
|
"typeName": "VestingInfo<BalanceOf<T>, T::BlockNumber>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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.",
|
|
"- `schedule`: The vesting schedule attached to the transfer.",
|
|
"",
|
|
"Emits `VestingCreated`.",
|
|
"",
|
|
"NOTE: This will unlock all schedules through the current block.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "merge_schedules",
|
|
"fields": [
|
|
{
|
|
"name": "schedule1_index",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "schedule2_index",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Merge two vesting schedules together, creating a new vesting schedule that unlocks over",
|
|
"the highest possible start and end blocks. If both schedules have already started the",
|
|
"current block will be used as the schedule start; with the caveat that if one schedule",
|
|
"is finished by the current block, the other will be treated as the new merged schedule,",
|
|
"unmodified.",
|
|
"",
|
|
"NOTE: If `schedule1_index == schedule2_index` this is a no-op.",
|
|
"NOTE: This will unlock all schedules through the current block prior to merging.",
|
|
"NOTE: If both schedules have ended by the current block, no new schedule will be created",
|
|
"and both will be removed.",
|
|
"",
|
|
"Merged schedule attributes:",
|
|
"- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,",
|
|
" current_block)`.",
|
|
"- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.",
|
|
"- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"- `schedule1_index`: index of the first schedule to merge.",
|
|
"- `schedule2_index`: index of the second schedule to merge."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 210,
|
|
"type": {
|
|
"path": [
|
|
"pallet_vesting",
|
|
"vesting_info",
|
|
"VestingInfo"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
},
|
|
{
|
|
"name": "BlockNumber",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "locked",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "per_block",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "starting_block",
|
|
"type": 4,
|
|
"typeName": "BlockNumber"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 211,
|
|
"type": {
|
|
"path": [
|
|
"pallet_scheduler",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "schedule",
|
|
"fields": [
|
|
{
|
|
"name": "when",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "maybe_periodic",
|
|
"type": 212,
|
|
"typeName": "Option<schedule::Period<T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "priority",
|
|
"type": 3,
|
|
"typeName": "schedule::Priority"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Anonymously schedule a task."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel",
|
|
"fields": [
|
|
{
|
|
"name": "when",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Cancel an anonymously scheduled task."
|
|
]
|
|
},
|
|
{
|
|
"name": "schedule_named",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 2,
|
|
"typeName": "TaskName"
|
|
},
|
|
{
|
|
"name": "when",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "maybe_periodic",
|
|
"type": 212,
|
|
"typeName": "Option<schedule::Period<T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "priority",
|
|
"type": 3,
|
|
"typeName": "schedule::Priority"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Schedule a named task."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_named",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 2,
|
|
"typeName": "TaskName"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Cancel a named scheduled task."
|
|
]
|
|
},
|
|
{
|
|
"name": "schedule_after",
|
|
"fields": [
|
|
{
|
|
"name": "after",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "maybe_periodic",
|
|
"type": 212,
|
|
"typeName": "Option<schedule::Period<T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "priority",
|
|
"type": 3,
|
|
"typeName": "schedule::Priority"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Anonymously schedule a task after a delay."
|
|
]
|
|
},
|
|
{
|
|
"name": "schedule_named_after",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 2,
|
|
"typeName": "TaskName"
|
|
},
|
|
{
|
|
"name": "after",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "maybe_periodic",
|
|
"type": 212,
|
|
"typeName": "Option<schedule::Period<T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "priority",
|
|
"type": 3,
|
|
"typeName": "schedule::Priority"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Schedule a named task after a delay."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 212,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 213
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 213
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 213,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
4,
|
|
4
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 214,
|
|
"type": {
|
|
"path": [
|
|
"pallet_glutton",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "initialize_pallet",
|
|
"fields": [
|
|
{
|
|
"name": "new_count",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "witness_count",
|
|
"type": 114,
|
|
"typeName": "Option<u32>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Initializes the pallet by writing into `TrashData`.",
|
|
"",
|
|
"Only callable by Root. A good default for `trash_count` is `5_000`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_compute",
|
|
"fields": [
|
|
{
|
|
"name": "compute",
|
|
"type": 119,
|
|
"typeName": "Perbill"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Set the `Compute` storage value that determines how much of the",
|
|
"block's weight `ref_time` to use during `on_idle`.",
|
|
"",
|
|
"Only callable by Root."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_storage",
|
|
"fields": [
|
|
{
|
|
"name": "storage",
|
|
"type": 119,
|
|
"typeName": "Perbill"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Set the `Storage` storage value that determines the PoV size usage",
|
|
"for each block.",
|
|
"",
|
|
"Only callable by Root."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 215,
|
|
"type": {
|
|
"path": [
|
|
"pallet_preimage",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "note_preimage",
|
|
"fields": [
|
|
{
|
|
"name": "bytes",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Register a preimage on-chain.",
|
|
"",
|
|
"If the preimage was previously requested, no fees or deposits are taken for providing",
|
|
"the preimage. Otherwise, a deposit is taken proportional to the size of the preimage."
|
|
]
|
|
},
|
|
{
|
|
"name": "unnote_preimage",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Clear an unrequested preimage from the runtime storage.",
|
|
"",
|
|
"If `len` is provided, then it will be a much cheaper operation.",
|
|
"",
|
|
"- `hash`: The hash of the preimage to be removed from the store.",
|
|
"- `len`: The length of the preimage of `hash`."
|
|
]
|
|
},
|
|
{
|
|
"name": "request_preimage",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Request a preimage be uploaded to the chain without paying any fees or deposits.",
|
|
"",
|
|
"If the preimage requests has already been provided on-chain, we unreserve any deposit",
|
|
"a user may have paid, and take the control of the preimage out of their hands."
|
|
]
|
|
},
|
|
{
|
|
"name": "unrequest_preimage",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Clear a previously made request for a preimage.",
|
|
"",
|
|
"NOTE: THIS MUST NOT BE CALLED ON `hash` MORE TIMES THAN `request_preimage`."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 216,
|
|
"type": {
|
|
"path": [
|
|
"pallet_proxy",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "proxy",
|
|
"fields": [
|
|
{
|
|
"name": "real",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "force_proxy_type",
|
|
"type": 217,
|
|
"typeName": "Option<T::ProxyType>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Dispatch the given `call` from an account that the sender is authorised for through",
|
|
"`add_proxy`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"Parameters:",
|
|
"- `real`: The account that the proxy will make a call on behalf of.",
|
|
"- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.",
|
|
"- `call`: The call to be made by the `real` account."
|
|
]
|
|
},
|
|
{
|
|
"name": "add_proxy",
|
|
"fields": [
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "proxy_type",
|
|
"type": 218,
|
|
"typeName": "T::ProxyType"
|
|
},
|
|
{
|
|
"name": "delay",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_proxy",
|
|
"fields": [
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "proxy_type",
|
|
"type": 218,
|
|
"typeName": "T::ProxyType"
|
|
},
|
|
{
|
|
"name": "delay",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_proxies",
|
|
"index": 3,
|
|
"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 `pure`, however if done, then",
|
|
"the unreserved fees will be inaccessible. **All access to this account will be lost.**"
|
|
]
|
|
},
|
|
{
|
|
"name": "create_pure",
|
|
"fields": [
|
|
{
|
|
"name": "proxy_type",
|
|
"type": 218,
|
|
"typeName": "T::ProxyType"
|
|
},
|
|
{
|
|
"name": "delay",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "kill_pure",
|
|
"fields": [
|
|
{
|
|
"name": "spawner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "proxy_type",
|
|
"type": 218,
|
|
"typeName": "T::ProxyType"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
},
|
|
{
|
|
"name": "height",
|
|
"type": 36,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "ext_index",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Removes a previously spawned pure proxy.",
|
|
"",
|
|
"WARNING: **All access to this account will be lost.** Any funds held in it will be",
|
|
"inaccessible.",
|
|
"",
|
|
"Requires a `Signed` origin, and the sender account must have been created by a call to",
|
|
"`pure` with corresponding parameters.",
|
|
"",
|
|
"- `spawner`: The account that originally called `pure` to create this account.",
|
|
"- `index`: The disambiguation index originally passed to `pure`. Probably `0`.",
|
|
"- `proxy_type`: The proxy type originally passed to `pure`.",
|
|
"- `height`: The height of the chain when the call to `pure` was processed.",
|
|
"- `ext_index`: The extrinsic index in which the call to `pure` was processed.",
|
|
"",
|
|
"Fails with `NoPermission` in case the caller is not a previously created pure",
|
|
"account whose `pure` call has corresponding parameters."
|
|
]
|
|
},
|
|
{
|
|
"name": "announce",
|
|
"fields": [
|
|
{
|
|
"name": "real",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "call_hash",
|
|
"type": 1,
|
|
"typeName": "CallHashOf<T>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_announcement",
|
|
"fields": [
|
|
{
|
|
"name": "real",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "call_hash",
|
|
"type": 1,
|
|
"typeName": "CallHashOf<T>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "reject_announcement",
|
|
"fields": [
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "call_hash",
|
|
"type": 1,
|
|
"typeName": "CallHashOf<T>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"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."
|
|
]
|
|
},
|
|
{
|
|
"name": "proxy_announced",
|
|
"fields": [
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "real",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "force_proxy_type",
|
|
"type": 217,
|
|
"typeName": "Option<T::ProxyType>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"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."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 217,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 218
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 218
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 218,
|
|
"type": {
|
|
"path": [
|
|
"kitchensink_runtime",
|
|
"ProxyType"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Any",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "NonTransfer",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Governance",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Staking",
|
|
"index": 3
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 219,
|
|
"type": {
|
|
"path": [
|
|
"pallet_multisig",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "as_multi_threshold_1",
|
|
"fields": [
|
|
{
|
|
"name": "other_signatories",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"O(Z + C) where Z is the length of the call and C its execution weight."
|
|
]
|
|
},
|
|
{
|
|
"name": "as_multi",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
},
|
|
{
|
|
"name": "other_signatories",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "maybe_timepoint",
|
|
"type": 220,
|
|
"typeName": "Option<Timepoint<T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
},
|
|
{
|
|
"name": "max_weight",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(S + Z + Call)`.",
|
|
"- Up to one balance-reserve or unreserve operation.",
|
|
"- One passthrough operation, one insert, both `O(S)` where `S` is the number of",
|
|
" signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",
|
|
"- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.",
|
|
"- One encode & hash, both of complexity `O(S)`.",
|
|
"- Up to one binary search and insert (`O(logS + S)`).",
|
|
"- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",
|
|
"- One event.",
|
|
"- The weight of the `call`.",
|
|
"- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit",
|
|
" taken for its lifetime of `DepositBase + threshold * DepositFactor`."
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_as_multi",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
},
|
|
{
|
|
"name": "other_signatories",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "maybe_timepoint",
|
|
"type": 220,
|
|
"typeName": "Option<Timepoint<T::BlockNumber>>"
|
|
},
|
|
{
|
|
"name": "call_hash",
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
},
|
|
{
|
|
"name": "max_weight",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(S)`.",
|
|
"- Up to one balance-reserve or unreserve operation.",
|
|
"- One passthrough operation, one insert, both `O(S)` where `S` is the number of",
|
|
" signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",
|
|
"- One encode & hash, both of complexity `O(S)`.",
|
|
"- Up to one binary search and insert (`O(logS + S)`).",
|
|
"- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.",
|
|
"- One event.",
|
|
"- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit",
|
|
" taken for its lifetime of `DepositBase + threshold * DepositFactor`."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_as_multi",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 20,
|
|
"typeName": "u16"
|
|
},
|
|
{
|
|
"name": "other_signatories",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "timepoint",
|
|
"type": 23,
|
|
"typeName": "Timepoint<T::BlockNumber>"
|
|
},
|
|
{
|
|
"name": "call_hash",
|
|
"type": 2,
|
|
"typeName": "[u8; 32]"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"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.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(S)`.",
|
|
"- Up to one balance-reserve or unreserve operation.",
|
|
"- One passthrough operation, one insert, both `O(S)` where `S` is the number of",
|
|
" signatories. `S` is capped by `MaxSignatories`, with weight being proportional.",
|
|
"- One encode & hash, both of complexity `O(S)`.",
|
|
"- One event.",
|
|
"- I/O: 1 read `O(S)`, one remove.",
|
|
"- Storage: removes one item."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 220,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 23
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 23
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 221,
|
|
"type": {
|
|
"path": [
|
|
"pallet_bounties",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "propose_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T, I>"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Propose a new bounty.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",
|
|
"`DataDepositPerByte` for each byte in `reason`. It will be unreserved upon approval,",
|
|
"or slashed when rejected.",
|
|
"",
|
|
"- `curator`: The curator account whom will manage this bounty.",
|
|
"- `fee`: The curator fee.",
|
|
"- `value`: The total payment amount of this bounty, curator fee included.",
|
|
"- `description`: The description of this bounty."
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Approve a bounty proposal. At a later time, the bounty will be funded and become active",
|
|
"and the original deposit will be returned.",
|
|
"",
|
|
"May only be called from `T::SpendOrigin`.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "propose_curator",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "curator",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "fee",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T, I>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Assign a curator to a funded bounty.",
|
|
"",
|
|
"May only be called from `T::SpendOrigin`.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "unassign_curator",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Unassign curator from a bounty.",
|
|
"",
|
|
"This function can only be called by the `RejectOrigin` a signed origin.",
|
|
"",
|
|
"If this function is called by the `RejectOrigin`, we assume that the curator is",
|
|
"malicious or inactive. As a result, we will slash the curator when possible.",
|
|
"",
|
|
"If the origin is the curator, we take this as a sign they are unable to do their job and",
|
|
"they willingly give up. We could slash them, but for now we allow them to recover their",
|
|
"deposit and exit without issue. (We may want to change this if it is abused.)",
|
|
"",
|
|
"Finally, the origin can be anyone if and only if the curator is \"inactive\". This allows",
|
|
"anyone in the community to call out that a curator is not doing their due diligence, and",
|
|
"we should pick a new curator. In this case the curator should also be slashed.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "accept_curator",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Accept the curator role for a bounty.",
|
|
"A deposit will be reserved from curator and refund upon successful payout.",
|
|
"",
|
|
"May only be called from the curator.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "award_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "beneficiary",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Award bounty to a beneficiary account. The beneficiary will be able to claim the funds",
|
|
"after a delay.",
|
|
"",
|
|
"The dispatch origin for this call must be the curator of this bounty.",
|
|
"",
|
|
"- `bounty_id`: Bounty ID to award.",
|
|
"- `beneficiary`: The beneficiary account whom will receive the payout.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "claim_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Claim the payout from an awarded bounty after payout delay.",
|
|
"",
|
|
"The dispatch origin for this call must be the beneficiary of this bounty.",
|
|
"",
|
|
"- `bounty_id`: Bounty ID to claim.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "close_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Cancel a proposed or active bounty. All the funds will be sent to treasury and",
|
|
"the curator deposit will be unreserved if possible.",
|
|
"",
|
|
"Only `T::RejectOrigin` is able to cancel a bounty.",
|
|
"",
|
|
"- `bounty_id`: Bounty ID to cancel.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "extend_bounty_expiry",
|
|
"fields": [
|
|
{
|
|
"name": "bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "remark",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Extend the expiry time of an active bounty.",
|
|
"",
|
|
"The dispatch origin for this call must be the curator of this bounty.",
|
|
"",
|
|
"- `bounty_id`: Bounty ID to extend.",
|
|
"- `remark`: additional information.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 222,
|
|
"type": {
|
|
"path": [
|
|
"pallet_tips",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "report_awesome",
|
|
"fields": [
|
|
{
|
|
"name": "reason",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Report something `reason` that deserves a tip and claim any eventual the finder's fee.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"Payment: `TipReportDepositBase` will be reserved from the origin account, as well as",
|
|
"`DataDepositPerByte` for each byte in `reason`.",
|
|
"",
|
|
"- `reason`: The reason for, or the thing that deserves, the tip; generally this will be",
|
|
" a UTF-8-encoded URL.",
|
|
"- `who`: The account which should be credited for the tip.",
|
|
"",
|
|
"Emits `NewTip` if successful.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R)` where `R` length of `reason`.",
|
|
" - encoding and hashing of 'reason'"
|
|
]
|
|
},
|
|
{
|
|
"name": "retract_tip",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Retract a prior tip-report from `report_awesome`, and cancel the process of tipping.",
|
|
"",
|
|
"If successful, the original deposit will be unreserved.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and the tip identified by `hash`",
|
|
"must have been reported by the signing account through `report_awesome` (and not",
|
|
"through `tip_new`).",
|
|
"",
|
|
"- `hash`: The identity of the open tip for which a tip value is declared. This is formed",
|
|
" as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",
|
|
"",
|
|
"Emits `TipRetracted` if successful.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(1)`",
|
|
" - Depends on the length of `T::Hash` which is fixed."
|
|
]
|
|
},
|
|
{
|
|
"name": "tip_new",
|
|
"fields": [
|
|
{
|
|
"name": "reason",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "tip_value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T, I>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Give a tip for something new; no finder's fee will be taken.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and the signing account must be a",
|
|
"member of the `Tippers` set.",
|
|
"",
|
|
"- `reason`: The reason for, or the thing that deserves, the tip; generally this will be",
|
|
" a UTF-8-encoded URL.",
|
|
"- `who`: The account which should be credited for the tip.",
|
|
"- `tip_value`: The amount of tip that the sender would like to give. The median tip",
|
|
" value of active tippers will be given to the `who`.",
|
|
"",
|
|
"Emits `NewTip` if successful.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(R + T)` where `R` length of `reason`, `T` is the number of tippers.",
|
|
" - `O(T)`: decoding `Tipper` vec of length `T`. `T` is charged as upper bound given by",
|
|
" `ContainsLengthBound`. The actual cost depends on the implementation of",
|
|
" `T::Tippers`.",
|
|
" - `O(R)`: hashing and encoding of reason of length `R`"
|
|
]
|
|
},
|
|
{
|
|
"name": "tip",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "tip_value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T, I>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Declare a tip value for an already-open tip.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and the signing account must be a",
|
|
"member of the `Tippers` set.",
|
|
"",
|
|
"- `hash`: The identity of the open tip for which a tip value is declared. This is formed",
|
|
" as the hash of the tuple of the hash of the original tip `reason` and the beneficiary",
|
|
" account ID.",
|
|
"- `tip_value`: The amount of tip that the sender would like to give. The median tip",
|
|
" value of active tippers will be given to the `who`.",
|
|
"",
|
|
"Emits `TipClosing` if the threshold of tippers has been reached and the countdown period",
|
|
"has started.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`, insert",
|
|
" tip and check closing, `T` is charged as upper bound given by `ContainsLengthBound`.",
|
|
" The actual cost depends on the implementation of `T::Tippers`.",
|
|
"",
|
|
" Actually weight could be lower as it depends on how many tips are in `OpenTip` but it",
|
|
" is weighted as if almost full i.e of length `T-1`."
|
|
]
|
|
},
|
|
{
|
|
"name": "close_tip",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Close and payout a tip.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_.",
|
|
"",
|
|
"The tip identified by `hash` must have finished its countdown period.",
|
|
"",
|
|
"- `hash`: The identity of the open tip for which a tip value is declared. This is formed",
|
|
" as the hash of the tuple of the original tip `reason` and the beneficiary account ID.",
|
|
"",
|
|
"## Complexity",
|
|
"- : `O(T)` where `T` is the number of tippers. decoding `Tipper` vec of length `T`. `T`",
|
|
" is charged as upper bound given by `ContainsLengthBound`. The actual cost depends on",
|
|
" the implementation of `T::Tippers`."
|
|
]
|
|
},
|
|
{
|
|
"name": "slash_tip",
|
|
"fields": [
|
|
{
|
|
"name": "hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Remove and slash an already-open tip.",
|
|
"",
|
|
"May only be called from `T::RejectOrigin`.",
|
|
"",
|
|
"As a result, the finder is slashed and the deposits are lost.",
|
|
"",
|
|
"Emits `TipSlashed` if successful.",
|
|
"",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 223,
|
|
"type": {
|
|
"path": [
|
|
"pallet_assets",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "create",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "min_balance",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Issue a new class of fungible assets from a public origin.",
|
|
"",
|
|
"This new asset class has no assets initially and its owner is the origin.",
|
|
"",
|
|
"The origin must conform to the configured `CreateOrigin` and have sufficient funds free.",
|
|
"",
|
|
"Funds of sender are reserved by `AssetDeposit`.",
|
|
"",
|
|
"Parameters:",
|
|
"- `id`: The identifier of the new asset. This must not be currently in use to identify",
|
|
"an existing asset.",
|
|
"- `admin`: The admin of this class of assets. The admin is the initial address of each",
|
|
"member of the asset class's admin team.",
|
|
"- `min_balance`: The minimum balance of this new asset that any single account must",
|
|
"have. If an account's balance is reduced below this, then it collapses to zero.",
|
|
"",
|
|
"Emits `Created` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_create",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "is_sufficient",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
},
|
|
{
|
|
"name": "min_balance",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Issue a new class of fungible assets from a privileged origin.",
|
|
"",
|
|
"This new asset class has no assets initially.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin`.",
|
|
"",
|
|
"Unlike `create`, no funds are reserved.",
|
|
"",
|
|
"- `id`: The identifier of the new asset. This must not be currently in use to identify",
|
|
"an existing asset.",
|
|
"- `owner`: The owner of this class of assets. The owner has full superuser permissions",
|
|
"over this asset, but may later change and configure the permissions using",
|
|
"`transfer_ownership` and `set_team`.",
|
|
"- `min_balance`: The minimum balance of this new asset that any single account must",
|
|
"have. If an account's balance is reduced below this, then it collapses to zero.",
|
|
"",
|
|
"Emits `ForceCreated` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "start_destroy",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Start the process of destroying a fungible asset class.",
|
|
"",
|
|
"`start_destroy` is the first in a series of extrinsics that should be called, to allow",
|
|
"destruction of an asset class.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be destroyed. This must identify an existing",
|
|
" asset.",
|
|
"",
|
|
"The asset class must be frozen before calling `start_destroy`."
|
|
]
|
|
},
|
|
{
|
|
"name": "destroy_accounts",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Destroy all accounts associated with a given asset.",
|
|
"",
|
|
"`destroy_accounts` should only be called after `start_destroy` has been called, and the",
|
|
"asset is in a `Destroying` state.",
|
|
"",
|
|
"Due to weight restrictions, this function may need to be called multiple times to fully",
|
|
"destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be destroyed. This must identify an existing",
|
|
" asset.",
|
|
"",
|
|
"Each call emits the `Event::DestroyedAccounts` event."
|
|
]
|
|
},
|
|
{
|
|
"name": "destroy_approvals",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).",
|
|
"",
|
|
"`destroy_approvals` should only be called after `start_destroy` has been called, and the",
|
|
"asset is in a `Destroying` state.",
|
|
"",
|
|
"Due to weight restrictions, this function may need to be called multiple times to fully",
|
|
"destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be destroyed. This must identify an existing",
|
|
" asset.",
|
|
"",
|
|
"Each call emits the `Event::DestroyedApprovals` event."
|
|
]
|
|
},
|
|
{
|
|
"name": "finish_destroy",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Complete destroying asset and unreserve currency.",
|
|
"",
|
|
"`finish_destroy` should only be called after `start_destroy` has been called, and the",
|
|
"asset is in a `Destroying` state. All accounts or approvals should be destroyed before",
|
|
"hand.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be destroyed. This must identify an existing",
|
|
" asset.",
|
|
"",
|
|
"Each successful call emits the `Event::Destroyed` event."
|
|
]
|
|
},
|
|
{
|
|
"name": "mint",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "beneficiary",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Mint assets of a particular class.",
|
|
"",
|
|
"The origin must be Signed and the sender must be the Issuer of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to have some amount minted.",
|
|
"- `beneficiary`: The account to be credited with the minted assets.",
|
|
"- `amount`: The amount of the asset to be minted.",
|
|
"",
|
|
"Emits `Issued` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`."
|
|
]
|
|
},
|
|
{
|
|
"name": "burn",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Manager of the asset `id`.",
|
|
"",
|
|
"Bails with `NoAccount` if the `who` is already dead.",
|
|
"",
|
|
"- `id`: The identifier of the asset to have some amount burned.",
|
|
"- `who`: The account to be debited from.",
|
|
"- `amount`: The maximum amount by which `who`'s balance should be reduced.",
|
|
"",
|
|
"Emits `Burned` with the actual amount burned. If this takes the balance to below the",
|
|
"minimum for the asset, then the amount burned is increased to take it to zero.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: Post-existence of `who`; Pre & post Zombie-status of `who`."
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Move some assets from the sender account to another.",
|
|
"",
|
|
"Origin must be Signed.",
|
|
"",
|
|
"- `id`: The identifier of the asset to have some amount transferred.",
|
|
"- `target`: The account to be credited.",
|
|
"- `amount`: The amount by which the sender's balance of assets should be reduced and",
|
|
"`target`'s balance increased. The amount actually transferred may be slightly greater in",
|
|
"the case that the transfer would otherwise take the sender balance above zero but below",
|
|
"the minimum balance. Must be greater than zero.",
|
|
"",
|
|
"Emits `Transferred` with the actual amount transferred. If this takes the source balance",
|
|
"to below the minimum for the asset, then the amount transferred is increased to take it",
|
|
"to zero.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of",
|
|
"`target`."
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_keep_alive",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Move some assets from the sender account to another, keeping the sender account alive.",
|
|
"",
|
|
"Origin must be Signed.",
|
|
"",
|
|
"- `id`: The identifier of the asset to have some amount transferred.",
|
|
"- `target`: The account to be credited.",
|
|
"- `amount`: The amount by which the sender's balance of assets should be reduced and",
|
|
"`target`'s balance increased. The amount actually transferred may be slightly greater in",
|
|
"the case that the transfer would otherwise take the sender balance above zero but below",
|
|
"the minimum balance. Must be greater than zero.",
|
|
"",
|
|
"Emits `Transferred` with the actual amount transferred. If this takes the source balance",
|
|
"to below the minimum for the asset, then the amount transferred is increased to take it",
|
|
"to zero.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of",
|
|
"`target`."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "source",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Move some assets from one account to another.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Admin of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to have some amount transferred.",
|
|
"- `source`: The account to be debited.",
|
|
"- `dest`: The account to be credited.",
|
|
"- `amount`: The amount by which the `source`'s balance of assets should be reduced and",
|
|
"`dest`'s balance increased. The amount actually transferred may be slightly greater in",
|
|
"the case that the transfer would otherwise take the `source` balance above zero but",
|
|
"below the minimum balance. Must be greater than zero.",
|
|
"",
|
|
"Emits `Transferred` with the actual amount transferred. If this takes the source balance",
|
|
"to below the minimum for the asset, then the amount transferred is increased to take it",
|
|
"to zero.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of",
|
|
"`dest`."
|
|
]
|
|
},
|
|
{
|
|
"name": "freeze",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"docs": [
|
|
"Disallow further unprivileged transfers from an account.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be frozen.",
|
|
"- `who`: The account to be frozen.",
|
|
"",
|
|
"Emits `Frozen`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "thaw",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 12,
|
|
"docs": [
|
|
"Allow unprivileged transfers from an account again.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Admin of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be frozen.",
|
|
"- `who`: The account to be unfrozen.",
|
|
"",
|
|
"Emits `Thawed`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "freeze_asset",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"docs": [
|
|
"Disallow further unprivileged transfers for the asset class.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be frozen.",
|
|
"",
|
|
"Emits `Frozen`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "thaw_asset",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"docs": [
|
|
"Allow unprivileged transfers for the asset again.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Admin of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be thawed.",
|
|
"",
|
|
"Emits `Thawed`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_ownership",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"docs": [
|
|
"Change the Owner of an asset.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset.",
|
|
"- `owner`: The new Owner of this asset.",
|
|
"",
|
|
"Emits `OwnerChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_team",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "issuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "freezer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 16,
|
|
"docs": [
|
|
"Change the Issuer, Admin and Freezer of an asset.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the asset `id`.",
|
|
"",
|
|
"- `id`: The identifier of the asset to be frozen.",
|
|
"- `issuer`: The new Issuer of this asset.",
|
|
"- `admin`: The new Admin of this asset.",
|
|
"- `freezer`: The new Freezer of this asset.",
|
|
"",
|
|
"Emits `TeamChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "symbol",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "decimals",
|
|
"type": 3,
|
|
"typeName": "u8"
|
|
}
|
|
],
|
|
"index": 17,
|
|
"docs": [
|
|
"Set the metadata for an asset.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the asset `id`.",
|
|
"",
|
|
"Funds of sender are reserved according to the formula:",
|
|
"`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `id`: The identifier of the asset to update.",
|
|
"- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.",
|
|
"- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.",
|
|
"- `decimals`: The number of decimals this asset uses to represent one unit.",
|
|
"",
|
|
"Emits `MetadataSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 18,
|
|
"docs": [
|
|
"Clear the metadata for an asset.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the asset `id`.",
|
|
"",
|
|
"Any deposit is freed for the asset owner.",
|
|
"",
|
|
"- `id`: The identifier of the asset to clear.",
|
|
"",
|
|
"Emits `MetadataCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "name",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "symbol",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "decimals",
|
|
"type": 3,
|
|
"typeName": "u8"
|
|
},
|
|
{
|
|
"name": "is_frozen",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 19,
|
|
"docs": [
|
|
"Force the metadata for an asset to some value.",
|
|
"",
|
|
"Origin must be ForceOrigin.",
|
|
"",
|
|
"Any deposit is left alone.",
|
|
"",
|
|
"- `id`: The identifier of the asset to update.",
|
|
"- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.",
|
|
"- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.",
|
|
"- `decimals`: The number of decimals this asset uses to represent one unit.",
|
|
"",
|
|
"Emits `MetadataSet`.",
|
|
"",
|
|
"Weight: `O(N + S)` where N and S are the length of the name and symbol respectively."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_clear_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 20,
|
|
"docs": [
|
|
"Clear the metadata for an asset.",
|
|
"",
|
|
"Origin must be ForceOrigin.",
|
|
"",
|
|
"Any deposit is returned.",
|
|
"",
|
|
"- `id`: The identifier of the asset to clear.",
|
|
"",
|
|
"Emits `MetadataCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_asset_status",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "issuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "freezer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "min_balance",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
},
|
|
{
|
|
"name": "is_sufficient",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
},
|
|
{
|
|
"name": "is_frozen",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 21,
|
|
"docs": [
|
|
"Alter the attributes of a given asset.",
|
|
"",
|
|
"Origin must be `ForceOrigin`.",
|
|
"",
|
|
"- `id`: The identifier of the asset.",
|
|
"- `owner`: The new Owner of this asset.",
|
|
"- `issuer`: The new Issuer of this asset.",
|
|
"- `admin`: The new Admin of this asset.",
|
|
"- `freezer`: The new Freezer of this asset.",
|
|
"- `min_balance`: The minimum balance of this new asset that any single account must",
|
|
"have. If an account's balance is reduced below this, then it collapses to zero.",
|
|
"- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient",
|
|
"value to account for the state bloat associated with its balance storage. If set to",
|
|
"`true`, then non-zero balances may be stored without a `consumer` reference (and thus",
|
|
"an ED in the Balances pallet or whatever else is used to control user-account state",
|
|
"growth).",
|
|
"- `is_frozen`: Whether this asset class is frozen except for permissioned/admin",
|
|
"instructions.",
|
|
"",
|
|
"Emits `AssetStatusChanged` with the identity of the asset.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 22,
|
|
"docs": [
|
|
"Approve an amount of asset for transfer by a delegated third-party account.",
|
|
"",
|
|
"Origin must be Signed.",
|
|
"",
|
|
"Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account",
|
|
"for the purpose of holding the approval. If some non-zero amount of assets is already",
|
|
"approved from signing account to `delegate`, then it is topped up or unreserved to",
|
|
"meet the right value.",
|
|
"",
|
|
"NOTE: The signing account does not need to own `amount` of assets at the point of",
|
|
"making this call.",
|
|
"",
|
|
"- `id`: The identifier of the asset.",
|
|
"- `delegate`: The account to delegate permission to transfer asset.",
|
|
"- `amount`: The amount of asset that may be transferred by `delegate`. If there is",
|
|
"already an approval in place, then this acts additively.",
|
|
"",
|
|
"Emits `ApprovedTransfer` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_approval",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 23,
|
|
"docs": [
|
|
"Cancel all of some asset approved for delegated transfer by a third-party account.",
|
|
"",
|
|
"Origin must be Signed and there must be an approval in place between signer and",
|
|
"`delegate`.",
|
|
"",
|
|
"Unreserves any deposit previously reserved by `approve_transfer` for the approval.",
|
|
"",
|
|
"- `id`: The identifier of the asset.",
|
|
"- `delegate`: The account delegated permission to transfer asset.",
|
|
"",
|
|
"Emits `ApprovalCancelled` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_cancel_approval",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 24,
|
|
"docs": [
|
|
"Cancel all of some asset approved for delegated transfer by a third-party account.",
|
|
"",
|
|
"Origin must be either ForceOrigin or Signed origin with the signer being the Admin",
|
|
"account of the asset `id`.",
|
|
"",
|
|
"Unreserves any deposit previously reserved by `approve_transfer` for the approval.",
|
|
"",
|
|
"- `id`: The identifier of the asset.",
|
|
"- `delegate`: The account delegated permission to transfer asset.",
|
|
"",
|
|
"Emits `ApprovalCancelled` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_approved",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "destination",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 25,
|
|
"docs": [
|
|
"Transfer some asset balance from a previously delegated account to some third-party",
|
|
"account.",
|
|
"",
|
|
"Origin must be Signed and there must be an approval in place by the `owner` to the",
|
|
"signer.",
|
|
"",
|
|
"If the entire amount approved for transfer is transferred, then any deposit previously",
|
|
"reserved by `approve_transfer` is unreserved.",
|
|
"",
|
|
"- `id`: The identifier of the asset.",
|
|
"- `owner`: The account which previously approved for a transfer of at least `amount` and",
|
|
"from which the asset balance will be withdrawn.",
|
|
"- `destination`: The account to which the asset balance of `amount` will be transferred.",
|
|
"- `amount`: The amount of assets to transfer.",
|
|
"",
|
|
"Emits `TransferredApproved` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "touch",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
}
|
|
],
|
|
"index": 26,
|
|
"docs": [
|
|
"Create an asset account for non-provider assets.",
|
|
"",
|
|
"A deposit will be taken from the signer account.",
|
|
"",
|
|
"- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit",
|
|
" to be taken.",
|
|
"- `id`: The identifier of the asset for the account to be created.",
|
|
"",
|
|
"Emits `Touched` event when successful."
|
|
]
|
|
},
|
|
{
|
|
"name": "refund",
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 36,
|
|
"typeName": "T::AssetIdParameter"
|
|
},
|
|
{
|
|
"name": "allow_burn",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 27,
|
|
"docs": [
|
|
"Return the deposit (if any) of an asset account.",
|
|
"",
|
|
"The origin must be Signed.",
|
|
"",
|
|
"- `id`: The identifier of the asset for the account to be created.",
|
|
"- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.",
|
|
"",
|
|
"Emits `Refunded` event when successful."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 224,
|
|
"type": {
|
|
"path": [
|
|
"pallet_lottery",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "buy_ticket",
|
|
"fields": [
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Buy a ticket to enter the lottery.",
|
|
"",
|
|
"This extrinsic acts as a passthrough function for `call`. In all",
|
|
"situations where `call` alone would succeed, this extrinsic should",
|
|
"succeed.",
|
|
"",
|
|
"If `call` is successful, then we will attempt to purchase a ticket,",
|
|
"which may fail silently. To detect success of a ticket purchase, you",
|
|
"should listen for the `TicketBought` event.",
|
|
"",
|
|
"This extrinsic must be called by a signed origin."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_calls",
|
|
"fields": [
|
|
{
|
|
"name": "calls",
|
|
"type": 25,
|
|
"typeName": "Vec<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Set calls in storage which can be used to purchase a lottery ticket.",
|
|
"",
|
|
"This function only matters if you use the `ValidateCall` implementation",
|
|
"provided by this pallet, which uses storage to determine the valid calls.",
|
|
"",
|
|
"This extrinsic must be called by the Manager origin."
|
|
]
|
|
},
|
|
{
|
|
"name": "start_lottery",
|
|
"fields": [
|
|
{
|
|
"name": "price",
|
|
"type": 57,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "length",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "delay",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "repeat",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Start a lottery using the provided configuration.",
|
|
"",
|
|
"This extrinsic must be called by the `ManagerOrigin`.",
|
|
"",
|
|
"Parameters:",
|
|
"",
|
|
"* `price`: The cost of a single ticket.",
|
|
"* `length`: How long the lottery should run for starting at the current block.",
|
|
"* `delay`: How long after the lottery end we should wait before picking a winner.",
|
|
"* `repeat`: If the lottery should repeat when completed."
|
|
]
|
|
},
|
|
{
|
|
"name": "stop_repeat",
|
|
"index": 3,
|
|
"docs": [
|
|
"If a lottery is repeating, you can use this to stop the repeat.",
|
|
"The lottery will continue to run to completion.",
|
|
"",
|
|
"This extrinsic must be called by the `ManagerOrigin`."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 225,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nis",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "place_bid",
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Place a bid.",
|
|
"",
|
|
"Origin must be Signed, and account must have at least `amount` in free balance.",
|
|
"",
|
|
"- `amount`: The amount of the bid; these funds will be reserved, and if/when",
|
|
" consolidated, removed. Must be at least `MinBid`.",
|
|
"- `duration`: The number of periods before which the newly consolidated bid may be",
|
|
" thawed. Must be greater than 1 and no more than `QueueCount`.",
|
|
"",
|
|
"Complexities:",
|
|
"- `Queues[duration].len()` (just take max)."
|
|
]
|
|
},
|
|
{
|
|
"name": "retract_bid",
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Retract a previously placed bid.",
|
|
"",
|
|
"Origin must be Signed, and the account should have previously issued a still-active bid",
|
|
"of `amount` for `duration`.",
|
|
"",
|
|
"- `amount`: The amount of the previous bid.",
|
|
"- `duration`: The duration of the previous bid."
|
|
]
|
|
},
|
|
{
|
|
"name": "fund_deficit",
|
|
"index": 2,
|
|
"docs": [
|
|
"Ensure we have sufficient funding for all potential payouts.",
|
|
"",
|
|
"- `origin`: Must be accepted by `FundOrigin`."
|
|
]
|
|
},
|
|
{
|
|
"name": "thaw_private",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ReceiptIndex"
|
|
},
|
|
{
|
|
"name": "maybe_proportion",
|
|
"type": 226,
|
|
"typeName": "Option<Perquintill>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Reduce or remove an outstanding receipt, placing the according proportion of funds into",
|
|
"the account of the owner.",
|
|
"",
|
|
"- `origin`: Must be Signed and the account must be the owner of the receipt `index` as",
|
|
" well as any fungible counterpart.",
|
|
"- `index`: The index of the receipt.",
|
|
"- `portion`: If `Some`, then only the given portion of the receipt should be thawed. If",
|
|
" `None`, then all of it should be."
|
|
]
|
|
},
|
|
{
|
|
"name": "thaw_communal",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ReceiptIndex"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Reduce or remove an outstanding receipt, placing the according proportion of funds into",
|
|
"the account of the owner.",
|
|
"",
|
|
"- `origin`: Must be Signed and the account must be the owner of the fungible counterpart",
|
|
" for receipt `index`.",
|
|
"- `index`: The index of the receipt."
|
|
]
|
|
},
|
|
{
|
|
"name": "communify",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ReceiptIndex"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Make a private receipt communal and create fungible counterparts for its owner."
|
|
]
|
|
},
|
|
{
|
|
"name": "privatize",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ReceiptIndex"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Make a communal receipt private and burn fungible counterparts from its owner."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 226,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 227
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 227
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 227,
|
|
"type": {
|
|
"path": [
|
|
"sp_arithmetic",
|
|
"per_things",
|
|
"Perquintill"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 228,
|
|
"type": {
|
|
"path": [
|
|
"pallet_uniques",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "create",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Issue a new collection of non-fungible items from a public origin.",
|
|
"",
|
|
"This new collection has no items initially and its owner is the origin.",
|
|
"",
|
|
"The origin must conform to the configured `CreateOrigin` and have sufficient funds free.",
|
|
"",
|
|
"`ItemDeposit` funds of sender are reserved.",
|
|
"",
|
|
"Parameters:",
|
|
"- `collection`: The identifier of the new collection. This must not be currently in use.",
|
|
"- `admin`: The admin of this collection. The admin is the initial address of each",
|
|
"member of the collection's admin team.",
|
|
"",
|
|
"Emits `Created` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_create",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "free_holding",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Issue a new collection of non-fungible items from a privileged origin.",
|
|
"",
|
|
"This new collection has no items initially.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin`.",
|
|
"",
|
|
"Unlike `create`, no funds are reserved.",
|
|
"",
|
|
"- `collection`: The identifier of the new item. This must not be currently in use.",
|
|
"- `owner`: The owner of this collection of items. The owner has full superuser",
|
|
" permissions",
|
|
"over this item, but may later change and configure the permissions using",
|
|
"`transfer_ownership` and `set_team`.",
|
|
"",
|
|
"Emits `ForceCreated` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "destroy",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "witness",
|
|
"type": 229,
|
|
"typeName": "DestroyWitness"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Destroy a collection of fungible items.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the",
|
|
"owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The identifier of the collection to be destroyed.",
|
|
"- `witness`: Information on the items minted in the collection. This must be",
|
|
"correct.",
|
|
"",
|
|
"Emits `Destroyed` event when successful.",
|
|
"",
|
|
"Weight: `O(n + m)` where:",
|
|
"- `n = witness.items`",
|
|
"- `m = witness.item_metadatas`",
|
|
"- `a = witness.attributes`"
|
|
]
|
|
},
|
|
{
|
|
"name": "mint",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Mint an item of a particular collection.",
|
|
"",
|
|
"The origin must be Signed and the sender must be the Issuer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be minted.",
|
|
"- `item`: The item value of the item to be minted.",
|
|
"- `beneficiary`: The initial owner of the minted item.",
|
|
"",
|
|
"Emits `Issued` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "burn",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "check_owner",
|
|
"type": 230,
|
|
"typeName": "Option<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Destroy a single item.",
|
|
"",
|
|
"Origin must be Signed and the signing account must be either:",
|
|
"- the Admin of the `collection`;",
|
|
"- the Owner of the `item`;",
|
|
"",
|
|
"- `collection`: The collection of the item to be burned.",
|
|
"- `item`: The item of the item to be burned.",
|
|
"- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the",
|
|
" item is owned by this value.",
|
|
"",
|
|
"Emits `Burned` with the actual amount burned.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: `check_owner.is_some()`."
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Move an item from the sender account to another.",
|
|
"",
|
|
"This resets the approved account of the item.",
|
|
"",
|
|
"Origin must be Signed and the signing account must be either:",
|
|
"- the Admin of the `collection`;",
|
|
"- the Owner of the `item`;",
|
|
"- the approved delegate for the `item` (in this case, the approval is reset).",
|
|
"",
|
|
"Arguments:",
|
|
"- `collection`: The collection of the item to be transferred.",
|
|
"- `item`: The item of the item to be transferred.",
|
|
"- `dest`: The account to receive ownership of the item.",
|
|
"",
|
|
"Emits `Transferred`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "redeposit",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "items",
|
|
"type": 123,
|
|
"typeName": "Vec<T::ItemId>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Reevaluate the deposits on some items.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection to be frozen.",
|
|
"- `items`: The items of the collection whose deposits will be reevaluated.",
|
|
"",
|
|
"NOTE: This exists as a best-effort function. Any items which are unknown or",
|
|
"in the case that the owner account does not have reservable funds to pay for a",
|
|
"deposit increase are ignored. Generally the owner isn't going to call this on items",
|
|
"whose existing deposit is less than the refreshed deposit as it would only cost them,",
|
|
"so it's of little consequence.",
|
|
"",
|
|
"It will still return an error in the case that the collection is unknown of the signer",
|
|
"is not permitted to call it.",
|
|
"",
|
|
"Weight: `O(items.len())`"
|
|
]
|
|
},
|
|
{
|
|
"name": "freeze",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Disallow further unprivileged transfer of an item.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be frozen.",
|
|
"- `item`: The item of the item to be frozen.",
|
|
"",
|
|
"Emits `Frozen`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "thaw",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Re-allow unprivileged transfer of an item.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be thawed.",
|
|
"- `item`: The item of the item to be thawed.",
|
|
"",
|
|
"Emits `Thawed`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "freeze_collection",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Disallow further unprivileged transfers for a whole collection.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection to be frozen.",
|
|
"",
|
|
"Emits `CollectionFrozen`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "thaw_collection",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Re-allow unprivileged transfers for a whole collection.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Admin of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection to be thawed.",
|
|
"",
|
|
"Emits `CollectionThawed`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_ownership",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"docs": [
|
|
"Change the Owner of a collection.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection whose owner should be changed.",
|
|
"- `owner`: The new Owner of this collection. They must have called",
|
|
" `set_accept_ownership` with `collection` in order for this operation to succeed.",
|
|
"",
|
|
"Emits `OwnerChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_team",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "issuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "freezer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 12,
|
|
"docs": [
|
|
"Change the Issuer, Admin and Freezer of a collection.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection whose team should be changed.",
|
|
"- `issuer`: The new Issuer of this collection.",
|
|
"- `admin`: The new Admin of this collection.",
|
|
"- `freezer`: The new Freezer of this collection.",
|
|
"",
|
|
"Emits `TeamChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"docs": [
|
|
"Approve an item to be transferred by a delegated third-party account.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be",
|
|
"either the owner of the `item` or the admin of the collection.",
|
|
"",
|
|
"- `collection`: The collection of the item to be approved for delegated transfer.",
|
|
"- `item`: The item of the item to be approved for delegated transfer.",
|
|
"- `delegate`: The account to delegate permission to transfer the item.",
|
|
"",
|
|
"Important NOTE: The `approved` account gets reset after each transfer.",
|
|
"",
|
|
"Emits `ApprovedTransfer` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_approval",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "maybe_check_delegate",
|
|
"type": 230,
|
|
"typeName": "Option<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"docs": [
|
|
"Cancel the prior approval for the transfer of an item by a delegate.",
|
|
"",
|
|
"Origin must be either:",
|
|
"- the `Force` origin;",
|
|
"- `Signed` with the signer being the Admin of the `collection`;",
|
|
"- `Signed` with the signer being the Owner of the `item`;",
|
|
"",
|
|
"Arguments:",
|
|
"- `collection`: The collection of the item of whose approval will be cancelled.",
|
|
"- `item`: The item of the item of whose approval will be cancelled.",
|
|
"- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to",
|
|
" which permission of transfer is delegated.",
|
|
"",
|
|
"Emits `ApprovalCancelled` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_item_status",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "issuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "freezer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "free_holding",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
},
|
|
{
|
|
"name": "is_frozen",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"docs": [
|
|
"Alter the attributes of a given item.",
|
|
"",
|
|
"Origin must be `ForceOrigin`.",
|
|
"",
|
|
"- `collection`: The identifier of the item.",
|
|
"- `owner`: The new Owner of this item.",
|
|
"- `issuer`: The new Issuer of this item.",
|
|
"- `admin`: The new Admin of this item.",
|
|
"- `freezer`: The new Freezer of this item.",
|
|
"- `free_holding`: Whether a deposit is taken for holding an item of this collection.",
|
|
"- `is_frozen`: Whether this collection is frozen except for permissioned/admin",
|
|
"instructions.",
|
|
"",
|
|
"Emits `ItemStatusChanged` with the identity of the item.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_attribute",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "maybe_item",
|
|
"type": 114,
|
|
"typeName": "Option<T::ItemId>"
|
|
},
|
|
{
|
|
"name": "key",
|
|
"type": 231,
|
|
"typeName": "BoundedVec<u8, T::KeyLimit>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 232,
|
|
"typeName": "BoundedVec<u8, T::ValueLimit>"
|
|
}
|
|
],
|
|
"index": 16,
|
|
"docs": [
|
|
"Set an attribute for a collection or item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"If the origin is Signed, then funds of signer are reserved according to the formula:",
|
|
"`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to set.",
|
|
"- `maybe_item`: The identifier of the item whose metadata to set.",
|
|
"- `key`: The key of the attribute.",
|
|
"- `value`: The value to which to set the attribute.",
|
|
"",
|
|
"Emits `AttributeSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_attribute",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "maybe_item",
|
|
"type": 114,
|
|
"typeName": "Option<T::ItemId>"
|
|
},
|
|
{
|
|
"name": "key",
|
|
"type": 231,
|
|
"typeName": "BoundedVec<u8, T::KeyLimit>"
|
|
}
|
|
],
|
|
"index": 17,
|
|
"docs": [
|
|
"Clear an attribute for a collection or item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"Any deposit is freed for the collection's owner.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to clear.",
|
|
"- `maybe_item`: The identifier of the item whose metadata to clear.",
|
|
"- `key`: The key of the attribute.",
|
|
"",
|
|
"Emits `AttributeCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 233,
|
|
"typeName": "BoundedVec<u8, T::StringLimit>"
|
|
},
|
|
{
|
|
"name": "is_frozen",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 18,
|
|
"docs": [
|
|
"Set the metadata for an item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"If the origin is Signed, then funds of signer are reserved according to the formula:",
|
|
"`MetadataDepositBase + DepositPerByte * data.len` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to set.",
|
|
"- `item`: The identifier of the item whose metadata to set.",
|
|
"- `data`: The general information of this item. Limited in length by `StringLimit`.",
|
|
"- `is_frozen`: Whether the metadata should be frozen against further changes.",
|
|
"",
|
|
"Emits `MetadataSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 19,
|
|
"docs": [
|
|
"Clear the metadata for an item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`item`.",
|
|
"",
|
|
"Any deposit is freed for the collection's owner.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to clear.",
|
|
"- `item`: The identifier of the item whose metadata to clear.",
|
|
"",
|
|
"Emits `MetadataCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_collection_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 233,
|
|
"typeName": "BoundedVec<u8, T::StringLimit>"
|
|
},
|
|
{
|
|
"name": "is_frozen",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 20,
|
|
"docs": [
|
|
"Set the metadata for a collection.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"If the origin is `Signed`, then funds of signer are reserved according to the formula:",
|
|
"`MetadataDepositBase + DepositPerByte * data.len` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `collection`: The identifier of the item whose metadata to update.",
|
|
"- `data`: The general information of this item. Limited in length by `StringLimit`.",
|
|
"- `is_frozen`: Whether the metadata should be frozen against further changes.",
|
|
"",
|
|
"Emits `CollectionMetadataSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_collection_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
}
|
|
],
|
|
"index": 21,
|
|
"docs": [
|
|
"Clear the metadata for a collection.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"Any deposit is freed for the collection's owner.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose metadata to clear.",
|
|
"",
|
|
"Emits `CollectionMetadataCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_accept_ownership",
|
|
"fields": [
|
|
{
|
|
"name": "maybe_collection",
|
|
"type": 114,
|
|
"typeName": "Option<T::CollectionId>"
|
|
}
|
|
],
|
|
"index": 22,
|
|
"docs": [
|
|
"Set (or reset) the acceptance of ownership for a particular account.",
|
|
"",
|
|
"Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a",
|
|
"provider reference.",
|
|
"",
|
|
"- `maybe_collection`: The identifier of the collection whose ownership the signer is",
|
|
" willing to accept, or if `None`, an indication that the signer is willing to accept no",
|
|
" ownership transferal.",
|
|
"",
|
|
"Emits `OwnershipAcceptanceChanged`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_collection_max_supply",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "max_supply",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 23,
|
|
"docs": [
|
|
"Set the maximum amount of items a collection could have.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"Note: This function can only succeed once per collection.",
|
|
"",
|
|
"- `collection`: The identifier of the collection to change.",
|
|
"- `max_supply`: The maximum amount of items a collection could have.",
|
|
"",
|
|
"Emits `CollectionMaxSupplySet` event when successful."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_price",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"type": 234,
|
|
"typeName": "Option<ItemPrice<T, I>>"
|
|
},
|
|
{
|
|
"name": "whitelisted_buyer",
|
|
"type": 230,
|
|
"typeName": "Option<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 24,
|
|
"docs": [
|
|
"Set (or reset) the price for an item.",
|
|
"",
|
|
"Origin must be Signed and must be the owner of the asset `item`.",
|
|
"",
|
|
"- `collection`: The collection of the item.",
|
|
"- `item`: The item to set the price for.",
|
|
"- `price`: The price for the item. Pass `None`, to reset the price.",
|
|
"- `buyer`: Restricts the buy operation to a specific account.",
|
|
"",
|
|
"Emits `ItemPriceSet` on success if the price is not `None`.",
|
|
"Emits `ItemPriceRemoved` on success if the price is `None`."
|
|
]
|
|
},
|
|
{
|
|
"name": "buy_item",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "bid_price",
|
|
"type": 57,
|
|
"typeName": "ItemPrice<T, I>"
|
|
}
|
|
],
|
|
"index": 25,
|
|
"docs": [
|
|
"Allows to buy an item if it's up for sale.",
|
|
"",
|
|
"Origin must be Signed and must not be the owner of the `item`.",
|
|
"",
|
|
"- `collection`: The collection of the item.",
|
|
"- `item`: The item the sender wants to buy.",
|
|
"- `bid_price`: The price the sender is willing to pay.",
|
|
"",
|
|
"Emits `ItemBought` on success."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 229,
|
|
"type": {
|
|
"path": [
|
|
"pallet_uniques",
|
|
"types",
|
|
"DestroyWitness"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "items",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "item_metadatas",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "attributes",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 230,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 51
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 51
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 231,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 232,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 233,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 234,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 57
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 235,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "create",
|
|
"fields": [
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "config",
|
|
"type": 236,
|
|
"typeName": "CollectionConfigFor<T, I>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Issue a new collection of non-fungible items from a public origin.",
|
|
"",
|
|
"This new collection has no items initially and its owner is the origin.",
|
|
"",
|
|
"The origin must be Signed and the sender must have sufficient funds free.",
|
|
"",
|
|
"`ItemDeposit` funds of sender are reserved.",
|
|
"",
|
|
"Parameters:",
|
|
"- `admin`: The admin of this collection. The admin is the initial address of each",
|
|
"member of the collection's admin team.",
|
|
"",
|
|
"Emits `Created` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_create",
|
|
"fields": [
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "config",
|
|
"type": 236,
|
|
"typeName": "CollectionConfigFor<T, I>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Issue a new collection of non-fungible items from a privileged origin.",
|
|
"",
|
|
"This new collection has no items initially.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin`.",
|
|
"",
|
|
"Unlike `create`, no funds are reserved.",
|
|
"",
|
|
"- `owner`: The owner of this collection of items. The owner has full superuser",
|
|
" permissions over this item, but may later change and configure the permissions using",
|
|
" `transfer_ownership` and `set_team`.",
|
|
"",
|
|
"Emits `ForceCreated` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "destroy",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "witness",
|
|
"type": 243,
|
|
"typeName": "DestroyWitness"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Destroy a collection of fungible items.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the",
|
|
"owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The identifier of the collection to be destroyed.",
|
|
"- `witness`: Information on the items minted in the collection. This must be",
|
|
"correct.",
|
|
"",
|
|
"Emits `Destroyed` event when successful.",
|
|
"",
|
|
"Weight: `O(n + m)` where:",
|
|
"- `n = witness.items`",
|
|
"- `m = witness.item_metadatas`",
|
|
"- `a = witness.attributes`"
|
|
]
|
|
},
|
|
{
|
|
"name": "mint",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "mint_to",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "witness_data",
|
|
"type": 244,
|
|
"typeName": "Option<MintWitness<T::ItemId>>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Mint an item of a particular collection.",
|
|
"",
|
|
"The origin must be Signed and the sender must be the Issuer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be minted.",
|
|
"- `item`: An identifier of the new item.",
|
|
"- `mint_to`: Account into which the item will be minted.",
|
|
"- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned",
|
|
" item_id from that collection needs to be provided within the witness data object.",
|
|
"",
|
|
"Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.",
|
|
"",
|
|
"Emits `Issued` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_mint",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "mint_to",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "item_config",
|
|
"type": 246,
|
|
"typeName": "ItemConfig"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Mint an item of a particular collection from a privileged origin.",
|
|
"",
|
|
"The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the",
|
|
"Issuer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be minted.",
|
|
"- `item`: An identifier of the new item.",
|
|
"- `mint_to`: Account into which the item will be minted.",
|
|
"- `item_config`: A config of the new item.",
|
|
"",
|
|
"Emits `Issued` event when successful.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "burn",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "check_owner",
|
|
"type": 230,
|
|
"typeName": "Option<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Destroy a single item.",
|
|
"",
|
|
"Origin must be Signed and the signing account must be either:",
|
|
"- the Admin of the `collection`;",
|
|
"- the Owner of the `item`;",
|
|
"",
|
|
"- `collection`: The collection of the item to be burned.",
|
|
"- `item`: The item to be burned.",
|
|
"- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the",
|
|
" item is owned by this value.",
|
|
"",
|
|
"Emits `Burned` with the actual amount burned.",
|
|
"",
|
|
"Weight: `O(1)`",
|
|
"Modes: `check_owner.is_some()`."
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "dest",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Move an item from the sender account to another.",
|
|
"",
|
|
"Origin must be Signed and the signing account must be either:",
|
|
"- the Admin of the `collection`;",
|
|
"- the Owner of the `item`;",
|
|
"- the approved delegate for the `item` (in this case, the approval is reset).",
|
|
"",
|
|
"Arguments:",
|
|
"- `collection`: The collection of the item to be transferred.",
|
|
"- `item`: The item to be transferred.",
|
|
"- `dest`: The account to receive ownership of the item.",
|
|
"",
|
|
"Emits `Transferred`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "redeposit",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "items",
|
|
"type": 123,
|
|
"typeName": "Vec<T::ItemId>"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Re-evaluate the deposits on some items.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the items to be reevaluated.",
|
|
"- `items`: The items of the collection whose deposits will be reevaluated.",
|
|
"",
|
|
"NOTE: This exists as a best-effort function. Any items which are unknown or",
|
|
"in the case that the owner account does not have reservable funds to pay for a",
|
|
"deposit increase are ignored. Generally the owner isn't going to call this on items",
|
|
"whose existing deposit is less than the refreshed deposit as it would only cost them,",
|
|
"so it's of little consequence.",
|
|
"",
|
|
"It will still return an error in the case that the collection is unknown or the signer",
|
|
"is not permitted to call it.",
|
|
"",
|
|
"Weight: `O(items.len())`"
|
|
]
|
|
},
|
|
{
|
|
"name": "lock_item_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Disallow further unprivileged transfer of an item.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be changed.",
|
|
"- `item`: The item to become non-transferable.",
|
|
"",
|
|
"Emits `ItemTransferLocked`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "unlock_item_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Re-allow unprivileged transfer of an item.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be changed.",
|
|
"- `item`: The item to become transferable.",
|
|
"",
|
|
"Emits `ItemTransferUnlocked`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "lock_collection",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "lock_settings",
|
|
"type": 237,
|
|
"typeName": "CollectionSettings"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Disallows specified settings for the whole collection.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Freezer of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection to be locked.",
|
|
"- `lock_settings`: The settings to be locked.",
|
|
"",
|
|
"Note: it's possible to only lock(set) the setting, but not to unset it.",
|
|
"Emits `CollectionLocked`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "transfer_ownership",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"docs": [
|
|
"Change the Owner of a collection.",
|
|
"",
|
|
"Origin must be Signed and the sender should be the Owner of the `collection`.",
|
|
"",
|
|
"- `collection`: The collection whose owner should be changed.",
|
|
"- `owner`: The new Owner of this collection. They must have called",
|
|
" `set_accept_ownership` with `collection` in order for this operation to succeed.",
|
|
"",
|
|
"Emits `OwnerChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_team",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "issuer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "admin",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "freezer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 12,
|
|
"docs": [
|
|
"Change the Issuer, Admin and Freezer of a collection.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"- `collection`: The collection whose team should be changed.",
|
|
"- `issuer`: The new Issuer of this collection.",
|
|
"- `admin`: The new Admin of this collection.",
|
|
"- `freezer`: The new Freezer of this collection.",
|
|
"",
|
|
"Emits `TeamChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_collection_owner",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "owner",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"docs": [
|
|
"Change the Owner of a collection.",
|
|
"",
|
|
"Origin must be `ForceOrigin`.",
|
|
"",
|
|
"- `collection`: The identifier of the collection.",
|
|
"- `owner`: The new Owner of this collection.",
|
|
"",
|
|
"Emits `OwnerChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_collection_config",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "config",
|
|
"type": 236,
|
|
"typeName": "CollectionConfigFor<T, I>"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"docs": [
|
|
"Change the config of a collection.",
|
|
"",
|
|
"Origin must be `ForceOrigin`.",
|
|
"",
|
|
"- `collection`: The identifier of the collection.",
|
|
"- `config`: The new config of this collection.",
|
|
"",
|
|
"Emits `CollectionConfigChanged`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_transfer",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "maybe_deadline",
|
|
"type": 114,
|
|
"typeName": "Option<<T as SystemConfig>::BlockNumber>"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"docs": [
|
|
"Approve an item to be transferred by a delegated third-party account.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`item`.",
|
|
"",
|
|
"- `collection`: The collection of the item to be approved for delegated transfer.",
|
|
"- `item`: The item to be approved for delegated transfer.",
|
|
"- `delegate`: The account to delegate permission to transfer the item.",
|
|
"- `maybe_deadline`: Optional deadline for the approval. Specified by providing the",
|
|
"\tnumber of blocks after which the approval will expire",
|
|
"",
|
|
"Emits `TransferApproved` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_approval",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 16,
|
|
"docs": [
|
|
"Cancel one of the transfer approvals for a specific item.",
|
|
"",
|
|
"Origin must be either:",
|
|
"- the `Force` origin;",
|
|
"- `Signed` with the signer being the Admin of the `collection`;",
|
|
"- `Signed` with the signer being the Owner of the `item`;",
|
|
"",
|
|
"Arguments:",
|
|
"- `collection`: The collection of the item of whose approval will be cancelled.",
|
|
"- `item`: The item of the collection of whose approval will be cancelled.",
|
|
"- `delegate`: The account that is going to loose their approval.",
|
|
"",
|
|
"Emits `ApprovalCancelled` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_all_transfer_approvals",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 17,
|
|
"docs": [
|
|
"Cancel all the approvals of a specific item.",
|
|
"",
|
|
"Origin must be either:",
|
|
"- the `Force` origin;",
|
|
"- `Signed` with the signer being the Admin of the `collection`;",
|
|
"- `Signed` with the signer being the Owner of the `item`;",
|
|
"",
|
|
"Arguments:",
|
|
"- `collection`: The collection of the item of whose approvals will be cleared.",
|
|
"- `item`: The item of the collection of whose approvals will be cleared.",
|
|
"",
|
|
"Emits `AllApprovalsCancelled` on success.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "lock_item_properties",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "lock_metadata",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
},
|
|
{
|
|
"name": "lock_attributes",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 18,
|
|
"docs": [
|
|
"Disallows changing the metadata or attributes of the item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"- `collection`: The collection if the `item`.",
|
|
"- `item`: An item to be locked.",
|
|
"- `lock_metadata`: Specifies whether the metadata should be locked.",
|
|
"- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace",
|
|
" should be locked.",
|
|
"",
|
|
"Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace",
|
|
"only. When the metadata or attributes are locked, it won't be possible the unlock them.",
|
|
"",
|
|
"Emits `ItemPropertiesLocked`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_attribute",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "maybe_item",
|
|
"type": 114,
|
|
"typeName": "Option<T::ItemId>"
|
|
},
|
|
{
|
|
"name": "namespace",
|
|
"type": 247,
|
|
"typeName": "AttributeNamespace<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "key",
|
|
"type": 231,
|
|
"typeName": "BoundedVec<u8, T::KeyLimit>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 232,
|
|
"typeName": "BoundedVec<u8, T::ValueLimit>"
|
|
}
|
|
],
|
|
"index": 19,
|
|
"docs": [
|
|
"Set an attribute for a collection or item.",
|
|
"",
|
|
"Origin must be Signed and must conform to the namespace ruleset:",
|
|
"- `CollectionOwner` namespace could be modified by the `collection` owner only;",
|
|
"- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`",
|
|
" should be set in that case;",
|
|
"- `Account(AccountId)` namespace could be modified only when the `origin` was given a",
|
|
" permission to do so;",
|
|
"",
|
|
"The funds of `origin` are reserved according to the formula:",
|
|
"`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to set.",
|
|
"- `maybe_item`: The identifier of the item whose metadata to set.",
|
|
"- `namespace`: Attribute's namespace.",
|
|
"- `key`: The key of the attribute.",
|
|
"- `value`: The value to which to set the attribute.",
|
|
"",
|
|
"Emits `AttributeSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "force_set_attribute",
|
|
"fields": [
|
|
{
|
|
"name": "set_as",
|
|
"type": 141,
|
|
"typeName": "Option<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "maybe_item",
|
|
"type": 114,
|
|
"typeName": "Option<T::ItemId>"
|
|
},
|
|
{
|
|
"name": "namespace",
|
|
"type": 247,
|
|
"typeName": "AttributeNamespace<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "key",
|
|
"type": 231,
|
|
"typeName": "BoundedVec<u8, T::KeyLimit>"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 232,
|
|
"typeName": "BoundedVec<u8, T::ValueLimit>"
|
|
}
|
|
],
|
|
"index": 20,
|
|
"docs": [
|
|
"Force-set an attribute for a collection or item.",
|
|
"",
|
|
"Origin must be `ForceOrigin`.",
|
|
"",
|
|
"If the attribute already exists and it was set by another account, the deposit",
|
|
"will be returned to the previous owner.",
|
|
"",
|
|
"- `set_as`: An optional owner of the attribute.",
|
|
"- `collection`: The identifier of the collection whose item's metadata to set.",
|
|
"- `maybe_item`: The identifier of the item whose metadata to set.",
|
|
"- `namespace`: Attribute's namespace.",
|
|
"- `key`: The key of the attribute.",
|
|
"- `value`: The value to which to set the attribute.",
|
|
"",
|
|
"Emits `AttributeSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_attribute",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "maybe_item",
|
|
"type": 114,
|
|
"typeName": "Option<T::ItemId>"
|
|
},
|
|
{
|
|
"name": "namespace",
|
|
"type": 247,
|
|
"typeName": "AttributeNamespace<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "key",
|
|
"type": 231,
|
|
"typeName": "BoundedVec<u8, T::KeyLimit>"
|
|
}
|
|
],
|
|
"index": 21,
|
|
"docs": [
|
|
"Clear an attribute for a collection or item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"attribute.",
|
|
"",
|
|
"Any deposit is freed for the collection's owner.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to clear.",
|
|
"- `maybe_item`: The identifier of the item whose metadata to clear.",
|
|
"- `namespace`: Attribute's namespace.",
|
|
"- `key`: The key of the attribute.",
|
|
"",
|
|
"Emits `AttributeCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "approve_item_attributes",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 22,
|
|
"docs": [
|
|
"Approve item's attributes to be changed by a delegated third-party account.",
|
|
"",
|
|
"Origin must be Signed and must be an owner of the `item`.",
|
|
"",
|
|
"- `collection`: A collection of the item.",
|
|
"- `item`: The item that holds attributes.",
|
|
"- `delegate`: The account to delegate permission to change attributes of the item.",
|
|
"",
|
|
"Emits `ItemAttributesApprovalAdded` on success."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_item_attributes_approval",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "witness",
|
|
"type": 248,
|
|
"typeName": "CancelAttributesApprovalWitness"
|
|
}
|
|
],
|
|
"index": 23,
|
|
"docs": [
|
|
"Cancel the previously provided approval to change item's attributes.",
|
|
"All the previously set attributes by the `delegate` will be removed.",
|
|
"",
|
|
"Origin must be Signed and must be an owner of the `item`.",
|
|
"",
|
|
"- `collection`: Collection that the item is contained within.",
|
|
"- `item`: The item that holds attributes.",
|
|
"- `delegate`: The previously approved account to remove.",
|
|
"",
|
|
"Emits `ItemAttributesApprovalRemoved` on success."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 233,
|
|
"typeName": "BoundedVec<u8, T::StringLimit>"
|
|
}
|
|
],
|
|
"index": 24,
|
|
"docs": [
|
|
"Set the metadata for an item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"If the origin is Signed, then funds of signer are reserved according to the formula:",
|
|
"`MetadataDepositBase + DepositPerByte * data.len` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to set.",
|
|
"- `item`: The identifier of the item whose metadata to set.",
|
|
"- `data`: The general information of this item. Limited in length by `StringLimit`.",
|
|
"",
|
|
"Emits `ItemMetadataSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 25,
|
|
"docs": [
|
|
"Clear the metadata for an item.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the",
|
|
"`collection`.",
|
|
"",
|
|
"Any deposit is freed for the collection's owner.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose item's metadata to clear.",
|
|
"- `item`: The identifier of the item whose metadata to clear.",
|
|
"",
|
|
"Emits `ItemMetadataCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_collection_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "data",
|
|
"type": 233,
|
|
"typeName": "BoundedVec<u8, T::StringLimit>"
|
|
}
|
|
],
|
|
"index": 26,
|
|
"docs": [
|
|
"Set the metadata for a collection.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"If the origin is `Signed`, then funds of signer are reserved according to the formula:",
|
|
"`MetadataDepositBase + DepositPerByte * data.len` taking into",
|
|
"account any already reserved funds.",
|
|
"",
|
|
"- `collection`: The identifier of the item whose metadata to update.",
|
|
"- `data`: The general information of this item. Limited in length by `StringLimit`.",
|
|
"",
|
|
"Emits `CollectionMetadataSet`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "clear_collection_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
}
|
|
],
|
|
"index": 27,
|
|
"docs": [
|
|
"Clear the metadata for a collection.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"Any deposit is freed for the collection's owner.",
|
|
"",
|
|
"- `collection`: The identifier of the collection whose metadata to clear.",
|
|
"",
|
|
"Emits `CollectionMetadataCleared`.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "set_accept_ownership",
|
|
"fields": [
|
|
{
|
|
"name": "maybe_collection",
|
|
"type": 114,
|
|
"typeName": "Option<T::CollectionId>"
|
|
}
|
|
],
|
|
"index": 28,
|
|
"docs": [
|
|
"Set (or reset) the acceptance of ownership for a particular account.",
|
|
"",
|
|
"Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a",
|
|
"provider reference.",
|
|
"",
|
|
"- `maybe_collection`: The identifier of the collection whose ownership the signer is",
|
|
" willing to accept, or if `None`, an indication that the signer is willing to accept no",
|
|
" ownership transferal.",
|
|
"",
|
|
"Emits `OwnershipAcceptanceChanged`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_collection_max_supply",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "max_supply",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 29,
|
|
"docs": [
|
|
"Set the maximum number of items a collection could have.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"- `collection`: The identifier of the collection to change.",
|
|
"- `max_supply`: The maximum number of items a collection could have.",
|
|
"",
|
|
"Emits `CollectionMaxSupplySet` event when successful."
|
|
]
|
|
},
|
|
{
|
|
"name": "update_mint_settings",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "mint_settings",
|
|
"type": 239,
|
|
"typeName": "MintSettings<BalanceOf<T, I>,<T as SystemConfig>::BlockNumber, T::\nCollectionId,>"
|
|
}
|
|
],
|
|
"index": 30,
|
|
"docs": [
|
|
"Update mint settings.",
|
|
"",
|
|
"Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of",
|
|
"the `collection`.",
|
|
"",
|
|
"- `collection`: The identifier of the collection to change.",
|
|
"- `mint_settings`: The new mint settings.",
|
|
"",
|
|
"Emits `CollectionMintSettingsUpdated` event when successful."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_price",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"type": 234,
|
|
"typeName": "Option<ItemPrice<T, I>>"
|
|
},
|
|
{
|
|
"name": "whitelisted_buyer",
|
|
"type": 230,
|
|
"typeName": "Option<AccountIdLookupOf<T>>"
|
|
}
|
|
],
|
|
"index": 31,
|
|
"docs": [
|
|
"Set (or reset) the price for an item.",
|
|
"",
|
|
"Origin must be Signed and must be the owner of the asset `item`.",
|
|
"",
|
|
"- `collection`: The collection of the item.",
|
|
"- `item`: The item to set the price for.",
|
|
"- `price`: The price for the item. Pass `None`, to reset the price.",
|
|
"- `buyer`: Restricts the buy operation to a specific account.",
|
|
"",
|
|
"Emits `ItemPriceSet` on success if the price is not `None`.",
|
|
"Emits `ItemPriceRemoved` on success if the price is `None`."
|
|
]
|
|
},
|
|
{
|
|
"name": "buy_item",
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "bid_price",
|
|
"type": 57,
|
|
"typeName": "ItemPrice<T, I>"
|
|
}
|
|
],
|
|
"index": 32,
|
|
"docs": [
|
|
"Allows to buy an item if it's up for sale.",
|
|
"",
|
|
"Origin must be Signed and must not be the owner of the `item`.",
|
|
"",
|
|
"- `collection`: The collection of the item.",
|
|
"- `item`: The item the sender wants to buy.",
|
|
"- `bid_price`: The price the sender is willing to pay.",
|
|
"",
|
|
"Emits `ItemBought` on success."
|
|
]
|
|
},
|
|
{
|
|
"name": "pay_tips",
|
|
"fields": [
|
|
{
|
|
"name": "tips",
|
|
"type": 249,
|
|
"typeName": "BoundedVec<ItemTipOf<T, I>, T::MaxTips>"
|
|
}
|
|
],
|
|
"index": 33,
|
|
"docs": [
|
|
"Allows to pay the tips.",
|
|
"",
|
|
"Origin must be Signed.",
|
|
"",
|
|
"- `tips`: Tips array.",
|
|
"",
|
|
"Emits `TipSent` on every tip transfer."
|
|
]
|
|
},
|
|
{
|
|
"name": "create_swap",
|
|
"fields": [
|
|
{
|
|
"name": "offered_collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "offered_item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "desired_collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "maybe_desired_item",
|
|
"type": 114,
|
|
"typeName": "Option<T::ItemId>"
|
|
},
|
|
{
|
|
"name": "maybe_price",
|
|
"type": 252,
|
|
"typeName": "Option<PriceWithDirection<ItemPrice<T, I>>>"
|
|
},
|
|
{
|
|
"name": "duration",
|
|
"type": 4,
|
|
"typeName": "<T as SystemConfig>::BlockNumber"
|
|
}
|
|
],
|
|
"index": 34,
|
|
"docs": [
|
|
"Register a new atomic swap, declaring an intention to send an `item` in exchange for",
|
|
"`desired_item` from origin to target on the current blockchain.",
|
|
"The target can execute the swap during the specified `duration` of blocks (if set).",
|
|
"Additionally, the price could be set for the desired `item`.",
|
|
"",
|
|
"Origin must be Signed and must be an owner of the `item`.",
|
|
"",
|
|
"- `collection`: The collection of the item.",
|
|
"- `item`: The item an owner wants to give.",
|
|
"- `desired_collection`: The collection of the desired item.",
|
|
"- `desired_item`: The desired item an owner wants to receive.",
|
|
"- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.",
|
|
"- `duration`: A deadline for the swap. Specified by providing the number of blocks",
|
|
"\tafter which the swap will expire.",
|
|
"",
|
|
"Emits `SwapCreated` on success."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel_swap",
|
|
"fields": [
|
|
{
|
|
"name": "offered_collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "offered_item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
}
|
|
],
|
|
"index": 35,
|
|
"docs": [
|
|
"Cancel an atomic swap.",
|
|
"",
|
|
"Origin must be Signed.",
|
|
"Origin must be an owner of the `item` if the deadline hasn't expired.",
|
|
"",
|
|
"- `collection`: The collection of the item.",
|
|
"- `item`: The item an owner wants to give.",
|
|
"",
|
|
"Emits `SwapCancelled` on success."
|
|
]
|
|
},
|
|
{
|
|
"name": "claim_swap",
|
|
"fields": [
|
|
{
|
|
"name": "send_collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "send_item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "receive_collection",
|
|
"type": 4,
|
|
"typeName": "T::CollectionId"
|
|
},
|
|
{
|
|
"name": "receive_item",
|
|
"type": 4,
|
|
"typeName": "T::ItemId"
|
|
},
|
|
{
|
|
"name": "witness_price",
|
|
"type": 252,
|
|
"typeName": "Option<PriceWithDirection<ItemPrice<T, I>>>"
|
|
}
|
|
],
|
|
"index": 36,
|
|
"docs": [
|
|
"Claim an atomic swap.",
|
|
"This method executes a pending swap, that was created by a counterpart before.",
|
|
"",
|
|
"Origin must be Signed and must be an owner of the `item`.",
|
|
"",
|
|
"- `send_collection`: The collection of the item to be sent.",
|
|
"- `send_item`: The item to be sent.",
|
|
"- `receive_collection`: The collection of the item to be received.",
|
|
"- `receive_item`: The item to be received.",
|
|
"- `witness_price`: A price that was previously agreed on.",
|
|
"",
|
|
"Emits `SwapClaimed` on success."
|
|
]
|
|
},
|
|
{
|
|
"name": "mint_pre_signed",
|
|
"fields": [
|
|
{
|
|
"name": "mint_data",
|
|
"type": 255,
|
|
"typeName": "PreSignedMintOf<T, I>"
|
|
},
|
|
{
|
|
"name": "signature",
|
|
"type": 256,
|
|
"typeName": "T::OffchainSignature"
|
|
},
|
|
{
|
|
"name": "signer",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
}
|
|
],
|
|
"index": 37,
|
|
"docs": [
|
|
"Mint an item by providing the pre-signed approval.",
|
|
"",
|
|
"Origin must be Signed.",
|
|
"",
|
|
"- `mint_data`: The pre-signed approval that consists of the information about the item,",
|
|
" its metadata, attributes, who can mint it (`None` for anyone) and until what block",
|
|
" number.",
|
|
"- `signature`: The signature of the `data` object.",
|
|
"- `signer`: The `data` object's signer. Should be an owner of the collection.",
|
|
"",
|
|
"Emits `Issued` on success.",
|
|
"Emits `AttributeSet` if the attributes were provided.",
|
|
"Emits `ItemMetadataSet` if the metadata was not empty."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_attributes_pre_signed",
|
|
"fields": [
|
|
{
|
|
"name": "data",
|
|
"type": 259,
|
|
"typeName": "PreSignedAttributesOf<T, I>"
|
|
},
|
|
{
|
|
"name": "signature",
|
|
"type": 256,
|
|
"typeName": "T::OffchainSignature"
|
|
},
|
|
{
|
|
"name": "signer",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
}
|
|
],
|
|
"index": 38,
|
|
"docs": [
|
|
"Set attributes for an item by providing the pre-signed approval.",
|
|
"",
|
|
"Origin must be Signed and must be an owner of the `data.item`.",
|
|
"",
|
|
"- `data`: The pre-signed approval that consists of the information about the item,",
|
|
" attributes to update and until what block number.",
|
|
"- `signature`: The signature of the `data` object.",
|
|
"- `signer`: The `data` object's signer. Should be an owner of the collection for the",
|
|
" `CollectionOwner` namespace.",
|
|
"",
|
|
"Emits `AttributeSet` for each provided attribute.",
|
|
"Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.",
|
|
"Emits `PreSignedAttributesSet` on success."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 236,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"CollectionConfig"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Price",
|
|
"type": 57
|
|
},
|
|
{
|
|
"name": "BlockNumber",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "CollectionId",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "settings",
|
|
"type": 237,
|
|
"typeName": "CollectionSettings"
|
|
},
|
|
{
|
|
"name": "max_supply",
|
|
"type": 114,
|
|
"typeName": "Option<u32>"
|
|
},
|
|
{
|
|
"name": "mint_settings",
|
|
"type": 239,
|
|
"typeName": "MintSettings<Price, BlockNumber, CollectionId>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 237,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"BitFlags"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 238
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 12,
|
|
"typeName": "CollectionSetting"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 238,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"CollectionSetting"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "TransferableItems",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "UnlockedMetadata",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "UnlockedAttributes",
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "UnlockedMaxSupply",
|
|
"index": 8
|
|
},
|
|
{
|
|
"name": "DepositRequired",
|
|
"index": 16
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 239,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"MintSettings"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Price",
|
|
"type": 57
|
|
},
|
|
{
|
|
"name": "BlockNumber",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "CollectionId",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "mint_type",
|
|
"type": 240,
|
|
"typeName": "MintType<CollectionId>"
|
|
},
|
|
{
|
|
"name": "price",
|
|
"type": 234,
|
|
"typeName": "Option<Price>"
|
|
},
|
|
{
|
|
"name": "start_block",
|
|
"type": 114,
|
|
"typeName": "Option<BlockNumber>"
|
|
},
|
|
{
|
|
"name": "end_block",
|
|
"type": 114,
|
|
"typeName": "Option<BlockNumber>"
|
|
},
|
|
{
|
|
"name": "default_item_settings",
|
|
"type": 241,
|
|
"typeName": "ItemSettings"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 240,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"MintType"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "CollectionId",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Issuer",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Public",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "HolderOf",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "CollectionId"
|
|
}
|
|
],
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 241,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"BitFlags"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 242
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 12,
|
|
"typeName": "ItemSetting"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 242,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"ItemSetting"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Transferable",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "UnlockedMetadata",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "UnlockedAttributes",
|
|
"index": 4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 243,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"DestroyWitness"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "items",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "item_metadatas",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "attributes",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 244,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 245
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 245
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 245,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"MintWitness"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "ItemId",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "owner_of_item",
|
|
"type": 4,
|
|
"typeName": "ItemId"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 246,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"ItemConfig"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "settings",
|
|
"type": 241,
|
|
"typeName": "ItemSettings"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 247,
|
|
"type": {
|
|
"path": [
|
|
"frame_support",
|
|
"traits",
|
|
"tokens",
|
|
"misc",
|
|
"AttributeNamespace"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Pallet",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "CollectionOwner",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "ItemOwner",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Account",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 3
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 248,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"CancelAttributesApprovalWitness"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "account_attributes",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 249,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 250
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 251,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 250,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"ItemTip"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "CollectionId",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "ItemId",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "Amount",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "ItemId"
|
|
},
|
|
{
|
|
"name": "receiver",
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "Amount"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 251,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 250
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 252,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 253
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 253
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 253,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"PriceWithDirection"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Amount",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "Amount"
|
|
},
|
|
{
|
|
"name": "direction",
|
|
"type": 254,
|
|
"typeName": "PriceDirection"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 254,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"PriceDirection"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Send",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Receive",
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 255,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"PreSignedMint"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "CollectionId",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "ItemId",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "Deadline",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "ItemId"
|
|
},
|
|
{
|
|
"name": "attributes",
|
|
"type": 29,
|
|
"typeName": "Vec<(Vec<u8>, Vec<u8>)>"
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "only_account",
|
|
"type": 141,
|
|
"typeName": "Option<AccountId>"
|
|
},
|
|
{
|
|
"name": "deadline",
|
|
"type": 4,
|
|
"typeName": "Deadline"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 256,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"MultiSignature"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Ed25519",
|
|
"fields": [
|
|
{
|
|
"type": 10,
|
|
"typeName": "ed25519::Signature"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Sr25519",
|
|
"fields": [
|
|
{
|
|
"type": 163,
|
|
"typeName": "sr25519::Signature"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Ecdsa",
|
|
"fields": [
|
|
{
|
|
"type": 257,
|
|
"typeName": "ecdsa::Signature"
|
|
}
|
|
],
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 257,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"ecdsa",
|
|
"Signature"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 258,
|
|
"typeName": "[u8; 65]"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 258,
|
|
"type": {
|
|
"def": {
|
|
"array": {
|
|
"len": 65,
|
|
"type": 3
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 259,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nfts",
|
|
"types",
|
|
"PreSignedAttributes"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "CollectionId",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "ItemId",
|
|
"type": 4
|
|
},
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "Deadline",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "collection",
|
|
"type": 4,
|
|
"typeName": "CollectionId"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "ItemId"
|
|
},
|
|
{
|
|
"name": "attributes",
|
|
"type": 29,
|
|
"typeName": "Vec<(Vec<u8>, Vec<u8>)>"
|
|
},
|
|
{
|
|
"name": "namespace",
|
|
"type": 247,
|
|
"typeName": "AttributeNamespace<AccountId>"
|
|
},
|
|
{
|
|
"name": "deadline",
|
|
"type": 4,
|
|
"typeName": "Deadline"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 260,
|
|
"type": {
|
|
"path": [
|
|
"pallet_transaction_storage",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "store",
|
|
"fields": [
|
|
{
|
|
"name": "data",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Index and store data off chain. Minimum data size is 1 bytes, maximum is",
|
|
"`MaxTransactionSize`. Data will be removed after `STORAGE_PERIOD` blocks, unless `renew`",
|
|
"is called.",
|
|
"## Complexity",
|
|
"- O(n*log(n)) of data size, as all data is pushed to an in-memory trie."
|
|
]
|
|
},
|
|
{
|
|
"name": "renew",
|
|
"fields": [
|
|
{
|
|
"name": "block",
|
|
"type": 4,
|
|
"typeName": "T::BlockNumber"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Renew previously stored data. Parameters are the block number that contains",
|
|
"previous `store` or `renew` call and transaction index within that block.",
|
|
"Transaction index is emitted in the `Stored` or `Renewed` event.",
|
|
"Applies same fees as `store`.",
|
|
"## Complexity",
|
|
"- O(1)."
|
|
]
|
|
},
|
|
{
|
|
"name": "check_proof",
|
|
"fields": [
|
|
{
|
|
"name": "proof",
|
|
"type": 261,
|
|
"typeName": "TransactionStorageProof"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Check storage proof for block number `block_number() - StoragePeriod`.",
|
|
"If such block does not exist the proof is expected to be `None`.",
|
|
"## Complexity",
|
|
"- Linear w.r.t the number of indexed transactions in the proved block for random",
|
|
" probing.",
|
|
"There's a DB read for each transaction."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 261,
|
|
"type": {
|
|
"path": [
|
|
"sp_transaction_storage_proof",
|
|
"TransactionStorageProof"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "chunk",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "proof",
|
|
"type": 31,
|
|
"typeName": "Vec<Vec<u8>>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 262,
|
|
"type": {
|
|
"path": [
|
|
"pallet_bags_list",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "rebag",
|
|
"fields": [
|
|
{
|
|
"name": "dislocated",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Declare that some `dislocated` account has, through rewards or penalties, sufficiently",
|
|
"changed its score that it should properly fall into a different bag than its current",
|
|
"one.",
|
|
"",
|
|
"Anyone can call this function about any potentially dislocated account.",
|
|
"",
|
|
"Will always update the stored score of `dislocated` to the correct score, based on",
|
|
"`ScoreProvider`.",
|
|
"",
|
|
"If `dislocated` does not exists, it returns an error."
|
|
]
|
|
},
|
|
{
|
|
"name": "put_in_front_of",
|
|
"fields": [
|
|
{
|
|
"name": "lighter",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Move the caller's Id directly in front of `lighter`.",
|
|
"",
|
|
"The dispatch origin for this call must be _Signed_ and can only be called by the Id of",
|
|
"the account going in front of `lighter`.",
|
|
"",
|
|
"Only works if",
|
|
"- both nodes are within the same bag,",
|
|
"- and `origin` has a greater `Score` than `lighter`."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 263,
|
|
"type": {
|
|
"path": [
|
|
"pallet_state_trie_migration",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "control_auto_migration",
|
|
"fields": [
|
|
{
|
|
"name": "maybe_config",
|
|
"type": 264,
|
|
"typeName": "Option<MigrationLimits>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Control the automatic migration.",
|
|
"",
|
|
"The dispatch origin of this call must be [`Config::ControlOrigin`]."
|
|
]
|
|
},
|
|
{
|
|
"name": "continue_migrate",
|
|
"fields": [
|
|
{
|
|
"name": "limits",
|
|
"type": 265,
|
|
"typeName": "MigrationLimits"
|
|
},
|
|
{
|
|
"name": "real_size_upper",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "witness_task",
|
|
"type": 266,
|
|
"typeName": "MigrationTask<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Continue the migration for the given `limits`.",
|
|
"",
|
|
"The dispatch origin of this call can be any signed account.",
|
|
"",
|
|
"This transaction has NO MONETARY INCENTIVES. calling it will not reward anyone. Albeit,",
|
|
"Upon successful execution, the transaction fee is returned.",
|
|
"",
|
|
"The (potentially over-estimated) of the byte length of all the data read must be",
|
|
"provided for up-front fee-payment and weighing. In essence, the caller is guaranteeing",
|
|
"that executing the current `MigrationTask` with the given `limits` will not exceed",
|
|
"`real_size_upper` bytes of read data.",
|
|
"",
|
|
"The `witness_task` is merely a helper to prevent the caller from being slashed or",
|
|
"generally trigger a migration that they do not intend. This parameter is just a message",
|
|
"from caller, saying that they believed `witness_task` was the last state of the",
|
|
"migration, and they only wish for their transaction to do anything, if this assumption",
|
|
"holds. In case `witness_task` does not match, the transaction fails.",
|
|
"",
|
|
"Based on the documentation of [`MigrationTask::migrate_until_exhaustion`], the",
|
|
"recommended way of doing this is to pass a `limit` that only bounds `count`, as the",
|
|
"`size` limit can always be overwritten."
|
|
]
|
|
},
|
|
{
|
|
"name": "migrate_custom_top",
|
|
"fields": [
|
|
{
|
|
"name": "keys",
|
|
"type": 31,
|
|
"typeName": "Vec<Vec<u8>>"
|
|
},
|
|
{
|
|
"name": "witness_size",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Migrate the list of top keys by iterating each of them one by one.",
|
|
"",
|
|
"This does not affect the global migration process tracker ([`MigrationProcess`]), and",
|
|
"should only be used in case any keys are leftover due to a bug."
|
|
]
|
|
},
|
|
{
|
|
"name": "migrate_custom_child",
|
|
"fields": [
|
|
{
|
|
"name": "root",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
},
|
|
{
|
|
"name": "child_keys",
|
|
"type": 31,
|
|
"typeName": "Vec<Vec<u8>>"
|
|
},
|
|
{
|
|
"name": "total_size",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Migrate the list of child keys by iterating each of them one by one.",
|
|
"",
|
|
"All of the given child keys must be present under one `child_root`.",
|
|
"",
|
|
"This does not affect the global migration process tracker ([`MigrationProcess`]), and",
|
|
"should only be used in case any keys are leftover due to a bug."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_signed_max_limits",
|
|
"fields": [
|
|
{
|
|
"name": "limits",
|
|
"type": 265,
|
|
"typeName": "MigrationLimits"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Set the maximum limit of the signed migration."
|
|
]
|
|
},
|
|
{
|
|
"name": "force_set_progress",
|
|
"fields": [
|
|
{
|
|
"name": "progress_top",
|
|
"type": 267,
|
|
"typeName": "ProgressOf<T>"
|
|
},
|
|
{
|
|
"name": "progress_child",
|
|
"type": 267,
|
|
"typeName": "ProgressOf<T>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Forcefully set the progress the running migration.",
|
|
"",
|
|
"This is only useful in one case: the next key to migrate is too big to be migrated with",
|
|
"a signed account, in a parachain context, and we simply want to skip it. A reasonable",
|
|
"example of this would be `:code:`, which is both very expensive to migrate, and commonly",
|
|
"used, so probably it is already migrated.",
|
|
"",
|
|
"In case you mess things up, you can also, in principle, use this to reset the migration",
|
|
"process."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 264,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 265
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 265
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 265,
|
|
"type": {
|
|
"path": [
|
|
"pallet_state_trie_migration",
|
|
"pallet",
|
|
"MigrationLimits"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "size",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "item",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 266,
|
|
"type": {
|
|
"path": [
|
|
"pallet_state_trie_migration",
|
|
"pallet",
|
|
"MigrationTask"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "progress_top",
|
|
"type": 267,
|
|
"typeName": "ProgressOf<T>"
|
|
},
|
|
{
|
|
"name": "progress_child",
|
|
"type": 267,
|
|
"typeName": "ProgressOf<T>"
|
|
},
|
|
{
|
|
"name": "size",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "top_items",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "child_items",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 267,
|
|
"type": {
|
|
"path": [
|
|
"pallet_state_trie_migration",
|
|
"pallet",
|
|
"Progress"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "MaxKeyLen",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "ToStart",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "LastKey",
|
|
"fields": [
|
|
{
|
|
"type": 268,
|
|
"typeName": "BoundedVec<u8, MaxKeyLen>"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Complete",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 268,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 269,
|
|
"type": {
|
|
"path": [
|
|
"pallet_child_bounties",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "add_child_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "value",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "description",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Add a new child-bounty.",
|
|
"",
|
|
"The dispatch origin for this call must be the curator of parent",
|
|
"bounty and the parent bounty must be in \"active\" state.",
|
|
"",
|
|
"Child-bounty gets added successfully & fund gets transferred from",
|
|
"parent bounty to child-bounty account, if parent bounty has enough",
|
|
"funds, else the call fails.",
|
|
"",
|
|
"Upper bound to maximum number of active child bounties that can be",
|
|
"added are managed via runtime trait config",
|
|
"[`Config::MaxActiveChildBountyCount`].",
|
|
"",
|
|
"If the call is success, the status of child-bounty is updated to",
|
|
"\"Added\".",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty for which child-bounty is being added.",
|
|
"- `value`: Value for executing the proposal.",
|
|
"- `description`: Text description for the child-bounty."
|
|
]
|
|
},
|
|
{
|
|
"name": "propose_curator",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "child_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "curator",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "fee",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Propose curator for funded child-bounty.",
|
|
"",
|
|
"The dispatch origin for this call must be curator of parent bounty.",
|
|
"",
|
|
"Parent bounty must be in active state, for this child-bounty call to",
|
|
"work.",
|
|
"",
|
|
"Child-bounty must be in \"Added\" state, for processing the call. And",
|
|
"state of child-bounty is moved to \"CuratorProposed\" on successful",
|
|
"call completion.",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty.",
|
|
"- `child_bounty_id`: Index of child bounty.",
|
|
"- `curator`: Address of child-bounty curator.",
|
|
"- `fee`: payment fee to child-bounty curator for execution."
|
|
]
|
|
},
|
|
{
|
|
"name": "accept_curator",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "child_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Accept the curator role for the child-bounty.",
|
|
"",
|
|
"The dispatch origin for this call must be the curator of this",
|
|
"child-bounty.",
|
|
"",
|
|
"A deposit will be reserved from the curator and refund upon",
|
|
"successful payout or cancellation.",
|
|
"",
|
|
"Fee for curator is deducted from curator fee of parent bounty.",
|
|
"",
|
|
"Parent bounty must be in active state, for this child-bounty call to",
|
|
"work.",
|
|
"",
|
|
"Child-bounty must be in \"CuratorProposed\" state, for processing the",
|
|
"call. And state of child-bounty is moved to \"Active\" on successful",
|
|
"call completion.",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty.",
|
|
"- `child_bounty_id`: Index of child bounty."
|
|
]
|
|
},
|
|
{
|
|
"name": "unassign_curator",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "child_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Unassign curator from a child-bounty.",
|
|
"",
|
|
"The dispatch origin for this call can be either `RejectOrigin`, or",
|
|
"the curator of the parent bounty, or any signed origin.",
|
|
"",
|
|
"For the origin other than T::RejectOrigin and the child-bounty",
|
|
"curator, parent bounty must be in active state, for this call to",
|
|
"work. We allow child-bounty curator and T::RejectOrigin to execute",
|
|
"this call irrespective of the parent bounty state.",
|
|
"",
|
|
"If this function is called by the `RejectOrigin` or the",
|
|
"parent bounty curator, we assume that the child-bounty curator is",
|
|
"malicious or inactive. As a result, child-bounty curator deposit is",
|
|
"slashed.",
|
|
"",
|
|
"If the origin is the child-bounty curator, we take this as a sign",
|
|
"that they are unable to do their job, and are willingly giving up.",
|
|
"We could slash the deposit, but for now we allow them to unreserve",
|
|
"their deposit and exit without issue. (We may want to change this if",
|
|
"it is abused.)",
|
|
"",
|
|
"Finally, the origin can be anyone iff the child-bounty curator is",
|
|
"\"inactive\". Expiry update due of parent bounty is used to estimate",
|
|
"inactive state of child-bounty curator.",
|
|
"",
|
|
"This allows anyone in the community to call out that a child-bounty",
|
|
"curator is not doing their due diligence, and we should pick a new",
|
|
"one. In this case the child-bounty curator deposit is slashed.",
|
|
"",
|
|
"State of child-bounty is moved to Added state on successful call",
|
|
"completion.",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty.",
|
|
"- `child_bounty_id`: Index of child bounty."
|
|
]
|
|
},
|
|
{
|
|
"name": "award_child_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "child_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "beneficiary",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Award child-bounty to a beneficiary.",
|
|
"",
|
|
"The beneficiary will be able to claim the funds after a delay.",
|
|
"",
|
|
"The dispatch origin for this call must be the parent curator or",
|
|
"curator of this child-bounty.",
|
|
"",
|
|
"Parent bounty must be in active state, for this child-bounty call to",
|
|
"work.",
|
|
"",
|
|
"Child-bounty must be in active state, for processing the call. And",
|
|
"state of child-bounty is moved to \"PendingPayout\" on successful call",
|
|
"completion.",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty.",
|
|
"- `child_bounty_id`: Index of child bounty.",
|
|
"- `beneficiary`: Beneficiary account."
|
|
]
|
|
},
|
|
{
|
|
"name": "claim_child_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "child_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Claim the payout from an awarded child-bounty after payout delay.",
|
|
"",
|
|
"The dispatch origin for this call may be any signed origin.",
|
|
"",
|
|
"Call works independent of parent bounty state, No need for parent",
|
|
"bounty to be in active state.",
|
|
"",
|
|
"The Beneficiary is paid out with agreed bounty value. Curator fee is",
|
|
"paid & curator deposit is unreserved.",
|
|
"",
|
|
"Child-bounty must be in \"PendingPayout\" state, for processing the",
|
|
"call. And instance of child-bounty is removed from the state on",
|
|
"successful call completion.",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty.",
|
|
"- `child_bounty_id`: Index of child bounty."
|
|
]
|
|
},
|
|
{
|
|
"name": "close_child_bounty",
|
|
"fields": [
|
|
{
|
|
"name": "parent_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
},
|
|
{
|
|
"name": "child_bounty_id",
|
|
"type": 36,
|
|
"typeName": "BountyIndex"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Cancel a proposed or active child-bounty. Child-bounty account funds",
|
|
"are transferred to parent bounty account. The child-bounty curator",
|
|
"deposit may be unreserved if possible.",
|
|
"",
|
|
"The dispatch origin for this call must be either parent curator or",
|
|
"`T::RejectOrigin`.",
|
|
"",
|
|
"If the state of child-bounty is `Active`, curator deposit is",
|
|
"unreserved.",
|
|
"",
|
|
"If the state of child-bounty is `PendingPayout`, call fails &",
|
|
"returns `PendingPayout` error.",
|
|
"",
|
|
"For the origin other than T::RejectOrigin, parent bounty must be in",
|
|
"active state, for this child-bounty call to work. For origin",
|
|
"T::RejectOrigin execution is forced.",
|
|
"",
|
|
"Instance of child-bounty is removed from the state on successful",
|
|
"call completion.",
|
|
"",
|
|
"- `parent_bounty_id`: Index of parent bounty.",
|
|
"- `child_bounty_id`: Index of child bounty."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 270,
|
|
"type": {
|
|
"path": [
|
|
"pallet_referenda",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "submit",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_origin",
|
|
"type": 271,
|
|
"typeName": "Box<PalletsOriginOf<T>>"
|
|
},
|
|
{
|
|
"name": "proposal",
|
|
"type": 133,
|
|
"typeName": "BoundedCallOf<T, I>"
|
|
},
|
|
{
|
|
"name": "enactment_moment",
|
|
"type": 277,
|
|
"typeName": "DispatchTime<T::BlockNumber>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Propose a referendum on a privileged action.",
|
|
"",
|
|
"- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds",
|
|
" available.",
|
|
"- `proposal_origin`: The origin from which the proposal should be executed.",
|
|
"- `proposal`: The proposal.",
|
|
"- `enactment_moment`: The moment that the proposal should be enacted.",
|
|
"",
|
|
"Emits `Submitted`."
|
|
]
|
|
},
|
|
{
|
|
"name": "place_decision_deposit",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Post the Decision Deposit for a referendum.",
|
|
"",
|
|
"- `origin`: must be `Signed` and the account must have funds available for the",
|
|
" referendum's track's Decision Deposit.",
|
|
"- `index`: The index of the submitted referendum whose Decision Deposit is yet to be",
|
|
" posted.",
|
|
"",
|
|
"Emits `DecisionDepositPlaced`."
|
|
]
|
|
},
|
|
{
|
|
"name": "refund_decision_deposit",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Refund the Decision Deposit for a closed referendum back to the depositor.",
|
|
"",
|
|
"- `origin`: must be `Signed` or `Root`.",
|
|
"- `index`: The index of a closed referendum whose Decision Deposit has not yet been",
|
|
" refunded.",
|
|
"",
|
|
"Emits `DecisionDepositRefunded`."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Cancel an ongoing referendum.",
|
|
"",
|
|
"- `origin`: must be the `CancelOrigin`.",
|
|
"- `index`: The index of the referendum to be cancelled.",
|
|
"",
|
|
"Emits `Cancelled`."
|
|
]
|
|
},
|
|
{
|
|
"name": "kill",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Cancel an ongoing referendum and slash the deposits.",
|
|
"",
|
|
"- `origin`: must be the `KillOrigin`.",
|
|
"- `index`: The index of the referendum to be cancelled.",
|
|
"",
|
|
"Emits `Killed` and `DepositSlashed`."
|
|
]
|
|
},
|
|
{
|
|
"name": "nudge_referendum",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Advance a referendum onto its next logical state. Only used internally.",
|
|
"",
|
|
"- `origin`: must be `Root`.",
|
|
"- `index`: the referendum to be advanced."
|
|
]
|
|
},
|
|
{
|
|
"name": "one_fewer_deciding",
|
|
"fields": [
|
|
{
|
|
"name": "track",
|
|
"type": 20,
|
|
"typeName": "TrackIdOf<T, I>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Advance a track onto its next logical state. Only used internally.",
|
|
"",
|
|
"- `origin`: must be `Root`.",
|
|
"- `track`: the track to be advanced.",
|
|
"",
|
|
"Action item for when there is now one fewer referendum in the deciding phase and the",
|
|
"`DecidingCount` is not yet updated. This means that we should either:",
|
|
"- begin deciding another referendum (and leave `DecidingCount` alone); or",
|
|
"- decrement `DecidingCount`."
|
|
]
|
|
},
|
|
{
|
|
"name": "refund_submission_deposit",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Refund the Submission Deposit for a closed referendum back to the depositor.",
|
|
"",
|
|
"- `origin`: must be `Signed` or `Root`.",
|
|
"- `index`: The index of a closed referendum whose Submission Deposit has not yet been",
|
|
" refunded.",
|
|
"",
|
|
"Emits `SubmissionDepositRefunded`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
},
|
|
{
|
|
"name": "maybe_hash",
|
|
"type": 139,
|
|
"typeName": "Option<PreimageHash>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Set or clear metadata of a referendum.",
|
|
"",
|
|
"Parameters:",
|
|
"- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a",
|
|
" metadata of a finished referendum.",
|
|
"- `index`: The index of a referendum to set or clear metadata for.",
|
|
"- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 271,
|
|
"type": {
|
|
"path": [
|
|
"kitchensink_runtime",
|
|
"OriginCaller"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "system",
|
|
"fields": [
|
|
{
|
|
"type": 272,
|
|
"typeName": "frame_system::Origin<Runtime>"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Council",
|
|
"fields": [
|
|
{
|
|
"type": 273,
|
|
"typeName": "pallet_collective::Origin<Runtime, pallet_collective::Instance1>"
|
|
}
|
|
],
|
|
"index": 13
|
|
},
|
|
{
|
|
"name": "TechnicalCommittee",
|
|
"fields": [
|
|
{
|
|
"type": 274,
|
|
"typeName": "pallet_collective::Origin<Runtime, pallet_collective::Instance2>"
|
|
}
|
|
],
|
|
"index": 14
|
|
},
|
|
{
|
|
"name": "AllianceMotion",
|
|
"fields": [
|
|
{
|
|
"type": 275,
|
|
"typeName": "pallet_collective::Origin<Runtime, pallet_collective::Instance3>"
|
|
}
|
|
],
|
|
"index": 52
|
|
},
|
|
{
|
|
"name": "Void",
|
|
"fields": [
|
|
{
|
|
"type": 276,
|
|
"typeName": "self::sp_api_hidden_includes_construct_runtime::hidden_include::Void"
|
|
}
|
|
],
|
|
"index": 4
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 272,
|
|
"type": {
|
|
"path": [
|
|
"frame_support",
|
|
"dispatch",
|
|
"RawOrigin"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Root",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Signed",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "None",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 273,
|
|
"type": {
|
|
"path": [
|
|
"pallet_collective",
|
|
"RawOrigin"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Members",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
},
|
|
{
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Member",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "_Phantom",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 274,
|
|
"type": {
|
|
"path": [
|
|
"pallet_collective",
|
|
"RawOrigin"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Members",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
},
|
|
{
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Member",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "_Phantom",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 275,
|
|
"type": {
|
|
"path": [
|
|
"pallet_collective",
|
|
"RawOrigin"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Members",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
},
|
|
{
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Member",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "_Phantom",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 276,
|
|
"type": {
|
|
"path": [
|
|
"sp_core",
|
|
"Void"
|
|
],
|
|
"def": {
|
|
"variant": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 277,
|
|
"type": {
|
|
"path": [
|
|
"frame_support",
|
|
"traits",
|
|
"schedule",
|
|
"DispatchTime"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "BlockNumber",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "At",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "BlockNumber"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "After",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "BlockNumber"
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 278,
|
|
"type": {
|
|
"path": [
|
|
"pallet_remark",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "store",
|
|
"fields": [
|
|
{
|
|
"name": "remark",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Index and store data off chain."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 279,
|
|
"type": {
|
|
"path": [
|
|
"pallet_root_testing",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "fill_block",
|
|
"fields": [
|
|
{
|
|
"name": "ratio",
|
|
"type": 119,
|
|
"typeName": "Perbill"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"A dispatch that will fill the block weight up to the given ratio."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 280,
|
|
"type": {
|
|
"path": [
|
|
"pallet_conviction_voting",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "poll_index",
|
|
"type": 36,
|
|
"typeName": "PollIndexOf<T, I>"
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"type": 281,
|
|
"typeName": "AccountVote<BalanceOf<T, I>>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Vote in a poll. If `vote.is_aye()`, the vote is to enact the proposal;",
|
|
"otherwise it is a vote to keep the status quo.",
|
|
"",
|
|
"The dispatch origin of this call must be _Signed_.",
|
|
"",
|
|
"- `poll_index`: The index of the poll to vote for.",
|
|
"- `vote`: The vote configuration.",
|
|
"",
|
|
"Weight: `O(R)` where R is the number of polls the voter has voted on."
|
|
]
|
|
},
|
|
{
|
|
"name": "delegate",
|
|
"fields": [
|
|
{
|
|
"name": "class",
|
|
"type": 20,
|
|
"typeName": "ClassOf<T, I>"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "conviction",
|
|
"type": 283,
|
|
"typeName": "Conviction"
|
|
},
|
|
{
|
|
"name": "balance",
|
|
"type": 57,
|
|
"typeName": "BalanceOf<T, I>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Delegate the voting power (with some given conviction) of the sending account for a",
|
|
"particular class of polls.",
|
|
"",
|
|
"The balance delegated is locked for as long as it's delegated, and thereafter for the",
|
|
"time appropriate for the conviction's lock period.",
|
|
"",
|
|
"The dispatch origin of this call must be _Signed_, and the signing account must either:",
|
|
" - be delegating already; or",
|
|
" - have no voting activity (if there is, then it will need to be removed/consolidated",
|
|
" through `reap_vote` or `unvote`).",
|
|
"",
|
|
"- `to`: The account whose voting the `target` account's voting power will follow.",
|
|
"- `class`: The class of polls to delegate. To delegate multiple classes, multiple calls",
|
|
" to this function are required.",
|
|
"- `conviction`: The conviction that will be attached to the delegated votes. When the",
|
|
" account is undelegated, the funds will be locked for the corresponding period.",
|
|
"- `balance`: The amount of the account's balance to be used in delegating. This must not",
|
|
" be more than the account's current balance.",
|
|
"",
|
|
"Emits `Delegated`.",
|
|
"",
|
|
"Weight: `O(R)` where R is the number of polls the voter delegating to has",
|
|
" voted on. Weight is initially charged as if maximum votes, but is refunded later."
|
|
]
|
|
},
|
|
{
|
|
"name": "undelegate",
|
|
"fields": [
|
|
{
|
|
"name": "class",
|
|
"type": 20,
|
|
"typeName": "ClassOf<T, I>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Undelegate the voting power of the sending account for a particular class of polls.",
|
|
"",
|
|
"Tokens may be unlocked following once an amount of time consistent with the lock period",
|
|
"of the conviction with which the delegation was issued has passed.",
|
|
"",
|
|
"The dispatch origin of this call must be _Signed_ and the signing account must be",
|
|
"currently delegating.",
|
|
"",
|
|
"- `class`: The class of polls to remove the delegation from.",
|
|
"",
|
|
"Emits `Undelegated`.",
|
|
"",
|
|
"Weight: `O(R)` where R is the number of polls the voter delegating to has",
|
|
" voted on. Weight is initially charged as if maximum votes, but is refunded later."
|
|
]
|
|
},
|
|
{
|
|
"name": "unlock",
|
|
"fields": [
|
|
{
|
|
"name": "class",
|
|
"type": 20,
|
|
"typeName": "ClassOf<T, I>"
|
|
},
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Remove the lock caused by prior voting/delegating which has expired within a particular",
|
|
"class.",
|
|
"",
|
|
"The dispatch origin of this call must be _Signed_.",
|
|
"",
|
|
"- `class`: The class of polls to unlock.",
|
|
"- `target`: The account to remove the lock on.",
|
|
"",
|
|
"Weight: `O(R)` with R number of vote of target."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_vote",
|
|
"fields": [
|
|
{
|
|
"name": "class",
|
|
"type": 284,
|
|
"typeName": "Option<ClassOf<T, I>>"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "PollIndexOf<T, I>"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Remove a vote for a poll.",
|
|
"",
|
|
"If:",
|
|
"- the poll was cancelled, or",
|
|
"- the poll is ongoing, or",
|
|
"- the poll has ended such that",
|
|
" - the vote of the account was in opposition to the result; or",
|
|
" - there was no conviction to the account's vote; or",
|
|
" - the account made a split vote",
|
|
"...then the vote is removed cleanly and a following call to `unlock` may result in more",
|
|
"funds being available.",
|
|
"",
|
|
"If, however, the poll has ended and:",
|
|
"- it finished corresponding to the vote of the account, and",
|
|
"- the account made a standard vote with conviction, and",
|
|
"- the lock period of the conviction is not over",
|
|
"...then the lock will be aggregated into the overall account's lock, which may involve",
|
|
"*overlocking* (where the two locks are combined into a single lock that is the maximum",
|
|
"of both the amount locked and the time is it locked for).",
|
|
"",
|
|
"The dispatch origin of this call must be _Signed_, and the signer must have a vote",
|
|
"registered for poll `index`.",
|
|
"",
|
|
"- `index`: The index of poll of the vote to be removed.",
|
|
"- `class`: Optional parameter, if given it indicates the class of the poll. For polls",
|
|
" which have finished or are cancelled, this must be `Some`.",
|
|
"",
|
|
"Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.",
|
|
" Weight is calculated for the maximum number of vote."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_other_vote",
|
|
"fields": [
|
|
{
|
|
"name": "target",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "class",
|
|
"type": 20,
|
|
"typeName": "ClassOf<T, I>"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "PollIndexOf<T, I>"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Remove a vote for a poll.",
|
|
"",
|
|
"If the `target` is equal to the signer, then this function is exactly equivalent to",
|
|
"`remove_vote`. If not equal to the signer, then the vote must have expired,",
|
|
"either because the poll was cancelled, because the voter lost the poll or",
|
|
"because the conviction period is over.",
|
|
"",
|
|
"The dispatch origin of this call must be _Signed_.",
|
|
"",
|
|
"- `target`: The account of the vote to be removed; this account must have voted for poll",
|
|
" `index`.",
|
|
"- `index`: The index of poll of the vote to be removed.",
|
|
"- `class`: The class of the poll.",
|
|
"",
|
|
"Weight: `O(R + log R)` where R is the number of polls that `target` has voted on.",
|
|
" Weight is calculated for the maximum number of vote."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 281,
|
|
"type": {
|
|
"path": [
|
|
"pallet_conviction_voting",
|
|
"vote",
|
|
"AccountVote"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Standard",
|
|
"fields": [
|
|
{
|
|
"name": "vote",
|
|
"type": 282,
|
|
"typeName": "Vote"
|
|
},
|
|
{
|
|
"name": "balance",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Split",
|
|
"fields": [
|
|
{
|
|
"name": "aye",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "nay",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "SplitAbstain",
|
|
"fields": [
|
|
{
|
|
"name": "aye",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "nay",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "abstain",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 282,
|
|
"type": {
|
|
"path": [
|
|
"pallet_conviction_voting",
|
|
"vote",
|
|
"Vote"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 283,
|
|
"type": {
|
|
"path": [
|
|
"pallet_conviction_voting",
|
|
"conviction",
|
|
"Conviction"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Locked1x",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Locked2x",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Locked3x",
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "Locked4x",
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "Locked5x",
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Locked6x",
|
|
"index": 6
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 284,
|
|
"type": {
|
|
"path": [
|
|
"Option"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 20
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "None",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Some",
|
|
"fields": [
|
|
{
|
|
"type": 20
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 285,
|
|
"type": {
|
|
"path": [
|
|
"pallet_whitelist",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "whitelist_call",
|
|
"fields": [
|
|
{
|
|
"name": "call_hash",
|
|
"type": 1,
|
|
"typeName": "PreimageHash"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "remove_whitelisted_call",
|
|
"fields": [
|
|
{
|
|
"name": "call_hash",
|
|
"type": 1,
|
|
"typeName": "PreimageHash"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "dispatch_whitelisted_call",
|
|
"fields": [
|
|
{
|
|
"name": "call_hash",
|
|
"type": 1,
|
|
"typeName": "PreimageHash"
|
|
},
|
|
{
|
|
"name": "call_encoded_len",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "call_weight_witness",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
}
|
|
],
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "dispatch_whitelisted_call_with_preimage",
|
|
"fields": [
|
|
{
|
|
"name": "call",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config>::RuntimeCall>"
|
|
}
|
|
],
|
|
"index": 3
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 286,
|
|
"type": {
|
|
"path": [
|
|
"pallet_collective",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "set_members",
|
|
"fields": [
|
|
{
|
|
"name": "new_members",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "prime",
|
|
"type": 141,
|
|
"typeName": "Option<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "old_count",
|
|
"type": 4,
|
|
"typeName": "MemberCount"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Set the collective's membership.",
|
|
"",
|
|
"- `new_members`: The new member list. Be nice to the chain and provide it sorted.",
|
|
"- `prime`: The prime member whose vote sets the default.",
|
|
"- `old_count`: The upper bound for the previous number of members in storage. Used for",
|
|
" weight estimation.",
|
|
"",
|
|
"The dispatch of this call must be `SetMembersOrigin`.",
|
|
"",
|
|
"NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but",
|
|
" the weight estimations rely on it to estimate dispatchable weight.",
|
|
"",
|
|
"# WARNING:",
|
|
"",
|
|
"The `pallet-collective` can also be managed by logic outside of the pallet through the",
|
|
"implementation of the trait [`ChangeMembers`].",
|
|
"Any call to `set_members` must be careful that the member set doesn't get out of sync",
|
|
"with other logic managing the member set.",
|
|
"",
|
|
"## Complexity:",
|
|
"- `O(MP + N)` where:",
|
|
" - `M` old-members-count (code- and governance-bounded)",
|
|
" - `N` new-members-count (code- and governance-bounded)",
|
|
" - `P` proposals-count (code-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "execute",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Dispatch a proposal from a member using the `Member` origin.",
|
|
"",
|
|
"Origin must be a member of the collective.",
|
|
"",
|
|
"## Complexity:",
|
|
"- `O(B + M + P)` where:",
|
|
"- `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
"- `M` members-count (code-bounded)",
|
|
"- `P` complexity of dispatching `proposal`"
|
|
]
|
|
},
|
|
{
|
|
"name": "propose",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 36,
|
|
"typeName": "MemberCount"
|
|
},
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Add a new proposal to either be voted on or executed directly.",
|
|
"",
|
|
"Requires the sender to be member.",
|
|
"",
|
|
"`threshold` determines whether `proposal` is executed directly (`threshold < 2`)",
|
|
"or put up for voting.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1)` or `O(B + M + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - branching is influenced by `threshold` where:",
|
|
" - `P1` is proposal execution complexity (`threshold < 2`)",
|
|
" - `P2` is proposals-count (code-bounded) (`threshold >= 2`)"
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "approve",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Add an aye or nay vote for the sender to the given proposal.",
|
|
"",
|
|
"Requires the sender to be a member.",
|
|
"",
|
|
"Transaction fees will be waived if the member is voting on any particular proposal",
|
|
"for the first time and the call is successful. Subsequent vote changes will charge a",
|
|
"fee.",
|
|
"## Complexity",
|
|
"- `O(M)` where `M` is members-count (code- and governance-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "close_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved or whose voting period has ended.",
|
|
"",
|
|
"May be called by any signed account in order to finish voting and close the proposal.",
|
|
"",
|
|
"If called before the end of the voting period it will only close the vote if it is",
|
|
"has enough votes to be approved or disapproved.",
|
|
"",
|
|
"If called after the end of the voting period abstentions are counted as rejections",
|
|
"unless there is a prime member set and the prime member cast an approval.",
|
|
"",
|
|
"If the close operation completes successfully with disapproval, the transaction fee will",
|
|
"be waived. Otherwise execution of the approved operation will be charged to the caller.",
|
|
"",
|
|
"+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed",
|
|
"proposal.",
|
|
"+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
|
|
"`storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1 + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - `P1` is the complexity of `proposal` preimage.",
|
|
" - `P2` is proposal-count (code-bounded)"
|
|
]
|
|
},
|
|
{
|
|
"name": "disapprove_proposal",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Disapprove a proposal, close, and remove it from the system, regardless of its current",
|
|
"state.",
|
|
"",
|
|
"Must be called by the Root origin.",
|
|
"",
|
|
"Parameters:",
|
|
"* `proposal_hash`: The hash of the proposal that should be disapproved.",
|
|
"",
|
|
"## Complexity",
|
|
"O(P) where P is the number of max proposals"
|
|
]
|
|
},
|
|
{
|
|
"name": "close",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved or whose voting period has ended.",
|
|
"",
|
|
"May be called by any signed account in order to finish voting and close the proposal.",
|
|
"",
|
|
"If called before the end of the voting period it will only close the vote if it is",
|
|
"has enough votes to be approved or disapproved.",
|
|
"",
|
|
"If called after the end of the voting period abstentions are counted as rejections",
|
|
"unless there is a prime member set and the prime member cast an approval.",
|
|
"",
|
|
"If the close operation completes successfully with disapproval, the transaction fee will",
|
|
"be waived. Otherwise execution of the approved operation will be charged to the caller.",
|
|
"",
|
|
"+ `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed",
|
|
"proposal.",
|
|
"+ `length_bound`: The upper bound for the length of the proposal in storage. Checked via",
|
|
"`storage::read` so it is `size_of::<u32>() == 4` larger than the pure length.",
|
|
"",
|
|
"## Complexity",
|
|
"- `O(B + M + P1 + P2)` where:",
|
|
" - `B` is `proposal` size in bytes (length-fee-bounded)",
|
|
" - `M` is members-count (code- and governance-bounded)",
|
|
" - `P1` is the complexity of `proposal` preimage.",
|
|
" - `P2` is proposal-count (code-bounded)"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 287,
|
|
"type": {
|
|
"path": [
|
|
"pallet_alliance",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "propose",
|
|
"fields": [
|
|
{
|
|
"name": "threshold",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "proposal",
|
|
"type": 26,
|
|
"typeName": "Box<<T as Config<I>>::Proposal>"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Add a new proposal to be voted on.",
|
|
"",
|
|
"Must be called by a Fellow."
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "proposal",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "approve",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Add an aye or nay vote for the sender to the given proposal.",
|
|
"",
|
|
"Must be called by a Fellow."
|
|
]
|
|
},
|
|
{
|
|
"name": "close_old_weight",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 142,
|
|
"typeName": "OldWeight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved, or whose voting period has ended.",
|
|
"",
|
|
"Must be called by a Fellow."
|
|
]
|
|
},
|
|
{
|
|
"name": "init_members",
|
|
"fields": [
|
|
{
|
|
"name": "fellows",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "allies",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Initialize the Alliance, onboard fellows and allies.",
|
|
"",
|
|
"The Alliance must be empty, and the call must provide some founding members.",
|
|
"",
|
|
"Must be called by the Root origin."
|
|
]
|
|
},
|
|
{
|
|
"name": "disband",
|
|
"fields": [
|
|
{
|
|
"name": "witness",
|
|
"type": 288,
|
|
"typeName": "DisbandWitness"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Disband the Alliance, remove all active members and unreserve deposits.",
|
|
"",
|
|
"Witness data must be set."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_rule",
|
|
"fields": [
|
|
{
|
|
"name": "rule",
|
|
"type": 289,
|
|
"typeName": "Cid"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Set a new IPFS CID to the alliance rule."
|
|
]
|
|
},
|
|
{
|
|
"name": "announce",
|
|
"fields": [
|
|
{
|
|
"name": "announcement",
|
|
"type": 289,
|
|
"typeName": "Cid"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Make an announcement of a new IPFS CID about alliance issues."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_announcement",
|
|
"fields": [
|
|
{
|
|
"name": "announcement",
|
|
"type": 289,
|
|
"typeName": "Cid"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Remove an announcement."
|
|
]
|
|
},
|
|
{
|
|
"name": "join_alliance",
|
|
"index": 8,
|
|
"docs": [
|
|
"Submit oneself for candidacy. A fixed deposit is reserved."
|
|
]
|
|
},
|
|
{
|
|
"name": "nominate_ally",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"A Fellow can nominate someone to join the alliance as an Ally. There is no deposit",
|
|
"required from the nominator or nominee."
|
|
]
|
|
},
|
|
{
|
|
"name": "elevate_ally",
|
|
"fields": [
|
|
{
|
|
"name": "ally",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Elevate an Ally to Fellow."
|
|
]
|
|
},
|
|
{
|
|
"name": "give_retirement_notice",
|
|
"index": 11,
|
|
"docs": [
|
|
"As a member, give a retirement notice and start a retirement period required to pass in",
|
|
"order to retire."
|
|
]
|
|
},
|
|
{
|
|
"name": "retire",
|
|
"index": 12,
|
|
"docs": [
|
|
"As a member, retire from the Alliance and unreserve the deposit.",
|
|
"",
|
|
"This can only be done once you have called `give_retirement_notice` and the",
|
|
"`RetirementPeriod` has passed."
|
|
]
|
|
},
|
|
{
|
|
"name": "kick_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"docs": [
|
|
"Kick a member from the Alliance and slash its deposit."
|
|
]
|
|
},
|
|
{
|
|
"name": "add_unscrupulous_items",
|
|
"fields": [
|
|
{
|
|
"name": "items",
|
|
"type": 293,
|
|
"typeName": "Vec<UnscrupulousItemOf<T, I>>"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"docs": [
|
|
"Add accounts or websites to the list of unscrupulous items."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_unscrupulous_items",
|
|
"fields": [
|
|
{
|
|
"name": "items",
|
|
"type": 293,
|
|
"typeName": "Vec<UnscrupulousItemOf<T, I>>"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"docs": [
|
|
"Deem some items no longer unscrupulous."
|
|
]
|
|
},
|
|
{
|
|
"name": "close",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_hash",
|
|
"type": 1,
|
|
"typeName": "T::Hash"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 36,
|
|
"typeName": "ProposalIndex"
|
|
},
|
|
{
|
|
"name": "proposal_weight_bound",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
},
|
|
{
|
|
"name": "length_bound",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 16,
|
|
"docs": [
|
|
"Close a vote that is either approved, disapproved, or whose voting period has ended.",
|
|
"",
|
|
"Must be called by a Fellow."
|
|
]
|
|
},
|
|
{
|
|
"name": "abdicate_fellow_status",
|
|
"index": 17,
|
|
"docs": [
|
|
"Abdicate one's position as a voting member and just be an Ally. May be used by Fellows",
|
|
"who do not want to leave the Alliance but do not have the capacity to participate",
|
|
"operationally for some time."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 288,
|
|
"type": {
|
|
"path": [
|
|
"pallet_alliance",
|
|
"types",
|
|
"DisbandWitness"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "fellow_members",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
},
|
|
{
|
|
"name": "ally_members",
|
|
"type": 36,
|
|
"typeName": "u32"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 289,
|
|
"type": {
|
|
"path": [
|
|
"pallet_alliance",
|
|
"types",
|
|
"Cid"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "version",
|
|
"type": 290,
|
|
"typeName": "Version"
|
|
},
|
|
{
|
|
"name": "codec",
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
},
|
|
{
|
|
"name": "hash",
|
|
"type": 291,
|
|
"typeName": "Multihash"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 290,
|
|
"type": {
|
|
"path": [
|
|
"pallet_alliance",
|
|
"types",
|
|
"Version"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "V0",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "V1",
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 291,
|
|
"type": {
|
|
"path": [
|
|
"pallet_alliance",
|
|
"types",
|
|
"Multihash"
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "code",
|
|
"type": 12,
|
|
"typeName": "u64"
|
|
},
|
|
{
|
|
"name": "digest",
|
|
"type": 292,
|
|
"typeName": "BoundedVec<u8, ConstU32<68>>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 292,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 293,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 294
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 294,
|
|
"type": {
|
|
"path": [
|
|
"pallet_alliance",
|
|
"UnscrupulousItem"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "AccountId",
|
|
"type": 52
|
|
},
|
|
{
|
|
"name": "Url",
|
|
"type": 295
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "AccountId",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "AccountId"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Website",
|
|
"fields": [
|
|
{
|
|
"type": 295,
|
|
"typeName": "Url"
|
|
}
|
|
],
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 295,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 3
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 296,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "join",
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Stake funds with a pool. The amount to bond is transferred from the member to the",
|
|
"pools account and immediately increases the pools bond.",
|
|
"",
|
|
"# Note",
|
|
"",
|
|
"* An account can only be a member of a single pool.",
|
|
"* An account cannot join the same pool multiple times.",
|
|
"* This call will *not* dust the member account, so the member must have at least",
|
|
" `existential deposit + amount` in their account.",
|
|
"* Only a pool with [`PoolState::Open`] can be joined"
|
|
]
|
|
},
|
|
{
|
|
"name": "bond_extra",
|
|
"fields": [
|
|
{
|
|
"name": "extra",
|
|
"type": 297,
|
|
"typeName": "BondExtra<BalanceOf<T>>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Bond `extra` more funds from `origin` into the pool to which they already belong.",
|
|
"",
|
|
"Additional funds can come from either the free balance of the account, of from the",
|
|
"accumulated rewards, see [`BondExtra`].",
|
|
"",
|
|
"Bonding extra funds implies an automatic payout of all pending rewards as well.",
|
|
"See `bond_extra_other` to bond pending rewards of `other` members."
|
|
]
|
|
},
|
|
{
|
|
"name": "claim_payout",
|
|
"index": 2,
|
|
"docs": [
|
|
"A bonded member can use this to claim their payout based on the rewards that the pool",
|
|
"has accumulated since their last claimed payout (OR since joining if this is there first",
|
|
"time claiming rewards). The payout will be transferred to the member's account.",
|
|
"",
|
|
"The member will earn rewards pro rata based on the members stake vs the sum of the",
|
|
"members in the pools stake. Rewards do not \"expire\".",
|
|
"",
|
|
"See `claim_payout_other` to caim rewards on bahalf of some `other` pool member."
|
|
]
|
|
},
|
|
{
|
|
"name": "unbond",
|
|
"fields": [
|
|
{
|
|
"name": "member_account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "unbonding_points",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Unbond up to `unbonding_points` of the `member_account`'s funds from the pool. It",
|
|
"implicitly collects the rewards one last time, since not doing so would mean some",
|
|
"rewards would be forfeited.",
|
|
"",
|
|
"Under certain conditions, this call can be dispatched permissionlessly (i.e. by any",
|
|
"account).",
|
|
"",
|
|
"# Conditions for a permissionless dispatch.",
|
|
"",
|
|
"* The pool is blocked and the caller is either the root or bouncer. This is refereed to",
|
|
" as a kick.",
|
|
"* The pool is destroying and the member is not the depositor.",
|
|
"* The pool is destroying, the member is the depositor and no other members are in the",
|
|
" pool.",
|
|
"",
|
|
"## Conditions for permissioned dispatch (i.e. the caller is also the",
|
|
"`member_account`):",
|
|
"",
|
|
"* The caller is not the depositor.",
|
|
"* The caller is the depositor, the pool is destroying and no other members are in the",
|
|
" pool.",
|
|
"",
|
|
"# Note",
|
|
"",
|
|
"If there are too many unlocking chunks to unbond with the pool account,",
|
|
"[`Call::pool_withdraw_unbonded`] can be called to try and minimize unlocking chunks.",
|
|
"The [`StakingInterface::unbond`] will implicitly call [`Call::pool_withdraw_unbonded`]",
|
|
"to try to free chunks if necessary (ie. if unbound was called and no unlocking chunks",
|
|
"are available). However, it may not be possible to release the current unlocking chunks,",
|
|
"in which case, the result of this call will likely be the `NoMoreChunks` error from the",
|
|
"staking system."
|
|
]
|
|
},
|
|
{
|
|
"name": "pool_withdraw_unbonded",
|
|
"fields": [
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
},
|
|
{
|
|
"name": "num_slashing_spans",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Call `withdraw_unbonded` for the pools account. This call can be made by any account.",
|
|
"",
|
|
"This is useful if their are too many unlocking chunks to call `unbond`, and some",
|
|
"can be cleared by withdrawing. In the case there are too many unlocking chunks, the user",
|
|
"would probably see an error like `NoMoreChunks` emitted from the staking system when",
|
|
"they attempt to unbond."
|
|
]
|
|
},
|
|
{
|
|
"name": "withdraw_unbonded",
|
|
"fields": [
|
|
{
|
|
"name": "member_account",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "num_slashing_spans",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Withdraw unbonded funds from `member_account`. If no bonded funds can be unbonded, an",
|
|
"error is returned.",
|
|
"",
|
|
"Under certain conditions, this call can be dispatched permissionlessly (i.e. by any",
|
|
"account).",
|
|
"",
|
|
"# Conditions for a permissionless dispatch",
|
|
"",
|
|
"* The pool is in destroy mode and the target is not the depositor.",
|
|
"* The target is the depositor and they are the only member in the sub pools.",
|
|
"* The pool is blocked and the caller is either the root or bouncer.",
|
|
"",
|
|
"# Conditions for permissioned dispatch",
|
|
"",
|
|
"* The caller is the target and they are not the depositor.",
|
|
"",
|
|
"# Note",
|
|
"",
|
|
"If the target is the depositor, the pool will be destroyed."
|
|
]
|
|
},
|
|
{
|
|
"name": "create",
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "root",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "nominator",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "bouncer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Create a new delegation pool.",
|
|
"",
|
|
"# Arguments",
|
|
"",
|
|
"* `amount` - The amount of funds to delegate to the pool. This also acts of a sort of",
|
|
" deposit since the pools creator cannot fully unbond funds until the pool is being",
|
|
" destroyed.",
|
|
"* `index` - A disambiguation index for creating the account. Likely only useful when",
|
|
" creating multiple pools in the same extrinsic.",
|
|
"* `root` - The account to set as [`PoolRoles::root`].",
|
|
"* `nominator` - The account to set as the [`PoolRoles::nominator`].",
|
|
"* `bouncer` - The account to set as the [`PoolRoles::bouncer`].",
|
|
"",
|
|
"# Note",
|
|
"",
|
|
"In addition to `amount`, the caller will transfer the existential deposit; so the caller",
|
|
"needs at have at least `amount + existential_deposit` transferrable."
|
|
]
|
|
},
|
|
{
|
|
"name": "create_with_pool_id",
|
|
"fields": [
|
|
{
|
|
"name": "amount",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "root",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "nominator",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "bouncer",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Create a new delegation pool with a previously used pool id",
|
|
"",
|
|
"# Arguments",
|
|
"",
|
|
"same as `create` with the inclusion of",
|
|
"* `pool_id` - `A valid PoolId."
|
|
]
|
|
},
|
|
{
|
|
"name": "nominate",
|
|
"fields": [
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
},
|
|
{
|
|
"name": "validators",
|
|
"type": 122,
|
|
"typeName": "Vec<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Nominate on behalf of the pool.",
|
|
"",
|
|
"The dispatch origin of this call must be signed by the pool nominator or the pool",
|
|
"root role.",
|
|
"",
|
|
"This directly forward the call to the staking pallet, on behalf of the pool bonded",
|
|
"account."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_state",
|
|
"fields": [
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
},
|
|
{
|
|
"name": "state",
|
|
"type": 298,
|
|
"typeName": "PoolState"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Set a new state for the pool.",
|
|
"",
|
|
"If a pool is already in the `Destroying` state, then under no condition can its state",
|
|
"change again.",
|
|
"",
|
|
"The dispatch origin of this call must be either:",
|
|
"",
|
|
"1. signed by the bouncer, or the root role of the pool,",
|
|
"2. if the pool conditions to be open are NOT met (as described by `ok_to_be_open`), and",
|
|
" then the state of the pool can be permissionlessly changed to `Destroying`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
},
|
|
{
|
|
"name": "metadata",
|
|
"type": 28,
|
|
"typeName": "Vec<u8>"
|
|
}
|
|
],
|
|
"index": 10,
|
|
"docs": [
|
|
"Set a new metadata for the pool.",
|
|
"",
|
|
"The dispatch origin of this call must be signed by the bouncer, or the root role",
|
|
"of the pool."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_configs",
|
|
"fields": [
|
|
{
|
|
"name": "min_join_bond",
|
|
"type": 299,
|
|
"typeName": "ConfigOp<BalanceOf<T>>"
|
|
},
|
|
{
|
|
"name": "min_create_bond",
|
|
"type": 299,
|
|
"typeName": "ConfigOp<BalanceOf<T>>"
|
|
},
|
|
{
|
|
"name": "max_pools",
|
|
"type": 300,
|
|
"typeName": "ConfigOp<u32>"
|
|
},
|
|
{
|
|
"name": "max_members",
|
|
"type": 300,
|
|
"typeName": "ConfigOp<u32>"
|
|
},
|
|
{
|
|
"name": "max_members_per_pool",
|
|
"type": 300,
|
|
"typeName": "ConfigOp<u32>"
|
|
}
|
|
],
|
|
"index": 11,
|
|
"docs": [
|
|
"Update configurations for the nomination pools. The origin for this call must be",
|
|
"Root.",
|
|
"",
|
|
"# Arguments",
|
|
"",
|
|
"* `min_join_bond` - Set [`MinJoinBond`].",
|
|
"* `min_create_bond` - Set [`MinCreateBond`].",
|
|
"* `max_pools` - Set [`MaxPools`].",
|
|
"* `max_members` - Set [`MaxPoolMembers`].",
|
|
"* `max_members_per_pool` - Set [`MaxPoolMembersPerPool`]."
|
|
]
|
|
},
|
|
{
|
|
"name": "update_roles",
|
|
"fields": [
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
},
|
|
{
|
|
"name": "new_root",
|
|
"type": 301,
|
|
"typeName": "ConfigOp<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "new_nominator",
|
|
"type": 301,
|
|
"typeName": "ConfigOp<T::AccountId>"
|
|
},
|
|
{
|
|
"name": "new_bouncer",
|
|
"type": 301,
|
|
"typeName": "ConfigOp<T::AccountId>"
|
|
}
|
|
],
|
|
"index": 12,
|
|
"docs": [
|
|
"Update the roles of the pool.",
|
|
"",
|
|
"The root is the only entity that can change any of the roles, including itself,",
|
|
"excluding the depositor, who can never change.",
|
|
"",
|
|
"It emits an event, notifying UIs of the role change. This event is quite relevant to",
|
|
"most pool members and they should be informed of changes to pool roles."
|
|
]
|
|
},
|
|
{
|
|
"name": "chill",
|
|
"fields": [
|
|
{
|
|
"name": "pool_id",
|
|
"type": 4,
|
|
"typeName": "PoolId"
|
|
}
|
|
],
|
|
"index": 13,
|
|
"docs": [
|
|
"Chill on behalf of the pool.",
|
|
"",
|
|
"The dispatch origin of this call must be signed by the pool nominator or the pool",
|
|
"root role, same as [`Pallet::nominate`].",
|
|
"",
|
|
"This directly forward the call to the staking pallet, on behalf of the pool bonded",
|
|
"account."
|
|
]
|
|
},
|
|
{
|
|
"name": "bond_extra_other",
|
|
"fields": [
|
|
{
|
|
"name": "member",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "extra",
|
|
"type": 297,
|
|
"typeName": "BondExtra<BalanceOf<T>>"
|
|
}
|
|
],
|
|
"index": 14,
|
|
"docs": [
|
|
"`origin` bonds funds from `extra` for some pool member `member` into their respective",
|
|
"pools.",
|
|
"",
|
|
"`origin` can bond extra funds from free balance or pending rewards when `origin ==",
|
|
"other`.",
|
|
"",
|
|
"In the case of `origin != other`, `origin` can only bond extra pending rewards of",
|
|
"`other` members assuming set_claim_permission for the given member is",
|
|
"`PermissionlessAll` or `PermissionlessCompound`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_claim_permission",
|
|
"fields": [
|
|
{
|
|
"name": "permission",
|
|
"type": 302,
|
|
"typeName": "ClaimPermission"
|
|
}
|
|
],
|
|
"index": 15,
|
|
"docs": [
|
|
"Allows a pool member to set a claim permission to allow or disallow permissionless",
|
|
"bonding and withdrawing.",
|
|
"",
|
|
"By default, this is `Permissioned`, which implies only the pool member themselves can",
|
|
"claim their pending rewards. If a pool member wishes so, they can set this to",
|
|
"`PermissionlessAll` to allow any account to claim their rewards and bond extra to the",
|
|
"pool.",
|
|
"",
|
|
"# Arguments",
|
|
"",
|
|
"* `origin` - Member of a pool.",
|
|
"* `actor` - Account to claim reward. // improve this"
|
|
]
|
|
},
|
|
{
|
|
"name": "claim_payout_other",
|
|
"fields": [
|
|
{
|
|
"name": "other",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
}
|
|
],
|
|
"index": 16,
|
|
"docs": [
|
|
"`origin` can claim payouts on some pool member `other`'s behalf.",
|
|
"",
|
|
"Pool member `other` must have a `PermissionlessAll` or `PermissionlessWithdraw` in order",
|
|
"for this call to be successful."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 297,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"BondExtra"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "FreeBalance",
|
|
"fields": [
|
|
{
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
],
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Rewards",
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 298,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"PoolState"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Open",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Blocked",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Destroying",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 299,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 57,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 300,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 4
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 4,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 301,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"ConfigOp"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 52
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Noop",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Set",
|
|
"fields": [
|
|
{
|
|
"type": 52,
|
|
"typeName": "T"
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Remove",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 302,
|
|
"type": {
|
|
"path": [
|
|
"pallet_nomination_pools",
|
|
"ClaimPermission"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Permissioned",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "PermissionlessCompound",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "PermissionlessWithdraw",
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "PermissionlessAll",
|
|
"index": 3
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 303,
|
|
"type": {
|
|
"path": [
|
|
"pallet_referenda",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "submit",
|
|
"fields": [
|
|
{
|
|
"name": "proposal_origin",
|
|
"type": 271,
|
|
"typeName": "Box<PalletsOriginOf<T>>"
|
|
},
|
|
{
|
|
"name": "proposal",
|
|
"type": 133,
|
|
"typeName": "BoundedCallOf<T, I>"
|
|
},
|
|
{
|
|
"name": "enactment_moment",
|
|
"type": 277,
|
|
"typeName": "DispatchTime<T::BlockNumber>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Propose a referendum on a privileged action.",
|
|
"",
|
|
"- `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds",
|
|
" available.",
|
|
"- `proposal_origin`: The origin from which the proposal should be executed.",
|
|
"- `proposal`: The proposal.",
|
|
"- `enactment_moment`: The moment that the proposal should be enacted.",
|
|
"",
|
|
"Emits `Submitted`."
|
|
]
|
|
},
|
|
{
|
|
"name": "place_decision_deposit",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Post the Decision Deposit for a referendum.",
|
|
"",
|
|
"- `origin`: must be `Signed` and the account must have funds available for the",
|
|
" referendum's track's Decision Deposit.",
|
|
"- `index`: The index of the submitted referendum whose Decision Deposit is yet to be",
|
|
" posted.",
|
|
"",
|
|
"Emits `DecisionDepositPlaced`."
|
|
]
|
|
},
|
|
{
|
|
"name": "refund_decision_deposit",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Refund the Decision Deposit for a closed referendum back to the depositor.",
|
|
"",
|
|
"- `origin`: must be `Signed` or `Root`.",
|
|
"- `index`: The index of a closed referendum whose Decision Deposit has not yet been",
|
|
" refunded.",
|
|
"",
|
|
"Emits `DecisionDepositRefunded`."
|
|
]
|
|
},
|
|
{
|
|
"name": "cancel",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Cancel an ongoing referendum.",
|
|
"",
|
|
"- `origin`: must be the `CancelOrigin`.",
|
|
"- `index`: The index of the referendum to be cancelled.",
|
|
"",
|
|
"Emits `Cancelled`."
|
|
]
|
|
},
|
|
{
|
|
"name": "kill",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Cancel an ongoing referendum and slash the deposits.",
|
|
"",
|
|
"- `origin`: must be the `KillOrigin`.",
|
|
"- `index`: The index of the referendum to be cancelled.",
|
|
"",
|
|
"Emits `Killed` and `DepositSlashed`."
|
|
]
|
|
},
|
|
{
|
|
"name": "nudge_referendum",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Advance a referendum onto its next logical state. Only used internally.",
|
|
"",
|
|
"- `origin`: must be `Root`.",
|
|
"- `index`: the referendum to be advanced."
|
|
]
|
|
},
|
|
{
|
|
"name": "one_fewer_deciding",
|
|
"fields": [
|
|
{
|
|
"name": "track",
|
|
"type": 20,
|
|
"typeName": "TrackIdOf<T, I>"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Advance a track onto its next logical state. Only used internally.",
|
|
"",
|
|
"- `origin`: must be `Root`.",
|
|
"- `track`: the track to be advanced.",
|
|
"",
|
|
"Action item for when there is now one fewer referendum in the deciding phase and the",
|
|
"`DecidingCount` is not yet updated. This means that we should either:",
|
|
"- begin deciding another referendum (and leave `DecidingCount` alone); or",
|
|
"- decrement `DecidingCount`."
|
|
]
|
|
},
|
|
{
|
|
"name": "refund_submission_deposit",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Refund the Submission Deposit for a closed referendum back to the depositor.",
|
|
"",
|
|
"- `origin`: must be `Signed` or `Root`.",
|
|
"- `index`: The index of a closed referendum whose Submission Deposit has not yet been",
|
|
" refunded.",
|
|
"",
|
|
"Emits `SubmissionDepositRefunded`."
|
|
]
|
|
},
|
|
{
|
|
"name": "set_metadata",
|
|
"fields": [
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "ReferendumIndex"
|
|
},
|
|
{
|
|
"name": "maybe_hash",
|
|
"type": 139,
|
|
"typeName": "Option<PreimageHash>"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Set or clear metadata of a referendum.",
|
|
"",
|
|
"Parameters:",
|
|
"- `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a",
|
|
" metadata of a finished referendum.",
|
|
"- `index`: The index of a referendum to set or clear metadata for.",
|
|
"- `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 304,
|
|
"type": {
|
|
"path": [
|
|
"pallet_ranked_collective",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "add_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Introduce a new member.",
|
|
"",
|
|
"- `origin`: Must be the `AdminOrigin`.",
|
|
"- `who`: Account of non-member which will become a member.",
|
|
"- `rank`: The rank to give the new member.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "promote_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Increment the rank of an existing member by one.",
|
|
"",
|
|
"- `origin`: Must be the `AdminOrigin`.",
|
|
"- `who`: Account of existing member.",
|
|
"",
|
|
"Weight: `O(1)`"
|
|
]
|
|
},
|
|
{
|
|
"name": "demote_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Decrement the rank of an existing member by one. If the member is already at rank zero,",
|
|
"then they are removed entirely.",
|
|
"",
|
|
"- `origin`: Must be the `AdminOrigin`.",
|
|
"- `who`: Account of existing member of rank greater than zero.",
|
|
"",
|
|
"Weight: `O(1)`, less if the member's index is highest in its rank."
|
|
]
|
|
},
|
|
{
|
|
"name": "remove_member",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 51,
|
|
"typeName": "AccountIdLookupOf<T>"
|
|
},
|
|
{
|
|
"name": "min_rank",
|
|
"type": 20,
|
|
"typeName": "Rank"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"Remove the member entirely.",
|
|
"",
|
|
"- `origin`: Must be the `AdminOrigin`.",
|
|
"- `who`: Account of existing member of rank greater than zero.",
|
|
"- `min_rank`: The rank of the member or greater.",
|
|
"",
|
|
"Weight: `O(min_rank)`."
|
|
]
|
|
},
|
|
{
|
|
"name": "vote",
|
|
"fields": [
|
|
{
|
|
"name": "poll",
|
|
"type": 4,
|
|
"typeName": "PollIndexOf<T, I>"
|
|
},
|
|
{
|
|
"name": "aye",
|
|
"type": 54,
|
|
"typeName": "bool"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Add an aye or nay vote for the sender to the given proposal.",
|
|
"",
|
|
"- `origin`: Must be `Signed` by a member account.",
|
|
"- `poll`: Index of a poll which is ongoing.",
|
|
"- `aye`: `true` if the vote is to approve the proposal, `false` otherwise.",
|
|
"",
|
|
"Transaction fees are be waived if the member is voting on any particular proposal",
|
|
"for the first time and the call is successful. Subsequent vote changes will charge a",
|
|
"fee.",
|
|
"",
|
|
"Weight: `O(1)`, less if there was no previous vote on the poll by the member."
|
|
]
|
|
},
|
|
{
|
|
"name": "cleanup_poll",
|
|
"fields": [
|
|
{
|
|
"name": "poll_index",
|
|
"type": 4,
|
|
"typeName": "PollIndexOf<T, I>"
|
|
},
|
|
{
|
|
"name": "max",
|
|
"type": 4,
|
|
"typeName": "u32"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Remove votes from the given poll. It must have ended.",
|
|
"",
|
|
"- `origin`: Must be `Signed` by any account.",
|
|
"- `poll_index`: Index of a poll which is completed and for which votes continue to",
|
|
" exist.",
|
|
"- `max`: Maximum number of vote items from remove in this call.",
|
|
"",
|
|
"Transaction fees are waived if the operation is successful.",
|
|
"",
|
|
"Weight `O(max)` (less if there are fewer items to remove than `max`)."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 305,
|
|
"type": {
|
|
"path": [
|
|
"pallet_fast_unstake",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "register_fast_unstake",
|
|
"index": 0,
|
|
"docs": [
|
|
"Register oneself for fast-unstake.",
|
|
"",
|
|
"The dispatch origin of this call must be signed by the controller account, similar to",
|
|
"`staking::unbond`.",
|
|
"",
|
|
"The stash associated with the origin must have no ongoing unlocking chunks. If",
|
|
"successful, this will fully unbond and chill the stash. Then, it will enqueue the stash",
|
|
"to be checked in further blocks.",
|
|
"",
|
|
"If by the time this is called, the stash is actually eligible for fast-unstake, then",
|
|
"they are guaranteed to remain eligible, because the call will chill them as well.",
|
|
"",
|
|
"If the check works, the entire staking data is removed, i.e. the stash is fully",
|
|
"unstaked.",
|
|
"",
|
|
"If the check fails, the stash remains chilled and waiting for being unbonded as in with",
|
|
"the normal staking system, but they lose part of their unbonding chunks due to consuming",
|
|
"the chain's resources."
|
|
]
|
|
},
|
|
{
|
|
"name": "deregister",
|
|
"index": 1,
|
|
"docs": [
|
|
"Deregister oneself from the fast-unstake.",
|
|
"",
|
|
"This is useful if one is registered, they are still waiting, and they change their mind.",
|
|
"",
|
|
"Note that the associated stash is still fully unbonded and chilled as a consequence of",
|
|
"calling `register_fast_unstake`. This should probably be followed by a call to",
|
|
"`Staking::rebond`."
|
|
]
|
|
},
|
|
{
|
|
"name": "control",
|
|
"fields": [
|
|
{
|
|
"name": "eras_to_check",
|
|
"type": 4,
|
|
"typeName": "EraIndex"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Control the operation of this pallet.",
|
|
"",
|
|
"Dispatch origin must be signed by the [`Config::ControlOrigin`]."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 306,
|
|
"type": {
|
|
"path": [
|
|
"pallet_message_queue",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "reap_page",
|
|
"fields": [
|
|
{
|
|
"name": "message_origin",
|
|
"type": 4,
|
|
"typeName": "MessageOriginOf<T>"
|
|
},
|
|
{
|
|
"name": "page_index",
|
|
"type": 4,
|
|
"typeName": "PageIndex"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"Remove a page which has no more messages remaining to be processed or is stale."
|
|
]
|
|
},
|
|
{
|
|
"name": "execute_overweight",
|
|
"fields": [
|
|
{
|
|
"name": "message_origin",
|
|
"type": 4,
|
|
"typeName": "MessageOriginOf<T>"
|
|
},
|
|
{
|
|
"name": "page",
|
|
"type": 4,
|
|
"typeName": "PageIndex"
|
|
},
|
|
{
|
|
"name": "index",
|
|
"type": 4,
|
|
"typeName": "T::Size"
|
|
},
|
|
{
|
|
"name": "weight_limit",
|
|
"type": 144,
|
|
"typeName": "Weight"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"Execute an overweight message.",
|
|
"",
|
|
"Temporary processing errors will be propagated whereas permanent errors are treated",
|
|
"as success condition.",
|
|
"",
|
|
"- `origin`: Must be `Signed`.",
|
|
"- `message_origin`: The origin from which the message to be executed arrived.",
|
|
"- `page`: The page in the queue in which the message to be executed is sitting.",
|
|
"- `index`: The index into the queue of the message to be executed.",
|
|
"- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution",
|
|
" of the message.",
|
|
"",
|
|
"Benchmark complexity considerations: O(index + weight_limit)."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 307,
|
|
"type": {
|
|
"path": [
|
|
"frame_benchmarking_pallet_pov",
|
|
"pallet",
|
|
"Call"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "emit_event",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "noop",
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"Contains one variant per dispatchable that can be called by an extrinsic."
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 308,
|
|
"type": {
|
|
"def": {
|
|
"tuple": [
|
|
309,
|
|
310,
|
|
311,
|
|
312,
|
|
313,
|
|
315,
|
|
316,
|
|
317
|
|
]
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 309,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_non_zero_sender",
|
|
"CheckNonZeroSender"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 310,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_spec_version",
|
|
"CheckSpecVersion"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 311,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_tx_version",
|
|
"CheckTxVersion"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 312,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_genesis",
|
|
"CheckGenesis"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 313,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_mortality",
|
|
"CheckMortality"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 314,
|
|
"typeName": "Era"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 314,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"generic",
|
|
"era",
|
|
"Era"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Immortal",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Mortal1",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "Mortal2",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 2
|
|
},
|
|
{
|
|
"name": "Mortal3",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 3
|
|
},
|
|
{
|
|
"name": "Mortal4",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 4
|
|
},
|
|
{
|
|
"name": "Mortal5",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 5
|
|
},
|
|
{
|
|
"name": "Mortal6",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 6
|
|
},
|
|
{
|
|
"name": "Mortal7",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 7
|
|
},
|
|
{
|
|
"name": "Mortal8",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 8
|
|
},
|
|
{
|
|
"name": "Mortal9",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 9
|
|
},
|
|
{
|
|
"name": "Mortal10",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 10
|
|
},
|
|
{
|
|
"name": "Mortal11",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 11
|
|
},
|
|
{
|
|
"name": "Mortal12",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 12
|
|
},
|
|
{
|
|
"name": "Mortal13",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 13
|
|
},
|
|
{
|
|
"name": "Mortal14",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 14
|
|
},
|
|
{
|
|
"name": "Mortal15",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 15
|
|
},
|
|
{
|
|
"name": "Mortal16",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 16
|
|
},
|
|
{
|
|
"name": "Mortal17",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 17
|
|
},
|
|
{
|
|
"name": "Mortal18",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 18
|
|
},
|
|
{
|
|
"name": "Mortal19",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 19
|
|
},
|
|
{
|
|
"name": "Mortal20",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 20
|
|
},
|
|
{
|
|
"name": "Mortal21",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 21
|
|
},
|
|
{
|
|
"name": "Mortal22",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 22
|
|
},
|
|
{
|
|
"name": "Mortal23",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 23
|
|
},
|
|
{
|
|
"name": "Mortal24",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 24
|
|
},
|
|
{
|
|
"name": "Mortal25",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 25
|
|
},
|
|
{
|
|
"name": "Mortal26",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 26
|
|
},
|
|
{
|
|
"name": "Mortal27",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 27
|
|
},
|
|
{
|
|
"name": "Mortal28",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 28
|
|
},
|
|
{
|
|
"name": "Mortal29",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 29
|
|
},
|
|
{
|
|
"name": "Mortal30",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 30
|
|
},
|
|
{
|
|
"name": "Mortal31",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 31
|
|
},
|
|
{
|
|
"name": "Mortal32",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 32
|
|
},
|
|
{
|
|
"name": "Mortal33",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 33
|
|
},
|
|
{
|
|
"name": "Mortal34",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 34
|
|
},
|
|
{
|
|
"name": "Mortal35",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 35
|
|
},
|
|
{
|
|
"name": "Mortal36",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 36
|
|
},
|
|
{
|
|
"name": "Mortal37",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 37
|
|
},
|
|
{
|
|
"name": "Mortal38",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 38
|
|
},
|
|
{
|
|
"name": "Mortal39",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 39
|
|
},
|
|
{
|
|
"name": "Mortal40",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 40
|
|
},
|
|
{
|
|
"name": "Mortal41",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 41
|
|
},
|
|
{
|
|
"name": "Mortal42",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 42
|
|
},
|
|
{
|
|
"name": "Mortal43",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 43
|
|
},
|
|
{
|
|
"name": "Mortal44",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 44
|
|
},
|
|
{
|
|
"name": "Mortal45",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 45
|
|
},
|
|
{
|
|
"name": "Mortal46",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 46
|
|
},
|
|
{
|
|
"name": "Mortal47",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 47
|
|
},
|
|
{
|
|
"name": "Mortal48",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 48
|
|
},
|
|
{
|
|
"name": "Mortal49",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 49
|
|
},
|
|
{
|
|
"name": "Mortal50",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 50
|
|
},
|
|
{
|
|
"name": "Mortal51",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 51
|
|
},
|
|
{
|
|
"name": "Mortal52",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 52
|
|
},
|
|
{
|
|
"name": "Mortal53",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 53
|
|
},
|
|
{
|
|
"name": "Mortal54",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 54
|
|
},
|
|
{
|
|
"name": "Mortal55",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 55
|
|
},
|
|
{
|
|
"name": "Mortal56",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 56
|
|
},
|
|
{
|
|
"name": "Mortal57",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 57
|
|
},
|
|
{
|
|
"name": "Mortal58",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 58
|
|
},
|
|
{
|
|
"name": "Mortal59",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 59
|
|
},
|
|
{
|
|
"name": "Mortal60",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 60
|
|
},
|
|
{
|
|
"name": "Mortal61",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 61
|
|
},
|
|
{
|
|
"name": "Mortal62",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 62
|
|
},
|
|
{
|
|
"name": "Mortal63",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 63
|
|
},
|
|
{
|
|
"name": "Mortal64",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 64
|
|
},
|
|
{
|
|
"name": "Mortal65",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 65
|
|
},
|
|
{
|
|
"name": "Mortal66",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 66
|
|
},
|
|
{
|
|
"name": "Mortal67",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 67
|
|
},
|
|
{
|
|
"name": "Mortal68",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 68
|
|
},
|
|
{
|
|
"name": "Mortal69",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 69
|
|
},
|
|
{
|
|
"name": "Mortal70",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 70
|
|
},
|
|
{
|
|
"name": "Mortal71",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 71
|
|
},
|
|
{
|
|
"name": "Mortal72",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 72
|
|
},
|
|
{
|
|
"name": "Mortal73",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 73
|
|
},
|
|
{
|
|
"name": "Mortal74",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 74
|
|
},
|
|
{
|
|
"name": "Mortal75",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 75
|
|
},
|
|
{
|
|
"name": "Mortal76",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 76
|
|
},
|
|
{
|
|
"name": "Mortal77",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 77
|
|
},
|
|
{
|
|
"name": "Mortal78",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 78
|
|
},
|
|
{
|
|
"name": "Mortal79",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 79
|
|
},
|
|
{
|
|
"name": "Mortal80",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 80
|
|
},
|
|
{
|
|
"name": "Mortal81",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 81
|
|
},
|
|
{
|
|
"name": "Mortal82",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 82
|
|
},
|
|
{
|
|
"name": "Mortal83",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 83
|
|
},
|
|
{
|
|
"name": "Mortal84",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 84
|
|
},
|
|
{
|
|
"name": "Mortal85",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 85
|
|
},
|
|
{
|
|
"name": "Mortal86",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 86
|
|
},
|
|
{
|
|
"name": "Mortal87",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 87
|
|
},
|
|
{
|
|
"name": "Mortal88",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 88
|
|
},
|
|
{
|
|
"name": "Mortal89",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 89
|
|
},
|
|
{
|
|
"name": "Mortal90",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 90
|
|
},
|
|
{
|
|
"name": "Mortal91",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 91
|
|
},
|
|
{
|
|
"name": "Mortal92",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 92
|
|
},
|
|
{
|
|
"name": "Mortal93",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 93
|
|
},
|
|
{
|
|
"name": "Mortal94",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 94
|
|
},
|
|
{
|
|
"name": "Mortal95",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 95
|
|
},
|
|
{
|
|
"name": "Mortal96",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 96
|
|
},
|
|
{
|
|
"name": "Mortal97",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 97
|
|
},
|
|
{
|
|
"name": "Mortal98",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 98
|
|
},
|
|
{
|
|
"name": "Mortal99",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 99
|
|
},
|
|
{
|
|
"name": "Mortal100",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 100
|
|
},
|
|
{
|
|
"name": "Mortal101",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 101
|
|
},
|
|
{
|
|
"name": "Mortal102",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 102
|
|
},
|
|
{
|
|
"name": "Mortal103",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 103
|
|
},
|
|
{
|
|
"name": "Mortal104",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 104
|
|
},
|
|
{
|
|
"name": "Mortal105",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 105
|
|
},
|
|
{
|
|
"name": "Mortal106",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 106
|
|
},
|
|
{
|
|
"name": "Mortal107",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 107
|
|
},
|
|
{
|
|
"name": "Mortal108",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 108
|
|
},
|
|
{
|
|
"name": "Mortal109",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 109
|
|
},
|
|
{
|
|
"name": "Mortal110",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 110
|
|
},
|
|
{
|
|
"name": "Mortal111",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 111
|
|
},
|
|
{
|
|
"name": "Mortal112",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 112
|
|
},
|
|
{
|
|
"name": "Mortal113",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 113
|
|
},
|
|
{
|
|
"name": "Mortal114",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 114
|
|
},
|
|
{
|
|
"name": "Mortal115",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 115
|
|
},
|
|
{
|
|
"name": "Mortal116",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 116
|
|
},
|
|
{
|
|
"name": "Mortal117",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 117
|
|
},
|
|
{
|
|
"name": "Mortal118",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 118
|
|
},
|
|
{
|
|
"name": "Mortal119",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 119
|
|
},
|
|
{
|
|
"name": "Mortal120",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 120
|
|
},
|
|
{
|
|
"name": "Mortal121",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 121
|
|
},
|
|
{
|
|
"name": "Mortal122",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 122
|
|
},
|
|
{
|
|
"name": "Mortal123",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 123
|
|
},
|
|
{
|
|
"name": "Mortal124",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 124
|
|
},
|
|
{
|
|
"name": "Mortal125",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 125
|
|
},
|
|
{
|
|
"name": "Mortal126",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 126
|
|
},
|
|
{
|
|
"name": "Mortal127",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 127
|
|
},
|
|
{
|
|
"name": "Mortal128",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 128
|
|
},
|
|
{
|
|
"name": "Mortal129",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 129
|
|
},
|
|
{
|
|
"name": "Mortal130",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 130
|
|
},
|
|
{
|
|
"name": "Mortal131",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 131
|
|
},
|
|
{
|
|
"name": "Mortal132",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 132
|
|
},
|
|
{
|
|
"name": "Mortal133",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 133
|
|
},
|
|
{
|
|
"name": "Mortal134",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 134
|
|
},
|
|
{
|
|
"name": "Mortal135",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 135
|
|
},
|
|
{
|
|
"name": "Mortal136",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 136
|
|
},
|
|
{
|
|
"name": "Mortal137",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 137
|
|
},
|
|
{
|
|
"name": "Mortal138",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 138
|
|
},
|
|
{
|
|
"name": "Mortal139",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 139
|
|
},
|
|
{
|
|
"name": "Mortal140",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 140
|
|
},
|
|
{
|
|
"name": "Mortal141",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 141
|
|
},
|
|
{
|
|
"name": "Mortal142",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 142
|
|
},
|
|
{
|
|
"name": "Mortal143",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 143
|
|
},
|
|
{
|
|
"name": "Mortal144",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 144
|
|
},
|
|
{
|
|
"name": "Mortal145",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 145
|
|
},
|
|
{
|
|
"name": "Mortal146",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 146
|
|
},
|
|
{
|
|
"name": "Mortal147",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 147
|
|
},
|
|
{
|
|
"name": "Mortal148",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 148
|
|
},
|
|
{
|
|
"name": "Mortal149",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 149
|
|
},
|
|
{
|
|
"name": "Mortal150",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 150
|
|
},
|
|
{
|
|
"name": "Mortal151",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 151
|
|
},
|
|
{
|
|
"name": "Mortal152",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 152
|
|
},
|
|
{
|
|
"name": "Mortal153",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 153
|
|
},
|
|
{
|
|
"name": "Mortal154",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 154
|
|
},
|
|
{
|
|
"name": "Mortal155",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 155
|
|
},
|
|
{
|
|
"name": "Mortal156",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 156
|
|
},
|
|
{
|
|
"name": "Mortal157",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 157
|
|
},
|
|
{
|
|
"name": "Mortal158",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 158
|
|
},
|
|
{
|
|
"name": "Mortal159",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 159
|
|
},
|
|
{
|
|
"name": "Mortal160",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 160
|
|
},
|
|
{
|
|
"name": "Mortal161",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 161
|
|
},
|
|
{
|
|
"name": "Mortal162",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 162
|
|
},
|
|
{
|
|
"name": "Mortal163",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 163
|
|
},
|
|
{
|
|
"name": "Mortal164",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 164
|
|
},
|
|
{
|
|
"name": "Mortal165",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 165
|
|
},
|
|
{
|
|
"name": "Mortal166",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 166
|
|
},
|
|
{
|
|
"name": "Mortal167",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 167
|
|
},
|
|
{
|
|
"name": "Mortal168",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 168
|
|
},
|
|
{
|
|
"name": "Mortal169",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 169
|
|
},
|
|
{
|
|
"name": "Mortal170",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 170
|
|
},
|
|
{
|
|
"name": "Mortal171",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 171
|
|
},
|
|
{
|
|
"name": "Mortal172",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 172
|
|
},
|
|
{
|
|
"name": "Mortal173",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 173
|
|
},
|
|
{
|
|
"name": "Mortal174",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 174
|
|
},
|
|
{
|
|
"name": "Mortal175",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 175
|
|
},
|
|
{
|
|
"name": "Mortal176",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 176
|
|
},
|
|
{
|
|
"name": "Mortal177",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 177
|
|
},
|
|
{
|
|
"name": "Mortal178",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 178
|
|
},
|
|
{
|
|
"name": "Mortal179",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 179
|
|
},
|
|
{
|
|
"name": "Mortal180",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 180
|
|
},
|
|
{
|
|
"name": "Mortal181",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 181
|
|
},
|
|
{
|
|
"name": "Mortal182",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 182
|
|
},
|
|
{
|
|
"name": "Mortal183",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 183
|
|
},
|
|
{
|
|
"name": "Mortal184",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 184
|
|
},
|
|
{
|
|
"name": "Mortal185",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 185
|
|
},
|
|
{
|
|
"name": "Mortal186",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 186
|
|
},
|
|
{
|
|
"name": "Mortal187",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 187
|
|
},
|
|
{
|
|
"name": "Mortal188",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 188
|
|
},
|
|
{
|
|
"name": "Mortal189",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 189
|
|
},
|
|
{
|
|
"name": "Mortal190",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 190
|
|
},
|
|
{
|
|
"name": "Mortal191",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 191
|
|
},
|
|
{
|
|
"name": "Mortal192",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 192
|
|
},
|
|
{
|
|
"name": "Mortal193",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 193
|
|
},
|
|
{
|
|
"name": "Mortal194",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 194
|
|
},
|
|
{
|
|
"name": "Mortal195",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 195
|
|
},
|
|
{
|
|
"name": "Mortal196",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 196
|
|
},
|
|
{
|
|
"name": "Mortal197",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 197
|
|
},
|
|
{
|
|
"name": "Mortal198",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 198
|
|
},
|
|
{
|
|
"name": "Mortal199",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 199
|
|
},
|
|
{
|
|
"name": "Mortal200",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 200
|
|
},
|
|
{
|
|
"name": "Mortal201",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 201
|
|
},
|
|
{
|
|
"name": "Mortal202",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 202
|
|
},
|
|
{
|
|
"name": "Mortal203",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 203
|
|
},
|
|
{
|
|
"name": "Mortal204",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 204
|
|
},
|
|
{
|
|
"name": "Mortal205",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 205
|
|
},
|
|
{
|
|
"name": "Mortal206",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 206
|
|
},
|
|
{
|
|
"name": "Mortal207",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 207
|
|
},
|
|
{
|
|
"name": "Mortal208",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 208
|
|
},
|
|
{
|
|
"name": "Mortal209",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 209
|
|
},
|
|
{
|
|
"name": "Mortal210",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 210
|
|
},
|
|
{
|
|
"name": "Mortal211",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 211
|
|
},
|
|
{
|
|
"name": "Mortal212",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 212
|
|
},
|
|
{
|
|
"name": "Mortal213",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 213
|
|
},
|
|
{
|
|
"name": "Mortal214",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 214
|
|
},
|
|
{
|
|
"name": "Mortal215",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 215
|
|
},
|
|
{
|
|
"name": "Mortal216",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 216
|
|
},
|
|
{
|
|
"name": "Mortal217",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 217
|
|
},
|
|
{
|
|
"name": "Mortal218",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 218
|
|
},
|
|
{
|
|
"name": "Mortal219",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 219
|
|
},
|
|
{
|
|
"name": "Mortal220",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 220
|
|
},
|
|
{
|
|
"name": "Mortal221",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 221
|
|
},
|
|
{
|
|
"name": "Mortal222",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 222
|
|
},
|
|
{
|
|
"name": "Mortal223",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 223
|
|
},
|
|
{
|
|
"name": "Mortal224",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 224
|
|
},
|
|
{
|
|
"name": "Mortal225",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 225
|
|
},
|
|
{
|
|
"name": "Mortal226",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 226
|
|
},
|
|
{
|
|
"name": "Mortal227",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 227
|
|
},
|
|
{
|
|
"name": "Mortal228",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 228
|
|
},
|
|
{
|
|
"name": "Mortal229",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 229
|
|
},
|
|
{
|
|
"name": "Mortal230",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 230
|
|
},
|
|
{
|
|
"name": "Mortal231",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 231
|
|
},
|
|
{
|
|
"name": "Mortal232",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 232
|
|
},
|
|
{
|
|
"name": "Mortal233",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 233
|
|
},
|
|
{
|
|
"name": "Mortal234",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 234
|
|
},
|
|
{
|
|
"name": "Mortal235",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 235
|
|
},
|
|
{
|
|
"name": "Mortal236",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 236
|
|
},
|
|
{
|
|
"name": "Mortal237",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 237
|
|
},
|
|
{
|
|
"name": "Mortal238",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 238
|
|
},
|
|
{
|
|
"name": "Mortal239",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 239
|
|
},
|
|
{
|
|
"name": "Mortal240",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 240
|
|
},
|
|
{
|
|
"name": "Mortal241",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 241
|
|
},
|
|
{
|
|
"name": "Mortal242",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 242
|
|
},
|
|
{
|
|
"name": "Mortal243",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 243
|
|
},
|
|
{
|
|
"name": "Mortal244",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 244
|
|
},
|
|
{
|
|
"name": "Mortal245",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 245
|
|
},
|
|
{
|
|
"name": "Mortal246",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 246
|
|
},
|
|
{
|
|
"name": "Mortal247",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 247
|
|
},
|
|
{
|
|
"name": "Mortal248",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 248
|
|
},
|
|
{
|
|
"name": "Mortal249",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 249
|
|
},
|
|
{
|
|
"name": "Mortal250",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 250
|
|
},
|
|
{
|
|
"name": "Mortal251",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 251
|
|
},
|
|
{
|
|
"name": "Mortal252",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 252
|
|
},
|
|
{
|
|
"name": "Mortal253",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 253
|
|
},
|
|
{
|
|
"name": "Mortal254",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 254
|
|
},
|
|
{
|
|
"name": "Mortal255",
|
|
"fields": [
|
|
{
|
|
"type": 3
|
|
}
|
|
],
|
|
"index": 255
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 315,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_nonce",
|
|
"CheckNonce"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 36,
|
|
"typeName": "T::Index"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 316,
|
|
"type": {
|
|
"path": [
|
|
"frame_system",
|
|
"extensions",
|
|
"check_weight",
|
|
"CheckWeight"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 317,
|
|
"type": {
|
|
"path": [
|
|
"pallet_asset_tx_payment",
|
|
"ChargeAssetTxPayment"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "tip",
|
|
"type": 56,
|
|
"typeName": "BalanceOf<T>"
|
|
},
|
|
{
|
|
"name": "asset_id",
|
|
"type": 114,
|
|
"typeName": "Option<ChargeAssetIdOf<T>>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 318,
|
|
"type": {
|
|
"path": [
|
|
"sp_runtime",
|
|
"generic",
|
|
"unchecked_extrinsic",
|
|
"UncheckedExtrinsic"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Address",
|
|
"type": 51
|
|
},
|
|
{
|
|
"name": "Call",
|
|
"type": 26
|
|
},
|
|
{
|
|
"name": "Signature",
|
|
"type": 256
|
|
},
|
|
{
|
|
"name": "Extra",
|
|
"type": 308
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 28
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 319,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"pallet",
|
|
"Event"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Endowed",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "free_balance",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 0,
|
|
"docs": [
|
|
"An account was created with some free balance."
|
|
]
|
|
},
|
|
{
|
|
"name": "DustLost",
|
|
"fields": [
|
|
{
|
|
"name": "account",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 1,
|
|
"docs": [
|
|
"An account was removed whose balance was non-zero but below ExistentialDeposit,",
|
|
"resulting in an outright loss."
|
|
]
|
|
},
|
|
{
|
|
"name": "Transfer",
|
|
"fields": [
|
|
{
|
|
"name": "from",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 2,
|
|
"docs": [
|
|
"Transfer succeeded."
|
|
]
|
|
},
|
|
{
|
|
"name": "BalanceSet",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "free",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
},
|
|
{
|
|
"name": "reserved",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 3,
|
|
"docs": [
|
|
"A balance was set by root."
|
|
]
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 4,
|
|
"docs": [
|
|
"Some balance was reserved (moved from free to reserved)."
|
|
]
|
|
},
|
|
{
|
|
"name": "Unreserved",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 5,
|
|
"docs": [
|
|
"Some balance was unreserved (moved from reserved to free)."
|
|
]
|
|
},
|
|
{
|
|
"name": "ReserveRepatriated",
|
|
"fields": [
|
|
{
|
|
"name": "from",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "to",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
},
|
|
{
|
|
"name": "destination_status",
|
|
"type": 320,
|
|
"typeName": "Status"
|
|
}
|
|
],
|
|
"index": 6,
|
|
"docs": [
|
|
"Some balance was moved from the reserve of the first account to the second account.",
|
|
"Final argument indicates the destination balance type."
|
|
]
|
|
},
|
|
{
|
|
"name": "Deposit",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 7,
|
|
"docs": [
|
|
"Some amount was deposited (e.g. for transaction fees)."
|
|
]
|
|
},
|
|
{
|
|
"name": "Withdraw",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 8,
|
|
"docs": [
|
|
"Some amount was withdrawn from the account (e.g. for transaction fees)."
|
|
]
|
|
},
|
|
{
|
|
"name": "Slashed",
|
|
"fields": [
|
|
{
|
|
"name": "who",
|
|
"type": 52,
|
|
"typeName": "T::AccountId"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "T::Balance"
|
|
}
|
|
],
|
|
"index": 9,
|
|
"docs": [
|
|
"Some amount was removed from the account (e.g. for misbehavior)."
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"\n\t\t\tThe [event](https://docs.substrate.io/main-docs/build/events-errors/) emitted\n\t\t\tby this pallet.\n\t\t\t"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"id": 320,
|
|
"type": {
|
|
"path": [
|
|
"frame_support",
|
|
"traits",
|
|
"tokens",
|
|
"misc",
|
|
"BalanceStatus"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Free",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Reserved",
|
|
"index": 1
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 321,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"weak_bounded_vec",
|
|
"WeakBoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 322
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 324,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 322,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"BalanceLock"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 176,
|
|
"typeName": "LockIdentifier"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "reasons",
|
|
"type": 323,
|
|
"typeName": "Reasons"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 323,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"Reasons"
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "Fee",
|
|
"index": 0
|
|
},
|
|
{
|
|
"name": "Misc",
|
|
"index": 1
|
|
},
|
|
{
|
|
"name": "All",
|
|
"index": 2
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 324,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 322
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 325,
|
|
"type": {
|
|
"path": [
|
|
"bounded_collections",
|
|
"bounded_vec",
|
|
"BoundedVec"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": 326
|
|
},
|
|
{
|
|
"name": "S",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"type": 327,
|
|
"typeName": "Vec<T>"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 326,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"ReserveData"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "ReserveIdentifier",
|
|
"type": 176
|
|
},
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "id",
|
|
"type": 176,
|
|
"typeName": "ReserveIdentifier"
|
|
},
|
|
{
|
|
"name": "amount",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 327,
|
|
"type": {
|
|
"def": {
|
|
"sequence": {
|
|
"type": 326
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 328,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"AccountData"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "Balance",
|
|
"type": 57
|
|
}
|
|
],
|
|
"def": {
|
|
"composite": {
|
|
"fields": [
|
|
{
|
|
"name": "free",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "reserved",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "misc_frozen",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
},
|
|
{
|
|
"name": "fee_frozen",
|
|
"type": 57,
|
|
"typeName": "Balance"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 329,
|
|
"type": {
|
|
"path": [
|
|
"kitchensink_runtime",
|
|
"Runtime"
|
|
],
|
|
"def": {
|
|
"composite": {}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 330,
|
|
"type": {
|
|
"def": {
|
|
"tuple": []
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"id": 331,
|
|
"type": {
|
|
"path": [
|
|
"pallet_balances",
|
|
"pallet",
|
|
"Error"
|
|
],
|
|
"params": [
|
|
{
|
|
"name": "T",
|
|
"type": null
|
|
},
|
|
{
|
|
"name": "I",
|
|
"type": null
|
|
}
|
|
],
|
|
"def": {
|
|
"variant": {
|
|
"variants": [
|
|
{
|
|
"name": "VestingBalance",
|
|
"index": 0,
|
|
"docs": [
|
|
"Vesting balance too high to send value"
|
|
]
|
|
},
|
|
{
|
|
"name": "LiquidityRestrictions",
|
|
"index": 1,
|
|
"docs": [
|
|
"Account liquidity restrictions prevent withdrawal"
|
|
]
|
|
},
|
|
{
|
|
"name": "InsufficientBalance",
|
|
"index": 2,
|
|
"docs": [
|
|
"Balance too low to send value."
|
|
]
|
|
},
|
|
{
|
|
"name": "ExistentialDeposit",
|
|
"index": 3,
|
|
"docs": [
|
|
"Value too low to create account due to existential deposit"
|
|
]
|
|
},
|
|
{
|
|
"name": "KeepAlive",
|
|
"index": 4,
|
|
"docs": [
|
|
"Transfer/payment would kill account"
|
|
]
|
|
},
|
|
{
|
|
"name": "ExistingVestingSchedule",
|
|
"index": 5,
|
|
"docs": [
|
|
"A vesting schedule already exists for this account"
|
|
]
|
|
},
|
|
{
|
|
"name": "DeadAccount",
|
|
"index": 6,
|
|
"docs": [
|
|
"Beneficiary account must pre-exist"
|
|
]
|
|
},
|
|
{
|
|
"name": "TooManyReserves",
|
|
"index": 7,
|
|
"docs": [
|
|
"Number of named reserves exceed MaxReserves"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"docs": [
|
|
"\n\t\t\tCustom [dispatch errors](https://docs.substrate.io/main-docs/build/events-errors/)\n\t\t\tof this pallet.\n\t\t\t"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"pallets": [
|
|
{
|
|
"name": "Balances",
|
|
"storage": {
|
|
"prefix": "Balances",
|
|
"entries": [
|
|
{
|
|
"name": "TotalIssuance",
|
|
"modifier": "Default",
|
|
"ty": {
|
|
"Plain": 57
|
|
},
|
|
"default": [
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"docs": [
|
|
" The total units issued in the system."
|
|
]
|
|
},
|
|
{
|
|
"name": "InactiveIssuance",
|
|
"modifier": "Default",
|
|
"ty": {
|
|
"Plain": 57
|
|
},
|
|
"default": [
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"docs": [
|
|
" The total units of outstanding deactivated balance in the system."
|
|
]
|
|
},
|
|
{
|
|
"name": "Account",
|
|
"modifier": "Default",
|
|
"ty": {
|
|
"Map": {
|
|
"hashers": [
|
|
"Blake2_128Concat"
|
|
],
|
|
"key": 52,
|
|
"value": 328
|
|
}
|
|
},
|
|
"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
|
|
],
|
|
"docs": [
|
|
" The Balances pallet example of storing the balance of an account.",
|
|
"",
|
|
" # Example",
|
|
"",
|
|
" ```nocompile",
|
|
" impl pallet_balances::Config for Runtime {",
|
|
" type AccountStore = StorageMapShim<Self::Account<Runtime>, frame_system::Provider<Runtime>, AccountId, Self::AccountData<Balance>>",
|
|
" }",
|
|
" ```",
|
|
"",
|
|
" You can also store the balance of an account in the `System` pallet.",
|
|
"",
|
|
" # Example",
|
|
"",
|
|
" ```nocompile",
|
|
" impl pallet_balances::Config for Runtime {",
|
|
" type AccountStore = System",
|
|
" }",
|
|
" ```",
|
|
"",
|
|
" But this comes with tradeoffs, storing account balances in the system pallet stores",
|
|
" `frame_system` data alongside the account data contrary to storing account balances in the",
|
|
" `Balances` pallet, which uses a `StorageMap` to store balances data only.",
|
|
" NOTE: This is only used in the case that this pallet is used to store balances."
|
|
]
|
|
},
|
|
{
|
|
"name": "Locks",
|
|
"modifier": "Default",
|
|
"ty": {
|
|
"Map": {
|
|
"hashers": [
|
|
"Blake2_128Concat"
|
|
],
|
|
"key": 52,
|
|
"value": 321
|
|
}
|
|
},
|
|
"default": [
|
|
0
|
|
],
|
|
"docs": [
|
|
" 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": {
|
|
"hashers": [
|
|
"Blake2_128Concat"
|
|
],
|
|
"key": 52,
|
|
"value": 325
|
|
}
|
|
},
|
|
"default": [
|
|
0
|
|
],
|
|
"docs": [
|
|
" Named reserves on some account balances."
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"calls": {
|
|
"ty": 55
|
|
},
|
|
"event": {
|
|
"ty": 319
|
|
},
|
|
"constants": [
|
|
{
|
|
"name": "ExistentialDeposit",
|
|
"ty": 57,
|
|
"value": [
|
|
0,
|
|
64,
|
|
122,
|
|
16,
|
|
243,
|
|
90,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"docs": [
|
|
" The minimum amount required to keep an account open."
|
|
]
|
|
},
|
|
{
|
|
"name": "MaxLocks",
|
|
"ty": 4,
|
|
"value": [
|
|
50,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"docs": [
|
|
" The maximum number of locks that should exist on an account.",
|
|
" Not strictly enforced, but used for weight estimation."
|
|
]
|
|
},
|
|
{
|
|
"name": "MaxReserves",
|
|
"ty": 4,
|
|
"value": [
|
|
50,
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"docs": [
|
|
" The maximum number of named reserves that can exist on an account."
|
|
]
|
|
}
|
|
],
|
|
"error": {
|
|
"ty": 331
|
|
},
|
|
"index": 6
|
|
}
|
|
],
|
|
"extrinsic": {
|
|
"ty": 318,
|
|
"version": 4,
|
|
"signed_extensions": [
|
|
{
|
|
"identifier": "CheckNonZeroSender",
|
|
"ty": 309,
|
|
"additional_signed": 330
|
|
},
|
|
{
|
|
"identifier": "CheckSpecVersion",
|
|
"ty": 310,
|
|
"additional_signed": 4
|
|
},
|
|
{
|
|
"identifier": "CheckTxVersion",
|
|
"ty": 311,
|
|
"additional_signed": 4
|
|
},
|
|
{
|
|
"identifier": "CheckGenesis",
|
|
"ty": 312,
|
|
"additional_signed": 1
|
|
},
|
|
{
|
|
"identifier": "CheckMortality",
|
|
"ty": 313,
|
|
"additional_signed": 1
|
|
},
|
|
{
|
|
"identifier": "CheckNonce",
|
|
"ty": 315,
|
|
"additional_signed": 330
|
|
},
|
|
{
|
|
"identifier": "CheckWeight",
|
|
"ty": 316,
|
|
"additional_signed": 330
|
|
},
|
|
{
|
|
"identifier": "ChargeAssetTxPayment",
|
|
"ty": 317,
|
|
"additional_signed": 330
|
|
}
|
|
]
|
|
},
|
|
"ty": 755
|
|
}
|
|
}
|
|
]
|