Skip to content
  1. Jan 18, 2024
    • Gonçalo Pestana's avatar
      More tests and checks confirming that `ledger.controller` is always correct. (#2599) · 9db92115
      Gonçalo Pestana authored
      
      
      A bonded ledger fetched with the `StakingLedger` implementation exposes
      a method `ledger.controller()` that returns the controller of the
      ledger. However, that controller is computed and stored under the
      `ledger.controller` field on the fly - i.e when the ledger is fetched
      from storage using the `StakingLedger::get` method. The controller field
      is never stored in storage.
      
      This PR add a few more tests checks and improves the ledger try-state
      checks to make sure these invariants hold true.
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      9db92115
    • Michal Kucharczyk's avatar
      `GenesisBuilder`: `arbitrary_precision` feature enabled for `serde_json` (#2987) · 87927bbd
      Michal Kucharczyk authored
      [`arbitrary_precision`](https://github.com/serde-rs/json/blob/6d44b9fac9269b4decf76acac5d68e8ec9d10c58/Cargo.toml#L69-L75)
      feature allows to (de-)serialize big numbers w/o error.
      For some details refer also to
      https://github.com/paritytech/polkadot-sdk/pull/1256#discussion_r1455564450
      
      fixes: #2963
      87927bbd
    • Nazar Mokrynskyi's avatar
      Fix contracts compilation with `CARGO_TARGET_DIR` set (#2927) · b4b523c8
      Nazar Mokrynskyi authored
      In case `CARGO_TARGET_DIR` is set, build artifacts were in the wrong
      place and `build.rs` was failing. With
      `CARGO_TARGET_DIR=/home/nazar-pc/.cache/cargo/target`:
      ```
      error: failed to run custom build command for `pallet-contracts-fixtures v1.0.0 (/web/subspace/polkadot-sdk/substrate/frame/contracts/fixtures)`
      
      Caused by:
        process didn't exit successfully: `/home/nazar-pc/.cache/cargo/target/debug/build/pallet-contracts-fixtures-35d534f7ac3009e0/build-script-build` (exit status: 1)
        --- stderr
        Error: Failed to read "/tmp/.tmpiYwXfv/target/wasm32-unknown-unknown/release/dummy.wasm"
      
        Caused by:
            Can't read from the file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
      ```
      
      The file was actually in
      `/home/nazar-pc/.cache/cargo/target/wasm32-unknown-unknown/release/dummy.wasm`.
      b4b523c8
    • Hero Bird's avatar
      contracts: Update weights (#2969) · f9bbe7db
      Hero Bird authored
      As demanded by @athei to run benchmarks via CI.
      Somehow I was not able to push a PR without commits.
      
      ---------
      
      Co-authored-by: command-bot <>
      f9bbe7db
    • Andrei Sandu's avatar
      approval-distribution: downgrade errors to debug (#2989) · b4699604
      Andrei Sandu authored
      
      
      This is not actually an error of the node, but an issue with the
      incoming assignment.
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      b4699604
    • Bastian Köcher's avatar
      pallet-contracts: Fix compilation on latest nightly (#2986) · 0e124a05
      Bastian Köcher authored
      Apparently they changed detection for visibility identifiers on traits,
      which broke more than it should. There is an issue open:
      https://github.com/rust-lang/rust/issues/119924 The easy solution for us
      is to move the declaration of the global variable outside of the trait.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/2960
      0e124a05
    • Muharem Ismailov's avatar
      Westend/Rococo Asset Hub: pay xcm fees with sufficient assets (#2978) · dcc76525
      Muharem Ismailov authored
      
      
      Set up the `TakeFirstAssetTrader` trader for Westend and Rococo Asset
      Hubs to cover XCM fees with sufficient assets.
      
      This PR reintroduces previously
      [removed](https://github.com/paritytech/polkadot-sdk/pull/1845) trader
      setups, as it was decided to keep both traders, `TakeFirstAssetTrader`
      and `SwapFirstAssetTrader`, during the transition period.
      
      ---------
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <[email protected]>
      dcc76525
    • dependabot[bot]'s avatar
      Bump prost from 0.11.9 to 0.12.3 (#2976) · 13f2342e
      dependabot[bot] authored
      
      
      Bumps [prost](https://github.com/tokio-rs/prost) from 0.11.9 to 0.12.3.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/907e9f6fbf72262f52333459bbfb27224da1ad72"><code>907e9f6</code></a>
      prost: prepare release <code>0.12.3</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/947">#947</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/acc1df83f73cda03c10722fbb739c7920b6b9048"><code>acc1df8</code></a>
      Fix code generation for Name trait (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/944">#944</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/3cf34f00d3b919ce65cc61fc869feba5aeb487e7"><code>3cf34f0</code></a>
      prost: prepare release <code>0.12.2</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/943">#943</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/3ce212ff6107a5f296a082d7be4f0113da8fb887"><code>3ce212f</code></a>
      feat: Generate implementation for <code>Name</code> trait (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/931">#931</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/97cd4e29c46f1cac4d27428c759b6bc807c37201"><code>97cd4e2</code></a>
      fix: generate <code>Name::full_name</code> properly (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/923">#923</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/9dd655312240ba028660f0c7091a8b9a66406f2a"><code>9dd6553</code></a>
      release 0.12.1 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/918">#918</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/6079136781a560a4e480002f3fbce37193f60937"><code>6079136</code></a>
      Fixes 905, fix: Use full path of Result type + unit test + Option unti
      test (...</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/bf866464413ce4955eeaf09c4b6647d192b775ef"><code>bf86646</code></a>
      prost-type: impl Hash for Duration (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/912">#912</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/b258dc8227bdc77b9b1b3102493b3fccd4921393"><code>b258dc8</code></a>
      release 0.12.0 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/904">#904</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/7ce9b9756ba1ca0c6228931e2a9ff7859931ac95"><code>7ce9b97</code></a>
      feat: <code>Name</code> trait + <code>Any</code> encoding support (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/896">#896</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/tokio-rs/prost/compare/v0.11.9...v0.12.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prost&package-manager=cargo&previous-version=0.11.9&new-version=0.12.3)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      13f2342e
    • cristiantroy's avatar
      Fix typos (#2983) · 9a8ef495
      cristiantroy authored
      9a8ef495
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2953) · 1113fce5
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.4.16 to 4.4.18
      <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.4.18</h2>
      <h2>[4.4.18] - 2024-01-16</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When lacking <code>usage</code> feature, ensure the
      list of required arguments is unique</li>
      </ul>
      <h2>v4.4.17</h2>
      <h2>[4.4.17] - 2024-01-15</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix <code>panic!</code> when mixing
      <code>args_conflicts_with_subcommands</code> with <code>ArgGroup</code>
      (which is implicit with <code>derive</code>) introduced in 4.4.15</li>
      </ul>
      </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.4.18] - 2024-01-16</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When lacking <code>usage</code> feature, ensure the
      list of required arguments is unique</li>
      </ul>
      <h2>[4.4.17] - 2024-01-15</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix <code>panic!</code> when mixing
      <code>args_conflicts_with_subcommands</code> with <code>ArgGroup</code>
      (which is implicit with <code>derive</code>) introduced in 4.4.15</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/0134f45ff0e2e2be8c451565e4fbf5d3cb7b7cfd"><code>0134f45</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/995ee032779d802606e599caf4f498ea51e92e82"><code>995ee03</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2f1890907ed4e78674feeb96df34cfb813b84686"><code>2f18909</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5314">#5314</a>
      from epage/required</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/0a635b9a20077e2f932a9baee527052d8ed45d9e"><code>0a635b9</code></a>
      fix(parser): Don't duplicate requireds when usage disabled</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/e648e086f3934afb40b121b5999b9e23657ddc28"><code>e648e08</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5311">#5311</a>
      from sourcefrog/doc-exitcode</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/8c83971b8c356b8c9abfbbb2320cb946a2ee8139"><code>8c83971</code></a>
      docs: Link to exit code info</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b250c0b5f5920b59e551bf0ec90e17c6103ae4a2"><code>b250c0b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5310">#5310</a>
      from epage/pty</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c742b8eb0ca648b645b616e064e00408944f390e"><code>c742b8e</code></a>
      chore(complete): Update completest-pty</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f524d84c1d3eca1c980c5150c750d9e00cbbdb0c"><code>f524d84</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/944fb81cf593af1cd3a58dd959c934f0ff483182"><code>944fb81</code></a>
      docs: Update changelog</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.18">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.4.16&new-version=4.4.18)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      1113fce5
    • Bastian Köcher's avatar
      Downgrade logging to `debug` (#2980) · 38205bf1
      Bastian Köcher authored
      There is no need to spawn operators with this debug log.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/2974
      38205bf1
    • Samuel Moelius's avatar
      Fix typo in traits.rs (#2971) · d6c0f153
      Samuel Moelius authored
      
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      d6c0f153
    • Tsvetomir Dimitrov's avatar
      Filter votes from disabled validators in `BackedCandidates` in process_inherent_data (#2889) · f8954093
      Tsvetomir Dimitrov authored
      
      
      Backport of https://github.com/paritytech/polkadot-sdk/pull/1863 to
      master
      
      Extend candidate sanitation in paras_inherent by removing backing votes
      from disabled validators. Check
      https://github.com/paritytech/polkadot-sdk/issues/1592 for more details.
      
      This change is related to the disabling strategy implementation
      (https://github.com/paritytech/polkadot-sdk/pull/2226).
      
      ---------
      
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarMaciej <[email protected]>
      f8954093
    • joe petrowski's avatar
      Rococo Identity Migration Part 2 + Bug Fix (#2946) · f5748688
      joe petrowski authored
      Order:
      
      - [x] Start People Chain
      - [RPC
      node](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-people-rpc.polkadot.io#/explorer)
      - [x] Upgrade Rococo Relay (`EnsureRoot` -> `EnsureSigned`) (v1,006,002)
      - Done
      [here](https://rococo.subscan.io/extrinsic/0xef07e0f9dbb2b9e829305f132e6ce45d291239286e409177e20895e6687daa6c)
      - [x] Migrate all identities
      - Done, see extrinsics from [this
      account](https://rococo.subscan.io/account/5FyNYrBwndvBttTkGUqGGCRAXtBH4Mh8xELDaxaFywTsjDKb)
      - [x] Upgrade Rococo People (remove call filter) (v1,006,002)
      - Authorized
      [here](https://rococo.subscan.io/extrinsic/0xedf6a80229bd411b7ed8d3a489a767b0f773bed5c49239987a294c293a35b98b)
      
      With added:
      
      - [x] Upgrade Rococo People to fix `poke_deposit` bug (v1,006,001)
      - Authorized
      [here](https://rococo.subscan.io/extrinsic/0xd1dc3cd6e8274bd0196f8d9f13ed09f6e9c76e6a40f9786a1629f4cb22cf948d)
      
      Note:
      
      It's also possible to remove the Identity Migrator pallet from both the
      Relay Chain and the parachain at this time. I will leave them in for now
      to preserve the test cases until we run them on Kusama/Polkadot. We will
      also want a follow up to remove all Identity-related state from the
      Relay Chain.
      f5748688
  2. Jan 17, 2024
    • Egor_P's avatar
      [Backport] Version bumps from 1.6.0 release (#2965) · f80cfc22
      Egor_P authored
      This PR backports version bumps from release branch
      `release-polkadot-v1.6.0` back to `master` and also moved `prdoc` files
      related to the release to the appropriate folder
      f80cfc22
    • Alexander Theißen's avatar
      contracts: Update to Polkavm 0.5 (#2945) · c1c0e62d
      Alexander Theißen authored
      This will allow us to change to the target supporting atomics and makes
      the linker file no longer necessary.
      c1c0e62d
    • Ignacio Palacios's avatar
      Add `Storage` to `PolkadotXcm` for People Chains (#2959) · 8b28031d
      Ignacio Palacios authored
      After People Rococo deployment, we noticed that `safeXcmVersion` wasn't
      initialised.
      
      I think it is due to `Storage` missing in the pallet's declaration. This
      PR should fix it.
      8b28031d
    • joe petrowski's avatar
      Revert "pallet-core-fellowship: import an unimported member on approve" (#2956) · c01dbebe
      joe petrowski authored
      Reverts paritytech/polkadot-sdk#2883
      
      Code, not docs, was intended.
      c01dbebe
    • dependabot[bot]'s avatar
      Bump futures-util from 0.3.28 to 0.3.30 (#2952) · 33d533e1
      dependabot[bot] authored
      
      
      Bumps [futures-util](https://github.com/rust-lang/futures-rs) from
      0.3.28 to 0.3.30.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/futures-rs/releases">futures-util's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.3.30</h2>
      <ul>
      <li>Add
      <code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
      (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
      <li>Fix panic in <code>FuturesUnordered::clear</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
      <li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
      <a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
      <li>Improve support for targets without atomic CAS (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      <li>Remove build scripts (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      </ul>
      <h2>0.3.29</h2>
      <ul>
      <li>Add <code>TryStreamExt::try_ready_chunks</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li>
      <li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li>
      <li>Add <code>UnboundedSender::{len,is_empty}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li>
      <li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li>
      <li>Fix infinite loop caused by invalid UTF-8 bytes (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li>
      <li>Fix build error with -Z minimal-versions (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-util's
      changelog</a>.</em></p>
      <blockquote>
      <h1>0.3.30 - 2023-12-24</h1>
      <ul>
      <li>Add
      <code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
      (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
      <li>Fix panic in <code>FuturesUnordered::clear</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
      <li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
      <a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
      <li>Improve support for targets without atomic CAS (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      <li>Remove build scripts (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      </ul>
      <h1>0.3.29 - 2023-10-26</h1>
      <ul>
      <li>Add <code>TryStreamExt::try_ready_chunks</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li>
      <li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li>
      <li>Add <code>UnboundedSender::{len,is_empty}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li>
      <li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li>
      <li>Fix infinite loop caused by invalid UTF-8 bytes (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li>
      <li>Fix build error with -Z minimal-versions (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/de1a0fd64a1bcae9a1534ed4da1699632993cc26"><code>de1a0fd</code></a>
      Release 0.3.30</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/68d284545f79ca77690d935859ba0cfe0a1be4ac"><code>68d2845</code></a>
      Remove a redundant space in example (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2816">#2816</a>)</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/fdd2ce716c1b1064332e4d20f23a58696a2c1c6f"><code>fdd2ce7</code></a>
      Fix broken link in <code>CopyBufAbortable</code> docs (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2815">#2815</a>)</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/272a3c709f7502df32a70c621ffe02e1e24ca5a4"><code>272a3c7</code></a>
      Use cfg(target_has_atomic) on no-std targets</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/c179201bd1ed11fe3200ca345a3aba3ddfd9497f"><code>c179201</code></a>
      FillBuf: Do not call poll_fill_buf twice</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/e6735f3d01b9ced68a60e521f4f7961dc5e9ab0d"><code>e6735f3</code></a>
      FuturesUnordered: Fix clear implementation</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/04d01a00a2924525658b19794534bec5672500e6"><code>04d01a0</code></a>
      FuturesOrdered: Use 64-bit index</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/e4aa659649940c6412eaf6c4c38b939de3163430"><code>e4aa659</code></a>
      remove redundant impl Unpin</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/17851c1f05598a0ec223bca292befbf1d225ac42"><code>17851c1</code></a>
      provide a mechanism to determine if io read/write halves are from the
      same st...</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/49107994e567323aa026f3f4a3cdb19bc04cf24b"><code>4910799</code></a>
      provide a non-destructive mechanism to determine if a sink/stream are
      paired</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.30">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-util&package-manager=cargo&previous-version=0.3.28&new-version=0.3.30)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      33d533e1
  3. Jan 16, 2024
    • Francisco Aguirre's avatar
      XCMv4 (#1230) · 8428f678
      Francisco Aguirre authored
      
      
      # Note for reviewer
      
      Most changes are just syntax changes necessary for the new version.
      Most important files should be the ones under the `xcm` folder.
      
      # Description 
      
      Added XCMv4.
      
      ## Removed `Multi` prefix
      The following types have been renamed:
      - MultiLocation -> Location
      - MultiAsset -> Asset
      - MultiAssets -> Assets
      - InteriorMultiLocation -> InteriorLocation
      - MultiAssetFilter -> AssetFilter
      - VersionedMultiAsset -> VersionedAsset
      - WildMultiAsset -> WildAsset
      - VersionedMultiLocation -> VersionedLocation
      
      In order to fix a name conflict, the `Assets` in `xcm-executor` were
      renamed to `HoldingAssets`, as they represent assets in holding.
      
      ## Removed `Abstract` asset id
      
      It was not being used anywhere and this simplifies the code.
      
      Now assets are just constructed as follows:
      
      ```rust
      let asset: Asset = (AssetId(Location::new(1, Here)), 100u128).into();
      ```
      
      No need for specifying `Concrete` anymore.
      
      ## Outcome is now a named fields struct
      
      Instead of
      
      ```rust
      pub enum Outcome {
        Complete(Weight),
        Incomplete(Weight, Error),
        Error(Error),
      }
      ```
      
      we now have
      
      ```rust
      pub enum Outcome {
        Complete { used: Weight },
        Incomplete { used: Weight, error: Error },
        Error { error: Error },
      }
      ```
      
      ## Added Reanchorable trait
      
      Now both locations and assets implement this trait, making it easier to
      reanchor both.
      
      ## New syntax for building locations and junctions
      
      Now junctions are built using the following methods:
      
      ```rust
      let location = Location {
          parents: 1,
          interior: [Parachain(1000), PalletInstance(50), GeneralIndex(1984)].into()
      };
      ```
      
      or
      
      ```rust
      let location = Location::new(1, [Parachain(1000), PalletInstance(50), GeneralIndex(1984)]);
      ```
      
      And they are matched like so:
      
      ```rust
      match location.unpack() {
        (1, [Parachain(id)]) => ...
        (0, Here) => ...,
        (1, [_]) => ...,
      }
      ```
      
      This syntax is mandatory in v4, and has been also implemented for v2 and
      v3 for easier migration.
      
      This was needed to make all sizes smaller.
      
      # TODO
      - [x] Scaffold v4
      - [x] Port github.com/paritytech/polkadot/pull/7236
      - [x] Remove `Multi` prefix
      - [x] Remove `Abstract` asset id
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      8428f678
    • Andrei Eres's avatar
      subsystem-bench: cache misses profiling (#2893) · ec7bfae0
      Andrei Eres authored
      ## Why we need it
      To provide another level of understanding to why polkadot's subsystems
      may perform slower than expected. Cache misses occur when processing
      large amounts of data, such as during availability recovery.
      
      ## Why Cachegrind
      Cachegrind has many drawbacks: it is slow, it uses its own cache
      simulation, which is very basic. But unlike `perf`, which is a great
      tool, Cachegrind can run in a virtual machine. This means we can easily
      run it in remote installations and even use it in CI/CD to catch
      possible regressions.
      
      Why Cachegrind and not Callgrind, another part of Valgrind? It is simply
      empirically proven that profiling runs faster with Cachegrind.
      
      ## First results
      First results have been obtained while testing of the approach. Here is
      an example.
      
      ```
      $ target/testnet/subsystem-bench --n-cores 10 --cache-misses data-availability-read
      $ cat cachegrind_report.txt
      I refs:        64,622,081,485
      I1  misses:         3,018,168
      LLi misses:           437,654
      I1  miss rate:           0.00%
      LLi miss rate:           0.00%
      
      D refs:        12,161,833,115  (9,868,356,364 rd   + 2,293,476,751 wr)
      D1  misses:       167,940,701  (   71,060,073 rd   +    96,880,628 wr)
      LLd misses:        33,550,018  (   16,685,853 rd   +    16,864,165 wr)
      D1  miss rate:            1.4% (          0.7%     +           4.2%  )
      LLd miss rate:            0.3% (          0.2%     +           0.7%  )
      
      LL refs:          170,958,869  (   74,078,241 rd   +    96,880,628 wr)
      LL misses:         33,987,672  (   17,123,507 rd   +    16,864,165 wr)
      LL miss rate:             0.0% (          0.0%     +           0.7%  )
      ```
      
      The CLI output shows that 1.4% of the L1 data cache missed, which is not
      so bad, given that the last-level cache had that data most of the time
      missing only 0.3%. Instruction data of the L1 has 0.00% misses of the
      time. Looking at an output file with `cg_annotate` shows that most of
      the misses occur during reed-solomon, which is expected.
      ec7bfae0
    • dependabot[bot]'s avatar
      Bump walkdir from 2.3.3 to 2.4.0 (#2910) · 82c057ee
      dependabot[bot] authored
      
      
      Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.3.3 to
      2.4.0.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/037c5e16ec4d8b3eacb51f077cfdab7a356e8412"><code>037c5e1</code></a>
      2.4.0</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/dcc527d8326fae4272b66bb55f433a302a8cad6f"><code>dcc527d</code></a>
      api: add follow_root_links() option to WalkDir</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/61a185fe49df24966acdec732f5a4b44a0475031"><code>61a185f</code></a>
      ci: use latest OS versions</li>
      <li>See full diff in <a
      href="https://github.com/BurntSushi/walkdir/compare/2.3.3...2.4.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.3.3&new-version=2.4.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 <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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      82c057ee
    • Xavier Lau's avatar
      CI check features (#1708) · 05cfb02b
      Xavier Lau authored
      To resolve issue #1136.
      
      This is a cross verification against zepter.
      
      - [cargo-featalign](https://github.com/hack-ink/cargo-featalign):
      Verifies the proper propagation of all features.
      - [zepter](https://github.com/ggwpez/zepter): Checks for accidentally
      enabled features.
      
      cc @ggwpez
      
       
      
      ---
      Switch to a new branch. Original PR #1537.
      
      ---------
      
      Signed-off-by: default avatarXavier Lau <[email protected]>
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      05cfb02b
    • Dónal Murray's avatar
      Bump rococo relay and coretime-rococo to 1.6 (#2913) · a42a47f8
      Dónal Murray authored
      Co-authored-by: command-bot <>
      a42a47f8
    • Muharem Ismailov's avatar
      XCM WeightTrader: Swap Fee Asset for Native Asset (#1845) · 2cb39f8d
      Muharem Ismailov authored
      
      
      Implements an XCM executor `WeightTrader`, facilitating fee payments in
      any asset that can be exchanged for a native asset.
      
      A few constraints need to be observed:
      - `buy_weight` and `refund` operations must be atomic, as another weight
      trader implementation might be attempted in case of failure.
      - swap credit must be utilized since there isn’t an account to which an
      asset of some class can be deposited with a guarantee to meet the
      existential deposit requirement. Also, operating with credits enhances
      the efficiency of the weight trader -
      https://github.com/paritytech/polkadot-sdk/pull/1677
      
      related PRs:
      - (depends) https://github.com/paritytech/polkadot-sdk/pull/2031
      - (depends) https://github.com/paritytech/polkadot-sdk/pull/1677
      - (caused) https://github.com/paritytech/polkadot-sdk/pull/1847
      - (caused) https://github.com/paritytech/polkadot-sdk/pull/1876
      
      // DONE: impl `OnUnbalanced` for a `fungible/s` credit
      // DONE: make the trader free from a concept of a native currency and
      drop few fallible conversions. related issue -
      https://github.com/paritytech/polkadot-sdk/issues/1842
      // DONE: tests
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      2cb39f8d
    • dependabot[bot]'s avatar
      Bump Swatinem/rust-cache from 2.7.2 to 2.7.3 (#2925) · 4c4963a1
      dependabot[bot] authored
      
      
      Bumps [Swatinem/rust-cache](https://github.com/swatinem/rust-cache) from
      2.7.2 to 2.7.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/swatinem/rust-cache/releases">Swatinem/rust-cache's
      releases</a>.</em></p>
      <blockquote>
      <h2>v2.7.3</h2>
      <ul>
      <li>Work around upstream problem that causes cache saving to hang for
      minutes.</li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/Swatinem/rust-cache/compare/v2.7.2...v2.7.3">https://github.com/Swatinem/rust-cache/compare/v2.7.2...v2.7.3</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Swatinem/rust-cache/blob/master/CHANGELOG.md">Swatinem/rust-cache's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Changelog</h1>
      <h2>2.7.3</h2>
      <ul>
      <li>Work around upstream problem that causes cache saving to hang for
      minutes.</li>
      </ul>
      <h2>2.7.2</h2>
      <ul>
      <li>Only key by <code>Cargo.toml</code> and <code>Cargo.lock</code>
      files of workspace members.</li>
      </ul>
      <h2>2.7.1</h2>
      <ul>
      <li>Update toml parser to fix parsing errors.</li>
      </ul>
      <h2>2.7.0</h2>
      <ul>
      <li>Properly cache <code>trybuild</code> tests.</li>
      </ul>
      <h2>2.6.2</h2>
      <ul>
      <li>Fix <code>toml</code> parsing.</li>
      </ul>
      <h2>2.6.1</h2>
      <ul>
      <li>Fix hash contributions of
      <code>Cargo.lock</code>/<code>Cargo.toml</code> files.</li>
      </ul>
      <h2>2.6.0</h2>
      <ul>
      <li>Add &quot;buildjet&quot; as a second <code>cache-provider</code>
      backend.</li>
      <li>Clean up sparse registry index.</li>
      <li>Do not clean up src of <code>-sys</code> crates.</li>
      <li>Remove <code>.cargo/credentials.toml</code> before saving.</li>
      </ul>
      <h2>2.5.1</h2>
      <ul>
      <li>Fix hash contribution of <code>Cargo.lock</code>.</li>
      </ul>
      <h2>2.5.0</h2>
      <ul>
      <li>feat: Rm workspace crates version before caching.</li>
      <li>feat: Add hash of <code>.cargo/config.toml</code> to key.</li>
      </ul>
      <h2>2.4.0</h2>
      <ul>
      <li>Fix cache key stability.</li>
      <li>Use 8 character hash components to reduce the key length, making it
      more readable.</li>
      </ul>
      <h2>2.3.0</h2>
      <ul>
      <li>Add <code>cache-all-crates</code> option, which enables caching of
      crates installed by workflows.</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/23bce251a8cd2ffc3c1075eaa2367cf899916d84"><code>23bce25</code></a>
      2.7.3</li>
      <li><a
      href="https://github.com/Swatinem/rust-cache/commit/378c8285a4eaf12899d11bea686a763e906956af"><code>378c828</code></a>
      Work around upstream GitHub issue and update dependencies</li>
      <li>See full diff in <a
      href="https://github.com/swatinem/rust-cache/compare/a22603398250b864f7190077025cf752307154dc...23bce251a8cd2ffc3c1075eaa2367cf899916d84">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=Swatinem/rust-cache&package-manager=github_actions&previous-version=2.7.2&new-version=2.7.3)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      4c4963a1
    • Bastian Köcher's avatar
      Some random fixes (#2936) · 1c2db174
      Bastian Köcher authored
      - Do not disable `std` feature in the integration tests
      - `contracts-fixtures` test should only check for `riscv` build when the
      feature is enabled
      1c2db174
  4. Jan 15, 2024
    • dependabot[bot]'s avatar
      Bump lycheeverse/lychee-action (#2900) · 0c166ae0
      dependabot[bot] authored
      
      
      Bumps
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
      from fdea7032675810093199f485fe075f057cc37b3e to
      c3089c702fbb949e3f7a8122be0c33c017904f9b.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/c3089c702fbb949e3f7a8122be0c33c017904f9b"><code>c3089c7</code></a>
      Bump to lychee 0.14.1</li>
      <li>See full diff in <a
      href="https://github.com/lycheeverse/lychee-action/compare/fdea7032675810093199f485fe075f057cc37b3e...c3089c702fbb949e3f7a8122be0c33c017904f9b">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 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] <[email protected]>
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarSergejs Kostjucenko <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      0c166ae0
    • PG Herveou's avatar
      Contracts: stabilize sr25519 (#2920) · f2fbba3b
      PG Herveou authored
      Integration tests in ink!:
      https://github.com/paritytech/ink/tree/master/integration-tests/sr25519-verification
      f2fbba3b
    • Oliver Tale-Yazdi's avatar
      Add missing crates to the workspace (#2932) · 36a83186
      Oliver Tale-Yazdi authored
      
      
      Changes:
      - add missing member to the workspace
      - add CI script after the last attempt to merge it upstream failed
      https://github.com/paritytech/pipeline-scripts/pull/105
      
      Two crates are excluded from the check since they are templates
      `substrate/frame/contracts/fixtures/build` and
       `substrate/frame/contracts/fixtures/contracts/common`.
      
      Hopefully this is the last time that some crates need to be added
      manually.
      
      ![meme](https://github.com/paritytech/polkadot-sdk/assets/10380170/984843ee-1c76-4126-a4fc-ff2ba1d47377)
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      36a83186
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2926) · ac303406
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.4.14 to 4.4.16
      <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.4.16</h2>
      <h2>[4.4.16] - 2024-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Ensure invalid escape sequences in user-defined strings are
      correctly stripped when terminal doesn't support color</li>
      </ul>
      <h2>v4.4.15</h2>
      <h2>[4.4.15] - 2024-01-11</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Improve error for <code>args_conflicts_with_subcommands</code></li>
      <li>Ensure we error for <code>args_conflicts_with_subcommands</code>
      when using subcommand short and long flags</li>
      </ul>
      </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.4.16] - 2024-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Ensure invalid escape sequences in user-defined strings are
      correctly stripped when terminal doesn't support color</li>
      </ul>
      <h2>[4.4.15] - 2024-01-11</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Improve error for <code>args_conflicts_with_subcommands</code></li>
      <li>Ensure we error for <code>args_conflicts_with_subcommands</code>
      when using subcommand short and long flags</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/cbc9c9dd44fc4be25c196213d508b9d2a9c282f3"><code>cbc9c9d</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/4718b89486c7c4236a18411b8449afc2d93f8e3d"><code>4718b89</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/38f805cea0cf50a0f26ed01e4fdf550ca8a555fa"><code>38f805c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5299">#5299</a>
      from epage/ansi</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2a3356a53543531726e851e97639810f3828a89b"><code>2a3356a</code></a>
      fix: Update anstream</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/12b5c39d467ea147c21f5eb3063fc0bc2538e9b7"><code>12b5c39</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/1c5b63390babdb4f3a8994436da4e7f9239b7d43"><code>1c5b633</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a5d46410e072b9821f76b21839849c4434a2f8da"><code>a5d4641</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5298">#5298</a>
      from epage/conflict</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f529ec398c4262296d5e6eb063b1b52d875d7f03"><code>f529ec3</code></a>
      fix(parser): Ensure subcommand flags can conflict</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a7e04a53e4a9e310663a0cdb5bfb0753d84b82bd"><code>a7e04a5</code></a>
      fix(parser): Improve subcommand conflict error</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/ea00ef3051fd5a993b766062a4e9defc777bf233"><code>ea00ef3</code></a>
      refactor(error): Allow more conflict sources</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.16">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.4.14&new-version=4.4.16)](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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      ac303406
    • Alexandru Vasile's avatar
      archive: Implement archive_unstable_storage (#1846) · 53bcbb15
      Alexandru Vasile authored
      
      
      This PR implements the `archive_unstable_storage` method that offers
      support for:
      - fetching values
      - fetching hashes
      - iterating over keys and values
      - iterating over keys and hashes
      - fetching merkle values from the trie-db
      
      A common component dedicated to RPC-V2 storage queries is created to
      bridge the gap between `chainHead/storage` and `archive/storage`.
      Query pagination is supported by `paginationStartKey`, similar to the
      old APIs.
      Similarly to the `chainHead/storage`, the `archive/storage` method
      accepts a maximum number of queried items.
      
      The design builds upon:
      https://github.com/paritytech/json-rpc-interface-spec/pull/94.
      Closes https://github.com/paritytech/polkadot-sdk/issues/1512.
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      53bcbb15
    • Liam Aharon's avatar
      Unbalanced and Balanced fungible conformance tests, and fungible fixes (#1296) · 46090ff1
      Liam Aharon authored
      Original PR https://github.com/paritytech/substrate/pull/14655
      
      ---
      
      Partial https://github.com/paritytech/polkadot-sdk/issues/225
      
      - [x] Adds conformance tests for Unbalanced
      - [x] Adds conformance tests for Balanced
      - Several minor fixes to fungible default implementations and the
      Balances pallet
      - [x] `Unbalanced::decrease_balance` can reap account when
      `Preservation` is `Preserve`
      - [x] `Balanced::pair` can return pairs of imbalances which do not
      cancel each other out
         - [x] Balances pallet `active_issuance` 'underflow'
      - [x] Refactors the conformance test file structure to match the
      fungible file structure: tests for traits in regular.rs go into a test
      file named regular.rs, tests for traits in freezes.rs go into a test
      file named freezes.rs, etc.
       - [x] Improve doc comments
       - [x] Simplify macros
      
      ## Fixes
      
      ### `Unbalanced::decrease_balance` can reap account when called with
      `Preservation::Preserve`
      There is a potential issue in the default implementation of
      `Unbalanced::decrease_balance`. The implementation can delete an account
      even when it is called with `preservation: Preservation::Preserve`. This
      seems to contradict the documentation of `Preservation::Preserve`:
      
      ```rust
      	/// The account may not be killed and our provider reference must remain (in the context of
      	/// tokens, this means that the account may not be dusted).
      	Preserve,
      ```
      
      I updated `Unbalanced::decrease_balance` to return
      `Err(TokenError::BelowMinimum)` when a withdrawal would cause the
      account to be reaped and `preservation: Preservation::Preserve`.
      
      - [ ] TODO Confirm with @gavofyork that this is correct behavior
      
      Test for this behavior:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L912-L937
      
      ### `Balanced::pair` returning non-canceling pairs
      
      `Balanced::pair` is supposed to create a pair of imbalances that cancel
      each other out. However this is not the case when the method is called
      with an amount greater than the total supply.
      
      In the existing default implementation, `Balanced::pair` creates a pair
      by first rescinding the balance, creating `Debt`, and then issuing the
      balance, creating `Credit`.
      
      When creating `Debt`, if the amount to create exceeds the
      `total_supply`, `total_supply` units of `Debt` are created *instead* of
      `amount` units of `Debt`. This can lead to non-canceling amount of
      `Credit` and `Debt` being created.
      
      To address this, I create the credit and debt directly in the method
      instead of calling `issue` and `rescind`.
      
      Test for this behavior:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L1323-L1346
      
      ### `Balances` pallet `active_issuance` 'underflow'
      
      This PR resolves an issue in the `Balances` pallet that can lead to odd
      behavior of `active_issuance`.
      
      Currently, the Balances pallet doesn't check if `InactiveIssuance`
      remains less than or equal to `TotalIssuance` when supply is
      deactivated. This allows `InactiveIssuance` to be greater than
      `TotalIssuance`, which can result in unexpected behavior from the
      perspective of the fungible API.
      
      `active_issuance` is derived from
      `TotalIssuance.saturating_sub(InactiveIssuance)`.
      
      If an `amount` is deactivated that causes `InactiveIssuance` to become
      greater TotalIssuance, `active_issuance` will return 0. However once in
      that state, reactivating an amount will not increase `active_issuance`
      by the reactivated `amount` as expected.
      
      Consider this test where the last assertion would fail due to this
      issue:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd
      
      /substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L1036-L1071
      
      To address this, I've modified the `deactivate` function to ensure
      `InactiveIssuance` never surpasses `TotalIssuance`.
      
      ---------
      
      Co-authored-by: default avatarMuharem <[email protected]>
      46090ff1
    • Serban Iorga's avatar
      Warp sync zombienet tests: update DB snapshot (#2928) · e879c484
      Serban Iorga authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/2787
      
      Regenerating the DB snapshot after fixing:
      https://github.com/paritytech/polkadot-sdk/pull/2919
      
      Now we can add some BEEFY checks to `0002-validators-warp-sync`
      e879c484
  5. Jan 13, 2024
    • maksimryndin's avatar
      wasm-builder: bump toml from 0.8.2 to 0.8.8; replace ansi_term (#2914) · 127b9bec
      maksimryndin authored
      
      
      Hi folks!
      
      Thank for the well organized codebase and an outstanding engineering!
      
      I am trying to compile a substrate node template from source
      (https://github.com/paritytech/polkadot-sdk) and encountered a
      dependency conflict
      ![Screenshot 2024-01-11 at 12 22
      16](https://github.com/paritytech/polkadot-sdk/assets/16288656/b630773f-9d58-4abc-a15c-45f0e6b96b48)
      and a deprecation warning from advisory db for `ansi_term` (I see you
      replace it with some alternatives in other crates).
      
      While for `ansi_term` there is an adopted fork
      (https://github.com/rustadopt/ansiterm-rs) and it was my first commit in
      the PR, I've decided to use https://github.com/console-rs/console as you
      already use it to reduce dependencies (as I believe other substrate
      crates will remove ansi_term eventually)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      127b9bec
    • Jun Jiang's avatar
      Upgrade aquamarine to v0.5.0, v0.4.0 has yanked (#2921) · 38a0ac00
      Jun Jiang authored
      aquamarine v0.4.0 has yanked, see
      https://crates.io/crates/aquamarine/0.4.0
      38a0ac00
  6. Jan 12, 2024
    • PG Herveou's avatar
      Contracts: Translate .wat fixtures to rust (#2654) · bd80dcf6
      PG Herveou authored
      
      
      - Translate all pallet-contracts fixtures from `wat` to Rust files.
      - Fix read_sandbox_memory_as to not use MaxEncodedLen as this could
      break if used with types with a non-fixed encoded len.
      
      ---------
      
      Co-authored-by: default avataralvicsam <[email protected]>
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: command-bot <>
      bd80dcf6
    • Javier Viola's avatar
      Bump zombienet version `v1.3.91` (#2912) · c421b879
      Javier Viola authored
      This version includes
      - Performance improvements.
      - Minor fixes.
      c421b879
    • Dmitry Markin's avatar
      Extract warp sync strategy from `ChainSync` (#2467) · 5208bed7
      Dmitry Markin authored
      
      
      Extract `WarpSync` (and `StateSync` as part of warp sync) from
      `ChainSync` as independent syncing strategy called by `SyncingEngine`.
      Introduce `SyncingStrategy` enum as a proxy between `SyncingEngine` and
      specific syncing strategies.
      
      ## Limitations
      Gap sync is kept in `ChainSync` for now because it shares the same set
      of peers as block syncing implementation in `ChainSync`. Extraction of a
      common context responsible for peer management in syncing strategies
      able to run in parallel is planned for a follow-up PR.
      
      ## Further improvements
      A possibility of conversion of `SyncingStartegy` into a trait should be
      evaluated. The main stopper for this is that different strategies need
      to communicate different actions to `SyncingEngine` and respond to
      different events / provide different APIs (e.g., requesting
      justifications is only possible via `ChainSync` and not through
      `WarpSync`; `SendWarpProofRequest` action is only relevant to
      `WarpSync`, etc.)
      
      ---------
      
      Co-authored-by: default avatarAaro Altonen <[email protected]>
      5208bed7
    • Svyatoslav Nikolsky's avatar
      Run bridges zombienet tests on CI (#2439) · 5ed0a75f
      Svyatoslav Nikolsky authored
      Brridges zombienet tests are non-standard - zombienet currently missing
      multiple relay chains support (see e.g.
      https://github.com/paritytech/zombienet/pull/796), so we need to go live
      with two relay networks, their parachains + custom test runner (which
      e.g. doesn't shutdown net when its tests are finished and instead waits
      for both networks tests to complete). So we are stuck with native
      zombienet provider => this PR is an attempt to gather everything in a
      single docker container and run tests there ~Draft, because it is far
      from finishing - what I want now is to see how it works on CI~
      5ed0a75f