Skip to content
  1. Dec 12, 2023
    • Chevdor's avatar
      Changelogs local generation (#1411) · 42a3afba
      Chevdor authored
      
      
      This PR introduces a script and some templates to use the prdoc involved
      in a release and build:
      - the changelog
      - a simple draft of audience documentation
      
      Since the prdoc presence was enforced in the middle of the version
      1.5.0, not all PRs did come with a `prdoc` file.
      This PR creates all the missing `prdoc` files with some minimum content
      allowing to properly generate the changelog.
      The generated content is **not** suitable for the audience
      documentation.
      
      The audience documentation will be possible with the next version, when
      all PR come with a proper `prdoc`.
      
      ## Assumptions
      
      - the prdoc files for release `vX.Y.Z` have been moved under
      `prdoc/X.Y.Z`
      - the changelog requires for now for the prdoc files to contain author +
      topic. Thos fields are optional.
      
      The build script can  be called as:
      ```
      VERSION=X.Y.Z ./scripts/release/build-changelogs.sh
      ```
      
      Related:
      -  #1408
      
      ---------
      
      Co-authored-by: default avatarEgorPopelyaev <[email protected]>
      42a3afba
  2. Nov 28, 2023
  3. Nov 27, 2023
    • Chevdor's avatar
      New runtime `spec_version` format + backport of the bump to 1.4.0 (#2468) · 4f8048b9
      Chevdor authored
      
      
      ## Overview
      
      This PR aligns the `spec_version` formatting to the [recent
      changes](https://github.com/polkadot-fellows/runtimes/pull/26/files#diff-efa4caeb17487ecb13d8f5eb7863c3241d84afa2e73fbf25909a2ca89df0f362R142)
      made for the Polkadot/Kusama runtimes.
      
      It also backports the latest version `v1.4.0` bumps as `1_004_000`.
      
      ## Details
      
      During the switch from `v0.9` to `v1.x`, the format of the
      `spec_version` was modified from: `(M)m_ppp` for a runtime considered on
      version `M.m.pp`. For instance `0.9.42` had a `spec_version` of `9420`.
      
      With the transition to `v1.x`, the format was changed to a bigger number
      (still `u32`) formatted as `MM_mm_ppp` where `1.2.3` would be stored as
      `01_02_003`.
      
      This PR aligns the format with that has been introduced in the
      fellowship repo: `MMM_mmm_ppp`.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      4f8048b9
  4. Nov 21, 2023
  5. 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
  6. 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
  7. Oct 24, 2023
    • Kian Paimani's avatar
      Ensure correct variant count in `Runtime[Hold/Freeze]Reason` (#1900) · 35eb133b
      Kian Paimani authored
      
      
      closes https://github.com/paritytech/polkadot-sdk/issues/1882
      
      ## Breaking Changes
      
      This PR introduces a new item to `pallet_balances::Config`:
      
      ```diff
      trait Config {
      ++    type RuntimeFreezeReasons;
      }
      ```
      
      This value is only used to check it against `type MaxFreeze`. A similar
      check has been added for `MaxHolds` against `RuntimeHoldReasons`, which
      is already given to `pallet_balances`.
      
      In all contexts, you should pass the real `RuntimeFreezeReasons`
      generated by `construct_runtime` to `type RuntimeFreezeReasons`. Passing
      `()` would also work, but it would imply that the runtime uses no
      freezes at all.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      35eb133b
  8. 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
  9. Sep 27, 2023
  10. 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
  11. Aug 30, 2023
  12. Aug 24, 2023
  13. Aug 22, 2023
  14. Aug 18, 2023
    • Chris Sosnin's avatar
      Asynchronous backing PR (#2300) · 6ef11176
      Chris Sosnin authored
      
      
      * Update substrate & polkadot
      
      * min changes to make async backing compile
      
      * (async backing) parachain-system: track limitations for unincluded blocks (#2438)
      
      * unincluded segment draft
      
      * read para head from storage proof
      
      * read_para_head -> read_included_para_head
      
      * Provide pub interface
      
      * add errors
      
      * fix unincluded segment update
      
      * BlockTracker -> Ancestor
      
      * add a dmp limit
      
      * Read para head depending on the storage switch
      
      * doc comments
      
      * storage items docs
      
      * add a sanity check on block initialize
      
      * Check watermark
      
      * append to the segment on block finalize
      
      * Move segment update into set_validation_data
      
      * Resolve para head todo
      
      * option watermark
      
      * fix comment
      
      * Drop dmq check
      
      * fix weight
      
      * doc-comments on inherent invariant
      
      * Remove TODO
      
      * add todo
      
      * primitives tests
      
      * pallet tests
      
      * doc comments
      
      * refactor unincluded segment length into a ConsensusHook (#2501)
      
      * refactor unincluded segment length into a ConsensusHook
      
      * add docs
      
      * refactor bandwidth_out calculation
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * test for limits from impl
      
      * fmt
      
      * make tests compile
      
      * update comment
      
      * uncomment test
      
      * fix collator test by adding parent to state proof
      
      * patch HRMP watermark rules for unincluded segment
      
      * get consensus-common tests to pass, using unincluded segment
      
      * fix unincluded segment tests
      
      * get all tests passing
      
      * fmt
      
      * rustdoc CI
      
      * aura-ext: limit the number of authored blocks per slot (#2551)
      
      * aura_ext consensus hook
      
      * reverse dependency
      
      * include weight into hook
      
      * fix tests
      
      * remove stray println
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * fix test warning
      
      * fix doc link
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * parachain-system: ignore go ahead signal once upgrade is processed (#2594)
      
      * handle goahead signal for unincluded segment
      
      * doc comment
      
      * add test
      
      * parachain-system: drop processed messages from inherent data (#2590)
      
      * implement `drop_processed_messages`
      
      * drop messages based on relay parent number
      
      * adjust tests
      
      * drop changes to mqc
      
      * fix comment
      
      * drop test
      
      * drop more dead code
      
      * clippy
      
      * aura-ext: check slot in consensus hook and remove all `CheckInherents` logic (#2658)
      
      * aura-ext: check slot in consensus hook
      
      * convert relay chain slot
      
      * Make relay chain slot duration generic
      
      * use fixed velocity hook for pallets with aura
      
      * purge timestamp inherent
      
      * fix warning
      
      * adjust runtime tests
      
      * fix slots in tests
      
      * Make `xcm-emulator` test pass for new consensus hook (#2722)
      
      * add pallets on_initialize
      
      * tests pass
      
      * add AuraExt on_init
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      ---------
      
      Co-authored-by: command-bot <>
      
      ---------
      
      Co-authored-by: default avatarIgnacio Palacios <[email protected]>
      
      * update polkadot git refs
      
      * CollationGenerationConfig closure is now optional (#2772)
      
      * CollationGenerationConfig closure is now optional
      
      * fix test
      
      * propagate network-protocol-staging feature (#2899)
      
      * Feature Flagging Consensus Hook Type Parameter (#2911)
      
      * First pass
      
      * fmt
      
      * Added as default feature in tomls
      
      * Changed to direct dependency feature
      
      * Dealing with clippy error
      
      * Update pallets/parachain-system/src/lib.rs
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      ---------
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      
      * fmt
      
      * bump deps and remove warning
      
      * parachain-system: update RelevantMessagingState according to the unincluded segment (#2948)
      
      * mostly address 2471 with a bug introduced
      
      * adjust relevant messaging state after computing total
      
      * fmt
      
      * max -> min
      
      * fix test implementation of xcmp source
      
      * add test
      
      * fix test message sending logic
      
      * fix + test
      
      * add more to unincluded segment test
      
      * fmt
      
      ---------
      
      Co-authored-by: default avatarChris Sosnin <[email protected]>
      
      * Integrate new Aura / Parachain Consensus Logic in Parachain-Template / Polkadot-Parachain (#2864)
      
      * add a comment
      
      * refactor client/service utilities
      
      * deprecate start_collator
      
      * update parachain-template
      
      * update test-service in the same way
      
      * update polkadot-parachain crate
      
      * fmt
      
      * wire up new SubmitCollation message
      
      * some runtime utilities for implementing unincluded segment runtime APIs
      
      * allow parachains to configure their level of sybil-resistance when starting the network
      
      * make aura-ext compile
      
      * update to specify sybil resistance levels
      
      * fmt
      
      * specify relay chain slot duration in milliseconds
      
      * update Aura to explicitly produce Send futures
      
      also, make relay_chain_slot_duration a Duration
      
      * add authoring duration to basic collator and document params
      
      * integrate new basic collator into parachain-template
      
      * remove assert_send used for testing
      
      * basic-aura: only author when parent included
      
      * update polkadot-parachain-bin
      
      * fmt
      
      * some fixes
      
      * fixes
      
      * add a RelayNumberMonotonicallyIncreases
      
      * add a utility function for initializing subsystems
      
      * some logging for timestamp adjustment
      
      * fmt
      
      * some fixes for lookahead collator
      
      * add a log
      
      * update `find_potential_parents` to account for sessions
      
      * bound the loop
      
      * restore & deprecate old start_collator and start_full_node functions.
      
      * remove unnecessary await calls
      
      * fix warning
      
      * clippy
      
      * more clippy
      
      * remove unneeded logic
      
      * ci
      
      * update comment
      
      Co-authored-by: default avatarMarcin S. <[email protected]>
      
      * (async backing) restore `CheckInherents` for backwards-compatibility (#2977)
      
      * bring back timestamp
      
      * Restore CheckInherents
      
      * revert to empty CheckInherents
      
      * make CheckInherents optional
      
      * attempt
      
      * properly end system blocks
      
      * add some more comments
      
      * ignore failing system parachain tests
      
      * update refs after main feature branch merge
      
      * comment out the offending tests because CI runs ignored tests
      
      * fix warnings
      
      * fmt
      
      * revert to polkadot master
      
      * cargo update -p polkadot-primitives -p sp-io
      
      ---------
      
      Co-authored-by: default avatarasynchronous rob <[email protected]>
      Co-authored-by: default avatarIgnacio Palacios <[email protected]>
      Co-authored-by: default avatarBradley Olson <[email protected]>
      Co-authored-by: default avatarMarcin S. <[email protected]>
      Co-authored-by: default avatareskimor <[email protected]>
      Co-authored-by: default avatarAndronik <[email protected]>
      6ef11176
  15. Aug 10, 2023
  16. Jul 14, 2023
  17. Jul 13, 2023
    • gupnik's avatar
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes... · 24d6e46a
      gupnik authored
      Moves `Block` to `frame_system` instead of `construct_runtime` and removes `Header` and `BlockNumber` (#2790)
      
      * Fixes
      
      * Removes unused import
      
      * Uses Block and removes BlockNumber/Header from Chain
      
      * Fixes bridges
      
      * Fixes
      
      * Removes unused import
      
      * Fixes build
      
      * Uses correct RelayBlock
      
      * Minor fix
      
      * Fixes glutton-kusama
      
      * Uses correct RelayBlock
      
      * Minor fix
      
      * Fixes benchmark for pallet-bridge-parachains
      
      * Adds appropriate constraints
      
      * Minor fixes
      
      * Removes unused import
      
      * Fixes integrity tests
      
      * Minor fixes
      
      * Updates trait bounds
      
      * Uses custom bound for AsPrimitive
      
      * Fixes trait bounds
      
      * Revert "Fixes trait bounds"
      
      This reverts commit 0b0f42f583f3a616a88afe45fcd06d31e7d9a06f.
      
      * Revert "Uses custom bound for AsPrimitive"
      
      This reverts commit 838e5281adf8b6e9632a2abb9cd550db4ae24126.
      
      * No AsPrimitive trait bound for now
      
      * Removes bounds on Number
      
      * update lockfile for {"substrate", "polkadot"}
      
      * Formatting
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * Minor fix
      
      ---------
      
      Co-authored-by: parity-processbot <>
      24d6e46a
  18. Jul 12, 2023
    • Michal Kucharczyk's avatar
      `GenesisBuild<T,I>` deprecated. `BuildGenesisConfig` added (#2757) · 94d2e4bc
      Michal Kucharczyk authored
      * GenesisBuild<T,I> deprecated. BuildGenesisConfig added
      
      * ".git/.scripts/commands/fmt/fmt.sh"
      
      * integration-tests/emulated: ..Default::default added to genesis configs
      
      * Cargo.lock updated
      
      * Cargo.lock updated
      
      * update lockfile for {"polkadot", "substrate"}
      
      * clippy fixes
      
      * clippy fixes
      
      * clippy fixes again
      
      ---------
      
      Co-authored-by: command-bot <>
      94d2e4bc
  19. Jun 19, 2023
  20. Jun 09, 2023
  21. 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
  22. Jun 02, 2023
    • joe petrowski's avatar
      Rename Statemint to Asset Hub (#2633) · 60075495
      joe petrowski authored
      
      
      * change dir names
      
      * cargo toml updates
      
      * fix crate imports for build
      
      * change chain spec names and PR review rule
      
      * update cli to accept asset-hub
      
      * find/replace benchmark commands
      
      * integration tests
      
      * bridges docs
      
      * more integration tests
      
      * AuraId
      
      * other statemint tidying
      
      * rename statemint mod
      
      * chain spec mod
      
      * rename e2e test dirs
      
      * one more Runtime::Statemine
      
      * benchmark westmint
      
      * rename chain spec name and id
      
      * rename chain spec files
      
      * more tidying in scripts/docs/tests
      
      * rename old dir if exists
      
      * Force people to manually do the move.
      
      (Safer as there could be additional considerations with their setup)
      
      * review touchups
      
      * more renaming
      
      * Update polkadot-parachain/src/command.rs
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      
      * better error message
      
      * do not break on-chain spec_name
      
      * log info message that path has been renamed
      
      * better penpal docs
      
      ---------
      
      Co-authored-by: default avatargilescope <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: parity-processbot <>
      60075495
  23. May 24, 2023
    • Bastian Köcher's avatar
      Companion for: Substrate#13869 (#2631) · 490ab62a
      Bastian Köcher authored
      * Companion for: Substrate#13869
      
      https://github.com/paritytech/substrate/pull/13869
      
      * Fix
      
      * Warning
      
      * update lockfile for {"polkadot", "substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      490ab62a
  24. May 23, 2023
  25. May 16, 2023
    • Branislav Kontur's avatar
      BridgeHubRococo/Wococo nits + updated subtree (#2572) · 17b2e1b3
      Branislav Kontur authored
      * Nits (merge before separatelly)
      
      * Small cosmetics for Rococo/Wococo bridge local run
      
      * Squashed 'bridges/' changes from 04b3dda6aa..5fc377ab34
      
      5fc377ab34 Support for kusama-polkadot relaying (#2128)
      01f4b7f1ba Fix clippy warnings (#2127)
      696ff1c368 BHK/P alignments (#2115)
      2a66aa3248 Small fixes (#2126)
      7810f1a988 Cosmetics (#2124)
      daf250f69c Remove some `expect()` statements (#2123)
      1c5fba8274 temporarily remove balance guard (#2121)
      3d0e547361 Propagate message receival confirmation errors (#2116)
      1c33143f07 Propagate message verification errors (#2114)
      b075b00910 Bump time from 0.3.20 to 0.3.21
      51a3a51618 Bump serde from 1.0.160 to 1.0.162
      da88d044a6 Bump clap from 4.2.5 to 4.2.7
      cdca322cd6 Bump sysinfo from 0.28.4 to 0.29.0
      
      git-subtree-dir: bridges
      git-subtree-split: 5fc377ab34f7dfd3293099c5feec49255e827812
      
      * Fix
      
      * Allow to change storage constants (DeliveryReward, RequiredStakeForStakeAndSlash) + tests
      
      * Clippy
      
      * New SA for RO/WO
      
      * Squashed 'bridges/' changes from 5fc377ab34..0f6091d481
      
      0f6091d481 Bump polkadot/substrate (#2134)
      9233f0a337 Bump tokio from 1.28.0 to 1.28.1
      a29c1caa93 Bump serde from 1.0.162 to 1.0.163
      
      git-subtree-dir: bridges
      git-subtree-split: 0f6091d48184ebb4f75cb3089befa6b92cf37335
      17b2e1b3
  26. May 12, 2023
    • Egor_P's avatar
      [Backport] version bumps from 9420 (#2561) · 0bab3ce6
      Egor_P authored
      * Bump crate versions
      
      * Bump spec_version to 9420
      
      * Bump transaction_version (#2520)
      
      * bump trnsaction_version
      
      * revert transaction_version bump for all except the collectives
      
      * make cargo fmt happy again
      0bab3ce6
  27. May 11, 2023
    • Doordashcon's avatar
      Substrate Companion (#2514) · ff64ddde
      Doordashcon authored
      * pallet-sudo-weightinfo
      
      * revert
      
      * s
      
      * runtime-benchmarks
      
      * update lockfile for {"polkadot", "substrate"}
      
      ---------
      
      Co-authored-by: parity-processbot <>
      ff64ddde
  28. May 06, 2023
  29. May 05, 2023
  30. Apr 05, 2023
  31. Mar 23, 2023
  32. Mar 20, 2023
  33. Mar 15, 2023
  34. Mar 14, 2023
  35. Mar 10, 2023
  36. Jan 27, 2023
  37. Jan 19, 2023
  38. Jan 18, 2023
  39. 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
  40. Jan 11, 2023