* 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.
* 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>
* 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 <>
* 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
* sketch downward messages
* bring in attempt to mock mqc-head from moonbeam
* just patch individual crates
* fing comma
* add some logs
* Holy shit, we actually imported a block!
* Actually mock the message queue chain
* use relay parent number for `sent_at`
* finish moving MQC to primitives
* more complete mock and better config type
* change name
* fix export
* better map types
* fix dependencies after rebase
* try-rejigging branches because this is an override
* try to re-jig for hrmp mcqs
* fix branches
* actually fix branches better
* even better
* Removestray log lines
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Nicer handling of default `ParachainSystem` name
* better docs
* Default MockXcm for people who only who don't care to mock xcm.
* cargo fmt
* trailing commas
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* use the variable for hrmp to
* fix deref
* deduplicate MessageQueueChain
* better docs for MessageQueueChain
* Use `Vec<u8>` instead of `&'static [u8]`
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* cargo fmt
* associated changes for using Vec<u8>
* Unused import
* Fix compilation
Co-authored-by: Joshy Orndorff <admin@joshyorndorff.com>
Co-authored-by: Joshy Orndorff <JoshOrndorff@users.noreply.github.com>
* state-update4 branch
* new ref
* Update to latest.
* update deps
* switch to host state version
* update
* fmt
* up
* remove trie patch
* remove patch
* fmt
* update
* set state_versions in runtimes
* state version from storage
* state version from storage
* seedling compat
* restore lock
* update lockfile for substrate
* update lockfile for polkadot
Co-authored-by: parity-processbot <>
* Support overweight messages in XCMP queue
* Add storage migration logic to XCMP queue pallet
* Check whether required weight is larger than max individual weight first
* cargo fmt
* Add some unit tests
* Remove review question comment
* Adds support for returning a custom header from `validate_block`
This adds support for returning a custom header from `validate_block`. Before this, we always
returned the header of the block that was validated (and still do it by default). However, after
this pr it is possible to set a custom header or better custom head data that will be returned
instead from `validate_block`. This can be for example when a chain wants to fork.
* FMT
* Rename InboundXcmpStatus and its related types
* Rename OutboundXcmpStatus and its relevant types
* Add documentation to the newly created types
* Ensure storage prefixes are kept the same
* Add code comments
* Revert storage name changes
* typo fix
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Moving `pallet-asset-tx-payment` to substrate
* Pointing `substrate` to my branch to fix the CI
* Fixing cargo.lock
Memmlock2 was in double
* Duplicate Prost-build
* cargo update
* Fixing cargo.lock post merge
* Changes to `Cargo.toml` after substrate merge
* tweaks from template downstream review #80
* more tweaks
* Update parachain-template/node/src/command.rs
* tweaks to template and other chainspecs
* fmt
* update more tweaks from downstream
* fix build
* Look at the upgrade go-ahead and restriction signals
* Update Cargo.toml
* Drop old docs for validation code
* Update tests
* Fix typo
* Add doc-comments for read_optional_entry
* Add a note about ValidationData
* Introduce migration for removing unused storage entry
* Fix indentation
* Use intra-doc link syntax
* Double-check that GoAhead signal is not spurious
* fmt
* Drop commented code
* Fix typos
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Add a weight for StorageVersion write
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
Co-authored-by: Chris Sosnin <chris125_@live.com>
Co-authored-by: Chris Sosnin <48099298+slumber@users.noreply.github.com>
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* use new pallet name based genesis config names
* use custom substrate and update polkadot
* add initial asset-tx-payment pallet
* update cargo.toml
* add (failing) tests
* dispatch Calls instead of using Pallet functions
* fix fee-refund split
* add test for transaction payment with tip
* update cargo.lock
* update cargo.lock
* remove mint workaround and use Mutable trait
* extract fee charging logic into OnChargeAssetTransaction trait
* use asset-tx-payment in statemint runtime
* make extrinsics public
* make extrinsics public
* use ChargeAssetIdOf type alias
* update deps
* move back to AssetIdOf
* remove extra rpc_http_threads
* use different substrate branch
* Update pallets/asset-tx-payment/src/payment.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* Update pallets/asset-tx-payment/src/payment.rs
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
* remove overrides
* override substrate deps (again)
* increment spec_version and transaction_version (because we change transaction signing)
* remove direct dependency on pallet-balances from asset-tx-payment
* remove Assets pallet visibility workaround
* add docs and comments
* remove unused imports
* more docs
* add more debug asserts to document assumptions
* add test for tx payment from account with only assets
* add test for missing asset case
* extend test to cover non-sufficient assets
* add a test for Pays::No (refunded transaction)
* add type alias comments
* add more doc comments
* add asset-tx-payment to statemine and westmint
* improve formatting
* update license headers
* add default implementation of HandleCredit for ()
* update doc comments and format imports
* adjust Cargo.toml
* update cargo.lock
* cargo fmt
* cargo fmt
* cargo fmt
* cargo +nightly fmt
* add type alias for OnChargeTransaction
* cargo +nightly fmt
* convert ChargeAssetTxPayment from tuple struct to regular struct
* add more comments
* formatting
* adjust imports and comment
* cargo +nightly fmt
* reformat comment
* use ChargeTransactionPayment's own get_priority + update Substrate
* update Substrate and Polkadot
* cargo fmt
* cargo fmt
* add OperationalFeeMultiplier to asset tx payment tests
* Apply suggestions from code review
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* add doc links
* charge a minimum converted asset fee of 1 if the input fee is greater zero
* cargo +nightly fmt
* bump spec and transaction version
Co-authored-by: Tomasz Drwięga <tomusdrw@users.noreply.github.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
* Use DecodeLimit for decoding XCM messages
* Use decode_all_with_depth_limit in appropriate places
* Use decode_all while decoding byte vector
* cargo fmt