Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[pull] master from paritytech:master #13

Closed
wants to merge 146 commits into from
Closed

Commits on Jun 14, 2024

  1. CheckWeight: account for extrinsic len as proof size (#4765)

    Fix #4743 which allows
    us to remove the defensive limit on pov size in Cumulus after relay
    chain gets upgraded with these changes. Also add unit test to ensure
    `CheckWeight` - `StorageWeightReclaim` integration works.
    
    TODO:
    - [x] PRDoc
    - [x] Add a len to all the other tests in storage weight reclaim and
    call `CheckWeight::pre_dispatch`
    
    ---------
    
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    sandreim authored Jun 14, 2024
    Configuration menu
    Copy the full SHA
    ae0b3bf View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Configuration menu
    Copy the full SHA
    2f64381 View commit details
    Browse the repository at this point in the history
  2. CI: Add stable clobber (#4780)

    Clobbers the `stable` branch with the `audited` tag as described in the
    [RELEASE.md](https://github.com/paritytech/polkadot-sdk/blob/master/docs/RELEASE.md#clobbering).
    
    Example of the `staging_stable` branch now after force-pushing the
    `staging_audited` tag for a few times. The `staging_` prefix has now
    been removed and should be ready for normal use.
    The only trigger is currently manual, but can easily be set to three
    months.
    ![Screenshot 2024-06-13 at 00 47
    43](https://github.com/paritytech/polkadot-sdk/assets/10380170/97e070ad-ce2d-4504-83a0-ad6717b6e73e)
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    7968909 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d91cbbd View commit details
    Browse the repository at this point in the history
  4. Improve pruning CLI documentation (#4810)

    Closes: #4801
    
    @andreclaro I hope this makes it more clear from the docs directly.
    bkchr authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    2e39e05 View commit details
    Browse the repository at this point in the history
  5. chore: remove unnecessary words (#4796)

    remove unnecessary words in comments.
    hattizai authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    fed508f View commit details
    Browse the repository at this point in the history
  6. Ibp bootnodes for Kusama People (#6) (#4741)

    * fix rotko's pcollectives bootnode
    * Update people-kusama.json
    * Add Dwellir People Kusama bootnode
    * add Gatotech bootnodes to `people-kusama`
    * Add Dwellir People Kusama bootnode
    * Update Amforc bootnodes for Kusama and Polkadot (#4668)
    
    ---------
    
    Co-authored-by: RadiumBlock <info@radiumblock.com>
    Co-authored-by: Jonathan Udd <jonathan@dwellir.com>
    Co-authored-by: Milos Kriz <milos_kriz@hotmail.com>
    Co-authored-by: tugy <33746108+tugytur@users.noreply.github.com>
    Co-authored-by: Kutsal Kaan Bilgin <kutsalbilgin@gmail.com>
    Co-authored-by: Petr Mensik <petr.mensik1@gmail.com>
    Co-authored-by: Tommi <tommi@romeblockchain>
    8 people authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    6cb3bd2 View commit details
    Browse the repository at this point in the history
  7. node-inspect: do not depend on rocksdb (#4783)

    The crate `sc-cli` otherwise enables the `rocksdb` feature.
    FlorianFranzen authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    5055294 View commit details
    Browse the repository at this point in the history
  8. remove pallet::getter usage from pallet-timestamp (#3374)

    this pr is a part of #3326
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jun 17, 2024
    Configuration menu
    Copy the full SHA
    55a13ab View commit details
    Browse the repository at this point in the history

Commits on Jun 18, 2024

  1. refactor: parachain template (#4684)

    Update parachain template pallet based on polkadot sdk docs
    
    @kianenigma
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Daanvdplas and kianenigma authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    7c847f8 View commit details
    Browse the repository at this point in the history
  2. glutton: also increase parachain block length (#4728)

    Glutton currently is useful mostly for stress testing relay chain
    validators. It is unusable for testing the collator networking and block
    announcement and import scenarios. This PR resolves that by improving
    glutton pallet to also buff up the blocks, up to the runtime configured
    `BlockLength`.
    
    ### How it works
    Includes an additional inherent in each parachain block. The `garbage`
    argument passed to the inherent is filled with trash data. It's size is
    computed by applying the newly introduced `block_length` percentage to
    the maximum block length for mandatory dispatch class. After
    #4765 is merged, the
    length of inherent extrinsic will be added to the total block proof
    size.
    
    The remaining weight is burnt in `on_idle` as configured by the
    `storage` percentage parameter.
    
    
    TODO:
    - [x] PRDoc
    - [x] Readme update
    - [x] Add tests
    
    ---------
    
    Signed-off-by: Andrei Sandu <andrei-mihail@parity.io>
    sandreim authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    1dc68de View commit details
    Browse the repository at this point in the history
  3. Remove deprecated treasury pallet calls (#3820)

    # ISSUE
    - Link to the issue:
    #3800
    # Deliverables
    - [x] remove deprecated calls;
    (d579b67)
    - [x] set explicit coded indexes for Error and Event enums, remove
    unused variants and keep the same indexes for the rest;
    (d579b67)
    - [x] remove unused Config's type parameters;
    (d579b67)
    - [x] remove irrelevant tests and adopt relevant using old api;
    (d579b67)
    - [x] remove benchmarks for removed calls;
    (1a3d5f1)
    - [x] prdoc
    (d579b67)
    - [x] remove deprecated methods from the `treasury/README.md` and add
    up-to-date dispatchable functions documentation
    (d579b67)
    - [x] remove deprecated weight functions
    (8f74134)
    > ### Separated to other issues
    > - [ ] remove storage items like Proposals and ProposalCount, that are
    not used anymore
    
    Adjust all treasury pallet instances within polkadot-sdk
    - [x] `pallet_bounty`, `tip`, `child_bounties`:
    openguild-labs#3
    - [x] Remove deprecated treasury weight functions used in Westend and
    Rococo runtime `collective-westend`, `collective-rococo`
    
    Add migration for westend and rococo to clean the data from removed
    storage items
    - [ ] #3828
    # Test Outcomes
    Successful tests by running `cargo test --features runtime-benchmarks`
    ```
    running 38 tests
    test tests::__construct_runtime_integrity_test::runtime_integrity_tests ... ok
    test benchmarking::benchmarks::bench_check_status ... ok
    test benchmarking::benchmarks::bench_payout ... ok
    test benchmarking::benchmarks::bench_spend_local ... ok
    test tests::accepted_spend_proposal_enacted_on_spend_period ... ok
    test benchmarking::benchmarks::bench_spend ... ok
    test tests::accepted_spend_proposal_ignored_outside_spend_period ... ok
    test benchmarking::benchmarks::bench_void_spend ... ok
    test benchmarking::benchmarks::bench_remove_approval ... ok
    test tests::genesis_funding_works ... ok
    test tests::genesis_config_works ... ok
    test tests::inexistent_account_works ... ok
    test tests::minting_works ... ok
    test tests::check_status_works ... ok
    test tests::payout_retry_works ... ok
    test tests::pot_underflow_should_not_diminish ... ok
    test tests::remove_already_removed_approval_fails ... ok
    test tests::spend_local_origin_permissioning_works ... ok
    test tests::spend_valid_from_works ... ok
    test tests::spend_expires ... ok
    test tests::spend_works ... ok
    test tests::test_genesis_config_builds ... ok
    test tests::spend_payout_works ... ok
    test tests::spend_local_origin_works ... ok
    test tests::spend_origin_works ... ok
    test tests::spending_local_in_batch_respects_max_total ... ok
    test tests::spending_in_batch_respects_max_total ... ok
    test tests::try_state_proposals_invariant_2_works ... ok
    test tests::try_state_proposals_invariant_1_works ... ok
    test tests::try_state_spends_invariant_2_works ... ok
    test tests::try_state_spends_invariant_1_works ... ok
    test tests::treasury_account_doesnt_get_deleted ... ok
    test tests::try_state_spends_invariant_3_works ... ok
    test tests::unused_pot_should_diminish ... ok
    test tests::void_spend_works ... ok
    test tests::try_state_proposals_invariant_3_works ... ok
    test tests::max_approvals_limited ... ok
    test benchmarking::benchmarks::bench_on_initialize_proposals ... ok
    
    test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
    
       Doc-tests pallet_treasury
    
    running 2 tests
    test substrate/frame/treasury/src/lib.rs - (line 52) ... ignored
    test substrate/frame/treasury/src/lib.rs - (line 79) ... ignored
    
    test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
    ```
    
    polkadot address: 19nSqFQorfF2HxD3oBzWM3oCh4SaCRKWt1yvmgaPYGCo71J
    chungquantin authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    40677b6 View commit details
    Browse the repository at this point in the history
  4. Add set_partial_params dispatchable function (#3843)

    # ISSUE
    - Link to issue: #3617
    # Description
    > Any set parameter / update config call with multiple arguments should
    have each argument to be an Option field. Please put this to some best
    practice document. This allows new update config call does not need to
    duplicate the fields that does not need to update. It also makes
    concurrent votes of update call possible, otherwise there will be race
    condition. It also helps with review such proposal otherwise reviewers
    need to check the other fields should remain the same.
    - [ ] Concurrent call & race condition testing
    - [x] Each argument of the `ParamsType` is an `Option` field. Introduce
    through
    ```rust
    pub type PartialParamsOf<T, I> =
    		ParamsType<Option<<T as Config<I>>::Balance>, Option<BlockNumberFor<T>>, RANK_COUNT>;
    ```
    # Outcome
    ```rust
    let params = ParamsType {
    	active_salary: [None; 9],
    	passive_salary: [None; 9],
    	demotion_period: [None, Some(10), None, None, None, None, None, None, None],
    	min_promotion_period: [None; 9],
    	offboard_timeout: Some(1),
    };
    CoreFellowship::set_partial_params(signed(2), Box::new(params.clone())),
    ```
    Test coverage
    ```diff
    running 21 tests
    test tests::unit::__construct_runtime_integrity_test::runtime_integrity_tests ... ok
    test tests::unit::basic_stuff ... ok
    test tests::integration::test_genesis_config_builds ... ok
    test tests::integration::__construct_runtime_integrity_test::runtime_integrity_tests ... ok
    test tests::unit::auto_demote_offboard_works ... ok
    test tests::unit::auto_demote_works ... ok
    test tests::unit::get_salary_works ... ok
    test tests::unit::active_changing_get_salary_works ... ok
    test tests::integration::swap_bad_noops ... ok
    test tests::unit::promote_postpones_auto_demote ... ok
    test tests::unit::infinite_demotion_period_works ... ok
    test tests::unit::proof_postpones_auto_demote ... ok
    test tests::unit::induct_works ... ok
    test tests::unit::set_params_works ... ok
    test tests::unit::test_genesis_config_builds ... ok
    test tests::unit::offboard_works ... ok
    test tests::unit::sync_works ... ok
    + test tests::unit::set_partial_params_works ... ok
    test tests::integration::swap_exhaustive_works ... ok
    test tests::unit::promote_works ... ok
    test tests::integration::swap_simple_works ... ok
    
    test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
    
       Doc-tests pallet_core_fellowship
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    ```
    
    polkadot address: 19nSqFQorfF2HxD3oBzWM3oCh4SaCRKWt1yvmgaPYGCo71J
    
    ---------
    
    Co-authored-by: Dónal Murray <donalm@seadanda.dev>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    4 people authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    cc38713 View commit details
    Browse the repository at this point in the history
  5. Unify code_at logic between CallExecutor & Client (#4618)

    This unifies the logic between `CallExecutor` and `Client` when it comes
    to fetching the `code` for a given block. The actual `code` depends on
    potential overrides/substitutes.
    
    Besides that it changes the logic in the lookahead collator on which
    `ValidationCodeHash` it sends to the validator alongside the `POV`. We
    are now sending the code hash as found on the relay chain. This is done
    as the local node could run with an override which is compatible to the
    validation code on the relay chain, but has a different hash.
    bkchr authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    029a656 View commit details
    Browse the repository at this point in the history
  6. chore: remove redundant words. (#4653)

    remove redundant words in comments.
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    3 people authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    e172959 View commit details
    Browse the repository at this point in the history
  7. Migrated commands to github actions (#4701)

    Migrated commands individually to work as GitHub actions with a
    [`workflow_dispatch`](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch)
    event.
    
    This will not disable the command-bot yet, but it's the first step
    before disabling it.
    
    ### Commands migrated
    - [x] bench-all
    - [x] bench-overhead
    - [x] bench
    - [x] fmt
    - [x] update-ui
    
    Also created an action that will inform users about the new
    documentation when they comment `bot`.
    
    ### Created documentation 
    Created a detailed documentation on how to use this action. Found the
    documentation
    [here](https://github.com/paritytech/polkadot-sdk/blob/bullrich/cmd-action/.github/commands-readme.md).
    
    ---------
    
    Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
    Co-authored-by: Przemek Rzad <przemek@parity.io>
    3 people authored Jun 18, 2024
    Configuration menu
    Copy the full SHA
    6daa939 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. Fix core sharing and make use of scheduling_lookahead (#4724)

    Implements most of
    #1797
    
    Core sharing (two parachains or more marachains scheduled on the same
    core with the same `PartsOf57600` value) was not working correctly. The
    expected behaviour is to have Backed and Included event in each block
    for the paras sharing the core and the paras should take turns. E.g. for
    two cores we expect: Backed(a); Included(a)+Backed(b);
    Included(b)+Backed(a); etc. Instead of this each block contains just one
    event and there are a lot of gaps (blocks w/o events) during the
    session.
    
    Core sharing should also work when collators are building collations
    ahead of time
    
    TODOs:
    
    - [x] Add a zombienet test verifying that the behaviour mentioned above
    works.
    - [x] prdoc
    
    ---------
    
    Co-authored-by: alindima <alin@parity.io>
    tdimitrov and alindima authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    739c37b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4389aaf View commit details
    Browse the repository at this point in the history
  3. Fix CLI pruning params (#4836)

    `ValueEnum` is apparently not using the `from_str`...
    
    Closes: #4828
    bkchr authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    9f09169 View commit details
    Browse the repository at this point in the history
  4. rpc server: add health/readiness endpoint (#4802)

    Previous attempt paritytech/substrate#14314
    
    Close #4443 
    
    Ideally, we should move /health and /health/readiness to the prometheus
    server but because it's was quite easy to implement on the RPC server
    and that RPC server already exposes /health.
    
    Manual tests on a polkadot node syncing:
    
    ```bash
    ➜ polkadot-sdk (na-fix-4443) ✗ curl -v localhost:9944/health
    * Host localhost:9944 was resolved.
    * IPv6: ::1
    * IPv4: 127.0.0.1
    *   Trying [::1]:9944...
    * connect to ::1 port 9944 from ::1 port 55024 failed: Connection refused
    *   Trying 127.0.0.1:9944...
    * Connected to localhost (127.0.0.1) port 9944
    > GET /health HTTP/1.1
    > Host: localhost:9944
    > User-Agent: curl/8.5.0
    > Accept: */*
    >
    < HTTP/1.1 200 OK
    < content-type: application/json; charset=utf-8
    < content-length: 53
    < date: Fri, 14 Jun 2024 16:12:23 GMT
    <
    * Connection #0 to host localhost left intact
    {"peers":0,"isSyncing":false,"shouldHavePeers":false}%
    ➜ polkadot-sdk (na-fix-4443) ✗ curl -v localhost:9944/health/readiness
    * Host localhost:9944 was resolved.
    * IPv6: ::1
    * IPv4: 127.0.0.1
    *   Trying [::1]:9944...
    * connect to ::1 port 9944 from ::1 port 54328 failed: Connection refused
    *   Trying 127.0.0.1:9944...
    * Connected to localhost (127.0.0.1) port 9944
    > GET /health/readiness HTTP/1.1
    > Host: localhost:9944
    > User-Agent: curl/8.5.0
    > Accept: */*
    >
    < HTTP/1.1 500 Internal Server Error
    < content-type: application/json; charset=utf-8
    < content-length: 0
    < date: Fri, 14 Jun 2024 16:12:36 GMT
    <
    * Connection #0 to host localhost left intact
    ```
    
    //cc @BulatSaif you may be interested in this..
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    niklasad1 and bkchr authored Jun 19, 2024
    Configuration menu
    Copy the full SHA
    6c85760 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2024

  1. Bump curve25519-dalek from 4.1.2 to 4.1.3 (#4824)

    Bumps
    [curve25519-dalek](https://github.com/dalek-cryptography/curve25519-dalek)
    from 4.1.2 to 4.1.3.
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/5312a0311ec40df95be953eacfa8a11b9a34bc54"><code>5312a03</code></a>
    curve: Bump version to 4.1.3 (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/660">#660</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/b4f9e4df92a4689fb59e312a21f940ba06ba7013"><code>b4f9e4d</code></a>
    SECURITY: fix timing variability in backend/serial/u32/scalar.rs (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/661">#661</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/415892acf1cdf9161bd6a4c99bc2f4cb8fae5e6a"><code>415892a</code></a>
    SECURITY: fix timing variability in backend/serial/u64/scalar.rs (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/659">#659</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/56bf398d0caed63ef1d1edfbd35eb5335132aba2"><code>56bf398</code></a>
    Updates license field to valid SPDX format (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/647">#647</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/9252fa5c0d09054fed4ac4d649e63c40fad7abaf"><code>9252fa5</code></a>
    Mitigate check-cfg until MSRV 1.77 (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/652">#652</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/1efe6a93b176c4389b78e81e52b2cf85d728aac6"><code>1efe6a9</code></a>
    Fix a minor typo in signing.rs (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/649">#649</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/cc3421a22fa7ee1f557cbe9243b450da53bbe962"><code>cc3421a</code></a>
    Indicate that the rand_core feature is required (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/641">#641</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/858c4ca8ae03d33fe8b71b4504c4d3f5ff5b45c0"><code>858c4ca</code></a>
    Address new nightly clippy unnecessary qualifications (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/639">#639</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/31ccb6705067d68782cb135e23c79b640a6a06ee"><code>31ccb67</code></a>
    Remove platforms in favor using CARGO_CFG_TARGET_POINTER_WIDTH (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/636">#636</a>)</li>
    <li><a
    href="https://github.com/dalek-cryptography/curve25519-dalek/commit/19c7f4a5d5e577adc9cc65a837abef9ed7ebf0a4"><code>19c7f4a</code></a>
    Fix new nightly redundant import lint warns (<a
    href="https://redirect.github.com/dalek-cryptography/curve25519-dalek/issues/638">#638</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/dalek-cryptography/curve25519-dalek/compare/curve25519-4.1.2...curve25519-4.1.3">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=curve25519-dalek&package-manager=cargo&previous-version=4.1.2&new-version=4.1.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)
    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: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jun 20, 2024
    Configuration menu
    Copy the full SHA
    74decbb View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. Bump ws from 8.16.0 to 8.17.1 in /bridges/testing/framework/utils/gen…

    …erate_hex_encoded_call (#4825)
    
    Bumps [ws](https://github.com/websockets/ws) from 8.16.0 to 8.17.1.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/websockets/ws/releases">ws's
    releases</a>.</em></p>
    <blockquote>
    <h2>8.17.1</h2>
    <h1>Bug fixes</h1>
    <ul>
    <li>Fixed a DoS vulnerability (<a
    href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>).</li>
    </ul>
    <p>A request with a number of headers exceeding
    the[<code>server.maxHeadersCount</code>][]
    threshold could be used to crash a ws server.</p>
    <pre lang="js"><code>const http = require('http');
    const WebSocket = require('ws');
    <p>const wss = new WebSocket.Server({ port: 0 }, function () {
    const chars =
    &quot;!#$%&amp;'*+-.0123456789abcdefghijklmnopqrstuvwxyz^_`|~&quot;.split('');
    const headers = {};
    let count = 0;</p>
    <p>for (let i = 0; i &lt; chars.length; i++) {
    if (count === 2000) break;</p>
    <pre><code>for (let j = 0; j &amp;lt; chars.length; j++) {
      const key = chars[i] + chars[j];
      headers[key] = 'x';
    
      if (++count === 2000) break;
    }
    </code></pre>
    <p>}</p>
    <p>headers.Connection = 'Upgrade';
    headers.Upgrade = 'websocket';
    headers['Sec-WebSocket-Key'] = 'dGhlIHNhbXBsZSBub25jZQ==';
    headers['Sec-WebSocket-Version'] = '13';</p>
    <p>const request = http.request({
    headers: headers,
    host: '127.0.0.1',
    port: wss.address().port
    });</p>
    <p>request.end();
    });
    </code></pre></p>
    <p>The vulnerability was reported by <a
    href="https://github.com/rrlapointe">Ryan LaPointe</a> in <a
    href="https://redirect.github.com/websockets/ws/issues/2230">websockets/ws#2230</a>.</p>
    <p>In vulnerable versions of ws, the issue can be mitigated in the
    following ways:</p>
    <ol>
    <li>Reduce the maximum allowed length of the request headers using the
    [<code>--max-http-header-size=size</code>][] and/or the
    [<code>maxHeaderSize</code>][] options so
    that no more headers than the <code>server.maxHeadersCount</code> limit
    can be sent.</li>
    </ol>
    <!-- raw HTML omitted -->
    </blockquote>
    <p>... (truncated)</p>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/websockets/ws/commit/3c56601092872f7d7566989f0e379271afd0e4a1"><code>3c56601</code></a>
    [dist] 8.17.1</li>
    <li><a
    href="https://github.com/websockets/ws/commit/e55e5106f10fcbaac37cfa89759e4cc0d073a52c"><code>e55e510</code></a>
    [security] Fix crash when the Upgrade header cannot be read (<a
    href="https://redirect.github.com/websockets/ws/issues/2231">#2231</a>)</li>
    <li><a
    href="https://github.com/websockets/ws/commit/6a00029edd924499f892aed8003cef1fa724cfe5"><code>6a00029</code></a>
    [test] Increase code coverage</li>
    <li><a
    href="https://github.com/websockets/ws/commit/ddfe4a804d79e7788ab136290e609f91cf68423f"><code>ddfe4a8</code></a>
    [perf] Reduce the amount of <code>crypto.randomFillSync()</code>
    calls</li>
    <li><a
    href="https://github.com/websockets/ws/commit/b73b11828d166e9692a9bffe9c01a7e93bab04a8"><code>b73b118</code></a>
    [dist] 8.17.0</li>
    <li><a
    href="https://github.com/websockets/ws/commit/29694a5905fa703e86667928e6bacac397469471"><code>29694a5</code></a>
    [test] Use the <code>highWaterMark</code> variable</li>
    <li><a
    href="https://github.com/websockets/ws/commit/934c9d6b938b93c045cb13e5f7c19c27a8dd925a"><code>934c9d6</code></a>
    [ci] Test on node 22</li>
    <li><a
    href="https://github.com/websockets/ws/commit/1817bac06e1204bfb578b8b3f4bafd0fa09623d0"><code>1817bac</code></a>
    [ci] Do not test on node 21</li>
    <li><a
    href="https://github.com/websockets/ws/commit/96c9b3deddf56cacb2d756aaa918071e03cdbc42"><code>96c9b3d</code></a>
    [major] Flip the default value of <code>allowSynchronousEvents</code>
    (<a
    href="https://redirect.github.com/websockets/ws/issues/2221">#2221</a>)</li>
    <li><a
    href="https://github.com/websockets/ws/commit/e5f32c7e1e6d3d19cd4a1fdec84890e154db30c1"><code>e5f32c7</code></a>
    [fix] Emit at most one event per event loop iteration (<a
    href="https://redirect.github.com/websockets/ws/issues/2218">#2218</a>)</li>
    <li>Additional commits viewable in <a
    href="https://github.com/websockets/ws/compare/8.16.0...8.17.1">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=ws&package-manager=npm_and_yarn&previous-version=8.16.0&new-version=8.17.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
    
    Dependabot will resolve any conflicts with this PR as long as you don't
    alter it yourself. You can also trigger a rebase manually by commenting
    `@dependabot rebase`.
    
    [//]: # (dependabot-automerge-start)
    [//]: # (dependabot-automerge-end)
    
    ---
    
    <details>
    <summary>Dependabot commands and options</summary>
    <br />
    
    You can trigger Dependabot actions by commenting on this PR:
    - `@dependabot rebase` will rebase this 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: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    dependabot[bot] and bkontur authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    a23abb1 View commit details
    Browse the repository at this point in the history
  2. [ci] Change storage type for forklift in GHA (#4850)

    PR changes forklift authentication to gcs
    
    cc paritytech/ci_cd#987
    alvicsam authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    b301218 View commit details
    Browse the repository at this point in the history
  3. Do not make pallet-nfts benchmarks signature-dependent (#4756)

    This PR:
    
    - Adds extra functionality to pallet-nfts's `BenchmarkHelper` to provide
    signers and sign message.
    - Abstracts away the explicit link with Sr25519 schema in the
    benchmarks, allowing parachains with a different one to be able to run
    them and calculate the weights.
    - Adds a default implementation for the empty tuple that leaves the code
    equivalent.
    Moliholy authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    2657cfb View commit details
    Browse the repository at this point in the history
  4. [HRMP] Dont partially modify pages (#4710)

    Changes:
    - The XCMP queue does not partially modify pages anymore by using
    `try_mutate` instead of `mutate`.
    - The XCMP queue max page size is now the min between the value that the
    relay reports and the local limit.
    
    Thanks to whom pointed this out to me via DM.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    d18d362 View commit details
    Browse the repository at this point in the history
  5. Implement pallet-assets-freezer (#3951)

    Closes #3342
    
    cc/ @liamaharon
    
    TODO:
    
    - [x] Improve docs.
    - [x] Define public interface (See #3342).
      In case we define public calls to the pallet implementation:
      - Implement public calls.
      - Benchmarks.
      
    polkadot address: 12gMhxHw8QjEwLQvnqsmMVY1z5gFa54vND74aMUbhhwN6mJR
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    pandres95 and liamaharon authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    a477bd0 View commit details
    Browse the repository at this point in the history
  6. sc-network-types: implement From<IpAddr> for Multiaddr (#4855)

    Add `From` implementation used by downstream project.
    
    Ref.
    #4198 (comment)
    
    CC @nazar-pc
    dmitry-markin authored Jun 21, 2024
    Configuration menu
    Copy the full SHA
    3b3a1d2 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    c4b3c1c View commit details
    Browse the repository at this point in the history

Commits on Jun 22, 2024

  1. Frame: Consideration trait generic over Footprint and indicates z…

    …ero cost (#4596)
    
    `Consideration` trait generic over `Footprint` and indicates zero cost
    for a give footprint.
    
    `Consideration` trait is generic over `Footprint` (currently defined
    over the type with the same name). This makes it possible to setup a
    custom footprint (e.g. current number of proposals in the storage).
    
    `Consideration::new` and `Consideration::update` return an
    `Option<Self>` instead `Self`, this make it possible to indicate a no
    cost for a specific footprint (e.g. if current number of proposals in
    the storage < max_proposal_count / 2 then no cost).
    
    These cases need to be handled for
    #3151
    muharem authored Jun 22, 2024
    Configuration menu
    Copy the full SHA
    812dbff View commit details
    Browse the repository at this point in the history

Commits on Jun 23, 2024

  1. Remove pallet::getter macro usage from pallet-elections-phragmen (#4513)

    As per #3326, removes pallet::getter macro usage from the
    pallet-elections-phragmen. The syntax `StorageItem::<T, I>::get()`
    should be used instead.
    
    cc @muraca
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    PolkadotDom and ggwpez authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    25a648d View commit details
    Browse the repository at this point in the history
  2. Reinitialize should allow to override existing config in collationGen…

    …eration (#4833)
    
    Currently the `Initialize` and `Reinitialize` messages in the
    collationGeneration subsystem fail if:
    -  `Initialize` if there exists already another configuration and
    - `Reinitialize` if another configuration does not exist
    
    I propose to instead change the behaviour of `Reinitialize` to always
    set the config regardless of whether one exists or not.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
    3 people authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    f8feebc View commit details
    Browse the repository at this point in the history
  3. Block import cleanups (#4842)

    I carried these things in a fork for a long time, I think wouldn't hurt
    to have it upstream.
    
    Originally submitted as part of
    #1598 that went nowhere.
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    nazar-pc and bkchr authored Jun 23, 2024
    Configuration menu
    Copy the full SHA
    686aa23 View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Dont publish example pallets (#4861)

    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    7df94a4 View commit details
    Browse the repository at this point in the history
  2. pallet-membership should implement ContainsLengthBound (#4865)

    ### ISSUE
    Link to the issue:
    #1143
    
    Deliverables
     - Implement trait `ContainsLengthBound` for pallet-membership
     
    
    ### Test Outcomes
    ___
    Successful tests by running `cargo test -p pallet-membership --features
    runtime-benchmarks`
    
    
    
    running 22 tests
    test tests::__construct_runtime_integrity_test::runtime_integrity_tests
    ... ok
    test benchmark::bench_clear_prime ... ok
    test tests::add_member_works ... ok
    test tests::change_key_with_same_caller_as_argument_changes_nothing ...
    ok
    test tests::change_key_works ... ok
    test benchmark::bench_set_prime ... ok
    test benchmark::bench_remove_member ... ok
    test benchmark::bench_change_key ... ok
    test tests::change_key_works_that_does_not_change_order ... ok
    test benchmark::bench_reset_members ... ok
    test benchmark::bench_add_member ... ok
    test tests::genesis_build_panics_with_duplicate_members - should panic
    ... ok
    test benchmark::bench_swap_member ... ok
    test tests::query_membership_works ... ok
    test tests::prime_member_works ... ok
    test tests::test_genesis_config_builds ... ok
    test tests::remove_member_works ... ok
    test tests::migration_v4 ... ok
    test tests::swap_member_with_identical_arguments_changes_nothing ... ok
    test tests::swap_member_works_that_does_not_change_order ... ok
    test tests::swap_member_works ... ok
    test tests::reset_members_works ... ok
    
    test result: ok. 22 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.01s
    
       Doc-tests pallet_membership
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.00s
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Aideepakchaudhary and bkchr authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    fed81f7 View commit details
    Browse the repository at this point in the history
  3. Ensure earliest allowed block is at minimum the next block (#4823)

    When `min_enactment_period == 0` and `desired == At(n)` where `n` is
    smaller than the current block number, the scheduling would fail. This
    happened for example here:
    https://collectives.subsquare.io/fellowship/referenda/126
    
    To ensure that this doesn't happen again, ensure that the earliest
    allowed block is at minimum the next block.
    bkchr authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    b776716 View commit details
    Browse the repository at this point in the history
  4. Lift all dependencies (the big one) (#4716)

    After preparing in #4633,
    we can lift also all internal dependencies up to the workspace.
    
    This does not actually change anything, but uses `workspace = true` for
    all dependencies. You can check it with:
    ```bash
    git checkout -q $(git merge-base oty-lift-all-deps origin/master)
    cargo tree -e features > master.out
    
    git checkout -q oty-lift-all-deps
    cargo tree -e features > new.out
    diff master.out new.out
    ```
    
    It did not yet lift 100% of dependencies, some inside of `target.*` or
    some that had conflicting aliases introduced recently. But i will do
    these together in a follow-up with CI checks.
    
    Can be reproduced with [zepter](https://github.com/ggwpez/zepter/):
    `zepter transpose d lift-to-workspace "regex:.*" --version-resolver
    highest --skip-package "polkadot-sdk" --ignore-errors --fix`.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    8efa054 View commit details
    Browse the repository at this point in the history
  5. pallet ranked collective: max member count per rank (#4807)

    Configuration for the maximum member count per rank, with the option for
    no limit.
    muharem authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    0b11c27 View commit details
    Browse the repository at this point in the history
  6. CI quick-checks: Pull Rust deps in advance (#4867)

    Pull the Rust dependencies in advance to see if there is an issue with
    timeouts.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    10b68db View commit details
    Browse the repository at this point in the history
  7. treasury pallet: remove unused config parameters (#4831)

    Remove unused config parameters `ApproveOrigin` and `OnSlash` from the
    treasury pallet. Add `OnSlash` config parameter to the bounties and tips
    pallets.
    
    part of #3800
    muharem authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    5e62782 View commit details
    Browse the repository at this point in the history
  8. chore: remove repeat words (#4869)

    Signed-off-by: dashangcun <jchaodaohang@foxmail.com>
    Co-authored-by: dashangcun <jchaodaohang@foxmail.com>
    dashangcun and haouvw authored Jun 24, 2024
    Configuration menu
    Copy the full SHA
    63e2644 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. rpc2: Finalized event doesn't indicate that the best block changes (#…

    …4872)
    
    We should not print a warning if the best block stays the same between
    two finality events. There is no requirement that this changes. For sure
    this doesn't need to be an error message.
    bkchr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    a0fc3b5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    909bfc2 View commit details
    Browse the repository at this point in the history
  3. chore: remove unused rustc-hex deps; enable rustc-hex for primitive-t…

    …ypes in sp-core (#4860)
    
    Some primitives have impl Hex related traits enabled by `rustc-hex`
    feature. People wanna use H256/H160 maybe need these trait impls
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    yjhmelody and bkchr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    a406dd5 View commit details
    Browse the repository at this point in the history
  4. chain-spec-builder: Add support for codeSubstitutes (#4685)

    While working on #4600 I
    found that it would be nice if `chain-spec-builder` supported
    `codeSubstitutes`. After this PR is merged you can do:
    
    ```
    chain-spec-builder add-code-substitute chain_spec.json my_runtime.compact.compressed.wasm 1234
    ```
    
    In addition, the `chain-spec-builder` was silently removing
    `relay_chain` and `para_id` fields when used on parachain chain-specs.
    This is now fixed by providing a custom chain-spec extension that has
    these fields marked as optional.
    skunert authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    3c21372 View commit details
    Browse the repository at this point in the history
  5. Upgrade libp2p to 0.52.4 (#1631)

    Upgrade libp2p to 0.52.4, including a fix: 
    
    * Set Kademlia to server mode
    (paritytech/substrate#14703)
    
    ### TODO
    - [x] Fix 3 zombienet tests failing:
      - [x] `zombienet-substrate-0002-validators-warp-sync`
    - [ ]
    ~`zombienet-polkadot-functional-0005-parachains-disputes-past-session`~
    The test is also flaky in other PRs and is not required for CI to
    succeed.
      - [x] `zombienet-polkadot-functional-0009-approval-voting-coalescing`
    - [x] Uncomment and update to the actual libp2p API tests in
    [`substrate/client/network/src/protocol/notifications/handler.rs`](https://github.com/paritytech/polkadot-sdk/blob/7331f1796f1a0b0e9fb0cd7bf441239ad9664595/substrate/client/network/src/protocol/notifications/handler.rs#L1009).
    - [x] When upgrading `multihash` crate as part of libp2p upgrade to
    version v0.19.1, uncomment the conversion code at
    https://github.com/paritytech/polkadot-sdk/blob/7547c4942a887029c11cbcfd5103f6d8315ab95c/substrate/client/network/types/src/multihash.rs#L159
    - [x] Perform a burn-in.
    
    ---------
    
    Co-authored-by: Anton <anton.kalyaev@gmail.com>
    Co-authored-by: command-bot <>
    Co-authored-by: Dmitry Markin <dmitry@markin.tech>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    4 people authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    414a8fc View commit details
    Browse the repository at this point in the history
  6. Use real rust type for pallet alias in runtime macro (#4769)

    Fixes #4723. Also,
    closes #4622
    
    As stated in the linked issue, this PR adds the ability to use a real
    rust type for pallet alias in the new `runtime` macro:
    ```rust
    #[runtime::pallet_index(0)]
    pub type System = frame_system::Pallet<Runtime>;
    ```
    
    Please note that the current syntax still continues to be supported.
    
    CC: @shawntabrizi @kianenigma
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    gupnik and bkchr authored Jun 25, 2024
    Configuration menu
    Copy the full SHA
    2f3a1bf View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. Block import and verification refactoring (#4844)

    A few refactorings to block import and block verification that should
    not be controversial.
    
    Block verification before block import is stateless by design as
    described in https://substrate.stackexchange.com/a/1322/25 and the fact
    that it wasn't yet I consider to be a bug. Some code that requires it
    had to use `Mutex`, but I do not expect it to have a measurable
    performance impact.
    
    Similarly with block import checking whether block preconditions should
    not be an exclusive operation, there is nothing fundamentally wrong with
    checking a few competing blocks whose parent blocks exist at the same
    time (and even import them concurrently later, though IIRC this is not
    yet implemented either).
    
    They were originally a part of
    #4842 and upstreaming
    will help us to reduce the size of the patch we need to apply on top of
    upstream code at Subspace every time we upgrade. There are no new
    features introduced here, just refactoring to get rid of unnecessary
    requirements.
    nazar-pc authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    0ed3f04 View commit details
    Browse the repository at this point in the history
  2. [FRAME] Remove storage migration type (#3828)

    Introduce migration type to remove data associated with a specific
    storage of a pallet.
    
    Based on existing `RemovePallet` migration type.
    
    Required for #3820
    
    ---------
    
    Co-authored-by: Liam Aharon <liam.aharon@hotmail.com>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    3 people authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    20aecad View commit details
    Browse the repository at this point in the history
  3. rpc: upgrade jsonrpsee v0.23 (#4730)

    This is PR updates jsonrpsee v0.23 which mainly changes:
    - Add `Extensions` which we now is using to get the connection id (used
    by the rpc spec v2 impl)
    - Update hyper to v1.0, http v1.0, soketto and related crates
    (hyper::service::make_service_fn is removed)
    - The subscription API for the client is modified to know why a
    subscription was closed.
    
    Full changelog here:
    https://github.com/paritytech/jsonrpsee/releases/tag/v0.23.0
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    niklasad1 and bkchr authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    7a2592e View commit details
    Browse the repository at this point in the history
  4. Update parity publish (#4878)

    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Morganamilo and ggwpez authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    7084463 View commit details
    Browse the repository at this point in the history
  5. [xcm] runtime api for LocationToAccount conversions (#4857)

    Closes: #4298
    
    This PR also merges `xcm-fee-payment-runtime-api` module to the
    `xcm-runtime-api`.
    
    
    ## TODO
    
    - [x] rename `convert` to `convert_location` and add new one
    `convert_account` (opposite direction)
    - [x] add to the all testnet runtimes
    - [x] check polkadot-js if supports that automatically or if needs to be
    added manually polkadot-js/api#5917
    - [ ] backport/patch for fellows and release (asap)
    
    ## Open questions
    - [x] should we merge `xcm-runtime-api` and
    `xcm-fee-payment-runtime-api` to the one module `xcm-runtime-api` ?
    
    ## Usage
    Input:
     - `location:  VersionedLocation`
     
    Output:
     - account_id bytes
    
    
    ![image](https://github.com/paritytech/polkadot-sdk/assets/8159517/4607b15a-77d2-462b-806c-606107776c0d)
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    bkontur and bkchr authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    7506956 View commit details
    Browse the repository at this point in the history
  6. Fellowship-core: add fast promote (#4877)

    Add a `promote_fast` extrinsic to the `core-fellowship` pallet to allow
    promotions that ignore the promotion cooldown. It comes with a new
    `FastPromoteOrigin`.
    
    Supersedes #4778
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: command-bot <>
    ggwpez and joepetrowski authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    b4ae5b0 View commit details
    Browse the repository at this point in the history
  7. network: Upgrade litep2p to v0.6.2 (#4799)

    This PR upgrades `litep2p` to the latest version and includes the two
    fixes:
    
    1. Enables incoming DHT record validation with `litep2p` network
    backend.
    2. Sets `TCP_NODELAY` flag on TCP & WS sockets in `litep2p` backend, as
    it is currently done in `libp2p` backend.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    dmitry-markin and ggwpez authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    4a7155e View commit details
    Browse the repository at this point in the history
  8. Coretime: Add request revenue info (#3940)

    Enables the `request_revenue` and `notify_revenue` parts of [RFC 5 -
    Coretime
    Interface](https://polkadot-fellows.github.io/RFCs/approved/0005-coretime-interface.html)
    
    TODO:
    - [x] Finish first pass at implementation
    - [x] ~~Need to explicitly burn uncollected and dropped revenue~~
    Accumulate it instead
    - [x] Confirm working on zombienet
    - [x] Tests 
    - [ ] Enable XCM `request_revenue` sending on Coretime chain on Kusama
    and Polkadot
    
    Fixes: #2209
    
    ---------
    
    Co-authored-by: Dmitry Sinyavin <dmitry.sinyavin@parity.io>
    Co-authored-by: command-bot <>
    Co-authored-by: s0me0ne-unkn0wn <48632512+s0me0ne-unkn0wn@users.noreply.github.com>
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    5 people authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    f1db2c6 View commit details
    Browse the repository at this point in the history
  9. pallet assets: optional auto-increment for the asset ID (#4757)

    Introduce an optional auto-increment setup for the IDs of new assets.
    
    ---------
    
    Co-authored-by: joe petrowski <25483142+joepetrowski@users.noreply.github.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jun 26, 2024
    Configuration menu
    Copy the full SHA
    929a273 View commit details
    Browse the repository at this point in the history

Commits on Jun 27, 2024

  1. Mention the signed extensions in the reference docs (#4887)

    Co-authored-by: gupnik <mail.guptanikhil@gmail.com>
    bkchr and gupnik authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    7c6ab07 View commit details
    Browse the repository at this point in the history
  2. Ensure key ownership proof is optimal (#4699)

    Ensure that the key ownership proof doesn't contain duplicate or
    unneeded nodes.
    
    We already have these checks for the bridge messages proof. Just making
    them more generic and performing them also for the key ownership proof.
    
    ---------
    
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    serban300 and acatangiu authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    d604e84 View commit details
    Browse the repository at this point in the history
  3. Only sc-rpc-server uses http (#4890)

    jasl authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    569f994 View commit details
    Browse the repository at this point in the history
  4. Use newer nightly in check-semver (#4895)

    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Morganamilo and ggwpez authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    29a8da4 View commit details
    Browse the repository at this point in the history
  5. BridgeHubs fresh weights for bridging pallets (#4891)

    Co-authored-by: command-bot <>
    bkontur authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    dee1824 View commit details
    Browse the repository at this point in the history
  6. chore(deps): upgrade prometheous server to hyper v1 (#4898)

    Partly fixes
    #4890 (comment)
    
    Still the offchain API needs to be updated to hyper v1.0 and I opened an
    issue for it, it's using low-level http body features that have been
    removed
    niklasad1 authored Jun 27, 2024
    Configuration menu
    Copy the full SHA
    de41ae8 View commit details
    Browse the repository at this point in the history

Commits on Jun 28, 2024

  1. Add Runtime::OmniNode variant to polkadot-parachain (#4805)

    Adding `Runtime::OmniNode` variant + small changes
    
    ---------
    
    Co-authored-by: kianenigma <kian@parity.io>
    serban300 and kianenigma authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    18a6a56 View commit details
    Browse the repository at this point in the history
  2. Add Async Backing guide (#4363)

    Update the instructions to work with the latest parachain template on
    Polkadot SDK
    
    ---------
    
    Co-authored-by: kianenigma <kian@parity.io>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    3 people authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    30cdf5d View commit details
    Browse the repository at this point in the history
  3. [Rococo<>Westend bridge] Allow any asset over the lane between the tw…

    …o Asset Hubs (#4888)
    
    On Westend Asset Hub, we allow Rococo Asset Hub to act as reserve for
    any asset native to the Rococo or Ethereum ecosystems (practically
    providing Westend access to Ethereum assets through double bridging:
    W<>R<>Eth).
    
    On Rococo Asset Hub, we allow Westend Asset Hub to act as reserve for
    any asset native to the Westend ecosystem. We also allow Ethereum
    contracts to act as reserves for the foreign assets identified by the
    same respective contracts locations.
    
    - [x] add emulated tests for various assets (native, trust-based,
    foreign/bridged) going AHR -> AHW,
    - [x] add equivalent tests for the other direction AHW -> AHR.
    
    This PR is a prerequisite to doing the same for Polkadot<>Kusama bridge.
    acatangiu authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    016f394 View commit details
    Browse the repository at this point in the history
  4. Adds CheckMetadata SignedExtension to Coretime Parachains (Rococo and…

    … Westend) (#4738)
    
    This adds the new `SignedExtension` to Coretime Rococo and Coretime
    Westend runtimes.
    
    ---------
    
    Co-authored-by: Dónal Murray <donal.murray@parity.io>
    SBalaguer and seadanda authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    31986a6 View commit details
    Browse the repository at this point in the history
  5. network: Sync peerstore constants between libp2p and litep2p (#4906)

    Counterpart of: #4031
    
    cc @paritytech/networking
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    lexnv and skunert authored Jun 28, 2024
    Configuration menu
    Copy the full SHA
    aaf0443 View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2024

  1. Remove getters from pallet-membership (#4840)

    As per #3326 , removes pallet::getter macro usage from
    pallet-membership. The syntax StorageItem::<T, I>::get() should be used
    instead. Also converts some syntax to turbo and reimplements the removed
    getters, following #223
    
    cc @muraca
    
    ---------
    
    Co-authored-by: Dónal Murray <donalm@seadanda.dev>
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    3 people authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    333f4c7 View commit details
    Browse the repository at this point in the history
  2. prdoc upgrade (#4918)

    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    mutantcornholio and ggwpez authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    18228a9 View commit details
    Browse the repository at this point in the history
  3. Pallet Name Customisation (#4806)

    Added Instructions for pallet name customisation in the ReadMe
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jul 1, 2024
    Configuration menu
    Copy the full SHA
    18ed309 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Update PULL_REQUEST_TEMPLATE and CONTRIBUTING docs. (#4908)

    Co-authored-by: Bastian Köcher <git@kchr.de>
    kianenigma and bkchr authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    b69fc17 View commit details
    Browse the repository at this point in the history
  2. Fix markdown lint step (#4933)

    CI required markdown step seems to start failing after
    #4806
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    alexggh authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    62b955e View commit details
    Browse the repository at this point in the history
  3. polkadot-parachain: Unify asset-hub authoring codepath with general…

    … AURA (#4932)
    
    Recently thought about the special handling we have for asset-hub
    chains. They started with relay chain consensus and transitioned to AURA
    at some point. However, nobody should be authoring with relay chain
    consensus on these chains anymore, the transition is long done.
    
    I propose to remove this special handling, allowing us to unify one more
    execution path.
    skunert authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    b31880c View commit details
    Browse the repository at this point in the history
  4. litep2p: Increment random walk metrics (#4929)

    This PR exposes the `RandomKademliaStarted` event from the litep2p
    network backend, and then increments the appropriate metrics.
    
    This is part of: #4681.
    However, it is more of an effort to debug low peer count 
    
    ### Testing Done
    - Started a node and fetched queries:
    `substrate_sub_libp2p_kademlia_random_queries_total` produces results
    for litep2p backend
    
    cc @paritytech/networking
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    6b9d14a View commit details
    Browse the repository at this point in the history
  5. bridge tests: send bridged assets from random parachain to bridged as…

    …set hub (#4870)
    
    - Send bridged WNDs: Penpal Rococo -> AH Rococo -> AH Westend
    - Send bridged ROCs: Penpal Westend -> AH Westend -> AH Rococo
    
    The tests send both ROCs and WNDs, for each direction the native asset
    is only used to pay for the transport fees on the local AssetHub, and
    are not sent over the bridge.
    
    Including the native asset won't be necessary anymore once we get #4375.
    
    ---------
    
    Signed-off-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: command-bot <>
    acatangiu authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    98ce675 View commit details
    Browse the repository at this point in the history
  6. approval-voting: Make tests deterministic (#3899)

    With random connectivity and latency is hard to actually figure it out a
    delta in the benchmarking, so disable them in order to get full
    deterministic behaviour when measuring performance.
    
    At least on my machine with this configuration the results for
    approval-throughput are really similar between subsequent runs:
    
    ```
    CPU usage, seconds                     total   per block
    
    approval-distribution                36.9025      3.6902
    approval-distribution                36.7579      3.6758
    approval-distribution                37.0418      3.7042
    approval-distribution                37.0339      3.7034
    approval-distribution                36.9342      3.6934
    approval-distribution                36.7177       3.6718
    
    
    
    approval-voting                      52.7756      5.2776
    approval-voting                      52.5999      5.2600
    approval-voting                      53.2158      5.3216
    approval-voting                      53.2493      5.3249
    approval-voting                      52.8524      5.2852
    approval-voting                      52.8611      5.2861
    approval-voting                      52.8210      5.2821
    ```
    
    ---------
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    alexggh authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    33324fe View commit details
    Browse the repository at this point in the history
  7. Fixes warnings in frame-support-procedural crate (#4915)

    This PR fixes the unused warnings in `frame-support-procedural` crate,
    raised by the latest stable rust release.
    gupnik authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    e5791a5 View commit details
    Browse the repository at this point in the history
  8. [BEEFY] Add runtime support for reporting fork voting (#4522)

    Related to #4523
    
    Extracting part of #1903
    (credits to @Lederstrumpf for the high-level strategy), but also
    introducing significant adjustments both to the approach and to the
    code. The main adjustment is the fact that the `ForkVotingProof` accepts
    only one vote, compared to the original version which accepted a
    `vec![]`. With this approach more calls are needed in order to report
    multiple equivocated votes on the same commit, but it simplifies a lot
    the checking logic. We can add support for reporting multiple signatures
    at once in the future.
    
    There are 2 things that are missing in order to consider this issue
    done, but I would propose to do them in a separate PR since this one is
    already pretty big:
    - benchmarks/computing a weight for the new extrinsic (this wasn't
    present in #1903 either)
    - exposing an API for generating the ancestry proof. I'm not sure if we
    should do this in the Mmr pallet or in the Beefy pallet
    
    Co-authored-by: Robert Hambrock <roberthambrock@gmail.com>
    
    ---------
    
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    serban300 and acatangiu authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    b6f1823 View commit details
    Browse the repository at this point in the history
  9. [Staking] Delegators can stake but stakers can't delegate (#4904)

    Related: #4804.
    Fixes the try state error in Westend:
    https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6564522.
    Passes here:
    https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6580393
    
    ## Context
    Currently in Kusama and Polkadot, an account can do both, directly
    stake, and join a pool.
    
    With the migration of pools to `DelegateStake` (See
    #3905), the funds of pool
    members are locked in a different way than for direct stakers.
    - Pool member funds uses `holds`.
    - `pallet-staking` uses deprecated locks (analogous to freeze) which can
    overlap with holds.
    
    An existing delegator can stake directly since pallet-staking only uses
    free balance. But once an account becomes staker, we cannot allow them
    to be delegator as this risks an account to use already staked (frozen)
    funds in pools.
    
    When an account gets into a situation where it is participating in both
    pools and staking, it would no longer would be able to add any extra
    bond to the pool but they can still withdraw funds.
    
    ## Changes
    - Add test for the above scenario.
    - Removes the assumption that a delegator cannot be a staker.
    Ank4n authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    282eaaa View commit details
    Browse the repository at this point in the history
  10. Remove pallet::getter usage from all pallet-tips (#4871)

    ### ISSUE
    Link to the issue:
    #3326
    cc @muraca 
    
    Deliverables
     - [Deprecation] remove pallet::getter usage from all pallet-tips
     
    
    ### Test Outcomes
    ___
    Successful tests by running `cargo test -p pallet-tips --features
    runtime-benchmarks`
    
    
    
    running 26 tests
    test tests::__construct_runtime_integrity_test::runtime_integrity_tests
    ... ok
    test benchmarking::bench_retract_tip ... ok
    test tests::equal_entries_invariant ... ok
    test benchmarking::bench_tip ... ok
    test tests::finders_fee_invariant ... ok
    test tests::genesis_config_works ... ok
    test tests::genesis_funding_works ... ok
    test benchmarking::bench_slash_tip ... ok
    test tests::reasons_invariant ... ok
    test benchmarking::bench_report_awesome ... ok
    test tests::close_tip_works ... ok
    test tests::report_awesome_from_beneficiary_and_tip_works ... ok
    test tests::test_genesis_config_builds ... ok
    test tests::test_last_reward_migration ... ok
    test benchmarking::bench_tip_new ... ok
    test benchmarking::bench_close_tip ... ok
    test tests::test_migration_v4 ... ok
    test tests::slash_tip_works ... ok
    test tests::report_awesome_and_tip_works_second_instance ... ok
    test tests::report_awesome_and_tip_works ... ok
    test tests::tip_changing_works ... ok
    test tests::zero_base_deposit_prohibited - should panic ... ok
    test tests::tip_median_calculation_works ... ok
    test tests::tip_new_cannot_be_used_twice ... ok
    test tests::tip_large_should_fail ... ok
    test tests::retract_tip_works ... ok
    
    test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.02s
    
       Doc-tests pallet_tips
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.00s
    
    ---
    
    Polkadot Address: 16htXkeVhfroBhL6nuqiwknfXKcT6WadJPZqEi2jRf9z4XPY
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Aideepakchaudhary and bkchr authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    6084923 View commit details
    Browse the repository at this point in the history
  11. rename the candidate backing message from GetBackedCandidates to `G…

    …etBackableCandidates` (#4921)
    
    **Backable Candidate**: If a candidate receives enough supporting
    Statements from the Parachain Validators currently assigned, that
    candidate is considered backable.
    **Backed Candidate**: A Backable Candidate noted in a relay-chain block
    
    ---
    
    When the candidate backing subsystem receives the `GetBackedCandidates`
    message, it sends back **backable** candidates, not **backed**
    candidates. So we should rename this message to `GetBackableCandidates`
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    axaysagathiya and bkchr authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    51e9827 View commit details
    Browse the repository at this point in the history
  12. Remove getter macro from pallet-insecure-randomness-collective-flip (#…

    …4839)
    
    As per #3326, removes pallet::getter macro usage from the
    pallet-insecure-randomness-collective-flip. The syntax `StorageItem::<T,
    I>::get()` should be used instead.
    
    Explicitly implements the getters that were removed as well, following
    #223
    
    Also makes the storage values public and converts some syntax to turbo
    
    cc @muraca
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    3 people authored Jul 3, 2024
    Configuration menu
    Copy the full SHA
    924728c View commit details
    Browse the repository at this point in the history

Commits on Jul 5, 2024

  1. Introduce basic slot-based collator (#4097)

    Part of #3168 
    On top of #3568
    
    ### Changes Overview
    - Introduces a new collator variant in
    `cumulus/client/consensus/aura/src/collators/slot_based/mod.rs`
    - Two tasks are part of that module, one for block building and one for
    collation building and submission.
    - Introduces a new variant of `cumulus-test-runtime` which has 2s slot
    duration, used for zombienet testing
    - Zombienet tests for the new collator
    
    **Note:** This collator is considered experimental and should only be
    used for testing and exploration for now.
    
    ### Comparison with `lookahead` collator
    - The new variant is slot based, meaning it waits for the next slot of
    the parachain, then starts authoring
    - The search for potential parents remains mostly unchanged from
    lookahead
    - As anchor, we use the current best relay parent
    - In general, the new collator tends to be anchored to one relay parent
    earlier. `lookahead` generally waits for a new relay block to arrive
    before it attempts to build a block. This means the actual timing of
    parachain blocks depends on when the relay block has been authored and
    imported. With the slot-triggered approach we are authoring directly on
    the slot boundary, were a new relay chain block has probably not yet
    arrived.
    
    ### Limitations
    - Overall, the current implementation focuses on the "happy path"
    - We assume that we want to collate close to the tip of the relay chain.
    It would be useful however to have some kind of configurable drift, so
    that we could lag behind a bit.
    #3965
    - The collation task is pretty dumb currently. It checks if we have
    cores scheduled and if yes, submits all the messages we have received
    from the block builder until we have something submitted for every core.
    Ideally we should do some extra checks, i.e. we do not need to submit if
    the built block is already too old (build on a out of range relay
    parent) or was authored with a relay parent that is not an ancestor of
    the relay block we are submitting at.
    #3966
    - There is no throttling, we assume that we can submit _velocity_ blocks
    every relay chain block. There should be communication between the
    collator task and block-builder task.
    - The parent search and ConsensusHook are not yet properly adjusted. The
    parent search makes assumptions about the pending candidate which no
    longer hold. #3967
    - Custom triggers for block building not implemented.
    
    ---------
    
    Co-authored-by: Davide Galassi <davxy@datawok.net>
    Co-authored-by: Andrei Sandu <54316454+sandreim@users.noreply.github.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: Javier Viola <363911+pepoviola@users.noreply.github.com>
    Co-authored-by: command-bot <>
    5 people authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    e44f61a View commit details
    Browse the repository at this point in the history
  2. [ci] Increase timeout for ci jobs (#4950)

    Related to recent discussion. PR makes timeout less strict.
    
    cc paritytech/ci_cd#996
    alvicsam authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    299aacb View commit details
    Browse the repository at this point in the history
  3. Stabilize elastic-scaling pov-recovery test (#4958)

    Timing issues in container startup have made this test flaky. We now
    wait for 20 and then register the parachain.
    This makes sure that the parachain node has the ability to see all relay
    chain notifications it needs.
    skunert authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    95c7e4f View commit details
    Browse the repository at this point in the history
  4. remove getter from vesting pallet (#4902)

    ### ISSUE
    Link to the issue:
    #3326
    
    cc @muraca 
    
    Deliverables
     - [Deprecation] remove pallet::getter usage from all pallet-vesting
     
    
    ### Test Outcomes
    ___
    Successful tests by running `cargo test -p pallet-vesting --features
    runtime-benchmarks`
    
    running 45 tests
    test benchmarking::bench_force_vested_transfer ... ok
    test benchmarking::bench_vest_other_locked ... ok
    test mock::__construct_runtime_integrity_test::runtime_integrity_tests
    ... ok
    test benchmarking::bench_not_unlocking_merge_schedules ... ok
    test benchmarking::bench_unlocking_merge_schedules ... ok
    test mock::test_genesis_config_builds ... ok
    test tests::build_genesis_has_storage_version_v1 ... ok
    test tests::check_vesting_status ... ok
    test benchmarking::bench_force_remove_vesting_schedule ... ok
    test tests::check_vesting_status_for_multi_schedule_account ... ok
    test benchmarking::bench_vest_locked ... ok
    test tests::extra_balance_should_transfer ... ok
    test tests::generates_multiple_schedules_from_genesis_config ... ok
    test tests::force_vested_transfer_allows_max_schedules ... ok
    test tests::force_vested_transfer_correctly_fails ... ok
    test tests::force_vested_transfer_works ... ok
    test tests::liquid_funds_should_transfer_with_delayed_vesting ... ok
    test tests::merge_finished_and_ongoing_schedules ... ok
    test benchmarking::bench_vest_unlocked ... ok
    test tests::merge_finished_and_yet_to_be_started_schedules ... ok
    test tests::merge_finishing_schedules_does_not_create_a_new_one ... ok
    test tests::merge_ongoing_and_yet_to_be_started_schedules ... ok
    test benchmarking::bench_vest_other_unlocked ... ok
    test tests::merge_ongoing_schedules ... ok
    test tests::merge_schedules_that_have_not_started ... ok
    test tests::merge_vesting_handles_per_block_0 ... ok
    test tests::per_block_works ... ok
    test tests::merge_schedules_throws_proper_errors ... ok
    test tests::multiple_schedules_from_genesis_config_errors - should panic
    ... ok
    test tests::merging_shifts_other_schedules_index ... ok
    test tests::non_vested_cannot_vest_other ... ok
    test tests::unvested_balance_should_not_transfer ... ok
    test tests::non_vested_cannot_vest ... ok
    test tests::vested_balance_should_transfer ... ok
    test tests::remove_vesting_schedule ... ok
    test tests::vested_transfer_correctly_fails ... ok
    test tests::vested_balance_should_transfer_with_multi_sched ... ok
    test tests::vested_balance_should_transfer_using_vest_other ... ok
    test tests::vested_transfer_less_than_existential_deposit_fails ... ok
    test tests::vesting_info_ending_block_as_balance_works ... ok
    test tests::vesting_info_validate_works ... ok
    test
    tests::vested_balance_should_transfer_using_vest_other_with_multi_sched
    ... ok
    test tests::vested_transfer_works ... ok
    test tests::vested_transfer_allows_max_schedules ... ok
    test benchmarking::bench_vested_transfer ... ok
    
    test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.10s
    
    ---
    
    Polkadot Address: 16htXkeVhfroBhL6nuqiwknfXKcT6WadJPZqEi2jRf9z4XPY
    Aideepakchaudhary authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    2b17cb8 View commit details
    Browse the repository at this point in the history
  5. Optimize finalization performance (#4922)

    This PR largely fixes
    #4903 by addressing it
    from a few different directions.
    
    The high-level observation is that complexity of finalization was
    unfortunately roughly `O(n^3)`. Not only
    `displaced_leaves_after_finalizing` was extremely inefficient on its
    own, especially when large ranges of blocks were involved, it was called
    once upfront and then on every single block that was finalized over and
    over again.
    
    The first commit refactores code adjacent to
    `displaced_leaves_after_finalizing` to optimize memory allocations. For
    example things like `BTreeMap<_, Vec<_>>` were very bad in terms of
    number of allocations and after analyzing code paths was completely
    unnecessary and replaced with `Vec<(_, _)>`. In other places allocations
    of known size were not done upfront and some APIs required unnecessary
    cloning of vectors.
    
    I checked invariants and didn't find anything that was violated after
    refactoring.
    
    Second commit completely replaces `displaced_leaves_after_finalizing`
    implementation with a much more efficient one. In my case with ~82k
    blocks and ~13k leaves it takes ~5.4s to finish
    `client.apply_finality()` now.
    
    The idea is to avoid querying the same blocks over and over again as
    well as introducing temporary local cache for blocks related to leaves
    above block that is being finalized as well as local cache of the
    finalized branch of the chain. I left some comments in the code and
    wrote tests that I belive should check all code invariants for
    correctness. `lowest_common_ancestor_multiblock` was removed as
    unnecessary and not great in terms of performance API, domain-specific
    code should be written instead like done in
    `displaced_leaves_after_finalizing`.
    
    After these changes I noticed finalization is still horribly slow,
    turned out that even though `displaced_leaves_after_finalizing` was way
    faster that before (probably order of magnitude), it was called for
    every single of those 82k blocks 🤦
    
    The quick hack I came up with in the third commit to handle this edge
    case was to not call it when finalizing multiple blocks at once until
    the very last moment. It works and allows to finish the whole
    finalization in just 14 seconds (5.4+5.4 of which are two calls to
    `displaced_leaves_after_finalizing`). I'm really not happy with the fact
    that `displaced_leaves_after_finalizing` is called twice, but much
    heavier refactoring would be necessary to get rid of second call.
    
    ---
    
    Next steps:
    * assuming the changes are acceptable I'll write prdoc
    * #4920 or something
    similar in spirit should be implemented to unleash efficient parallelsm
    with rayon in `displaced_leaves_after_finalizing`, which will allow to
    further (and significant!) scale its performance rather that being
    CPU-bound on a single core, also reading database sequentially should
    ideally be avoided
    * someone should look into removal of the second
    `displaced_leaves_after_finalizing` call
    * further cleanups are possible if `undo_finalization` can be removed
    
    ---
    
    Polkadot Address: 1vSxzbyz2cJREAuVWjhXUT1ds8vBzoxn2w4asNpusQKwjJd
    
    ---------
    
    Co-authored-by: Sebastian Kunert <skunert49@gmail.com>
    nazar-pc and skunert authored Jul 5, 2024
    Configuration menu
    Copy the full SHA
    221eddc View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2024

  1. upgrade to macro_magic 0.5.1 (#4945)

    Release notes here:
    https://github.com/sam0x17/macro_magic/releases/tag/v0.5.1
    
    Some performance improvements + upgrades to `derive-syn-parse` 2.0 which
    means polkadot-sdk now fully upgrades this crate within the workspace
    sam0x17 authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    706d2f3 View commit details
    Browse the repository at this point in the history
  2. Fix small typo in fungible token freeze docs (#4943)

    Hi!
    
    In the course of a talk with @shawntabrizi in Singapore, we realized the
    documentation related to freeze balances' a little bit confusing. It
    stated that a frozen amount is released at some specified block number,
    which isn't true in general.
    
    This PR fixes that typo and further specifies that the frozen balance
    may exceed the available balance, according to what we learned at the
    PBA. This feature was not specified in the documentation AFAIK.
    
    This is the first time I submit something to the polkadot SDK repo, so
    please feel free to rephrase the docs I added in case I messed up!
    
    ---------
    
    Co-authored-by: Shawn Tabrizi <shawntabrizi@gmail.com>
    Co-authored-by: command-bot <>
    tsenovilla and shawntabrizi authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    515a9f7 View commit details
    Browse the repository at this point in the history
  3. remove getter from transaction storage pallet (#4885)

    ### ISSUE
    Link to the issue:
    #3326
    cc @muraca 
    
    Deliverables
    - [Deprecation] remove pallet::getter usage from
    pallet-transaction-storage
    
    
    ### Test Outcomes
    ___
    cargo test -p pallet-transaction-storage --features runtime-benchmarks 
    
    running 9 tests
    test mock::test_genesis_config_builds ... ok
    test tests::burns_fee ... ok
    test mock::__construct_runtime_integrity_test::runtime_integrity_tests
    ... ok
    test tests::discards_data ... ok
    test tests::renews_data ... ok
    test benchmarking::bench_renew ... ok
    test benchmarking::bench_store ... ok
    test tests::checks_proof ... ok
    test benchmarking::bench_check_proof_max has been running for over 60
    seconds
    test benchmarking::bench_check_proof_max ... ok
    
    test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 72.57s
    
       Doc-tests pallet-transaction-storage
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.00s
    
    ---
    
    Polkadot Address: 16htXkeVhfroBhL6nuqiwknfXKcT6WadJPZqEi2jRf9z4XPY
    Aideepakchaudhary authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    d3a679d View commit details
    Browse the repository at this point in the history
  4. remove getter from babe pallet (#4912)

    ### ISSUE
    Link to the issue:
    #3326
    cc @muraca 
    
    Deliverables
     - [Deprecation] remove pallet::getter usage from all pallet-babe
    
    ### Test Outcomes
    ___
    Successful tests by running `cargo test -p pallet-babe --features
    runtime-benchmarks`
    
    
    running 32 tests
    test
    mock::__pallet_staking_reward_curve_test_module::reward_curve_piece_count
    ... ok
    test mock::__construct_runtime_integrity_test::runtime_integrity_tests
    ... ok
    test mock::test_genesis_config_builds ... ok
    2024-06-28T17:02:11.158812Z ERROR runtime::storage: Corrupted state at
    `0x1cb6f36e027abb2091cfb5110ab5087f9aab0a5b63b359512deee557c9f4cf63`:
    Error { cause: Some(Error { cause: None, desc: "Could not decode
    `NextConfigDescriptor`, variant doesn't exist" }), desc: "Could not
    decode `Option::Some(T)`" }
    2024-06-28T17:02:11.159752Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::add_epoch_configurations_migration_works ... ok
    test tests::author_vrf_output_for_secondary_vrf ... ok
    test benchmarking::bench_check_equivocation_proof ... ok
    2024-06-28T17:02:11.160537Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::can_estimate_current_epoch_progress ... ok
    test tests::author_vrf_output_for_primary ... ok
    test tests::authority_index ... ok
    2024-06-28T17:02:11.162327Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::empty_randomness_is_correct ... ok
    test tests::check_module ... ok
    2024-06-28T17:02:11.163492Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::current_slot_is_processed_on_initialization ... ok
    test tests::can_enact_next_config ... ok
    2024-06-28T17:02:11.164987Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.165007Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::can_predict_next_epoch_change ... ok
    test tests::first_block_epoch_zero_start ... ok
    test tests::initial_values ... ok
    2024-06-28T17:02:11.168430Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.168685Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.170982Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.171220Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::only_root_can_enact_config_change ... ok
    test tests::no_author_vrf_output_for_secondary_plain ... ok
    test tests::can_fetch_current_and_next_epoch_data ... ok
    2024-06-28T17:02:11.172960Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::report_equivocation_has_valid_weight ... ok
    2024-06-28T17:02:11.173873Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.177084Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::report_equivocation_after_skipped_epochs_works ...
    2024-06-28T17:02:11.177694Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.177703Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.177925Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.177927Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    ok
    2024-06-28T17:02:11.179678Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.181446Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.183665Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.183874Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.185732Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.185951Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.189332Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.189559Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.189587Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::generate_equivocation_report_blob ... ok
    test tests::disabled_validators_cannot_author_blocks - should panic ...
    ok
    2024-06-28T17:02:11.190552Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.192279Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.194735Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.196136Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.197240Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::skipping_over_epochs_works ... ok
    2024-06-28T17:02:11.202783Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.202846Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.203029Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.205242Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::tracks_block_numbers_when_current_and_previous_epoch_started
    ... ok
    2024-06-28T17:02:11.208965Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::report_equivocation_current_session_works ... ok
    test tests::report_equivocation_invalid_key_owner_proof ... ok
    2024-06-28T17:02:11.216431Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    2024-06-28T17:02:11.216855Z ERROR runtime::timestamp:
    `pallet_timestamp::UnixTime::now` is called at genesis, invalid value
    returned: 0
    test tests::report_equivocation_validate_unsigned_prevents_duplicates
    ... ok
    test tests::report_equivocation_invalid_equivocation_proof ... ok
    test tests::valid_equivocation_reports_dont_pay_fees ... ok
    test tests::report_equivocation_old_session_works ... ok
    test
    mock::__pallet_staking_reward_curve_test_module::reward_curve_precision
    ... ok
    
    test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.20s
    
       Doc-tests pallet-babe
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered
    out; finished in 0.00s
    
    ---
    
    Polkadot Address: 16htXkeVhfroBhL6nuqiwknfXKcT6WadJPZqEi2jRf9z4XPY
    Aideepakchaudhary authored Jul 6, 2024
    Configuration menu
    Copy the full SHA
    d3cdfc4 View commit details
    Browse the repository at this point in the history

Commits on Jul 7, 2024

  1. Assets: can_decrease/increase for destroying asset is not successful (#…

    …3286)
    
    Functions `can_decrease` and `can_increase` do not return successful
    consequence results for assets undergoing destruction; instead, they
    return the `UnknownAsset` consequence variant.
    
    This update aligns their behavior with similar functions, such as
    `reducible_balance`, `increase_balance`, `decrease_balance`, and `burn`,
    which return an `AssetNotLive` error for assets in the process of being
    destroyed.
    muharem authored Jul 7, 2024
    Configuration menu
    Copy the full SHA
    f7dd85d View commit details
    Browse the repository at this point in the history

Commits on Jul 8, 2024

  1. [Backport] Version bumps and prdocs reordering from 1.14.0 (#4955)

    This PR backports regular version bumps and prdocs reordering from the
    1.14.0 release branch to master
    EgorPopelyaev authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    e1460b5 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8af45d2 View commit details
    Browse the repository at this point in the history
  3. Make tracing::log work in the runtime (#4863)

    Co-authored-by: command-bot <>
    bkchr authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    7290042 View commit details
    Browse the repository at this point in the history
  4. litep2p/peerstore: Fix bump last updated time (#4971)

    This PR bumps the last time of a reputation update of a peer.
    Doing so ensures the peer remains in the peerstore for longer than 1
    hour.
    
    Libp2p updates the `last_updated` field as well.
    
    Small summary for the peerstore:
    - A: when peers are reported the `last_updated` time is set to current
    time (not done before this PR)
    - B: peers that were not updated for 1 hour are removed from the
    peerstore
    - the reputation of the peers is decaying to zero over time
    - peers are reported with a reputation change (positive or negative
    depending on the behavior)
    
    Because, (A) was not updating the `last_updated` time, we might lose the
    reputation of peers that are constantly updated after 1hour because of
    (B).
    
    cc @paritytech/networking
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Jul 8, 2024
    Configuration menu
    Copy the full SHA
    d4657f8 View commit details
    Browse the repository at this point in the history

Commits on Jul 9, 2024

  1. allow clear_origin in safe xcm builder (#4777)

    Fixes #3770 
    
    Added `clear_origin` as an allowed command after commands that load the
    holdings register, in the safe xcm builder.
    
    Checklist
    - [x] My PR includes a detailed description as outlined in the
    "Description" section above
    - [x] My PR follows the [labeling
    requirements](https://github.com/paritytech/polkadot-sdk/blob/master/docs/contributor/CONTRIBUTING.md#Process)
    of this project (at minimum one label for T required)
    - [x] I have made corresponding changes to the documentation (if
    applicable)
    - [x] I have added tests that prove my fix is effective or that my
    feature works (if applicable)
    
    ---------
    
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: gupnik <mail.guptanikhil@gmail.com>
    3 people authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    72dab6d View commit details
    Browse the repository at this point in the history
  2. Update Templates README docs (#4980)

    Some of the commands needed update for seamless "newbie" Polkadot SDK
    templates experience
    DrW3RK authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    1e1fd74 View commit details
    Browse the repository at this point in the history
  3. polkadot-parachain simplifications and deduplications (#4916)

    `polkadot-parachain` simplifications and deduplications
    
    Details in the commit messages. Just copy-pasting the last commit
    description since it introduces the biggest changes:
    
    ```
        Implement a more structured way to define a node spec
        
        - use traits instead of bounds for `rpc_ext_builder()`,
          `build_import_queue()`, `start_consensus()`
        - add a `NodeSpec` trait for defining the specifications of a node
        - deduplicate the code related to building a node's components /
          starting a node
    ```
    
    The other changes are much smaller, most of them trivial and are
    isolated in separate commits.
    serban300 authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    01e0fc2 View commit details
    Browse the repository at this point in the history
  4. add notices to the implementer's guide docs that changed for elastic …

    …scaling (#4983)
    
    The update is tracked by:
    #3699
    
    However, this is not worth doing at this point since it will change in
    the future for phase 2 of the implementation.
    
    Still, it's useful to let people know that the information is not the
    most up to date.
    alindima authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    2f0e5a6 View commit details
    Browse the repository at this point in the history
  5. Add MAX_INSTRUCTIONS_TO_DECODE to XCMv2 (#4978)

    It was added to v4 and v3 but was missing from v2
    franciscoaguirre authored Jul 9, 2024
    Configuration menu
    Copy the full SHA
    9403a5d View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2024

  1. Expose metadata-hash feature from polkadot crate (#4886)

    Enabling this feature when building the `polkadot ` crate will lead it
    to being enabled for the builtin westend and rococo runtimes. The result
    of that is that a merkleized metadata hash will be computed (at some
    time cost) in those runtimes, which will allow transactions which
    include a hash via the `CheckMetadataHash` extension to work.
    
    The idea is that this is useful for being able to test/experiment with
    the `CheckMetadataHash` extension against local nodes.
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    jsdw and bkchr authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    9fd7b43 View commit details
    Browse the repository at this point in the history
  2. Explain usage of <T: Config> in FRAME storage + Update parachain pa…

    …llet template (#4941)
    
    Explains one of the annoying parts of FRAME storage that we have seen
    multiple times in PBA everyone gets stuck on.
    
    I have not updated the other two templates for now, and only reflected
    it in the parachain template. That can happen in a follow-up.
    
    - [x] Update possible answers in SE about the same topic.
    
    ---------
    
    Co-authored-by: Serban Iorga <serban@parity.io>
    Co-authored-by: command-bot <>
    kianenigma and serban300 authored Jul 10, 2024
    Configuration menu
    Copy the full SHA
    02e50ad View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2024

  1. fixed cmd bot commenting not working (#5000)

    Fixed the mentioned issue:
    paritytech/command-bot#113 (comment)
    
    Now it will properly comment when the old bot gets triggered.
    Bullrich authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    6dd777f View commit details
    Browse the repository at this point in the history
  2. Remove usage of sp-std on templates (#5001)

    Following PR for #4941
    that removes usage of `sp-std` on templates
    
    `sp-std` crate was proposed to deprecate on
    #2101
    
    @kianenigma
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    jasl and kianenigma authored Jul 11, 2024
    Configuration menu
    Copy the full SHA
    53598b8 View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2024

  1. xcm-executor: Improve logging (#4996)

    This improves logging in the xcm-executor to have better debugability
    when executing a XCM message.
    bkchr authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    2a555c3 View commit details
    Browse the repository at this point in the history
  2. Bridges V2 refactoring backport and pallet_bridge_messages simplifi…

    …cations (#4935)
    
    ## Summary
    
    This PR contains migrated code from the Bridges V2
    [branch](#4427) from the
    old `parity-bridges-common`
    [repo](https://github.com/paritytech/parity-bridges-common/tree/bridges-v2).
    Even though the PR looks large, it does not (or should not) contain any
    significant changes (also not relevant for audit).
    This PR is a requirement for permissionless lanes, as they were
    implemented on top of these changes.
    
    ## TODO
    
    - [x] generate fresh weights for BridgeHubs
    - [x] run `polkadot-fellows` bridges zombienet tests with actual runtime
    1.2.5. or 1.2.6 to check compatibility
    - ☑️ working, checked with 1.2.8 fellows BridgeHubs
    - [x] run `polkadot-sdk` bridges zombienet tests
      - ☑️ with old relayer in CI (1.6.5) 
    - [x] run `polkadot-sdk` bridges zombienet tests (locally) - with the
    relayer based on this branch -
    paritytech/parity-bridges-common#3022
    - [x] check/fix relayer companion in bridges repo -
    paritytech/parity-bridges-common#3022
    - [x] extract pruning stuff to separate PR
    #4944
    
    Relates to:
    paritytech/parity-bridges-common#2976
    Relates to:
    paritytech/parity-bridges-common#2451
    
    ---------
    
    Signed-off-by: Branislav Kontur <bkontur@gmail.com>
    Co-authored-by: Serban Iorga <serban@parity.io>
    Co-authored-by: Svyatoslav Nikolsky <svyatonik@gmail.com>
    Co-authored-by: command-bot <>
    3 people authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    1f8e448 View commit details
    Browse the repository at this point in the history
  3. added sync command (#4818)

    Added the command sync. Follow up on #4701 
    
    This PR is blocked until a new machine for the sync gets deployed.
    Bullrich authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    ebb1bb6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    d31285a View commit details
    Browse the repository at this point in the history
  5. Try State Hook for Bounties (#4563)

    Part of: #239
    
    Polkadot address: 12GyGD3QhT4i2JJpNzvMf96sxxBLWymz4RdGCxRH5Rj5agKW
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jul 12, 2024
    Configuration menu
    Copy the full SHA
    4aa29a4 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2024

  1. network/tx: Ban peers with tx that fail to decode (#5002)

    A malicious peer can submit random bytes on transaction protocol.
    In this case, the peer is not disconnected or reported back to the
    peerstore.
    
    This PR ensures the peer's reputation is properly reported.
    
    Discovered during testing:
    - #4977
    
    
    cc @paritytech/networking
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Jul 15, 2024
    Configuration menu
    Copy the full SHA
    d2dff5f View commit details
    Browse the repository at this point in the history
  2. Use sp_runtime::traits::BadOrigin (#5011)

    It says `Will be removed after July 2023` but that's not true 😃
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jul 15, 2024
    Configuration menu
    Copy the full SHA
    291210a View commit details
    Browse the repository at this point in the history
  3. Remove most all usage of sp-std (#5010)

    This should remove nearly all usage of `sp-std` except:
    - bridge and bridge-hubs
    - a few of frames re-export `sp-std`, keep them for now
    - there is a usage of `sp_std::Writer`, I don't have an idea how to move
    it
    
    Please review proc-macro carefully. I'm not sure I'm doing it the right
    way.
    
    Note: need `/bot fmt`
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: command-bot <>
    jasl and bkchr authored Jul 15, 2024
    Configuration menu
    Copy the full SHA
    7ecf3f7 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c05b0b9 View commit details
    Browse the repository at this point in the history
  5. rpc: add back rpc logger (#4952)

    Co-authored-by: Bastian Köcher <git@kchr.de>
    niklasad1 and bkchr authored Jul 15, 2024
    Configuration menu
    Copy the full SHA
    926c1b6 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. net/litep2p: Propagate ValuePut events to the network backend (#5018)

    The `DhtEvent::ValuePut` was not propagated back to the higher levels.
    
    This PR ensures we'll send the ValuePut event similarly to
    `DhtEvent::ValuePutFailed`
    
    ### Next Steps
    - [ ] A bit more testing
    
    Thanks @alexggh for catching this 🙏 
    
    cc @paritytech/networking
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    8d39271 View commit details
    Browse the repository at this point in the history
  2. command-action: added scoped permissions to the github tokens (#5016)

    This will ensure that malicious code can not access other parts of the
    project.
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    d8d36a0 View commit details
    Browse the repository at this point in the history
  3. Remove pallet-getter usage from pallet-session (#4972)

    As per #3326, removes usage of the `pallet::getter` macro from the
    `session` pallet. The syntax `StorageItem::<T, I>::get()` should be used
    instead.
    
    Also, adds public functions for compatibility.
    
    NOTE: The `./historical` directory has not been modified.
    
    cc @muraca
    
    polkadot address: 5GsLutpKjbzsbTphebs9Uy4YK6gTN47MAaz6njPktidjR5cp
    
    ---------
    
    Co-authored-by: Kian Paimani <5588131+kianenigma@users.noreply.github.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    3 people authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    0b3d760 View commit details
    Browse the repository at this point in the history
  4. [1 / 5] Optimize logic for gossiping assignments (#4848)

    This is part of the work to further optimize the approval subsystems, if
    you want to understand the full context start with reading
    #4849 (comment),
    however that's not necessary, as this change is self-contained and nodes
    would benefit from it regardless of subsequent changes landing or not.
    
    While testing with 1000 validators I found out that the logic for
    determining the validators an assignment should be gossiped to is taking
    a lot of time, because it always iterated through all the peers, to
    determine which are X and Y neighbours and to which we should randomly
    gossip(4 samples).
    
    This could be actually optimised, so we don't have to iterate through
    all peers for each new assignment, by fetching the list of X and Y peer
    ids from the topology first and then stopping the loop once we took the
    4 random samples.
    
    With this improvements we reduce the total CPU time spent in
    approval-distribution with 15% on networks with 500 validators and 20%
    on networks with 1000 validators.
    
    ## Test coverage:
    
    `propagates_assignments_along_unshared_dimension` and
    `propagates_locally_generated_assignment_to_both_dimensions` cover
    already logic and they passed, confirm that there is no breaking change.
    
    Additionally, the approval voting benchmark measure the traffic sent to
    other peers, so I confirmed that for various network size there is no
    difference in the size of the traffic sent to other peers.
    
    ---------
    
    Signed-off-by: Alexandru Gheorghe <alexandru.gheorghe@parity.io>
    alexggh authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    cde2eb4 View commit details
    Browse the repository at this point in the history
  5. [pallet_contracts] Add support for transient storage in contracts hos…

    …t functions (#4566)
    
    Introduce transient storage, which behaves identically to regular
    storage but is kept only in memory and discarded after every
    transaction. This functionality is similar to the `TSTORE` and `TLOAD`
    operations used in Ethereum.
    
    The following new host functions have been introduced:
    `get_transient_storage`
    `set_transient_storage`
    `take_transient_storage`
    `clear_transient_storage`
    `contains_transient_storage`
    Note: These functions are declared as `unstable` and thus are not
    activated.
    
    ---------
    
    Co-authored-by: command-bot <>
    Co-authored-by: PG Herveou <pgherveou@gmail.com>
    Co-authored-by: Alexander Theißen <alex.theissen@me.com>
    3 people authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    eac2a22 View commit details
    Browse the repository at this point in the history
  6. Adjust base value for statement-distribution regression tests (#5028)

    A baseline for the statement-distribution regression test was set only
    in the beginning and now we see that the actual values a bit lower.
    
    <img width="1001" alt="image"
    src="https://github.com/user-attachments/assets/40b06eec-e38f-43ad-b437-89eca502aa66">
    
    
    [Source](https://paritytech.github.io/polkadot-sdk/bench/statement-distribution-regression-bench)
    AndreiEres authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    79a3d6c View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    66baa2f View commit details
    Browse the repository at this point in the history
  8. Send PeerViewChange with high priority (#4755)

    Closes #577
    
    ### Changed
    - `orchestra` updated to 0.4.0
    - `PeerViewChange` sent with high priority and should be processed first
    in a queue.
    - To count them in tests added tracker to TestSender and TestOverseer.
    It acts more like a smoke test though.
    
    ### Testing on Versi
    
    The changes were tested on Versi with two objectives:
    1. Make sure the node functionality does not change.
    2. See how the changes affect performance.
    
    Test setup:
    - 2.5 hours for each case
    - 100 validators
    - 50 parachains
    - validatorsPerCore = 2
    - neededApprovals = 100
    - nDelayTranches = 89
    - relayVrfModuloSamples = 50
    
    During the test period, all nodes ran without any crashes, which
    satisfies the first objective.
    
    To estimate the change in performance we used ToF charts. The graphs
    show that there are no spikes in the top as before. This proves that our
    hypothesis is correct.
    
    ### Normalized charts with ToF
    
    ![image](https://github.com/user-attachments/assets/0d49d0db-8302-4a8c-a557-501856805ff5)
    [Before](https://grafana.teleport.parity.io/goto/ZoR53ClSg?orgId=1)
    
    
    ![image](https://github.com/user-attachments/assets/9cc73784-7e45-49d9-8212-152373c05880)
    [After](https://grafana.teleport.parity.io/goto/6ux5qC_IR?orgId=1)
    
    ### Conclusion
    
    The prioritization of subsystem messages reduces the ToF of the
    networking subsystem, which helps faster propagation of gossip messages.
    AndreiEres authored Jul 16, 2024
    Configuration menu
    Copy the full SHA
    975e04b View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2024

  1. add elastic scaling MVP guide (#4663)

    Resolves #4468
    
    Gives instructions on how to enable elastic scaling MVP to parachain
    teams.
    
    Still a draft because it depends on further changes we make to the
    slot-based collator:
    #4097
    
    Parachains cannot use this yet because the collator was not released and
    no relay chain network has been configured for elastic scaling yet
    alindima authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    0db5092 View commit details
    Browse the repository at this point in the history
  2. Adjust release flows to use those with the new branch model (#5015)

    This PR contains adjustments of the node release pipelines so that it
    will be possible to use those to trigger release actions based on the
    `stable` branch.
    
    Previously the whole pipeline of the flows from [creation of the
    `rc-tag`](https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/release-10_rc-automation.yml)
    (v1.15.0-rc1, v1.15.0-rc2, etc) till [the release draft
    creation](https://github.com/paritytech/polkadot-sdk/blob/master/.github/workflows/release-30_publish_release_draft.yml)
    was triggered on push to the node release branch. As we had the node
    release branch and the crates release branch separately, it worked fine.
    
    From now on, as we are switching to the one branch approach, for the
    first iteration I would like to keep things simple to see how the new
    release process will work with both parts (crates and node) made from
    one branch.
    
    Changes made: 
    
    - The first step in the pipeline (rc-tag creation) will be triggered
    manually instead of the push to the branch
    - The tag version will be set manually from the input instead of to be
    taken from the branch name
    - Docker image will be additionally tagged as `stable`
    
    
    
    Closes: paritytech/release-engineering#214
    EgorPopelyaev authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    7399519 View commit details
    Browse the repository at this point in the history
  3. Do not crash on block gap in displaced_leaves_after_finalizing (#4997)

    After the merge of #4922 we saw failing zombienet tests with the
    following error:
    ```
    2024-07-09 10:30:09 Error applying finality to block (0xb9e1d3d9cb2047fe61667e28a0963e0634a7b29781895bc9ca40c898027b4c09, 56685): UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000    
    2024-07-09 10:30:09 GRANDPA voter error: could not complete a round on disk: UnknownBlock: Header was not found in the database: 0x0000000000000000000000000000000000000000000000000000000000000000    
    ```
    
    [Example](https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/6662262)
    
    The crashing situation is warp-sync related. After warp syncing, it can
    happen that there are gaps in block ancestry where we don't have the
    header. At the same time, the genesis hash is in the set of leaves. In
    `displaced_leaves_after_finalizing` we then iterate from the finalized
    block backwards until we hit an unknown block, crashing the node.
    
    This PR makes the detection of displaced branches resilient against
    unknown block in the finalized block chain.
    
    cc @nazar-pc (github won't let me request a review from you)
    
    ---------
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    Co-authored-by: command-bot <>
    skunert and bkchr authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    1b6292b View commit details
    Browse the repository at this point in the history
  4. fix: Update libp2p-websocket to v0.42.2 to fix panics (#5040)

    This release includes: libp2p/rust-libp2p#5482
    
    Which fixes substrate node crashing with libp2p trace:
    
    ```
     0: sp_panic_handler::set::{{closure}}
       1: std::panicking::rust_panic_with_hook
       2: std::panicking::begin_panic::{{closure}}
       3: std::sys_common::backtrace::__rust_end_short_backtrace
       4: std::panicking::begin_panic
       5: <quicksink::SinkImpl<S,F,T,A,E> as futures_sink::Sink<A>>::poll_ready
       6: <rw_stream_sink::RwStreamSink<S> as futures_io::if_std::AsyncWrite>::poll_write
       7: <libp2p_noise::io::framed::NoiseFramed<T,S> as futures_sink::Sink<&alloc::vec::Vec<u8>>>::poll_ready
       8: <libp2p_noise::io::Output<T> as futures_io::if_std::AsyncWrite>::poll_write
       9: <yamux::frame::io::Io<T> as futures_sink::Sink<yamux::frame::Frame<()>>>::poll_ready
      10: yamux::connection::Connection<T>::poll_next_inbound
      11: <libp2p_yamux::Muxer<C> as libp2p_core::muxing::StreamMuxer>::poll
      12: <libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll
      13: <libp2p_core::muxing::boxed::Wrap<T> as libp2p_core::muxing::StreamMuxer>::poll
      14: libp2p_swarm::connection::pool::task::new_for_established_connection::{{closure}}
      15: <sc_service::task_manager::prometheus_future::PrometheusFuture<T> as core::future::future::Future>::poll
      16: <futures_util::future::select::Select<A,B> as core::future::future::Future>::poll
      17: <tracing_futures::Instrumented<T> as core::future::future::Future>::poll
      18: std::panicking::try
      19: tokio::runtime::task::harness::Harness<T,S>::poll
      20: tokio::runtime::scheduler::multi_thread::worker::Context::run_task
      21: tokio::runtime::scheduler::multi_thread::worker::Context::run
      22: tokio::runtime::context::set_scheduler
      23: tokio::runtime::context::runtime::enter_runtime
      24: tokio::runtime::scheduler::multi_thread::worker::run
      25: tokio::runtime::task::core::Core<T,S>::poll
      26: tokio::runtime::task::harness::Harness<T,S>::poll
      27: std::sys_common::backtrace::__rust_begin_short_backtrace
      28: core::ops::function::FnOnce::call_once{{vtable.shim}}
      29: std::sys::pal::unix::thread::Thread::new::thread_start
      30: <unknown>
      31: <unknown>
    
    
    Thread 'tokio-runtime-worker' panicked at 'SinkImpl::poll_ready called after error.', /home/ubuntu/.cargo/registry/src/index.crates.io-6f17d22bba15001f/quicksink-0.1.2/src/lib.rs:158
    ```
    
    Closes: #4934
    
    ---------
    
    Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
    lexnv authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    b862b18 View commit details
    Browse the repository at this point in the history
  5. Fix landlock presence test (#5037)

    Closes #4951 (hopefully)
    
    @alvicsam can you please check if it passes in the new environment?
    s0me0ne-unkn0wn authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    b3cabd8 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    12f352c View commit details
    Browse the repository at this point in the history
  7. Add 'missing_docs' attribute to dummy package (#4992)

    We want to add linter to the entire node based on a template. Just like
    `cargo clippy -- --deny missing_docs`. And we have the error (pasted at
    the end).
    The dummy crate is used to test whether the WASM toolchain is installed
    and working as expected. And for some reason this dummy crate included
    as a target for the linter. I added an attribute to pass the check.
    ```
    note: To improve backtraces for build dependencies, set the CARGO_PROFILE_DEV_BUILD_OVERRIDE_DEBUG=true environment variable to enable debug information generation.
    
    Caused by:
      process didn't exit successfully: `/Users/hrls/src/atleta/target/debug/build/atleta-runtime-b15153eff20cbe96/build-script-build` (exit status: 1)
      --- stderr
      Rust WASM target for toolchain stable-aarch64-apple-darwin is not properly installed; please install it!
    
      Further error information:
      ------------------------------------------------------------
         Compiling dummy-crate v1.0.0 (/var/folders/h1/_5gdnk8901n959lc28fwx8400000gn/T/.tmpUQCLaV)
      error: missing documentation for the crate
       --> src/main.rs:1:1
        |
      1 | fn main() {}
        | ^^^^^^^^^^^^
        |
        = note: requested on the command line with `-D missing-docs`
    
      error: could not compile `dummy-crate` (bin "dummy-crate") due to 1 previous error
      ------------------------------------------------------------
    
    
    ```
    
    Co-authored-by: Bastian Köcher <git@kchr.de>
    hrls and bkchr authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    72030ce View commit details
    Browse the repository at this point in the history
  8. Update command-fmt.yml (#5054)

    Add cargo +nightly fmt
    mordamax authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    a053d2c View commit details
    Browse the repository at this point in the history
  9. Update the stake.plus bootnode addresses (#5039)

    Update the stake.plus bootnode addresses
    
    ---------
    
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    senseless and ggwpez authored Jul 17, 2024
    Configuration menu
    Copy the full SHA
    4bcdf81 View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. upgrade wasm-bindgen to 0.2.92 (#5056)

    The rustc warns
    
    ```
    The package `wasm-bindgen v0.2.87` currently triggers the following future incompatibility lints:
    > warning: older versions of the `wasm-bindgen` crate will be incompatible with future versions of Rust; please update to `wasm-bindgen` v0.2.88
    >   |
    >   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
    >   = note: for more information, see issue #71871 <rust-lang/rust#71871>
    >
    ```
    jasl authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    25d9b59 View commit details
    Browse the repository at this point in the history
  2. Update the template synchronization script (#5022)

    There are slight changes required, after
    #4716.
    
    In order to follow the convention in the templates, we need to specify
    the internal template dependencies (runtime and a pallet) in the main
    `Cargo.toml`.
    
    Additionally, there are now dependencies with `path` in the main
    `Cargo.toml`, so we add a step with `psvm` to change those references to
    crate versions.
    rzadp authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    b6607cb View commit details
    Browse the repository at this point in the history
  3. Bump the known_good_semver group with 8 updates (#5060)

    Bumps the known_good_semver group with 8 updates:
    
    | Package | From | To |
    | --- | --- | --- |
    | [clap](https://github.com/clap-rs/clap) | `4.5.3` | `4.5.9` |
    | [log](https://github.com/rust-lang/log) | `0.4.21` | `0.4.22` |
    | [paste](https://github.com/dtolnay/paste) | `1.0.14` | `1.0.15` |
    | [quote](https://github.com/dtolnay/quote) | `1.0.35` | `1.0.36` |
    | [serde](https://github.com/serde-rs/serde) | `1.0.197` | `1.0.204` |
    | [serde_derive](https://github.com/serde-rs/serde) | `1.0.197` |
    `1.0.204` |
    | [serde_json](https://github.com/serde-rs/json) | `1.0.114` | `1.0.120`
    |
    | [serde_yaml](https://github.com/dtolnay/serde-yaml) | `0.9.33` |
    `0.9.34+deprecated` |
    
    Updates `clap` from 4.5.3 to 4.5.9
    <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.9</h2>
    <h2>[4.5.9] - 2024-07-09</h2>
    <h3>Fixes</h3>
    <ul>
    <li><em>(error)</em> When defining a custom help flag, be sure to
    suggest it like we do the built-in one</li>
    </ul>
    <h2>v4.5.8</h2>
    <h2>[4.5.8] - 2024-06-28</h2>
    <h3>Fixes</h3>
    <ul>
    <li>Reduce extra flushes</li>
    </ul>
    <h2>v4.5.7</h2>
    <h2>[4.5.7] - 2024-06-10</h2>
    <h3>Fixes</h3>
    <ul>
    <li>Clean up error message when too few arguments for
    <code>num_args</code></li>
    </ul>
    <h2>v4.5.6</h2>
    <h2>[4.5.6] - 2024-06-06</h2>
    <h2>v4.5.4</h2>
    <h2>[4.5.4] - 2024-03-25</h2>
    <h3>Fixes</h3>
    <ul>
    <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
    attributes again</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.5.9] - 2024-07-09</h2>
    <h3>Fixes</h3>
    <ul>
    <li><em>(error)</em> When defining a custom help flag, be sure to
    suggest it like we do the built-in one</li>
    </ul>
    <h2>[4.5.8] - 2024-06-28</h2>
    <h3>Fixes</h3>
    <ul>
    <li>Reduce extra flushes</li>
    </ul>
    <h2>[4.5.7] - 2024-06-10</h2>
    <h3>Fixes</h3>
    <ul>
    <li>Clean up error message when too few arguments for
    <code>num_args</code></li>
    </ul>
    <h2>[4.5.6] - 2024-06-06</h2>
    <h2>[4.5.5] - 2024-06-06</h2>
    <h3>Fixes</h3>
    <ul>
    <li>Allow <code>exclusive</code> to override
    <code>required_unless_present</code>,
    <code>required_unless_present_any</code>,
    <code>required_unless_present_all</code></li>
    </ul>
    <h2>[4.5.4] - 2024-03-25</h2>
    <h3>Fixes</h3>
    <ul>
    <li><em>(derive)</em> Allow non-literal <code>#[arg(id)]</code>
    attributes again</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/clap-rs/clap/commit/43e73682835653ac48f32cc786514553d697c693"><code>43e7368</code></a>
    chore: Release</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/f00dafa690479e562ef22c3ed82f17726213ee32"><code>f00dafa</code></a>
    docs: Update changelog</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/da1093a4f4cd1abba7de0b86f39319ab86913420"><code>da1093a</code></a>
    Merge pull request <a
    href="https://redirect.github.com/clap-rs/clap/issues/5574">#5574</a>
    from zanieb/zb/try-help-custom</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/2eb842cc3bc1fb5f04156efa816003ef803d5254"><code>2eb842c</code></a>
    feat: Show user defined help flags in hints</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/b24deb101f7e12660b8b19d6b3979df87ffe065d"><code>b24deb1</code></a>
    test: Add coverage for help flag hints</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/866d7d14d33a3ef1f010222f004815b5cd8c15ef"><code>866d7d1</code></a>
    chore(deps): Update compatible (dev) (<a
    href="https://redirect.github.com/clap-rs/clap/issues/5560">#5560</a>)</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/d14bbc95317eb87a115f56c455bdab6ba19342ff"><code>d14bbc9</code></a>
    Merge pull request <a
    href="https://redirect.github.com/clap-rs/clap/issues/5567">#5567</a>
    from epage/c</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/5448020b188899601d641a2684833073aba0a669"><code>5448020</code></a>
    fix: Install shells for CI</li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/1c5a625ad0303e2407c8ab83ea7d37795e69a3a5"><code>1c5a625</code></a>
    fix: Fix wrong <code>cfg(linux)</code></li>
    <li><a
    href="https://github.com/clap-rs/clap/commit/2d2d1f498731d2ab70e8f15fed3765a856d52732"><code>2d2d1f4</code></a>
    chore: Bump completest</li>
    <li>Additional commits viewable in <a
    href="https://github.com/clap-rs/clap/compare/clap_complete-v4.5.3...v4.5.9">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `log` from 0.4.21 to 0.4.22
    <details>
    <summary>Changelog</summary>
    <p><em>Sourced from <a
    href="https://github.com/rust-lang/log/blob/master/CHANGELOG.md">log's
    changelog</a>.</em></p>
    <blockquote>
    <h2>[0.4.22] - 2024-06-27</h2>
    <h2>What's Changed</h2>
    <ul>
    <li>Add some clarifications to the library docs by <a
    href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
    href="https://redirect.github.com/rust-lang/log/pull/620">rust-lang/log#620</a></li>
    <li>Add links to <code>colog</code> crate by <a
    href="https://github.com/chrivers"><code>@​chrivers</code></a> in <a
    href="https://redirect.github.com/rust-lang/log/pull/621">rust-lang/log#621</a></li>
    <li>adding line_number test + updating some testing infrastructure by <a
    href="https://github.com/DIvkov575"><code>@​DIvkov575</code></a> in <a
    href="https://redirect.github.com/rust-lang/log/pull/619">rust-lang/log#619</a></li>
    <li>Clarify the actual set of functions that can race in _racy variants
    by <a href="https://github.com/KodrAus"><code>@​KodrAus</code></a> in <a
    href="https://redirect.github.com/rust-lang/log/pull/623">rust-lang/log#623</a></li>
    <li>Replace deprecated std::sync::atomic::spin_loop_hint() by <a
    href="https://github.com/Catamantaloedis"><code>@​Catamantaloedis</code></a>
    in <a
    href="https://redirect.github.com/rust-lang/log/pull/625">rust-lang/log#625</a></li>
    <li>Check usage of max_level features by <a
    href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
    in <a
    href="https://redirect.github.com/rust-lang/log/pull/627">rust-lang/log#627</a></li>
    <li>Remove unneeded import by <a
    href="https://github.com/Thomasdezeeuw"><code>@​Thomasdezeeuw</code></a>
    in <a
    href="https://redirect.github.com/rust-lang/log/pull/628">rust-lang/log#628</a></li>
    <li>Loosen orderings for logger initialization in <a
    href="https://redirect.github.com/rust-lang/log/pull/632">rust-lang/log#632</a>.
    Originally by <a
    href="https://github.com/pwoolcoc"><code>@​pwoolcoc</code></a> in <a
    href="https://redirect.github.com/rust-lang/log/pull/599">rust-lang/log#599</a></li>
    <li>Use Location::caller() for file and line info in <a
    href="https://redirect.github.com/rust-lang/log/pull/633">rust-lang/log#633</a>.
    Originally by <a
    href="https://github.com/Cassy343"><code>@​Cassy343</code></a> in <a
    href="https://redirect.github.com/rust-lang/log/pull/520">rust-lang/log#520</a></li>
    </ul>
    <h2>New Contributors</h2>
    <ul>
    <li><a href="https://github.com/chrivers"><code>@​chrivers</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/rust-lang/log/pull/621">rust-lang/log#621</a></li>
    <li><a href="https://github.com/DIvkov575"><code>@​DIvkov575</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/rust-lang/log/pull/619">rust-lang/log#619</a></li>
    <li><a
    href="https://github.com/Catamantaloedis"><code>@​Catamantaloedis</code></a>
    made their first contribution in <a
    href="https://redirect.github.com/rust-lang/log/pull/625">rust-lang/log#625</a></li>
    </ul>
    <p><strong>Full Changelog</strong>: <a
    href="https://github.com/rust-lang/log/compare/0.4.21...0.4.22">https://github.com/rust-lang/log/compare/0.4.21...0.4.22</a></p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/rust-lang/log/commit/d5ba2cfee9b3b4ca1fcad911b7f59dc79eeee022"><code>d5ba2cf</code></a>
    Merge pull request <a
    href="https://redirect.github.com/rust-lang/log/issues/634">#634</a>
    from rust-lang/cargo/0.4.22</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/d1a8306aadb88d56b74c73cdce4ef0153fb549cb"><code>d1a8306</code></a>
    prepare for 0.4.22 release</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/46894ef229483bbabd30a806c474417fc034559c"><code>46894ef</code></a>
    Merge pull request <a
    href="https://redirect.github.com/rust-lang/log/issues/633">#633</a>
    from rust-lang/feat/panic-info</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/e0d389c9cadd91363f2fec52bd30f9585168a89f"><code>e0d389c</code></a>
    Merge pull request <a
    href="https://redirect.github.com/rust-lang/log/issues/632">#632</a>
    from rust-lang/feat/loosen-atomics</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/c9e5e13e9b02ec80e784c6fe4deacdc8f3194fca"><code>c9e5e13</code></a>
    use Location::caller() for file and line info</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/507b672660288f0223edb6353d34f8733fa0a2f4"><code>507b672</code></a>
    loosen orderings for logger initialization</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/c879b011a8ac662545adf9484d9a668ebcf9b814"><code>c879b01</code></a>
    Merge pull request <a
    href="https://redirect.github.com/rust-lang/log/issues/628">#628</a>
    from Thomasdezeeuw/fix-warnings</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/405fdb4d9f847c93c0133469ea808f09320714ba"><code>405fdb4</code></a>
    Merge pull request <a
    href="https://redirect.github.com/rust-lang/log/issues/627">#627</a>
    from Thomasdezeeuw/check-features</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/1307ade1122549badf2b8fdd10c11e519eaa029a"><code>1307ade</code></a>
    Remove unneeded import</li>
    <li><a
    href="https://github.com/rust-lang/log/commit/710560ecb7035a6baf1fd9d97d7f09d0cc075006"><code>710560e</code></a>
    Don't use --all-features in CI</li>
    <li>Additional commits viewable in <a
    href="https://github.com/rust-lang/log/compare/0.4.21...0.4.22">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `paste` from 1.0.14 to 1.0.15
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/dtolnay/paste/releases">paste's
    releases</a>.</em></p>
    <blockquote>
    <h2>1.0.15</h2>
    <ul>
    <li>Resolve unexpected_cfgs warning (<a
    href="https://redirect.github.com/dtolnay/paste/issues/102">#102</a>)</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/dtolnay/paste/commit/a2c7e27875277450ed28147623ba5218dd23e732"><code>a2c7e27</code></a>
    Release 1.0.15</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/1d23098227a01de542ea52db13dc1314eca13f00"><code>1d23098</code></a>
    Merge pull request <a
    href="https://redirect.github.com/dtolnay/paste/issues/102">#102</a>
    from dtolnay/checkcfg</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/1edfaae644d0b27e96c26cdc4d51e9fe3f51c12d"><code>1edfaae</code></a>
    Resolve unexpected_cfgs warning</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/cc6803dd049b9943c1e49b2220ff37a94711577c"><code>cc6803d</code></a>
    Explicitly install a Rust toolchain for cargo-outdated job</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/d39fb86d2d588bf63572886db340bc16c6cc6904"><code>d39fb86</code></a>
    Ignore dead code lint in tests</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/14872adf2b72140902ed6425a90517333ccc1a44"><code>14872ad</code></a>
    Work around empty_docs clippy lint in test</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/ed844dc6fe755bcee881bd93cdff5a77038aa49b"><code>ed844dc</code></a>
    Work around dead_code warning in test</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/0a4161b1318e01845cb32790b3bdadd618608361"><code>0a4161b</code></a>
    Add cargo.toml metadata to link to crate documentation</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/5a2bce19a1f100bf62824c9e3ff03879c916cdce"><code>5a2bce1</code></a>
    Test docs.rs documentation build in CI</li>
    <li><a
    href="https://github.com/dtolnay/paste/commit/d7e0be15a74c99b303e9993365f41f3440551b8f"><code>d7e0be1</code></a>
    Update actions/checkout@v3 -&gt; v4</li>
    <li>Additional commits viewable in <a
    href="https://github.com/dtolnay/paste/compare/1.0.14...1.0.15">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `quote` from 1.0.35 to 1.0.36
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/dtolnay/quote/releases">quote's
    releases</a>.</em></p>
    <blockquote>
    <h2>1.0.36</h2>
    <ul>
    <li>Documentation improvements</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/dtolnay/quote/commit/5d4880c4255b5c7f5ea0a9ac3cf9f985c418a1e7"><code>5d4880c</code></a>
    Release 1.0.36</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/1dd7ce794ff69a922f6b0e1b5d3a4929e1218258"><code>1dd7ce7</code></a>
    Merge pull request <a
    href="https://redirect.github.com/dtolnay/quote/issues/273">#273</a>
    from dtolnay/doc</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/0bc5d12f9be1bd39314b925aa786663e18f9a489"><code>0bc5d12</code></a>
    Apply doc comment to cfg(not(doc)) macros too</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/c295f5cca24108693724d8fb6f35da1faa81b78b"><code>c295f5c</code></a>
    Revert &quot;Temporarily disable miri on doctests&quot;</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/435bd1b917e98413310c5260787fbcee3c3d01ca"><code>435bd1b</code></a>
    Update ui test suite to nightly-2024-03-31</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/cc3847d3469a8e82a587fbf1608adc04b56c581a"><code>cc3847d</code></a>
    Explicitly install a Rust toolchain for cargo-outdated job</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/6259d49d0d35030c3dea792e85f23af52bb7994d"><code>6259d49</code></a>
    Temporarily disable miri on doctests</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/bdb4b594076d78127b99a3da768e369499e324de"><code>bdb4b59</code></a>
    Update ui test suite to nightly-2024-02-08</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/c2aeca9c00b12b6f87e2e7cb545c160e6b4aa18f"><code>c2aeca9</code></a>
    Update ui test suite to nightly-2024-01-31</li>
    <li><a
    href="https://github.com/dtolnay/quote/commit/376a0611f3acf91a424aae58104b587530361900"><code>376a061</code></a>
    Merge pull request <a
    href="https://redirect.github.com/dtolnay/quote/issues/270">#270</a>
    from dtolnay/bench</li>
    <li>Additional commits viewable in <a
    href="https://github.com/dtolnay/quote/compare/1.0.35...1.0.36">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `serde` from 1.0.197 to 1.0.204
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/serde-rs/serde/releases">serde's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.0.204</h2>
    <ul>
    <li>Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to
    suggest adding serde derive or enabling a &quot;serde&quot; feature flag
    in dependencies (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>,
    thanks <a
    href="https://github.com/weiznich"><code>@​weiznich</code></a>)</li>
    </ul>
    <h2>v1.0.203</h2>
    <ul>
    <li>Documentation improvements (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2747">#2747</a>)</li>
    </ul>
    <h2>v1.0.202</h2>
    <ul>
    <li>Provide public access to RenameAllRules in serde_derive_internals
    (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2743">#2743</a>)</li>
    </ul>
    <h2>v1.0.201</h2>
    <ul>
    <li>Resolve unexpected_cfgs warning (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2737">#2737</a>)</li>
    </ul>
    <h2>v1.0.200</h2>
    <ul>
    <li>Fix formatting of &quot;invalid type&quot; and &quot;invalid
    value&quot; deserialization error messages containing NaN or infinite
    floats (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2733">#2733</a>,
    thanks <a
    href="https://github.com/jamessan"><code>@​jamessan</code></a>)</li>
    </ul>
    <h2>v1.0.199</h2>
    <ul>
    <li>Fix ambiguous associated item when
    <code>forward_to_deserialize_any!</code> is used on an enum with
    <code>Error</code> variant (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2732">#2732</a>,
    thanks <a
    href="https://github.com/aatifsyed"><code>@​aatifsyed</code></a>)</li>
    </ul>
    <h2>v1.0.198</h2>
    <ul>
    <li>Support serializing and deserializing
    <code>Saturating&lt;T&gt;</code> (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2709">#2709</a>,
    thanks <a
    href="https://github.com/jbethune"><code>@​jbethune</code></a>)</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/serde-rs/serde/commit/18dcae0a77632fb4767a420c550cb41991f750b8"><code>18dcae0</code></a>
    Release 1.0.204</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/58c307f9cc28a19d73a0e2869f6addf9a8a329f9"><code>58c307f</code></a>
    Alphabetize list of rustc-check-cfg</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/8cc4809414a83de0d41eac38ecfa1040e088b61e"><code>8cc4809</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/serde/issues/2769">#2769</a>
    from dtolnay/onunimpl</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/1179158defc5351467cbd2c340b7e1498391bce4"><code>1179158</code></a>
    Update ui test with diagnostic::on_unimplemented from PR 2767</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/91aa40e749620f31bf7db01c772e672f023136b5"><code>91aa40e</code></a>
    Add ui test of unsatisfied serde trait bound</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/595019e979ebed5452b550bf901abcab2cf4e945"><code>595019e</code></a>
    Cut test_suite from workspace members in old toolchain CI jobs</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/b0d7917f88978eda264f8fbac13b46ece35f5348"><code>b0d7917</code></a>
    Pull in trybuild 'following types implement trait' fix</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/8e6637a1e44c30dffd37322a7107d434cd751722"><code>8e6637a</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>
    from weiznich/feature/diagnostic_on_unimplemented</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/694fe0595358aa0857120a99041d99975b1a8a70"><code>694fe05</code></a>
    Use the <code>#[diagnostic::on_unimplemented]</code> attribute when
    possible</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/f3dfd2a2375d9caf15a18ec657dde51a32caf6ed"><code>f3dfd2a</code></a>
    Suppress dead code warning in test of unit struct remote derive</li>
    <li>Additional commits viewable in <a
    href="https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.204">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `serde_derive` from 1.0.197 to 1.0.204
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/serde-rs/serde/releases">serde_derive's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.0.204</h2>
    <ul>
    <li>Apply #[diagnostic::on_unimplemented] attribute on Rust 1.78+ to
    suggest adding serde derive or enabling a &quot;serde&quot; feature flag
    in dependencies (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>,
    thanks <a
    href="https://github.com/weiznich"><code>@​weiznich</code></a>)</li>
    </ul>
    <h2>v1.0.203</h2>
    <ul>
    <li>Documentation improvements (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2747">#2747</a>)</li>
    </ul>
    <h2>v1.0.202</h2>
    <ul>
    <li>Provide public access to RenameAllRules in serde_derive_internals
    (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2743">#2743</a>)</li>
    </ul>
    <h2>v1.0.201</h2>
    <ul>
    <li>Resolve unexpected_cfgs warning (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2737">#2737</a>)</li>
    </ul>
    <h2>v1.0.200</h2>
    <ul>
    <li>Fix formatting of &quot;invalid type&quot; and &quot;invalid
    value&quot; deserialization error messages containing NaN or infinite
    floats (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2733">#2733</a>,
    thanks <a
    href="https://github.com/jamessan"><code>@​jamessan</code></a>)</li>
    </ul>
    <h2>v1.0.199</h2>
    <ul>
    <li>Fix ambiguous associated item when
    <code>forward_to_deserialize_any!</code> is used on an enum with
    <code>Error</code> variant (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2732">#2732</a>,
    thanks <a
    href="https://github.com/aatifsyed"><code>@​aatifsyed</code></a>)</li>
    </ul>
    <h2>v1.0.198</h2>
    <ul>
    <li>Support serializing and deserializing
    <code>Saturating&lt;T&gt;</code> (<a
    href="https://redirect.github.com/serde-rs/serde/issues/2709">#2709</a>,
    thanks <a
    href="https://github.com/jbethune"><code>@​jbethune</code></a>)</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/serde-rs/serde/commit/18dcae0a77632fb4767a420c550cb41991f750b8"><code>18dcae0</code></a>
    Release 1.0.204</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/58c307f9cc28a19d73a0e2869f6addf9a8a329f9"><code>58c307f</code></a>
    Alphabetize list of rustc-check-cfg</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/8cc4809414a83de0d41eac38ecfa1040e088b61e"><code>8cc4809</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/serde/issues/2769">#2769</a>
    from dtolnay/onunimpl</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/1179158defc5351467cbd2c340b7e1498391bce4"><code>1179158</code></a>
    Update ui test with diagnostic::on_unimplemented from PR 2767</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/91aa40e749620f31bf7db01c772e672f023136b5"><code>91aa40e</code></a>
    Add ui test of unsatisfied serde trait bound</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/595019e979ebed5452b550bf901abcab2cf4e945"><code>595019e</code></a>
    Cut test_suite from workspace members in old toolchain CI jobs</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/b0d7917f88978eda264f8fbac13b46ece35f5348"><code>b0d7917</code></a>
    Pull in trybuild 'following types implement trait' fix</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/8e6637a1e44c30dffd37322a7107d434cd751722"><code>8e6637a</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/serde/issues/2767">#2767</a>
    from weiznich/feature/diagnostic_on_unimplemented</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/694fe0595358aa0857120a99041d99975b1a8a70"><code>694fe05</code></a>
    Use the <code>#[diagnostic::on_unimplemented]</code> attribute when
    possible</li>
    <li><a
    href="https://github.com/serde-rs/serde/commit/f3dfd2a2375d9caf15a18ec657dde51a32caf6ed"><code>f3dfd2a</code></a>
    Suppress dead code warning in test of unit struct remote derive</li>
    <li>Additional commits viewable in <a
    href="https://github.com/serde-rs/serde/compare/v1.0.197...v1.0.204">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `serde_json` from 1.0.114 to 1.0.120
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/serde-rs/json/releases">serde_json's
    releases</a>.</em></p>
    <blockquote>
    <h2>v1.0.120</h2>
    <ul>
    <li>Correctly specify required version of <code>indexmap</code>
    dependency (<a
    href="https://redirect.github.com/serde-rs/json/issues/1152">#1152</a>,
    thanks <a
    href="https://github.com/cforycki"><code>@​cforycki</code></a>)</li>
    </ul>
    <h2>v1.0.119</h2>
    <ul>
    <li>Add <code>serde_json::Map::shift_insert</code> (<a
    href="https://redirect.github.com/serde-rs/json/issues/1149">#1149</a>,
    thanks <a
    href="https://github.com/joshka"><code>@​joshka</code></a>)</li>
    </ul>
    <h2>v1.0.118</h2>
    <ul>
    <li>Implement Hash for serde_json::Value (<a
    href="https://redirect.github.com/serde-rs/json/issues/1127">#1127</a>,
    thanks <a
    href="https://github.com/edwardycl"><code>@​edwardycl</code></a>)</li>
    </ul>
    <h2>v1.0.117</h2>
    <ul>
    <li>Resolve unexpected_cfgs warning (<a
    href="https://redirect.github.com/serde-rs/json/issues/1130">#1130</a>)</li>
    </ul>
    <h2>v1.0.116</h2>
    <ul>
    <li>Make module structure comprehensible to static analysis (<a
    href="https://redirect.github.com/serde-rs/json/issues/1124">#1124</a>,
    thanks <a
    href="https://github.com/mleonhard"><code>@​mleonhard</code></a>)</li>
    </ul>
    <h2>v1.0.115</h2>
    <ul>
    <li>Documentation improvements</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/serde-rs/json/commit/bcedc3d96bcc33184f16d63eab397295e2193350"><code>bcedc3d</code></a>
    Release 1.0.120</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/962c0fbbecc7dc8559cfeb019c2611737512f937"><code>962c0fb</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/json/issues/1152">#1152</a>
    from cforycki/fix/index-map-minimal-version</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/3480feda7b572d33992544061a8e0fbf8610a803"><code>3480fed</code></a>
    fix: indexmap minimal version with Map::shift_insert()</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/b48b9a3a0c09952579e98c8940fe0d1ee4aae588"><code>b48b9a3</code></a>
    Release 1.0.119</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/8878cd7c042a5f94ae4ee9889cbcbd12cc5ce334"><code>8878cd7</code></a>
    Make shift_insert available for inlining like other Map methods</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/352b7abf007cf3b9b063b01e0b1e8f6af62a4e39"><code>352b7ab</code></a>
    Document the cfg required for Map::shift_insert to exist</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/c17e63f6eff6cb40594beb1bddd4562c4cc81442"><code>c17e63f</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/json/issues/1149">#1149</a>
    from joshka/master</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/309ef6b8870e47622a283061cbda3f5514bfaf0d"><code>309ef6b</code></a>
    Add Map::shift_insert()</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/a9e089a2ce245bc223b56fbb6c525e2fe7b1f0ef"><code>a9e089a</code></a>
    Merge pull request <a
    href="https://redirect.github.com/serde-rs/json/issues/1146">#1146</a>
    from haouvw/master</li>
    <li><a
    href="https://github.com/serde-rs/json/commit/a83fe96ae2a202925f1caa7abc51991f321d7c22"><code>a83fe96</code></a>
    chore: remove repeat words</li>
    <li>Additional commits viewable in <a
    href="https://github.com/serde-rs/json/compare/v1.0.114...v1.0.120">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    Updates `serde_yaml` from 0.9.33 to 0.9.34+deprecated
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/dtolnay/serde-yaml/releases">serde_yaml's
    releases</a>.</em></p>
    <blockquote>
    <h2>0.9.34</h2>
    <p>As of this release, I am not planning to publish further versions of
    <code>serde_yaml</code> as none of my projects have been using YAML for
    a long time, so I have archived the GitHub repo and marked the crate
    deprecated in the version number. An official replacement isn't
    designated for those who still need to work with YAML, but <a
    href="https://crates.io/search?q=yaml&amp;sort=relevance">https://crates.io/search?q=yaml&amp;sort=relevance</a>
    and <a
    href="https://crates.io/keywords/yaml">https://crates.io/keywords/yaml</a>
    has a number of reasonable-looking options available.</p>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/dtolnay/serde-yaml/commit/2009506d33767dfc88e979d6bc0d53d09f941c94"><code>2009506</code></a>
    Release 0.9.34</li>
    <li><a
    href="https://github.com/dtolnay/serde-yaml/commit/3ba8462f7d3b603d832e0daeb6cfc7168a673d7a"><code>3ba8462</code></a>
    Add unmaintained note</li>
    <li><a
    href="https://github.com/dtolnay/serde-yaml/commit/77236b0d50f6fb670fefe8146aba02f1eab211f3"><code>77236b0</code></a>
    Ignore dead code lint in tests</li>
    <li>See full diff in <a
    href="https://github.com/dtolnay/serde-yaml/compare/0.9.33...0.9.34">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    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: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    e2d3b8b View commit details
    Browse the repository at this point in the history
  4. wasm-builder: Also set mcpu for c deps (#3777)

    Closes: #3192
    bkchr authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    35fcac7 View commit details
    Browse the repository at this point in the history
  5. Use Mutex in HeaderMetadataCache (#5063)

    Due to `LruMap` usage it is not actually possible to leverage read
    feature of `RwLock`, hence change to `Mutex` that is faster
    nazar-pc authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    d97fbb1 View commit details
    Browse the repository at this point in the history
  6. Bump enumn from 0.1.12 to 0.1.13 (#5061)

    Bumps [enumn](https://github.com/dtolnay/enumn) from 0.1.12 to 0.1.13.
    <details>
    <summary>Release notes</summary>
    <p><em>Sourced from <a
    href="https://github.com/dtolnay/enumn/releases">enumn's
    releases</a>.</em></p>
    <blockquote>
    <h2>0.1.13</h2>
    <ul>
    <li>Update proc-macro2 to fix caching issue when using a rustc-wrapper
    such as sccache</li>
    </ul>
    </blockquote>
    </details>
    <details>
    <summary>Commits</summary>
    <ul>
    <li><a
    href="https://github.com/dtolnay/enumn/commit/de964e3ce0463f01dabb94c168d507254facfb86"><code>de964e3</code></a>
    Release 0.1.13</li>
    <li><a
    href="https://github.com/dtolnay/enumn/commit/52dcafcb2ee193be8839dc0f96bfa0e151888645"><code>52dcafc</code></a>
    Pull in proc-macro2 sccache fix</li>
    <li><a
    href="https://github.com/dtolnay/enumn/commit/ba2e288a83c5e62d1e29b993523ccf0528043ab0"><code>ba2e288</code></a>
    Test docs.rs documentation build in CI</li>
    <li><a
    href="https://github.com/dtolnay/enumn/commit/6f5a37e5a9dcdb75987552b44d7ebdbd7f0a2a93"><code>6f5a37e</code></a>
    Update actions/checkout@v3 -&gt; v4</li>
    <li>See full diff in <a
    href="https://github.com/dtolnay/enumn/compare/0.1.12...0.1.13">compare
    view</a></li>
    </ul>
    </details>
    <br />
    
    
    [![Dependabot compatibility
    score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=enumn&package-manager=cargo&previous-version=0.1.12&new-version=0.1.13)](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: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    dependabot[bot] authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    d05cd9a View commit details
    Browse the repository at this point in the history
  7. Add pub to xcm::v4::PalletInfo (#4976)

    v3 PalletInfo had the fields public, but not v4. Any reason why?
    I need the PalletInfo fields public so I can read the values and do some
    logic based on that at Polimec
    @franciscoaguirre 
    
    If this could be backported would be highly appreciated 🙏🏻
    
    ---------
    
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    3 people authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    ad9804f View commit details
    Browse the repository at this point in the history

Commits on Jul 19, 2024

  1. Bump actions/setup-node from 4.0.1 to 4.0.3 (#4990)

    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: dependabot[bot] <support@github.com>
    Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
    Co-authored-by: Bastian Köcher <git@kchr.de>
    dependabot[bot] and bkchr authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    59b11ca View commit details
    Browse the repository at this point in the history
  2. relax XcmFeeToAccount trait bound on AccountId (#4959)

    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](rust-lang/rust#20400) and
    [this](rust-lang/rfcs#1672 (comment)).
    
    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: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    Co-authored-by: Branislav Kontur <bkontur@gmail.com>
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: command-bot <>
    4 people authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    f8f70b3 View commit details
    Browse the repository at this point in the history
  3. prdoc: Require bump field (#5073)

    Require to specify a `bump` for every modified crate.
    
    ---------
    
    Signed-off-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
    ggwpez authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    b01ef04 View commit details
    Browse the repository at this point in the history
  4. Backport claim assets tests from polkadot-fellows repo (#4930)

    # Issue
    [Backport integration tests for claim assets to the polkadot-sdk from
    polkadot-fellows repo
    #4892](#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:
    polkadot-fellows/runtimes#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: Zihan Zhao <josephzhao@Zihans-MacBook-Pro-3.local>
    Co-authored-by: command-bot <>
    Co-authored-by: Adrian Catangiu <adrian@parity.io>
    Co-authored-by: Francisco Aguirre <franciscoaguirreperez@gmail.com>
    4 people authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    d16af0b View commit details
    Browse the repository at this point in the history
  5. beefy: put not only lease parachain heads into mmr (#4751)

    Short-term addresses
    #4737.
    
    - [x] Resolve benchmarking
    I've digged into benchmarking mentioned
    #4737 (comment),
    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/b65313e81465dd730e48d4ce00deb76922618375/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
    #4737 (comment)
    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: Adrian Catangiu <adrian@parity.io>
    ordian and acatangiu authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    7f2a99f View commit details
    Browse the repository at this point in the history
  6. [NPoS] Some simple refactors to Delegate Staking (#4981)

    ## 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.
    Ank4n authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    394ea70 View commit details
    Browse the repository at this point in the history
  7. Implements PoV export and local validation (#4640)

    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.
    bkchr authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    d649746 View commit details
    Browse the repository at this point in the history
  8. Balances Pallet: Emit events when TI is updated in currency impl (#4936)

    # 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: Bastian Köcher <git@kchr.de>
    Co-authored-by: Bastian Köcher <info@kchr.de>
    3 people authored Jul 19, 2024
    Configuration menu
    Copy the full SHA
    59e3315 View commit details
    Browse the repository at this point in the history