* Added kanvas runtime
* Fix up benchmarking
* Fixup markdown stucture
* replace :emoji_name: by utf8
* fix up header hierarchy
* Merge canvas README
* Only use "Canvas" as a name
* Remove reference to Rocanvas
* Update rand to v0.8.5
* Enable std_rng feature on rand
* Enable std_rng only when std is enabled
* Revert "Enable std_rng only when std is enabled"
This reverts commit 8fb3b72dbd6dc18bc19868b999b5b07cea4b7392.
* Return compressed PoV from collation
This enables us to also print the size of the compressed PoV.
* FMT
* Update Polkadot & Substrate
* Fix compilation
* Fixes
* FMT
* Added check to ensure invulnerables have associated validator keys before they are set
* Added check to ensure invulnerables have associated validator keys before they are set
* Update pallets/collator-selection/src/lib.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* Added test for associated validators when setting invulnerables
* FMT
Co-authored-by: Omadoye Abraham <abraham.o@turing.com>
Co-authored-by: Ricardo Rius <9488369+riusricardo@users.noreply.github.com>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Bastian Köcher <info@kchr.de>
* Add the ability to suspend or resume XCM execution on the XCMP queue
* Rename QueueActive to QueueSuspended
* Add the ability to suspend the DMP queue
* Rename XCMP to DMP in comments where appropriate
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Add a bypass for XCMP queue suspension
* Revert "Add the ability to suspend the DMP queue"
This reverts commit 363ca09b41e40fce3f2740e7ab78f5c54781ca5c.
* Change controller origin to either root or council-issued origin
* Rename to ControllerOriginConverter
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Add safe_xcm_version to Genesis Specs (#743)
* add safe_xcm_version to genesis specs
* cargo +nightly fmt
* Point to xcm latest version
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* pov-recovery: Enable pov-recovery as well on full nodes
Pov recovery was before only enabled for collators. The reason behind this was prevention of spam of
the relay chain for block recovery. However, recent events has shown that this wasn't a good idea.
So, this pr enables pov-recover for normal full nodes as well, but with a much higher delay before
trying to recover a block. This means that full nodes will wait in minimum 2.5 minutes and in
maximum 5 minutes before recovering a block. This should give collators in "normal mode" enough time
to recover a block (they wait in maximum 6 seconds after they have seen a new candidate in the relay
chain) before recovering a block. So, we should hopefully not spam the relay chain.
* FMT
* Fixes
* Fix documentation
* Rename ParentIsDefault to ParentIsAllZeroes
* Fixes
* Create ParentAccounts for respective networks
* Fixes
* Use b"Parent" as the basis for generating parent AccountId
* Fixes
* Use preset parent account ID
* update lockfile for {"polkadot"}
Co-authored-by: parity-processbot <>
* Add the uniques migration for statemine
* return weight from on_runtime_upgrade (#914)
need to return the weight from on_runtimie_upgrade().
* cargo update -p sp-io
* cargo update -p polkadot-primitives
Co-authored-by: hamidra <hamid.alipour@gmail.com>
* xcmp-queue: Fix handling of encoded blobs
With #701 we tried to fix some infinite loop related to encoded blobs, however that lead actually to
not being able to process encoded blobs at all. The reason for this is that `decode_all` doesn't
consume the given input. The point of this function is that it returns an error if the data couldn't
be decoded or there is still data left. However, this means that the check
`remaining_fragments.len() < last_remaining_fragments.len()` would always fail.
We remove the while loop, because we decode the entire fragment anyway or it fails. Aka, we don't
need to loop here. Next we remove the broken check and we directly reset the
`remaining_fragments` (because `decode_all` doesn't consume anything).
* Restore correct behavior
We need to use a while loop, because there can be multiple `Vec<u8>`s. We also need to use `decode`,
because `decode_all` would otherwise return an error if the input is not empty afterwards.
* Remove unused import