Keith Yeung
efe290490a
Remove Default bound on AccountId types under the xcm directory ( #4712 )
...
* Refactor ParentIsDefault to ParentIsAllZeroes
* Remove Default bound on all AccountId types under the xcm directory
* Change to ParentIs<A: Get<AccountId>, AccountId>
* Provide a better account for ParentIs
* Fixes
* Fixes
* Fixes
* Fixes
* Update xcm/xcm-builder/src/currency_adapter.rs
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
* Use preset account ID value for parent MultiLocations
Co-authored-by: Bastian Köcher <bkchr@users.noreply.github.com >
2022-01-21 11:03:39 +00:00
Shawn Tabrizi
59e90a77f0
Tweaks to XCM for Benchmarking ( #4283 )
...
* tweaks to xcm stuff for benchmarking
* Update xcm/xcm-executor/src/lib.rs
2021-11-15 21:38:11 +00:00
Shawn Tabrizi
7c8804c049
XCM Benchmarks for Asset Transactor w/ Fungible Asset ( #3818 )
...
* benchmarks for fungibles
* add benchmark to westend
* fix hex
* clean up a bit
* update code doc
* fix warnings
* cargo run --quiet --release --features runtime-benchmarks -- benchmark --chain=westend-dev --pallet=pallet_xcm_benchmarks::fungible --extrinsic=* --steps=10 --repeat=10 --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./ --execution=wasm --wasm-execution=compiled
* use skip
* fix spelling
* Update Cargo.lock
* add scale-info
* Update Cargo.lock
* update bench
* cargo run --quiet --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::fungible --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_fungible.rs
* weights compile
* update westend to use weights
* fmt
* spelling fixes
* Delete pallet_xcm_benchmarks::fungible.rs
* Apply suggestions from code review
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
* fix code review
* update weight
* fix report_error
* fix spell check
Co-authored-by: Parity Bot <admin@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
2021-09-27 00:38:46 -04:00
Gavin Wood
82ffe7dd17
XCM: Automatic Version Negotiation ( #3736 )
...
* XCM: Automatic Version Negotiation
* Introduce the version instructions and subscription trait
* Notification and subscription data migration
* Version change subscriptions
* Fixes
* Formatting
* Spelling
* Fixes
* Fixes
* Automatic unsubscription
* Formatting
* Expose remote origin in VM and ensure it is unchanged from actual origin in subscription instructions.
* Barrier
* Unsubscription extrinsic
* Remove top_level param
* Formatting
* Fixes
* Automatic subscription
* Formatting
* Spelling
* Unit tests for XCM executor
* Formatting
* Spellin
* Unit test for XCM pallet subscriber side
* Formatting
* More tests
* Formatting
* Fixes
* Subscription-side tests
* Formatting
* Unit tests for XCM pallet
* Formatting
* Update roadmap/implementers-guide/src/types/overseer-protocol.md
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Remove commented code
* Grumbles
* Multi-stage XCM version migration
* Formatting
* v1 subscriptions backport
* Warning
* Spelling
* Fix grumbles
* Formatting
* Avoid running through old notifications
* Formatting
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-09-02 18:47:38 +02: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
Alexander Popiak
45ed52a273
Export fungibles_adapter Types ( #3334 )
...
* export fungibles_adapter types
* formatting
2021-06-21 17:09:54 +01:00
Shaun Wang
d8dc0f8778
Export 'TakeRevenue' trait. ( #3278 )
2021-06-17 14:20:40 +00:00
Alexander Popiak
a28d4a5c5d
XCM docs and tests ( #2948 )
...
* WIP
* add tests and docs for DoubleEncoded
* reformat parent_count
* add test for match_and_split
* fix append_with docs and add tests
* move Parachain enum variant to tuple
* Fix stuff
* add to append test
* simplify match
* formatting
* format and extend doc comments (including examples)
* fix typo
* add some doc comments
* add test for location inverter
* Add more tests/docs
* Fix build
* matches fungibles
* currency adapter.
* add more tests for location inverter
* extract max length magic number into constant
* adapters.
* Apply suggestions from code review
* Final touches.
* Repot and fixes
* Remove last todo
* Apply suggestions from code review
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/barriers.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/barriers.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/currency_adapter.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/filter_asset_location.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-builder/src/matches_fungible.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-executor/src/traits/conversion.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-executor/src/traits/conversion.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-executor/src/traits/transact_asset.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
* Update xcm/xcm-executor/src/traits/should_execute.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io >
Co-authored-by: kianenigma <kian@parity.io >
Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-06-03 02:01:25 +00:00
Robert Habermeier
2d18b26151
Add parachains modules to Westend and Kusama runtimes ( #2854 )
...
* add `force_set_active_config`
* add parachains modules to Westend
* add parachains modules to Kusama runtime
* use real runtime API impl
* add module indices and remove auctions, crowdloan
* add benchmarks
* remove previous migrations and add host configuration set migration
* make compile
* Add Call Filter for Registrar and Slots except Root
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
* fix build
* update `add_benchmark`
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_slots.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
* cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_slots.rs
* fix weights
* tweak more constants
* Fix up the kusama runtime
* Westend runtime fixups
* Fix MMR & Beefy for westend
* Fixes
* fix tests
* Update runtime/polkadot/src/constants.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Update runtime/westend/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Parity Benchmarking Bot <admin@parity.io >
Co-authored-by: Gav Wood <gavin@parity.io >
2021-05-01 17:36:11 +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
69bd6d8ef2
Introduce/integrate a collective into Rococo Relay ( #2869 )
...
* Introduce a collective into Rococo runtime
* Intregrate Rococo Collective into XCM
* Fixes
* Update runtime/rococo/src/lib.rs
Co-authored-by: Robert Habermeier <rphmeier@gmail.com >
2021-04-09 22:16:32 +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
Gavin Wood
adc238ad86
XCM revamp ( #2836 )
...
* Remove unused relaying XCM
* Aggregate HRMP (XCMP/HMP) messages. Payloads for spambot.
* Revert lock
* Fix
* Broken example
* Introduce fee payment mechanics into XCM.
* Weight limitations on XCM execution
* Mock environment for tests and the first test
* Tests for XCM and a few refactors.
* Remove code that's not ready
* Fix for an XCM and an additional test
* Query response system
* XCMP message dispatch system reimagining
- Moved most of the logic into xcm-handler pallet
- Altered the outgoing XCMP API from push to pull
- Changed underlying outgoing queue data structures to avoid multi-page read/writes
- Introduced queuing for incoming messages
- Introduced signal messages as a flow-control sub-stream
- Introduced flow-control with basic threshold back-pressure
- Introduced overall weight limitation on messages executed
- Additonal alterations to XCM APIs for the new system
* Some build fixes
* Remove the Encode bounds sprayed around
* More faff
* Fix bounds amek use latest scale codec.
* remove println
* fixes
* Fix XcmExecutor Tests
* Fix XCM bounds using derivative crate
* Refactor names of XcmGeneric &c into Xcm
* Repot the xcm-executor into xcm-builder
* Docs
* Docs
* Fixes
* Update xcm/src/lib.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Fixes
* Docs
* Update runtime/parachains/src/ump.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
* Docs
* Fixes
* Fixes
* Fixes
* Docs
* Fixes
* Fixes
* Introduce transfer_asset specialisation.
* Fixes
* Fixes
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-04-07 22:38:29 +02:00
Gavin Wood
0395b5dd16
Fungibles adapter and MultiLocation::X8 ( #2662 )
...
* Fungibles adapter and MultiLocation::X8
* Comments
* Comment & whitespace
* Fix up CI/CD for the new labels.
* Fix labels
* Whitespace
* Fixes
* Update Cargo.lock
* Update xcm/xcm-builder/src/fungibles_adapter.rs
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-03-30 17:52:50 +02:00
Amar Singh
5b3fa6f7f6
add accountkey20 conversion impls ( #2576 )
2021-03-07 17:54:30 -04:00
Shawn Tabrizi
fc1153681e
XCM: Land XCM Builder ( #1793 )
...
* Land XCM Builder
* Clean up Cargo dependencies
Co-authored-by: Gavin Wood <gavin@parity.io >
2020-10-07 16:32:53 +00:00