Skip to content
Snippets Groups Projects
  1. Dec 04, 2024
  2. Dec 03, 2024
    • Michal Kucharczyk's avatar
      `fatxpool`: handling limits and priorities improvements (#6405) · 41a5d8ec
      Michal Kucharczyk authored
      This PR provides a number of improvements around handling limits and
      priorities in the fork-aware transaction pool.
      
      
      #### Notes to reviewers.
      #### Following are the notable changes:
      1. #### [Better
      support](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/414ec3cc)
      for `Usurped` transactions
      
      When any view reports an `Usurped` transaction (replaced by other with
      higher priority) it is removed from all the views (also inactive).
      Removal is implemented by simply submitting usurper transaction to all
      the views. It is also ensured that usurped tx will not sneak into the
      `view_store` in newly created view (this is why
      `ViewStore::pending_txs_replacements` was added).
      
      1. ####
      [`TimedTransactionSource`](https://github.com/paritytech/polkadot-sdk/pull/6405/commits/f10590f3)
      introduced:
      
      Every view now has an information when the transaction entered the pool.
      Enforce limits ...
    • Lulu's avatar
      Add publish-check-compile workflow (#6556) · 896c8144
      Lulu authored
      Add publish-check-compile workflow
      
      This Applies staged prdocs then configures crate deps to pull from
      crates.io for our already published crates and local paths for
      things to be published. Then runs cargo check on the result.
      
      This results in a build state consitent with that of publish time and
      should catch compile errors that we would of otherwise ran into mid
      pubish.
      
      This acts as a supplement to the check-semver job. check-semver works on
      a high level and judges what changes are incorrect and why. This job
      just runs the change, sees if it compiles, and if not spits out
      a compile error.
    • PG Herveou's avatar
      Bump Westend AH (#6583) · d1d92ab7
      PG Herveou authored
      
      Bump Asset-Hub westend spec version
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Alexander Theißen's avatar
      pallet-revive-fixtures: Try not to re-create fixture dir (#6735) · c56a98b9
      Alexander Theißen authored
      
      On some systems trying to re-create the output directory will lead to an
      error.
      
      Fixes https://github.com/paritytech/subxt/issues/1876
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Lulu's avatar
      Update parity-publish (#6549) · 76a292b2
      Lulu authored
    • Egor_P's avatar
      [Release/CICD] Re-worked Create Release Draft flow (#6734) · 592bb320
      Egor_P authored
      This PR contains following changes in release pipelines:
      - re-built Create Release Draft workflow
      - binaries builds are moved completely to the `Release - Build node
      release candidate` flow
      - added upload of all the release artefacts to the S3
      - adjusted `Release - Publish Docker Image` workflow, so that it will
      match now the new release flow.
    • Serban Iorga's avatar
  3. Dec 02, 2024
  4. Dec 01, 2024
    • PG Herveou's avatar
      [pallet-revive] eth-prc fix geth diff (#6608) · d1fafa85
      PG Herveou authored
      
      * Add a bunch of differential tests to ensure that responses from
      eth-rpc matches the one from `geth`
      - These
      [tests](https://github.com/paritytech/polkadot-sdk/blob/pg/fix-geth-diff/substrate/frame/revive/rpc/examples/js/src/geth-diff.test.ts)
      are not run in CI for now but can be run locally with
      ```bash
      cd revive/rpc/examples/js
      bun test
      ```
      
      * EVM RPC server will not fail gas_estimation if no gas is specified, I
      updated pallet-revive to add an extra `skip_transfer` boolean check to
      replicate this behavior in our pallet
      
      * `eth_transact` and `bare_eth_transact` api have been updated to use
      `GenericTransaction` directly as this is what is used by
      `eth_estimateGas` and `eth_call`
      
      ## TODO
      
      - [ ]  Add tests the new `skip_transfer` flag
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
  5. Nov 29, 2024
    • eskimor's avatar
      Let's be a bit less strict here. (#6662) · 5e0bcb0e
      eskimor authored
      
      This might actually happen in non malicious cases.
      
      Co-authored-by: default avatareskimor <eskimor@no-such-url.com>
    • Dmitry Markin's avatar
      network/libp2p-backend: Suppress warning adding already reserved node as reserved (#6703) · 8eac4e88
      Dmitry Markin authored
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/6598.
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Alexandre R. Baldé's avatar
      People chain integration tests (#6377) · 5ad8780b
      Alexandre R. Baldé authored
      
      # Description
      
      Made as a follow-up of
      https://github.com/polkadot-fellows/runtimes/pull/499
      
      ## Integration
      
      N/A
      
      ## Review Notes
      
      N/A
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
    • Pavlo Khrystenko's avatar
      Update scale-info to 2.11.6 (#6681) · 1d519a10
      Pavlo Khrystenko authored
      # Description
      
      Updates scale-info to from 2.11.5 2.11.6, so that generated code is
      annotated with `allow(deprecated)`
      Pre-requisite for https://github.com/paritytech/polkadot-sdk/pull/6312
    • Alexandru Vasile's avatar
      archive: Refactor `archive_storage` method into subscription (#6483) · 4e7c968a
      Alexandru Vasile authored
      
      This PR adapts the `archive_storage` implementation from a method to a
      subscription.
      
      This keeps the archive APIs uniform and consistent.
      
      Builds on: https://github.com/paritytech/polkadot-sdk/pull/5997
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarJames Wilson <james@jsdw.me>
    • Bastian Köcher's avatar
      Fix runtime api impl detection by construct runtime (#6665) · 1e89a311
      Bastian Köcher authored
      
      Construct runtime uses autoref-based specialization to fetch the
      metadata about the implemented runtime apis. This is done to not fail to
      compile when there are no runtime apis implemented. However, there was
      an issue with detecting runtime apis when they were implemented in a
      different file. The problem is solved by moving the trait implemented by
      `impl_runtime_apis!` to the metadata ir crate.
      
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/6659
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Alexander Theißen's avatar
      pallet_revive: Switch to 64bit RISC-V (#6565) · 447902ef
      Alexander Theißen authored
      
      This PR updates pallet_revive to the newest PolkaVM version and adapts
      the test fixtures and syscall interface to work under 64bit.
      
      Please note that after this PR no 32bit contracts can be deployed (they
      will be rejected at deploy time). Pre-deployed 32bit contracts are now
      considered defunct since we changes how parameters are passed for
      functions with more than 6 arguments.
      
      ## Fixtures
      
      The fixtures are now built for the 64bit target. I also removed the
      temporary directory mechanism that triggered a full rebuild every time.
      It also makes it easier to find the compiled fixtures since they are now
      always in `target/pallet-revive-fixtures`.
      
      ## Syscall interface
      
      ### Passing pointer
      
      Registers and pointers are now 64bit wide. This allows us to pass u64
      arguments in a single register. Before we needed two registers to pass
      them. This means that just as before we need one register per pointer we
      pass. We keep pointers as `u32` argument by truncating the register.
      This is done since the memory space of PolkaVM is 32bit.
      
      ### Functions with more than 6 arguments
      
      We only have 6 registers to pass arguments. This is why we pass a
      pointer to a struct when we need more than 6. Before this PR we expected
      a packed struct and interpreted it as SCALE encoded tuple. However, this
      was buggy because the `MaxEncodedLen` returned something that was larger
      than the packed size of the structure. This wasn't a problem before. But
      now the memory space changed in a way that things were placed at the
      edges of the memory space and those extra bytes lead to an out of bound
      access.
      
      This is why this PR drops SCALE and expects the arguments to be passed
      as a pointer to a `C` aligned struct. This avoids unaligned accesses.
      However, revive needs to adapt its codegen to properly align the
      structure fields.
      
      ## TODO
      - [ ] Add multi block migration that wipes all existing contracts as we
      made breaking changes to the syscall interface
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Xavier Lau's avatar
      Migrate pallet-preimage to benchmark v2 (#6277) · b3ab3127
      Xavier Lau authored
      
      Part of:
      
      - #6202.
      
      ---------
      
      Co-authored-by: default avatarGiuseppe Re <giuseppe.re@parity.io>
      Co-authored-by: command-bot <>
    • Alexander Samusev's avatar
      ci: update nightly in ci-unified to 2024-11-19 (#6691) · 1dd21bcc
      Alexander Samusev authored
      cc https://github.com/paritytech/ci_cd/issues/1088
    • Rodrigo Quelhas's avatar
      Expose types from `sc-service` (#5855) · 72fb8bd3
      Rodrigo Quelhas authored
      # Description
      
      At moonbeam we have worked on a `lazy-loading` feature which is a client
      mode that forks a live parachain and fetches its state on-demand, we
      have been able to do this by duplicating some code from
      `sc_service::client`. The objective of this PR is to simplify the
      implementation by making public some types in polkadot-sdk.
      
      - Modules:
      - `sc_service::client` **I do not see a point to only expose this type
      when `test-helpers` feature is enabled**
      
      ## Integration
      
      Not applicable, the PR just makes some types public.
      
      ## Review Notes
      
      The changes included in this PR give more flexibility for client
      developers by exposing important types.
  6. Nov 28, 2024
  7. Nov 27, 2024
  8. Nov 26, 2024
    • Francisco Aguirre's avatar
      Fix `XcmPaymentApi::query_weight_to_asset_fee` version conversion (#6459) · 139691b1
      Francisco Aguirre authored
      The `query_weight_to_asset_fee` function was trying to convert versions
      by using `try_as`, this function [doesn't convert from a versioned to a
      concrete
      type](https://github.com/paritytech/polkadot-sdk/blob/0156ca8f/polkadot/xcm/src/lib.rs#L131).
      This would cause all calls with a lower version to fail.
      
      The correct function to use is the good old
      [try_into](https://github.com/paritytech/polkadot-sdk/blob/0156ca8f
      
      /polkadot/xcm/src/lib.rs#L184).
      Now those calls work :)
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Giuseppe Re's avatar
      Hide nonce implementation details in metadata (#6562) · fc315ac5
      Giuseppe Re authored
      
      See https://github.com/polkadot-fellows/runtimes/issues/248 : using
      `TypeWithDefault` having derived `TypeInfo` for `Nonce` causes a
      breaking change in metadata for nonce type because it's no longer `u64`.
      
      Adding a default implementation of `TypeInfo` for `TypeWithDefault` to
      restore the original type info in metadata.
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
    • Dino Pačandi's avatar
      Zero refund check for FungibleAdapter (#6506) · f520adb0
      Dino Pačandi authored
      
      `FungibleAdapter` will now check if the _refund amount_ is zero before
      calling deposit & emitting an event.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/6469.
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Branislav Kontur's avatar
      xcm: fix local/remote exports when inner routers return `NotApplicable` (#6645) · 1c0b6100
      Branislav Kontur authored
      
      This PR addresses two small fixes:  
      
      1. Fixed a typo ("as as") found on the way.  
      2. Resolved a bug in the `local/remote exporters` used for bridging.
      Previously, they consumed `dest` and `msg` without returning them when
      inner routers/exporters failed with `NotApplicable`. This PR ensures
      compliance with the
      [`SendXcm`](https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/xcm/src/v5/traits.rs#L449-L450)
      and
      [`ExportXcm`](https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/xcm/xcm-executor/src/traits/export.rs#L44-L45)
      traits.
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
    • Egor_P's avatar
      [Release|CI/CD] Github pipeline to publish polkadot deb package (#6640) · 3c003872
      Egor_P authored
      This pipeline should replace a manual action done on the `cleamroom`
      server to publish the `polkadot` deb package to our apt repo with the
      pipeline triggered from the new paritytech-release org.
      Right now, this is done manually by running the
      [add-packages.sh](https://github.com/paritytech/cleanroom/blob/master/ansible/roles/parity-repos/files/add-packages.sh)
      script on the `cleanroom` machine.
      What is done under the hood:
      - Pipeline downloads `polakdot` deb package from S3, that was prebuilt
      in the [Build release rc
      pipeline](https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/release-build-rc.yml)
      - Prepares and syncs local apt repository
      - Adds and signs deb package to it using `reprepro`
      - Uploads new deb package to the distributed repo
      
      Closes: https://github.com/paritytech/release-engineering/issues/239
    • Alexandru Vasile's avatar
      ci/check-semver: Fix semver failed step (#6535) · 8216235b
      Alexandru Vasile authored
      
      The semver-check is failing with the following
      [error](https://github.com/paritytech/polkadot-sdk/actions/runs/11908981132/job/33185572284):
      
      ```bash
      error[E0658]: use of unstable library feature 'error_in_core'
        --> /usr/local/cargo/registry/src/index.crates.io-6f17d22bba15001f/frame-decode-0.5.0/src/decoding/extrinsic_decoder.rs:56:6
         |
      56 | impl core::error::Error for ExtrinsicDecodeError {}
         |      ^^^^^^^^^^^^^^^^^^
         |
         = note: see issue #103765 <https://github.com/rust-lang/rust/issues/103765> for more information
         = help: add `#![feature(error_in_core)]` to the crate attributes to enable
         = note: this compiler was built on 2024-05-31; consider upgrading it if it is out of date
      ```
      
      This is related to the toolchain nightly version 1.80. In rust, 1.81 the
      `core::error::Error` is stable.
      
      After updating the rust-toolchain, parity-publish crate must be updated
      as well.
      The `cargo-semver-checks` dependency of `parity-publish` crate is
      updated from 0.34 to 0.38.
      This update enables rustdoc v36 that fixes the following
      [issue](https://github.com/paritytech/polkadot-sdk/actions/runs/11912689841/job/33196936011):
      
      
      ```bash
       validating prdocs...
      checking file changes...
      checking semver changes...
      (1/18) building frame-support-HEAD...
      (2/18) building frame-support-28.0.0...
      Error: rustdoc format v36 for file /__w/polkadot-sdk/polkadot-sdk/target/doc/frame_support.new is not supported
      ```
      
      This PR is pending on a release of parity-publish to version 0.9.0
      (fixes already on origin/master)
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
    • dependabot[bot]'s avatar
      Bump rustls from 0.23.14 to 0.23.18 (#6641) · 86a917f5
      dependabot[bot] authored
      
      Bumps [rustls](https://github.com/rustls/rustls) from 0.23.14 to
      0.23.18.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rustls/rustls/commit/33af2c38b0f1e4abf44d59d5b74ccf12f5cf5e56"><code>33af2c3</code></a>
      Prepare 0.23.18</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/ffe646d1ff07d3e1d9f009daadd94228d462425d"><code>ffe646d</code></a>
      Add reproducer for bug 2227</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/69b6f7473a7ae096a9cf9e2d6eb3cd8b22743597"><code>69b6f74</code></a>
      Record and restore the processed cursor in first_handshake_message</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/4ef3532cf2fceda9fdd19947f871adf7020d0b49"><code>4ef3532</code></a>
      Upgrade to mio 1</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/092a16427e81e58ecd6bcfdacc0b49f02bad8db3"><code>092a164</code></a>
      Manage dependencies via the workspace</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/a01bd6bcb536c6cdd490942b0eae2903abcfcab3"><code>a01bd6b</code></a>
      rustls-bench: fix warnings with no features</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/7d74de2c1bdf265531036f50abd3fc04df8c148a"><code>7d74de2</code></a>
      tests: linearize new test code helper</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/499d797b267e0b548fef5225b044b99fc215a8ff"><code>499d797</code></a>
      fix: do not send session_ticket(35) extension for TLS 1.3</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/faca28904efcb3b5a4a5f05be8e03374bf5086df"><code>faca289</code></a>
      chore(deps): lock file maintenance</li>
      <li><a
      href="https://github.com/rustls/rustls/commit/d12f42385c2da74e1ec16826af68d17a13101152"><code>d12f423</code></a>
      fix(deps): update rust crate asn1 to 0.20</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rustls/rustls/compare/v/0.23.14...v/0.23.18">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustls&package-manager=cargo&previous-version=0.23.14&new-version=0.23.18)](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>
    • Javier Viola's avatar