Skip to content
Snippets Groups Projects
  1. Aug 28, 2024
    • dependabot[bot]'s avatar
      Bump blake2b_simd from 1.0.1 to 1.0.2 (#5404) · 94237181
      dependabot[bot] authored
      
      Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd) from
      1.0.1 to 1.0.2.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/oconnor663/blake2_simd/commit/1dfcf325200cf281d9313ae79734c828d914d241"><code>1dfcf32</code></a>
      version 1.0.2</li>
      <li><a
      href="https://github.com/oconnor663/blake2_simd/commit/b66d6b5124e7568bbb92f8a1f22e043ac8cded25"><code>b66d6b5</code></a>
      Bump constant_time_eq to 0.3 and MSRV to 1.66</li>
      <li><a
      href="https://github.com/oconnor663/blake2_simd/commit/d9ce189cb98e00b0a0653d8a9586ff12e5774202"><code>d9ce189</code></a>
      stop using MIPS for big-endian testing</li>
      <li><a
      href="https://github.com/oconnor663/blake2_simd/commit/9d338b55992a5e6a0411e2da7153ec654f70b213"><code>9d338b5</code></a>
      use <code>avoid-dev-deps</code> for the MSRV test</li>
      <li><a
      href="https://github.com/oconnor663/blake2_simd/commit/c347f493365a82bc4472a05609c68a1152439b44"><code>c347f49</code></a>
      update the assert_cmd test dependency to v2.0.8</li>
      <li>See full diff in <a
      href="https://github.com/oconnor663/blake2_simd/compare/1.0.1...1.0.2">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=blake2b_simd&package-manager=cargo&previous-version=1.0.1&new-version=1.0.2)](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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      94237181
    • dependabot[bot]'s avatar
      Bump rustversion from 1.0.14 to 1.0.17 (#5405) · f7e0ecc5
      dependabot[bot] authored
      
      Bumps [rustversion](https://github.com/dtolnay/rustversion) from 1.0.14
      to 1.0.17.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/rustversion/releases">rustversion's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.17</h2>
      <ul>
      <li>Support Windows builds that have OUT_DIR prefixed with
      <code>\\?\</code> (<a
      href="https://redirect.github.com/dtolnay/rustversion/issues/51">#51</a>)</li>
      </ul>
      <h2>1.0.16</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/dtolnay/rustversion/issues/48">#48</a>)</li>
      </ul>
      <h2>1.0.15</h2>
      <ul>
      <li>Recognize $RUSTC_WRAPPER environment variable (<a
      href="https://redirect.github.com/dtolnay/rustversion/issues/47">#47</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/adb11fa32295a5d3df7b742e545f4e9b776f9bb3"><code>adb11fa</code></a>
      Release 1.0.17</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/875982000ea11f59a67564bf34c6f3255935b6e2"><code>8759820</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/rustversion/issues/51">#51</a>
      from dtolnay/windows</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/cfafcd5906e6020ae67014e33a84446824301c95"><code>cfafcd5</code></a>
      Support OUT_DIR located in \?\ path on Windows</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/c7bc274d96fbde0fe3b3fd5a4a9ea1e0215b0ddb"><code>c7bc274</code></a>
      Release 1.0.16</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/746bf5af0dc5423574982ba2f479190b643c98fe"><code>746bf5a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/rustversion/issues/48">#48</a>
      from dtolnay/checkcfg</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/84f01fa8d731c51842848a4e4d27750cefd879e0"><code>84f01fa</code></a>
      Resolve unexpected_cfgs warning</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/70ca5ad8a2aba79053be803a4e70156b46e44028"><code>70ca5ad</code></a>
      Release 1.0.15</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/0fa74f583b1fff92ed6f48acad6509428f44ed1a"><code>0fa74f5</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/rustversion/issues/47">#47</a>
      from dtolnay/rustcwrapper</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/51f46e2d2281dce75a8e4d46c0ed55f2ae3c4e33"><code>51f46e2</code></a>
      Apply RUSTC_WRAPPER</li>
      <li><a
      href="https://github.com/dtolnay/rustversion/commit/df7e51d0f01e06b2212c96f26cd04af5c59e1e39"><code>df7e51d</code></a>
      Explicitly install a Rust toolchain for cargo-outdated job</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/rustversion/compare/1.0.14...1.0.17">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustversion&package-manager=cargo&previous-version=1.0.14&new-version=1.0.17)](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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      f7e0ecc5
    • Serban Iorga's avatar
      polkadot-parachain: Add omni-node variant with u64 block number (#5269) · c4ced11f
      Serban Iorga authored
      Related to https://github.com/paritytech/polkadot-sdk/issues/4787
      
      The main changes in this PR are the following:
      - making the NodeSpec logic generic on the Block type
      - adding an omni-node variant with u64 block number
      
      Apart from this, the PR also moves some of the logic in `service.rs` to
      the `common` subfolder
      
      The omni-node variant with u64 block number is not used yet. We have to
      either expose the option in the CLI or to read the block number from the
      chain spec somehow. Will do it in a future PR.
      c4ced11f
    • PG Herveou's avatar
    • Niklas Adolfsson's avatar
      rpc server: listen to `ipv6 socket` if available and... · 09254eb9
      Niklas Adolfsson authored
      rpc server: listen to `ipv6 socket` if available and `--experimental-rpc-endpoint` CLI option (#4792)
      
      Close https://github.com/paritytech/polkadot-sdk/issues/3488,
      https://github.com/paritytech/polkadot-sdk/issues/4331
      
      This changes/adds the following:
      
      1. The default setting is that substrate starts a rpc server that
      listens to localhost both Ipv4 and Ipv6 on the same port. Ipv6 is
      allowed to fail because some platforms may not support it
      2. A new RPC CLI option `--experimental-rpc-endpoint` which allow to
      configure arbitrary listen addresses including the port, if this is
      enabled no other interfaces are enabled.
      3. If the local addr is not found for any of the sockets the server is
      not started throws an error.
      4. Remove the deny_unsafe from the RPC implementations instead this is
      an extension to allow different polices for different interfaces/sockets
      such one may enable unsafe on local interface and safe on only the
      external interface.
      
      So for instance in this PR it's now possible to start up three RPC
      endpoints as follows:
      ```
      $ polkadot --experimental-rpc-endpoint "listen-addr=127.0.0.1:9944,rpc-methods=unsafe" --experimental-rpc-endpoint "listen-addr=0.0.0.0:9945,rpc-methods=safe,rate-limit=100" --experimental-rpc-endpoint "listen-addr=[::1]:9944,optional=true"
      ```
      
      #### Needs to be addressed
      
      ~1. Support binding to a random port if it's fails with the default
      stuff for backward compatible reasons~
      ~2. How to sync that the rpc CLI params and that the rpc-listen-addr
      align, hard to maintain...~
      ~3. Add similar warning prints for exposing unsafe methods on external
      interfaces..~
      ~4. Inline todos + the hacky String conversion from rpc params.~
      
      #### Cons with this PR
      
      Manual strings parsing impl more error-prone than relying on clap....
      
      //cc @jsdw @BulatSaif @PierreBesson @bkchr
      
      
      
      ---------
      
      Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
      09254eb9
  2. Aug 27, 2024
    • Oliver Tale-Yazdi's avatar
      frame-omni-bencher maintenance (#5466) · 7e7c3345
      Oliver Tale-Yazdi authored
      
      Changes:
      - Set default level to `Info` again. Seems like a dependency update set
      it to something higher.
      - Fix docs to not use `--locked` since we rely on dependency bumps via
      cargo.
      - Add README with rust docs.
      - Fix bug where the node ignored `--heap-pages` argument.
      
      You can test the `--heap-pages` bug by running this command on master
      and then on this branch. Note that it should fail because of the very
      low heap pages arg:
      `cargo run --release --bin polkadot --features=runtime-benchmarks --
      benchmark pallet --chain=dev --steps=10 --repeat=30
      --wasm-execution=compiled --heap-pages=8 --pallet=frame-system
      --extrinsic="*"`
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarggwpez <ggwpez@users.noreply.github.com>
      7e7c3345
  3. Aug 23, 2024
    • Alexander Theißen's avatar
      Add initial version of `pallet_revive` (#5293) · 559fa1db
      Alexander Theißen authored
      This is a heavily modified and stripped down version of
      `pallet_contracts`. We decided to fork instead of extend the old pallet.
      Reasons for that are:
      
      - There is no benefit of supporting both on the same pallet as the
      intended payload for the new pallet (recompiled YUL) will be using a
      different ABI.
      - It is much easier since it allows us to remove all the code that was
      necessary to support Wasm and focus fully on running cross compiled YUL
      contracts.
      
      **The code is reviewable but can't be merged because it depends on an
      unreleased version of PolkaVM via git.**
      
      ## Current state
      
      All tests are passing and the code is not quick and dirty but written to
      last. The work is not finished, though. It is included in the
      `kitchensink-runtime` and a node can be built. However, we merge early
      in order to be able to start testing other components as early as
      possible.
      
      Outstanding changes are tracked here and will be merged separately:
      https://github.com/paritytech/polkadot-sdk/issues/5308
      
      ## Syscall Interface
      
      The syscall interface is best explored by generating the docs of this
      crate and looking at the `SyscallDoc` trait. Arguments are passed in
      registers a0-a5 in the order they are listed. If there are more than 6
      arguments (call, instantiate) a pointer to a packed struct of the
      arguments is expected as the only argument. I plan to create variants of
      those syscalls with less arguments specifically for YUL.
      
      Functions are just referenced by their name as ASCII within the PolkaVM
      container. Rather than by a syscall number as it was the case in the
      last implementation.
       
      
      ## Changes vs. `pallet_contracts`
      
      The changes are too numerous to list them all here. This is an
      incomplete list:
      
      - Use PolkaVM instead of wasmi to execute contracts
      - Made Runtime generic over a new `Memory` trait as we can't map memory
      directly on PolkaVM anymore
      - No static verification on code upload. Everything is a determinstic
      runtime failure
      - Removed all migrations and reset the pallet version
      - Removed the nonce storage item and instead use the deployers account
      nonce to generate a unique trie
      - We now bump the deployers account nonce on contract instantiation to
      they are bumped even within a batch transaction
      - Removed the instantiation nonce host function: We should add a new
      `instantiate` variant as a replacement for thos
      - ContractInfoOf of uses the indentity hasher now
      - Remove the determinism feature: User of that feature should switch to
      soft floats
      - The `unstable` attribute has been replaced by a `api_version`
      attribute to declare at which version an API became available
      	- leaving out that attribute makes the API effectively unstable
      - a new `api_version` field on the CodeInfo makes sure that old
      contracts can't access new APIs (necessary due to lack of static
      verification.
      - Added a `behaviour_version` field to CodeInfo that can used if we need
      to introduce breaking changes and keep the old behaviour for existing
      contracts
      - Unified storage vs. transient and fixed vs. variable sized keys all
      into one set of multiplexing host functions
      - Removed all contract observeable limits from the `Config` trait and
      instead hardcode them
      - Removed the Schedule
      - Removed all deprecated host functions
      - Simplify chain extension as preperation for making it a pre-compile
      
      ---------
      
      Co-authored-by: command-bot <>
      559fa1db
  4. Aug 21, 2024
  5. Aug 16, 2024
    • Przemek Rzad's avatar
      Remove redundant minimal template workspace (#5330) · 74267881
      Przemek Rzad authored
      This removes the workspace of the minimal template, which (I think) is
      redundant. The other two templates do not have such a workspace.
      
      The synchronized template created [it's own
      workspace](https://github.com/paritytech/polkadot-sdk-minimal-template/blob/master/Cargo.toml)
      anyway, and the new readme replaced the old docs contained in `lib.rs`.
      
      Closes
      https://github.com/paritytech/polkadot-sdk-minimal-template/issues/11
      
      Silent because the crate was private.
      74267881
  6. Aug 15, 2024
    • Przemek Rzad's avatar
      Update links in the documentation (#5175) · b5029eb4
      Przemek Rzad authored
      - Where applicable, use a regular [`reference`] instead of
      `../../../reference/index.html`.
      - Typos.
      - Update a link to `polkadot-evm` which has moved out of the monorepo.
      - ~~The link specification for `chain_spec_builder` is invalid~~
      (actually it was valid) - it works fine without it.
      
      Part of https://github.com/paritytech/eng-automation/issues/10
      b5029eb4
    • dependabot[bot]'s avatar
      Bump trie-db from 0.29.0 to 0.29.1 (#5231) · e91f1463
      dependabot[bot] authored
      
      Bumps [trie-db](https://github.com/paritytech/trie) from 0.29.0 to
      0.29.1.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/paritytech/trie/commit/48fcfa99c439949f55d29762e35f8793113edc91"><code>48fcfa9</code></a>
      memory-db: update parity-util-mem (<a
      href="https://redirect.github.com/paritytech/trie/issues/166">#166</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/02b030a24bc60d46ed7f156888bdbbed6498b216"><code>02b030a</code></a>
      Prepare trie-db 0.24.0 release (<a
      href="https://redirect.github.com/paritytech/trie/issues/163">#163</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/aff1cbac8f03e8dc7533263b374dc0fcd17444ad"><code>aff1cba</code></a>
      Introduce trie level cache &amp; recorder (<a
      href="https://redirect.github.com/paritytech/trie/issues/157">#157</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/aa3168d6de01793e71ebd906d3a82ae4b363db59"><code>aa3168d</code></a>
      Bump actions/checkout from 2 to 3 (<a
      href="https://redirect.github.com/paritytech/trie/issues/160">#160</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/d597275768f4796417c7fc9f8ad64f9b26be14d8"><code>d597275</code></a>
      Add GHA to dependabot and CODEOWNERS (<a
      href="https://redirect.github.com/paritytech/trie/issues/159">#159</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/5c9267c1133000aa41a5983d8acd6d0968ab8032"><code>5c9267c</code></a>
      test prefix seek more precisely (<a
      href="https://redirect.github.com/paritytech/trie/issues/158">#158</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/f64e1b0a8ced1b4b574d2b705202bf790d4394e4"><code>f64e1b0</code></a>
      Do not check for root in <code>TrieDB</code> and <code>TrieDBMut</code>
      constructors (<a
      href="https://redirect.github.com/paritytech/trie/issues/155">#155</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/8d5b8675fcc8ecc8648206d08f2e4c06ab489593"><code>8d5b867</code></a>
      Update dependencies. (<a
      href="https://redirect.github.com/paritytech/trie/issues/154">#154</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/fac100cbf49c197c49d102f12040bccbfa38827e"><code>fac100c</code></a>
      Adding support for eip-1186 proofs (<a
      href="https://redirect.github.com/paritytech/trie/issues/146">#146</a>)</li>
      <li><a
      href="https://github.com/paritytech/trie/commit/2e1541e44989f24cec5dbe3081c7cecf00d8b509"><code>2e1541e</code></a>
      Fix hex trace output (<a
      href="https://redirect.github.com/paritytech/trie/issues/153">#153</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/paritytech/trie/compare/trie-db-v0.29.0...reference-trie-v0.29.1">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=trie-db&package-manager=cargo&previous-version=0.29.0&new-version=0.29.1)](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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      e91f1463
    • Ankan's avatar
      [Pools] fix derivation of pool account (#4999) · ebf4f8d2
      Ankan authored
      
      closes https://github.com/paritytech-secops/srlabs_findings/issues/408.
      This fixes how ProxyDelegator accounts are derived but may cause issues
      in Westend since it would use the old derivative accounts. Does not
      affect Polkadot/Kusama as this pallet is not deployed to them yet.
      
      ---------
      
      Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
      ebf4f8d2
  7. Aug 14, 2024
    • Bastian Köcher's avatar
      53f42749
    • Serban Iorga's avatar
      Beefy: add benchmarks for `report_fork_voting()` (#5188) · 81d8f0c0
      Serban Iorga authored
      
      Related to #4523 
      
      This PR adds benchmarks for `report_fork_voting()`.
      
      **Important: Even though the benchmarks are now available, we still use
      `Weight::MAX`. That's because I realized while working on this PR that
      there's still one missing piece. We should also check that the ancestry
      proof is optimal. I plan to do this in a future PR, hopefully the last
      one related to #4523.**
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: command-bot <>
      81d8f0c0
    • Adrian Catangiu's avatar
      [tests] dedup test code, add more tests, improve naming and docs (#5338) · e4f8a6de
      Adrian Catangiu authored
      This is mostly tests cleanup:
      - uses helper macro for generating teleport tests,
      - adds missing treasury tests,
      - improves naming and docs for transfer tests.
      
      - [x] does not need a PRDOC
      
      ---------
      
      Co-authored-by: command-bot <>
      e4f8a6de
    • Francisco Aguirre's avatar
      Migrate foreign assets v3::Location to v4::Location (#4129) · be74fe92
      Francisco Aguirre authored
      
      In the move from XCMv3 to XCMv4, the `AssetId` for `ForeignAssets` in
      `asset-hub-rococo` and `asset-hub-westend` was left as `v3::Location` to
      be later migrated to `v4::Location`.
      
      This is that migration PR.
      
      Because the encoding of `v3::Location` and `v4::Location` is the same,
      we don't need to do any data migration, the keys will still be
      decodable.
      The [original idea by
      Jan](https://github.com/paritytech/polkadot/pull/7236) was to make the
      v4 changes in v3 since the ABI (the encoding/decoding) didn't change.
      Corroborated the ABI is the same iterating over all storage, the code is
      on [another
      branch](https://github.com/paritytech/polkadot-sdk/blob/cisco-assert-v3-v4-encodings-equal/cumulus/parachains/runtimes/assets/migrations/src/foreign_assets_to_v4/mod.rs).
      
      We will need a data migration when we want to update from `v4::Location`
      to `v5::Location` because of [the accepted RFC changing the NetworkId
      enum](https://github.com/polkadot-fellows/RFCs/pull/108).
      I'll configure MBMs (Multi-Block Migrations) then and make the actual
      migration.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/4128
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: command-bot <>
      be74fe92
  8. Aug 13, 2024
    • Branislav Kontur's avatar
    • dependabot[bot]'s avatar
      Bump libp2p-identity from 0.2.8 to 0.2.9 (#5232) · c5f6b700
      dependabot[bot] authored
      
      Bumps [libp2p-identity](https://github.com/libp2p/rust-libp2p) from
      0.2.8 to 0.2.9.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/libp2p/rust-libp2p/releases">libp2p-identity's
      releases</a>.</em></p>
      <blockquote>
      <h2>libp2p-v0.53.2</h2>
      <p>See individual <a
      href="https://github.com/libp2p/rust-libp2p/blob/HEAD/CHANGELOG.md">changelogs</a>
      for details.</p>
      <h2>libp2p-v0.53.1</h2>
      <p>See individual <a
      href="https://github.com/libp2p/rust-libp2p/blob/HEAD/CHANGELOG.md">changelogs</a>
      for details.</p>
      <h2>libp2p-v0.53.0</h2>
      <p>The most ergonomic version of rust-libp2p yet!</p>
      <p>We've been busy again, with over <a
      href="https://github.com/libp2p/rust-libp2p/compare/libp2p-v0.52.0...master">250</a>
      PRs being merged into <code>master</code> since <code>v0.52.0</code>
      (excluding dependency updates).</p>
      <h2>Backwards-compatible features</h2>
      <p>Numerous improvements landed as patch releases since the
      <code>v0.52.0</code> release, for example a new, type-safe <a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4120"><code>SwarmBuilder</code></a>
      that also encompasses the most common transport protocols:</p>
      <pre lang="rust"><code>let mut swarm =
      libp2p::SwarmBuilder::with_new_identity()
          .with_tokio()
          .with_tcp(
              tcp::Config::default().port_reuse(true).nodelay(true),
              noise::Config::new,
              yamux::Config::default,
          )?
          .with_quic()
          .with_dns()?
          .with_relay_client(noise::Config::new, yamux::Config::default)?
          .with_behaviour(|keypair, relay_client| Behaviour {
              relay_client,
              ping: ping::Behaviour::default(),
              dcutr: dcutr::Behaviour::new(keypair.public().to_peer_id()),
          })?
          .build();
      </code></pre>
      <p>The new builder makes heavy use of the type-system to guide you
      towards a correct composition of all transports. For example, it is
      important to compose the DNS transport as a wrapper around all other
      transports but before the relay transport. Luckily, you no longer need
      to worry about these details as the builder takes care of that for you!
      Have a look yourself if you dare <a
      href="https://github.com/libp2p/rust-libp2p/tree/master/libp2p/src/builder">here</a>
      but be warned, the internals are a bit wild :)</p>
      <p>Some more features that we were able to ship in <code>v0.52.X</code>
      patch-releases include:</p>
      <ul>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4325">stable
      QUIC implementation</a></li>
      <li>for rust-libp2p compiled to WASM running in the browser
      <ul>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4015">WebTransport
      support</a></li>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4248">WebRTC
      support</a></li>
      </ul>
      </li>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4156">UPnP
      implementation to automatically configure port-forwarding with ones
      gateway</a></li>
      <li><a
      href="https://redirect.github.com/libp2p/rust-libp2p/pull/4281">option
      to limit connections based on available memory</a></li>
      </ul>
      <p>We always try to ship as many features as possible in a
      backwards-compatible way to get them to you faster. Often times, these
      come with deprecations to give you a heads-up about what will change in
      a future version. We advise updating to each intermediate version rather
      than skipping directly to the most recent one, to avoid missing any
      crucial deprecation warnings. We highly recommend you stay up-to-date
      with the latest version to make upgrades as smooth as possible.</p>
      <p>Some improvments we unfortunately cannot ship in a way that Rust
      considers a non-breaking change but with every release, we attempt to
      smoothen the way for future upgrades.</p>
      <h2><code>#[non_exhaustive]</code> on key enums</h2>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li>See full diff in <a
      href="https://github.com/libp2p/rust-libp2p/commits">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libp2p-identity&package-manager=cargo&previous-version=0.2.8&new-version=0.2.9)](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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      c5f6b700
  9. Aug 12, 2024
    • dependabot[bot]'s avatar
      Bump the known_good_semver group across 1 directory with 3 updates (#5315) · 79e9aa58
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 2 updates in the / directory:
      [serde](https://github.com/serde-rs/serde) and
      [serde_json](https://github.com/serde-rs/json).
      
      Updates `serde` from 1.0.204 to 1.0.206
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.206</h2>
      <ul>
      <li>Improve support for <code>flatten</code> attribute inside of enums
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      </ul>
      <h2>v1.0.205</h2>
      <ul>
      <li>Use serialize_entry instead of serialize_key + serialize_value when
      serialize flattened newtype enum variants (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2785">#2785</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Avoid triggering a collection_is_never_read lint in the
      deserialization of enums containing flattened fields (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2791">#2791</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/85c73ef8dea8966d88a03876e6f0dc9359e68cc9"><code>85c73ef</code></a>
      Release 1.0.206</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/5ba1796a7e639839d4e18c3ae23b9bb32b0700b5"><code>5ba1796</code></a>
      Resolve doc_markdown pedantic lint on regression test function</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/e52b7b380f88e0112c9f84e6258bdd34ad132352"><code>e52b7b3</code></a>
      Touch up PR 2567</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/84c7419652161bf88f88eb26302b26debfff8a8c"><code>84c7419</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2794">#2794</a>
      from dtolnay/neverread</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/536221b1f93a5dcf97352c7d1e3b93a5a56bf747"><code>536221b</code></a>
      Temporarily ignore collection_is_never_read on
      FlattenSkipDeserializing</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/fc55ac70d34221b38672b1583e496011fbae92aa"><code>fc55ac7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>
      from Mingun/fix-2565</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/2afe5b4ef9d0e89587ec564eadbc7583fd1f0673"><code>2afe5b4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2792">#2792</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b4ec2595c9dd8e380227043eba42ff85beb780c2"><code>b4ec259</code></a>
      Correctly process flatten fields in enum variants</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/c3ac7b675a38a73170879992976acb0009834ac0"><code>c3ac7b6</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/1904">#1904</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/24614e44bff5466057e46c55394bac3ae20142c4"><code>24614e4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2565">#2565</a></li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.206">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_derive` from 1.0.204 to 1.0.206
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde_derive's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.206</h2>
      <ul>
      <li>Improve support for <code>flatten</code> attribute inside of enums
      (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      </ul>
      <h2>v1.0.205</h2>
      <ul>
      <li>Use serialize_entry instead of serialize_key + serialize_value when
      serialize flattened newtype enum variants (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2785">#2785</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Avoid triggering a collection_is_never_read lint in the
      deserialization of enums containing flattened fields (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2791">#2791</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/85c73ef8dea8966d88a03876e6f0dc9359e68cc9"><code>85c73ef</code></a>
      Release 1.0.206</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/5ba1796a7e639839d4e18c3ae23b9bb32b0700b5"><code>5ba1796</code></a>
      Resolve doc_markdown pedantic lint on regression test function</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/e52b7b380f88e0112c9f84e6258bdd34ad132352"><code>e52b7b3</code></a>
      Touch up PR 2567</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/84c7419652161bf88f88eb26302b26debfff8a8c"><code>84c7419</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2794">#2794</a>
      from dtolnay/neverread</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/536221b1f93a5dcf97352c7d1e3b93a5a56bf747"><code>536221b</code></a>
      Temporarily ignore collection_is_never_read on
      FlattenSkipDeserializing</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/fc55ac70d34221b38672b1583e496011fbae92aa"><code>fc55ac7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2567">#2567</a>
      from Mingun/fix-2565</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/2afe5b4ef9d0e89587ec564eadbc7583fd1f0673"><code>2afe5b4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2792">#2792</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b4ec2595c9dd8e380227043eba42ff85beb780c2"><code>b4ec259</code></a>
      Correctly process flatten fields in enum variants</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/c3ac7b675a38a73170879992976acb0009834ac0"><code>c3ac7b6</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/1904">#1904</a></li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/24614e44bff5466057e46c55394bac3ae20142c4"><code>24614e4</code></a>
      Add regression test for issue <a
      href="https://redirect.github.com/serde-rs/serde/issues/2565">#2565</a></li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.204...v1.0.206">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.121 to 1.0.124
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/json/releases">serde_json's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.124</h2>
      <ul>
      <li>Fix a bug in processing string escapes in big-endian architectures
      (<a
      href="https://redirect.github.com/serde-rs/json/issues/1173">#1173</a>,
      thanks <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>)</li>
      </ul>
      <h2>v1.0.123</h2>
      <ul>
      <li>Optimize string parsing by applying SIMD-within-a-register: 30.3%
      improvement on <a
      href="https://github.com/miloyip/nativejson-benchmark/blob/v1.0.0/data/twitter.json">twitter.json</a>
      from 613 MB/s to 799 MB/s (<a
      href="https://redirect.github.com/serde-rs/json/issues/1161">#1161</a>,
      thanks <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>)</li>
      </ul>
      <h2>v1.0.122</h2>
      <ul>
      <li>Support using <code>json!</code> in no-std crates (<a
      href="https://redirect.github.com/serde-rs/json/issues/1166">#1166</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/cf771a0471dd797b6fead77e767f2f7943740c98"><code>cf771a0</code></a>
      Release 1.0.124</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8b314a77bf57ad8d6089536fea1b3c3b303cba92"><code>8b314a7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1173">#1173</a>
      from iex-rs/fix-big-endian</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8eba7863b126584f4b9a5b1d3cc4cbc0d0f59976"><code>8eba786</code></a>
      Fix skip_to_escape on BE architectures</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/2cab07e68607ab0e11c3a8b0461a472c37886210"><code>2cab07e</code></a>
      Release 1.0.123</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/346189a524694b98b92ccccb07775868d34b144c"><code>346189a</code></a>
      Fix needless_borrow clippy lint in new control character test</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/859ead8e6d60f4eaed97f7ac2b18f879bec5afe5"><code>859ead8</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1161">#1161</a>
      from iex-rs/vectorized-string-parsing</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/e43da5ee0e64819972f08254e8ce799796238791"><code>e43da5e</code></a>
      Immediately bail-out on empty strings</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/8389d8a11293616ce5a4358651aede271871248d"><code>8389d8a</code></a>
      Don't run the slow algorithm from the beginning</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/1f0dcf791ab1756d7ad07c20889e50bd9a7887fb"><code>1f0dcf7</code></a>
      Allow clippy::items_after_statements</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a95d6df9d08611c9a11ac6524903d693921b8eae"><code>a95d6df</code></a>
      Big endian support</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/json/compare/v1.0.121...v1.0.124">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      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 <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      79e9aa58
    • Alin Dima's avatar
      prospective-parachains rework: take II (#4937) · 0b52a2c1
      Alin Dima authored
      Resolves https://github.com/paritytech/polkadot-sdk/issues/4800
      
      # Problem
      In https://github.com/paritytech/polkadot-sdk/pull/4035, we removed
      support for parachain forks and cycles and added support for backing
      unconnected candidates (candidates for which we don't yet know the full
      path to the latest included block), which is useful for elastic scaling
      (parachains using multiple cores).
      
      Removing support for backing forks turned out to be a bad idea, as there
      are legitimate cases for a parachain to fork (if they have other
      consensus mechanism for example, like BABE or PoW). This leads to
      validators getting lower backing rewards (depending on whether they back
      the winning fork or not) and a higher pressure on only the half of the
      backing group (during availability-distribution for example). Since we
      don't yet have approval voting rewards, backing rewards are a pretty big
      deal (which may change in the future).
      
      # Description
      
      A backing group is now allowed to back forks. Once a candidate becomes
      backed (has the minimum backing votes), we don't accept new forks unless
      they adhere to the new fork selection rule (have a lower candidate
      hash).
      This helps with keeping the implementation simpler, since forks will
      only be taken into account for candidates which are not backed yet (only
      seconded).
      Having this fork selection rule also helps with reducing the work
      backing validators need to do, since they have a shared way of picking
      the winning fork. Once they see a candidate backed, they can all decide
      to back a fork and not accept new ones.
      But they still accept new ones during the seconding phase (until the
      backing quorum is reached).
      
      Therefore, a block author which is not part of the backing group will
      likely not even see the forks (only the winning one).
      
      Just as before, a parachain producing forks will still not be able to
      leverage elastic scaling but will still work with a single core. Also,
      cycles are still not accepted.
      
      ## Some implementation details
      
      `CandidateStorage` is no longer a subsystem-wide construct. It was
      previously holding candidates from all relay chain forks and complicated
      the code. Each fragment chain now holds their candidate chain and their
      potential candidates. This should not increase the storage consumption
      since the heavy candidate data is already wrapped in an Arc and shared.
      It however allows for great simplifications and increase readability.
      
      `FragmentChain`s are now only creating a chain with backed candidates
      and the fork selection rule. As said before, `FragmentChain`s are now
      also responsible for maintaining their own potential candidate storage.
      
      Since we no longer have the subsytem-wide `CandidateStorage`, when
      getting a new leaf update, we use the storage of our latest ancestor,
      which may contain candidates seconded/backed that are still in scope.
      
      When a candidate is backed, the fragment chains which hold it are
      recreated (due to the fork selection rule, it could trigger a "reorg" of
      the fragment chain).
      
      I generally tried to simplify the subsystem and not introduce
      unneccessary optimisations that would otherwise complicate the code and
      not gain us much (fragment chains wouldn't realistically ever hold many
      candidates)
      
      TODO:
      - [x] update metrics
      - [x] update docs and comments
      - [x] fix and add unit tests
      - [x] tested with fork-producing parachain
      - [x] tested with cycle-producing parachain
      - [x] versi test
      - [x] prdoc
      0b52a2c1
  10. Aug 09, 2024
    • s0me0ne-unkn0wn's avatar
      Move PVF code and PoV decompression to PVF host workers (#5142) · 47c1b4cd
      s0me0ne-unkn0wn authored
      Closes #5071 
      
      This PR aims to
      * Move all the blocking decompression from the candidate validation
      subsystem to the PVF host workers;
      * Run the candidate validation subsystem on the non-blocking pool again.
      
      Upsides: no blocking operations in the subsystem's main loop. PVF
      throughput is not limited by the ability of the subsystem to decompress
      a lot of stuff. Correctness and homogeneity improve, as the artifact
      used to be identified by the hash of decompressed code, and now they are
      identified by the hash of compressed code, which coincides with the
      on-chain `ValidationCodeHash`.
      
      Downsides: the PVF code decompression is now accounted for in the PVF
      preparation timeout (be it pre-checking or actual preparation). Taking
      into account that the decompression duration is on the order of
      milliseconds, and the preparation timeout is on the order of seconds, I
      believe it is negligible.
      47c1b4cd
  11. Aug 07, 2024
    • Oliver Tale-Yazdi's avatar
      Umbrella crate: exclude chain-specific crates (#5173) · 0fb6e3c5
      Oliver Tale-Yazdi authored
      
      Uses custom metadata to exclude chain-specific crates.  
      The only concern is that devs who want to use chain-specific crates,
      still need to select matching versions numbers. Could possibly be
      addresses with chain-specific umbrella crates, but currently it should
      be possible to use [psvm](https://github.com/paritytech/psvm).
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      0fb6e3c5
    • Ron's avatar
      Snowbridge on Westend (#5074) · efdc1e9b
      Ron authored
      ### Context
      
      Since Rococo is now deprecated, we need another testnet to detect
      bleeding-edge changes to Substrate, Polkadot, & BEEFY consensus
      protocols that could brick the bridge.
      
      It's the mirror PR of https://github.com/Snowfork/polkadot-sdk/pull/157
      which has reviewed by Snowbridge team internally.
      
      Synced with @acatangiu
      
       about that in channel
      https://matrix.to/#/!gxqZwOyvhLstCgPJHO:matrix.parity.io/$N0CvTfDSl3cOQLEJeZBh-wlKJUXx7EDHAuNN5HuYHY4?via=matrix.parity.io&via=parity.io&via=matrix.org
      
      ---------
      
      Co-authored-by: default avatarClara van Staden <claravanstaden64@gmail.com>
      efdc1e9b
  12. Aug 05, 2024
    • Alexandru Gheorghe's avatar
      make polkadot-parachain startup errors pretty (#5214) · 0cc3e170
      Alexandru Gheorghe authored
      
      The errors on polkadot-parachain are not printed with their full display
      context(what is marked with `#[error(`) because main returns plain
      Result and the error will be shown in its Debug format, that's not
      consistent with how the polkadot binary behave and is not user friendly
      since it does not tell them why they got the error.
      
      Fix it by using `color_eyre` as polkadot already does it. 
      
      Fixes: https://github.com/paritytech/polkadot-sdk/issues/5211
      
      ## Output before
      ```
      Error: NetworkKeyNotFound("/acala/data/Collator2/chains/mandala-tc9/network/secret_ed25519")
      ```
      
      ## Output after
      ```
      Error: 
         0: Starting an authorithy without network key in /home/alexggh/.local/share/polkadot-parachain/chains/asset-hub-kusama/network/secret_ed25519.
            
             This is not a safe operation because other authorities in the network may depend on your node having a stable identity.
            
             Otherwise these other authorities may not being able to reach you.
            
             If it is the first time running your node you could use one of the following methods:
            
             1. [Preferred] Separately generate the key with: <NODE_BINARY> key generate-node-key --base-path <YOUR_BASE_PATH>
            
             2. [Preferred] Separately generate the key with: <NODE_BINARY> key generate-node-key --file <YOUR_PATH_TO_NODE_KEY>
            
             3. [Preferred] Separately generate the key with: <NODE_BINARY> key generate-node-key --default-base-path
            
             4. [Unsafe] Pass --unsafe-force-node-key-generation and make sure you remove it for subsequent node restarts
      
      ```
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
      0cc3e170
  13. Aug 02, 2024
    • Alexandru Vasile's avatar
      rpc: Enable ChainSpec for polkadot-parachain (#5205) · ce6938ae
      Alexandru Vasile authored
      
      This PR enables the `chainSpec_v1` class for the polkadot-parachian. 
      The chainSpec is part of the rpc-v2 which is spec-ed at:
      https://github.com/paritytech/json-rpc-interface-spec/blob/main/src/api/chainSpec.md.
      
      This also paves the way for enabling a future `chainSpec_unstable_spec`
      on all nodes.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/5191
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      ce6938ae
    • Francisco Aguirre's avatar
      Add an adapter for configuring AssetExchanger (#5130) · 8ccb6b33
      Francisco Aguirre authored
      
      Added a new adapter to xcm-builder, the `SingleAssetExchangeAdapter`.
      This adapter makes it easy to use `pallet-asset-conversion` for
      configuring the `AssetExchanger` XCM config item.
      
      I also took the liberty of adding a new function to the `AssetExchange`
      trait, with the following signature:
      
      ```rust
      fn quote_exchange_price(give: &Assets, want: &Assets, maximal: bool) -> Option<Assets>;
      ```
      
      The signature is meant to be fairly symmetric to that of
      `exchange_asset`.
      The way they interact can be seen in the doc comment for it in the
      `AssetExchange` trait.
      
      This is a breaking change but is needed for
      https://github.com/paritytech/polkadot-sdk/pull/5131.
      Another idea is to create a new trait for this but that would require
      setting it in the XCM config which is also breaking.
      
      Old PR: https://github.com/paritytech/polkadot-sdk/pull/4375.
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      8ccb6b33
  14. Aug 01, 2024
  15. Jul 29, 2024
    • dependabot[bot]'s avatar
      Bump serde_json from 1.0.120 to 1.0.121 in the known_good_semver group (#5169) · 4def82e7
      dependabot[bot] authored
      Bumps the known_good_semver group with 1 update:
      [serde_json](https://github.com/serde-rs/json).
      
      Updates `serde_json` from 1.0.120 to 1.0.121
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/json/releases">serde_json's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.121</h2>
      <ul>
      <li>Optimize position search in error path (<a
      href="https://redirect.github.com/serde-rs/json/issues/1160">#1160</a>,
      thanks <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/eca2658a22cb39952783cb6914eb18242659f66a"><code>eca2658</code></a>
      Release 1.0.121</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b0d678cfb473386830d559b6ab255d9e21ba39c5"><code>b0d678c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/js...
      4def82e7
    • Przemek Rzad's avatar
      Various corrections in the documentation (#5154) · de73c77c
      Przemek Rzad authored
      An attempt to improve [the
      docs](https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/index.html)
      by applying various corrections:
      
      - grammar/stylistics,
      - formatting,
      - broken links,
      - broken markdown table,
      - outdated vscode setting name,
      - typos,
      - consistency,
      - etc.
      
      Part of https://github.com/paritytech/eng-automation/issues/10
      de73c77c
    • dependabot[bot]'s avatar
      Bump bs58 from 0.5.0 to 0.5.1 (#5170) · 9b4acf27
      dependabot[bot] authored
      
      Bumps [bs58](https://github.com/Nullus157/bs58-rs) from 0.5.0 to 0.5.1.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Nullus157/bs58-rs/blob/main/CHANGELOG.md">bs58's
      changelog</a>.</em></p>
      <blockquote>
      <h2>0.5.1 - 2024-03-19</h2>
      <ul>
      <li>Make it possible to decode in <code>const</code>-context (by <a
      href="https://github.com/joncinque"><code>@​joncinque</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/7d3c9282d2595612e5474df93dd0e017db9b684f"><code>7d3c928</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Nullus157/bs58-rs/issues/116">#116</a>
      from joncinque/const</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/d3fb50ebad42ff34454e3b49c9e93e85df08d835"><code>d3fb50e</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Nullus157/bs58-rs/issues/117">#117</a>
      from Nemo157/criterion-update</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/9038a36ae66f0f5d2b74f7a4f3a630873c71d0a1"><code>9038a36</code></a>
      Update dependencies</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/13af427722e681d1ba9c922380663eea2f865d4d"><code>13af427</code></a>
      Update criterion to fix cargo-deny issues</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/b6ad26a72010dec7caf18cf4cb4e1e7131ef57e6"><code>b6ad26a</code></a>
      Prepare to release 0.5.1</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/e18e057bf86e67e028ed6da0ee4f1850978d2301"><code>e18e057</code></a>
      Move const-compatible API onto <code>decode::DecodeBuilder</code>
      directly</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/e65bfa72a23c57fbc05cad66c9b667c6eae946fa"><code>e65bfa7</code></a>
      decode: Add const-compatible decoder</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/2b0d73b9955f6a745f9b6fbb387bba2b96ea89fd"><code>2b0d73b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Nullus157/bs58-rs/issues/113">#113</a>
      from Nemo157/cli-version-bump</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/be42edf49589d3f5135871ab129bfff4ded21d67"><code>be42edf</code></a>
      Prepare for 0.1.2 cli release</li>
      <li><a
      href="https://github.com/Nullus157/bs58-rs/commit/6bdc4b2c673f334de0dd316f2e7d988d0db5cb52"><code>6bdc4b2</code></a>
      Merge pull request <a
      href="https://redirect.github.com/Nullus157/bs58-rs/issues/112">#112</a>
      from Nemo157/cli-dep-update</li>
      <li>Additional commits viewable in <a
      href="https://github.com/Nullus157/bs58-rs/compare/0.5.0...0.5.1">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=bs58&package-manager=cargo&previous-version=0.5.0&new-version=0.5.1)](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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      9b4acf27
    • dependabot[bot]'s avatar
      Bump ref-cast from 1.0.20 to 1.0.23 (#5097) · c8e5fba1
      dependabot[bot] authored
      
      Bumps [ref-cast](https://github.com/dtolnay/ref-cast) from 1.0.20 to
      1.0.23.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/ref-cast/releases">ref-cast's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.23</h2>
      <ul>
      <li>Resolve unexpected_cfgs warning (<a
      href="https://redirect.github.com/dtolnay/ref-cast/issues/47">#47</a>)</li>
      </ul>
      <h2>1.0.22</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      <h2>1.0.21</h2>
      <ul>
      <li>Support <code>forbid(unsafe_code)</code> (<a
      href="https://redirect.github.com/dtolnay/ref-cast/issues/45">#45</a>,
      thanks <a href="https://github.com/yuja"><code>@​yuja</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/06c520cd555920951cc1939fcb0c5d855b61134c"><code>06c520c</code></a>
      Release 1.0.23</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/fd3256dcce6afe7204792f09fc8b227b208b00fc"><code>fd3256d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/ref-cast/issues/47">#47</a>
      from dtolnay/checkcfg</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/473dc818a94318524a56600891e50d181e3d6b8a"><code>473dc81</code></a>
      Resolve unexpected_cfgs warning</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/b4d78e28708129fcc413cbd1555b95f542d40551"><code>b4d78e2</code></a>
      Revert &quot;Temporarily disable miri on doctests&quot;</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/24de24e13da1cc179f1646fd078dee36b288f4ff"><code>24de24e</code></a>
      Resolve legacy_numeric_constants clippy lints</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/33b0b8f8a40a501345551a97bde7951cc0e93564"><code>33b0b8f</code></a>
      Update ui test suite to nightly-2024-03-31</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/bd301af5205224a5670e460e8bc94ecff2a3ca66"><code>bd301af</code></a>
      Explicitly install a Rust toolchain for cargo-outdated job</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/b747bf79ed48d3138ccb8fa2a88bbff9bed56ad2"><code>b747bf7</code></a>
      Temporarily disable miri on doctests</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/0b59588839a5725f942b44eed94ff0a5f2e1477f"><code>0b59588</code></a>
      Raise minimum tested compiler to 1.70</li>
      <li><a
      href="https://github.com/dtolnay/ref-cast/commit/ad5cadba6b700bb3647ef0f31954f55ef27d4fc1"><code>ad5cadb</code></a>
      Update ui test suite to nightly-2024-03-06</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/ref-cast/compare/1.0.20...1.0.23">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ref-cast&package-manager=cargo&previous-version=1.0.20&new-version=1.0.23)](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: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      c8e5fba1
  16. Jul 28, 2024
    • dependabot[bot]'s avatar
      Bump spinners from 4.1.0 to 4.1.1 (#5134) · d31e985e
      dependabot[bot] authored
      Bumps [spinners](https://github.com/fgribreau/spinners) from 4.1.0 to
      4.1.1.
      <details>
      <summary>Commits</summary>
      <ul>
      <li>See full diff in <a
      href="https://github.com/fgribreau/spinners/commits">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=spinners&package-manager=cargo&previous-version=4.1.0&new-version=4.1.1)](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 t...
      d31e985e
  17. Jul 26, 2024
    • Joseph Zhao's avatar
      Backport xcmpayment-fee tests from polkadot-fellows repo (#5100) · 7eb946c7
      Joseph Zhao authored
      # Description
      This is continue of the work to backport
      `emulated-integration-tests-common`, if you want to understand the full
      context start with reading
      [#4930](https://github.com/paritytech/polkadot-sdk/pull/4930)
      7eb946c7
    • Jun Jiang's avatar
      Upgrade time crate, fix compilation on Rust 1.80 (#5149) · 326342fe
      Jun Jiang authored
      This will fix the compilation on the latest Rust 1.80.0
      
      PS. There are tons of new warnings about feature gates and annotations,
      it would be nice you guys to investigate them
      326342fe
    • dependabot[bot]'s avatar
      Bump walkdir from 2.4.0 to 2.5.0 (#5135) · 6efa1ee8
      dependabot[bot] authored
      Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.4.0 to
      2.5.0.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/4f26be4d450910916ea11533b2efc52b9a6483bc"><code>4f26be4</code></a>
      2.5.0</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/3be5734033b20c2476e6ca9154c3bb0e0ed840b2"><code>3be5734</code></a>
      api: implement <code>FusedIterator</code></li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/b0d16b759a59836756f8d0ec637f7f8d121a48cd"><code>b0d16b7</code></a>
      ci: fix it</li>
      <li>See full diff in <a
      href="https://github.com/BurntSushi/walkdir/compare/2.4.0...2.5.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=walkdir&package-manager=cargo&previous-version=2.4.0&new-version=2.5.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependab...
      6efa1ee8
  18. Jul 25, 2024
  19. Jul 24, 2024
    • Davide Galassi's avatar
      Fix after ring-proof api change (#5126) · f4fccd60
      Davide Galassi authored
      Ring-proof backend API changed to take some params by ref.
      Bandersnatch-VRF was not updated
      
      (Fixed by: https://github.com/w3f/ring-vrf/pull/92 and
      https://github.com/w3f/ring-vrf/pull/93)
      f4fccd60
    • dependabot[bot]'s avatar
      Bump clap from 4.5.9 to 4.5.10 in the known_good_semver group (#5120) · 7f332cd3
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.5.9 to 4.5.10
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.5.10</h2>
      <h2>[4.5.10] - 2024-07-23</h2>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.5.10] - 2024-07-23</h2>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6243d6546301855c6fc71680e2bf6976f064aee1"><code>6243d65</code></a>
      fix: Only generate stubs if has subcommands</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f5965e586292d31b2a2cbd83f19d145180471012"><code>f5965e5</code></a>
      chore: Update dependencies</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.9...v4.5.10">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.9&new-version=4.5.10)](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 <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      7f332cd3
    • tmpolaczyk's avatar
      Use jobserver in wasm-builder to limit concurrency of spawned cargo processes (#4946) · fee481f9
      tmpolaczyk authored
      
      When building multiple runtimes in parallel, each of them will try to
      use the concurrency set by the parent cargo process. For example, in a
      system with 8 cpu cores, building 3 runtimes in parallel creates 8 * 3
      tasks. This results in the system hanging because of the high cpu and
      memory usage.
      
      This PR allows the substrate_wasm_builder to use the same [jobserver][1]
      as the parent cargo process, making all invocations of cargo share the
      same concurrency pool. So in a system with 8 cores, there will never be
      more than 8 tasks running at the same time.
      
      Implementation roughly based on [cargo][2] but with less unsafe.
      
      This can be tested by telling cargo to use half the cpu cores, like
      `cargo build -j4` in an 8 core machine. Before this PR it will use 100%
      cpu when building 2 runtimes in parallel, after this PR it will always
      use 50%.
      
      [1]:
      https://doc.rust-lang.org/cargo/reference/build-scripts.html#jobserver
      [2]:
      https://github.com/rust-lang/cargo/blob/d1b5f0759eedf5f1126c781c64232856956069ad/src/cargo/util/context/mod.rs#L271
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      fee481f9