Alexander Popiak
7b054850fb
add integration tests to xcm-builder ( #3537 )
...
* add integration tests to xcm-builder
* add an integration test for reserve_transfer_assets
* add query holding and teleport tests
* formatting
* add to barrier doc comments and fix doc tests warnings
* use more realistic barrier for integration tests
* improve imports
* adjust base xcm weight and existential deposit to be in line with Kusama
* remove AnyNetwork
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
* add more comments and remove unnecessary code
* move mock into separate file
* reduce imports
* update cargo.lock
* remove reserve transfer test from xcm builder integration tests
* reword barrier doc comment
* elaborate on QueryHolding test scenario
* add an integration test for reserve based transfers from parachain to parachain
* add teleport tests
* fix failing teleport filter tests
* Update xcm/xcm-builder/src/integration_tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update xcm/xcm-builder/src/integration_tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Update xcm/xcm-builder/src/integration_tests.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Move integration tests to tests/ directory
* Fix merge
* Replace All wildcard with a concrete seed amount
* Rename SEED_AMOUNT to REGISTER_AMOUNT
* Fix compilation error
* Check for teleport destination first before checking out assets
* Fix unit test
* Do not run tests in integration mock
* Add a permissive assets filter for teleportation
* Remove check for teleport location in InitiateTeleport XCM
* Remove defunct test
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Reword comment
Co-authored-by: Amar Singh <asinghchrony@protonmail.com >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2021-08-17 21:39:47 +00:00
Gavin Wood
e16c8d9902
Remove BuyExecution::orders ( #3640 )
...
* Remove BuyExecution::orders
* Fixes
* Fixes
* Fixes
* Formatting
2021-08-16 12:51:56 +02:00
Keith Yeung
1576280b00
Replace cumulus with polkadot in license headers ( #3636 )
2021-08-13 09:30:38 +02:00
Gavin Wood
0bb5434e08
Make RelayedFrom typesafe ( #3617 )
...
* Corrent type
* Fix build
* Fixes
* Fixes
* Formatting
2021-08-11 12:40:10 +02:00
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
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
Chevdor
789017cc76
Version bumps to 0.9.9 ( #3576 )
...
* chore: version bump to 0.9.9
* bump from 0.9.0 to 0.9.9
2021-08-06 16:39:13 +02:00
Gavin Wood
3e9b8b47b3
Introduce hard limit on XCM assets ( #3579 )
2021-08-05 23:51:52 +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
Amar Singh
90e6d318c7
Add unit tests to pallet-xcm ( #3539 )
...
* init
* reserve transfer asset unit test
* happy path tests for all dispatchables and can teleport assets to self surprisingly enough
* better tests
* minimize mock
* clean
* test send xcm failure when router blocks
* rm numbers to prefer variables
* clean
* test execute with local effects
* rm local env stuff
* copyrights
* fix merge conflict
* appease spellcheck
* fmt
* address review comments
* clean constants
* fmt
2021-08-03 11:07:30 +00:00
Shawn Tabrizi
ff5d56fb76
cargo +nightly fmt ( #3540 )
...
* cargo +nightly fmt
* add cargo-fmt check to ci
* update ci
* fmt
* fmt
* skip macro
* ignore bridges
2021-08-02 10:47:33 +00:00
Alexander Popiak
4a345045a9
Add XCM Tracing ( #3353 )
...
* add missing bridges logging target
* trace send_xcm
* trace execute_xcm
* trace calls in xcm-executor
* trace tuple implementations of xcm traits
* update cargo.lock
* remove bridge log target
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* log argument formatting
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2021-07-05 22:44:46 +00:00
Andronik Ordian
e80475ce4e
bump a bunch of deps in parity-common ( #3402 )
...
* bump a bunch of deps in parity-common
* update Substrate
* fix browser check
Co-authored-by: parity-processbot <>
2021-07-05 21:45:51 +02:00
Shawn Tabrizi
0282ad3128
fix xcm pallet origin ( #3272 )
2021-06-16 21:57:29 +01:00
Shawn Tabrizi
7f344df160
Companion for #9085 (pub calls) ( #3214 )
...
* update to use pub dispatchables
* update Substrate
* Update claims.rs
* remove warning
Co-authored-by: parity-processbot <>
2021-06-12 19:13:16 +01:00
Shaun Wang
fe97d7eb16
XCM docstring typo fix ( #3138 )
...
* Typo fix in xcm crate.
* Update xcm/src/v0/junction.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-05-31 07:49:43 +00:00
Gavin Wood
dcae333e82
Introduce reserve-asset transfer extrinsic ( #3010 )
...
* Introduce reserve-asset transfer extrinsic
* Fixes
2021-05-12 21:07:20 +02:00
Gavin Wood
41a93127a9
Check out/in assets when teleporting to maintain total issuance ( #3007 )
...
* Check out/in assets when teleporting to maintain total issuance
* Fixes
* Fixes
* Fixes
* Fixes
* Update xcm/xcm-executor/src/traits/transact_asset.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Docs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-05-12 08:39:16 +02:00
Gavin Wood
36b9d23923
Dispatchable for teleporting assets ( #2995 )
...
* Dispatchable for teleporting assets
* Fixes
* Fixes
* Fixes
* Fixes
* Fixes
* Update node/network/protocol/src/peer_set.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update xcm/src/v0/traits.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-05-10 16:13:46 +02:00
Gavin Wood
f36d8efb3d
Allow normal accounts to execute XCM for withdraw+teleport ( #2953 )
...
* Allow normal accounts to execute XCM for withdraw+teleport
* Bump Substrate
2021-04-28 23:13:19 +02:00
Gavin Wood
9194219586
Add XCM Origin and converter ( #2896 )
...
* Add XCM Origin and converter
* IsMajority filter can be location-prefixed
* Update xcm/pallet-xcm/src/lib.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/src/v0/multi_location.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Introduce UsingComponents to allow reuse of fee payment in XCM
* Use Drop rather than finalize
* Add errors for weight.
* Apply suggestions from code review
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Fixes
* Update xcm/xcm-builder/src/weight.rs
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* Various XCM fixes and improvements
* Fixes
* Update xcm/xcm-builder/src/weight.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/weight.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/weight.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Fixes
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2021-04-27 14:33:40 +02:00
Gavin Wood
c9102c11a4
XCM Revamp Continued ( #2865 )
...
* Introduce plurality XCM locations
* Add RelayedFrom
* DMP dispatch weight handling.
* Add pallet for XCM sending, add routing logic.
* Update error types & doc
* Fix warnings.
* Fixes
* Fixes
* Fixes
* Bump Substrate
* Fixes
* Docs
* Docs
* Docs
* Fixes
* Fixes
* Fixes
* Update xcm/pallet-xcm/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Docs
* Fixes
* Update lib.rs
* Fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-04-09 20:34:28 +02:00