Skip to content
Snippets Groups Projects
  1. Jul 24, 2024
    • Parth Mittal's avatar
      Remove `pallet-getter` usage from pallet-transaction-payment (#4970) · 71109c5f
      Parth Mittal authored
      
      As per #3326, removes usage of the `pallet::getter` macro from the
      `transaction-payment` pallet. The syntax `StorageItem::<T, I>::get()`
      should be used instead.
      
      Also, adds public functions for compatibility.
      
      NOTE: The `Releases` enum has been made public to transition
      `StorageVersion` from `pub(super) type` to `pub type`.
      
      cc @muraca
      
      polkadot address: 5GsLutpKjbzsbTphebs9Uy4YK6gTN47MAaz6njPktidjR5cp
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • thiolliere's avatar
      pallet macro: do not generate try-runtime related code when frame-support... · 8a96d07e
      thiolliere authored
      pallet macro: do not generate try-runtime related code when frame-support doesn't have try-runtime. (#5099)
      
      Status: Ready for review
      
      Fix https://github.com/paritytech/polkadot-sdk/issues/5092
      
      Introduce a new macro in frame-support which discard content if
      `try-runtime` is not enabled.
      
      Use this macro inside `frame-support-procedural` to generate code only
      when `frame-support` is compiled with `try-runtime`.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Luiz Carvalho's avatar
      fix(chain-spec): ChainSpecBuilder with object as default genesis (#4345) · b9aa8ab6
      Luiz Carvalho authored
      
      The current `json_patch::merge` function will replace the default
      configuration with the builder action if the action is not a JSON
      Object, which means, if not configured, the current code will try to use
      `Value::Null` as the config, which (almost?) always fails, making it
      mandatory to configure `with_genesis_config...`.
      
      This change uses a JSON Object as the default values, which means the
      code will continue using the default config if none is given.
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • drskalman's avatar
      Migrate BEEFY BLS crypto to bls12-381 curve (#4931) · 76a6d478
      drskalman authored
      
      We are definitely going to use BLS12-381 for BEEFY and it is hard coded
      in JAM's spec. This PR implements missing tests for bls12-381 crypto,
      migrate BEEFY BLS crypto to bls12-381 and adapt the BEEFY primitive
      tests accordingly.
      
      ---------
      
      Co-authored-by: default avatarDavide Galassi <davxy@datawok.net>
    • dependabot[bot]'s avatar
      Bump clap from 4.5.9 to 4.5.10 in the known_good_semver group (#5120) · 7f332cd3
      dependabot[bot] authored
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.5.9 to 4.5.10
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.5.10</h2>
      <h2>[4.5.10] - 2024-07-23</h2>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.5.10] - 2024-07-23</h2>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/6243d6546301855c6fc71680e2bf6976f064aee1"><code>6243d65</code></a>
      fix: Only generate stubs if has subcommands</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f5965e586292d31b2a2cbd83f19d145180471012"><code>f5965e5</code></a>
      chore: Update dependencies</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.9...v4.5.10">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=clap&package-manager=cargo&previous-version=4.5.9&new-version=4.5.10)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • tmpolaczyk's avatar
      Use jobserver in wasm-builder to limit concurrency of spawned cargo processes (#4946) · fee481f9
      tmpolaczyk authored
      
      When building multiple runtimes in parallel, each of them will try to
      use the concurrency set by the parent cargo process. For example, in a
      system with 8 cpu cores, building 3 runtimes in parallel creates 8 * 3
      tasks. This results in the system hanging because of the high cpu and
      memory usage.
      
      This PR allows the substrate_wasm_builder to use the same [jobserver][1]
      as the parent cargo process, making all invocations of cargo share the
      same concurrency pool. So in a system with 8 cores, there will never be
      more than 8 tasks running at the same time.
      
      Implementation roughly based on [cargo][2] but with less unsafe.
      
      This can be tested by telling cargo to use half the cpu cores, like
      `cargo build -j4` in an 8 core machine. Before this PR it will use 100%
      cpu when building 2 runtimes in parallel, after this PR it will always
      use 50%.
      
      [1]:
      https://doc.rust-lang.org/cargo/reference/build-scripts.html#jobserver
      [2]:
      https://github.com/rust-lang/cargo/blob/d1b5f0759eedf5f1126c781c64232856956069ad/src/cargo/util/context/mod.rs#L271
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • dharjeezy's avatar
      include events for voting (#4613) · 2982bf3e
      dharjeezy authored
      
      closes https://github.com/paritytech/polkadot-sdk/issues/143
      
      Polkadot address: 12GyGD3QhT4i2JJpNzvMf96sxxBLWymz4RdGCxRH5Rj5agKW
      
      ---------
      
      Co-authored-by: default avatarMuharem <ismailov.m.h@gmail.com>
    • Alexandru Gheorghe's avatar
      [subsystem-bench] Add mocks for own assignments triggering (#5042) · 82a30782
      Alexandru Gheorghe authored
      
      Since https://github.com/paritytech/polkadot-sdk/pull/4772, the
      benchamrks triggers its own assignments, but the mocks weren't properly
      hooked up, so that the approval is sent as well, so they would have
      counted as no-shows and impact the time it takes for a block to be
      approved.
      
      Fixed by adding mocks for availability recovery and candidate-validation
      and hook those into the benchmark.
      
      Signed-off-by: default avatarAlexandru Gheorghe <alexandru.gheorghe@parity.io>
  2. Jul 23, 2024
    • Oliver Tale-Yazdi's avatar
      Remove not-audited warning (#5114) · 604f56f0
      Oliver Tale-Yazdi authored
      
      Pallet tx-pause and safe-mode are both audited, see: #4445
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Alexandru Vasile's avatar
      hotfix: blockchain/backend: Skip genesis leaf to unblock syncing (#5103) · 6b506370
      Alexandru Vasile authored
      This PR effectively skips over cases where the blockchain reports the
      genesis block as leaf.
      
      The issue manifests as the blockchain getting stuck and not importing
      blocks after a while.
      Although the root-cause of why the blockchain reports the genesis as
      leaf is not scoped, this hot-fix is unblocking the new release.
      
      While at it, added some extra debug logs to identify issues more easily
      in the future.
      
      ### Issue
      
      ```
      2024-07-22 10:06:08.708 DEBUG tokio-runtime-worker db::blockchain: Checking for displaced leaves after finalization. leaves=[0xd62aea69664b74c55b7e79ab5855b117d213156a5e9ab05ad0737772aaf42c14, 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe] finalized_block_hash=0x8f8e…7f34 finalized_block_number=24148459
      2024-07-22 10:06:08.708 DEBUG tokio-runtime-worker db::blockchain: Handle displaced leaf 0xd62aea69664b74c55b7e79ab5855b117d213156a5e9ab05ad0737772aaf42c14 (elapsed 25.74µs) leaf_number=24148577
      2024-07-22 10:06:08.709 DEBUG tokio-runtime-worker db::blockchain: Leaf points to the finalized header 0xd62aea69664b74c55b7e79ab5855b117d213156a5e9ab05ad0737772aaf42c14, skipping for now (elapsed 70.72µs)
      
      
      // This is Kusama genesis
      2024-07-22 10:06:08.709 DEBUG tokio-runtime-worker db::blockchain: Handle displaced leaf 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe (elapsed 127.271µs) leaf_number=0
      2024-07-22 10:06:08.709 DEBUG tokio-runtime-worker db::blockchain: Skip more blocks until we get all blocks on finalized chain until the height of the parent block current_hash=0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe current_num=0 finalized_num=24148458
      ```
      
      ### Before
      
      ```
      2024-07-20 00:45:00.234  INFO tokio-runtime-worker substrate: :gear:️  Preparing  0.0 bps, target=#24116589 (50 peers), best: #24116498 (0xb846…8720), finalized #24116493 (0x50b6…2445), :arrow_down: 2.3MiB/s :arrow_up: 2.6kiB/s    
         
      ...
      
      2024-07-20 14:05:18.572  INFO tokio-runtime-worker substrate: :gear:️  Syncing  0.0 bps, target=#24124495 (51 peers), best: #24119976 (0x6970…aeb3), finalized #24119808 (0xd900…abe4), :arrow_down: 2.2MiB/s :arrow_up: 3.1kiB/s    
      2024-07-20 14:05:23.573  INFO tokio-runtime-worker substrate: :gear:️  Syncing  0.0 bps, target=#24124495 (51 peers), best: #24119976 (0x6970…aeb3), finalized #24119808 (0xd900…abe4), :arrow_down: 2.2MiB/s :arrow_up: 5.8kiB/s    
      ```
      
      ### After
      
      ```
      2024-07-22 10:41:10.897 DEBUG tokio-runtime-worker db::blockchain: Handle displaced leaf 0x4e8cf3ff18e7d13ff7fec28f9fc8ce6eff5492ed8dc046e961b76dec5c0cfddf (elapsed 39.26µs) leaf_number=24150969
      2024-07-22 10:41:10.897 DEBUG tokio-runtime-worker db::blockchain: Leaf points to the finalized header 0x4e8cf3ff18e7d13ff7fec28f9fc8ce6eff5492ed8dc046e961b76dec5c0cfddf, skipping for now (elapsed 49.69µs)
      2024-07-22 10:41:10.897 DEBUG tokio-runtime-worker db::blockchain: Skip genesis block 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe reporterd as leaf (elapsed 54.57µs)
      2024-07-22 10:41:10.897 DEBUG tokio-runtime-worker db::blockchain: Finished with result DisplacedLeavesAfterFinalization { displaced_leaves: [], displaced_blocks: [] } (elapsed 58.78µs) finalized_block_hash=0x02b3…5338 finalized_block_number=24150967
      2024-07-22 10:41:12.357  INFO tokio-runtime-worker substrate: :trophy: Imported #24150970 (0x4e8c…fddf → 0x3637…56bb)
      2024-07-22 10:41:12.862  INFO tokio-runtime-worker substrate: :zzz: Idle (50 peers), best: #24150970 (0x3637…56bb), finalized #24150967 (0x02b3…5338), :arrow_down: 2.0MiB/s :arrow_up: 804.7kiB/s
      2024-07-22 10:41:14.772 DEBUG tokio-runtime-worker db::blockchain: Checking for displaced leaves after finalization. leaves=[0x363763b16c23fc20a84f38f67014fa7ae6ba9c708fc074890016699e5ca756bb, 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe] finalized_block_hash=0xa1534a105b90e7036a18ac1c646cd2bd6c41c66cc055817f4f51209ab9070e5c finalized_block_number=24150968
      2024-07-22 10:41:14.772 DEBUG tokio-runtime-worker db::blockchain: Handle displaced leaf 0x363763b16c23fc20a84f38f67014fa7ae6ba9c708fc074890016699e5ca756bb (elapsed 62.48µs) leaf_number=24150970
      2024-07-22 10:41:14.772 DEBUG tokio-runtime-worker db::blockchain: Leaf points to the finalized header 0x363763b16c23fc20a84f38f67014fa7ae6ba9c708fc074890016699e5ca756bb, skipping for now (elapsed 71.76µs)
      2024-07-22 10:41:14.772 DEBUG tokio-runtime-worker db::blockchain: Skip genesis block 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe reporterd as leaf (elapsed 75.96µs)
      2024-07-22 10:41:14.772 DEBUG tokio-runtime-worker db::blockchain: Finished with result DisplacedLeavesAfterFinalization { displaced_leaves: [], displaced_blocks: [] } (elapsed 80.27µs) finalized_block_hash=0xa153…0e5c finalized_block_number=24150968
      2024-07-22 10:41:14.795 DEBUG tokio-runtime-worker db::blockchain: Checking for displaced leaves after finalization. leaves=[0x363763b16c23fc20a84f38f67014fa7ae6ba9c708fc074890016699e5ca756bb, 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe] finalized_block_hash=0xa1534a105b90e7036a18ac1c646cd2bd6c41c66cc055817f4f51209ab9070e5c finalized_block_number=24150968
      2024-07-22 10:41:14.795 DEBUG tokio-runtime-worker db::blockchain: Handle displaced leaf 0x363763b16c23fc20a84f38f67014fa7ae6ba9c708fc074890016699e5ca756bb (elapsed 39.67µs) leaf_number=24150970
      2024-07-22 10:41:14.795 DEBUG tokio-runtime-worker db::blockchain: Leaf points to the finalized header 0x363763b16c23fc20a84f38f67014fa7ae6ba9c708fc074890016699e5ca756bb, skipping for now (elapsed 50.3µs)
      2024-07-22 10:41:14.795 DEBUG tokio-runtime-worker db::blockchain: Skip genesis block 0xb0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe reporterd as leaf (elapsed 54.52µs)
      2024-07-22 10:41:14.795 DEBUG tokio-runtime-worker db::blockchain: Finished with result DisplacedLeavesAfterFinalization { displaced_leaves: [], displaced_blocks: [] } (elapsed 58.66µs) finalized_block_hash=0xa153…0e5c finalized_block_number=24150968
      2024-07-22 10:41:17.863  INFO tokio-runtime-worker substrate: :zzz: Idle (50 peers), best: #24150970 (0x3637…56bb), finalized #24150968 (0xa153…0e5c), :arrow_down: 1.2MiB/s :arrow_up: 815.0kiB/s
      2024-07-22 10:41:18.399  INFO tokio-runtime-worker substrate: :trophy:
      
       Imported #24150971 (0x3637…56bb → 0x4ee3…5f7c)
      ```
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/5088
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Alexandru Vasile's avatar
      network/metrics: Expose number of banned peers from peerstore and enable litep2p metrics (#4977) · 7f905e28
      Alexandru Vasile authored
      
      This PR extends the metrics exposed by the peerstore with the total
      number of banned peers.
      
      The new metric is exposed under
      `substrate_sub_libp2p_peerset_num_banned_peers`.
      
      To easily extend metrics in the future, the `fn num_known_peers` is
      removed in favor of `fn status`.
      
      While at it, enable the metrics for litep2p:
      - total number of peers from peerstore (needed to debug memory
      consumption)
      - total number of banned peers from peerstore (needed to debug
      reputation bans and disconnects)
      
      Have added a couple of tests to validate that the number of banned peers
      is exposed properly.
      
      Part of: https://github.com/paritytech/polkadot-sdk/issues/4681
      
      
      ### Testing Done
      Using [subp2p-explorer](https://github.com/lexnv/subp2p-explorer) have
      submitted random data on tx protocol.
      The peer gets banned, the num of banned peers is incremented then the
      peer is disconnected.
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
      Co-authored-by: default avatarDmitry Markin <dmitry@markin.tech>
    • polka.dom's avatar
      Remove pallet::getter macro from pallet-identity (#4586) · 9974a68c
      polka.dom authored
      
      As per #3326, removes pallet::getter macro usage from the
      pallet-identity. The syntax `StorageItem::<T, I>::get()` should be used
      instead.
      
      Also makes all storage values public
      
      cc @muraca
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: command-bot <>
    • dependabot[bot]'s avatar
      Bump backtrace from 0.3.69 to 0.3.71 (#5110) · 11dd10b4
      dependabot[bot] authored
      
      Bumps [backtrace](https://github.com/rust-lang/backtrace-rs) from 0.3.69
      to 0.3.71.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/backtrace-rs/releases">backtrace's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.3.71</h2>
      <p>This is mostly CI changes, with a very mild bump to our effective cc
      crate version recorded, and a small modification to a previous changeset
      to allow backtrace to run at its current checked-in MSRV on Windows.
      Sorry about that! We will be getting 0.3.70 yanked shortly.</p>
      <h2>What's Changed</h2>
      <ul>
      <li>Make sgx functions exist with cfg(miri) by <a
      href="https://github.com/saethlin"><code>@​saethlin</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/591">rust-lang/backtrace-rs#591</a></li>
      <li>Update version of cc crate by <a
      href="https://github.com/jfgoog"><code>@​jfgoog</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/592">rust-lang/backtrace-rs#592</a></li>
      <li>Pull back MSRV on Windows by <a
      href="https://github.com/workingjubilee"><code>@​workingjubilee</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/598">rust-lang/backtrace-rs#598</a></li>
      <li>Force frame pointers on all i686 tests by <a
      href="https://github.com/workingjubilee"><code>@​workingjubilee</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/601">rust-lang/backtrace-rs#601</a></li>
      <li>Use rustc from stage0 instead of stage0-sysroot by <a
      href="https://github.com/Nilstrieb"><code>@​Nilstrieb</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/602">rust-lang/backtrace-rs#602</a></li>
      <li>Cut backtrace 0.3.71 by <a
      href="https://github.com/workingjubilee"><code>@​workingjubilee</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/599">rust-lang/backtrace-rs#599</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/jfgoog"><code>@​jfgoog</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/592">rust-lang/backtrace-rs#592</a></li>
      <li><a href="https://github.com/Nilstrieb"><code>@​Nilstrieb</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/602">rust-lang/backtrace-rs#602</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71">https://github.com/rust-lang/backtrace-rs/compare/0.3.70...0.3.71</a></p>
      <h2>0.3.70</h2>
      <h2>New API</h2>
      <ul>
      <li>A <code>BacktraceFrame</code> can now have <code>resolve(&amp;mut
      self)</code> called on it thanks to <a
      href="https://github.com/fraillt"><code>@​fraillt</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/526">rust-lang/backtrace-rs#526</a></li>
      </ul>
      <h2>Platform Support</h2>
      <p>We added support for new platforms in this release!</p>
      <ul>
      <li>Thanks to <a href="https://github.com/bzEq"><code>@​bzEq</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/508">rust-lang/backtrace-rs#508</a>
      we now have AIX support!</li>
      <li>Thanks to <a
      href="https://github.com/sthibaul"><code>@​sthibaul</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/567">rust-lang/backtrace-rs#567</a>
      we now have GNU/Hurd support!</li>
      <li>Thanks to <a
      href="https://github.com/dpaoliello"><code>@​dpaoliello</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/587">rust-lang/backtrace-rs#587</a>
      we now support &quot;emulation-compatible&quot; AArch64 Windows (aka
      arm64ec)</li>
      </ul>
      <h3>Windows</h3>
      <ul>
      <li>Rewrite msvc backtrace support to be much faster on 64-bit platforms
      by <a
      href="https://github.com/wesleywiser"><code>@​wesleywiser</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/569">rust-lang/backtrace-rs#569</a></li>
      <li>Fix i686-pc-windows-gnu missing dbghelp module by <a
      href="https://github.com/wesleywiser"><code>@​wesleywiser</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/571">rust-lang/backtrace-rs#571</a></li>
      <li>Fix build errors on <code>thumbv7a-*-windows-msvc</code> targets by
      <a href="https://github.com/kleisauke"><code>@​kleisauke</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/573">rust-lang/backtrace-rs#573</a></li>
      <li>Fix panic in backtrace symbolication on win7 by <a
      href="https://github.com/roblabla"><code>@​roblabla</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/578">rust-lang/backtrace-rs#578</a></li>
      <li>remove few unused windows ffi fn by <a
      href="https://github.com/klensy"><code>@​klensy</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/576">rust-lang/backtrace-rs#576</a></li>
      <li>Make dbghelp look for PDBs next to their exe/dll. by <a
      href="https://github.com/michaelwoerister"><code>@​michaelwoerister</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/584">rust-lang/backtrace-rs#584</a></li>
      <li>Revert 32-bit dbghelp to a version WINE (presumably) likes by <a
      href="https://github.com/ChrisDenton"><code>@​ChrisDenton</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/588">rust-lang/backtrace-rs#588</a></li>
      <li>Update for Win10+ by <a
      href="https://github.com/ChrisDenton"><code>@​ChrisDenton</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/589">rust-lang/backtrace-rs#589</a></li>
      </ul>
      <h3>SGX</h3>
      <p>Thanks to</p>
      <ul>
      <li>Adjust frame IP in SGX relative to image base by <a
      href="https://github.com/mzohreva"><code>@​mzohreva</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/566">rust-lang/backtrace-rs#566</a></li>
      </ul>
      <h2>Internals</h2>
      <p>We did a bunch more work on our CI and internal cleanups</p>
      <ul>
      <li>Modularise CI workflow and validate outputs for binary size checks.
      by <a href="https://github.com/detly"><code>@​detly</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/549">rust-lang/backtrace-rs#549</a></li>
      <li>Commit Cargo.lock by <a
      href="https://github.com/bjorn3"><code>@​bjorn3</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/562">rust-lang/backtrace-rs#562</a></li>
      <li>Enable calling build.rs externally v2 by <a
      href="https://github.com/pitaj"><code>@​pitaj</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/568">rust-lang/backtrace-rs#568</a></li>
      <li>Upgrade to 2021 ed and inline panics by <a
      href="https://github.com/nyurik"><code>@​nyurik</code></a> in <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/pull/538">rust-lang/backtrace-rs#538</a></li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/7be8953188582ea83f1e88622ccdfcab1a49461c"><code>7be8953</code></a><code>rust-lang/backtrace-rs#599</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/c31ea5ba7ac52f5c15c65cfec7d7b5d0bcf00eed"><code>c31ea5b</code></a><code>rust-lang/backtrace-rs#602</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/193125abc094b433859c4fdb2e672d391a6bdf8d"><code>193125a</code></a><code>rust-lang/backtrace-rs#601</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/bdc8b8241b16bb20124a3cec86e1b339e4c008a1"><code>bdc8b82</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/backtrace-rs/issues/598">#598</a>
      from workingjubilee/pull-back-msrv</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/edc9f5cae874bf008e52558e4b2c6c86847c9575"><code>edc9f5c</code></a>
      hack out binary size checks</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/4c8fe973eb39f4cd31c3d6dfd74c6b670de6911a"><code>4c8fe97</code></a>
      add Windows to MSRV tests</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/84dfe2472456a000d7cced566b06f3bada898f8e"><code>84dfe24</code></a>
      hack CI</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/3f08ec085fb5bb4edfb084cf9e3170e953a44107"><code>3f08ec0</code></a>
      Pull back MSRV-breaking ptr::from_ref</li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/6fa4b85b9962c3e1be8c2e5cc605cd078134152b"><code>6fa4b85</code></a><code>rust-lang/backtrace-rs#592</code></li>
      <li><a
      href="https://github.com/rust-lang/backtrace-rs/commit/ea7dc8e964d0046d92382e40308876130e5301ba"><code>ea7dc8e</code></a><code>rust-lang/backtrace-rs#591</code></li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/backtrace-rs/compare/0.3.69...0.3.71">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=backtrace&package-manager=cargo&previous-version=0.3.69&new-version=0.3.71)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Jun Jiang's avatar
      Replace all ansi_term crates (#2923) · bbb86686
      Jun Jiang authored
      
      Now Polkadot-SDK is ansi_term free
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
    • Serban Iorga's avatar
      Beefy equivocation: add runtime API methods (#4993) · 216e8fa1
      Serban Iorga authored
      Related to https://github.com/paritytech/polkadot-sdk/issues/4523
      
      Add runtime API methods for:
      - generating the ancestry proof
      - submiting a fork voting report
      - submitting a future voting report
    • Muharem Ismailov's avatar
      Make `on_unbalanceds` work with `fungibles` `imbalances` (#4564) · 6d0926e2
      Muharem Ismailov authored
      Make `on_unbalanceds` work with `fungibles` `imbalances`.
      
      The `fungibles` `imbalances` cannot be handled by the default
      implementation of `on_unbalanceds` from the `OnUnbalanced` trait. This
      is because the `fungibles` `imbalances` types do not implement the
      `Imbalance` trait (and cannot with its current semantics). The
      `on_unbalanceds` function requires only the `merge` function for the
      imbalance type. In this PR, we provide the `TryMerge` trait, which can
      be implemented by all imbalance types and make `OnUnbalanced` require it
      instead `Imbalance`.
      
      ### Migration for `OnUnbalanced` trait implementations:
      In case if you have a custom implementation of `on_unbalanceds` trait
      function, remove it's `<B>` type argument.
      
      ### Migration for custom imbalance types:
      If you have your own imbalance types implementations, implement the
      `TryMerge` trait for it introduced with this update.
              
      The applicability of the `on_unbalanceds` function to fu...
    • Andrei Eres's avatar
      [subsystem-bench] Adjust approval-voting-regression-bench (#5115) · 2bd187f8
      Andrei Eres authored
      Fixes https://github.com/paritytech/polkadot-sdk/issues/5081
      
      After last changes in approval subsystem and their benchmarks base
      values need to be updated
  3. Jul 22, 2024
    • dependabot[bot]'s avatar
      Bump slotmap from 1.0.6 to 1.0.7 (#5096) · ac98bc3f
      dependabot[bot] authored
      
      Bumps [slotmap](https://github.com/orlp/slotmap) from 1.0.6 to 1.0.7.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/orlp/slotmap/blob/master/RELEASES.md">slotmap's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Version 1.0.7</h1>
      <ul>
      <li>Added <code>clone_from</code> implementations for all slot
      maps.</li>
      <li>Added <code>try_insert_with_key</code> methods that accept a
      fallible closure.</li>
      <li>Improved performance of insertion and key hashing.</li>
      <li>Made <code>new_key_type</code> resistant to shadowing.</li>
      <li>Made iterators clonable regardless of item type clonability.</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/orlp/slotmap/commit/c905b6ced490551476cb7c37778eb8128bdea7ba"><code>c905b6c</code></a>
      Release 1.0.7.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/cdee6974d5d57fef62f862ffad9ffe668652d26f"><code>cdee697</code></a>
      Merge pull request <a
      href="https://redirect.github.com/orlp/slotmap/issues/107">#107</a> from
      waywardmonkeys/minor-doc-tweaks</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/4456784a9bce360ec38005c9f4cbf4b4a6f92162"><code>4456784</code></a>
      Fix a typo and add some backticks.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/a7287a2caa80bb4a6d7a380a92a49d48535357a5"><code>a7287a2</code></a>
      Merge pull request <a
      href="https://redirect.github.com/orlp/slotmap/issues/99">#99</a> from
      chloekek/hash-u64</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/eeaf92e5b3627ac5a2035742c6e2818999ac3d0c"><code>eeaf92e</code></a>
      Provide explicit impl Hash for KeyData</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/ce6e1e02bb2c2074d8d581e87ad9c2f72ce495c3"><code>ce6e1e0</code></a>
      Lint invalid_html_tags has been renamed, but not really necessary.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/941c39301211a03385e8d7915d0d31b6f6f5ecd5"><code>941c393</code></a>
      Fixed remaining references to global namespace in new_key_type
      macro.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/cf7e44c05d777440687cfa0d439a31fdec50cc3a"><code>cf7e44c</code></a>
      Added utility module.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/5575afe1a31c634d5ab15d273ad8793f6711f8b1"><code>5575afe</code></a>
      Ensure insert always has fast path.</li>
      <li><a
      href="https://github.com/orlp/slotmap/commit/7220adc6fa9defb356699f3d96af736e9ef477b5"><code>7220adc</code></a>
      Cargo fmt and added test case for cloneable iterators.</li>
      <li>Additional commits viewable in <a
      href="https://github.com/orlp/slotmap/compare/v1.0.6...v1.0.7">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=slotmap&package-manager=cargo&previous-version=1.0.6&new-version=1.0.7)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Marcus Pang Yu Yang's avatar
      feat: introduce pallet-parameters to Westend to parameterize inflation (#4938) · 6e520eb4
      Marcus Pang Yu Yang authored
      
      Fixes #4907
      
      ## Changes
      - Add `pallet-parameters` to Westend runtime
      - Add `relay_era_payout` function to Polkadot runtime common + deprecate
      previous `era_payout` function
      - Add unit tests for `relay_era_payout`, matching previous unit tests
      for `era_payout`
      - Remove `pallet_staking_reward_curve` in Westend runtime
      - Add `dynamic_params` to replace constants used for
      `pallet_staking_reward_curve`
      
      Polkadot address: 5DybbVdLvVWd7MiA1YwkzLUNL1ThMDicozbuLc8v9pQEScPQ
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      Co-authored-by: default avatarkianenigma <kian@parity.io>
      Co-authored-by: command-bot <>
    • dependabot[bot]'s avatar
      Bump openssl from 0.10.64 to 0.10.66 (#5107) · 20956894
      dependabot[bot] authored
      
      Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.64
      to 0.10.66.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/sfackler/rust-openssl/releases">openssl's
      releases</a>.</em></p>
      <blockquote>
      <h2>openssl-v0.10.66</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Fixed invariant violation in <code>MemBio::get_buf</code> with empty
      results by <a href="https://github.com/alex"><code>@​alex</code></a> in
      <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2266">sfackler/rust-openssl#2266</a></li>
      <li>Release openssl v0.10.66 by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2267">sfackler/rust-openssl#2267</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66</a></p>
      <h2>openssl-v0.10.65</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>don't emit rerun-if-changed when vendoring by <a
      href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2177">sfackler/rust-openssl#2177</a></li>
      <li>Prepare for openssl-sys 0.9.101 release by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2182">sfackler/rust-openssl#2182</a></li>
      <li>don't emit rerun-if-changed unless the path exists and is readable
      by <a href="https://github.com/reaperhulk"><code>@​reaperhulk</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2187">sfackler/rust-openssl#2187</a></li>
      <li>Added support for LibreSSL 3.9.0 by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2202">sfackler/rust-openssl#2202</a></li>
      <li>Support stable LibreSSL 3.9.x by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2209">sfackler/rust-openssl#2209</a></li>
      <li>openssl-sys 0.9.102 release by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2210">sfackler/rust-openssl#2210</a></li>
      <li>Add repository field to openssl-macros crate by <a
      href="https://github.com/paolobarbolini"><code>@​paolobarbolini</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2211">sfackler/rust-openssl#2211</a></li>
      <li>Add missing openssl-sys dependency by <a
      href="https://github.com/pieterdd"><code>@​pieterdd</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2212">sfackler/rust-openssl#2212</a></li>
      <li>Test OpenSSL 3.3.0-beta1 by <a
      href="https://github.com/sfackler"><code>@​sfackler</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2216">sfackler/rust-openssl#2216</a></li>
      <li>test against 3.3.0 final by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2218">sfackler/rust-openssl#2218</a></li>
      <li>fix min-versions in CI by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2228">sfackler/rust-openssl#2228</a></li>
      <li>Make X509_VAL opaque for LibreSSL 4.0.0 by <a
      href="https://github.com/botovq"><code>@​botovq</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2227">sfackler/rust-openssl#2227</a></li>
      <li>Use the newer names for STACK_OF(T) functions with BoringSSL by <a
      href="https://github.com/davidben"><code>@​davidben</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2231">sfackler/rust-openssl#2231</a></li>
      <li>Only declare OpensslCallbacks in bindgen builds by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2234">sfackler/rust-openssl#2234</a></li>
      <li>Fix building with latest BoringSSL by <a
      href="https://github.com/davidben"><code>@​davidben</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2230">sfackler/rust-openssl#2230</a></li>
      <li>Emit rustc-check-cfg for nightly by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2235">sfackler/rust-openssl#2235</a></li>
      <li>Configure OpenSSL data dir on vendored builds. by <a
      href="https://github.com/DanielSidhion"><code>@​DanielSidhion</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2122">sfackler/rust-openssl#2122</a></li>
      <li>Add boringssl keylog callback support by <a
      href="https://github.com/mspublic"><code>@​mspublic</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2237">sfackler/rust-openssl#2237</a></li>
      <li>Correct the name of the <code>pkgconf</code> package on some distros
      by <a
      href="https://github.com/JonathanBrouwer"><code>@​JonathanBrouwer</code></a>
      in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2253">sfackler/rust-openssl#2253</a></li>
      <li>Add some OpenSSL 3 QUIC raw bindings by <a
      href="https://github.com/bdbai"><code>@​bdbai</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2257">sfackler/rust-openssl#2257</a></li>
      <li>Initialize OpenSSL in MD constructors by <a
      href="https://github.com/sfackler"><code>@​sfackler</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2258">sfackler/rust-openssl#2258</a></li>
      <li>Switch Pkey::from_ to use set1 functions by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2262">sfackler/rust-openssl#2262</a></li>
      <li>Release openssl v0.10.65 and openssl-sys v0.9.103 by <a
      href="https://github.com/alex"><code>@​alex</code></a> in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2265">sfackler/rust-openssl#2265</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/paolobarbolini"><code>@​paolobarbolini</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2211">sfackler/rust-openssl#2211</a></li>
      <li><a href="https://github.com/pieterdd"><code>@​pieterdd</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2212">sfackler/rust-openssl#2212</a></li>
      <li><a
      href="https://github.com/DanielSidhion"><code>@​DanielSidhion</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2122">sfackler/rust-openssl#2122</a></li>
      <li><a href="https://github.com/mspublic"><code>@​mspublic</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2237">sfackler/rust-openssl#2237</a></li>
      <li><a
      href="https://github.com/JonathanBrouwer"><code>@​JonathanBrouwer</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2253">sfackler/rust-openssl#2253</a></li>
      <li><a href="https://github.com/bdbai"><code>@​bdbai</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/sfackler/rust-openssl/pull/2257">sfackler/rust-openssl#2257</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.65">https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.65</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/ad70a0bea581e53fc5086afffa5bdfe6eb1b5f49"><code>ad70a0b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2267">#2267</a>
      from alex/bump-for-release</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/5ce473b4e56e8c68e11428d2e9fdb0abf984aa59"><code>5ce473b</code></a>
      Release openssl v0.10.66</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/aef36e0f3950653148d6644309ee41ccf16e02bb"><code>aef36e0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2266">#2266</a>
      from alex/mem-bio-invariant</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/142deef717bad843fc04c5afb925bfd9e7dc4305"><code>142deef</code></a>
      Fixed invariant violation in <code>MemBio::get_buf</code> with empty
      results</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/32f150b05a8996a14561741bceab66a95043cd57"><code>32f150b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2265">#2265</a>
      from alex/bump-for-release</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/98addd271ec1edf3cd598ed093c1c82a081b91eb"><code>98addd2</code></a>
      Release openssl v0.10.65 and openssl-sys v0.9.103</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/7c7958d436cec622c5af39063db8541b4641e73e"><code>7c7958d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2262">#2262</a>
      from alex/pkey-api</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/d7b12ccf1f6864f99ba24080567b38bbd82f39ab"><code>d7b12cc</code></a>
      Switch Pkey::from_ to use set1 functions</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/22ffa9add64d962782d993fae0cd9b348d3b43cd"><code>22ffa9a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/sfackler/rust-openssl/issues/2258">#2258</a>
      from sfackler/init-md</li>
      <li><a
      href="https://github.com/sfackler/rust-openssl/commit/9de3794474d8440e80d362531f82d0d9ce07c22a"><code>9de3794</code></a>
      Initialize OpenSSL in MD constructors</li>
      <li>Additional commits viewable in <a
      href="https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.64...openssl-v0.10.66">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=openssl&package-manager=cargo&previous-version=0.10.64&new-version=0.10.66)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore this major version` will close this PR and stop
      Dependabot creating any more for this major version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this minor version` will close this PR and stop
      Dependabot creating any more for this minor version (unless you reopen
      the PR or upgrade to it yourself)
      - `@dependabot ignore this dependency` will close this PR and stop
      Dependabot creating any more for this dependency (unless you reopen the
      PR or upgrade to it yourself)
      You can disable automated security fix PRs for this repo from the
      [Security Alerts
      page](https://github.com/paritytech/polkadot-sdk/network/alerts).
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • dependabot[bot]'s avatar
      Bump lycheeverse/lychee-action from 1.9.1 to 1.10.0 (#5094) · 935c1424
      dependabot[bot] authored
      
      Bumps
      [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action)
      from 1.9.1 to 1.10.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/lycheeverse/lychee-action/releases">lycheeverse/lychee-action's
      releases</a>.</em></p>
      <blockquote>
      <h2>v1.10.0</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Update <code>actions/checkout</code> to version <code>4</code> by <a
      href="https://github.com/jacobdalamb"><code>@​jacobdalamb</code></a> in
      <a
      href="https://redirect.github.com/lycheeverse/lychee-action/pull/224">lycheeverse/lychee-action#224</a></li>
      <li>Bump lychee to 0.15.0 by <a
      href="https://github.com/mre"><code>@​mre</code></a> in <a
      href="https://redirect.github.com/lycheeverse/lychee-action/pull/226">lycheeverse/lychee-action#226</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/jacobdalamb"><code>@​jacobdalamb</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/lycheeverse/lychee-action/pull/224">lycheeverse/lychee-action#224</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/lycheeverse/lychee-action/compare/v1.9.3...v1.10.0">https://github.com/lycheeverse/lychee-action/compare/v1.9.3...v1.10.0</a></p>
      <h2>Version 1.9.3</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Bugfix: Pass custom <code>token</code> as input argument to action
      by <a href="https://github.com/mre"><code>@​mre</code></a> in <a
      href="https://redirect.github.com/lycheeverse/lychee-action/pull/222">lycheeverse/lychee-action#222</a>
      Previously, the name of the token was incorrect, leading to no token
      being used if the user specified <code>with: [token: ...]</code>.
      Thanks to <a href="https://github.com/tobon4"><code>@​tobon4</code></a>
      for pointing this out.</li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.3">https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.3</a></p>
      <h2>Version 1.9.2</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Bump actions/cache from 3 to 4 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/lycheeverse/lychee-action/pull/221">lycheeverse/lychee-action#221</a></li>
      <li>Bump peter-evans/create-issue-from-file from 4 to 5 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/lycheeverse/lychee-action/pull/223">lycheeverse/lychee-action#223</a></li>
      <li>Bump to lychee 0.14.2 in <a
      href="https://github.com/lycheeverse/lychee-action/commit/eeb9cb63fe093e4d17e5853314dbf862bb35f28d">https://github.com/lycheeverse/lychee-action/commit/eeb9cb63fe093e4d17e5853314dbf862bb35f28d</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.2">https://github.com/lycheeverse/lychee-action/compare/v1...v1.9.2</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/2b973e86fc7b1f6b36a93795fe2c9c6ae1118621"><code>2b973e8</code></a>
      Bump lychee to 0.15.0 (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/226">#226</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/1e92115388e88fdc331019d99c8ab8dfe97ddd13"><code>1e92115</code></a>
      Update <code>actions/checkout</code> to version <code>4</code> (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/224">#224</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/c053181aa0c3d17606addfe97a9075a32723548a"><code>c053181</code></a>
      Pass custom <code>token</code> as input argument to action (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/222">#222</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/eeb9cb63fe093e4d17e5853314dbf862bb35f28d"><code>eeb9cb6</code></a>
      Bump to lychee 0.14.2</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/0fa791a2a1cef2fdc22f703bb81fac6ccaa9ee06"><code>0fa791a</code></a>
      Bump peter-evans/create-issue-from-file from 4 to 5 (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/223">#223</a>)</li>
      <li><a
      href="https://github.com/lycheeverse/lychee-action/commit/8c9a282bef269f1ba1f727d1f79c5b8139bf3a5a"><code>8c9a282</code></a>
      Bump actions/cache from 3 to 4 (<a
      href="https://redirect.github.com/lycheeverse/lychee-action/issues/221">#221</a>)</li>
      <li>See full diff in <a
      href="https://github.com/lycheeverse/lychee-action/compare/c3089c702fbb949e3f7a8122be0c33c017904f9b...2b973e86fc7b1f6b36a93795fe2c9c6ae1118621">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=lycheeverse/lychee-action&package-manager=github_actions&previous-version=1.9.1&new-version=1.10.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 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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Afanti's avatar
      docs: remove the duplicate word (#5095) · 9bd1f252
      Afanti authored
      The word is duplicated in the document and use this commit to remove
      them.
    • Andrei Eres's avatar
      Prepare PVFs if node is a validator in the next session (#4791) · 612c1bd3
      Andrei Eres authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/4324
      - On every active leaf candidate-validation subsystem checks if the node
      is the next session authority.
      - If it is, it fetches backed candidates and prepares unknown PVFs.
      - We limit number of PVFs per block to not overload subsystem.
    • Lulu's avatar
      Update parity publish (#5105) · f13ed8de
      Lulu authored
    • s0me0ne-unkn0wn's avatar
      Rename `assigner_on_demand` to `on_demand` (#4706) · f923443a
      s0me0ne-unkn0wn authored
      
      Closes #3425
      
      ---------
      
      Co-authored-by: default avatarantonva <anton.asgeirsson@parity.io>
      Co-authored-by: command-bot <>
    • gupnik's avatar
      Fixes doc links for `procedural` crate (#5023) · d0d8e291
      gupnik authored
      
      This PR fixes the documentation for FRAME Macros when pointed from
      `polkadot_sdk_docs` crate. This is achieved by referring to the examples
      in the `procedural` crate, embedded via `docify`.
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
    • Alexandru Vasile's avatar
      litep2p: Improve metric reasons for RequestResponse errors (#5077) · 623b68e1
      Alexandru Vasile authored
      
      This PR improves the metrics reported by litep2p on request-response
      errors.
      
      Discovered while investigating:
      - https://github.com/paritytech/polkadot-sdk/issues/4985
      
      
      We are experiencing many requests that are `Refused` by litep2p in
      comparison with libp2p.
      The metric roughly approximates the sum of other reasons from libp2p.
      This PR aims to provide more insights.
      
      ```
      {__name__="substrate_sub_libp2p_requests_out_failure_total", chain="ksmcc3", instance="localhost:9615", job="substrate_node", protocol="/b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe/sync/2", reason="Remote has closed the substream before answering, thereby signaling that it considers the request as valid, but refused to answer it."}
      
          Last *: 3365
          Min: 3363
          Max: 3365
          Mean: 3365
          
          
      {__name__="substrate_sub_libp2p_requests_out_failure_total", chain="ksmcc3", instance="localhost:9615", job="substrate_node", protocol="/b0a8d493285c2df73290dfb7e61f870f17b41801197a149ca93654499ea3dafe/beefy/justifications/1", reason="Remote has closed the substream before answering, thereby signaling that it considers the request as valid, but refused to answer it."}
      
          Last *: 3461
          Min: 3461
          Max: 3461
          Mean: 3461
      ```
      
      Part of:
      - https://github.com/paritytech/polkadot-sdk/issues/4681
      
      cc @paritytech/networking
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
  4. Jul 20, 2024
    • dependabot[bot]'s avatar
      Bump assert_cmd from 2.0.12 to 2.0.14 (#5070) · d1979d4b
      dependabot[bot] authored
      
      Bumps [assert_cmd](https://github.com/assert-rs/assert_cmd) from 2.0.12
      to 2.0.14.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/assert-rs/assert_cmd/blob/master/CHANGELOG.md">assert_cmd's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[2.0.14] - 2024-02-19</h2>
      <h3>Compatibility</h3>
      <ul>
      <li>MSRV is now 1.73.0</li>
      </ul>
      <h3>Features</h3>
      <ul>
      <li>Run using the cargo target runner</li>
      </ul>
      <h2>[2.0.13] - 2024-01-12</h2>
      <h3>Internal</h3>
      <ul>
      <li>Dependency update</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/9ebfc0b140847e926374a8cd0ad235ba93f119f9"><code>9ebfc0b</code></a>
      chore: Release assert_cmd version 2.0.14</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/025c5f6dcb1ca3b0dfc24983e48aab123d093895"><code>025c5f6</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/82b99c139882bdbc3d613094fb0eea944b05419c"><code>82b99c1</code></a>
      Merge pull request <a
      href="https://redirect.github.com/assert-rs/assert_cmd/issues/193">#193</a>
      from glehmann/cross</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/b3a290ce81873bb266457c6ea7f6d94124ba8ed5"><code>b3a290c</code></a>
      feat: add cargo runner support in order to work with cross</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/132db496f6e89454e33b13269b4bb9d42324ce7d"><code>132db49</code></a>
      Merge pull request <a
      href="https://redirect.github.com/assert-rs/assert_cmd/issues/194">#194</a>
      from assert-rs/renovate/rust-1.x</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/f1308abaf458e22511548bc7f3ddecc2bde579ed"><code>f1308ab</code></a>
      chore(deps): update msrv to v1.73</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/9b0f20acd4868a00544b5e28a0fcbcad6689afdf"><code>9b0f20a</code></a>
      Merge pull request <a
      href="https://redirect.github.com/assert-rs/assert_cmd/issues/192">#192</a>
      from assert-rs/renovate/rust-1.x</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/07f4cdee717ea3b6f96ac7eb1eaeb4ed2253d6af"><code>07f4cde</code></a>
      chore(deps): update msrv to v1.72</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/19da72b81c789f9c06817b99c1ecebfe7083dbfb"><code>19da72b</code></a>
      chore: Release assert_cmd version 2.0.13</li>
      <li><a
      href="https://github.com/assert-rs/assert_cmd/commit/db5ee325aafffb5b8e042cda1cc946e36079302a"><code>db5ee32</code></a>
      docs: Update changelog</li>
      <li>Additional commits viewable in <a
      href="https://github.com/assert-rs/assert_cmd/compare/v2.0.12...v2.0.14">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=assert_cmd&package-manager=cargo&previous-version=2.0.12&new-version=2.0.14)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • dependabot[bot]'s avatar
      Bump libc from 0.2.153 to 0.2.155 (#5069) · 7a318d61
      dependabot[bot] authored
      
      Bumps [libc](https://github.com/rust-lang/libc) from 0.2.153 to 0.2.155.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/libc/releases">libc's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.2.155</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add <code>SYS_lseek</code> and <code>SYS_mmap</code> for aarch64
      Android by <a
      href="https://github.com/lberrymage"><code>@​lberrymage</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3632">rust-lang/libc#3632</a></li>
      <li>Correct the value of FAN_MARK_IGNORE by <a
      href="https://github.com/severen"><code>@​severen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3622">rust-lang/libc#3622</a></li>
      <li>Update FreeBSD 13 CI image by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3671">rust-lang/libc#3671</a></li>
      <li>android: add FUTEX_LOCK_PI2 by <a
      href="https://github.com/rtzoeller"><code>@​rtzoeller</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3635">rust-lang/libc#3635</a></li>
      <li>Fix out-of-bounds pointer arithmetic in CMSG_NXTHDR by <a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3676">rust-lang/libc#3676</a></li>
      <li>Revert &quot;Support posix_spawn on Android&quot; by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3678">rust-lang/libc#3678</a></li>
      <li>Unlock ci: fix wrong cfg emscripten by <a
      href="https://github.com/tesuji"><code>@​tesuji</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3684">rust-lang/libc#3684</a></li>
      <li>redox: correct EPOLL constants by <a
      href="https://github.com/jackpot51"><code>@​jackpot51</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3686">rust-lang/libc#3686</a></li>
      <li>[0.2] Revert &quot;Upgrade Docker images to Ubuntu 23.10&quot; on
      sparc64 by <a
      href="https://github.com/cuviper"><code>@​cuviper</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3708">rust-lang/libc#3708</a></li>
      <li>Re-add <code>posix_spawn{_file_actions_t,attr_t}</code> on Android
      by <a href="https://github.com/tesuji"><code>@​tesuji</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3690">rust-lang/libc#3690</a></li>
      <li>Update version to <code>0.2.155</code> by <a
      href="https://github.com/madsmtm"><code>@​madsmtm</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3682">rust-lang/libc#3682</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/lberrymage"><code>@​lberrymage</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3632">rust-lang/libc#3632</a></li>
      <li><a
      href="https://github.com/purplesyringa"><code>@​purplesyringa</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3676">rust-lang/libc#3676</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/libc/compare/0.2.154...0.2.155">https://github.com/rust-lang/libc/compare/0.2.154...0.2.155</a></p>
      <h2>0.2.154</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Fix CI on v0.2 by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3589">rust-lang/libc#3589</a></li>
      <li>[Backport <a
      href="https://redirect.github.com/rust-lang/libc/issues/3547">#3547</a>]
      Add ioctl FS_IOC_{G,S}{ETVERSION,ETFLAGS} for CSKY by <a
      href="https://github.com/Dirreke"><code>@​Dirreke</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3572">rust-lang/libc#3572</a></li>
      <li>Add Linux riscv64 HWCAP defines (libc-0.2) by <a
      href="https://github.com/Xeonacid"><code>@​Xeonacid</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3580">rust-lang/libc#3580</a></li>
      <li>Add missing MIPS R6 FS_IOC_* definitions by <a
      href="https://github.com/chenx97"><code>@​chenx97</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3591">rust-lang/libc#3591</a></li>
      <li>Support posix_spawn on Android by <a
      href="https://github.com/pcc"><code>@​pcc</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3602">rust-lang/libc#3602</a></li>
      <li>[0.2] Fix libc-tests for loongarch64 by <a
      href="https://github.com/heiher"><code>@​heiher</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3607">rust-lang/libc#3607</a></li>
      <li>visionOS Support by <a
      href="https://github.com/agg23"><code>@​agg23</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3568">rust-lang/libc#3568</a></li>
      <li>[0.2] linux/musl: Add support for LoongArch64 by <a
      href="https://github.com/heiher"><code>@​heiher</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3606">rust-lang/libc#3606</a></li>
      <li>v0.2: Fix c_char on AIX by <a
      href="https://github.com/taiki-e"><code>@​taiki-e</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3662">rust-lang/libc#3662</a></li>
      <li>solarish adding SO_EXCLBIND constant. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3651">rust-lang/libc#3651</a></li>
      <li>[0.2] Add SIG constants to espidf by <a
      href="https://github.com/Tevz-Beskovnik"><code>@​Tevz-Beskovnik</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3658">rust-lang/libc#3658</a></li>
      <li>add all android sysconf constants by <a
      href="https://github.com/fkm3"><code>@​fkm3</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3656">rust-lang/libc#3656</a></li>
      <li>feat: more _PC_XXX constants for apple targets by <a
      href="https://github.com/SteveLauC"><code>@​SteveLauC</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3649">rust-lang/libc#3649</a></li>
      <li>feat: O_EXEC/O_SEARCH for apple platforms by <a
      href="https://github.com/SteveLauC"><code>@​SteveLauC</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3668">rust-lang/libc#3668</a></li>
      <li>[0.2] Add constant AT_MINSIGSTKSZ by <a
      href="https://github.com/ur4t"><code>@​ur4t</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3637">rust-lang/libc#3637</a></li>
      <li>Haiku: synchronize with post R1-beta 4 changes in libc by <a
      href="https://github.com/nielx"><code>@​nielx</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3638">rust-lang/libc#3638</a></li>
      <li>adding getentropy/getrandom to dragonflybsd. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3618">rust-lang/libc#3618</a></li>
      <li>Move strftime, strftime_l, strptime to linux_like by <a
      href="https://github.com/pcc"><code>@​pcc</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3600">rust-lang/libc#3600</a></li>
      <li>update crate version to 0.2.154 by <a
      href="https://github.com/Dirreke"><code>@​Dirreke</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3573">rust-lang/libc#3573</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a href="https://github.com/pcc"><code>@​pcc</code></a> made their
      first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3602">rust-lang/libc#3602</a></li>
      <li><a href="https://github.com/agg23"><code>@​agg23</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3568">rust-lang/libc#3568</a></li>
      <li><a
      href="https://github.com/Tevz-Beskovnik"><code>@​Tevz-Beskovnik</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3658">rust-lang/libc#3658</a></li>
      <li><a href="https://github.com/ur4t"><code>@​ur4t</code></a> made their
      first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3637">rust-lang/libc#3637</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/libc/compare/0.2.153...0.2.154">https://github.com/rust-lang/libc/compare/0.2.153...0.2.154</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/libc/commit/7df63bd7f61bf3408344673cf0ba08e7ff0df134"><code>7df63bd</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3682">#3682</a>
      from madsmtm/new-version</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/0bbb5cda65be451d6ca9bf9a425a4edc3d580772"><code>0bbb5cd</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3690">#3690</a>
      from tesuji/android-posix-spawn</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/15c74a4faba398a579a3a551f77cf790d5abf1f8"><code>15c74a4</code></a>
      Update version to 0.2.155</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/664947bdb087711c6e42596d081eacf5ba30dadd"><code>664947b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3708">#3708</a>
      from cuviper/ci-sparc64-0.2</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/61331df06f425934fa43a506e25217f49a039a7c"><code>61331df</code></a>
      Also skip <code>MFD_EXEC</code> and <code>MFD_NOEXEC_SEAL</code> on
      sparc64</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/73d2004d3e8ed9c15d46fd4e69b5f3f7dbbe86c7"><code>73d2004</code></a>
      Skip <code>SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV</code> on sparc64</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/80535f34aafbf089f201dfb217d659e36a18671a"><code>80535f3</code></a>
      Revert &quot;Upgrade Docker images to Ubuntu 23.10&quot; on sparc64</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/b2b2fd71f4cb866c2d3e4579a50a70aa460aab8e"><code>b2b2fd7</code></a>
      Readd posix_spawn{_file_actions_t,attr_t} on Android</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/76462771b6f8a6889ba6becadb53418df5515370"><code>7646277</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3686">#3686</a>
      from redox-os/redox-epoll-0.2</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/5eff703b923d3e1b042e91bc67409cca961f3976"><code>5eff703</code></a>
      redox: correct EPOLL constants</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/libc/compare/0.2.153...0.2.155">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=libc&package-manager=cargo&previous-version=0.2.153&new-version=0.2.155)](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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    • Alexandru Vasile's avatar
      beefy: Increment metric and add extra log details (#5075) · 9dcf6f12
      Alexandru Vasile authored
      
      This PR increments the beefy metric wrt no peers to query justification
      from.
      The metric is incremented when we submit a request to a known peer,
      however that peer failed to provide a valid response, and there are no
      further peers to query.
      
      While at it, add a few extra details to identify the number of active
      peers and cached peers, together with the request error
      
      Part of:
      - https://github.com/paritytech/polkadot-sdk/issues/4985
      - https://github.com/paritytech/polkadot-sdk/issues/4925
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <alexandru.vasile@parity.io>
    • Javyer's avatar
      command action: documented use of gh cli (#5020) · ae688a97
      Javyer authored
      Added how the users can use [`gh cli`](https://cli.github.com/) instead
      of the dropdown if they want to keep the old commands.
      
      I also added the missing documentation of `sync`.
  5. Jul 19, 2024
    • Parth Mittal's avatar
      Balances Pallet: Emit events when TI is updated in currency impl (#4936) · 59e3315f
      Parth Mittal authored
      
      # Description
      
      Previously, in the `Currency` impl, the implementation of
      `pallet_balances` was not emitting any instances of `Issued` and
      `Rescinded` events, even though the `Fungible` equivalent was.
      
      This PR adds the `Issued` and `Rescinded` events in appropriate places
      in `impl_currency` along with tests.
      
      Closes #4028 
      
      polkadot address: 5GsLutpKjbzsbTphebs9Uy4YK6gTN47MAaz6njPktidjR5cp
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
      Co-authored-by: default avatarBastian Köcher <info@kchr.de>
    • Bastian Köcher's avatar
      Implements `PoV` export and local validation (#4640) · d649746e
      Bastian Köcher authored
      This pull requests adds a new CLI flag to `polkadot-parachains`
      `--export-pov-to-path`. This CLI flag will instruct the node to export
      any `PoV` that it build locally to export to the given folder. Then
      these `PoV` files can be validated using the introduced
      `cumulus-pov-validator`. The combination of export and validation can be
      used for debugging parachain validation issues that may happen on the
      relay chain.
    • Ankan's avatar
      [NPoS] Some simple refactors to Delegate Staking (#4981) · 394ea70d
      Ankan authored
      ## Changes
      - `fn update_payee` is renamed to `fn set_payee` in the trait
      `StakingInterface` since there is also a call `Staking::update_payee`
      which does something different, ie used for migrating deprecated
      `Controller` accounts.
      - `set_payee` does not re-dispatch, only mutates ledger.
      - Fix rustdocs for `NominationPools::join`.
      - Add an implementation note about why we cannot allow existing stakers
      to join/bond_extra into the pool.
    • ordian's avatar
      beefy: put not only lease parachain heads into mmr (#4751) · 7f2a99fc
      ordian authored
      Short-term addresses
      https://github.com/paritytech/polkadot-sdk/issues/4737.
      
      - [x] Resolve benchmarking
      I've digged into benchmarking mentioned
      https://github.com/paritytech/polkadot-sdk/issues/4737#issuecomment-2155084660,
      but it seemed to me that this code is different proof/path. @acatangiu
      could you confirm? (btw, in this
      [bench](https://github.com/paritytech/polkadot-sdk/blob/b65313e8
      
      /bridges/modules/parachains/src/benchmarking.rs#L57),
      where do you actually set the `fn parachains()` to a reasonable number?
      i've only seen 1)
      - [ ] Communicate to Snowfork team:
      This seems to be the relevant code:
      https://github.com/Snowfork/snowbridge/blob/1e18e010331777042aa7e8fff3c118094af856ba/relayer/cmd/parachain_head_proof.go#L95-L120
      - [x] Is it preferred to iter() in some random order as suggested in
      https://github.com/paritytech/polkadot-sdk/issues/4737#issuecomment-2155084660
      or take lowest para ids instead as implemented here currently?
      - [x] PRDoc
      
      ## Updating Polkadot and Kusama runtimes:
      
      New weights need to be generated (`pallet_mmr`) and configs updated
      similar to Rococo/Westend:
      ```patch
      diff --git a/polkadot/runtime/rococo/src/lib.rs b/polkadot/runtime/rococo/src/lib.rs
      index 5adffbd7422..c7da339b981 100644
      --- a/polkadot/runtime/rococo/src/lib.rs
      +++ b/polkadot/runtime/rococo/src/lib.rs
      @@ -1307,9 +1307,11 @@ impl pallet_mmr::Config for Runtime {
              const INDEXING_PREFIX: &'static [u8] = mmr::INDEXING_PREFIX;
              type Hashing = Keccak256;
              type OnNewRoot = pallet_beefy_mmr::DepositBeefyDigest<Runtime>;
      -       type WeightInfo = ();
              type LeafData = pallet_beefy_mmr::Pallet<Runtime>;
              type BlockHashProvider = pallet_mmr::DefaultBlockHashProvider<Runtime>;
      +       type WeightInfo = weights::pallet_mmr::WeightInfo<Runtime>;
      +       #[cfg(feature = "runtime-benchmarks")]
      +       type BenchmarkHelper = parachains_paras::benchmarking::mmr_setup::MmrSetup<Runtime>;
       }
      
       parameter_types! {
      @@ -1319,13 +1321,8 @@ parameter_types! {
       pub struct ParaHeadsRootProvider;
       impl BeefyDataProvider<H256> for ParaHeadsRootProvider {
              fn extra_data() -> H256 {
      -               let mut para_heads: Vec<(u32, Vec<u8>)> = parachains_paras::Parachains::<Runtime>::get()
      -                       .into_iter()
      -                       .filter_map(|id| {
      -                               parachains_paras::Heads::<Runtime>::get(&id).map(|head| (id.into(), head.0))
      -                       })
      -                       .collect();
      -               para_heads.sort();
      +               let para_heads: Vec<(u32, Vec<u8>)> =
      +                       parachains_paras::Pallet::<Runtime>::sorted_para_heads();
                      binary_merkle_tree::merkle_root::<mmr::Hashing, _>(
                              para_heads.into_iter().map(|pair| pair.encode()),
                      )
      @@ -1746,6 +1743,7 @@ mod benches {
                      [pallet_identity, Identity]
                      [pallet_indices, Indices]
                      [pallet_message_queue, MessageQueue]
      +               [pallet_mmr, Mmr]
                      [pallet_multisig, Multisig]
                      [pallet_parameters, Parameters]
                      [pallet_preimage, Preimage]
      ```
      
      ---------
      
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
    • Joseph Zhao's avatar
      Backport claim assets tests from polkadot-fellows repo (#4930) · d16af0b8
      Joseph Zhao authored
      
      # Issue
      [Backport integration tests for claim assets to the polkadot-sdk from
      polkadot-fellows repo
      #4892](https://github.com/paritytech/polkadot-sdk/issues/4892)
      # Description
      For the first time to contribute this project, I just finished part and
      make sure everything is ok.
      - [x] backport [claim_assets test
      case](https://github.com/polkadot-fellows/runtimes/blob/main/integration-tests/emulated/tests/assets/asset-hub-kusama/src/tests/claim_assets.rs)
      to the polkadot-sdk testnet integration tests
      - [x] backport macro
      [test_chain_can_claim_assets](https://github.com/polkadot-fellows/runtimes/blob/main/integration-tests/emulated/helpers/src/lib.rs#L218)
      from fellows repo
      - [ ] when merged to polkadot-sdk and released, make sure that it is
      propagated to the fellows repo:
      https://github.com/polkadot-fellows/runtimes/issues/363
      - [x] backport and align other macros/test-cases from
      https://github.com/polkadot-fellows/runtimes/blob/8ec28f96eeb30fbba30d29006d75e1a3fa1cea1c/integration-tests/emulated/helpers/src/lib.rs#L31-L33
      
      ---------
      
      Co-authored-by: default avatarZihan Zhao <josephzhao@Zihans-MacBook-Pro-3.local>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
    • Oliver Tale-Yazdi's avatar
      prdoc: Require `bump` field (#5073) · b01ef046
      Oliver Tale-Yazdi authored
      
      Require to specify a `bump` for every modified crate.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    • Özgün Özerk's avatar
      relax `XcmFeeToAccount` trait bound on `AccountId` (#4959) · f8f70b37
      Özgün Özerk authored
      Fixes #4960 
      
      Configuring `FeeManager` enforces the boundary `Into<[u8; 32]>` for the
      `AccountId` type.
      
      Here is how it works currently: 
      
      Configuration:
      ```rust
          type FeeManager = XcmFeeManagerFromComponents<
              IsChildSystemParachain<primitives::Id>,
              XcmFeeToAccount<Self::AssetTransactor, AccountId, TreasuryAccount>,
          >;
      ```
      
      `XcmToFeeAccount` struct:
      ```rust
      /// A `HandleFee` implementation that simply deposits the fees into a specific on-chain
      /// `ReceiverAccount`.
      ///
      /// It reuses the `AssetTransactor` configured on the XCM executor to deposit fee assets. If
      /// the `AssetTransactor` returns an error while calling `deposit_asset`, then a warning will be
      /// logged and the fee burned.
      pub struct XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>(
      	PhantomData<(AssetTransactor, AccountId, ReceiverAccount)>,
      );
      
      impl<
      		AssetTransactor: TransactAsset,
      		AccountId: Clone + Into<[u8; 32]>,
      		ReceiverAccount: Get<AccountId>,
      	> HandleFee for XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>
      {
      	fn handle_fee(fee: Assets, context: Option<&XcmContext>, _reason: FeeReason) -> Assets {
      		deposit_or_burn_fee::<AssetTransactor, _>(fee, context, ReceiverAccount::get());
      
      		Assets::new()
      	}
      }
      ```
      
      `deposit_or_burn_fee()` function:
      ```rust
      /// Try to deposit the given fee in the specified account.
      /// Burns the fee in case of a failure.
      pub fn deposit_or_burn_fee<AssetTransactor: TransactAsset, AccountId: Clone + Into<[u8; 32]>>(
      	fee: Assets,
      	context: Option<&XcmContext>,
      	receiver: AccountId,
      ) {
      	let dest = AccountId32 { network: None, id: receiver.into() }.into();
      	for asset in fee.into_inner() {
      		if let Err(e) = AssetTransactor::deposit_asset(&asset, &dest, context) {
      			log::trace!(
      				target: "xcm::fees",
      				"`AssetTransactor::deposit_asset` returned error: {:?}. Burning fee: {:?}. \
      				They might be burned.",
      				e, asset,
      			);
      		}
      	}
      }
      ```
      
      ---
      
      In order to use **another** `AccountId` type (for example, 20 byte
      addresses for compatibility with Ethereum or Bitcoin), one has to
      duplicate the code as the following (roughly changing every `32` to
      `20`):
      ```rust
      /// A `HandleFee` implementation that simply deposits the fees into a specific on-chain
      /// `ReceiverAccount`.
      ///
      /// It reuses the `AssetTransactor` configured on the XCM executor to deposit fee assets. If
      /// the `AssetTransactor` returns an error while calling `deposit_asset`, then a warning will be
      /// logged and the fee burned.
      pub struct XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>(
          PhantomData<(AssetTransactor, AccountId, ReceiverAccount)>,
      );
      impl<
              AssetTransactor: TransactAsset,
              AccountId: Clone + Into<[u8; 20]>,
              ReceiverAccount: Get<AccountId>,
          > HandleFee for XcmFeeToAccount<AssetTransactor, AccountId, ReceiverAccount>
      {
          fn handle_fee(fee: XcmAssets, context: Option<&XcmContext>, _reason: FeeReason) -> XcmAssets {
              deposit_or_burn_fee::<AssetTransactor, _>(fee, context, ReceiverAccount::get());
      
              XcmAssets::new()
          }
      }
      
      pub fn deposit_or_burn_fee<AssetTransactor: TransactAsset, AccountId: Clone + Into<[u8; 20]>>(
          fee: XcmAssets,
          context: Option<&XcmContext>,
          receiver: AccountId,
      ) {
          let dest = AccountKey20 { network: None, key: receiver.into() }.into();
          for asset in fee.into_inner() {
              if let Err(e) = AssetTransactor::deposit_asset(&asset, &dest, context) {
                  log::trace!(
                      target: "xcm::fees",
                      "`AssetTransactor::deposit_asset` returned error: {:?}. Burning fee: {:?}. \
                      They might be burned.",
                      e, asset,
                  );
              }
          }
      }
      ```
      
      ---
      
      This results in code duplication, which can be avoided simply by
      relaxing the trait enforced by `XcmFeeToAccount`.
      
      In this PR, I propose to introduce a new trait called `IntoLocation` to
      be able to express both `Into<[u8; 32]>` and `Into<[u8; 20]>` should be
      accepted (and every other `AccountId` type as long as they implement
      this trait).
      
      Currently, `deposit_or_burn_fee()` function converts the `receiver:
      AccountId` to a location. I think converting an account to `Location`
      should not be the responsibility of `deposit_or_burn_fee()` function.
      
      This trait also decouples the conversion of `AccountId` to `Location`,
      from `deposit_or_burn_fee()` function. And exposes `IntoLocation` trait.
      Thus, allowing everyone to come up with their `AccountId` type and make
      it compatible for configuring `FeeManager`.
      
      ---
      
      Note 1: if there is a better file/location to put `IntoLocation`, I'm
      all ears
      
      Note 2: making `deposit_or_burn_fee` or `XcmToFeeAccount` generic was
      not possible from what I understood, due to Rust currently do not
      support a way to express the generic should implement either `trait A`
      or `trait B` (since the compiler cannot guarantee they won't overlap).
      In this case, they are `Into<[u8; 32]>` and `Into<[u8; 20]>`.
      See [this](https://github.com/rust-lang/rust/issues/20400) and
      [this](https://github.com/rust-lang/rfcs/pull/1672#issuecomment-262152934).
      
      Note 3: I should also submit a PR to `frontier` that implements
      `IntoLocation` for `AccountId20` if this PR gets accepted.
      
      
      ### Summary 
      this new trait:
      - decouples the conversion of `AccountId` to `Location`, from
      `deposit_or_burn_fee()` function
      - makes `XcmFeeToAccount` accept every possible `AccountId` type as long
      as they they implement `IntoLocation`
      - backwards compatible
      - keeps the API simple and clean while making it less restrictive
      
      
      @franciscoaguirre and @gupnik
      
       are already aware of the issue, so tagging
      them here for visibility.
      
      ---------
      
      Co-authored-by: default avatarFrancisco Aguirre <franciscoaguirreperez@gmail.com>
      Co-authored-by: default avatarBranislav Kontur <bkontur@gmail.com>
      Co-authored-by: default avatarAdrian Catangiu <adrian@parity.io>
      Co-authored-by: command-bot <>
    • dependabot[bot]'s avatar
      Bump actions/setup-node from 4.0.1 to 4.0.3 (#4990) · 59b11ca6
      dependabot[bot] authored
      
      Bumps [actions/setup-node](https://github.com/actions/setup-node) from
      4.0.1 to 4.0.3.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/actions/setup-node/releases">actions/setup-node's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.0.3</h2>
      <h2>What's Changed</h2>
      <h3>Bug fixes:</h3>
      <ul>
      <li>Fix macos latest check failures by <a
      href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
      in <a
      href="https://redirect.github.com/actions/setup-node/pull/1041">actions/setup-node#1041</a></li>
      </ul>
      <h3>Documentation changes:</h3>
      <ul>
      <li>Documentation update to update default Node version to 20 by <a
      href="https://github.com/bengreeley"><code>@​bengreeley</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/949">actions/setup-node#949</a></li>
      </ul>
      <h3>Dependency  updates:</h3>
      <ul>
      <li>Bump undici from 5.26.5 to 5.28.3 by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/965">actions/setup-node#965</a></li>
      <li>Bump braces from 3.0.2 to 3.0.3 and other dependency updates by <a
      href="https://github.com/dependabot"><code>@​dependabot</code></a> in <a
      href="https://redirect.github.com/actions/setup-node/pull/1087">actions/setup-node#1087</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/bengreeley"><code>@​bengreeley</code></a> made
      their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/949">actions/setup-node#949</a></li>
      <li><a
      href="https://github.com/HarithaVattikuti"><code>@​HarithaVattikuti</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/1041">actions/setup-node#1041</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions/setup-node/compare/v4...v4.0.3">https://github.com/actions/setup-node/compare/v4...v4.0.3</a></p>
      <h2>v4.0.2</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add support for <code>volta.extends</code> by <a
      href="https://github.com/ThisIsManta"><code>@​ThisIsManta</code></a> in
      <a
      href="https://redirect.github.com/actions/setup-node/pull/921">actions/setup-node#921</a></li>
      <li>Add support for arm64 Windows by <a
      href="https://github.com/dmitry-shibanov"><code>@​dmitry-shibanov</code></a>
      in <a
      href="https://redirect.github.com/actions/setup-node/pull/927">actions/setup-node#927</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/ThisIsManta"><code>@​ThisIsManta</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/actions/setup-node/pull/921">actions/setup-node#921</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/actions/setup-node/compare/v4.0.1...v4.0.2">https://github.com/actions/setup-node/compare/v4.0.1...v4.0.2</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/actions/setup-node/commit/1e60f620b9541d16bece96c5465dc8ee9832be0b"><code>1e60f62</code></a>
      Bump braces from 3.0.2 to 3.0.3 (<a
      href="https://redirect.github.com/actions/setup-node/issues/1087">#1087</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/eff380dfbcf941bf8832e4acb788cebe13dfd758"><code>eff380d</code></a>
      Fix macos latest check failures (<a
      href="https://redirect.github.com/actions/setup-node/issues/1041">#1041</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/c2ac33f2c62f978d6c944d9648125a294e56dc0b"><code>c2ac33f</code></a>
      Bump undici from 5.26.5 to 5.28.3 (<a
      href="https://redirect.github.com/actions/setup-node/issues/965">#965</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/25b062c917b0c75f8b47d8469aff6c94ffd89abb"><code>25b062c</code></a>
      Update README.md to update default Node version to 20 (<a
      href="https://redirect.github.com/actions/setup-node/issues/949">#949</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/60edb5dd545a775178f52524783378180af0d1f8"><code>60edb5d</code></a>
      Add support for arm64 Windows (<a
      href="https://redirect.github.com/actions/setup-node/issues/927">#927</a>)</li>
      <li><a
      href="https://github.com/actions/setup-node/commit/d86ebcd40b3cb50b156bfa44dd277faf38282d12"><code>d86ebcd</code></a>
      Add support for <code>volta.extends</code> (<a
      href="https://redirect.github.com/actions/setup-node/issues/921">#921</a>)</li>
      <li>See full diff in <a
      href="https://github.com/actions/setup-node/compare/v4.0.1...v4.0.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=actions/setup-node&package-manager=github_actions&previous-version=4.0.1&new-version=4.0.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] <support@github.com>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  6. Jul 18, 2024