1. Dec 19, 2023
  2. Dec 15, 2023
  3. Dec 14, 2023
    • Francisco Aguirre's avatar
      Add FungibleAdapter (#2684) · 10a91f82
      Francisco Aguirre authored
      In the move from the old `Currency` traits to the new `fungible/s`
      family of traits, we already had the `FungiblesAdapter` and
      `NonFungiblesAdapter` for multiple fungible and non fungible assets
      respectively. However, for handling only one fungible asset, we were
      missing a `FungibleAdapter`, and so used the old `CurrencyAdapter`
      instead. This PR aims to fill in that gap, and provide the new adapter
      for more updated examples.
      
      I marked the old `CurrencyAdapter` as deprecated as part of this PR, and
      I'll change it to the new `FungibleAdapter` in a following PR.
      The two stages are separated so as to not bloat this PR with some name
      fixes in tests.
      
      ---------
      
      Co-authored-by: command-bot <>
      10a91f82
  4. Dec 12, 2023
  5. Dec 06, 2023
  6. Nov 17, 2023
    • Branislav Kontur's avatar
      Relax `force_default_xcm_version` for testnet system parachains (#2385) · 0385902c
      Branislav Kontur authored
      This PR fixes two things:
      - relax `force_default_xcm_version` for testnet system parachains (e.g.
      BridgeHubWestend has now 2 and there is no way to change it to 3, so we
      need to call `force_xcm_version(3)` for every parachain that it is
      connected to, because we send XCMv3 messages)
      - add `Storage` item to `PolkadotXcm` pallet definition (now we cannot
      see storage items for `pallet_xcm` in PJS)
      
      
      ## TODO
      
      - [ ] when merged open PR to `polkadot-fellows/runtimes` repo
      0385902c
  7. 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
  8. Nov 02, 2023
    • Oliver Tale-Yazdi's avatar
      Use `Message Queue` as DMP and XCMP dispatch queue (#1246) · e1c033eb
      Oliver Tale-Yazdi authored
      (imported from https://github.com/paritytech/cumulus/pull/2157)
      
      ## Changes
      
      This MR refactores the XCMP, Parachains System and DMP pallets to use
      the [MessageQueue](https://github.com/paritytech/substrate/pull/12485)
      for delayed execution of incoming messages. The DMP pallet is entirely
      replaced by the MQ and thereby removed. This allows for PoV-bounded
      execution and resolves a number of issues that stem from the current
      work-around.
      
      All System Parachains adopt this change.  
      The most important changes are in `primitives/core/src/lib.rs`,
      `parachains/common/src/process_xcm_message.rs`,
      `pallets/parachain-system/src/lib.rs`, `pallets/xcmp-queue/src/lib.rs`
      and the runtime configs.
      
      ### DMP Queue Pallet
      
      The pallet got removed and its logic refactored into parachain-system.
      Overweight message management can be done directly through the MQ
      pallet.
      
      Final undeployment migrations are provided by
      `cumulus_pallet_dmp_queue::UndeployDmpQueue` and `DeleteDmpQueue` that
      can be configured with an aux config trait like:
      
      ```rust
      parameter_types! {
      	pub const DmpQueuePalletName: &'static str = \"DmpQueue\" < CHANGE ME;
      	pub const RelayOrigin: AggregateMessageOrigin = AggregateMessageOrigin::Parent;
      }
      
      impl cumulus_pallet_dmp_queue::MigrationConfig for Runtime {
      	type PalletName = DmpQueuePalletName;
      	type DmpHandler = frame_support::traits::EnqueueWithOrigin<MessageQueue, RelayOrigin>;
      	type DbWeight = <Runtime as frame_system::Config>::DbWeight;
      }
      
      // And adding them to your Migrations tuple:
      pub type Migrations = (
      	...
      	cumulus_pallet_dmp_queue::UndeployDmpQueue<Runtime>,
      	cumulus_pallet_dmp_queue::DeleteDmpQueue<Runtime>,
      );
      ```
      
      ### XCMP Queue pallet
      
      Removed all dispatch queue functionality. Incoming XCMP messages are now
      either: Immediately handled if they are Signals, enqueued into the MQ
      pallet otherwise.
      
      New config items for the XCMP queue pallet:
      ```rust
      /// The actual queue implementation that retains the messages for later processing.
      type XcmpQueue: EnqueueMessage<ParaId>;
      
      /// How a XCM over HRMP from a sibling parachain should be processed.
      type XcmpProcessor: ProcessMessage<Origin = ParaId>;
      
      /// The maximal number of suspended XCMP channels at the same time.
      #[pallet::constant]
      type MaxInboundSuspended: Get<u32>;
      ```
      
      How to configure those:
      
      ```rust
      // Use the MessageQueue pallet to store messages for later processing. The `TransformOrigin` is needed since
      // the MQ pallet itself operators on `AggregateMessageOrigin` but we want to enqueue `ParaId`s.
      type XcmpQueue = TransformOrigin<MessageQueue, AggregateMessageOrigin, ParaId, ParaIdToSibling>;
      
      // Process XCMP messages from siblings. This is type-safe to only accept `ParaId`s. They will be dispatched
      // with origin `Junction::Sibling(…)`.
      type XcmpProcessor = ProcessFromSibling<
      	ProcessXcmMessage<
      		AggregateMessageOrigin,
      		xcm_executor::XcmExecutor<xcm_config::XcmConfig>,
      		RuntimeCall,
      	>,
      >;
      
      // Not really important what to choose here. Just something larger than the maximal number of channels.
      type MaxInboundSuspended = sp_core::ConstU32<1_000>;
      ```
      
      The `InboundXcmpStatus` storage item was replaced by
      `InboundXcmpSuspended` since it now only tracks inbound queue suspension
      and no message indices anymore.
      
      Now only sends the most recent channel `Signals`, as all prio ones are
      out-dated anyway.
      
      ### Parachain System pallet
      
      For `DMP` messages instead of forwarding them to the `DMP` pallet, it
      now pushes them to the configured `DmpQueue`. The message processing
      which was triggered in `set_validation_data` is now being done by the MQ
      pallet `on_initialize`.
      
      XCMP messages are still handed off to the `XcmpMessageHandler`
      (XCMP-Queue pallet) - no change here.
      
      New config items for the parachain system pallet:
      ```rust
      /// Queues inbound downward messages for delayed processing. 
      ///
      /// Analogous to the `XcmpQueue` of the XCMP queue pallet.
      type DmpQueue: EnqueueMessage<AggregateMessageOrigin>;
      ``` 
      
      How to configure:
      ```rust
      /// Use the MQ pallet to store DMP messages for delayed processing.
      type DmpQueue = MessageQueue;
      ``` 
      
      ## Message Flow
      
      The flow of messages on the parachain side. Messages come in from the
      left via the `Validation Data` and finally end up at the `Xcm Executor`
      on the right.
      
      ![Untitled
      (1)](https://github.com/paritytech/cumulus/assets/10380170/6cf8b377-88c9-4aed-96df-baace266e04d)
      
      ## Further changes
      
      - Bumped the default suspension, drop and resume thresholds in
      `QueueConfigData::default()`.
      - `XcmpQueue::{suspend_xcm_execution, resume_xcm_execution}` errors when
      they would be a noop.
      - Properly validate the `QueueConfigData` before setting it.
      - Marked weight files as auto-generated so they wont auto-expand in the
      MR files view.
      - Move the `hypothetical` asserts to `frame_support` under the name
      `experimental_hypothetically`
      
      Questions:
      - [ ] What about the ugly `#[cfg(feature = \"runtime-benchmarks\")]` in
      the runtimes? Not sure how to best fix. Just having them like this makes
      tests fail that rely on the real message processor when the feature is
      enabled.
      - [ ] Need a good weight for `MessageQueueServiceWeight`. The scheduler
      already takes 80% so I put it to 10% but that is quite low.
      
      TODO:
      - [x] Remove c&p code after
      https://github.com/paritytech/polkadot/pull/6271
      - [x] Use `HandleMessage` once it is public in Substrate
      - [x] fix `runtime-benchmarks` feature
      https://github.com/paritytech/polkadot/pull/6966
      
      
      - [x] Benchmarks
      - [x] Tests
      - [ ] Migrate `InboundXcmpStatus` to `InboundXcmpSuspended`
      - [x] Possibly cleanup Migrations (DMP+XCMP)
      - [x] optional: create `TransformProcessMessageOrigin` in Substrate and
      replace `ProcessFromSibling`
      - [ ] Rerun weights on ref HW
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      e1c033eb
  9. Nov 01, 2023
  10. Oct 18, 2023
    • Keith Yeung's avatar
      Introduce XcmFeesToAccount fee manager (#1234) · 3dece311
      Keith Yeung authored
      
      
      Combination of paritytech/polkadot#7005, its addon PR
      paritytech/polkadot#7585 and its companion paritytech/cumulus#2433.
      
      This PR introduces a new XcmFeesToAccount struct which implements the
      `FeeManager` trait, and assigns this struct as the `FeeManager` in the
      XCM config for all runtimes.
      
      The struct simply deposits all fees handled by the XCM executor to a
      specified account. In all runtimes, the specified account is configured
      as the treasury account.
      
      XCM __delivery__ fees are now being introduced (unless the root origin
      is sending a message to a system parachain on behalf of the originating
      chain).
      
      # Note for reviewers
      
      Most file changes are tests that had to be modified to account for the
      new fees.
      Main changes are in:
      - cumulus/pallets/xcmp-queue/src/lib.rs <- To make it track the delivery
      fees exponential factor
      - polkadot/xcm/xcm-builder/src/fee_handling.rs <- Added. Has the
      FeeManager implementation
      - All runtime xcm_config files <- To add the FeeManager to the XCM
      configuration
      
      # Important note
      
      After this change, instructions that create and send a new XCM (Query*,
      Report*, ExportMessage, InitiateReserveWithdraw, InitiateTeleport,
      DepositReserveAsset, TransferReserveAsset, LockAsset and RequestUnlock)
      will require the corresponding origin account in the origin register to
      pay for transport delivery fees, and the onward message will fail to be
      sent if the origin account does not have the required amount. This
      delivery fee is on top of what we already collect as tx fees in
      pallet-xcm and XCM BuyExecution fees!
      
      Wallet UIs that want to expose the new delivery fee can do so using the
      formula:
      
      ```
      delivery_fee_factor * (base_fee + encoded_msg_len * per_byte_fee)
      ```
      
      where the delivery fee factor can be obtained from the corresponding
      pallet based on which transport you are using (UMP, HRMP or bridges),
      the base fee is a constant, the encoded message length from the message
      itself and the per byte fee is the same as the configured per byte fee
      for txs (i.e. `TransactionByteFee`).
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarGiles Cope <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      3dece311
    • Adrian Catangiu's avatar
      cumulus: add asset-hub-rococo runtime based on asset-hub-kusama and add... · 8b3905d2
      Adrian Catangiu authored
      
      cumulus: add asset-hub-rococo runtime based on asset-hub-kusama and add asset-bridging support to it (#1215)
      
      This commit adds Rococo Asset Hub dedicated runtime so we can test new
      features here, before merging them in Kusama Asset Hub.
      Also adds one such feature: asset transfer over bridge (Rococo AssetHub
      <> Wococo AssetHub)
      
      - clone `asset-hub-kusama-runtime` -> `asset-hub-rococo-runtime`
      - make it use Rococo primitives, names, assets, constants, etc
      - add asset-transfer-over-bridge support to Rococo AssetHub <> Wococo
      AssetHub
      
      Fixes #1128
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      8b3905d2
  11. Oct 16, 2023
  12. 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
  13. Aug 30, 2023
  14. Aug 16, 2023
  15. Aug 14, 2023
  16. Aug 10, 2023
  17. 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
  18. May 29, 2023
  19. May 25, 2023
    • Gavin Wood's avatar
      Companion for polkadot#7234 (XCM: Tools for uniquely referencing messages) (#2601) · ec21c0a2
      Gavin Wood authored
      * Fixes for new API
      
      * Formatting
      
      * Fixes
      
      * Fixes
      
      * Further fixes
      
      * XCMP dispatch events mention message ID
      
      * XCMP event includes ID
      
      * Add DMP message ID functionality
      
      * Integrate into test parachains
      
      * Remove WithUniqueTopic usage
      
      * Use new primitive
      
      * Formatting
      
      * undiener
      
      * Revert lock
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Fixes
      
      * Formatting
      
      * message_hash becomes message_id
      
      * Rename
      
      * Another Rename
      
      * Fixes
      
      * Fix
      
      * Bump
      
      * Fixes
      
      * Grumble.
      ec21c0a2
  20. May 08, 2023
  21. May 06, 2023
  22. May 05, 2023
  23. Apr 24, 2023
  24. Mar 23, 2023
    • joe petrowski's avatar
      Add Support for Foreign Assets (#2133) · af46f4b4
      joe petrowski authored
      
      
      * add foreign assets to westmint
      
      * add foreign assets to statemine
      
      * use updated api for ensure origin trait
      
      * Assets/ForeignAssets tests and fixes (#2167)
      
      * Test for create and transfer `TrustBackedAssets` with AssetTransactor
      
      * Test for transfer `local Currency` with AssetTransactor
      
      * Test for create foreign assets (covers foreign relaychain currency)
      
      * Added `ForeignFungiblesTransactor` and test for transfer `ForeignAssets` with AssetTransactor
      
      * Removed unused `pub const Local: MultiLocation`
      
      * Changed `ParaId -> Sibling` for `SiblingParachainConvertsVia`
      
      * Test for create foreign assets (covers local sibling parachain assets)
      
      * Reverted stuff for ForeignCreators from different global consensus (moved to transfer asset branch)
      
      * Refactor `weight_limit` for `execute_xcm`
      
      * Added test for `set_metadata` by ForeignCreator with `xcm::Transact(set_metadata)`
      
      * Renamed `receive_teleported_asset_works` -> `receive_teleported_asset_for_native_asset_works`
      
      * Allow `ForeignCreators` only for sibling parachains
      
      * Unify ReservedDmpWeight/ReservedXcmpWeight usage
      
      * Removed hack - replaced with `MatchedConvertedConcreteId`
      
      * Refactor `ForeignCreators` to assets-common
      
      * Add `ReceiveTeleportedAsset` test
      
      * Change test - `Utility::batch` -> Multiple `xcm::Transact`
      
      * Reusing the same deposits as for TrustBackedAssets
      
      * missing `try_successful_origin` ?
      
      * Finished `ForeignAssets` for westmint (converter, FungiblesApi, tests)
      
      * Refactoring tests - receive_teleported_asset_for_native_asset_works
      
      * ForeignAssets for statemine + refactored `receive_teleported_asset_from_foreign_creator_works`
      
      * Add `ForeignAssets` to statemine `FungiblesApi`
      
      * Add `asset_transactor_transfer_with_local_consensus_currency_works` to all runtimes
      
      * Added `asset_transactor_transfer_with_trust_backed_assets_works` test
      
      * Added `asset_transactor_transfer_with_foreign_assets_works`
      
      * Fix `missing `try_successful_origin` in implementation`
      
      * Added `create_and_manage_foreign_assets_for_local_consensus_parachain_assets_works`
      
      * Added `ExpectTransactStatus` check
      
      * Small rename
      
      * Extended `test_assets_balances_api_works` with ForeignAssets for `statemine`
      
      * PR fixes
      
      * Update parachains/runtimes/assets/test-utils/src/test_cases.rs
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Added `StartsWithExplicitGlobalConsensus` to ignores (#2338)
      
      * Update parachains/runtimes/assets/common/src/lib.rs
      
      Co-authored-by: default avatarGavin Wood <[email protected]>
      
      * include mint and burn in SafeCallFilter
      
      * include mint and burn in SafeCallFilter (statemine)
      
      * clarify doc
      
      * Fix compilation (moved trait `InspectMetadata`)
      
      * Fix test
      
      * Extended test for `teleport` from/to relaychain + `CheckingAccount` (Part I)
      
      * Extended test for `teleport` from/to foreign parachain + `CheckingAccount` (Part II)
      
      * Fixed TODO - `NonLocal` for `ForeignAssets`
      
      * Changed `NonLocal` to `NoChecking`
      
      * Fix weight in test
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarmuharem <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      af46f4b4
    • Just van Stam's avatar
      Companion for polkadot#6928 (#2356) · 490593bf
      Just van Stam authored
      
      
      * add AdminOrigin to all xcm-configs in cumulus
      
      * cargo fmt
      
      * Update Substrate & Polkadot
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      490593bf
  25. Mar 21, 2023
    • Muharem Ismailov's avatar
      Introduce Fellowship into Collectives (#2186) · ef0d3fe7
      Muharem Ismailov authored
      
      
      * Fellowship into Collectives
      
      * cargo.lock
      
      * tracks alias
      
      * allow to send Fellows origin over XCM
      
      * update todos, remove duplication of type
      
      * use Collectives location for Fellows body
      
      * alias for ranks constants
      
      * benchmarks
      
      * proxy for Fellowship
      
      * docs
      
      * correct copyright date
      
      * Apply suggestions from code review
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * rustfmt
      
      * remove council, update origins
      
      * renames
      
      * remove tech committee from promote origin
      
      * renames
      
      * doc nits
      
      * weights with new api
      
      * sane weights for pallet_scheduler
      
      * XCM tweaks for OpenGov (#2305)
      
      * updated xcm configs for collectives and statemint
      
      * remove xcm send from safe filter
      
      * remove prod_or_fast
      
      * remove empty line
      
      * drop redundant aggregation
      
      * remove match arm duplication
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      ef0d3fe7
  26. Mar 14, 2023
  27. Feb 02, 2023
    • Branislav Kontur's avatar
      Added new empty shell runtime for `BridgeHubPolkadot` (without bridging stuff)... · a7bde3b9
      Branislav Kontur authored
      Added new empty shell runtime for `BridgeHubPolkadot` (without bridging stuff) for onboarding parachain on Polkadot (#2137)
      
      * Added new empty shell runtime for `BridgeHubPolkadot` (without bridging stuff) for onboarding parachain on Polkadot
      
      * Fix benchmarks/try-runtime
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs frame_system
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_balances
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_multisig
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_xcm
      
      * Fixes
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_session
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_utility
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_timestamp
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs pallet_collator_selection
      
      * ".git/.scripts/commands/bench/bench.sh" pallet bridge-hub-polkadot bridge-hubs cumulus_pallet_xcmp_queue
      
      * PR fixes
      
      * Rebase fix
      
      * Fix new runtime api
      
      * ".git/.scripts/commands/bench/bench.sh" xcm bridge-hub-polkadot bridge-hubs pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/commands/bench/bench.sh" xcm bridge-hub-polkadot bridge-hubs pallet_xcm_benchmarks::generic
      
      * Updated aura/bootNodes in `create_bridge_hub_polkadot_spec.sh`
      
      ---------
      
      Co-authored-by: command-bot <>
      a7bde3b9
  28. 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
  29. Dec 21, 2022
    • Branislav Kontur's avatar
      Bridge hub kusama fine-tuning before release (#1999) · 0c836d3e
      Branislav Kontur authored
      * Fix benchmarks-ci.sh - missing pallet_utility/pallet_multisig
      
      * Missing ParentAsSuperuser for bridge-hubs
      
      * Fixed missing stuff in benchmarks.yml
      
      * Added MigrateToTrackInactive + CheckingAccount (for completness as other runtimes)
      
      * Measured xcm weights for bridge-hubs
      
      * Fix for fungible benchmarks
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-kusama bridge-hubs pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-rococo bridge-hubs pallet_xcm_benchmarks::generic
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-rococo bridge-hubs pallet_xcm_benchmarks::fungible
      
      * ".git/.scripts/bench-bot.sh" xcm bridge-hub-kusama bridge-hubs pallet_xcm_benchmarks::generic
      
      * Reverting migrations - no need for them
      
      * script for generate genesis spec/head/wasm
      
      * Adding invulnerables and session.keys to the script
      (https://github.com/paritytech/devops/issues/2196)
      
      * update chainspec with cmd: ./scripts/create_bridge_hub_kusama_spec.sh ./target/release/wbuild/bridge-hub-kusama-runtime/bridge_hub_kusama_runtime.compact.compressed.wasm 1003
      
      * para_id 1003 -> 1002, cmd: ./scripts/create_bridge_hub_kusama_spec.sh ./target/release/wbuild/bridge-hub-kusama-runtime/bridge_hub_kusama_runtime.compact.compressed.wasm 1002
      
      Co-authored-by: command-bot <>
      0c836d3e
  30. Dec 02, 2022
    • Branislav Kontur's avatar
      BridgeHubKusama - initial setup - (chain_spec + basic runtime without any bridging pallets) (#1764) · c3df7db3
      Branislav Kontur authored
      * [BridgeHub] Setup Rococo backbone parachain
      
      * [BridgeHub] Setup Wococo parachain backbone (reused from Rococo)
      [Bridge-Backport] Rebase-fix
      BridgeHub] Added zombienet startup tomls for Rococo/Wococo
      Fix typo
      
      * [BridgeHub] Added chain_spec for live Rococo/Wococo
      
      * [BridgeHub] Clean bridge-hub-rococo runtime
      
      * [BridgeHub] Add bridge-hub-rococo to CI pipelines
      
      * [BridgeHub] Added bridge-hub-kusama - empty runtime/chain_spec setup
      
      * Fixes
      
      * Fixes for BH
      
      * Fixes for other runtimes - align all
      
      * Fixes - const
      
      * Fixes const
      
      * Fixes
      
      * Fix kusama-local
      
      * Sample zombienet runs
      
      * Fixes
      
      * Fixes for benchmarking
      
      * Fixes CI
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs frame_system
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_collator_selection
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_balances
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_session
      
      * Fixes name
      
      * Fixes readme
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_timestamp
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs cumulus_pallet_xcmp_queue
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_collator_selection
      
      * Fixes
      
      * Fixes
      
      * rustfmt
      
      * Fixes
      
      * Added pallet_utility/pallet_multisig
      
      * Blind try for regex pr-custom-review.yml (added bridge-hub-kusama + collectives-polkadot)
      
      * Fixes
      
      * Fixes
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_utility
      
      * ".git/.scripts/bench-bot.sh" pallet bridge-hub-kusama bridge-hubs pallet_multisig
      
      * Trying to fix sed expression?
      
      * Added license headers + correct "DAG:" desc
      
      Co-authored-by: command-bot <>
      c3df7db3
  31. Sep 20, 2022
  32. 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
  33. 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
    • Roman Useinov's avatar
      [Feature] Limit collectives teleports to DOT (#1579) · 6165597e
      Roman Useinov authored
      
      
      * [Feature] Limit collectives teleports to DOT
      
      * Update pallets/xcm/src/lib.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * fix review comments
      
      * Update parachains/runtimes/collectives/collectives-polkadot/src/xcm_config.rs
      
      Co-authored-by: default avatarChevdor <[email protected]>
      
      * [ci] Apply cargo-fmt
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarparitytech-ci <[email protected]>
      6165597e
  34. Aug 11, 2022
    • joe petrowski's avatar
      Add Collectives Parachain (#1346) · 7bd426f3
      joe petrowski authored
      
      
      * add new runtime and remove unnecessary pallets
      
      * make runtime build
      
      * add collectives to collator node
      
      * sketch alliance config in runtime
      
      * Slash handler was supposed to be commented out (for now)
      
      * correct signature
      
      * move to impls
      
      * add alliance to runtime
      
      * rustfmt
      
      * IsReserve, remove Ping, update fn deposit
      
      * add transaction_payment event
      
      * Update parachains/runtimes/collectives/collectives-polkadot/src/lib.rs
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      
      * fmt
      
      * add genesis config to chain spec
      
      * fix merge
      
      * local and dev configs only (for now)
      
      * remove duplicate imports
      
      * Collectives polkadot runtime to cargo workspace members (#1397)
      
      * Collectives polkadot runtime: use unit type impl for identity verifier (#1398)
      
      * apply fn rename
      
      * fmt
      
      * one less todo
      
      * Less code in magic macros (#1407)
      
      * Less code in magic macros
      
      * cargo fmt
      
      * Bench alliance (#1427)
      
      * add benchmarks
      
      * call one script from the other
      
      * shebang changes so works on nixos too.
      
      * bench in parallel as separate jobs
      
      * hyphens can turn into underscores
      
      * remove workaround to trigger bench
      
      Co-authored-by: default avataralvicsam <[email protected]>
      Co-authored-by: default avatarparitytech-ci <[email protected]>
      
      * enable ci jobs
      
      * fix publish bench results jobs
      
      * chainspecs for collectives-westend (#1441)
      
      * initial chainspecs for collections relay chain
      
      * plumb in the collectives-westend chainspec
      
      * add Runtime::CollectivesWestend
      
      * lock
      
      * Collectives: teleport slashed assets  (#1433)
      
      * Collectives: teleport slashed assets
      
      * fmt
      
      * Cargo.lock > polkadot-parachain 0.9.25
      
      * create temp account for imbalance
      
      * treasury acc id from pallet id
      
      * move accounts into constants, use here junction for assets
      
      * assets location is relay chain, accounts as parameters
      
      * fix typos
      
      * fix typo
      
      * Update parachains/runtimes/collectives/collectives-polkadot/src/constants.rs
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      
      * Move alliance proposal provider to impls.rs (#1464)
      
      * Move to impls alliance proposal provider
      
      * rustfmt
      
      * Bumping spec version
      
      (so that we can redeploy with slashing change.)
      
      * cargo lock
      
      * slurp collectives digest to make appear in release notes (#1473)
      
      * add slurp
      
      * Slurp better :)
      
      * Bring some order
      
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarWilfried Kopp <[email protected]>
      
      * reorder barrier
      
      * Update parachains/runtimes/collectives/collectives-polkadot/src/xcm_config.rs
      
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      
      * address review
      
      * clean construct runtime
      
      * fmt
      
      * looks pretty but brings in too much
      
      Co-authored-by: default avatarSquirrel <[email protected]>
      Co-authored-by: default avatarMuharem Ismailov <[email protected]>
      Co-authored-by: default avataralvicsam <[email protected]>
      Co-authored-by: default avatarparitytech-ci <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarWilfried Kopp <[email protected]>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      7bd426f3
  35. May 31, 2022
  36. May 20, 2022
  37. May 18, 2022