Skip to content
Snippets Groups Projects
  1. Oct 16, 2024
    • Miles Patterson's avatar
      Fix for Issue 4762 (#4803) · 504edb1b
      Miles Patterson authored
      
      [Issue #4762 ](https://github.com/paritytech/polkadot-sdk/issues/4762)
      
      - Creates an enum for passing context of `service_queues` being called
      from within `on_initialize` and `on_idle` hooks. Uses a match statement
      inside of `service_queues` to continue using the same code, but NOT
      throw a `defensive` if being called within `on_idle` hook.
      - The issue requested to not throw the `defensive` if being called from
      within `on_idle` hook.
      - Created the `ServiceQueuesContext` enum to pass as an argument of
      `service_queues` when called within the `on_initialize` and `on_idle`
      hooks. A match statement was added inside of `service_queues` to
      continue to throw the defensive if called from `on_initialize` but NOT
      throw the defensive if called from `on_idle`.
      
      ---------
      
      Co-authored-by: default avatargotnoshoeson <milesbrentpatterson@proton.me>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      504edb1b
    • Alexander Samusev's avatar
      [ci] Small updates (#6085) · 4cd7e865
      Alexander Samusev authored
      PR adds timeouts to some jobs, fixes `node-bench-regression-guard` so it
      works on master.
      
      cc https://github.com/paritytech/ci_cd/issues/1063
      4cd7e865
    • Cyrill Leutwiler's avatar
      [pallet-revive] ensure the return data is reset if no frame was instantiated (#6045) · 90c0a0ca
      Cyrill Leutwiler authored
      
      Failed call frames do not produce new return data but still reset it.
      
      ---------
      
      Signed-off-by: default avatarxermicus <cyrill@parity.io>
      Co-authored-by: default avatarGitHub Action <action@github.com>
      90c0a0ca
    • dependabot[bot]'s avatar
      Bump platforms from 3.0.2 to 3.4.1 (#5865) · e6100597
      dependabot[bot] authored
      Bumps [platforms](https://github.com/rustsec/rustsec) from 3.0.2 to
      3.4.1.
      <details>
      <summary>Commits</summary>
      <ul>
      <li>See full diff in <a
      href="https://github.com/rustsec/rustsec/commits">compare view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=platforms&package-manager=cargo&previous-version=3.0.2&new-version=3.4.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...
      e6100597
    • Alexandre R. Baldé's avatar
      Refactor staking pallet benchmarks to `v2` (#6025) · 9d78c51c
      Alexandre R. Baldé authored
      
      # Description
      This PR migrates the staking pallet's benchmarks to the `v2` of pallet
      benchmarking tooling provided by
      [`frame_benchmarking`](https://github.com/paritytech/polkadot-sdk/tree/master/substrate/frame/benchmarking).
      
      ## Integration
      
      N/A
      
      ## Review Notes
      
      The PR is straightforward, as were #1676 , #1838 and #1868.
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      9d78c51c
    • Alexandru Vasile's avatar
      Metadata V16 (unstable): Enrich metadata with associated types of config traits (#5274) · b649f4a4
      Alexandru Vasile authored
      
      This feature is part of the upcoming metadata V16. The associated types
      of the `Config` trait that require the `TypeInfo` or `Parameter` bounds
      are included in the metadata of the pallet. The metadata is not yet
      exposed to the end-user, however the metadata intermediate
      representation (IR) contains these types.
      
      Developers can opt out of metadata collection of the associated types by
      specifying `without_metadata` optional attribute to the
      `#[pallet::config]`.
      
      Furthermore, the `without_metadata` argument can be used in combination
      with the newly added `#[pallet::include_metadata]` attribute to
      selectively include only certain associated types in the metadata
      collection.
      
      ### API Design
      
      - There is nothing to collect from the associated types:
      
      ```rust
      #[pallet::config]
      pub trait Config: frame_system::Config {
      		// Runtime events already propagated to the metadata.
      		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
      
      		// Constants are already propagated.
      		#[pallet::constant]
      		type MyGetParam2: Get<u32>;
      	}
      ```
      
      - Default automatic collection of associated types that require TypeInfo
      or Parameter bounds:
      
      ```rust
      	#[pallet::config]
      	pub trait Config: frame_system::Config {
      		// Runtime events already propagated to the metadata.
      		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
      
      		// Constants are already propagated.
      		#[pallet::constant]
      		type MyGetParam2: Get<u32>;
      
      		// Associated type included by default, because it requires TypeInfo bound.
      		/// Nonce doc.
      		type Nonce: TypeInfo;
      
      		// Associated type included by default, because it requires
      		// Parameter bound (indirect TypeInfo).
      		type AccountData: Parameter;
      
      		// Associated type without metadata bounds, not included.
      		type NotIncluded: From<u8>;
      	}
      ```
      
      - Disable automatic collection
      
      ```rust
      // Associated types are not collected by default.
      	#[pallet::config(without_metadata)]
      	pub trait Config: frame_system::Config {
      		// Runtime events already propagated to the metadata.
      		type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
      
      		// Constants are already propagated.
      		#[pallet::constant]
      		type MyGetParam2: Get<u32>;
      
      		// Explicitly include associated types.
      		#[pallet::include_metadata]
      		type Nonce: TypeInfo;
      
      		type AccountData: Parameter;
      
      		type NotIncluded: From<u8>;
      	}
      ```
      
      Builds on top of the PoC:
      https://github.com/paritytech/polkadot-sdk/pull/4358
      Closes: https://github.com/paritytech/polkadot-sdk/issues/4519
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarGuillaume Thiolliere <gui.thiolliere@gmail.com>
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      b649f4a4
    • Sebastian Kunert's avatar
      Stabilize elastic-pov-recovery zombienet test (#6076) · 2c41656c
      Sebastian Kunert authored
      We should start the `recovery-target` node first, then the
      `collator-elastic` node. Also increases the resources available to these
      pods.
      2c41656c
    • Alexandru Vasile's avatar
      litep2p/discovery: Fix memory leak in `litep2p.public_addresses()` (#5998) · 38aa4b75
      Alexandru Vasile authored
      This PR ensures that the `litep2p.public_addresses()` never grows
      indefinitely.
      - effectively fixes subtle memory leaks
      - fixes authority DHT records being dropped due to size limits being
      exceeded
      - provides a healthier subset of public addresses to the `/identify`
      protocol
      
      This PR adds a new `ExternalAddressExpired` event to the
      litep2p/discovery process.
      
      Substrate uses an LRU `address_confirmations` bounded to 32 address
      entries.
      The oldest entry is propagated via the `ExternalAddressExpired` event
      when a new address is added to the list (if capacity is exceeded).
      
      The expired address is then removed from the
      `litep2p.public_addresses()`, effectively limiting its size to 32
      entries (the size of `address_confirmations` LRU).
      
      cc @paritytech/networking @alexggh
      
      
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
      38aa4b75
    • Michał Gil's avatar
      remove pallet::getter from pallet-offences (#6027) · fbd69a3b
      Michał Gil authored
      
      # Description
      Part of https://github.com/paritytech/polkadot-sdk/issues/3326
      Removes pallet::getter from pallet-offences from type `Reports`.
      Adds a test to verify that retrieval of `Reports` still works with
      storage::getter.
      
      polkadot address: 155YyFVoMnv9BY6qxy2i5wxtveUw7WE1n5H81fL8PZKTA1Sd
      
      ---------
      
      Co-authored-by: default avatarShawn Tabrizi <shawntabrizi@gmail.com>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      fbd69a3b
  2. Oct 15, 2024
    • Radek Bochenek's avatar
      Fix `solochain-template-runtime` freezes config (#5846) · 5a8e082b
      Radek Bochenek authored
      
      # Description
      
      Sets the correct `RuntimeFreezeReason` type for
      `solochain-template-runtime` configuration of pallet_balances.
      
      ## Review Notes
      
      For whatever reason `RuntimeFreezeReason` is currently set to
      `RuntimeHoldReason`. This in turn causes problems with variant counting
      in `MaxFreezes` and results in pallet_balances integrity tests failing
      whenever hold/freeze reasons are added to the runtime.
      This fixes it by simply setting `RuntimeFreezeReason` to
      `RuntimeFreezeReason` in pallet_balances Config.
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      5a8e082b
    • dependabot[bot]'s avatar
      Bump tokio-test from 0.4.3 to 0.4.4 (#5944) · f754863a
      dependabot[bot] authored
      Bumps [tokio-test](https://github.com/tokio-rs/tokio) from 0.4.3 to
      0.4.4.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/3d0d0fd2af9192ca5cf2836451e96dffab68216a"><code>3d0d0fd</code></a>
      chore: prepare tokio-test v0.4.4 (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6400">#6400</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/7cfb1007969e3fcb28b03854f3126caeca93932e"><code>7cfb100</code></a>
      chore: prepare tokio-stream v0.1.15 (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6401">#6401</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/e37bd6385430620f850a644d58945ace541afb6e"><code>e37bd63</code></a>
      io: implement <code>try_new</code> and <code>try_with_interest</code>
      for <code>AsyncFd</code> (<a
      href="https://redirect.github.com/tokio-rs/tokio/issues/6345">#6345</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tokio/commit/c9e75785c84a441199992ed38e49aeba...
      f754863a
    • Alexander Samusev's avatar
      [ci] Move build and publish rustdocs to GHA (#6047) · 4edb2198
      Alexander Samusev authored
      PR moves jobs `build-rustdoc`, `test-doc` and `publish-rustdoc` to GHA.
      `publish-rustdoc` was changed so it can publish changes using token from
      GH APP.
      PR removes `test-rustdoc` because the same command in executed in
      `build-rustdoc` and I see no reason to run it twice.
      
      cc https://github.com/paritytech/ci_cd/issues/1006
      4edb2198
    • Michal Kucharczyk's avatar
      fork-aware transaction pool added (#4639) · 26c11fc5
      Michal Kucharczyk authored
      ### Fork-Aware Transaction Pool Implementation
      
      This PR introduces a fork-aware transaction pool (fatxpool) enhancing
      transaction management by maintaining the valid state of txpool for
      different forks.
      
      ### High-level overview
      The high level overview was added to
      [`sc_transaction_pool::fork_aware_txpool`](https://github.com/paritytech/polkadot-sdk/blob/3ad0a1b7/substrate/client/transaction-pool/src/fork_aware_txpool/mod.rs#L21)
      module. Use:
      ```
      cargo  doc --document-private-items -p sc-transaction-pool --open
      ```
      to build the doc. It should give a good overview and nice entry point
      into the new pool's mechanics.
      
      <details>
        <summary>Quick overview (documentation excerpt)</summary>
      
      #### View
      For every fork, a view is created. The view is a persisted state of the
      transaction pool computed and updated at the tip of the fork. The view
      is built around the existing `ValidatedPool` structure.
      
      A view is created on every new best block notification. To create a
      view, one of the existing views is chosen and cloned.
      
      When the chain progresses, the view is kept in the cache
      (`retracted_views`) to allow building blocks upon intermediary blocks in
      the fork.
      
      The views are deleted on finalization: views lower than the finalized
      block are removed.
      
      The views are updated with the transactions from the mempool—all
      transactions are sent to the newly created views.
      A maintain process is also executed for the newly created
      views—basically resubmitting and pruning transactions from the
      appropriate tree route.
      
      ##### View store
      View store is the helper structure that acts as a container for all the
      views. It provides some convenient methods.
      
      ##### Submitting transactions
      Every transaction is submitted to every view at the tips of the forks.
      Retracted views are not updated.
      Every transaction also goes into the mempool.
      
      ##### Internal mempool
      Shortly, the main purpose of an internal mempool is to prevent a
      transaction from being lost. That could happen when a transaction is
      invalid on one fork and could be valid on another. It also allows the
      txpool to accept transactions when no blocks have been reported yet.
      
      The mempool removes its transactions when they get finalized.
      Transactions are also periodically verified on every finalized event and
      removed from the mempool if no longer valid.
      
      #### Events
      Transaction events from multiple views are merged and filtered to avoid
      duplicated events.
      `Ready` / `Future` / `Inblock` events are originated in the Views and
      are de-duplicated and forwarded to external listeners.
      `Finalized` events are originated in fork-aware-txpool logic.
      `Invalid` events requires special care and can be originated in both
      view and fork-aware-txpool logic.
      
      #### Light maintain
      Sometime transaction pool does not have enough time to prepare fully
      maintained view with all retracted transactions being revalidated. To
      avoid providing empty ready transaction set to block builder (what would
      result in empty block) the light maintain was implemented. It simply
      removes the imported transactions from ready iterator.
      
      #### Revalidation
      Revalidation is performed for every view. The revalidation process is
      started after a trigger is executed. The revalidation work is terminated
      just after a new best block / finalized event is notified to the
      transaction pool.
      The revalidation result is applied to the newly created view which is
      built upon the revalidated view.
      
      Additionally, parts of the mempool are also revalidated to make sure
      that no transactions are stuck in the mempool.
      
      
      #### Logs
      The most important log allowing to understand the state of the txpool
      is:
      ```
                    maintain: txs:(0, 92) views:[2;[(327, 76, 0), (326, 68, 0)]] event:Finalized { hash: 0x8...f, tree_route: [] }  took:3.463522ms
                                   ^   ^         ^     ^   ^  ^      ^   ^  ^        ^                                                   ^
      unwatched txs in mempool ────┘   │         │     │   │  │      │   │  │        │                                                   │
         watched txs in mempool ───────┘         │     │   │  │      │   │  │        │                                                   │
                           views  ───────────────┘     │   │  │      │   │  │        │                                                   │
                            1st view block # ──────────┘   │  │      │   │  │        │                                                   │
                                 number of ready tx ───────┘  │      │   │  │        │                                                   │
                                      numer of future tx ─────┘      │   │  │        │                                                   │
                                              2nd view block # ──────┘   │  │        │                                                   │
                                            number of ready tx ──────────┘  │        │                                                   │
                                                 number of future tx ───────┘        │                                                   │
                                                                       event ────────┘                                                   │
                                                                             duration  ──────────────────────────────────────────────────┘
      ```
      It is logged after the maintenance is done.
      
      The `debug` level enables per-transaction logging, allowing to keep
      track of all transaction-related actions that happened in txpool.
      </details>
      
      
      ### Integration notes
      
      For teams having a custom node, the new txpool needs to be instantiated,
      typically in `service.rs` file, here is an example:
      
      https://github.com/paritytech/polkadot-sdk/blob/9c547ff3
      
      /cumulus/polkadot-omni-node/lib/src/common/spec.rs#L152-L161
      
      To enable new transaction pool the following cli arg shall be specified:
      `--pool-type=fork-aware`. If it works, there shall be information
      printed in the log:
      ```
      2024-09-20 21:28:17.528  INFO main txpool: [Parachain]  creating ForkAware txpool.
      ````
      
      For debugging the following debugs shall be enabled:
      ```
            "-lbasic-authorship=debug",
            "-ltxpool=debug",
      ```
      *note:* trace for txpool enables per-transaction logging.
      
      ### Future work
      The current implementation seems to be stable, however further
      improvements are required.
      Here is the umbrella issue for future work:
      - https://github.com/paritytech/polkadot-sdk/issues/5472
      
      
      Partially fixes: #1202
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarSebastian Kunert <skunert49@gmail.com>
      Co-authored-by: default avatarIulian Barbu <14218860+iulianbarbu@users.noreply.github.com>
      26c11fc5
    • Javier Viola's avatar
      Bump zombienet version `v1.3.115` (#6065) · 183b55aa
      Javier Viola authored
      
      Includes:
      - Fixes for `ci`
      - Support to pass a json as arg for `js-script`
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      183b55aa
    • Francisco Aguirre's avatar
      Add assets in pool with native to query_acceptable_payment_assets's return (#5599) · d2ba5677
      Francisco Aguirre authored
      
      `XcmPaymentApi::query_acceptable_payment_assets` is an API that returns
      the assets that can be used to pay fees on the runtime where it's
      called.
      For relays and most system chains this was configured only as the native
      asset: ROC and WND.
      However, the asset hubs have the asset conversion pallet, which allows
      fees to be paid in any asset in a pool with the native one.
      This PR adds the list of assets in a pool with the native one to the
      return value of this API for the asset hubs.
      
      ---------
      
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      d2ba5677
    • Ayevbeosa Iyamu's avatar
      pallet-xcm: added useful error logs (#2408) (#4982) · b20be7c1
      Ayevbeosa Iyamu authored
      
      Added error logs in pallet-xcm to help in debugging, fixes #2408 
      
      ## TODO
      
      - [x] change `log::error` to `tracing::error` format for `xcm-executor`
      - [x] check existing logs, e.g. this one can be extended with more info
      `tracing::error!(target: "xcm::reanchor", ?error, "Failed reanchoring
      with error");`
      - [x] use `tracing` instead of `log` for `pallet-xcm/src/lib.rs`
      
      ---------
      
      Co-authored-by: default avatarAyevbeosa Iyamu <aiyamu@vatebra.com>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      b20be7c1
    • Bastian Köcher's avatar
      Remove "Check Features" test · 36eadec1
      Bastian Köcher authored
      This is done by zepter any way
      36eadec1
    • Branislav Kontur's avatar
      Remove `check-migrations` for rococo chain (#6061) · f7119e40
      Branislav Kontur authored
      This PR removes the `check-migrations` pipelines for all Rococo chains
      because they are going down:
      https://github.com/paritytech/devops/issues/3589, and these checks are
      starting to fail, e.g.:
      
      https://github.com/paritytech/polkadot-sdk/actions/runs/11339904745/job/31535485254?pr=4982
      
      https://github.com/paritytech/polkadot-sdk/actions/runs/11339904745/job/31535486189?pr=4982
      
      https://github.com/paritytech/polkadot-sdk/actions/runs/11339904745/job/31535486471?pr=4982
      
      Additionally, `coretime-westend` was added to the `check-migrations`
      matrix.
      f7119e40
  3. Oct 14, 2024
    • Julian Eager's avatar
      Fix `feeless_if` in pallet section (#6032) · 6f03f7a1
      Julian Eager authored
      fixes #5981 
      
      Could confirm the issue with the added tests:
      
      ```
      test tests/split_ui/pass/split_call.rs [should pass] ... error
      ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈
      error[E0423]: expected value, found attribute macro `origin`
        --> tests/split_ui/pass/split_call.rs:23:1
         |
      23 | #[frame_support::pallet(dev_mode)]
         | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a value
         |
         = note: this error originates in the attribute macro `frame_support::pallet` (in Nightly builds, run with -Z macro-backtrace for more info)
      ```
      
      # Description
      
      `origin` unexpectedly resolved to a macro, which is available at the
      span of invocation. The solution here is to use the expansion as a
      function instead of a call and pass in the desired values to avoid
      ambiguities.
      6f03f7a1
    • Oliver Tale-Yazdi's avatar
      Westend: Constant yearly emission (#5999) · aca11dcc
      Oliver Tale-Yazdi authored
      
      Testing the approach of this before it goes live on Polkadot
      https://github.com/polkadot-fellows/runtimes/pull/471
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      aca11dcc
    • Serban Iorga's avatar
      Use the umbrella crate for the parachain template (#5991) · d7f01a17
      Serban Iorga authored
      Use the umbrella crate for the parachain template
      
      This covers almost all the dependencies. There are just a few exceptions
      for which I created a separate issue:
      https://github.com/paritytech/polkadot-sdk/issues/5993
      
      Also related to: https://github.com/paritytech/polkadot-sdk/issues/4782
      d7f01a17
    • Maksym H's avatar
      update cmd timeout (#6038) · ff87db8c
      Maksym H authored
      30 hrs -> 72 hours
      as it has stopped by timeout here
      https://github.com/paritytech/polkadot-sdk/actions/runs/11299872333/job/31431758932
      ff87db8c
  4. Oct 12, 2024
    • Julian Eager's avatar
      Fix storage expansion in pallet section (#6023) · d1c115b6
      Julian Eager authored
      fixes #5320 @sam0x17 @gupnik 
      
      # Description
      
      The issue could be confirmed with the added example. The cause is for
      macro hygiene, `entries` in the `#( #entries_builder )*` expansion won't
      be able to reference the `entries` defined outside. The solution here is
      to allow the reference to be passed into the expansion with closure.
      
      Or we could just switch to the unhygienic span with `quote::quote!`
      instead such that `entries` will resolve to the "outer" definition.
      d1c115b6
  5. Oct 11, 2024
    • Maksym H's avatar
      /cmd: Improved devx of benching many pallets simultaneously (#6007) · c0b73433
      Maksym H authored
      
      ### Improved devx of running many pallets simultaneously
      
      Changes to /cmd:
      - Replace (flip) `--continue-on-fail` with `--fail-fast`, but only for
      `bench`. This makes all pallets/runtimes run non-stop by default, as it
      was primary use-case during tests
      - The list of successful/failed pallets was hard to find within tons of
      logs, so decided to write only needed logs in a file, and output as a
      summary in the workflow and in the comment
      - Side fix: updated `tasks_example` to `pallet_example_tasks` to make
      compliant with standard naming
      
      <img width="1006" alt="image"
      src="https://github.com/user-attachments/assets/14896041-7018-4a0d-92b7-4508e81913c2">
      
      + added command results to workflow summary:
      <img width="1275" alt="image"
      src="https://github.com/user-attachments/assets/b4a8afdb-dc9f-4ff9-9720-28a88956035f">
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      c0b73433
    • Michal Kucharczyk's avatar
      `substrate-node`: removed excessive polkadot-sdk features (#5925) · b45f89c5
      Michal Kucharczyk authored
      Some of the features enabled for `polkadot-sdk` umbrella crate were not
      necessary for substrate node (e.g. all `cumulus-*` or `polkadot-*`
      features) resulting in much longer compilation time. This PR fixes that.
      b45f89c5
    • Andrei Eres's avatar
      Rename QueueEvent::StartWork (#6015) · e5ccc008
      Andrei Eres authored
      # Description
      
      When we send `QueueEvent::StartWork`, we have already completed the
      execution. This may be a leftover of a previous logic change. Currently,
      the name is misleading, so it would be better to rename it to
      `FinishWork`.
      
      
      https://github.com/paritytech/polkadot-sdk/blob/c52675ef/polkadot/node/core/pvf/src/execute/queue.rs#L632-L646
      
      
      https://github.com/paritytech/polkadot-sdk/blob/c52675ef
      
      /polkadot/node/core/pvf/src/execute/queue.rs#L361-L363
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/5910
      
      ## Integration
      
      Shouldn't affect downstream projects.
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <action@github.com>
      e5ccc008
    • Alexander Samusev's avatar
      [ci] Remove quick-benchmarks-omni from GitLab (#6014) · c16ac925
      Alexander Samusev authored
      The `quick-benchmarks-omni` job was moved to GHA (can be found
      [here](https://github.com/paritytech/polkadot-sdk/blob/439b31ef/.github/workflows/check-frame-omni-bencher.yml#L22))
      but hasn't been removed from GitLab . PR fixes it and makes the check
      required.
      c16ac925
  6. Oct 10, 2024
    • Maksym H's avatar
      Set larger timeout for cmd.yml (#6006) · 439b31ef
      Maksym H authored
      1800 min
      439b31ef
    • Serban Iorga's avatar
      Fix `0003-beefy-and-mmr` test (#6003) · cba7d13b
      Serban Iorga authored
      Resolves https://github.com/paritytech/polkadot-sdk/issues/5972
      
      Only needed to increase some timeouts
      cba7d13b
    • Francisco Aguirre's avatar
      Remove redundant XCMs from dry run's forwarded xcms (#5913) · 4a70b2cf
      Francisco Aguirre authored
      # Description
      
      This PR addresses
      https://github.com/paritytech/polkadot-sdk/issues/5878.
      
      After dry running an xcm on asset hub, we had redundant xcms showing up
      in the `forwarded_xcms` field of the dry run effects returned.
      These were caused by two things:
      - The `UpwardMessageSender` router always added an element even if there
      were no messages.
      - The two routers on asset hub westend related to bridging (to rococo
      and sepolia) getting the message from their queues when their queues is
      actually the same xcmp queue that was already contemplated.
      
      In order to fix this, we check for no messages in UMP and clear the
      implementation of `InspectMessageQueues` for these bridging routers.
      Keep in mind that the bridged message is still sent, as normal via the
      xcmp-queue to Bridge Hub.
      To keep on dry-running the journey of the message, the next hop to
      dry-run is Bridge Hub.
      That'll be tackled in a different PR.
      
      Added a test in `bridge-hub-westend-integration-tests` and
      `bridge-hub-rococo-integration-tests` that show that dry-running a
      transfer across the bridge from asset hub results in one and only one
      message sent to bridge hub.
      
      ## TODO
      - [x] Functionality
      - [x] Test
      
      ---------
      
      Co-authored-by: command-bot <>
      4a70b2cf
    • RadiumBlock's avatar
      Add RadiumBlock bootnodes to Coretime Polkadot Chain spec (#5967) · cb1f19c5
      RadiumBlock authored
      ✄
      -----------------------------------------------------------------------------
      
      Thank you for your Pull Request! :pray:
      
       Please make sure it follows the
      contribution guidelines outlined in [this
      
      document](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md)
      and fill out the
      sections below. Once you're ready to submit your PR for review, please
      delete this section and leave only the text under
      the "Description" heading.
      
      # Description
      
      Please consider adding RadiumBlock bootnodes to Coretime Polkadot Chain
      spec
      
      ## Integration
      
      *In depth notes about how this PR should be integrated by downstream
      projects. This part is mandatory, and should be
      reviewed by reviewers, if the PR does NOT have the `R0-Silent` label. In
      case of a `R0-Silent`, it can be ignored.*
      
      ## Review Notes
      
      *In depth notes about the **implementation** details of your PR. This
      should be the main guide for reviewers to
      understand your approach and effectively review it. If too long, use
      
      [`<details>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/details)*.
      
      *Imagine that someone who is depending on the old code wants to
      integrate your new code and the only information that
      they get is this section. It helps to include example usage and default
      value here, with a `diff` code-block to show
      possibly integration.*
      
      *Include your leftover TODOs, if any, here.*
      
      # Checklist
      
      * [x] My PR includes a detailed description as outlined in the
      "Description" and its two subsections above.
      * [ ] My PR follows the [labeling requirements](
      
      https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process
      ) of this project (at minimum one label for `T` required)
      * External contributors: ask maintainers to put the right label on your
      PR.
      * [ ] I have made corresponding changes to the documentation (if
      applicable)
      * [ ] I have added tests that prove my fix is effective or that my
      feature works (if applicable)
      
      You can remove the "Checklist" section once all have been checked. Thank
      you for your contribution!
      
      ✄
      -----------------------------------------------------------------------------
      
      Co-authored-by: default avatarVeena <veena.john@radiumblock.com>
      Co-authored-by: default avatarDónal Murray <donal.murray@parity.io>
      cb1f19c5
  7. Oct 09, 2024
    • dependabot[bot]'s avatar
      Bump strum from 0.26.2 to 0.26.3 (#5943) · e0062af9
      dependabot[bot] authored
      Bumps [strum](https://github.com/Peternator7/strum) from 0.26.2 to
      0.26.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/Peternator7/strum/releases">strum's
      releases</a>.</em></p>
      <blockquote>
      <h2>v0.26.3</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Fix typos &amp; misspellings in docs by <a
      href="https://github.com/5-pebbles"><code>@​5-pebbles</code></a> in <a
      href="https://redirect.github.com/Peternator7/strum/pull/347">Peternator7/strum#347</a></li>
      <li>Update <code>heck</code> requirement by <a
      href="https://github.com/smoelius"><code>@​smoelius</code></a> in <a
      href="https://redirect.github.com/Peternator7/strum/pull/346">Peternator7/strum#346</a></li>
      <li>Fix broken links by <a
      href="https://github.com/rainbowatcher"><code>@​rainbowatcher</code></a>
      in <a
      href="https://redirect.github.com/Peternator7/strum/pull/350">Peternator7/strum#350</a></li>
      <li>Interpolate unnamed enum variant fields in to_string attribute by ...
      e0062af9
    • Andrei Eres's avatar
      Add PVF execution priority (#4837) · e294d628
      Andrei Eres authored
      
      Resolves https://github.com/paritytech/polkadot-sdk/issues/4632
      
      The new logic optimizes the distribution of execution jobs for disputes,
      approvals, and backings. Testing shows improved finality lag and
      candidate checking times, especially under heavy network load.
      
      ### Approach
      
      This update adds prioritization to the PVF execution queue. The logic
      partially implements the suggestions from
      https://github.com/paritytech/polkadot-sdk/issues/4632#issuecomment-2209188695.
      
      We use thresholds to determine how much a current priority can "steal"
      from lower ones:
      -  Disputes: 70%
      -  Approvals: 80%
      -  Backing System Parachains: 100%
      -  Backing: 100%
      
      A threshold indicates the portion of the current priority that can be
      allocated from lower priorities.
      
      For example:
      -  Disputes take 70%, leaving 30% for approvals and all backings.
      - 80% of the remaining goes to approvals, which is 30% * 80% = 24% of
      the original 100%.
      - If we used parts of the original 100%, approvals couldn't take more
      than 24%, even if there are no disputes.
      
      Assuming a maximum of 12 executions per block, with a 6-second window, 2
      CPU cores, and a 2-second run time, we get these distributions:
      
      -  With disputes: 8 disputes, 3 approvals, 1 backing
      -  Without disputes: 9 approvals, 3 backings
      
      It's worth noting that when there are no disputes, if there's only one
      backing job, we continue processing approvals regardless of their
      fulfillment status.
      
      ### Versi Testing 40/20
      
      Testing showed a slight difference in finality lag and candidate
      checking time between this pull request and its base on the master
      branch. The more loaded the network, the greater the observed
      difference.
      
      Testing Parameters:
      -  40 validators (4 malicious)
      -  20 gluttons with 2 seconds of PVF execution time
      -  6 VRF modulo samples
      -  12 required approvals
      
      ![Pasted Graphic
      3](https://github.com/user-attachments/assets/8b6163a4-a1c9-44c2-bdba-ce1ef4b1eba7)
      ![Pasted Graphic
      4](https://github.com/user-attachments/assets/9f016647-7727-42e8-afe9-04f303e6c862)
      
      ### Versi Testing 80/40
      
      For this test, we compared the master branch with the branch from
      https://github.com/paritytech/polkadot-sdk/pull/5616. The second branch
      is based on the current one but removes backing jobs that have exceeded
      their time limits. We excluded malicious nodes to reduce noise from
      disputing and banning validators. The results show that, under the same
      load, nodes experience less finality lag and reduced recovery and check
      time. Even parachains are functioning with a shorter block time,
      although it remains over 6 seconds.
      
      Testing Parameters:
      -  80 validators (0 malicious)
      -  40 gluttons with 2 seconds of PVF execution time
      -  6 VRF modulo samples
      -  30 required approvals
      
      
      ![image](https://github.com/user-attachments/assets/42bcc845-9115-4ae3-9910-286b77a60bbf)
      
      ---------
      
      Co-authored-by: default avatarAndrei Sandu <54316454+sandreim@users.noreply.github.com>
      e294d628
    • Vincent Geddes's avatar
      Snowbridge V2 docs (#5902) · 90ff47d9
      Vincent Geddes authored
      Here are MD docs for V2 @acatangiu @franciscoaguirre
      
       . Let me know what
      you think.
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
      Co-authored-by: default avatarAlistair Singh <alistair.singh7@gmail.com>
      90ff47d9
    • ordian's avatar
      Fix u256 conversion in BABE (#5994) · 292bfac4
      ordian authored
      
      https://github.com/paritytech/polkadot-sdk/pull/5886#discussion_r1793423401
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      292bfac4
    • Alexander Samusev's avatar
      [ci] Move test-linux-stable-no-try-runtime to GHA (#5979) · 48b56aa1
      Alexander Samusev authored
      PR moves `test-linux-stable-no-try-runtime` from gitlab to github.
      I disabled two tests because our current runners don't have necessary
      syscalls enabled. Will continue working on it in
      https://github.com/paritytech/ci_cd/issues/1056
      Also PR remove `gh cli` installation since it's installed in the
      `ci-unified` image.
      
      close https://github.com/paritytech/ci_cd/issues/1023
      48b56aa1
    • Andrei Eres's avatar
      Bump PoV request timeout (#5924) · 3ad12919
      Andrei Eres authored
      # Description
      
      We previously set the PoV request timeout to 1.2s based on synchronous
      backing, which allowed for 5 PoVs per relay block. With asynchronous
      backing, we no longer have a time budget and can increase the value to
      2s.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/5885
      
      ## Integration
      
      This PR shouldn't affect downstream projects.
      
      ## Review Notes
      
      This PR can be followed by experiments with Gluttons on Kusama to
      confirm that the timeout is sufficient.
      3ad12919
    • Egor_P's avatar
      [Release/CI] Github flow to build `polkadot`/`polkadot-parachain` rc binaries... · c4770762
      Egor_P authored
      [Release/CI] Github flow to build `polkadot`/`polkadot-parachain` rc binaries and deb package (#5963)
      
      This PR introduces a GitHub flow, that should replace a semi manual part
      of the release process to build rc binaries for `polkadot` and
      `polkadot-parachain` + the `polkadot` deb package.
      
      Right now, this part of the release is done on the `cleanroom` machine
      by the release engineers via triggering bash scripts directly on the
      server. These GitHub flows should replace it and move everything to the
      CI.
      
      The whole flow is meant to be run in the new
      [paritytech-release](https://github.com/paritytech-release) where the
      automated release is going to be moved.
      
      The flow includes the following steps:
      - Build `polkadot`, `polakdot-prepare-worker`, `polkadot-execute-worker`
      and `polkadopt-parachain` binaries
      - Sign those artefacts using `gpg` and generate a sha256 checksum
      - Build deb package for `polakdot`
      - Make a GitHub attestation
      - Upload artefacts to the S3 buckets
      
      Closes: https://github.com/paritytech/release-engineering/issues/223
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      c4770762
    • Alexander Samusev's avatar
      [ci] Remove short-benchmarks from Gitlab (#5988) · 6765bcd8
      Alexander Samusev authored
      PR removes short-benchmarks from GitLab, adds condition for
      cargo-check-rutimes
      6765bcd8
    • Javier Viola's avatar
      Disable flaky tests reported in 5972/5973/5974 (#5976) · 6c2b46f9
      Javier Viola authored
      Disable flaky tests reported in:
      #5972 
      #5973 
      #5974
      6c2b46f9