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

stake-tracker remote externalities tests + improvements #4436

Commits on May 10, 2024

  1. rustls: Disable logging (#4426)

    Disable logging of rustls to get rid off the following log lines:
    ```
    Sending fatal alert BadCertificate
    ```
    
    Upstream also removed them: rustls/rustls#1278
    
    
    Closes: #3252
    bkchr authored May 10, 2024
    Configuration menu
    Copy the full SHA
    2ed0f3e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0044077 View commit details
    Browse the repository at this point in the history
  3. add stake tracker migration test

    Ank4n authored and gpestana committed May 10, 2024
    Configuration menu
    Copy the full SHA
    7d63e90 View commit details
    Browse the repository at this point in the history
  4. Add docs to request_core_count (#4423)

    The fact that this takes two sessions to come into effect is not
    obvious. Just added some docs to explain that.
    
    Also tidied up uses of "broker chain" -> "coretime chain"
    seadanda authored May 10, 2024
    Configuration menu
    Copy the full SHA
    a993513 View commit details
    Browse the repository at this point in the history
  5. Remove pallet::getter usage from pallet-contracts-mock-network (#4417)

    A part of #3326 
    
    Removes all #[pallet::getter] usage from the contracts mock network
    pallet. As the storage values were pub(super), read-only visibility was
    lost external to the crate upon the removal of the macros. I have
    implemented custom getters as a replacement, keeping the api the same.
    
    If we care very much about consistency of the
    storagevalue::<T>::get() syntax, the other option would be to set
    the storage values to pub. Though I find preserving data authority
    better myself.
    
    @muraca
    PolkadotDom authored May 10, 2024
    Configuration menu
    Copy the full SHA
    84d6437 View commit details
    Browse the repository at this point in the history
  6. Remove pallet::getter usage from authority-discovery pallet (#4091)

    As per #3326, removes pallet::getter usage from the pallet
    authority-discovery. The syntax `StorageItem::<T, I>::get()` should be
    used instead.
    
    cc @muraca
    
    ---------
    
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored May 10, 2024
    Configuration menu
    Copy the full SHA
    32deb60 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2024

  1. ext tests and changes

    gpestana committed May 11, 2024
    Configuration menu
    Copy the full SHA
    75f06ce View commit details
    Browse the repository at this point in the history

Commits on May 12, 2024

  1. Configuration menu
    Copy the full SHA
    9e0e5fc View commit details
    Browse the repository at this point in the history
  2. remote-externalities: store block header in snapshot (#4349)

    The block header is required to derive inherents for a relay chain next
    block, this is useful in testing environments.
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    liamaharon and ggwpez authored May 12, 2024
    Configuration menu
    Copy the full SHA
    5f31981 View commit details
    Browse the repository at this point in the history
  3. migrations: take()should consume read and write operation weight (#…

    …4302)
    
    #### Problem
    `take()` consumes only 1 read worth of weight in
    `single-block-migrations` example, while `take()`
    [is](https://github.com/paritytech/polkadot-sdk/blob/master/substrate/frame/support/src/storage/unhashed.rs#L63)
    `get() + kill()`, i.e should be 1 read + 1 write. I think this could
    mislead developers who follow this example to write their migrations
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    dastansam and bkchr authored May 12, 2024
    Configuration menu
    Copy the full SHA
    efc2132 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2024

  1. Remove substrate-frame-cli (#4403)

    Library `substrate-frame-cli` seems unused.
    
    Last non-dependabot update to the folder was over [two years
    ago](https://github.com/paritytech/polkadot-sdk/commits/master/substrate/utils/frame/frame-utilities-cli).
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored May 13, 2024
    Configuration menu
    Copy the full SHA
    0fcbd4e View commit details
    Browse the repository at this point in the history
  2. Rococo AH: undeploy trie migration (#4414)

    The state-trie migration is completed on Rococo Asset-Hub as
    double-checked
    [here](#4174 (comment)).
    Undeploying now.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored May 13, 2024
    Configuration menu
    Copy the full SHA
    805d54d View commit details
    Browse the repository at this point in the history
  3. Add generate and verify logic for AncestryProof (#4430)

    Extracting the logic for generating and verifying ancestry proofs from
    this PR: #1903 with small
    adjustments
    
    @Lederstrumpf I added you as a co-author to each commit. Please let me
    know if you want me to also associate an e-mail address with your name
    serban300 authored May 13, 2024
    Configuration menu
    Copy the full SHA
    f4b73bd View commit details
    Browse the repository at this point in the history
  4. CheckWeight SE: Check for extrinsic length + proof size combined (#…

    …4326)
    
    Currently the `CheckWeight` `SignedExtension` was tracking the size of
    the proof and the extrinsic length separately. But in reality we need
    one more check that ensures we don't hit the PoV limit with both
    combined.
    
    The rest of the logic remains unchanged. One scenario where the changes
    make a difference is when we enter this branch:
    
    https://github.com/paritytech/polkadot-sdk/blob/f34d8e3cf033e2a22a41b505c437972a5dc83d78/substrate/frame/system/src/extensions/check_weight.rs#L185-L198
    
    This was previously allowing to some extrinsics that is exceeding the
    block limit but are withing the reserved area of `BlockWeights`. This
    will now be caught by the later check I introduced. I think the new
    behaviour makes sense, since the proof size dimension is designed for
    parachains and they don't want to go over the limit and get rejected.
    
    
    In the long run we should maybe get rid of `RuntimeBlockLength`
    alltogether, however that would require a deprecation process and can
    come at a later point.
    
    ---------
    
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    skunert and acatangiu authored May 13, 2024
    Configuration menu
    Copy the full SHA
    6d3a6d8 View commit details
    Browse the repository at this point in the history
  5. [ci] Add forklift to GHA ARC (#4372)

    PR adds forklift settings and forklift to test-github-actions
    
    cc paritytech/ci_cd#939
    alvicsam authored May 13, 2024
    Configuration menu
    Copy the full SHA
    477a120 View commit details
    Browse the repository at this point in the history
  6. more improvements (wip)

    gpestana committed May 13, 2024
    Configuration menu
    Copy the full SHA
    d68b3ac View commit details
    Browse the repository at this point in the history
  7. prospective-parachains rework (#4035)

    Reworks prospective-parachains so that we allow a number of unconnected
    candidates (for which we don't know the parent candidate yet). Needed
    for elastic scaling:
    #3541. Without this,
    candidate B will not be validated and backed until candidate A (its
    parent) is validated and a backing statement reaches the validator.
    
    Due to the high complexity of the subsystem, I rewrote parts of it so
    that we don't concern ourselves with candidates which form cycles or
    which form parachain forks. We now have "Fragment chains" instead of
    "Fragment trees". This greatly simplifies some of the code and is a
    compromise we can make. We just need to make sure that cycle-producing
    parachains don't brick the relay chain and that fork-producing
    parachains can still make some progress (on one core at least). The only
    forks that are allowed are those on the relay chain, obviously.
    
    Unconnected candidates are kept in the `CandidateStorage` and whenever a
    new candidate is introduced, we try to repopulate the chain with as many
    candidates as we can.
    
    Also fixes #3219
    
    Guide changes will be done as part of:
    #3699
    
    TODOs:
    
    - [x] see if we can replace the `Cow` over the candidate commitments
    with an `Arc` over the entire `ProspectiveCandidate`. It's only being
    overwritten in unit tests. We can work around that.
    - [x] finish fragment_chain unit tests
    - [x] add more prospective-parachains subsystem tests
    - [x] test with zombienet what happens if a parachain is creating cycles
    (it should not brick the relay chain).
    - [x] test with zombienet a parachain that is creating forks. it should
    keep producing blocks from time to time (one bad collator should not DOS
    the parachain, even if throughput decreases)
    - [x] add some more logs and metrics
    - [x] add prdoc and remove the "silent" label
    
    ---------
    
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    Co-authored-by: Andrei Sandu <andrei-mihail@parity.io>
    alindima and sandreim authored May 13, 2024
    Configuration menu
    Copy the full SHA
    d36da12 View commit details
    Browse the repository at this point in the history
  8. [ci] Run check-runtime-migration in GHA (#4441)

    - Moved check-runtime-migration from gitlab to github
    - Moved `test-syscalls` and `cargo-check-all-benches` from gitlab to
    github
    alvicsam authored May 13, 2024
    Configuration menu
    Copy the full SHA
    e973ac9 View commit details
    Browse the repository at this point in the history
  9. Bump proc-macro-crate to the latest version (#4409)

    This PR bumps `proc-macro-crate` to the latest version.
    
    In order to test a runtime from
    https://github.com/polkadot-fellows/runtimes/ with the latest version of
    polkadot-sdk one needs to use `cargo vendor` to extract all runtime
    dependencies, patch them by hand and then build the runtime.
    
    However at the moment 'vendored' builds fail due to
    bkchr/proc-macro-crate#48. To fix this
    `proc-macro-crate` should be updated to version `3.0.1` or higher.
    
    ---------
    
    Co-authored-by: command-bot <>
    tdimitrov authored May 13, 2024
    Configuration menu
    Copy the full SHA
    fb7362f View commit details
    Browse the repository at this point in the history
  10. improve MockValidationDataInherentDataProvider to support async back…

    …ing (#4442)
    
    Support async backing in `--dev` mode
    
    This PR improve the relay mock `MockValidationDataInherentDataProvider`
    to mach expectations of async backing runtimes.
    
    * Add para_head in the mock relay proof
    * Add relay slot in the mock relay proof 
    
    fix #4437
    librelois authored May 13, 2024
    Configuration menu
    Copy the full SHA
    594c3ed View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Bridge: use *-uri CLI arguments when starting relayer (#4451)

    `*-host` and `*-port` are obsolete and we'll hopefully remove them in
    the future (already WIP for Rococo <> Westend relayer)
    svyatonik authored May 14, 2024
    Configuration menu
    Copy the full SHA
    115c247 View commit details
    Browse the repository at this point in the history
  2. [ci] Cleanup and order GHA workflows (#4449)

    Github currently [doesn't support creating
    subfolders](https://github.com/orgs/community/discussions/18055) in
    `.github/workflows` folder. PR unifies naming in this folder. The idea
    is that all files ideally should have naming
    `<stage>-<short_descriptive_name>.yml`. The stage names are taken from
    gitlab and needed only for logical division.
    Changes in actions:
     - `check-licences` runs on self-hosted runners
    - `check-workspace` and `check-markdown` are moved to `checks-quick.yml`
     - `test-linux-stable-int` moved to a new file `tests-linux-stable.yml`
    - `fmt-check.yml` file is removed, formatting is checked in
    `checks-quick.yml`
    alvicsam authored May 14, 2024
    Configuration menu
    Copy the full SHA
    cedb1d4 View commit details
    Browse the repository at this point in the history
  3. Bridge: add subcommand to relay messages range (#4383)

    related to
    paritytech/parity-bridges-common#2962
    Usage example:
    ```sh
    RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
            ./target/release/substrate-relay relay-messages-range bridge-hub-rococo-to-bridge-hub-westend \
            --source-host localhost \
            --source-port 8943 \
            --source-version-mode Auto \
            --source-signer //Eve \
            --source-transactions-mortality 4 \
            --target-host localhost \
            --target-port 8945 \
            --target-version-mode Auto \
            --target-signer //Eve \
            --target-transactions-mortality 4 \
            --lane 00000002 \
            --at-source-block 34 \
            --messages-start 1 \
            --messages-end 1
    INFO bridge Connecting to BridgeHubRococo node at ws://localhost:8943
    INFO bridge Connecting to BridgeHubWestend node at ws://localhost:8945
    TRACE bridge Refined weight of BridgeHubRococo->BridgeHubWestend message [0, 0, 0, 2]/1: at-source: Weight(ref_time: 0, proof_size: 0), at-target: Weight(ref_time: 452953993, proof_size: 0)
    TRACE bridge Sent transaction to BridgeHubWestend node: 0x38552f4db6bc78baecb52ebd2f7d103b1c919c16b83129dc083bf01b7281955b
    TRACE bridge BridgeHubWestend transaction 0x38552f4db6bc78baecb52ebd2f7d103b1c919c16b83129dc083bf01b7281955b has been included in block: (0x29a20bdca8726df0b32af9067290b7fc0a886908da3a30f3db60a6ea52be4604, 0)
    TRACE bridge BridgeHubWestend transaction 0x38552f4db6bc78baecb52ebd2f7d103b1c919c16b83129dc083bf01b7281955b has been finalized at block: 0x29a20bdca8726df0b32af9067290b7fc0a886908da3a30f3db60a6ea52be4604
    ```
    svyatonik authored May 14, 2024
    Configuration menu
    Copy the full SHA
    5ac1874 View commit details
    Browse the repository at this point in the history
  4. Bump nix from 0.27.1 to 0.28.0 (#4438)

    Bumps [nix](https://github.com/nix-rust/nix) from 0.27.1 to 0.28.0.
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/nix-rust/nix/blob/master/CHANGELOG.md">nix's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[0.28.0] - 2024-02-24</h2>
    <h3>Added</h3>
    <ul>
    <li>
    <p>Added <code>mkdtemp</code> wrapper (<a
    href="https://redirect.github.com/nix-rust/nix/pull/1297">#1297</a>)</p>
    </li>
    <li>
    <p>Add associated constants <code>UTIME_OMIT</code>
    <code>UTIME_NOW</code> for <code>TimeSpec</code>
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/1879">#1879</a>)</p>
    </li>
    <li>
    <p>Added <code>EventFd</code> type. (<a
    href="https://redirect.github.com/nix-rust/nix/pull/1945">#1945</a>)</p>
    </li>
    <li>
    <ul>
    <li>Added <code>impl From&lt;Signal&gt; for SigSet</code>.</li>
    <li>Added <code>impl std::ops::BitOr for SigSet</code>.</li>
    <li>Added <code>impl std::ops::BitOr for Signal</code>.</li>
    <li>Added <code>impl std::ops::BitOr&lt;Signal&gt; for
    SigSet</code></li>
    </ul>
    <p>(<a
    href="https://redirect.github.com/nix-rust/nix/pull/1959">#1959</a>)</p>
    </li>
    <li>
    <p>Added <code>TlsGetRecordType</code> control message type and
    corresponding enum for
    linux (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2065">#2065</a>)</p>
    </li>
    <li>
    <p>Added <code>Ipv6HopLimit</code> to
    <code>::nix::sys::socket::ControlMessage</code> for Linux,
    MacOS, FreeBSD, DragonflyBSD, Android, iOS and Haiku.
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2074">#2074</a>)</p>
    </li>
    <li>
    <p>Added <code>Icmp</code> and <code>IcmpV6</code> to
    <code>SockProtocol</code>
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2103">#2103</a>)</p>
    </li>
    <li>
    <p>Added rfork support for FreeBSD in <code>unistd</code>
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2121">#2121</a>)</p>
    </li>
    <li>
    <p>Added <code>MapFlags::map_hugetlb_with_size_log2</code> method for
    Linux targets
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2125">#2125</a>)</p>
    </li>
    <li>
    <p>Added <code>mmap_anonymous</code> function
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2127">#2127</a>)</p>
    </li>
    <li>
    <p>Added <code>mips32r6</code> and <code>mips64r6</code> support for
    signal, ioctl and ptrace
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2138">#2138</a>)</p>
    </li>
    <li>
    <p>Added <code>F_GETPATH</code> FcntlFlags entry on
    Apple/NetBSD/DragonflyBSD for
    <code>::nix::fcntl</code>. (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2142">#2142</a>)</p>
    </li>
    <li>
    <p>Added <code>F_KINFO</code> FcntlFlags entry on FreeBSD for
    <code>::nix::fcntl</code>.
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2152">#2152</a>)</p>
    </li>
    <li>
    <p>Added <code>F_GETPATH_NOFIRMLINK</code> and
    <code>F_BARRIERFSYNC</code> FcntlFlags entry
    on Apple for <code>::nix::fcntl</code>.
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2155">#2155</a>)</p>
    </li>
    <li>
    <p>Added newtype <code>Flock</code> to automatically unlock a held flock
    upon drop.
    Added <code>Flockable</code> trait to represent valid types for
    <code>Flock</code>.
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2170">#2170</a>)</p>
    </li>
    <li>
    <p>Added <code>SetSockOpt</code> impls to enable Linux Kernel TLS on a
    TCP socket and to
    import TLS parameters. (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2175">#2175</a>)</p>
    </li>
    <li>
    <ul>
    <li>Added the <code>::nix::sys::socket::SocketTimestamp</code> enum for
    configuring the
    <code>TsClock</code> (a.k.a <code>SO_TS_CLOCK</code>) sockopt</li>
    <li>Added FreeBSD's <code>ScmRealtime</code> and
    <code>ScmMonotonic</code> as new options in
    <code>::nix::sys::socket::ControlMessageOwned</code></li>
    </ul>
    <p>(<a
    href="https://redirect.github.com/nix-rust/nix/pull/2187">#2187</a>)</p>
    </li>
    <li>
    <p>Added new fanotify API: wrappers for <code>fanotify_init</code> and
    <code>fanotify_mark</code>
    (<a
    href="https://redirect.github.com/nix-rust/nix/pull/2194">#2194</a>)</p>
    </li>
    </ul>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/nix-rust/nix/commit/21ab06ef23de214174ddb039be5b5f08750d19e6"><code>21ab06e</code></a>
    chore: release 0.8.0</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/595c6eb2515723eae1f1db1b9103c95f339380ec"><code>595c6eb</code></a>
    chore: changelog for 0.28.0 (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2303">#2303</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/79b86a7dff071a2a59858d1c98e202fdf38ebd06"><code>79b86a7</code></a>
    mmsg revert signature simplification (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2227">#2227</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/08e05a5f66d14d4f06288c9a725e87f473eba41a"><code>08e05a5</code></a>
    refactor: remove redundant imports to fix CI (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2320">#2320</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/197f55b3ccbce3273bf6ce119d1a8541b5df5d66"><code>197f55b</code></a>
    refactor: update nix (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2311">#2311</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/f34d00d353a8ebcb16eb8810b00d613e4a294925"><code>f34d00d</code></a>
    chore(deps): try libc 0.2.153 (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2309">#2309</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/062f6c0f0306743a401138fc2612d59e818d5768"><code>062f6c0</code></a>
    test: clean clippy needless_borrow false positive issue (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2310">#2310</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/ca173ff30cc42e0fc7a7ba2cf7c1fcbe61dccfa5"><code>ca173ff</code></a>
    Fix the mount tests (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2269">#2269</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/0dfcf3228489a5060a53e69783a1eea6f43b11a9"><code>0dfcf32</code></a>
    test: tweak test_fanotify to monitor ONLY 1 file (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2294">#2294</a>)</li>
    <li><a
    href="https://github.com/nix-rust/nix/commit/0fb346031f6ddc87a57377101a6063133a25e443"><code>0fb3460</code></a>
    Temporarily disable CI on GNU hurd (<a
    href="https://redirect.github.com/nix-rust/nix/issues/2307">#2307</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/nix-rust/nix/compare/v0.27.1...v0.28.0">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=nix&package-manager=cargo&previous-version=0.27.1&new-version=0.28.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this PR
    - `@dependabot recreate` will recreate this PR, overwriting any edits
    that have been made to it
    - `@dependabot merge` will merge this PR after your CI passes on it
    - `@dependabot squash and merge` will squash and merge this PR after
    your CI passes on it
    - `@dependabot cancel merge` will cancel a previously requested merge
    and block automerging
    - `@dependabot reopen` will reopen this PR if it is closed
    - `@dependabot close` will close this PR and stop Dependabot recreating
    it. You can achieve the same result by closing it manually
    - `@dependabot show <dependency name> ignore conditions` will show all
    of the ignore conditions of the specified dependency
    - `@dependabot ignore this major version` will close this PR and stop
    Dependabot creating any more for this major version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this minor version` will close this PR and stop
    Dependabot creating any more for this minor version (unless you reopen
    the PR or upgrade to it yourself)
    - `@dependabot ignore this dependency` will close this PR and stop
    Dependabot creating any more for this dependency (unless you reopen the
    PR or upgrade to it yourself)
    
    
    </details>
    
    Signed-off-by: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored May 14, 2024
    Configuration menu
    Copy the full SHA
    712a750 View commit details
    Browse the repository at this point in the history
  5. make polkadot-parachain chain-spec extension more relaxed (#4452)

    A small step towards
    https://forum.polkadot.network/t/polkadot-parachain-omni-node-gathering-ideas-and-feedback/7823
    and #4352.
    
    Many parachains use `camelCase` and/or `PascalCase`ing for their chain
    spec extension. Sometimes the only reason polkadot-parachain cannot sync
    them is because it cannot parse the chain spec extension. This PR
    relaxes the requirement for the extension to be camel case.
    
    ---------
    
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    kianenigma and bkontur authored May 14, 2024
    Configuration menu
    Copy the full SHA
    12ab315 View commit details
    Browse the repository at this point in the history

Commits on May 15, 2024

  1. Change forks pruning algorithm. (#3962)

    This PR changes the fork calculation and pruning algorithm to enable
    future block header pruning. It's required because the previous
    algorithm relied on the block header persistence. It follows the
    [related
    discussion](#1570)
    
    The previous code contained this comment describing the situation:
    ```
    	/// Note a block height finalized, displacing all leaves with number less than the finalized
    	/// block's.
    	///
    	/// Although it would be more technically correct to also prune out leaves at the
    	/// same number as the finalized block, but with different hashes, the current behavior
    	/// is simpler and our assumptions about how finalization works means that those leaves
    	/// will be pruned soon afterwards anyway.
    	pub fn finalize_height(&mut self, number: N) -> FinalizationOutcome<H, N> {
    ```
    
    The previous algorithm relied on the existing block headers to prune
    forks later and to enable block header pruning we need to clear all
    obsolete forks right after the block finalization to not depend on the
    related block headers in the future.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    shamil-gadelshin and bkchr authored May 15, 2024
    Configuration menu
    Copy the full SHA
    9c69bb9 View commit details
    Browse the repository at this point in the history
  2. Bump fatality crate to 0.1.1 (#4464)

    ... to get rid of the macro debug logs like this from build output
    ```
    [/home/alexggh/.cargo/registry/src/index.crates.io-6f17d22bba15001f/fatality-proc-macro-0.1.0/src/types.rs:171:23] input = TokenStream [
        Literal {
            kind: Str,
            symbol: "Error while accessing runtime information",
            suffix: None,
            span: #0 bytes(6943..6986),
        },
    ]
    ```
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    alexggh authored May 15, 2024
    Configuration menu
    Copy the full SHA
    494f123 View commit details
    Browse the repository at this point in the history
  3. Please consider adding RadiumBlock bootnodes for Westend People and W…

    …estend Coretime (#3936)
    
    Please add RadiumBlock bootnodes to the spec files for Westend Coretime
    and Westend People
    
    ---------
    
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    radiumb and seadanda authored May 15, 2024
    Configuration menu
    Copy the full SHA
    005e3a7 View commit details
    Browse the repository at this point in the history
  4. chore: update zombienet version (#4463)

    Add small fixes, reorg debug definition and add more verbose debug logs
    in k8s logs reading.
    Thx!
    pepoviola authored May 15, 2024
    Configuration menu
    Copy the full SHA
    3fcdada View commit details
    Browse the repository at this point in the history
  5. Update BABE README.md (#4138)

    Link was dead
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    drewstone and bkchr authored May 15, 2024
    Configuration menu
    Copy the full SHA
    e6d934c View commit details
    Browse the repository at this point in the history
  6. Introduces: Delegated Staking Pallet (#3904)

    This is the second PR in preparation for
    #454.
    
    ## Also see
    - **Precursor** #3889.
    - **Follow up** #3905.
    
    Overall changes are documented here (lot more visual 😍):
    https://hackmd.io/@ak0n/454-np-governance
    
    ## Changes
    ### Delegation Interface
    Provides delegation primitives for staking. 
    
    Introduces two new roles:
    - Agent: These are accounts who receive delegation from other accounts
    (delegators) and stakes on behalf of them. The funds are held in
    delegator accounts.
    - Delegator: Accounts who delegate their funds to an agent authorising
    them to use it for staking.
    
    Supports
    - A way for delegators to add or withdraw delegation to an agent.
    - A way for an agent to slash a delegator during a slashing event.
    
    ### Pallet Delegated Staking
    - Implements `DelegationInterface`.
    - Lazy slashing: Any slashes to an Agent is posted in a ledger but not
    immediately slashed. The agent can call
    `DelegationInterface::delegator_slash` to slash the member and clear the
    corresponding slash from its ledger.
    - Consumes `StakingInterface` to provide `CoreStaking` features. In
    reality, this will be `pallet-staking`.
    - Ensures bookkeeping for agent and delegator are correct but leaves the
    management of reward and slash logic upto the consumer of this pallet.
    - While it does not expose any calls yet, it is written with the intent
    of exposing these primitives via extrinsics.
    
    ## TODO
    - [x] Improve unit tests in the pallet.
    - [x] Separate slash reward perbill for rewarding the slash reporters?
    - [x] Review if we should add more events.
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
    Co-authored-by: georgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
    4 people authored May 15, 2024
    Configuration menu
    Copy the full SHA
    4d47b44 View commit details
    Browse the repository at this point in the history
  7. Add OnFinality kusama bootnode (#4458)

    This is for adding onfinality polkadot bootnode. Please correct me if
    this is not the right place for adding a new bootnode
    AlexZhenWang authored May 15, 2024
    Configuration menu
    Copy the full SHA
    f2b367e View commit details
    Browse the repository at this point in the history
  8. Fix extrinsics count logging in frame-system (#4461)

    The storage item ExtrinsicIndex is already taken before the `finalize()`
    in `note_finished_extrinsics()`, rendering it's always 0 in the log.
    This commit fixes it by using the proper API for extrinsics count.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    3 people authored May 15, 2024
    Configuration menu
    Copy the full SHA
    404027e View commit details
    Browse the repository at this point in the history
  9. Export all public functions of sc-service (#4457)

    #3166 made private
    functions used in `spawn_tasks()` public but forgot to add them in
    exported functions of the crate.
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored May 15, 2024
    Configuration menu
    Copy the full SHA
    59d7e03 View commit details
    Browse the repository at this point in the history
  10. Make vscode rustanalyzer fast again (#4470)

    This bump of versions:
    
    https://github.com/paritytech/polkadot-sdk/pull/4409/files#diff-13ee4b2252c9e516a0547f2891aa2105c3ca71c6d7a1e682c69be97998dfc87eR11936
    
    reintroduced a dependency to proc-macro-crate 2.0.0 which is suffering
    from: bkchr/proc-macro-crate#42 this, so bump
    parity-scale-codec to a newer version to eliminate the bad
    proc-macro-crate 2.0.0 dependency.
    
    ---------
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    Co-authored-by: command-bot <>
    alexggh authored May 15, 2024
    Configuration menu
    Copy the full SHA
    e31fcff View commit details
    Browse the repository at this point in the history
  11. [ci] Use default gh runners for small workloads (#4473)

    `ubuntu-latest` are free for public repo so it's better (and cheaper) to
    use them for small jobs
    alvicsam authored May 15, 2024
    Configuration menu
    Copy the full SHA
    23c5bbc View commit details
    Browse the repository at this point in the history
  12. Include RUNTIME_METADATA_HASH in cache key (#4476)

    Add RUNTIME_METADATA_HASH variable to
    [`cache.extraEnv`](https://github.com/paritytech/forklift/tree/0.12.4?tab=readme-ov-file#cache)
    in config.toml (setting available from forklift 0.12.4)
    AndWeHaveAPlan authored May 15, 2024
    Configuration menu
    Copy the full SHA
    3a20232 View commit details
    Browse the repository at this point in the history
  13. Add IBP bootnodes to coretime-westend and coretime-kusama and oth…

    …ers (#4276)
    
    Dear team, hello, 
    
    Please consider this request to add bootnode endpoints to the chainspecs
    of `coretime-westend` and `coretime-kusama`.
    
    These bootnodes are operated by the Infrastructure Builders Programme as
    part of the commitments of their members.
    
    All these endpoints have been tested according to the procedure
    indicated
    [here](https://wiki.ibp.network/docs/consumers/bootnodes#testing-a-bootnode).
    
    Additionally, please also consider some maintenance changes to
    Gatotech's bootnode endpoint in several other chains.
    
    Many thanks!!
    
    Best regrds!
    
    **_Milos_**
    
    ---------
    
    Co-authored-by: hitchhooker <tommi@niemi.lol>
    Co-authored-by: Bastian Köcher <info@kchr.de>
    3 people authored May 15, 2024
    Configuration menu
    Copy the full SHA
    d237adf View commit details
    Browse the repository at this point in the history

Commits on May 16, 2024

  1. XCM Cookbook (#2633)

    # Context
    
    XCM docs are currently an md book hosted with github pages:
    https://paritytech.github.io/xcm-docs/.
    While that's fine, it's not in line with the work being done in the
    polkadot-sdk docs.
    
    # Main addition
    
    This PR aims to fix that by bringing the docs back to this repo.
    This does not have all the information currently present in the mdbook
    xcm-docs but aims to be a good chunk of it and fully replace it over
    time.
    
    I also added the sections `guides` and `cookbook` which will be very
    useful for users wanting to get into XCM.
    For now I only added one example to the cookbook, but have ideas for
    guides and more examples.
    Having this docs be in rust docs is very useful for the cookbook.
    
    # TODO
    
    - [x] Use `FungibleAdapter`
    - [x] Improve and relocate mock message queue
    - [x] Fix license issue. Why does docs/sdk/ not have this problem? (Just
    added the licenses)
    
    # Next steps
    
    - More examples in the cookbook
    - End-to-end XCM guide with zombienet testing
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    franciscoaguirre and joepetrowski authored May 16, 2024
    Configuration menu
    Copy the full SHA
    289f5bb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    717eb2c View commit details
    Browse the repository at this point in the history
  3. Deprecate dmp-queue pallet (#4475)

    `cumulus-pallet-dmp-queue` is not needed anymore since
    #1246.
    
    The only logic that remains in the pallet is a lazy migration in the
    [`on_idle`](https://github.com/paritytech/polkadot-sdk/blob/8d62c13b2541920c37fb9d9ca733fcce91e96573/cumulus/pallets/dmp-queue/src/lib.rs#L158)
    hook.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored May 16, 2024
    Configuration menu
    Copy the full SHA
    76230a1 View commit details
    Browse the repository at this point in the history
  4. Remove pallet::getter usage from the bounties and child-bounties pall…

    …ets (#4392)
    
    As per #3326, removes pallet::getter usage from the bounties and
    child-bounties pallets. The syntax `StorageItem::<T, I>::get()` should
    be used instead.
    
    Changes to one pallet involved changes in the other, so I figured it'd
    be best to combine these two.
    
    cc @muraca
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    PolkadotDom and bkchr authored May 16, 2024
    Configuration menu
    Copy the full SHA
    6487ac1 View commit details
    Browse the repository at this point in the history
  5. [Runtime] Bound XCMP queue (#3952)

    Re-applying #2302 after increasing the `MaxPageSize`.  
    
    Remove `without_storage_info` from the XCMP queue pallet. Part of
    #323
    
    Changes:
    - Limit the number of messages and signals a HRMP channel can have at
    most.
    - Limit the number of HRML channels.
    
    A No-OP migration is put in place to ensure that all `BoundedVec`s still
    decode and not truncate after upgrade. The storage version is thereby
    bumped to 5 to have our tooling remind us to deploy that migration.
    
    ## Integration
    
    If you see this error in your try-runtime-cli:  
    ```pre
    Max message size for channel is too large. This means that the V5 migration can be front-run and an
    attacker could place a large message just right before the migration to make other messages un-decodable.
    Please either increase `MaxPageSize` or decrease the `max_message_size` for this channel. Channel max:
    102400, MaxPageSize: 65535
    ```
    
    Then increase the `MaxPageSize` of the `cumulus_pallet_xcmp_queue` to
    something like this:
    ```rust
    type MaxPageSize = ConstU32<{ 103 * 1024 }>;
    ```
    
    There is currently no easy way for on-chain governance to adjust the
    HRMP max message size of all channels, but it could be done:
    #3145.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    ggwpez and franciscoaguirre authored May 16, 2024
    Configuration menu
    Copy the full SHA
    4adfa37 View commit details
    Browse the repository at this point in the history
  6. network/discovery: Add to DHT only peers that support genesis-based p…

    …rotocol (#3833)
    
    This PR adds to the DHT only the peers that support the genesis/fork/kad
    protocol.
    Before this PR, any peer that supported the legacy `/kad/[id]` protocol
    was added to the DHT.
    
    This is the first step in removing the support for the legacy kad
    protocols.
    
    While I have adjusted unit tests to validate the appropriate behavior,
    this still needs proper testing in our stack.
    
    Part of #504.
    
    cc @paritytech/networking
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    lexnv and bkchr authored May 16, 2024
    Configuration menu
    Copy the full SHA
    3399bc0 View commit details
    Browse the repository at this point in the history
  7. Bridge: drop subscriptions when they are no longer required (#4481)

    The bridge relay is **not** using `tokio`, while `jsonrpsee` does. To
    make it work together, we are spawning a separate tokio task for every
    jsonrpsee subscription, which holds a subscription reference. It looks
    like we are not stopping those tasks when we no longer need it and when
    there are more than `1024` active subscriptions, `jsonrpsee` stops
    opening new subscriptions. This PR adds an `cancel` signal that is sent
    to the background task when we no longer need a subscription.
    svyatonik authored May 16, 2024
    Configuration menu
    Copy the full SHA
    453bb18 View commit details
    Browse the repository at this point in the history
  8. Demote per-peer validation slots warning to debug (#4480)

    Demote `Ignored block announcement because all validation slots for this
    peer are occupied.` message to debug level.
    
    This is mostly an indicator of somebody spamming the node or (more
    likely) some node actively keeping up with the network but not
    recognizing it's in a major sync mode, so sending zillions of block
    announcements (have seen this on Versi).
    
    This warning shouldn't be considered an error by the end user, so let's
    make it debug.
    
    Ref. #1929.
    dmitry-markin authored May 16, 2024
    Configuration menu
    Copy the full SHA
    8d29397 View commit details
    Browse the repository at this point in the history
  9. Remove pallet::getter usage from the democracy pallet (#4472)

    As per #3326, removes usage of the pallet::getter macro from the
    democracy pallet. The syntax `StorageItem::<T, I>::get()` should be used
    instead.
    
    cc @muraca
    PolkadotDom authored May 16, 2024
    Configuration menu
    Copy the full SHA
    04f88f5 View commit details
    Browse the repository at this point in the history
  10. Snowbridge - Ethereum Client - Reject finalized updates without a syn…

    …c committee in next store period (#4478)
    
    While syncing Ethereum consensus updates to the Snowbridge Ethereum
    light client, the syncing process stalled due to error
    `InvalidSyncCommitteeUpdate` when importing the next sync committee for
    period `1087`.
    
    This bug manifested specifically because our light client checkpoint is
    a few weeks old (submitted to governance weeks ago) and had to catchup
    until a recent block. Since then, we have done thorough testing of the
    catchup sync process.
    
    ### Symptoms
    - Import next sync committee for period `1086` (essentially period
    `1087`). Light client store period = `1086`.
    - Import header in period `1087`. Light client store period = `1087`.
    The current and next sync committee is not updated, and is now in an
    outdated state. (current sync committee = `1086` and current sync
    committee = `1087`, where it should be current sync committee = `1087`
    and current sync committee = `None`)
    - Import next sync committee for period `1087` (essentially period
    `1088`) fails because the expected next sync committee's roots don't
    match.
    
    ### Bug
    The bug here is that the current and next sync committee's didn't
    handover when an update in the next period was received.
    
    ### Fix
    There are two possible fixes here:
    1. Correctly handover sync committees when a header in the next period
    is received.
    2. Reject updates in the next period until the next sync committee
    period is known.
    
    We opted for solution 2, which is more conservative and requires less
    changes.
    
    ### Polkadot-sdk versions
    This fix should be backported in polkadot-sdk versions 1.7 and up.
    
    Snowfork PR: Snowfork#145
    
    ---------
    
    Co-authored-by: Vincent Geddes <117534+vgeddes@users.noreply.github.com>
    claravanstaden and vgeddes authored May 16, 2024
    Configuration menu
    Copy the full SHA
    943eb46 View commit details
    Browse the repository at this point in the history
  11. Adds MaxRank Config in pallet-core-fellowship (#3393)

    resolves #3315
    
    ---------
    
    Co-authored-by: doordashcon <jessechejieh@doordashcon.local>
    Co-authored-by: command-bot <>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored May 16, 2024
    Configuration menu
    Copy the full SHA
    d5fe478 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b342eac View commit details
    Browse the repository at this point in the history
  13. nit

    gpestana committed May 16, 2024
    Configuration menu
    Copy the full SHA
    9f30963 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Contracts: remove kitchensink dynamic parameters (#4489)

    Using Dynamic Parameters for contracts seems like a bad idea for now.
    
    Given that we have benchmarks for each host function (in addition to our
    extrinsics), parameter storage reads will be counted multiple times. We
    will work on updates to the benchmarking framework to mitigate this
    issue in future iterations.
    
    ---------
    
    Co-authored-by: command-bot <>
    pgherveou authored May 17, 2024
    Configuration menu
    Copy the full SHA
    f86f213 View commit details
    Browse the repository at this point in the history
  2. Bridge: fixed relayer version metric value (#4492)

    Before relayer crates have been moved + merged, the `MetricsParams` type
    has been created from a `substrate-relay` crate (binary) and hence it
    has been setting the `substrate_relay_build_info` metic value properly -
    to the binary version. Now it is created from the
    `substrate-relay-helper` crate, which has the fixed (it isn't published)
    version `0.1.0`, so our relay provides incorrect metric value. This
    'breaks' our monitoring tools - we see that all relayers have that
    incorrect version, which is not cool.
    
    The idea is to have a global static variable (shame on me) that is
    initialized by the binary during initialization like we do with the
    logger initialization already. Was considering some alternative options:
    - adding a separate argument to every relayer subcommand and propagating
    it to the `MetricsParams::new()` causes a lot of changes and introduces
    even more noise to the binary code, which is supposed to be as small as
    possible in the new design. But I could do that if team thinks it is
    better;
    - adding a `structopt(skip) pub relayer_version: RelayerVersion`
    argument to all subcommand params won't work, because it will be
    initialized by default and `RelayerVersion` needs to reside in some util
    crate (not the binary), so it'll have the wrong value again.
    svyatonik authored May 17, 2024
    Configuration menu
    Copy the full SHA
    2c48b9d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    45439b8 View commit details
    Browse the repository at this point in the history
  4. pallet_balances: Add try_state for checking Holds and Freezes (#…

    …4490)
    
    Co-authored-by: command-bot <>
    bkchr authored May 17, 2024
    Configuration menu
    Copy the full SHA
    ca0fb0d View commit details
    Browse the repository at this point in the history
  5. Snowbridge - Ethereum Client - Public storage items (#4501)

    Changes the Ethereum client storage scope to public, so it can be set in
    a migration.
    
    When merged, we should backport to the all other release branches:
    
    - [ ] release-crates-io-v1.7.0 - patch release the fellows BridgeHubs
    runtimes #4504
    - [ ] release-crates-io-v1.8.0 -
    #4505
    - [ ] release-crates-io-v1.9.0 -
    #4506
    - [ ] release-crates-io-v1.10.0 -
    #4507
    - [ ] release-crates-io-v1.11.0 -
    #4508
    - [ ] release-crates-io-v1.12.0 (commit soon)
    claravanstaden authored May 17, 2024
    Configuration menu
    Copy the full SHA
    65c5248 View commit details
    Browse the repository at this point in the history
  6. Allow pool to be destroyed with an extra (erroneous) consumer referen…

    …ce on the pool account (#4503)
    
    addresses #4440 (will
    close once we have this in prod runtimes).
    related: #2037.
    
    An extra consumer reference is preventing pools to be destroyed. When a
    pool is ready to be destroyed, we
    can safely clear the consumer references if any. Notably, I only check
    for one extra consumer reference since that is a known bug. Anything
    more indicates possibly another issue and we probably don't want to
    silently absorb those errors as well.
    
    After this change, pools with extra consumer reference should be able to
    destroy normally.
    Ank4n authored May 17, 2024
    Configuration menu
    Copy the full SHA
    2e36f57 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a90d324 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2024

  1. chore: fix typos (#4515)

    Co-authored-by: jimwfs <169986508+jimwfs@users.noreply.github.com>
    jimwfs and jimwfs authored May 19, 2024
    Configuration menu
    Copy the full SHA
    247358a View commit details
    Browse the repository at this point in the history
  2. remote-externalities: rpc_child_get_keys to use paged scraping (#…

    …4512)
    
    Replace usage of deprecated
    `substrate_rpc_client::ChildStateApi::storage_keys` with
    `substrate_rpc_client::ChildStateApi::storage_keys_paged`.
    
    Required for successful scraping of Aleph Zero state.
    liamaharon authored May 19, 2024
    Configuration menu
    Copy the full SHA
    e7b6d7d View commit details
    Browse the repository at this point in the history

Commits on May 20, 2024

  1. Remove usage of the pallet::getter macro from pallet-fast-unstake (#4514

    )
    
    As per #3326, removes pallet::getter macro usage from
    pallet-fast-unstake. The syntax `StorageItem::<T, I>::get()` should be
    used instead.
    
    cc @muraca
    
    ---------
    
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    PolkadotDom and liamaharon authored May 20, 2024
    Configuration menu
    Copy the full SHA
    313fe0f View commit details
    Browse the repository at this point in the history

Commits on May 21, 2024

  1. Remove the prospective-parachains subsystem from collators (#4471)

    Implements #4429
    
    Collators only need to maintain the implicit view for the paraid they
    are collating on.
    In this case, bypass prospective-parachains entirely. It's still useful
    to use the GetMinimumRelayParents message from prospective-parachains
    for validators, because the data is already present there.
    
    This enables us to entirely remove the subsystem from collators, which
    consumed resources needlessly
    
    Aims to resolve #4167 
    
    TODO:
    - [x] fix unit tests
    alindima authored May 21, 2024
    Configuration menu
    Copy the full SHA
    278486f View commit details
    Browse the repository at this point in the history
  2. [xcm]: Use latest Versioned* instead of V4 + bridges doc nits (#4528

    )
    
    Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
    bkontur and svyatonik authored May 21, 2024
    Configuration menu
    Copy the full SHA
    b00e168 View commit details
    Browse the repository at this point in the history
  3. Fixed RPC subscriptions leak when subscription stream is finished (#4533

    )
    
    closes paritytech/parity-bridges-common#3000
    
    Recently we've changed our bridge configuration for Rococo <> Westend
    and our new relayer has started to submit transactions every ~ `30`
    seconds. Eventually, it switches itself into limbo state, where it can't
    submit more transactions - all `author_submitAndWatchExtrinsic` calls
    are failing with the following error: `ERROR bridge Failed to send
    transaction to BridgeHubRococo node: Call(ErrorObject { code:
    ServerError(-32006), message: "Too many subscriptions on the
    connection", data: Some(RawValue("Exceeded max limit of 1024")) })`.
    
    Some links for those who want to explore:
    - server side (node) has a strict limit on a number of active
    subscriptions. It fails to open a new subscription if this limit is hit:
    https://github.com/paritytech/jsonrpsee/blob/a4533966b997e83632509ad97eea010fc7c3efc0/server/src/middleware/rpc/layer/rpc_service.rs#L122-L132.
    The limit is set to `1024` by default;
    - internally this limit is a semaphore with `limit` permits:
    https://github.com/paritytech/jsonrpsee/blob/a4533966b997e83632509ad97eea010fc7c3efc0/core/src/server/subscription.rs#L461-L485;
    - semaphore permit is acquired in the first link;
    - the permit is "returned" when the `SubscriptionSink` is dropped:
    https://github.com/paritytech/jsonrpsee/blob/a4533966b997e83632509ad97eea010fc7c3efc0/core/src/server/subscription.rs#L310-L325;
    - the `SubscriptionSink` is dropped when [this `polkadot-sdk`
    function](https://github.com/paritytech/polkadot-sdk/blob/278486f9bf7db06c174203f098eec2f91839757a/substrate/client/rpc/src/utils.rs#L58-L94)
    returns. In other words - when the connection is closed, the stream is
    finished or internal subscription buffer limit is hit;
    - the subscription has the internal buffer, so sending an item contains
    of two steps: [reading an item from the underlying
    stream](https://github.com/paritytech/polkadot-sdk/blob/278486f9bf7db06c174203f098eec2f91839757a/substrate/client/rpc/src/utils.rs#L125-L141)
    and [sending it over the
    connection](https://github.com/paritytech/polkadot-sdk/blob/278486f9bf7db06c174203f098eec2f91839757a/substrate/client/rpc/src/utils.rs#L111-L116);
    - when the underlying stream is finished, the `inner_pipe_from_stream`
    wants to ensure that all items are sent to the subscriber. So it: [waits
    until the current send operation
    completes](https://github.com/paritytech/polkadot-sdk/blob/278486f9bf7db06c174203f098eec2f91839757a/substrate/client/rpc/src/utils.rs#L146-L148)
    and then [send all remaining items from the internal
    buffer](https://github.com/paritytech/polkadot-sdk/blob/278486f9bf7db06c174203f098eec2f91839757a/substrate/client/rpc/src/utils.rs#L150-L155).
    Once it is done, the function returns, the `SubscriptionSink` is
    dropped, semaphore permit is dropped and we are ready to accept new
    subscriptions;
    - unfortunately, the code just calls the `pending_fut.await.is_err()` to
    ensure that [the current send operation
    completes](https://github.com/paritytech/polkadot-sdk/blob/278486f9bf7db06c174203f098eec2f91839757a/substrate/client/rpc/src/utils.rs#L146-L148).
    But if there are no current send operation (which is normal), then the
    `pending_fut` is set to terminated future and the `await` never
    completes. Hence, no return from the function, no drop of
    `SubscriptionSink`, no drop of semaphore permit, no new subscriptions
    allowed (once number of susbcriptions hits the limit.
    
    I've illustrated the issue with small test - you may ensure that if e.g.
    the stream is initially empty, the
    `subscription_is_dropped_when_stream_is_empty` will hang because
    `pipe_from_stream` never exits.
    svyatonik authored May 21, 2024
    Configuration menu
    Copy the full SHA
    d54feeb View commit details
    Browse the repository at this point in the history
  4. Bridge: added force_set_pallet_state call to pallet-bridge-grandpa (#…

    …4465)
    
    closes paritytech/parity-bridges-common#2963
    
    See issue above for rationale
    I've been thinking about adding similar calls to other pallets, but:
    - for parachains pallet I haven't been able to think of a case when we
    will need that given how long referendum takes. I.e. if storage proof
    format changes and we want to unstuck the bridge, it'll take a large a
    few weeks to sync a single parachain header, then another weeks for
    another and etc.
    - for messages pallet I've made the similar call initially, but it just
    changes a storage key (`OutboundLanes` and/or `InboundLanes`), so
    there's no any logic here and it may be simply done using
    `system.set_storage`.
    
    ---------
    
    Co-authored-by: command-bot <>
    svyatonik authored May 21, 2024
    Configuration menu
    Copy the full SHA
    e0e1f2d View commit details
    Browse the repository at this point in the history
  5. Replace Multiaddr & related types with substrate-specific types (#4198

    )
    
    This PR introduces custom types / substrate wrappers for `Multiaddr`,
    `multiaddr::Protocol`, `Multihash`, `ed25519::*` and supplementary types
    like errors and iterators.
    
    This is needed to unblock `libp2p` upgrade PR
    #1631 after
    #2944 was merged.
    `libp2p` and `litep2p` currently depend on different versions of
    `multiaddr` crate, and introduction of this "common ground" types is
    needed to support independent version upgrades of `multiaddr` and
    dependent crates in `libp2p` & `litep2p`.
    
    While being just convenient to not tie versions of `libp2p` & `litep2p`
    dependencies together, it's currently not even possible to keep `libp2p`
    & `litep2p` dependencies updated to the same versions as `multiaddr` in
    `libp2p` depends on `libp2p-identity` that we can't include as a
    dependency of `litep2p`, which has it's own `PeerId` type. In the
    future, to keep things updated on `litep2p` side, we will likely need to
    fork `multiaddr` and make it use `litep2p` `PeerId` as a payload of
    `/p2p/...` protocol.
    
    With these changes, common code in substrate uses these custom types,
    and `litep2p` & `libp2p` backends use corresponding libraries types.
    dmitry-markin authored May 21, 2024
    Configuration menu
    Copy the full SHA
    d05786f View commit details
    Browse the repository at this point in the history
  6. chore: bump zombienet version (#4535)

    This version includes the latest release of pjs/api
    (https://github.com/polkadot-js/api/releases/tag/v11.1.1).
    Thx!
    pepoviola authored May 21, 2024
    Configuration menu
    Copy the full SHA
    ec46106 View commit details
    Browse the repository at this point in the history

Commits on May 22, 2024

  1. Configuration menu
    Copy the full SHA
    e86bb91 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c7cb1f2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    04161b1 View commit details
    Browse the repository at this point in the history
  4. [Backport] Version bumps and prdocs reordering from 1.12.0 (#4538)

    This PR backports version bumps and reorganisation of the prdoc files
    from the `1.12.0` release branch back to `master`
    EgorPopelyaev authored May 22, 2024
    Configuration menu
    Copy the full SHA
    b06306c View commit details
    Browse the repository at this point in the history
  5. fixed link (#4539)

    fasteater authored May 22, 2024
    Configuration menu
    Copy the full SHA
    ad54bc3 View commit details
    Browse the repository at this point in the history
  6. rustls: Disable logging again (#4541)

    We are actually using an older version, where the log line is in a
    different file.
    bkchr authored May 22, 2024
    Configuration menu
    Copy the full SHA
    eda9895 View commit details
    Browse the repository at this point in the history
  7. Implement CheckMetadataHash extension (#4274)

    This implements the `CheckMetadataHash` extension as described in
    [RFC78](https://polkadot-fellows.github.io/RFCs/approved/0078-merkleized-metadata.html).
    
    Besides the signed extension, the `substrate-wasm-builder` is extended
    to support generating the metadata-hash.
    
    Closes: #291
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    5 people authored May 22, 2024
    Configuration menu
    Copy the full SHA
    8dbe4ee View commit details
    Browse the repository at this point in the history
  8. Update README.md (#4502)

    ..and other high level docs.
    
    
    # Polling 
    
    Please vote in the reactions of this PR 
    
    - 👍 I agree to replace the website of this repo to
    https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/index.html
    - 👎 Keep it as polkadot.network
    - 🤷 Different opinion
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    kianenigma and bkchr authored May 22, 2024
    Configuration menu
    Copy the full SHA
    ae864e6 View commit details
    Browse the repository at this point in the history
  9. Refactor Nomination Pool to support multiple staking strategies (#3905)

    Third and final PR in the set, closes
    #454.
    
    Original PR: #2680
    
    ## Precursors:
    - #3889.
    - #3904.
    
    ## Follow up issues/improvements
    - #4404
    
    Overall changes are documented here (lot more visual 😍):
    https://hackmd.io/@ak0n/454-np-governance
    
    ## Summary of various roles 🤯
    ### Pallet Staking
    **Nominator**: An account that directly stakes on `pallet-staking` and
    nominates a set of validators.
    **Stakers**: Common term for nominators and validators.
    Virtual Stakers: Same as stakers, but they are keyless accounts and
    their locks are managed by a pallet external to `pallet-staking`.
    
    ### Pallet Delegated Staking
    **Agent**: An account that receives delegation from other accounts
    (delegators) and stakes on their behalf. They are also Virtual Stakers
    in `pallet-staking` where `pallet-delegated-staking` manages its locks.
    **Delegator**: An account that delegates some funds to an agent.
    
    ### Pallet Nomination Pools
    **Pool account**: Keyless account of a pool where funds are pooled.
    Members pledge their funds towards the pools. These are going to become
    `Agent` accounts in `pallet-delegated-staking`.
    **Pool Members**: They are individual members of the pool who
    contributed funds to it. They are also `Delegator` in
    `pallet-delegated-staking`.
    
    ## Changes
    ### Multiple Stake strategies
    
    **TransferStake**: The current nomination pool logic can be considered a
    staking strategy where delegators transfer funds to pool and stake. In
    this scenario, funds are locked in pool account, and users lose the
    control of their funds.
    
    **DelegateStake**: With this PR, we introduce a new staking strategy
    where individual delegators delegate fund to pool. `Delegate` implies
    funds are locked in delegator account itself. Important thing to note
    is, pool does not have funds of its own, but it has authorization from
    its members to use these funds for staking.
    
    We extract out all the interaction of pool with staking interface into a
    new trait `StakeStrategy`. This is the logic that varies between the
    above two staking strategies. We use the trait `StakeStrategy` to
    implement above two strategies: `TransferStake` and `DelegateStake`.
    
    ### NominationPool
    Consumes an implementation of `StakeStrategy` instead of
    `StakingInterface`. I have renamed it from `Staking` to `StakeAdapter`
    to clarify the difference from the earlier used trait.
    
    To enable delegation based staking in pool, Nomination pool can be
    configured as:
    ```
    type StakeAdapter = pallet_nomination_pools::adapter::DelegateStake<Self, DelegatedStaking>;
    ```
    
    Note that with the following configuration, the changes in the PR are
    no-op.
    ```
    type StakeAdapter = pallet_nomination_pools::adapter::TransferStake<Self, Staking>;
    ```
    
    ## Deployment roadmap
    Plan to enable this only in Westend. In production runtimes, we can keep
    pool to use `TransferStake` which will be no functional change.
    
    Once we have a full audit, we can enable this in Kusama followed by
    Polkadot.
    
    ## TODO
    - [x] Runtime level (Westend) migration for existing nomination pools.
    - [x] Permissionless call/ pallet::tasks for claiming delegator funds.
    - [x] Add/update benches.
    - [x] Migration tests.
    - [x] Storage flag to mark `DelegateStake` migration and integrity
    checks to not allow `TransferStake` for migrated runtimes.
    
    ---------
    
    Signed-off-by: Matteo Muraca <mmuraca247@gmail.com>
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    Signed-off-by: Adrian Catangiu <adrian@parity.io>
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Signed-off-by: divdeploy <chenguangxue@outlook.com>
    Signed-off-by: dependabot[bot] <support@github.com>
    Signed-off-by: hongkuang <liurenhong@outlook.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: gemini132 <164285545+gemini132@users.noreply.github.com>
    Co-authored-by: Matteo Muraca <56828990+muraca@users.noreply.github.com>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Alexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
    Co-authored-by: Alessandro Siniscalchi <asiniscalchi@gmail.com>
    Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
    Co-authored-by: Ross Bulat <ross@parity.io>
    Co-authored-by: Serban Iorga <serban@parity.io>
    Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
    Co-authored-by: Sam Johnson <sam@durosoft.com>
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: Javier Viola <363911+pepoviola@users.noreply.github.com>
    Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
    Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
    Co-authored-by: Dastan <88332432+dastansam@users.noreply.github.com>
    Co-authored-by: Clara van Staden <claravanstaden64@gmail.com>
    Co-authored-by: Ron <yrong1997@gmail.com>
    Co-authored-by: Vincent Geddes <vincent@snowfork.com>
    Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
    Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
    Co-authored-by: Dino Pačandi <3002868+Dinonard@users.noreply.github.com>
    Co-authored-by: Andrei Eres <eresav@me.com>
    Co-authored-by: Alin Dima <alin@parity.io>
    Co-authored-by: Andrei Sandu <andrei-mihail@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <info@kchr.de>
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    Co-authored-by: gupnik <nikhilgupta.iitk@gmail.com>
    Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
    Co-authored-by: Lulu <morgan@parity.io>
    Co-authored-by: Juan Girini <juangirini@gmail.com>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
    Co-authored-by: Kutsal Kaan Bilgin <kutsalbilgin@gmail.com>
    Co-authored-by: Ermal Kaleci <ermalkaleci@gmail.com>
    Co-authored-by: ordian <write@reusable.software>
    Co-authored-by: divdeploy <166095818+divdeploy@users.noreply.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
    Co-authored-by: Squirrel <gilescope@gmail.com>
    Co-authored-by: HongKuang <166261675+HongKuang@users.noreply.github.com>
    Co-authored-by: Tsvetomir Dimitrov <tsvetomir@parity.io>
    Co-authored-by: Egor_P <egor@parity.io>
    Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
    Co-authored-by: Dmitry Markin <dmitry@markin.tech>
    Co-authored-by: Alexandru Vasile <alexandru.vasile@parity.io>
    Co-authored-by: Léa Narzis <78718413+lean-apple@users.noreply.github.com>
    Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
    Co-authored-by: georgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
    Co-authored-by: command-bot <>
    Co-authored-by: PG Herveou <pgherveou@gmail.com>
    Co-authored-by: jimwfs <wqq1479787@163.com>
    Co-authored-by: jimwfs <169986508+jimwfs@users.noreply.github.com>
    Co-authored-by: polka.dom <polkadotdom@gmail.com>
    Configuration menu
    Copy the full SHA
    8949856 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2024

  1. Fix README.md Logo URL (#4546)

    This one also works and it is easier.
    kianenigma authored May 23, 2024
    Configuration menu
    Copy the full SHA
    fd16191 View commit details
    Browse the repository at this point in the history
  2. Fix bridges grandpa benchmarks (#2577) (#4548)

    Cherry-picked fix from upcoming
    #4494
    
    ---------
    
    Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
    Co-authored-by: command-bot <>
    bkontur and svyatonik authored May 23, 2024
    Configuration menu
    Copy the full SHA
    a823d18 View commit details
    Browse the repository at this point in the history
  3. Contracts: Rework host fn benchmarks (#4233)

    fix #4163
    
    This PR does the following:
    Update to pallet-contracts-proc-macro: 
    - Parse #[cfg] so we can add a dummy noop host function for benchmark.
    - Generate BenchEnv::<host_fn> so we can call host functions directly in
    the benchmark.
    - Add the weight of the noop host function before calling the host
    function itself
    
    Update benchmarks:
    - Update all host function benchmark, a host function benchmark now
    simply call the host function, instead of invoking the function n times
    from within a contract.
    - Refactor RuntimeCosts & Schedule, for most host functions, we can now
    use the generated weight function directly instead of computing the diff
    with the cost! macro
    
    ```rust
    // Before
    #[benchmark(pov_mode = Measured)]
    fn seal_input(r: Linear<0, API_BENCHMARK_RUNS>) {
        let code = WasmModule::<T>::from(ModuleDefinition {
            memory: Some(ImportedMemory::max::<T>()),
            imported_functions: vec![ImportedFunction {
                module: "seal0",
                name: "seal_input",
                params: vec![ValueType::I32, ValueType::I32],
                return_type: None,
            }],
            data_segments: vec![DataSegment { offset: 0, value: 0u32.to_le_bytes().to_vec() }],
            call_body: Some(body::repeated(
                r,
                &[
                    Instruction::I32Const(4), // ptr where to store output
                    Instruction::I32Const(0), // ptr to length
                    Instruction::Call(0),
                ],
            )),
            ..Default::default()
        });
    
        call_builder!(func, code);
    
        let res;
        #[block]
        {
            res = func.call();
        }
        assert_eq!(res.did_revert(), false);
    }
    ```
    
    ```rust
    // After
    fn seal_input(n: Linear<0, { code::max_pages::<T>() * 64 * 1024 - 4 }>) {
        let mut setup = CallSetup::<T>::default();
        let (mut ext, _) = setup.ext();
        let mut runtime = crate::wasm::Runtime::new(&mut ext, vec![42u8; n as usize]);
        let mut memory = memory!(n.to_le_bytes(), vec![0u8; n as usize],);
        let result;
        #[block]
        {
            result = BenchEnv::seal0_input(&mut runtime, &mut memory, 4, 0)
        }
        assert_ok!(result);
        assert_eq!(&memory[4..], &vec![42u8; n as usize]);
    }
    ``` 
    
    [Weights
    compare](https://weights.tasty.limo/compare?unit=weight&ignore_errors=true&threshold=10&method=asymptotic&repo=polkadot-sdk&old=master&new=pg%2Frework-host-benchs&path_pattern=substrate%2Fframe%2Fcontracts%2Fsrc%2Fweights.rs%2Cpolkadot%2Fruntime%2F*%2Fsrc%2Fweights%2F**%2F*.rs%2Cpolkadot%2Fbridges%2Fmodules%2F*%2Fsrc%2Fweights.rs%2Ccumulus%2F**%2Fweights%2F*.rs%2Ccumulus%2F**%2Fweights%2Fxcm%2F*.rs%2Ccumulus%2F**%2Fsrc%2Fweights.rs)
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Alexander Theißen <alex.theissen@me.com>
    pgherveou and athei authored May 23, 2024
    Configuration menu
    Copy the full SHA
    493ba5e View commit details
    Browse the repository at this point in the history
  4. Define OpaqueValue (#4550)

    Define `OpaqueValue` and use it instead of
    `grandpa::OpaqueKeyOwnershipProof` and `beefy:OpaqueKeyOwnershipProof`
    
    Related to
    #4522 (comment)
    
    We'll need to introduce a runtime API method that calls the
    `report_fork_voting_unsigned()` extrinsic. This method will need to
    receive the ancestry proof as a paramater. I'm still not sure, but there
    is a chance that we'll send the ancestry proof as an opaque type.
    
    So let's introduce this `OpaqueValue`. We can already use it to replace
    `grandpa::OpaqueKeyOwnershipProof` and `beefy:OpaqueKeyOwnershipProof`
    and maybe we'll need it for the ancestry proof as well.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    serban300 and bkchr authored May 23, 2024
    Configuration menu
    Copy the full SHA
    03bbc17 View commit details
    Browse the repository at this point in the history
  5. Mention new XCM docs in sdk docs (#4558)

    The XCM docs were pretty much moved to the new rust docs format in
    #2633, with the addition
    of the XCM cookbook, which I plan to add more examples to shortly.
    
    These docs were not mentioned in the polkadot-sdk rust docs, this PR
    just mentions them there, so people can actually find them.
    franciscoaguirre authored May 23, 2024
    Configuration menu
    Copy the full SHA
    48d4f65 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2024

  1. Use polkadot-ckb-merkle-mountain-range dependency (#4562)

    We need to use the `polkadot-ckb-merkle-mountain-range` dependency
    published on `crates.io` in order to unblock the release of the
    `sp-mmr-primitives` crate
    serban300 authored May 24, 2024
    Configuration menu
    Copy the full SHA
    700d591 View commit details
    Browse the repository at this point in the history
  2. Attempt to avoid specifying BlockHashCount for different `mocking::…

    …{MockBlock, MockBlockU32, MockBlockU128}` (#4543)
    
    While doing some migration/rebase I came in to the situation, where I
    needed to change `mocking::MockBlock` to `mocking::MockBlockU32`:
    ```
    #[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
    impl frame_system::Config for TestRuntime {
    	type Block = frame_system::mocking::MockBlockU32<TestRuntime>;
    	type AccountData = pallet_balances::AccountData<ThisChainBalance>;
    }
    ```
    But actual `TestDefaultConfig` for `frame_system` is using `ConstU64`
    for `type BlockHashCount = frame_support::traits::ConstU64<10>;`
    [here](https://github.com/paritytech/polkadot-sdk/blob/master/substrate/frame/system/src/lib.rs#L303).
    Because of this, it force me to specify and add override for `type
    BlockHashCount = ConstU32<10>`.
    
    This PR tries to fix this with `TestBlockHashCount` implementation for
    `TestDefaultConfig` which supports `u32`, `u64` and `u128` as a
    `BlockNumber`.
    
    ### How to simulate error
    Just by removing `type BlockHashCount = ConstU32<250>;`
    [here](https://github.com/paritytech/polkadot-sdk/blob/master/substrate/frame/multisig/src/tests.rs#L44)
    ```
    :~/parity/olkadot-sdk$ cargo test -p pallet-multisig
       Compiling pallet-multisig v28.0.0 (/home/bparity/parity/aaa/polkadot-sdk/substrate/frame/multisig)
    error[E0277]: the trait bound `ConstU64<10>: frame_support::traits::Get<u32>` is not satisfied
       --> substrate/frame/multisig/src/tests.rs:41:1
        |
    41  | #[derive_impl(frame_system::config_preludes::TestDefaultConfig)]
        | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `frame_support::traits::Get<u32>` is not implemented for `ConstU64<10>`
        |
        = help: the following other types implement trait `frame_support::traits::Get<T>`:
                  <ConstU64<T> as frame_support::traits::Get<u64>>
                  <ConstU64<T> as frame_support::traits::Get<std::option::Option<u64>>>
    note: required by a bound in `frame_system::Config::BlockHashCount`
       --> /home/bparity/parity/aaa/polkadot-sdk/substrate/frame/system/src/lib.rs:535:24
        |
    535 |         type BlockHashCount: Get<BlockNumberFor<Self>>;
        |                              ^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Config::BlockHashCount`
        = note: this error originates in the attribute macro `derive_impl` which comes from the expansion of the macro `frame_support::macro_magic::forward_tokens_verbatim` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    For more information about this error, try `rustc --explain E0277`.
    error: could not compile `pallet-multisig` (lib test) due to 1 previous error 
    ```
    
    
    
    
    ## For reviewers:
    
    (If there is a better solution, please let me know!)
    
    The first commit contains actual attempt to fix the problem:
    3c5499e.
    The second commit is just removal of `BlockHashCount` from all other
    places where not needed by default.
    
    Closes: #1657
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    bkontur and bkchr authored May 24, 2024
    Configuration menu
    Copy the full SHA
    ef144b1 View commit details
    Browse the repository at this point in the history
  3. Remove litep2p git dependency (#4560)

    @serban300 could you please do the same for the MMR crate? Am not sure
    what commit was released since there are no release tags in the repo.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored May 24, 2024
    Configuration menu
    Copy the full SHA
    49bd6a6 View commit details
    Browse the repository at this point in the history
  4. Polkadot-SDK Umbrella Crate (#3935)

    # Umbrella Crate
    
    The Polkadot-SDK "umbrella" is a crate that re-exports all other
    published crates. This makes it
    possible to have a very small `Cargo.toml` file that only has one
    dependency, the umbrella
    crate. This helps with selecting the right combination of crate
    versions, since otherwise 3rd
    party tools are needed to select a compatible set of versions.
    
    ## Features
    
    The umbrella crate supports no-std builds and can therefore be used in
    the runtime and node.
    There are two main features: `runtime` and `node`. The `runtime` feature
    enables all `no-std`
    crates, while the `node` feature enables all `std` crates. It should be
    used like any other
    crate in the repo, with `default-features = false`.
    
    For more fine-grained control, additionally, each crate can be enabled
    selectively. The umbrella
    exposes one feature per dependency. For example, if you only want to use
    the `frame-support`
    crate, you can enable the `frame-support` feature.
    
    The umbrella exposes a few more general features:
    - `tuples-96`: Needs to be enabled for runtimes that have more than 64
    pallets.
    - `serde`: Specifically enable `serde` en/decoding support.
    - `experimental`: Experimental enable experimental features - should not
    yet used in production.
    - `with-tracing`: Enable tracing support.
    - `try-runtime`, `runtime-benchmarks` and `std`: These follow the
    standard conventions.
    - `runtime`: As described above, enable all `no-std` crates.
    - `node`: As described above, enable all `std` crates.
    - There does *not* exist a dedicated docs feature. To generate docs,
    enable the `runtime` and
    `node` feature. For docs.rs the manifest contains specific configuration
    to make it show up
      all re-exports.
    
    There is a specific `zepter` check in place to ensure that the features
    of the umbrella are
    correctly configured. This check is run in CI and locally when running
    `zepter`.
    
    ## Generation
    
    The umbrella crate needs to be updated every time when a new crate is
    added or removed from the
    workspace. It is checked in CI by calling its generation script. The
    generation script is
    located in `./scripts/generate-umbrella.py` and needs dependency
    `cargo_workspace`.
    
    Example: `python3 scripts/generate-umbrella.py --sdk . --version 1.9.0`
    
    ## Usage
    
    > Note: You can see a live example in the `staging-node-cli` and
    `kitchensink-runtime` crates.
    
    The umbrella crate can be added to your runtime crate like this:
    
    `polkadot-sdk = { path = "../../../../umbrella", features = ["runtime"],
    default-features =
    false}`
    
    or for a node:
    
    `polkadot-sdk = { path = "../../../../umbrella", features = ["node"],
    default-features = false
    }`
    
    In the code, it is then possible to bring all dependencies into scope
    via:
    
    `use polkadot_sdk::*;`
    
    ### Known Issues
    
    The only known issue so far is the fact that the `use` statement brings
    the dependencies only
    into the outer module scope - not the global crate scope. For example,
    the following code would
    need to be adjusted:
    
    ```rust
    use polkadot_sdk::*;
    
    mod foo {
       // This does sadly not compile:
       frame_support::parameter_types! { }
    
       // Instead, we need to do this (or add an equivalent `use` statement):
       polkadot_sdk::frame_support::parameter_types! { }
    }
    ```
    
    Apart from this, no issues are known. There could be some bugs with how
    macros locate their own
    re-exports. Please compile issues that arise from using this crate.
    
    ## Dependencies
    
    The umbrella crate re-exports all published crates, with a few
    exceptions:
    - Runtime crates like `rococo-runtime` etc are not exported. This
    otherwise leads to very weird
      compile errors and should not be needed anyway.
    - Example and fuzzing crates are not exported. This is currently
    detected by checking the name
    of the crate for these magic words. In the future, it will utilize
    custom metadata, as it is
      done in the `rococo-runtime` crate.
    - The umbrella crate itself. Should be obvious :)
    
    ## Follow Ups
    - [ ] Re-writing the generator in Rust - the python script is at its
    limit.
    - [ ] Using custom metadata to exclude some crates instead of filtering
    by names.
    - [ ] Finding a way to setting the version properly. Currently its
    locked in the CI script.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored May 24, 2024
    Configuration menu
    Copy the full SHA
    1c7a1a5 View commit details
    Browse the repository at this point in the history
  5. availability-recovery: bump chunk fetch threshold to 1MB for Polkadot…

    … and 4MB for Kusama + testnets (#4399)
    
    Doing this change ensures that we minimize the CPU usage we spend in
    reed-solomon by only doing the re-encoding into chunks if PoV size is
    less than 4MB (which means all PoVs right now)
     
    Based on susbystem benchmark results we concluded that it is safe to
    bump this number higher. At worst case scenario the network pressure for
    a backing group of 5 is around 25% of the network bandwidth in hw specs.
    
    Assuming 6s block times (max_candidate_depth 3) and needed_approvals 30
    the amount of bandwidth usage of a backing group used would hover above
    `30 * 4 * 3 = 360MB` per relay chain block. Given a backing group of 5
    that gives 72MB per block per validator -> 12 MB/s.
    
    <details>
    <summary>Reality check on Kusama PoV sizes (click for chart)</summary>
    <br>
    <img width="697" alt="Screenshot 2024-05-07 at 14 30 38"
    src="https://github.com/paritytech/polkadot-sdk/assets/54316454/bfed32d4-8623-48b0-9ec0-8b95dd2a9d8c">
    </details>
    
    ---------
    
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    sandreim authored May 24, 2024
    Configuration menu
    Copy the full SHA
    f469fbf View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e192b76 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2024

  1. Deprecate XCMv2 (#4131)

    Marked XCMv2 as deprecated now that we have XCMv4.
    It will be removed sometime around June 2024.
    
    ---------
    
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    franciscoaguirre and bkontur authored May 27, 2024
    Configuration menu
    Copy the full SHA
    9201f9a View commit details
    Browse the repository at this point in the history
  2. Bridge: check submit_finality_proof limits before submission (#4549)

    closes paritytech/parity-bridges-common#2982
    closes paritytech/parity-bridges-common#2730
    
    The main change is in the
    bridges/relays/lib-substrate-relay/src/finality/target.rs, changes in
    other files are just moving the code
    
    ~I haven't been able to run zn tests locally - don't know why, but it
    keeps failing for me locally with: `
    Error running script:
    /home/svyatonik/dev/polkadot-sdk/bridges/testing/framework/js-helpers/wait-hrmp-channel-opened.js
    Error: Timeout(300), "custom-js
    /home/svyatonik/dev/polkadot-sdk/bridges/testing/framework/js-helpers/wait-hrmp-channel-opened.js
    within 300 secs" didn't complete on time.`~ The issue was an obsolete
    `polkadot-js-api` binary - did `yarn global upgrade` and it is ok now
    svyatonik authored May 27, 2024
    Configuration menu
    Copy the full SHA
    f6cca7e View commit details
    Browse the repository at this point in the history
  3. Bridge: add subcommand to relay messages delivery confirmation (#4453)

    related to
    paritytech/parity-bridges-common#2962
    on top of #4383
    
    Example:
    ```sh
    RUST_LOG=runtime=trace,rpc=trace,bridge=trace \
            ./target/release/substrate-relay relay-messages-delivery-confirmation bridge-hub-rococo-to-bridge-hub-westend \
            --source-host localhost \
            --source-port 8943 \
            --source-version-mode Auto \
            --source-signer //Eve \
            --source-transactions-mortality 4 \
            --target-host localhost \
            --target-port 8945 \
            --target-version-mode Auto \
            --lane 00000002 \
            --at-target-block 49
    ```
    svyatonik authored May 27, 2024
    Configuration menu
    Copy the full SHA
    0a752af View commit details
    Browse the repository at this point in the history
  4. chore: fix typos (#4590)

    chore: fix typos
    omahs authored May 27, 2024
    Configuration menu
    Copy the full SHA
    89b67bc View commit details
    Browse the repository at this point in the history
  5. Add release version to commits and branch names of template synchroni…

    …zation job (#4353)
    
    Just to have some information what is the release number that was used
    to push a particular commit or PR in the templates repositories.
    rzadp authored May 27, 2024
    Configuration menu
    Copy the full SHA
    e0edb06 View commit details
    Browse the repository at this point in the history
  6. Make markdown lint CI job pass (#4593)

    Was constantly failing, so here a fix.
    skunert authored May 27, 2024
    Configuration menu
    Copy the full SHA
    2352982 View commit details
    Browse the repository at this point in the history
  7. network: Update litep2p to v0.5.0 (#4570)

    ## [0.5.0] - 2023-05-24
    
    This is a small patch release that makes the `FindNode` command a bit
    more robst:
    
    - The `FindNode` command now retains the K (replication factor) best
    results.
    - The `FindNode` command has been updated to handle errors and
    unexpected states without panicking.
    
    ### Changed
    
    - kad: Refactor FindNode query, keep K best results and add tests
    ([#114](paritytech/litep2p#114))
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored May 27, 2024
    Configuration menu
    Copy the full SHA
    ce3e9b7 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    0139b15 View commit details
    Browse the repository at this point in the history
  9. chain-spec-builder: help updated (#4597)

    Added some clarification on output file.
    michalkucharczyk authored May 27, 2024
    Configuration menu
    Copy the full SHA
    16887b6 View commit details
    Browse the repository at this point in the history
  10. check-weight: Disable total pov size check for mandatory extrinsics (#…

    …4571)
    
    So in some pallets we like
    [here](https://github.com/paritytech/polkadot-sdk/blob/5dc522d02fe0b53be1517f8b8979176e489a388b/substrate/frame/session/src/lib.rs#L556)
    we use `max_block` as return value for `on_initialize` (ideally we would
    not).
    
    This means the block is already full when we try to apply the inherents,
    which lead to the error seen in #4559 because we are unable to include
    the required inherents. This was not erroring before #4326 because we
    were running into this branch:
    
    https://github.com/paritytech/polkadot-sdk/blob/e4b89cc50c8d17868d6c8b122f2e156d678c7525/substrate/frame/system/src/extensions/check_weight.rs#L222-L224
    
    The inherents are of `DispatchClass::Mandatory` and therefore have a
    `reserved` value of `None` in all runtimes I have inspected. So they
    will always pass the normal check.
    
    So in this PR I adjust the `check_combined_proof_size` to return an
    early `Ok(())` for mandatory extrinsics.
    
    If we agree on this PR I will backport it to the 1.12.0 branch.
    
    closes #4559
    
    ---------
    
    Co-authored-by: command-bot <>
    skunert authored May 27, 2024
    Configuration menu
    Copy the full SHA
    70dd67a View commit details
    Browse the repository at this point in the history
  11. [subsystem-benchmarks] Add statement-distribution benchmarks (#3863)

    Fixes #3748
    
    Adds a subsystem benchmark for statements-distribution subsystem.
    
    Results in CI (reference hw):
    ```
    $ cargo bench -p polkadot-statement-distribution --bench statement-distribution-regression-bench --features subsystem-benchmarks
    
    [Sent to peers] standart_deviation 0.07%
    [Received from peers] standart_deviation 0.00%
    [statement-distribution] standart_deviation 0.97%
    [test-environment] standart_deviation 1.03%
    
    Network usage, KiB                     total   per block
    Received from peers                1088.0000    108.8000
    Sent to peers                      1238.1800    123.8180
    
    CPU usage, seconds                     total   per block
    statement-distribution                0.3897      0.0390
    test-environment                      0.4715      0.0472
    ```
    AndreiEres authored May 27, 2024
    Configuration menu
    Copy the full SHA
    a709768 View commit details
    Browse the repository at this point in the history
  12. sc-chain-spec: deprecated code removed (#4410)

    This PR removes deprecated code:
    - The `RuntimeGenesisConfig` generic type parameter in
    `GenericChainSpec` struct.
    - `ChainSpec::from_genesis` method allowing to create chain-spec using
    closure providing runtime genesis struct
    - `GenesisSource::Factory` variant together with no longer needed
    `GenesisSource`'s generic parameter `G` (which was intended to be a
    runtime genesis struct).
    
    
    https://github.com/paritytech/polkadot-sdk/blob/17b56fae2d976a3df87f34076875de8c26da0355/substrate/client/chain-spec/src/chain_spec.rs#L559-L563
    michalkucharczyk authored May 27, 2024
    Configuration menu
    Copy the full SHA
    2d3a693 View commit details
    Browse the repository at this point in the history

Commits on May 28, 2024

  1. Remove workspace lints from templates (#4598)

    This detaches the templates from monorepo's workspace lints, so the
    lints for the templates can evolve separately as needed.
    
    Currently the templates [re-use the monorepo's
    lints](https://github.com/paritytech/polkadot-sdk-minimal-template/blob/bd8afe66ec566d61f36b0e3d731145741a9e9e19/Cargo.toml#L16-L43)
    which looks weird.
    
    cc @kianenigma @gupnik
    rzadp authored May 28, 2024
    Configuration menu
    Copy the full SHA
    09f07d5 View commit details
    Browse the repository at this point in the history
  2. Add availability-recovery from systematic chunks (#1644)

    **Don't look at the commit history, it's confusing, as this branch is
    based on another branch that was merged**
    
    Fixes #598 
    Also implements [RFC
    #47](polkadot-fellows/RFCs#47)
    
    ## Description
    
    - Availability-recovery now first attempts to request the systematic
    chunks for large POVs (which are the first ~n/3 chunks, which can
    recover the full data without doing the costly reed-solomon decoding
    process). This has a fallback of recovering from all chunks, if for some
    reason the process fails. Additionally, backers are also used as a
    backup for requesting the systematic chunks if the assigned validator is
    not offering the chunk (each backer is only used for one systematic
    chunk, to not overload them).
    - Quite obviously, recovering from systematic chunks is much faster than
    recovering from regular chunks (4000% faster as measured on my apple M2
    Pro).
    - Introduces a `ValidatorIndex` -> `ChunkIndex` mapping which is
    different for every core, in order to avoid only querying the first n/3
    validators over and over again in the same session. The mapping is the
    one described in RFC 47.
    - The mapping is feature-gated by the [NodeFeatures runtime
    API](#2177) so that it
    can only be enabled via a governance call once a sufficient majority of
    validators have upgraded their client. If the feature is not enabled,
    the mapping will be the identity mapping and backwards-compatibility
    will be preserved.
    - Adds a new chunk request protocol version (v2), which adds the
    ChunkIndex to the response. This may or may not be checked against the
    expected chunk index. For av-distribution and systematic recovery, this
    will be checked, but for regular recovery, no. This is backwards
    compatible. First, a v2 request is attempted. If that fails during
    protocol negotiation, v1 is used.
    - Systematic recovery is only attempted during approval-voting, where we
    have easy access to the core_index. For disputes and collator
    pov_recovery, regular chunk requests are used, just as before.
    
    ## Performance results
    
    Some results from subsystem-bench:
    
    with regular chunk recovery: CPU usage per block 39.82s
    with recovery from backers: CPU usage per block 16.03s
    with systematic recovery: CPU usage per block 19.07s
    
    End-to-end results here:
    #598 (comment)
    
    #### TODO:
    
    - [x] [RFC #47](polkadot-fellows/RFCs#47)
    - [x] merge #2177 and
    rebase on top of those changes
    - [x] merge #2771 and
    rebase
    - [x] add tests
    - [x] preliminary performance measure on Versi: see
    #598 (comment)
    - [x] Rewrite the implementer's guide documentation
    - [x] #3065 
    - [x] paritytech/zombienet#1705 and fix
    zombienet tests
    - [x] security audit
    - [x] final versi test and performance measure
    
    ---------
    
    Signed-off-by: alindima <alin@parity.io>
    Co-authored-by: Javier Viola <javier@parity.io>
    alindima and pepoviola authored May 28, 2024
    Configuration menu
    Copy the full SHA
    523e625 View commit details
    Browse the repository at this point in the history
  3. [subsytem-bench] Remove redundant banchmark_name param (#4540)

    Fixes #3601
    
    Since we print benchmark results manually, we don't need to save
    benchmark_name anywhere, better just put the name inside `println!`.
    AndreiEres authored May 28, 2024
    Configuration menu
    Copy the full SHA
    3bf283f View commit details
    Browse the repository at this point in the history
  4. nits

    gpestana committed May 28, 2024
    Configuration menu
    Copy the full SHA
    bcda9a7 View commit details
    Browse the repository at this point in the history
  5. [CI] Deny adding git deps (#4572)

    Adds a small CI check to match the existing Git deps agains a known-bad
    list.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored May 28, 2024
    Configuration menu
    Copy the full SHA
    6ed0200 View commit details
    Browse the repository at this point in the history
  6. Conditional required checks (#4544)

    Workaround for skipped but `required` github checks. The idea is to
    trigger the workflow but filter out unaffected jobs or steps. See [ci_cd
    998](paritytech/ci_cd#988) for details
    
    In `.github/workflows/check-changed-files.yml` there is a reusable
    workflow thad does all the checks and publishes results as outputs.
    Example usage:
    ```
    jobs:
      changes:
        permissions:
          pull-requests: read
        uses: ./.github/workflows/check-changed-files.yml
      some-job:
        needs: changes
        if: ${{ needs.changes.outputs.rust }}
     ....... 
     ```
    AndWeHaveAPlan authored May 28, 2024
    Configuration menu
    Copy the full SHA
    ea46ad5 View commit details
    Browse the repository at this point in the history
  7. Improve On_demand_assigner events (#4339)

    title: Improving `on_demand_assigner` emitted events
    
    doc:
      - audience: Rutime User
    description: OnDemandOrderPlaced event that is useful for indexers to
    save data related to on demand orders. Check [discussion
    here](https://substrate.stackexchange.com/questions/11366/ondemandassignmentprovider-ondemandorderplaced-event-was-removed/11389#11389).
    
    Closes #4254 
    
    crates: [ 'runtime-parachain]
    
    ---------
    
    Co-authored-by: Maciej <maciej.zyszkiewicz@parity.io>
    bolajahmad and Overkillus authored May 28, 2024
    Configuration menu
    Copy the full SHA
    650b124 View commit details
    Browse the repository at this point in the history
  8. Add metric to measure the time it takes to gather enough assignments (#…

    …4587)
    
    To understand with high granularity how many assignment tranches are
    triggered before we concur that we have enough assignments.
    
    This metric is important because the triggering of an assignment creates
    a lot of work in the system for approving the candidate and gossiping
    the necessary messages.
    
    ---------
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    Co-authored-by: ordian <write@reusable.software>
    alexggh and ordian authored May 28, 2024
    Configuration menu
    Copy the full SHA
    ad22fa6 View commit details
    Browse the repository at this point in the history
  9. parachain-inherent: Make para_id more prominent (#4555)

    This should make it more obvious that at instantiation of the
    `MockValidationDataInherentDataProvider` the `para_id` needs to be
    passed.
    bkchr authored May 28, 2024
    Configuration menu
    Copy the full SHA
    2b1c606 View commit details
    Browse the repository at this point in the history
  10. Filter workspace dependencies in the templates (#4599)

    This detaches the templates from monorepo's workspace dependencies.
    
    Currently the templates [re-use the monorepo's
    dependencies](https://github.com/paritytech/polkadot-sdk-minimal-template/blob/bd8afe66ec566d61f36b0e3d731145741a9e9e19/Cargo.toml#L45-L58),
    most of which are not needed.
    
    The simplest approach is to specify versions directly and not use
    workspace dependencies in the templates.
    
    Another approach would be to programmatically filter dependencies that
    are actually needed - but not sure if it's worth it, given that it would
    complicate the synchronization job.
    
    cc @kianenigma @gupnik
    rzadp authored May 28, 2024
    Configuration menu
    Copy the full SHA
    d6cf147 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Moves runtime macro out of experimental flag (#4249)

    Step in #3688
    
    Now that the `runtime` macro (Construct Runtime V2) has been
    successfully deployed on Westend, this PR moves it out of the
    experimental feature flag and makes it generally available for runtime
    devs.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    3 people authored May 29, 2024
    Configuration menu
    Copy the full SHA
    5f68c93 View commit details
    Browse the repository at this point in the history
  2. Add omni bencher & chain-spec-builder bins to release (#4557)

    Closes: #4354
    
    This PR adds the steps to build and attach `frame-omni-bencher` and
    `chain-spec-builder` binaries to the release draft
    
    ## TODO
    - [x] add also chain-spec-builder binary
    - [ ] ~~check/investigate Kian's comment: `chain spec builder. Ideally I
    want it to match the version of the sp-genesis-builder crate`~~ see
    [comment](#4518 (comment))
    - [ ] Backport to `polkadot-sdk@1.11` release, so we can use it for next
    fellows release: polkadot-fellows/runtimes#324
    - [ ] Backport to `polkadot-sdk@1.12` release
    
    ---------
    
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    EgorPopelyaev and bkontur authored May 29, 2024
    Configuration menu
    Copy the full SHA
    89604da View commit details
    Browse the repository at this point in the history
  3. Publish chain-spec-builder (#4518)

    marking it as release-able, attaching the same version number that is
    attached to other binaries such as `polkadot` and `polkadot-parachain`.
    
    I have more thoughts about the version number, though. The chain-spec
    builder is mainly a user of the `sp-genesis-builder` api. So the
    versioning should be such that it helps users know give a version of
    `sp-genesis-builder` in their runtime, which version of
    `chain-spec-builder` should they use?
    
    With this, we can possibly alter the version number to always match
    `sp-genesis-builder`.
    
    Fixes #4352
    
    - [x] Add to release artifacts ~~similar to
    #4405 done here:
    #4557
    
    ---------
    
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    kianenigma and bkontur authored May 29, 2024
    Configuration menu
    Copy the full SHA
    dfcfa4a View commit details
    Browse the repository at this point in the history
  4. Update README.md (#4623)

    Minor edit to a broken link for Rust Docs on the README.md
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    joshuacheong and kianenigma authored May 29, 2024
    Configuration menu
    Copy the full SHA
    aa32faa View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6613c41 View commit details
    Browse the repository at this point in the history
  6. Change XcmDryRunApi::dry_run_extrinsic to take a call instead (#4621)

    Follow-up to the new `XcmDryRunApi` runtime API introduced in
    #3872.
    
    Taking an extrinsic means the frontend has to sign first to dry-run and
    once again to submit.
    This is bad UX which is solved by taking an `origin` and a `call`.
    This also has the benefit of being able to dry-run as any account, since
    it needs no signature.
    
    This is a breaking change since I changed `dry_run_extrinsic` to
    `dry_run_call`, however, this API is still only on testnets.
    The crates are bumped accordingly.
    
    As a part of this PR, I changed the name of the API from `XcmDryRunApi`
    to just `DryRunApi`, since it can be used for general dry-running :)
    
    Step towards #690.
    
    Example of calling the API with PAPI, not the best code, just testing :)
    
    ```ts
    // We just build a call, the arguments make it look very big though.
    const call = localApi.tx.XcmPallet.transfer_assets({
      dest: XcmVersionedLocation.V4({ parents: 0, interior: XcmV4Junctions.X1(XcmV4Junction.Parachain(1000)) }),
      beneficiary: XcmVersionedLocation.V4({ parents: 0, interior: XcmV4Junctions.X1(XcmV4Junction.AccountId32({ network: undefined, id: Binary.fromBytes(encodeAccount(account.address)) })) }),
      weight_limit: XcmV3WeightLimit.Unlimited(),
      assets: XcmVersionedAssets.V4([{
        id: { parents: 0, interior: XcmV4Junctions.Here() },
        fun: XcmV3MultiassetFungibility.Fungible(1_000_000_000_000n) }
      ]),
      fee_asset_item: 0,
    });
    // We call the API passing in a signed origin 
    const result = await localApi.apis.XcmDryRunApi.dry_run_call(
      WestendRuntimeOriginCaller.system(DispatchRawOrigin.Signed(account.address)),
      call.decodedCall
    );
    if (result.success && result.value.execution_result.success) {
      // We find the forwarded XCM we want. The first one going to AssetHub in this case.
      const xcmsToAssetHub = result.value.forwarded_xcms.find(([location, _]) => (
        location.type === "V4" &&
          location.value.parents === 0 &&
          location.value.interior.type === "X1"
          && location.value.interior.value.type === "Parachain"
          && location.value.interior.value.value === 1000
      ))!;
    
      // We can even find the delivery fees for that forwarded XCM.
      const deliveryFeesQuery = await localApi.apis.XcmPaymentApi.query_delivery_fees(xcmsToAssetHub[0], xcmsToAssetHub[1][0]);
    
      if (deliveryFeesQuery.success) {
        const amount = deliveryFeesQuery.value.type === "V4" && deliveryFeesQuery.value.value[0].fun.type === "Fungible" && deliveryFeesQuery.value.value[0].fun.value.valueOf() || 0n;
        // We store them in state somewhere.
        setDeliveryFees(formatAmount(BigInt(amount)));
      }
    }
    ```
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    franciscoaguirre and bkchr authored May 29, 2024
    Configuration menu
    Copy the full SHA
    d5053ac View commit details
    Browse the repository at this point in the history
  7. Broker new price adapter (#4521)

    Fixes #4360 
    
    Also rename: AllowedRenewals -> PotentialRenewals to avoid confusion of
    future readers. (An entry in `AllowedRenewals` is not enough to allow a
    renewal, the assignment also has to be complete, which is only checked
    afterwards.)
    
    - [x] Does not work with renewals as is - fix.
    - [x] More tests
    - [x] PR docs
    
    Edit 1:
    (Relevant blog post:
    https://grillapp.net/12935/agile-coretime-pricing-explained-166522?ref=29715)
    
    ---------
    
    Co-authored-by: eskimor <eskimor@no-such-url.com>
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    Co-authored-by: command-bot <>
    3 people authored May 29, 2024
    Configuration menu
    Copy the full SHA
    f4dc8d2 View commit details
    Browse the repository at this point in the history
  8. pallet-staking: Put tests behind cfg(debug_assertions) (#4620)

    Otherwise these tests are failing if you don't run with
    `debug_assertions` enabled, which happens if you run tests locally in
    release mode.
    bkchr authored May 29, 2024
    Configuration menu
    Copy the full SHA
    4ab078d View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Configuration menu
    Copy the full SHA
    bcdab07 View commit details
    Browse the repository at this point in the history
  2. small ref

    gpestana committed May 30, 2024
    Configuration menu
    Copy the full SHA
    153e06f View commit details
    Browse the repository at this point in the history
  3. Beefy client generic on aduthority Id (#1816)

    Revived version of paritytech/substrate#13311 .
    Except Signature is not generic and is dictated by AuthorityId.
    
    ---------
    
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    Co-authored-by: Robert Hambrock <roberthambrock@gmail.com>
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    4 people authored May 30, 2024
    Configuration menu
    Copy the full SHA
    bcab07a View commit details
    Browse the repository at this point in the history
  4. nits, benchs passing

    gpestana committed May 30, 2024
    Configuration menu
    Copy the full SHA
    46a80f1 View commit details
    Browse the repository at this point in the history
  5. migration docs; clippy fixes

    gpestana committed May 30, 2024
    Configuration menu
    Copy the full SHA
    3bfed97 View commit details
    Browse the repository at this point in the history
  6. Fix broken windows build (#4636)

    Fixes #4625.
    
    Specifically, the `cfg` attribute `windows` refers to the compile target
    and not the build environment, and in the case of cross-compilation, the
    build environment and target can differ. However, the line modified is
    related to documentation generation, so there should be no critical
    issue with this change.
    conr2d authored May 30, 2024
    Configuration menu
    Copy the full SHA
    d539778 View commit details
    Browse the repository at this point in the history
  7. ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…

    …=westend --target_dir=polkadot --pallet=pallet_staking
    command-bot committed May 30, 2024
    Configuration menu
    Copy the full SHA
    7fcc09b View commit details
    Browse the repository at this point in the history

Commits on May 31, 2024

  1. Adds ability to specify chain type in chain-spec-builder (#4542)

    Currently, `chain-spec-builder` only creates a spec with `Live` chain
    type. This PR adds the ability to specify it while keeping the same
    default.
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    codekitz and kianenigma authored May 31, 2024
    Configuration menu
    Copy the full SHA
    78c24ec View commit details
    Browse the repository at this point in the history
  2. Update runtime_type ref doc with the new "Associated Type Bounds" (#…

    …4624)
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    kianenigma and bkchr authored May 31, 2024
    Configuration menu
    Copy the full SHA
    71f4f5a View commit details
    Browse the repository at this point in the history
  3. collator-protocol: remove elastic-scaling-experimental feature (#4595)

    Validators already have been upgraded so they could already receive the
    new `CollationWithParentHeadData` response when fetching collation.
    However this is only sent by collators when the parachain has more than
    1 core is assigned.
    
    TODO:
    - [x] PRDoc
    
    ---------
    
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    sandreim and bkchr authored May 31, 2024
    Configuration menu
    Copy the full SHA
    0ae7219 View commit details
    Browse the repository at this point in the history
  4. Use Unlicense for templates (#4628)

    Addresses
    [this](#3155 (comment)).
    rzadp authored May 31, 2024
    Configuration menu
    Copy the full SHA
    8d8c0e1 View commit details
    Browse the repository at this point in the history
  5. Implement XcmPaymentApi and DryRunApi on all system parachains (#…

    …4634)
    
    Depends on #4621.
    
    Implemented the
    [`XcmPaymentApi`](#3607)
    and [`DryRunApi`](#3872)
    on all system parachains.
    
    More scenarios can be tested on both rococo and westend if all system
    parachains implement this APIs.
    The objective is for all XCM-enabled runtimes to implement them.
    After demonstrating fee estimation in a UI on the testnets, come the
    fellowship runtimes.
    
    Step towards #690.
    franciscoaguirre authored May 31, 2024
    Configuration menu
    Copy the full SHA
    fc6c318 View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2024

  1. Configuration menu
    Copy the full SHA
    b286d3e View commit details
    Browse the repository at this point in the history
  2. ".git/.scripts/commands/bench/bench.sh" --subcommand=pallet --runtime…

    …=westend --target_dir=polkadot --pallet=pallet_staking
    command-bot committed Jun 1, 2024
    Configuration menu
    Copy the full SHA
    b50783f View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2024

  1. Better error for missing index in CRV2 (#4643)

    Fixes #4552
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Bastian Köcher <info@kchr.de>
    codekitz and bkchr authored Jun 2, 2024
    Configuration menu
    Copy the full SHA
    f81751e View commit details
    Browse the repository at this point in the history
  2. update amforc westend and its parachain bootnodes (#4641)

    Tested each bootnode with `--reserved-only --reserved-nodes`
    tugytur authored Jun 2, 2024
    Configuration menu
    Copy the full SHA
    5779ec5 View commit details
    Browse the repository at this point in the history

Commits on Jun 3, 2024

  1. [Pools] Refactors and runtime apis for DelegateStake (#4537)

    ## Runtime Apis
    Introduces the following runtime apis to facilitate dapps and wallets in
    integrating with the `DelegateStake` functionalities of the pools
    (related: #3905). These
    apis are meant to support pool and member migration, as well as lazy
    application of pending slashes of pool members.
    
    ```rust
    fn pool_pending_slash(pool_id: PoolId) -> Balance;
    fn member_pending_slash(member: AccountId) -> Balance;
    fn pool_needs_delegate_migration(pool_id: PoolId) -> bool;
    fn member_needs_delegate_migration(member: AccountId) -> bool;
    ```
    
    ## Refactors
    - Introduces newtypes for `Agent`, `Delegator`, `Pool` and
    `[Pool]Member`. And refactors `StakeAdapter` and `DelegationInterface`
    to accept the above types. This will help make these apis typesafe
    against using wrong account type.
    - Fixing `DelegationInterface` apis to return optional (instead of
    default value if key does not exist).
    - Rename struct `Agent` that wraps `AgentLedger` to `AgentOuterLedger`
    which is clearer (naming wise) and different from the newtype `Agent`.
    - Cleaning up new Pool events (related to `Delegation` feature of pool).
    
    ---------
    
    Signed-off-by: Matteo Muraca <mmuraca247@gmail.com>
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    Signed-off-by: Adrian Catangiu <adrian@parity.io>
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Signed-off-by: divdeploy <chenguangxue@outlook.com>
    Signed-off-by: dependabot[bot] <support@github.com>
    Signed-off-by: hongkuang <liurenhong@outlook.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: gemini132 <164285545+gemini132@users.noreply.github.com>
    Co-authored-by: Matteo Muraca <56828990+muraca@users.noreply.github.com>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Alexandru Gheorghe <49718502+alexggh@users.noreply.github.com>
    Co-authored-by: Alessandro Siniscalchi <asiniscalchi@gmail.com>
    Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
    Co-authored-by: Ross Bulat <ross@parity.io>
    Co-authored-by: Serban Iorga <serban@parity.io>
    Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
    Co-authored-by: Sam Johnson <sam@durosoft.com>
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: Javier Viola <363911+pepoviola@users.noreply.github.com>
    Co-authored-by: Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
    Co-authored-by: Niklas Adolfsson <niklasadolfsson1@gmail.com>
    Co-authored-by: Dastan <88332432+dastansam@users.noreply.github.com>
    Co-authored-by: Clara van Staden <claravanstaden64@gmail.com>
    Co-authored-by: Ron <yrong1997@gmail.com>
    Co-authored-by: Vincent Geddes <vincent@snowfork.com>
    Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
    Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
    Co-authored-by: Dino Pačandi <3002868+Dinonard@users.noreply.github.com>
    Co-authored-by: Andrei Eres <eresav@me.com>
    Co-authored-by: Alin Dima <alin@parity.io>
    Co-authored-by: Andrei Sandu <andrei-mihail@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <info@kchr.de>
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    Co-authored-by: gupnik <nikhilgupta.iitk@gmail.com>
    Co-authored-by: Vladimir Istyufeev <vladimir@parity.io>
    Co-authored-by: Lulu <morgan@parity.io>
    Co-authored-by: Juan Girini <juangirini@gmail.com>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
    Co-authored-by: Kutsal Kaan Bilgin <kutsalbilgin@gmail.com>
    Co-authored-by: Ermal Kaleci <ermalkaleci@gmail.com>
    Co-authored-by: ordian <write@reusable.software>
    Co-authored-by: divdeploy <166095818+divdeploy@users.noreply.github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Sergej Sakac <73715684+Szegoo@users.noreply.github.com>
    Co-authored-by: Squirrel <gilescope@gmail.com>
    Co-authored-by: HongKuang <166261675+HongKuang@users.noreply.github.com>
    Co-authored-by: Tsvetomir Dimitrov <tsvetomir@parity.io>
    Co-authored-by: Egor_P <egor@parity.io>
    Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
    Co-authored-by: Dmitry Markin <dmitry@markin.tech>
    Co-authored-by: Alexandru Vasile <alexandru.vasile@parity.io>
    Co-authored-by: Léa Narzis <78718413+lean-apple@users.noreply.github.com>
    Co-authored-by: Gonçalo Pestana <g6pestana@gmail.com>
    Co-authored-by: georgepisaltu <52418509+georgepisaltu@users.noreply.github.com>
    Co-authored-by: command-bot <>
    Co-authored-by: PG Herveou <pgherveou@gmail.com>
    Co-authored-by: jimwfs <wqq1479787@163.com>
    Co-authored-by: jimwfs <169986508+jimwfs@users.noreply.github.com>
    Co-authored-by: polka.dom <polkadotdom@gmail.com>
    Configuration menu
    Copy the full SHA
    795bc77 View commit details
    Browse the repository at this point in the history
  2. make all storage items in parachain-system public (#4645)

    Makes all storage items in parachain-system public so that these can be
    used by other pallets &/or runtimes.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: command-bot <>
    girazoki and bkchr authored Jun 3, 2024
    Configuration menu
    Copy the full SHA
    27a5732 View commit details
    Browse the repository at this point in the history
  3. Update Amforc bootnodes for Kusama and Polkadot (#4668)

    Tested each bootnode with `--reserved-only` `--reserved-nodes`
    
    Kusama
    ```
    polkadot --chain kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/kusama.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWKvYf6qKaAF8UUDw3KsTwjHLnvkED23yxHbH3npMe8w4G" --no-hardware-benchmarks
    polkadot --chain kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/kusama.bootnode.amforc.com/tcp/30001/p2p/12D3KooWKvYf6qKaAF8UUDw3KsTwjHLnvkED23yxHbH3npMe8w4G" --no-hardware-benchmarks
    ```
    
    Asset Hub Kusama
    ```
    ./polkadot-parachain --chain asset-hub-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/asset-hub-kusama.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWHy1CPndZYphwdVqMb295KPC6LRt17Ae3zNSr7evzeF5a" --no-hardware-benchmarks
    ./polkadot-parachain --chain asset-hub-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/asset-hub-kusama.bootnode.amforc.com/tcp/30007/p2p/12D3KooWHy1CPndZYphwdVqMb295KPC6LRt17Ae3zNSr7evzeF5a" --no-hardware-benchmarks
    ```
    
    
    Bridge Hub Kusama
    ```
    ./polkadot-parachain --chain bridge-hub-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/bridge-hub-kusama.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWNyTBwRvCz1Ey2SgC1f3MvymhiAyLEa3cL8kU5gFH3V7Z" --no-hardware-benchmarks
    ./polkadot-parachain --chain bridge-hub-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/bridge-hub-kusama.bootnode.amforc.com/tcp/30010/p2p/12D3KooWNyTBwRvCz1Ey2SgC1f3MvymhiAyLEa3cL8kU5gFH3V7Z" --no-hardware-benchmarks
    ```
    
    Coretime Kusama
    ```
    ./polkadot-parachain --chain coretime-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/coretime-kusama.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWPrgxrrumrANp6Bp2SMEwMQHPHDbPzA1HbcrakZrbFi5P" --no-hardware-benchmarks
    ./polkadot-parachain --chain coretime-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/coretime-kusama.bootnode.amforc.com/tcp/30013/p2p/12D3KooWPrgxrrumrANp6Bp2SMEwMQHPHDbPzA1HbcrakZrbFi5P" --no-hardware-benchmarks
    ```
    
    People Kusama
    ```
    ./polkadot-parachain --chain people-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/people-kusama.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWPjzgKZe5jdG6TY4gwcFq8QxyyhqsYbQo6N29pwGePWLA" --no-hardware-benchmarks
    ./polkadot-parachain --chain people-kusama --base-path /tmp/node --reserved-only --reserved-nodes "/dns/people-kusama.bootnode.amforc.com/tcp/30004/p2p/12D3KooWPjzgKZe5jdG6TY4gwcFq8QxyyhqsYbQo6N29pwGePWLA" --no-hardware-benchmarks
    ```
    
    People Westend
    ```
    ./polkadot-parachain --chain people-westend --base-path /tmp/node --reserved-only --reserved-nodes "/dns/people-westend.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWE1btdwDhNpApg8BEe2QwJxdVDtz6a6BRhgTeUh9HMhWs" --no-hardware-benchmarks
    ./polkadot-parachain --chain people-westend --base-path /tmp/node --reserved-only --reserved-nodes "/dns/people-westend.bootnode.amforc.com/tcp/30016/p2p/12D3KooWE1btdwDhNpApg8BEe2QwJxdVDtz6a6BRhgTeUh9HMhWs" --no-hardware-benchmarks
    ```
    
    Polkadot
    ```
    polkadot --chain polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/polkadot.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWT2HyZx5C6BBeLbCKhYG2SqJYuiu7sLMxGzUcQBko3BMr" --no-hardware-benchmarks
    polkadot --chain polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/polkadot.bootnode.amforc.com/tcp/30001/p2p/12D3KooWT2HyZx5C6BBeLbCKhYG2SqJYuiu7sLMxGzUcQBko3BMr" --no-hardware-benchmarks
    ```
    
    Asset Hub Polkadot
    ```
    ./polkadot-parachain --chain asset-hub-polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/asset-hub-polkadot.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWDLxPXYnSHjNwq9ibqgxuzRni5VViuGNSjNe3ueqVgqE3" --no-hardware-benchmarks
    ./polkadot-parachain --chain asset-hub-polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/asset-hub-polkadot.bootnode.amforc.com/tcp/30007/p2p/12D3KooWDLxPXYnSHjNwq9ibqgxuzRni5VViuGNSjNe3ueqVgqE3" --no-hardware-benchmarks
    ```
    
    Bridge Hub Polkadot
    ```
    ./polkadot-parachain --chain bridge-hub-polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/bridge-hub-polkadot.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWGT5E56rAHfT5dY1pMLTrpAgV72yfDtD1Y5tPCHaTsifp" --no-hardware-benchmarks
    ./polkadot-parachain --chain bridge-hub-polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/bridge-hub-polkadot.bootnode.amforc.com/tcp/30010/p2p/12D3KooWGT5E56rAHfT5dY1pMLTrpAgV72yfDtD1Y5tPCHaTsifp" --no-hardware-benchmarks
    ```
    
    Collectives Polkadot
    ```
    ./polkadot-parachain --chain collectives-polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/collectives-polkadot.bootnode.amforc.com/tcp/29999/wss/p2p/12D3KooWL6v6FHMtCP5VsiDbMHLRFiW6YBtv37BarpW3hLqnDski" --no-hardware-benchmarks
    ./polkadot-parachain --chain collectives-polkadot --base-path /tmp/node --reserved-only --reserved-nodes "/dns/collectives-polkadot.bootnode.amforc.com/tcp/30013/p2p/12D3KooWL6v6FHMtCP5VsiDbMHLRFiW6YBtv37BarpW3hLqnDski" --no-hardware-benchmarks
    ```
    tugytur authored Jun 3, 2024
    Configuration menu
    Copy the full SHA
    63f0cbf View commit details
    Browse the repository at this point in the history
  4. Add chain-spec-builder docker image (#4655)

    This PR adds possibility to publish container images for the
    `chain-spec-builder` binary on the regular basis.
    Related to: paritytech/release-engineering#190
    EgorPopelyaev authored Jun 3, 2024
    Configuration menu
    Copy the full SHA
    f66e693 View commit details
    Browse the repository at this point in the history
  5. nits for voter update mode

    gpestana committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    05c0d0e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4962491 View commit details
    Browse the repository at this point in the history
  7. Merge branch 'gpestana/stake-tracker_integration' into gpestana/stake…

    …-tracker_integration-ext
    gpestana committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    5c6a35f View commit details
    Browse the repository at this point in the history
  8. nit fix after merge master

    gpestana committed Jun 3, 2024
    Configuration menu
    Copy the full SHA
    17705b8 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    80f4c23 View commit details
    Browse the repository at this point in the history