Skip to content
Snippets Groups Projects
  1. Nov 05, 2024
    • Alexander Samusev's avatar
      Run check semver in MQ (#6287) · 16e877be
      Alexander Samusev authored
      For marking `Check SemVer` required
      16e877be
    • davidk-pt's avatar
      [Deprecation] deprecate treasury `spend_local` call and related items (#6169) · 7725890d
      davidk-pt authored
      
      Resolves https://github.com/paritytech/polkadot-sdk/issues/5930
      
      `spend_local` from `treasury` pallet and associated types are
      deprecated. `spend_local` was being used before with native currency in
      the treasury.
      
      This PR provides a documentation on how to migrate to the `spend` call
      instead.
      
      ### Migration
      
      #### For users who were using only `spend_local` before
      
      To replace `spend_local` functionality configure `Paymaster` pallet
      configuration to be `PayFromAccount` and configure `AssetKind` to be
      `()` and use `spend` call instead.
      This way `spend` call will function as deprecated `spend_local`.
      
      Example:
      ```
      impl pallet_treasury::Config for Runtime {
          ..
          type AssetKind = ();
          type Paymaster = PayFromAccount<Self::Currency, TreasuryAccount>;
          // convert balance 1:1 ratio with native currency
          type BalanceConverter = UnityAssetBalanceConversion;
          ..
      }
      ```
      
      #### For users who were already using `spend` with all other assets,
      except the native asset
      
      Use `NativeOrWithId` type for `AssetKind` and have a `UnionOf` for
      native and non-native assets, then use that with `PayAssetFromAccount`.
      
      Example from `kitchensink-runtime`:
      ```
      // Union of native currency and assets
      pub type NativeAndAssets =
          UnionOf<Balances, Assets, NativeFromLeft, NativeOrWithId<u32>, AccountId>;
      
      impl pallet_treasury::Config for Runtime {
          ..
          type AssetKind = NativeOrWithId<u32>;
          type Paymaster = PayAssetFromAccount<NativeAndAssets, TreasuryAccount>;
          type BalanceConverter = AssetRate;
          ..
      }
      
      // AssetRate pallet configuration
      impl pallet_asset_rate::Config for Runtime {
          ..
          type Currency = Balances;
          type AssetKind = NativeOrWithId<u32>;
          ..
      }
      ```
      
      ---------
      
      Co-authored-by: default avatarDavidK <davidk@parity.io>
      Co-authored-by: default avatarMuharem <ismailov.m.h@gmail.com>
      7725890d
    • Alin Dima's avatar
      refactor and harden check_core_index (#6217) · 74ec1ee2
      Alin Dima authored
      Resolves https://github.com/paritytech/polkadot-sdk/issues/6179
      74ec1ee2
    • Alexandru Vasile's avatar
      litep2p: Update litep2p to v0.8.0 (#6353) · 94389a93
      Alexandru Vasile authored
      
      This PR updates litep2p to the latest release.
      
      - `KademliaEvent::PutRecordSucess` is renamed to fix word typo
      - `KademliaEvent::GetProvidersSuccess` and
      `KademliaEvent::IncomingProvider` are needed for bootnodes on DHT work
      and will be utilized later
      
      
      ### Added
      
      - kad: Providers part 8: unit, e2e, and `libp2p` conformance tests
      ([#258](https://github.com/paritytech/litep2p/pull/258))
      - kad: Providers part 7: better types and public API, public addresses &
      known providers ([#246](https://github.com/paritytech/litep2p/pull/246))
      - kad: Providers part 6: stop providing
      ([#245](https://github.com/paritytech/litep2p/pull/245))
      - kad: Providers part 5: `GET_PROVIDERS` query
      ([#236](https://github.com/paritytech/litep2p/pull/236))
      - kad: Providers part 4: refresh local providers
      ([#235](https://github.com/paritytech/litep2p/pull/235))
      - kad: Providers part 3: publish provider records (start providing)
      ([#234](https://github.com/paritytech/litep2p/pull/234))
      
      ### Changed
      
      - transport_service: Improve connection stability by downgrading
      connections on substream inactivity
      ([#260](https://github.com/paritytech/litep2p/pull/260))
      - transport: Abort canceled dial attempts for TCP, WebSocket and Quic
      ([#255](https://github.com/paritytech/litep2p/pull/255))
      - kad/executor: Add timeout for writting frames
      ([#277](https://github.com/paritytech/litep2p/pull/277))
      - kad: Avoid cloning the `KademliaMessage` and use reference for
      `RoutingTable::closest`
      ([#233](https://github.com/paritytech/litep2p/pull/233))
      - peer_state: Robust state machine transitions
      ([#251](https://github.com/paritytech/litep2p/pull/251))
      - address_store: Improve address tracking and add eviction algorithm
      ([#250](https://github.com/paritytech/litep2p/pull/250))
      - kad: Remove unused serde cfg
      ([#262](https://github.com/paritytech/litep2p/pull/262))
      - req-resp: Refactor to move functionality to dedicated methods
      ([#244](https://github.com/paritytech/litep2p/pull/244))
      - transport_service: Improve logs and move code from tokio::select macro
      ([#254](https://github.com/paritytech/litep2p/pull/254))
      
      ### Fixed
      
      - tcp/websocket/quic: Fix cancel memory leak
      ([#272](https://github.com/paritytech/litep2p/pull/272))
      - transport: Fix pending dials memory leak
      ([#271](https://github.com/paritytech/litep2p/pull/271))
      - ping: Fix memory leak of unremoved `pending_opens`
      ([#274](https://github.com/paritytech/litep2p/pull/274))
      - identify: Fix memory leak of unused `pending_opens`
      ([#273](https://github.com/paritytech/litep2p/pull/273))
      - kad: Fix not retrieving local records
      ([#221](https://github.com/paritytech/litep2p/pull/221))
      
      See release changelog for more details:
      https://github.com/paritytech/litep2p/releases/tag/v0.8.0
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
      94389a93
    • Ankan's avatar
      [pallet-staking] Additional check for virtual stakers (#5985) · be26d628
      Ankan authored
      
      closes https://github.com/paritytech/polkadot-sdk/issues/5791.
      
      This is not strictly necessary but serves as a defensive check.
      
      The staking pallet exposes
      [apis](https://paritytech.github.io/polkadot-sdk/master/sp_staking/trait.StakingUnchecked.html#tymethod.virtual_bond)
      that other runtime pallets (pallet-delegated-staking) can use to create
      virtual stakers. However, there’s no way for pallet-staking to ensure
      that the staker is truly keyless. If the caller (this is a trusted
      caller so this would only happen due to a bug) registers an account with
      a private key as a virtual_staker, these accounts could later interact
      directly with pallet-staking dispatchables (such as
      [bond_extra](https://paritytech.github.io/polkadot-sdk/master/pallet_staking/dispatchables/fn.bond_extra.html))
      and bypass any locking mechanism. The check above ensures this scenario
      can never occur by performing an integrity check.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: command-bot <>
      be26d628
    • clangenb's avatar
      migrate pallet-remarks to v2 bench syntax (#6291) · 3c6ea86a
      clangenb authored
      
      Part of:
      * #6202
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarGiuseppe Re <giuseppe.re@parity.io>
      3c6ea86a
    • Adrian Catangiu's avatar
      Remove leftover references of Wococo (#6361) · ec61396e
      Adrian Catangiu authored
      Remove references of now defunct Wococo network.
      
      The XCM `NetworkId::Wococo` will also be removed with [XCMv5
      PR](https://github.com/paritytech/polkadot-sdk/pull/4826)
      ec61396e
    • Adrian Catangiu's avatar
      snowbridge: allow account conversion for Ethereum accounts (#6221) · 6969be36
      Adrian Catangiu authored
      Replace `GlobalConsensusEthereumConvertsFor` with
      `EthereumLocationsConverterFor` that allows `Location` to `AccountId`
      conversion for the Ethereum network root as before, but also for
      Ethereum contracts and accounts.
      
      The new converter only matches explicit `parents: 2` Ethereum locations,
      meaning it should be used only on/by parachains.
      6969be36
    • Alexandru Vasile's avatar
      authority-discovery: Populate DHT records with public listen addresses (#6298) · 762f824c
      Alexandru Vasile authored
      
      This PR's main goal is to add public listen addresses to the DHT
      authorities records. This change improves the discoverability of
      validators that did not provide the `--public-addresses` flag.
      
      This PR populates the authority DHT records with public listen addresses
      if any.
      
      The change effectively ensures that addresses are added to the DHT
      record in following order:
       1. Public addresses provided by CLI `--public-addresses`
       2. Maximum of 4 public (global) listen addresses (if any)
      3. Any external addresses discovered from the network (ie from
      `/identify` protocol)
      
      
      While at it, this PR adds the following constraints on the number of
      addresses:
      - Total number of addresses cached is bounded at 16 (increased from 10).
      - A maximum number of 32 addresses are published to DHT records
      (previously unbounded).
        - A maximum of 4 global listen addresses are utilized.
            
      This PR also removes the following warning:
      `WARNING: No public address specified, validator node may not be
      reachable.`
      
      ### Next Steps
      - [ ] deploy and monitor in versi network
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/6280
      Part of: https://github.com/paritytech/polkadot-sdk/issues/5266
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      762f824c
    • davidk-pt's avatar
      Bounty Pallet: add `approve_bounty_with_curator` call to `bounties` pallet (#5961) · 2ae79be8
      davidk-pt authored
      
      Resolves issue https://github.com/paritytech/polkadot-sdk/issues/5928
      
      Adds `approve_bounty_with_curator` call to the `bounties` pallet to
      combine functions of `approve_bounty` and `propose_curator` into one
      call. Also adds a new status `ApprovedWithCurator` required to
      distinguish if bounty was approved with curator when skipping through
      `Funded` status and moving to `CuratorProposed` status.
      
      If `unassign_curator` is called after `approve_bounty_with_curator` the
      process will fall back to the old flow of calling `propose_curator`
      separately.
      
      ---------
      
      Co-authored-by: default avatarDavidK <davidk@parity.io>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAnkan <10196091+Ank4n@users.noreply.github.com>
      2ae79be8
  2. Nov 04, 2024
    • s0me0ne-unkn0wn's avatar
      Silent annoying log (#6351) · f1e416a5
      s0me0ne-unkn0wn authored
      The logline in question doesn't indeed present any interest for a node
      operator (I mean, there is not much he can do about that warning), but
      in a heavy transaction load situation, when each of 5000 transactions in
      txpool produces a warning, it's really annoying. Still, it's useful for
      a developer, so I propose to log it at the `debug` level.
      f1e416a5
    • Cyrill Leutwiler's avatar
      [pallet-revive] rework balance transfers (#6187) · d69a80e6
      Cyrill Leutwiler authored
      
      This PR removes the `transfer` syscall and changes balance transfers to
      make the existential deposit (ED) fully transparent for contracts.
      
      The `transfer` API is removed since there is no corresponding EVM opcode
      and transferring via a call introduces barely any overhead.
      
      We make the ED transparent to contracts by transferring the ED from the
      call origin to nonexistent accounts. Without this change, transfers to
      nonexistant accounts will transfer the supplied value minus the ED from
      the contracts viewpoint, and consequentially fail if the supplied value
      lies below the ED. Changing this behavior removes the need for contract
      code to handle this rather annoying corner case and aligns better with
      the EVM. The EVM charges a similar deposit from the gas meter, so
      transferring the ED from the call origin is practically the same as the
      call origin pays for gas.
      
      ---------
      
      Signed-off-by: default avatarxermicus <cyrill@parity.io>
      Signed-off-by: default avatarCyrill Leutwiler <bigcyrill@hotmail.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
      d69a80e6
    • Andrei Sandu's avatar
      `statement-distribution`: RFC103 implementation (#5883) · 38cd03c5
      Andrei Sandu authored
      
      Part of https://github.com/paritytech/polkadot-sdk/issues/5047
      On top of https://github.com/paritytech/polkadot-sdk/pull/5679
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      38cd03c5
    • Javier Viola's avatar
      Disable flaky tests reported in #6343 / #6345 (#6346) · 028e61be
      Javier Viola authored
      
      test: zombienet-polkadot-functional-0018-shared-core-idle-parachain
      Disable flaky test reported in
      https://github.com/paritytech/polkadot-sdk/issues/6343
      
      test: zombienet-polkadot-functional-0016-approval-voting-parallel
      Disable flaky test reported in
      https://github.com/paritytech/polkadot-sdk/issues/6345
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      028e61be
    • clangenb's avatar
      migrate pallet-recovery to benchmark V2 syntax (#6299) · b1084e7a
      clangenb authored
      
      Part of:
      * #6202
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      b1084e7a
    • Andrei Sandu's avatar
      inclusion emulator: correctly handle UMP signals (#6178) · b3265401
      Andrei Sandu authored
      
      Changes inclusion emulator to not count the UMP signals when checking
      ump message constraints.
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      b3265401
    • dependabot[bot]'s avatar
      Bump the ci_dependencies group across 1 directory with 3 updates (#6340) · 8b6f8157
      dependabot[bot] authored
      Bumps the ci_dependencies group with 3 updates in the / directory:
      [docker/build-push-action](https://github.com/docker/build-push-action),
      [actions/setup-node](https://github.com/actions/setup-node) and
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action).
      
      Updates `docker/build-push-action` from 5 to 6
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/docker/build-push-action/releases">docker/build-push-action's
      releases</a>.</em></p>
      <blockquote>
      <h2>v6.0.0</h2>
      <ul>
      <li>Export build record and generate <a
      href="https://docs.docker.com/build/ci/github-actions/build-summary/">build
      summary</a> by <a
      href="https://github.com/crazy-max"><code>@​crazy-max</code></a> in <a
      href="https://redirect.github.com/docker/build-push-action/pull/1120">docker/build-push-action#1120</a></li>
      <li>Bump <code>@​docker/actions-toolkit</code> from 0.24.0 to 0.26.0 in
      <a
      href="https://red...
      8b6f8157
    • Alin Dima's avatar
      fix claim queue size (#6257) · f4133b08
      Alin Dima authored
      Reported in
      https://github.com/paritytech/polkadot-sdk/issues/6161#issuecomment-2432097120
      
      Fixes a bug introduced in
      https://github.com/paritytech/polkadot-sdk/pull/5461, where the claim
      queue would contain entries even if the validator groups storage is
      empty (which happens during the first session).
      
      This PR sets the claim queue core count to be the minimum between the
      num_cores param and the number of validator groups
      
      TODO:
      - [x] prdoc
      - [x] unit test
      f4133b08
    • Xavier Lau's avatar
    • Xavier Lau's avatar
      Migrate pallet-glutton benchmark to v2 (#6296) · f4ded5c4
      Xavier Lau authored
      
      Part of:
      
      - #6202.
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarDónal Murray <donalm@seadanda.dev>
      Co-authored-by: default avatarGiuseppe Re <giuseppe.re@parity.io>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      f4ded5c4
    • Iulian Barbu's avatar
      templates: make node compilation optional (#5954) · 2a849174
      Iulian Barbu authored
      # Description
      
      Closes #5940  
      
      ## Integration
      
      Node devs that rely on templates' nodes binaries for minimal or
      parachain would need to follow the updated templates' README.mds again
      to find how to build the nodes' binaries.
      
      ## Review Notes
      
      Conditional compilation of virtual workspaces would compile the
      `members` list as if we passed `--workspace` flag to `cargo build` ,
      except when adding a `default-members` list which will be used for any
      cargo command executed in the virtual workspace root. To build the full
      members list needs passing `--workspace` flag.
      
      Other options investigated:
      - feature guard the `node` crate by defining a feature in the `node`
      crate, but it feels too complex since all code needs to be feature
      guarded. I haven't tried it but technically speaking it might work. I
      think though it looks awkward and my opinion is that the alternative is
      better.
      - defining features in the virtual workspace's Cargo.toml doesn't work
      (thought that I might create a feature that will have a dependency on
      the `node` crate and then not passing the feature to cargo build results
      in ignoring the `node` crate)
      - skipping compilation by using an environment variable, read in the
      build script, that will exit compilation abruptly if not set, but I
      couldn't make it work.
      - exclude the crate from the members list and build it specifically by
      passing `--package minimal-template-node` flag to the `cargo build`
      command. This has the disadvantage of not allowing IDEs based on rust
      analyzer to index/compile the node crate.
      
      My conclusion is that any option would require two commands to build the
      template, one with the node and one without, and both must be included
      in the README or templates usage documentation. If it comes which ones
      to pick I am in favor of the `default-members` option, which requires
      minimal intervention and expresses how cargo commands are executed on
      top of the workspace members, and what's left out from regular usage.
      
      ### Testing
      
      Testing was conducted as described bellow:
      
      - [x] zombienet with `minimal-template-node` , `parachain-template-node`
      and `polkadot-omni-node`. Things work as expected.
      - [x] no chopsticks testing was conducted - feels a bit out of scope for
      OmniNode related docs and overall testing when promoting it over the
      templates' nodes.
      - [x] testing the changes for the sync templates workflow (ignore the
      added comment from the Cargo.tomls, it was removed here on this branch:
      [99bff3e2](https://github.com/paritytech/polkadot-sdk/pull/5954/commits/99bff3e2
      
      )):
      [minimal](https://github.com/paritytech-stg/polkadot-sdk-minimal-template/pull/22/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
      [parachain](https://github.com/paritytech-stg/polkadot-sdk-parachain-template/pull/19/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
      [solochain](https://github.com/paritytech-stg/polkadot-sdk-solochain-template/pull/17/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9).
      The links correspond to PRs opened by a bot after manually starting the
      sync-templates workflow on `paritytech-stg` org to test the end result
      of the `Cargo.toml` changes.
      
      ---------
      
      Signed-off-by: default avatarIulian Barbu <iulian.barbu@parity.io>
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      2a849174
    • Giuseppe Re's avatar
      Refactor pallet `claims` (#6318) · 657b5503
      Giuseppe Re authored
      
      - [x] Removing `without_storage_info` and adding bounds on the stored
      types for pallet `claims` - issue
      https://github.com/paritytech/polkadot-sdk/issues/6289
      - [x] Migrating to benchmarking V2 -
      https://github.com/paritytech/polkadot-sdk/issues/6202
      
      ---------
      
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      657b5503
    • PG Herveou's avatar
      [eth-rpc] Fixes (#6317) · 7f80f452
      PG Herveou authored
      
      Various fixes for the release of eth-rpc & ah-westend-runtime
      
      - Bump asset-hub westend spec version
      - Fix the status of the Receipt to properly report failed transactions
      - Fix value conversion between native and eth decimal representation
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      7f80f452
    • Alin Dima's avatar
      collation-generation: use v2 receipts (#5908) · 68e05636
      Alin Dima authored
      
      Part of https://github.com/paritytech/polkadot-sdk/issues/5047
      
      Plus some cleanups
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
      Co-authored-by: default avatarAndrei Sandu <andrei-mihail@parity.io>
      Co-authored-by: default avatarAndrei Sandu <54316454+sandreim@users.noreply.github.com>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      68e05636
  3. Nov 01, 2024
  4. Oct 31, 2024
  5. Oct 30, 2024
    • PG Herveou's avatar
      [pallet-revive] Add metrics to eth-rpc (#6288) · 5f782a4c
      PG Herveou authored
      
      Add metrics for eth-rpc
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
      5f782a4c
    • Cyrill Leutwiler's avatar
      [pallet-revive] implement the block hash API (#6246) · 2b6b6964
      Cyrill Leutwiler authored
      
      - Bound T::Hash to H256
      - Implement the block hash API
      
      ---------
      
      Signed-off-by: default avatarxermicus <cyrill@parity.io>
      Signed-off-by: default avatarCyrill Leutwiler <bigcyrill@hotmail.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      2b6b6964
    • Serban Iorga's avatar
      Publish `polkadot-omni-node` binary (#6057) · 01936b34
      Serban Iorga authored
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/5566
      
      Publish the `polkadot-omni-node` binary
      
      This is a best effort. I'm not very familiar with the release /
      publishing process and also not sure how to test this.
      @paritytech/release-engineering can you take a look on this PR please ?
      
      ---------
      
      Co-authored-by: default avatarEgorPopelyaev <egor@parity.io>
      01936b34
    • Cyrill Leutwiler's avatar
      [pallet-revive] code size API (#6260) · 7aa3143f
      Cyrill Leutwiler authored
      
      This PR implements the contract API to query the code size of a given
      address.
      
      ---------
      
      Signed-off-by: default avatarCyrill Leutwiler <bigcyrill@hotmail.com>
      Signed-off-by: default avatarxermicus <cyrill@parity.io>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarPG Herveou <pgherveou@gmail.com>
      7aa3143f
    • Sebastian Kunert's avatar
      Add overhead benchmark to frame-omni-bencher (#5891) · 40547f9f
      Sebastian Kunert authored
      
      # Benchmark Overhead Command for Parachains
      
      This implements the `benchmark overhead` command for parachains. Full
      context is available at:
      https://github.com/paritytech/polkadot-sdk/issues/5303. Previous attempt
      was this https://github.com/paritytech/polkadot-sdk/pull/5283, but here
      we have integration into frame-omni-bencher and improved tooling.
      
      ## Changes Overview
      
      Users are now able to use `frame-omni-bencher` to generate
      `extrinsic_weight.rs` and `block_weight.rs` files for their runtime. The
      core logic for generating these remains untouched; this PR provides
      mostly machinery to make it work for parachains at all.
      
      Similar to the pallet benchmarks, we gain the option to benchmark based
      on just a runtime:
      
      ```
      frame-omni-bencher v1 benchmark overhead --runtime {{runtime}}
      ```
      
      or with a spec:
      
      ```
      frame-omni-bencher v1 benchmark overhead --chain {{spec}} --genesis-builder spec
      ```
      
      In this case, the genesis state is generated from the runtime presets.
      However, it is also possible to use `--chain` and genesis builder `spec`
      to generate the genesis state from the chain spec.
      
      Additionally, we use metadata to perform some checks based on the
      pallets the runtime exposes:
      
      - If we see the `ParaInherent` pallet, we assume that we are dealing
      with a relay chain. This means that we don't need proof recording during
      import (since there is no storage weight).
      - If we detect the `ParachainSystem` pallet, we assume that we are
      dealing with a parachain and take corresponding actions like patching a
      para id into the genesis state.
      
      On the inherent side, I am currently supplying the standard inherents
      every parachain needs.
      
      In the current state, `frame-omni-bencher` supports all system chains.
      In follow-up PRs, we could add additional inherents to increase
      compatibility.
      
      Since we are building a block during the benchmark, we also need to
      build an extrinsic. By default, I am leveraging subxt to build the xt
      dynamically. If a chain is not compatible with the `SubstrateConfig`
      that comes with `subxt`, it can provide a custom extrinsic builder to
      benchmarking-cli. This requires either a custom bencher implementation
      or an integration into the parachains node.
      
      Also cumulus-test-runtime has been migrated to provide genesis configs.
      
      ## Chain Compatibility
      The current version here is compatible with the system chains and common
      substrate chains. The way to go for others would be to customize the
      frame-omni-bencher by providing a custom extrinsicbuilder. I did an
      example implementation that works for mythical:
      https://github.com/skunert/mythical-bencher
      
      ## Follow-Ups
      - After #6040 is finished, we should integrate this here to make the
      tooling truly useful. In the current form, the state is fairly small and
      not representative.
      
      ## How to Review
      I recommend starting from
      [here](https://github.com/paritytech/polkadot-sdk/pull/5891/files#diff-50830ff756b3ac3403b7739d66c9e3a5185dbea550669ca71b28d19c7a2a54ecR264),
      this method is the main entry point for omni-bencher and `polkadot`
      binary.
      
      TBD:
      - [x] PRDoc
      
      ---------
      
      Co-authored-by: default avatarMichal Kucharczyk <1728078+michalkucharczyk@users.noreply.github.com>
      40547f9f
    • Alexander Samusev's avatar
      [ci] Add publish docker for eth-rpc (#6286) · 6f96f721
      Alexander Samusev authored
      close https://github.com/paritytech/ci_cd/issues/1073
      6f96f721
    • Xavier Lau's avatar
      Migrate pallet-utility to benchmark v2 (#6276) · 06debd0b
      Xavier Lau authored
      
      Part of:
      
      - #6202.
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <donalm@seadanda.dev>
      06debd0b
    • Tsvetomir Dimitrov's avatar
      Bump a timeout in zombienet coretime smoke test (#6268) · 4e247334
      Tsvetomir Dimitrov authored
      
      polkadot/zombienet_tests/smoke/0004-coretime-smoke-test.zndsl still
      timeouts on CI from time to time. Bumping the timeout a bit more.
      
      Related to https://github.com/paritytech/polkadot-sdk/issues/6226
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      4e247334
    • PG Herveou's avatar
      [pallet-revive] rpc server add docker file (#6278) · 3d50716a
      PG Herveou authored
      
      Add a docker for pallet-revive eth-rpc
      
       Tested with 
      ```
      sudo docker build . -t eth-rpc -f substrate/frame/revive/rpc/Dockerfile
      sudo docker run --network="host" -e RUST_LOG="info,eth-rpc=debug" eth-rpc
      ```
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      Co-authored-by: default avatarAlexander Theißen <alex.theissen@me.com>
      3d50716a
  6. Oct 29, 2024