- Sep 02, 2024
-
-
Branislav Kontur authored
Relates to: https://github.com/paritytech/parity-bridges-common/issues/2451 Closes: https://github.com/paritytech/parity-bridges-common/issues/2500 ## Summary Now, the bridging pallet supports only static lanes, which means lanes that are hard-coded in the runtime files. This PR fixes that and adds support for dynamic, also known as permissionless, lanes. This means that allowed origins (relay chain, sibling parachains) can open and close bridges (through BridgeHubs) with another bridged (substrate-like) consensus using just `xcm::Transact` and `OriginKind::Xcm`. _This PR is based on the migrated code from the Bridges V2 [branch](https://github.com/paritytech/polkadot-sdk/pull/4427) from the old `parity-bridges-common` [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2)._ ## Explanation Please read [bridges/modules/xcm-bridge-hub/src/lib.rs](https://github.com/paritytech/polkadot-sdk/blob/149b0ac2 /bridges/modules/xcm-bridge-hub/src/lib.rs#L17-L136) to understand how managing bridges works. The basic concepts around `BridgeId` and `LaneId` are also explained there. ## TODO - [x] search and fix for comment: `// TODO:(bridges-v2) - most of that stuff was introduced with free header execution: https://github.com/paritytech/polkadot-sdk/pull/4102` - more info in the comment [bellow](https://github.com/paritytech/polkadot-sdk/pull/4427#issuecomment-2126625043) - [x] TODO: there's only one impl of `EnsureOrigin<Success = Location>` ## TODO - not blocking review **benchmarking:** - [x] regenerate all relevant weights for BH/AH runtimes - [ ] regenerate default weights for bridging pallets e.g. `modules/messages/src/weights.rs` - [ ] add benchmarks for `xcm-bridge-hub` pallet https://github.com/paritytech/polkadot-sdk/issues/5550 **testing:** - [ ] add xcm-emulator tests for Rococo/Penpal to Westend/Penpal with full opening channel and sending/receiving `xcm::Transact` **migrations:** - [x] add migrations for BridgeHubRococo/Westend https://github.com/paritytech/parity-bridges-common/issues/2794 (to be reusable for P/K bridge) - [x] check also storage migration, if needed for pallets - [ ] migration for XCM type (optional) - [x] migration for static lanes to the dynamic (reuse for fellows) **investigation:** - [ ] revisit https://github.com/paritytech/parity-bridges-common/issues/2380 - [ ] check congestion around `LocalXcmChannelManager` and `OutboundLanesCongestedSignals` impls - https://github.com/paritytech/polkadot-sdk/issues/5551 - to be reusable for polkadot-fellows - return `report_bridge_status` was remove, so we need to `XcmpQueue` alternative? --------- Signed-off-by:
Branislav Kontur <bkontur@gmail.com> Co-authored-by:
Svyatoslav Nikolsky <svyatonik@gmail.com> Co-authored-by: command-bot <> Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com>
-
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 /> [](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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
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 /> [](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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
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.
-
Nazar Mokrynskyi authored
This improves `sc-service` API by not requiring the whole `&Configuration`, using specific configuration options instead. `RpcConfiguration` was also extracted from `Configuration` to group all RPC options together. We don't use Substrate's CLI and would rather not use `Configuration` either, but some key public functions require it even though they ignored most of the fields anyway. `RpcConfiguration` is very helpful not just for consolidation of the fields, but also to finally make RPC optional for our use case, while Substrate still runs RPC server on localhost even if listening address is explicitly set to `None`, which is annoying (and I suspect there is a reason for it, so didn't want to change the default just yet). While this is a breaking change, most developers will not notice it if they use higher-level APIs. Fixes https://github.com/paritytech/polkadot-sdk/issues/2897 --------- Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com>
-
Francisco Aguirre authored
# Context Fees can already be paid in other assets locally thanks to the Trader implementations we have. This doesn't work when sending messages because delivery fees go through a different mechanism altogether. The idea is to fix this leveraging the `AssetExchanger` config item that's able to turn the asset the user wants to pay fees in into the asset the router expects for delivery fees. # Main addition An adapter was needed to use `pallet-asset-conversion` for exchanging assets in XCM. This was created in https://github.com/paritytech/polkadot-sdk/pull/5130. The XCM executor was modified to use `AssetExchanger` (when available) to swap assets to pay for delivery fees. ## Limitations We can only pay for delivery fees in different assets in intermediate hops. We can't pay in different assets locally. The first hop will always need the native token of the chain (or whatever is specified in the `XcmRouter`). This is a byproduct of using the `BuyExecution` instruction to know which asset should be used for delivery fee payment. Since this instruction is not present when executing an XCM locally, we are left with this limitation. To illustrate this limitation, I'll show two scenarios. All chains involved have pools. ### Scenario 1 Parachain A --> Parachain B Here, parachain A can use any asset in a pool with its native asset to pay for local execution fees. However, as of now we can't use those for local delivery fees. This means transfers from A to B need some amount of A's native token to pay for delivery fees. ### Scenario 2 Parachain A --> Parachain C --> Parachain B Here, Parachain C's remote delivery fees can be paid with any asset in a pool with its native asset. This allows a reserve asset transfer between A and B with C as the reserve to only need A's native token at the starting hop. After that, it could all be pool assets. ## Future work The fact that delivery fees go through a totally different mechanism results in a lot of bugs and pain points. Unfortunately, this is not so easy to solve in a backwards compatible manner. Delivery fees will be integrated into the language in future XCM versions, following https://github.com/polkadot-fellows/xcm-format/pull/53. Old PR: https://github.com/paritytech/polkadot-sdk/pull/4375.
-
Alexandru Gheorghe authored
# Prerequisite This is part of the work to further optimize the approval subsystems, if you want to understand the full context start with reading https://github.com/paritytech/polkadot-sdk/pull/4849#issue-2364261568, # Description This PR contain changes, so that the crypto checks are performed by the approval-distribution subsystem instead of the approval-voting one. The benefit for these, is twofold: 1. Approval-distribution won't have to wait every single time for the approval-voting to finish its job, so the work gets to be pipelined between approval-distribution and approval-voting. 2. By running in parallel multiple instances of approval-distribution as described here https://github.com/paritytech/polkadot-sdk/pull/4849#issue-2364261568, this significant body of work gets to run in parallel. ## Changes: 1. When approval-voting send `ApprovalDistributionMessage::NewBlocks` it needs to pass the core_index and candidate_hash of the candidates. 2. ApprovalDistribution needs to use `RuntimeInfo` to be able to fetch the SessionInfo from the runtime. 3. Move `approval-voting` logic that checks VRF assignment into `approval-distribution` 4. Move `approval-voting` logic that checks vote is correctly signed into `approval-distribution` 5. Plumb `approval-distribution` and `approval-voting` tests to support the new logic. ## Benefits Even without parallelisation the gains are significant, for example on my machine if we run approval subsystem bench for 500 validators and 100 cores and trigger all 89 tranches of assignments and approvals, the system won't fall behind anymore because of late processing of messages. ``` Before change Chain selection approved after 11500 ms hash=0x0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a After change Chain selection approved after 5500 ms hash=0x0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a ``` ## TODO: - [x] Run on versi. - [x] Update parachain host documentation. --------- Signed-off-by:
Alexandru Gheorghe <alexandru.gheorghe@parity.io>
-
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 /> [](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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Aug 31, 2024
-
-
Maksym H authored
Tiny fix for subweight diff in /cmd
-
Alexander Theißen authored
Added the new contracts pallet and also added @pgherveou as code owners.
-
- Aug 30, 2024
-
-
dependabot[bot] authored
Bumps the known_good_semver group with 4 updates in the / directory: [quote](https://github.com/dtolnay/quote), [serde](https://github.com/serde-rs/serde), [serde_json](https://github.com/serde-rs/json) and [syn](https://github.com/dtolnay/syn). Updates `quote` from 1.0.36 to 1.0.37 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/quote/releases">quote's releases</a>.</em></p> <blockquote> <h2>1.0.37</h2> <ul> <li>Implement ToTokens for CStr and CString (<a href="https://redirect.github.com/dtolnay/quote/issues/283">#283</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/quote/commit/b1ebffa035363a430862e033aa3268e8cb17affa"><code>b1ebffa</code></a> Release 1.0.37</li> <li><a href="https://github.com/dtolnay/quote/commit/43acd77961424b3cb5035688f74d14d556eefe90"><code>43acd77</code></a> Delete unneeded use of <code>ref</code></li> <li><a href="https://github.com/dtolnay/quote/commit/9382c2182ea10f8e0f90d1e5f15ca3f20a777dff"><code>9382c21</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/quote/issues/283">#283</a> from dtolnay/cstr</li> <li><a href="https://github.com/dtolnay/quote/commit/6ac432877bbfe43892677e32af7e3f0e28b6333e"><code>6ac4328</code></a> Add C string tests</li> <li><a href="https://github.com/dtolnay/quote/commit/9fb0591a17893eea81260351c6eb431e1fd83524"><code>9fb0591</code></a> Implement ToTokens for CStr and CString</li> <li><a href="https://github.com/dtolnay/quote/commit/ba7a9d08c9acba8ae97926dcc18822b20441c0fa"><code>ba7a9d0</code></a> Organize test imports</li> <li><a href="https://github.com/dtolnay/quote/commit/aa9970f9838a5b6dd5438c662921470f873e2b3a"><code>aa9970f</code></a> Inline the macro that generates primitive impls</li> <li><a href="https://github.com/dtolnay/quote/commit/ba411091c98c311526774adde73e724448836337"><code>ba41109</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/quote/issues/282">#282</a> from dtolnay/tokens</li> <li><a href="https://github.com/dtolnay/quote/commit/c77340a4c6869690ad7b40069e8ca1cb90e4abb8"><code>c77340a</code></a> Consistently use 'tokens' as the name of the &mut TokenStream arg</li> <li><a href="https://github.com/dtolnay/quote/commit/a4a0abf12fa0137eca5aaa74fe88ca6694e78746"><code>a4a0abf</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/quote/issues/281">#281</a> from dtolnay/char</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/quote/compare/1.0.36...1.0.37">compare view</a></li> </ul> </details> <br /> Updates `serde` from 1.0.206 to 1.0.209 <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.209</h2> <ul> <li>Fix deserialization of empty structs and empty tuples inside of untagged enums (<a href="https://redirect.github.com/serde-rs/serde/issues/2805">#2805</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> </ul> <h2>v1.0.208</h2> <ul> <li>Support serializing and deserializing unit structs in a <code>flatten</code> field (<a href="https://redirect.github.com/serde-rs/serde/issues/2802">#2802</a>, thanks <a href="https://github.com/jonhoo"><code>@jonhoo</code></a>)</li> </ul> <h2>v1.0.207</h2> <ul> <li>Improve interactions between <code>flatten</code> attribute and <code>skip_serializing</code>/<code>skip_deserializing</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2795">#2795</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/serde/commit/30752ac4ffdaa284606eda34055ad185e28c5499"><code>30752ac</code></a> Release 1.0.209</li> <li><a href="https://github.com/serde-rs/serde/commit/b84e6ca4f5fef69b3de985c586a07b1246f3eb9a"><code>b84e6ca</code></a> Improve wording of PR 2805 comments</li> <li><a href="https://github.com/serde-rs/serde/commit/87a2fb0f1a2774ea5bb20c0ed988b9ba57fc8166"><code>87a2fb0</code></a> Wrap comments from PR 2805 to 80 columns</li> <li><a href="https://github.com/serde-rs/serde/commit/9eaf7b9824f2082c50d17ad22b786322dc283a61"><code>9eaf7b9</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2805">#2805</a> from Mingun/untagged-tests</li> <li><a href="https://github.com/serde-rs/serde/commit/7bde100237875d4f435de5ad90074b0479c37486"><code>7bde100</code></a> Replace MapRefDeserializer with value::MapDeserializer</li> <li><a href="https://github.com/serde-rs/serde/commit/da7fc795ee654252effa232a62a5a1e6d4f551ee"><code>da7fc79</code></a> Fix deserialization of empty struct variant in untagged enums</li> <li><a href="https://github.com/serde-rs/serde/commit/4c5fec1363d363f995375426f72db11c28f357c1"><code>4c5fec1</code></a> Test special cases that reaches SeqRefDeserializer::deserialize_any len==0 co...</li> <li><a href="https://github.com/serde-rs/serde/commit/6588b0ad3777f7ad930d68ab4b9ec5b9c25398e0"><code>6588b0a</code></a> Cover Content::Seq case in VariantRefDeserializer::struct_variant</li> <li><a href="https://github.com/serde-rs/serde/commit/0093f74cfee5ee3239514a7aad5fb44843eddcdd"><code>0093f74</code></a> Split test newtype_enum into four tests for each variant</li> <li><a href="https://github.com/serde-rs/serde/commit/171c6da57af712cfcf01c6c124b14cabfca364ba"><code>171c6da</code></a> Complete coverage of ContentRefDeserializer::deserialize_newtype_struct</li> <li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.206...v1.0.209">compare view</a></li> </ul> </details> <br /> Updates `serde_derive` from 1.0.206 to 1.0.209 <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.209</h2> <ul> <li>Fix deserialization of empty structs and empty tuples inside of untagged enums (<a href="https://redirect.github.com/serde-rs/serde/issues/2805">#2805</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> </ul> <h2>v1.0.208</h2> <ul> <li>Support serializing and deserializing unit structs in a <code>flatten</code> field (<a href="https://redirect.github.com/serde-rs/serde/issues/2802">#2802</a>, thanks <a href="https://github.com/jonhoo"><code>@jonhoo</code></a>)</li> </ul> <h2>v1.0.207</h2> <ul> <li>Improve interactions between <code>flatten</code> attribute and <code>skip_serializing</code>/<code>skip_deserializing</code> (<a href="https://redirect.github.com/serde-rs/serde/issues/2795">#2795</a>, thanks <a href="https://github.com/Mingun"><code>@Mingun</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/serde/commit/30752ac4ffdaa284606eda34055ad185e28c5499"><code>30752ac</code></a> Release 1.0.209</li> <li><a href="https://github.com/serde-rs/serde/commit/b84e6ca4f5fef69b3de985c586a07b1246f3eb9a"><code>b84e6ca</code></a> Improve wording of PR 2805 comments</li> <li><a href="https://github.com/serde-rs/serde/commit/87a2fb0f1a2774ea5bb20c0ed988b9ba57fc8166"><code>87a2fb0</code></a> Wrap comments from PR 2805 to 80 columns</li> <li><a href="https://github.com/serde-rs/serde/commit/9eaf7b9824f2082c50d17ad22b786322dc283a61"><code>9eaf7b9</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/serde/issues/2805">#2805</a> from Mingun/untagged-tests</li> <li><a href="https://github.com/serde-rs/serde/commit/7bde100237875d4f435de5ad90074b0479c37486"><code>7bde100</code></a> Replace MapRefDeserializer with value::MapDeserializer</li> <li><a href="https://github.com/serde-rs/serde/commit/da7fc795ee654252effa232a62a5a1e6d4f551ee"><code>da7fc79</code></a> Fix deserialization of empty struct variant in untagged enums</li> <li><a href="https://github.com/serde-rs/serde/commit/4c5fec1363d363f995375426f72db11c28f357c1"><code>4c5fec1</code></a> Test special cases that reaches SeqRefDeserializer::deserialize_any len==0 co...</li> <li><a href="https://github.com/serde-rs/serde/commit/6588b0ad3777f7ad930d68ab4b9ec5b9c25398e0"><code>6588b0a</code></a> Cover Content::Seq case in VariantRefDeserializer::struct_variant</li> <li><a href="https://github.com/serde-rs/serde/commit/0093f74cfee5ee3239514a7aad5fb44843eddcdd"><code>0093f74</code></a> Split test newtype_enum into four tests for each variant</li> <li><a href="https://github.com/serde-rs/serde/commit/171c6da57af712cfcf01c6c124b14cabfca364ba"><code>171c6da</code></a> Complete coverage of ContentRefDeserializer::deserialize_newtype_struct</li> <li>Additional commits viewable in <a href="https://github.com/serde-rs/serde/compare/v1.0.206...v1.0.209">compare view</a></li> </ul> </details> <br /> Updates `serde_json` from 1.0.124 to 1.0.127 <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.127</h2> <ul> <li>Add more removal methods to OccupiedEntry (<a href="https://redirect.github.com/serde-rs/json/issues/1179">#1179</a>, thanks <a href="https://github.com/GREsau"><code>@GREsau</code></a>)</li> </ul> <h2>1.0.126</h2> <ul> <li>Improve string parsing on targets that use 32-bit pointers but also have fast 64-bit integer arithmetic, such as aarch64-unknown-linux-gnu_ilp32 and x86_64-unknown-linux-gnux32 (<a href="https://redirect.github.com/serde-rs/json/issues/1182">#1182</a>, thanks <a href="https://github.com/CryZe"><code>@CryZe</code></a>)</li> </ul> <h2>1.0.125</h2> <ul> <li>Speed up \uXXXX parsing and improve handling of unpaired surrogates when deserializing to bytes (<a href="https://redirect.github.com/serde-rs/json/issues/1172">#1172</a>, <a href="https://redirect.github.com/serde-rs/json/issues/1175">#1175</a>, thanks <a href="https://github.com/purplesyringa"><code>@purplesyringa</code></a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/serde-rs/json/commit/5ebf65cc480f90714c94f82099ca9161d80cbb10"><code>5ebf65c</code></a> Release 1.0.127</li> <li><a href="https://github.com/serde-rs/json/commit/f287a3b1a93ecb1a11cee31cb638bd9523a58add"><code>f287a3b</code></a> Merge pull request 1179 from GREsau/patch-1</li> <li><a href="https://github.com/serde-rs/json/commit/ec980b02774abbff12fd3e26b0a1582eb14dcef7"><code>ec980b0</code></a> Release 1.0.126</li> <li><a href="https://github.com/serde-rs/json/commit/e6282b0c479947805a33c7f167b1d19dd4c7ad4f"><code>e6282b0</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1184">#1184</a> from serde-rs/fastarithmetic</li> <li><a href="https://github.com/serde-rs/json/commit/ffc4a43453029cdc5603cfe3ef08414488fd45de"><code>ffc4a43</code></a> Improve cfg names for fast arithmetic</li> <li><a href="https://github.com/serde-rs/json/commit/4b1048d0ecc4d326d6657531689513f182a4f850"><code>4b1048d</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1183">#1183</a> from serde-rs/arithmetic</li> <li><a href="https://github.com/serde-rs/json/commit/f268173a9fb1f5f8a80f47af62b564525cf33764"><code>f268173</code></a> Unify chunk size choice between float and string parsing</li> <li><a href="https://github.com/serde-rs/json/commit/fec03769743c3f0ceb6b5b56d91321fdc856dff2"><code>fec0376</code></a> Merge pull request <a href="https://redirect.github.com/serde-rs/json/issues/1182">#1182</a> from CryZe/chunk-64bit</li> <li><a href="https://github.com/serde-rs/json/commit/3d837e1cc4a0f1df56ba6645c3b6d144768b5d9d"><code>3d837e1</code></a> Ensure the SWAR chunks are 64-bit in more cases</li> <li><a href="https://github.com/serde-rs/json/commit/11fc61c7af7b59ea80fb2ef7d78db94465dfbd54"><code>11fc61c</code></a> Add <code>OccupiedEntry::shift_remove()</code> and <code>swap_remove()</code></li> <li>Additional commits viewable in <a href="https://github.com/serde-rs/json/compare/v1.0.124...1.0.127">compare view</a></li> </ul> </details> <br /> Updates `syn` from 2.0.61 to 2.0.65 <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.65</h2> <ul> <li>Optimize the implementation of <code>Fold</code> to compile faster (<a href="https://redirect.github.com/dtolnay/syn/issues/1666">#1666</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1667">#1667</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1668">#1668</a>)</li> </ul> <h2>2.0.64</h2> <ul> <li>Support using ParseBuffer across <code>catch_unwind</code> (<a href="https://redirect.github.com/dtolnay/syn/issues/1646">#1646</a>)</li> <li>Validate that the expression in a let-else ends in brace as required by rustc (<a href="https://redirect.github.com/dtolnay/syn/issues/1648">#1648</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1649">#1649</a>)</li> <li>Legalize invalid const generic arguments by wrapping in braces (<a href="https://redirect.github.com/dtolnay/syn/issues/1654">#1654</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1655">#1655</a>)</li> <li>Fix some expression precedence edge cases involving <code>break</code> and <code>return</code> in loop headers (<a href="https://redirect.github.com/dtolnay/syn/issues/1656">#1656</a>)</li> <li>Always print closure bodies with a brace when the closure has an explicit return type (<a href="https://redirect.github.com/dtolnay/syn/issues/1658">#1658</a>)</li> <li>Automatically insert necessary parentheses in ToTokens for Expr when required by expression precedence (<a href="https://redirect.github.com/dtolnay/syn/issues/1659">#1659</a>)</li> <li>Support struct literal syntax in match guard expressions (<a href="https://redirect.github.com/dtolnay/syn/issues/1662">#1662</a>)</li> </ul> <h2>2.0.63</h2> <ul> <li>Parse and print long if-else-if chains without reliance on deep recursion to avoid overflowing stack (<a href="https://redirect.github.com/dtolnay/syn/issues/1644">#1644</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1645">#1645</a>)</li> </ul> <h2>2.0.62</h2> <ul> <li>Reject invalid unparenthesized range and comparison operator expressions (<a href="https://redirect.github.com/dtolnay/syn/issues/1642">#1642</a>, <a href="https://redirect.github.com/dtolnay/syn/issues/1643">#1643</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/syn/commit/9f2371eefa6f681b53e4d74458d86dd41673227f"><code>9f2371e</code></a> Release 2.0.65</li> <li><a href="https://github.com/dtolnay/syn/commit/4cd181325f3488c47866f15966977682be610da1"><code>4cd1813</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1668">#1668</a> from dtolnay/foldhelper</li> <li><a href="https://github.com/dtolnay/syn/commit/ed54092bcea6798ab0b5ed7aca6755f8918fc79e"><code>ed54092</code></a> Eliminate gen::helper module</li> <li><a href="https://github.com/dtolnay/syn/commit/eacc8ab1b98b590df3ce9462510fd755cddf6762"><code>eacc8ab</code></a> Eliminate FoldHelper trait</li> <li><a href="https://github.com/dtolnay/syn/commit/6e20bb8d7799d0f4c34c144e80b3bd1b6e9afd27"><code>6e20bb8</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1667">#1667</a> from dtolnay/punctuatedfold</li> <li><a href="https://github.com/dtolnay/syn/commit/9d95cab6d332d08903538d5ce3d6e47c1598912e"><code>9d95cab</code></a> Optimize punctuated::fold</li> <li><a href="https://github.com/dtolnay/syn/commit/82ffe86c2b721b9985edb6f368e7366bd202bc5b"><code>82ffe86</code></a> Move Punctuated fold helper to punctuated module</li> <li><a href="https://github.com/dtolnay/syn/commit/3dfacc1538f655d33c5c8037b14669149bcd81cd"><code>3dfacc1</code></a> Ignore manual_map clippy lint</li> <li><a href="https://github.com/dtolnay/syn/commit/7273aa77aa09ee2562b279a5d9495a212d9c0876"><code>7273aa7</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/syn/issues/1666">#1666</a> from dtolnay/foldhelper</li> <li><a href="https://github.com/dtolnay/syn/commit/8124c0eb99e11cae036d2c967f91f0c456c50368"><code>8124c0e</code></a> Generate fewer monomorphizations in Fold</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/syn/compare/2.0.61...2.0.65">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Jan-Jan authored
# Description Trivial doc fixes: * Replace the word `reminder` with `remainder` so that the English matches the code intent. * Explicit instruct the reader to `clone`. ## Review Notes * Trivial Co-authored-by:
Jan-Jan <111935+Jan-Jan@users.noreply.github.com>
-
Michal Kucharczyk authored
Gensis config presets moved from `parachain-template-node` binary into `parachain-template-runtime` runtime. cc: @PierreBesson
-
Michal Kucharczyk authored
Gensis config presets moved from `polkadot-parachain` binary into `asset-hub-rococo` runtime. relates to: #3944 --------- Co-authored-by:
Dónal Murray <donal.murray@parity.io> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Maksym H authored
- restore update-ui.sh (accidentally removed with bunch of bash
- fix empty context and pushing to dev branch (supporting forks) tested fork here: https://github.com/paritytech-stg/polkadot-sdk/pull/45 -
zjb0807 authored
# Description The error message should be logged out when the check method returns an error. Because specific information is lost when `UmpAcceptanceCheckErr`, `ProcessedDownwardMessagesAcceptanceErr`, `HrmpWatermarkAcceptanceErr`, `OutboundHrmpAcceptanceErr` are converted to `AcceptanceCheckErr`, a log is added to each check. ## Integration ## Review Notes # Checklist * [ ] My PR includes a detailed description as outlined in the "Description" and its two subsections above. * [ ] My PR follows the [labeling requirements]( https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process ) of this project (at minimum one label for `T` required) * External contributors: ask maintainers to put the right label on your PR. * [ ] I have made corresponding changes to the documentation (if applicable) * [ ] I have added tests that prove my fix is effective or that my feature works (if applicable)
-
Andrei Sandu authored
As Runtime release 1.3.0 includes all of the remaining staging primitives and APIs we can now release primitives version 8. No other changes other than renaming/moving done here. --------- Signed-off-by:
Andrei Sandu <andrei-mihail@parity.io>
-
Liu-Cheng Xu authored
Tiny changes to simplify the code: - Remove an unnecessary `collect`. - Reduce the code duplication a little bit. --------- Co-authored-by:
Alexandru Vasile <60601340+lexnv@users.noreply.github.com>
-
Javyer authored
This is used for the steps that use the `macos` runner. It installs the Rust version that we are using in the [`forklift` image](https://github.com/paritytech/polkadot-sdk/blob/master/.github/env). To be used in #5386.
-
Alexandru Gheorghe authored
Add support in subsystem-benchmarks to profile memory usage using the jemalloc builting profiler, this allows us to run each benchmark with profiling enabled and determine if the memory usage patters are in conformance with our expectations. --------- Signed-off-by:
Alexandru Gheorghe <alexandru.gheorghe@parity.io>
-
- Aug 29, 2024
-
-
Alexander Samusev authored
PR moves rococo and wococo check-runtime-migration jobs to GHA cc https://github.com/paritytech/ci_cd/issues/1006
-
dharjeezy authored
closes https://github.com/paritytech/polkadot-sdk/issues/5448 --------- Co-authored-by:
Gonçalo Pestana <g6pestana@gmail.com> Co-authored-by:
Ankan <10196091+Ank4n@users.noreply.github.com>
-
ordian authored
On top of #5082. ## Background Previously, before #3479, we would [include](https://github.com/paritytech/polkadot-sdk/blame/75074952/polkadot/runtime/parachains/src/builder.rs#L508C12-L508C44) the cost enacting the candidate into the cost of processing a single bitfield. [Now](https://github.com/paritytech/polkadot-sdk/blame/dd48544a/polkadot/runtime/parachains/src/builder.rs#L529) it is different, although the benchmarks seems to be not-up-to date. Including the cost of enacting a candidate into a processing a single bitfield cost was incorrect, since we multiple that by the number of bitfields we have. Instead, we should separate calculate the cost of processing a single bitfield without enactment, and multiple the cost of enactment by the actual number of processed candidates (which is limited by the number cores, not validators). ## Bench Previously, the weight of `enact_candidate` was calculated manually (without a benchmark) and then neglected: https://github.com/paritytech/polkadot-sdk/blob/dd48544a /polkadot/runtime/parachains/src/inclusion/mod.rs#L584 In this PR, we have a benchmark for it and it's based on the number of ump and sent hrmp messages as well as whether the candidate has a runtime upgrade (new_validation_code). The differences from the previous attempt https://github.com/paritytech/polkadot/pull/6929 are that * we don't include the cost of enactment into the cost of processing a backed candidate. The reason for it is that enactment happens not in the same block as backing (typically the next one), since we process bitfields before backing votes. * we don't take into account the size of the runtime upgrade, the benchmark weight doesn't seem to depend much on it, but rather whether there was one or not. Similarly to the previous attempt, we don't account for dmp messages (fixed cost). Also we don't account properly for received hrmp messages (hrmp_watermark) because the cost of it depends on the runtime state and can't be statically deduced in the benchmark (unless we pass the information about channels as benchmark u32 arguments). The total weight cost of processing a parainherent now includes the cost of enactment of each candidate, but we don't do filtering based on that (because we enact after processing bitfields and making other changes to the storage). ## Numbers ``` Reads = 7 + (0 * u) + (3 * h) + (8 * c) Writes = 10 + (1 * u) + (3 * h) + (7 * c) ``` In addition, there is a fixed cost of a few of ms (!) per candidate. This might result a full block slightly overflowing its weight with 200 enacted candidates, which in turn could prevent non-mandatory transactions from being included in a block. Given our modest limits on max ump and hrmp messages: ``` maxUpwardMessageNumPerCandidate: 16 hrmpMaxMessageNumPerCandidate: 10 ``` and the fact that runtime upgrades are can't happen very frequently (`validation_upgrade_cooldown`), we might only go over the limits in case of many disputes. TODOs: - [x] Fix the overweight test - [x] Generate the weights for Westend and Rococo - [x] PRDoc --------- Co-authored-by: command-bot <> Co-authored-by:
Alin Dima <alin@parity.io>
-
Oliver Tale-Yazdi authored
Changes: - Backport bot should just commit merge conflicts instead of failing.
-
Lech Głowiak authored
# Description Add `starting_timestamp` function for `Slot` type. ## Integration This is an addition of public function to a type, so integration should be seamless for idiomatic use of Rust. ## Review Notes Since `Slot` is just a slot number, the it's starting timestamp depends on `SlotDuration` which is a parameter to the added function. This function can be seen as dual to existing `fn from_timestamp`. Because there is a potential for overflow, the return type is `Option`. Q1: should I introduce tests for in this crate and add cases for both case: overflow (`None`) and no overflow (`Some`)? Q2: How can I add labels? IMO they should be `T0-node` and `D0-easy` but I cannot add them using GH interface. # Checklist * [x] My PR includes a detailed description as outlined in the "Description" and its two subsections above. * [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process) of this project (at minimum one label for `T` required) * External contributors: ask maintainers to put the right label on your PR. * [ ] I have made corresponding changes to the documentation (if applicable) * [ ] I have added tests that prove my fix is effective or that my feature works (if applicable) --------- Co-authored-by:
Squirrel <giles.cope@iohk.io> Co-authored-by:
Davide Galassi <davxy@datawok.net>
-
Alexander Samusev authored
PR migrates jobs `quick-benchmarks`, `cargo-clippy`, `check-try-runtime` and `check-core-crypto-features` from Gitlab to GitHub cc https://github.com/paritytech/ci_cd/issues/1006 --------- Co-authored-by:
Maksym H <1177472+mordamax@users.noreply.github.com>
-
ordian authored
closes #849 ## Context For the background on this and the long-term fix, see https://github.com/paritytech/polkadot-sdk/issues/849#issuecomment-2247895862. ## Changes * The weigh files are renamed from `runtime_(parachains|common).*` to `polkadot_runtime_(parachains|common).*`. The reason for it is the renaming introduced in #4633. The new weight command and files are generated now include `polkadot_` prefix. * The WeightInfo for `paras_inherent` now includes `enter_empty` which calculates the cost of processing an empty parachains inherent. This cost is subtracted dynamically when calculating other weights (so the other weights remain the same) ## Benefits See https://github.com/paritytech/polkadot-sdk/issues/849#issuecomment-2247895862, but TL;DR is that we are not blocked on weights for scaling the number of validators and cores further. Resolved questions: - [x] why new benchmarks for westend are doing fewer db IOPS? Is it due polkadot-sdk update (db IOPS diff)? or the bench setup is no longer valid? https://github.com/polkadot-fellows/runtimes/blob/7723274a2c5cbb10213379271094d5180716ca7d/relay/polkadot/src/weights/runtime_parachains_paras_inherent.rs#L131-L196 Answer: see background section of #5270 TODOs: - [x] Rerun benchmarks for Rococo and Westend - [x] PRDoc --------- Co-authored-by: command-bot <>
-
- Aug 28, 2024
-
-
Oliver Tale-Yazdi authored
Adds a bot that automatically opens MRs into the `stable2407` branch when the `A4-needs-backport` label is applied to a merged MR. TODO: - [x] ~~Settle on label vs error message trade-off~~ (resolved) docs: # Backporting This document explains how to backport a merged PR from `master` to one of the `stable*` branches. Backports should only be used to fix bugs or security issues - never to introduce new features. ## Steps 1. Fix a bug through a PR that targets `master`. 2. Add label `A4-needs-backport` to the PR. 4. Merge the PR into `master`. 5. Wait for the bot to open the backport PR. 6. Ensure the change is audited or does not need audit. 7. Merge the backport PR. The label can also be added after the PR is merged. ## Example For example here where the dev triggered the process by adding the label after merging:  --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Tarek Mohamed Abdalla authored
Currently, when the pallet is compiled with the `insecure_zero_ed flag`, benchmarks fail because the minimum balance is set to zero. The PR aims to resolve this issue by implementing a placeholder value for the minimum balance when the `insecure_zero_ed` flag is active. it ensures that benchmarks run successfully regardless of whether this flag is used or not
-
Maksym H authored
Closes https://github.com/paritytech/product-engineering/issues/93 - Deprecates old command bot bash scripts. New cmd implementation is re-written on Python - Deprecates `sync` command, which was never used - Benchmarks: - Uses new [frame-omni-bencher](https://crates.io/crates/frame-omni-bencher) - Simplifies usage to only providing a runtime and/or pallet name (even multiple runtimes or pallets) - Supports sub-modules (like `/cmd bench --runtime dev --pallet pallet_asset_conversion_ops`) - Can regenerate all weights with one command (substrate, polkadot, cumulus) for provided pallet(s) name - Adds [subweight](https://crates.io/crates/subweight-core) diff as a result of bench command
-
Pankaj authored
ISSUE Link to the issue: https://github.com/paritytech/polkadot-sdk/issues/3326 Deliverables [Deprecation] remove pallet::getter usage from pallet-treasury --------- Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Dónal Murray <donal.murray@parity.io> Co-authored-by:
Dónal Murray <donalm@seadanda.dev> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
dependabot[bot] authored
Bumps [blake2b_simd](https://github.com/oconnor663/blake2_simd) from 1.0.1 to 1.0.2. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/oconnor663/blake2_simd/commit/1dfcf325200cf281d9313ae79734c828d914d241"><code>1dfcf32</code></a> version 1.0.2</li> <li><a href="https://github.com/oconnor663/blake2_simd/commit/b66d6b5124e7568bbb92f8a1f22e043ac8cded25"><code>b66d6b5</code></a> Bump constant_time_eq to 0.3 and MSRV to 1.66</li> <li><a href="https://github.com/oconnor663/blake2_simd/commit/d9ce189cb98e00b0a0653d8a9586ff12e5774202"><code>d9ce189</code></a> stop using MIPS for big-endian testing</li> <li><a href="https://github.com/oconnor663/blake2_simd/commit/9d338b55992a5e6a0411e2da7153ec654f70b213"><code>9d338b5</code></a> use <code>avoid-dev-deps</code> for the MSRV test</li> <li><a href="https://github.com/oconnor663/blake2_simd/commit/c347f493365a82bc4472a05609c68a1152439b44"><code>c347f49</code></a> update the assert_cmd test dependency to v2.0.8</li> <li>See full diff in <a href="https://github.com/oconnor663/blake2_simd/compare/1.0.1...1.0.2">compare view</a></li> </ul> </details> <br /> [](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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
dependabot[bot] authored
Bumps [rustversion](https://github.com/dtolnay/rustversion) from 1.0.14 to 1.0.17. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/dtolnay/rustversion/releases">rustversion's releases</a>.</em></p> <blockquote> <h2>1.0.17</h2> <ul> <li>Support Windows builds that have OUT_DIR prefixed with <code>\\?\</code> (<a href="https://redirect.github.com/dtolnay/rustversion/issues/51">#51</a>)</li> </ul> <h2>1.0.16</h2> <ul> <li>Resolve unexpected_cfgs warning (<a href="https://redirect.github.com/dtolnay/rustversion/issues/48">#48</a>)</li> </ul> <h2>1.0.15</h2> <ul> <li>Recognize $RUSTC_WRAPPER environment variable (<a href="https://redirect.github.com/dtolnay/rustversion/issues/47">#47</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/dtolnay/rustversion/commit/adb11fa32295a5d3df7b742e545f4e9b776f9bb3"><code>adb11fa</code></a> Release 1.0.17</li> <li><a href="https://github.com/dtolnay/rustversion/commit/875982000ea11f59a67564bf34c6f3255935b6e2"><code>8759820</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/rustversion/issues/51">#51</a> from dtolnay/windows</li> <li><a href="https://github.com/dtolnay/rustversion/commit/cfafcd5906e6020ae67014e33a84446824301c95"><code>cfafcd5</code></a> Support OUT_DIR located in \?\ path on Windows</li> <li><a href="https://github.com/dtolnay/rustversion/commit/c7bc274d96fbde0fe3b3fd5a4a9ea1e0215b0ddb"><code>c7bc274</code></a> Release 1.0.16</li> <li><a href="https://github.com/dtolnay/rustversion/commit/746bf5af0dc5423574982ba2f479190b643c98fe"><code>746bf5a</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/rustversion/issues/48">#48</a> from dtolnay/checkcfg</li> <li><a href="https://github.com/dtolnay/rustversion/commit/84f01fa8d731c51842848a4e4d27750cefd879e0"><code>84f01fa</code></a> Resolve unexpected_cfgs warning</li> <li><a href="https://github.com/dtolnay/rustversion/commit/70ca5ad8a2aba79053be803a4e70156b46e44028"><code>70ca5ad</code></a> Release 1.0.15</li> <li><a href="https://github.com/dtolnay/rustversion/commit/0fa74f583b1fff92ed6f48acad6509428f44ed1a"><code>0fa74f5</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/rustversion/issues/47">#47</a> from dtolnay/rustcwrapper</li> <li><a href="https://github.com/dtolnay/rustversion/commit/51f46e2d2281dce75a8e4d46c0ed55f2ae3c4e33"><code>51f46e2</code></a> Apply RUSTC_WRAPPER</li> <li><a href="https://github.com/dtolnay/rustversion/commit/df7e51d0f01e06b2212c96f26cd04af5c59e1e39"><code>df7e51d</code></a> Explicitly install a Rust toolchain for cargo-outdated job</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/rustversion/compare/1.0.14...1.0.17">compare view</a></li> </ul> </details> <br /> [](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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Serban Iorga authored
Related to: https://github.com/paritytech/polkadot-sdk/issues/3176 This PR: - migrates test 0003 to the new bridges zombienet tests command **This test didn't work before and it still doesn't work. It was added at a time when we couldn't run it because we didn't have the scafolding. It needs to be fixed. For the moment we keep it in the repo as it is since the idea has value. But we don't run it in the CI. We can also decide to remove it in the future** - removes the old command for running bridge zombienet tests - updates the README
-
Serban Iorga authored
Related to https://github.com/paritytech/polkadot-sdk/issues/4787 The main changes in this PR are the following: - making the NodeSpec logic generic on the Block type - adding an omni-node variant with u64 block number Apart from this, the PR also moves some of the logic in `service.rs` to the `common` subfolder The omni-node variant with u64 block number is not used yet. We have to either expose the option in the CLI or to read the block number from the chain spec somehow. Will do it in a future PR.
-
thiolliere authored
A test is triggering a log error. But is correct and successful. This is a refactor without triggering the log error.
-
PG Herveou authored
Co-authored-by:
kianenigma <kian@parity.io> Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com>
-
A Ahmad authored
✄ ----------------------------------------------------------------------------- Thank you for your Pull Request!
Please make sure it follows the contribution guidelines outlined in [this document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md) and fill out the sections below. Once you're ready to submit your PR for review, please delete this section and leave only the text under the "Description" heading. # Description *A concise description of what your PR is doing, and what potential issue it is solving. Use [Github semantic linking](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) to link the PR to an issue that must be closed once this is merged.* ## Integration *In depth notes about how this PR should be integrated by downstream projects. This part is mandatory, and should be reviewed by reviewers, if the PR does NOT have the `R0-Silent` label. In case of a `R0-Silent`, it can be ignored.* ## Review Notes *In depth notes about the **implementation** details of your PR. This should be the main guide for reviewers to understand your approach and effectively review it. If too long, use [`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)*. *Imagine that someone who is depending on the old code wants to integrate your new code and the only information that they get is this section. It helps to include example usage and default value here, with a `diff` code-block to show possibly integration.* *Include your leftover TODOs, if any, here.* # Checklist * [ ] My PR includes a detailed description as outlined in the "Description" and its two subsections above. * [ ] My PR follows the [labeling requirements]( https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process ) of this project (at minimum one label for `T` required) * External contributors: ask maintainers to put the right label on your PR. * [ ] I have made corresponding changes to the documentation (if applicable) * [ ] I have added tests that prove my fix is effective or that my feature works (if applicable) You can remove the "Checklist" section once all have been checked. Thank you for your contribution! ✄ ----------------------------------------------------------------------------- Co-authored-by:Dónal Murray <donal.murray@parity.io>
-
Niklas Adolfsson authored
rpc server: listen to `ipv6 socket` if available and `--experimental-rpc-endpoint` CLI option (#4792) Close https://github.com/paritytech/polkadot-sdk/issues/3488, https://github.com/paritytech/polkadot-sdk/issues/4331 This changes/adds the following: 1. The default setting is that substrate starts a rpc server that listens to localhost both Ipv4 and Ipv6 on the same port. Ipv6 is allowed to fail because some platforms may not support it 2. A new RPC CLI option `--experimental-rpc-endpoint` which allow to configure arbitrary listen addresses including the port, if this is enabled no other interfaces are enabled. 3. If the local addr is not found for any of the sockets the server is not started throws an error. 4. Remove the deny_unsafe from the RPC implementations instead this is an extension to allow different polices for different interfaces/sockets such one may enable unsafe on local interface and safe on only the external interface. So for instance in this PR it's now possible to start up three RPC endpoints as follows: ``` $ polkadot --experimental-rpc-endpoint "listen-addr=127.0.0.1:9944,rpc-methods=unsafe" --experimental-rpc-endpoint "listen-addr=0.0.0.0:9945,rpc-methods=safe,rate-limit=100" --experimental-rpc-endpoint "listen-addr=[::1]:9944,optional=true" ``` #### Needs to be addressed ~1. Support binding to a random port if it's fails with the default stuff for backward compatible reasons~ ~2. How to sync that the rpc CLI params and that the rpc-listen-addr align, hard to maintain...~ ~3. Add similar warning prints for exposing unsafe methods on external interfaces..~ ~4. Inline todos + the hacky String conversion from rpc params.~ #### Cons with this PR Manual strings parsing impl more error-prone than relying on clap.... //cc @jsdw @BulatSaif @PierreBesson @bkchr --------- Co-authored-by:
Sebastian Kunert <skunert49@gmail.com>
-
Alexandru Gheorghe authored
The accepted divergence rate of 1/1000 is excessive and leads to false positives especially after https://github.com/paritytech/polkadot-sdk/pull/4772 and https://github.com/paritytech/polkadot-sdk/pull/5042, so let's increase it to 1/100 since we do have some randomness in the system and there is no point in being that strict. Fixes: https://github.com/paritytech/polkadot-sdk/issues/5463 --------- Signed-off-by:
Alexandru Gheorghe <alexandru.gheorghe@parity.io>
-