Skip to content
  1. Nov 15, 2023
  2. Nov 14, 2023
    • georgepisaltu's avatar
      Add simple collator election mechanism (#1340) · 7d735fc8
      georgepisaltu authored
      Fixes https://github.com/paritytech/polkadot-sdk/issues/106
      
      Port of cumulus PR https://github.com/paritytech/cumulus/pull/2960
      
      This PR adds the ability to bid for collator slots even after the max
      number of collators have already registered. This eliminates the first
      come, first served mechanism that was in place before.
      
      Key changes:
      - added `update_bond` extrinsic to allow registered candidates to adjust
      their bonds in order to dynamically control their bids
      - added `take_candidate_slot` extrinsic to try to replace an already
      existing candidate by bidding more than them
      - candidates are now kept in a sorted list in the pallet storage, where
      the top `DesiredCandidates` out of `MaxCandidates` candidates in the
      list will be selected by the session pallet as collators
      - if the candidacy bond is increased through a `set_candidacy_bond`
      call, candidates which don't meet the new bond requirements are kicked
      
      
      # Checklist
      
      - [ ] My PR includes a detailed description as outlined in the
      "Description" section above
      - [ ] My PR follows the [labeling
      requirements](https://github.com/paritytech/polkadot-sdk/blob/master/docs/CONTRIBUTING.md#process
      
      )
      of this project (at minimum one label for `T` required)
      - [ ] I have made corresponding changes to the documentation (if
      applicable)
      - [ ] I have added tests that prove my fix is effective or that my
      feature works (if applicable)
      - [ ] If this PR alters any external APIs or interfaces used by
      Polkadot, the corresponding Polkadot PR is ready as well as the
      corresponding Cumulus PR (optional)
      
      ---------
      
      Signed-off-by: default avatargeorgepisaltu <[email protected]>
      7d735fc8
  3. 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
  4. Nov 10, 2023
    • PG Herveou's avatar
      Contracts: Add XCM traits to interface with contracts (#2086) · 6b7be115
      PG Herveou authored
      We are introducing a new set of `XcmController` traits (final name yet
      to be determined).
      These traits are implemented by `pallet-xcm` and allows other pallets,
      such as `pallet_contracts`, to rely on these traits instead of tight
      coupling them to `pallet-xcm`.
      
      Using only the existing Xcm traits would mean duplicating the logic from
      `pallet-xcm` in these other pallets, which we aim to avoid. Our
      objective is to ensure that when these APIs are called from
      `pallet-contracts`, they produce the exact same outcomes as if called
      directly from `pallet-xcm`.
      
      The other benefits is that we can also expose return values to
      `pallet-contracts` instead of just calling `pallet-xcm` dispatchable and
      getting a `DispatchResult` back.
      
      See traits integration in this PR
      https://github.com/paritytech/polkadot-sdk/pull/1248
      
      , where the traits
      are used as follow to define and implement `pallet-contracts` Config.
      ```rs
      // Contracts config:
      pub trait Config: frame_system::Config {
        // ...
      
        /// A type that exposes XCM APIs, allowing contracts to interact with other parachains, and
        /// execute XCM programs.
        type Xcm: xcm_executor::traits::Controller<
      	  OriginFor<Self>,
      	  <Self as frame_system::Config>::RuntimeCall,
      	  BlockNumberFor<Self>,
        >;
      }
      
      // implementation
      impl pallet_contracts::Config for Runtime {
              // ...
      
      	type Xcm = pallet_xcm::Pallet<Self>;
      }
      ```
      
      ---------
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: command-bot <>
      6b7be115
  5. 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
  6. Oct 31, 2023
  7. Oct 24, 2023
  8. Oct 20, 2023
    • Bastian Köcher's avatar
      `xcm`: Change `TypeInfo::path` to not include `staging` (#1948) · f3bf5c1a
      Bastian Köcher authored
      The `xcm` crate was renamed to `staging-xcm` to be able to publish it to
      crates.io as someone as squatted `xcm`. The problem with this rename is
      that the `TypeInfo` includes the crate name which ultimately lands in
      the metadata. The metadata is consumed by downstream users like
      `polkadot-js` or people building on top of `polkadot-js`. These people
      are using the entire `path` to find the type in the type registry. Thus,
      their code would break as the type path would now be [`staging_xcm`,
      `VersionedXcm`] instead of [`xcm`, `VersionedXcm`]. This pull request
      fixes this by renaming the path segment `staging_xcm` to `xcm`.
      
      This requires: https://github.com/paritytech/scale-info/pull/197
      
      
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      f3bf5c1a
  9. 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
  10. Oct 16, 2023
  11. Sep 29, 2023
    • Bastian Köcher's avatar
      Remove kusama and polkadot runtime crates (#1731) · bf90cb0b
      Bastian Köcher authored
      This pull request is removing the Kusama and Polkadot runtime crates. As
      still some crates dependent on the runtime crates, this pull request is
      doing some more changes.
      
      - It removes the `hostperfcheck` CLI command. This CLI command could
      compare the current node against the standard hardware by doing some
      checks. Later we added the hardware benchmark feature to Substrate. This
      hardware benchmark is running on every node startup and prints a warning
      if the current node is too slow. This makes this CLI command a duplicate
      that was also depending on the kusama runtime.
      
      - The pull request is removing the emulated integration tests that were
      requiring the Kusama or Polkadot runtime crates.
      bf90cb0b
  12. Sep 27, 2023
  13. Sep 20, 2023
  14. Sep 18, 2023
  15. Sep 17, 2023
  16. Sep 15, 2023
  17. Sep 14, 2023
  18. Sep 05, 2023
    • joe petrowski's avatar
      Move Relay-Specific Shared Code to One Place (#1193) · a1469180
      joe petrowski authored
      * add common libs
      
      * asset hubs
      
      * add westend
      
      * bridge hubs
      
      * collectives
      
      * contracts
      
      * emulated tests
      
      * parachain bin
      
      * delete collectives constants and update docs
      
      * integration tests should have apache license (some missing, some needed changing)
      
      * propagate features
      
      * fmt
      a1469180
  19. Aug 31, 2023
  20. Aug 30, 2023
  21. Aug 29, 2023
  22. Aug 28, 2023
  23. Aug 25, 2023
  24. Aug 24, 2023
  25. Aug 23, 2023
    • juangirini's avatar
      Companion: restructure macro related exports (#3015) · 8349c8d1
      juangirini authored
      * restructure macro related exports
      
      * restructure macro related exports
      
      * wip
      
      * wip
      
      * update cargo lock
      
      * refactor RuntimeDebug on unincluded segment
      
      * fmt
      
      * Companion: restructure `benchmarking` macro related exports (#3039)
      
      * wip
      
      * wip
      
      * restructure benchmarking macro related exports
      
      * add cargo lock
      
      ---------
      
      Co-authored-by: parity-processbot <>
      8349c8d1
  26. Aug 22, 2023
  27. 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
  28. Aug 16, 2023
  29. Aug 15, 2023
  30. Aug 14, 2023
  31. Aug 10, 2023
  32. Aug 01, 2023
    • Oleg Plakida's avatar
      Update weights with VM runners (#2712) · fc83800e
      Oleg Plakida authored
      
      
      * paritytech/ci-cd#697: Update weights with VM runners
      
       - Update weights using VM instances
       - Change runner tag for weights ci job to weights-vm
      
      * ".git/.scripts/commands/bench/bench.sh" all
      
      * ".git/.scripts/commands/bench-all/bench-all.sh" --target_dir=cumulus
      
      ---------
      
      Co-authored-by: parity-processbot <>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      fc83800e
  33. Jul 14, 2023
  34. 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
  35. 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