Skip to content
  1. Jan 20, 2024
  2. Jan 19, 2024
    • Robin Freyler's avatar
      Update Wasm benchmarks (#2957) · e02c5204
      Robin Freyler authored
      In https://github.com/paritytech/polkadot-sdk/pull/2941 we found out
      that the new Wasmi (register) is very effective at optimizing away
      certain benchmark bytecode constructs in a way that created an unfair
      advantage over Wasmi (stack) which yielded our former benchmarks to be
      ineffective at properly measuring the performance impact.
      
      This PR adjusts both affected benchmarks to fix the stated problems.
      Affected are
      - `instr_i64const` -> `instr_i64add`: Renamed since it now measures the
      performance impact of the Wasm `i64.add` instruction with locals as
      inputs and outputs. This makes it impossible for Wasmi (register) to
      aggressively optimize away the entire function body (as it previously
      did) but still provides a way for Wasmi (register) to shine with its
      register based execution model.
      - `call_with_code_per_byte`: Now uses `local.get` instead of `i32.const`
      for the `if` condition which prevents Wasmi (register) to aggressively
      optimizing away whole parts of the `if` creating an unfair advantage.
      
      cc @athei
      
      
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarIgnacio Palacios <[email protected]>
      e02c5204
    • Oliver Tale-Yazdi's avatar
      Contract fixtures tests: fixe nightly version (#3000) · 2e9b4405
      Oliver Tale-Yazdi authored
      
      
      Using just `nightly` is too generic and can fail on different systems.  
      Now its fixed to the nightly version of the CI.
      
      Another way would be to use a toolchain file, since this already assumes
      `rustup`.
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      2e9b4405
    • Liam Aharon's avatar
      Update `translate` to use `defensive!` (#2985) · 697c2c39
      Liam Aharon authored
      
      
      Closes #1323 
      
      cc @xlc
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      697c2c39
  3. 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
    • 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
    • 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
    • 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
    • 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
  4. Jan 17, 2024
  5. 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
    • 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
    • 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
  6. Jan 15, 2024
    • 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
    • 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
    • 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
  7. Jan 13, 2024
  8. Jan 12, 2024
  9. Jan 11, 2024
    • Michal Kucharczyk's avatar
      frame-support: sp-runtime dependency updated (serde) (#2907) · c8112e2c
      Michal Kucharczyk authored
      `frame-support` crate compilation fails (reported by @koute):
      
      ```
      $ cargo check --no-default-features --target=wasm32-unknown-unknown
      
      error[E0277]: the trait bound `GC: Serialize` is not satisfied
          --> substrate/frame/support/src/genesis_builder_helper.rs:32:24
           |
      32   |     serde_json::to_string(&GC::default())
           |     --------------------- ^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `GC`
           |     |
           |     required by a bound introduced by this call
           |
      note: required by a bound in `serde_json::to_string`
          --> /home/kou/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.111/src/ser.rs:2209:17
           |
      2207 | pub fn to_string<T>(value: &T) -> Result<String>
           |        --------- required by a bound in this function
      2208 | where
      2209 |     T: ?Sized + Serialize,
           |                 ^^^^^^^^^ required by this bound in `to_string`
      help: consider further restricting this bound
           |
      30   |     GC: BuildGenesisConfig + Default + serde::Serialize,
           |                                      ++++++++++++++++++
      ```
      
      This PR should fix this.
      
      For all runtimes `sp-runtime/serde` feature was likely enabled by this
      (and few other pallets):
      
      https://github.com/paritytech/polkadot-sdk/blob/f2a750ee/substrate/frame/system/Cargo.toml#L27
      c8112e2c
  10. Jan 10, 2024
    • dependabot[bot]'s avatar
      Bump trybuild from 1.0.83 to 1.0.88 (#2902) · a56ad80a
      dependabot[bot] authored
      
      
      Bumps [trybuild](https://github.com/dtolnay/trybuild) from 1.0.83 to
      1.0.88.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/trybuild/releases">trybuild's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.88</h2>
      <ul>
      <li>Work around <code>dead_code</code> warning false positive (<a
      href="https://redirect.github.com/dtolnay/trybuild/issues/253">#253</a>)</li>
      </ul>
      <h2>1.0.87</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      <h2>1.0.86</h2>
      <ul>
      <li>Support edition 2024 (<a
      href="https://redirect.github.com/dtolnay/trybuild/issues/250">#250</a>,
      <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/252">#252</a>,
      thanks <a
      href="https://github.com/mohe2015"><code>@​mohe2015</code></a>)</li>
      </ul>
      <h2>1.0.85</h2>
      <ul>
      <li>Set thread name to produce better message on panic (<a
      href="https://redirect.github.com/dtolnay/trybuild/issues/243">#243</a>,
      <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/244">#244</a>)</li>
      </ul>
      <h2>1.0.84</h2>
      <ul>
      <li>Stabilize usage of Cargo's <code>--keep-going</code> build mode,
      which parallelizes test compilation for a significant speedup (<a
      href="https://redirect.github.com/rust-lang/cargo/pull/12568">rust-lang/cargo#12568</a>,
      <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/240">#240</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/52caff6811ac288418209c7c7e2da28583bb1f4d"><code>52caff6</code></a>
      Release 1.0.88</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/0321a01898a69905a74c3aab2519219939f133fa"><code>0321a01</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/253">#253</a>
      from dtolnay/deadflock</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/b720ee6e5cd44ab7d8ab140a020006e0db6270a4"><code>b720ee6</code></a>
      Work around dead_code warning in flock implementation</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/0081291b6bb5d19b92d19f1fc9c1d32ed539a129"><code>0081291</code></a>
      Release 1.0.87</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/e0c4c0d7c8581d46366668eee28dbf6ec790178b"><code>e0c4c0d</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/a6cbfe8b08978660b92259d1f6642c2812e9ffe7"><code>a6cbfe8</code></a>
      Release 1.0.86</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/7c5a8fef4e4f4e85bec2dd888434c310ec479f21"><code>7c5a8fe</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/252">#252</a>
      from dtolnay/cargofeatures</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/d3cd15bf3081ddbd4720984001e3f2a09f53d621"><code>d3cd15b</code></a>
      Propagate cargo features from source manifest</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/c28428dcb57a735c16b25745298f045ffb5782bb"><code>c28428d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/trybuild/issues/251">#251</a>
      from dtolnay/skipcargofeatures</li>
      <li><a
      href="https://github.com/dtolnay/trybuild/commit/3e4029ede75d98b9164136852689a7ca5602108e"><code>3e4029e</code></a>
      Omit cargo-features from generated Cargo.toml if empty</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/trybuild/compare/1.0.83...1.0.88">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=trybuild&package-manager=cargo&previous-version=1.0.83&new-version=1.0.88)](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>
      a56ad80a
    • joe petrowski's avatar
      Unique Usernames in Identity Pallet (#2651) · d1f678c0
      joe petrowski authored
      
      
      This PR allows _username authorities_ to issue unique usernames that
      correspond with an account. It also provides two-way lookup, that is
      from `AccountId` to a single, "primary" `Username` (alongside
      `Registration`) and multiple unique `Username`s to an `AccountId`.
      
      Key features:
      
      - Username Authorities added (and removed) via privileged origin.
      - Authorities have a `suffix` and an `allocation`. They can grant up to
      `allocation` usernames. Their `suffix` will be appended to the usernames
      that they issue. A suffix may be up to 7 characters long.
      - Users can ask an authority to grant them a username. This will take
      the form `myusername.suffix`. The entire name (including suffix) must be
      less than or equal to 32 alphanumeric characters.
      - Users can approve a username for themselves in one of two ways (that
      is, authorities cannot grant them arbitrarily):
      - Pre-sign the entire username (including suffix) with a secret key that
      corresponds to their `AccountId` (for keyed accounts, obviously); or
      - Accept the username after it has been granted by an authority (it will
      be queued until accepted) (for non-keyed accounts like pure proxies or
      multisigs).
      - The system does not require any funds or deposits. Users without an
      identity will be given a default one (presumably all fields set to
      `None`). If they update this info, they will need to place the normal
      storage deposit.
      - If a user does not have any username, their first one will be set as
      `Primary`, and their `AccountId` will map to that one. If they get
      subsequent usernames, they can choose which one to be their primary via
      `set_primary_username`.
      - There are some state cleanup functions to remove expired usernames
      that have not been accepted and dangling usernames whose owners have
      called `clear_identity`.
      
      TODO:
      
      - [x] Add migration to runtimes
      - [x] Probably do off-chain migration into People Chain genesis
      - [x] Address a few TODO questions in code (please review)
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      d1f678c0
    • dependabot[bot]'s avatar
      Bump lycheeverse/lychee-action (#2875) · ce4e5496
      dependabot[bot] authored
      
      
      Bumps
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
      from 2ac9f030ccdea0033e2510a23a67da2a2da98492 to
      fdea7032675810093199f485fe075f057cc37b3e.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/fdea7032675810093199f485fe075f057cc37b3e"><code>fdea703</code></a>
      Update secure git hash for 1.9.0</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/22134d37a1fff6c2974df9c92a7c7e1e86a08f9c"><code>22134d3</code></a>
      Bump version to 1.9.0</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/ebd95ebde89b46eaf3567432efb0b52bad2187d7"><code>ebd95eb</code></a>
      Update to latest lychee 0.14.0</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/37d79d3b6eda9990480a57eed21c847792dec37a"><code>37d79d3</code></a>
      Add integration tests for absolute output path and <code>--dump</code>
      (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/218">#218</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/57219e4f1d23b32484889db3dbd73f6b814c9bfa"><code>57219e4</code></a>
      Add integration test for custom output paths (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/1309">#1309</a>)
      (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/217">#217</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/a4282891d5805c0d9df0c0d524e2e95a3b0d1ac5"><code>a428289</code></a>
      fix: cleanup if statement (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/215">#215</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/ef8c8f32c278e9eed290c6e6c96748f16b6cd335"><code>ef8c8f3</code></a>
      Add documentation on using the <code>--base</code> param when testing
      local files (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/211">#211</a>)</li>
      <li>See full diff in <a
      href="https://github.com/lycheeverse/lychee-action/compare/2ac9f030ccdea0033e2510a23a67da2a2da98492...fdea7032675810093199f485fe075f057cc37b3e">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 avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarPG Herveou <[email protected]>
      ce4e5496
  11. Jan 09, 2024
    • dependabot[bot]'s avatar
      Bump aquamarine from 0.3.2 to 0.4.0 (#2882) · 9d80735a
      dependabot[bot] authored
      
      
      Bumps [aquamarine](https://github.com/mersinvald/aquamarine) from 0.3.2
      to 0.4.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/mersinvald/aquamarine/releases">aquamarine's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.4.0</h2>
      <h2>Breaking Changes</h2>
      <ul>
      <li><code>path</code> attribute is no longer supported for importing
      diagrams from external files</li>
      </ul>
      <h2>Features</h2>
      <ul>
      <li><code>include_mmd!</code> macro-like syntax for embedding diagrams
      from files</li>
      <li>multiple diagrams can now be imported from filesystem per documented
      entity</li>
      <li>imported diagrams can now be placed freely at any place inside the
      doc comment</li>
      </ul>
      <h2>Miscellaneous</h2>
      <ul>
      <li>syn bumped to version 2 (PR <a
      href="https://redirect.github.com/mersinvald/aquamarine/issues/42">#42</a>
      by <a href="https://github.com/maurer">maurer</a>)</li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/mersinvald/aquamarine/compare/v0.3.2...v0.4.0">https://github.com/mersinvald/aquamarine/compare/v0.3.2...v0.4.0</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/mersinvald/aquamarine/blob/master/CHANGELOG.md">aquamarine's
      changelog</a>.</em></p>
      <blockquote>
      <h3>v0.4.0 (2023-12-13)</h3>
      <h4>Breaking Changes</h4>
      <ul>
      <li><code>path</code> attribute is no longer supported for importing
      diagrams from external files</li>
      </ul>
      <h4>Features</h4>
      <ul>
      <li><code>include_mmd!</code> macro-like syntax for embedding diagrams
      from files</li>
      <li>multiple diagrams can now be imported from filesystem per documented
      entity</li>
      <li>imported diagrams can now be placed freely at any place inside the
      doc comment</li>
      </ul>
      <h4>Miscellaneous</h4>
      <ul>
      <li>syn bumped to version 2 (PR <a
      href="https://redirect.github.com/mersinvald/aquamarine/issues/42">#42</a>
      by <a href="https://github.com/maurer">maurer</a></li>
      </ul>
      <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
      <h3>v0.3.1 (2023-04-17)</h3>
      <h4>Features</h4>
      <ul>
      <li>mermaid is updated to v10 (PR <a
      href="https://redirect.github.com/mersinvald/aquamarine/issues/46">#46</a>
      by <a href="https://github.com/frehberg">frehberg</a>)</li>
      <li>better handling of a failure to load mermaidjs (PR <a
      href="https://redirect.github.com/mersinvald/aquamarine/issues/46">#46</a>
      by <a href="https://github.com/frehberg">frehberg</a>)</li>
      </ul>
      <h4>Miscellaneous</h4>
      <ul>
      <li>add Frehberg as a maintainer on GitHub, and package owner on
      Crates.io</li>
      </ul>
      <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
      <h3>v0.3.0 (2023-02-16)</h3>
      <h4>Maintenance</h4>
      <ul>
      <li>update dependencies</li>
      </ul>
      <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
      <h3>v0.2.2 (2023-02-02)</h3>
      <h4>Bug Fixes</h4>
      <ul>
      <li>gracefully handle failure to write mermaid.js files (<a
      href="https://github.com/mersinvald/aquamarine/blob/master/514c67c9">https://github.com/mersinvald/aquamarine/blob/master/514c67c9</a>)</li>
      </ul>
      <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
      <h3>v0.2.1 (2023-02-01)</h3>
      <h4>Maintenance</h4>
      <ul>
      <li>MermaidJS updated to version 9.3.0</li>
      </ul>
      <p><!-- raw HTML omitted --><!-- raw HTML omitted --></p>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/480897b2e8572530a2d09c0a6ed556dbc989bfa2"><code>480897b</code></a>
      chore: version 0.4.0</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/f78120db7780b678b0ce1f29fbf663db277e378e"><code>f78120d</code></a>
      feat: multiple fs imports, free placement of imported diagrams</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/4cd047c991e9289c12a0725363cda0f7d2df10d7"><code>4cd047c</code></a>
      chore: less strict syn2 semver</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/1a092e51e80522fd00ef9655e9a6fd9039f2aa90"><code>1a092e5</code></a>
      Merge pull request <a
      href="https://redirect.github.com/mersinvald/aquamarine/issues/42">#42</a>
      from maurer/syn-2-update</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/525a00a8396cb3c925e66657c3721afbe4797a6b"><code>525a00a</code></a>
      chore: fix demo crate dependencies</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/50a0b238ea4a08aa6bb0ddbe4cc774e409e9a188"><code>50a0b23</code></a>
      chore: fix demo crate links</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/e3211bb9c345e2cf9a2c2555f6f5d2c4b4166fd5"><code>e3211bb</code></a>
      hotfix: malformed string literals in mermaid.js diagrams of a demo
      crate</li>
      <li><a
      href="https://github.com/mersinvald/aquamarine/commit/c135a84214c4c6571ee781f3a09d8258b276adf4"><code>c135a84</code></a>
      Update to syn-2</li>
      <li>See full diff in <a
      href="https://github.com/mersinvald/aquamarine/compare/v0.3.2...v0.4.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=aquamarine&package-manager=cargo&previous-version=0.3.2&new-version=0.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>
      9d80735a
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2881) · 14f49002
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.4.13 to 4.4.14
      <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.14</h2>
      <h2>[4.4.14] - 2024-01-08</h2>
      <h3>Documentation</h3>
      <ul>
      <li>Fix <code>find</code> cookbook entry to allow repeats of
      flags/options</li>
      </ul>
      <h3>Features</h3>
      <ul>
      <li>Allow <code>num_args(0)</code> on options which allows making them
      emulate being a flag for position-tracking 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.14] - 2024-01-08</h2>
      <h3>Documentation</h3>
      <ul>
      <li>Fix <code>find</code> cookbook entry to allow repeats of
      flags/options</li>
      </ul>
      <h3>Features</h3>
      <ul>
      <li>Allow <code>num_args(0)</code> on options which allows making them
      emulate being a flag for position-tracking flags</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/514f28bc92ed683d53292cbe9457db3ec5df7b6f"><code>514f28b</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/1440456d3ddaa6d9624297d83de9bb9abe82f10b"><code>1440456</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d6479ff7ddbcf524146428c92be23273b4f8bac5"><code>d6479ff</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5290">#5290</a>
      from epage/or</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/02f82146ad746ce9d1874e38ec7033150bb12622"><code>02f8214</code></a>
      docs(cookbook): Clarify intent of fake flags</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c603f34574832b8894b44e0f67fd19dc7869e808"><code>c603f34</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5275">#5275</a>
      from epage/ci</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/641b42b2e82086775619bd15854ddb5b80311b49"><code>641b42b</code></a>
      chore(ci): Speed up critical path of CI</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/3eaf1af052bd5255cc2440dc1cc8f80831a3428b"><code>3eaf1af</code></a>
      fix(help): Correctly show help for fake flags</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d63106b9f698df0d2241662ab1459c823890dec4"><code>d63106b</code></a>
      docs(cookbook): Allow repeated operators</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/148e102ac37bd0e5ca99cfe9c5d57ffc6243cf66"><code>148e102</code></a>
      fix(builder): Allow custom flag definitions</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d53d881e339fec64e48990170b542fae4140eaaa"><code>d53d881</code></a>
      docs(cookbook): Demonstrate bad 'find' behavior</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.13...v4.4.14">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.13&new-version=4.4.14)](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>
      14f49002
    • PG Herveou's avatar
      Contracts: Bump polkavm (#2884) · 06fa111f
      PG Herveou authored
      bump polkavm-x deps to 0.4.0
      06fa111f
    • Muharem Ismailov's avatar
      pallet-core-fellowship: import an unimported member on approve (#2883) · d288c81b
      Muharem Ismailov authored
      To align with the documentation of the approve call, we import an
      unimported member on approval.
      
      No changes have been made to the benchmarks as they already cover the
      worst-case scenario.
      d288c81b
  12. Jan 08, 2024
    • Bastian Köcher's avatar
      Make `simple-mermaid` optional (#2878) · 1914775b
      Bastian Köcher authored
      This prevents it leaking `std` into `no_std` builds.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/2866
      1914775b
    • PG Herveou's avatar
      Contracts rename riscv-experimental and enable ci tests (#2879) · 5daef5d0
      PG Herveou authored
      
      
      - Keep feature name short s/riscv-experimental/riscv
      - Add to feature to CI build
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      5daef5d0
    • Niklas Adolfsson's avatar
      rpc: add `rpc v2 chainSpec` to polkadot (#2859) · a97a6f20
      Niklas Adolfsson authored
      The [chainSpec RPC API from the v2
      spec](https://paritytech.github.io/json-rpc-interface-spec/api/chainSpec.html)
      was only added to substrate-node and should be added to polkadot as well
      
      /cc @lexnv
      a97a6f20
    • dependabot[bot]'s avatar
      Bump proc-macro-crate from 2.0.1 to 3.0.0 (#2876) · 82327494
      dependabot[bot] authored
      
      
      Bumps [proc-macro-crate](https://github.com/bkchr/proc-macro-crate) from
      2.0.1 to 3.0.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/bkchr/proc-macro-crate/releases">proc-macro-crate's
      releases</a>.</em></p>
      <blockquote>
      <h2>v3.0.0</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Release 3.0.0 by <a
      href="https://github.com/bkchr"><code>@​bkchr</code></a> in <a
      href="https://redirect.github.com/bkchr/proc-macro-crate/pull/47">bkchr/proc-macro-crate#47</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/bkchr/proc-macro-crate/compare/v2.0.1...v3.0.0">https://github.com/bkchr/proc-macro-crate/compare/v2.0.1...v3.0.0</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/bkchr/proc-macro-crate/commit/c9671b5f8c307c50aab61e2352450a620d236d8b"><code>c9671b5</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bkchr/proc-macro-crate/issues/47">#47</a>
      from bkchr/bkchrr-release-3.0.0</li>
      <li><a
      href="https://github.com/bkchr/proc-macro-crate/commit/e1a5af33e5a573c878441e38ec991fa23a1b4065"><code>e1a5af3</code></a>
      Bump Rust CI version</li>
      <li><a
      href="https://github.com/bkchr/proc-macro-crate/commit/71c28e2a2592a9dc85afbdb4bc346a0296999eed"><code>71c28e2</code></a>
      Release 3.0.0</li>
      <li>See full diff in <a
      href="https://github.com/bkchr/proc-macro-crate/compare/v2.0.1...v3.0.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro-crate&package-manager=cargo&previous-version=2.0.1&new-version=3.0.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>
      82327494
  13. Jan 07, 2024
    • Bastian Köcher's avatar
      pallet-contracts-fixtures: Only build RISCV when the feature is enabled (#2870) · 745c02c5
      Bastian Köcher authored
      This disables building the RISCV fixtures by default. They still require
      a custom build rustc version. When there are actual tests for RISCV, the
      feature can be enabled in CI. Also fixes some unwraps that assume again
      that people are using rustup...
      745c02c5
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 4 updates (#2865) · 204fe7ff
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 4 updates:
      [serde](https://github.com/serde-rs/serde),
      [serde_json](https://github.com/serde-rs/json),
      [clap](https://github.com/clap-rs/clap) and
      [syn](https://github.com/dtolnay/syn).
      
      Updates `serde` from 1.0.194 to 1.0.195
      <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.195</h2>
      <ul>
      <li>Prevent remote definitions of tuple struct or tuple variant from
      triggering dead_code warning (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2671">#2671</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/03eec42c3313b36da416be1486e9ecac345784d5"><code>03eec42</code></a>
      Release 1.0.195</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/196f311ae2fd8ad94fe38a57830419859a4d3dbb"><code>196f311</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2671">#2671</a>
      from dtolnay/deadremote</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/38d9e0b2091e9b6150486c2c37367819b86bcc39"><code>38d9e0b</code></a>
      Revert &quot;Add FIXME to fix dead_code warning when using
      serde(remote)&quot;</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/6502b3131697eff6420786ad71f87f29cfff3a13"><code>6502b31</code></a>
      Fix new dead_code warning in tuple struct and tuple variant remote
      defs</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/6f1a8c3115c8d2502178c25d610fbaee2e82c46b"><code>6f1a8c3</code></a>
      Add FIXME to fix dead_code warning when using serde(remote)</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/d883c94cc9fe72d0512dc7f4def7191a401595c9"><code>d883c94</code></a>
      Work around dead_code warning in tests</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/961fa59a7469c5b5e323b9723323df412048d60d"><code>961fa59</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2670">#2670</a>
      from serde-rs/exhaustive</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8bc71def551df190e6817d3311e5c76f751f53e6"><code>8bc71de</code></a>
      Fill in omitted patterns for GenericArguments match</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/7c65a9dc0eab2d4d829b258a7b3549351bbe8dcd"><code>7c65a9d</code></a>
      Pick up changes to non_exhaustive_omitted_patterns lint</li>
      <li>See full diff in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.194...v1.0.195">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.110 to 1.0.111
      <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.111</h2>
      <ul>
      <li>Improve floating point parsing performance on loongarch64 (<a
      href="https://redirect.github.com/serde-rs/json/issues/1100">#1100</a>,
      thanks <a
      href="https://github.com/heiher"><code>@​heiher</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/0131ac68212e8094bd14ee618587d731b4f9a68b"><code>0131ac6</code></a>
      Release 1.0.111</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/96ecfadd3f7dd6366a2d07a098e228d15df93cb4"><code>96ecfad</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1100">#1100</a>
      from heiher/limb-64-la64</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/c80dbaf8ff5902ca670e0a48bbe495065b9314f5"><code>c80dbaf</code></a>
      Set limb width to 64 for loongarch64</li>
      <li>See full diff in <a
      href="https://github.com/serde-rs/json/compare/v1.0.110...v1.0.111">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `clap` from 4.4.12 to 4.4.13
      <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.13</h2>
      <h2>[4.4.13] - 2024-01-04</h2>
      <h3>Documentation</h3>
      <ul>
      <li>Fix link to structopt migration guide</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.13] - 2024-01-04</h2>
      <h3>Documentation</h3>
      <ul>
      <li>Fix link to structopt migration guide</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2ab48b295c2463ce8c141a9868095b811ccf3b99"><code>2ab48b2</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/7a06a8cd619db704c6d826bf752eae3b86ce23a8"><code>7a06a8c</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/cca190efedf40f48147a3a4a777a9cc17728abdf"><code>cca190e</code></a>
      docs: Correct link to StructOpt migration guide</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/5c31f453c1a9f46109db8e0a47ed212748c0556c"><code>5c31f45</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5281">#5281</a>
      from Manishearth/safety-docs</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/ddae7e6f411c4c87294212152b8d9beea16637e7"><code>ddae7e6</code></a>
      Correct safety docs</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/48d28aa689bfd0fb44ec025244b30ba261e2515a"><code>48d28aa</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/748ce18cc2ccc3f7c07fa8b7c5b6f90ed9242b72"><code>748ce18</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/adbe6ec4cb6a617070c41927a389d0bea7b30936"><code>adbe6ec</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5278">#5278</a>
      from henry-hsieh/fix-nosort</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2b48858ba84c62e9af97bee4734d70530254cd8a"><code>2b48858</code></a>
      fix: Skip nosort option below bash 4.4</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/777b744102cde324dc75534ef043efc15a9f40be"><code>777b744</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5277">#5277</a>
      from clap-rs/renovate/actions-setup-python-5.x</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.12...v4.4.13">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `syn` from 2.0.47 to 2.0.48
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/syn/releases">syn's
      releases</a>.</em></p>
      <blockquote>
      <h2>2.0.48</h2>
      <ul>
      <li>Improve error message on unexpected token after <code>else</code>
      (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1578">#1578</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/5e16fc24e68b16a381cb7ef22455dba9db143083"><code>5e16fc2</code></a>
      Release 2.0.48</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/dc40084b15ab4a443179fc39cbadac6452408838"><code>dc40084</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1578">#1578</a>
      from dtolnay/elseblock</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/82fcefce69d36e78301936c5af91f005d6a24357"><code>82fcefc</code></a>
      Fix error message on unexpected token after 'else'</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/e8a5c68ad45194e575a923f6b1e08f1817196331"><code>e8a5c68</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1576">#1576</a>
      from dtolnay/exhaustive</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/97b1df6d935cb4801f4090782304577c8574d024"><code>97b1df6</code></a>
      Pick up changes to non_exhaustive_omitted_patterns lint</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/syn/compare/2.0.47...2.0.48">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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      204fe7ff
  14. Jan 05, 2024
  15. Jan 04, 2024
    • PG Herveou's avatar
      Contracts build risc-v fixtures (#2554) · f82c2977
      PG Herveou authored
      
      
      Follow up from #2347 this time to verify that fixtures build to RISC-V
      
      ---------
      
      Co-authored-by: default avataralvicsam <[email protected]>
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      f82c2977
    • Lauro Gripa's avatar
      Fix vote weights of ranked members in the Society pallet (#2758) · 924089ff
      Lauro Gripa authored
      
      
      This PR fixes a bug in the tally accrual of approvals/rejections for
      Candidates and Defender. The issue happened because:
      - The `match maybe_old` is reducing `weight` from the tally:
      ```
      Some(Vote { approve: true, weight }) => tally.approvals.saturating_reduce(weight),
      Some(Vote { approve: false, weight }) => tally.rejections.saturating_reduce(weight),
      ```
      - But `match approval` is accruing only `1` to the tally:
      ```
      true => tally.approvals.saturating_accrue(1),
      false => tally.rejections.saturating_accrue(1),
      ```
      
      This way, if a member is rank 1 his vote is going to have weight 1 when
      accruing but weight 4 when reducing from the tally. For example, let's
      say:
      - There's a Candidate with 0 approvals and 12 rejections;
      - A ranked Member votes against the Candidate;
      - The tally changes to 0 approvals and 13 rejections (should be 16);
      - The Member changes his vote to an approval;
      - Now tally changes to 1 approvals and 9 rejections, removing the
      accrued approvals from other Members;
      - If the Member keeps changing his vote, it wipes the tally clean.
      
      So this PR changes `match approval` to accrue `weight` instead of just
      `1` and changes the tests:
      - Fixes `challenges_work`. This test started failing after the fix. The
      reason is that the test assumes that all Members have equal weights to
      their votes, but Member 10 is ranked, so his vote should have weight 4
      against the Defender. So instead of using Member 10, I added Member 50
      of rank 0 to keep the same logic;
      - Improves `votes_are_working`. Added some assertions to check if the
      tally is correct even after a ranked Member changes his vote a couple
      times;
      - Fixes `waive_repay_works`. Unrelated to the bug, but this test was
      yielding a false positive. The test is ranking up Member 20, but
      asserting the rank of Member 10, which is already ranked up.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: command-bot <>
      924089ff
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 4 updates (#2845) · 88e7b49c
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 4 updates:
      [serde](https://github.com/serde-rs/serde),
      [serde_json](https://github.com/serde-rs/json),
      [clap](https://github.com/clap-rs/clap) and
      [serde_yaml](https://github.com/dtolnay/serde-yaml).
      
      Updates `serde` from 1.0.193 to 1.0.194
      <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.194</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/d2d977a6c6dcff237ae956336d18b0c900c61aad"><code>d2d977a</code></a>
      Release 1.0.194</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/a9a6ee9d7f2e3a3306ad7c7a8f21dcf369c6acb7"><code>a9a6ee9</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/28c5d215c11b66368b725f04cb92e49e4350bcdc"><code>28c5d21</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2669">#2669</a>
      from dtolnay/optionifletelse</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/3d6a789562579fb7ea783e0d7f35530914d8baca"><code>3d6a789</code></a>
      Remove option_if_let_else clippy suppression</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/a0e68698e33fa928f1d9f208d68b17df9f8bb568"><code>a0e6869</code></a>
      Work around doc_link_with_quotes pedantic clippy lint</li>
      <li>See full diff in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.193...v1.0.194">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.108 to 1.0.110
      <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.109</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/df5cf215b70fb6341b255e7c0a210c06f64c0669"><code>df5cf21</code></a>
      Release 1.0.110</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/c35856a93c37b48b3d6efc4fec8e05554dd3f9d5"><code>c35856a</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/f88bf1fccb05aa4de129675de44eb6aaf3fec0a0"><code>f88bf1f</code></a>
      Release 1.0.109</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/bb62c73ecef901e689b0a7a67ed613a32975520c"><code>bb62c73</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1097">#1097</a>
      from serde-rs/doccfg</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/df36d109fd9f9cdd22a874c0177cafec12237f95"><code>df36d10</code></a>
      Restore doc cfg on re-exports</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/c3670913423329c166add9d85ecdfc3e3da21e7a"><code>c367091</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1095">#1095</a>
      from dtolnay/hashtest</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b328ee7df4dd772922f084600aa7cea39218b694"><code>b328ee7</code></a>
      Eliminate hash closure in favor of calling hash_one directly</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b9bcbad3c094042f79f1a45189ec0edbb8f9f322"><code>b9bcbad</code></a>
      Use BuildHasher::hash_one</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/7ff6c9e30c2ecc2cdcf089ed86c7ccfe7a41721c"><code>7ff6c9e</code></a>
      Use random hasher state for number hashing test</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/fe031cd1de4dde5b47e0f18934632b41bd18b48d"><code>fe031cd</code></a>
      Delete trace_macros! functionality from test</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/json/compare/v1.0.108...v1.0.110">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `clap` from 4.4.11 to 4.4.12
      <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.12</h2>
      <h2>[4.4.12] - 2023-12-28</h2>
      <h3>Performance</h3>
      <ul>
      <li>Only ask <code>TypedValueParser</code> for possible values if
      needed</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.12] - 2023-12-28</h2>
      <h3>Performance</h3>
      <ul>
      <li>Only ask <code>TypedValueParser</code> for possible values if
      needed</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6d601e6f312857d78f47741268f1748840484d4a"><code>6d601e6</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/048e7f0fbc4f8108894e4307af768c8d332a0576"><code>048e7f0</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/53f5b820988c1c03f0d2696fc144857ad461edc1"><code>53f5b82</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5267">#5267</a>
      from vermiculus/sa/avoid-pv-expansion-in-help</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/05cd057978db743a65fb5fde33213af752d064e7"><code>05cd057</code></a>
      perf: Avoid retrieving possible_values unless used</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/29208083b0598ba7d1b80e79821c0ba3eb2342ce"><code>2920808</code></a>
      test: Update snapshots</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/28763ebb6d8714f6ca588bf477729040e0e760b0"><code>28763eb</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/ace7bb5b4570b030f7c2d0fa91e0afaaac1b0030"><code>ace7bb5</code></a>
      docs(complete): Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/76beca4d4d42a817bbb578f23553c64ded2aea97"><code>76beca4</code></a>
      docs(complete): Polish API reference for dynamic</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/3630e582d3ec59912b8e9369c38687695ddb1f43"><code>3630e58</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5273">#5273</a>
      from epage/docsrs</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/3724b9e2e4c2a2e69337b6d809949b246d3fef39"><code>3724b9e</code></a>
      docs: Include more content on docs.rs</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.11...v4.4.12">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_yaml` from 0.9.29 to 0.9.30
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.9.30</h2>
      <ul>
      <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
      such as sccache</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/09ee25156f608f95150b27edd120bd5471db3c64"><code>09ee251</code></a>
      Release 0.9.30</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/caea939ece85ab54ac41de0672d683905f1e406a"><code>caea939</code></a>
      Pull in proc-macro2 sccache fix</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/d255918c141fd72d01f169bb5aa0152234981699"><code>d255918</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/serde-yaml/issues/403">#403</a>
      from dtolnay/optionifletelse</li>
      <li><a
      href="https://github.com/dtolnay/serde-yaml/commit/8cfeedd766f83dab24d03b9fb11b72886a247425"><code>8cfeedd</code></a>
      Remove option_if_let_else clippy suppression</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/serde-yaml/compare/0.9.29...0.9.30">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] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      88e7b49c
  16. Dec 31, 2023