Skip to content
Snippets Groups Projects
  1. Jun 26, 2024
    • Lulu's avatar
      Update parity publish (#4878) · 7084463a
      Lulu authored
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Niklas Adolfsson's avatar
      rpc: upgrade jsonrpsee v0.23 (#4730) · 7a2592e8
      Niklas Adolfsson authored
      
      This is PR updates jsonrpsee v0.23 which mainly changes:
      - Add `Extensions` which we now is using to get the connection id (used
      by the rpc spec v2 impl)
      - Update hyper to v1.0, http v1.0, soketto and related crates
      (hyper::service::make_service_fn is removed)
      - The subscription API for the client is modified to know why a
      subscription was closed.
      
      Full changelog here:
      https://github.com/paritytech/jsonrpsee/releases/tag/v0.23.0
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Muharem Ismailov's avatar
      [FRAME] Remove storage migration type (#3828) · 20aecadb
      Muharem Ismailov authored
      
      Introduce migration type to remove data associated with a specific
      storage of a pallet.
      
      Based on existing `RemovePallet` migration type.
      
      Required for https://github.com/paritytech/polkadot-sdk/pull/3820
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <liam.aharon@hotmail.com>
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
    • Nazar Mokrynskyi's avatar
      Block import and verification refactoring (#4844) · 0ed3f04d
      Nazar Mokrynskyi authored
      A few refactorings to block import and block verification that should
      not be controversial.
      
      Block verification before block import is stateless by design as
      described in https://substrate.stackexchange.com/a/1322/25 and the fact
      that it wasn't yet I consider to be a bug. Some code that requires it
      had to use `Mutex`, but I do not expect it to have a measurable
      performance impact.
      
      Similarly with block import checking whether block preconditions should
      not be an exclusive operation, there is nothing fundamentally wrong with
      checking a few competing blocks whose parent blocks exist at the same
      time (and even import them concurrently later, though IIRC this is not
      yet implemented either).
      
      They were originally a part of
      https://github.com/paritytech/polkadot-sdk/pull/4842 and upstreaming
      will help us to reduce the size of the patch we need to apply on top of
      upstream code at Subspace every time we upgrade. There are no new
      features introduced here, just refactoring to get rid of unnecessary
      requirements.
  2. Jun 25, 2024
  3. Jun 24, 2024
    • dashangcun's avatar
    • Muharem Ismailov's avatar
      treasury pallet: remove unused config parameters (#4831) · 5e62782d
      Muharem Ismailov authored
      Remove unused config parameters `ApproveOrigin` and `OnSlash` from the
      treasury pallet. Add `OnSlash` config parameter to the bounties and tips
      pallets.
      
      part of https://github.com/paritytech/polkadot-sdk/issues/3800
    • Oliver Tale-Yazdi's avatar
      CI quick-checks: Pull Rust deps in advance (#4867) · 10b68db9
      Oliver Tale-Yazdi authored
      
      Pull the Rust dependencies in advance to see if there is an issue with
      timeouts.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Muharem Ismailov's avatar
      pallet ranked collective: max member count per rank (#4807) · 0b11c27e
      Muharem Ismailov authored
      Configuration for the maximum member count per rank, with the option for
      no limit.
    • Oliver Tale-Yazdi's avatar
      Lift all dependencies (the big one) (#4716) · 8efa0544
      Oliver Tale-Yazdi authored
      
      After preparing in https://github.com/paritytech/polkadot-sdk/pull/4633,
      we can lift also all internal dependencies up to the workspace.
      
      This does not actually change anything, but uses `workspace = true` for
      all dependencies. You can check it with:
      ```bash
      git checkout -q $(git merge-base oty-lift-all-deps origin/master)
      cargo tree -e features > master.out
      
      git checkout -q oty-lift-all-deps
      cargo tree -e features > new.out
      diff master.out new.out
      ```
      
      It did not yet lift 100% of dependencies, some inside of `target.*` or
      some that had conflicting aliases introduced recently. But i will do
      these together in a follow-up with CI checks.
      
      Can be reproduced with [zepter](https://github.com/ggwpez/zepter/):
      `zepter transpose d lift-to-workspace "regex:.*" --version-resolver
      highest --skip-package "polkadot-sdk" --ignore-errors --fix`.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Bastian Köcher's avatar
      Ensure earliest allowed block is at minimum the next block (#4823) · b7767168
      Bastian Köcher authored
      When `min_enactment_period == 0` and `desired == At(n)` where `n` is
      smaller than the current block number, the scheduling would fail. This
      happened for example here:
      https://collectives.subsquare.io/fellowship/referenda/126
      
      To ensure that this doesn't happen again, ensure that the earliest
      allowed block is at minimum the next block.
    • Deepak Chaudhary's avatar
      pallet-membership should implement ContainsLengthBound (#4865) · fed81f7e
      Deepak Chaudhary authored
      
      ### ISSUE
      Link to the issue:
      https://github.com/paritytech/polkadot-sdk/issues/1143
      
      Deliverables
       - Implement trait `ContainsLengthBound` for pallet-membership
       
      
      ### Test Outcomes
      ___
      Successful tests by running `cargo test -p pallet-membership --features
      runtime-benchmarks`
      
      
      
      running 22 tests
      test tests::__construct_runtime_integrity_test::runtime_integrity_tests
      ... ok
      test benchmark::bench_clear_prime ... ok
      test tests::add_member_works ... ok
      test tests::change_key_with_same_caller_as_argument_changes_nothing ...
      ok
      test tests::change_key_works ... ok
      test benchmark::bench_set_prime ... ok
      test benchmark::bench_remove_member ... ok
      test benchmark::bench_change_key ... ok
      test tests::change_key_works_that_does_not_change_order ... ok
      test benchmark::bench_reset_members ... ok
      test benchmark::bench_add_member ... ok
      test tests::genesis_build_panics_with_duplicate_members - should panic
      ... ok
      test benchmark::bench_swap_member ... ok
      test tests::query_membership_works ... ok
      test tests::prime_member_works ... ok
      test tests::test_genesis_config_builds ... ok
      test tests::remove_member_works ... ok
      test tests::migration_v4 ... ok
      test tests::swap_member_with_identical_arguments_changes_nothing ... ok
      test tests::swap_member_works_that_does_not_change_order ... ok
      test tests::swap_member_works ... ok
      test tests::reset_members_works ... ok
      
      test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
      out; finished in 0.01s
      
         Doc-tests pallet_membership
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
      out; finished in 0.00s
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Oliver Tale-Yazdi's avatar
  4. Jun 23, 2024
  5. Jun 22, 2024
    • Muharem Ismailov's avatar
      Frame: `Consideration` trait generic over `Footprint` and indicates zero cost (#4596) · 812dbff1
      Muharem Ismailov authored
      `Consideration` trait generic over `Footprint` and indicates zero cost
      for a give footprint.
      
      `Consideration` trait is generic over `Footprint` (currently defined
      over the type with the same name). This makes it possible to setup a
      custom footprint (e.g. current number of proposals in the storage).
      
      `Consideration::new` and `Consideration::update` return an
      `Option<Self>` instead `Self`, this make it possible to indicate a no
      cost for a specific footprint (e.g. if current number of proposals in
      the storage < max_proposal_count / 2 then no cost).
      
      These cases need to be handled for
      https://github.com/paritytech/polkadot-sdk/pull/3151
  6. Jun 21, 2024
    • Bastian Köcher's avatar
      Bump time to fix compilation on latest nightly (#4862) · c4b3c1c6
      Bastian Köcher authored
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4748
    • Dmitry Markin's avatar
      sc-network-types: implement `From<IpAddr> for Multiaddr` (#4855) · 3b3a1d2b
      Dmitry Markin authored
      Add `From` implementation used by downstream project.
      
      Ref.
      https://github.com/paritytech/polkadot-sdk/pull/4198#discussion_r1648676102
      
      CC @nazar-pc
    • Pablo Andrés Dorado Suárez's avatar
      Implement `pallet-assets-freezer` (#3951) · a477bd0b
      Pablo Andrés Dorado Suárez authored
      Closes #3342
      
      cc/ @liamaharon
      
      
      
      TODO:
      
      - [x] Improve docs.
      - [x] Define public interface (See #3342).
        In case we define public calls to the pallet implementation:
        - Implement public calls.
        - Benchmarks.
        
      polkadot address: 12gMhxHw8QjEwLQvnqsmMVY1z5gFa54vND74aMUbhhwN6mJR
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarLiam Aharon <liam.aharon@hotmail.com>
    • Oliver Tale-Yazdi's avatar
      [HRMP] Dont partially modify pages (#4710) · d18d3623
      Oliver Tale-Yazdi authored
      
      Changes:
      - The XCMP queue does not partially modify pages anymore by using
      `try_mutate` instead of `mutate`.
      - The XCMP queue max page size is now the min between the value that the
      relay reports and the local limit.
      
      Thanks to whom pointed this out to me via DM.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • José Molina Colmenero's avatar
      Do not make pallet-nfts benchmarks signature-dependent (#4756) · 2657cfba
      José Molina Colmenero authored
      This PR:
      
      - Adds extra functionality to pallet-nfts's `BenchmarkHelper` to provide
      signers and sign message.
      - Abstracts away the explicit link with Sr25519 schema in the
      benchmarks, allowing parachains with a different one to be able to run
      them and calculate the weights.
      - Adds a default implementation for the empty tuple that leaves the code
      equivalent.
    • Alexander Samusev's avatar
      [ci] Change storage type for forklift in GHA (#4850) · b301218d
      Alexander Samusev authored
      PR changes forklift authentication to gcs
      
      cc https://github.com/paritytech/ci_cd/issues/987
    • dependabot[bot]'s avatar
      Bump ws from 8.16.0 to 8.17.1 in /bridges/testing/framework/utils/generate_hex_encoded_call (#4825) · a23abb17
      dependabot[bot] authored
      
      Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/websockets/ws/releases">ws's
      releases</a>.</em></p>
      <blockquote>
      <h2>8.17.1</h2>
      <h1>Bug fixes</h1>
      <ul>
      <li>Fixed a DoS vulnerability (<a
      href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>).</li>
      </ul>
      <p>A request with a number of headers exceeding
      the[<code>server.maxHeadersCount</code>][]
      threshold could be used to crash a ws server.</p>
      <pre lang="js"><code>const http = require('http');
      const WebSocket = require('ws');
      <p>const wss = new WebSocket.Server({ port: 0 }, function () {
      const chars =
      &quot;!#$%&amp;'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~&quot;.split('');
      const headers = {};
      let count = 0;</p>
      <p>for (let i = 0; i &lt; chars.length; i++) {
      if (count === 2000) break;</p>
      <pre><code>for (let j = 0; j &amp;lt; chars.length; j++) {
        const key = chars[i] + chars[j];
        headers[key] = 'x';
      
        if (++count === 2000) break;
      }
      </code></pre>
      <p>}</p>
      <p>headers.Connection = 'Upgrade';
      headers.Upgrade = 'websocket';
      headers['Sec-WebSocket-Key'] = 'dGhlIHNhbXBsZSBub25jZQ==';
      headers['Sec-WebSocket-Version'] = '13';</p>
      <p>const request = http.request({
      headers: headers,
      host: '127.0.0.1',
      port: wss.address().port
      });</p>
      <p>request.end();
      });
      </code></pre></p>
      <p>The vulnerability was reported by <a
      href="https://github.com/rrlapointe">Ryan LaPointe</a> in <a
      href="https://redirect.github.com/websockets/ws/issues/2230">websockets/ws#2230</a>.</p>
      <p>In vulnerable versions of ws, the issue can be mitigated in the
      following ways:</p>
      <ol>
      <li>Reduce the maximum allowed length of the request headers using the
      [<code>--max-http-header-size=size</code>][] and/or the
      [<code>maxHeaderSize</code>][] options so
      that no more headers than the <code>server.maxHeadersCount</code> limit
      can be sent.</li>
      </ol>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/websockets/ws/commit/3c56601092872f7d7566989f0e379271afd0e4a1"><code>3c56601</code></a>
      [dist] 8.17.1</li>
      <li><a
      href="https://github.com/websockets/ws/commit/e55e5106f10fcbaac37cfa89759e4cc0d073a52c"><code>e55e510</code></a>
      [security] Fix crash when the Upgrade header cannot be read (<a
      href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>)</li>
      <li><a
      href="https://github.com/websockets/ws/commit/6a00029edd924499f892aed8003cef1fa724cfe5"><code>6a00029</code></a>
      [test] Increase code coverage</li>
      <li><a
      href="https://github.com/websockets/ws/commit/ddfe4a804d79e7788ab136290e609f91cf68423f"><code>ddfe4a8</code></a>
      [perf] Reduce the amount of <code>crypto.randomFillSync()</code>
      calls</li>
      <li><a
      href="https://github.com/websockets/ws/commit/b73b11828d166e9692a9bffe9c01a7e93bab04a8"><code>b73b118</code></a>
      [dist] 8.17.0</li>
      <li><a
      href="https://github.com/websockets/ws/commit/29694a5905fa703e86667928e6bacac397469471"><code>29694a5</code></a>
      [test] Use the <code>highWaterMark</code> variable</li>
      <li><a
      href="https://github.com/websockets/ws/commit/934c9d6b938b93c045cb13e5f7c19c27a8dd925a"><code>934c9d6</code></a>
      [ci] Test on node 22</li>
      <li><a
      href="https://github.com/websockets/ws/commit/1817bac06e1204bfb578b8b3f4bafd0fa09623d0"><code>1817bac</code></a>
      [ci] Do not test on node 21</li>
      <li><a
      href="https://github.com/websockets/ws/commit/96c9b3deddf56cacb2d756aaa918071e03cdbc42"><code>96c9b3d</code></a>
      [major] Flip the default value of <code>allowSynchronousEvents</code>
      (<a
      href="https://redirect.github.com/websockets/ws/issues/2221">#2221</a>)</li>
      <li><a
      href="https://github.com/websockets/ws/commit/e5f32c7e1e6d3d19cd4a1fdec84890e154db30c1"><code>e5f32c7</code></a>
      [fix] Emit at most one event per event loop iteration (<a
      href="https://redirect.github.com/websockets/ws/issues/2218">#2218</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/websockets/ws/compare/8.16.0...8.17.1">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ws&package-manager=npm_and_yarn&previous-version=8.16.0&new-version=8.17.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      You can disable automated security fix PRs for this repo from the
      [Security Alerts
      page](https://github.com/paritytech/polkadot-sdk/network/alerts).
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
  7. Jun 20, 2024
    • dependabot[bot]'s avatar
      Bump curve25519-dalek from 4.1.2 to 4.1.3 (#4824) · 74decbbd
      dependabot[bot] authored
      
      Bumps
      [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek)
      from 4.1.2 to 4.1.3.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/5312a0311ec40df95be953eacfa8a11b9a34bc54"><code>5312a03</code></a>
      curve: Bump version to 4.1.3 (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/660">#660</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/b4f9e4df92a4689fb59e312a21f940ba06ba7013"><code>b4f9e4d</code></a>
      SECURITY: fix timing variability in backend/serial/u32/scalar.rs (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/661">#661</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/415892acf1cdf9161bd6a4c99bc2f4cb8fae5e6a"><code>415892a</code></a>
      SECURITY: fix timing variability in backend/serial/u64/scalar.rs (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/659">#659</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/56bf398d0caed63ef1d1edfbd35eb5335132aba2"><code>56bf398</code></a>
      Updates license field to valid SPDX format (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/647">#647</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/9252fa5c0d09054fed4ac4d649e63c40fad7abaf"><code>9252fa5</code></a>
      Mitigate check-cfg until MSRV 1.77 (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/652">#652</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/1efe6a93b176c4389b78e81e52b2cf85d728aac6"><code>1efe6a9</code></a>
      Fix a minor typo in signing.rs (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/649">#649</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/cc3421a22fa7ee1f557cbe9243b450da53bbe962"><code>cc3421a</code></a>
      Indicate that the rand_core feature is required (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/641">#641</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/858c4ca8ae03d33fe8b71b4504c4d3f5ff5b45c0"><code>858c4ca</code></a>
      Address new nightly clippy unnecessary qualifications (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/639">#639</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/31ccb6705067d68782cb135e23c79b640a6a06ee"><code>31ccb67</code></a>
      Remove platforms in favor using CARGO_CFG_TARGET_POINTER_WIDTH (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/636">#636</a>)</li>
      <li><a
      href="https://github.com/dalek-cryptography/curve25519-dalek/commit/19c7f4a5d5e577adc9cc65a837abef9ed7ebf0a4"><code>19c7f4a</code></a>
      Fix new nightly redundant import lint warns (<a
      href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/638">#638</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dalek-cryptography/curve25519-dalek/compare/curve25519-4.1.2...curve25519-4.1.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=curve25519-dalek&package-manager=cargo&previous-version=4.1.2&new-version=4.1.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      You can disable automated security fix PRs for this repo from the
      [Security Alerts
      page](https://github.com/paritytech/polkadot-sdk/network/alerts).
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
  8. Jun 19, 2024
    • Niklas Adolfsson's avatar
      rpc server: add `health/readiness endpoint` (#4802) · 6c857609
      Niklas Adolfsson authored
      Previous attempt https://github.com/paritytech/substrate/pull/14314
      
      Close #4443 
      
      Ideally, we should move /health and /health/readiness to the prometheus
      server but because it's was quite easy to implement on the RPC server
      and that RPC server already exposes /health.
      
      Manual tests on a polkadot node syncing:
      
      ```bash
      ➜ polkadot-sdk (na-fix-4443) ✗ curl -v localhost:9944/health
      * Host localhost:9944 was resolved.
      * IPv6: ::1
      * IPv4: 127.0.0.1
      *   Trying [::1]:9944...
      * connect to ::1 port 9944 from ::1 port 55024 failed: Connection refused
      *   Trying 127.0.0.1:9944...
      * Connected to localhost (127.0.0.1) port 9944
      > GET /health HTTP/1.1
      > Host: localhost:9944
      > User-Agent: curl/8.5.0
      > Accept: */*
      >
      < HTTP/1.1 200 OK
      < content-type: application/json; charset=utf-8
      < content-length: 53
      < date: Fri, 14 Jun 2024 16:12:23 GMT
      <
      * Connection #0 to host localhost left intact
      {"peers":0,"isSyncing":false,"shouldHavePeers":false}%
      ➜ polkadot-sdk (na-fix-4443) ✗ curl -v localhost:9944/health/readiness
      * Host localhost:9944 was resolved.
      * IPv6: ::1
      * IPv4: 127.0.0.1
      *   Trying [::1]:9944...
      * connect to ::1 port 9944 from ::1 port 54328 failed: Connection refused
      *   Trying 127.0.0.1:9944...
      * Connected to localhost (127.0.0.1) port 9944
      > GET /health/readiness HTTP/1.1
      > Host: localhost:9944
      > User-Agent: curl/8.5.0
      > Accept: */*
      >
      < HTTP/1.1 500 Internal Server Error
      < content-type: application/json; charset=utf-8
      < content-length: 0
      < date: Fri, 14 Jun 2024 16:12:36 GMT
      <
      * Connection #0 to host localhost left intact
      ```
      
      //cc @BulatSaif
      
       you may be interested in this..
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Bastian Köcher's avatar
      Fix CLI pruning params (#4836) · 9f09169e
      Bastian Köcher authored
      `ValueEnum` is apparently not using the `from_str`...
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4828
    • Branislav Kontur's avatar
    • Tsvetomir Dimitrov's avatar
      Fix core sharing and make use of scheduling_lookahead (#4724) · 739c37bf
      Tsvetomir Dimitrov authored
      
      Implements most of
      https://github.com/paritytech/polkadot-sdk/issues/1797
      
      Core sharing (two parachains or more marachains scheduled on the same
      core with the same `PartsOf57600` value) was not working correctly. The
      expected behaviour is to have Backed and Included event in each block
      for the paras sharing the core and the paras should take turns. E.g. for
      two cores we expect: Backed(a); Included(a)+Backed(b);
      Included(b)+Backed(a); etc. Instead of this each block contains just one
      event and there are a lot of gaps (blocks w/o events) during the
      session.
      
      Core sharing should also work when collators are building collations
      ahead of time
      
      TODOs:
      
      - [x] Add a zombienet test verifying that the behaviour mentioned above
      works.
      - [x] prdoc
      
      ---------
      
      Co-authored-by: default avataralindima <alin@parity.io>
  9. Jun 18, 2024
    • Javyer's avatar
      Migrated commands to github actions (#4701) · 6daa939b
      Javyer authored
      
      Migrated commands individually to work as GitHub actions with a
      [`workflow_dispatch`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch)
      event.
      
      This will not disable the command-bot yet, but it's the first step
      before disabling it.
      
      ### Commands migrated
      - [x] bench-all
      - [x] bench-overhead
      - [x] bench
      - [x] fmt
      - [x] update-ui
      
      Also created an action that will inform users about the new
      documentation when they comment `bot`.
      
      ### Created documentation 
      Created a detailed documentation on how to use this action. Found the
      documentation
      [here](https://github.com/paritytech/polkadot-sdk/blob/bullrich/cmd-action/.github/commands-readme.md).
      
      ---------
      
      Co-authored-by: default avatarAlexander Samusev <41779041+alvicsam@users.noreply.github.com>
      Co-authored-by: default avatarPrzemek Rzad <przemek@parity.io>
    • tianyeyouyou's avatar
      chore: remove redundant words. (#4653) · e1729592
      tianyeyouyou authored
      
      remove redundant words in comments.
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Bastian Köcher's avatar
      Unify `code_at` logic between `CallExecutor` & `Client` (#4618) · 029a6562
      Bastian Köcher authored
      This unifies the logic between `CallExecutor` and `Client` when it comes
      to fetching the `code` for a given block. The actual `code` depends on
      potential overrides/substitutes.
      
      Besides that it changes the logic in the lookahead collator on which
      `ValidationCodeHash` it sends to the validator alongside the `POV`. We
      are now sending the code hash as found on the relay chain. This is done
      as the local node could run with an override which is compatible to the
      validation code on the relay chain, but has a different hash.
    • Tin Chung's avatar
      Add set_partial_params dispatchable function (#3843) · cc387132
      Tin Chung authored
      
      # ISSUE
      - Link to issue: https://github.com/paritytech/polkadot-sdk/issues/3617
      # Description
      > Any set parameter / update config call with multiple arguments should
      have each argument to be an Option field. Please put this to some best
      practice document. This allows new update config call does not need to
      duplicate the fields that does not need to update. It also makes
      concurrent votes of update call possible, otherwise there will be race
      condition. It also helps with review such proposal otherwise reviewers
      need to check the other fields should remain the same.
      - [ ] Concurrent call & race condition testing
      - [x] Each argument of the `ParamsType` is an `Option` field. Introduce
      through
      ```rust
      pub type PartialParamsOf<T, I> =
      		ParamsType<Option<<T as Config<I>>::Balance>, Option<BlockNumberFor<T>>, RANK_COUNT>;
      ```
      # Outcome
      ```rust
      let params = ParamsType {
      	active_salary: [None; 9],
      	passive_salary: [None; 9],
      	demotion_period: [None, Some(10), None, None, None, None, None, None, None],
      	min_promotion_period: [None; 9],
      	offboard_timeout: Some(1),
      };
      CoreFellowship::set_partial_params(signed(2), Box::new(params.clone())),
      ```
      Test coverage
      ```diff
      running 21 tests
      test tests::unit::__construct_runtime_integrity_test::runtime_integrity_tests ... ok
      test tests::unit::basic_stuff ... ok
      test tests::integration::test_genesis_config_builds ... ok
      test tests::integration::__construct_runtime_integrity_test::runtime_integrity_tests ... ok
      test tests::unit::auto_demote_offboard_works ... ok
      test tests::unit::auto_demote_works ... ok
      test tests::unit::get_salary_works ... ok
      test tests::unit::active_changing_get_salary_works ... ok
      test tests::integration::swap_bad_noops ... ok
      test tests::unit::promote_postpones_auto_demote ... ok
      test tests::unit::infinite_demotion_period_works ... ok
      test tests::unit::proof_postpones_auto_demote ... ok
      test tests::unit::induct_works ... ok
      test tests::unit::set_params_works ... ok
      test tests::unit::test_genesis_config_builds ... ok
      test tests::unit::offboard_works ... ok
      test tests::unit::sync_works ... ok
      + test tests::unit::set_partial_params_works ... ok
      test tests::integration::swap_exhaustive_works ... ok
      test tests::unit::promote_works ... ok
      test tests::integration::swap_simple_works ... ok
      
      test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
      
         Doc-tests pallet_core_fellowship
      
      running 0 tests
      
      test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
      ```
      
      polkadot address: 19nSqFQorfF2HxD3oBzWM3oCh4SaCRKWt1yvmgaPYGCo71J
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <donalm@seadanda.dev>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Tin Chung's avatar
      Remove deprecated treasury pallet calls (#3820) · 40677b64
      Tin Chung authored
      # ISSUE
      - Link to the issue:
      https://github.com/paritytech/polkadot-sdk/issues/3800
      # Deliverables
      - [x] remove deprecated calls;
      (https://github.com/paritytech/polkadot-sdk/pull/3820/commits/d579b673)
      - [x] set explicit coded indexes for Error and Event enums, remove
      unused variants and keep the same indexes for the rest;
      (https://github.com/paritytech/polkadot-sdk/pull/3820/commits/d579b673)
      - [x] remove unused Config's type parameters;
      (https://github.com/paritytech/polkadot-sdk/pull/3820/commits/d579b673)
      - [x] remove irrelevant tests and adopt relevant using old api;
      (https://github.com/paritytech/polkadot-sdk/pull/3820/commits/d579b673)
      - [x] remove benchmarks for removed calls;
      (https://github.com/paritytech/polkadot-sdk/pull/3820/commits/1a3d5f1f)
      - [x] prdoc
      (https://github.com/paritytech/pol...
    • Andrei Sandu's avatar
      glutton: also increase parachain block length (#4728) · 1dc68de8
      Andrei Sandu authored
      
      Glutton currently is useful mostly for stress testing relay chain
      validators. It is unusable for testing the collator networking and block
      announcement and import scenarios. This PR resolves that by improving
      glutton pallet to also buff up the blocks, up to the runtime configured
      `BlockLength`.
      
      ### How it works
      Includes an additional inherent in each parachain block. The `garbage`
      argument passed to the inherent is filled with trash data. It's size is
      computed by applying the newly introduced `block_length` percentage to
      the maximum block length for mandatory dispatch class. After
      https://github.com/paritytech/polkadot-sdk/pull/4765 is merged, the
      length of inherent extrinsic will be added to the total block proof
      size.
      
      The remaining weight is burnt in `on_idle` as configured by the
      `storage` percentage parameter.
      
      
      TODO:
      - [x] PRDoc
      - [x] Readme update
      - [x] Add tests
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>