Keith Yeung
1556873060
Ensure MultiLocation always has a canonical representation ( #3404 )
...
* MultiAsset TWO
* Ensure MultiLocation always has a canonical representation
* Remove v1 module
* Draft next MultiAsset API.
* Implement custom encoding/decoding scheme for MultiLocation
* Properly implement IntoIterator for Junctions
* Implement TryFrom<MultiLocation> for Junctions
* Fix spelling mistakes
* Fix tests in xcm-executor
* XCM core builds
* XCM Executor builds
* XCM Builder builds
* Fix xcm-builder tests and compilation
* Make pallet-xcm compile
* Use MultiLocation::default()
* Make polkadot-runtime-common compile
* Make rococo-runtime compile
* Change return type of parent_count to u8
* Change MAX_MULTILOCATION_LENGTH to 255
* Make kusama-runtime compile
* Fix logic in pallet-xcm
* Use MultiLocation::empty()
* Fix logic in location_conversion
* Fix logic in origin_conversion.rs
* Make westend-runtime compile
* Rename prefixes and suffixes variables
* Rename non_parent to interior
* Rename non_parent to interior
* Add test for encode/decode roundtrip and fix decode algorithm
* API changes making their way throughout
* Some TODOs
* Further build fixes
* Rename non_parent/junctions to interior
* Basic compile builds
* First test fixed
* All executor tests fixed
* Typo
* Optimize subsume_assets and add test
* Optimize checked_sub
* XCM Builder first test fixed
* Fix builder tests
* Fix doc test
* Make xcm-simulator compile
* Make xcm-simulator-example compile
* Make spellcheck happy
* cargo fmt
* fix some doc tests
* spelling
* named fields for AllOf
* Fix subtle bug where Null is treated as an identifier
* Add FIXME comment awaiting for const generics eval stabilization
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Reformat
* Move to XCM version 1
* Spelling
* warnings
* Replace some more v0->v1s
* warnings
* format
* Add max_assets param
* building
* test fixes
* tests
* another test
* final test
* Update rustdocs and add debug_assert where sensible
* Revert debug_assert in const fn len()
* tests
* Rename Null -> Here
* Introduce
* More ergonomics
* More ergonomics
* test fix
* test fixes
* docs
* BuyExecution includes
* Fix XCM extrinsics
* fmt
* Make Vec<MultiAsset>/MultiAssets conversions safe
* More MultiAssets conversion safety
* spelling
* fix doc test
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* fmt
* Add v0, remove VersionedMultiAsset
* Remove VersionedMultiLocation
* Update xcm/src/v1/order.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Update xcm/src/v1/mod.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* XCM v0 backwards compatibility
* Full compatibility
* fmt
* Update xcm/pallet-xcm/src/lib.rs
* Update xcm/src/v0/order.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Tweaks to versioning system
* Fixes
* fmt
* Fix pallet-xcm tests
* fix
* Substitute with_parent with with_parents_const
* Rename argument name from a to m
* Rename split_last to split_last_interior
* Allow adding multiple parents in MultiLocation
* Rename pop_parent to dec_parent
* Ensure relay chain XCM sender receives a MultiLocation without any parents
* Block only when MultiLocation destination length is 8
* Cargo fmt
* Remove reverse iterators, implement DoubleEndedIterator and add tests
* Fix iter_rev lifetime requirements
* Cargo fmt
* Add an into() method for Junctions for conciseness in const context
* Ensure parent count is 0 while executing who in RelayedFrom
* Appease spellchecker
* Use and_then instead of repeated map_err
* Remove custom codec indices for v1 Junctions
* Add convenience 'contains_parents_only' method to MultiLocation
* Fix merge conflict
* Use more convenience methods
* Remove with_parachain_interior
* Prefer matching against tuple instead of using match guards
* Match against tuple instead of using more match guards
* Update encode/decode test for MultiLocation
* Minor tweaks
* Fixes
* Fixes
* Fixes
* Fix MultiLocation
* Add deprecation note for iter_rev and into_iter_rev
* Update some rustdocs
* cargo fmt
* Fix xcm-executor unit tests
* Fix compilation and unit tests in xcm-builder
* cargo fmt
* Fix tests in xcm-simulator-example
* Publicize MultiLocation fields
* Match on the MultiLocation struct directly in xcm-builder
* Do not dereference undereferenceable types
* Add convenience MultiLocation conversions for tuples
* Use clearer import paths
* Remove unused dependency
* fix junction + response
* Import from latest opaque xcm module
* Update xcm/src/v1/mod.rs
* better comment
* Fix ownership transfer
* Fix merge
* Fix merge
* cargo fmt
* Fix merge
* Fix merge
* Fix integration test
* More readable Parent syntax
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cleanup
* cargo fmt
* Fixes
* Fix doc test
Co-authored-by: Gav Wood <gavin@parity.io >
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-08-09 18:55:40 +00:00
Gavin Wood
9800d22b1d
Companion to #9514 (Remove Filter and use Contains instead) ( #3591 )
...
* Remove Filter and use Contains instead
* Fixes
* Remove patch
* Formatting
* update Substrate
Co-authored-by: parity-processbot <>
2021-08-07 22:19:28 +02:00
Shawn Tabrizi
9ee8013d6d
Harden XCM v1 for Recursions ( #3586 )
...
* Guard against XCM recursive bombs by setting a recursion limit
* Add test and set a lower recursion limit
* Use u32 instead of usize for recursion limit
* Make spellcheck happy
* Cargo fmt
* Limit XCM decoding depth in UMP message processing
* Modify test to check for recursion in BuyExecution
* Update xcm/xcm-simulator/example/src/lib.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Make cargo fmt happy
* WIP for testing recursion limit in WASM
* Revert "WIP for testing recursion limit in WASM"
This reverts commit 39181b46d1adf79358f5ae8aafcf480e0c0c22e6.
* Remove XCM recursion limit test
* Add recursion test for XCM message execution
* Set a more sensible recursion limit
* Cargo fmt
* Implement successful_origin for benchmarks
* Set recursion limit to 8 and create integration tests directory for xcm-executor
* Cargo fmt
* Add runtime-benchmarks feature to test-runtime
* Give up creating ConvertOriginToLocal and use EnsureXcm
* Re-add ConvertOriginToLocal
* Fix compilation
* Update xcm/xcm-executor/src/lib.rs
Co-authored-by: Gavin Wood <gavin@parity.io >
* Add decoding limit to all versioned XCM decode calls
* Fix recursion limit test
* Set a lower recursion count for recursion test
* move integration tests to their own folder, fix recursion check in execute_effects
* Remove xcm-executor integration tests directory
* fix up
* Update Cargo.lock
* Update runtime/parachains/src/ump.rs
* use proper decode limit
* fix decode depth limit
* here too
* Update traits.rs
* fix compile
* fix test
* Revert `decode_all_with_depth_limit` changes in parachain.rs
* Remove unused imports in parachain.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Bastian Köcher <info@kchr.de >
Co-authored-by: Gavin Wood <gavin@parity.io >
2021-08-07 19:29:12 +00:00
Guillaume Thiolliere
f78f803698
companion: for call usage https://github.com/paritytech/substrate/pull/9418 ( #3522 )
...
* add test for call size
* fix box arg
* fix xcm variant length + increase limit a bit
* fix para sudo wrapper call length
* reorganize
* fmt
* fix tests
* update Substrate
Co-authored-by: parity-processbot <>
2021-08-07 10:10:28 +00:00
Gavin Wood
ce80bc2d4c
XCM v1 ( #2815 )
...
* MultiAsset TWO
* Draft next MultiAsset API.
* XCM core builds
* XCM Executor builds
* XCM Builder builds
* API changes making their way throughout
* Some TODOs
* Further build fixes
* Basic compile builds
* First test fixed
* All executor tests fixed
* Typo
* Optimize subsume_assets and add test
* Optimize checked_sub
* XCM Builder first test fixed
* Fix builder tests
* Fix doc test
* fix some doc tests
* spelling
* named fields for AllOf
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multiasset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Reformat
* Move to XCM version 1
* Spelling
* warnings
* Replace some more v0->v1s
* warnings
* format
* Add max_assets param
* building
* test fixes
* tests
* another test
* final test
* tests
* Rename Null -> Here
* Introduce
* More ergonomics
* More ergonomics
* test fix
* test fixes
* docs
* BuyExecution includes
* Fix XCM extrinsics
* fmt
* Make Vec<MultiAsset>/MultiAssets conversions safe
* More MultiAssets conversion safety
* spelling
* fix doc test
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Apply suggestions from code review
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* fmt
* Add v0, remove VersionedMultiAsset
* Remove VersionedMultiLocation
* Update xcm/src/v1/order.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* Update xcm/src/v1/mod.rs
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* XCM v0 backwards compatibility
* Full compatibility
* fmt
* Update xcm/pallet-xcm/src/lib.rs
* Update xcm/src/v0/order.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Tweaks to versioning system
* Fixes
* fmt
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Grumbles
* Update xcm/src/v1/multiasset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* fmt
* Update xcm/src/v1/multiasset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update xcm/src/v1/multiasset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fixes
* Formatting
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-08-06 18:25:01 +02:00
Gavin Wood
00d6fc5af0
Avoid bad pattern of wildcard fees ( #3578 )
...
* Avoid bad pattern of wildcard fees
* spelling
* fmt
* Fix runtimes
* spelling
2021-08-05 17:44:34 +02:00
Martin Pugh
49a46f78d3
Bump versions, substrate and beefy in prep for v0.9.9 ( #3567 )
...
* bump versions, substrate and beefy
* bump substrate
2021-08-05 15:12:18 +02:00
Shaun W
1b0baab401
XCM simulator ( #3538 )
...
* Add xcm-simulator and xcm-simulator-example.
* Abstract xcmp and dmp handling.
* Use mock message queue.
* Xcm simulator example unit tests.
* Use relay chain block number on sending msg.
* Fix typo.
* fmt
* more fmt
* Fix deps.
2021-08-01 15:16:14 +00:00