Commit Graph

10 Commits

Author SHA1 Message Date
Doordashcon 3eaf47bbaa Log XCMP Queue Errors (#1147)
* test invalid xcmp data

* proper messaging

* cargo fmt

* Use `error` instead of `info`

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>

Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2022-04-12 22:39:17 +02:00
Doordashcon 5956c70a58 Add Setter for XCMP QueueConfigData (#931)
* add QueueConfigData setter

* update weights

* syntax change

* add test case

* fix Result error

* cargo fmt

* Apply suggestions from code review

Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>

* update

* one call per set

* cargo fmt

* cargo fmt

* mutate method

* cargo fmt

Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>
2022-02-05 11:47:31 +00:00
Keith Yeung d793334bbd Add the ability to suspend or resume XCM execution on the XCMP queue (#896)
* 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>
2022-01-31 12:12:09 +00:00
Bastian Köcher d988e383dd xcmp-queue: Fix handling of encoded blobs (#889)
* 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
2022-01-19 16:57:03 +01:00
Bastian Köcher 6c6802b67c Update to latest Polkadot & Substrate (#850)
* Update to latest Polkadot & Substrate

* More fixes
2021-12-10 12:08:41 +01:00
Keith Yeung b5135277f4 Support overweight messages in XCMP queue (#799)
* 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
2021-12-08 18:07:08 -08:00
Bastian Köcher 801c1bef0a Update Substrate & Polkadot (#770)
* Update Substrate & Polkadot

* Disable tests without debug assertions
2021-11-19 23:46:14 +01:00
Gavin Wood 47c2bcf55f Ensure a bad datastream cannot cause problems (#701)
* Ensure a bad datastream cannot cause problems

* Formatting

* Formatting
2021-10-27 13:40:24 +02:00
Chevdor 6b20f7a2c5 ci: add quick-check with rustfmt (#615)
* ci: add quick-check with clippy and rustfmt

* chore: rustfmt round

* chore: set the same rustfmt config than substrate

* chore: fix formatting

* cI: remove clippy

* ci: switch to nightly for the checks

* ci: fix toolchains and naming

* ci: Limit the check to formatting

* chore: fix formatting

* Update .rustfmt.toml

* Update .rustfmt.toml

Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com>
2021-09-16 16:57:52 +02:00
Shaun Wang 0966c8a4c3 Fix xcmp message processing condition. (#510)
* Fix xcmp message processing condition.

* add a very simple test

* Update Cargo.lock

* remove comment

* remove comment

Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Alexander Popiak <alexander.popiak@gmail.com>
2021-07-06 16:35:59 +02:00