Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from Upstream #35

Merged
merged 115 commits into from
Nov 24, 2023
Merged

Commits on Nov 1, 2023

  1. fix substrate-node-template generation (paritytech#2050)

    # Description
    
    This PR updates the node-template-release generation binary as well as
    the `node-template-release.sh` file so that we can automatically push
    updates to the [substrate-node-template
    repository](https://github.com/substrate-developer-hub/substrate-node-template).
    I assume this part was not updated after the substrate project has been
    moved into the polkadot-sdk mono repo.
    
    # Adjustments
    - extend the `node-template-release.sh` to support the substrate
    child-folder
    - update the `SUBSTRATE_GIT_URL`
    - fix the Cargo.toml filter (so that it does not include any
    non-relevant .toml files)
    - set the workspace-edition to 2021
    
    # Note
    In order to auto-generate the artifacts [this
    line](https://github.com/paritytech/polkadot-sdk/blob/master/.gitlab/pipeline/build.yml#L320C15-L320C15)
    needs to be included in the build.yml script again. Since I do not have
    access to the (probably) internal gitlab environment I hope that someone
    with actual access can introduce that change.
    I also do not know how the auto-publish feature works so that would be
    another thing to add later on.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    d-moos and bkchr authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    49c0f33 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4f05f9a View commit details
    Browse the repository at this point in the history
  3. [FRAME] Short-circuit fungible self transfer (paritytech#2118)

    Changes:
    - Change the fungible(s) logic to treat a self-transfer as No-OP (as
    long as all pre-checks pass).
    
    Note that the self-transfer case will not emit an event since no state
    was changed.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    c66ae37 View commit details
    Browse the repository at this point in the history
  4. [testnet] Add AssetHubRococo <-> AssetHubWestend asset bridging s…

    …upport (paritytech#1967)
    
    ## Summary
    
    Asset bridging support for AssetHub**Rococo** <-> AssetHub**Wococo** was
    added [here](paritytech#1215), so
    now we aim to bridge AssetHub**Rococo** and AssetHub**Westend**. (And
    perhaps retire AssetHubWococo and the Wococo chains).
    
    ## Solution
    
    **bridge-hub-westend-runtime**
    - added new runtime as a copy of `bridge-hub-rococo-runtime`
    - added support for bridging to `BridgeHubRococo`
    - added tests and benchmarks
    
    **bridge-hub-rococo-runtime**
    - added support for bridging to `BridgeHubWestend`
    - added tests and benchmarks
    - internal refactoring by splitting bridge configuration per network,
    e.g., `bridge_to_whatevernetwork_config.rs`.
    
    **asset-hub-rococo-runtime**
    - added support for asset bridging to `AssetHubWestend` (allows to
    receive only WNDs)
    - added new xcm router for `Westend`
    - added tests and benchmarks
    
    **asset-hub-westend-runtime**
    - added support for asset bridging to `AssetHubRococo` (allows to
    receive only ROCs)
    - added new xcm router for `Rococo`
    - added tests and benchmarks
    
    ## Deployment
    
    All changes will be deployed as a part of
    paritytech#1988.
    
    ## TODO
    
    - [x] benchmarks for all pallet instances
    - [x] integration tests
    - [x] local run scripts
    
    
    Relates to:
    paritytech/parity-bridges-common#2602
    Relates to: paritytech#1988
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    3 people authored Nov 1, 2023
    Configuration menu
    Copy the full SHA
    1b1fab0 View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Configuration menu
    Copy the full SHA
    fe9435d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9ff5088 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    8ff4898 View commit details
    Browse the repository at this point in the history
  4. Make ExecResult encodable (paritytech#1809)

    # Description
    We derive few useful traits on `ErrorOrigin` and `ExecError`, including
    `codec::Encode` and `codec::Decode`, so that `ExecResult` is
    en/decodable as well. This is required for a contract mocking feature
    (already prepared in drink:
    inkdevhub/drink#61). In more detail:
    `ExecResult` must be passed from runtime extension, through runtime
    interface, back to the pallet, which requires that it is serializable to
    bytes in some form (or implements some rare, auxiliary traits).
    
    **Impact on runtime size**: Since most of these traits is used directly
    in the pallet now, compiler should be able to throw it out (and thus we
    bring no new overhead). However, they are very useful in secondary tools
    like drink or other testing libraries.
    
    # Checklist
    
    - [x] My PR includes a detailed description as outlined in the
    "Description" section above
    - [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
    of this project (at minimum one label for `T`
      required)
    - [x] I have made corresponding changes to the documentation (if
    applicable)
    - [x] I have added tests that prove my fix is effective or that my
    feature works (if applicable)
    pmikolajczyk41 authored Nov 2, 2023
    Configuration menu
    Copy the full SHA
    10857d0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    29b4bd4 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    7df0417 View commit details
    Browse the repository at this point in the history
  7. Use Message Queue as DMP and XCMP dispatch queue (paritytech#1246)

    (imported from paritytech/cumulus#2157)
    
    ## Changes
    
    This MR refactores the XCMP, Parachains System and DMP pallets to use
    the [MessageQueue](paritytech/substrate#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
    paritytech/polkadot#6271
    - [x] Use `HandleMessage` once it is public in Substrate
    - [x] fix `runtime-benchmarks` feature
    paritytech/polkadot#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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: command-bot <>
    4 people authored Nov 2, 2023
    Configuration menu
    Copy the full SHA
    e1c033e View commit details
    Browse the repository at this point in the history
  8. Create new trait for non-dedup storage decode (paritytech#1932)

    - This adds the new trait `StorageDecodeNonDedupLength` and implements
    them for `BTreeSet` and its bounded types.
    - New unit test has been added to cover the case.  
    - See linked
    [issue](paritytech#126) which
    outlines the original issue.
    
    Note that the added trait here doesn't add new logic but improves
    semantics.
    
    ---------
    
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: command-bot <>
    4 people authored Nov 2, 2023
    Configuration menu
    Copy the full SHA
    15a3483 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. [testnet] Allow governance to control fees for Rococo <> Westend brid…

    …ge (paritytech#2139)
    
    Right now governance could only control byte-fee component of Rococo <>
    Westend message fees (paid at Asset Hubs). This PR changes it a bit:
    1) governance now allowed to control both fee components - byte fee and
    base fee;
    2) base fee now includes cost of "default" delivery and confirmation
    transactions, in addition to `ExportMessage` instruction cost.
    svyatonik authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    0d3c67d View commit details
    Browse the repository at this point in the history
  2. skip trigger for review bot on draft PRs (paritytech#2145)

    Added if condition on review-bot's trigger so it does not trigger in
    `draft` PRs.
    Bullrich authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    e998740 View commit details
    Browse the repository at this point in the history
  3. substrate: sysinfo: Expose failed hardware requirements (paritytech#2144

    )
    
    The check_hardware functions does not give us too much information as to
    what is failing, so let's return the list of failed metrics, so that callers can print 
    it.
    
    This would make debugging easier, rather than try to guess which
    dimension is actually failing.
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    alexggh authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    dca1423 View commit details
    Browse the repository at this point in the history
  4. Update Kusama Parachains Bootnode (paritytech#2148)

    # Description
    
    Update the bootnode of kusama parachains before decommissioning the
    nodes. This will avoid connecting to non-existing bootnodes.
    lazam authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    f6f4c5a View commit details
    Browse the repository at this point in the history
  5. Do not request blocks below the common number when syncing (paritytec…

    …h#2045)
    
    This changes `BlockCollection` logic so we don't download block ranges
    from peers with which we have these ranges already in sync.
    
    Improves situation with
    paritytech#1915.
    dmitry-markin authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    8dc41ba View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d512b3f View commit details
    Browse the repository at this point in the history
  7. Add deprecation checklist document for Substrate (paritytech#1583)

    fixes paritytech#182
    
    This PR adds a document with recommendations of how deprecations should
    be handled. Initiated within FRAME, this checklist could be extended to
    the rest of the repo.
    
    I want to quote here a comment from @kianenigma that summarizes the
    spirit of this new document:
    > I would see it as a guideline of "what an extensive deprecation
    process looks like". As the author of a PR, you should match this
    against your "common sense" and see if it is needed or not. Someone else
    can nudge you to "hey, this is an important PR, you should go through
    the deprecation process".
    > 
    > For some trivial things, all the steps might be an overkill.
    
    ---------
    
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    juangirini and franciscoaguirre authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    8cfbee7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    cd2d5d2 View commit details
    Browse the repository at this point in the history
  9. sc-block-builder: Remove BlockBuilderProvider (paritytech#2099)

    The `BlockBuilderProvider` was a trait that was defined in
    `sc-block-builder`. The trait was implemented for `Client`. This
    basically meant that you needed to import `sc-block-builder` any way to
    have access to the block builder. So, this trait was not providing any
    real value. This pull request is removing the said trait. Instead of the
    trait it introduces a builder for creating a `BlockBuilder`. The builder
    currently has the quite fabulous name `BlockBuilderBuilder` (I'm open to
    any better name 😅). The rest of the pull request is about
    replacing the old trait with the new builder.
    
    # Downstream code changes
    
    If you used `new_block` or `new_block_at` before you now need to switch
    it over to the new `BlockBuilderBuilder` pattern:
    
    ```rust
    // `new` requires a type that implements `CallApiAt`. 
    let mut block_builder = BlockBuilderBuilder::new(client)
                    // Then you need to specify the hash of the parent block the block will be build on top of
    		.on_parent_block(at)
                    // The block builder also needs the block number of the parent block. 
                    // Here it is fetched from the given `client` using the `HeaderBackend`
                    // However, there also exists `with_parent_block_number` for directly passing the number
    		.fetch_parent_block_number(client)
    		.unwrap()
                    // Enable proof recording if required. This call is optional.
    		.enable_proof_recording()
                    // Pass the digests. This call is optional.
                    .with_inherent_digests(digests)
    		.build()
    		.expect("Creates new block builder");
    ```
    
    ---------
    
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    Co-authored-by: command-bot <>
    bkchr and skunert authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    ca5f105 View commit details
    Browse the repository at this point in the history
  10. Identity pallet improvements (paritytech#2048)

    This PR is a follow up to paritytech#1661 
    
    - [x] rename the `simple` module to `legacy`
    - [x] fix benchmarks to disregard the number of additional fields
    - [x] change the storage deposits to charge per encoded byte of the
    identity information instance, removing the need for `fn
    additional(&self) -> usize` in `IdentityInformationProvider`
    - [x] ~add an extrinsic to rejig deposits to account for the change
    above~
    - [ ] ~ensure through proper configuration that the new byte-based
    deposit is always lower than whatever is reserved now~
    - [x] remove `IdentityFields` from the `set_fields` extrinsic signature,
    as per [this
    discussion](paritytech#1661 (comment))
    
    > ensure through proper configuration that the new byte-based deposit is
    always lower than whatever is reserved now
    
    Not sure this is needed anymore. If the new deposits are higher than
    what is currently on chain and users don't have enough funds to reserve
    what is needed, the extrinisc fails and they're basically grandfathered
    and frozen until they add more funds and/or make a change to their
    identity. This behavior seems fine to me. Original idea
    [here](paritytech#1661 (comment)).
    
    > add an extrinsic to rejig deposits to account for the change above
    
    This was initially implemented but now removed from this PR in favor of
    the implementation detailed
    [here](paritytech#2088).
    
    ---------
    
    Signed-off-by: georgepisaltu <george.pisaltu@parity.io>
    Co-authored-by: joepetrowski <joe@parity.io>
    georgepisaltu and joepetrowski authored Nov 3, 2023
    Configuration menu
    Copy the full SHA
    21fbc00 View commit details
    Browse the repository at this point in the history

Commits on Nov 4, 2023

  1. cumulus test runtime: remove GenesisExt (paritytech#2147)

    This PR removes the `GenesisExt` wrapper over the `GenesisRuntimeConfig`
    in `cumulus-test-service`. Initialization of values that were performed
    by `GenesisExt::BuildStorage` was moved into `test_pallet` genesis.
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    michalkucharczyk and bkchr authored Nov 4, 2023
    Configuration menu
    Copy the full SHA
    1c0b437 View commit details
    Browse the repository at this point in the history
  2. Speed up try runtime checks for pallet-bags-list (paritytech#2151)

    closes paritytech#2020.
    
    This improves running time for pallet-bags-list try runtime checks on
    westend from ~90 minutes to 6 seconds on M2 pro.
    Ank4n authored Nov 4, 2023
    Configuration menu
    Copy the full SHA
    8d4ae36 View commit details
    Browse the repository at this point in the history
  3. Speed up nominator state checks in staking pallet (paritytech#2153)

    Should help paritytech#234.
    Related to paritytech#2020 and
    paritytech#2108.
    
    Refactors and improves running time for try runtime checks for staking
    pallet.
    
    Tested on westend on my M2 pro: running time drops from 90 seconds to 7
    seconds.
    Ank4n authored Nov 4, 2023
    Configuration menu
    Copy the full SHA
    f84b897 View commit details
    Browse the repository at this point in the history

Commits on Nov 5, 2023

  1. Update bootnode lists (paritytech#2150)

    # Description
    
    Update the bootnode of kusama parachains before decommissioning the
    nodes. This will avoid connecting to non-existing bootnodes.
    BulatSaif authored Nov 5, 2023
    Configuration menu
    Copy the full SHA
    0c39cf0 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c46a7db View commit details
    Browse the repository at this point in the history
  3. chain-spec: getting ready for native-runtime-free world (paritytech…

    …#1256)
    
    This PR prepares chains specs for _native-runtime-free_  world.
    
    This PR has following changes:
    - `substrate`:
      - adds support for:
    - JSON based `GenesisConfig` to `ChainSpec` allowing interaction with
    runtime `GenesisBuilder` API.
    - interacting with arbitrary runtime wasm blob to[
    `chain-spec-builder`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/bin/utils/chain-spec-builder/src/lib.rs#L46)
    command line util,
    - removes
    [`code`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/frame/system/src/lib.rs#L660)
    from `system_pallet`
      - adds `code` to the `ChainSpec`
    - deprecates
    [`ChainSpec::from_genesis`](https://github.com/paritytech/substrate/blob/3ef576eaeb3f42610e85daecc464961cf1295570/client/chain-spec/src/chain_spec.rs#L263),
    but also changes the signature of this method extending it with `code`
    argument.
    [`ChainSpec::builder()`](https://github.com/paritytech/substrate/blob/20bee680ed098be7239cf7a6b804cd4de267983e/client/chain-spec/src/chain_spec.rs#L507)
    should be used instead.
    - `polkadot`:
    - all references to `RuntimeGenesisConfig` in `node/service` are
    removed,
    - all
    `(kusama|polkadot|versi|rococo|wococo)_(staging|dev)_genesis_config`
    functions now return the JSON patch for default runtime `GenesisConfig`,
      - `ChainSpecBuilder` is used, `ChainSpec::from_genesis` is removed,
    
    - `cumulus`:
      - `ChainSpecBuilder` is used, `ChainSpec::from_genesis` is removed,
    - _JSON_ patch configuration used instead of `RuntimeGenesisConfig
    struct` in all chain specs.
      
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Javier Viola <javier@parity.io>
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Kevin Krone <kevin@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    6 people authored Nov 5, 2023
    Configuration menu
    Copy the full SHA
    8ba7a6a View commit details
    Browse the repository at this point in the history
  4. Fix update-ui-tests.sh (paritytech#2161)

    Related paritytech#2013
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Nov 5, 2023
    Configuration menu
    Copy the full SHA
    15beef2 View commit details
    Browse the repository at this point in the history
  5. [CI] Update deps (paritytech#2159)

    Otherwise the return code is not correctly propagated (ref
    ggwpez/zepter#48).
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Nov 5, 2023
    Configuration menu
    Copy the full SHA
    f6ee478 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2023

  1. Get rid of NetworkService in ChainSync (paritytech#2143)

    Move peer banning from `ChainSync` to `SyncingEngine`.
    dmitry-markin authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    7b06e63 View commit details
    Browse the repository at this point in the history
  2. serde_json: bumped to 1.0.108 (paritytech#2168)

    This PR updates the version of `serde_json` to `1.0.108` throughout the
    codebase.
    michalkucharczyk authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    305aefc View commit details
    Browse the repository at this point in the history
  3. Add warning when peer_id is not available when building topology (par…

    …itytech#2140)
    
    ... see paritytech#2138 for why
    is not good, until we fix it let's add a warning to understand if this
    is happening in the wild.
    
    ---------
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    alexggh and bkchr authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    fb2dc6d View commit details
    Browse the repository at this point in the history
  4. Add force remove vesting (paritytech#1982)

    This PR exposes a `force_remove_vesting` through a ROOT call. 
    See linked
    [issue](paritytech#269)
    
    ---------
    
    Co-authored-by: georgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
    Co-authored-by: command-bot <>
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    3 people authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    318e596 View commit details
    Browse the repository at this point in the history
  5. rename benchmark (paritytech#2173)

    A quick fix where a benchmark test was wrongly renamed in this PR
    paritytech#1868
    0xmovses authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    4ac9c4a View commit details
    Browse the repository at this point in the history
  6. approval-voting improvement: include all tranche0 assignments in one …

    …certificate (paritytech#1178)
    
    **_PR migrated from https://github.com/paritytech/polkadot/pull/6782_** 
    
    This PR will upgrade the network protocol to version 3 -> VStaging which
    will later be renamed to V3. This version introduces a new kind of
    assignment certificate that will be used for tranche0 assignments.
    Instead of issuing/importing one tranche0 assignment per candidate,
    there will be just one certificate per relay chain block per validator.
    However, we will not be sending out the new assignment certificates,
    yet. So everything should work exactly as before. Once the majority of
    the validators have been upgraded to the new protocol version we will
    enable the new certificates (starting at a specific relay chain block)
    with a new client update.
    
    There are still a few things that need to be done:
    
    - [x] Use bitfield instead of Vec<CandidateIndex>:
    paritytech/polkadot#6802
      - [x] Fix existing approval-distribution and approval-voting tests
      - [x] Fix bitfield-distribution and statement-distribution tests
      - [x] Fix network bridge tests
      - [x] Implement todos in the code
      - [x] Add tests to cover new code
      - [x] Update metrics
      - [x] Remove the approval distribution aggression levels: TBD PR
      - [x] Parachains DB migration 
      - [x] Test network protocol upgrade on Versi
      - [x] Versi Load test
      - [x] Add Zombienet test
      - [x] Documentation updates
    - [x] Fix for sending DistributeAssignment for each candidate claimed by
    a v2 assignment (warning: Importing locally an already known assignment)
     - [x]  Fix AcceptedDuplicate
     - [x] Fix DB migration so that we can still keep old data.
     - [x] Final Versi burn in
    
    ---------
    
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    Co-authored-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    sandreim and alexggh authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    0570b6f View commit details
    Browse the repository at this point in the history
  7. minor: overseer availability-distribution message declaration update (p…

    …aritytech#2179)
    
    availability-distribution subsystem is not sending availability-recovery
    messages. Update the overseer declaration to reflect this
    alindima authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    15df7f5 View commit details
    Browse the repository at this point in the history
  8. TryDecodeEntireState check for storage types and pallets (paritytech#…

    …1805)
    
    ### This PR is a port of this [PR for
    substrate](paritytech/substrate#13013) by
    @kianenigma
    
    Add infrastructure needed to have a Pallet::decode_entire_state(), which
    makes sure all "typed" storage items defined in the pallet are
    decode-able.
    
    This is not enforced in any way at the moment. Teams who wish to
    integrate/use this in the try-runtime feature flag should add
    frame_support::storage::migration::EnsureStateDecodes as the LAST ITEM
    of the runtime's custom migrations, and pass it to frame-executive. This
    will make it usable in try-runtime on-runtime-upgrade.
    
    This now catches cases like
    paritytech#1969:
    ```pre
    ERROR runtime::executive] failed to decode the value at key: Failed to decode value at key: 0x94eadf0156a8ad5156507773d0471e4ab8ebad86f546c7e0b135a4212aace339. Storage info StorageInfo { pallet_name: Ok("ParaScheduler"), storage_name: Ok("AvailabilityCores"), prefix: Err(Utf8Error { valid_up_to: 0, error_len: Some(1) }), max_values: Some(1), max_size: None }. Raw value: Some("0x0c010101010101")
    ```
    
    ... or:
    
    ![image](https://github.com/paritytech/polkadot-sdk/assets/10380170/73052d4f-4da5-4b21-a8dd-b17004e5965e)
    
    Closes paritytech#241
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    3 people authored Nov 6, 2023
    Configuration menu
    Copy the full SHA
    32a9740 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Initialise on-chain StorageVersion for pallets added after genesis (p…

    …aritytech#1297)
    
    Original PR paritytech/substrate#14641
    
    ---
    
    Closes paritytech#109
    
    ### Problem
    Quoting from the above issue:
    
    > When adding a pallet to chain after genesis we currently don't set the
    StorageVersion. So, when calling on_chain_storage_version it returns 0
    while the pallet is maybe already at storage version 9 when it was added
    to the chain. This could lead to issues when running migrations.
    
    ### Solution
    
    - Create a new trait `BeforeAllRuntimeMigrations` with a single method
    `fn before_all_runtime_migrations() -> Weight` trait with a noop default
    implementation
    - Modify `Executive` to call
    `BeforeAllRuntimeMigrations::before_all_runtime_migrations` for all
    pallets before running any other hooks
    - Implement `BeforeAllRuntimeMigrations` in the pallet proc macro to
    initialize the on-chain version to the current pallet version if the
    pallet has no storage set (indicating it has been recently added to the
    runtime and needs to have its version initialised).
    
    ### Other changes in this PR
    
    - Abstracted repeated boilerplate to access the `pallet_name` in the
    pallet expand proc macro.
    
    ### FAQ
    
    #### Why create a new hook instead of adding this logic to the pallet
    `pre_upgrade`?
    
    `Executive` currently runs `COnRuntimeUpgrade` (custom migrations)
    before `AllPalletsWithSystem` migrations. We need versions to be
    initialized before the `COnRuntimeUpgrade` migrations are run, because
    `COnRuntimeUpgrade` migrations may use the on-chain version for critical
    logic. e.g. `VersionedRuntimeUpgrade` uses it to decide whether or not
    to execute.
    
    We cannot reorder `COnRuntimeUpgrade` and `AllPalletsWithSystem` so
    `AllPalletsWithSystem` runs first, because `AllPalletsWithSystem` have
    some logic in their `post_upgrade` hooks to verify that the on-chain
    version and current pallet version match. A common use case of
    `COnRuntimeUpgrade` migrations is to perform a migration which will
    result in the versions matching, so if they were reordered these
    `post_upgrade` checks would fail.
    
    #### Why init the on-chain version for pallets without a current storage
    version?
    
    We must init the on-chain version for pallets even if they don't have a
    defined storage version so if there is a future version bump, the
    on-chain version is not automatically set to that new version without a
    proper migration.
    
    e.g. bad scenario:
    
    1. A pallet with no 'current version' is added to the runtime
    2. Later, the pallet is upgraded with the 'current version' getting set
    to 1 and a migration is added to Executive Migrations to migrate the
    storage from 0 to 1
        a. Runtime upgrade occurs
        b. `before_all` hook initializes the on-chain version to 1
    c. `on_runtime_upgrade` of the migration executes, and sees the on-chain
    version is already 1 therefore think storage is already migrated and
    does not execute the storage migration
    Now, on-chain version is 1 but storage is still at version 0.
    
    By always initializing the on-chain version when the pallet is added to
    the runtime we avoid that scenario.
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    c4211b6 View commit details
    Browse the repository at this point in the history
  2. zombienet_tests: Fix genesis error in 0006-parachains-max-tranche0.to…

    …ml (paritytech#2191)
    
    There was a race in merging between
    paritytech#1256 and
    paritytech#1178, so this newly
    added tests wasn't updated with the new path for the configuration, so
    fix that.
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    alexggh authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    f5e9827 View commit details
    Browse the repository at this point in the history
  3. mark pallet-asset-rate optional in polkadot-runtime-common (paritytec…

    …h#2187)
    
    Part of paritytech#2186
    
    The only usage of pallet-asset-rate is guarded by `runtime-benchmarks`
    feature. I don't want ORML to be forced to include this pallet in deps
    for no good reason.
    xlc authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    295a848 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    4caa3d8 View commit details
    Browse the repository at this point in the history
  5. Fix "slashaed" typo (paritytech#2205)

    # Description
    
    This merely fixes a typo in the documentation, replacing the typo
    "slashaed" with "slashed". Since external entities use the comments for
    explanations of events, this will then be shown externally. I noticed
    this when reviewing [this
    event](https://polkadot.subscan.io/extrinsic/0xb6bc1e3abde0c2ed9c500c74cfc64cdb8179e5d9af97f4bf53242ce4cdd15a1d?event=18064194-6)
    on Subscan.
    
    This is not related to any other issues or PRs.
    laboon authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    44c7a5e View commit details
    Browse the repository at this point in the history
  6. Disable incoming light-client connections for minimal relay node (par…

    …itytech#2202)
    
    When running with `--relay-chain-rpc-url` we received multiple reports
    of high traffic that disappears when `--in-peers-light 0` is set. Indeed
    it does not make much sense for light clients to connect to the minimal
    node since it is not running the block announce protocol and the
    request/response protocol for light clients.
    
    This is intended to alleviate the traffic issues for now.
    
    closes paritytech#1896
    probably related paritytech/cumulus#2563
    skunert authored Nov 7, 2023
    Configuration menu
    Copy the full SHA
    8ebb5c3 View commit details
    Browse the repository at this point in the history

Commits on Nov 8, 2023

  1. XCM builder pattern (paritytech#2107)

    Added a proc macro to be able to write XCMs using the builder pattern.
    This means we go from having to do this:
    
    ```rust
    let message: Xcm<()> = Xcm(vec![
      WithdrawAsset(assets),
      BuyExecution { fees: asset, weight_limit: Unlimited },
      DepositAsset { assets, beneficiary },
    ]);
    ```
    
    to this:
    
    ```rust
    let message: Xcm<()> = Xcm::builder()
      .withdraw_asset(assets)
      .buy_execution(asset, Unlimited),
      .deposit_asset(assets, beneficiary)
      .build();
    ```
    
    ---------
    
    Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
    Co-authored-by: command-bot <>
    franciscoaguirre and KiChjang authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    0524aa5 View commit details
    Browse the repository at this point in the history
  2. [testnets][xcm-emulator] add bridge-hub-westend and hook it up to emu…

    …lator (paritytech#2204)
    
    `bridge-hub-westend-runtime` was added to cumulus/parachains, but wasn't
    hooked up to xcm-emulator to run tests against it.
    
    This commit addresses that ^.
    
    Signed-off-by: Adrian Catangiu <adrian@parity.io>
    acatangiu authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    2e2a75f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    640e385 View commit details
    Browse the repository at this point in the history
  4. Add sudo::remove_key (paritytech#2165)

    Changes:
    - Adds a new call `remove_key` to the sudo pallet to permanently remove
    the sudo key.
    - Remove some clones and general maintenance
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: command-bot <>
    ggwpez and bkchr authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    9adb46c View commit details
    Browse the repository at this point in the history
  5. Adding gitspiegel-trigger workflow (paritytech#2135)

    GitHub has a setting that requires manual click for executing GHA on the
    branch, for the first-time contributors:
    https://docs.github.com/en/actions/managing-workflow-runs/approving-workflow-runs-from-public-forks.
    
    After this PR, gitspiegel will respect that setting. So, for PRs from
    first-time contributors, gitspiegel won't do mirroring until the button
    in PR is clicked. More info:
    paritytech/gitspiegel#169
    mutantcornholio authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    9673fbf View commit details
    Browse the repository at this point in the history
  6. validate-block: Fix TrieCache implementation (paritytech#2214)

    The trie cache implementation was ignoring the `storage_root` when
    setting up the value cache. The problem with this is that the value
    cache works using `storage_keys` and these keys are not unique across
    different tries. A block can actually have different tries (main trie
    and multiple child tries). This pull request fixes the issue by not
    ignoring the `storage_root` and returning an unique `value_cache` per
    `storage_root`. It also adds a test for the seen bug and improves
    documentation that this doesn't happen again.
    bkchr authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    1bc0885 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    5039095 View commit details
    Browse the repository at this point in the history
  8. [xcm-emulator] Chains generic over Network & Integration tests restru…

    …cture (paritytech#2092)
    
    Closes:
    - paritytech#1383 
    - Declared chains can be now be imported and reused in a different
    crate.
    - Chain declaration are now generic over a generic type `N` (the
    Network)
    - paritytech#1389
    - Solved paritytech#1383, chains and networks declarations can be restructure to
    avoid having to compile all chains when running integrations tests where
    are not needed.
    - Chains are now declared on its own crate (removed from
    `integration-tests-common`)
    - Networks are now declared on its own crate (removed from
    `integration-tests-common`)
        - Integration tests will import only the relevant Network crate
    - `integration-tests-common` is renamed to
    `emulated-integration-tests-common`
    
    All this is necessary to be able to implement what is described here:
    paritytech/roadmap#56 (comment)
    
    ---------
    
    Co-authored-by: command-bot <>
    NachoPal authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    ffa0e30 View commit details
    Browse the repository at this point in the history
  9. sc-chain-spec: add support for custom host functions (paritytech#2190)

    Genesis building in runtime may involve calling some custom host
    functions. This PR allows to pass `HostFunctions` into the `ChainSpec`
    struct, which in turn are passed to `WasmExecutor`. The `ChainSpec` now
    has extended host functions type parameter:
    ```
    pub struct ChainSpec<G, E = NoExtension, EHF = ()>
    ```
    which will be combined with the default set
    (`sp_io::SubstrateHostFunctions`) in an instance of `WasmExecutor` used
    to build the genesis config.
    
    Fix for paritytech#2188
    
    ---------
    
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    b8acc57 View commit details
    Browse the repository at this point in the history
  10. integrations-test: build_genesis_storage name fix (paritytech#2232)

    Some legacy tests were mistakenly merged in paritytech#1256 for `emulated-integration-tests-common` crate.
    This PR fixes the function name `build_genesis_storage` (no need to use `legacy` suffix, even though the genesis is built from `RuntimeGenesisConfig`).
    michalkucharczyk authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    eabf9fb View commit details
    Browse the repository at this point in the history
  11. Add prospective-parachain subsystem to minimal-relay-node + QoL impro…

    …vements (paritytech#2223)
    
    This PR contains some fixes and cleanups for parachain nodes:
    
    1. When using async backing, node no longer complains about being unable
    to reach the prospective-parachain subsystem.
    2. Parachain warp sync now informs users that the finalized para block
    has been retrieved.
    ```
    2023-11-08 13:24:42 [Parachain] 🎉 Received finalized parachain header #5747719 (0xa0aa…674b) from the relay chain.
    ```
    3. When a user supplied an invalid `--relay-chain-rpc-url`, we were
    crashing with a very verbose message. Removed the `expect` and improved
    the error message.
    ```
    2023-11-08 13:57:56 [Parachain] No valid RPC url found. Stopping RPC worker.
    2023-11-08 13:57:56 [Parachain] Essential task `relay-chain-rpc-worker` failed. Shutting down service.
    Error: Service(Application(WorkerCommunicationError("RPC worker channel closed. This can hint and connectivity issues with the supplied RPC endpoints. Message: oneshot canceled")))
    ```
    skunert authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    69494ea View commit details
    Browse the repository at this point in the history
  12. Make PalletInfo fields public (paritytech#2231)

    PalletInfo fields were private, preventing a user from actually using
    the QueryPallet instruction in a meaningful way since they couldn't read
    the received data.
    franciscoaguirre authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    37bb02e View commit details
    Browse the repository at this point in the history
  13. BridgeHub Runtimes: Change registration order of MessageQueue pallet (

    paritytech#2230)
    
    This PR changes the registration order of the `MessageQueue` pallet so
    that it is registered last.
    
    This is necessary so that the
    [on_initialize](https://github.com/Snowfork/snowbridge/blob/df8d5da82e517a65fb0858a4f2ead533290336b5/parachain/pallets/outbound-queue/src/lib.rs#L267)
    hooks for Snowbridge can run before `MessageQueue` delivers messages
    using its own `on_initialize`.
    
    Generally, I think this is preferable regardless of Snowbridge's
    particular requirements. Other pallets may want to do housekeeping
    before MessageQueue starts delivering messages.
    
    I'm hoping this PR, if accepted, can be included in the same release as
    paritytech#1246. As otherwise,
    changing the order of pallet registration is an ABI-breaking change.
    vgeddes authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    3f7c743 View commit details
    Browse the repository at this point in the history
  14. Rococo: Build two versions of the wasm binary (paritytech#2229)

    One for local networks with `fast-runtime` feature activated (1 minute
    sessions) and one without the feature activated that will be the default
    that runs with 1 hour long sessions.
    bkchr authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    e4f5f3c View commit details
    Browse the repository at this point in the history
  15. Add RadiumBlock Bootnodes for parachains (paritytech#2224)

    # Description
    
    We would like to add our bootnodes to the following parachains:
    
    Westend: Westmint, Bridgehub
    
    Kusama: Statemine, Bridgehub
    
    Polkadot: Statemint, Bridgehub, Collectives
    
    Thank you.
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    radiumb and ggwpez authored Nov 8, 2023
    Configuration menu
    Copy the full SHA
    6a23c23 View commit details
    Browse the repository at this point in the history

Commits on Nov 9, 2023

  1. Remove unnecessary map_error (paritytech#2239)

    This was discovered during a debugging session, and it only served to
    mask the underlying error, which was not great.
    KiChjang authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    d347d68 View commit details
    Browse the repository at this point in the history
  2. Add descriptions to all published crates (paritytech#2029)

    Missing descriptions (47):  
    
    - [x] `cumulus/client/collator/Cargo.toml`
    - [x] `cumulus/client/relay-chain-inprocess-interface/Cargo.toml`
    - [x] `cumulus/client/cli/Cargo.toml`
    - [x] `cumulus/client/service/Cargo.toml`
    - [x] `cumulus/client/relay-chain-rpc-interface/Cargo.toml`
    - [x] `cumulus/client/relay-chain-interface/Cargo.toml`
    - [x] `cumulus/client/relay-chain-minimal-node/Cargo.toml`
    - [x] `cumulus/parachains/pallets/parachain-info/Cargo.toml`
    - [x] `cumulus/parachains/pallets/ping/Cargo.toml`
    - [x] `cumulus/primitives/utility/Cargo.toml`
    - [x] `cumulus/primitives/aura/Cargo.toml`
    - [x] `cumulus/primitives/core/Cargo.toml`
    - [x] `cumulus/primitives/parachain-inherent/Cargo.toml`
    - [x] `cumulus/test/relay-sproof-builder/Cargo.toml`
    - [x] `cumulus/pallets/xcmp-queue/Cargo.toml`
    - [x] `cumulus/pallets/dmp-queue/Cargo.toml`
    - [x] `cumulus/pallets/xcm/Cargo.toml`
    - [x] `polkadot/erasure-coding/Cargo.toml`
    - [x] `polkadot/statement-table/Cargo.toml`
    - [x] `polkadot/primitives/Cargo.toml`
    - [x] `polkadot/rpc/Cargo.toml`
    - [x] `polkadot/node/service/Cargo.toml`
    - [x] `polkadot/node/core/parachains-inherent/Cargo.toml`
    - [x] `polkadot/node/core/approval-voting/Cargo.toml`
    - [x] `polkadot/node/core/dispute-coordinator/Cargo.toml`
    - [x] `polkadot/node/core/av-store/Cargo.toml`
    - [x] `polkadot/node/core/chain-api/Cargo.toml`
    - [x] `polkadot/node/core/prospective-parachains/Cargo.toml`
    - [x] `polkadot/node/core/backing/Cargo.toml`
    - [x] `polkadot/node/core/provisioner/Cargo.toml`
    - [x] `polkadot/node/core/runtime-api/Cargo.toml`
    - [x] `polkadot/node/core/bitfield-signing/Cargo.toml`
    - [x] `polkadot/node/network/dispute-distribution/Cargo.toml`
    - [x] `polkadot/node/network/bridge/Cargo.toml`
    - [x] `polkadot/node/network/collator-protocol/Cargo.toml`
    - [x] `polkadot/node/network/approval-distribution/Cargo.toml`
    - [x] `polkadot/node/network/availability-distribution/Cargo.toml`
    - [x] `polkadot/node/network/bitfield-distribution/Cargo.toml`
    - [x] `polkadot/node/network/gossip-support/Cargo.toml`
    - [x] `polkadot/node/network/availability-recovery/Cargo.toml`
    - [x] `polkadot/node/collation-generation/Cargo.toml`
    - [x] `polkadot/node/overseer/Cargo.toml`
    - [x] `polkadot/runtime/parachains/Cargo.toml`
    - [x] `polkadot/runtime/common/slot_range_helper/Cargo.toml`
    - [x] `polkadot/runtime/metrics/Cargo.toml`
    - [x] `polkadot/xcm/pallet-xcm-benchmarks/Cargo.toml`
    - [x] `polkadot/utils/generate-bags/Cargo.toml`
    - [x]  `substrate/bin/minimal/runtime/Cargo.toml`
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Signed-off-by: alindima <alin@parity.io>
    Co-authored-by: ordian <noreply@reusable.software>
    Co-authored-by: Tsvetomir Dimitrov <tsvetomir@parity.io>
    Co-authored-by: Marcin S <marcin@realemail.net>
    Co-authored-by: alindima <alin@parity.io>
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    Co-authored-by: Dmitry Markin <dmitry@markin.tech>
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    9 people authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    48ea86f View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0abbd60 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e8029a7 View commit details
    Browse the repository at this point in the history
  5. sc-state-db: Keep track of LAST_PRUNED after warp syncing (parityte…

    …ch#2228)
    
    When warp syncing we import the target block with all its state.
    However, we didn't store the `LAST_PRUNED` block which would then lead
    to `pruning` to forget about the imported block after a restart of the
    node. We just set `LAST_PRUNED` to the parent block of the warp sync
    target block to fix this issue.
    bkchr authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    b0d0fb3 View commit details
    Browse the repository at this point in the history
  6. Add license to tracking-allocator and add staging-prefix (paritytech#…

    …2261)
    
    The staging- rename commit was missing from the last PR for some reason.
    Morganamilo authored Nov 9, 2023
    Configuration menu
    Copy the full SHA
    03ee44d View commit details
    Browse the repository at this point in the history

Commits on Nov 10, 2023

  1. Contracts move fixtures to new crate (paritytech#2246)

    Small PR that introduce a new crate that will host RISC-V & wasm
    fixtures for testing pallet-contracts
    pgherveou authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    64effd0 View commit details
    Browse the repository at this point in the history
  2. [pallet-message-queue] Implement impl_trait_for_tuples for QueuePause…

    …dQuery (paritytech#2227)
    
    These changes are required so that the bridgehub system runtimes can
    more easily be configured with multiple message processors
    
    Example usage:
    
    ```rust
    use frame_support::traits::QueuePausedQuery;
    
    impl pallet_message_queue::Config for Runtime {
        type QueuePausedQuery = (A, B, C)
    }
    vgeddes authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    3f0383a View commit details
    Browse the repository at this point in the history
  3. Improve VersionedMigration naming conventions (paritytech#2264)

    As suggested by @ggwpez
    (paritytech#2142 (comment)),
    remove the `VersionChecked` prefix from version checked migrations (but
    leave `VersionUnchecked` prefixes)
    
    ---------
    
    Co-authored-by: command-bot <>
    liamaharon authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    84ddbaf View commit details
    Browse the repository at this point in the history
  4. Contracts: Add XCM traits to interface with contracts (paritytech#2086)

    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
    paritytech#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: Alexander Theißen <alex.theissen@me.com>
    Co-authored-by: command-bot <>
    pgherveou and athei authored Nov 10, 2023
    Configuration menu
    Copy the full SHA
    6b7be11 View commit details
    Browse the repository at this point in the history

Commits on Nov 11, 2023

  1. Add s utility function to frame support (paritytech#2275)

    A utility function I consider quite useful to declare string literals
    that are backed by an array.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    3 people authored Nov 11, 2023
    Configuration menu
    Copy the full SHA
    0c5dcca View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Unify ChainSync actions under one enum (paritytech#2180)

    All `ChainSync` actions that `SyncingEngine` should perform are unified
    under one `ChainSyncAction`. Processing of these actions put into a
    single place after `select!` in `SyncingEngine::run` instead of multiple
    places where calling `ChainSync` methods.
    dmitry-markin authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    951bcce View commit details
    Browse the repository at this point in the history
  2. PVF host: Make unavailable security features print a warning (parityt…

    …ech#2244)
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    mrcnski and bkchr authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    5f4ce80 View commit details
    Browse the repository at this point in the history
  3. wasm-builder: Optimize rerun-if-changed logic (paritytech#2282)

    Optimizes the `rerun-if-changed` logic by ignoring `dev-dependencies`
    and also not outputting paths. Because outputting paths could lead to
    include unwanted crates in the rerun checks.
    bkchr authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    604704a View commit details
    Browse the repository at this point in the history
  4. pallet-grandpa: Remove GRANDPA_AUTHORITIES_KEY (paritytech#2181)

    Remove the `GRANDPA_AUTHORITIES_KEY` key and its usage. Apparently this
    was used in the early days to communicate the grandpa authorities to the
    node. However, we have now a runtime api that does this for us. So, this
    pull request is moving from the custom managed storage item to a FRAME
    managed storage item.
    
    This pr also includes a migration for doing the switch on a running
    chain.
    
    ---------
    
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    bkchr and davxy authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    ebcf0a0 View commit details
    Browse the repository at this point in the history
  5. Adds syntax for marking calls feeless (paritytech#1926)

    Fixes paritytech#1725
    
    This PR adds the following changes:
    1. An attribute `pallet::feeless_if` that can be optionally attached to
    a call like so:
    ```rust
    #[pallet::feeless_if(|_origin: &OriginFor<T>, something: &u32| -> bool {
    	*something == 0
    })]
    pub fn do_something(origin: OriginFor<T>, something: u32) -> DispatchResult {
         ....
    }
    ```
    The closure passed accepts references to arguments as specified in the
    call fn. It returns a boolean that denotes the conditions required for
    this call to be "feeless".
    
    2. A signed extension `SkipCheckIfFeeless<T: SignedExtension>` that
    wraps a transaction payment processor such as
    `pallet_transaction_payment::ChargeTransactionPayment`. It checks for
    all calls annotated with `pallet::feeless_if` to see if the conditions
    are met. If so, the wrapped signed extension is not called, essentially
    making the call feeless.
    
    In order to use this, you can simply replace your existing signed
    extension that manages transaction payment like so:
    ```diff
    - pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
    + pallet_skip_feeless_payment::SkipCheckIfFeeless<
    +	Runtime,
    +	pallet_transaction_payment::ChargeTransactionPayment<Runtime>,
    + >,
    ```
    
    ### Todo
    - [x] Tests
    - [x] Docs
    - [x] Prdoc
    
    ---------
    
    Co-authored-by: Nikhil Gupta <>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    4 people authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    60c77a2 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    29654a4 View commit details
    Browse the repository at this point in the history
  7. pallet-xcm: enhance reserve_transfer_assets to support remote reser…

    …ves (paritytech#1672)
    
    ## 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 paritytech#1584
    Fixes paritytech#2055
    
    ---------
    
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    3 people authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    1825737 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    c7bd880 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f332d68 View commit details
    Browse the repository at this point in the history
  10. review-bot: trigger only on review approvals (paritytech#2289)

    Moved the review event of review-bot to only be triggered in approvals.
    
    Because we only update the required reviews when someone approves, this
    will stop the bot from immediately requesting a new review when someone
    comments or request changes as they should have been already notified in
    the first batch.
    Bullrich authored Nov 13, 2023
    Configuration menu
    Copy the full SHA
    8d26379 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. cumulus-pov-recovery: check pov_hash instead of reencoding data (pari…

    …tytech#2287)
    
    Collators were previously reencoding the available data and checking the
    erasure root.
    Replace that with just checking the PoV hash, which consumes much less
    CPU and takes less time.
    
    We also don't need to check the `PersistedValidationData` hash, as
    collators don't use it.
    
    Reason:
    paritytech#575 (comment)
    
    After systematic chunks recovery is merged, collators will no longer do
    any reed-solomon encoding/decoding, which has proven to be a great CPU
    consumer.
    
    Signed-off-by: alindima <alin@parity.io>
    alindima authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    689b9d9 View commit details
    Browse the repository at this point in the history
  2. Fix ecdsa_bls verify in BEEFY primitives (paritytech#2066)

    BEEFY ECDSA signatures are on keccak has of the messages. As such we can
    not simply call
    
    `EcdsaBlsPair::verify(signature.as_inner_ref(), msg,
    self.as_inner_ref())`
    
    because that invokes ecdsa default verification which perfoms blake2
    hash which we don't want.
    
    This bring up the second issue makes: This makes `sign` and `verify`
    function in `pair_crypto` useless, at least for BEEFY use case.
    Moreover, there is no obvious clean way to generate the signature given
    that pair_crypto does not exposes `sign_prehashed`. You could in theory
    query the keystore for the pair (could you?), invoke `to_raw` and
    re-generate each sub-pair and sign using each. But that sounds extremely
    anticlimactic and will be frow upon by auditors . So I appreciate any
    alternative suggestion.
    
    ---------
    
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    Co-authored-by: Robert Hambrock <roberthambrock@gmail.com>
    3 people authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    b371c35 View commit details
    Browse the repository at this point in the history
  3. Fix expect_pallet benchmarks not relaying on hard-coded `frame_syst…

    …em` dependency version (paritytech#2288)
    
    ## Problem/Motivation
    The benchmark for the `ExpectPallet` XCM instruction uses a hard-coded
    version `4.0.0` for the `frame_system` pallet. Unfortunately, this
    doesn't work for the `polkadot-fellows/runtimes` repository, where we
    use dependencies from `crates.io`, e.g.,
    [frame-system::23.0.0.0](https://github.com/polkadot-fellows/runtimes/blob/dd7f86f0d50064481ed0b7c0218494a5cfad997e/relay/kusama/Cargo.toml#L83).
    
    Closes: paritytech#2284 
    
    ## Solution
    This PR fixes the benchmarks that require pallet information and enables
    the runtime to provide the correct/custom pallet information. The
    default implementation provides `frame_system::Pallet` with index `0`,
    where the version is not hard-coded but read from the runtime.
    
    
    ## Local testing
    
    Added log for `T::valid_pallet` to the benchmarks like:
    ```
    let valid_pallet = T::valid_pallet();
    log::info!(
    	target: "frame::benchmark::pallet",
    	"valid_pallet: {}::{}::{}::{}::{}",
    	valid_pallet.index,
    	valid_pallet.module_name,
    	valid_pallet.crate_version.major,
    	valid_pallet.crate_version.minor,
    	valid_pallet.crate_version.patch,
    );
    ```
    
    Run benchmarks for `westend`:
    ```
    cargo run --bin=polkadot --features=runtime-benchmarks -- benchmark pallet --steps=2 --repeat=1 --extrinsic=* --heap-pages=4096 --json-file=./bench.json --chain=westend-dev --template=./polkadot/xcm/pallet-xcm-benchmarks/template.hbs --pallet=pallet_xcm_benchmarks::generic --output=./polkadot/runtime/westend/src/weights/xcm
    ```
    
    ---
    
    For actual `frame_system` version:
    ```
    [package]
    name = "frame-system"
    version = "4.0.0-dev"
    ```
    
    Log dump:
    ```
    2023-11-13 12:56:45 Starting benchmark: pallet_xcm_benchmarks::generic::query_pallet    
    2023-11-13 12:56:45 valid_pallet: 0::frame_system::4::0::0    
    2023-11-13 12:56:45 valid_pallet: 0::frame_system::4::0::0    
    2023-11-13 12:56:45 valid_pallet: 0::frame_system::4::0::0    
    2023-11-13 12:56:45 Starting benchmark: pallet_xcm_benchmarks::generic::expect_pallet    
    2023-11-13 12:56:45 valid_pallet: 0::frame_system::4::0::0    
    2023-11-13 12:56:45 valid_pallet: 0::frame_system::4::0::0    
    2023-11-13 12:56:45 valid_pallet: 0::frame_system::4::0::0 
    ```
    
    
    For changed `frame_system` version:
    ```
    [package]
    name = "frame-system"
    version = "5.1.3-dev"
    ```
    
    Log dump:
    ```
    2023-11-13 12:51:51 Starting benchmark: pallet_xcm_benchmarks::generic::query_pallet    
    2023-11-13 12:51:51 valid_pallet: 0::frame_system::5::1::3    
    2023-11-13 12:51:51 valid_pallet: 0::frame_system::5::1::3    
    2023-11-13 12:51:51 valid_pallet: 0::frame_system::5::1::3    
    2023-11-13 12:51:51 Starting benchmark: pallet_xcm_benchmarks::generic::expect_pallet    
    2023-11-13 12:51:51 valid_pallet: 0::frame_system::5::1::3    
    2023-11-13 12:51:51 valid_pallet: 0::frame_system::5::1::3    
    2023-11-13 12:51:51 valid_pallet: 0::frame_system::5::1::3
    ```
    
    ## References
    
    Closes: paritytech#2284
    bkontur authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    ae1bdcf View commit details
    Browse the repository at this point in the history
  4. Delete undecodable Westend Asset Hub Balances::Hold and `Nfts::Item…

    …MetadataOf` (paritytech#2309)
    
    Closes paritytech#2241
    
    See issue comments for more details about this storage.
    liamaharon authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    54ca4f1 View commit details
    Browse the repository at this point in the history
  5. Add details in --dev cli flag documentation (paritytech#2305)

    add details in `--dev` flag to tell that it disables local peer
    discovery
    
    ### Context
    
    When adding automated end-to-end tests, we replaced `--dev` by 
    
    ```
    `--chain=dev`, `--force-authoring`, `--rpc-cors=all`, `--alice`, and `--tmp` flags
    ```
    
    as stated in the command line documentation. But the tests started
    failing due to the nodes connecting to each other.
    
    ### Fix
    
    This PR includes additional command line documentation to explain more
    in detail what `--dev` flag inludes.
    Hugo-Trentesaux authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    a393cfc View commit details
    Browse the repository at this point in the history
  6. xcm-emulator: add Rococo<>Westend bridge and add tests for assets tra…

    …nsfers over the bridge (paritytech#2251)
    
    - switch from Rococo<>Wococo to Rococo<>Westend bridge
    - add bidirectional simple tests
    - remove Wococo chains from xcm-emulator
    - added tests for assets transfers over Rococo<>Westend bridge 
    
    fixes paritytech/parity-bridges-common#2405
    acatangiu authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    39cc957 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    7cfc233 View commit details
    Browse the repository at this point in the history
  8. Add environment to claim workflow (paritytech#2318)

    Turns out to access environment secrets the workflow must explicitly opt
    in to the environment.
    Morganamilo authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    b70d418 View commit details
    Browse the repository at this point in the history
  9. chainHead: Support multiple hashes for chainHead_unpin method (pari…

    …tytech#2295)
    
    This PR adds support for multiple hashes being passed to the
    `chainHeda_unpin` parameters.
    
    The `hash` parameter is renamed to `hash_or_hashes` per
    paritytech/json-rpc-interface-spec#111.
    
    While at it, a new integration test is added to check the unpinning of
    multiple hashes. The API is checked against a hash or a vector of
    hashes.
    
    cc @paritytech/subxt-team
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    cfe5e62 View commit details
    Browse the repository at this point in the history
  10. chainHead: Remove chainHead_genesis method (paritytech#2296)

    The method has been removed from the spec
    (https://github.com/paritytech/json-rpc-interface-spec/tree/main/src),
    this PR keeps the `chainHead` in sync with that change.
    
    @paritytech/subxt-team
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    cd38ccf View commit details
    Browse the repository at this point in the history
  11. Add simple collator election mechanism (paritytech#1340)

    Fixes paritytech#106
    
    Port of cumulus PR paritytech/cumulus#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: georgepisaltu <george.pisaltu@parity.io>
    georgepisaltu authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    7d735fc View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    1cd38c2 View commit details
    Browse the repository at this point in the history
  13. chainHead/tests: Fix clippy (paritytech#2325)

    Remove the genesis hash from tests:
    - Clippy was passing on the PR:
    paritytech#2296
    - Clippy fails on master:
    https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4328487
    
    This was a race with merging:
    paritytech#2295, which introduced
    another test that used the `CHAIN_GENESIS`
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    3a87390 View commit details
    Browse the repository at this point in the history
  14. change prepare worker to use fork instead of threads (paritytech#1685)

    Co-authored-by: Marcin S <marcin@realemail.net>
    jpserrat and mrcnski authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    54f8428 View commit details
    Browse the repository at this point in the history
  15. statement-distribution: support inactive local validator in grid (par…

    …itytech#1571)
    
    Fixes paritytech#1437
    
    Co-authored-by: Sophia Gold <sophia@parity.io>
    slumber and Sophia-Gold authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    31c38ce View commit details
    Browse the repository at this point in the history
  16. add NodeFeatures field to HostConfiguration and runtime API (parityte…

    …ch#2177)
    
    Adds a `NodeFeatures` bitfield value to the runtime `HostConfiguration`,
    with the purpose of coordinating the enabling of node-side features,
    such as: paritytech#628 and
    paritytech#598.
    These are features that require all validators enable them at the same
    time, assuming all/most nodes have upgraded their node versions.
    
    This PR doesn't add any feature yet. These are coming in future PRs.
    
    Also adds a runtime API for querying the state of the client features
    and an extrinsic for setting/unsetting a feature by its index in the bitfield.
    
    Note: originally part of:
    paritytech#1644, but posted as
    standalone to be reused by other PRs until the initial PR is merged
    alindima authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    fc12f43 View commit details
    Browse the repository at this point in the history
  17. Contracts expose pallet-xcm (paritytech#1248)

    This PR introduces:
    - XCM  host functions `xcm_send`, `xcm_execute`
    - An Xcm trait into the config. that proxy these functions to to
    `pallet_xcm`, or disable their usage by using `()`.
    - A mock_network and xcm_test files to test the newly added xcm-related
    functions.
    
    ---------
    
    Co-authored-by: Keith Yeung <kungfukeith11@gmail.com>
    Co-authored-by: Sasha Gryaznov <hi@agryaznov.com>
    Co-authored-by: command-bot <>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Alexander Theißen <alex.theissen@me.com>
    5 people authored Nov 14, 2023
    Configuration menu
    Copy the full SHA
    f517900 View commit details
    Browse the repository at this point in the history

Commits on Nov 15, 2023

  1. pallet-xcm: use XcmTeleportFilter for teleported fees in reserve tran…

    …sfers (paritytech#2322)
    
    Disallow reserve transfers that use teleportable fees if `(origin,
    fees)` matches `XcmTeleportFilter`.
    
    Add regression tests for filtering based on `XcmTeleportFilter` for both
    `(limited_)reserve_transfer_assets()` and `(limited_)teleport_assets`
    extrinsics.
    acatangiu authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    f536043 View commit details
    Browse the repository at this point in the history
  2. Unify ChainSync actions under one enum (follow-up) (paritytech#2317)

    Get rid of public `ChainSync::..._requests()` functions and return all
    requests as actions.
    
    ---------
    
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    dmitry-markin and skunert authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    18165eb View commit details
    Browse the repository at this point in the history
  3. [CI] Prepare CI for Merge Queues (paritytech#2308)

    PR prepares CI to the GitHub Merge Queues. All github actions that were
    running in PR adjusted so they can run in the merge queues. Zombienet
    jobs will do nothing during PRs but they will run during merge queues.
    
    Jobs that will be skipped during PR:
     - all zombienet jobs
     - all publish docker jobs
    
    Jobs that will be skipped during merge queue:
     - check-labels
     - check-prdoc
     - pr-custom-review
     - review trigger
    
    cc paritytech/ci_cd#862
    alvicsam authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    5b0622b View commit details
    Browse the repository at this point in the history
  4. Identity Deposits Relay to Parachain Migration (paritytech#1814)

    The goal of this PR is to migrate Identity deposits from the Relay Chain
    to a system parachain.
    
    The problem I want to solve is that `IdentityOf` and `SubsOf` both store
    an amount that's held in reserve as a storage deposit. When migrating to
    a parachain, we can take a snapshot of the actual `IdentityInfo` and
    sub-account mappings, but should migrate (off chain) the `deposit`s to
    zero, since the chain (and by extension, accounts) won't have any funds
    at genesis.
    
    The good news is that we expect parachain deposits to be significantly
    lower (possibly 100x) on the parachain. That is, a deposit of 21 DOT on
    the Relay Chain would need 0.21 DOT on a parachain. This PR proposes to
    migrate the deposits in the following way:
    
    1. Introduces a new pallet with two extrinsics: 
    - `reap_identity`: Has a configurable `ReapOrigin`, which would be set
    to `EnsureSigned` on the Relay Chain (i.e. callable by anyone) and
    `EnsureRoot` on the parachain (we don't want identities reaped from
    there).
    - `poke_deposit`: Checks what deposit the pallet holds (at genesis,
    zero) and attempts to update the amount based on the calculated deposit
    for storage data.
    2. `reap_identity` clears all storage data for a `target` account and
    unreserves their deposit.
    3. A `ReapIdentityHandler` teleports the necessary DOT to the parachain
    and calls `poke_deposit`. Since the parachain deposit is much lower, and
    was just unreserved, we know we have enough.
    
    One awkwardness I ran into was that the XCMv3 instruction set does not
    provide a way for the system to teleport assets without a fee being
    deducted on reception. Users shouldn't have to pay a fee for the system
    to migrate their info to a more efficient location. So I wrote my own
    program and did the `InitiateTeleport` accounting on my own to send a
    program with `UnpaidExecution`. Have discussed an
    `InitiateUnpaidTeleport` instruction with @franciscoaguirre . Obviously
    any chain executing this would have to pass a `Barrier` for free
    execution.
    
    TODO:
    
    - [x] Confirm People Chain ParaId
    - [x] Confirm People Chain deposit rates (determined in
    paritytech#2281)
    - [x] Add pallet to Westend
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    joepetrowski and bkchr authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    c79b234 View commit details
    Browse the repository at this point in the history
  5. Add collectives-westend and glutton-westend runtimes (paritytech#…

    …2024)
    
    Add collectives and glutton parachain westend runtimes to prepare for
    paritytech#1737.
    
    The removal of system parachain native runtimes paritytech#1737 is blocked until
    chainspecs and runtime APIs can be dealt with cleanly (merge of paritytech#1256
    and follow up PRs).
    
    In the meantime, these additions are ready to be merged to `master`, so
    I have separated them out into this PR.
    
    Also marked `bridge-hub-westend` as unimplemented in line with [this
    issue](paritytech/parity-bridges-common#2602).
    
    TODO
    - [x] add to `command-bot` benchmarks
    - [x] add to `command-bot-scripts` benchmarks
    - [x] generate weights
    
    ---------
    
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: Muharem <ismailov.m.h@gmail.com>
    Co-authored-by: command-bot <>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    5 people authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    0226b55 View commit details
    Browse the repository at this point in the history
  6. xcm: SovereignPaidRemoteExporter: remove unused RefundSurplus instruc…

    …tion (paritytech#2312)
    
    Refunding surplus happens anyway on xcm_executor::post_process(),
    automatically refunding surplus to original_origin at the end of
    execution. Since SovereignPaidRemoteExporter doesn't ClearOrigin, it can
    simply rely on the automatic mechanism.
    
    Furthermore, RefundSurplus instruction refunds _surplus_. Surplus exists
    only as a result of Transact, SetErrorHandler or SetAppendix
    instructions, none of which being part of the
    SovereignPaidRemoteExporter XCM program. So surplus is always zero here
    anyway.
    acatangiu authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    824b782 View commit details
    Browse the repository at this point in the history
  7. [testnet] Remove Wococo stuff from BridgeHubRococo/AssetHubRococo (pa…

    …ritytech#2300)
    
    Rococo<>Wococo bridge is replaced by Rococo<Westend bridge, so this PR
    removes unneeded code.
    
    - [x] update bridges subtree after
    paritytech/parity-bridges-common#2692
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
    bkontur and svyatonik authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    f4bb17c View commit details
    Browse the repository at this point in the history
  8. frame-system: Add last_runtime_upgrade_spec_version (paritytech#2351)

    Adds a function for querying the last runtime upgrade spec version. This
    can be useful for when writing runtime level migrations to ensure that
    they are not executed multiple times. An example would be a session key
    migration.
    
    ---------
    
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    3 people authored Nov 15, 2023
    Configuration menu
    Copy the full SHA
    ea4085a View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. merge from master

    claravanstaden authored and claravanstaden committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    5c441f3 View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. fix merge damage

    claravanstaden authored and claravanstaden committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    715bf3e View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. fmt

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    afe0a62 View commit details
    Browse the repository at this point in the history
  2. fmt

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    7e866eb View commit details
    Browse the repository at this point in the history
  3. fmt

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    b308a68 View commit details
    Browse the repository at this point in the history
  4. change parachain template para id

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    8ab07a7 View commit details
    Browse the repository at this point in the history
  5. fix tests

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    1745236 View commit details
    Browse the repository at this point in the history
  6. fix fee manager

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    15da5e1 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'snowbridge' into update-snowbridge-with-master

    # Conflicts:
    #	Cargo.lock
    #	cumulus/parachains/integration-tests/emulated/tests/bridges/bridge-hub-rococo/src/lib.rs
    #	cumulus/polkadot-parachain/src/command.rs
    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    6d77fcf View commit details
    Browse the repository at this point in the history
  8. fmt

    claravanstaden authored and claravanstaden committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    a667be1 View commit details
    Browse the repository at this point in the history