Skip to content
  1. Dec 14, 2023
    • Svyatoslav Nikolsky's avatar
      Add Rococo People <> Rococo Bulletin bridge support to Rococo Bridge Hub (#2540) · 097308e3
      Svyatoslav Nikolsky authored
      This PR adds [Rococo
      People](https://github.com/paritytech/polkadot-sdk/pull/2281) <> [Rococo
      Bulletin](https://github.com/zdave-parity/polkadot-bulletin-chain) to
      the Rococo Bridge Hub code. There's a couple of things left to do here:
      - [x] add remaining tests - it'd need some refactoring in the
      `bridge-hub-test-utils` - will do in a separate PR;
      - [x] actually run benchmarks for new messaging pallet (do we have bot
      nowadays?).
      
      The reason why I'm opening it before this ^^^ is ready, is that I'd like
      to hear others opinion on how to deal with hacks with that bridge.
      Initially I was assuming that Rococo Bulletin will be the 1:1 copy of
      the Polkadot Bulletin (to avoid maintaining multiple
      runtimes/releases/...), so you can see many `PolkadotBulletin` mentions
      in this PR, even though we are going to bridge with the parallel chain
      (`RococoBulletin`). That's because e.g. pallet names from
      `construct_runtime` are affecting runtime storage keys and bridges are
      using runtime storage proofs => it is important to use names that the
      Bulletin chain expects.
      
      But in the end, this hack won't work - we can't use Polkadot Bulletin
      runtime to bridge with Rococo Bridge Hub, because Polkadot Bulletin
      expects Polkadot Bridge hub to use `1002` parachain id and Rococo Bridge
      Hub seats on the `1013`. This also affects storage keys using in
      bridging, so I had to add the [`rococo`
      feature](https://github.com/svyatonik/polkadot-bulletin-chain/blob/add-bridge-pallets/runtime/Cargo.toml#L198)
      to the Bulletin chain. So now we can actually alter its runtime and
      adapt it for Rococo.
      
      So the question here is - what's better for us here
      - to leave everything as is (seems hacky and non-trivial);
      - change Bulletin chain runtime when `rococo` feature is used - e.g. use
      proper names there (`WithPolkadotGrandpa` -> `WithRococoGrandpa`, ...)
      - add another set of pallets to the Bulletin chain runtime to bridge
      with Rococo and never use them in production. Similar to hack that we
      had in Rococo/Wococo
      
      cc @acatangiu @bkontur @serban300 
      
      also cc @joepetrowski
      
       as the main "client" of this bridge
      
      ---
      
      A couple words on how this bridge is different from the Rococo <>
      Westend bridge:
      - it is a bridge with a chain that uses GRANDPA finality, not the
      parachain finality (hence the tests needs to be changed);
      - it is a fee-free bridge. So
      `AllowExplicitUnpaidExecutionFrom<Equals<SiblingPeople>>` + we are not
      paying any rewards to relayers (apart from compensating transaction
      costs).
      
      ---------
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarAdrian Catangiu <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarAndrei Sandu <[email protected]>
      Co-authored-by: default avatarEgor_P <[email protected]>
      Co-authored-by: command-bot <>
      097308e3
    • Andrei Sandu's avatar
      Introduce subsystem benchmarking tool (#2528) · 8a6e9ef1
      Andrei Sandu authored
      This tool makes it easy to run parachain consensus stress/performance
      testing on your development machine or in CI.
      
      ## Motivation
      The parachain consensus node implementation spans across many modules
      which we call subsystems. Each subsystem is responsible for a small part
      of logic of the parachain consensus pipeline, but in general the most
      load and performance issues are localized in just a few core subsystems
      like `availability-recovery`, `approval-voting` or
      `dispute-coordinator`. In the absence of such a tool, we would run large
      test nets to load/stress test these parts of the system. Setting up and
      making sense of the amount of data produced by such a large test is very
      expensive, hard to orchestrate and is a huge development time sink.
      
      ## PR contents
      - CLI tool 
      - Data Availability Read test
      - reusable mockups and components needed so far
      - Documentation on how to get started
      
      ### Data Availability Read test
      
      An overseer is built with using a real `availability-recovery` susbsytem
      instance while dependent subsystems like `av-store`, `network-bridge`
      and `runtime-api` are mocked. The network bridge will emulate all the
      network peers and their answering to requests.
      
      The test is going to be run for a number of blocks. For each block it
      will generate send a “RecoverAvailableData” request for an arbitrary
      number of candidates. We wait for the subsystem to respond to all
      requests before moving to the next block.
      At the same time we collect the usual subsystem metrics and task CPU
      metrics and show some nice progress reports while running.
      
      ### Here is how the CLI looks like:
      
      ```
      [2023-11-28T13:06:27Z INFO  subsystem_bench::core::display] n_validators = 1000, n_cores = 20, pov_size = 5120 - 5120, error = 3, latency = Some(PeerLatency { min_latency: 1ms, max_latency: 100ms })
      [2023-11-28T13:06:27Z INFO  subsystem-bench::availability] Generating template candidate index=0 pov_size=5242880
      [2023-11-28T13:06:27Z INFO  subsystem-bench::availability] Created test environment.
      [2023-11-28T13:06:27Z INFO  subsystem-bench::availability] Pre-generating 60 candidates.
      [2023-11-28T13:06:30Z INFO  subsystem-bench::core] Initializing network emulation for 1000 peers.
      [2023-11-28T13:06:30Z INFO  subsystem-bench::availability] Current block 1/3
      [2023-11-28T13:06:30Z INFO  substrate_prometheus_endpoint] 
      
      ️ Prometheus exporter started at 127.0.0.1:9999
      [2023-11-28T13:06:30Z INFO  subsystem_bench::availability] 20 recoveries pending
      [2023-11-28T13:06:37Z INFO  subsystem_bench::availability] Block time 6262ms
      [2023-11-28T13:06:37Z INFO  subsystem-bench::availability] Sleeping till end of block (0ms)
      [2023-11-28T13:06:37Z INFO  subsystem-bench::availability] Current block 2/3
      [2023-11-28T13:06:37Z INFO  subsystem_bench::availability] 20 recoveries pending
      [2023-11-28T13:06:43Z INFO  subsystem_bench::availability] Block time 6369ms
      [2023-11-28T13:06:43Z INFO  subsystem-bench::availability] Sleeping till end of block (0ms)
      [2023-11-28T13:06:43Z INFO  subsystem-bench::availability] Current block 3/3
      [2023-11-28T13:06:43Z INFO  subsystem_bench::availability] 20 recoveries pending
      [2023-11-28T13:06:49Z INFO  subsystem_bench::availability] Block time 6194ms
      [2023-11-28T13:06:49Z INFO  subsystem-bench::availability] Sleeping till end of block (0ms)
      [2023-11-28T13:06:49Z INFO  subsystem_bench::availability] All blocks processed in 18829ms
      [2023-11-28T13:06:49Z INFO  subsystem_bench::availability] Throughput: 102400 KiB/block
      [2023-11-28T13:06:49Z INFO  subsystem_bench::availability] Block time: 6276 ms
      [2023-11-28T13:06:49Z INFO  subsystem_bench::availability] 
          
          Total received from network: 415 MiB
          Total sent to network: 724 KiB
          Total subsystem CPU usage 24.00s
          CPU usage per block 8.00s
          Total test environment CPU usage 0.15s
          CPU usage per block 0.05s
      ```
      
      ### Prometheus/Grafana stack in action
      <img width="1246" alt="Screenshot 2023-11-28 at 15 11 10"
      src="https://github.com/paritytech/polkadot-sdk/assets/54316454/eaa47422-4a5e-4a3a-aaef-14ca644c1574">
      <img width="1246" alt="Screenshot 2023-11-28 at 15 12 01"
      src="https://github.com/paritytech/polkadot-sdk/assets/54316454/237329d6-1710-4c27-8f67-5fb11d7f66ea">
      <img width="1246" alt="Screenshot 2023-11-28 at 15 12 38"
      src="https://github.com/paritytech/polkadot-sdk/assets/54316454/a07119e8-c9f1-4810-a1b3-f1b7b01cf357">
      
      ---------
      
      Signed-off-by: default avatarAndrei Sandu <[email protected]>
      8a6e9ef1
  2. Dec 13, 2023
    • dependabot[bot]'s avatar
      Bump toml from 0.7.6 to 0.8.2 (#2685) · 6ff50526
      dependabot[bot] authored
      
      
      Bumps [toml](https://github.com/toml-rs/toml) from 0.7.6 to 0.8.2.
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/toml-rs/toml/commit/fe65b2bfa2021b939a0fc71e8b008609ea21f6fe"><code>fe65b2b</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/ed597ebad11afdadc27712e3f851e6c5cd48fb51"><code>ed597eb</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/257a0fdc59656c01bcce151af61339563fac22c4"><code>257a0fd</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/4b44f53a3194729317250232872584464ebe12a7"><code>4b44f53</code></a>
      Merge pull request <a
      href="https://redirect.github.com/toml-rs/toml/issues/617">#617</a> from
      epage/update</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/7eaf2861106430833eb40e7b237fe5522be6bb03"><code>7eaf286</code></a>
      fix(parser): Failed on mixed inline tables</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/e1f20378a2a8c78f182b2ac61f76eebd30990b77"><code>e1f2037</code></a>
      test: Verify with latest data</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/2f9253c9eb6c968be8227284b873660bd3451007"><code>2f9253c</code></a>
      chore: Update toml-test</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/c9b481cab5038e9801e60f6bfb935f983218d8f6"><code>c9b481c</code></a>
      test(toml): Ensure tables are used for validation</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/43d7f29cfdad91bb72658d94039b16e7457a54ed"><code>43d7f29</code></a>
      Merge pull request <a
      href="https://redirect.github.com/toml-rs/toml/issues/615">#615</a> from
      toml-rs/renovate/actions-checkout-4.x</li>
      <li><a
      href="https://github.com/toml-rs/toml/commit/ef9b8372c86f84481e8439c9c4a1f5dc4c15c35e"><code>ef9b837</code></a>
      chore(deps): update actions/checkout action to v4</li>
      <li>Additional commits viewable in <a
      href="https://github.com/toml-rs/toml/compare/toml-v0.7.6...toml-v0.8.2">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=toml&package-manager=cargo&previous-version=0.7.6&new-version=0.8.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      6ff50526
    • Svyatoslav Nikolsky's avatar
      Tests for BridgeHub(s) <> remote GRANDPA chain (#2692) · 9ecb2d33
      Svyatoslav Nikolsky authored
      So far the `bridge-hub-test-utils` contained a tests set for testing
      BridgeHub runtime that is bridging with the remote **parachain**. But we
      have https://github.com/paritytech/polkadot-sdk/pull/2540 coming, which
      would add Rococo <> Bulletin chain bridge (where Bulletin = standalone
      chain that is using GRANDPA finality). Then it'll be expanded to
      Polkadot BH as well.
      
      So this PR adds the same set of tests to the `bridge-hub-test-utils`,
      but for the case when remote chain is the chain with GRANDPA finality.
      There's a lot of changes in this PR - I'll describe some:
      - I've added `BasicParachainRuntime` trait to decrease number of lines
      we need to add to `where` clause. Could revert, but imo it is useful;
      - `cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_data` is
      a submodule for generating test data for the test sets.
      `from_parachain.rs` is used in tests for the case when remote chain is a
      parachain, `from_grandpa_chain.rs` - for the bridges with remote GRANDPA
      chains. `mod.rs` has some code, shared by both types of tests;
      - `cumulus/parachains/runtimes/bridge-hubs/test-utils/src/test_data` is
      a submodule with all test cases. The `mod.rs` has tests, suitable for
      all cases. There's also `wth_parachain.rs` and `with_grandpa_chain.rs`
      with the same meaning as above;
      - I've merged the "core" code of two previous tests -
      `relayed_incoming_message_works` and `complex_relay_extrinsic_works`
      into one single `relayed_incoming_message_works` test. So now we are
      always constructing extrinsics and are dispatching them using executive
      module (meaning all signed extensions are also tested).
      
      New test set is used here:
      https://github.com/paritytech/polkadot-sdk/pull/2540. Once this PR is
      merged, I'll merge that other PR with master to remove duplicate
      changes.
      
      I'm also planning to cleanup generic constraints + remove some
      unnecessary assumptions about used chains in a follow-up PRs. But for
      now I think this PR has enough changes, so don't want to complicate it
      even more.
      
      ---
      
      Breaking changes for the code that have used those tests before:
      - the `construct_and_apply_extrinsic` callback now accepts the
      `RuntimeCall` instead of the `pallet_utility::Call`;
      - the `construct_and_apply_extrinsic` now may be called multiple times
      for the single test, so make sure the `frame_system::CheckNonce` is
      correctly constructed;
      - all previous tests have been moved from
      `bridge_hub_test_utils::test_cases` to
      `bridge_hub_test_utils::test_cases::from_parachain` module;
      - there are several changes in test arguments - please refer to
      https://github.com/paritytech/polkadot-sdk/compare/sv-tests-for-bridge-with-remote-grandpa-chain?expand=1#diff-79a28d4d3e1749050341c2424f00c4c139825b1a20937767f83e58b95166735c
      for details.
      9ecb2d33
    • Joshy Orndorff's avatar
      Rename `ExportGenesisStateCommand` to `ExportGenesisHeadCommand` and make it... · 8683bbee
      Joshy Orndorff authored
      
      Rename `ExportGenesisStateCommand` to `ExportGenesisHeadCommand` and make it respect custom genesis block builders (#2331)
      
      Closes #2326.
      
      This PR both fixes a logic bug and replaces an incorrect name.
      
      ## Bug Fix: Respecting custom genesis builder
      
      Prior to this PR the standard logic for creating a genesis block was
      repeated inside of cumulus. This PR removes that duplicated logic, and
      calls into the proper `BuildGenesisBlock` implementation.
      
      One consequence is that if the genesis block has already been
      initialized, it will not be re-created, but rather read from the
      database like it is for other node invocations. So you need to watch out
      for old unpurged data during the development process. Offchain tools may
      need to be updated accordingly. I've already filed
      https://github.com/paritytech/zombienet/issues/1519
      
      ## Rename: It doesn't export state. It exports head data.
      
      The name export-genesis-state was always wrong, nad it's never too late
      to right a wrong. I've changed the name of the struct to
      `ExportGenesisHeadCommand`.
      
      There is still the question of what to do with individual nodes' public
      CLIs. I have updated the parachain template to a reasonable default that
      preserves compatibility with tools that will expect
      `export-genesis-state` to still work. And I've chosen not to modify the
      public CLIs of any other nodes in the repo. I'll leave it up to their
      individual owners/maintains to decide whether that is appropriate.
      
      ---------
      
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      8683bbee
  3. Dec 12, 2023
    • Branislav Kontur's avatar
      Ensure xcm versions over bridge (on sending chains) (#2481) · 575b8f8d
      Branislav Kontur authored
      ## Summary
      
      This pull request proposes a solution for improved control of the
      versioned XCM flow over the bridge (across different consensus chains)
      and resolves the situation where the sending chain/consensus has already
      migrated to a higher XCM version than the receiving chain/consensus.
      
      ## Problem/Motivation
      
      The current flow over the bridge involves a transfer from AssetHubRococo
      (AHR) to BridgeHubRococo (BHR) to BridgeHubWestend (BHW) and finally to
      AssetHubWestend (AHW), beginning with a reserve-backed transfer on AHR.
      
      In this process:
      1. AHR sends XCM `ExportMessage` through `XcmpQueue`, incorporating XCM
      version checks using the `WrapVersion` feature, influenced by
      `pallet_xcm::SupportedVersion` (managed by
      `pallet_xcm::force_xcm_version` or version discovery).
      
      2. BHR handles the `ExportMessage` instruction, utilizing the latest XCM
      version. The `HaulBlobExporter` converts the inner XCM to
      [`VersionedXcm::from`](https://github.com/paritytech/polkadot-sdk/blob/63ac2471/polkadot/xcm/xcm-builder/src/universal_exports.rs#L465-L467),
      also using the latest XCM version.
      
      However, challenges arise:
      - Incompatibility when BHW uses a different version than BHR. For
      instance, if BHR migrates to **XCMv4** while BHW remains on **XCMv3**,
      BHR's `VersionedXcm::from` uses `VersionedXcm::V4` variant, causing
      encoding issues for BHW.
        ```
      	/// Just a simulation of possible error, which could happen on BHW
      	/// (this code is based on actual master without XCMv4)
      	let encoded = hex_literal::hex!("0400");
      	println!("{:?}", VersionedXcm::<()>::decode(&mut &encoded[..]));
      
      Err(Error { cause: None, desc: "Could not decode `VersionedXcm`, variant
      doesn't exist" })
        ``` 
      - Similar compatibility issues exist between AHR and AHW.
      
      ## Solution
      
      This pull request introduces the following solutions:
      
      1. **New trait `CheckVersion`** - added to the `xcm` module and exposing
      `pallet_xcm::SupportedVersion`. This enhancement allows checking the
      actual XCM version for desired destinations outside of the `pallet_xcm`
      module.
      
      2. **Version Check in `HaulBlobExporter`** uses `CheckVersion` to check
      known/configured destination versions, ensuring compatibility. For
      example, in the scenario mentioned, BHR can store the version `3` for
      BHW. If BHR is on XCMv4, it will attempt to downgrade the message to
      version `3` instead of using the latest version `4`.
      
      3. **Version Check in `pallet-xcm-bridge-hub-router`** - this check
      ensures compatibility with the real destination's XCM version,
      preventing the unnecessary sending of messages to the local bridge hub
      if versions are incompatible.
      
      These additions aim to improve the control and compatibility of XCM
      flows over the bridge and addressing issues related to version
      mismatches.
      
      ## Possible alternative solution
      
      _(More investigation is needed, and at the very least, it should extend
      to XCMv4/5. If this proves to be a viable option, I can open an RFC for
      XCM.)._
      
      Add the `XcmVersion` attribute to the `ExportMessage` so that the
      sending chain can determine, based on what is stored in
      `pallet_xcm::SupportedVersion`, the version the destination is using.
      This way, we may not need to handle the version in `HaulBlobExporter`.
      
      ```
      ExportMessage {
      	network: NetworkId,
      	destination: InteriorMultiLocation,
      	xcm: Xcm<()>
      	destination_xcm_version: Version, // <- new attritbute
      },
      ```
      
      ```
      pub trait ExportXcm {
              fn validate(
      		network: NetworkId,
      		channel: u32,
      		universal_source: &mut Option<InteriorMultiLocation>,
      		destination: &mut Option<InteriorMultiLocation>,
      		message: &mut Option<Xcm<()>>,
                      destination_xcm_version: Version, , // <- new attritbute
      	) -> SendResult<Self::Ticket>;
      ```
      
      ## Future Directions
      
      This PR does not fix version discovery over bridge, further
      investigation will be conducted here:
      https://github.com/paritytech/polkadot-sdk/issues/2417.
      
      ## TODO
      
      - [x] `pallet_xcm` mock for tests uses hard-coded XCM version `2` -
      change to 3 or lastest?
      - [x] fix `pallet-xcm-bridge-hub-router`
      - [x] fix HaulBlobExporter with version determination
      [here](https://github.com/paritytech/polkadot-sdk/blob/2183669d/polkadot/xcm/xcm-builder/src/universal_exports.rs#L465)
      - [x] add unit-tests to the runtimes
      - [x] run benchmarks for `ExportMessage`
      - [x] extend local run scripts about `force_xcm_version(dest, version)`
      - [ ] when merged, prepare governance calls for Rococo/Westend
      - [ ] add PRDoc
      
      Part of: https://github.com/paritytech/parity-bridges-common/issues/2719
      
      ---------
      
      Co-authored-by: command-bot <>
      575b8f8d
    • Chevdor's avatar
      Changelogs local generation (#1411) · 42a3afba
      Chevdor authored
      
      
      This PR introduces a script and some templates to use the prdoc involved
      in a release and build:
      - the changelog
      - a simple draft of audience documentation
      
      Since the prdoc presence was enforced in the middle of the version
      1.5.0, not all PRs did come with a `prdoc` file.
      This PR creates all the missing `prdoc` files with some minimum content
      allowing to properly generate the changelog.
      The generated content is **not** suitable for the audience
      documentation.
      
      The audience documentation will be possible with the next version, when
      all PR come with a proper `prdoc`.
      
      ## Assumptions
      
      - the prdoc files for release `vX.Y.Z` have been moved under
      `prdoc/X.Y.Z`
      - the changelog requires for now for the prdoc files to contain author +
      topic. Thos fields are optional.
      
      The build script can  be called as:
      ```
      VERSION=X.Y.Z ./scripts/release/build-changelogs.sh
      ```
      
      Related:
      -  #1408
      
      ---------
      
      Co-authored-by: default avatarEgorPopelyaev <[email protected]>
      42a3afba
    • dependabot[bot]'s avatar
      Bump names from 0.13.0 to 0.14.0 (#2686) · 2aaa9af3
      dependabot[bot] authored
      
      
      Bumps [names](https://github.com/fnichol/names) from 0.13.0 to 0.14.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/fnichol/names/releases">names's
      releases</a>.</em></p>
      <blockquote>
      <h2>Release 0.14.0</h2>
      <h2><a
      href="https://github.com/fnichol/names/compare/v0.13.0...v0.14.0">0.14.0</a>
      - 2022-06-28</h2>
      <h3>Changed</h3>
      <ul>
      <li>upgrade to <code>regex</code> 1.5.6</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/fnichol/names/blob/main/CHANGELOG.md">names's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[0.14.0] - 2022-06-28</h2>
      <h3>Changed</h3>
      <ul>
      <li>upgrade to <code>regex</code> 1.5.6</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/fnichol/names/commit/8f09d5bf9860582c485b5856cbb325642d3e82c2"><code>8f09d5b</code></a>
      release: names 0.14.0</li>
      <li><a
      href="https://github.com/fnichol/names/commit/b589b911b489812aa4a279efa1b91e6fe7ff7dfa"><code>b589b91</code></a>
      release: update CHANGELOG.md</li>
      <li><a
      href="https://github.com/fnichol/names/commit/e1bed3056d38a98a22f28f39db42211404a00953"><code>e1bed30</code></a>
      merge: <a
      href="https://redirect.github.com/fnichol/names/issues/20">#20</a></li>
      <li><a
      href="https://github.com/fnichol/names/commit/12eb753220007a2aafe741031af83562c1e617f6"><code>12eb753</code></a>
      Bump regex from 1.5.4 to 1.5.6</li>
      <li><a
      href="https://github.com/fnichol/names/commit/ed520b76b8542fdca09d9d80658f4ea0b8914464"><code>ed520b7</code></a>
      merge: <a
      href="https://redirect.github.com/fnichol/names/issues/19">#19</a></li>
      <li><a
      href="https://github.com/fnichol/names/commit/852eaee067bcadfb2a59e78b432919a87983fe6d"><code>852eaee</code></a>
      chore: start next iteration 0.13.1-dev</li>
      <li>See full diff in <a
      href="https://github.com/fnichol/names/compare/v0.13.0...v0.14.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=names&package-manager=cargo&previous-version=0.13.0&new-version=0.14.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      2aaa9af3
  4. Dec 11, 2023
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 2 updates (#2675) · 7b416d84
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 2 updates:
      [clap](https://github.com/clap-rs/clap) and
      [syn](https://github.com/dtolnay/syn).
      
      Updates `clap` from 4.4.10 to 4.4.11
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.4.11</h2>
      <h2>[4.4.11] - 2023-12-04</h2>
      <h3>Features</h3>
      <ul>
      <li>Add <code>Command::mut_group</code></li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.4.11] - 2023-12-04</h2>
      <h3>Features</h3>
      <ul>
      <li>Add <code>Command::mut_group</code></li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/d092896d61fd73a5467db85eac035a9ce2ddbc60"><code>d092896</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c76a713f8bd40a54a58e8c1d2300a6792f1b79d5"><code>c76a713</code></a>
      chore: Update lockfile</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b99d17bb0b78b667659982252e8973174e93ae7d"><code>b99d17b</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b47f8da4d857dd653915ce772757d4b996a36477"><code>b47f8da</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5247">#5247</a>
      from epage/group</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/2e7c9d11a84b5008e2b42b4df323557a31bb0337"><code>2e7c9d1</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5194">#5194</a>
      from c19/patch-1</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/37917be0b75d5cd667cd37db6ea5c6bac837c674"><code>37917be</code></a>
      feat: Add Command::mut_group</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/cf7a0272cc1d55d139983d4408e8bedab51338ad"><code>cf7a027</code></a>
      chore: Update from '_rust/main'</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/8c836eaa9d9279df467991a3b8463d748b515a0a"><code>8c836ea</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/10">#10</a> from
      epage/renovate/migrate-config</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/598c6244983fb392457f3fbec9badf25fab6d051"><code>598c624</code></a>
      chore(config): migrate config .github/renovate.json5</li>
      <li>See full diff in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.10...v4.4.11">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `syn` from 2.0.39 to 2.0.40
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/syn/releases">syn's
      releases</a>.</em></p>
      <blockquote>
      <h2>2.0.40</h2>
      <ul>
      <li>Fix some edge cases of handling None-delimited groups in expression
      parser (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1539">#1539</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1541">#1541</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1542">#1542</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1543">#1543</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1544">#1544</a>, <a
      href="https://redirect.github.com/dtolnay/syn/issues/1545">#1545</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/cf7f40a96a7329fb4215a7a1d8d9e7c93439b169"><code>cf7f40a</code></a>
      Release 2.0.40</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/1ce8ccf5cd92824d1058019c0ae95b0616f6ac01"><code>1ce8ccf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1538">#1538</a>
      from dtolnay/testinvisible</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/d06bff8883e794c0d9d5fe2998210dec113b6eff"><code>d06bff8</code></a>
      Add test for parsing Delimiter::None in expressions</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/9ec66d42bba0da0041ab6448604b72f673e185f1"><code>9ec66d4</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1545">#1545</a>
      from dtolnay/groupedlet</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/384621acc640779ee4a8250317c26a42e8ceef90"><code>384621a</code></a>
      Fix None-delimited let expression in stmt position</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/5325b6d1711c1c9c6787cb6239b472b5f8b5daaf"><code>5325b6d</code></a>
      Add test of let expr surrounded in None-delimited group</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/0ddfc27cf79573db0b5533c583ff895e9c7f3f72"><code>0ddfc27</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1544">#1544</a>
      from dtolnay/nonedelimloop</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/9c99b3f62ecebb2ac22f8ed99039934b0a18d0e6"><code>9c99b3f</code></a>
      Fix stmt boundary after None-delimited group containing loop</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/2781584ea868cce6c9ae750bc442e3b4b2dfd887"><code>2781584</code></a>
      Add test of None-delimited group containing loop in match arm</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/d33292808432c8530b53c951f2780d7128c4bd0b"><code>d332928</code></a>
      Simplify token stream construction in Delimiter::None tests</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.39...2.0.40">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: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      7b416d84
    • Michal Kucharczyk's avatar
      `keyring`: remove `lazy_static` public keys hash maps (#2387) · f6548aee
      Michal Kucharczyk authored
      
      
      The `lazy_static` package does not work well in `no-std`: it requires
      `spin_no_std` feature, which also will propagate into `std` if enabled.
      This is not what we want.
      
      This PR removes public/private key hash-maps and replaces them with
      simple static byte arrays.
      
      `&T` versions of `AsRef/Deref/From` traits implementation were removed.
      
      Little const helper for converting hex strings into array during compile
      time was also added. (somewhat similar to _hex_literal_).
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKoute <[email protected]>
      f6548aee
    • dependabot[bot]'s avatar
      Bump num-traits from 0.2.16 to 0.2.17 (#2674) · 1e878780
      dependabot[bot] authored
      
      
      Bumps [num-traits](https://github.com/rust-num/num-traits) from 0.2.16
      to 0.2.17.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-num/num-traits/blob/master/RELEASES.md">num-traits's
      changelog</a>.</em></p>
      <blockquote>
      <h1>Release 0.2.17 (2023-10-07)</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-num/num-traits/pull/286">Fix a
      doc warning about custom classes with newer rustdoc.</a></li>
      </ul>
      <p><strong>Contributors</strong>: <a
      href="https://github.com/robamu"><code>@​robamu</code></a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/0a27d8c95ad4cdf1b04793cc3b19520f2f19c4f4"><code>0a27d8c</code></a>
      Merge <a
      href="https://redirect.github.com/rust-num/num-traits/issues/289">#289</a></li>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/34e309a918d2c412949cba9c8869a46470fcde4f"><code>34e309a</code></a>
      Release 0.2.17</li>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/ef36d69f7c98cce52177f77de5d092da0c93cdcc"><code>ef36d69</code></a>
      Merge <a
      href="https://redirect.github.com/rust-num/num-traits/issues/286">#286</a></li>
      <li><a
      href="https://github.com/rust-num/num-traits/commit/d9d94f8a510d64cb56f70036777ad739e5e5e961"><code>d9d94f8</code></a>
      Bugfix for text codeblock in documentation.</li>
      <li>See full diff in <a
      href="https://github.com/rust-num/num-traits/compare/num-traits-0.2.16...num-traits-0.2.17">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=num-traits&package-manager=cargo&previous-version=0.2.16&new-version=0.2.17)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      1e878780
  5. Dec 08, 2023
    • Bastian Köcher's avatar
      Update proc-macro-crate (#2660) · f6ae1458
      Bastian Köcher authored
      f6ae1458
    • Muharem Ismailov's avatar
      Westend: Fellowship Treasury (#2532) · da40d97a
      Muharem Ismailov authored
      
      
      Treasury Pallet Instance for the Fellowship in Westend Collectives.
      
      In this update, we present a Treasury Pallet Instance that is under the
      control of the Fellowship body, with oversight from the Root and
      Treasurer origins. Here's how it is governed:
      - the Root origin have the authority to reject or approve spend
      proposals, with no amount limit for approvals.
      - the Treasurer origin have the authority to reject or approve spend
      proposals, with approval limits of up to 10,000,000 DOT.
      - Voice of all Fellows ranked at 3 or above can reject or approve spend
      proposals, with a maximum approval limit of 10,000 DOT.
      - Voice of Fellows ranked at 4 or above can also reject or approve spend
      proposals, with a maximum approval limit of 10,000,000 DOT.
      
      Additionally, we introduce the Asset Rate Pallet Instance to establish
      conversion rates from asset A to B. This is used to determine if a
      proposed spend amount involving a non-native asset is permissible by the
      commanding origin. The rates can be set up by the Root, Treasurer
      origins, or Voice of all Fellows.
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      Co-authored-by: default avatarjoepetrowski <[email protected]>
      da40d97a
    • Davide Galassi's avatar
      Bump ark-scale version to 0.0.12 (#2652) · f5edd4f4
      Davide Galassi authored
      As per title.
      
      Fix in ark-scale `TypeInfo` implementation
      f5edd4f4
    • Sam Johnson's avatar
      Tasks: general system for recognizing and executing service work (#1343) · ac3f14d2
      Sam Johnson authored
      
      
      `polkadot-sdk` version of original tasks PR located here:
      https://github.com/paritytech/substrate/pull/14329
      
      Fixes #206
      
      ## Status
      - [x] Generic `Task` trait
      - [x] `RuntimeTask` aggregated enum, compatible with
      `construct_runtime!`
      - [x] Casting between `Task` and `RuntimeTask` without needing `dyn` or
      `Box`
      - [x] Tasks Example pallet
      - [x] Runtime tests for Tasks example pallet
      - [x] Parsing for task-related macros
      - [x] Retrofit parsing to make macros optional
      - [x] Expansion for task-related macros
      - [x] Adds support for args in tasks
      - [x] Retrofit tasks example pallet to use macros instead of manual
      syntax
      - [x] Weights
      - [x] Cleanup
      - [x] UI tests
      - [x] Docs
      
      ## Target Syntax
      Adapted from
      https://github.com/paritytech/polkadot-sdk/issues/206#issue-1865172283
      
      ```rust
      // NOTE: this enum is optional and is auto-generated by the other macros if not present
      #[pallet::task]
      pub enum Task<T: Config> {
          AddNumberIntoTotal {
              i: u32,
          }
      }
      
      /// Some running total.
      #[pallet::storage]
      pub(super) type Total<T: Config<I>, I: 'static = ()> =
      StorageValue<_, (u32, u32), ValueQuery>;
      
      /// Numbers to be added into the total.
      #[pallet::storage]
      pub(super) type Numbers<T: Config<I>, I: 'static = ()> =
      StorageMap<_, Twox64Concat, u32, u32, OptionQuery>;
      
      #[pallet::tasks_experimental]
      impl<T: Config<I>, I: 'static> Pallet<T, I> {
      	/// Add a pair of numbers into the totals and remove them.
      	#[pallet::task_list(Numbers::<T, I>::iter_keys())]
      	#[pallet::task_condition(|i| Numbers::<T, I>::contains_key(i))]
      	#[pallet::task_index(0)]
      	pub fn add_number_into_total(i: u32) -> DispatchResult {
      		let v = Numbers::<T, I>::take(i).ok_or(Error::<T, I>::NotFound)?;
      		Total::<T, I>::mutate(|(total_keys, total_values)| {
      			*total_keys += i;
      			*total_values += v;
      		});
      		Ok(())
      	}
      }
      ```
      
      ---------
      
      Co-authored-by: default avatarNikhil Gupta <[email protected]>
      Co-authored-by: default avatarkianenigma <[email protected]>
      Co-authored-by: Nikhil Gupta <>
      Co-authored-by: default avatarGavin Wood <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatargupnik <[email protected]>
      ac3f14d2
    • cheme's avatar
      Remove hashbrown from trie cache. (#2632) · 34c991e2
      cheme authored
      Using hashmap instead (hashset do not expose entry), to get the default
      random hasher her.
      34c991e2
  6. Dec 07, 2023
    • Dónal Murray's avatar
      Remove `testnets-common` (#2620) · 814b938d
      Dónal Murray authored
      `testnets-common` was introduced recently to start to separate testnet
      parachain configurations from those of Polkadot and Kusama.
      
      The `locks-review` and `polkadot-review` requirements are removed from
      `parachains-common` in
      https://github.com/paritytech/polkadot-sdk/pull/2564 and there are
      [plans](https://github.com/paritytech/polkadot-sdk/pull/2564#discussion_r1410882115)
      to move the Polkadot and Kusama contents of that package to the
      fellowship, `testnets-common` is no longer needed.
      
      This PR removes the crate and replaces uses of it in
      `collectives-westend`, the only place it is currently used.
      814b938d
    • Oliver Tale-Yazdi's avatar
      [FRAME] Make MQ pallet re-entrancy safe (#2356) · 7e7fe990
      Oliver Tale-Yazdi authored
      
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/2319
      
      Changes:
      - Ensure that only `enqueue_message(s)` is callable from within the
      message processor. This prevents messed up storage that can currently
      happen when the pallet is called into recursively.
      - Use `H256` instead of `[u8; 32]` for clearer API.
      
      ## Details
      
      The re-entracy check is done with the `environmental` crate by adding a
      `with_service_mutex(f)` function that runs the closure exclusively. This
      works since the MQ pallet is not instantiable.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      Co-authored-by: default avatarFrancisco Aguirre <[email protected]>
      7e7fe990
    • dzmitry-lahoda's avatar
      feat(xcm): support json schema (for CosmWasm VM support) (#1454) · 95c3ee10
      dzmitry-lahoda authored
      # Description
      
      - What does this PR do? Allows to generate JSON schema for subset of XCM
      in std builds
      - Why are these changes needed? To support XCM messages in CosmWasm
      contracts which require Schemars to generate contract clients
      - How were these changes implemented and what do they affect? We will
      use schema feature flag to build XCM pallet with JSON schema enabled
      
      # Checklist
      
      - [x] My PR includes a detailed description as outlined in the
      "Description" section above
      - [x] My PR follows the [labeling requirements](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)
      - [x] If this PR alters any external APIs or interfaces used by
      Polkadot, the corresponding Polkadot PR is ready as well
        as the corresponding Cumulus PR (optional)
      95c3ee10
    • dependabot[bot]'s avatar
      Bump rand from 0.7.3 to 0.8.5 (#2645) · 4d5832f7
      dependabot[bot] authored
      
      
      Bumps [rand](https://github.com/rust-random/rand) from 0.7.3 to 0.8.5.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-random/rand/blob/master/CHANGELOG.md">rand's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[0.8.5] - 2021-08-20</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix build on non-32/64-bit architectures (<a
      href="https://redirect.github.com/rust-random/rand/issues/1144">#1144</a>)</li>
      <li>Fix &quot;min_const_gen&quot; feature for <code>no_std</code> (<a
      href="https://redirect.github.com/rust-random/rand/issues/1173">#1173</a>)</li>
      <li>Check <code>libc::pthread_atfork</code> return value with panic on
      error (<a
      href="https://redirect.github.com/rust-random/rand/issues/1178">#1178</a>)</li>
      <li>More robust reseeding in case <code>ReseedingRng</code> is used from
      a fork handler (<a
      href="https://redirect.github.com/rust-random/rand/issues/1178">#1178</a>)</li>
      <li>Fix nightly: remove unused <code>slice_partition_at_index</code>
      feature (<a
      href="https://redirect.github.com/rust-random/rand/issues/1215">#1215</a>)</li>
      <li>Fix nightly + <code>simd_support</code>: update
      <code>packed_simd</code> (<a
      href="https://redirect.github.com/rust-random/rand/issues/1216">#1216</a>)</li>
      </ul>
      <h3>Rngs</h3>
      <ul>
      <li><code>StdRng</code>: Switch from HC128 to ChaCha12 on emscripten (<a
      href="https://redirect.github.com/rust-random/rand/issues/1142">#1142</a>).
      We now use ChaCha12 on all platforms.</li>
      </ul>
      <h3>Documentation</h3>
      <ul>
      <li>Added docs about rand's use of const generics (<a
      href="https://redirect.github.com/rust-random/rand/issues/1150">#1150</a>)</li>
      <li>Better random chars example (<a
      href="https://redirect.github.com/rust-random/rand/issues/1157">#1157</a>)</li>
      </ul>
      <h2>[0.8.4] - 2021-06-15</h2>
      <h3>Additions</h3>
      <ul>
      <li>Use const-generics to support arrays of all sizes (<a
      href="https://redirect.github.com/rust-random/rand/issues/1104">#1104</a>)</li>
      <li>Implement <code>Clone</code> and <code>Copy</code> for
      <code>Alphanumeric</code> (<a
      href="https://redirect.github.com/rust-random/rand/issues/1126">#1126</a>)</li>
      <li>Add <code>Distribution::map</code> to derive a distribution using a
      closure (<a
      href="https://redirect.github.com/rust-random/rand/issues/1129">#1129</a>)</li>
      <li>Add <code>Slice</code> distribution (<a
      href="https://redirect.github.com/rust-random/rand/issues/1107">#1107</a>)</li>
      <li>Add <code>DistString</code> trait with impls for
      <code>Standard</code> and <code>Alphanumeric</code> (<a
      href="https://redirect.github.com/rust-random/rand/issues/1133">#1133</a>)</li>
      </ul>
      <h3>Other</h3>
      <ul>
      <li>Reorder asserts in <code>Uniform</code> float distributions for
      easier debugging of non-finite arguments
      (<a
      href="https://redirect.github.com/rust-random/rand/issues/1094">#1094</a>,
      <a
      href="https://redirect.github.com/rust-random/rand/issues/1108">#1108</a>)</li>
      <li>Add range overflow check in <code>Uniform</code> float distributions
      (<a
      href="https://redirect.github.com/rust-random/rand/issues/1108">#1108</a>)</li>
      <li>Deprecate <code>rngs::adapter::ReadRng</code> (<a
      href="https://redirect.github.com/rust-random/rand/issues/1130">#1130</a>)</li>
      </ul>
      <h2>[0.8.3] - 2021-01-25</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix <code>no-std</code> + <code>alloc</code> build by gating
      <code>choose_multiple_weighted</code> on <code>std</code> (<a
      href="https://redirect.github.com/rust-random/rand/issues/1088">#1088</a>)</li>
      </ul>
      <h2>[0.8.2] - 2021-01-12</h2>
      <h3>Fixes</h3>
      <ul>
      <li>Fix panic in <code>UniformInt::sample_single_inclusive</code> and
      <code>Rng::gen_range</code> when
      providing a full integer range (eg <code>0..=MAX</code>) (<a
      href="https://redirect.github.com/rust-random/rand/issues/1087">#1087</a>)</li>
      </ul>
      <h2>[0.8.1] - 2020-12-31</h2>
      <h3>Other</h3>
      <ul>
      <li>Enable all stable features in the playground (<a
      href="https://redirect.github.com/rust-random/rand/issues/1081">#1081</a>)</li>
      </ul>
      <h2>[0.8.0] - 2020-12-18</h2>
      <h3>Platform support</h3>
      <ul>
      <li>The minimum supported Rust version is now 1.36 (<a
      href="https://redirect.github.com/rust-random/rand/issues/1011">#1011</a>)</li>
      <li><code>getrandom</code> updated to v0.2 (<a
      href="https://redirect.github.com/rust-random/rand/issues/1041">#1041</a>)</li>
      <li>Remove <code>wasm-bindgen</code> and <code>stdweb</code> feature
      flags. For details of WASM support,</li>
      </ul>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-random/rand/commit/937320cbfeebd4352a23086d9c6e68f067f74644"><code>937320c</code></a>
      Update CHANGELOG for 0.8.5 (<a
      href="https://redirect.github.com/rust-random/rand/issues/1221">#1221</a>)</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/2924af688d352b889322870d017356f12651866b"><code>2924af6</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-random/rand/issues/1183">#1183</a>
      from vks/fill-float-doc</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/dbbc1bf3176138c867f3d84c0c4d288119a5a84e"><code>dbbc1bf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-random/rand/issues/1218">#1218</a>
      from Will-Low/master</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/9f20df04d88698c38515833d6db62d7eb50d8b80"><code>9f20df0</code></a>
      Making distributions comparable by deriving PartialEq. Tests
      included</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/a407bdfa4563d0cfbf744049242926c8de079d3f"><code>a407bdf</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-random/rand/issues/1216">#1216</a>
      from rust-random/work5</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/d3ca11b0bcc1f42fe34ba4f90f99509b7eb4ff18"><code>d3ca11b</code></a>
      Update to packed_simd_2 0.3.7</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/fa04c15d0bb5842fdbdbb73d7a53ead36f3fcf52"><code>fa04c15</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-random/rand/issues/1215">#1215</a>
      from Lantern-chat/master</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/73f8ffd16379390e624ac53cd6882dd679dd9a6f"><code>73f8ffd</code></a>
      Remove unused <code>slice_partition_at_index</code> feature</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/8f372500f05dfadcff6c35e773e81029ab7debad"><code>8f37250</code></a>
      Merge pull request <a
      href="https://redirect.github.com/rust-random/rand/issues/1208">#1208</a>
      from newpavlov/rand_distr/fix_no_std</li>
      <li><a
      href="https://github.com/rust-random/rand/commit/9ef737ba5b814f6ab36cebafb59ad29885d68a05"><code>9ef737b</code></a>
      update changelog</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-random/rand/compare/0.7.3...0.8.5">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rand&package-manager=cargo&previous-version=0.7.3&new-version=0.8.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      4d5832f7
  7. Dec 06, 2023
    • Svyatoslav Nikolsky's avatar
      Added AllSiblingSystemParachains matcher to be used at a parachain level (#2422) · 0b3d0677
      Svyatoslav Nikolsky authored
      
      
      As suggested in this thread:
      https://github.com/polkadot-fellows/runtimes/pull/87#discussion_r1400237122
      
      We already have the `IsChildSystemParachain`, which may be used at relay
      chain, but it can't be used at a parachain level. So let's use
      `AllSiblingSystemParachains` for that. I was thinking about
      `AllSystemParachains`, but it may cause wrong impression that it can be
      used at a relay chain level.
      
      ---------
      
      Co-authored-by: default avatarjoe petrowski <[email protected]>
      0b3d0677
    • Branislav Kontur's avatar
      Bridges subtree update (#2602) · be500fc2
      Branislav Kontur authored
      ## Summary
      
      This PR aligns Rococo/Westend bridge with latest Bridges repo
      development:
      - https://github.com/paritytech/parity-bridges-common/pull/2727
      - https://github.com/paritytech/parity-bridges-common/pull/2728
      - https://github.com/paritytech/parity-bridges-common/pull/2729
      
      
      
      
      Part of: https://github.com/paritytech/parity-bridges-common/issues/2452
      be500fc2
    • Adrian Catangiu's avatar
      pallet-xcm: add new flexible `transfer_assets()` call/extrinsic (#2388) · e7651cf4
      Adrian Catangiu authored
      # Motivation (+testing)
      
      ### Enable easy `ForeignAssets` transfers using `pallet-xcm` 
      
      We had just previously added capabilities to teleport fees during
      reserve-based transfers, but what about reserve-transferring fees when
      needing to teleport some non-fee asset?
      
      This PR aligns everything under either explicit reserve-transfer,
      explicit teleport, or this new flexible `transfer_assets()` which can
      mix and match as needed with fewer artificial constraints imposed to the
      user.
      
      This will enable, for example, a (non-system) parachain to teleport
      their `ForeignAssets` assets to AssetHub while using DOT to pay fees.
      (the assets are teleported - as foreign assets should from their owner
      chain - while DOT used for fees can only be reserve-based transferred
      between said parachain and AssetHub).
      
      Added `xcm-emulator` tests for this scenario ^.
      
      # Description
      
      Reverts `(limited_)reserve_transfer_assets` to only allow reserve-based
      transfers for all `assets` including fees.
      
      Similarly `(limited_)teleport_assets` only allows teleports for all
      `assets` including fees.
          
      For complex combinations of asset transfers where assets and fees may
      have different reserves or different reserve/teleport trust
      configurations, users can use the newly added `transfer_assets()`
      extrinsic which is more flexible in allowing more complex scenarios.
      
      `assets` (excluding `fees`) must have same reserve location or otherwise
      be teleportable to `dest`.
      No limitations imposed on `fees`.
      
      - for local reserve: transfer assets to sovereign account of destination
      chain and forward a notification XCM to `dest` to mint and deposit
      reserve-based assets to `beneficiary`.
      - for destination reserve: burn local assets and forward a notification
      to `dest` chain to withdraw the reserve assets from this chain's
      sovereign account and deposit them to `beneficiary`.
      - for remote reserve: burn local assets, forward XCM to reserve chain to
      move reserves from this chain's SA to `dest` chain's SA, and forward
      another XCM to `dest` to mint and deposit reserve-based assets to
      `beneficiary`.
      - for teleports: burn local assets and forward XCM to `dest` chain to
      mint/teleport assets and deposit them to `beneficiary`.
      
      ## Review notes
      
      Only around 500 lines are prod code (see `pallet_xcm/src/lib.rs`), the
      rest of the PR is new tests and improving existing tests.
      
      ---------
      
      Co-authored-by: command-bot <>
      e7651cf4
    • dependabot[bot]'s avatar
      Bump parity-db from 0.4.10 to 0.4.12 (#2635) · 19bf94d6
      dependabot[bot] authored
      
      
      Bumps [parity-db](https://github.com/paritytech/parity-db) from 0.4.10
      to 0.4.12.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/paritytech/parity-db/blob/master/CHANGELOG.md">parity-db's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[v0.4.12] - 2023-10-12</h2>
      <ul>
      <li>CI for windows and macos. Also fixes access denied error on windows
      <a
      href="https://redirect.github.com/paritytech/parity-db/pull/222"><code>[#222](https://github.com/paritytech/parity-db/issues/222)</code></a></li>
      <li>Force alignment for all chunk buffers <a
      href="https://redirect.github.com/paritytech/parity-db/pull/225"><code>[#225](https://github.com/paritytech/parity-db/issues/225)</code></a></li>
      </ul>
      <h2>[v0.4.11] - 2023-09-13</h2>
      <ul>
      <li>Make <code>madvise_random</code> compatible with non-Unix OS <a
      href="https://redirect.github.com/paritytech/parity-db/pull/221"><code>[#221](https://github.com/paritytech/parity-db/issues/221)</code></a></li>
      <li>Explicit <code>funlock</code> <a
      href="https://redirect.github.com/paritytech/parity-db/pull/218"><code>[#218](https://github.com/paritytech/parity-db/issues/218)</code></a></li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/paritytech/parity-db/commit/47b6c98455f8875b6eeb980d35a2be62f64d074f"><code>47b6c98</code></a>
      Bump version</li>
      <li><a
      href="https://github.com/paritytech/parity-db/commit/ec686930169b84d21336bed6d6f05c787a17d61f"><code>ec68693</code></a>
      Force alignment for all chunk buffers (<a
      href="https://redirect.github.com/paritytech/parity-db/issues/225">#225</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-db/commit/4ac2aca38c6984f8a48080875590a687041a39d8"><code>4ac2aca</code></a>
      CI for windows and macos (<a
      href="https://redirect.github.com/paritytech/parity-db/issues/222">#222</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-db/commit/2c52598b9c53519b61cb078c81ea427b287558d7"><code>2c52598</code></a>
      Bump version</li>
      <li><a
      href="https://github.com/paritytech/parity-db/commit/f537334507bb357330753398868f040b8e9ff9d3"><code>f537334</code></a>
      Make <code>madvise_random</code> compatible with non-Unix OS (<a
      href="https://redirect.github.com/paritytech/parity-db/issues/221">#221</a>)</li>
      <li><a
      href="https://github.com/paritytech/parity-db/commit/8eae5d3e5e2a304052f7cca75eb249080f6a7790"><code>8eae5d3</code></a>
      Explicit funlock (<a
      href="https://redirect.github.com/paritytech/parity-db/issues/218">#218</a>)</li>
      <li>See full diff in <a
      href="https://github.com/paritytech/parity-db/compare/v0.4.10...v0.4.12">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=parity-db&package-manager=cargo&previous-version=0.4.10&new-version=0.4.12)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      19bf94d6
  8. Dec 05, 2023
    • dependabot[bot]'s avatar
      Bump tracing-core from 0.1.31 to 0.1.32 (#2618) · 333edb05
      dependabot[bot] authored
      
      
      Bumps [tracing-core](https://github.com/tokio-rs/tracing) from 0.1.31 to
      0.1.32.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/tokio-rs/tracing/releases">tracing-core's
      releases</a>.</em></p>
      <blockquote>
      <h2>tracing-core 0.1.32</h2>
      <h3>Documented</h3>
      <ul>
      <li>Fix typo in <code>field</code> docs (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2611">#2611</a>)</li>
      <li>Remove duplicate wording (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2674">#2674</a>)</li>
      </ul>
      <h3>Changed</h3>
      <ul>
      <li>Allow <code>ValueSet</code>s of any length (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2508">#2508</a>)</li>
      </ul>
      <p><a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2611">#2611</a>:
      <a
      href="https://redirect.github.com/tokio-rs/tracing/pull/2611">tokio-rs/tracing#2611</a>
      <a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2674">#2674</a>:
      <a
      href="https://redirect.github.com/tokio-rs/tracing/pull/2674">tokio-rs/tracing#2674</a>
      <a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2508">#2508</a>:
      <a
      href="https://redirect.github.com/tokio-rs/tracing/pull/2508">tokio-rs/tracing#2508</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/c4b2a56937dd40aaa2e2991636eca6748353201f"><code>c4b2a56</code></a>
      chore: prepare tracing-core 0.1.32 (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2754">#2754</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/2502f19d934b092fc01bb7493eacbb16b4038bf3"><code>2502f19</code></a>
      chore: prepare tracing-attributes 0.1.27 (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2756">#2756</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/90487620d8fd4b0a44e6a0385bda3643bf6f19a2"><code>9048762</code></a>
      Revert &quot;log: update to env_logger 0.10 to fix GHSA-g98v-hv3f-hcfr
      (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2740">#2740</a>)&quot;
      (#...</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/6ba5af2ce2a814fea521d2d0a5ea1e88d7b6011e"><code>6ba5af2</code></a>
      docs: remove mention of <code>Registration</code> on v0.1.x (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2753">#2753</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/11aac9a07c4aac35b12ea82d8a5b1cb00a118928"><code>11aac9a</code></a>
      log: deprecate <code>env_logger</code> in favor of
      <code>tracing_subscriber::fmt::Subscriber</code>...</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/2f27752a9912f03ed64e2b29e1ea06ebb4b09e83"><code>2f27752</code></a>
      chore: remove <code>env_logger</code> from <code>hyper</code>
      example</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/f96846d78a3f240a2c81636a7d6921e5d74ac79f"><code>f96846d</code></a>
      attributes: fix typo &quot;overriden&quot; =&gt; &quot;overridden&quot;
      (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2719">#2719</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/71b5b2c5792ee6cd4e98112a90f9fcd19dd1ddc0"><code>71b5b2c</code></a>
      subscriber: make <code>format::Writer::new()</code> public (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2680">#2680</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/f8c000202a30f8b9814b21a1e949ab35aeca5954"><code>f8c0002</code></a>
      attributes: fix clippy warning in attributes tests (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2742">#2742</a>)</li>
      <li><a
      href="https://github.com/tokio-rs/tracing/commit/60b2dc34662648b91d69b2fa51d18d3677ddbce7"><code>60b2dc3</code></a>
      journald: fix clippy <code>unwrap_or_default</code> warning (<a
      href="https://redirect.github.com/tokio-rs/tracing/issues/2742">#2742</a>)</li>
      <li>Additional commits viewable in <a
      href="https://github.com/tokio-rs/tracing/compare/tracing-core-0.1.31...tracing-core-0.1.32">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tracing-core&package-manager=cargo&previous-version=0.1.31&new-version=0.1.32)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      ---------
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      333edb05
    • dzmitry-lahoda's avatar
      chore: fixed std wasm build of xcm (#2535) · 0239cedd
      dzmitry-lahoda authored
      
      
      # Description
      
      just ensures
      
      ```sh
      cargo check --package staging-xcm  --no-default-features  --target wasm32-unknown-unknown --features=std
      ```
      
      work (for CosmWasm)
      
      # Checklist
      
      - [x] My PR includes a detailed description as outlined in the
      "Description" section above
      - [ ] My PR follows the [labeling requirements](CONTRIBUTING.md#Process)
      of this project (at minimum one label for `T`
        required)
      - [x] I have made corresponding changes to the documentation (if
      applicable)
      - [ ] I have added tests that prove my fix is effective or that my
      feature works (if applicable)
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      0239cedd
    • Branislav Kontur's avatar
      Bridges update subtree (#2625) · 9a111fdc
      Branislav Kontur authored
      9a111fdc
    • Marcin S.'s avatar
      PVF: Add Secure Validator Mode (#2486) · c046a9d5
      Marcin S. authored
      
      
      Co-authored-by: default avatarJavier Viola <[email protected]>
      c046a9d5
    • Marcin S.'s avatar
    • juangirini's avatar
      Move `developer-hub` to `polkadot-sdk-docs` (#2598) · a310df26
      juangirini authored
      
      
      This PR is a continuation of
      https://github.com/paritytech/polkadot-sdk/pull/2102 and part of an
      initiative started here https://hackmd.io/@romanp/rJ318ZCEp
      What has been done:
      - The content under `docs/*` (with the exception of `docs/mermaid`) has
      been moved to `docs/contributor/`
      - Developer Hub has been renamed to Polkadot SDK Docs, and the crate has
      been renamed from `developer-hub` to `polkadot-sdk-docs`
      - The content under `developer-hub/*` has been moved to `docs/sdk`
      
      ---
      Original PR https://github.com/paritytech/polkadot-sdk/pull/2565, it has
      been close due to too many rebase conflicts
      
      ---------
      
      Co-authored-by: default avatarSerban Iorga <[email protected]>
      Co-authored-by: default avatarChevdor <[email protected]>
      Co-authored-by: default avatarEgor_P <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      a310df26
  9. Dec 04, 2023
    • dependabot[bot]'s avatar
      Bump multihash from 0.17.0 to 0.18.1 (#2592) · 6d50cd43
      dependabot[bot] authored
      Bumps [multihash](https://github.com/multiformats/rust-multihash) from
      0.17.0 to 0.18.1.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/multiformats/rust-multihash/blob/master/CHANGELOG.md">multihash's
      changelog</a>.</em></p>
      <blockquote>
      <h2><a
      href="https://github.com/multiformats/rust-multihash/compare/v0.18.0...v0.18.1">v0.18.1</a>
      (2023-04-14)</h2>
      <h3>Bug Fixes</h3>
      <ul>
      <li>don't panic on non minimal varints (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/293">#293</a>)
      (<a
      href="https://github.com/multiformats/rust-multihash/commit/c3445fc5041b0fc573945321ebd4b0cdffe0daa5">c3445fc</a>),
      closes <a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/282">#282</a></li>
      </ul>
      <h2><a
      href="https://github.com/multiformats/rust-multihash/compare/v0.17.0...v0.18.0">0.18.0</a>
      (2022-12-06)</h2>
      <h3>
      
       BREAKING CHANGES</h3>
      <ul>
      <li>
      <p>update to Rust edition 2021</p>
      </li>
      <li>
      <p><code>Multihash::write()</code> returns bytes written</p>
      <p>Prior to this change it returned an empty tuple <code>()</code>, now
      it returns
      the bytes written.</p>
      </li>
      </ul>
      <h3>Features</h3>
      <ul>
      <li>add <code>encoded_len</code> and bytes written (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/252">#252</a>)
      (<a
      href="https://github.com/multiformats/rust-multihash/commit/b3cc43ecb6f9c59da774b094853d6542430d55ad">b3cc43e</a>)</li>
      </ul>
      <h3>Bug Fixes</h3>
      <ul>
      <li>remove Nix support (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/254">#254</a>)
      (<a
      href="https://github.com/multiformats/rust-multihash/commit/ebf57ddb82be2d2fd0a2f00666b0f888d4c78e1b">ebf57dd</a>),
      closes <a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/247">#247</a></li>
      <li>update to Rust edition 2021 (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/255">#255</a>)
      (<a
      href="https://github.com/multiformats/rust-multihash/commit/da53376e0d9cf2d82d6c0d10590a77991cb3a6b6">da53376</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/02c5c664a7e59f6ecf84e81276c4eb8bb65693d5"><code>02c5c66</code></a>
      chore: Release multihash version 0.18.1</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/d08a25d8d624f4a3afcad0ecf724f7d9a20b5e28"><code>d08a25d</code></a>
      chore: add 0.18.1 to changelog</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/c3445fc5041b0fc573945321ebd4b0cdffe0daa5"><code>c3445fc</code></a>
      fix: don't panic on non minimal varints (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/293">#293</a>)</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/f015e0a2e4f55742eca95ddbb5561d8c703d551f"><code>f015e0a</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/8651573323c4191931e12cf9f1ed5feabf5a4989"><code>8651573</code></a>
      Two small cleanups before the release (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/257">#257</a>)</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/048d2350b3fa3ac1fec59bbf8cd8063e00b13593"><code>048d235</code></a>
      chore: add v0.18 changelog (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/253">#253</a>)</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/da53376e0d9cf2d82d6c0d10590a77991cb3a6b6"><code>da53376</code></a>
      fix: update to Rust edition 2021 (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/255">#255</a>)</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/ebf57ddb82be2d2fd0a2f00666b0f888d4c78e1b"><code>ebf57dd</code></a>
      fix: remove Nix support (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/254">#254</a>)</li>
      <li><a
      href="https://github.com/multiformats/rust-multihash/commit/b3cc43ecb6f9c59da774b094853d6542430d55ad"><code>b3cc43e</code></a>
      feat: add <code>encoded_len</code> and bytes written (<a
      href="https://redirect.github.com/multiformats/rust-multihash/issues/252">#252</a>)</li>
      <li>See full diff in <a
      href="https://github.com/multiformats/rust-multihash/compare/v0.17.0...v0.18.1">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=multihash&package-manager=cargo&previous-version=0.17.0&new-version=0.18.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 <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      ---------
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      6d50cd43
  10. Dec 01, 2023
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 1 update (#2575) · 87a73e7a
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 1 update:
      [syn](https://github.com/dtolnay/syn).
      
      Updates `syn` from 2.0.38 to 2.0.39
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/dtolnay/syn/releases">syn's
      releases</a>.</em></p>
      <blockquote>
      <h2>2.0.39</h2>
      <ul>
      <li>Fix parsing of return expression in match guards (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1528">#1528</a>)</li>
      <li>Improve error message on labeled loop as value expression for break
      (<a
      href="https://redirect.github.com/dtolnay/syn/issues/1531">#1531</a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/dtolnay/syn/commit/924217c1734c085ee6cdb5e198d36d610c234313"><code>924217c</code></a>
      Release 2.0.39</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/95aeeb559866368d8b910d388c8e04b96083666a"><code>95aeeb5</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1531">#1531</a>
      from dtolnay/breaklabel</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/b88f86fae5c1ac284179181bf7a34549e6d96d7c"><code>b88f86f</code></a>
      Ignore single_element_loop clippy lint in test</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/a876185366557cb0e0e175c3be48721c8cc0d8e6"><code>a876185</code></a>
      Improve error on break followed by labeled loop</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/32ab9794d6b75248c1946ae18baab12a46137eb0"><code>32ab979</code></a>
      Add test of ambiguous label parsing in break</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/6f658f88a213e25b7ac7ec2dc77c537de679b745"><code>6f658f8</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1530">#1530</a>
      from dtolnay/canbeginexpr</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/20497e1a555812cfe05769b4d8c117c4e0e4edbd"><code>20497e1</code></a>
      More precise decision to parse expression after return keyword</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/c6a651aa12447d50c22db3189ef38cff90fc267b"><code>c6a651a</code></a>
      Update name of ExprReturn parse function to match variant name</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/c2745901009f7d65e7b708cd80031642038f765e"><code>c274590</code></a>
      Indicate that peek argument refers to syn::Ident</li>
      <li><a
      href="https://github.com/dtolnay/syn/commit/3e67cb0c660fc906770d212465652bfeb7a75727"><code>3e67cb0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/dtolnay/syn/issues/1529">#1529</a>
      from dtolnay/up</li>
      <li>Additional commits viewable in <a
      href="https://github.com/dtolnay/syn/compare/2.0.38...2.0.39">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=syn&package-manager=cargo&previous-version=2.0.38&new-version=2.0.39)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      87a73e7a
    • Davide Galassi's avatar
      Sassafras Consensus Pallet (#1577) · 095f4bd9
      Davide Galassi authored
      
      
      This PR introduces the pallet for Sassafras consensus.
      
      ## Non Goals
      
      The pallet delivers only the bare-bones and doesn't deliver support for
      auxiliary functionalities such as equivocation report and support for
      epoch change via session pallet.
      
      These functionalities were drafted in the [main
      PR](https://github.com/paritytech/polkadot-sdk/pull/1336), but IMO is
      better to introduce this auxiliary stuff in a follow up PR and after
      client code.
      
      ## Potential follow ups
      
      https://github.com/paritytech/polkadot-sdk/issues/2364
      
      ---------
      
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      Co-authored-by: default avatarAndré Silva <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      095f4bd9
    • dependabot[bot]'s avatar
      Bump proc-macro-crate from 1.3.1 to 2.0.0 (#2557) · 7f0beaf2
      dependabot[bot] authored
      
      
      Bumps [proc-macro-crate](https://github.com/bkchr/proc-macro-crate) from
      1.3.1 to 2.0.0.
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/bkchr/proc-macro-crate/releases">proc-macro-crate's
      releases</a>.</em></p>
      <blockquote>
      <h2>v2.0.0</h2>
      <h2>What's Changed</h2>
      <ul>
      <li>Release 2.0.0 by <a
      href="https://github.com/bkchr"><code>@​bkchr</code></a> in <a
      href="https://redirect.github.com/bkchr/proc-macro-crate/pull/39">bkchr/proc-macro-crate#39</a></li>
      </ul>
      <p><strong>Full Changelog</strong>: <a
      href="https://github.com/bkchr/proc-macro-crate/compare/v1.3.1...v2.0.0">https://github.com/bkchr/proc-macro-crate/compare/v1.3.1...v2.0.0</a></p>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/bkchr/proc-macro-crate/commit/cc100ed2bc1ac9bb81812fd435a43e2ef023f355"><code>cc100ed</code></a>
      Merge pull request <a
      href="https://redirect.github.com/bkchr/proc-macro-crate/issues/39">#39</a>
      from bkchr/bkchr-2.0.0</li>
      <li><a
      href="https://github.com/bkchr/proc-macro-crate/commit/39a7c1844fc4d73ef397a7e8d9419f1f3381aa44"><code>39a7c18</code></a>
      Release 2.0.0</li>
      <li>See full diff in <a
      href="https://github.com/bkchr/proc-macro-crate/compare/v1.3.1...v2.0.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=proc-macro-crate&package-manager=cargo&previous-version=1.3.1&new-version=2.0.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
      
      Dependabot will resolve any conflicts with this PR as long as you don't
      alter it yourself. You can also trigger a rebase manually by commenting
      `@dependabot rebase`.
      
      [//]: # (dependabot-automerge-start)
      [//]: # (dependabot-automerge-end)
      
      ---
      
      <details>
      <summary>Dependabot commands and options</summary>
      <br />
      
      You can trigger Dependabot actions by commenting on this PR:
      - `@dependabot rebase` will rebase this PR
      - `@dependabot recreate` will recreate this PR, overwriting any edits
      that have been made to it
      - `@dependabot merge` will merge this PR after your CI passes on it
      - `@dependabot squash and merge` will squash and merge this PR after
      your CI passes on it
      - `@dependabot cancel merge` will cancel a previously requested merge
      and block automerging
      - `@dependabot reopen` will reopen this PR if it is closed
      - `@dependabot close` will close this PR and stop Dependabot recreating
      it. You can achieve the same result by closing it manually
      - `@dependabot show <dependency name> ignore conditions` will show all
      of the ignore conditions of the specified dependency
      - `@dependabot ignore <dependency name> major version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's major version (unless you unignore this specific
      dependency's major version or upgrade to it yourself)
      - `@dependabot ignore <dependency name> minor version` will close this
      group update PR and stop Dependabot creating any more for the specific
      dependency's minor version (unless you unignore this specific
      dependency's minor version or upgrade to it yourself)
      - `@dependabot ignore <dependency name>` will close this group update PR
      and stop Dependabot creating any more for the specific dependency
      (unless you unignore this specific dependency or upgrade to it yourself)
      - `@dependabot unignore <dependency name>` will remove all of the ignore
      conditions of the specified dependency
      - `@dependabot unignore <dependency name> <ignore condition>` will
      remove the ignore condition of the specified dependency and ignore
      conditions
      
      
      </details>
      
      Signed-off-by: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      7f0beaf2
  11. Nov 30, 2023
    • asynchronous rob's avatar
      Remove dependency on rand's SliceRandom shuffle implementation in gossip-support (#2555) · 1f2ccaea
      asynchronous rob authored
      In gossip-support, we shuffled the list of authorities using the
      `rand::seq::SliceRandom::shuffle`. This function's behavior is
      unspecified beyond being `O(n)` and could change in the future, leading
      to network issues between nodes using different shuffling algorithms. In
      practice, the implementation was a Fisher-Yates shuffle. This PR
      replaces the call with a re-implementation of Fisher-Yates and adds a
      test to ensure the behavior is the same between the two at the moment.
      1f2ccaea
    • dependabot[bot]'s avatar
      Bump the known_good_semver group with 2 updates (#2570) · 6742aba0
      dependabot[bot] authored
      
      
      Bumps the known_good_semver group with 2 updates:
      [serde](https://github.com/serde-rs/serde) and
      [clap](https://github.com/clap-rs/clap).
      
      Updates `serde` from 1.0.188 to 1.0.193
      <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.193</h2>
      <ul>
      <li>Fix field names used for the deserialization of
      <code>RangeFrom</code> and <code>RangeTo</code> (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2653">#2653</a>,
      <a
      href="https://redirect.github.com/serde-rs/serde/issues/2654">#2654</a>,
      <a
      href="https://redirect.github.com/serde-rs/serde/issues/2655">#2655</a>,
      thanks <a
      href="https://github.com/emilbonnek"><code>@​emilbonnek</code></a>)</li>
      </ul>
      <h2>v1.0.192</h2>
      <ul>
      <li>Allow internal tag field in untagged variant (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2646">#2646</a>,
      thanks <a
      href="https://github.com/robsdedude"><code>@​robsdedude</code></a>)</li>
      </ul>
      <h2>v1.0.191</h2>
      <ul>
      <li>Documentation improvements</li>
      </ul>
      <h2>v1.0.190</h2>
      <ul>
      <li>Preserve NaN sign when deserializing f32 from f64 or vice versa (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2637">#2637</a>)</li>
      </ul>
      <h2>v1.0.189</h2>
      <ul>
      <li>Fix &quot;cannot infer type&quot; error when internally tagged enum
      contains untagged variant (<a
      href="https://redirect.github.com/serde-rs/serde/issues/2613">#2613</a>,
      thanks <a href="https://github.com/ahl"><code>@​ahl</code></a>)</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/serde-rs/serde/commit/44613c7d0190dbb5ecd2d5ec19c636f45b7488cc"><code>44613c7</code></a>
      Release 1.0.193</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/c706281df3c8d50dba1763f19c856df2746eba6c"><code>c706281</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2655">#2655</a>
      from dtolnay/rangestartend</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/65d75b8fe3105f00ab2e01537d568d4587167582"><code>65d75b8</code></a>
      Add RangeFrom and RangeTo tests</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/332b0cba40bcbcc7a6b23a9706277c54791a9856"><code>332b0cb</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2654">#2654</a>
      from dtolnay/rangestartend</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/8c4af412969086bc8f54fdc2a079d373632e0a03"><code>8c4af41</code></a>
      Fix more RangeFrom / RangeEnd mixups</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/24a78f071b22ae491eec4127be696ac255b9b5d3"><code>24a78f0</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2653">#2653</a>
      from emilbonnek/fix/range-to-from-de-mixup</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/c91c33436d7aaef7472ebc18b734ddc9b5bd11fa"><code>c91c334</code></a>
      Fix Range{From,To} deserialize mixup</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/2083f43a287cac8302009fda5bbe41518dd83209"><code>2083f43</code></a>
      Update ui test suite to nightly-2023-11-19</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/4676abdc9e6bbbddfb33a00ce8d7e81e92f01120"><code>4676abd</code></a>
      Release 1.0.192</li>
      <li><a
      href="https://github.com/serde-rs/serde/commit/35700eb23e21d8cb198ef4a422ddad13b855ce3b"><code>35700eb</code></a>
      Merge pull request <a
      href="https://redirect.github.com/serde-rs/serde/issues/2646">#2646</a>
      from robsdedude/fix/2643/allow-tag-field-in-untagged</li>
      <li>Additional commits viewable in <a
      href="https://github.com/serde-rs/serde/compare/v1.0.188...v1.0.193">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      Updates `clap` from 4.4.6 to 4.4.10
      <details>
      <summary>Release notes</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/releases">clap's
      releases</a>.</em></p>
      <blockquote>
      <h2>v4.4.10</h2>
      <h2>[4.4.10] - 2023-11-28</h2>
      <h3>Documentation</h3>
      <ul>
      <li>Link out to changelog</li>
      <li>Cross link derive's attribute reference to derive tutorial</li>
      </ul>
      <h2>v4.4.9</h2>
      <h2>[4.4.9] - 2023-11-27</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(help)</em> Show correct <code>Command::about</code> under
      flattened headings</li>
      <li><em>(help)</em> Respect <code>hide</code> when flattening
      subcommands</li>
      </ul>
      <h2>v4.4.8</h2>
      <h2>[4.4.8] - 2023-11-10</h2>
      <h3>Features</h3>
      <ul>
      <li>Add <code>Command::flatten_help</code> to allow <code>git stash
      -h</code> like help for subcommands</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/clap-rs/clap/blob/master/CHANGELOG.md">clap's
      changelog</a>.</em></p>
      <blockquote>
      <h2>[4.4.10] - 2023-11-28</h2>
      <h3>Documentation</h3>
      <ul>
      <li>Link out to changelog</li>
      <li>Cross link derive's attribute reference to derive tutorial</li>
      </ul>
      <h2>[4.4.9] - 2023-11-27</h2>
      <h3>Fixes</h3>
      <ul>
      <li><em>(help)</em> Show correct <code>Command::about</code> under
      flattened headings</li>
      <li><em>(help)</em> Respect <code>hide</code> when flattening
      subcommands</li>
      </ul>
      <h2>[4.4.8] - 2023-11-10</h2>
      <h3>Features</h3>
      <ul>
      <li>Add <code>Command::flatten_help</code> to allow <code>git stash
      -h</code> like help for subcommands</li>
      </ul>
      <h2>[4.4.7] - 2023-10-24</h2>
      <h3>Performance</h3>
      <ul>
      <li>Reduced code size</li>
      </ul>
      </blockquote>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c0a1814d3c1d93c18faaedc95fd251846e47f4fe"><code>c0a1814</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c83e681e20b05f7e128088f47f8fcfc44e8ea166"><code>c83e681</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/91bcac4ca9d442786f554abeb7b1ed6d7a464a42"><code>91bcac4</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5230">#5230</a>
      from epage/migrate</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/030d87505d150345ddd425c1df21c034d2ae7748"><code>030d875</code></a>
      docs: Link out to the changelog at the relevant tag</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b661a9de04aebd1adaaafdbf7e470f07a8d8a36d"><code>b661a9d</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5229">#5229</a>
      from epage/derive</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/a08587b00e347492165ded1415bad6ab339e9f0b"><code>a08587b</code></a>
      docs(derive): Link to tutorial sections for attributes</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/21b671f689bc0b8d790dc8c42902c22822bf6f82"><code>21b671f</code></a>
      chore: Release</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/93ba76dbaaf9136313a4fe2978693cc39fa467dd"><code>93ba76d</code></a>
      docs: Update changelog</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/c1c55b30d853446e2cab78664c0d22c1b77d4dfd"><code>c1c55b3</code></a>
      Merge pull request <a
      href="https://redirect.github.com/clap-rs/clap/issues/5228">#5228</a>
      from epage/flat</li>
      <li><a
      href="https://github.com/clap-rs/clap/commit/b13f6d98622b80ba30e63c2c6e65d218cc8a4de3"><code>b13f6d9</code></a>
      fix(help): Hide 'help' if only flattened subcommand</li>
      <li>Additional commits viewable in <a
      href="https://github.com/clap-rs/clap/compare/v4.4.6...v4.4.10">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: default avatardependabot[bot] <[email protected]>
      Co-authored-by: default avatardependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
      6742aba0
    • Sebastian Kunert's avatar
      PoV Reclaim (Clawback) Node Side (#1462) · 9a650c46
      Sebastian Kunert authored
      This PR provides the infrastructure for the pov-reclaim mechanism
      discussed in #209. The goal is to provide the current proof size to the
      runtime so it can be used to reclaim storage weight.
      
      ## New Host Function
      - A new host function is provided
      [here](https://github.com/skunert/polkadot-sdk/blob/5b317fda
      
      /cumulus/primitives/pov-reclaim/src/lib.rs#L23).
      It returns the size of the current proof size to the runtime. If
      recording is not enabled, it returns 0.
      
      ## Implementation Overview
      - Implement option to enable proof recording during import in the
      client. This is currently enabled for `polkadot-parachain`,
      `parachain-template` and the cumulus test node.
      - Make the proof recorder ready for no-std. It was previously only
      enabled for std environments, but we need to record the proof size in
      `validate_block` too.
      - Provide a recorder implementation that only the records the size of
      incoming nodes and does not store the nodes itself.
      - Fix benchmarks that were broken by async backing changes
      - Provide new externalities extension that is registered by default if
      proof recording is enabled.
      - I think we should discuss the naming, pov-reclaim was more intuitive
      to me, but we could also go with clawback like in the issue.
      
      ## Impact of proof recording during import
      With proof recording: 6.3058 Kelem/s
      Without proof recording: 6.3427 Kelem/s
      
      The measured impact on the importing performance is quite low on my
      machine using the block import benchmark. With proof recording I am
      seeing a performance hit of 0.585%.
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      9a650c46
    • Kian Paimani's avatar
      Introduce Polkadot-Sdk `developer_hub` (#2102) · eaf1bc56
      Kian Paimani authored
      
      
      This PR introduces the new crate `developer_hub` into the polkadot-sdk
      repo. The vision for the developer-hub crate is detailed in [this
      document](https://docs.google.com/document/d/1XLLkFNE8v8HLvZpI2rzsa8N2IN1FcKntc8q-Sc4xBAk/edit?usp=sharing).
      
      <img width="1128" alt="Screenshot 2023-11-02 at 10 45 48"
      src="https://github.com/paritytech/polkadot-sdk/assets/5588131/1e12b60f-fef5-42c4-8503-a3ba234077c3">
      
      
      Other than adding the new crate, it also does the following: 
      
      * Remove the `substrate` crate, as there is now a unique umbrella crate
      for multiple things in `developer_hub::polkadot_sdk`.
      * (backport candidate) A minor change to `frame-support` macros that
      allows `T::RuntimeOrigin` to also be acceptable as the origin type.
      * (backport candidate) A minor change to `frame-system` that allows us
      to deposit events at genesis because now the real genesis config is
      generated via wasm, and we can safely assume `cfg!(feature = "std")`
      means only testing. related to #62.
      * (backport candidate) Introduces a small `read_events_for_pallet` to
      `frame_system` for easier event reading in tests.
      * From https://github.com/paritytech/polkadot-sdk-docs/issues/31, it
      takes action on improving the `pallet::call` docs.
      * From https://github.com/paritytech/polkadot-sdk-docs/issues/31, it
      takes action on improving the `UncheckedExtrinsic` docs.
      
      ## Way Forward
      
      First, a version of this is deployed temporarily
      [here](https://blog.kianenigma.nl/polkadot-sdk/developer_hub/index.html).
      I will keep it up to date on a daily basis.
      
      ### This Pull Request
      
      I see two ways forward: 
      
      1. We acknowledge that everything in `developer-hub` is going to be WIP,
      and merge this asap. We should not yet use links to this crate anywhere.
      2. We make this be the feature branch, make PRs against this, and either
      gradually backport it, or only merge to master once it is done.
      
      I am personally in favor of option 1. If we stick to option 2, we need a
      better way to deploy a staging version of this to gh-pages.
      
      ### Issue Tracking
      
      The main issues related to the future of `developer_hub` are: 
      
      - https://github.com/paritytech/polkadot-sdk-docs/issues/31
      - https://github.com/paritytech/polkadot-sdk-docs/issues/4
      - https://github.com/paritytech/polkadot-sdk-docs/issues/26 
      - https://github.com/paritytech/polkadot-sdk-docs/issues/32
      - https://github.com/paritytech/polkadot-sdk-docs/issues/36
      
      
      ### After This Pull Request
      
      - [ ] create a redirect for
      https://paritytech.github.io/polkadot-sdk/master/substrate/
      - [x] analytics 
      - [ ] link checker
      - [ ] the matter of publishing, and how all of these relative links for
      when we do, that is still an open question. There is section on this in
      the landing page.
      - [ ] updated https://paritytech.github.io/
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarJuan Girini <[email protected]>
      Co-authored-by: default avatarbader y <[email protected]>
      Co-authored-by: default avatarSebastian Kunert <[email protected]>
      Co-authored-by: default avatarJames Wilson <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      eaf1bc56
  12. Nov 29, 2023
    • PG Herveou's avatar
      Contracts: use compiled rust tests (#2347) · 2135fa87
      PG Herveou authored
      
      
      see #2189
      
      This PR does the following:
      - Bring the user api functions into a new pallet-contracts-uapi (They
      are currently defined in ink!
      [here])(https://github.com/paritytech/ink/blob/master/crates/env/src/engine/on_chain/ext.rs)
      - Add older api versions and unstable to the user api trait.
      - Remove pallet-contracts-primitives and bring the types it defined in
      uapi / pallet-contracts
      - Add the infrastructure to build fixtures from Rust files and test it
      works by replacing `dummy.wat` and `call.wat`
      - Move all the doc from wasm/runtime.rs to pallet-contracts-uapi.
      
      This will be done in a follow up:
      - convert the rest of the test from .wat to rust
      - bring risc-v uapi up to date with wasm
      - finalize the uapi host fns, making sure everything is codegen from the
      source host fns in pallet-contracts
      
      ---------
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      2135fa87
    • dependabot[bot]'s avatar
      Bump fs4 from 0.6.6 to 0.7.0 (#1844) · 8f03570a
      dependabot[bot] authored
      8f03570a