Skip to content
  1. Jan 20, 2024
    • dependabot[bot]'s avatar
      Bump comfy-table from 7.0.1 to 7.1.0 (#2993) · a5370fb1
      dependabot[bot] authored
      
      
      Bumps [comfy-table](https://github.com/nukesor/comfy-table) from 7.0.1
      to 7.1.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/nukesor/comfy-table/releases">comfy-table's
      releases</a>.</em></p>
      <blockquote>
      <h2>v7.1.0</h2>
      <h2>[7.1.0] - 2023-10-21</h2>
      <h3>Added</h3>
      <ul>
      <li>Add helper methods <code>(col,row)_count</code> and
      <code>is_empty</code>. The first set of methods return the number of
      columns and rows
      respectively. The method <code>is_empty</code> returns if the table is
      empty (contains no data rows). Implemented by
      <a href="https://github.com/Techassi">Techassi</a> in <a
      href="https://redirect.github.com/Nukesor/comfy-table/pull/119">#119</a>.</li>
      </ul>
      <h3>Chore</h3>
      <ul>
      <li>Bump crossterm dependency</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/Nukesor/comfy-table/blob/main/CHANGELOG.md">comfy-table's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[7.1.0] - 2023-10-21</h2>
      <h3>Added</h3>
      <ul>
      <li>Add helper methods <code>(col,row)_count</code> and
      <code>is_empty</code>. The first set of methods return the number of
      columns and rows
      respectively. The method <code>is_empty</code> returns if the table is
      empty (contains no data rows). Implemented by
      <a href="https://github.com/Techassi">Techassi</a> in <a
      href="https://redirect.github.com/Nukesor/comfy-table/pull/119">#119</a>.</li>
      </ul>
      <h3>Chore</h3>
      <ul>
      <li>Bump crossterm dependency</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/ef14a132f09a520ecac6945dc8e2529fb627f403"><code>ef14a13</code></a>
      chore: Release comfy-table version 7.1.0</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/3f0563e2b71157cf002b04c738a46da28876f6c3"><code>3f0563e</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/fb636c9e72a0f7c3df102d497a5e61e683fda40b"><code>fb636c9</code></a>
      Merge pull request <a
      href="https://redirect.github.com/nukesor/comfy-table/issues/125">#125</a>
      from Nukesor/dependabot/github_actions/actions/checko...</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/f3c9e1d64fc22b8e675e7ebb18c2c49e621f4d0e"><code>f3c9e1d</code></a>
      build(deps): bump actions/checkout from 3 to 4</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/ec99e06bbe216426fe5d4734597fe745fdb87d63"><code>ec99e06</code></a>
      Merge pull request <a
      href="https://redirect.github.com/nukesor/comfy-table/issues/128">#128</a>
      from Nukesor/updates</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/329f4c9d7a042747234a60a681b7635eba27ad02"><code>329f4c9</code></a>
      change: Use 1.70 in CI for criterion</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/1b6d45290dae53a06a152dca3584f2156b87bfae"><code>1b6d452</code></a>
      bump: Crossterm</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/af3924c0daced677a9d8a2956c84fbfb50cca5e9"><code>af3924c</code></a>
      chore: Clippy issues</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/aebf4ef66d16ae356fdbac5d2ff5f2d2025fb48a"><code>aebf4ef</code></a>
      Merge pull request <a
      href="https://redirect.github.com/nukesor/comfy-table/issues/119">#119</a>
      from Techassi/feature/row-col-count</li>
      <li><a
      href="https://github.com/Nukesor/comfy-table/commit/9f45a5e2d6c9f266f1bd6537fcf974b216359a1f"><code>9f45a5e</code></a>
      Merge pull request <a
      href="https://redirect.github.com/nukesor/comfy-table/issues/122">#122</a>
      from ip1981/ip1981/cell-hash</li>
      <li>Additional commits viewable in <a
      href="https://github.com/nukesor/comfy-table/compare/v7.0.1...v7.1.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=comfy-table&package-manager=cargo&previous-version=7.0.1&new-version=7.1.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      a5370fb1
    • Doordashcon's avatar
      Adding `try_state` hook for Tips pallet (#1871) · 3b7a8c75
      Doordashcon authored
      
      
      Part of https://github.com/paritytech/polkadot-sdk/issues/239.
      
      Invariant
      
      1. The number of entries in `Tips` should be equal to `Reasons`.
      2. If `OpenTip.finders_fee` is true, then `OpenTip.deposit` should be
      greater than zero.
      3. Reasons exists for each Tip[`OpenTip.reason`], implying equal length
      of storage.
      
      polkadot address: 12zsKEDVcHpKEWb99iFt3xrTCQQXZMu477nJQsTBBrof5k2h
      
      ---------
      
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      3b7a8c75
  2. Jan 19, 2024
    • PG Herveou's avatar
      f2336d32
    • Nazar Mokrynskyi's avatar
      Make `Slot` and `SlotDuration` transparent (#2999) · 4fb2a559
      Nazar Mokrynskyi authored
      I have a use case that for safety requires all contained data structures
      to be `#[repr(C)]` or `#[repr(transparent)]` and it seemed like
      non-invasive change.
      4fb2a559
    • Robin Freyler's avatar
      Update Wasm benchmarks (#2957) · e02c5204
      Robin Freyler authored
      In https://github.com/paritytech/polkadot-sdk/pull/2941 we found out
      that the new Wasmi (register) is very effective at optimizing away
      certain benchmark bytecode constructs in a way that created an unfair
      advantage over Wasmi (stack) which yielded our former benchmarks to be
      ineffective at properly measuring the performance impact.
      
      This PR adjusts both affected benchmarks to fix the stated problems.
      Affected are
      - `instr_i64const` -> `instr_i64add`: Renamed since it now measures the
      performance impact of the Wasm `i64.add` instruction with locals as
      inputs and outputs. This makes it impossible for Wasmi (register) to
      aggressively optimize away the entire function body (as it previously
      did) but still provides a way for Wasmi (register) to shine with its
      register based execution model.
      - `call_with_code_per_byte`: Now uses `local.get` instead of `i32.const`
      for the `if` condition which prevents Wasmi (register) to aggressively
      optimizing away whole parts of the `if` creating an unfair advantage.
      
      cc @athei
      
      
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: default avatarIgnacio Palacios <[email protected]>
      e02c5204
    • Oliver Tale-Yazdi's avatar
      Contract fixtures tests: fixe nightly version (#3000) · 2e9b4405
      Oliver Tale-Yazdi authored
      
      
      Using just `nightly` is too generic and can fail on different systems.  
      Now its fixed to the nightly version of the CI.
      
      Another way would be to use a toolchain file, since this already assumes
      `rustup`.
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      2e9b4405
    • dependabot[bot]'s avatar
      Bump libc from 0.2.149 to 0.2.152 (#2994) · 66b2fa2e
      dependabot[bot] authored
      
      
      Bumps [libc](https://github.com/rust-lang/libc) from 0.2.149 to 0.2.152.
      <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.152</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>openbsd: syscall() has been removed in upcoming OpenBSD 7.5 by <a
      href="https://github.com/semarie"><code>@​semarie</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3479">rust-lang/libc#3479</a></li>
      <li>adding tcp_info to openbsd by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3481">rust-lang/libc#3481</a></li>
      <li>iadding yser_fpxregs_struct data to linux/musl i686. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3477">rust-lang/libc#3477</a></li>
      <li>strftime* api for *BSD by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3483">rust-lang/libc#3483</a></li>
      <li>strftime_l for Linux glibc/musl by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3484">rust-lang/libc#3484</a></li>
      <li>adding iocb data for io_submit syscall for linux/glibc. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3486">rust-lang/libc#3486</a></li>
      <li>Re-enable <code>i686-pc-windows-gnu</code> CI by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3489">rust-lang/libc#3489</a></li>
      <li>Stop testing on FreeBSD 12 by <a
      href="https://github.com/asomers"><code>@​asomers</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3475">rust-lang/libc#3475</a></li>
      <li>Add <code>ifreq</code>, <code>ifconf</code> and related constants to
      Android by <a
      href="https://github.com/arctic-alpaca"><code>@​arctic-alpaca</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3487">rust-lang/libc#3487</a></li>
      <li>Add waitid function for OpenBSD by <a
      href="https://github.com/lcheylus"><code>@​lcheylus</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3490">rust-lang/libc#3490</a></li>
      <li>adding SOMAXCONN to redox by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3491">rust-lang/libc#3491</a></li>
      <li>Fix typos in comments by <a
      href="https://github.com/asomers"><code>@​asomers</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3492">rust-lang/libc#3492</a></li>
      <li>fix typos in libc by <a
      href="https://github.com/Takashiidobe"><code>@​Takashiidobe</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3496">rust-lang/libc#3496</a></li>
      <li>apple adding tcp_connection_info struct by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3482">rust-lang/libc#3482</a></li>
      <li>Improve the version parser of Emscripten by <a
      href="https://github.com/kleisauke"><code>@​kleisauke</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3498">rust-lang/libc#3498</a></li>
      <li>Add constants from <!-- raw HTML omitted --> by <a
      href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3505">rust-lang/libc#3505</a></li>
      <li>Define <code>TFD_TIMER_*</code> constants on FreeBSD. by <a
      href="https://github.com/sunfishcode"><code>@​sunfishcode</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/libc/pull/3506">rust-lang/libc#3506</a></li>
      <li>Add support for posix_spawn on OpenBSD by <a
      href="https://github.com/nuudlman"><code>@​nuudlman</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3502">rust-lang/libc#3502</a></li>
      <li>clock_nanosleep for dragonflybsd, moving constants freebsd only too.
      by <a href="https://github.com/devnexen"><code>@​devnexen</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/libc/pull/3509">rust-lang/libc#3509</a></li>
      <li>solarish add fcntl's O_DIRECT constant. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3503">rust-lang/libc#3503</a></li>
      <li>Unpin cc dependency version by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3511">rust-lang/libc#3511</a></li>
      <li>redox: add openpty, login_tty, TIOCSCTTY, and organize functions by
      <a href="https://github.com/jackpot51"><code>@​jackpot51</code></a> in
      <a
      href="https://redirect.github.com/rust-lang/libc/pull/3512">rust-lang/libc#3512</a></li>
      <li>Move all seccomp consts and structs into top-level mod by <a
      href="https://github.com/boustrophedon"><code>@​boustrophedon</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3343">rust-lang/libc#3343</a></li>
      <li>freebsd 15 support proposal. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3508">rust-lang/libc#3508</a></li>
      <li>Prepare workflow for merge queue by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3514">rust-lang/libc#3514</a></li>
      <li>Allow dead_code on <code>clockid_t</code> by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3516">rust-lang/libc#3516</a></li>
      <li>Add more items from <code>include/linux/sched.h</code> header by <a
      href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3515">rust-lang/libc#3515</a></li>
      <li>fix typo by <a
      href="https://github.com/shuoer86"><code>@​shuoer86</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3517">rust-lang/libc#3517</a></li>
      <li>Add sigsuspend to more targets: bsd, haiku, and solarish by <a
      href="https://github.com/asomers"><code>@​asomers</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3518">rust-lang/libc#3518</a></li>
      <li>Tweak libc-0.2 CI by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3519">rust-lang/libc#3519</a></li>
      <li>fuchsia adding pthread_set/getname_np by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3520">rust-lang/libc#3520</a></li>
      <li>Prepare docs for libc v0.3 by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3510">rust-lang/libc#3510</a></li>
      <li>Merge main into libc-0.2 by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3521">rust-lang/libc#3521</a></li>
      <li>Prepare release for v0.2.152 by <a
      href="https://github.com/JohnTitor"><code>@​JohnTitor</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3522">rust-lang/libc#3522</a></li>
      </ul>
      <h2>New Contributors</h2>
      <ul>
      <li><a
      href="https://github.com/Takashiidobe"><code>@​Takashiidobe</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3496">rust-lang/libc#3496</a></li>
      <li><a href="https://github.com/nuudlman"><code>@​nuudlman</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3502">rust-lang/libc#3502</a></li>
      <li><a
      href="https://github.com/boustrophedon"><code>@​boustrophedon</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3343">rust-lang/libc#3343</a></li>
      <li><a href="https://github.com/shuoer86"><code>@​shuoer86</code></a>
      made their first contribution in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3517">rust-lang/libc#3517</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/rust-lang/libc/compare/0.2.151...0.2.152">https://github.com/rust-lang/libc/compare/0.2.151...0.2.152</a></p>
      <h2>0.2.151</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Add new constants to be used in (linux) sysctl by <a
      href="https://github.com/GuillaumeGomez"><code>@​GuillaumeGomez</code></a>
      in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3423">rust-lang/libc#3423</a></li>
      <li>openbsd ifreq implementation refinement ifru_data member using
      proper… by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3390">rust-lang/libc#3390</a></li>
      <li>adding reboot to netbsd/openbsd. by <a
      href="https://github.com/devnexen"><code>@​devnexen</code></a> in <a
      href="https://redirect.github.com/rust-lang/libc/pull/3426">rust-lang/libc#3426</a></li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/libc/commit/3d175191e6c6ad2b97de090d86d28dbfa4d271a3"><code>3d17519</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3522">#3522</a>
      from JohnTitor/libc-0.2.152</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/0f5d2c1d419543819f072169eab72a85abd2e9d2"><code>0f5d2c1</code></a>
      Prepare release for v0.2.152</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/ee500ca0541809005b4ec4c7157add1e170dc545"><code>ee500ca</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-lang/libc/issues/3521">#3521</a>
      from rust-lang/main</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/72093f38fbc3c3fec485b0aba6f1ef81ad59ca1e"><code>72093f3</code></a>
      Auto merge of <a
      href="https://redirect.github.com/rust-lang/libc/issues/3510">#3510</a>
      - JohnTitor:prepare-libc-0.3, r=JohnTitor</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/e5612b92d30668eea24495a2d6d84ed1f601f437"><code>e5612b9</code></a>
      Auto merge of <a
      href="https://redirect.github.com/rust-lang/libc/issues/3520">#3520</a>
      - devnexen:fuchsia_upd, r=JohnTitor</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/44ba265df55df13b37a3e1e2145053b68196074d"><code>44ba265</code></a>
      fuchsia adding pthread_set/getname_np</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/2f93bfb7678e18a9fc5373dec49384bd23f601c3"><code>2f93bfb</code></a>
      Auto merge of <a
      href="https://redirect.github.com/rust-lang/libc/issues/3519">#3519</a>
      - JohnTitor:tweak-libc-0.2-ci, r=JohnTitor</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/11f7c7b89d9bfe8c53dcca7571c4965fa3375aab"><code>11f7c7b</code></a>
      Auto merge of <a
      href="https://redirect.github.com/rust-lang/libc/issues/3518">#3518</a>
      - asomers:more-sigsuspend, r=JohnTitor</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/0b9596b22c59cd97409c017cc4dc0620e15bd87c"><code>0b9596b</code></a>
      Tweak libc-0.2 CI</li>
      <li><a
      href="https://github.com/rust-lang/libc/commit/5594447694db909c1ad8fa191a8ac0df734cdd23"><code>5594447</code></a>
      Auto merge of <a
      href="https://redirect.github.com/rust-lang/libc/issues/3517">#3517</a>
      - shuoer86:main, r=JohnTitor</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/libc/compare/0.2.149...0.2.152">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.149&new-version=0.2.152)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      66b2fa2e
    • Liam Aharon's avatar
      Update `translate` to use `defensive!` (#2985) · 697c2c39
      Liam Aharon authored
      
      
      Closes #1323 
      
      cc @xlc
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      697c2c39
  3. Jan 18, 2024
    • Gonçalo Pestana's avatar
      More tests and checks confirming that `ledger.controller` is always correct. (#2599) · 9db92115
      Gonçalo Pestana authored
      
      
      A bonded ledger fetched with the `StakingLedger` implementation exposes
      a method `ledger.controller()` that returns the controller of the
      ledger. However, that controller is computed and stored under the
      `ledger.controller` field on the fly - i.e when the ledger is fetched
      from storage using the `StakingLedger::get` method. The controller field
      is never stored in storage.
      
      This PR add a few more tests checks and improves the ledger try-state
      checks to make sure these invariants hold true.
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      9db92115
    • Michal Kucharczyk's avatar
      `GenesisBuilder`: `arbitrary_precision` feature enabled for `serde_json` (#2987) · 87927bbd
      Michal Kucharczyk authored
      [`arbitrary_precision`](https://github.com/serde-rs/json/blob/6d44b9fac9269b4decf76acac5d68e8ec9d10c58/Cargo.toml#L69-L75)
      feature allows to (de-)serialize big numbers w/o error.
      For some details refer also to
      https://github.com/paritytech/polkadot-sdk/pull/1256#discussion_r1455564450
      
      fixes: #2963
      87927bbd
    • Nazar Mokrynskyi's avatar
      Fix contracts compilation with `CARGO_TARGET_DIR` set (#2927) · b4b523c8
      Nazar Mokrynskyi authored
      In case `CARGO_TARGET_DIR` is set, build artifacts were in the wrong
      place and `build.rs` was failing. With
      `CARGO_TARGET_DIR=/home/nazar-pc/.cache/cargo/target`:
      ```
      error: failed to run custom build command for `pallet-contracts-fixtures v1.0.0 (/web/subspace/polkadot-sdk/substrate/frame/contracts/fixtures)`
      
      Caused by:
        process didn't exit successfully: `/home/nazar-pc/.cache/cargo/target/debug/build/pallet-contracts-fixtures-35d534f7ac3009e0/build-script-build` (exit status: 1)
        --- stderr
        Error: Failed to read "/tmp/.tmpiYwXfv/target/wasm32-unknown-unknown/release/dummy.wasm"
      
        Caused by:
            Can't read from the file: Os { code: 2, kind: NotFound, message: "No such file or directory" }
      ```
      
      The file was actually in
      `/home/nazar-pc/.cache/cargo/target/wasm32-unknown-unknown/release/dummy.wasm`.
      b4b523c8
    • Hero Bird's avatar
      contracts: Update weights (#2969) · f9bbe7db
      Hero Bird authored
      As demanded by @athei to run benchmarks via CI.
      Somehow I was not able to push a PR without commits.
      
      ---------
      
      Co-authored-by: command-bot <>
      f9bbe7db
    • Bastian Köcher's avatar
      pallet-contracts: Fix compilation on latest nightly (#2986) · 0e124a05
      Bastian Köcher authored
      Apparently they changed detection for visibility identifiers on traits,
      which broke more than it should. There is an issue open:
      https://github.com/rust-lang/rust/issues/119924 The easy solution for us
      is to move the declaration of the global variable outside of the trait.
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/2960
      0e124a05
    • dependabot[bot]'s avatar
      Bump prost from 0.11.9 to 0.12.3 (#2976) · 13f2342e
      dependabot[bot] authored
      
      
      Bumps [prost](https://github.com/tokio-rs/prost) from 0.11.9 to 0.12.3.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/907e9f6fbf72262f52333459bbfb27224da1ad72"><code>907e9f6</code></a>
      prost: prepare release <code>0.12.3</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/947">#947</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/acc1df83f73cda03c10722fbb739c7920b6b9048"><code>acc1df8</code></a>
      Fix code generation for Name trait (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/944">#944</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/3cf34f00d3b919ce65cc61fc869feba5aeb487e7"><code>3cf34f0</code></a>
      prost: prepare release <code>0.12.2</code> (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/943">#943</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/3ce212ff6107a5f296a082d7be4f0113da8fb887"><code>3ce212f</code></a>
      feat: Generate implementation for <code>Name</code> trait (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/931">#931</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/97cd4e29c46f1cac4d27428c759b6bc807c37201"><code>97cd4e2</code></a>
      fix: generate <code>Name::full_name</code> properly (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/923">#923</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/9dd655312240ba028660f0c7091a8b9a66406f2a"><code>9dd6553</code></a>
      release 0.12.1 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/918">#918</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/6079136781a560a4e480002f3fbce37193f60937"><code>6079136</code></a>
      Fixes 905, fix: Use full path of Result type + unit test + Option unti
      test (...</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/bf866464413ce4955eeaf09c4b6647d192b775ef"><code>bf86646</code></a>
      prost-type: impl Hash for Duration (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/912">#912</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/b258dc8227bdc77b9b1b3102493b3fccd4921393"><code>b258dc8</code></a>
      release 0.12.0 (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/904">#904</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/prost/commit/7ce9b9756ba1ca0c6228931e2a9ff7859931ac95"><code>7ce9b97</code></a>
      feat: <code>Name</code> trait + <code>Any</code> encoding support (<a
      href="https://redirect.github.com/tokio-rs/prost/issues/896">#896</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/tokio-rs/prost/compare/v0.11.9...v0.12.3">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=prost&package-manager=cargo&previous-version=0.11.9&new-version=0.12.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 <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      ---------
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      13f2342e
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2953) · 1113fce5
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.4.16 to 4.4.18
      <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.4.18</h2>
      <h2>[4.4.18] - 2024-01-16</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When lacking <code>usage</code> feature, ensure the
      list of required arguments is unique</li>
      </ul>
      <h2>v4.4.17</h2>
      <h2>[4.4.17] - 2024-01-15</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix <code>panic!</code> when mixing
      <code>args_conflicts_with_subcommands</code> with <code>ArgGroup</code>
      (which is implicit with <code>derive</code>) introduced in 4.4.15</li>
      </ul>
      </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.4.18] - 2024-01-16</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(error)</em> When lacking <code>usage</code> feature, ensure the
      list of required arguments is unique</li>
      </ul>
      <h2>[4.4.17] - 2024-01-15</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix <code>panic!</code> when mixing
      <code>args_conflicts_with_subcommands</code> with <code>ArgGroup</code>
      (which is implicit with <code>derive</code>) introduced in 4.4.15</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/0134f45ff0e2e2be8c451565e4fbf5d3cb7b7cfd"><code>0134f45</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/995ee032779d802606e599caf4f498ea51e92e82"><code>995ee03</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2f1890907ed4e78674feeb96df34cfb813b84686"><code>2f18909</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5314">#5314</a>
      from epage/required</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/0a635b9a20077e2f932a9baee527052d8ed45d9e"><code>0a635b9</code></a>
      fix(parser): Don't duplicate requireds when usage disabled</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/e648e086f3934afb40b121b5999b9e23657ddc28"><code>e648e08</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5311">#5311</a>
      from sourcefrog/doc-exitcode</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/8c83971b8c356b8c9abfbbb2320cb946a2ee8139"><code>8c83971</code></a>
      docs: Link to exit code info</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b250c0b5f5920b59e551bf0ec90e17c6103ae4a2"><code>b250c0b</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5310">#5310</a>
      from epage/pty</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c742b8eb0ca648b645b616e064e00408944f390e"><code>c742b8e</code></a>
      chore(complete): Update completest-pty</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f524d84c1d3eca1c980c5150c750d9e00cbbdb0c"><code>f524d84</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/944fb81cf593af1cd3a58dd959c934f0ff483182"><code>944fb81</code></a>
      docs: Update changelog</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.16...v4.4.18">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.4.16&new-version=4.4.18)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarDónal Murray <[email protected]>
      1113fce5
    • Samuel Moelius's avatar
      Fix typo in traits.rs (#2971) · d6c0f153
      Samuel Moelius authored
      
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      d6c0f153
    • Tsvetomir Dimitrov's avatar
      Filter votes from disabled validators in `BackedCandidates` in process_inherent_data (#2889) · f8954093
      Tsvetomir Dimitrov authored
      
      
      Backport of https://github.com/paritytech/polkadot-sdk/pull/1863 to
      master
      
      Extend candidate sanitation in paras_inherent by removing backing votes
      from disabled validators. Check
      https://github.com/paritytech/polkadot-sdk/issues/1592 for more details.
      
      This change is related to the disabling strategy implementation
      (https://github.com/paritytech/polkadot-sdk/pull/2226).
      
      ---------
      
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarordian <[email protected]>
      Co-authored-by: default avatarMaciej <[email protected]>
      f8954093
    • joe petrowski's avatar
      Rococo Identity Migration Part 2 + Bug Fix (#2946) · f5748688
      joe petrowski authored
      Order:
      
      - [x] Start People Chain
      - [RPC
      node](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frococo-people-rpc.polkadot.io#/explorer)
      - [x] Upgrade Rococo Relay (`EnsureRoot` -> `EnsureSigned`) (v1,006,002)
      - Done
      [here](https://rococo.subscan.io/extrinsic/0xef07e0f9dbb2b9e829305f132e6ce45d291239286e409177e20895e6687daa6c)
      - [x] Migrate all identities
      - Done, see extrinsics from [this
      account](https://rococo.subscan.io/account/5FyNYrBwndvBttTkGUqGGCRAXtBH4Mh8xELDaxaFywTsjDKb)
      - [x] Upgrade Rococo People (remove call filter) (v1,006,002)
      - Authorized
      [here](https://rococo.subscan.io/extrinsic/0xedf6a80229bd411b7ed8d3a489a767b0f773bed5c49239987a294c293a35b98b)
      
      With added:
      
      - [x] Upgrade Rococo People to fix `poke_deposit` bug (v1,006,001)
      - Authorized
      [here](https://rococo.subscan.io/extrinsic/0xd1dc3cd6e8274bd0196f8d9f13ed09f6e9c76e6a40f9786a1629f4cb22cf948d)
      
      Note:
      
      It's also possible to remove the Identity Migrator pallet from both the
      Relay Chain and the parachain at this time. I will leave them in for now
      to preserve the test cases until we run them on Kusama/Polkadot. We will
      also want a follow up to remove all Identity-related state from the
      Relay Chain.
      f5748688
  4. Jan 17, 2024
    • Alexander Theißen's avatar
      contracts: Update to Polkavm 0.5 (#2945) · c1c0e62d
      Alexander Theißen authored
      This will allow us to change to the target supporting atomics and makes
      the linker file no longer necessary.
      c1c0e62d
    • joe petrowski's avatar
      Revert "pallet-core-fellowship: import an unimported member on approve" (#2956) · c01dbebe
      joe petrowski authored
      Reverts paritytech/polkadot-sdk#2883
      
      Code, not docs, was intended.
      c01dbebe
    • dependabot[bot]'s avatar
      Bump futures-util from 0.3.28 to 0.3.30 (#2952) · 33d533e1
      dependabot[bot] authored
      
      
      Bumps [futures-util](https://github.com/rust-lang/futures-rs) from
      0.3.28 to 0.3.30.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/futures-rs/releases">futures-util's
      releases</a>.</em></p>
      <blockquote>
      <h2>0.3.30</h2>
      <ul>
      <li>Add
      <code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
      (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
      <li>Fix panic in <code>FuturesUnordered::clear</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
      <li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
      <a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
      <li>Improve support for targets without atomic CAS (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      <li>Remove build scripts (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      </ul>
      <h2>0.3.29</h2>
      <ul>
      <li>Add <code>TryStreamExt::try_ready_chunks</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li>
      <li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li>
      <li>Add <code>UnboundedSender::{len,is_empty}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li>
      <li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li>
      <li>Fix infinite loop caused by invalid UTF-8 bytes (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li>
      <li>Fix build error with -Z minimal-versions (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md">futures-util's
      changelog</a>.</em></p>
      <blockquote>
      <h1>0.3.30 - 2023-12-24</h1>
      <ul>
      <li>Add
      <code>{BiLock,SplitStream,SplitSink,ReadHalf,WriteHalf}::is_pair_of</code>
      (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2797">#2797</a>)</li>
      <li>Fix panic in <code>FuturesUnordered::clear</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2809">#2809</a>)</li>
      <li>Fix panic in <code>AsyncBufReadExt::fill_buf</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2801">#2801</a>,
      <a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2812">#2812</a>)</li>
      <li>Improve support for targets without atomic CAS (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      <li>Remove build scripts (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2811">#2811</a>)</li>
      </ul>
      <h1>0.3.29 - 2023-10-26</h1>
      <ul>
      <li>Add <code>TryStreamExt::try_ready_chunks</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2757">#2757</a>)</li>
      <li>Add <code>TryStreamExt::{try_all,try_any}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2783">#2783</a>)</li>
      <li>Add <code>UnboundedSender::{len,is_empty}</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2750">#2750</a>)</li>
      <li>Fix <code>Sync</code> impl of <code>FuturesUnordered</code> (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2788">#2788</a>)</li>
      <li>Fix infinite loop caused by invalid UTF-8 bytes (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2785">#2785</a>)</li>
      <li>Fix build error with -Z minimal-versions (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2761">#2761</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/de1a0fd64a1bcae9a1534ed4da1699632993cc26"><code>de1a0fd</code></a>
      Release 0.3.30</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/68d284545f79ca77690d935859ba0cfe0a1be4ac"><code>68d2845</code></a>
      Remove a redundant space in example (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2816">#2816</a>)</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/fdd2ce716c1b1064332e4d20f23a58696a2c1c6f"><code>fdd2ce7</code></a>
      Fix broken link in <code>CopyBufAbortable</code> docs (<a
      href="https://redirect.github.com/rust-lang/futures-rs/issues/2815">#2815</a>)</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/272a3c709f7502df32a70c621ffe02e1e24ca5a4"><code>272a3c7</code></a>
      Use cfg(target_has_atomic) on no-std targets</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/c179201bd1ed11fe3200ca345a3aba3ddfd9497f"><code>c179201</code></a>
      FillBuf: Do not call poll_fill_buf twice</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/e6735f3d01b9ced68a60e521f4f7961dc5e9ab0d"><code>e6735f3</code></a>
      FuturesUnordered: Fix clear implementation</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/04d01a00a2924525658b19794534bec5672500e6"><code>04d01a0</code></a>
      FuturesOrdered: Use 64-bit index</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/e4aa659649940c6412eaf6c4c38b939de3163430"><code>e4aa659</code></a>
      remove redundant impl Unpin</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/17851c1f05598a0ec223bca292befbf1d225ac42"><code>17851c1</code></a>
      provide a mechanism to determine if io read/write halves are from the
      same st...</li>
      <li><a
      href="https://github.com/rust-lang/futures-rs/commit/49107994e567323aa026f3f4a3cdb19bc04cf24b"><code>4910799</code></a>
      provide a non-destructive mechanism to determine if a sink/stream are
      paired</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-lang/futures-rs/compare/0.3.28...0.3.30">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=futures-util&package-manager=cargo&previous-version=0.3.28&new-version=0.3.30)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      33d533e1
  5. Jan 16, 2024
    • Francisco Aguirre's avatar
      XCMv4 (#1230) · 8428f678
      Francisco Aguirre authored
      
      
      # Note for reviewer
      
      Most changes are just syntax changes necessary for the new version.
      Most important files should be the ones under the `xcm` folder.
      
      # Description 
      
      Added XCMv4.
      
      ## Removed `Multi` prefix
      The following types have been renamed:
      - MultiLocation -> Location
      - MultiAsset -> Asset
      - MultiAssets -> Assets
      - InteriorMultiLocation -> InteriorLocation
      - MultiAssetFilter -> AssetFilter
      - VersionedMultiAsset -> VersionedAsset
      - WildMultiAsset -> WildAsset
      - VersionedMultiLocation -> VersionedLocation
      
      In order to fix a name conflict, the `Assets` in `xcm-executor` were
      renamed to `HoldingAssets`, as they represent assets in holding.
      
      ## Removed `Abstract` asset id
      
      It was not being used anywhere and this simplifies the code.
      
      Now assets are just constructed as follows:
      
      ```rust
      let asset: Asset = (AssetId(Location::new(1, Here)), 100u128).into();
      ```
      
      No need for specifying `Concrete` anymore.
      
      ## Outcome is now a named fields struct
      
      Instead of
      
      ```rust
      pub enum Outcome {
        Complete(Weight),
        Incomplete(Weight, Error),
        Error(Error),
      }
      ```
      
      we now have
      
      ```rust
      pub enum Outcome {
        Complete { used: Weight },
        Incomplete { used: Weight, error: Error },
        Error { error: Error },
      }
      ```
      
      ## Added Reanchorable trait
      
      Now both locations and assets implement this trait, making it easier to
      reanchor both.
      
      ## New syntax for building locations and junctions
      
      Now junctions are built using the following methods:
      
      ```rust
      let location = Location {
          parents: 1,
          interior: [Parachain(1000), PalletInstance(50), GeneralIndex(1984)].into()
      };
      ```
      
      or
      
      ```rust
      let location = Location::new(1, [Parachain(1000), PalletInstance(50), GeneralIndex(1984)]);
      ```
      
      And they are matched like so:
      
      ```rust
      match location.unpack() {
        (1, [Parachain(id)]) => ...
        (0, Here) => ...,
        (1, [_]) => ...,
      }
      ```
      
      This syntax is mandatory in v4, and has been also implemented for v2 and
      v3 for easier migration.
      
      This was needed to make all sizes smaller.
      
      # TODO
      - [x] Scaffold v4
      - [x] Port github.com/paritytech/polkadot/pull/7236
      - [x] Remove `Multi` prefix
      - [x] Remove `Abstract` asset id
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKeith Yeung <[email protected]>
      8428f678
    • dependabot[bot]'s avatar
      Bump walkdir from 2.3.3 to 2.4.0 (#2910) · 82c057ee
      dependabot[bot] authored
      
      
      Bumps [walkdir](https://github.com/BurntSushi/walkdir) from 2.3.3 to
      2.4.0.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/037c5e16ec4d8b3eacb51f077cfdab7a356e8412"><code>037c5e1</code></a>
      2.4.0</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/dcc527d8326fae4272b66bb55f433a302a8cad6f"><code>dcc527d</code></a>
      api: add follow_root_links() option to WalkDir</li>
      <li><a
      href="https://github.com/BurntSushi/walkdir/commit/61a185fe49df24966acdec732f5a4b44a0475031"><code>61a185f</code></a>
      ci: use latest OS versions</li>
      <li>See full diff in <a
      href="https://github.com/BurntSushi/walkdir/compare/2.3.3...2.4.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=walkdir&package-manager=cargo&previous-version=2.3.3&new-version=2.4.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      82c057ee
    • Xavier Lau's avatar
      CI check features (#1708) · 05cfb02b
      Xavier Lau authored
      To resolve issue #1136.
      
      This is a cross verification against zepter.
      
      - [cargo-featalign](https://github.com/hack-ink/cargo-featalign):
      Verifies the proper propagation of all features.
      - [zepter](https://github.com/ggwpez/zepter): Checks for accidentally
      enabled features.
      
      cc @ggwpez
      
       
      
      ---
      Switch to a new branch. Original PR #1537.
      
      ---------
      
      Signed-off-by: default avatarXavier Lau <[email protected]>
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      05cfb02b
    • Bastian Köcher's avatar
      Some random fixes (#2936) · 1c2db174
      Bastian Köcher authored
      - Do not disable `std` feature in the integration tests
      - `contracts-fixtures` test should only check for `riscv` build when the
      feature is enabled
      1c2db174
  6. Jan 15, 2024
    • PG Herveou's avatar
      Contracts: stabilize sr25519 (#2920) · f2fbba3b
      PG Herveou authored
      Integration tests in ink!:
      https://github.com/paritytech/ink/tree/master/integration-tests/sr25519-verification
      f2fbba3b
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2926) · ac303406
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [clap](https://github.com/clap-rs/clap).
      
      Updates `clap` from 4.4.14 to 4.4.16
      <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.4.16</h2>
      <h2>[4.4.16] - 2024-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Ensure invalid escape sequences in user-defined strings are
      correctly stripped when terminal doesn't support color</li>
      </ul>
      <h2>v4.4.15</h2>
      <h2>[4.4.15] - 2024-01-11</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Improve error for <code>args_conflicts_with_subcommands</code></li>
      <li>Ensure we error for <code>args_conflicts_with_subcommands</code>
      when using subcommand short and long flags</li>
      </ul>
      </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.4.16] - 2024-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Ensure invalid escape sequences in user-defined strings are
      correctly stripped when terminal doesn't support color</li>
      </ul>
      <h2>[4.4.15] - 2024-01-11</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Improve error for <code>args_conflicts_with_subcommands</code></li>
      <li>Ensure we error for <code>args_conflicts_with_subcommands</code>
      when using subcommand short and long flags</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/cbc9c9dd44fc4be25c196213d508b9d2a9c282f3"><code>cbc9c9d</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/4718b89486c7c4236a18411b8449afc2d93f8e3d"><code>4718b89</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/38f805cea0cf50a0f26ed01e4fdf550ca8a555fa"><code>38f805c</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5299">#5299</a>
      from epage/ansi</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2a3356a53543531726e851e97639810f3828a89b"><code>2a3356a</code></a>
      fix: Update anstream</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/12b5c39d467ea147c21f5eb3063fc0bc2538e9b7"><code>12b5c39</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/1c5b63390babdb4f3a8994436da4e7f9239b7d43"><code>1c5b633</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a5d46410e072b9821f76b21839849c4434a2f8da"><code>a5d4641</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5298">#5298</a>
      from epage/conflict</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/f529ec398c4262296d5e6eb063b1b52d875d7f03"><code>f529ec3</code></a>
      fix(parser): Ensure subcommand flags can conflict</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a7e04a53e4a9e310663a0cdb5bfb0753d84b82bd"><code>a7e04a5</code></a>
      fix(parser): Improve subcommand conflict error</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/ea00ef3051fd5a993b766062a4e9defc777bf233"><code>ea00ef3</code></a>
      refactor(error): Allow more conflict sources</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.14...v4.4.16">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.4.14&new-version=4.4.16)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      ac303406
    • Alexandru Vasile's avatar
      archive: Implement archive_unstable_storage (#1846) · 53bcbb15
      Alexandru Vasile authored
      
      
      This PR implements the `archive_unstable_storage` method that offers
      support for:
      - fetching values
      - fetching hashes
      - iterating over keys and values
      - iterating over keys and hashes
      - fetching merkle values from the trie-db
      
      A common component dedicated to RPC-V2 storage queries is created to
      bridge the gap between `chainHead/storage` and `archive/storage`.
      Query pagination is supported by `paginationStartKey`, similar to the
      old APIs.
      Similarly to the `chainHead/storage`, the `archive/storage` method
      accepts a maximum number of queried items.
      
      The design builds upon:
      https://github.com/paritytech/json-rpc-interface-spec/pull/94.
      Closes https://github.com/paritytech/polkadot-sdk/issues/1512.
      
      cc @paritytech/subxt-team
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      Co-authored-by: default avatarNiklas Adolfsson <[email protected]>
      53bcbb15
    • Liam Aharon's avatar
      Unbalanced and Balanced fungible conformance tests, and fungible fixes (#1296) · 46090ff1
      Liam Aharon authored
      Original PR https://github.com/paritytech/substrate/pull/14655
      
      ---
      
      Partial https://github.com/paritytech/polkadot-sdk/issues/225
      
      - [x] Adds conformance tests for Unbalanced
      - [x] Adds conformance tests for Balanced
      - Several minor fixes to fungible default implementations and the
      Balances pallet
      - [x] `Unbalanced::decrease_balance` can reap account when
      `Preservation` is `Preserve`
      - [x] `Balanced::pair` can return pairs of imbalances which do not
      cancel each other out
         - [x] Balances pallet `active_issuance` 'underflow'
      - [x] Refactors the conformance test file structure to match the
      fungible file structure: tests for traits in regular.rs go into a test
      file named regular.rs, tests for traits in freezes.rs go into a test
      file named freezes.rs, etc.
       - [x] Improve doc comments
       - [x] Simplify macros
      
      ## Fixes
      
      ### `Unbalanced::decrease_balance` can reap account when called with
      `Preservation::Preserve`
      There is a potential issue in the default implementation of
      `Unbalanced::decrease_balance`. The implementation can delete an account
      even when it is called with `preservation: Preservation::Preserve`. This
      seems to contradict the documentation of `Preservation::Preserve`:
      
      ```rust
      	/// The account may not be killed and our provider reference must remain (in the context of
      	/// tokens, this means that the account may not be dusted).
      	Preserve,
      ```
      
      I updated `Unbalanced::decrease_balance` to return
      `Err(TokenError::BelowMinimum)` when a withdrawal would cause the
      account to be reaped and `preservation: Preservation::Preserve`.
      
      - [ ] TODO Confirm with @gavofyork that this is correct behavior
      
      Test for this behavior:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L912-L937
      
      ### `Balanced::pair` returning non-canceling pairs
      
      `Balanced::pair` is supposed to create a pair of imbalances that cancel
      each other out. However this is not the case when the method is called
      with an amount greater than the total supply.
      
      In the existing default implementation, `Balanced::pair` creates a pair
      by first rescinding the balance, creating `Debt`, and then issuing the
      balance, creating `Credit`.
      
      When creating `Debt`, if the amount to create exceeds the
      `total_supply`, `total_supply` units of `Debt` are created *instead* of
      `amount` units of `Debt`. This can lead to non-canceling amount of
      `Credit` and `Debt` being created.
      
      To address this, I create the credit and debt directly in the method
      instead of calling `issue` and `rescind`.
      
      Test for this behavior:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd/substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L1323-L1346
      
      ### `Balances` pallet `active_issuance` 'underflow'
      
      This PR resolves an issue in the `Balances` pallet that can lead to odd
      behavior of `active_issuance`.
      
      Currently, the Balances pallet doesn't check if `InactiveIssuance`
      remains less than or equal to `TotalIssuance` when supply is
      deactivated. This allows `InactiveIssuance` to be greater than
      `TotalIssuance`, which can result in unexpected behavior from the
      perspective of the fungible API.
      
      `active_issuance` is derived from
      `TotalIssuance.saturating_sub(InactiveIssuance)`.
      
      If an `amount` is deactivated that causes `InactiveIssuance` to become
      greater TotalIssuance, `active_issuance` will return 0. However once in
      that state, reactivating an amount will not increase `active_issuance`
      by the reactivated `amount` as expected.
      
      Consider this test where the last assertion would fail due to this
      issue:
      
      
      https://github.com/paritytech/polkadot-sdk/blob/e5c876dd
      
      /substrate/frame/support/src/traits/tokens/fungible/conformance_tests/regular.rs#L1036-L1071
      
      To address this, I've modified the `deactivate` function to ensure
      `InactiveIssuance` never surpasses `TotalIssuance`.
      
      ---------
      
      Co-authored-by: default avatarMuharem <[email protected]>
      46090ff1
    • Serban Iorga's avatar
      Warp sync zombienet tests: update DB snapshot (#2928) · e879c484
      Serban Iorga authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/2787
      
      Regenerating the DB snapshot after fixing:
      https://github.com/paritytech/polkadot-sdk/pull/2919
      
      Now we can add some BEEFY checks to `0002-validators-warp-sync`
      e879c484
  7. Jan 13, 2024
    • maksimryndin's avatar
      wasm-builder: bump toml from 0.8.2 to 0.8.8; replace ansi_term (#2914) · 127b9bec
      maksimryndin authored
      
      
      Hi folks!
      
      Thank for the well organized codebase and an outstanding engineering!
      
      I am trying to compile a substrate node template from source
      (https://github.com/paritytech/polkadot-sdk) and encountered a
      dependency conflict
      ![Screenshot 2024-01-11 at 12 22
      16](https://github.com/paritytech/polkadot-sdk/assets/16288656/b630773f-9d58-4abc-a15c-45f0e6b96b48)
      and a deprecation warning from advisory db for `ansi_term` (I see you
      replace it with some alternatives in other crates).
      
      While for `ansi_term` there is an adopted fork
      (https://github.com/rustadopt/ansiterm-rs) and it was my first commit in
      the PR, I've decided to use https://github.com/console-rs/console as you
      already use it to reduce dependencies (as I believe other substrate
      crates will remove ansi_term eventually)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      127b9bec
    • Jun Jiang's avatar
      Upgrade aquamarine to v0.5.0, v0.4.0 has yanked (#2921) · 38a0ac00
      Jun Jiang authored
      aquamarine v0.4.0 has yanked, see
      https://crates.io/crates/aquamarine/0.4.0
      38a0ac00
  8. Jan 12, 2024
    • PG Herveou's avatar
      Contracts: Translate .wat fixtures to rust (#2654) · bd80dcf6
      PG Herveou authored
      
      
      - Translate all pallet-contracts fixtures from `wat` to Rust files.
      - Fix read_sandbox_memory_as to not use MaxEncodedLen as this could
      break if used with types with a non-fixed encoded len.
      
      ---------
      
      Co-authored-by: default avataralvicsam <[email protected]>
      Co-authored-by: default avatarAlexander Samusev <[email protected]>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: command-bot <>
      bd80dcf6
    • Dmitry Markin's avatar
      Extract warp sync strategy from `ChainSync` (#2467) · 5208bed7
      Dmitry Markin authored
      
      
      Extract `WarpSync` (and `StateSync` as part of warp sync) from
      `ChainSync` as independent syncing strategy called by `SyncingEngine`.
      Introduce `SyncingStrategy` enum as a proxy between `SyncingEngine` and
      specific syncing strategies.
      
      ## Limitations
      Gap sync is kept in `ChainSync` for now because it shares the same set
      of peers as block syncing implementation in `ChainSync`. Extraction of a
      common context responsible for peer management in syncing strategies
      able to run in parallel is planned for a follow-up PR.
      
      ## Further improvements
      A possibility of conversion of `SyncingStartegy` into a trait should be
      evaluated. The main stopper for this is that different strategies need
      to communicate different actions to `SyncingEngine` and respond to
      different events / provide different APIs (e.g., requesting
      justifications is only possible via `ChainSync` and not through
      `WarpSync`; `SendWarpProofRequest` action is only relevant to
      `WarpSync`, etc.)
      
      ---------
      
      Co-authored-by: default avatarAaro Altonen <[email protected]>
      5208bed7
    • Serban Iorga's avatar
      Kitchensink: Fix pallet_mmr config (#2919) · 868788a5
      Serban Iorga authored
      Related to https://github.com/paritytech/polkadot-sdk/issues/2787
      
      Fixes `pallet_mmr::Config` for the kitchensink runtime
      868788a5
  9. Jan 11, 2024
    • Sebastian Kunert's avatar
      Cumulus test service cleanup (#2887) · c93f5aba
      Sebastian Kunert authored
      closes #2567 
      
      Followup for https://github.com/paritytech/polkadot-sdk/pull/2331
      
      This PR contains multiple internal cleanups:
      
      1. This gets rid of the functionality in `generate_genesis_block` which
      was only used in one benchmark
      2. Fixed `transaction_pool` and `transaction_throughput` benchmarks
      failing since they require a tokio runtime now.
      3. Removed `parachain_id` CLI option from the test parachain
      4. Removed `expect` call from `RuntimeResolver`
      c93f5aba
    • Nazar Mokrynskyi's avatar
      Move Cors data structure into reachable place (#2898) · f270b08a
      Nazar Mokrynskyi authored
      Trivial refactoring, fixes
      https://github.com/paritytech/polkadot-sdk/issues/2885
      f270b08a
    • Serban Iorga's avatar
      Warp sync zombienet tests: add basic BEEFY checks (#2854) · 578960f3
      Serban Iorga authored
      Part of https://github.com/paritytech/polkadot-sdk/issues/2787
      
      This is an initial PR that adds some basic BEEFY checks to the warp sync
      zombienet tests. To be more specific, it does the following:
      - Changes the snapshot used by the warp sync zombienet tests to one
      built from an updated version of the kitchensink runtime, that supports
      BEEFY
      - Adds some basic BEEFY checks to the warp sync zombienet tests
      - Deduplicates some params of the warp sync zombienet tests, making them
      easier to extend
      578960f3
    • Michal Kucharczyk's avatar
      frame-support: sp-runtime dependency updated (serde) (#2907) · c8112e2c
      Michal Kucharczyk authored
      `frame-support` crate compilation fails (reported by @koute):
      
      ```
      $ cargo check --no-default-features --target=wasm32-unknown-unknown
      
      error[E0277]: the trait bound `GC: Serialize` is not satisfied
          --> substrate/frame/support/src/genesis_builder_helper.rs:32:24
           |
      32   |     serde_json::to_string(&GC::default())
           |     --------------------- ^^^^^^^^^^^^^^ the trait `Serialize` is not implemented for `GC`
           |     |
           |     required by a bound introduced by this call
           |
      note: required by a bound in `serde_json::to_string`
          --> /home/kou/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.111/src/ser.rs:2209:17
           |
      2207 | pub fn to_string<T>(value: &T) -> Result<String>
           |        --------- required by a bound in this function
      2208 | where
      2209 |     T: ?Sized + Serialize,
           |                 ^^^^^^^^^ required by this bound in `to_string`
      help: consider further restricting this bound
           |
      30   |     GC: BuildGenesisConfig + Default + serde::Serialize,
           |                                      ++++++++++++++++++
      ```
      
      This PR should fix this.
      
      For all runtimes `sp-runtime/serde` feature was likely enabled by this
      (and few other pallets):
      
      https://github.com/paritytech/polkadot-sdk/blob/f2a750ee/substrate/frame/system/Cargo.toml#L27
      c8112e2c
  10. Jan 10, 2024
    • Marcin S.'s avatar
      PVF: Remove artifact persistence across restarts (#2895) · 6a80c10a
      Marcin S. authored
      Considering the complexity of
      https://github.com/paritytech/polkadot-sdk/pull/2871 and the discussion
      therein, as well as the further complexity introduced by the hardening
      in https://github.com/paritytech/polkadot-sdk/pull/2742, as well as the
      eventual replacement of wasmtime by PolkaVM, it seems best to remove
      this persistence as it is creating more problems than it solves.
      
      ## Related
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/2863
      6a80c10a