Keith Yeung
819849f097
Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted ( #3627 )
...
* Change send_xcm MultiLocation argument to be generic
* Change pallet_xcm::send_xcm MultiLocation and Junctions argument to be generic
* Change convert_origin MultiLocation argument to be generic
* Change OnResponse MultiLocation arguments to be generic
* Change UniversalWeigher MultiLocation argumente to be generic
* Change ExecuteXcm MultiLocation argument to be generic
* Remove usages of into for the MultiLocation argument in execute_xcm
* Make use of generic MultiLocation arguments in rustdocs
* Cargo fmt
* Remove unused import in tests
* Resolve conflicts
* cargo fmt
* Appease spellcheck
* impl Into<MultiLocation> in more places
2021-09-29 23:24:49 +00:00
Gavin Wood
8b80b283d4
XCM v2: Scripting, Query responses, Exception handling and Error reporting ( #3629 )
...
* Intoduce XCM v2
Also some minor fix for v0/v1
* Minor version cleanup
* Minor version cleanup
* Introduce SendError for XcmSend trait to avoid cycles with having Outcome in Xcm
* comment
* Corrent type
* Docs
* Fix build
* Fixes
* Introduce the basic impl
* Docs
* Add function
* Basic implementation
* Weighed responses and on_report
* Make XCM more script-like
* Remove BuyExecution::orders
* Fixes
* Fixes
* Fixes
* Formatting
* Initial draft and make pallet-xcm build
* fix XCM tests
* Formatting
* Fixes
* Formatting
* spelling
* Fixes
* Fixes
* spelling
* tests for translation
* extra fields to XCM pallet
* Formatting
* Fixes
* spelling
* first integration test
* Another integration test
* Formatting
* fix tests
* all tests
* Fixes
* Fixes
* Formatting
* Fixes
* Fixes
* Formatting
* Bump
* Remove unneeded structuring
* add instruction
* Fixes
* spelling
* Fixes
* Fixes
* Formatting
* Fixes
* Fixes
* Formatting
* Introduce and use VersionedResponse
* Introduce versioning to dispatchables' params
* Fixes
* Formatting
* Rest of merge
* more work
* Formatting
* Basic logic
* Fixes
* Fixes
* Add test
* Fixes
* Formatting
* Fixes
* Fixes
* Fixes
* Nits
* Simplify
* Spelling
* Formatting
* Return weight of unexecuted instructions in case of error as surplus
* Formatting
* Fixes
* Test for instruction count limiting
* Formatting
* Docs
2021-08-26 12:41:16 +02:00
Amar Singh
6718e10f20
Make xcm-simulator async with more tests ( #3618 )
...
* make xcm simulator async
* fmt
* nightly fmt
* Update xcm/xcm-simulator/example/src/parachain.rs
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
* accept keith review suggestion
* master.into
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com >
2021-08-17 21:48:28 +00: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
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
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
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