UNPKG

@zenlink-types/bifrost

Version:
1,452 lines (1,451 loc) 376 kB
{ "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" ] }, {