Commit Graph

8577 Commits

Author SHA1 Message Date
Francisco Aguirre c1a5fac262 Add dummy impls of fungible and fungibles trait families (#2695)
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 <>
2023-12-14 04:59:40 +00:00
Gonçalo Pestana cc846cc296 [Staking] Adds a round check at signed solution submission (#2690)
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 <>
2023-12-13 18:49:43 +02:00
dependabot[bot] 6ff50526a7 Bump toml from 0.7.6 to 0.8.2 (#2685)
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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-13 14:29:14 +00:00
Squirrel be8e626806 Set clippy lints in workspace (requires rust 1.74) (#2390)
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: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: Branislav Kontur <bkontur@gmail.com>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2023-12-13 15:11:07 +01:00
gupnik bc82eb6ec9 Fixes parsing for config attrs in pallet macros (#2677) 2023-12-13 15:30:24 +05:30
Branislav Kontur d18a682bf7 [ci] Add -D warnings for cargo-check-each-crate job to fail on warnings (#2670)
## 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 <>
2023-12-12 21:01:36 +01:00
Parth 0470bd6851 Make crate visible methods of OverlayedChanges public (#2597)
# 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: Bastian Köcher <git@kchr.de>
2023-12-12 20:50:08 +01:00
Bastian Köcher ef62acfbcf pallet-uniques: Move migration over to VersionedMigration (#2687) 2023-12-12 13:37:52 +02:00
dependabot[bot] 2aaa9af374 Bump names from 0.13.0 to 0.14.0 (#2686)
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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 11:26:44 +01:00
Ross Bulat 048a9c2744 Staking: Add deprecate_controller_batch AdminOrigin call (#2589)
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: Gonçalo Pestana <g6pestana@gmail.com>
2023-12-12 08:23:02 +02:00
Gabriel Facco de Arruda c2d45e7e47 pallet-vesting: Configurable block number provider (#2403)
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: Bastian Köcher <git@kchr.de>
2023-12-12 00:12:15 +01:00
zhiqiangxu 50b7b6f399 fix comment of exit_runtime (#2616)
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-11 17:47:24 +01:00
dependabot[bot] 7b416d84ff Bump the known_good_semver group with 2 updates (#2675)
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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 17:26:09 +01:00
Michal Kucharczyk f6548aee31 keyring: remove lazy_static public keys hash maps (#2387)
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: Koute <koute@users.noreply.github.com>
2023-12-11 15:21:20 +01:00
dependabot[bot] 1e878780a5 Bump num-traits from 0.2.16 to 0.2.17 (#2674)
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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-11 11:49:28 +01:00
Alexandru Gheorghe e5dc8ed8f5 [ci] fix test-frame-ui job (#2672)
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: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
2023-12-10 22:22:00 +01:00
Bastian Köcher f6ae145813 Update proc-macro-crate (#2660) 2023-12-08 16:10:58 +01:00
Muharem da40d97a23 Westend: Fellowship Treasury (#2532)
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: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
Co-authored-by: joepetrowski <joe@parity.io>
2023-12-08 15:02:09 +02:00
Jegor Sidorenko 1bdfb29587 [NTFs] Emit CollectionMaxSupplySet on collection create (#2626)
Closes #2293 

if the max_supply is set during the collection creation, we emit the
`CollectionMaxSupplySet` event
2023-12-08 12:26:13 +02:00
Davide Galassi f5edd4f4da Bump ark-scale version to 0.0.12 (#2652)
As per title.

Fix in ark-scale `TypeInfo` implementation
2023-12-08 10:47:48 +02:00
Sam Johnson ac3f14d23b Tasks: general system for recognizing and executing service work (#1343)
`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: Nikhil Gupta <17176722+gupnik@users.noreply.github.com>
Co-authored-by: kianenigma <kian@parity.io>
Co-authored-by: Nikhil Gupta <>
Co-authored-by: Gavin Wood <gavin@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: gupnik <nikhilgupta.iitk@gmail.com>
2023-12-08 11:10:26 +05:30
cheme 34c991e2cf Remove hashbrown from trie cache. (#2632)
Using hashmap instead (hashset do not expose entry), to get the default
random hasher her.
2023-12-08 14:28:04 +09:00
Bastian Köcher fde5d8fe6c pallet-broker: Small improvements to the origin checks (#2656)
The permissionless calls do not need to ensure that the `origin` is
signed. Anyone can execute these calls.
2023-12-08 02:45:14 +02:00
Oliver Tale-Yazdi 7e7fe99047 [FRAME] Make MQ pallet re-entrancy safe (#2356)
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: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
2023-12-07 17:48:13 +01:00
dzmitry-lahoda 95c3ee10bc feat(xcm): support json schema (for CosmWasm VM support) (#1454)
# 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)
2023-12-07 17:40:16 +01:00
Anwesh 26116cdb02 Improve inline comment for ClaimPermission extrinsic of nom pools (#2640) 2023-12-07 15:19:34 +01:00
dependabot[bot] 4d5832f729 Bump rand from 0.7.3 to 0.8.5 (#2645)
Bumps [rand](https://github.com/rust-random/rand) from 0.7.3 to 0.8.5.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/rust-random/rand/blob/master/CHANGELOG.md">rand's
changelog</a>.</em></p>
<blockquote>
<h2>[0.8.5] - 2021-08-20</h2>
<h3>Fixes</h3>
<ul>
<li>Fix build on non-32/64-bit architectures (<a
href="https://redirect.github.com/rust-random/rand/issues/1144">#1144</a>)</li>
<li>Fix &quot;min_const_gen&quot; feature for <code>no_std</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1173">#1173</a>)</li>
<li>Check <code>libc::pthread_atfork</code> return value with panic on
error (<a
href="https://redirect.github.com/rust-random/rand/issues/1178">#1178</a>)</li>
<li>More robust reseeding in case <code>ReseedingRng</code> is used from
a fork handler (<a
href="https://redirect.github.com/rust-random/rand/issues/1178">#1178</a>)</li>
<li>Fix nightly: remove unused <code>slice_partition_at_index</code>
feature (<a
href="https://redirect.github.com/rust-random/rand/issues/1215">#1215</a>)</li>
<li>Fix nightly + <code>simd_support</code>: update
<code>packed_simd</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1216">#1216</a>)</li>
</ul>
<h3>Rngs</h3>
<ul>
<li><code>StdRng</code>: Switch from HC128 to ChaCha12 on emscripten (<a
href="https://redirect.github.com/rust-random/rand/issues/1142">#1142</a>).
We now use ChaCha12 on all platforms.</li>
</ul>
<h3>Documentation</h3>
<ul>
<li>Added docs about rand's use of const generics (<a
href="https://redirect.github.com/rust-random/rand/issues/1150">#1150</a>)</li>
<li>Better random chars example (<a
href="https://redirect.github.com/rust-random/rand/issues/1157">#1157</a>)</li>
</ul>
<h2>[0.8.4] - 2021-06-15</h2>
<h3>Additions</h3>
<ul>
<li>Use const-generics to support arrays of all sizes (<a
href="https://redirect.github.com/rust-random/rand/issues/1104">#1104</a>)</li>
<li>Implement <code>Clone</code> and <code>Copy</code> for
<code>Alphanumeric</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1126">#1126</a>)</li>
<li>Add <code>Distribution::map</code> to derive a distribution using a
closure (<a
href="https://redirect.github.com/rust-random/rand/issues/1129">#1129</a>)</li>
<li>Add <code>Slice</code> distribution (<a
href="https://redirect.github.com/rust-random/rand/issues/1107">#1107</a>)</li>
<li>Add <code>DistString</code> trait with impls for
<code>Standard</code> and <code>Alphanumeric</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1133">#1133</a>)</li>
</ul>
<h3>Other</h3>
<ul>
<li>Reorder asserts in <code>Uniform</code> float distributions for
easier debugging of non-finite arguments
(<a
href="https://redirect.github.com/rust-random/rand/issues/1094">#1094</a>,
<a
href="https://redirect.github.com/rust-random/rand/issues/1108">#1108</a>)</li>
<li>Add range overflow check in <code>Uniform</code> float distributions
(<a
href="https://redirect.github.com/rust-random/rand/issues/1108">#1108</a>)</li>
<li>Deprecate <code>rngs::adapter::ReadRng</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1130">#1130</a>)</li>
</ul>
<h2>[0.8.3] - 2021-01-25</h2>
<h3>Fixes</h3>
<ul>
<li>Fix <code>no-std</code> + <code>alloc</code> build by gating
<code>choose_multiple_weighted</code> on <code>std</code> (<a
href="https://redirect.github.com/rust-random/rand/issues/1088">#1088</a>)</li>
</ul>
<h2>[0.8.2] - 2021-01-12</h2>
<h3>Fixes</h3>
<ul>
<li>Fix panic in <code>UniformInt::sample_single_inclusive</code> and
<code>Rng::gen_range</code> when
providing a full integer range (eg <code>0..=MAX</code>) (<a
href="https://redirect.github.com/rust-random/rand/issues/1087">#1087</a>)</li>
</ul>
<h2>[0.8.1] - 2020-12-31</h2>
<h3>Other</h3>
<ul>
<li>Enable all stable features in the playground (<a
href="https://redirect.github.com/rust-random/rand/issues/1081">#1081</a>)</li>
</ul>
<h2>[0.8.0] - 2020-12-18</h2>
<h3>Platform support</h3>
<ul>
<li>The minimum supported Rust version is now 1.36 (<a
href="https://redirect.github.com/rust-random/rand/issues/1011">#1011</a>)</li>
<li><code>getrandom</code> updated to v0.2 (<a
href="https://redirect.github.com/rust-random/rand/issues/1041">#1041</a>)</li>
<li>Remove <code>wasm-bindgen</code> and <code>stdweb</code> feature
flags. For details of WASM support,</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/rust-random/rand/commit/937320cbfeebd4352a23086d9c6e68f067f74644"><code>937320c</code></a>
Update CHANGELOG for 0.8.5 (<a
href="https://redirect.github.com/rust-random/rand/issues/1221">#1221</a>)</li>
<li><a
href="https://github.com/rust-random/rand/commit/2924af688d352b889322870d017356f12651866b"><code>2924af6</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-random/rand/issues/1183">#1183</a>
from vks/fill-float-doc</li>
<li><a
href="https://github.com/rust-random/rand/commit/dbbc1bf3176138c867f3d84c0c4d288119a5a84e"><code>dbbc1bf</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-random/rand/issues/1218">#1218</a>
from Will-Low/master</li>
<li><a
href="https://github.com/rust-random/rand/commit/9f20df04d88698c38515833d6db62d7eb50d8b80"><code>9f20df0</code></a>
Making distributions comparable by deriving PartialEq. Tests
included</li>
<li><a
href="https://github.com/rust-random/rand/commit/a407bdfa4563d0cfbf744049242926c8de079d3f"><code>a407bdf</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-random/rand/issues/1216">#1216</a>
from rust-random/work5</li>
<li><a
href="https://github.com/rust-random/rand/commit/d3ca11b0bcc1f42fe34ba4f90f99509b7eb4ff18"><code>d3ca11b</code></a>
Update to packed_simd_2 0.3.7</li>
<li><a
href="https://github.com/rust-random/rand/commit/fa04c15d0bb5842fdbdbb73d7a53ead36f3fcf52"><code>fa04c15</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-random/rand/issues/1215">#1215</a>
from Lantern-chat/master</li>
<li><a
href="https://github.com/rust-random/rand/commit/73f8ffd16379390e624ac53cd6882dd679dd9a6f"><code>73f8ffd</code></a>
Remove unused <code>slice_partition_at_index</code> feature</li>
<li><a
href="https://github.com/rust-random/rand/commit/8f372500f05dfadcff6c35e773e81029ab7debad"><code>8f37250</code></a>
Merge pull request <a
href="https://redirect.github.com/rust-random/rand/issues/1208">#1208</a>
from newpavlov/rand_distr/fix_no_std</li>
<li><a
href="https://github.com/rust-random/rand/commit/9ef737ba5b814f6ab36cebafb59ad29885d68a05"><code>9ef737b</code></a>
update changelog</li>
<li>Additional commits viewable in <a
href="https://github.com/rust-random/rand/compare/0.7.3...0.8.5">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rand&package-manager=cargo&previous-version=0.7.3&new-version=0.8.5)](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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 14:46:20 +01:00
Nazar Mokrynskyi 9f3c67b4ff Support querying peer reputation (#2392)
# Description

Trivial change that resolves
https://github.com/paritytech/polkadot-sdk/issues/2185.

Since there was a mix of `who` and `peer_id` argument names nearby I
changed them all to `peer_id`.

# 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)
- [ ] I have added tests that prove my fix is effective or that my
feature works (if applicable)

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-07 13:07:12 +02:00
Alexander Samusev cd63276d31 [ci] Update rust to 1.74 (#2545)
cc https://github.com/paritytech/ci_cd/issues/900

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Dónal Murray <donal.murray@parity.io>
Co-authored-by: Bastian Köcher <info@kchr.de>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: command-bot <>
2023-12-07 09:57:43 +01:00
Adrian Catangiu e7651cf41b pallet-xcm: add new flexible transfer_assets() call/extrinsic (#2388)
# Motivation (+testing)

### Enable easy `ForeignAssets` transfers using `pallet-xcm` 

We had just previously added capabilities to teleport fees during
reserve-based transfers, but what about reserve-transferring fees when
needing to teleport some non-fee asset?

This PR aligns everything under either explicit reserve-transfer,
explicit teleport, or this new flexible `transfer_assets()` which can
mix and match as needed with fewer artificial constraints imposed to the
user.

This will enable, for example, a (non-system) parachain to teleport
their `ForeignAssets` assets to AssetHub while using DOT to pay fees.
(the assets are teleported - as foreign assets should from their owner
chain - while DOT used for fees can only be reserve-based transferred
between said parachain and AssetHub).

Added `xcm-emulator` tests for this scenario ^.

# Description

Reverts `(limited_)reserve_transfer_assets` to only allow reserve-based
transfers for all `assets` including fees.

Similarly `(limited_)teleport_assets` only allows teleports for all
`assets` including fees.
    
For complex combinations of asset transfers where assets and fees may
have different reserves or different reserve/teleport trust
configurations, users can use the newly added `transfer_assets()`
extrinsic which is more flexible in allowing more complex scenarios.

`assets` (excluding `fees`) must have same reserve location or otherwise
be teleportable to `dest`.
No limitations imposed on `fees`.

- for local reserve: transfer assets to sovereign account of destination
chain and forward a notification XCM to `dest` to mint and deposit
reserve-based assets to `beneficiary`.
- for destination reserve: burn local assets and forward a notification
to `dest` chain to withdraw the reserve assets from this chain's
sovereign account and deposit them to `beneficiary`.
- for remote reserve: burn local assets, forward XCM to reserve chain to
move reserves from this chain's SA to `dest` chain's SA, and forward
another XCM to `dest` to mint and deposit reserve-based assets to
`beneficiary`.
- for teleports: burn local assets and forward XCM to `dest` chain to
mint/teleport assets and deposit them to `beneficiary`.

## Review notes

Only around 500 lines are prod code (see `pallet_xcm/src/lib.rs`), the
rest of the PR is new tests and improving existing tests.

---------

Co-authored-by: command-bot <>
2023-12-06 13:18:12 +02:00
dependabot[bot] 19bf94d637 Bump parity-db from 0.4.10 to 0.4.12 (#2635)
Bumps [parity-db](https://github.com/paritytech/parity-db) from 0.4.10
to 0.4.12.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/paritytech/parity-db/blob/master/CHANGELOG.md">parity-db's
changelog</a>.</em></p>
<blockquote>
<h2>[v0.4.12] - 2023-10-12</h2>
<ul>
<li>CI for windows and macos. Also fixes access denied error on windows
<a
href="https://redirect.github.com/paritytech/parity-db/pull/222"><code>[#222](https://github.com/paritytech/parity-db/issues/222)</code></a></li>
<li>Force alignment for all chunk buffers <a
href="https://redirect.github.com/paritytech/parity-db/pull/225"><code>[#225](https://github.com/paritytech/parity-db/issues/225)</code></a></li>
</ul>
<h2>[v0.4.11] - 2023-09-13</h2>
<ul>
<li>Make <code>madvise_random</code> compatible with non-Unix OS <a
href="https://redirect.github.com/paritytech/parity-db/pull/221"><code>[#221](https://github.com/paritytech/parity-db/issues/221)</code></a></li>
<li>Explicit <code>funlock</code> <a
href="https://redirect.github.com/paritytech/parity-db/pull/218"><code>[#218](https://github.com/paritytech/parity-db/issues/218)</code></a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/paritytech/parity-db/commit/47b6c98455f8875b6eeb980d35a2be62f64d074f"><code>47b6c98</code></a>
Bump version</li>
<li><a
href="https://github.com/paritytech/parity-db/commit/ec686930169b84d21336bed6d6f05c787a17d61f"><code>ec68693</code></a>
Force alignment for all chunk buffers (<a
href="https://redirect.github.com/paritytech/parity-db/issues/225">#225</a>)</li>
<li><a
href="https://github.com/paritytech/parity-db/commit/4ac2aca38c6984f8a48080875590a687041a39d8"><code>4ac2aca</code></a>
CI for windows and macos (<a
href="https://redirect.github.com/paritytech/parity-db/issues/222">#222</a>)</li>
<li><a
href="https://github.com/paritytech/parity-db/commit/2c52598b9c53519b61cb078c81ea427b287558d7"><code>2c52598</code></a>
Bump version</li>
<li><a
href="https://github.com/paritytech/parity-db/commit/f537334507bb357330753398868f040b8e9ff9d3"><code>f537334</code></a>
Make <code>madvise_random</code> compatible with non-Unix OS (<a
href="https://redirect.github.com/paritytech/parity-db/issues/221">#221</a>)</li>
<li><a
href="https://github.com/paritytech/parity-db/commit/8eae5d3e5e2a304052f7cca75eb249080f6a7790"><code>8eae5d3</code></a>
Explicit funlock (<a
href="https://redirect.github.com/paritytech/parity-db/issues/218">#218</a>)</li>
<li>See full diff in <a
href="https://github.com/paritytech/parity-db/compare/v0.4.10...v0.4.12">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=parity-db&package-manager=cargo&previous-version=0.4.10&new-version=0.4.12)](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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 09:43:21 +01:00
André Silva 1f023deab8 sp-core: Rename VrfOutput to VrfPreOutput (#2534)
This will make more sense after
https://github.com/paritytech/polkadot-sdk/pull/2524 since the
schnorrkel type for VRF outputs is also renamed in the latest version.
Can be reviewed independently though.

Can be merged after https://github.com/paritytech/polkadot-sdk/pull/1577
so that there is less pain for @davxy.

---------

Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-06 02:19:56 +02:00
zhiqiangxu 91cbe087de chore: fix typo (#2596)
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2023-12-05 23:53:25 +01:00
dependabot[bot] 333edb0514 Bump tracing-core from 0.1.31 to 0.1.32 (#2618)
Bumps [tracing-core](https://github.com/tokio-rs/tracing) from 0.1.31 to
0.1.32.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/tokio-rs/tracing/releases">tracing-core's
releases</a>.</em></p>
<blockquote>
<h2>tracing-core 0.1.32</h2>
<h3>Documented</h3>
<ul>
<li>Fix typo in <code>field</code> docs (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2611">#2611</a>)</li>
<li>Remove duplicate wording (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2674">#2674</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Allow <code>ValueSet</code>s of any length (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2508">#2508</a>)</li>
</ul>
<p><a
href="https://redirect.github.com/tokio-rs/tracing/issues/2611">#2611</a>:
<a
href="https://redirect.github.com/tokio-rs/tracing/pull/2611">tokio-rs/tracing#2611</a>
<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2674">#2674</a>:
<a
href="https://redirect.github.com/tokio-rs/tracing/pull/2674">tokio-rs/tracing#2674</a>
<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2508">#2508</a>:
<a
href="https://redirect.github.com/tokio-rs/tracing/pull/2508">tokio-rs/tracing#2508</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/tokio-rs/tracing/commit/c4b2a56937dd40aaa2e2991636eca6748353201f"><code>c4b2a56</code></a>
chore: prepare tracing-core 0.1.32 (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2754">#2754</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/2502f19d934b092fc01bb7493eacbb16b4038bf3"><code>2502f19</code></a>
chore: prepare tracing-attributes 0.1.27 (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2756">#2756</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/90487620d8fd4b0a44e6a0385bda3643bf6f19a2"><code>9048762</code></a>
Revert &quot;log: update to env_logger 0.10 to fix GHSA-g98v-hv3f-hcfr
(<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2740">#2740</a>)&quot;
(#...</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/6ba5af2ce2a814fea521d2d0a5ea1e88d7b6011e"><code>6ba5af2</code></a>
docs: remove mention of <code>Registration</code> on v0.1.x (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2753">#2753</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/11aac9a07c4aac35b12ea82d8a5b1cb00a118928"><code>11aac9a</code></a>
log: deprecate <code>env_logger</code> in favor of
<code>tracing_subscriber::fmt::Subscriber</code>...</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/2f27752a9912f03ed64e2b29e1ea06ebb4b09e83"><code>2f27752</code></a>
chore: remove <code>env_logger</code> from <code>hyper</code>
example</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/f96846d78a3f240a2c81636a7d6921e5d74ac79f"><code>f96846d</code></a>
attributes: fix typo &quot;overriden&quot; =&gt; &quot;overridden&quot;
(<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2719">#2719</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/71b5b2c5792ee6cd4e98112a90f9fcd19dd1ddc0"><code>71b5b2c</code></a>
subscriber: make <code>format::Writer::new()</code> public (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2680">#2680</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/f8c000202a30f8b9814b21a1e949ab35aeca5954"><code>f8c0002</code></a>
attributes: fix clippy warning in attributes tests (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2742">#2742</a>)</li>
<li><a
href="https://github.com/tokio-rs/tracing/commit/60b2dc34662648b91d69b2fa51d18d3677ddbce7"><code>60b2dc3</code></a>
journald: fix clippy <code>unwrap_or_default</code> warning (<a
href="https://redirect.github.com/tokio-rs/tracing/issues/2742">#2742</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/tokio-rs/tracing/compare/tracing-core-0.1.31...tracing-core-0.1.32">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing-core&package-manager=cargo&previous-version=0.1.31&new-version=0.1.32)](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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: command-bot <>
Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2023-12-05 23:44:56 +01:00
dzmitry-lahoda 0239cedd0f chore: fixed std wasm build of xcm (#2535)
# Description

just ensures

```sh
cargo check --package staging-xcm  --no-default-features  --target wasm32-unknown-unknown --features=std
```

work (for CosmWasm)

# 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)
- [x] 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: Bastian Köcher <git@kchr.de>
2023-12-05 23:22:28 +01:00
Branislav Kontur 9a111fdc6e Bridges update subtree (#2625) 2023-12-05 15:19:33 +02:00
Juan Girini a310df263d Move developer-hub to polkadot-sdk-docs (#2598)
This PR is a continuation of
https://github.com/paritytech/polkadot-sdk/pull/2102 and part of an
initiative started here https://hackmd.io/@romanp/rJ318ZCEp
What has been done:
- The content under `docs/*` (with the exception of `docs/mermaid`) has
been moved to `docs/contributor/`
- Developer Hub has been renamed to Polkadot SDK Docs, and the crate has
been renamed from `developer-hub` to `polkadot-sdk-docs`
- The content under `developer-hub/*` has been moved to `docs/sdk`

---
Original PR https://github.com/paritytech/polkadot-sdk/pull/2565, it has
been close due to too many rebase conflicts

---------

Co-authored-by: Serban Iorga <serban@parity.io>
Co-authored-by: Chevdor <chevdor@users.noreply.github.com>
Co-authored-by: Egor_P <egor@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-05 10:23:24 +01:00
gupnik 6bab88c662 Adds derive_impl to relay-chain and parachain runtimes (#2476) 2023-12-05 05:01:09 +02:00
dependabot[bot] 6d50cd43c0 Bump multihash from 0.17.0 to 0.18.1 (#2592)
Bumps [multihash](https://github.com/multiformats/rust-multihash) from
0.17.0 to 0.18.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/multiformats/rust-multihash/blob/master/CHANGELOG.md">multihash's
changelog</a>.</em></p>
<blockquote>
<h2><a
href="https://github.com/multiformats/rust-multihash/compare/v0.18.0...v0.18.1">v0.18.1</a>
(2023-04-14)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>don't panic on non minimal varints (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/293">#293</a>)
(<a
href="https://github.com/multiformats/rust-multihash/commit/c3445fc5041b0fc573945321ebd4b0cdffe0daa5">c3445fc</a>),
closes <a
href="https://redirect.github.com/multiformats/rust-multihash/issues/282">#282</a></li>
</ul>
<h2><a
href="https://github.com/multiformats/rust-multihash/compare/v0.17.0...v0.18.0">0.18.0</a>
(2022-12-06)</h2>
<h3>⚠ BREAKING CHANGES</h3>
<ul>
<li>
<p>update to Rust edition 2021</p>
</li>
<li>
<p><code>Multihash::write()</code> returns bytes written</p>
<p>Prior to this change it returned an empty tuple <code>()</code>, now
it returns
the bytes written.</p>
</li>
</ul>
<h3>Features</h3>
<ul>
<li>add <code>encoded_len</code> and bytes written (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/252">#252</a>)
(<a
href="https://github.com/multiformats/rust-multihash/commit/b3cc43ecb6f9c59da774b094853d6542430d55ad">b3cc43e</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li>remove Nix support (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/254">#254</a>)
(<a
href="https://github.com/multiformats/rust-multihash/commit/ebf57ddb82be2d2fd0a2f00666b0f888d4c78e1b">ebf57dd</a>),
closes <a
href="https://redirect.github.com/multiformats/rust-multihash/issues/247">#247</a></li>
<li>update to Rust edition 2021 (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/255">#255</a>)
(<a
href="https://github.com/multiformats/rust-multihash/commit/da53376e0d9cf2d82d6c0d10590a77991cb3a6b6">da53376</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/02c5c664a7e59f6ecf84e81276c4eb8bb65693d5"><code>02c5c66</code></a>
chore: Release multihash version 0.18.1</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/d08a25d8d624f4a3afcad0ecf724f7d9a20b5e28"><code>d08a25d</code></a>
chore: add 0.18.1 to changelog</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/c3445fc5041b0fc573945321ebd4b0cdffe0daa5"><code>c3445fc</code></a>
fix: don't panic on non minimal varints (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/293">#293</a>)</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/f015e0a2e4f55742eca95ddbb5561d8c703d551f"><code>f015e0a</code></a>
chore: Release</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/8651573323c4191931e12cf9f1ed5feabf5a4989"><code>8651573</code></a>
Two small cleanups before the release (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/257">#257</a>)</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/048d2350b3fa3ac1fec59bbf8cd8063e00b13593"><code>048d235</code></a>
chore: add v0.18 changelog (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/253">#253</a>)</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/da53376e0d9cf2d82d6c0d10590a77991cb3a6b6"><code>da53376</code></a>
fix: update to Rust edition 2021 (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/255">#255</a>)</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/ebf57ddb82be2d2fd0a2f00666b0f888d4c78e1b"><code>ebf57dd</code></a>
fix: remove Nix support (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/254">#254</a>)</li>
<li><a
href="https://github.com/multiformats/rust-multihash/commit/b3cc43ecb6f9c59da774b094853d6542430d55ad"><code>b3cc43e</code></a>
feat: add <code>encoded_len</code> and bytes written (<a
href="https://redirect.github.com/multiformats/rust-multihash/issues/252">#252</a>)</li>
<li>See full diff in <a
href="https://github.com/multiformats/rust-multihash/compare/v0.17.0...v0.18.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=multihash&package-manager=cargo&previous-version=0.17.0&new-version=0.18.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore <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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
2023-12-04 23:19:59 +02:00
Bastian Köcher a1b2ecb902 pallet-ranked-collective: Ensure to cleanup state in remove_member (#2591)
This ensures that we cleanup the state of `who` in `remove_member`.

---------

Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
2023-12-04 20:43:27 +02:00
Bastian Köcher aa4754e30a contracts-fixtures: Do not assume that rustup is installed (#2586)
The build script was assuming that `rustup` is installed, which breaks
the build on systems that do not use `rustup`. This pull request just
fixes it by not panicking on the call to `rustup`.
2023-12-04 17:03:47 +01:00
Branislav Kontur 01bbd63d2d Align style guide for default = [ "std" ] vs default = ["std"] (#2603) 2023-12-04 17:02:41 +01:00
gupnik 35c39c9608 Fixes runtime type with doc parsing in derive_impl (#2594)
Step in https://github.com/paritytech/polkadot-sdk/issues/171

This PR fixes a bug in `derive_impl` causing `#[inject_runtime_type]`
attribute to be parsed incorrectly when docs are added.
2023-12-04 12:12:14 +01:00
Davide Galassi ecfdb2b74f Bandersnatch: ring-context generic over domain size (#2581)
Serialized length is now statically computed depending on the domain
size.

Opens the primitive to more generic usages not related to Sassafras
expectations

Address one point of
https://github.com/paritytech/polkadot-sdk/issues/2364
2023-12-01 23:50:34 +02:00
Michal Kucharczyk 5789d6a7b4 sassafras: taplo happy (#2583)
fixes: `taplo format check`
2023-12-01 22:23:19 +02:00
dependabot[bot] 87a73e7afa Bump the known_good_semver group with 1 update (#2575)
Bumps the known_good_semver group with 1 update:
[syn](https://github.com/dtolnay/syn).

Updates `syn` from 2.0.38 to 2.0.39
<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.39</h2>
<ul>
<li>Fix parsing of return expression in match guards (<a
href="https://redirect.github.com/dtolnay/syn/issues/1528">#1528</a>)</li>
<li>Improve error message on labeled loop as value expression for break
(<a
href="https://redirect.github.com/dtolnay/syn/issues/1531">#1531</a>)</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/dtolnay/syn/commit/924217c1734c085ee6cdb5e198d36d610c234313"><code>924217c</code></a>
Release 2.0.39</li>
<li><a
href="https://github.com/dtolnay/syn/commit/95aeeb559866368d8b910d388c8e04b96083666a"><code>95aeeb5</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1531">#1531</a>
from dtolnay/breaklabel</li>
<li><a
href="https://github.com/dtolnay/syn/commit/b88f86fae5c1ac284179181bf7a34549e6d96d7c"><code>b88f86f</code></a>
Ignore single_element_loop clippy lint in test</li>
<li><a
href="https://github.com/dtolnay/syn/commit/a876185366557cb0e0e175c3be48721c8cc0d8e6"><code>a876185</code></a>
Improve error on break followed by labeled loop</li>
<li><a
href="https://github.com/dtolnay/syn/commit/32ab9794d6b75248c1946ae18baab12a46137eb0"><code>32ab979</code></a>
Add test of ambiguous label parsing in break</li>
<li><a
href="https://github.com/dtolnay/syn/commit/6f658f88a213e25b7ac7ec2dc77c537de679b745"><code>6f658f8</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1530">#1530</a>
from dtolnay/canbeginexpr</li>
<li><a
href="https://github.com/dtolnay/syn/commit/20497e1a555812cfe05769b4d8c117c4e0e4edbd"><code>20497e1</code></a>
More precise decision to parse expression after return keyword</li>
<li><a
href="https://github.com/dtolnay/syn/commit/c6a651aa12447d50c22db3189ef38cff90fc267b"><code>c6a651a</code></a>
Update name of ExprReturn parse function to match variant name</li>
<li><a
href="https://github.com/dtolnay/syn/commit/c2745901009f7d65e7b708cd80031642038f765e"><code>c274590</code></a>
Indicate that peek argument refers to syn::Ident</li>
<li><a
href="https://github.com/dtolnay/syn/commit/3e67cb0c660fc906770d212465652bfeb7a75727"><code>3e67cb0</code></a>
Merge pull request <a
href="https://redirect.github.com/dtolnay/syn/issues/1529">#1529</a>
from dtolnay/up</li>
<li>Additional commits viewable in <a
href="https://github.com/dtolnay/syn/compare/2.0.38...2.0.39">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.38&new-version=2.0.39)](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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 18:57:47 +01:00
Davide Galassi 095f4bd9ae Sassafras Consensus Pallet (#1577)
This PR introduces the pallet for Sassafras consensus.

## Non Goals

The pallet delivers only the bare-bones and doesn't deliver support for
auxiliary functionalities such as equivocation report and support for
epoch change via session pallet.

These functionalities were drafted in the [main
PR](https://github.com/paritytech/polkadot-sdk/pull/1336), but IMO is
better to introduce this auxiliary stuff in a follow up PR and after
client code.

## Potential follow ups

https://github.com/paritytech/polkadot-sdk/issues/2364

---------

Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
Co-authored-by: Koute <koute@users.noreply.github.com>
Co-authored-by: Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
Co-authored-by: André Silva <123550+andresilva@users.noreply.github.com>
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-01 16:39:07 +01:00
dependabot[bot] 7f0beaf2a5 Bump proc-macro-crate from 1.3.1 to 2.0.0 (#2557)
Bumps [proc-macro-crate](https://github.com/bkchr/proc-macro-crate) from
1.3.1 to 2.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>v2.0.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Release 2.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/39">bkchr/proc-macro-crate#39</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/bkchr/proc-macro-crate/compare/v1.3.1...v2.0.0">https://github.com/bkchr/proc-macro-crate/compare/v1.3.1...v2.0.0</a></p>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/bkchr/proc-macro-crate/commit/cc100ed2bc1ac9bb81812fd435a43e2ef023f355"><code>cc100ed</code></a>
Merge pull request <a
href="https://redirect.github.com/bkchr/proc-macro-crate/issues/39">#39</a>
from bkchr/bkchr-2.0.0</li>
<li><a
href="https://github.com/bkchr/proc-macro-crate/commit/39a7c1844fc4d73ef397a7e8d9419f1f3381aa44"><code>39a7c18</code></a>
Release 2.0.0</li>
<li>See full diff in <a
href="https://github.com/bkchr/proc-macro-crate/compare/v1.3.1...v2.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=1.3.1&new-version=2.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: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-01 13:04:12 +01:00
Andrew Jones dfd7b15eff Contracts: make benchmark dependencies optional in std feature (#2576)
`wasm-instrument` and `rand` are optional and only used in benchmarking,
so should not be pulled in by default as part of the `std` feature.
2023-12-01 13:19:09 +02:00
Liam Aharon 4a293bc5a2 Enforce consistent and correct toml formatting (#2518)
Using taplo, fixes all our broken and inconsistent toml formatting and
adds CI to keep them tidy.

If people want we can customise the format rules as described here
https://taplo.tamasfe.dev/configuration/formatter-options.html

@ggwpez, I suggest zepter is used only for checking features are
propagated, and leave formatting for taplo to avoid duplicate work and
conflicts.

TODO
- [x] Use `exclude = [...]` syntax in taplo file to ignore zombienet
tests instead of deleting the dir

---------

Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
Co-authored-by: Bastian Köcher <git@kchr.de>
2023-12-01 07:38:02 +00:00