1. Sep 29, 2021
    • Keith Yeung's avatar
      Make most XCM APIs accept an Into<MultiLocation> where MultiLocation is accepted (#3627) · 819849f0
      Keith Yeung authored
      * Change send_xcm MultiLocation argument to be generic
      
      * Change pallet_xcm::send_xcm MultiLocation and Junctions argument to be generic
      
      * Change convert_origin MultiLocation argument to be generic
      
      * Change OnResponse MultiLocation arguments to be generic
      
      * Change UniversalWeigher MultiLocation argumente to be generic
      
      * Change ExecuteXcm MultiLocation argument to be generic
      
      * Remove usages of into for the MultiLocation argument in execute_xcm
      
      * Make use of generic MultiLocation arguments in rustdocs
      
      * Cargo fmt
      
      * Remove unused import in tests
      
      * Resolve conflicts
      
      * cargo fmt
      
      * Appease spellcheck
      
      * impl Into<MultiLocation> in more places
      819849f0
    • Bernhard Schuster's avatar
      remove `AllSubsystems` and `AllSubsystemsGen` types (#3874) · c57a1e79
      Bernhard Schuster authored
      
      
      * introduce the OverseerConnector, use it
      
      * introduce is_relay_chain to RelayChainSelection
      
      * Update node/service/src/lib.rs
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      
      * avoid the deferred setting of `is_relay_chain` in `RelayChainSelection`
      
      * positive assertion is not mandated, only the negative one, to avoid a stall
      
      * cleanup: overseer residue
      
      * spellcheck
      
      * fixin
      
      * groundwork to obsolete Overseer::new and AllSubsystemsGen proc-macro
      
      * Now all malus & tests can be ported to the builder pattern.
      
      Obsoletes `Overseer::new`, `AllSubsystemsGen` derive macro, `AllSubsystems`.
      
      * spellcheck
      
      * adjust tests, minor fixes
      
      * remove derive macro AllSubsystemsGen
      
      * add forgotten file dummy.rs
      
      * remove residue
      
      * good news everyone!
      
      * spellcheck
      
      * address review comments
      
      * fixup imports
      
      * make it conditional
      
      * fixup docs
      
      * reduce import
      
      * chore: fmt
      
      * chore: fmt
      
      * chore: spellcheck / nlprules
      
      * fixup malus variant-a
      
      * fmt
      
      * fix
      
      * fixins
      
      * pfmt
      
      * fixins
      
      * chore: fmt
      
      * remove expanded overseer generation
      
      * tracing version
      
      * Update node/network/statement-distribution/src/lib.rs
      
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      
      * use future::ready instead
      
      * silence warning
      
      * chore: fmt
      
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarRobert Habermeier <[email protected]>
      c57a1e79
  2. Sep 15, 2021
    • Andrew Jones's avatar
      Companion for #8615: enrich metadata with type information (#3336) · 4c7539ca
      Andrew Jones authored
      
      
      * Use beefy branch with scale-info
      
      * Add patches
      
      * Sprinkle some TypeInfo derives
      
      * Add some TypeInfo deriv
      
      * Cargo.lock
      
      * Derive TypeInfo and skip type params for Xcm types
      
      * Cargo.lock
      
      * Fix up scale_info bounds attributes
      
      * Fix up dependencies
      
      * Use my own beefy-primitives branch
      
      * Bump BEEFY
      
      * Update patches
      
      * Add some scale-info dependencies and TypeInfo derives
      
      * More TypeInfo decoration
      
      * Update scale-info
      
      * Some TypeInfos and remove more Event pallet::metadata
      
      * Moar TypeInfos
      
      * TypeInfos galore, fix up metadata runtime API
      
      * TypeInfo
      
      * TypeInfos, update other runtime metadata APIs
      
      * Fix up Kusama, comment out some `usize` QueueSize parameter types
      
      * Remove local diener patches
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Update to scale-info crates.io release
      
      * Update primitive-types branch
      
      * Update pallet-beefy to use custom branch
      
      * Update other parity-common deps
      
      * Update parity-common patches
      
      * bump a bunch of deps in parity-common
      
      * Remove parity-common patches
      
      * Bump finality-grandpa version
      
      * Cargo.lock
      
      * Update scale-info to 0.9.1
      
      * Add recursion_limit for runtime-parachains
      
      * Add some scale_info attributes
      
      * Cargo.lock
      
      * Revert finality-grandpa bump
      
      * Cargo.lock, scale-info update
      
      * cargo update
      
      * Make sure using patched version of finality-grandpa
      
      * Use patched scale-info
      
      * Update to scale-info 0.10.0
      
      * Update finality-grandpa
      
      * Cargo.lock
      
      * Update beefy deps
      
      * Update beefy deps again
      
      * Add scale-info dependency
      
      * Remove deprecated pallet::metadata attributes.
      
      * Add some missing scale-info deps and derives
      
      * Use some variant struct call syntax
      
      * Add missing TypeInfo impl
      
      * Add some more TypeInfo impls
      
      * Convert some call enum struct variant constructors
      
      * More scale-info deps and derives
      
      * Call enum struct variants
      
      * TypeInfo derives
      
      * Call enum variant structs
      
      * scale-info deps and derives
      
      * Call enum variant struct constructors
      
      * Use beefy-primitives scale-info feature
      
      * Use grandpa-bridge-gadget master branch
      
      * Remove finality-grandpa patch
      
      * Add missing scale_info dependency and derive
      
      * Fix up some call variant constructors
      
      * Add missing scale_info dependency
      
      * Fix some test errors
      
      * More TypeInfo derives
      
      * More call variant structs
      
      * Call variant structs in tests
      
      * Cargo.lock
      
      * Fmt
      
      * Fix more call struct variants
      
      * Another call struct variant
      
      * add scale-info/std features explicitly
      
      * More call struct variants
      
      * Add missing scale-info dependency
      
      * Fmt
      
      * review: activate scale-info/std where missing
      
      * Remove some duplicate std feature activation
      
      * review: add scale_info bounds() attr
      
      * More call variant structs
      
      * Remove recursion limit
      
      * Update beefy-primitives
      
      * Update beefy-primitives
      
      * Fix simnet call variant struct errors
      
      * Fmt
      
      * cargo update -p beefy-primitives
      
      * Add some missing TypeInfo derives
      
      * Fix some call variants
      
      * Fix some call variant underscores
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add missing TypeInfo derive
      
      * Add some more missing TypeInfo derives
      
      * Even more missing TypeInfo derives
      
      * Add TypeInfo derives to new xcm types
      
      * Fmt
      
      * Cargo.lock
      
      * Add missing TypeInfo impls
      
      * Cargo.lock
      
      * More missing TypeInfos
      
      * Fixes
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Add TypeInfo impls to xcm v2
      
      * Update to scale-info 1.0
      
      * Update finality-grandpa 0.14.4, patch for now
      
      * Update beefy
      
      * Remove patched finality-grandpa
      
      * Add TypeInfo impl to Outcome
      
      * Fixes
      
      * Call variant struct
      
      * Call variant struct
      
      * Fix test
      
      * Add TypeInfo impl
      
      * Cargo.lock
      
      * Cargo.lock
      
      * Cargo.lock
      
      * git checkout master Cargo.lock
      
      * update Substrate
      
      * Add missing scale-info features for beefy-primitives
      
      * Fmt
      
      * Remove check for now
      
      * Update beefy-primitives, removes scale-info feature
      
      * Update beefy-primitives again
      
      Co-authored-by: default avataradoerr <[email protected]>
      Co-authored-by: default avatarAndronik Ordian <[email protected]>
      Co-authored-by: default avatarthiolliere <[email protected]>
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      4c7539ca
  3. Sep 02, 2021
    • Gavin Wood's avatar
      XCM: Automatic Version Negotiation (#3736) · 82ffe7dd
      Gavin Wood authored
      
      
      * XCM: Automatic Version Negotiation
      
      * Introduce the version instructions and subscription trait
      
      * Notification and subscription data migration
      
      * Version change subscriptions
      
      * Fixes
      
      * Formatting
      
      * Spelling
      
      * Fixes
      
      * Fixes
      
      * Automatic unsubscription
      
      * Formatting
      
      * Expose remote origin in VM and ensure it is unchanged from actual origin in subscription instructions.
      
      * Barrier
      
      * Unsubscription extrinsic
      
      * Remove top_level param
      
      * Formatting
      
      * Fixes
      
      * Automatic subscription
      
      * Formatting
      
      * Spelling
      
      * Unit tests for XCM executor
      
      * Formatting
      
      * Spellin
      
      * Unit test for XCM pallet subscriber side
      
      * Formatting
      
      * More tests
      
      * Formatting
      
      * Fixes
      
      * Subscription-side tests
      
      * Formatting
      
      * Unit tests for XCM pallet
      
      * Formatting
      
      * Update roadmap/implementers-guide/src/types/overseer-protocol.md
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Remove commented code
      
      * Grumbles
      
      * Multi-stage XCM version migration
      
      * Formatting
      
      * v1 subscriptions backport
      
      * Warning
      
      * Spelling
      
      * Fix grumbles
      
      * Formatting
      
      * Avoid running through old notifications
      
      * Formatting
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      82ffe7dd
  4. 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
  5. 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
  6. Aug 23, 2021
  7. Aug 17, 2021
    • 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
  8. Aug 16, 2021
  9. Aug 13, 2021
  10. Aug 11, 2021
  11. 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
  12. Aug 07, 2021
  13. Aug 06, 2021
  14. Aug 05, 2021
  15. 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
  16. Aug 02, 2021
  17. Jul 05, 2021
  18. Jun 16, 2021
  19. Jun 12, 2021
  20. May 31, 2021
  21. May 12, 2021
  22. May 10, 2021
  23. Apr 28, 2021
  24. Apr 27, 2021
  25. Apr 09, 2021
    • Gavin Wood's avatar
      XCM Revamp Continued (#2865) · c9102c11
      Gavin Wood authored
      
      
      * Introduce plurality XCM locations
      
      * Add RelayedFrom
      
      * DMP dispatch weight handling.
      
      * Add pallet for XCM sending, add routing logic.
      
      * Update error types & doc
      
      * Fix warnings.
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Bump Substrate
      
      * Fixes
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Update xcm/pallet-xcm/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Docs
      
      * Fixes
      
      * Update lib.rs
      
      * Fixes
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      c9102c11