Skip to content
  1. Jan 16, 2024
    • Francisco Aguirre's avatar
      XCMv4 (#1230) · 8428f678
      Francisco Aguirre authored
      
      
      # Note for reviewer
      
      Most changes are just syntax changes necessary for the new version.
      Most important files should be the ones under the `xcm` folder.
      
      # Description 
      
      Added XCMv4.
      
      ## Removed `Multi` prefix
      The following types have been renamed:
      - MultiLocation -> Location
      - MultiAsset -> Asset
      - MultiAssets -> Assets
      - InteriorMultiLocation -> InteriorLocation
      - MultiAssetFilter -> AssetFilter
      - VersionedMultiAsset -> VersionedAsset
      - WildMultiAsset -> WildAsset
      - VersionedMultiLocation -> VersionedLocation
      
      In order to fix a name conflict, the `Assets` in `xcm-executor` were
      renamed to `HoldingAssets`, as they represent assets in holding.
      
      ## Removed `Abstract` asset id
      
      It was not being used anywhere and this simplifies the code.
      
      Now assets are just constructed as follows:
      
      ```rust
      let asset: Asset = (AssetId(Location::new(1, Here)), 100u128).into();
      ```
      
      No need for specifying `Concrete` anymore.
      
      ## Outcome is now a named fields struct
      
      Instead of
      
      ```rust
      pub enum Outcome {
        Complete(Weight),
        Incomplete(Weight, Error),
        Error(Error),
      }
      ```
      
      we now have
      
      ```rust
      pub enum Outcome {
        Complete { used: Weight },
        Incomplete { used: Weight, error: Error },
        Error { error: Error },
      }
      ```
      
      ## Added Reanchorable trait
      
      Now both locations and assets implement this trait, making it easier to
      reanchor both.
      
      ## New syntax for building locations and junctions
      
      Now junctions are built using the following methods:
      
      ```rust
      let location = Location {
          parents: 1,
          interior: [Parachain(1000), PalletInstance(50), GeneralIndex(1984)].into()
      };
      ```
      
      or
      
      ```rust
      let location = Location::new(1, [Parachain(1000), PalletInstance(50), GeneralIndex(1984)]);
      ```
      
      And they are matched like so:
      
      ```rust
      match location.unpack() {
        (1, [Parachain(id)]) => ...
        (0, Here) => ...,
        (1, [_]) => ...,
      }
      ```
      
      This syntax is mandatory in v4, and has been also implemented for v2 and
      v3 for easier migration.
      
      This was needed to make all sizes smaller.
      
      # TODO
      - [x] Scaffold v4
      - [x] Port github.com/paritytech/polkadot/pull/7236
      - [x] Remove `Multi` prefix
      - [x] Remove `Abstract` asset id
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      8428f678
  2. Nov 13, 2023
    • Adrian Catangiu's avatar
      pallet-xcm: enhance `reserve_transfer_assets` to support remote reserves (#1672) · 18257373
      Adrian Catangiu authored
      
      
      ## Motivation
      
      `pallet-xcm` is the main user-facing interface for XCM functionality,
      including assets manipulation functions like `teleportAssets()` and
      `reserve_transfer_assets()` calls.
      
      While `teleportAsset()` works both ways, `reserve_transfer_assets()`
      works only for sending reserve-based assets to a remote destination and
      beneficiary when the reserve is the _local chain_.
      
      ## Solution
      
      This PR enhances `pallet_xcm::(limited_)reserve_withdraw_assets` to
      support transfers when reserves are other chains.
      This will allow complete, **bi-directional** reserve-based asset
      transfers user stories using `pallet-xcm`.
      
      Enables following scenarios:
      - transferring assets with local reserve (was previously supported iff
      asset used as fee also had local reserve - now it works in all cases),
      - transferring assets with reserve on destination,
      - transferring assets with reserve on remote/third-party chain (iff
      assets and fees have same remote reserve),
      - transferring assets with reserve different than the reserve of the
      asset to be used as fees - meaning can be used to transfer random asset
      with local/dest reserve while using DOT for fees on all involved chains,
      even if DOT local/dest reserve doesn't match asset reserve,
      - transferring assets with any type of local/dest reserve while using
      fees which can be teleported between involved chains.
      
      All of the above is done by pallet inner logic without the user having
      to specify which scenario/reserves/teleports/etc. The correct scenario
      and corresponding XCM programs are identified, and respectively, built
      automatically based on runtime configuration of trusted teleporters and
      trusted reserves.
      
      #### Current limitations:
      - while `fees` and "non-fee" `assets` CAN have different reserves (or
      fees CAN be teleported), the remaining "non-fee" `assets` CANNOT, among
      themselves, have different reserve locations (this is also implicitly
      enforced by `MAX_ASSETS_FOR_TRANSFER=2`, but this can be safely
      increased in the future).
      - `fees` and "non-fee" `assets` CANNOT have **different remote**
      reserves (this could also be supported in the future, but adds even more
      complexity while possibly not being worth it - we'll see what the future
      holds).
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/1584
      Fixes https://github.com/paritytech/polkadot-sdk/issues/2055
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      18257373
  3. Oct 17, 2023
  4. Aug 31, 2023
    • Bastian Köcher's avatar
      Rename `polkadot-parachain` to `polkadot-parachain-primitives` (#1334) · a33d7922
      Bastian Köcher authored
      * Rename `polkadot-parachain` to `polkadot-parachain-primitives`
      
      While doing this it also fixes some last `rustdoc` issues and fixes
      another Cargo warning related to `pallet-paged-list`.
      
      * Fix compilation
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Fix XCM docs
      
      ---------
      
      Co-authored-by: command-bot <>
      a33d7922
  5. Aug 22, 2023
  6. Aug 07, 2023
  7. Jul 19, 2023
    • Francisco Aguirre's avatar
      Change Fixed to WeightInfoBounds for Polkadot (#7077) · cc9f8129
      Francisco Aguirre authored
      
      
      * Add polkadot XCM benchmarks
      
      * Add temp
      
      * ".git/.scripts/commands/bench/bench.sh" xcm polkadot pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm polkadot pallet_xcm_benchmarks::generic
      
      * Add weights to XCM on Polkadot
      
      * Make CI fail on old files
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update template
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add reserve_asset_deposited benchmark
      
      * ".git/.scripts/commands/bench/bench.sh" xcm kusama pallet_xcm_benchmarks::generic
      
      * Update weights
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Change initiate_reserve_deposit in runtime weights
      
      * Update weights
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Remove trusted reserves from runtimes
      
      * Fix pallet-xcm-benchmarks mock
      
      * Fix test
      
      * Change pallet xcm weigher in kusama
      
      * Fix
      
      * Remove merge conflict artifact
      
      * Remove initiate_reserve_withdraw from generic benchmarks
      
      * Add missing implementation to XCM benchmark
      
      * Fix failing karura test
      
      * Remove dbg!
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fix fmt
      
      * Revert "Fix fmt"
      
      This reverts commit 676f2d8db07d7427750c79f95494d4988d06fda5.
      
      * Fix fmt
      
      * Remove duplicated template code
      
      * Add back part of the template
      
      * ".git/.scripts/commands/bench-vm/bench-vm.sh" xcm polkadot pallet_xcm_benchmarks::fungible
      
      * Don't skip reserve asset deposited benchmark
      
      * Remove call to non-generated benchmark yet
      
      * Underscore unused parameter
      
      * Skip not supported benchmarks and hardcode value
      
      * Remove ReserveAssetDeposited benchmark
      
      * ".git/.scripts/commands/bench-vm/bench-vm.sh" xcm polkadot pallet_xcm_benchmarks::fungible
      
      * Add back ReserveAssetDeposited
      
      * ".git/.scripts/commands/bench-vm/bench-vm.sh" xcm polkadot pallet_xcm_benchmarks::fungible
      
      * Use default benchmark for ReserveAssetDeposited
      
      * Add missing parameter
      
      * Revert reserve asset deposited benchmark
      
      * ".git/.scripts/commands/bench-vm/bench-vm.sh" xcm kusama pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench-vm/bench-vm.sh" xcm westend pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm rococo pallet_xcm_benchmarks::fungible
      
      * Add 'real' benchmarks
      
      * Add TrustedReserve to actual XcmConfig
      
      * Add TrustedReserve to actual XcmConfig (fix)
      
      * Whitelist from benchmarking XCM storage keys read each block (#6871)
      
      * Whitelist from benchmarking XCM storage keys read each block
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
      
      * Remove XcmPallet SupportedVersion from the benchmark whitelist
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
      
      * WIP
      
      * Add necessary traits, remove unnecessary whitelisted keys
      
      * Fix tests
      
      * Remove unused file
      
      * Remove unused import
      
      ---------
      
      Co-authored-by: command-bot <>
      
      * ".git/.scripts/commands/bench/bench.sh" xcm kusama pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm kusama pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm kusama pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm rococo pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm westend pallet_xcm_benchmarks::fungible
      
      * Fix spellchecker issues
      
      * Remove unused migration code
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      cc9f8129
  8. May 25, 2023
    • Gavin Wood's avatar
      XCM: Tools for uniquely referencing messages (#7234) · 85dfadff
      Gavin Wood authored
      
      
      * Tools for unique topic references
      
      * Formatting
      
      * Naming
      
      * Repot into routing.rs.
      
      * More things done
      
      * Universal Exporter supports topic-as-reference
      
      * Some tests for the topic routing
      
      * More tests
      
      * Paid bridge tests
      
      * Add message ID to sending events
      
      * Formatting
      
      * fix and integrate into test nets
      
      * Move DenyThenTry and friend from Cumulus
      
      * Append SetTopic rather than prepend
      
      * Docs
      
      * Docs
      
      * Work with new ProcessMessage ID API
      
      * Formatting
      
      * Fix build
      
      * Fixes
      
      * Formatting
      
      * Update xcm/xcm-builder/src/barriers.rs
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      
      * Update xcm/xcm-builder/src/routing.rs
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      
      * Docs
      
      * Rename message_hash
      
      * Formatting
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Rename
      
      * Another Rename
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Update xcm/xcm-builder/src/routing.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      85dfadff
  9. Apr 27, 2023
    • Keith Yeung's avatar
      XCM: Implement a blocking barrier (#7098) · d20e3c11
      Keith Yeung authored
      * Move XCM matcher to xcm-builder
      
      * Use ProcessMessageError as the error type in MatchXcm and ShouldExecute
      
      * Implement a blocking barrier
      
      * Fixes
      
      * Add benchmarking for force_suspension
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend pallet_xcm
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo pallet_xcm
      
      ---------
      
      Co-authored-by: command-bot <>
      d20e3c11
  10. Apr 08, 2023
  11. Mar 04, 2023
    • Keith Yeung's avatar
      Introduce XCM matcher for writing barriers (#6756) · d29951e2
      Keith Yeung authored
      * Introduce XCM matcher for writing barriers
      
      * Fix compilation
      
      * cargo fmt
      
      * Add more doc comments
      
      * Add mod doc comment
      
      * More doc comments
      
      * Add tests and fix logic
      
      * Remove redundant syntax
      
      * Add more doc comments
      
      * Add more doc comments
      
      * Add more doc comments
      d29951e2
  12. Feb 25, 2023
  13. Jan 17, 2023
    • Gavin Wood's avatar
      XCM v3 (#4097) · 1a1bfd2a
      Gavin Wood authored
      
      
      * cargo fmt
      
      * Create benchmarks for XCM instructions introduced in v3 (#4564)
      
      * Create benchmarks for BurnAsset and ExpectAsset
      
      * Add benchmarks for ExpectOrigin and ExpectError
      
      * Add benchmarks for QueryPallet and ExpectPallet
      
      * Add benchmarks for ReportTransactStatus and ClearTransactStatus
      
      * cargo fmt
      
      * Use AllPalletsWithSystem in mocks
      
      * Update XCM generic benchmarks for westend
      
      * Remove default impls for some XCM weight functions
      
      * Fix compilation error
      
      * Add weight_args helper attribute
      
      * Remove manually written XcmWeightInfo
      
      * Parse trailing comma
      
      * Revert "Add weight_args helper attribute"
      
      This reverts commit 3b7c47a6182e1b9227036c38b406d494c3fcf6fd.
      
      * Fixes
      
      * Fixes
      
      * XCM v3: Introduce querier field into `QueryReponse` (#4732)
      
      * Introduce querier field into QueryReponse
      
      * Convert &Option<MultiLocation> to Option<&MultiLocation>
      
      &Option<T> is almost always never quite useful, most of the time it
      still gets converted to an Option<&T> via `as_ref`, so we should simply
      make functions that accept Option<&T> instead.
      
      * Fix tests
      
      * cargo fmt
      
      * Fix benchmarks
      
      * Appease spellchecker
      
      * Fix test
      
      * Fix tests
      
      * Fix test
      
      * Fix mock
      
      * Fixes
      
      * Fix tests
      
      * Add test for response queriers
      
      * Update xcm/pallet-xcm/src/lib.rs
      
      * Test for non-existence of querier
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Add `starts_with` function to `MultiLocation` and `Junctions` (#4835)
      
      * add matches_prefix function to MultiLocation and Junctions
      
      * rename matches_prefix to starts_with
      
      * remove unnecessary main in doc comment
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Make use of starts_with in match_and_split
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM v3: Bridge infrastructure (#4681)
      
      * XCM bridge infrastructure
      
      * Missing bit of cherry-pick
      
      * Revamped XCM proc macros; new NetworkIds
      
      * Fixes
      
      * Formatting
      
      * ExportMessage instruction and config type
      
      * Add MessageExporter definitions
      
      * Formatting
      
      * Missing files
      
      * Fixes
      
      * Initial bridging config API
      
      * Allow for two-stage XCM execution
      
      * Update xcm/src/v3/mod.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM crate building again
      
      * Initial bridging primitive
      
      * Docs
      
      * Docs
      
      * More work
      
      * More work
      
      * Merge branch 'gav-xcm-v3' into gav-xcm-v3-bridging
      
      * Make build
      
      * WithComputedOrigin and SovereignPaidRemoteExporter
      
      * Remove TODOs
      
      * Slim bridge API and tests.
      
      * Fixes
      
      * More work
      
      * First bridge test passing
      
      * Formatting
      
      * Another test
      
      * Next round of bridging tests
      
      * Repot tests
      
      * Cleanups
      
      * Paid bridging
      
      * Formatting
      
      * Tests
      
      * Spelling
      
      * Formatting
      
      * Fees and refactoring
      
      * Fixes
      
      * Formatting
      
      * Refactor SendXcm to become two-phase
      
      * Fix tests
      
      * Refactoring of SendXcm and ExportXcm complete
      
      * Formatting
      
      * Rename CannotReachDestination -> NotApplicable
      
      * Remove XCM v0
      
      * Minor grumbles
      
      * Formatting
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Cleanup XCM config
      
      * Fee handling
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Bump
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Bump Substrate
      
      * XCM v3: `ExchangeAsset` and Remote-locking (#4945)
      
      * Asset Exchange and Locks
      
      * Make sure XCM typers impl MaxEncodedLen
      
      * Basic implementation for locks
      
      * Bump Substrate
      
      * Missing files
      
      * Use new API
      
      * Introduce  instruction
      
      * Big refactor
      
      * Docs
      
      * Remove deprecated struct
      
      * Remove deprecated struct
      
      * Repot XCM builder tests
      
      * ExchangeAsset test
      
      * Exchange tests
      
      * Locking tests
      
      * Locking tests
      
      * Fixes and tests
      
      * Fixes
      
      * Formatting
      
      * Spelling
      
      * Add simulator test for remote locking
      
      * Fix tests
      
      * Bump
      
      * XCM v3: Support for non-fungibles (#4950)
      
      * NFT support and a test
      
      * New files.
      
      * Integration tests for sending NFTs
      
      * Formatting
      
      * Broken Cargo features
      
      * Use 2021 edition
      
      * Fixes
      
      * Formatting
      
      * Formatting
      
      * Update xcm/xcm-builder/src/asset_conversion.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update xcm/xcm-builder/src/nonfungibles_adapter.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update xcm/xcm-executor/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * XCM v3: Context & ID hash (#4756)
      
      * send_xcm returns message hash
      
      * cargo fmt
      
      * Create topic register and instructions
      
      * Fix weights
      
      * Use tabs
      
      * Sketch out XcmContext
      
      * Fix doc test
      
      * Add the XCM context as a parameter to executor trait fns
      
      * Fixes
      
      * Add XcmContext parameter
      
      * Revert adding context as an arg to SendXcm trait methods
      
      * Revert adding context argument to ConvertOrigin trait methods
      
      * cargo fmt
      
      * Do not change the API of XcmExecutor::execute
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove convenience method
      
      * Fixes
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Add benchmarks for XCM topic instructions
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Remove context argument on FilterAssetLocation
      
      * Fixes
      
      * Remove unused import
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Accept XCM hash parameter in ExecuteXcm trait methods
      
      * cargo fmt
      
      * Properly enable sp-io/std
      
      * Fixes
      
      * default-features = false
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Make XcmContext optional in withdraw_asset
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Modify tests to check for the correct XCM hash
      
      * Small refactor
      
      * cargo fmt
      
      * Check for expected hash in xcm-builder unit tests
      
      * Add doc comment for the optionality of the XCM context in withdraw_asset
      
      * Update xcm/src/v3/traits.rs
      
      * Update xcm/src/v3/traits.rs
      
      * Store XcmContext and avoid rebuilding
      
      * Use ref for XcmContext
      
      * Formatting
      
      * Fix incorrect hash CC @KiChjang
      
      
      
      * Refactor and make clear fake hashes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fix broken hashing
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove unknowable hash
      
      * Formatting
      
      * Use message hash for greater identifiability
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * Formatting
      
      * Remove horrible names
      
      * Bump
      
      * Remove InvertLocation trait (#5092)
      
      * Remove InvertLocation trait
      
      * Remove unneeded functions
      
      * Formatting
      
      * Fixes
      
      * Remove XCMv1 (#5094)
      
      * Remove XCMv1
      
      * Remove XCMv1
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * derive serialize/deserialize for xcm primitives (#5036)
      
      * derive serialize/deserialize for xcm primitives
      
      * derive serialize/deserialize for xcm primitives
      
      * update v3
      
      * update v2
      
      Co-authored-by: default avatarGav Wood <[email protected]>
      
      * Update lock
      
      * Fixes
      
      * Add benchmarks for the ExchangeAsset instruction
      
      * `AliasOrigin` instruction stub (#5122)
      
      * AliasOrigin instruction stub
      
      * Fixes
      
      * Fixes
      
      * Update substrate
      
      * Fixes
      
      * Ensure same array length before using copy_from_slice
      
      * Fixes
      
      * Add benchmarks for the UniversalOrigin instruction
      
      * Remove unused import
      
      * Remove unused import
      
      * Add benchmarks for SetFeesMode instruction
      
      * Add benchmarks for asset (un)locking instructions
      
      * Leave AliasOrigin unbenchmarked
      
      * Fixes after merge
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Set TrustedReserves to None on both Kusama and Westend
      
      * Remove extraneous reserve_asset_deposited benchmark
      
      * Fix universal_origin benchmark
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=westend-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/westend/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Don't rely on skipped benchmark functions
      
      * Fixes
      
      * cargo run --quiet --profile=production  --features=runtime-benchmarks -- benchmark pallet --chain=kusama-dev --steps=50 --repeat=20 --pallet=pallet_xcm_benchmarks::generic --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --template=./xcm/pallet-xcm-benchmarks/template.hbs --output=./runtime/kusama/src/weights/xcm/pallet_xcm_benchmarks_generic.rs
      
      * Fix unused variables
      
      * Fixes
      
      * Spelling
      
      * Fixes
      
      * Fix codec index of VersionedXcm
      
      * Allows to customize how calls are dispatched from XCM (#5657)
      
      * CallDispatcher trait
      
      * fmt
      
      * unused import
      
      * fix test-runtime
      
      * remove JustDispatch type
      
      * fix typo in test-runtime
      
      * missing CallDispatcher
      
      * more missing CallDispatcher
      
      * Update comment `NoteAssetLocked` -> `NoteUnlockable`
      
      * Fixes
      
      * Fixes
      
      * Adjust MultiAssets weights based on new wild card variants
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Some late fixes for XCMv3 (#5237)
      
      * Maximise chances that trapped assets can be reclaimed
      
      * Do origin check as part of ExportMessage for security
      
      * Formatting
      
      * Fixes
      
      * Cleanup export XCM APIs
      
      * Formatting
      
      * Update xcm/src/v3/junctions.rs
      
      * UnpaidExecution instruction and associated barrier.
      
      * Tighten barriers (ClearOrigin/QueryResponse)
      
      * Allow only 1 ClearOrigin instruction in AllowTopLevelPaidExecutionFrom
      
      * Bi-directional teleport accounting
      
      * Revert other fix
      
      * Build fixes]
      
      * Tests build
      
      * Benchmark fixes
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Update Substrate
      
      * Re-export `pub` stuff from universal_exports.rs + removed unecessary clone (#6145)
      
      * Re-export `pub` stuff from universal_exports.rs
      
      * Removed unnecessary clone
      
      * Use 2D weights in XCM v3 (#6134)
      
      * Depend upon sp-core instead of sp-runtime
      
      * Make sp-io a dev-dependency
      
      * Use 2D weights in XCM v3
      
      * cargo fmt
      
      * Add XCM pallet migration to runtimes
      
      * Use from_parts
      
      * cargo fmt
      
      * Fixes
      
      * cargo fmt
      
      * Remove XCMWeight import
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Use translate in migration
      
      * Increase max upward message size in tests
      
      * Fix doc test
      
      * Remove most uses of from_ref_time
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Add extrinsic benchmarking to XCM pallet
      
      * cargo fmt
      
      * Fixes
      
      * Use old syntax
      
      * cargo fmt
      
      * Fixes
      
      * Remove hardcoded weights
      
      * Add XCM pallet to benchmarks
      
      * Use successful origin
      
      * Fix weird type parameter compilation issue
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Use benchmarked XCM pallet weights
      
      * Fixes
      
      * Fixes
      
      * Use override instead of skip
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Replace Weight::MAX with 100b weight units
      
      * Add test to ensure all_gte in barriers is correct
      
      * Update xcm/src/v3/junction.rs
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * Add more weight tests
      
      * cargo fmt
      
      * Create thread_local in XCM executor to limit recursion depth (#6304)
      
      * Create thread_local in XCM executor to limit recursion depth
      
      * Add unit test for recursion limit
      
      * Fix statefulness in tests
      
      * Remove panic
      
      * Use defer and environmental macro
      
      * Fix the implementation
      
      * Use nicer interface
      
      * Change ThisNetwork to AnyNetwork
      
      * Move recursion check up to top level
      
      * cargo fmt
      
      * Update comment
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * Add upper limit on the number of overweight messages in the queue (#6298)
      
      * Add upper limit on the number of ovwerweight messages in the queue
      
      * Add newline
      
      * Introduce whitelist for Transact and limit UMP processing to 10 messages per block (#6280)
      
      * Add SafeCallFilter to XcmConfig
      
      * Limit UMP to receive 10 messages every block
      
      * Place 10 message limit on processing instead of receiving
      
      * Always increment the message_processed count whenever a message is processed
      
      * Add as_derivative to the Transact whitelist
      
      * cargo fmt
      
      * Fixes
      
      * Update xcm/xcm-builder/src/universal_exports.rs
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      
      * Fixes
      
      * Fixes
      
      * Remove topic register and instead use the topic field in XcmContext
      
      * Derive some common traits for DispatchBlobError
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fix comments
      
      * Fixes
      
      * Introduce WithOriginFilter and apply it as the CallDispatcher for runtimes
      
      * Fixes
      
      * Appease clippy and fixes
      
      * Fixes
      
      * Fix more clippy issues
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * Add benchmark function for ExportMessage
      
      * Fix comment
      
      * Add upper limit to DownwardMessageQueues size
      
      * Add max size check for queue in can_queue_downward_message
      
      * Fixes
      
      * Make Transact runtime call configurable
      
      * Return Weight::MAX when there is no successful send XCM origin
      
      * Update substrate
      
      * Fixes
      
      * Fixes
      
      * Remove ExportMessage benchmark
      
      * Remove assertion on Transact instruction benchmark
      
      * Make reachable destination configurable in XCM pallet benchmarks
      
      * Fixes
      
      * Fixes
      
      * Remove cfg attribute in fuzzer
      
      * Fixes
      
      * Remove cfg attribute for XCM pallet in test runtime
      
      * Fixes
      
      * Use ReachableDest where possible
      
      * Fixes
      
      * Add benchmark for UnpaidExecution
      
      * Update substrate
      
      * Ensure benchmark functions pass filters
      
      * Add runtime-benchmarks feature to fuzzer
      
      * Ensure FixedRateOfFungible accounts for proof size weights
      
      * cargo fmt
      
      * Whitelist remark_with_event when runtime-benchmarks feature is enabled
      
      * Use remark_with_event for Transact benchmarks
      
      * Fix Cargo.lock
      
      * Allow up to 3 DescendOrigin instructions before UnpaidExecution
      
      * cargo fmt
      
      * Edit code comment
      
      * Check check_origin for unpaid execution privilege
      
      * Fixes
      
      * Small nits for xcm-v3 (#6408)
      
      * Add possibility to skip benchmark for export_message
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      * Revert
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      * Add HaulBlobError to `fn haul_blob`
      
      * ".git/.scripts/bench-bot.sh" xcm westend-dev pallet_xcm_benchmarks::generic
      
      Co-authored-by: command-bot <>
      
      * Revert changes to UnpaidExecution
      
      * Change AllowUnpaidExecutionFrom to be explicit
      
      * Fix log text
      
      * cargo fmt
      
      * Add benchmarks for XCM pallet version migration (#6448)
      
      * Add benchmarks for XCM pallet version migration
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      * Fix benchmarks
      
      * Fix benchmarks
      
      * ".git/.scripts/bench-bot.sh" runtime westend-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime kusama-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime rococo-dev pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" runtime polkadot-dev pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Merge remote-tracking branch 'origin/master' into gav-xcm-v3
      
      * Fixes
      
      * Fix comments (#6470)
      
      * Specify Ethereum networks by their chain id (#6286)
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Use  for Kusama
      
      * Use WithComputedOrigin for Polkadot, Rococo and Westend
      
      * Update lock
      
      * Fix warning
      
      * Update xcm/pallet-xcm/src/tests.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * Update runtime/parachains/src/ump/migration.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Update xcm/pallet-xcm/src/migration.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Fixes
      
      * cargo fmt
      
      * Typo
      
      * Update xcm/src/v3/mod.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Docs
      
      * Update xcm/src/v3/multiasset.rs
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      
      * Add tests for MultiAssets::from_sorted_and_deduplicated
      
      * Fail gracefully when same instance NFTs are detected during push
      
      * Update Substrate to fix benchmarks
      
      * Apply suggestions from code review
      
      * Update runtime/kusama/src/xcm_config.rs
      
      * Rename arguments
      
      * Attempt to fix benchmark
      
      * ".git/.scripts/commands/bench/bench.sh" runtime polkadot-dev runtime_parachains::ump
      
      * Use actual weights for UMP pallet in Polkadot
      
      * ".git/.scripts/commands/bench/bench.sh" runtime kusama-dev runtime_parachains::ump
      
      * ".git/.scripts/commands/bench/bench.sh" runtime westend-dev runtime_parachains::ump
      
      * ".git/.scripts/commands/bench/bench.sh" runtime rococo-dev runtime_parachains::ump
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarAlexander Popiak <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarParity Bot <[email protected]>
      Co-authored-by: default avatarstanly-johnson <[email protected]>
      Co-authored-by: default avatarnanocryk <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarVincent Geddes <[email protected]>
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      1a1bfd2a
  14. Sep 12, 2022
    • Sergej Sakac's avatar
      Companion for #11981 (#5915) · 8ea6076f
      Sergej Sakac authored
      
      
      * Companion for #11981
      
      * more renaming
      
      * fmt
      
      * fixes
      
      * add generic type
      
      * Companion for #11831
      
      * fix
      
      * revert changes
      
      * Delete rename-outer-enum.diff
      
      * revert
      
      * Update run_benches_for_runtime.sh
      
      * rename type Call & type Event
      
      * passing tests
      
      * fmt
      
      * small fixes
      
      * commit
      
      * fix
      
      * fmt
      
      * commit
      
      * error fixes
      
      * fix
      
      * small fix in test
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * remove RuntimeCall from pallet_grandpa
      
      * last fix
      
      * commit
      
      * rename
      
      * merge fix
      
      * update lockfile for {"substrate"}
      
      * cargo +nightly fmt
      
      * fix
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      8ea6076f
  15. Aug 31, 2022
    • Shawn Tabrizi's avatar
      Companion for Weight v1.5 (#5943) · 28e94d97
      Shawn Tabrizi authored
      * fix to latest substrate pr
      
      * update weights
      
      * cargo build -p polkadot-runtime-parachains
      
      * fix xcm-builder
      
      * fix import
      
      * fix a bunch
      
      * fix a bunch of weight stuff
      
      * kusama compile
      
      * unused
      
      * builds
      
      * maybe fix
      
      * cargo test -p polkadot-runtime-parachains
      
      * xcm simulator example
      
      * fix tests
      
      * xcm sim fuzz
      
      * fix runtime tests
      
      * remove unused
      
      * fix integration tests
      
      * scalar div
      
      * update lockfile for {"substrate"}
      
      Co-authored-by: parity-processbot <>
      28e94d97
  16. Dec 01, 2021
    • antonio-dropulic's avatar
      Squashed 'bridges/' changes from 23dda62482..407bf44a8a · 392447f5
      antonio-dropulic authored
      407bf44a8a add missing license header (#1204)
      9babb19810  Custom relay strategy (#1198)
      c287872a11 fix clippy things (#1200)
      3a40e62789 Expose some const value and type (#1186)
      32b61476d1 increase sleep before connectingMillau (#1195)
      aabe7041fa revert messages transactions mortality (#1194)
      3651f4f909 Message transactions mortality (#1191)
      364d6e155d Bump dependencies (#1180)
      f0389acc08 cargo +nightly fmt --all (#1192)
      b270b6a016 Unify error enums in substrate and ethereum clients with `thiserror` (#1094)
      58c4946f74 Limit max call size of Rialto/Millau runtimes (#1187)
      fd56a8cd56 Add UI to the deployment (#1047)
      16f01dc736 Westend -> Millau alerts are pending before notifications are sent (#1184)
      5628c11ece replace collective flip with babe randomness in Rialto (#1188)
      1094a63b00 ignore another (pretty bad) RUSTSEC (#1185)
      379fe323ea fix/ignore cargo deny issues (#1183)
      92af5e6e64 additional log in finality relay + rephrase "failed" (#1182)
      b996a3b681 Rialto parachain in test deployments (#1178)
      28d9332b44 Resubmit transactions strategy for Polkadot/Kusama (#1175)
      d0172c6847 Playing with CI (#1179)
      fb6f42456d fix checks order when registering parachain (#1177)
      ee828c005a Register-parachain subcommand of substrate-relay (#1170)
      8cd2b1a112 Token swap pallet benchmarks (#1174)
      bb811accb1 fix collision with westend bridge (#1172)
      8d2fba70ed add token swaps to test deployments (#1169)
      b6d1bdfe2c publish rialto parachain collator image (#1171)
      834ae4a10a Fix OutboundLaneData types (#1159)
      5ee0ea1626 copypasted -> copied (#1168)
      c3bb835f18 fix spelling (#1167)
      f90d041dc9 Upgrade `jsonrpsee` to v0.3 (#1051)
      598c9b6d0d add some basic tests for swap tokens (#1164)
      05e88c61f5 publish images when tag of specific format(e.g. v2021-09-27 + v2021-09-27-1) is published (#1166)
      7f3f94a6e0 Fix CI again (#1165)
      ff37de332f Move calculation relayer reward into `MessageDeliveryAndDispatchPayment` (#1153)
      36fbba839b fix clippy warning (#1163)
      16da44d018 explicit wasm build (#1158)
      c9c8226449 Match substrate's fmt (#1148)
      2fdd7f3e5e Fix/ignore clippy warnings (#1157)
      43dfcc2686 Adding LookupAddress (#1156)
      951eaa5582 Add rialto-parachain runtime and node (#1142)
      803d266d61 Rename MessageId -> BridgeMessageId (#1152)
      5f234484fc Box large arguments of GRANDPA pallet (#1154)
      cf9abc1011 Fix spelling (#1150)
      ab83ba2e58 Relay subcommand that performs token RLT <> MLAU token swap (#1141)
      832536caf0 Polkadot <> Kusama relayers (#1122)
      6d0daa8975 Add `OnMessageAccepted` callback (#1134)
      5d03a20b3e Integrate token swap pallet into Millau runtime (#1099)
      ea4cfa833e Adding MultiAddress type and ValidationCodeHash (#1139)
      c20325a784 Add tests for `Raw` and `BridgeSendMessage` enum `Call` variants (#1125)
      6d802416e2 increase pause before pining Rialto nodes (#1137)
      b54fa56b62 calculate fee using full message payload (#1132)
      ca5d8178f5 Add parachain pallets to rialto runtime (#1053)
      9eaae4142e fix transaction resubmitter limits for Millau -> Rialto transactions (#1135)
      9d4e17783c add --mandatory-headers-only cli option to complex relay (#1129)
      1c5e0ec1cb Add local CI info to README (#1131)
      a8e0929e14 chore: spellchecker fixes (#1130)
      3b8e2118e3 set fee for importing mandatory headers to zero (#1127)
      49bba9aa52 another bunch of words for spellchecker (#1128)
      8a72eafef6 Increase pause before messages generation start (#1126)
      1f0ba9a191 Move some associated types from relay_substrate_client::Chain to bp_runtime::Chain (#1087)
      74bc1a5b54 Transactions resubmitter (#1083)
      21ba001f26 log max balance drop when sending message (#1117)
      638a7ddffa Code Cleaning (#1124)
      be6555c51b Fix buildah logout (#1120)
      87539c4a98 Format code work (#1116)
      526fe7fdd7 fix spelling (#1119)
      bd4ce7f241 Fix spelling (#1118)
      3c1147858e added missing constants to Kusama/Polkadot primitives (#1114)
      52093b22ab Fix delivery transaction estimation used by rational relayer (#1109)
      77a2f2fbed Remove fund account checks from upgrade. (#1111)
      824334802b Rename param and update comment (#1108)
      d7784bfe06 Fix spellcheck (#1110)
      0b18f5906a Refactor substrate messages source and substrate messages target (#1105)
      b27240bbff fix compilation (#1107)
      9697da4fe8 Emit mortal transactions from relay (#1073)
      b29396c077 Change vault vars type to env vars (#1084)
      35e0bbdc0c Make clippy mandatory. (#1103)
      a517e8541f Remove unused deps (#1102)
      873dae608a Remove unnessary deps (#1101)
      13450b74ee Stored conversion rate updater (#1005)
      74389829f3 [BREAKING] Migrate messages pallet to frame v2 (#1088)
      424da938dd README fix (#1100)
      865744c909 upgrade currency exchange pallet to frame v2 (#1097)
      b5038148b3 Add missing docs (#1095)
      0791e911c1 Common crate for substrate-relay (#1082)
      3834c9d880 Update high-level-overview.md (#1093)
      c93553face Increase the time window for messaging alerts. (#1092)
      8b9cc3cecd migrate pallet-shift-session-manager to frame v2 (#1090)
      dc91813c22 migrate eth PoA pallet to frame v2 (#1091)
      f16bb098cc Migrate dispatch pallet  to frame v2 (#1089)
      19f4325348 Bridge/This Chain Ids should be exposed as constants on pallet level. (#1085)
      6381122df7 Change ChainSpec::from_genesis for Rialto and Millau chains to reflect the chain names. (#1079)
      0f1d33e973 Make CI happy again (#1086)
      238e65d96f fix typo (#1080)
      fc008457b6 Token-swap-over-bridge pallet (#944)
      3fb97fa5ef Fix full spellcheck (#1076)
      eae4ed7170 fixed wrong trace (#1075)
      219a0fad04 merge two weight-related loops in messages pallet (#1071)
      fc85632fdb increase_message_fee depends on stored mesage size (#1066)
      530f37a23b companion for https://github.com/paritytech/polkadot/pull/3507 (#1067)
      53b8cba683 sc_basic_authorship=trace for millau nodes (#1074)
      9874e05e98 Improve traces of message generator scripts (#1069)
      7b5ee84fbb extract message_details impl into runtime common (#1070)
      5a4aed5a8b refund weight for mot pruning messages (#1062)
      90e3d1e111 Fix Westend -> Millau sync (#1064)
      427d30ddfc When restarting client, also "restart" tokio runtime (#1065)
      d47c05eeef Change get pipeline sensitive variables from Vault instead of GitLab settings (#1063)
      d775a85415 use tokio reactor to execute jsonrpsee futures (#1061)
      15c8cd61cb Use BABE to author blocks on Rialto (previously: Aura) (#1050)
      5186293500 Allow reading suri && password override from file (#1059)
      b506298262 Update jsonrpsee reference (#1049)
      1734d00517 enable weight fee adjustent in Rialto/Millau (#1044)
      607265afae Pay dispatch fee at target chain cli option (#1043)
      ce79ef91be bump dependencies before start referencing polkadot repo (#1048)
      924fa24f6d Cli option for greedy relayer + run no-losses relayer by default (#1042)
      e21eba7b59 Yrong README Fixup + M1 Fixes (#1045)
      20d08204a2 Confirm delivery detects when more than expected messages are confirmed (#1039)
      994b846b52 pre and post dispatch weights of OnDeliveryConfirmed callback (#1040)
      1dd5297e84 give real value to Rialto and Millau tokens (#1038)
      035bee8715 Use real conversion rate in greedy relayer strategy (#1035)
      9cfaecd0f7 fixed metrics prefix (#1037)
      1d8d224937 Use kebab-case for bridge arguments (#1036)
      f30a4c79a6 Shared reference to conversion rate metric value (#1034)
      c34d7a5cbb estimate transaction fee (#1015)
      93404b18bb change alert period from 2m to 10m for Westend -> Millau (GRANDPA or public node itself is lagging sometimes) (#1032)
      
      git-subtree-dir: bridges
      git-subtree-split: 407bf44a8a5f4e60aceef2dc755cd9ff09929ac3
      392447f5
  17. Nov 11, 2021
    • Alexander Popiak's avatar
      Add more XCM tracing (#4211) · 8156dbe7
      Alexander Popiak authored
      * add more logging to currency adapter
      
      * add more logging to barriers
      
      * reformat currency adapter trace logs
      
      * add tracing logs for filter asset location
      
      * add tracing logs to fungibles adapter
      
      * add tracing to origin conversion
      
      * add tracing logs for xcm weight trading
      
      * fix compile errors
      
      * add more tracing logs to xcm executor
      
      * formatting and compile fixes
      
      * add some tracing logs to pallet-xcm
      
      * adjust log target in executor to debug
      
      * fix closure args
      8156dbe7
  18. 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
  19. Aug 28, 2021
    • 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
  20. 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
  21. 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
  22. 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
  23. Aug 06, 2021
  24. Aug 02, 2021
  25. Jun 03, 2021
  26. May 01, 2021
    • asynchronous rob's avatar
      Add parachains modules to Westend and Kusama runtimes (#2854) · 2d18b261
      asynchronous rob authored
      
      
      * add `force_set_active_config`
      
      * add parachains modules to Westend
      
      * add parachains modules to Kusama runtime
      
      * use real runtime API impl
      
      * add module indices and remove auctions, crowdloan
      
      * add benchmarks
      
      * remove previous migrations and add host configuration set migration
      
      * make compile
      
      * Add Call Filter for Registrar and Slots except Root
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/
      
      * fix build
      
      * update `add_benchmark`
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_paras_registrar.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=kusama-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/kusama/src/weights/runtime_common_slots.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::paras_registrar --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_paras_registrar.rs
      
      * cargo run --release --features=runtime-benchmarks -- benchmark --chain=westend-dev --steps=50 --repeat=20 --pallet=runtime_common::slots --extrinsic=* --execution=wasm --wasm-execution=compiled --heap-pages=4096 --header=./file_header.txt --output=./runtime/westend/src/weights/runtime_common_slots.rs
      
      * fix weights
      
      * tweak more constants
      
      * Fix up the kusama runtime
      
      * Westend runtime fixups
      
      * Fix MMR & Beefy for westend
      
      * Fixes
      
      * fix tests
      
      * Update runtime/polkadot/src/constants.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Update runtime/westend/src/lib.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarParity Benchmarking Bot <[email protected]>
      Co-authored-by: default avatarGav Wood <[email protected]>
      2d18b261
  27. Apr 07, 2021
    • Gavin Wood's avatar
      XCM revamp (#2836) · adc238ad
      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: default avatarShawn Tabrizi <[email protected]>
      
      * Fixes
      
      * Docs
      
      * Update runtime/parachains/src/ump.rs
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Docs
      
      * Fixes
      
      * Fixes
      
      * Introduce transfer_asset specialisation.
      
      * Fixes
      
      * Fixes
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      adc238ad