Keith Yeung
42c043d7f4
Properly migrate weights to v2 ( #6091 )
...
* Create migration for config pallet
* Use XcmWeight in XCM pallet extrinsics
* Link to PR in doc comment
* cargo fmt
* Fix tests
* Fix tests
* Remove unused import
* Update runtime/parachains/src/configuration/migration.rs
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
* Add missing on_runtime_upgrade implementation
* Use new migration API
* cargo fmt
* Fix log message
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io >
2022-10-05 09:47:15 +00:00
Sergej Sakac
8ea6076fe5
Companion for #11981 ( #5915 )
...
* Companion for #11981
* more renaming
* fmt
* fixes
* add generic type
* Companion for #11831
* fix
* revert changes
* Delete rename-outer-enum.diff
* revert
* Update run_benches_for_runtime.sh
* rename type Call & type Event
* passing tests
* fmt
* small fixes
* commit
* fix
* fmt
* commit
* error fixes
* fix
* small fix in test
* Update lib.rs
* Update lib.rs
* Update lib.rs
* Update lib.rs
* Update lib.rs
* Update lib.rs
* Update lib.rs
* remove RuntimeCall from pallet_grandpa
* last fix
* commit
* rename
* merge fix
* update lockfile for {"substrate"}
* cargo +nightly fmt
* fix
Co-authored-by: parity-processbot <>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2022-09-12 23:03:47 +00:00
Shawn Tabrizi
28e94d97dd
Companion for Weight v1.5 ( #5943 )
...
* fix to latest substrate pr
* update weights
* cargo build -p polkadot-runtime-parachains
* fix xcm-builder
* fix import
* fix a bunch
* fix a bunch of weight stuff
* kusama compile
* unused
* builds
* maybe fix
* cargo test -p polkadot-runtime-parachains
* xcm simulator example
* fix tests
* xcm sim fuzz
* fix runtime tests
* remove unused
* fix integration tests
* scalar div
* update lockfile for {"substrate"}
Co-authored-by: parity-processbot <>
2022-08-31 11:59:39 +00:00
Gavin Wood
3bab876bc1
Tidy up XCM errors in preparation for v2. ( #3988 )
...
* Tidy up XCM errors
* Tidy up errors
* Re-order
* Fixes
* Formatting
* map undefined errors
* add functor to dictionary
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com >
2021-10-02 00:14:13 +02:00
Andrew Jones
4c7539cab5
Companion for #8615 : enrich metadata with type information ( #3336 )
...
* Use beefy branch with scale-info
* Add patches
* Sprinkle some TypeInfo derives
* Add some TypeInfo deriv
* Cargo.lock
* Derive TypeInfo and skip type params for Xcm types
* Cargo.lock
* Fix up scale_info bounds attributes
* Fix up dependencies
* Use my own beefy-primitives branch
* Bump BEEFY
* Update patches
* Add some scale-info dependencies and TypeInfo derives
* More TypeInfo decoration
* Update scale-info
* Some TypeInfos and remove more Event pallet::metadata
* Moar TypeInfos
* TypeInfos galore, fix up metadata runtime API
* TypeInfo
* TypeInfos, update other runtime metadata APIs
* Fix up Kusama, comment out some `usize` QueueSize parameter types
* Remove local diener patches
* Cargo.lock
* Cargo.lock
* Update to scale-info crates.io release
* Update primitive-types branch
* Update pallet-beefy to use custom branch
* Update other parity-common deps
* Update parity-common patches
* bump a bunch of deps in parity-common
* Remove parity-common patches
* Bump finality-grandpa version
* Cargo.lock
* Update scale-info to 0.9.1
* Add recursion_limit for runtime-parachains
* Add some scale_info attributes
* Cargo.lock
* Revert finality-grandpa bump
* Cargo.lock, scale-info update
* cargo update
* Make sure using patched version of finality-grandpa
* Use patched scale-info
* Update to scale-info 0.10.0
* Update finality-grandpa
* Cargo.lock
* Update beefy deps
* Update beefy deps again
* Add scale-info dependency
* Remove deprecated pallet::metadata attributes.
* Add some missing scale-info deps and derives
* Use some variant struct call syntax
* Add missing TypeInfo impl
* Add some more TypeInfo impls
* Convert some call enum struct variant constructors
* More scale-info deps and derives
* Call enum struct variants
* TypeInfo derives
* Call enum variant structs
* scale-info deps and derives
* Call enum variant struct constructors
* Use beefy-primitives scale-info feature
* Use grandpa-bridge-gadget master branch
* Remove finality-grandpa patch
* Add missing scale_info dependency and derive
* Fix up some call variant constructors
* Add missing scale_info dependency
* Fix some test errors
* More TypeInfo derives
* More call variant structs
* Call variant structs in tests
* Cargo.lock
* Fmt
* Fix more call struct variants
* Another call struct variant
* add scale-info/std features explicitly
* More call struct variants
* Add missing scale-info dependency
* Fmt
* review: activate scale-info/std where missing
* Remove some duplicate std feature activation
* review: add scale_info bounds() attr
* More call variant structs
* Remove recursion limit
* Update beefy-primitives
* Update beefy-primitives
* Fix simnet call variant struct errors
* Fmt
* cargo update -p beefy-primitives
* Add some missing TypeInfo derives
* Fix some call variants
* Fix some call variant underscores
* Cargo.lock
* Cargo.lock
* Add missing TypeInfo derive
* Add some more missing TypeInfo derives
* Even more missing TypeInfo derives
* Add TypeInfo derives to new xcm types
* Fmt
* Cargo.lock
* Add missing TypeInfo impls
* Cargo.lock
* More missing TypeInfos
* Fixes
* Cargo.lock
* Cargo.lock
* Add TypeInfo impls to xcm v2
* Update to scale-info 1.0
* Update finality-grandpa 0.14.4, patch for now
* Update beefy
* Remove patched finality-grandpa
* Add TypeInfo impl to Outcome
* Fixes
* Call variant struct
* Call variant struct
* Fix test
* Add TypeInfo impl
* Cargo.lock
* Cargo.lock
* Cargo.lock
* git checkout master Cargo.lock
* update Substrate
* Add missing scale-info features for beefy-primitives
* Fmt
* Remove check for now
* Update beefy-primitives, removes scale-info feature
* Update beefy-primitives again
Co-authored-by: adoerr <0xad@gmx.net >
Co-authored-by: Andronik Ordian <write@reusable.software >
Co-authored-by: thiolliere <gui.thiolliere@gmail.com >
Co-authored-by: parity-processbot <>
Co-authored-by: Bastian Köcher <info@kchr.de >
2021-09-15 15:38:45 -05: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
Gavin Wood
e0244f9769
XCM: Introduce versioning to dispatchables' params ( #3693 )
...
* Introduce versioning to dispatchables' params
* Fixes
* Formatting
* Bump
2021-08-23 19:53:59 +02: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
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
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