1. Aug 19, 2021
    • 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
  2. Aug 18, 2021
  3. 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
  4. Aug 16, 2021
  5. Aug 13, 2021
  6. Aug 11, 2021
  7. 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
  8. 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
  9. Aug 06, 2021
  10. Aug 05, 2021
  11. 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
  12. Aug 02, 2021
  13. 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
  14. Jul 26, 2021
  15. 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
  16. Jul 05, 2021
  17. Jul 02, 2021
  18. Jul 01, 2021
  19. Jun 25, 2021
  20. Jun 21, 2021
  21. Jun 17, 2021
  22. Jun 16, 2021
  23. Jun 14, 2021
  24. Jun 12, 2021
  25. Jun 03, 2021