Skip to content
  1. Dec 19, 2023
  2. Dec 18, 2023
    • Serban Iorga's avatar
      BEEFY: expect_validator_set() small fix (#2737) · ebe2aad6
      Serban Iorga authored
      Follow-up on https://github.com/paritytech/polkadot-sdk/pull/2716
      
      Sorry, small miss
      ebe2aad6
    • Branislav Kontur's avatar
      Relaxed clippy fixes/nits (#2661) · d941784b
      Branislav Kontur authored
      
      
      This PR contains just a few clippy fixes and nits, which are, however,
      relaxed by workspace clippy settings here:
      https://github.com/paritytech/polkadot-sdk/blob/master/Cargo.toml#L483-L506
      
      ---------
      
      Co-authored-by: default avatarDmitry Sinyavin <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      d941784b
    • dependabot[bot]'s avatar
      Bump async-trait from 0.1.73 to 0.1.74 (#2730) · a250652b
      dependabot[bot] authored
      
      
      Bumps [async-trait](https://github.com/dtolnay/async-trait) from 0.1.73
      to 0.1.74.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/async-trait/releases">async-trait's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.1.74</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/265979b07a9af573e1edd3b2a9b179533cfa7a6c"><code>265979b</code></a>
      Release 0.1.74</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/5e677097d2e67f7a5c5e3023e2f3b99b36a9e132"><code>5e67709</code></a>
      Fix doc test when async fn in trait is natively supported</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/ef144aed28b636eb65759505b2323afc4c753fbe"><code>ef144ae</code></a>
      Update ui test suite to nightly-2023-10-15</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/9398a28d6fc977ccf8c286bd85b4b87a883f92ac"><code>9398a28</code></a>
      Test docs.rs documentation build in CI</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/8737173dafa371e5e9e491d736513be1baf697f4"><code>8737173</code></a>
      Update ui test suite to nightly-2023-09-24</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/5ba643c001a55f70c4a44690e040cdfab873ba56"><code>5ba643c</code></a>
      Test dyn Trait containing async fn</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/247c8e7b0b3ff69c9518ebf93e69fe74d47f17b6"><code>247c8e7</code></a>
      Add ui test testing the recommendation to use async-trait</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/799db66a84834c403860df4a8c0227d8fb7f9d9d"><code>799db66</code></a>
      Update ui test suite to nightly-2023-09-23</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/0e60248011f751d8ccf58219d0a79aacfe9619f1"><code>0e60248</code></a>
      Update actions/checkout@v3 -&gt; v4</li>
      <li><a
      href="https://github.com/dtolnay/async-trait/commit/7fcbc83993d5ef483d048c271a7f6c4ac8c98388"><code>7fcbc83</code></a>
      Update ui test suite to nightly-2023-08-29</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/async-trait/compare/0.1.73...0.1.74">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=async-trait&package-manager=cargo&previous-version=0.1.73&new-version=0.1.74)](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>
      a250652b
  3. Dec 16, 2023
  4. Dec 15, 2023
    • Ankan's avatar
      [NPoS] Remove better solution threshold for unsigned submissions (#2694) · ffb2125f
      Ankan authored
      closes https://github.com/paritytech-secops/srlabs_findings/issues/78.
      
      Removes `BetterUnsignedThreshold` from pallet EPM. This will essentially
      mean any solution submitted by the validator that is strictly better
      than the current queued solution would be accepted.
      
      The reason for having these thresholds is to limit number of solutions
      submitted on-chain. However for unsigned submissions, the number of
      solutions that could be submitted on average is limited even without
      thresholding (calculation shown in the corresponding issue).
      ffb2125f
    • Serban Iorga's avatar
      BEEFY: `expect_validator_set()` fix (#2716) · 99df3919
      Serban Iorga authored
      Fixes #https://github.com/paritytech/polkadot-sdk/issues/2699
      
      Modifying `expect_validator_set()` in order to be able to walk back
      until block 0. The chain state at block 0 is available even if we use
      `--sync fast` or `--sync warp`. This way we can retrieve the initial
      authority set even when BEEFY genesis is 1 and there is no authority
      change entry in the headers log.
      
      Credits to @acatangiu
      
       for the solution
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      99df3919
    • gupnik's avatar
      Feature gate `do_task` in `frame_system` (#2707) · 11edbaf6
      gupnik authored
      https://github.com/paritytech/polkadot-sdk/pull/1343/ introduced Tasks
      API. This one moves `do_task` call in frame_system under the
      experimental flag, till the previous one is audited.
      
      ---------
      
      Co-authored-by: command-bot <>
      11edbaf6
  5. Dec 14, 2023
    • yjh's avatar
      feat: add super trait for block number (#2334) · 2cee8747
      yjh authored
      And also related to a subxt PR
      https://github.com/paritytech/subxt/pull/1265
      2cee8747
    • Bastian Köcher's avatar
      pallet-nomination-pools: Enable function for `fuzzing` feature as well (#2711) · 6dece52e
      Bastian Köcher authored
      The function is called by `do_try_state` which is also enabled for the
      `fuzzing` feature.
      
      ---------
      
      Co-authored-by: command-bot <>
      6dece52e
    • Sergei Shulepov's avatar
      sc-tracing: swap atty with is-terminal (#2718) · c1a11b73
      Sergei Shulepov authored
      `atty` is unmaintaned. See the advisory
      https://github.com/advisories/GHSA-g98v-hv3f-hcfr
      
      I picked is-terminal because rustix is already in-tree, so doesn't
      increase the dependency footprint, and I am not sure if we can rely on
      `IsTerminal` from the std because I am not sure what our MSRV.
      c1a11b73
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2698) · 19984f22
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [syn](https://github.com/dtolnay/syn).
      
      Updates `syn` from 2.0.40 to 2.0.41
      <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.41</h2>
      <ul>
      <li>Support parsing syn::Field in <code>parse_quote!</code> (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1548">#1548</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/63b17012ab20ff72f3e49aaf821719a866b1a352"><code>63b1701</code></a>
      Release 2.0.41</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/920ab7d6a061921d03541d86d7ac8daaf864bb7b"><code>920ab7d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1548">#1548</a>
      from dtolnay/parsequotefield</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/5e1592408c3bcda68db10cd054f9d87e9e480f9b"><code>5e15924</code></a>
      Test parse_quote implementation for Field</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/c268c6793f8a71ac2f3e8ee80201701e4352b407"><code>c268c67</code></a>
      Support parsing Field in parse_quote</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/2ab0f6ae4b47d133c828d9123e86a50565a95447"><code>2ab0f6a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1547">#1547</a>
      from dtolnay/testparsequote</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/46172a41a478920ff23c9e370a5b922fa984829d"><code>46172a4</code></a>
      Add parse_quote tests</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/0fcdad044f330f4c32e2f3b1230271669d1951ea"><code>0fcdad0</code></a>
      Support punctuated Pairs iterator in snapshot tests</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/06161ba80283edf6f741dfc86c91f6985297d168"><code>06161ba</code></a>
      Update test suite to nightly-2023-12-12</li>
      <li>See full diff in <a
      href="https://github.com/dtolnay/syn/compare/2.0.40...2.0.41">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.40&new-version=2.0.41)](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>
      19984f22
    • Francisco Aguirre's avatar
      Add FungibleAdapter (#2684) · 10a91f82
      Francisco Aguirre authored
      In the move from the old `Currency` traits to the new `fungible/s`
      family of traits, we already had the `FungiblesAdapter` and
      `NonFungiblesAdapter` for multiple fungible and non fungible assets
      respectively. However, for handling only one fungible asset, we were
      missing a `FungibleAdapter`, and so used the old `CurrencyAdapter`
      instead. This PR aims to fill in that gap, and provide the new adapter
      for more updated examples.
      
      I marked the old `CurrencyAdapter` as deprecated as part of this PR, and
      I'll change it to the new `FungibleAdapter` in a following PR.
      The two stages are separated so as to not bloat this PR with some name
      fixes in tests.
      
      ---------
      
      Co-authored-by: command-bot <>
      10a91f82
    • Francisco Aguirre's avatar
      Add dummy impls of `fungible` and `fungibles` trait families (#2695) · c1a5fac2
      Francisco Aguirre authored
      In `Currency`, we have a dummy impl that we can use for mocks or
      examples where we only want to satisfy the trait bounds. I added the
      same dummy implementations to `fungible` and `fungibles` regular traits.
      
      ---------
      
      Co-authored-by: command-bot <>
      c1a5fac2
  6. Dec 13, 2023
    • Gonçalo Pestana's avatar
      [Staking] Adds a round check at signed solution submission (#2690) · cc846cc2
      Gonçalo Pestana authored
      This PR adds a round check to the `Call::submit` extrinsic to make sure
      that the solution submission has been prepared for the current election
      round and avoid penalties for delayed submissions.
      
      Related to
      https://github.com/paritytech-secops/srlabs_findings/issues/329
      
      ---------
      
      Co-authored-by: command-bot <>
      cc846cc2
    • dependabot[bot]'s avatar
      Bump toml from 0.7.6 to 0.8.2 (#2685) · 6ff50526
      dependabot[bot] authored
      
      
      Bumps [toml](https://github.com/toml-rs/toml) from 0.7.6 to 0.8.2.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/toml-rs/toml/commit/fe65b2bfa2021b939a0fc71e8b008609ea21f6fe"><code>fe65b2b</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/ed597ebad11afdadc27712e3f851e6c5cd48fb51"><code>ed597eb</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/257a0fdc59656c01bcce151af61339563fac22c4"><code>257a0fd</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/4b44f53a3194729317250232872584464ebe12a7"><code>4b44f53</code></a>
      Merge pull request <a
      href="https://redirect.github.com/toml-rs/toml/issues/617">#617</a> from
      epage/update</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/7eaf2861106430833eb40e7b237fe5522be6bb03"><code>7eaf286</code></a>
      fix(parser): Failed on mixed inline tables</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/e1f20378a2a8c78f182b2ac61f76eebd30990b77"><code>e1f2037</code></a>
      test: Verify with latest data</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/2f9253c9eb6c968be8227284b873660bd3451007"><code>2f9253c</code></a>
      chore: Update toml-test</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/c9b481cab5038e9801e60f6bfb935f983218d8f6"><code>c9b481c</code></a>
      test(toml): Ensure tables are used for validation</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/43d7f29cfdad91bb72658d94039b16e7457a54ed"><code>43d7f29</code></a>
      Merge pull request <a
      href="https://redirect.github.com/toml-rs/toml/issues/615">#615</a> from
      toml-rs/renovate/actions-checkout-4.x</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/ef9b8372c86f84481e8439c9c4a1f5dc4c15c35e"><code>ef9b837</code></a>
      chore(deps): update actions/checkout action to v4</li>
      <li>Additional commits viewable in <a
      href="https://github.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.8.2">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.7.6&new-version=0.8.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <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>
      6ff50526
    • Squirrel's avatar
      Set clippy lints in workspace (requires rust 1.74) (#2390) · be8e6268
      Squirrel authored
      
      
      We currently use a bit of a hack in `.cargo/config` to make sure that
      clippy isn't too annoying by specifying the list of lints.
      
      There is now a stable way to define lints for a workspace. The only down
      side is that every crate seems to have to opt into this so there's a
      *few* files modified in this PR.
      
      Dependencies:
      
      - [x] PR that upgrades CI to use rust 1.74 is merged.
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      be8e6268
    • gupnik's avatar
      bc82eb6e
  7. Dec 12, 2023
    • Branislav Kontur's avatar
      [ci] Add `-D warnings` for `cargo-check-each-crate` job to fail on warnings (#2670) · d18a682b
      Branislav Kontur authored
      ## Summary
      
      This PR turns on `-D warnings` for `cargo-check-each-crate job` job to
      fail on warnings e.g. like this:
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4673130
      
      Before this PR, there was a warning and `cargo-check-each-crate` job did
      not fail:
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4641444
      ```
      warning: unused import: `ToTokens`
        --> substrate/primitives/api/proc-macro/src/utils.rs:22:34
         |
      22 | use quote::{format_ident, quote, ToTokens};
         |                                  ^^^^^^^^
         |
         = note: `#[warn(unused_imports)]` on by default
      warning: `sp-api-proc-macro` (lib) generated 1 warning (run `cargo fix --lib -p sp-api-proc-macro` to apply 1 suggestion)
      ```
      
      Fixes on the way:
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4641444
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4673265
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4673410
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4673681
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4673836
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4673941
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4674256
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4679328
      
      
      
      ## Questions
      - [ ] why does this check triggers only `cargo check --locked`?
      `--all-features` or `--all-targets` are not needed? Or aren't they
      avoided intentionally?
      
      ---------
      
      Co-authored-by: command-bot <>
      d18a682b
    • Parth's avatar
      Make crate visible methods of `OverlayedChanges` public (#2597) · 0470bd68
      Parth authored
      
      
      # Description
      
      - What does this PR do?
      This PR make some methods of `OverlayedChanges` public which were
      previously only visible in same crate.
      - Why are these changes needed?
      Since, some methods of the `OverlayedChanges` only have crate level
      visibility, which makes `OverlayedChanges` somewhat unusable outside the
      crate to create custom implementation of `Externalities`. We make those
      method public to enable `OverlayedChanges` to remedy this.
      - How were these changes implemented and what do they affect?
      Changes are implemented by replacing crate visibility to public
      visibility of 4 functions.
      
      
      # Checklist
      
      - [x] My PR includes a detailed description as outlined in the
      "Description" section above
      - [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
      of this project (at minimum one label for `T`
        required)
      - [ ] I have made corresponding changes to the documentation (if
      applicable)
      - [ ] I have added tests that prove my fix is effective or that my
      feature works (if applicable)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0470bd68
    • Bastian Köcher's avatar
    • dependabot[bot]'s avatar
      Bump names from 0.13.0 to 0.14.0 (#2686) · 2aaa9af3
      dependabot[bot] authored
      
      
      Bumps [names](https://github.com/fnichol/names) from 0.13.0 to 0.14.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/fnichol/names/releases">names's
      releases</a>.</em></p>
      <blockquote>
      <h2>Release 0.14.0</h2>
      <h2><a
      href="https://github.com/fnichol/names/compare/v0.13.0...v0.14.0">0.14.0</a>
      - 2022-06-28</h2>
      <h3>Changed</h3>
      <ul>
      <li>upgrade to <code>regex</code> 1.5.6</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/fnichol/names/blob/main/CHANGELOG.md">names's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[0.14.0] - 2022-06-28</h2>
      <h3>Changed</h3>
      <ul>
      <li>upgrade to <code>regex</code> 1.5.6</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/fnichol/names/commit/8f09d5bf9860582c485b5856cbb325642d3e82c2"><code>8f09d5b</code></a>
      release: names 0.14.0</li>
      <li><a
      href="https://github.com/fnichol/names/commit/b589b911b489812aa4a279efa1b91e6fe7ff7dfa"><code>b589b91</code></a>
      release: update CHANGELOG.md</li>
      <li><a
      href="https://github.com/fnichol/names/commit/e1bed3056d38a98a22f28f39db42211404a00953"><code>e1bed30</code></a>
      merge: <a
      href="https://redirect.github.com/fnichol/names/issues/20">#20</a></li>
      <li><a
      href="https://github.com/fnichol/names/commit/12eb753220007a2aafe741031af83562c1e617f6"><code>12eb753</code></a>
      Bump regex from 1.5.4 to 1.5.6</li>
      <li><a
      href="https://github.com/fnichol/names/commit/ed520b76b8542fdca09d9d80658f4ea0b8914464"><code>ed520b7</code></a>
      merge: <a
      href="https://redirect.github.com/fnichol/names/issues/19">#19</a></li>
      <li><a
      href="https://github.com/fnichol/names/commit/852eaee067bcadfb2a59e78b432919a87983fe6d"><code>852eaee</code></a>
      chore: start next iteration 0.13.1-dev</li>
      <li>See full diff in <a
      href="https://github.com/fnichol/names/compare/v0.13.0...v0.14.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=names&package-manager=cargo&previous-version=0.13.0&new-version=0.14.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>
      2aaa9af3
    • Ross Bulat's avatar
      Staking: Add `deprecate_controller_batch` AdminOrigin call (#2589) · 048a9c27
      Ross Bulat authored
      
      
      Partially Addresses #2500
      
      Adds a `deprecate_controller_batch` call to the staking pallet that is
      callable by `Root` and `StakingAdmin`. To be used for controller account
      deprecation and removed thereafter. Adds
      `MaxControllersDeprecationBatch` pallet constant that defines max
      possible deprecations per call.
      
      - [x] Add `deprecate_controller_batch` call, and
      `MaxControllersInDeprecationBatch` constant.
      - [x] Add tests, benchmark, weights. Tests that weight is only consumed
      if unique pair.
      - [x] Adds `StakingAdmin` origin to staking's `AdminOrigin` type in
      westend runtime.
      - [x] Determined that worst case 5,900 deprecations does fit into
      `maxBlock` `proofSize` and `refTime` in both normal and operational
      thresholds, meaning we can deprecate all controllers for each network in
      one call.
      
      ## Block Weights
      
      By querying `consts.system.blockWeights` we can see that the
      `deprecate_controller_batch` weights fit within the `normal` threshold
      on Polkadot.
      
      #### `controller_deprecation_batch` where i = 5900:
      #### Ref time: 69,933,325,300
      #### Proof size: 21,040,390
      
      ### Polkadot 
      
      ```
      // consts.query.blockWeights
      
      maxBlock: {
              refTime: 2,000,000,000,000
              proofSize: 18,446,744,073,709,551,615
      }
      normal: {
       maxExtrinsic: {
      	refTime: 1,479,873,955,000
      	proofSize: 13,650,590,614,545,068,195
       }
       maxTotal: {
      	refTime: 1,500,000,000,000
      	proofSize: 13,835,058,055,282,163,711
       }
      }
      ```
      
      ### Kusama
      
      ```
      // consts.query.blockWeights
      
        maxBlock: {
          refTime: 2,000,000,000,000
          proofSize: 18,446,744,073,709,551,615
        }
          normal: {
            maxExtrinsic: {
              refTime: 1,479,875,294,000
              proofSize: 13,650,590,614,545,068,195
            }
            maxTotal: {
              refTime: 1,500,000,000,000
              proofSize: 13,835,058,055,282,163,711
            }
      }
      ```
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      048a9c27
  8. Dec 11, 2023
    • Gabriel Facco de Arruda's avatar
      pallet-vesting: Configurable block number provider (#2403) · c2d45e7e
      Gabriel Facco de Arruda authored
      
      
      This PR makes the block number provider configurable through the Config
      trait in pallet-vesting, this gives parachains the option to use the
      relay chain block number provider from ParachainSystem.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      c2d45e7e
    • zhiqiangxu's avatar
      fix comment of exit_runtime (#2616) · 50b7b6f3
      zhiqiangxu authored
      
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      50b7b6f3
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 2 updates (#2675) · 7b416d84
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 2 updates:
      [clap](https://github.com/clap-rs/clap) and
      [syn](https://github.com/dtolnay/syn).
      
      Updates `clap` from 4.4.10 to 4.4.11
      <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.11</h2>
      <h2>[4.4.11] - 2023-12-04</h2>
      <h3>Features</h3>
      <ul>
      <li>Add <code>Command::mut_group</code></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.11] - 2023-12-04</h2>
      <h3>Features</h3>
      <ul>
      <li>Add <code>Command::mut_group</code></li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d092896d61fd73a5467db85eac035a9ce2ddbc60"><code>d092896</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c76a713f8bd40a54a58e8c1d2300a6792f1b79d5"><code>c76a713</code></a>
      chore: Update lockfile</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b99d17bb0b78b667659982252e8973174e93ae7d"><code>b99d17b</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b47f8da4d857dd653915ce772757d4b996a36477"><code>b47f8da</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5247">#5247</a>
      from epage/group</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2e7c9d11a84b5008e2b42b4df323557a31bb0337"><code>2e7c9d1</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5194">#5194</a>
      from c19/patch-1</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/37917be0b75d5cd667cd37db6ea5c6bac837c674"><code>37917be</code></a>
      feat: Add Command::mut_group</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/cf7a0272cc1d55d139983d4408e8bedab51338ad"><code>cf7a027</code></a>
      chore: Update from '_rust/main'</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/8c836eaa9d9279df467991a3b8463d748b515a0a"><code>8c836ea</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/10">#10</a> from
      epage/renovate/migrate-config</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/598c6244983fb392457f3fbec9badf25fab6d051"><code>598c624</code></a>
      chore(config): migrate config .github/renovate.json5</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.10...v4.4.11">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `syn` from 2.0.39 to 2.0.40
      <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.40</h2>
      <ul>
      <li>Fix some edge cases of handling None-delimited groups in expression
      parser (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1539">#1539</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1541">#1541</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1542">#1542</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1543">#1543</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1544">#1544</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1545">#1545</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/cf7f40a96a7329fb4215a7a1d8d9e7c93439b169"><code>cf7f40a</code></a>
      Release 2.0.40</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/1ce8ccf5cd92824d1058019c0ae95b0616f6ac01"><code>1ce8ccf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1538">#1538</a>
      from dtolnay/testinvisible</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/d06bff8883e794c0d9d5fe2998210dec113b6eff"><code>d06bff8</code></a>
      Add test for parsing Delimiter::None in expressions</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/9ec66d42bba0da0041ab6448604b72f673e185f1"><code>9ec66d4</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1545">#1545</a>
      from dtolnay/groupedlet</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/384621acc640779ee4a8250317c26a42e8ceef90"><code>384621a</code></a>
      Fix None-delimited let expression in stmt position</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/5325b6d1711c1c9c6787cb6239b472b5f8b5daaf"><code>5325b6d</code></a>
      Add test of let expr surrounded in None-delimited group</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/0ddfc27cf79573db0b5533c583ff895e9c7f3f72"><code>0ddfc27</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1544">#1544</a>
      from dtolnay/nonedelimloop</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/9c99b3f62ecebb2ac22f8ed99039934b0a18d0e6"><code>9c99b3f</code></a>
      Fix stmt boundary after None-delimited group containing loop</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/2781584ea868cce6c9ae750bc442e3b4b2dfd887"><code>2781584</code></a>
      Add test of None-delimited group containing loop in match arm</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/d33292808432c8530b53c951f2780d7128c4bd0b"><code>d332928</code></a>
      Simplify token stream construction in Delimiter::None tests</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.39...2.0.40">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>
      7b416d84
    • Michal Kucharczyk's avatar
      `keyring`: remove `lazy_static` public keys hash maps (#2387) · f6548aee
      Michal Kucharczyk authored
      
      
      The `lazy_static` package does not work well in `no-std`: it requires
      `spin_no_std` feature, which also will propagate into `std` if enabled.
      This is not what we want.
      
      This PR removes public/private key hash-maps and replaces them with
      simple static byte arrays.
      
      `&T` versions of `AsRef/Deref/From` traits implementation were removed.
      
      Little const helper for converting hex strings into array during compile
      time was also added. (somewhat similar to _hex_literal_).
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKoute <[email protected]>
      f6548aee
    • dependabot[bot]'s avatar
      Bump num-traits from 0.2.16 to 0.2.17 (#2674) · 1e878780
      dependabot[bot] authored
      
      
      Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.16
      to 0.2.17.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-num/num-traits/blob/master/RELEASES.md">num-traits's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Release 0.2.17 (2023-10-07)</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-num/num-traits/pull/286">Fix a
      doc warning about custom classes with newer rustdoc.</a></li>
      </ul>
      <p><strong>Contributors</strong>: <a
      href="https://github.com/robamu"><code>@​robamu</code></a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/0a27d8c95ad4cdf1b04793cc3b19520f2f19c4f4"><code>0a27d8c</code></a>
      Merge <a
      href="https://redirect.github.com/rust-num/num-traits/issues/289">#289</a></li>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/34e309a918d2c412949cba9c8869a46470fcde4f"><code>34e309a</code></a>
      Release 0.2.17</li>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/ef36d69f7c98cce52177f77de5d092da0c93cdcc"><code>ef36d69</code></a>
      Merge <a
      href="https://redirect.github.com/rust-num/num-traits/issues/286">#286</a></li>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/d9d94f8a510d64cb56f70036777ad739e5e5e961"><code>d9d94f8</code></a>
      Bugfix for text codeblock in documentation.</li>
      <li>See full diff in <a
      href="https://github.com/rust-num/num-traits/compare/num-traits-0.2.16...num-traits-0.2.17">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=num-traits&package-manager=cargo&previous-version=0.2.16&new-version=0.2.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <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>
      1e878780
  9. Dec 10, 2023
    • Alexandru Gheorghe's avatar
      [ci] fix test-frame-ui job (#2672) · e5dc8ed8
      Alexandru Gheorghe authored
      
      
      The test frame ui started failing consistently on latest master [1]. I
      assume it was because of a race between
      https://github.com/paritytech/polkadot-sdk/pull/1343 which introduced
      this warning and a PR that updated our tooling version, hence the
      warnings don't match perfectly, so regenerated them with
      `TRYBUILD=overwrite` as the test suggests.
      
      [1] https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4666766
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      e5dc8ed8
  10. Dec 08, 2023
    • Bastian Köcher's avatar
      Update proc-macro-crate (#2660) · f6ae1458
      Bastian Köcher authored
      f6ae1458
    • Muharem Ismailov's avatar
      Westend: Fellowship Treasury (#2532) · da40d97a
      Muharem Ismailov authored
      
      
      Treasury Pallet Instance for the Fellowship in Westend Collectives.
      
      In this update, we present a Treasury Pallet Instance that is under the
      control of the Fellowship body, with oversight from the Root and
      Treasurer origins. Here's how it is governed:
      - the Root origin have the authority to reject or approve spend
      proposals, with no amount limit for approvals.
      - the Treasurer origin have the authority to reject or approve spend
      proposals, with approval limits of up to 10,000,000 DOT.
      - Voice of all Fellows ranked at 3 or above can reject or approve spend
      proposals, with a maximum approval limit of 10,000 DOT.
      - Voice of Fellows ranked at 4 or above can also reject or approve spend
      proposals, with a maximum approval limit of 10,000,000 DOT.
      
      Additionally, we introduce the Asset Rate Pallet Instance to establish
      conversion rates from asset A to B. This is used to determine if a
      proposed spend amount involving a non-native asset is permissible by the
      commanding origin. The rates can be set up by the Root, Treasurer
      origins, or Voice of all Fellows.
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarjoepetrowski <[email protected]>
      da40d97a
    • Jegor Sidorenko's avatar
      [NTFs] Emit CollectionMaxSupplySet on collection create (#2626) · 1bdfb295
      Jegor Sidorenko authored
      Closes #2293 
      
      if the max_supply is set during the collection creation, we emit the
      `CollectionMaxSupplySet` event
      1bdfb295
    • Davide Galassi's avatar
      Bump ark-scale version to 0.0.12 (#2652) · f5edd4f4
      Davide Galassi authored
      As per title.
      
      Fix in ark-scale `TypeInfo` implementation
      f5edd4f4
    • Sam Johnson's avatar
      Tasks: general system for recognizing and executing service work (#1343) · ac3f14d2
      Sam Johnson authored
      
      
      `polkadot-sdk` version of original tasks PR located here:
      https://github.com/paritytech/substrate/pull/14329
      
      Fixes #206
      
      ## Status
      - [x] Generic `Task` trait
      - [x] `RuntimeTask` aggregated enum, compatible with
      `construct_runtime!`
      - [x] Casting between `Task` and `RuntimeTask` without needing `dyn` or
      `Box`
      - [x] Tasks Example pallet
      - [x] Runtime tests for Tasks example pallet
      - [x] Parsing for task-related macros
      - [x] Retrofit parsing to make macros optional
      - [x] Expansion for task-related macros
      - [x] Adds support for args in tasks
      - [x] Retrofit tasks example pallet to use macros instead of manual
      syntax
      - [x] Weights
      - [x] Cleanup
      - [x] UI tests
      - [x] Docs
      
      ## Target Syntax
      Adapted from
      https://github.com/paritytech/polkadot-sdk/issues/206#issue-1865172283
      
      ```rust
      // NOTE: this enum is optional and is auto-generated by the other macros if not present
      #[pallet::task]
      pub enum Task<T: Config> {
          AddNumberIntoTotal {
              i: u32,
          }
      }
      
      /// Some running total.
      #[pallet::storage]
      pub(super) type Total<T: Config<I>, I: 'static = ()> =
      StorageValue<_, (u32, u32), ValueQuery>;
      
      /// Numbers to be added into the total.
      #[pallet::storage]
      pub(super) type Numbers<T: Config<I>, I: 'static = ()> =
      StorageMap<_, Twox64Concat, u32, u32, OptionQuery>;
      
      #[pallet::tasks_experimental]
      impl<T: Config<I>, I: 'static> Pallet<T, I> {
      	/// Add a pair of numbers into the totals and remove them.
      	#[pallet::task_list(Numbers::<T, I>::iter_keys())]
      	#[pallet::task_condition(|i| Numbers::<T, I>::contains_key(i))]
      	#[pallet::task_index(0)]
      	pub fn add_number_into_total(i: u32) -> DispatchResult {
      		let v = Numbers::<T, I>::take(i).ok_or(Error::<T, I>::NotFound)?;
      		Total::<T, I>::mutate(|(total_keys, total_values)| {
      			*total_keys += i;
      			*total_values += v;
      		});
      		Ok(())
      	}
      }
      ```
      
      ---------
      
      Co-authored-by: default avatarNikhil Gupta <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: Nikhil Gupta <>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatargupnik <[email protected]>
      ac3f14d2
    • cheme's avatar
      Remove hashbrown from trie cache. (#2632) · 34c991e2
      cheme authored
      Using hashmap instead (hashset do not expose entry), to get the default
      random hasher her.
      34c991e2
    • Bastian Köcher's avatar
      pallet-broker: Small improvements to the origin checks (#2656) · fde5d8fe
      Bastian Köcher authored
      The permissionless calls do not need to ensure that the `origin` is
      signed. Anyone can execute these calls.
      fde5d8fe
  11. Dec 07, 2023
    • Oliver Tale-Yazdi's avatar
      [FRAME] Make MQ pallet re-entrancy safe (#2356) · 7e7fe990
      Oliver Tale-Yazdi authored
      
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/2319
      
      Changes:
      - Ensure that only `enqueue_message(s)` is callable from within the
      message processor. This prevents messed up storage that can currently
      happen when the pallet is called into recursively.
      - Use `H256` instead of `[u8; 32]` for clearer API.
      
      ## Details
      
      The re-entracy check is done with the `environmental` crate by adding a
      `with_service_mutex(f)` function that runs the closure exclusively. This
      works since the MQ pallet is not instantiable.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      7e7fe990
    • dzmitry-lahoda's avatar
      feat(xcm): support json schema (for CosmWasm VM support) (#1454) · 95c3ee10
      dzmitry-lahoda authored
      # Description
      
      - What does this PR do? Allows to generate JSON schema for subset of XCM
      in std builds
      - Why are these changes needed? To support XCM messages in CosmWasm
      contracts which require Schemars to generate contract clients
      - How were these changes implemented and what do they affect? We will
      use schema feature flag to build XCM pallet with JSON schema enabled
      
      # Checklist
      
      - [x] My PR includes a detailed description as outlined in the
      "Description" section above
      - [x] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
      of this project (at minimum one label for `T`
        required)
      - [x] I have made corresponding changes to the documentation (if
      applicable)
      - [x] I have added tests that prove my fix is effective or that my
      feature works (if applicable)
      - [x] If this PR alters any external APIs or interfaces used by
      Polkadot, the corresponding Polkadot PR is ready as well
        as the corresponding Cumulus PR (optional)
      95c3ee10