- Sep 09, 2024
-
-
Nick Vikeras authored
# Description This PR allows the RPC server's socket address to be returned when initializing the server. This allows the library consumer to easily programmatically determine which port the RPC server is listening on. My use case for this is automated testing. I'd like to be able to simply specify that the server bind to port '0' and then test against whatever port the OS assigns dynamically. I will have many RPC servers running in parallel across many tests within a single process, and I don't want to have to deal with port conflicts. ## Integration Integration is straightforward. My main concern is that I am making non-backwards-compatible changes to public library functions. Let me know if I should leave backwards-compatible wrappers in place for any/all of the public functions that were modified. ## Review Notes The rationale for making the new listen_addresses field on the RpcHandlers struct a ```[MultiAddr]``` rather than ```SocketAddr``` is because I wanted it to be transport-agnostic as well as capable of supporting multiple listening addresses in case that is ever required by the RPC server in the future. # 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. * [x] I have made corresponding changes to the documentation (if applicable) * [ ] I have added tests that prove my fix is effective or that my feature works (if applicable) 1. I didn't understand what the 'T' label meant. Am I supposed to open a github Issue for my PR? 2. I didn't see an easy way to add tests since the functions I am modifying are not directly called by any tests. --------- Co-authored-by:
Niklas Adolfsson <niklasadolfsson1@gmail.com>
-
Oliver Tale-Yazdi authored
All of these things are already tested in Github Actions: https://github.com/paritytech/polkadot-sdk/blob/b3c2a25b /.github/workflows/checks-quick.yml#L50 Q: the `job-starter` seems to be used by tests, so am keeping it, but not sure how useful it is. --------- Co-authored-by:
Alexander Samusev <41779041+alvicsam@users.noreply.github.com> Co-authored-by:
alvicsam <alvicsam@gmail.com>
-
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.com/dtolnay/proc-macro2/commit/aa9476b27932ae1b1b50bbfe0530b3b261fc1b72"><code>aa9476b</code></a> Release 1.0.86</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/19613587b70633e8bd383dd2fc29856d2d080f45"><code>1961358</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/proc-macro2/issues/466">#466</a> from dtolnay/buildrs</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/e1bd2cc29da09be421555bb0e1156c5e2b87df5d"><code>e1bd2cc</code></a> Bring build script comments up to date</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/5b271279521e11ac6eada5435e5a8d87f46d3619"><code>5b27127</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/proc-macro2/issues/465">#465</a> from dtolnay/ignorereason</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/0da4629757024ac6dac1680ba3be44bac24af809"><code>0da4629</code></a> Fill in ignore reasons in all #[ignore] attributes</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/5ee1cabadb40abe12abe27e3b34de8fc6f60bc0a"><code>5ee1cab</code></a> Release 1.0.85</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/aa64c2007390a33d4edbc07aa3e576848ae3d653"><code>aa64c20</code></a> Merge pull request <a href="https://redirect.github.com/dtolnay/proc-macro2/issues/464">#464</a> from dtolnay/testsize</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/bc9f4d938058be43d38f921f34f48b94a25278b7"><code>bc9f4d9</code></a> Ignore size tests on non-64bit target</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/1160ec3c7d723e115c5acf2b4e9f00c2c049e84a"><code>1160ec3</code></a> Make size tests #[ignore] in cfg(randomize_layout)</li> <li><a href="https://github.com/dtolnay/proc-macro2/commit/33c95785826bbd1fa353c48989dfc5a7ca62f54c"><code>33c9578</code></a> Release 1.0.84</li> <li>Additional commits viewable in <a href="https://github.com/dtolnay/proc-macro2/compare/1.0.82...1.0.86">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 [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 /> [](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 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:
dependabot[bot] <support@github.com> Co-authored-by:
dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
- Sep 08, 2024
-
-
PG Herveou authored
fix #5574 - Use U256 instead of BalanceOf<T> and MomentOf<T> in Ext trait - Enforce H256 for T::Hash The Ext trait still depends on the associated type `T: Config`, we can look into refactoring it even more later but even in the current state it should not influence how the data is encoded / decoded between the contract and the host ``` fn caller(&self) -> Origin<Self::T>; -> only use to extract the address of the caller fn account_id(&self) -> &AccountIdOf<Self::T>; -> only used to expose the address or access the account_id internally fn gas_meter(&self) -> &GasMeter<Self::T>; fn gas_meter_mut(&mut self) -> &mut GasMeter<Self::T>; -> encoding does not depend on T fn call_runtime(&self, call: <Self::T as Config>::RuntimeCall) -> DispatchResultWithPostInfo; -> Substrate specific, just an opaque blob of bytes from the contract's perspective fn contract_info(&mut self) -> &mut ContractInfo<Self::T>; fn transient_storage(&mut self) -> &mut TransientStorage<Self::T>; -> gated by #[cfg(any(test, feature = "runtime-benchmarks"))] ``` --------- Co-authored-by:
Alexander Theißen <alex.theissen@me.com>
-
- Sep 07, 2024
-
-
José Molina Colmenero authored
When inspecting the logs we often encounter the following message: `Benchmarked storage weight smaller than consumed storage weight. benchmarked: {benchmarked_weight} consumed: {consumed_weight} unspent: {unspent}` However, it is very hard to guess which call is causing the issue. With the changes proposed in this PR, information about the call is provided so that we can easily identify the source of the problem without further delay, and this way work more efficiently in solving the issue. --------- Co-authored-by:
Bastian Köcher <git@kchr.de>
-
clangenb authored
The macro hygiene for the `format_runtime_string!` macro was broken since https://github.com/paritytech/polkadot-sdk/pull/5010, which resulted in the following build error under certain circumstances: ```console error[E0433]: failed to resolve: use of undeclared crate or module `alloc` --> /home/clang/.cargo/registry/src/index.crates.io-6f17d22bba15001f/frame-benchmarking-36.0.0/src/v1.rs:1738:2 | 1738 | / sp_runtime::format_runtime_string!( 1739 | | "\n* Pallet: {}\n\ 1740 | | * Benchmark: {}\n\ 1741 | | * Components: {:?}\n\ ... | 1750 | | error_message, 1751 | | ) | |_____^ use of undeclared crate or module `alloc` | = note: this error originates in the macro `sp_runtime::format_runtime_string` (in Nightly builds, run with -Z macro-backtrace for more info) For more information about this error, try `rustc --explain E0433`. ``` This bug has been known already, but hasn't been fixed so far, see https://github.com/paritytech/polkadot-sdk/issues/5213 and https://substrate.stackexchange.com/questions/11786/use-of-undeclared-crate-or-module-alloc-when-upgrade-to-v1-13-0. I have made a mini rust crate that can reproduce the bug, and it also shows that this PR will fix the issue: https://github.com/clangenb/sp-runtime-string-test.
-
- Sep 06, 2024
-
-
Maksym H authored
Fixes https://github.com/paritytech/ci_cd/issues/1032 --------- Co-authored-by:
Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
-
Alexander Samusev authored
Currently if a required job fails the final jobs is skipped which breaks the logic of required jobs. PR fixes it. Closes https://github.com/paritytech/ci_cd/issues/1033
-
Andrei Eres authored
 Because on Kusama validators.len() < discovery_keys.len() we can tweak the PVF precompilation to allow prepare PVFs when the node is an authority but not a validator.
