Skip to content
  1. Apr 28, 2024
    • dependabot[bot]'s avatar
      Bump snow from 0.9.3 to 0.9.6 (#4061) · 92a348f5
      dependabot[bot] authored
      
      
      Bumps [snow](https://github.com/mcginty/snow) from 0.9.3 to 0.9.6.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/mcginty/snow/releases">snow's
      releases</a>.</em></p>
      <blockquote>
      <h2>v0.9.6</h2>
      <ul>
      <li>Validate invalid PSK positions when building a Noise protocol.</li>
      <li>Raise errors in various typos/mistakes in Noise patterns when
      parsing.</li>
      <li>Deprecate the <code>sodiumoxide</code> backend, as that crate is no
      longer maintained. We may eventually migrate it to a maintaned version
      of the crate, but for now it's best to warn users.</li>
      <li>Set a hard limit in <code>read_message()</code> in transport mode to
      65535 to be fully compliant with the Noise specification.</li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/mcginty/snow/compare/v0.9.5...v0.9.6">https://github.com/mcginty/snow/compare/v0.9.5...v0.9.6</a></p>
      <h2>v0.9.5</h2>
      <p>This is a security release that fixes a logic flaw in decryption in
      <code>TransportState</code> (i.e. the stateful one), where the nonce
      could increase even when decryption failed, which can cause a desync
      between the sender and receiver, opening this up as a denial of service
      vector if the attacker has the ability to inject packets in the channel
      Noise is talking over.</p>
      <p>More details can be found in the advisory: <a
      href="https://github.com/mcginty/snow/security/advisories/GHSA-7g9j-g5jg-3vv3">https://github.com/mcginty/snow/security/advisories/GHSA-7g9j-g5jg-3vv3</a></p>
      <p>All users are encouraged to update.</p>
      <h2>v0.9.4</h2>
      <p>This is a dependency version bump release because a couple of
      important dependencies released new versions that needed a
      <code>Cargo.toml</code> bump:</p>
      <ul>
      <li><code>ring</code> 0.17</li>
      <li><code>pqcrypto-kyber</code> 0.8</li>
      <li><code>aes-gcm</code> 0.10</li>
      <li><code>chacha20poly1305</code> 0.10</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/mcginty/snow/commit/a4be73faa042c5967f39662aa66919f774831a9a"><code>a4be73f</code></a>
      meta: v0.9.6 release</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/9e53dcf5bbea869b5e3e9ed26866d683906bc848"><code>9e53dcf</code></a>
      TransportState: limit read_message size to 65535</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/faf05609e19f4106cd47b78123415dfeb9330861"><code>faf0560</code></a>
      Deprecate sodiumoxide resolver</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/308a24d23da13cb01a173f0ec23f140898801fb9"><code>308a24d</code></a>
      Add warnings about multiple calls to same method in Builder</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/f280991ae408685d72e098545314f2be160e57f9"><code>f280991</code></a>
      Error when extraneous parameters are included in string to parse</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/dbdcc4803aae6e5d9910163a7d52e0df8def4310"><code>dbdcc48</code></a>
      Error on duplicate modifiers in parameter string</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/8b1a819c93ceae98f9ba0a1be192fa61fdec78c2"><code>8b1a819</code></a>
      Validate PSK index in pattern to avoid panic</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/74e30cf591d6d89c8a1670ee713ecc4e9607e38f"><code>74e30cf</code></a>
      meta: v0.9.5 release</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/12e8ae55547ae297d5f70599e5c884ea891303eb"><code>12e8ae5</code></a>
      Stateful nonce desync fix</li>
      <li><a
      href="https://github.com/mcginty/snow/commit/02c26b7551cb7e221792a9d3d3a94730e6a34e8a"><code>02c26b7</code></a>
      Remove clap from simple example</li>
      <li>Additional commits viewable in <a
      href="https://github.com/mcginty/snow/compare/v0.9.3...v0.9.6">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=snow&package-manager=cargo&previous-version=0.9.3&new-version=0.9.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      You can disable automated security fix PRs for this repo from the
      [Security Alerts
      page](https://github.com/paritytech/polkadot-sdk/network/alerts).
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      92a348f5
    • Squirrel's avatar
      remove unnessisary use statements due to 2021 core prelude (#4183) · 954150f3
      Squirrel authored
      Some traits are already included in the 2021 prelude and so shouldn't be
      needed to use explicitly:
      
      use `convert::TryFrom`, `convert::TryInto`, and `iter::FromIterator` are
      removed.
      
      ( https://doc.rust-lang.org/core/prelude/rust_2021/ )
      
      No breaking changes or change of functionality, so I think no PR doc is
      needed in this case.
      
      (Motivation: Removes some references to `sp-std`)
      954150f3
    • Ankan's avatar
      [Staking] Runtime api if era rewards are pending to be claimed (#4301) · 73b9a839
      Ankan authored
      closes https://github.com/paritytech/polkadot-sdk/issues/426.
      related to https://github.com/paritytech/polkadot-sdk/pull/1189.
      
      Would help offchain programs to query if there are unclaimed pages of
      rewards for a given era.
      
      The logic could look like below
      
      ```js
      // loop as long as all era pages are claimed.
      while (api.call.stakingApi.pendingRewards(era, validator_stash)) {
        api.tx.staking.payout_stakers(validator_stash, era)
      }
      ```
      73b9a839
  2. Apr 26, 2024
    • antiyro's avatar
      fix(seal): shameless fix on sealing typo (#4304) · 2a497d29
      antiyro authored
      2a497d29
    • Ron's avatar
      Snowbridge: deposit extra fee to beneficiary on Asset Hub (#4175) · d893cde2
      Ron authored
      
      
      Just the upper-stream for
      https://github.com/Snowfork/polkadot-sdk/pull/137 and more context
      there.
      
      ---------
      
      Co-authored-by: default avatarClara van Staden <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      d893cde2
    • Tsvetomir Dimitrov's avatar
      Implementation of the new validator disabling strategy (#2226) · 988e30f1
      Tsvetomir Dimitrov authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/1966,
      https://github.com/paritytech/polkadot-sdk/issues/1963 and
      https://github.com/paritytech/polkadot-sdk/issues/1962.
      
      Disabling strategy specification
      [here](https://github.com/paritytech/polkadot-sdk/pull/2955). (Updated
      13/02/2024)
      
      Implements:
      * validator disabling for a whole era instead of just a session
      * no more than 1/3 of the validators in the active set are disabled
      Removes:
      * `DisableStrategy` enum - now each validator committing an offence is
      disabled.
      * New era is not forced if too many validators are disabled.
      
      Before this PR not all offenders were disabled. A decision was made
      based on [`enum
      DisableStrategy`](https://github.com/paritytech/polkadot-sdk/blob/bbb66316/substrate/primitives/staking/src/offence.rs#L54).
      Some offenders were disabled for a whole era, some just for a session,
      some were not disabled at all.
      
      This PR changes the disabling behaviour. Now a validator committing an
      offense is disabled immediately till the end of the current era.
      
      Some implementation notes:
      * `OffendingValidators` in pallet session keeps all offenders (this is
      not changed). However its type is changed from `Vec<(u32, bool)>` to
      `Vec<u32>`. The reason is simple - each offender is getting disabled so
      the bool doesn't make sense anymore.
      * When a validator is disabled it is first added to
      `OffendingValidators` and then to `DisabledValidators`. This is done in
      [`add_offending_validator`](https://github.com/paritytech/polkadot-sdk/blob/bbb66316/substrate/frame/staking/src/slashing.rs#L325)
      from staking pallet.
      * In
      [`rotate_session`](https://github.com/paritytech/polkadot-sdk/blob/bdbe9829/substrate/frame/session/src/lib.rs#L623)
      the `end_session` also calls
      [`end_era`](https://github.com/paritytech/polkadot-sdk/blob/bbb66316/substrate/frame/staking/src/pallet/impls.rs#L490)
      when an era ends. In this case `OffendingValidators` are cleared
      **(1)**.
      * Then in
      [`rotate_session`](https://github.com/paritytech/polkadot-sdk/blob/bdbe9829/substrate/frame/session/src/lib.rs#L623)
      `DisabledValidators` are cleared **(2)**
      * And finally (still in `rotate_session`) a call to
      [`start_session`](https://github.com/paritytech/polkadot-sdk/blob/bbb66316
      
      /substrate/frame/staking/src/pallet/impls.rs#L430)
      repopulates the disabled validators **(3)**.
      * The reason for this complication is that session pallet knows nothing
      abut eras. To overcome this on each new session the disabled list is
      repopulated (points 2 and 3). Staking pallet knows when a new era starts
      so with point 1 it ensures that the offenders list is cleared.
      
      ---------
      
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarMaciej <[email protected]>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAnkan <[email protected]>
      988e30f1
    • thiolliere's avatar
      Try state: log errors instead of loggin the number of error and discarding them (#4265) · 97f74253
      thiolliere authored
      
      
      Currently we discard errors content
      We should at least log it.
      
      Code now is more similar to what is written in try_on_runtime_upgrade.
      
      label should be R0
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarJavier Bullrich <[email protected]>
      97f74253
    • Svyatoslav Nikolsky's avatar
      Bridges: added helper function to relay single GRANDPA proof + header (#4307) · 9a48cd70
      Svyatoslav Nikolsky authored
      
      
      related to
      https://github.com/paritytech/parity-bridges-common/issues/2962
      silent, because the actual code for subcommand is added in the
      `parity-bridges-common` repo, where binary lives
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      9a48cd70
    • Javyer's avatar
      review-bot: reverted #4271 and added `workflow_dispatch` (#4293) · d212fc7a
      Javyer authored
      This PR includes two changes:
      - added `workflow_dispatch` to review bot
      - reverted #4271
      
      ### Added `workflow_dispatch` to review bot
      This allows us, in the case that review-bot fails for some fork reasons,
      to trigger it manually ensuring that we can overcame the problem with
      the multiple actions while we look for a solution.
      
      <img width="342" alt="image"
      src="https://github.com/paritytech/polkadot-sdk/assets/8524599/f432f91b-829a-4da4-b4ca-54cc4fe280c8">
      
      ### Reverted #4271
      Unfortunately, the changes added in #4271 do not work in forks.
      
      Here is a lengthy discussion of many individuals facing the same problem
      as me:
      - [GitHub Action `pull_request` attribute empty in `workflow_run` event
      object for PR from forked repo
      #25220](https://github.com/orgs/community/discussions/25220)
      
      So I had to revert it (but I updated the dependencies to latest).
      
      #### Miscellaneous changes
      
      I added a debug log at the end of review bot in case it fails so we can
      easily debug it without having to make a lot of boilerplate and forks to
      duplicate the environment.
      d212fc7a
    • Svyatoslav Nikolsky's avatar
      Bump bridges relay version + uncomment bridges zombeinet tests (#4289) · c66d8a84
      Svyatoslav Nikolsky authored
      TODOs:
      - [x] wait and see if test `1` works;
      - [x] ~think of whether we need remaining tests.~ I think we should keep
      it - will try to revive and update it
      c66d8a84
    • Oliver Tale-Yazdi's avatar
      [balances] Safeguard against consumer ref underflow (#3865) · e8f7c81d
      Oliver Tale-Yazdi authored
      
      
      There are some accounts that do not have a consumer ref while having a
      reserve.
      This adds a fail-safe mechanism to trigger in the case that
      `does_consume` is true, but the assumption of `consumer>0` is not.
      
      This should prevent those accounts from loosing balance and the TI from
      getting messed up even more, but is not an "ideal" fix. TBH an ideal fix
      is not possible, since on-chain data is in an invalid state.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      e8f7c81d
    • Noah Jelich's avatar
      Fix bad links (#4231) · 8f8c49de
      Noah Jelich authored
      The solochain template links to parachain template instead of solochain.
      8f8c49de
  3. Apr 25, 2024
  4. Apr 24, 2024
    • Francisco Aguirre's avatar
      Revert `execute_blob` and `send_blob` (#4266) · 4f3d43a0
      Francisco Aguirre authored
      Revert "pallet-xcm: Deprecate `execute` and `send` in favor of
      `execute_blob` and `send_blob` (#3749)"
      
      This reverts commit feee773d
      
      .
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatarJavier Bullrich <[email protected]>
      4f3d43a0
    • Javyer's avatar
      Updated review-bot to obtain number from event (#4271) · d29c3636
      Javyer authored
      It seems that `review-trigger` is not uploading the artifact that is
      used by `review-bot`, so I changed the PR-Number to be obtained by the
      previous event that triggered this action.
      
      I also took the liberty to replace `tibdex/github-app-token` for
      `actions/create-github-app-token` which is GitHub's official app.
      d29c3636
    • Branislav Kontur's avatar
      `AllowHrmpNotificationsFromRelayChain` barrier for HRMP notifications from the relaychain (#4156) · ac473cfa
      Branislav Kontur authored
      This PR:
      - introduces `AllowHrmpNotificationsFromRelayChain` barrier for allowing
      HRMP notifications just from the relay chain (to fulfill safety
      assumptions -
      [see](https://github.com/paritytech/polkadot-sdk/blob/master/polkadot/xcm/src/v4/mod.rs#L532))
      - sets it up for all testnet SP parachains
      
      Continuation of: https://github.com/paritytech/polkadot-sdk/pull/3696
      ac473cfa
    • Serban Iorga's avatar
      [BEEFY] Return valid signatures when verifying commitment (#4259) · 8dc0b337
      Serban Iorga authored
      Trying to split parts of the
      https://github.com/paritytech/polkadot-sdk/pull/1903 into smaller PRs
      
      For https://github.com/paritytech/polkadot-sdk/pull/1903 it would help
      if `verify_with_validator_set()` returned the list of valid
      authority-signatures pairs, since after the verification we need to send
      them in the equivocation proof.
      8dc0b337
    • Alexander Kalankhodzhaev's avatar
      Remove unnecessary cloning (#4263) · c594b10a
      Alexander Kalankhodzhaev authored
      Seems like Externalities already [return a
      vector](https://github.com/paritytech/polkadot-sdk/blob/ffbce2a8
      
      /substrate/primitives/externalities/src/lib.rs#L86),
      so calling `to_vec` on a vector just results in an unneeded copying.
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      c594b10a
    • Adrian Catangiu's avatar
      pallet-xcm::transfer_assets_using_type() supports custom actions on destination (#4260) · e0584a15
      Adrian Catangiu authored
      
      
      Change `transfer_assets_using_type()` to not assume `DepositAssets` as
      the intended use of the assets on the destination.
      
      Instead provides the caller with the ability to specify custom XCM that
      be executed on `dest` chain as the last step of the transfer, thus
      allowing custom usecases for the transferred assets. E.g. some are
      used/swapped/etc there, while some are sent further to yet another
      chain.
      
      Note: this is a follow-up on
      https://github.com/paritytech/polkadot-sdk/pull/3695, bringing in an API
      change for `transfer_assets_using_type()`. This is ok as the previous
      version has not been yet released. Thus, its first release will include
      the new API proposed by this PR.
      
      This allows usecases such as:
      https://forum.polkadot.network/t/managing-sas-on-multiple-reserve-chains-for-same-asset/7538/4
      
      BTW: all this pallet-xcm asset transfers code will be massively reduced
      once we have https://github.com/paritytech/xcm-format/pull/54
      
      ---------
      
      Signed-off-by: default avatarAdrian Catangiu <[email protected]>
      e0584a15
    • Alexandru Gheorghe's avatar
      Plumbing to increase pvf workers configuration based on chain id (#4252) · 9a0049d0
      Alexandru Gheorghe authored
      
      
      Part of https://github.com/paritytech/polkadot-sdk/issues/4126 we want
      to safely increase the execute_workers_max_num gradually from chain to
      chain and assess if there are any negative impacts.
      
      This PR performs the necessary plumbing to be able to increase it based
      on the chain id, it increase the number of execution workers from 2 to 4
      on test network but lives kusama and polkadot unchanged until we gather
      more data.
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      9a0049d0
    • gupnik's avatar
      Adds ability to trigger tasks via unsigned transactions (#4075) · 0a56d071
      gupnik authored
      
      
      This PR updates the `validate_unsigned` hook for `frame_system` to allow
      valid tasks to be submitted as unsigned transactions. It also updates
      the task example to be able to submit such transactions via an off-chain
      worker.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0a56d071
  5. Apr 23, 2024
  6. Apr 22, 2024