@zenlink-types/bifrost
Version:
1,452 lines (1,451 loc) • 376 kB
JSON
{
"magicNumber": 1635018093,
"metadata": {
"v13": {
"modules": [
{
"name": "System",
"storage": {
"prefix": "System",
"items": [
{
"name": "Account",
"modifier": "Default",
"type": {
"map": {
"hasher": "Blake2_128Concat",
"key": "AccountId",
"value": "AccountInfo",
"linked": false
}
},
"fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"docs": [
" The full account information for a particular account ID."
]
},
{
"name": "ExtrinsicCount",
"modifier": "Optional",
"type": {
"plain": "u32"
},
"fallback": "0x00",
"docs": [
" Total extrinsics count for the current block."
]
},
{
"name": "BlockWeight",
"modifier": "Default",
"type": {
"plain": "ConsumedWeight"
},
"fallback": "0x000000000000000000000000000000000000000000000000",
"docs": [
" The current weight for the block."
]
},
{
"name": "AllExtrinsicsLen",
"modifier": "Optional",
"type": {
"plain": "u32"
},
"fallback": "0x00",
"docs": [
" Total length (in bytes) for all extrinsics put together, for the current block."
]
},
{
"name": "BlockHash",
"modifier": "Default",
"type": {
"map": {
"hasher": "Twox64Concat",
"key": "BlockNumber",
"value": "Hash",
"linked": false
}
},
"fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
"docs": [
" Map of block numbers to block hashes."
]
},
{
"name": "ExtrinsicData",
"modifier": "Default",
"type": {
"map": {
"hasher": "Twox64Concat",
"key": "u32",
"value": "Bytes",
"linked": false
}
},
"fallback": "0x00",
"docs": [
" Extrinsics data for the current block (maps an extrinsic's index to its data)."
]
},
{
"name": "Number",
"modifier": "Default",
"type": {
"plain": "BlockNumber"
},
"fallback": "0x00000000",
"docs": [
" The current block number being processed. Set by `execute_block`."
]
},
{
"name": "ParentHash",
"modifier": "Default",
"type": {
"plain": "Hash"
},
"fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
"docs": [
" Hash of the previous block."
]
},
{
"name": "Digest",
"modifier": "Default",
"type": {
"plain": "DigestOf"
},
"fallback": "0x00",
"docs": [
" Digest of the current block, also part of the block header."
]
},
{
"name": "Events",
"modifier": "Default",
"type": {
"plain": "Vec<EventRecord>"
},
"fallback": "0x00",
"docs": [
" Events deposited for the current block."
]
},
{
"name": "EventCount",
"modifier": "Default",
"type": {
"plain": "EventIndex"
},
"fallback": "0x00000000",
"docs": [
" The number of events in the `Events<T>` list."
]
},
{
"name": "EventTopics",
"modifier": "Default",
"type": {
"map": {
"hasher": "Blake2_128Concat",
"key": "Hash",
"value": "Vec<(BlockNumber,EventIndex)>",
"linked": false
}
},
"fallback": "0x00",
"docs": [
" Mapping between a topic (represented by T::Hash) and a vector of indexes",
" of events in the `<Events<T>>` list.",
"",
" All topic vectors have deterministic storage locations depending on the topic. This",
" allows light-clients to leverage the changes trie storage tracking mechanism and",
" in case of changes fetch the list of events of interest.",
"",
" The value has the type `(T::BlockNumber, EventIndex)` because if we used only just",
" the `EventIndex` then in case if the topic has the same contents on the next block",
" no notification will be triggered thus the event might be lost."
]
},
{
"name": "LastRuntimeUpgrade",
"modifier": "Optional",
"type": {
"plain": "LastRuntimeUpgradeInfo"
},
"fallback": "0x00",
"docs": [
" Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened."
]
},
{
"name": "UpgradedToU32RefCount",
"modifier": "Default",
"type": {
"plain": "bool"
},
"fallback": "0x00",
"docs": [
" True if we have upgraded so that `type RefCount` is `u32`. False (default) if not."
]
},
{
"name": "UpgradedToTripleRefCount",
"modifier": "Default",
"type": {
"plain": "bool"
},
"fallback": "0x00",
"docs": [
" True if we have upgraded so that AccountInfo contains three types of `RefCount`. False",
" (default) if not."
]
},
{
"name": "ExecutionPhase",
"modifier": "Optional",
"type": {
"plain": "Phase"
},
"fallback": "0x00",
"docs": [
" The execution phase of the block."
]
}
]
},
"calls": [
{
"name": "fill_block",
"args": [
{
"name": "_ratio",
"type": "Perbill"
}
],
"docs": [
" A dispatch that will fill the block weight up to the given ratio."
]
},
{
"name": "remark",
"args": [
{
"name": "_remark",
"type": "Bytes"
}
],
"docs": [
" Make some on-chain remark.",
"",
" # <weight>",
" - `O(1)`",
" # </weight>"
]
},
{
"name": "set_heap_pages",
"args": [
{
"name": "pages",
"type": "u64"
}
],
"docs": [
" Set the number of pages in the WebAssembly environment's heap.",
"",
" # <weight>",
" - `O(1)`",
" - 1 storage write.",
" - Base Weight: 1.405 µs",
" - 1 write to HEAP_PAGES",
" # </weight>"
]
},
{
"name": "set_code",
"args": [
{
"name": "code",
"type": "Bytes"
}
],
"docs": [
" Set the new runtime code.",
"",
" # <weight>",
" - `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`",
" - 1 storage write (codec `O(C)`).",
" - 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is expensive).",
" - 1 event.",
" The weight of this function is dependent on the runtime, but generally this is very expensive.",
" We will treat this as a full block.",
" # </weight>"
]
},
{
"name": "set_code_without_checks",
"args": [
{
"name": "code",
"type": "Bytes"
}
],
"docs": [
" Set the new runtime code without doing any checks of the given `code`.",
"",
" # <weight>",
" - `O(C)` where `C` length of `code`",
" - 1 storage write (codec `O(C)`).",
" - 1 event.",
" The weight of this function is dependent on the runtime. We will treat this as a full block.",
" # </weight>"
]
},
{
"name": "set_changes_trie_config",
"args": [
{
"name": "changes_trie_config",
"type": "Option<ChangesTrieConfiguration>"
}
],
"docs": [
" Set the new changes trie configuration.",
"",
" # <weight>",
" - `O(1)`",
" - 1 storage write or delete (codec `O(1)`).",
" - 1 call to `deposit_log`: Uses `append` API, so O(1)",
" - Base Weight: 7.218 µs",
" - DB Weight:",
" - Writes: Changes Trie, System Digest",
" # </weight>"
]
},
{
"name": "set_storage",
"args": [
{
"name": "items",
"type": "Vec<KeyValue>"
}
],
"docs": [
" Set some items of storage.",
"",
" # <weight>",
" - `O(I)` where `I` length of `items`",
" - `I` storage writes (`O(1)`).",
" - Base Weight: 0.568 * i µs",
" - Writes: Number of items",
" # </weight>"
]
},
{
"name": "kill_storage",
"args": [
{
"name": "keys",
"type": "Vec<Key>"
}
],
"docs": [
" Kill some items from storage.",
"",
" # <weight>",
" - `O(IK)` where `I` length of `keys` and `K` length of one key",
" - `I` storage deletions.",
" - Base Weight: .378 * i µs",
" - Writes: Number of items",
" # </weight>"
]
},
{
"name": "kill_prefix",
"args": [
{
"name": "prefix",
"type": "Key"
},
{
"name": "_subkeys",
"type": "u32"
}
],
"docs": [
" Kill all storage items with a key that starts with the given prefix.",
"",
" **NOTE:** We rely on the Root origin to provide us the number of subkeys under",
" the prefix we are removing to accurately calculate the weight of this function.",
"",
" # <weight>",
" - `O(P)` where `P` amount of keys with prefix `prefix`",
" - `P` storage deletions.",
" - Base Weight: 0.834 * P µs",
" - Writes: Number of subkeys + 1",
" # </weight>"
]
},
{
"name": "remark_with_event",
"args": [
{
"name": "remark",
"type": "Bytes"
}
],
"docs": [
" Make some on-chain remark and emit event.",
"",
" # <weight>",
" - `O(b)` where b is the length of the remark.",
" - 1 event.",
" # </weight>"
]
}
],
"events": [
{
"name": "ExtrinsicSuccess",
"args": [
"DispatchInfo"
],
"docs": [
" An extrinsic completed successfully. \\[info\\]"
]
},
{
"name": "ExtrinsicFailed",
"args": [
"DispatchError",
"DispatchInfo"
],
"docs": [
" An extrinsic failed. \\[error, info\\]"
]
},
{
"name": "CodeUpdated",
"args": [],
"docs": [
" `:code` was updated."
]
},
{
"name": "NewAccount",
"args": [
"AccountId"
],
"docs": [
" A new \\[account\\] was created."
]
},
{
"name": "KilledAccount",
"args": [
"AccountId"
],
"docs": [
" An \\[account\\] was reaped."
]
},
{
"name": "Remarked",
"args": [
"AccountId",
"Hash"
],
"docs": [
" On on-chain remark happened. \\[origin, remark_hash\\]"
]
}
],
"constants": [
{
"name": "BlockWeights",
"type": "BlockWeights",
"value": "0x00f2052a0100000000204aa9d1010000405973070000000001c06e96a62e010000010098f73e5d010000010000000000000000405973070000000001c0f6e810a30100000100204aa9d1010000010088526a740000004059730700000000000000",
"docs": [
" Block & extrinsics weights: base values and limits."
]
},
{
"name": "BlockLength",
"type": "BlockLength",
"value": "0x00003c000000500000005000",
"docs": [
" The maximum length of a block (in bytes)."
]
},
{
"name": "BlockHashCount",
"type": "BlockNumber",
"value": "0xfa000000",
"docs": [
" Maximum number of block number to block hash mappings to keep (oldest pruned first)."
]
},
{
"name": "DbWeight",
"type": "RuntimeDbWeight",
"value": "0x40787d010000000000e1f50500000000",
"docs": [
" The weight of runtime database operations the runtime can invoke."
]
},
{
"name": "Version",
"type": "RuntimeVersion",
"value": "0x186173676172641861736761726401000000e90300000000000034d2bc9897eed08f1503000000df6acb689907609b0300000040fe3ad401f8959a05000000bc9d89904f5b923f0100000037c8bb1350a9a2a80100000037e397fc7c91f5e401000000f78b278be53f454c02000000ab3c0572291feb8b01000000ea93e3f16f3d696201000000dd718d5cc53262d401000000f877468f4ca0e8260100000098159093c7bc898e0100000060aed43cb52456f10100000001000000",
"docs": [
" Get the chain's current version."
]
},
{
"name": "SS58Prefix",
"type": "u16",
"value": "0x0600",
"docs": [
" The designated SS85 prefix of this chain.",
"",
" This replaces the \"ss58Format\" property declared in the chain spec. Reason is",
" that the runtime should know about the prefix in order to make use of it as",
" an identifier of the chain."
]
}
],
"errors": [
{
"name": "InvalidSpecName",
"docs": [
" The name of specification does not match between the current runtime",
" and the new runtime."
]
},
{
"name": "SpecVersionNeedsToIncrease",
"docs": [
" The specification version is not allowed to decrease between the current runtime",
" and the new runtime."
]
},
{
"name": "FailedToExtractRuntimeVersion",
"docs": [
" Failed to extract the runtime version from the new runtime.",
"",
" Either calling `Core_version` or decoding `RuntimeVersion` failed."
]
},
{
"name": "NonDefaultComposite",
"docs": [
" Suicide called when the account has non-default composite data."
]
},
{
"name": "NonZeroRefCount",
"docs": [
" There is a non-zero reference count preventing the account from being purged."
]
}
],
"index": 0
},
{
"name": "Timestamp",
"storage": {
"prefix": "Timestamp",
"items": [
{
"name": "Now",
"modifier": "Default",
"type": {
"plain": "Moment"
},
"fallback": "0x0000000000000000",
"docs": [
" Current time for the current block."
]
},
{
"name": "DidUpdate",
"modifier": "Default",
"type": {
"plain": "bool"
},
"fallback": "0x00",
"docs": [
" Did the timestamp get updated in this block?"
]
}
]
},
"calls": [
{
"name": "set",
"args": [
{
"name": "now",
"type": "Compact<Moment>"
}
],
"docs": [
" Set the current time.",
"",
" This call should be invoked exactly once per block. It will panic at the finalization",
" phase, if this call hasn't been invoked by that time.",
"",
" The timestamp should be greater than the previous one by the amount specified by",
" `MinimumPeriod`.",
"",
" The dispatch origin for this call must be `Inherent`.",
"",
" # <weight>",
" - `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)",
" - 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in `on_finalize`)",
" - 1 event handler `on_timestamp_set`. Must be `O(1)`.",
" # </weight>"
]
}
],
"events": null,
"constants": [
{
"name": "MinimumPeriod",
"type": "Moment",
"value": "0x7017000000000000",
"docs": [
" The minimum period between blocks. Beware that this is different to the *expected* period",
" that the block production apparatus provides. Your chosen consensus system will generally",
" work with this to determine a sensible block time. e.g. For Aura, it will be double this",
" period on default settings."
]
}
],
"errors": [],
"index": 1
},
{
"name": "Indices",
"storage": {
"prefix": "Indices",
"items": [
{
"name": "Accounts",
"modifier": "Optional",
"type": {
"map": {
"hasher": "Blake2_128Concat",
"key": "AccountIndex",
"value": "(AccountId,BalanceOf,bool)",
"linked": false
}
},
"fallback": "0x00",
"docs": [
" The lookup from index to account."
]
}
]
},
"calls": [
{
"name": "claim",
"args": [
{
"name": "index",
"type": "AccountIndex"
}
],
"docs": [
" Assign an previously unassigned index.",
"",
" Payment: `Deposit` is reserved from the sender account.",
"",
" The dispatch origin for this call must be _Signed_.",
"",
" - `index`: the index to be claimed. This must not be in use.",
"",
" Emits `IndexAssigned` if successful.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - One reserve operation.",
" - One event.",
" -------------------",
" - DB Weight: 1 Read/Write (Accounts)",
" # </weight>"
]
},
{
"name": "transfer",
"args": [
{
"name": "new",
"type": "AccountId"
},
{
"name": "index",
"type": "AccountIndex"
}
],
"docs": [
" Assign an index already owned by the sender to another account. The balance reservation",
" is effectively transferred to the new account.",
"",
" The dispatch origin for this call must be _Signed_.",
"",
" - `index`: the index to be re-assigned. This must be owned by the sender.",
" - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",
"",
" Emits `IndexAssigned` if successful.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - One transfer operation.",
" - One event.",
" -------------------",
" - DB Weight:",
" - Reads: Indices Accounts, System Account (recipient)",
" - Writes: Indices Accounts, System Account (recipient)",
" # </weight>"
]
},
{
"name": "free",
"args": [
{
"name": "index",
"type": "AccountIndex"
}
],
"docs": [
" Free up an index owned by the sender.",
"",
" Payment: Any previous deposit placed for the index is unreserved in the sender account.",
"",
" The dispatch origin for this call must be _Signed_ and the sender must own the index.",
"",
" - `index`: the index to be freed. This must be owned by the sender.",
"",
" Emits `IndexFreed` if successful.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - One reserve operation.",
" - One event.",
" -------------------",
" - DB Weight: 1 Read/Write (Accounts)",
" # </weight>"
]
},
{
"name": "force_transfer",
"args": [
{
"name": "new",
"type": "AccountId"
},
{
"name": "index",
"type": "AccountIndex"
},
{
"name": "freeze",
"type": "bool"
}
],
"docs": [
" Force an index to an account. This doesn't require a deposit. If the index is already",
" held, then any deposit is reimbursed to its current owner.",
"",
" The dispatch origin for this call must be _Root_.",
"",
" - `index`: the index to be (re-)assigned.",
" - `new`: the new owner of the index. This function is a no-op if it is equal to sender.",
" - `freeze`: if set to `true`, will freeze the index so it cannot be transferred.",
"",
" Emits `IndexAssigned` if successful.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - Up to one reserve operation.",
" - One event.",
" -------------------",
" - DB Weight:",
" - Reads: Indices Accounts, System Account (original owner)",
" - Writes: Indices Accounts, System Account (original owner)",
" # </weight>"
]
},
{
"name": "freeze",
"args": [
{
"name": "index",
"type": "AccountIndex"
}
],
"docs": [
" Freeze an index so it will always point to the sender account. This consumes the deposit.",
"",
" The dispatch origin for this call must be _Signed_ and the signing account must have a",
" non-frozen account `index`.",
"",
" - `index`: the index to be frozen in place.",
"",
" Emits `IndexFrozen` if successful.",
"",
" # <weight>",
" - `O(1)`.",
" - One storage mutation (codec `O(1)`).",
" - Up to one slash operation.",
" - One event.",
" -------------------",
" - DB Weight: 1 Read/Write (Accounts)",
" # </weight>"
]
}
],
"events": [
{
"name": "IndexAssigned",
"args": [
"AccountId",
"AccountIndex"
],
"docs": [
" A account index was assigned. \\[index, who\\]"
]
},
{
"name": "IndexFreed",
"args": [
"AccountIndex"
],
"docs": [
" A account index has been freed up (unassigned). \\[index\\]"
]
},
{
"name": "IndexFrozen",
"args": [
"AccountIndex",
"AccountId"
],
"docs": [
" A account index has been frozen to its current account ID. \\[index, who\\]"
]
}
],
"constants": [
{
"name": "Deposit",
"type": "BalanceOf",
"value": "0x0010a5d4e80000000000000000000000",
"docs": [
" The deposit needed for reserving an index."
]
}
],
"errors": [
{
"name": "NotAssigned",
"docs": [
" The index was not already assigned."
]
},
{
"name": "NotOwner",
"docs": [
" The index is assigned to another account."
]
},
{
"name": "InUse",
"docs": [
" The index was not available."
]
},
{
"name": "NotTransfer",
"docs": [
" The source and destination accounts are identical."
]
},
{
"name": "Permanent",
"docs": [
" The index is permanent and may not be freed/changed."
]
}
],
"index": 2
},
{
"name": "Sudo",
"storage": {
"prefix": "Sudo",
"items": [
{
"name": "Key",
"modifier": "Default",
"type": {
"plain": "AccountId"
},
"fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
"docs": [
" The `AccountId` of the sudo key."
]
}
]
},
"calls": [
{
"name": "sudo",
"args": [
{
"name": "call",
"type": "Call"
}
],
"docs": [
" Authenticates the sudo key and dispatches a function call with `Root` origin.",
"",
" The dispatch origin for this call must be _Signed_.",
"",
" # <weight>",
" - O(1).",
" - Limited storage reads.",
" - One DB write (event).",
" - Weight of derivative `call` execution + 10,000.",
" # </weight>"
]
},
{
"name": "sudo_unchecked_weight",
"args": [
{
"name": "call",
"type": "Call"
},
{
"name": "_weight",
"type": "Weight"
}
],
"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_.",
"",
" # <weight>",
" - O(1).",
" - The weight of this call is defined by the caller.",
" # </weight>"
]
},
{
"name": "set_key",
"args": [
{
"name": "new",
"type": "LookupSource"
}
],
"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_.",
"",
" # <weight>",
" - O(1).",
" - Limited storage reads.",
" - One DB change.",
" # </weight>"
]
},
{
"name": "sudo_as",
"args": [
{
"name": "who",
"type": "LookupSource"
},
{
"name": "call",
"type": "Call"
}
],
"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_.",
"",
" # <weight>",
" - O(1).",
" - Limited storage reads.",
" - One DB write (event).",
" - Weight of derivative `call` execution + 10,000.",
" # </weight>"
]
}
],
"events": [
{
"name": "Sudid",
"args": [
"DispatchResult"
],
"docs": [
" A sudo just took place. \\[result\\]"
]
},
{
"name": "KeyChanged",
"args": [
"AccountId"
],
"docs": [
" The \\[sudoer\\] just switched identity; the old key is supplied."
]
},
{
"name": "SudoAsDone",
"args": [
"DispatchResult"
],
"docs": [
" A sudo just took place. \\[result\\]"
]
}
],
"constants": [],
"errors": [
{
"name": "RequireSudo",
"docs": [
" Sender must be the Sudo account"
]
}
],
"index": 3
},
{
"name": "RandomnessCollectiveFlip",
"storage": {
"prefix": "RandomnessCollectiveFlip",
"items": [
{
"name": "RandomMaterial",
"modifier": "Default",
"type": {
"plain": "Vec<Hash>"
},
"fallback": "0x00",
"docs": [
" Series of block headers from the last 81 blocks that acts as random seed material. This",
" is arranged as a ring buffer with `block_number % 81` being the index into the `Vec` of",
" the oldest hash."
]
}
]
},
"calls": null,
"events": null,
"constants": [],
"errors": [],
"index": 4
},
{
"name": "ParachainSystem",
"storage": {
"prefix": "ParachainSystem",
"items": [
{
"name": "PendingRelayChainBlockNumber",
"modifier": "Optional",
"type": {
"plain": "RelayChainBlockNumber"
},
"fallback": "0x00",
"docs": [
" We need to store the new validation function for the span between",
" setting it and applying it. If it has a",
" value, then [`PendingValidationCode`] must have a real value, and",
" together will coordinate the block number where the upgrade will happen."
]
},
{
"name": "PendingValidationCode",
"modifier": "Default",
"type": {
"plain": "Bytes"
},
"fallback": "0x00",
"docs": [
" The new validation function we will upgrade to when the relay chain",
" reaches [`PendingRelayChainBlockNumber`]. A real validation function must",
" exist here as long as [`PendingRelayChainBlockNumber`] is set."
]
},
{
"name": "ValidationData",
"modifier": "Optional",
"type": {
"plain": "PersistedValidationData"
},
"fallback": "0x00",
"docs": [
" The [`PersistedValidationData`] set for this block."
]
},
{
"name": "DidSetValidationCode",
"modifier": "Default",
"type": {
"plain": "bool"
},
"fallback": "0x00",
"docs": [
" Were the validation data set to notify the relay chain?"
]
},
{
"name": "LastUpgrade",
"modifier": "Default",
"type": {
"plain": "BlockNumber"
},
"fallback": "0x00000000",
"docs": [
" The last relay parent block number at which we signalled the code upgrade."
]
},
{
"name": "RelevantMessagingState",
"modifier": "Optional",
"type": {
"plain": "MessagingStateSnapshot"
},
"fallback": "0x00",
"docs": [
" The snapshot of some state related to messaging relevant to the current parachain as per",
" the relay parent.",
"",
" This field is meant to be updated each block with the validation data inherent. Therefore,",
" before processing of the inherent, e.g. in `on_initialize` this data may be stale.",
"",
" This data is also absent from the genesis."
]
},
{
"name": "HostConfiguration",
"modifier": "Optional",
"type": {
"plain": "AbridgedHostConfiguration"
},
"fallback": "0x00",
"docs": [
" The parachain host configuration that was obtained from the relay parent.",
"",
" This field is meant to be updated each block with the validation data inherent. Therefore,",
" before processing of the inherent, e.g. in `on_initialize` this data may be stale.",
"",
" This data is also absent from the genesis."
]
},
{
"name": "LastDmqMqcHead",
"modifier": "Default",
"type": {
"plain": "MessageQueueChain"
},
"fallback": "0x0000000000000000000000000000000000000000000000000000000000000000",
"docs": [
" The last downward message queue chain head we have observed.",
"",
" This value is loaded before and saved after processing inbound downward messages carried",
" by the system inherent."
]
},
{
"name": "LastHrmpMqcHeads",
"modifier": "Default",
"type": {
"plain": "BTreeMap<ParaId,MessageQueueChain>"
},
"fallback": "0x00",
"docs": [
" The message queue chain heads we have observed per each channel incoming channel.",
"",
" This value is loaded before and saved after processing inbound downward messages carried",
" by the system inherent."
]
},
{
"name": "ProcessedDownwardMessages",
"modifier": "Default",
"type": {
"plain": "u32"
},
"fallback": "0x00000000",
"docs": [
" Number of downward messages processed in a block.",
"",
" This will be cleared in `on_initialize` of each new block."
]
},
{
"name": "NewValidationCode",
"modifier": "Optional",
"type": {
"plain": "Bytes"
},
"fallback": "0x00",
"docs": [
" New validation code that was set in a block.",
"",
" This will be cleared in `on_initialize` of each new block if no other pallet already set",
" the value."
]
},
{
"name": "HrmpWatermark",
"modifier": "Default",
"type": {
"plain": "BlockNumber"
},
"fallback": "0x00000000",
"docs": [
" HRMP watermark that was set in a block.",
"",
" This will be cleared in `on_initialize` of each new block."
]
},
{
"name": "HrmpOutboundMessages",
"modifier": "Default",
"type": {
"plain": "Vec<OutboundHrmpMessage>"
},
"fallback": "0x00",
"docs": [
" HRMP messages that were sent in a block.",
"",
" This will be cleared in `on_initialize` of each new block."
]
},
{
"name": "UpwardMessages",
"modifier": "Default",
"type": {
"plain": "Vec<UpwardMessage>"
},
"fallback": "0x00",
"docs": [
" Upward messages that were sent in a block.",
"",
" This will be cleared in `on_initialize` of each new block."
]
},
{
"name": "PendingUpwardMessages",
"modifier": "Default",
"type": {
"plain": "Vec<UpwardMessage>"
},
"fallback": "0x00",
"docs": [
" Upward messages that are still pending and not yet send to the relay chain."
]
},
{
"name": "AnnouncedHrmpMessagesPerCandidate",
"modifier": "Default",
"type": {
"plain": "u32"
},
"fallback": "0x00000000",
"docs": [
" The number of HRMP messages we observed in `on_initialize` and thus used that number for",
" announcing the weight of `on_initialize` and `on_finalize`."
]
},
{
"name": "ReservedXcmpWeightOverride",
"modifier": "Optional",
"type": {
"plain": "Weight"
},
"fallback": "0x00",
"docs": [
" The weight we reserve at the beginning of the block for processing XCMP messages. This",
" overrides the amount set in the Config trait."
]
},
{
"name": "ReservedDmpWeightOverride",
"modifier": "Optional",
"type": {
"plain": "Weight"
},
"fallback": "0x00",
"docs": [
" The weight we reserve at the beginning of the block for processing DMP messages. This",
" overrides the amount set in the Config trait."
]
},
{
"name": "AuthorizedUpgrade",
"modifier": "Optional",
"type": {
"plain": "Hash"
},
"fallback": "0x00",
"docs": [
" The next authorized upgrade, if there is one."
]
}
]
},
"calls": [
{
"name": "set_upgrade_block",
"args": [
{
"name": "relay_chain_block",
"type": "RelayChainBlockNumber"
}
],
"docs": [
" Force an already scheduled validation function upgrade to happen on a particular block.",
"",
" Note that coordinating this block for the upgrade has to happen independently on the",
" relay chain and this parachain. Synchronizing the block for the upgrade is sensitive,",
" and this bypasses all checks and and normal protocols. Very easy to brick your chain",
" if done wrong."
]
},
{
"name": "set_validation_data",
"args": [
{
"name": "data",
"type": "ParachainInherentData"
}
],
"docs": [
" Set the current validation data.",
"",
" This should be invoked exactly once per block. It will panic at the finalization",
" phase if the call was not invoked.",
"",
" The dispatch origin for this call must be `Inherent`",
"",
" As a side effect, this function upgrades the current validation function",
" if the appropriate time has come."
]
},
{
"name": "sudo_send_upward_message",
"args": [
{
"name": "message",
"type": "UpwardMessage"
}
],
"docs": []
},
{
"name": "authorize_upgrade",
"args": [
{
"name": "code_hash",
"type": "Hash"
}
],
"docs": []
},
{
"name": "enact_authorized_upgrade",
"args": [
{
"name": "code",
"type": "Bytes"
}
],
"docs": []
}
],
"events": [
{
"name": "ValidationFunctionStored",
"args": [
"RelayChainBlockNumber"
],
"docs": [
" The validation function has been scheduled to apply as of the contained relay chain",
" block number."
]
},
{
"name": "ValidationFunctionApplied",
"args": [
"RelayChainBlockNumber"
],
"docs": [
" The validation function was applied as of the contained relay chain block number."
]
},
{
"name": "UpgradeAuthorized",
"args": [
"Hash"
],
"docs": [
" An upgrade has been authorized."
]
},
{
"name": "DownwardMessagesReceived",
"args": [
"u32"
],
"docs": [
" Some downward messages have been received and will be processed.",
" \\[ count \\]"
]
},
{
"name": "DownwardMessagesProcessed",
"args": [
"Weight",
"Hash"
],
"docs": [
" Downward messages were processed using the given weight.",
" \\[ weight_used, result_mqc_head \\]"
]
}
],
"constants": [],
"errors": [
{
"name": "OverlappingUpgrades",
"docs": [
" Attempt to upgrade validation function while existing upgrade pending"
]
},
{