1. 28 Aug, 2021 1 commit
    • Gavin Wood's avatar
      XCM: Allow reclaim of assets dropped from holding (#3727) · 8ea76695
      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
      8ea76695
  2. 26 Aug, 2021 1 commit
    • Gavin Wood's avatar
      XCM v2: Scripting, Query responses, Exception handling and Error reporting (#3629) · d8d5ce28
      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
      d8d5ce28
  3. 17 Aug, 2021 1 commit
  4. 09 Aug, 2021 1 commit
    • Keith Yeung's avatar
      Ensure MultiLocation always has a canonical representation (#3404) · 0f5e37ce
      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 <alexander.popiak@parity.io>
      
      * Update xcm/src/v0/multiasset.rs
      Co-authored-by: default avatarAlexander Popiak <alexander.popiak@parity.io>
      
      * Update xcm/src/v0/multiasset.rs
      Co-authored-by: default avatarAlexander Popiak <alexander.popiak@parity.io>
      
      * Update xcm/src/v0/multiasset.rs
      Co-authored-by: default avatarAlexander 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: default avatarAmar Singh <asinghchrony@protonmail.com>
      
      * Apply suggestions from code review
      Co-authored-by: default avatarAmar Singh <asinghchrony@protonmail.com>
      
      * fmt
      
      * Add v0, remove VersionedMultiAsset
      
      * Remove VersionedMultiLocation
      
      * Update xcm/src/v1/order.rs
      Co-authored-by: default avatarAmar Singh <asinghchrony@protonmail.com>
      
      * Update xcm/src/v1/mod.rs
      Co-authored-by: default avatarAmar 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's avatarShawn 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: default avatarGav Wood <gavin@parity.io>
      Co-authored-by: default avatarAlexander Popiak <alexander.popiak@parity.io>
      Co-authored-by: default avatarAmar Singh <asinghchrony@protonmail.com>
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      0f5e37ce
  5. 06 Aug, 2021 1 commit
  6. 02 Aug, 2021 1 commit
  7. 03 Jun, 2021 1 commit
  8. 27 Apr, 2021 2 commits
  9. 11 Apr, 2021 1 commit
  10. 07 Apr, 2021 1 commit
    • Gavin Wood's avatar
      XCM revamp (#2836) · 12a3e03f
      Gavin Wood authored
      
      
      * Remove unused relaying XCM
      
      * Aggregate HRMP (XCMP/HMP) messages. Payloads for spambot.
      
      * Revert lock
      
      * Fix
      
      * Broken example
      
      * Introduce fee payment mechanics into XCM.
      
      * Weight limitations on XCM execution
      
      * Mock environment for tests and the first test
      
      * Tests for XCM and a few refactors.
      
      * Remove code that's not ready
      
      * Fix for an XCM and an additional test
      
      * Query response system
      
      * XCMP message dispatch system reimagining
      
      - Moved most of the logic into xcm-handler pallet
      - Altered the outgoing XCMP API from push to pull
      - Changed underlying outgoing queue data structures to avoid multi-page read/writes
      - Introduced queuing for incoming messages
      - Introduced signal messages as a flow-control sub-stream
      - Introduced flow-control with basic threshold back-pressure
      - Introduced overall weight limitation on messages executed
      - Additonal alterations to XCM APIs for the new system
      
      * Some build fixes
      
      * Remove the Encode bounds sprayed around
      
      * More faff
      
      * Fix bounds amek use latest scale codec.
      
      * remove println
      
      * fixes
      
      * Fix XcmExecutor Tests
      
      * Fix XCM bounds using derivative crate
      
      * Refactor names of XcmGeneric &c into Xcm
      
      * Repot the xcm-executor into xcm-builder
      
      * Docs
      
      * Docs
      
      * Fixes
      
      * Update xcm/src/lib.rs
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Fixes
      
      * Docs
      
      * Update runtime/parachains/src/ump.rs
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Introduce transfer_asset specialisation.
      
      * Fixes
      
      * Fixes
      Co-authored-by: Shawn Tabrizi's avatarShawn Tabrizi <shawntabrizi@gmail.com>
      12a3e03f