Skip to content
  1. Oct 21, 2024
    • Kian Paimani's avatar
      4387d0f8
    • dependabot[bot]'s avatar
      Bump thiserror from 1.0.61 to 1.0.64 (#6143) · 69b929f5
      dependabot[bot] authored
      
      
      Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.61 to
      1.0.64.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/thiserror/releases">thiserror's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.64</h2>
      <ul>
      <li>Exclude derived impls from coverage instrumentation (<a
      href="https://redirect.github.com/dtolnay/thiserror/issues/322">#322</a>,
      thanks <a
      href="https://github.com/oxalica"><code>@​oxalica</code></a>)</li>
      </ul>
      <h2>1.0.63</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      <h2>1.0.62</h2>
      <ul>
      <li>Support referring to nested tuple struct fields inside
      <code>#[error(&quot;…&quot;, …)]</code> attribute (<a
      href="https://redirect.github.com/dtolnay/thiserror/issues/309">#309</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/84484bc75c20d63ec63299354b463407f3d59f68"><code>84484bc</code></a>
      Release 1.0.64</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/023f036de4515542d0c55aa5c580bc9352a077d1"><code>023f036</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/thiserror/issues/322">#322</a>
      from oxalica/feat/mark-auto-derived</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/ae1f47e3e5d6705b6b12997bd036fd97303d71d7"><code>ae1f47e</code></a>
      Mark #[automatically_derived] for generated impls</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/ab5b5e375b26971850b134abc7bbfe8a67da0fe3"><code>ab5b5e3</code></a>
      Upload CI Cargo.lock for reproducing failures</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/00b3c1405e5df26f9c6408e5fd43f52fa12e8e07"><code>00b3c14</code></a>
      Work around new dead code warning in test</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/915c75e8a3b679588e6eac03dccbba5d38c764a8"><code>915c75e</code></a>
      Release 1.0.63</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/3d5ec25464d2d71f09f480666e240d3446a44a19"><code>3d5ec25</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/thiserror/issues/312">#312</a>
      from dtolnay/backtracedoc</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/de8a1e54d420514250d9d4081d41723192cf0dfa"><code>de8a1e5</code></a>
      Update documentation of #[from] and #[backtrace] attributes</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/0bf6e3dd781409b62cbcf0816ffa1bb970d24833"><code>0bf6e3d</code></a>
      Release 1.0.62</li>
      <li><a
      href="https://github.com/dtolnay/thiserror/commit/497793283934d9e514d903a14278af6babbfbb65"><code>4977932</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/thiserror/issues/310">#310</a>
      from dtolnay/nestedtuple</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/thiserror/compare/1.0.61...1.0.64">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=thiserror&package-manager=cargo&previous-version=1.0.61&new-version=1.0.64)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      69b929f5
    • Serban Iorga's avatar
      Fix and re-enable `zombienet-substrate-0002-validators-warp-sync` (#6154) · 9f515e02
      Serban Iorga authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/5974
      
      Fixed as per
      https://github.com/paritytech/polkadot-sdk/issues/5974#issuecomment-2426463359
      9f515e02
    • Andrii's avatar
      Improved TrustedQueryAPI signatures (#6129) · 95483a88
      Andrii authored
      
      
      Changed returned type of API methods from `Result<bool,
      xcm_runtime_apis::trusted_query::Error>` to a typed one `type
      XcmTrustedQueryResult = Result<bool,
      xcm_runtime_apis::trusted_query::Error>;`
      Follow-up of
      [PR-6039](https://github.com/paritytech/polkadot-sdk/pull/6039)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      95483a88
    • dependabot[bot]'s avatar
      Bump the known_good_semver group across 1 directory with 3 updates (#6145) · a538ac10
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 3 updates in the / directory:
      [impl-serde](https://github.com/paritytech/parity-common),
      [serde_json](https://github.com/serde-rs/json) and
      [syn](https://github.com/dtolnay/syn).
      
      Updates `impl-serde` from 0.4.0 to 0.5.0
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/63c5afbf8e0e903439d3c127c59b0e4a7991000b"><code>63c5afb</code></a>
      Bump versions (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/860">#860</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/0db43ee6a258f02894bbc873be08126331691012"><code>0db43ee</code></a>
      Remove From [u8; n] impl for uint types (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/859">#859</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/701148e9afc7aa03a0eb2b66ce0309875810a1c3"><code>701148e</code></a>
      Update syn to 2 (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/855">#855</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/2f1866d2e1b6d1a09b82396404c9e9e5c79fbae4"><code>2f1866d</code></a>
      Upgrade rocksdb to 0.22 (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/853">#853</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/9ff9316a53d03e14c267aa6dcc45c478bfb2b12a"><code>9ff9316</code></a>
      fix compile errors with new Rust (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/854">#854</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/757e2bdd02fd7515545b8fe52226ff36e3cee14e"><code>757e2bd</code></a>
      primitive-types: add repository URL to Cargo.toml (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/844">#844</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/d5e9c1d5b52e7a43f843855a0f4fbc319929a681"><code>d5e9c1d</code></a>
      Add more comment (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/827">#827</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/dbf46bada7e1e796899b24155fa0fc9b7d2f3ab6"><code>dbf46ba</code></a>
      Release 0.2.0 (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/825">#825</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/314bda627a590de8e43a4611e6e8a3a33cc3f1a3"><code>314bda6</code></a>
      build(deps): bump Swatinem/rust-cache from 2.7.2 to 2.7.3 (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/824">#824</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-common/commit/2241f644e02e6e91072a7087eb056ffb0085c711"><code>2241f64</code></a>
      build(deps): bump Swatinem/rust-cache from 2.7.1 to 2.7.2 (<a
      href="https://redirect.github.com/paritytech/parity-common/issues/823">#823</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/paritytech/parity-common/compare/impl-serde-v0.4.0...impl-serde-v0.5.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.128 to 1.0.132
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/json/releases">serde_json's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.132</h2>
      <ul>
      <li>Improve binary size and compile time for JSON array and JSON object
      deserialization by about 50% (<a
      href="https://redirect.github.com/serde-rs/json/issues/1205">#1205</a>)</li>
      <li>Improve performance of JSON array and JSON object deserialization by
      about 8% (<a
      href="https://redirect.github.com/serde-rs/json/issues/1206">#1206</a>)</li>
      </ul>
      <h2>1.0.131</h2>
      <ul>
      <li>Implement Deserializer and IntoDeserializer for <code>Map&lt;String,
      Value&gt;</code> and <code>&amp;Map&lt;String, Value&gt;</code> (<a
      href="https://redirect.github.com/serde-rs/json/issues/1135">#1135</a>,
      thanks <a
      href="https://github.com/swlynch99"><code>@​swlynch99</code></a>)</li>
      </ul>
      <h2>1.0.130</h2>
      <ul>
      <li>Support converting and deserializing <code>Number</code> from i128
      and u128 (<a
      href="https://redirect.github.com/serde-rs/json/issues/1141">#1141</a>,
      thanks <a
      href="https://github.com/druide"><code>@​druide</code></a>)</li>
      </ul>
      <h2>1.0.129</h2>
      <ul>
      <li>Add <a
      href="https://docs.rs/serde_json/1/serde_json/struct.Map.html#method.sort_keys"><code>serde_json::Map::sort_keys</code></a>
      and <a
      href="https://docs.rs/serde_json/1/serde_json/enum.Value.html#method.sort_all_objects"><code>serde_json::Value::sort_all_objects</code></a>
      (<a
      href="https://redirect.github.com/serde-rs/json/issues/1199">#1199</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/86d933cfd7b5665270e66296694468286794ae44"><code>86d933c</code></a>
      Release 1.0.132</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/f45b422a3ba435722753a2ad7ad32e2a7e2d0596"><code>f45b422</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1206">#1206</a>
      from dtolnay/hasnext</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/f2082d2a04b3b5d72503ac89e2182a5833bb2a1e"><code>f2082d2</code></a>
      Clearer order of comparisons</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/0f54a1a0df5045aee4a2d2f8656c365d835095e5"><code>0f54a1a</code></a>
      Handle early return sooner on eof in seq or map</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/2a4cb44f7cc591a4542cbb1a73ca5bdc8a02c0d7"><code>2a4cb44</code></a>
      Rearrange 'match peek'</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/4cb90ce66de2e0b52572d40ab518ad6d634e43d1"><code>4cb90ce</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1205">#1205</a>
      from dtolnay/hasnext</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b71ccd2d8f6aabaa0ac6cb889f8e18989038d968"><code>b71ccd2</code></a>
      Reduce duplicative instantiation of logic in SeqAccess and
      MapAccess</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/a810ba985095ecd5bb3f8741f0e6d71e36975cb6"><code>a810ba9</code></a>
      Release 1.0.131</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/0d084c50380a91b0b83ee96eb5e8ae04de7baaf5"><code>0d084c5</code></a>
      Touch up PR 1135</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/b4954a95613fcf5b5b9e830582c0ba5f24a0dd60"><code>b4954a9</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1135">#1135</a>
      from swlynch99/map-deserializer</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/json/compare/1.0.128...1.0.132">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `syn` from 2.0.79 to 2.0.82
      <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.82</h2>
      <ul>
      <li>Provide <code>Parse</code> impls for PreciseCapture and
      CapturedParam (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1757">#1757</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1758">#1758</a>)</li>
      <li>Support parsing <code>unsafe</code> attributes (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1759">#1759</a>)</li>
      <li>Add Fold and VisitMut methods for Vec&lt;Attribute&gt; (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1762">#1762</a>)</li>
      </ul>
      <h2>2.0.81</h2>
      <ul>
      <li>Add TypeParamBound::PreciseCapture to represent precise capture
      syntax <code>impl Trait + use&lt;'a, T&gt;</code> (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1752">#1752</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1753">#1753</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1754">#1754</a>)</li>
      </ul>
      <h2>2.0.80</h2>
      <ul>
      <li>Add <code>Expr::RawAddr</code> (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1743">#1743</a>)</li>
      <li>Reject precise captures and ~const in inappropriate syntax positions
      (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1747">#1747</a>)</li>
      <li>Reject trait bound containing only precise capture (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1748">#1748</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/76092cf236bba9311d953887fff5c3391420803e"><code>76092cf</code></a>
      Release 2.0.82</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/937dbcb95c875f4d1d39fabb032ac318ad58ace5"><code>937dbcb</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1762">#1762</a>
      from dtolnay/vecattr</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/386ae9da289a83402ad8c6e8493b667e6876153d"><code>386ae9d</code></a>
      Add Fold and VisitMut methods for Vec&lt;Attribute&gt;</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/4c7f82e6fc334400420ad93df489d863050c28f0"><code>4c7f82e</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1759">#1759</a>
      from dtolnay/unsafeattr</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/a45af00fdfbaf0e686f0b7e45259caf4ac3fcadc"><code>a45af00</code></a>
      Parse unsafe attributes</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/e011ba794aba6aaa0d5c96368bf6cf686581ee96"><code>e011ba7</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1758">#1758</a>
      from dtolnay/precisecapture</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/c25900d5f4949fb04890f8507d9b1dd5be18de5a"><code>c25900d</code></a>
      Implement Parse for CapturedParam</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/fc22fcea08252e34738e5adc2c605da379bebed5"><code>fc22fce</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1757">#1757</a>
      from dtolnay/precisecapture</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/3a45d69b8bd51c4f0608303fe4068840b064b8b6"><code>3a45d69</code></a>
      Implement Parse for PreciseCapture</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/c9bdfacf92c578b9af50f6528fc9f73e79d013bd"><code>c9bdfac</code></a>
      Tweak parsing logic for TypeParamBound</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.79...2.0.82">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>
      a538ac10
    • Pavel Suprunyuk's avatar
      Fix a reference name in a reusable workflow invocation (#6118) · d4409e3b
      Pavel Suprunyuk authored
      This is just a small adjustment of the reusable workflow invocation
      d4409e3b
    • Javier Viola's avatar
      bump zombienet version `v1.3.116` (#6155) · 73a51fd9
      Javier Viola authored
      Bump zombienet version, includes fixes for `ci`. (mostly timeouts for
      k8s).
      73a51fd9
  2. Oct 20, 2024
  3. Oct 18, 2024
    • Bastian Köcher's avatar
      sync: Remove checking of the extrinsics root (#5686) · 5e0843e5
      Bastian Köcher authored
      With the introduction of `system_version` in
      https://github.com/paritytech/polkadot-sdk/pull/4257 the extrinsic root
      may also use the `V1` layout. At this point in the sync code it would
      require some special handling to find out the `system_version`. So, this
      pull request is removing it. The extrinsics root is checked when
      executing the block later, so that at least no invalid block gets
      imported.
      5e0843e5
    • Andrii's avatar
      Added .scale metadata-files to gitignore (#6130) · c6b847a3
      Andrii authored
      
      
      To prevent [similar
      issues](https://github.com/paritytech/polkadot-sdk/pull/6124) add .scale
      files to gitignore
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      c6b847a3
    • Andrii's avatar
      Removed .scale files (#6124) · e9238b39
      Andrii authored
      Those files were introduced by mistake in
      https://github.com/paritytech/polkadot-sdk/pull/6039
      e9238b39
    • georgepisaltu's avatar
      FRAME: Reintroduce `TransactionExtension` as a replacement for `SignedExtension` (#3685) · b76e91ac
      georgepisaltu authored
      
      
      Original PR https://github.com/paritytech/polkadot-sdk/pull/2280
      reverted in https://github.com/paritytech/polkadot-sdk/pull/3665
      
      This PR reintroduces the reverted functionality with additional changes,
      related effort
      [here](https://github.com/paritytech/polkadot-sdk/pull/3623).
      Description is copied over from the original PR
      
      First part of [Extrinsic
      Horizon](https://github.com/paritytech/polkadot-sdk/issues/2415)
      
      Introduces a new trait `TransactionExtension` to replace
      `SignedExtension`. Introduce the idea of transactions which obey the
      runtime's extensions and have according Extension data (né Extra data)
      yet do not have hard-coded signatures.
      
      Deprecate the terminology of "Unsigned" when used for
      transactions/extrinsics owing to there now being "proper" unsigned
      transactions which obey the extension framework and "old-style" unsigned
      which do not. Instead we have __*General*__ for the former and
      __*Bare*__ for the latter. (Ultimately, the latter will be phased out as
      a type of transaction, and Bare will only be used for Inherents.)
      
      Types of extrinsic are now therefore:
      - Bare (no hardcoded signature, no Extra data; used to be known as
      "Unsigned")
      - Bare transactions (deprecated): Gossiped, validated with
      `ValidateUnsigned` (deprecated) and the `_bare_compat` bits of
      `TransactionExtension` (deprecated).
        - Inherents: Not gossiped, validated with `ProvideInherent`.
      - Extended (Extra data): Gossiped, validated via `TransactionExtension`.
        - Signed transactions (with a hardcoded signature) in extrinsic v4.
      - General transactions (without a hardcoded signature) in extrinsic v5.
      
      `TransactionExtension` differs from `SignedExtension` because:
      - A signature on the underlying transaction may validly not be present.
      - It may alter the origin during validation.
      - `pre_dispatch` is renamed to `prepare` and need not contain the checks
      present in `validate`.
      - `validate` and `prepare` is passed an `Origin` rather than a
      `AccountId`.
      - `validate` may pass arbitrary information into `prepare` via a new
      user-specifiable type `Val`.
      - `AdditionalSigned`/`additional_signed` is renamed to
      `Implicit`/`implicit`. It is encoded *for the entire transaction* and
      passed in to each extension as a new argument to `validate`. This
      facilitates the ability of extensions to acts as underlying crypto.
      
      There is a new `DispatchTransaction` trait which contains only default
      function impls and is impl'ed for any `TransactionExtension` impler. It
      provides several utility functions which reduce some of the tedium from
      using `TransactionExtension` (indeed, none of its regular functions
      should now need to be called directly).
      
      Three transaction version discriminator ("versions") are now permissible
      (RFC [here](https://github.com/polkadot-fellows/RFCs/pull/84)) in
      extrinsic version 5:
      - 0b00000100 or 0b00000101: Bare (used to be called "Unsigned"):
      contains Signature or Extra (extension data). After bare transactions
      are no longer supported, this will strictly identify an Inherents only.
      Available in both extrinsic versions 4 and 5.
      - 0b10000100: Old-school "Signed" Transaction: contains Signature, Extra
      (extension data) and an extension version byte, introduced as part of
      [RFC99](https://github.com/polkadot-fellows/RFCs/blob/main/text/0099-transaction-extension-version.md).
      Still available as part of extrinsic v4.
      - 0b01000101: New-school "General" Transaction: contains Extra
      (extension data) and an extension version byte, as per RFC99, but no
      Signature. Only available in extrinsic v5.
      
      For the New-school General Transaction, it becomes trivial for authors
      to publish extensions to the mechanism for authorizing an Origin, e.g.
      through new kinds of key-signing schemes, ZK proofs, pallet state,
      mutations over pre-authenticated origins or any combination of the
      above.
      
      `UncheckedExtrinsic` still maintains encode/decode backwards
      compatibility with extrinsic version 4, where the first byte was encoded
      as:
      - 0b00000100 - Unsigned transactions
      - 0b10000100 - Old-school Signed transactions, without the extension
      version byte
      
      Now, `UncheckedExtrinsic` contains a `Preamble` and the actual call. The
      `Preamble` describes the type of extrinsic as follows:
      ```rust
      /// A "header" for extrinsics leading up to the call itself. Determines the type of extrinsic and
      /// holds any necessary specialized data.
      #[derive(Eq, PartialEq, Clone)]
      pub enum Preamble<Address, Signature, Extension> {
      	/// An extrinsic without a signature or any extension. This means it's either an inherent or
      	/// an old-school "Unsigned" (we don't use that terminology any more since it's confusable with
      	/// the general transaction which is without a signature but does have an extension).
      	///
      	/// NOTE: In the future, once we remove `ValidateUnsigned`, this will only serve Inherent
      	/// extrinsics and thus can be renamed to `Inherent`.
      	Bare(ExtrinsicVersion),
      	/// An old-school transaction extrinsic which includes a signature of some hard-coded crypto.
      	/// Available only on extrinsic version 4.
      	Signed(Address, Signature, ExtensionVersion, Extension),
      	/// A new-school transaction extrinsic which does not include a signature by default. The
      	/// origin authorization, through signatures or other means, is performed by the transaction
      	/// extension in this extrinsic. Available starting with extrinsic version 5.
      	General(ExtensionVersion, Extension),
      }
      ```
      
      ## Code Migration
      
      ### NOW: Getting it to build
      
      Wrap your `SignedExtension`s in `AsTransactionExtension`. This should be
      accompanied by renaming your aggregate type in line with the new
      terminology. E.g. Before:
      
      ```rust
      /// The SignedExtension to the basic transaction logic.
      pub type SignedExtra = (
      	/* snip */
      	MySpecialSignedExtension,
      );
      /// Unchecked extrinsic type as expected by this runtime.
      pub type UncheckedExtrinsic =
      	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, SignedExtra>;
      ```
      
      After:
      
      ```rust
      /// The extension to the basic transaction logic.
      pub type TxExtension = (
      	/* snip */
      	AsTransactionExtension<MySpecialSignedExtension>,
      );
      /// Unchecked extrinsic type as expected by this runtime.
      pub type UncheckedExtrinsic =
      	generic::UncheckedExtrinsic<Address, RuntimeCall, Signature, TxExtension>;
      ```
      
      You'll also need to alter any transaction building logic to add a
      `.into()` to make the conversion happen. E.g. Before:
      
      ```rust
      fn construct_extrinsic(
      		/* snip */
      ) -> UncheckedExtrinsic {
      	let extra: SignedExtra = (
      		/* snip */
      		MySpecialSignedExtension::new(/* snip */),
      	);
      	let payload = SignedPayload::new(call.clone(), extra.clone()).unwrap();
      	let signature = payload.using_encoded(|e| sender.sign(e));
      	UncheckedExtrinsic::new_signed(
      		/* snip */
      		Signature::Sr25519(signature),
      		extra,
      	)
      }
      ```
      
      After:
      
      ```rust
      fn construct_extrinsic(
      		/* snip */
      ) -> UncheckedExtrinsic {
      	let tx_ext: TxExtension = (
      		/* snip */
      		MySpecialSignedExtension::new(/* snip */).into(),
      	);
      	let payload = SignedPayload::new(call.clone(), tx_ext.clone()).unwrap();
      	let signature = payload.using_encoded(|e| sender.sign(e));
      	UncheckedExtrinsic::new_signed(
      		/* snip */
      		Signature::Sr25519(signature),
      		tx_ext,
      	)
      }
      ```
      
      ### SOON: Migrating to `TransactionExtension`
      
      Most `SignedExtension`s can be trivially converted to become a
      `TransactionExtension`. There are a few things to know.
      
      - Instead of a single trait like `SignedExtension`, you should now
      implement two traits individually: `TransactionExtensionBase` and
      `TransactionExtension`.
      - Weights are now a thing and must be provided via the new function `fn
      weight`.
      
      #### `TransactionExtensionBase`
      
      This trait takes care of anything which is not dependent on types
      specific to your runtime, most notably `Call`.
      
      - `AdditionalSigned`/`additional_signed` is renamed to
      `Implicit`/`implicit`.
      - Weight must be returned by implementing the `weight` function. If your
      extension is associated with a pallet, you'll probably want to do this
      via the pallet's existing benchmarking infrastructure.
      
      #### `TransactionExtension`
      
      Generally:
      - `pre_dispatch` is now `prepare` and you *should not reexecute the
      `validate` functionality in there*!
      - You don't get an account ID any more; you get an origin instead. If
      you need to presume an account ID, then you can use the trait function
      `AsSystemOriginSigner::as_system_origin_signer`.
      - You get an additional ticket, similar to `Pre`, called `Val`. This
      defines data which is passed from `validate` into `prepare`. This is
      important since you should not be duplicating logic from `validate` to
      `prepare`, you need a way of passing your working from the former into
      the latter. This is it.
      - This trait takes a `Call` type parameter. `Call` is the runtime call
      type which used to be an associated type; you can just move it to become
      a type parameter for your trait impl.
      - There's no `AccountId` associated type any more. Just remove it.
      
      Regarding `validate`:
      - You get three new parameters in `validate`; all can be ignored when
      migrating from `SignedExtension`.
      - `validate` returns a tuple on success; the second item in the tuple is
      the new ticket type `Self::Val` which gets passed in to `prepare`. If
      you use any information extracted during `validate` (off-chain and
      on-chain, non-mutating) in `prepare` (on-chain, mutating) then you can
      pass it through with this. For the tuple's last item, just return the
      `origin` argument.
      
      Regarding `prepare`:
      - This is renamed from `pre_dispatch`, but there is one change:
      - FUNCTIONALITY TO VALIDATE THE TRANSACTION NEED NOT BE DUPLICATED FROM
      `validate`!!
      - (This is different to `SignedExtension` which was required to run the
      same checks in `pre_dispatch` as in `validate`.)
      
      Regarding `post_dispatch`:
      - Since there are no unsigned transactions handled by
      `TransactionExtension`, `Pre` is always defined, so the first parameter
      is `Self::Pre` rather than `Option<Self::Pre>`.
      
      If you make use of `SignedExtension::validate_unsigned` or
      `SignedExtension::pre_dispatch_unsigned`, then:
      - Just use the regular versions of these functions instead.
      - Have your logic execute in the case that the `origin` is `None`.
      - Ensure your transaction creation logic creates a General Transaction
      rather than a Bare Transaction; this means having to include all
      `TransactionExtension`s' data.
      - `ValidateUnsigned` can still be used (for now) if you need to be able
      to construct transactions which contain none of the extension data,
      however these will be phased out in stage 2 of the Transactions Horizon,
      so you should consider moving to an extension-centric design.
      
      ---------
      
      Signed-off-by: default avatargeorgepisaltu <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      b76e91ac
    • Giuseppe Re's avatar
      Adding migration instruction from benchmarking v1 to v2 (#6093) · a83f0fe8
      Giuseppe Re authored
      
      
      # Adding instruction to migrate benchmarking from v1 to v2
      
      Even if the documentation for benchmarking v1 and v2 is clear and
      detailed, I feel that adding a migration guide from v1 to v2 would help
      doing it quicker.
      
      ## Integration
      This change only affects documentation, so it does not cause integration
      issues.
      
      ## Review Notes
      I followed the migration procedure I applied in PR
      https://github.com/paritytech/polkadot-sdk/pull/6018 . I added
      everything from there, but I may be missing some extra steps that are
      needed in specific case, so in case you notice something please let me
      know.
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <[email protected]>
      a83f0fe8
    • Egor_P's avatar
      [CI] Fix branch-off pipeline (#6120) · b48a6fa5
      Egor_P authored
      A tiny fix for the `Release - Branch off stable branch` pipeline, that
      adds an environment to be able to access secrets
      b48a6fa5
    • Pavlo Khrystenko's avatar
      rpc v2: backpressure `chainhead_v1_follow` (#6058) · a0aefc6b
      Pavlo Khrystenko authored
      
      
      # Description
      
      closes #5871
      
      > The chainHead_v1_follow is using unbounded channels to send out
      messages on the JSON-RPC connection which may use lots of memory if the
      client is slow and can't really keep up with server i.e, substrate may
      keep lots of message in memory
      
      This PR changes the outgoing stream to abort and send a `Stop` event
      downstream in the case that client doesn't keep up with the producer.
      
      ## Integration
      
      *In depth notes about how this PR should be integrated by downstream
      projects. This part is mandatory, and should be
      reviewed by reviewers, if the PR does NOT have the `R0-Silent` label. In
      case of a `R0-Silent`, it can be ignored.*
      
      ## Review Notes
      
      - `rpc::Subscription::pipe_from_stream` - now takes `Self` param by
      reference, change was made to allow sending events to the `Subscription`
      after calls to `pipe_from_stream`.
      - `chainhead_follow::submit_events` - now uses `Abortable` stream to end
      it early in case
           - connection was closed by the client
           - signal received that subscription should stop 
           - error has occured when processing the events 
           - client can't keep up with the events produced
      - TODO: 
        - make the abort logic less hacky
      
      ---------
      
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      a0aefc6b
    • Ermal Kaleci's avatar
      pallet-revive: EXTCODEHASH to match EIP-1052 (#6088) · 09155dbc
      Ermal Kaleci authored
      # Description
      Update `ext_code_hash` to match
      [EIP-1052](https://eips.ethereum.org/EIPS/eip-1052) specs. Since all
      possible results are written into output pointer then there's no need
      for a return value.
      
      https://github.com/paritytech/revive/pull/77
      09155dbc
  4. Oct 17, 2024
    • Andrii's avatar
      Added Trusted Query API calls (#6039) · 7240b474
      Andrii authored
      
      
      Implemented is_trusted_reserve and is_trusted_teleporter API methods. 
      Tested them with regular and chopstick tests.
      Fixes #97
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      7240b474
    • Dónal Murray's avatar
      Fix generate-prdoc for single audiences (#6103) · d23a1bbd
      Dónal Murray authored
      
      
      `prdoc check -n NNNN` (used in CI) enforces that yaml lists only be used
      for lists with length more than one.
      
      Previously this script generated a list no matter how many audiences
      were provided, which generated a broken PRDoc when that number was 1.
      
      Reproducing the issue locally:
      ```
      python .github/scripts/generate-prdoc.py --pr 6022 --bump patch --audience runtime_user --force
      prdoc check -n 6022
      ```
      Fails on master but passes with this change
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      d23a1bbd
    • Egor_P's avatar
      [Release/CI] Adjust release pipelines to support new tags and delete rococo from release (#6108) · 1cc760b2
      Egor_P authored
      This PR introduces adjustments to the release pipelines so that it could
      be used with the new tags in the form of `poilakdot-stableYYMM(-rcX)` in
      addition to the old form of tags like `vX.XX.X`.
      
      Also, the rococo runtime and its parachains are deleted now from the
      build and release draft as it is decommissioned and not used any more
      1cc760b2
    • Joseph Zhao's avatar
      a2c75758
    • Adrian Catangiu's avatar
      [AHs] Support registering assets on Asset Hubs over bridge (#5435) · 9714796b
      Adrian Catangiu authored
      ## Changes
      
      Allows one Asset Hub on one side, to register assets on the other Asset
      Hub over the bridge.
      
      Rococo <> Ethereum test bridge will be dropped in favor of Westend <>
      Ethereum test bridge. This PR also changes emulated tests to simulate
      double bridging from Ethereum<>Westend<>Rococo.
      
      ## Tests
      
      - [x] e2e test: Westend Asset Hub can register Westend and Ethereum
      assets on Asset Hub Rococo
      - [x] e2e test: Rococo Asset Hub can register Rococo assets on Asset Hub
      Westend
      - [x] e2e test (existing): Users on Ethereum can register Ethereum
      assets on Asset Hub Westend
      - [x] e2e test: transfer Rococo assets from Rococo to Westend and back
      - [x] e2e test: transfer Westend assets from Westend to Rococo and back
      - [x] e2e test: transfer Ethereum assets (bridged in through Snowbridge)
      from Westend to Rococo and back
      9714796b
    • drewstone's avatar
      Import vec to bridges/primitives/header-chain (#6031) · 31dfc9f6
      drewstone authored
      # Description
      
      I'm unable to build a bridge library due to the errors below, so I am
      adding the explicit import to `sp_std::vec`.
      
      ## Integration
      
      Projects using it can update their dependency. We are using the branch
      `stable2407` (mixed them up in my branch).
      
      ## Errors
      ```
      error: cannot find macro `vec` in this scope
        --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501/bridges/primitives/header-chain/src/justification/verification/mod.rs:99:19
         |
      99 |         let mut route = vec![];
         |                         ^^^
         |
      help: consider importing one of these items
         |
      23 + use scale_info::prelude::vec;
         |
      23 + use sp_std::vec;
         |
      
      error: cannot find macro `vec` in this scope
         --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501/bridges/primitives/header-chain/src/justification/verification/optimizer.rs:135:36
          |
      135 |         duplicate_votes_ancestries_idxs: vec![],
          |                                          ^^^
          |
      help: consider importing one of these items
          |
      19  + use scale_info::prelude::vec;
          |
      19  + use sp_std::vec;
          |
      
      error: cannot find macro `vec` in this scope
         --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501/bridges/primitives/header-chain/src/justification/verification/optimizer.rs:134:21
          |
      134 |         extra_precommits: vec![],
          |                           ^^^
          |
      help: consider importing one of these items
          |
      19  + use scale_info::prelude::vec;
          |
      19  + use sp_std::vec;
          |
      
      error: cannot find macro `vec` in this scope
        --> /Users/drew/.cargo/git/checkouts/polkadot-sdk-cff69157b985ed76/88c32501
      
      /bridges/primitives/header-chain/src/justification/verification/equivocation.rs:89:27
         |
      89 |         let mut equivocations = vec![];
         |                                 ^^^
         |
      help: consider importing one of these items
         |
      19 + use scale_info::prelude::vec;
         |
      19 + use sp_std::vec;
      ```
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSerban Iorga <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      31dfc9f6
  5. Oct 16, 2024
    • Javier Viola's avatar
      bump `zombienet` version and inc. memory request in k8s (#6091) · d5b96e9e
      Javier Viola authored
      
      
      Bump zombienet version, include updated baseline resources request.
      
      Thx!
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      d5b96e9e
    • Miles Patterson's avatar
      Fix for Issue 4762 (#4803) · 504edb1b
      Miles Patterson authored
      
      
      [Issue #4762 ](https://github.com/paritytech/polkadot-sdk/issues/4762)
      
      - Creates an enum for passing context of `service_queues` being called
      from within `on_initialize` and `on_idle` hooks. Uses a match statement
      inside of `service_queues` to continue using the same code, but NOT
      throw a `defensive` if being called within `on_idle` hook.
      - The issue requested to not throw the `defensive` if being called from
      within `on_idle` hook.
      - Created the `ServiceQueuesContext` enum to pass as an argument of
      `service_queues` when called within the `on_initialize` and `on_idle`
      hooks. A match statement was added inside of `service_queues` to
      continue to throw the defensive if called from `on_initialize` but NOT
      throw the defensive if called from `on_idle`.
      
      ---------
      
      Co-authored-by: default avatargotnoshoeson <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      504edb1b
    • Alexander Samusev's avatar
      [ci] Small updates (#6085) · 4cd7e865
      Alexander Samusev authored
      PR adds timeouts to some jobs, fixes `node-bench-regression-guard` so it
      works on master.
      
      cc https://github.com/paritytech/ci_cd/issues/1063
      4cd7e865
    • Cyrill Leutwiler's avatar
      [pallet-revive] ensure the return data is reset if no frame was instantiated (#6045) · 90c0a0ca
      Cyrill Leutwiler authored
      
      
      Failed call frames do not produce new return data but still reset it.
      
      ---------
      
      Signed-off-by: default avatarxermicus <[email protected]>
      Co-authored-by: default avatarGitHub Action <[email protected]>
      90c0a0ca
    • dependabot[bot]'s avatar
      Bump platforms from 3.0.2 to 3.4.1 (#5865) · e6100597
      dependabot[bot] authored
      
      
      Bumps [platforms](https://github.com/rustsec/rustsec) from 3.0.2 to
      3.4.1.
      <details>
      <summary>Commits</summary>
      <ul>
      <li>See full diff in <a
      href="https://github.com/rustsec/rustsec/commits">compare view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=platforms&package-manager=cargo&previous-version=3.0.2&new-version=3.4.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      e6100597
    • Alexandre R. Baldé's avatar
      Refactor staking pallet benchmarks to `v2` (#6025) · 9d78c51c
      Alexandre R. Baldé authored
      
      
      # Description
      This PR migrates the staking pallet's benchmarks to the `v2` of pallet
      benchmarking tooling provided by
      [`frame_benchmarking`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/benchmarking).
      
      ## Integration
      
      N/A
      
      ## Review Notes
      
      The PR is straightforward, as were #1676 , #1838 and #1868.
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      9d78c51c
    • Alexandru Vasile's avatar
      Metadata V16 (unstable): Enrich metadata with associated types of config traits (#5274) · b649f4a4
      Alexandru Vasile authored
      
      
      This feature is part of the upcoming metadata V16. The associated types
      of the `Config` trait that require the `TypeInfo` or `Parameter` bounds
      are included in the metadata of the pallet. The metadata is not yet
      exposed to the end-user, however the metadata intermediate
      representation (IR) contains these types.
      
      Developers can opt out of metadata collection of the associated types by
      specifying `without_metadata` optional attribute to the
      `#[pallet::config]`.
      
      Furthermore, the `without_metadata` argument can be used in combination
      with the newly added `#[pallet::include_metadata]` attribute to
      selectively include only certain associated types in the metadata
      collection.
      
      ### API Design
      
      - There is nothing to collect from the associated types:
      
      ```rust
      #[pallet::config]
      pub trait Config: frame_system::Config {
      		// Runtime events already propagated to the metadata.
      		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
      
      		// Constants are already propagated.
      		#[pallet::constant]
      		type MyGetParam2: Get<u32>;
      	}
      ```
      
      - Default automatic collection of associated types that require TypeInfo
      or Parameter bounds:
      
      ```rust
      	#[pallet::config]
      	pub trait Config: frame_system::Config {
      		// Runtime events already propagated to the metadata.
      		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
      
      		// Constants are already propagated.
      		#[pallet::constant]
      		type MyGetParam2: Get<u32>;
      
      		// Associated type included by default, because it requires TypeInfo bound.
      		/// Nonce doc.
      		type Nonce: TypeInfo;
      
      		// Associated type included by default, because it requires
      		// Parameter bound (indirect TypeInfo).
      		type AccountData: Parameter;
      
      		// Associated type without metadata bounds, not included.
      		type NotIncluded: From<u8>;
      	}
      ```
      
      - Disable automatic collection
      
      ```rust
      // Associated types are not collected by default.
      	#[pallet::config(without_metadata)]
      	pub trait Config: frame_system::Config {
      		// Runtime events already propagated to the metadata.
      		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
      
      		// Constants are already propagated.
      		#[pallet::constant]
      		type MyGetParam2: Get<u32>;
      
      		// Explicitly include associated types.
      		#[pallet::include_metadata]
      		type Nonce: TypeInfo;
      
      		type AccountData: Parameter;
      
      		type NotIncluded: From<u8>;
      	}
      ```
      
      Builds on top of the PoC:
      https://github.com/paritytech/polkadot-sdk/pull/4358
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4519
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      b649f4a4
    • Sebastian Kunert's avatar
      Stabilize elastic-pov-recovery zombienet test (#6076) · 2c41656c
      Sebastian Kunert authored
      We should start the `recovery-target` node first, then the
      `collator-elastic` node. Also increases the resources available to these
      pods.
      2c41656c
    • Alexandru Vasile's avatar
      litep2p/discovery: Fix memory leak in `litep2p.public_addresses()` (#5998) · 38aa4b75
      Alexandru Vasile authored
      This PR ensures that the `litep2p.public_addresses()` never grows
      indefinitely.
      - effectively fixes subtle memory leaks
      - fixes authority DHT records being dropped due to size limits being
      exceeded
      - provides a healthier subset of public addresses to the `/identify`
      protocol
      
      This PR adds a new `ExternalAddressExpired` event to the
      litep2p/discovery process.
      
      Substrate uses an LRU `address_confirmations` bounded to 32 address
      entries.
      The oldest entry is propagated via the `ExternalAddressExpired` event
      when a new address is added to the list (if capacity is exceeded).
      
      The expired address is then removed from the
      `litep2p.public_addresses()`, effectively limiting its size to 32
      entries (the size of `address_confirmations` LRU).
      
      cc @paritytech/networking @alexggh
      
      
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      38aa4b75
    • Michał Gil's avatar
      remove pallet::getter from pallet-offences (#6027) · fbd69a3b
      Michał Gil authored
      
      
      # Description
      Part of https://github.com/paritytech/polkadot-sdk/issues/3326
      Removes pallet::getter from pallet-offences from type `Reports`.
      Adds a test to verify that retrieval of `Reports` still works with
      storage::getter.
      
      polkadot address: 155YyFVoMnv9BY6qxy2i5wxtveUw7WE1n5H81fL8PZKTA1Sd
      
      ---------
      
      Co-authored-by: default avatarShawn Tabrizi <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      fbd69a3b
  6. Oct 15, 2024
    • Radek Bochenek's avatar
      Fix `solochain-template-runtime` freezes config (#5846) · 5a8e082b
      Radek Bochenek authored
      
      
      # Description
      
      Sets the correct `RuntimeFreezeReason` type for
      `solochain-template-runtime` configuration of pallet_balances.
      
      ## Review Notes
      
      For whatever reason `RuntimeFreezeReason` is currently set to
      `RuntimeHoldReason`. This in turn causes problems with variant counting
      in `MaxFreezes` and results in pallet_balances integrity tests failing
      whenever hold/freeze reasons are added to the runtime.
      This fixes it by simply setting `RuntimeFreezeReason` to
      `RuntimeFreezeReason` in pallet_balances Config.
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      5a8e082b
    • dependabot[bot]'s avatar
      Bump tokio-test from 0.4.3 to 0.4.4 (#5944) · f754863a
      dependabot[bot] authored
      
      
      Bumps [tokio-test](https://github.com/tokio-rs/tokio) from 0.4.3 to
      0.4.4.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/3d0d0fd2af9192ca5cf2836451e96dffab68216a"><code>3d0d0fd</code></a>
      chore: prepare tokio-test v0.4.4 (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6400">#6400</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/7cfb1007969e3fcb28b03854f3126caeca93932e"><code>7cfb100</code></a>
      chore: prepare tokio-stream v0.1.15 (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6401">#6401</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/e37bd6385430620f850a644d58945ace541afb6e"><code>e37bd63</code></a>
      io: implement <code>try_new</code> and <code>try_with_interest</code>
      for <code>AsyncFd</code> (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6345">#6345</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/c9e75785c84a441199992ed38e49aeba2f061a24"><code>c9e7578</code></a>
      sync: remove <code>'static</code> bound on <code>impl Sink for
      PollSender</code> (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6397">#6397</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/3141ed62287043b5400e24ac930b002dc7d11d92"><code>3141ed6</code></a>
      sync: update watch channel docs (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6395">#6395</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/ea1cfbdb97f524a1ae465c0f5454dd6690dd5e6e"><code>ea1cfbd</code></a>
      sync: reorder const_new before new_with (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6392">#6392</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/fb2dc97468fead3c1d318f209a65648e11ade55d"><code>fb2dc97</code></a>
      readme: update commit message guidelines (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6393">#6393</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/a3d2548789d22d4bf193a4614f229944270e912c"><code>a3d2548</code></a>
      sync: implement <code>Clone</code> for <code>watch::Sender</code> (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6388">#6388</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/b4ab6472de9a0708873c5f14f3b8de03b149a1c5"><code>b4ab647</code></a>
      signal: fix typo in argument name (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6389">#6389</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/3133af42e123b9469dad292ae3a090da915d23c5"><code>3133af4</code></a>
      runtime: make the <code>enter</code> example deterministic (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6351">#6351</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/tokio-rs/tokio/compare/tokio-test-0.4.3...tokio-test-0.4.4">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tokio-test&package-manager=cargo&previous-version=0.4.3&new-version=0.4.4)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      f754863a
    • Alexander Samusev's avatar
      [ci] Move build and publish rustdocs to GHA (#6047) · 4edb2198
      Alexander Samusev authored
      PR moves jobs `build-rustdoc`, `test-doc` and `publish-rustdoc` to GHA.
      `publish-rustdoc` was changed so it can publish changes using token from
      GH APP.
      PR removes `test-rustdoc` because the same command in executed in
      `build-rustdoc` and I see no reason to run it twice.
      
      cc https://github.com/paritytech/ci_cd/issues/1006
      4edb2198
    • Michal Kucharczyk's avatar
      fork-aware transaction pool added (#4639) · 26c11fc5
      Michal Kucharczyk authored
      ### Fork-Aware Transaction Pool Implementation
      
      This PR introduces a fork-aware transaction pool (fatxpool) enhancing
      transaction management by maintaining the valid state of txpool for
      different forks.
      
      ### High-level overview
      The high level overview was added to
      [`sc_transaction_pool::fork_aware_txpool`](https://github.com/paritytech/polkadot-sdk/blob/3ad0a1b7/substrate/client/transaction-pool/src/fork_aware_txpool/mod.rs#L21)
      module. Use:
      ```
      cargo  doc --document-private-items -p sc-transaction-pool --open
      ```
      to build the doc. It should give a good overview and nice entry point
      into the new pool's mechanics.
      
      <details>
        <summary>Quick overview (documentation excerpt)</summary>
      
      #### View
      For every fork, a view is created. The view is a persisted state of the
      transaction pool computed and updated at the tip of the fork. The view
      is built around the existing `ValidatedPool` structure.
      
      A view is created on every new best block notification. To create a
      view, one of the existing views is chosen and cloned.
      
      When the chain progresses, the view is kept in the cache
      (`retracted_views`) to allow building blocks upon intermediary blocks in
      the fork.
      
      The views are deleted on finalization: views lower than the finalized
      block are removed.
      
      The views are updated with the transactions from the mempool—all
      transactions are sent to the newly created views.
      A maintain process is also executed for the newly created
      views—basically resubmitting and pruning transactions from the
      appropriate tree route.
      
      ##### View store
      View store is the helper structure that acts as a container for all the
      views. It provides some convenient methods.
      
      ##### Submitting transactions
      Every transaction is submitted to every view at the tips of the forks.
      Retracted views are not updated.
      Every transaction also goes into the mempool.
      
      ##### Internal mempool
      Shortly, the main purpose of an internal mempool is to prevent a
      transaction from being lost. That could happen when a transaction is
      invalid on one fork and could be valid on another. It also allows the
      txpool to accept transactions when no blocks have been reported yet.
      
      The mempool removes its transactions when they get finalized.
      Transactions are also periodically verified on every finalized event and
      removed from the mempool if no longer valid.
      
      #### Events
      Transaction events from multiple views are merged and filtered to avoid
      duplicated events.
      `Ready` / `Future` / `Inblock` events are originated in the Views and
      are de-duplicated and forwarded to external listeners.
      `Finalized` events are originated in fork-aware-txpool logic.
      `Invalid` events requires special care and can be originated in both
      view and fork-aware-txpool logic.
      
      #### Light maintain
      Sometime transaction pool does not have enough time to prepare fully
      maintained view with all retracted transactions being revalidated. To
      avoid providing empty ready transaction set to block builder (what would
      result in empty block) the light maintain was implemented. It simply
      removes the imported transactions from ready iterator.
      
      #### Revalidation
      Revalidation is performed for every view. The revalidation process is
      started after a trigger is executed. The revalidation work is terminated
      just after a new best block / finalized event is notified to the
      transaction pool.
      The revalidation result is applied to the newly created view which is
      built upon the revalidated view.
      
      Additionally, parts of the mempool are also revalidated to make sure
      that no transactions are stuck in the mempool.
      
      
      #### Logs
      The most important log allowing to understand the state of the txpool
      is:
      ```
                    maintain: txs:(0, 92) views:[2;[(327, 76, 0), (326, 68, 0)]] event:Finalized { hash: 0x8...f, tree_route: [] }  took:3.463522ms
                                   ^   ^         ^     ^   ^  ^      ^   ^  ^        ^                                                   ^
      unwatched txs in mempool ────┘   │         │     │   │  │      │   │  │        │                                                   │
         watched txs in mempool ───────┘         │     │   │  │      │   │  │        │                                                   │
                           views  ───────────────┘     │   │  │      │   │  │        │                                                   │
                            1st view block # ──────────┘   │  │      │   │  │        │                                                   │
                                 number of ready tx ───────┘  │      │   │  │        │                                                   │
                                      numer of future tx ─────┘      │   │  │        │                                                   │
                                              2nd view block # ──────┘   │  │        │                                                   │
                                            number of ready tx ──────────┘  │        │                                                   │
                                                 number of future tx ───────┘        │                                                   │
                                                                       event ────────┘                                                   │
                                                                             duration  ──────────────────────────────────────────────────┘
      ```
      It is logged after the maintenance is done.
      
      The `debug` level enables per-transaction logging, allowing to keep
      track of all transaction-related actions that happened in txpool.
      </details>
      
      
      ### Integration notes
      
      For teams having a custom node, the new txpool needs to be instantiated,
      typically in `service.rs` file, here is an example:
      
      https://github.com/paritytech/polkadot-sdk/blob/9c547ff3
      
      /cumulus/polkadot-omni-node/lib/src/common/spec.rs#L152-L161
      
      To enable new transaction pool the following cli arg shall be specified:
      `--pool-type=fork-aware`. If it works, there shall be information
      printed in the log:
      ```
      2024-09-20 21:28:17.528  INFO main txpool: [Parachain]  creating ForkAware txpool.
      ````
      
      For debugging the following debugs shall be enabled:
      ```
            "-lbasic-authorship=debug",
            "-ltxpool=debug",
      ```
      *note:* trace for txpool enables per-transaction logging.
      
      ### Future work
      The current implementation seems to be stable, however further
      improvements are required.
      Here is the umbrella issue for future work:
      - https://github.com/paritytech/polkadot-sdk/issues/5472
      
      
      Partially fixes: #1202
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarIulian Barbu <[email protected]>
      26c11fc5
    • Javier Viola's avatar
      Bump zombienet version `v1.3.115` (#6065) · 183b55aa
      Javier Viola authored
      
      
      Includes:
      - Fixes for `ci`
      - Support to pass a json as arg for `js-script`
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      183b55aa
    • Francisco Aguirre's avatar
      Add assets in pool with native to query_acceptable_payment_assets's return (#5599) · d2ba5677
      Francisco Aguirre authored
      
      
      `XcmPaymentApi::query_acceptable_payment_assets` is an API that returns
      the assets that can be used to pay fees on the runtime where it's
      called.
      For relays and most system chains this was configured only as the native
      asset: ROC and WND.
      However, the asset hubs have the asset conversion pallet, which allows
      fees to be paid in any asset in a pool with the native one.
      This PR adds the list of assets in a pool with the native one to the
      return value of this API for the asset hubs.
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      d2ba5677
    • Ayevbeosa Iyamu's avatar
      pallet-xcm: added useful error logs (#2408) (#4982) · b20be7c1
      Ayevbeosa Iyamu authored
      
      
      Added error logs in pallet-xcm to help in debugging, fixes #2408 
      
      ## TODO
      
      - [x] change `log::error` to `tracing::error` format for `xcm-executor`
      - [x] check existing logs, e.g. this one can be extended with more info
      `tracing::error!(target: "xcm::reanchor", ?error, "Failed reanchoring
      with error");`
      - [x] use `tracing` instead of `log` for `pallet-xcm/src/lib.rs`
      
      ---------
      
      Co-authored-by: default avatarAyevbeosa Iyamu <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarBranislav Kontur <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      b20be7c1
    • Bastian Köcher's avatar
      Remove "Check Features" test · 36eadec1
      Bastian Köcher authored
      This is done by zepter any way
      36eadec1