1. Apr 22, 2024
  2. Mar 19, 2024
    • Juan Ignacio Rios's avatar
      Add HRMP notification handlers to the xcm-executor (#3696) · 8b3bf39a
      Juan Ignacio Rios authored
      Currently the xcm-executor returns an `Unimplemented` error if it
      receives any HRMP-related instruction.
      What I propose here, which is what we are currently doing in our forked
      executor at polimec, is to introduce a trait implemented by the executor
      which will handle those instructions.
      
      This way, if parachains want to keep the default behavior, they just use
      `()` and it will return unimplemented, but they can also implement their
      own logic to establish HRMP channels with other chains in an automated
      fashion, without requiring to go through governance.
      
      Our implementation is mentioned in the [polkadot HRMP
      docs](https://arc.net/l/quote/hduiivbu
      
      ), and it was suggested to us to
      submit a PR to add these changes to polkadot-sdk.
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: command-bot <>
      8b3bf39a
  3. Jan 24, 2024
  4. 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
  5. Nov 15, 2023
  6. Aug 30, 2023
  7. Jun 05, 2023
    • Just van Stam's avatar
      companion for xcm alias origin (#2680) · 119604ed
      Just van Stam authored
      * companion for xcm alias origin
      
      * update lockfile for {"polkadot", "substrate"}
      
      * add benchmark function for runtimes
      
      ---------
      
      Co-authored-by: parity-processbot <>
      119604ed
  8. May 17, 2023
    • Sergej Sakac's avatar
      Glutton Parachain (#2294) · 0bc3d2c0
      Sergej Sakac authored
      
      
      * Glutton Parachain
      
      * implement collator stuff
      
      * add glutton
      
      * implement missing api calls
      
      * small changes
      
      * use shell-runtime as starting point
      
      * update docs
      
      * Glutton chain configurations
      
      * successfully build
      
      * add local chain config
      
      * chain spec
      
      * update Cargo.lock
      
      * Update parachains/runtimes/glutton/glutton-kusama/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update parachains/runtimes/glutton/glutton-kusama/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update parachains/runtimes/glutton/glutton-kusama/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update parachains/runtimes/glutton/glutton-kusama/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * explicit indices
      
      * update para_id
      
      * irrelevant docs
      
      * update glutton.json
      
      * para_id as cli argument
      
      * expect
      
      * merge
      
      * update
      
      * fixes
      
      * xcm-builder/runtime-benchmarks added
      
      * benchmarks enabled
      
      * add glutton to bench scripts + nitpick
      
      * remove local bootnode
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * make clippy happy
      
      * fix clippy
      
      * fix chain_spec
      
      * fix chain_spec 2
      
      * fix chain_spec 3
      
      * ".git/.scripts/commands/bench/bench.sh" pallet glutton-kusama-dev-1300 glutton pallet_glutton
      
      * Update polkadot-parachain/src/chain_spec/glutton.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Update parachains/runtimes/glutton/glutton-kusama/src/lib.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarNachoPal <[email protected]>
      Co-authored-by: command-bot <>
      0bc3d2c0
  9. Jan 17, 2023
    • Gavin Wood's avatar
      XCM v3 Companion (#697) · 3a459e8f
      Gavin Wood authored
      * Fixes
      
      * Undiener
      
      * Undiener
      
      * Undiener
      
      * Lockfile
      
      * Changes for send returning hash
      
      * Include message ID as params to execute_xcm
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Companion fixes
      
      * Formatting
      
      * Fixes
      
      * Formatting
      
      * Bump
      
      * Bump
      
      * Fixes
      
      * Formatting
      
      * Make the price of UMP/XCMP message sending configurable
      
      * cargo fmt
      
      * Remove InvertLocation
      
      * Formatting
      
      * Use ConstantPrice from polkadot-runtime-common
      
      * Fix naming
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Add CallDispatcher
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove unused import
      
      * Remove unused import
      
      * XCMv3 fixes (#1710)
      
      * Fixes XCMv3 related
      Fixes XCMv3 (removed query_holding)
      Fixes XCMv3 - should use _depositable_count?
      Fixes XCMv3 - removed TrustedReserve
      Fixes - missing weights for statemine/statemint/westmint
      [DO-NOT-CHERRY-PICK] tmp return query_holding to aviod conficts to master
      Fixes - missing functions for pallet_xcm_benchmarks::generic::Config
      Fixes for XCMv3 benchmarking
      Fix xcm - removed query_holding
      
      * ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::generic
      
      * Fix imports
      
      * Avoid consuming XCM message for NotApplicable scenario (#1787)
      
      * Avoid consuming message for NotApplicable scenario
      
      * Avoid consuming message for NotApplicable scenario tests
      
      * Add 10 message processing limit to DMP queue
      
      * Add 10 message limit to XCMP queue
      
      * Always increment the message_processed count whenever a message is processed
      
      * Fix formatting
      
      * Set an upper limit to the overweight message DMP queue
      
      * Add upper limit to XCMP overweight message queue
      
      * Fix for missing weight for `fn unpaid_execution()`
      
      * Fix - usage of `messages_processed`
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * cargo fmt
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Remove unused import
      
      * Fixes for gav-xcm-v3 (#1835)
      
      * Fix for FungiblesAdapter - trait changes: Contains -> AssetChecking
      
      * Fix for missing weight for `fn unpaid_execution()`
      
      * Used NonLocalMint for all NonZeroIssuance
      
      * Fix
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fix tests
      
      * Fixes
      
      * Add SafeCallFilter
      
      * Add missing config items
      
      * Add TODO
      
      * Use () as the PriceForParentDelivery
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Update transact_origin to transact_origin_and_runtime_call
      
      * Add ReachableDest config item to XCM pallet
      
      * Update SafeCallFilter to allow remark_with_event in runtime benchmarks
      
      * cargo fmt
      
      * Update substrate
      
      * Fix worst_case_holding
      
      * Fix DMQ queue unit tests
      
      * Remove unused label
      
      * cargo fmt
      
      * Actually process incoming XCMs
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes - return back Weightless
      
      * Added measured benchmarks for `pallet_xcm` (#1968)
      
      * Fix
      
      Fix
      
      Fix
      
      * Fix
      
      * Fixes for transact benchmark
      
      * Fixes add pallet_xcm to benchmarks
      
      * Revert remark_with_event
      
      * ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic
      
      * Fixes
      
      * TMP
      
      * Fix for reserve_asset_deposited
      
      * ".git/.scripts/bench-bot.sh" pallet statemine assets pallet_xcm
      
      * Fix
      
      * ".git/.scripts/bench-bot.sh" pallet statemint assets pallet_xcm
      
      * Fix
      
      * ".git/.scripts/bench-bot.sh" pallet westmint assets pallet_xcm
      
      * Fix westmint
      
      * ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic
      
      * Fix
      
      * ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" pallet collectives-polkadot collectives pallet_xcm
      
      * Fix for collectives
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-rococo bridge-hubs pallet_xcm
      
      * Fixes for bridge-hubs
      
      * Fixes - return back Weightless
      
      * Fix - removed MigrateToTrackInactive for contracts-rococo
      
      Co-authored-by: command-bot <>
      
      * cargo fmt
      
      * Fix benchmarks
      
      * Bko gav xcm v3 (#1993)
      
      * Fix
      
      * ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" xcm statemine assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm statemint assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm westmint assets pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" pallet statemine assets pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet westmint assets pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet statemint assets pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet collectives-polkadot collectives pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-rococo bridge-hubs pallet_xcm
      
      Co-authored-by: command-bot <>
      
      * Change AllowUnpaidExecutionFrom to be explicit
      
      * xcm-v3 benchmarks, weights, fixes for bridge-hubs (#2035)
      
      * Dumy weights to get compile
      
      * Change UniversalLocation according to https://github.com/paritytech/polkadot/pull/4097
      
       (Location Inversion Removed)
      
      * Fix bridge-hubs weights
      
      * ".git/.scripts/bench-bot.sh" pallet statemine assets pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet statemint assets pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet collectives-polkadot collectives pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet westmint assets pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-kusama bridge-hubs pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-kusama bridge-hubs pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-rococo bridge-hubs pallet_xcm
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-rococo bridge-hubs pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-rococo bridge-hubs pallet_xcm_benchmarks::generic
      
      * Change NetworkId to Option<NetworkId>
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * Add event for showing the hash of an UMP sent message (#1228)
      
      * Add UpwardMessageSent event in parachain-system
      
      * additional fixes
      
      * Message Id
      
      * Fix errors from merge
      
      * fmt
      
      * more fmt
      
      * Remove todo
      
      * more formatting
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Allow explicit unpaid executions from the relay chains for system parachains (#2060)
      
      * Allow explicit unpaid executions from the relay chains for system parachains
      
      * Put origin-filtering barriers into WithComputedOrigin
      
      * Use ConstU32<8>
      
      * Small nits
      
      * formatting
      
      * cargo fmt
      
      * Allow receiving XCMs from any relay chain plurality
      
      * Fixes
      
      * update lockfile for {"polkadot", "substrate"}
      
      * Update polkadot
      
      * Add runtime-benchmarks feature
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatargirazoki <[email protected]>
      Co-authored-by: parity-processbot <>
      3a459e8f
  10. Sep 20, 2022
  11. Sep 12, 2022
    • Sergej Sakac's avatar
      Companion for #11981 (#1563) · 68ba7e54
      Sergej Sakac authored
      
      
      * Companion for #11981
      
      * rename
      
      * Event to RuntimeEvent in imports
      
      * missed rename
      
      * undo
      
      * revert
      
      * rename type Call & Event
      
      * commit
      
      * ...
      
      * fix
      
      * fix errors
      
      * fixes
      
      * fmt
      
      * fix imports
      
      * final fix?
      
      * fmt
      
      * fix?
      
      * fixes after merge
      
      * small fix
      
      * cargo update -p polkadot-runtime-common
      
      * cargo +nightly fmt
      
      * update lockfile for {"polkadot", "substrate"}
      
      * fix
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: parity-processbot <>
      68ba7e54
  12. Aug 31, 2022
    • Shawn Tabrizi's avatar
      Companion for Weight v1.5 (#1581) · 48d4f1c5
      Shawn Tabrizi authored
      * cargo test -p cumulus-primitives-utility
      
      * cargo test -p cumulus-pallet-xcmp-queue
      
      * cargo test -p cumulus-pallet-xcm
      
      * cargo test -p cumulus-pallet-dmp-queue
      
      * cargo test -p pallet-template
      
      * cargo test -p cumulus-test-runtime
      
      * fix weights
      
      * fix more weights
      
      * cargo test -p parachains-common
      
      * cargo test -p parachain-template-runtime
      
      * fix weights import
      
      * cargo test -p collectives-polkadot-runtime
      
      * cargo test -p contracts-rococo-runtime
      
      * more
      
      * unused
      
      * fixes
      
      * Update benchmarking.rs
      
      * Update lib.rs
      
      * Update lib.rs
      
      * fix
      
      * fix bug in conversion
      
      * update lockfile for {"polkadot", "substrate"}
      
      Co-authored-by: parity-processbot <>
      48d4f1c5
  13. May 20, 2022
  14. Mar 07, 2022
  15. Feb 11, 2022