Skip to content
Snippets Groups Projects
  1. Jul 03, 2024
  2. Jun 28, 2024
  3. Jun 27, 2024
  4. Jun 26, 2024
    • Muharem Ismailov's avatar
      pallet assets: optional auto-increment for the asset ID (#4757) · 929a273a
      Muharem Ismailov authored
      
      Introduce an optional auto-increment setup for the IDs of new assets.
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <25483142+joepetrowski@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      929a273a
    • Anton Vilhelm Ásgeirsson's avatar
      Coretime: Add request revenue info (#3940) · f1db2c6e
      Anton Vilhelm Ásgeirsson authored
      
      Enables the `request_revenue` and `notify_revenue` parts of [RFC 5 -
      Coretime
      Interface](https://polkadot-fellows.github.io/RFCs/approved/0005-coretime-interface.html)
      
      TODO:
      - [x] Finish first pass at implementation
      - [x] ~~Need to explicitly burn uncollected and dropped revenue~~
      Accumulate it instead
      - [x] Confirm working on zombienet
      - [x] Tests 
      - [ ] Enable XCM `request_revenue` sending on Coretime chain on Kusama
      and Polkadot
      
      Fixes: #2209
      
      ---------
      
      Co-authored-by: default avatarDmitry Sinyavin <dmitry.sinyavin@parity.io>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatars0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      f1db2c6e
    • Dmitry Markin's avatar
      network: Upgrade `litep2p` to v0.6.2 (#4799) · 4a7155e5
      Dmitry Markin authored
      
      This PR upgrades `litep2p` to the latest version and includes the two
      fixes:
      
      1. Enables incoming DHT record validation with `litep2p` network
      backend.
      2. Sets `TCP_NODELAY` flag on TCP & WS sockets in `litep2p` backend, as
      it is currently done in `libp2p` backend.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      4a7155e5
    • Branislav Kontur's avatar
      [xcm] runtime api for LocationToAccount conversions (#4857) · 75069569
      Branislav Kontur authored
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4298
      
      This PR also merges `xcm-fee-payment-runtime-api` module to the
      `xcm-runtime-api`.
      
      
      ## TODO
      
      - [x] rename `convert` to `convert_location` and add new one
      `convert_account` (opposite direction)
      - [x] add to the all testnet runtimes
      - [x] check polkadot-js if supports that automatically or if needs to be
      added manually https://github.com/polkadot-js/api/pull/5917
      - [ ] backport/patch for fellows and release (asap)
      
      ## Open questions
      - [x] should we merge `xcm-runtime-api` and
      `xcm-fee-payment-runtime-api` to the one module `xcm-runtime-api` ?
      
      ## Usage
      Input:
       - `location:  VersionedLocation`
       
      Output:
       - account_id bytes
      
      
      ![image](https://github.com/paritytech/polkadot-sdk/assets/8159517/4607b15a-77d2-462b-806c-606107776c0d)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      75069569
    • 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>
      7a2592e8
    • 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.
      0ed3f04d
  5. Jun 25, 2024
    • Aaro Altonen's avatar
      Upgrade libp2p to 0.52.4 (#1631) · 414a8fc2
      Aaro Altonen authored
      Upgrade libp2p to 0.52.4, including a fix: 
      
      * Set Kademlia to server mode
      (https://github.com/paritytech/substrate/pull/14703)
      
      ### TODO
      - [x] Fix 3 zombienet tests failing:
        - [x] `zombienet-substrate-0002-validators-warp-sync`
      - [ ]
      ~`zombienet-polkadot-functional-0005-parachains-disputes-past-session`~
      The test is also flaky in other PRs and is not required for CI to
      succeed.
        - [x] `zombienet-polkadot-functional-0009-approval-voting-coalescing`
      - [x] Uncomment and update to the actual libp2p API tests in
      [`substrate/client/network/src/protocol/notifications/handler.rs`](https://github.com/paritytech/polkadot-sdk/blob/7331f179/substrate/client/network/src/protocol/notifications/handler.rs#L1009).
      - [x] When upgrading `multihash` crate as part of libp2p upgrade to
      version v0.19.1, uncomment the conversion code at
      https://github.com/paritytech/polkadot-sdk/blob/7547c494
      
      /substrate/client/network/types/src/multihash.rs#L159
      - [x] Perform a burn-in.
      
      ---------
      
      Co-authored-by: default avatarAnton <anton.kalyaev@gmail.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      414a8fc2
    • yjh's avatar
      chore: remove unused rustc-hex deps; enable rustc-hex for primitive-types in sp-core (#4860) · a406dd52
      yjh authored
      
      Some primitives have impl Hex related traits enabled by `rustc-hex`
      feature. People wanna use H256/H160 maybe need these trait impls
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      a406dd52
  6. Jun 24, 2024
    • 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>
      8efa0544
  7. Jun 23, 2024
  8. Jun 21, 2024
  9. 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>
      74decbbd
  10. 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>
      6c857609
    • 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>
      739c37bf
  11. Jun 18, 2024
    • 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>
      1dc68de8
  12. Jun 17, 2024
  13. Jun 14, 2024
    • Branislav Kontur's avatar
      Bridges - changes for Bridges V2 - relay client part (#4494) · 977254cc
      Branislav Kontur authored
      Contains mainly changes/nits/refactors related to the relayer code
      (`client-substrate` and `lib-substrate-relay`) migrated from the Bridges
      V2 [branch](https://github.com/paritytech/polkadot-sdk/pull/4427).
      
      Relates to:
      https://github.com/paritytech/parity-bridges-common/issues/2976
      Companion: https://github.com/paritytech/parity-bridges-common/pull/2988
      
      
      ## TODO
      - [x] fix comments
      
      ## Questions
      - [x] Do we need more testing for client V2 stuff? If so, how/what is
      the ultimate test? @svyatonik
      
      
      - [x] check
      [comment](https://github.com/paritytech/polkadot-sdk/pull/4494#issuecomment-2117181144)
      for more testing
      
      ---------
      
      Co-authored-by: default avatarSvyatoslav Nikolsky <svyatonik@gmail.com>
      Co-authored-by: default avatarSerban Iorga <serban@parity.io>
      977254cc
  14. Jun 13, 2024
    • Kian Paimani's avatar
      Update the pallet guide in `sdk-docs` (#4735) · eca1052e
      Kian Paimani authored
      After using this tutorial in PBA, there was a few areas to improve it.
      Moreover, I have:
      
      - Improve `your_first_pallet`, link it in README, improve the parent
      `guide` section.
      - Updated the templates page, in light of recent efforts related to in
      https://github.com/paritytech/polkadot-sdk/issues/3155
      - Added small ref docs about metadata, completed the one about native
      runtime, added one about host functions.
      - Remove a lot of unfinished stuff from sdk-docs
      - update diagram for `Hooks`
      eca1052e
  15. Jun 12, 2024
  16. Jun 11, 2024
  17. Jun 10, 2024
    • Alin Dima's avatar
      add pov-recovery unit tests and support for elastic scaling (#4733) · a3472c44
      Alin Dima authored
      - unit tests for pov-recovery
      - elastic scaling support (recovering multiple candidates in a single
      relay chain block)
      - also some small cleanups
      - also switches to candidates_pending_availability in
      `handle_empty_block_announce_data`
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/3577
      
      After https://github.com/paritytech/polkadot-sdk/pull/4097 is merged, we
      should also add a zombienet test, similar to the existing
      `0002-pov_recovery.toml` but which has a single collator using elastic
      scaling on multiple cores.
      a3472c44
  18. Jun 07, 2024
    • PG Herveou's avatar
      Contracts: update wasmi to 0.32 (#3679) · 48d875d0
      PG Herveou authored
      
      take over #2941 
      [Weights
      compare](https://weights.tasty.limo/compare?unit=weight&ignore_errors=true&threshold=10&method=asymptotic&repo=polkadot-sdk&old=master&new=pg%2Fwasmi-to-v0.32.0-beta.7&path_pattern=substrate%2Fframe%2F**%2Fsrc%2Fweights.rs%2Cpolkadot%2Fruntime%2F*%2Fsrc%2Fweights%2F**%2F*.rs%2Cpolkadot%2Fbridges%2Fmodules%2F*%2Fsrc%2Fweights.rs%2Ccumulus%2F**%2Fweights%2F*.rs%2Ccumulus%2F**%2Fweights%2Fxcm%2F*.rs%2Ccumulus%2F**%2Fsrc%2Fweights.rs)
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
      48d875d0
    • Kian Paimani's avatar
      New reference doc for Custom RPC V2 (#4654) · d783ca9d
      Kian Paimani authored
      
      Thanks for @xlc for the original seed info, I've just fixed it up a bit
      and added example links.
      
      I've moved the comparison between eth-rpc-api and frontier outside, as
      it is opinionation. I think the content there was good but should live
      in the README of the corresponding repos. No strong opinion, happy
      either way.
      
      ---------
      
      Co-authored-by: default avatarBryan Chen <xlchen1291@gmail.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarGonçalo Pestana <g6pestana@gmail.com>
      Co-authored-by: command-bot <>
      d783ca9d
  19. Jun 05, 2024
    • Adrian Catangiu's avatar
      fix build on MacOS: bump secp256k1 and secp256k1-sys to patched versions (#4709) · 2460cddf
      Adrian Catangiu authored
      `secp256k1 v0.28.0` and `secp256k1-sys v0.9.0` were yanked because
      building them fails for `aarch64-apple-darwin` targets.
      
      Use the `secp256k1 v0.28.2` and `secp256k1-sys v0.9.2` patched versions
      that build fine on ARM chipset MacOS.
      2460cddf
    • georgepisaltu's avatar
      [Identity] Remove double encoding username signature payload (#4646) · 3977f389
      georgepisaltu authored
      In order to receive a username in `pallet-identity`, users have to,
      among other things, provide a signature of the desired username. Right
      now, there is an [extra encoding
      step](https://github.com/paritytech/polkadot-sdk/blob/4ab078d6
      
      /substrate/frame/identity/src/lib.rs#L1119)
      when generating the payload to sign.
      
      Encoding a `Vec` adds extra bytes related to the length, which changes
      the payload. This is unnecessary and confusing as users expect the
      payload to sign to be just the username bytes. This PR fixes this issue
      by validating the signature directly against the username bytes.
      
      ---------
      
      Signed-off-by: default avatargeorgepisaltu <george.pisaltu@parity.io>
      3977f389
  20. Jun 04, 2024
  21. Jun 03, 2024
  22. May 31, 2024
  23. May 30, 2024
  24. May 29, 2024
    • eskimor's avatar
      Broker new price adapter (#4521) · f4dc8d22
      eskimor authored
      
      Fixes #4360 
      
      Also rename: AllowedRenewals -> PotentialRenewals to avoid confusion of
      future readers. (An entry in `AllowedRenewals` is not enough to allow a
      renewal, the assignment also has to be complete, which is only checked
      afterwards.)
      
      - [x] Does not work with renewals as is - fix.
      - [x] More tests
      - [x] PR docs
      
      Edit 1:
      (Relevant blog post:
      https://grillapp.net/12935/agile-coretime-pricing-explained-166522?ref=29715)
      
      ---------
      
      Co-authored-by: default avatareskimor <eskimor@no-such-url.com>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      Co-authored-by: command-bot <>
      f4dc8d22
    • Kian Paimani's avatar
      Publish `chain-spec-builder` (#4518) · dfcfa4ab
      Kian Paimani authored
      
      marking it as release-able, attaching the same version number that is
      attached to other binaries such as `polkadot` and `polkadot-parachain`.
      
      I have more thoughts about the version number, though. The chain-spec
      builder is mainly a user of the `sp-genesis-builder` api. So the
      versioning should be such that it helps users know give a version of
      `sp-genesis-builder` in their runtime, which version of
      `chain-spec-builder` should they use?
      
      With this, we can possibly alter the version number to always match
      `sp-genesis-builder`.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/4352
      
      - [x] Add to release artifacts ~~similar to
      https://github.com/paritytech/polkadot-sdk/pull/4405~~ done here:
      https://github.com/paritytech/polkadot-sdk/pull/4557
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      dfcfa4ab
  25. May 28, 2024
    • Alin Dima's avatar
      Add availability-recovery from systematic chunks (#1644) · 523e6256
      Alin Dima authored
      
      **Don't look at the commit history, it's confusing, as this branch is
      based on another branch that was merged**
      
      Fixes #598 
      Also implements [RFC
      #47](https://github.com/polkadot-fellows/RFCs/pull/47)
      
      ## Description
      
      - Availability-recovery now first attempts to request the systematic
      chunks for large POVs (which are the first ~n/3 chunks, which can
      recover the full data without doing the costly reed-solomon decoding
      process). This has a fallback of recovering from all chunks, if for some
      reason the process fails. Additionally, backers are also used as a
      backup for requesting the systematic chunks if the assigned validator is
      not offering the chunk (each backer is only used for one systematic
      chunk, to not overload them).
      - Quite obviously, recovering from systematic chunks is much faster than
      recovering from regular chunks (4000% faster as measured on my apple M2
      Pro).
      - Introduces a `ValidatorIndex` -> `ChunkIndex` mapping which is
      different for every core, in order to avoid only querying the first n/3
      validators over and over again in the same session. The mapping is the
      one described in RFC 47.
      - The mapping is feature-gated by the [NodeFeatures runtime
      API](https://github.com/paritytech/polkadot-sdk/pull/2177) so that it
      can only be enabled via a governance call once a sufficient majority of
      validators have upgraded their client. If the feature is not enabled,
      the mapping will be the identity mapping and backwards-compatibility
      will be preserved.
      - Adds a new chunk request protocol version (v2), which adds the
      ChunkIndex to the response. This may or may not be checked against the
      expected chunk index. For av-distribution and systematic recovery, this
      will be checked, but for regular recovery, no. This is backwards
      compatible. First, a v2 request is attempted. If that fails during
      protocol negotiation, v1 is used.
      - Systematic recovery is only attempted during approval-voting, where we
      have easy access to the core_index. For disputes and collator
      pov_recovery, regular chunk requests are used, just as before.
      
      ## Performance results
      
      Some results from subsystem-bench:
      
      with regular chunk recovery: CPU usage per block 39.82s
      with recovery from backers: CPU usage per block 16.03s
      with systematic recovery: CPU usage per block 19.07s
      
      End-to-end results here:
      https://github.com/paritytech/polkadot-sdk/issues/598#issuecomment-1792007099
      
      #### TODO:
      
      - [x] [RFC #47](https://github.com/polkadot-fellows/RFCs/pull/47)
      - [x] merge https://github.com/paritytech/polkadot-sdk/pull/2177 and
      rebase on top of those changes
      - [x] merge https://github.com/paritytech/polkadot-sdk/pull/2771 and
      rebase
      - [x] add tests
      - [x] preliminary performance measure on Versi: see
      https://github.com/paritytech/polkadot-sdk/issues/598#issuecomment-1792007099
      - [x] Rewrite the implementer's guide documentation
      - [x] https://github.com/paritytech/polkadot-sdk/pull/3065 
      - [x] https://github.com/paritytech/zombienet/issues/1705 and fix
      zombienet tests
      - [x] security audit
      - [x] final versi test and performance measure
      
      ---------
      
      Signed-off-by: default avataralindima <alin@parity.io>
      Co-authored-by: default avatarJavier Viola <javier@parity.io>
      523e6256