* Introduce new config: ump_max_individual_weight
* Implement overweight msg stashing
* Test
* Add migration module.
Also introduces a test for migration
* Integrate ExecuteOverweightOrigin to runtimes
* Fix more stuff
* Add `yeet` into dictionary
* Use suggested `Error` variant names
* typo
* Use 20ms as the maximum individual message weight
* Update the test value
* rustfmt
* Clean up
* Remove deprecated field from host config
* Remove missed _hrmp_open_request_ttl
* Apply typo fix suggestion
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Rename `migration::migrate_to_latest`
* Restore `_hrmp_open_request_ttl` in `v0::HostConfiguration`
* Apply suggestion for a rustdoc
* Apply the suggestion
* Test v0 config with the raw production data fetched from Kusama
* Update runtime/parachains/src/ump.rs
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
* Expose migration functions
* Fix spellcheck
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* Use fully-qualified paths to reference core traits in proc macro
* Ensure a canonicalized v0 MultiLocation first before attempting to convert to v1
* Fix failing test
* Use proc macros to generate conversion functions for MultiLocation
* Add compile test and missing conversion cases
* Add common derives for Parent and Ancestor
* Generate conversion functions for MultiLocation v0 via proc macro
* Add type conversion test and fix a bug
* cargo fmt
* Do not hardcode 8 as the number of max parents
* Use map instead of for loops when generating code fragments
* Spelling
* cargo fmt
* More mapping, less for-looping
* Impl WeightTrader for tuple.
* fmt
* Renaming.
* add tracing for buy_weight
* Add comment clarifying the default behavior of a WeightTrader tuple
Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
* 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>
* 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>
* 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.
* convert local AssetNotFound errors into XcmError::AssetNotFound
aims allow the tuple implementation of TransactAsset to iterate properly
* add more XcmError descriptions
* adjust the rest of the TransactAsset tuple implementation to the behavior of can_check_in
* fix copy paste errors
* keep iterating tuple on Unimplemented error in TransactAsset
* add tests for tuple implementation of TransactAsset
* Update xcm/src/v0/traits.rs
Co-authored-by: Andronik Ordian <write@reusable.software>
Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
Co-authored-by: Andronik Ordian <write@reusable.software>
* CI: add spellcheck
* revert me
* CI: explicit command for spellchecker
* spellcheck: edit misspells
* CI: run spellcheck on diff
* spellcheck: edits
* spellcheck: edit misspells
* spellcheck: add rules
* spellcheck: mv configs
* spellcheck: more edits
* spellcheck: chore
* spellcheck: one more thing
* spellcheck: and another one
* spellcheck: seems like it doesn't get to an end
* spellcheck: new words after rebase
* spellcheck: new words appearing out of nowhere
* chore
* review edits
* more review edits
* more edits
* wonky behavior
* wonky behavior 2
* wonky behavior 3
* change git behavior
* spellcheck: another bunch of new edits
* spellcheck: new words are koming out of nowhere
* CI: finding the master
* CI: fetching master implicitly
* CI: undebug
* new errors
* a bunch of new edits
* and some more
* Update node/core/approval-voting/src/approval_db/v1/mod.rs
Co-authored-by: Andronik Ordian <write@reusable.software>
* Update xcm/xcm-executor/src/assets.rs
Co-authored-by: Andronik Ordian <write@reusable.software>
* Apply suggestions from code review
Co-authored-by: Andronik Ordian <write@reusable.software>
* Suggestions from the code review
* CI: scan only changed files
Co-authored-by: Andronik Ordian <write@reusable.software>