Skip to content
Snippets Groups Projects
  1. Nov 06, 2024
    • Bastian Köcher's avatar
      polkadot-service: Fix flaky tests (#6376) · d1620f06
      Bastian Köcher authored
      The tests used the same paths. When run on CI, each test is run in its
      own process and thus, this "serial_test" crate wasn't used. The tests
      are now using their own thread local tempdir, which ensures that the
      tests are working when running in parallel in the same program or when
      being run individually.
  2. Nov 05, 2024
    • dependabot[bot]'s avatar
      Bump the known_good_semver group across 1 directory with 3 updates (#6339) · c4ef438f
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 2 updates in the / directory:
      [serde](https://github.com/serde-rs/serde) and
      [syn](https://github.com/dtolnay/syn).
      
      Updates `serde` from 1.0.210 to 1.0.214
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.214</h2>
      <ul>
      <li>Implement IntoDeserializer for all Deserializers in serde::de::value
      module (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      </ul>
      <h2>v1.0.213</h2>
      <ul>
      <li>Fix support for macro-generated <code>with</code> attributes inside
      a newtype struct (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>)</li>
      </ul>
      <h2>v1.0.212</h2>
      <ul>
      <li>Fix hygiene of macro-generated local variable accesses in
      serde(with) wrappers (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2845">#2845</a>)</li>
      </ul>
      <h2>v1.0.211</h2>
      <ul>
      <li>Improve error reporting about mismatched signature in
      <code>with</code> and <code>default</code> attributes (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2558">#2558</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Show variant aliases in error message when variant deserialization
      fails (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2566">#2566</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Improve binary size of untagged enum and internally tagged enum
      deserialization by about 12% (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2821">#2821</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/418062165f9fe395461db9f61569c3142c584854"><code>4180621</code></a>
      Release 1.0.214</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/210373b3b65a2eaf9754c158b43da0429807359c"><code>210373b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>
      from Mingun/into_deserializer-for-deserializers</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/9cda0157331ca09dec16cd8a0b57bd8eb24f8442"><code>9cda015</code></a>
      Implement IntoDeserializer for all Deserializers in serde::de::value
      module</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/58a8d229315553c4ae0a8d7eee8e382fbae4b4bf"><code>58a8d22</code></a>
      Release 1.0.213</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/ef0ed22593a17a5af5ebe48d3b6ef7c3de1b116a"><code>ef0ed22</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>
      from dtolnay/newtypewith</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/79925ac3947483013ba8136e43bc0449b99bd10c"><code>79925ac</code></a>
      Ignore dead_code warning in regression test</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b60e4092ec83c70e8c7d39574778349b2c5d9f05"><code>b60e409</code></a>
      Hygiene for macro-generated newtype struct deserialization with 'with'
      attr</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/fdc36e5c06def28b33d3154f0517969d90b744d8"><code>fdc36e5</code></a>
      Add regression test for issue 2846</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/49e11ce1bae9fbb9128c9144c4e1051daf7a29ed"><code>49e11ce</code></a>
      Ignore trivially_copy_pass_by_ref pedantic clippy lint in test</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/7ae1b5f8f39d7a80daaddcc04565f995427bfc41"><code>7ae1b5f</code></a>
      Release 1.0.212</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.214">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_derive` from 1.0.210 to 1.0.214
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde_derive's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.214</h2>
      <ul>
      <li>Implement IntoDeserializer for all Deserializers in serde::de::value
      module (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      </ul>
      <h2>v1.0.213</h2>
      <ul>
      <li>Fix support for macro-generated <code>with</code> attributes inside
      a newtype struct (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>)</li>
      </ul>
      <h2>v1.0.212</h2>
      <ul>
      <li>Fix hygiene of macro-generated local variable accesses in
      serde(with) wrappers (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2845">#2845</a>)</li>
      </ul>
      <h2>v1.0.211</h2>
      <ul>
      <li>Improve error reporting about mismatched signature in
      <code>with</code> and <code>default</code> attributes (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2558">#2558</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Show variant aliases in error message when variant deserialization
      fails (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2566">#2566</a>,
      thanks <a
      href="https://github.com/Mingun"><code>@​Mingun</code></a>)</li>
      <li>Improve binary size of untagged enum and internally tagged enum
      deserialization by about 12% (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2821">#2821</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/418062165f9fe395461db9f61569c3142c584854"><code>4180621</code></a>
      Release 1.0.214</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/210373b3b65a2eaf9754c158b43da0429807359c"><code>210373b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2568">#2568</a>
      from Mingun/into_deserializer-for-deserializers</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/9cda0157331ca09dec16cd8a0b57bd8eb24f8442"><code>9cda015</code></a>
      Implement IntoDeserializer for all Deserializers in serde::de::value
      module</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/58a8d229315553c4ae0a8d7eee8e382fbae4b4bf"><code>58a8d22</code></a>
      Release 1.0.213</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/ef0ed22593a17a5af5ebe48d3b6ef7c3de1b116a"><code>ef0ed22</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2847">#2847</a>
      from dtolnay/newtypewith</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/79925ac3947483013ba8136e43bc0449b99bd10c"><code>79925ac</code></a>
      Ignore dead_code warning in regression test</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b60e4092ec83c70e8c7d39574778349b2c5d9f05"><code>b60e409</code></a>
      Hygiene for macro-generated newtype struct deserialization with 'with'
      attr</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/fdc36e5c06def28b33d3154f0517969d90b744d8"><code>fdc36e5</code></a>
      Add regression test for issue 2846</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/49e11ce1bae9fbb9128c9144c4e1051daf7a29ed"><code>49e11ce</code></a>
      Ignore trivially_copy_pass_by_ref pedantic clippy lint in test</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/7ae1b5f8f39d7a80daaddcc04565f995427bfc41"><code>7ae1b5f</code></a>
      Release 1.0.212</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.210...v1.0.214">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `syn` from 2.0.82 to 2.0.87
      <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.87</h2>
      <ul>
      <li>Add <a
      href="https://docs.rs/syn/2/syn/buffer/struct.Cursor.html#method.any_group"><code>Cursor::any_group</code></a>
      (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1777">#1777</a>)</li>
      <li>Add <a
      href="https://docs.rs/syn/2/syn/enum.Expr.html#method.peek"><code>Expr::peek</code></a>
      (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1778">#1778</a>)</li>
      <li>Improve syntax support for enum discriminant expressions in
      non-&quot;full&quot; mode (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1779">#1779</a>)</li>
      </ul>
      <h2>2.0.86</h2>
      <ul>
      <li>Support peeking the end of a parse stream (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1689">#1689</a>)</li>
      <li>Allow <code>parse_quote!</code> to produce Vec&lt;Attribute&gt; (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1775">#1775</a>)</li>
      </ul>
      <h2>2.0.85</h2>
      <ul>
      <li>Preserve extern static unsafety in ForeignItem::Verbatim (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1773">#1773</a>)</li>
      </ul>
      <h2>2.0.84</h2>
      <ul>
      <li>Parse safe and explicitly unsafe extern items (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1768">#1768</a>, <a
      href="https://redirect.github.com/rust-lang/rust/issues/123743">rust-lang/rust#123743</a>,
      <a
      href="https://redirect.github.com/rust-lang/rfcs/pull/3484">rust-lang/rfcs#3484</a>)</li>
      <li>Parse self captures: <code>impl Sized + use&lt;Self&gt;</code> (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1772">#1772</a>)</li>
      </ul>
      <h2>2.0.83</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/a777cff00528f270b43f40b0a58c5c26fc85a2bd"><code>a777cff</code></a>
      Release 2.0.87</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/1f103d4c175ab62b27537a6907c4b77b6aed6ae7"><code>1f103d4</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1779">#1779</a>
      from dtolnay/scan</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/0986a66e1764ed37a4931dde8c509412474636fe"><code>0986a66</code></a>
      Ignore enum_glob_use pedantic clippy lint</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/ca97c7d82d9837c1b49c085a546a481cf879e619"><code>ca97c7d</code></a>
      Translate expr scanner to table driven</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/8039cb37a02cbf080f48416651141d4c77c05075"><code>8039cb3</code></a>
      Test that every expr can be scanned</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/0132c447fe045431906945178bea219816d5e55f"><code>0132c44</code></a>
      Make scan_expr compilable from integration test</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/7c102c3c8b3dc076c03cbe842266a2b140be6323"><code>7c102c3</code></a>
      Extract non-full expr scanner to module</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/ceaf4d693b2af783874b9aa4d50bb208b84a2609"><code>ceaf4d6</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1778">#1778</a>
      from dtolnay/exprpeek</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/a890e9da22b463b05c06696d4cc767c6cb9d3114"><code>a890e9d</code></a>
      Expose can_begin_expr as Expr::peek</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/12f068ce0889c41e3bd21662e8a0adfaa07d01d9"><code>12f068c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1777">#1777</a>
      from dtolnay/anygroup</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.82...2.0.87">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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
    • Alexandru Vasile's avatar
      litep2p: Update litep2p to v0.8.0 (#6353) · 94389a93
      Alexandru Vasile authored
      
      This PR updates litep2p to the latest release.
      
      - `KademliaEvent::PutRecordSucess` is renamed to fix word typo
      - `KademliaEvent::GetProvidersSuccess` and
      `KademliaEvent::IncomingProvider` are needed for bootnodes on DHT work
      and will be utilized later
      
      
      ### Added
      
      - kad: Providers part 8: unit, e2e, and `libp2p` conformance tests
      ([#258](https://github.com/paritytech/litep2p/pull/258))
      - kad: Providers part 7: better types and public API, public addresses &
      known providers ([#246](https://github.com/paritytech/litep2p/pull/246))
      - kad: Providers part 6: stop providing
      ([#245](https://github.com/paritytech/litep2p/pull/245))
      - kad: Providers part 5: `GET_PROVIDERS` query
      ([#236](https://github.com/paritytech/litep2p/pull/236))
      - kad: Providers part 4: refresh local providers
      ([#235](https://github.com/paritytech/litep2p/pull/235))
      - kad: Providers part 3: publish provider records (start providing)
      ([#234](https://github.com/paritytech/litep2p/pull/234))
      
      ### Changed
      
      - transport_service: Improve connection stability by downgrading
      connections on substream inactivity
      ([#260](https://github.com/paritytech/litep2p/pull/260))
      - transport: Abort canceled dial attempts for TCP, WebSocket and Quic
      ([#255](https://github.com/paritytech/litep2p/pull/255))
      - kad/executor: Add timeout for writting frames
      ([#277](https://github.com/paritytech/litep2p/pull/277))
      - kad: Avoid cloning the `KademliaMessage` and use reference for
      `RoutingTable::closest`
      ([#233](https://github.com/paritytech/litep2p/pull/233))
      - peer_state: Robust state machine transitions
      ([#251](https://github.com/paritytech/litep2p/pull/251))
      - address_store: Improve address tracking and add eviction algorithm
      ([#250](https://github.com/paritytech/litep2p/pull/250))
      - kad: Remove unused serde cfg
      ([#262](https://github.com/paritytech/litep2p/pull/262))
      - req-resp: Refactor to move functionality to dedicated methods
      ([#244](https://github.com/paritytech/litep2p/pull/244))
      - transport_service: Improve logs and move code from tokio::select macro
      ([#254](https://github.com/paritytech/litep2p/pull/254))
      
      ### Fixed
      
      - tcp/websocket/quic: Fix cancel memory leak
      ([#272](https://github.com/paritytech/litep2p/pull/272))
      - transport: Fix pending dials memory leak
      ([#271](https://github.com/paritytech/litep2p/pull/271))
      - ping: Fix memory leak of unremoved `pending_opens`
      ([#274](https://github.com/paritytech/litep2p/pull/274))
      - identify: Fix memory leak of unused `pending_opens`
      ([#273](https://github.com/paritytech/litep2p/pull/273))
      - kad: Fix not retrieving local records
      ([#221](https://github.com/paritytech/litep2p/pull/221))
      
      See release changelog for more details:
      https://github.com/paritytech/litep2p/releases/tag/v0.8.0
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
  3. Nov 04, 2024
    • Iulian Barbu's avatar
      templates: make node compilation optional (#5954) · 2a849174
      Iulian Barbu authored
      # Description
      
      Closes #5940  
      
      ## Integration
      
      Node devs that rely on templates' nodes binaries for minimal or
      parachain would need to follow the updated templates' README.mds again
      to find how to build the nodes' binaries.
      
      ## Review Notes
      
      Conditional compilation of virtual workspaces would compile the
      `members` list as if we passed `--workspace` flag to `cargo build` ,
      except when adding a `default-members` list which will be used for any
      cargo command executed in the virtual workspace root. To build the full
      members list needs passing `--workspace` flag.
      
      Other options investigated:
      - feature guard the `node` crate by defining a feature in the `node`
      crate, but it feels too complex since all code needs to be feature
      guarded. I haven't tried it but technically speaking it might work. I
      think though it looks awkward and my opinion is that the alternative is
      better.
      - defining features in the virtual workspace's Cargo.toml doesn't work
      (thought that I might create a feature that will have a dependency on
      the `node` crate and then not passing the feature to cargo build results
      in ignoring the `node` crate)
      - skipping compilation by using an environment variable, read in the
      build script, that will exit compilation abruptly if not set, but I
      couldn't make it work.
      - exclude the crate from the members list and build it specifically by
      passing `--package minimal-template-node` flag to the `cargo build`
      command. This has the disadvantage of not allowing IDEs based on rust
      analyzer to index/compile the node crate.
      
      My conclusion is that any option would require two commands to build the
      template, one with the node and one without, and both must be included
      in the README or templates usage documentation. If it comes which ones
      to pick I am in favor of the `default-members` option, which requires
      minimal intervention and expresses how cargo commands are executed on
      top of the workspace members, and what's left out from regular usage.
      
      ### Testing
      
      Testing was conducted as described bellow:
      
      - [x] zombienet with `minimal-template-node` , `parachain-template-node`
      and `polkadot-omni-node`. Things work as expected.
      - [x] no chopsticks testing was conducted - feels a bit out of scope for
      OmniNode related docs and overall testing when promoting it over the
      templates' nodes.
      - [x] testing the changes for the sync templates workflow (ignore the
      added comment from the Cargo.tomls, it was removed here on this branch:
      [99bff3e2](https://github.com/paritytech/polkadot-sdk/pull/5954/commits/99bff3e2
      
      )):
      [minimal](https://github.com/paritytech-stg/polkadot-sdk-minimal-template/pull/22/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
      [parachain](https://github.com/paritytech-stg/polkadot-sdk-parachain-template/pull/19/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
      [solochain](https://github.com/paritytech-stg/polkadot-sdk-solochain-template/pull/17/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9).
      The links correspond to PRs opened by a bot after manually starting the
      sync-templates workflow on `paritytech-stg` org to test the end result
      of the `Cargo.toml` changes.
      
      ---------
      
      Signed-off-by: default avatarIulian Barbu <iulian.barbu@parity.io>
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
  4. Oct 28, 2024
  5. Oct 25, 2024
  6. Oct 23, 2024
    • Kian Paimani's avatar
      Polkadot OmniNode Docs (#6094) · fc486e55
      Kian Paimani authored
      provides low-level documentation on how the omni-node is meant to work.
      This is meant to act as reusable material for other teams (e.g.
      Papermoon and W3F) to use and integrate into the high level Polkadot
      documentation.
      
      Broadly speaking, for omni-node to have great rust-docs, we need to
      focus on the following crates, all of which got a bit of love in this
      PR:
      
      1. `sp-genesis-builder`
      2. `polkadot-omni-node`
      3. `polkadot-omni-node-lib`
      4. `frame-omni-bencher`
      
      On top of this, we have now: 
      
      * `polkadot_sdk_docs::guides` contains two new steps demonstrating the
      most basic version of composing your pallet, putting it into a runtime,
      and putting that runtime into omni-node
      * `polkadot_sdk_docs::reference_docs::omni_node` to explain in more
      detail how omni-node differs from the old-school node.
      * `polkadot_sdk_docs::reference_docs::frame_weight_benchmarking` to
      finally have a minimal reference about weights and benchmarking.
      * It provides tests for some of the steps in
      https://github.com/paritytech/polkadot-sdk/issues/5568
      
      
      closes https://github.com/paritytech/polkadot-sdk/issues/5568
      closes https://github.com/paritytech/polkadot-sdk/issues/4781
      
      Next steps
      
      - [x] Ensure the README of the parachain template is up-to-date.
      @iulianbarbu
      
      
      - [ ] Readme for `polkadot-omni-node` and similar is updated. For now,
      use `cargo-readme` and copy over the rust-docs.
      
      To build the branch locally and run this:
      https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/meta_contributing/index.html#how-to-develop-locally
      
      ---------
      
      Co-authored-by: default avatarIulian Barbu <14218860+iulianbarbu@users.noreply.github.com>
      Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
      Co-authored-by: default avatarMichal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
  7. Oct 21, 2024
    • dependabot[bot]'s avatar
      Bump prost-build from 0.12.4 to 0.13.2 (#6144) · 13d3f58e
      dependabot[bot] authored
      
      Bumps [prost-build](https://github.com/tokio-rs/prost) from 0.12.4 to
      0.13.2.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/tokio-rs/prost/blob/master/CHANGELOG.md">prost-build's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Prost version 0.13.2</h1>
      <p><em>PROST!</em> is a <a
      href="https://developers.google.com/protocol-buffers/">Protocol
      Buffers</a> implementation for the <a
      href="https://www.rust-lang.org/">Rust Language</a>. <code>prost</code>
      generates simple, idiomatic Rust code from <code>proto2</code> and
      <code>proto3</code> files.</p>
      <h2>Features</h2>
      <ul>
      <li>prost-build: Add protoc executable path to Config (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1126">#1126</a>)</li>
      <li>prost-build: Extract file descriptor loading from compile_protos()
      (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1067">#1067</a>)</li>
      </ul>
      <h2>Bug Fixes</h2>
      <ul>
      <li>prost-types: Fix date-time parsing (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1096">#1096</a>)</li>
      <li>prost-types: '+' is not a numeric digit (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1104">#1104</a>)</li>
      <li>prost-types: Converting DateTime to Timestamp is fallible (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1095">#1095</a>)</li>
      <li>prost-types: Parse timestamp with long second fraction (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1106">#1106</a>)</li>
      <li>prost-types: Format negative fractional duration (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1110">#1110</a>)</li>
      <li>prost-types: Allow unknown local time offset (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1109">#1109</a>)</li>
      </ul>
      <h2>Styling</h2>
      <ul>
      <li>Remove use of legacy numeric constants (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1089">#1089</a>)</li>
      <li>Move encoding functions into separate modules (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1111">#1111</a>)</li>
      <li>Remove needless borrow (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1122">#1122</a>)</li>
      </ul>
      <h2>Testing</h2>
      <ul>
      <li>Add tests for public interface of DecodeError (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1120">#1120</a>)</li>
      <li>Add <code>parse_date</code> fuzzing target (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1127">#1127</a>)</li>
      <li>Fix build without std (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1134">#1134</a>)</li>
      <li>Change some proptest to kani proofs (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1133">#1133</a>)</li>
      <li>Add <code>parse_duration</code> fuzzing target (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1129">#1129</a>)</li>
      <li>fuzz: Fix building of fuzzing targets (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1107">#1107</a>)</li>
      <li>fuzz: Add fuzz targets to workspace (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1117">#1117</a>)</li>
      </ul>
      <h2>Miscellaneous Tasks</h2>
      <ul>
      <li>Move old protobuf benchmark into prost (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1100">#1100</a>)</li>
      <li>Remove allow clippy::derive_partial_eq_without_eq (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1115">#1115</a>)</li>
      <li>Run <code>cargo test</code> without <code>all-targets</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1118">#1118</a>)</li>
      <li>dependabot: Add github actions (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1121">#1121</a>)</li>
      <li>Update to cargo clippy version 1.80 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1128">#1128</a>)</li>
      </ul>
      <h2>Build</h2>
      <ul>
      <li>Use <code>proc-macro</code> in Cargo.toml (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1102">#1102</a>)</li>
      <li>Ignore missing features in <code>tests</code> crates (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1101">#1101</a>)</li>
      <li>Use separated build directory for protobuf (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1103">#1103</a>)</li>
      <li>protobuf: Don't install unused test proto (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1116">#1116</a>)</li>
      <li>protobuf: Use crate <code>cmake</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1137">#1137</a>)</li>
      <li>deps: Update devcontainer to Debian Bookworm release (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1114">#1114</a>)</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/57e794203106db483e5115e7e67502ef6f2c7ad8"><code>57e7942</code></a>
      chore: Release version 0.13.2 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1139">#1139</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/8424775d78b13239df3cf3fe888236770a0cd839"><code>8424775</code></a>
      build(protobuf): Use crate <code>cmake</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1137">#1137</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/21208abf667313866f79d3d1438310c4dc20bdff"><code>21208ab</code></a>
      build(deps): bump model-checking/kani-github-action from 0.32 to 1.1 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1125">#1125</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/0c79864443621f20d92f9acc78a6ab0e7821dab0"><code>0c79864</code></a>
      tests(fuzz): Add <code>parse_duration</code> fuzzing target (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1129">#1129</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/52046b943fdf6f79461725027245f890c7b4f514"><code>52046b9</code></a>
      tests: Change some proptest to kani proofs (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1133">#1133</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/ee59dd5a9fe0935ad50e6ddbea5d23e3c6419468"><code>ee59dd5</code></a>
      tests: Fix build without std (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1134">#1134</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/e773f5f6d38f74d0efff876011a2fd0d002aed4c"><code>e773f5f</code></a>
      feat(prost-build): Add protoc executable path to Config (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1126">#1126</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/753bd92a85a3aa305d9d96b5c6363dc58d6356e6"><code>753bd92</code></a>
      ci(clippy): Update to cargo clippy version 1.80 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1128">#1128</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/df3e58e5d113a0dcf8b6735a5d04cde2d74e5df3"><code>df3e58e</code></a>
      tests(fuzz): Add <code>parse_date</code> fuzzing target (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1127">#1127</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/409b93214ed8d98fbb364031ccf330ce4e7caa32"><code>409b932</code></a>
      style: Remove needless borrow (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/1122">#1122</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/tokio-rs/prost/compare/v0.12.4...v0.13.2">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prost-build&package-manager=cargo&previous-version=0.12.4&new-version=0.13.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 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  8. Oct 20, 2024
  9. Oct 18, 2024
    • 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 <george.pisaltu@parity.io>
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
  10. Oct 16, 2024
    • 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  11. Oct 15, 2024
    • 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
  12. Oct 14, 2024
  13. Oct 09, 2024
    • dependabot[bot]'s avatar
      Bump strum from 0.26.2 to 0.26.3 (#5943) · e0062af9
      dependabot[bot] authored
      
      Bumps [strum](https://github.com/Peternator7/strum) from 0.26.2 to
      0.26.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/Peternator7/strum/releases">strum's
      releases</a>.</em></p>
      <blockquote>
      <h2>v0.26.3</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Fix typos &amp; misspellings in docs by <a
      href="https://github.com/5-pebbles"><code>@​5-pebbles</code></a> in <a
      href="https://redirect.github.com/Peternator7/strum/pull/347">Peternator7/strum#347</a></li>
      <li>Update <code>heck</code> requirement by <a
      href="https://github.com/smoelius"><code>@​smoelius</code></a> in <a
      href="https://redirect.github.com/Peternator7/strum/pull/346">Peternator7/strum#346</a></li>
      <li>Fix broken links by <a
      href="https://github.com/rainbowatcher"><code>@​rainbowatcher</code></a>
      in <a
      href="https://redirect.github.com/Peternator7/strum/pull/350">Peternator7/strum#350</a></li>
      <li>Interpolate unnamed enum variant fields in to_string attribute by <a
      href="https://github.com/gin-ahirsch"><code>@​gin-ahirsch</code></a> in
      <a
      href="https://redirect.github.com/Peternator7/strum/pull/345">Peternator7/strum#345</a></li>
      <li>add hyperlinks to documentation and clarify derive macros by <a
      href="https://github.com/lolbinarycat"><code>@​lolbinarycat</code></a>
      in <a
      href="https://redirect.github.com/Peternator7/strum/pull/355">Peternator7/strum#355</a></li>
      <li>Use fully qualified syntax for calling <code>get</code> on an
      <code>EnumIter</code>, eliminating ambiguities by <a
      href="https://github.com/bluurryy"><code>@​bluurryy</code></a> in <a
      href="https://redirect.github.com/Peternator7/strum/pull/357">Peternator7/strum#357</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/5-pebbles"><code>@​5-pebbles</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/347">Peternator7/strum#347</a></li>
      <li><a
      href="https://github.com/rainbowatcher"><code>@​rainbowatcher</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/350">Peternator7/strum#350</a></li>
      <li><a
      href="https://github.com/gin-ahirsch"><code>@​gin-ahirsch</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/345">Peternator7/strum#345</a></li>
      <li><a
      href="https://github.com/lolbinarycat"><code>@​lolbinarycat</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/355">Peternator7/strum#355</a></li>
      <li><a href="https://github.com/bluurryy"><code>@​bluurryy</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/357">Peternator7/strum#357</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3">https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Peternator7/strum/blob/master/CHANGELOG.md">strum's
      changelog</a>.</em></p>
      <blockquote>
      <h2>0.26.3 (strum_macros)</h2>
      <ul>
      <li><a
      href="https://redirect.github.com/Peternator7/strum/pull/344">#344</a>:
      Hide <code>EnumTable</code> because it's going to be deprecated in the
      next
      version.</li>
      <li><a
      href="https://redirect.github.com/Peternator7/strum/pull/357">#357</a>:
      Fixes an incompatiblity with <code>itertools</code> by using the fully
      qualified name rather than the inherent method.</li>
      <li><a
      href="https://redirect.github.com/Peternator7/strum/pull/345">#345</a>:
      Allows unnamed tuple like variants to use their variants in
      string interpolation. <code>#[strum(to_string = &quot;Field 0: {0},
      Field 1: {1})&quot;)]</code> will now work for tuple variants</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Peternator7/strum/commit/c89286fc2a4916ee61133aaa8d63fce83f6fc39e"><code>c89286f</code></a>
      Update changelog &amp; strum_macros version</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/0c85c16e12e80dd49e75117e7c94f697d0ad06d0"><code>0c85c16</code></a>
      Use associated function syntax for calling <code>get</code> on an
      <code>EnumIter</code>, eliminatin...</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/9689d7bb55bad0269c3fc9679a7434670139b12b"><code>9689d7b</code></a>
      add hyperlinks to documentation and clarify derive macros (<a
      href="https://redirect.github.com/Peternator7/strum/issues/355">#355</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/186d29f6a1691b6356a2d85d66f8904b9a5d3140"><code>186d29f</code></a>
      Interpolate unnamed enum variant fields in to_string attribute (<a
      href="https://redirect.github.com/Peternator7/strum/issues/345">#345</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/410062e122e001e6c3725cdc91483a0d4de5ca31"><code>410062e</code></a>
      Fix broken links (<a
      href="https://redirect.github.com/Peternator7/strum/issues/350">#350</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/1e46337eb2ec71caccf2fc35929e2f0cbedbb3c2"><code>1e46337</code></a>
      Update <code>heck</code> requirement (<a
      href="https://redirect.github.com/Peternator7/strum/issues/346">#346</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/f5fce032ed381a334e81676bd2c391353c265476"><code>f5fce03</code></a>
      Fix typos &amp; misspellings in docs (<a
      href="https://redirect.github.com/Peternator7/strum/issues/347">#347</a>)</li>
      <li>See full diff in <a
      href="https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=strum&package-manager=cargo&previous-version=0.26.2&new-version=0.26.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  14. Oct 08, 2024
  15. Oct 04, 2024
  16. Oct 03, 2024
    • Niklas Adolfsson's avatar
      rpc v2: backpressure chainHead_v1_storage (#5741) · 33131634
      Niklas Adolfsson authored
      
      Close https://github.com/paritytech/polkadot-sdk/issues/5589
      
      This PR makes it possible for `rpc_v2::Storage::query_iter_paginated` to
      be "backpressured" which is achieved by having a channel where the
      result is sent back and when this channel is "full" we pause the
      iteration.
      
      The chainHead_follow has an internal channel which doesn't represent the
      actual connection and that is set to a very small number (16). Recall
      that the JSON-RPC server has a dedicate buffer for each connection by
      default of 64.
      
      #### Notes
      
      - Because `archive_storage` also depends on
      `rpc_v2::Storage::query_iter_paginated` I had to tweak the method to
      support limits as well. The reason is that archive_storage won't get
      backpressured properly because it's not an subscription. (it would much
      easier if it would be a subscription in rpc v2 spec because nothing
      against querying huge amount storage keys)
      - `query_iter_paginated` doesn't necessarily return the storage "in
      order" such as
      - `query_iter_paginated(vec![("key1", hash), ("key2", value)], ...)`
      could return them in arbitrary order because it's wrapped in
      FuturesUnordered but I could change that if we want to process it
      inorder (it's slower)
      - there is technically no limit on the number of storage queries in each
      `chainHead_v1_storage call` rather than the rpc max message limit which
      10MB and only allowed to max 16 calls `chainHead_v1_x` concurrently
      (this should be fine)
      
      #### Benchmarks using subxt on localhost
      
      - Iterate over 10 accounts on westend-dev -> ~2-3x faster 
      - Fetch 1024 storage values (i.e, not descedant values) -> ~50x faster
      - Fetch 1024 descendant values -> ~500x faster
      
      The reason for this is because as Josep explained in the issue is that
      one is only allowed query five storage items per call and clients has
      make lots of calls to drive it forward..
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarJames Wilson <james@jsdw.me>
  17. Sep 30, 2024
    • dependabot[bot]'s avatar
      Bump syn from 2.0.77 to 2.0.79 in the known_good_semver group (#5864) · 8279d104
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 1 update:
      [syn](https://github.com/dtolnay/syn).
      
      Updates `syn` from 2.0.77 to 2.0.79
      <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.79</h2>
      <ul>
      <li>Fix infinite loop on parsing chained ranges (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1741">#1741</a>)</li>
      <li>Fix panic in parsing <code>use</code> items containing absolute
      paths (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1742">#1742</a>)</li>
      </ul>
      <h2>2.0.78</h2>
      <ul>
      <li>Fix infinite loop on chained comparison (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1739">#1739</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/732e6e39406538aebe34ed5f5803113a48c28602"><code>732e6e3</code></a>
      Release 2.0.79</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/af63396422250a1c7c80e6f12da08ce31ea435af"><code>af63396</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1742">#1742</a>
      from dtolnay/usecrateroot</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/31e863233872eb3f4239a25f42030c369c22d72b"><code>31e8632</code></a>
      Fix construction of UseGroup containing crate roots</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/037861ac3ca6f91aec7f7c20811535488dafaec4"><code>037861a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1741">#1741</a>
      from dtolnay/binoploop</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/8df4dd0fa4c353a2979bd56c34955e9335bb701d"><code>8df4dd0</code></a>
      Force cursor to advance in parse_expr calls</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/09d020f5a10b3d3e4d54ec03290f773be91b9cac"><code>09d020f</code></a>
      Release 2.0.78</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/7eaebfbb470fd056ee95ec892fc012ce292e7209"><code>7eaebfb</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1739">#1739</a>
      from dtolnay/chainedcomparison</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/b3d2886fc9bbff5eb45995c72beec0463a8cec2a"><code>b3d2886</code></a>
      Fix infinite loop on chained comparison</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/3f3d0c57ac66b4fa42a3f10209dd1fde29c5ce57"><code>3f3d0c5</code></a>
      Add regression test for issue 1738</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/346efaec55d7a3865a42fcd1007f45a8a7549052"><code>346efae</code></a>
      Touch up PR 1737</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.77...2.0.79">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.77&new-version=2.0.79)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Joseph Zhao's avatar
      Replace lazy_static with LazyLock (#5716) · a8d8596f
      Joseph Zhao authored
      
      # Description
      
      close #5641
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  18. Sep 28, 2024
    • Iulian Barbu's avatar
      substrate/utils: enable wasm builder diagnostics propagation (#5838) · 58ade7a6
      Iulian Barbu authored
      
      # Description
      
      `substrate-wasm-builder` can be a build dependency for crates which
      develop FRAME runtimes. I had a tough time seeing errors happening in
      such crates (e.g. runtimes from the `templates` directory) in my IDE. I
      use a combination of rust-analyzer + nvim-lsp + nvim-lspconfig +
      rustacean.vim and all of this stack is not able to correctly parse
      errors emitted during the `build` phase.
      
      As a matter of fact there is also a cargo issue tracking specifically
      this issue where cargo doesn't propagate the `--message-format` type to
      the build phase: [here](https://github.com/rust-lang/cargo/issues/14246)
      initially and then
      [here](https://github.com/rust-lang/cargo/issues/8283). It feels like a
      solution for this use case isn't very close, so if it comes to runtimes
      development (both as an SDK user and developer), enabling wasm builder
      to emit diagnostics messages friendly to IDEs would be useful for
      regular workflows where IDEs are used for finding errors instead of
      manually running `cargo` commands.
      
      ## Integration
      
      It can be an issue if Substrate/FRAME SDKs users and developers rely on
      the runtimes' crates build phase output in certain ways. Emitting
      compilation messages as json will pollute the regular compilation output
      so people that would manually run `cargo build` or `cargo check` on
      their crates will have a tougher time extracting the non JSON output.
      
      ## Review Notes
      
      Rust IDEs based on rust-analyzer rely on cargo check/clippy to extract
      diagnostic information. The information is generated by passing flags
      like `--messages-format=json` to the `cargo` commands. The messages are
      extracted by rust-analyzer and published to LSP clients that will
      populate UIs accordingly.
      
      We need to build against the wasm target by using `message-format=json`
      too so that IDEs can show the errors for crates that have a build
      dependency on `substrate-wasm-builder`.
      
      ---------
      
      Signed-off-by: default avatarIulian Barbu <iulian.barbu@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  19. Sep 26, 2024
    • Alexander Samusev's avatar
      [ci] Update CI image with rust 1.81.0 and 2024-09-11 (#5676) · 6c3219eb
      Alexander Samusev authored
      
      cc https://github.com/paritytech/ci_cd/issues/1035
      
      cc https://github.com/paritytech/ci_cd/issues/1023
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarMaksym H <1177472+mordamax@users.noreply.github.com>
      Co-authored-by: default avatargui <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarggwpez <ggwpez@users.noreply.github.com>
    • Alexandru Gheorghe's avatar
      [5 / 5] Introduce approval-voting-parallel (#4849) · b16237ad
      Alexandru Gheorghe authored
      This is the implementation of the approach described here:
      https://github.com/paritytech/polkadot-sdk/issues/1617#issuecomment-2150321612
      &
      https://github.com/paritytech/polkadot-sdk/issues/1617#issuecomment-2154357547
      &
      https://github.com/paritytech/polkadot-sdk/issues/1617#issuecomment-2154721395.
      
      ## Description of changes
      
      The end goal is to have an architecture where we have single
      subsystem(`approval-voting-parallel`) and multiple worker types that
      would full-fill the work that currently is fulfilled by the
      `approval-distribution` and `approval-voting` subsystems. The main loop
      of the new subsystem would do just the distribution of work to the
      workers.
      
      The new subsystem will have:
      - N approval-distribution workers: This would do the work that is
      currently being done by the approval-distribution subsystem and in
      addition to that will also perform the crypto-checks that an assignment
      is valid and that a vote is correctly signed. Work is assigned via the
      following formula: `worker_index = msg.validator % WORKER_COUNT`, this
      guarantees that all assignments and approvals from the same validator
      reach the same worker.
      - 1 approval-voting worker: This would receive an already valid message
      and do everything the approval-voting currently does, except the
      crypto-checking that has been moved already to the approval-distribution
      worker.
      
      On the hot path of processing messages **no** synchronisation and
      waiting is needed between approval-distribution and approval-voting
      workers.
      
      <img width="1431" alt="Screenshot 2024-06-07 at 11 28 08"
      src="https://github.com/paritytech/polkadot-sdk/assets/49718502/a196199b-b705-4140-87d4-c6900ba8595e">
      
      
      
      ## Guidelines for reading
      
      The full implementation is broken in 5 PRs and all of them are
      self-contained and improve things incrementally even without the
      parallelisation being implemented/enabled, the reason this approach was
      taken instead of a big-bang PR, is to make things easier to review and
      reduced the risk of breaking this critical subsystems.
      
      After reading the full description of this PR, the changes should be
      read in the following order:
      1. https://github.com/paritytech/polkadot-sdk/pull/4848, some other
      micro-optimizations for networks with a high number of validators. This
      change gives us a speed up by itself without any other changes.
      2. https://github.com/paritytech/polkadot-sdk/pull/4845 , this contains
      only interface changes to decouple the subsystem from the `Context` and
      be able to run multiple instances of the subsystem on different threads.
      **No functional changes**
      3. https://github.com/paritytech/polkadot-sdk/pull/4928, moving of the
      crypto checks from approval-voting in approval-distribution, so that the
      approval-distribution has no reason to wait after approval-voting
      anymore. This change gives us a speed up by itself without any other
      changes.
      4. https://github.com/paritytech/polkadot-sdk/pull/4846, interface
      changes to make approval-voting runnable on a separate thread. **No
      functional changes**
      5. This PR, where we instantiate an `approval-voting-parallel` subsystem
      that runs on different workers the logic currently in
      `approval-distribution` and `approval-voting`.
      6. The next step after this changes get merged and deploy would be to
      bring all the files from approval-distribution, approval-voting,
      approval-voting-parallel into a single rust crate, to make it easier to
      maintain and understand the structure.
      
      ## Results
      Running subsystem-benchmarks with 1000 validators 100 fully ocuppied
      cores and triggering all assignments and approvals for all tranches
      
      #### Approval does not lags behind. 
       Master
      ```
      Chain selection approved  after 72500 ms hash=0x0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a
      ```
      With this PoC
      ```
      Chain selection approved  after 3500 ms hash=0x0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a
      ```
      
      #### Gathering enough assignments
       
      Enough assignments are gathered in less than 500ms, so that gives un a
      guarantee that un-necessary work does not get triggered, on master on
      the same benchmark because the subsystems fall behind on work, that
      number goes above 32 seconds on master.
       
      <img width="2240" alt="Screenshot 2024-06-20 at 15 48 22"
      src="https://github.com/paritytech/polkadot-sdk/assets/49718502/d2f2b29c-5ff6-44b4-a245-5b37ab8e58bc">
      
      
      #### Cpu usage:
      Master
      ```
      CPU usage, seconds                     total   per block
      approval-distribution                96.9436      9.6944
      approval-voting                     117.4676     11.7468
      test-environment                     44.0092      4.4009
      ```
      With this PoC
      ```
      CPU usage, seconds                     total   per block
      approval-distribution                 0.0014      0.0001 --- unused
      approval-voting                       0.0437      0.0044.  --- unused
      approval-voting-parallel              5.9560      0.5956
      approval-voting-parallel-0           22.9073      2.2907
      approval-voting-parallel-1           23.0417      2.3042
      approval-voting-parallel-2           22.0445      2.2045
      approval-voting-parallel-3           22.7234      2.2723
      approval-voting-parallel-4           21.9788      2.1979
      approval-voting-parallel-5           23.0601      2.3060
      approval-voting-parallel-6           22.4805      2.2481
      approval-voting-parallel-7           21.8330      2.1833
      approval-voting-parallel-db          37.1954      3.7195.  --- the approval-voting thread.
      ```
      
      # Enablement strategy
      
      Because just some trivial plumbing is needed in approval-distribution
      and approval-voting to be able to run things in parallel and because
      this subsystems plays a critical part in the system this PR proposes
      that we keep both ways of running the approval work, as separated
      subsystems and just a single subsystem(`approval-voting-parallel`) which
      has multiple workers for the distribution work and one worker for the
      approval-voting work and switch between them with a comandline flag.
      
      The benefits for this is twofold.
      1. With the same polkadot binary we can easily switch just a few
      validators to use the parallel approach and gradually make this the
      default way of running, if now issues arise.
      2. In the worst case scenario were it becomes the default way of running
      things, but we discover there are critical issues with it we have the
      path to quickly disable it by asking validators to adjust their command
      line flags.
      
      
      # Next steps
      - [x] Make sure through various testing we are not missing anything 
      - [x] Polish the implementations to make them production ready
      - [x] Add Unittest Tests for approval-voting-parallel.
      - [x] Define and implement the strategy for rolling this change, so that
      the blast radius is minimal(single validator) in case there are problems
      with the implementation.
      - [x]  Versi long running tests.
      - [x] Add relevant metrics.
      
      @ordian @eskimor @sandreim @AndreiEres
      
      , let me know what you think.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
  20. Sep 24, 2024
  21. Sep 23, 2024
    • dependabot[bot]'s avatar
      Bump k256 from 0.13.3 to 0.13.4 (#5802) · e8dad101
      dependabot[bot] authored
      
      Bumps [k256](https://github.com/RustCrypto/elliptic-curves) from 0.13.3
      to 0.13.4.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/RustCrypto/elliptic-curves/commit/5ac8f5d77f11399ff48d87b0554935f6eddda342"><code>5ac8f5d</code></a>
      k256 v0.13.4</li>
      <li><a
      href="https://github.com/RustCrypto/elliptic-curves/commit/613cbafd63763c579922ad2b79fa041b4a0dde50"><code>613cbaf</code></a>
      k256: add support for non-32-byte BIP340 signatures (<a
      href="https://redirect.github.com/RustCrypto/elliptic-curves/issues/1041">#1041</a>)</li>
      <li><a
      href="https://github.com/RustCrypto/elliptic-curves/commit/3787e4cd5b4223cae8bed05d087d6ff2f1d9430b"><code>3787e4c</code></a>
      k256 v0.13.3</li>
      <li>See full diff in <a
      href="https://github.com/RustCrypto/elliptic-curves/compare/k256/v0.13.3...k256/v0.13.4">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=k256&package-manager=cargo&previous-version=0.13.3&new-version=0.13.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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
  22. Sep 19, 2024
    • dependabot[bot]'s avatar
      Bump the known_good_semver group across 1 directory with 2 updates (#5736) · 221565d2
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 2 updates in the / directory:
      [clap](https://github.com/clap-rs/clap) and
      [syn](https://github.com/dtolnay/syn).
      
      Updates `clap` from 4.5.11 to 4.5.13
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.5.13</h2>
      <h2>[4.5.13] - 2024-07-31</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Improve error message when
      <code>#[flatten]</code>ing an optional <code>#[group(skip)]</code></li>
      <li><em>(help)</em> Properly wrap long subcommand descriptions in
      help</li>
      </ul>
      <h2>v4.5.12</h2>
      <h2>[4.5.12] - 2024-07-31</h2>
      </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.5.13] - 2024-07-31</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Improve error message when
      <code>#[flatten]</code>ing an optional <code>#[group(skip)]</code></li>
      <li><em>(help)</em> Properly wrap long subcommand descriptions in
      help</li>
      </ul>
      <h2>[4.5.12] - 2024-07-31</h2>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d222ae4cb62d08b4d8f635aa80ddb3c880b82e6e"><code>d222ae4</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a8abcb40c5f2628bfa671adf61a090a1bbfbcfa2"><code>a8abcb4</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2690e1bdb19df3e4dde7a50fc33b14a3bf6f0b8a"><code>2690e1b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5621">#5621</a>
      from shannmu/dynamic_valuehint</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/7fd7b3e40bd835070253432accf4076bb020beda"><code>7fd7b3e</code></a>
      feat(clap_complete): Support to complete custom value of argument</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/fc6aaca52b42d0e4ae13805e7480cbb05f63a0ca"><code>fc6aaca</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5638">#5638</a>
      from epage/cargo</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/631e54bc715ed2fa53d8457dc273a25b92d3b354"><code>631e54b</code></a>
      docs(cookbook): Style cargo plugin</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6fb49d08bb2acfbc2f2aa5f717ccd4a4018ca872"><code>6fb49d0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5636">#5636</a>
      from gibfahn/styles_const</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6f215eee98c4f73099b0ede2ac62ba019ada24ce"><code>6f215ee</code></a>
      refactor(styles): make styles example use a const</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/bbb2e6fdde1c724e39c2f2616332310252c12ab8"><code>bbb2e6f</code></a>
      test: Add test case for completing custom value of argument</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/999071c46dca0367d93f66ecd97b2e3507963284"><code>999071c</code></a>
      fix: Change <code>visible</code> to <code>hidden</code></li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.11...clap_complete-v4.5.13">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `syn` from 2.0.65 to 2.0.77
      <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.77</h2>
      <ul>
      <li>Support parsing <code>Expr::Tuple</code> in non-&quot;full&quot;
      mode (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1727">#1727</a>)</li>
      </ul>
      <h2>2.0.76</h2>
      <ul>
      <li>Enforce that tail call <code>become</code> keyword is followed by an
      expression (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1725">#1725</a>)</li>
      </ul>
      <h2>2.0.75</h2>
      <ul>
      <li>Automatically fill in missing turbofish when printing ExprPath and
      other paths in expression position (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1722">#1722</a>)</li>
      </ul>
      <h2>2.0.74</h2>
      <ul>
      <li>Fix <em>&quot;temporary is dropped and runs the destructor for type
      `impl Iterator`&quot;</em> regression affecting certain use of
      <code>Generics</code> iterator methods (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1719">#1719</a>)</li>
      </ul>
      <h2>2.0.73</h2>
      <ul>
      <li>Support parsing unnamed C varargs within function pointer types (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1711">#1711</a>)</li>
      <li>Improve synthesized error message on unexpected tokens at the end of
      the expected contents of a delimited group (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1713">#1713</a>)</li>
      <li>Support parsing unstable tail call syntax (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1714">#1714</a>, <a
      href="https://redirect.github.com/rust-lang/rust/issues/112788">rust-lang/rust#112788</a>)</li>
      <li>Add <a
      href="https://docs.rs/syn/2.0.73/syn/enum.Fields.html#method.members"><code>Fields::members</code></a>
      iterator (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1716">#1716</a>,
      thanks <a
      href="https://github.com/Fancyflame"><code>@​Fancyflame</code></a>)</li>
      </ul>
      <h2>2.0.72</h2>
      <ul>
      <li>Parse <code>use&lt;'a, T&gt;</code> precise capturing bounds (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1707">#1707</a>,
      thanks <a
      href="https://github.com/compiler-errors"><code>@​compiler-errors</code></a>)</li>
      </ul>
      <h2>2.0.71</h2>
      <ul>
      <li>Do not require mutable borrow in Punctuated::get() (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1706">#1706</a>,
      thanks <a
      href="https://github.com/lemunozm"><code>@​lemunozm</code></a>)</li>
      </ul>
      <h2>2.0.70</h2>
      <ul>
      <li>Improve parenthesization of closures, jumps, ranges, chained
      comparisons, and let (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1694">#1694</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1695">#1695</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1698">#1698</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1699">#1699</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1700">#1700</a>)</li>
      </ul>
      <h2>2.0.69</h2>
      <ul>
      <li>Correctly parenthesize labeled loops inside a break value (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1692">#1692</a>)</li>
      <li>Add <code>Punctuated::get</code> and <code>get_mut</code> (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1693">#1693</a>)</li>
      </ul>
      <h2>2.0.68</h2>
      <ul>
      <li>Improve panic location when <code>parse_quote!</code> parses invalid
      syntax (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1690">#1690</a>,
      thanks <a
      href="https://github.com/stepancheg"><code>@​stepancheg</code></a>)</li>
      <li>More efficient peek implementation for <code>Group</code> and
      <code>Lifetime</code> (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1687">#1687</a>)</li>
      </ul>
      <h2>2.0.67</h2>
      <ul>
      <li>Produce more accurate error message locations for errors located at
      the end of a nested group (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1679">#1679</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1680">#1680</a>)</li>
      <li>Support peeking <code>LitCStr</code> in ParseStream::peek (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1682">#1682</a>)</li>
      </ul>
      <h2>2.0.66</h2>
      <ul>
      <li>Allow braced structs when parsing ExprLet (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1671">#1671</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/6232266b0b522ca144eb2910a51670eb9685bca5"><code>6232266</code></a>
      Release 2.0.77</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/97acbf0ffae4fa17f971cc15cd0586ea94bc7423"><code>97acbf0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1727">#1727</a>
      from dtolnay/exprparen</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/a3b5a5c10942c2dfc42f7c7dbd80d2d6672dbcb9"><code>a3b5a5c</code></a>
      Support parsing Expr::Tuple in derive</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/3c24f576d7e1655da51bac4a6f80ded898fb9840"><code>3c24f57</code></a>
      Run upload-artifact action regardless of previous step failure</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/78608a3ebe0bab46d0791e91f35b9966a92962df"><code>78608a3</code></a>
      Upload CI Cargo.lock for reproducing failures</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/ef3e9c6dde79be7590fc90278772663ca31c1a73"><code>ef3e9c6</code></a>
      Release 2.0.76</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/8f7365ff9685c8ca9527c2de409204179a3efcdf"><code>8f7365f</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1725">#1725</a>
      from dtolnay/tailcall</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/6cddd9ea714fe034466b4f02d3f7abb484c65ea0"><code>6cddd9e</code></a>
      Make tail call expr mandatory</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/d1746fe29d18ca704ed285844c365a14a77e8757"><code>d1746fe</code></a>
      Release 2.0.75</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/b6936825a637376dd7584653e13776034759d3fd"><code>b693682</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1722">#1722</a>
      from dtolnay/exprpath</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.65...2.0.77">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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: command-bot <>
  23. Sep 18, 2024
    • dependabot[bot]'s avatar
      Bump soketto from 0.7.1 to 0.8.0 (#5719) · 37bdc897
      dependabot[bot] authored
      
      Bumps [soketto](https://github.com/paritytech/soketto) from 0.7.1 to
      0.8.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/paritytech/soketto/releases">soketto's
      releases</a>.</em></p>
      <blockquote>
      <h2>v0.8.0</h2>
      <h2>0.8.0</h2>
      <ul>
      <li>[changed] move to rust 2021 <a
      href="https://redirect.github.com/paritytech/soketto/pull/56">#56</a></li>
      <li>[changed] Replace sha-1 v0.9 with sha1 v0.10 <a
      href="https://redirect.github.com/paritytech/soketto/pull/62">#62</a></li>
      <li>[changed] Update hyper requirement from v0.14 to v1.0 <a
      href="https://redirect.github.com/paritytech/soketto/pull/99">#99</a></li>
      <li>[changed] Update base64 requirement from 0.13 to 0.22 <a
      href="https://redirect.github.com/paritytech/soketto/pull/97">#97</a></li>
      <li>[changed] Bump MSRV to 1.71.1.</li>
      <li>[fixed] doc typo on Client resource field <a
      href="https://redirect.github.com/paritytech/soketto/pull/97">#79</a></li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/paritytech/soketto/blob/master/CHANGELOG.md">soketto's
      changelog</a>.</em></p>
      <blockquote>
      <h2>0.8.0</h2>
      <ul>
      <li>[changed] move to rust 2021 <a
      href="https://redirect.github.com/paritytech/soketto/pull/56">#56</a></li>
      <li>[changed] Replace sha-1 v0.9 with sha1 v0.10 <a
      href="https://redirect.github.com/paritytech/soketto/pull/62">#62</a></li>
      <li>[changed] Update hyper requirement from v0.14 to v1.0 <a
      href="https://redirect.github.com/paritytech/soketto/pull/99">#99</a></li>
      <li>[changed] Update base64 requirement from 0.13 to 0.22 <a
      href="https://redirect.github.com/paritytech/soketto/pull/97">#97</a></li>
      <li>[changed] Bump MSRV to 1.71.1.</li>
      <li>[fixed] doc typo on Client resource field <a
      href="https://redirect.github.com/paritytech/soketto/pull/97">#79</a></li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/paritytech/soketto/commit/7fee76678b7d08b21f5081de0f9041c7c9c1afdd"><code>7fee766</code></a>
      Merge pull request <a
      href="https://redirect.github.com/paritytech/soketto/issues/100">#100</a>
      from paritytech/chore-release-soketto-0.8</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/f392c852b2ad7d6146accb5b75989dd60cbeaed1"><code>f392c85</code></a>
      chore: release v0.8.0</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/6f31ad11e742a3e83ec9b9b75644b2e0242f5da7"><code>6f31ad1</code></a>
      Merge pull request <a
      href="https://redirect.github.com/paritytech/soketto/issues/88">#88</a>
      from paritytech/dependabot/github_actions/actions/chec...</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/322240516dc844abd5deb9d740df3b16614c08b9"><code>3222405</code></a>
      Merge pull request <a
      href="https://redirect.github.com/paritytech/soketto/issues/99">#99</a>
      from paritytech/chore-update-hyper</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/afe56f5d26687b60b038522e7f10277adfd73c14"><code>afe56f5</code></a>
      Merge pull request <a
      href="https://redirect.github.com/paritytech/soketto/issues/97">#97</a>
      from paritytech/dependabot/cargo/base64-0.22</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/420216aad917301e3513905ad55f60ffc068a4e0"><code>420216a</code></a>
      chore(deps): update hyper v1.0</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/050d44ba45cd800877729b649a898ac483fbff97"><code>050d44b</code></a>
      Update base64 requirement from 0.21 to 0.22</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/3d65c54d37162a57c8401f6428b3f9213bed8fd7"><code>3d65c54</code></a>
      Merge pull request <a
      href="https://redirect.github.com/paritytech/soketto/issues/95">#95</a>
      from paritytech/dependabot/cargo/env_logger-0.11.1</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/153cd94dfcdcded2e0f6857ef8623d14ca4cc91a"><code>153cd94</code></a>
      Update env_logger requirement from 0.10.0 to 0.11.1</li>
      <li><a
      href="https://github.com/paritytech/soketto/commit/26a2fc647258345da8cdefe3f8d9f0a01553eb46"><code>26a2fc6</code></a>
      Merge pull request <a
      href="https://redirect.github.com/paritytech/soketto/issues/87">#87</a>
      from kayabaNerve/master</li>
      <li>Additional commits viewable in <a
      href="https://github.com/paritytech/soketto/compare/v0.7.1...v0.8.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=soketto&package-manager=cargo&previous-version=0.7.1&new-version=0.8.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 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Javier Viola's avatar
      add `coretime` test using `zombienet-sdk` (#4883) · ba38d31d
      Javier Viola authored
      Related to #4882
      cc: @s0me0ne-unkn0wn
      
       
      
      ```sh
      RUST_LOG=info,zombie=debug cargo test -p polkadot-zombienet-sdk-tests smoke::coretime_revenue::coretime_revenue_test --features zombie-metadata  -- --exact
      ```
      
      ---
      
      _Update_: This pr is now ready for review. `warp-sync` failing test are
      not related.
      
      ---------
      
      Co-authored-by: default avatarDmitry Sinyavin <dmitry.sinyavin@parity.io>
      Co-authored-by: default avatars0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
  24. Sep 16, 2024
  25. Sep 10, 2024
    • Alexandru Vasile's avatar
      litep2p: Update network backend to v0.7.0 (#5609) · 12eeb5df
      Alexandru Vasile authored
      
      This release introduces several new features, improvements, and fixes to
      the litep2p library. Key updates include enhanced error handling,
      configurable connection limits, and a new API for managing public
      addresses.
      
      For a detailed set of changes, see [litep2p
      changelog](https://github.com/paritytech/litep2p/blob/master/CHANGELOG.md#070---2024-09-05).
      
      This PR makes use of:
      - connection limits to optimize network throughput
      - better errors that are propagated to substrate metrics 
      - public addresses API to report healthy addresses to the Identify
      protocol
      
      ### Warp sync time improvement
      
      Measuring warp sync time is a bit inaccurate since the network is not
      deterministic and we might end up using faster peers (peers with more
      resources to handle our requests). However, I did not see warp sync
      times of 16 minutes, instead, they are roughly stabilized between 8 and
      10 minutes.
      
      For measuring warp-sync time, I've used
      [sub-trige-logs](https://github.com/lexnv/sub-triage-logs/?tab=readme-ov-file#warp-time)
      
      ### Litep2p
      
      Phase | Time
       -|-
      Warp  | 426.999999919s
      State | 99.000000555s
      Total | 526.000000474s
      
      ### Libp2p
      
      Phase | Time
       -|-
      Warp  | 731.999999837s
      State | 71.000000882s
      Total | 803.000000719s
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4986
      
      
      ### Low peer count
      
      After exposing the `litep2p::public_addresses` interface, we can report
      to litep2p confirmed external addresses. This should mitigate or at
      least improve: https://github.com/paritytech/polkadot-sdk/issues/4925.
      Will keep the issue around to confirm this.
      
      
      ### Improved metrics
      
      We are one step closer to exposing similar metrics as libp2p:
      https://github.com/paritytech/polkadot-sdk/issues/4681.
      
      cc @paritytech/networking 
      
      ### Next Steps
      - [x] Use public address interface to confirm addresses to identify
      protocol
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
  26. Sep 09, 2024
    • dependabot[bot]'s avatar
      Bump proc-macro2 from 1.0.82 to 1.0.86 (#5638) · f5783cc6
      dependabot[bot] authored
      Bumps [proc-macro2](https://github.com/dtolnay/proc-macro2) from 1.0.82
      to 1.0.86.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/proc-macro2/releases">proc-macro2's
      releases</a>.</em></p>
      <blockquote>
      <h2>1.0.86</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      <h2>1.0.85</h2>
      <ul>
      <li>Mark some tests as only for 64-bit targets (<a
      href="https://redirect.github.com/dtolnay/proc-macro2/issues/463">#463</a>)</li>
      </ul>
      <h2>1.0.84</h2>
      <ul>
      <li>Documentation improvements (<a
      href="https://redirect.github.com/dtolnay/proc-macro2/issues/455">#455</a>,
      thanks <a
      href="https://github.com/CensoredUsername"><code>@​CensoredUsername</code></a>)</li>
      </ul>
      <h2>1.0.83</h2>
      <ul>
      <li>Optimize the representation of <code>Ident</code> (<a
      href="https://redirect.github.com/dtolnay/proc-macro2/issues/462">#462</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.c...
    • dependabot[bot]'s avatar
      Bump lazy_static from 1.4.0 to 1.5.0 (#5639) · def35b92
      dependabot[bot] authored
      
      Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs)
      from 1.4.0 to 1.5.0.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/be7c1c43f264699f956b70ce8e29941bd1e61bde"><code>be7c1c4</code></a>
      point readme version to 1.5.0</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/8971a27dac57dbef72dd6abb9a55bca795ed58de"><code>8971a27</code></a>
      update readme build badge</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/15691ec43162cb50ba02bf39adac38f113688e77"><code>15691ec</code></a>
      Modernize lazy-static infra (<a
      href="https://redirect.github.com/rust-lang-nursery/lazy-static.rs/issues/219">#219</a>)</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/2660041abcd4112854d1f6ebff35d421cc24263a"><code>2660041</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang-nursery/lazy-static.rs/issues/206">#206</a>
      from TheBotlyNoob/master</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/6ace970cabd2bda121745d8b12539c93ba2878fd"><code>6ace970</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang-nursery/lazy-static.rs/issues/216">#216</a>
      from frewsxcv/patch-1</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/a2031053df502518e44fec72712db8f927c6ee5c"><code>a203105</code></a>
      Update README.md</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/cfd89ac7fcbc3fb8ee5ee20b374b2b1dfb357198"><code>cfd89ac</code></a>
      Update README.md</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/fc8e466b94cc9c5f38d6002d3cc865f19a9ca004"><code>fc8e466</code></a>
      Update README.md</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/a8afb21bfd9dc53b51111bd1d9f19c2275fc97fe"><code>a8afb21</code></a>
      Update README.md</li>
      <li><a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/commit/41fa23457d65b5c4688a42228734fd8479214a83"><code>41fa234</code></a>
      Update README to indicate how to replace with
      <code>std::sync::OnceLock</code></li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.4.0...1.5.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lazy_static&package-manager=cargo&previous-version=1.4.0&new-version=1.5.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 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 3 updates (#5636) · 083f5273
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 3 updates:
      [serde](https://github.com/serde-rs/serde),
      [serde_derive](https://github.com/serde-rs/serde) and
      [serde_json](https://github.com/serde-rs/json).
      
      Updates `serde` from 1.0.209 to 1.0.210
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.210</h2>
      <ul>
      <li>Support serializing and deserializing <code>IpAddr</code> and
      <code>SocketAddr</code> in no-std mode on Rust 1.77+ (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2816">#2816</a>,
      thanks <a
      href="https://github.com/MathiasKoch"><code>@​MathiasKoch</code></a>)</li>
      <li>Make <code>serde::ser::StdError</code> and
      <code>serde::de::StdError</code> equivalent to
      <code>core::error::Error</code> on Rust 1.81+ (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2818">#2818</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/89c4b02bf32ceae5b17d89f93a452ccc195ca038"><code>89c4b02</code></a>
      Release 1.0.210</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/eeb8e44cda15f929796cd72241b0311e0bd04e67"><code>eeb8e44</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2818">#2818</a>
      from dtolnay/coreerror</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/785c2d9605ee73cc172dfd421228c1dccca984c9"><code>785c2d9</code></a>
      Stabilize no-std StdError trait</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/d549f048e10bcb5e677afaf7b99d0ed3604b113b"><code>d549f04</code></a>
      Reformat parse_ip_impl definition and calls</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/4c0dd63011434905265e2710bb9186e09e4f8ec2"><code>4c0dd63</code></a>
      Delete attr support from core::net deserialization macros</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/26fb1341651c4e0ae4d58c675db3ca2a0d6e12c2"><code>26fb134</code></a>
      Relocate cfg attrs out of parse_ip_impl and parse_socket_impl</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/07e614b52b5ab3387d86d3198e5f52cd1f5ff3cb"><code>07e614b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2817">#2817</a>
      from dtolnay/corenet</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b1f899fbe81f070803d9f7ca6e5d1cc3f19c9ea2"><code>b1f899f</code></a>
      Delete doc(cfg) attribute from impls that are supported in no-std</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b4f860e62767828beb3ef91721b6c56a31f9baad"><code>b4f860e</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2816">#2816</a>
      from MathiasKoch/chore/core-net</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/d940fe1b4934f097b0333dcb87bec5ee308d39cd"><code>d940fe1</code></a>
      Reuse existing Buf wrapper as replacement for std::io::Write</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_derive` from 1.0.209 to 1.0.210
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/serde-rs/serde/releases">serde_derive's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.0.210</h2>
      <ul>
      <li>Support serializing and deserializing <code>IpAddr</code> and
      <code>SocketAddr</code> in no-std mode on Rust 1.77+ (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2816">#2816</a>,
      thanks <a
      href="https://github.com/MathiasKoch"><code>@​MathiasKoch</code></a>)</li>
      <li>Make <code>serde::ser::StdError</code> and
      <code>serde::de::StdError</code> equivalent to
      <code>core::error::Error</code> on Rust 1.81+ (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2818">#2818</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/89c4b02bf32ceae5b17d89f93a452ccc195ca038"><code>89c4b02</code></a>
      Release 1.0.210</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/eeb8e44cda15f929796cd72241b0311e0bd04e67"><code>eeb8e44</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2818">#2818</a>
      from dtolnay/coreerror</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/785c2d9605ee73cc172dfd421228c1dccca984c9"><code>785c2d9</code></a>
      Stabilize no-std StdError trait</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/d549f048e10bcb5e677afaf7b99d0ed3604b113b"><code>d549f04</code></a>
      Reformat parse_ip_impl definition and calls</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/4c0dd63011434905265e2710bb9186e09e4f8ec2"><code>4c0dd63</code></a>
      Delete attr support from core::net deserialization macros</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/26fb1341651c4e0ae4d58c675db3ca2a0d6e12c2"><code>26fb134</code></a>
      Relocate cfg attrs out of parse_ip_impl and parse_socket_impl</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/07e614b52b5ab3387d86d3198e5f52cd1f5ff3cb"><code>07e614b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2817">#2817</a>
      from dtolnay/corenet</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b1f899fbe81f070803d9f7ca6e5d1cc3f19c9ea2"><code>b1f899f</code></a>
      Delete doc(cfg) attribute from impls that are supported in no-std</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/b4f860e62767828beb3ef91721b6c56a31f9baad"><code>b4f860e</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2816">#2816</a>
      from MathiasKoch/chore/core-net</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/d940fe1b4934f097b0333dcb87bec5ee308d39cd"><code>d940fe1</code></a>
      Reuse existing Buf wrapper as replacement for std::io::Write</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.209...v1.0.210">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `serde_json` from 1.0.127 to 1.0.128
      <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.128</h2>
      <ul>
      <li>Support serializing maps containing 128-bit integer keys to
      serde_json::Value (<a
      href="https://redirect.github.com/serde-rs/json/issues/1188">#1188</a>,
      thanks <a
      href="https://github.com/Mrreadiness"><code>@​Mrreadiness</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/json/commit/d96b1d9b643b49a0bb92a8cf280daf6aa08f37cc"><code>d96b1d9</code></a>
      Release 1.0.128</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/599228d5dc52a0f1595fe4bd901821f70d0317a5"><code>599228d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/json/issues/1188">#1188</a>
      from Mrreadiness/feat/add-hashmap-key-128-serializer</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/5416cee6c5ad355907f6e9d5f6039b994c69f768"><code>5416cee</code></a>
      feat: add support for 128 bit HashMap key serialization</li>
      <li><a
      href="https://github.com/serde-rs/json/commit/27a4ca9d7a62394fe8f0103f3d91de59f055a4c4"><code>27a4ca9</code></a>
      Upload CI Cargo.lock for reproducing failures</li>
      <li>See full diff in <a
      href="https://github.com/serde-rs/json/compare/1.0.127...1.0.128">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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  27. Sep 02, 2024
    • dependabot[bot]'s avatar
      Bump toml from 0.8.8 to 0.8.12 (#5542) · 7c46b28d
      dependabot[bot] authored
      
      Bumps [toml](https://github.com/toml-rs/toml) from 0.8.8 to 0.8.12.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/toml-rs/toml/commit/3a777b326b8c91f48c79ea6fc21aabc695f7dc3d"><code>3a777b3</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/79799052128f3ea64316d3acc4c54e63fc6f285c"><code>7979905</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/487768d8d7c41b12eb7547cab4e964b3dede002b"><code>487768d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/toml-rs/toml/issues/703">#703</a> from
      epage/overflow</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/6987f77649aacc7a6cc2b9cff0d1f22c260f9643"><code>6987f77</code></a>
      chore(ci): Run with default opt-level</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/21f545d05ca57560485f24cbf78aaf8478a52c5d"><code>21f545d</code></a>
      fix(parser): Don't stackoverflow on opt-level=0</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/af1f97dbf5a40740e26eb4f705a0bd744744807b"><code>af1f97d</code></a>
      refactor(parser): Pull recursion limit out to variable</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/eb865434a251b30ca1a9699b8762a1f5f4670c1c"><code>eb86543</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/246b2920e28919e02a94c0b3eab8e55c7742f5d0"><code>246b292</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/d41c62ca5d09c50064905f7da04fc103d78ff566"><code>d41c62c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/toml-rs/toml/issues/701">#701</a> from
      epage/cleanup</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/31457b3aedcddae92549b5fe19c1938d29a73a2d"><code>31457b3</code></a>
      refactor(error): Clean up highlight code</li>
      <li>Additional commits viewable in <a
      href="https://github.com/toml-rs/toml/compare/toml-v0.8.8...toml-v0.8.12">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.8.8&new-version=0.8.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 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • dependabot[bot]'s avatar
      Bump clap_complete from 4.4.0 to 4.5.13 (#5541) · da11c7e9
      dependabot[bot] authored
      
      Bumps [clap_complete](https://github.com/clap-rs/clap) from 4.4.0 to
      4.5.13.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap_complete's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.5.13</h2>
      <h2>[4.5.13] - 2024-07-31</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Improve error message when
      <code>#[flatten]</code>ing an optional <code>#[group(skip)]</code></li>
      <li><em>(help)</em> Properly wrap long subcommand descriptions in
      help</li>
      </ul>
      <h2>v4.5.12</h2>
      <h2>[4.5.12] - 2024-07-31</h2>
      <h2>v4.5.10</h2>
      <h2>[4.5.10] - 2024-07-23</h2>
      <h2>v4.5.9</h2>
      <h2>[4.5.9] - 2024-07-09</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When defining a custom help flag, be sure to
      suggest it like we do the built-in one</li>
      </ul>
      <h2>v4.5.8</h2>
      <h2>[4.5.8] - 2024-06-28</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Reduce extra flushes</li>
      </ul>
      <h2>v4.5.7</h2>
      <h2>[4.5.7] - 2024-06-10</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Clean up error message when too few arguments for
      <code>num_args</code></li>
      </ul>
      <h2>v4.5.6</h2>
      <h2>[4.5.6] - 2024-06-06</h2>
      <h2>v4.5.4</h2>
      <h2>[4.5.4] - 2024-03-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
      attributes again</li>
      </ul>
      <h2>v4.5.3</h2>
      <h2>[4.5.3] - 2024-03-15</h2>
      <h3>Internal</h3>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap_complete's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.5.13] - 2024-07-31</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Improve error message when
      <code>#[flatten]</code>ing an optional <code>#[group(skip)]</code></li>
      <li><em>(help)</em> Properly wrap long subcommand descriptions in
      help</li>
      </ul>
      <h2>[4.5.12] - 2024-07-31</h2>
      <h2>[4.5.11] - 2024-07-25</h2>
      <h2>[4.5.10] - 2024-07-23</h2>
      <h2>[4.5.9] - 2024-07-09</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When defining a custom help flag, be sure to
      suggest it like we do the built-in one</li>
      </ul>
      <h2>[4.5.8] - 2024-06-28</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Reduce extra flushes</li>
      </ul>
      <h2>[4.5.7] - 2024-06-10</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Clean up error message when too few arguments for
      <code>num_args</code></li>
      </ul>
      <h2>[4.5.6] - 2024-06-06</h2>
      <h2>[4.5.5] - 2024-06-06</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Allow <code>exclusive</code> to override
      <code>required_unless_present</code>,
      <code>required_unless_present_any</code>,
      <code>required_unless_present_all</code></li>
      </ul>
      <h2>[4.5.4] - 2024-03-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
      attributes again</li>
      </ul>
      <h2>[4.5.3] - 2024-03-15</h2>
      <h3>Internal</h3>
      <ul>
      <li><em>(derive)</em> Update <code>heck</code></li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d222ae4cb62d08b4d8f635aa80ddb3c880b82e6e"><code>d222ae4</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a8abcb40c5f2628bfa671adf61a090a1bbfbcfa2"><code>a8abcb4</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2690e1bdb19df3e4dde7a50fc33b14a3bf6f0b8a"><code>2690e1b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5621">#5621</a>
      from shannmu/dynamic_valuehint</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/7fd7b3e40bd835070253432accf4076bb020beda"><code>7fd7b3e</code></a>
      feat(clap_complete): Support to complete custom value of argument</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/fc6aaca52b42d0e4ae13805e7480cbb05f63a0ca"><code>fc6aaca</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5638">#5638</a>
      from epage/cargo</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/631e54bc715ed2fa53d8457dc273a25b92d3b354"><code>631e54b</code></a>
      docs(cookbook): Style cargo plugin</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6fb49d08bb2acfbc2f2aa5f717ccd4a4018ca872"><code>6fb49d0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5636">#5636</a>
      from gibfahn/styles_const</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6f215eee98c4f73099b0ede2ac62ba019ada24ce"><code>6f215ee</code></a>
      refactor(styles): make styles example use a const</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/bbb2e6fdde1c724e39c2f2616332310252c12ab8"><code>bbb2e6f</code></a>
      test: Add test case for completing custom value of argument</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/999071c46dca0367d93f66ecd97b2e3507963284"><code>999071c</code></a>
      fix: Change <code>visible</code> to <code>hidden</code></li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.4.0...clap_complete-v4.5.13">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap_complete&package-manager=cargo&previous-version=4.4.0&new-version=4.5.13)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Bastian Köcher's avatar
      collator-protocol: Handle unknown validator heads (#5538) · f58e2b80
      Bastian Köcher authored
      There is a race condition when a validator sends its heads to the
      collator, but the collator doesn't yet know these heads. Before it is
      aware of these heads by importing the block(s), any collation registered
      on the collator is not announced to the validators. The collations
      aren't advertised, because the collator doesn't know yet that these
      heads of the validator are descendants of the collations relay parent.
      
      The solution is to store these unknown heads of the validators and to
      handle them when the collator updates its own view.
    • dependabot[bot]'s avatar
      Bump color-eyre from 0.6.2 to 0.6.3 (#5543) · f0b2add1
      dependabot[bot] authored
      
      Bumps [color-eyre](https://github.com/eyre-rs/eyre) from 0.6.2 to 0.6.3.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/f544fed447df75b1accbc95bc2c26aa8fedc312e"><code>f544fed</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/7689b983de53562d678f58a05a6dcfc57d5fae76"><code>7689b98</code></a>
      chore: don't inherit workspace readme</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/63cb4122fcff401efcab862ecf6c65509bc9d1c0"><code>63cb412</code></a>
      chore: remove old metadata</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/7e7e17319aaf7b42bffd9e9cd4a12cb1c2bc8318"><code>7e7e173</code></a>
      chore: update changelog</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/7a5c32acd7a4a6139448b7900a6787f70b5b69fb"><code>7a5c32a</code></a>
      Add color-eyre to workspace (<a
      href="https://redirect.github.com/eyre-rs/eyre/issues/110">#110</a>)</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/eb8d059c501fbad8de6c6c8af4745f73083969a3"><code>eb8d059</code></a>
      Merge remote-tracking branch 'origin/master' into color-eyre</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/75beaaea3fc85ddab5e9c81570d3c76ea3a21ac8"><code>75beaae</code></a>
      fix: remove <code>anyhow</code> feature flag from <code>OptionExt</code>
      location test (<a
      href="https://redirect.github.com/eyre-rs/eyre/issues/148">#148</a>)</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/e57015195082391e00132b4ea4a7ed9fe4536248"><code>e570151</code></a>
      color-spantrace: bump owo-colors to 4.0 (<a
      href="https://redirect.github.com/eyre-rs/eyre/issues/156">#156</a>)</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/cb4bab6fd0355461f6eec4241e4db9949d890e73"><code>cb4bab6</code></a>
      chore: update issues redirect</li>
      <li><a
      href="https://github.com/eyre-rs/eyre/commit/8ebc308a0ae54f04a410911d2f9c621c988b766a"><code>8ebc308</code></a>
      fix: make theme test more lenient</li>
      <li>Additional commits viewable in <a
      href="https://github.com/eyre-rs/eyre/compare/v0.6.2...color-eyre-v0.6.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=color-eyre&package-manager=cargo&previous-version=0.6.2&new-version=0.6.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>