1. Sep 15, 2021
    • Sergey Pepyakin's avatar
      UMP: Support Overweight messages (#3575) · 13906d62
      Sergey Pepyakin authored
      
      
      * 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: default avatarAlexander Popiak <[email protected]>
      
      * 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: default avatarAlexander Popiak <[email protected]>
      
      * Expose migration functions
      
      * Fix spellcheck
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      13906d62
  2. Sep 07, 2021
  3. Sep 06, 2021
  4. Sep 04, 2021
  5. Sep 02, 2021
  6. Aug 30, 2021
  7. Aug 28, 2021
    • Keith Yeung's avatar
      Return a Result in invert_location (#3730) · 64cbeab3
      Keith Yeung authored
      * Return a Result in invert_location
      
      * Add invertible to spellcheck dictionary
      
      * Fix Some -> Ok
      64cbeab3
    • Gavin Wood's avatar
      XCM: Allow reclaim of assets dropped from holding (#3727) · 636d0b03
      Gavin Wood authored
      * XCM: Introduce AssetTrap
      
      * Revert reversions
      
      * Remove attempts at weighing and add test
      
      * Less storage use for asset trapping
      
      * Add missing file
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Docs
      
      * Filter types to allow runtimes to dictate which assets/origins should be trapped
      
      * Formatting
      
      * Tests
      
      * Formatting
      
      * Fixes
      
      * Docs
      636d0b03
  8. Aug 26, 2021
    • Gavin Wood's avatar
      XCM v2: Scripting, Query responses, Exception handling and Error reporting (#3629) · 8b80b283
      Gavin Wood authored
      * 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
      8b80b283
  9. Aug 23, 2021
  10. Aug 19, 2021
    • Shawn Tabrizi's avatar
      Replace `()` filter with `Nothing` (#3665) · 4d4562f5
      Shawn Tabrizi authored
      * replace `()` filter with `Nothing`
      
      * import nothing
      
      * add nothing
      
      * update Substrate
      
      Co-authored-by: parity-processbot <>
      4d4562f5
    • Keith Yeung's avatar
      Use proc macros to generate conversion functions for MultiLocation (#3635) · 8feed6ae
      Keith Yeung authored
      * 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
      8feed6ae
  11. Aug 18, 2021
  12. Aug 17, 2021
    • Amar Singh's avatar
      Make xcm-simulator async with more tests (#3618) · 6718e10f
      Amar Singh authored
      
      
      * make xcm simulator async
      
      * fmt
      
      * nightly fmt
      
      * Update xcm/xcm-simulator/example/src/parachain.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * accept keith review suggestion
      
      * master.into
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      6718e10f
    • Alexander Popiak's avatar
      add integration tests to xcm-builder (#3537) · 7b054850
      Alexander Popiak authored
      
      
      * 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: default avatarAmar Singh <[email protected]>
      
      * 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: default avatarKian Paimani <[email protected]>
      
      * Update xcm/xcm-builder/src/integration_tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * Update xcm/xcm-builder/src/integration_tests.rs
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      
      * 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: default avatarKian Paimani <[email protected]>
      
      * Reword comment
      
      Co-authored-by: default avatarAmar Singh <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      7b054850
  13. Aug 16, 2021
  14. Aug 13, 2021
  15. Aug 11, 2021
  16. Aug 09, 2021
    • Keith Yeung's avatar
      Ensure MultiLocation always has a canonical representation (#3404) · 15568730
      Keith Yeung authored
      
      
      * 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: default avatarAlexander Popiak <[email protected]>
      
      * Update xcm/src/v0/multiasset.rs
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Update xcm/src/v0/multiasset.rs
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * Update xcm/src/v0/multiasset.rs
      
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      
      * 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: default avatarAmar Singh <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAmar Singh <[email protected]>
      
      * fmt
      
      * Add v0, remove VersionedMultiAsset
      
      * Remove VersionedMultiLocation
      
      * Update xcm/src/v1/order.rs
      
      Co-authored-by: default avatarAmar Singh <[email protected]>
      
      * Update xcm/src/v1/mod.rs
      
      Co-authored-by: default avatarAmar Singh <[email protected]>
      
      * XCM v0 backwards compatibility
      
      * Full compatibility
      
      * fmt
      
      * Update xcm/pallet-xcm/src/lib.rs
      
      * Update xcm/src/v0/order.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * 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: default avatarGav Wood <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarAmar Singh <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      15568730
    • Gavin Wood's avatar
      Minor fix to encoding for XCM v1 (#3602) · 2574398d
      Gavin Wood authored
      2574398d
    • Shawn Tabrizi's avatar
      Fix Backwards Compatability with v0 Response (#3597) · d5bc262d
      Shawn Tabrizi authored
      * fix junction + response
      
      * Update xcm/src/v1/mod.rs
      
      * better comment
      d5bc262d
  17. Aug 07, 2021
    • Gavin Wood's avatar
      Companion to #9514 (Remove Filter and use Contains instead) (#3591) · 9800d22b
      Gavin Wood authored
      * Remove Filter and use Contains instead
      
      * Fixes
      
      * Remove patch
      
      * Formatting
      
      * update Substrate
      
      Co-authored-by: parity-processbot <>
      9800d22b
    • Shawn Tabrizi's avatar
      Harden XCM v1 for Recursions (#3586) · 9ee8013d
      Shawn Tabrizi authored
      
      
      * 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: default avatarKian Paimani <[email protected]>
      
      * 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: default avatarGavin Wood <[email protected]>
      
      * 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: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      9ee8013d
    • thiolliere's avatar
      companion: for call usage https://github.com/paritytech/substrate/pull/9418 (#3522) · f78f8036
      thiolliere authored
      * 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 <>
      f78f8036
  18. Aug 06, 2021
  19. Aug 05, 2021
  20. Aug 03, 2021
    • Amar Singh's avatar
      Add unit tests to pallet-xcm (#3539) · 90e6d318
      Amar Singh authored
      * 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
      90e6d318
  21. Aug 02, 2021
  22. Aug 01, 2021
    • Shaun W's avatar
      XCM simulator (#3538) · 1b0baab4
      Shaun W authored
      * 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.
      1b0baab4
  23. Jul 26, 2021
  24. Jul 14, 2021
    • Denis_P's avatar
      WIP: CI: add spellcheck (#3421) · fc253e6e
      Denis_P authored
      
      
      * 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: default avatarAndronik Ordian <[email protected]>
      
      * Update xcm/xcm-executor/src/assets.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * Suggestions from the code review
      
      * CI: scan only changed files
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      fc253e6e