Skip to content
  1. 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 <[email protected]>
      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 <[email protected]>
      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
  2. 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! 🙏
      
       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 <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      cb1f19c5
  3. 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 <a
      href="https://github.com/gin-ahirsch"><code>@​gin-ahirsch</code></a> in
      <a
      href="https://redirect.github.com/Peternator7/strum/pull/345">Peternator7/strum#345</a></li>
      <li>add hyperlinks to documentation and clarify derive macros by <a
      href="https://github.com/lolbinarycat"><code>@​lolbinarycat</code></a>
      in <a
      href="https://redirect.github.com/Peternator7/strum/pull/355">Peternator7/strum#355</a></li>
      <li>Use fully qualified syntax for calling <code>get</code> on an
      <code>EnumIter</code>, eliminating ambiguities by <a
      href="https://github.com/bluurryy"><code>@​bluurryy</code></a> in <a
      href="https://redirect.github.com/Peternator7/strum/pull/357">Peternator7/strum#357</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/5-pebbles"><code>@​5-pebbles</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/347">Peternator7/strum#347</a></li>
      <li><a
      href="https://github.com/rainbowatcher"><code>@​rainbowatcher</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/350">Peternator7/strum#350</a></li>
      <li><a
      href="https://github.com/gin-ahirsch"><code>@​gin-ahirsch</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/345">Peternator7/strum#345</a></li>
      <li><a
      href="https://github.com/lolbinarycat"><code>@​lolbinarycat</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/355">Peternator7/strum#355</a></li>
      <li><a href="https://github.com/bluurryy"><code>@​bluurryy</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/Peternator7/strum/pull/357">Peternator7/strum#357</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3">https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Peternator7/strum/blob/master/CHANGELOG.md">strum's
      changelog</a>.</em></p>
      <blockquote>
      <h2>0.26.3 (strum_macros)</h2>
      <ul>
      <li><a
      href="https://redirect.github.com/Peternator7/strum/pull/344">#344</a>:
      Hide <code>EnumTable</code> because it's going to be deprecated in the
      next
      version.</li>
      <li><a
      href="https://redirect.github.com/Peternator7/strum/pull/357">#357</a>:
      Fixes an incompatiblity with <code>itertools</code> by using the fully
      qualified name rather than the inherent method.</li>
      <li><a
      href="https://redirect.github.com/Peternator7/strum/pull/345">#345</a>:
      Allows unnamed tuple like variants to use their variants in
      string interpolation. <code>#[strum(to_string = &quot;Field 0: {0},
      Field 1: {1})&quot;)]</code> will now work for tuple variants</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Peternator7/strum/commit/c89286fc2a4916ee61133aaa8d63fce83f6fc39e"><code>c89286f</code></a>
      Update changelog &amp; strum_macros version</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/0c85c16e12e80dd49e75117e7c94f697d0ad06d0"><code>0c85c16</code></a>
      Use associated function syntax for calling <code>get</code> on an
      <code>EnumIter</code>, eliminatin...</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/9689d7bb55bad0269c3fc9679a7434670139b12b"><code>9689d7b</code></a>
      add hyperlinks to documentation and clarify derive macros (<a
      href="https://redirect.github.com/Peternator7/strum/issues/355">#355</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/186d29f6a1691b6356a2d85d66f8904b9a5d3140"><code>186d29f</code></a>
      Interpolate unnamed enum variant fields in to_string attribute (<a
      href="https://redirect.github.com/Peternator7/strum/issues/345">#345</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/410062e122e001e6c3725cdc91483a0d4de5ca31"><code>410062e</code></a>
      Fix broken links (<a
      href="https://redirect.github.com/Peternator7/strum/issues/350">#350</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/1e46337eb2ec71caccf2fc35929e2f0cbedbb3c2"><code>1e46337</code></a>
      Update <code>heck</code> requirement (<a
      href="https://redirect.github.com/Peternator7/strum/issues/346">#346</a>)</li>
      <li><a
      href="https://github.com/Peternator7/strum/commit/f5fce032ed381a334e81676bd2c391353c265476"><code>f5fce03</code></a>
      Fix typos &amp; misspellings in docs (<a
      href="https://redirect.github.com/Peternator7/strum/issues/347">#347</a>)</li>
      <li>See full diff in <a
      href="https://github.com/Peternator7/strum/compare/v0.26.2...v0.26.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=strum&package-manager=cargo&previous-version=0.26.2&new-version=0.26.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      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 <[email protected]>
      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 <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      Co-authored-by: default avatarAlistair Singh <[email protected]>
      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 <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      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 <[email protected]>
      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
  4. Oct 08, 2024
  5. Oct 07, 2024
    • Ankan's avatar
      [Staking] Noop refactor to prep pallet for currency fungible migration (#5399) · 9128dca3
      Ankan authored
      This is a no-op refactor of staking pallet to move all `T::Currency` api
      calls under one module.
      
      A followup PR (https://github.com/paritytech/polkadot-sdk/pull/5501)
      will implement the Currency <> Fungible migration for the pallet.
      
      Introduces the new `asset` module that centralizes all interaction with
      `T::Currency`. This is an attempt to try minimising staking logic
      changes to minimal parts of the codebase.
      
      ## Things of note
      - `T::Currency::free_balance` in current implementation includes both
      staked (locked) and liquid tokens (kinda sounds wrong to call it free
      then). This PR renames it to `stakeable_balance` (any better name
      suggestions?). With #5501, this will become `free balance that can be
      held/staked` + `already held/staked balance`.
      9128dca3
    • Alexander Theißen's avatar
      revive: Bump PolkaVM and add static code validation (#5939) · 5f55185e
      Alexander Theißen authored
      
      
      This PR adds **static** validation that prevents upload of code that:
      
      1) Contains basic blocks larger than the specified limit (currently
      `200`)
      2) Contains invalid instructions
      3) Uses the `sbrk` instruction
      
      Doing that statically at upload time (instead of at runtime) allows us
      to change the basic block limit or add instructions later without
      worrying about breaking old code. This is well worth the linear scan of
      the whole blob on deployment in my opinion. Please note that those
      checks are not applied when existing code is just run (hot path).
      
      Also some drive by fixes:
      - Remove superflous `publish = true`
      - Abort fixture build on warning and fix existing warnings
      - Re-enable optimizations in fixture builds (should be fixed now in
      PolkaVM)
      - Disable stripping for fixture builds (maybe we can get some line
      information on trap via `RUST_LOG`)
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarPG Herveou <[email protected]>
      5f55185e
    • Shawn Tabrizi's avatar
      Introduce and Implement `VestedTransfer` Trait (#5630) · 38466913
      Shawn Tabrizi authored
      
      
      This PR introduces a `VestedTransfer` Trait, which handles making a
      transfer while also applying a vesting schedule to that balance.
      
      This can be used in pallets like the Treasury pallet, where now we can
      easily introduce a `vested_spend` extrinsic as an alternative to giving
      all funds up front.
      
      We implement `()` for the `VestedTransfer` trait, which just returns an
      error, and allows anyone to opt out from needing to use or implement
      this trait.
      
      This PR also updates the logic of `do_vested_transfer` to remove the
      "pre-check" which was needed before we had a default transactional layer
      in FRAME.
      
      Finally, I also fixed up some bad formatting in the test.rs file.
      
      ---------
      
      Co-authored-by: default avatarGuillaume Thiolliere <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      38466913
    • Branislav Kontur's avatar
      Bridges - add version guarding for standalone relaying of parachains and messages (#5952) · 5778b455
      Branislav Kontur authored
      This PR adds the ability to start version guarding when performing
      standalone relaying of messages and parachains.
      
      ## Follow-up
      - decouple and simplify `fn start_relay_guards`:
      https://github.com/paritytech/polkadot-sdk/issues/5923
      
      ---------
      
      Co-authored-by: command-bot <>
      5778b455
    • Shoyu Vanilla (Flint)'s avatar
      [FRAME] fix: Do not emit `Issued { amount: 0 }` event (#5946) · 215252e7
      Shoyu Vanilla (Flint) authored
      closes #5942
      
      Couldn't find any emissions of `Event::Issued` without amount check
      other than in this PR.
      
      Currently, we have;
      
      
      https://github.com/paritytech/polkadot-sdk/blob/4bda956d/substrate/frame/balances/src/impl_currency.rs#L212-L220
      
      and
      
      
      https://github.com/paritytech/polkadot-sdk/blob/4bda956d/substrate/frame/balances/src/impl_currency.rs#L293-L306
      215252e7
    • Oliver Tale-Yazdi's avatar
      [CI] Update try-runtime-cli (#5890) · fe0bfb79
      Oliver Tale-Yazdi authored
      
      
      Update try-runtime-cli to 0.8.0 for MBM testing.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      fe0bfb79
    • Oliver Tale-Yazdi's avatar
      [CI] Fix backport bot (#5905) · d73c56de
      Oliver Tale-Yazdi authored
      Seems to also need actions permission otherwise it error when trying to
      backport a change to the yml files liker
      [here](https://github.com/paritytech/polkadot-sdk/actions/runs/11143649431/job/30969199054).
      d73c56de
    • Alexandru Vasile's avatar
      chainHead: Track reported blocks to capture notification gaps (#5856) · d66a5a41
      Alexandru Vasile authored
      
      
      There are cases during warp sync or re-orgs, where we receive a
      notification with a block parent that was not reported in the past. This
      PR extends the tracking state to catch those cases and report a `Stop`
      event to the user.
      
      This PR adds a new state to the RPC-v2 chainHead to track which blocks
      have been reported.
      
      In the past we relied on the pinning mechanism to provide us details if
      a block is pinned or not.
      However, the pinning state keeps the minimal information around for
      pinning. Therefore, unpinning a block will cause the state to disappear.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/5761
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      d66a5a41
    • Alexander Samusev's avatar
      [ci] Use parity common runners in all workflows (#5949) · ee0c4606
      Alexander Samusev authored
      cc https://github.com/paritytech/ci_cd/issues/1039
      ee0c4606
    • Branislav Kontur's avatar
      Update docker image for bridges substrate-relay (#5947) · e354d668
      Branislav Kontur authored
      This PR updates the substrate-relay version for the bridges' Zombienet
      tests.
      e354d668
    • Alin Dima's avatar
      parachain-system: send core selector ump signal (#5888) · df8b8700
      Alin Dima authored
      
      
      Runtime side of https://github.com/paritytech/polkadot-sdk/issues/5048
      
      Send the core selector ump signal in cumulus. Guarded by a compile time
      feature until nodes are upgraded to a version that includes
      https://github.com/paritytech/polkadot-sdk/pull/5423 for gracefully
      handling ump signals.
      
      ---------
      
      Co-authored-by: default avatarGitHub Action <[email protected]>
      df8b8700
    • Juan Ignacio Rios's avatar
      Generic slashing side-effects (#5623) · c0ddfbae
      Juan Ignacio Rios authored
      # Description
      ## What?
      Make it possible for other pallets to implement their own logic when a
      slash on a balance occurs.
      
      ## Why?
      In the [introduction of
      holds](https://github.com/paritytech/substrate/pull/12951) @gavofyork
      said:
      > Since Holds are designed to be infallibly slashed, this means that any
      logic using a Freeze must handle the possibility of the frozen amount
      being reduced, potentially to zero. A permissionless function should be
      provided in order to allow bookkeeping to be updated in this instance.
      
      At Polimec we needed to find a way to reduce the vesting schedules of
      our users after a slash was made, and after talking to @Kianenigma
      
       at
      the Web3Summit, we realized there was no easy way to implement this with
      the current traits, so we came up with this solution.
      
      
      
      ## How?
      - First we abstract the `done_slash` function of holds::Balanced to it's
      own trait that any pallet can implement.
      - Then we add a config type in pallet-balances that accepts a callback
      tuple of all the pallets that implement this trait.
      - Finally implement done_slash for pallet-balances such that it calls
      the config type.
      
      ## Integration
      The default implementation of done_slash is still an empty function, and
      the new config type of pallet-balances can be set to an empty tuple, so
      nothing changes by default.
      
      ## Review Notes
      - I suggest to focus on the first commit which contains the main logic
      changes.
      - I also have a working implementation of done_slash for pallet_vesting,
      should I add it to this PR?
      - If I run `cargo +nightly fmt --all` then I get changes to a lot of
      unrelated crates, so not sure if I should run it to avoid the fmt
      failure of the CI
      - Should I hunt down references to fungible/fungibles documentation and
      update it accordingly?
      
      **Polkadot address:** `15fj1UhQp8Xes7y7LSmDYTy349mXvUwrbNmLaP5tQKBxsQY1`
      
      # Checklist
      
      * [x] My PR includes a detailed description as outlined in the
      "Description" and its two subsections above.
      * [x] 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)
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      c0ddfbae
    • Andrei Sandu's avatar
      Elastic scaling: runtime v2 descriptor support (#5423) · 4b356c4b
      Andrei Sandu authored
      
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/5045 and
      https://github.com/paritytech/polkadot-sdk/issues/5046
      
      <del>On top of
      https://github.com/paritytech/polkadot-sdk/pull/5362</del>
      
      TODO:
      - [x] storage migration for allowed relay parents tracker 
      - [x] check session index
      - [x] PRdoc
      - [x] tests
      - [x] ensure UMP queue cannot be abused with this change
      - [x] Zombienet runtime upgrade test
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      4b356c4b
  6. Oct 06, 2024
    • dependabot[bot]'s avatar
      Bump docker/build-push-action from 6.7.0 to 6.8.0 in the ci_dependencies group (#5863) · 4bda956d
      dependabot[bot] authored
      
      
      Bumps the ci_dependencies group with 1 update:
      [docker/build-push-action](https://github.com/docker/build-push-action).
      
      Updates `docker/build-push-action` from 6.7.0 to 6.8.0
      <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.8.0</h2>
      <ul>
      <li>Bump <code>@​docker/actions-toolkit</code> from 0.37.1 to 0.38.0 in
      <a
      href="https://redirect.github.com/docker/build-push-action/pull/1230">docker/build-push-action#1230</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/docker/build-push-action/compare/v6.7.0...v6.8.0">https://github.com/docker/build-push-action/compare/v6.7.0...v6.8.0</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/docker/build-push-action/commit/32945a339266b759abcbdc89316275140b0fc960"><code>32945a3</code></a>
      Merge pull request <a
      href="https://redirect.github.com/docker/build-push-action/issues/1230">#1230</a>
      from docker/dependabot/npm_and_yarn/docker/actions-t...</li>
      <li><a
      href="https://github.com/docker/build-push-action/commit/e0fe9cf0f26132beab7b62929bd647eef9e7df31"><code>e0fe9cf</code></a>
      chore: update generated content</li>
      <li><a
      href="https://github.com/docker/build-push-action/commit/8f1ff6bf9a836299c21b10f942be49efb52a832c"><code>8f1ff6b</code></a>
      chore(deps): Bump <code>@​docker/actions-toolkit</code> from 0.37.1 to
      0.38.0</li>
      <li>See full diff in <a
      href="https://github.com/docker/build-push-action/compare/5cd11c3a4ced054e52742c5fd54dca954e0edd85...32945a339266b759abcbdc89316275140b0fc960">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=docker/build-push-action&package-manager=github_actions&previous-version=6.7.0&new-version=6.8.0)](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 <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      4bda956d
    • Jonathan Udd's avatar
      Added people-polkadot Dwellir bootnodes (#5893) · ec73ea95
      Jonathan Udd authored
      # Description
      
      Adding Dwellir bootnodes in the `people-polkadot.json` spec file.
      ec73ea95
    • Alexandru Vasile's avatar
      beefy/metrics: Add number of live peers available for requests (#5859) · c733c525
      Alexandru Vasile authored
      
      
      This PR adds a new beefy metric to monitor the number of live beefy
      peers.
      
      Part of investigation of litep2p request failures:
      https://github.com/paritytech/polkadot-sdk/issues/4985
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      c733c525