-
Radha authored
When someone downloads the Polkadot SDK repo and navigates to the templates folder, the Readme instructions do not work. There is a getting started script of the Polkadot SDK readme which can be overlooked (and also it covers only minimal template and not the parachain/solochain templates). The instructions of the Readme files are updated such that they work for anyone on https://github.com/paritytech/polkadot-sdk https://github.com/paritytech/polkadot-sdk-minimal-template https://github.com/paritytech/polkadot-sdk-parachain-template https://github.com/paritytech/polkadot-sdk-solochain-template --------- Co-authored-by:
Kian Paimani <5588131+kianenigma@users.noreply.github.com> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Egor_P authored
This PR contains a pipeline which is going to branch off the new stable release branch (e.g. `stab2412`, `stable2503`) and bump `polkadot` `NODE_VERSION`, `spec_version` of the runtimes and reorganisation of the `prdocs` related to the new stable release. This is a first step in the automated `polkadot-sdk` release flow as part of the task: https://github.com/paritytech/polkadot-sdk/issues/3291 The pipeline is not supposed to be triggered in the main` polkadot-sdk` repo, but in the fork in the [`paritytech-release`](https://github.com/paritytech-release/polkadot-sdk) org, where the whole release flow is going to land. Closes: https://github.com/paritytech/release-engineering/issues/222
-
Liu-Cheng Xu authored
Previously, block gaps could only be created by warp sync, but block gaps will also be generated by fast sync once #5406 is fixed. This PR is part 1 of the detailed implementation plan in https://github.com/paritytech/polkadot-sdk/issues/5406#issuecomment-2325064863: refactor `BlockGap`. This refactor converts the existing `(NumberFor<Block>, NumberFor<Block>)` into a dedicated `BlockGap<NumberFor<Block>>` struct. This change is purely structural and does not alter existing logic, but lays the groundwork for the follow-up PR. The compatibility concern caused by the new structure is addressed in the second commit. cc @dmitry-markin --------- Co-authored-by:
Bastian Köcher <git@kchr.de>
-
- Sep 05, 2024
-
-
Maksym H authored
Closes: https://github.com/paritytech/polkadot-sdk/issues/5545 - add missing template for frame & xcm benchmarks - fix `git pull` -> https://github.com/paritytech/polkadot-sdk/actions/runs/10644887539/job/29510118915 - respect runtimes headers - use GNU instead of apache for runtimes - adds tests for cmd.py Tip: review this one with Whitespace hidden  --------- Co-authored-by:
GitHub Action <action@github.com>
-
Maksym H authored
- [return macos jobs to gitlab](https://github.com/paritytech/polkadot-sdk/commit/dcd44b1d) - [add benches to merge queue](https://github.com/paritytech/polkadot-sdk/commit/494eb21b) - [require test-deterministic-wasm and run it earlier](https://github.com/paritytech/polkadot-sdk/commit/ab9ae5ca)
-
Eugen Snitko authored
Jobs for coverage collections and upload to codecov for github PR's Uses same test suit as test-linux-stable, splits tests into 5 parallel jobs, uploads to codecov, generates report comment and status checks (can be made required) | | | | --- | --- | | <img width="640" alt="image" src="https://github.com/user-attachments/assets/3790f255-27d1-46b9-8d25-2e40b3dcd844"> | <img width="764" alt="image" src="https://github.com/user-attachments/assets/9e0c8cc7-3278-4b4e-9e28-d76cd57b9163"> | Codecov behavior (required coverage, thresholds, comment info etc.) is highly customizable via `.github/codecov.yaml` ([reference](https://docs.codecov.com/docs/codecovyml-reference)) Unfortunately, some tests are excluded because with `-C instrument-coverage` they run very slowly, flaky, or fail (see [nextest filter expression](https://github.com/paritytech/polkadot-sdk/pull/5148/files#diff-b19504a9520a2498d03020108344d8e6d93d254d812bfa26247faaa7f55263d6R80) of test-linux-stable-coverage). So for now, this workflow is optional, and will only run for pr's with the `GHA-coverage` label
-
Maksym H authored
Closes: https://github.com/paritytech/ci_cd/issues/1018  Added DAG similar to how it was on Gitlab --------- Co-authored-by:
Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
-
Alexandru Gheorghe authored
Fixes: https://github.com/paritytech/polkadot-sdk/issues/5122. This PR extends the existing single core `benchmark_cpu` to also build a score of the entire processor by spawning `EXPECTED_NUM_CORES(8)` threads and averaging their throughput. This is better than simply checking the number of cores, because also covers multi-tenant environments where the OS sees a high number of available CPUs, but because it has to share it with the rest of his neighbours its total throughput does not satisfy the minimum requirements. ## TODO - [x] Obtain reference values on the reference hardware. --------- Signed-off-by:
Alexandru Gheorghe <alexandru.gheorghe@parity.io>
-
Przemek Rzad authored
Currently, the logo on the docs site blends into the background on the light theme: <img width="320px" src="https://github.com/user-attachments/assets/4cded445-d3af-4100-bd11-6a33da836cb1"> [Here](https://internals.rust-lang.org/t/feedback-on-new-rust-documentation-logo-background/12787) is a discussion related to this. There doesn't seem to be a perfect way to handle this situation. --- Silent because the docs crate is not part of the regular release process. --------- Co-authored-by:
ordian <write@reusable.software>
-
Francisco Aguirre authored
The dry-run shows in `forwarded_xcms` all the messages in the queues at the time of calling the API. Each time the API is called, the result could be different. You could get messages even if you dry-run something that doesn't send a message, like a `System::remark`. This PR fixes this by clearing the message queues before doing the dry-run, so the only messages left are the ones the users of the API actually care about. --------- Co-authored-by:
Adrian Catangiu <adrian@parity.io>
-
Alexander Samusev authored
PR moves jobs `test-linux-stable`, `test-linux-stable-int` and `test-linux-stable-runtime-benchmarks` to github actions cc https://github.com/paritytech/ci_cd/issues/1006
-
Przemek Rzad authored
Here are some changes to the `getting-started.sh` scripts we have advertised on top of the readme. ### Changes to the script 1. Change `echo` to a more portable `printf`. On my machine, the script printed a literal `\n` string if run with `bash`. If I changed it to `echo -e`, then it printed a literal `-e` if run with `sh`. Changed it to `printf` which is more portable. --- 2. Template selection The script proceeded to clone and build the `minimal` template, which is not always what we want. Added a selection prompt where the user can select one of the 3 templates, and choose if it should be built&run or not. The user can also select no template at all - that way, we have a starter of a dependencies-installation script. --- 3. Added some missing dependencies for some of the systems. ### A workflow testing the script I propose a workflow, that will test the script using the [expect](https://core.tcl-lang.org/expect/index) tool. For each OS men...
-
PG Herveou authored
start using better type for address, code_hash, and salt in runtime and the uapi crate fix https://github.com/paritytech/polkadot-sdk/issues/5575
-
Shawn Tabrizi authored
PR Doc #5443 broke the link checker because it includes a link to this private repo: https://github.com/paritytech/devops/issues/3502 This PR adds the `prdoc` folder to the excluded paths of the link checker to ensure that historical PR Docs do not break the pipeline. I think this makes sense over whitelisting the github link because we probably expect that in a long enough time period, links from old PR docs will start to break, but I don't think we intend to update those old PR docs, or start whitelisting lots of urls.
-
- Sep 04, 2024
-
-
Shawn Tabrizi authored
This PR will introduce a `BasicProvingTrie` type, which makes it easy to construct and prove data in a base-16 merkle trie within the runtime. Data into the merkle trie only require that they implement `Encode` / `Decode`. A FRAME compatible `TrieError` was created and added to `DispatchError`. Expected usage is to construct the merkle trie with all data offline, and then place only the merkle root of that trie on-chain. Also offchain, a user is given a compact merkle proof of some data they want to prove exists on the blockchain. Then in the runtime, you can call `verify_single_value_proof` or `verify_proof` with the root, proof, and the keys and values you want to verify exists in the merkle trie. Closes https://github.com/paritytech/polkadot-sdk/issues/3880 Contributes to #5400 --------- Co-authored-by:
Ankan <10196091+Ank4n@users.noreply.github.com> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Eugen Snitko authored
migrate jobs to gha - build-linux-stable-cumulus - build-test-parachain - build-linux-stable - build-test-collators - build-malus - build-linux-substrate - prepare-bridges-zombienet-artifacts (might require help from zombienet team) - build-push-image-polkadot-parachain-debug - build-push-image-test-parachain - build-push-image-polkadot-debug - build-push-image-colander - build-push-image-malus - build-push-image-substrate-pr - build-push-image-bridges-zombienet-tests see [ci_cd#1013](https://github.com/paritytech/ci_cd/issues/1013)
-
ordian authored
Follow-up to #5270. The baseline numbers for Westend were too high to be representative of the reality as it seemed to do with how multi-variate linear regression is calculated. --------- Co-authored-by: command-bot <>
-
Muharem Ismailov authored
Introduce a dynamic proposal deposit mechanism influenced by the total number of active proposals, with the option to set the deposit to none. The potential cost (e.g., balance hold) for proposal submission and storage is determined by the implementation of the `Consideration` trait. The footprint is defined as `proposal_count`, representing the total number of active proposals in the system, excluding the one currently being proposed. This cost may vary based on the proposal count. The pallet also offers various types to define a cost strategy based on the number of proposals. Two new calls are introduced: - kill(origin, proposal_hash): the cancellation of a proposal, accompanied by the burning of the associated cost/consideration ticket. - release_proposal_cost(origin, proposal_hash): the release of the cost for a non-active proposal. Additionally change: - benchmarks have been upgraded to benchmarks::v2 for collective pallet; - `ensure_successful` function added to the `Consideration` under `runtime-benchmarks` feature. --------- Co-authored-by: command-bot <> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
GitHub Action <action@github.com>
-
Egor_P authored
This PR adds the badges to the readme to show the info about the current stable release version and the version and date of the upcoming stable release. The idea here to give a possibility for people from the outside to have an overview about the current and upcoming release, until we have a proper public release calendar. <img width="1280" alt="Screenshot 2024-08-29 at 14 47 57" src="https://github.com/user-attachments/assets/8faff023-c4b2-444b-95a3-ce6d106e2a7a"> --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
-
Liu-Cheng Xu authored
There are basically three commits in this PR. Since all these commits essentially have no logical changes, I packed them into one PR. Review by per-commit is recommended. - The first commit avoids unnecessarily updating the block gap storage when the value remains unchanged, as discovered when I worked on https://github.com/paritytech/polkadot-sdk/issues/5406. - The second commit is purely about format string style changes but deletes ~10 lines of code, which slightly helps me look into this file :P - The third commit is added to avoid the unnecessary block gap update in `BlockchainDb`. --------- Co-authored-by:
Davide Galassi <davxy@datawok.net>
-
bader y authored
When using with `polkadot-parachain`, you usually need to specify the `relay_chain` and `para_id` fields in the chain spec. With this PR it can be achieved by specifying newly added `--para-id` and `--relay-chain` command line args, e.g: ``` chain-spec-builder create -r _runtime.wasm --para-id 100 --relay-chain xxx default ``` This was implemented by simple _json_ blobs merging. Additionally unit tests covering basic functionality were added. Also adds a fix for not overwriting the chain spec with the default config each time, swallowing not standard fields is also fixed. Fixes: #4873 --------- Co-authored-by:
Sebastian Kunert <skunert49@gmail.com> Co-authored-by:
Michal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
-
- Sep 03, 2024
-
-
Iulian Barbu authored
# Description Adds retry logic that makes the RPC relay chain interface more reliable for the cases of a collator connecting to external RPC servers. Closes #5514 Closes #4278 Final solution still debated on #5514 , what this PR addresses might change (e.g. #4278 might require a more advanced approach). ## Integration Users that start collators should barely observe differences based on this logic, since the retry logic applies only in case the collators fail to connect to the RPC servers. In practice I assume the RPC servers are already live before starting collators, and the issue isn't visible. ## Review Notes The added retry logic is for retrying the connection to the RPC servers (which can be multiple). It is at the level of the cumulus/client/relay-chain-rpc-interface module, but more specifically relevant to the RPC clients logic (`ClientManager`). The retry logic is not configurable, it tries to connect to the RPC client for 5 times, with an exponential backoff in between each iteration starting with 1 second wait time and ending with 16 seconds. The same logic is applied in case an existing connection to an RPC is dropped. There is a `ReconnectingWebsocketWorker` who ensures there is connectivity to at least on RPC node, and the retry logic makes this stronger by insisting on trying connections to the RPC servers list for 5 times. ## Testing - This was tested manually by starting zombienet natively based on [006-rpc_collator_builds_blocks.toml](https://github.com/paritytech/polkadot-sdk/blob/master/cumulus/zombienet/tests/0006-rpc_collator_builds_blocks.toml) and observing collators don't fail anymore: ```bash zombienet -l text --dir zbn-run -f --provider native spawn polkadot-sdk/cumulus/zombienet/tests/0006-rpc_collator_builds_blocks.toml ``` - Added a unit test that exercises the retry logic for a client connection to a server that comes online in 10 seconds. The retry logic can wait for as long as 30 seconds, but thought that it is too much for a unit test. Just being conscious of CI time if it runs this test, but I am happy to see suggestions around it too. I am not that sure either it runs in CI, haven't figured it out entirely yet. The test can be considered an integration test too, but it exercises crate internal implementation, not the public API. Collators example logs after the change: ``` 2024-08-29 14:28:11.730 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=0 index=2 url="ws://127.0.0.1:37427/" 2024-08-29 14:28:12.737 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=1 index=0 url="ws://127.0.0.1:43617/" 2024-08-29 14:28:12.739 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=1 index=1 url="ws://127.0.0.1:37965/" 2024-08-29 14:28:12.755 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=1 index=2 url="ws://127.0.0.1:37427/" 2024-08-29 14:28:14.758 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=2 index=0 url="ws://127.0.0.1:43617/" 2024-08-29 14:28:14.759 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=2 index=1 url="ws://127.0.0.1:37965/" 2024-08-29 14:28:14.760 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=2 index=2 url="ws://127.0.0.1:37427/" 2024-08-29 14:28:18.766 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=3 index=0 url="ws://127.0.0.1:43617/" 2024-08-29 14:28:18.768 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=3 index=1 url="ws://127.0.0.1:37965/" 2024-08-29 14:28:18.768 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=3 index=2 url="ws://127.0.0.1:37427/" 2024-08-29 14:28:26.770 INFO tokio-runtime-worker reconnecting-websocket-client: [Parachain] Trying to connect to next external relaychain node. current_iteration=4 index=0 url="ws://127.0.0.1:43617/" ``` --------- Signed-off-by:
Iulian Barbu <iulian.barbu@parity.io> Co-authored-by:
Sebastian Kunert <skunert49@gmail.com>
-
Alexandru Vasile authored
The https://github.com/paritytech/polkadot-sdk/issues/5512 has surfaced that we reported a `BestBlock` event for a block not previously reported via `NewBlock`. This is because of a race between: - the stream of events that announces new blocks - `self.client.info().best_block` It is possible that `client.info()` contains newer information than the information polled from the block stream (that may be lagging). To mitigate this, instead of relying on the client's info use the last finalized block to emit a new event. There are two cases when a new best block event is emitted: - The best block is in the pruned list and is reported immediately - The best block is not a descendant of the last finalized block Closes: https://github.com/paritytech/polkadot-sdk/issues/5512 Thanks @jsdw and @josepot for helping debug this
cc @paritytech/subxt-team --------- Signed-off-by:Alexandru Vasile <alexandru.vasile@parity.io> Co-authored-by:
Sebastian Kunert <skunert49@gmail.com> Co-authored-by: command-bot <>
-
Maksym H authored
Closes https://github.com/paritytech/ci_cd/issues/1017 - Enabled subsystem-benchmarks 100% + adjusted them to publish as separate job so it can use environment for scope secrets - Added -v1.* triggers for GHA checks - Removed remove subkey & polkavm from gitlab --------- Co-authored-by:
Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
-
Oliver Tale-Yazdi authored
Also make the backport bot use the new release.
-
Alexander Theißen authored
Before we only supported CREATE2 semantics for contract address derivations. In order to be compatible we also want to allow CREATE1 semantics. We accomplish this to make the salt an `Option` in all places where it is used. Supplying `None` will use CREATE1 semantics by just using the deployers account nonce. ## Todo - [x] Add new tests specific for CREATE1
-
Kian Paimani authored
Co-authored-by:
Javier Viola <363911+pepoviola@users.noreply.github.com> Co-authored-by:
Alexandru Vasile <60601340+lexnv@users.noreply.github.com> Co-authored-by: command-bot <>
-
- Sep 02, 2024
-
-
dharjeezy authored
closes https://github.com/paritytech/polkadot-sdk/issues/2441 Polkadot address: 12GyGD3QhT4i2JJpNzvMf96sxxBLWymz4RdGCxRH5Rj5agKW --------- Signed-off-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io> Co-authored-by:
Bastian Köcher <git@kchr.de>
-
Clara van Staden authored
Allow free Snowbridge consensus updates, if the header interval is larger than the configured value (set to 32, so once a epoch). This PR also moves the Rococo Snowbridge pallet config into its own module. Original PR: https://github.com/Snowfork/polkadot-sdk/pull/159 --------- Co-authored-by:
Francisco Aguirre <franciscoaguirreperez@gmail.com>
-