Skip to content
  1. 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
  2. Aug 23, 2021
  3. Aug 19, 2021
  4. Aug 17, 2021
  5. Aug 11, 2021
  6. 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
  7. 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
  8. Aug 06, 2021
  9. Aug 05, 2021
  10. 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