Skip to content
  1. Nov 30, 2023
    • 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
    • Aaro Altonen's avatar
      Register metrics for the notification handles (#2562) · 180a6ad9
      Aaro Altonen authored
      Add metrics for notification handles so substream events are correctly
      reported to Prometheus
      180a6ad9
  2. 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
    • Michal Kucharczyk's avatar
      state-db: log_target usage fixed (#2547) · c68ce6e1
      Michal Kucharczyk authored
      Use `LOG_TARGET/LOG_TARGET_PIN` in logs.
      c68ce6e1
    • Alexandru Vasile's avatar
      chainHead: Backport error codes from spec (#2539) · ecdf3439
      Alexandru Vasile authored
      
      
      This PR backports the error codes from the spec.
      
      This relies on two specs for defining the error codes:
      - Our rpc-spec-v2 https://github.com/paritytech/json-rpc-interface-spec.
      - JSON-RPC spec https://www.jsonrpc.org/specification#error_object.
      
      To better describe the error codes, they are divided into two separate
      modules `rpc_spec_v2` and `json_rpc_spec` respectively.
      
      The `InvalidSubscriptionID` and `FetchBlockHeader` are merged into the
      JSON-RPC spec `INTERNAL_ERROR`.
      While the other error codes are adjusted from spec.
      
      Errors that are currently in use:
      - -32801 block hash not reported by chainHead_follow or block hash has
      been unpinned
      - -32802 chainHead_follow started with withRuntime == false
      - -32803 chainHead_follow did not generate an
      operationWaitingForContinue event
      
      The following are errors defined in the [JSON-RPC
      spec](https://www.jsonrpc.org/specification#error_object):
      - -32602 The provided parameter isn't one of the expected values, has
      different format or is missing
      - -32603 Internal server error
      
      Note: Error `-32801` must be introduced and generated by the outstanding
      https://github.com/paritytech/polkadot-sdk/issues/1505
      
      Closes: https://github.com/paritytech/polkadot-sdk/issues/2530
      
      ---------
      
      Signed-off-by: default avatarAlexandru Vasile <[email protected]>
      ecdf3439
    • Bastian Köcher's avatar
      sp-api: Sprinkle some `automatically_derived` attributes · 08f29af6
      Bastian Köcher authored
      This attribute is informing tooling that the code is automatically
      derived and thus, should not enable any linting.
      08f29af6
    • dependabot[bot]'s avatar
      Bump fs4 from 0.6.6 to 0.7.0 (#1844) · 8f03570a
      dependabot[bot] authored
      8f03570a
    • yjh's avatar
      Improve `CodeExecutor` (#2358) · f2fe6a4c
      yjh authored
      
      
      Since `sp-state-machine` and `GenesisConfigBuilderRuntimeCaller` always
      set `use_native` to be false.
      We should remove this param and make `NativeElseWasmExecutor` behave
      like its name.
      It could make the above components use the correct execution strategy.
      
      Maybe polkadot do not need about `NativeElseWasmExecutor` anymore. But
      it is still needed by other chains and it's useful for debugging.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      f2fe6a4c
    • Michal Kucharczyk's avatar
      substrate-node: `NativeElseWasmExecutor` is no longer used (#2521) · 39d6c95c
      Michal Kucharczyk authored
      This PR removes `NativeElseWasmExecutor` usage from substrate node.
      Instead [`WasmExecutor<(sp_io::SubstrateHostFunctions,
      sp_statement_store::runtime_api::HostFunctions)>`](https://github.com/paritytech/polkadot-sdk/blob/49a41ab3
      
      /substrate/bin/node/executor/src/lib.rs#L26)
      is used.
      
      Related to #2358.
      
      ---------
      
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      39d6c95c
    • Julian Eager's avatar
      Enable parallel key scraping (#1985) · 1d5d4a48
      Julian Eager authored
      
      
      closes #174
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      1d5d4a48
  3. Nov 28, 2023
    • Sebastian Kunert's avatar
      Remove long deprecated `AllPalletsWithoutSystemReversed` (#2509) · 82017934
      Sebastian Kunert authored
      Remove deprecated `AllPalletsXY` types.
      
      They have been deprecated for nearly 1.5 years now, I think its fine to
      remove them.
      If anyone feels like we should first put a date on the deprecation as
      stated in the deprecation guideline, feel free to speak up. To me it
      looks like this has been forgotten and can be directly removed.
      82017934
    • Aaro Altonen's avatar
      Rework the event system of `sc-network` (#1370) · e71c484d
      Aaro Altonen authored
      
      
      This commit introduces a new concept called `NotificationService` which
      allows Polkadot protocols to communicate with the underlying
      notification protocol implementation directly, without routing events
      through `NetworkWorker`. This implies that each protocol has its own
      service which it uses to communicate with remote peers and that each
      `NotificationService` is unique with respect to the underlying
      notification protocol, meaning `NotificationService` for the transaction
      protocol can only be used to send and receive transaction-related
      notifications.
      
      The `NotificationService` concept introduces two additional benefits:
        * allow protocols to start using custom handshakes
        * allow protocols to accept/reject inbound peers
      
      Previously the validation of inbound connections was solely the
      responsibility of `ProtocolController`. This caused issues with light
      peers and `SyncingEngine` as `ProtocolController` would accept more
      peers than `SyncingEngine` could accept which caused peers to have
      differing views of their own states. `SyncingEngine` would reject excess
      peers but these rejections were not properly communicated to those peers
      causing them to assume that they were accepted.
      
      With `NotificationService`, the local handshake is not sent to remote
      peer if peer is rejected which allows it to detect that it was rejected.
      
      This commit also deprecates the use of `NetworkEventStream` for all
      notification-related events and going forward only DHT events are
      provided through `NetworkEventStream`. If protocols wish to follow each
      other's events, they must introduce additional abtractions, as is done
      for GRANDPA and transactions protocols by following the syncing protocol
      through `SyncEventStream`.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/512
      Fixes https://github.com/paritytech/polkadot-sdk/issues/514
      Fixes https://github.com/paritytech/polkadot-sdk/issues/515
      Fixes https://github.com/paritytech/polkadot-sdk/issues/554
      Fixes https://github.com/paritytech/polkadot-sdk/issues/556
      
      ---
      These changes are transferred from
      https://github.com/paritytech/substrate/pull/14197 but there are no
      functional changes compared to that PR
      
      ---------
      
      Co-authored-by: default avatarDmitry Markin <[email protected]>
      Co-authored-by: default avatarAlexandru Vasile <[email protected]>
      e71c484d
    • s0me0ne-unkn0wn's avatar
    • Koute's avatar
      Remove `wasm-builder`'s README (#2525) · f01781a9
      Koute authored
      Followup of https://github.com/paritytech/polkadot-sdk/pull/2217
      
      This PR deletes the README of the `wasm-builder` crate and moves its
      docs back into the rustdoc, [as requested
      here](https://github.com/paritytech/polkadot-sdk/pull/2217#discussion_r1406401175).
      (:
      f01781a9
    • gupnik's avatar
      Moves all test runtimes to use `derive_impl` (#2409) · cd8741c8
      gupnik authored
      
      
      Step in https://github.com/paritytech/polkadot-sdk/issues/171
      
      This PR adds `derive_impl` on all `frame_system` config impls for mock
      runtimes. The overridden configs are maintained as of now to ensure
      minimal changes.
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      cd8741c8
    • Liam Aharon's avatar
      Set `frame_system::LastRuntimeUpgrade` after running `try-runtime` migrations (#2515) · 6dc3e6c9
      Liam Aharon authored
      Sets `frame_system::LastRuntimeUpgrade` after running try-runtime
      migrations to better emulate real behavior.
      
      This fixes an issue where migrations using the spec version to determine
      whether to execute can incorrectly fail idempotency checks.
      
      @s0me0ne-unkn0wn noticed this issue with the session key migration
      introduced in https://github.com/paritytech/polkadot-sdk/pull/2265.
      6dc3e6c9
    • Ross Bulat's avatar
      Pools: Add ability to configure commission claiming permissions (#2474) · 75062717
      Ross Bulat authored
      Addresses #409.
      
      This request has been raised by multiple community members - the ability
      for the nomination pool root role to configure permissionless commission
      claiming:
      
      > Would it be possible to have a claim_commission_other extrinsic for
      claiming commission of nomination pools permissionless?
      
      This PR does not quite introduce this additional call, but amends
      `do_claim_commission` to check a new `claim_permission` field in the
      `Commission` struct, configured by an enum:
      
      ```
      enum CommissionClaimPermission {
         Permissionless,
         Account(AccountId),
      }
      ```
      This can be optionally set in a bonded pool's
      `commission.claim_permission` field:
      
      ```
      struct BondedPool {
         commission: {
            <snip>
            claim_permission: Option<CommissionClaimPermission<T::AccountId>>,
         },
         <snip>
      }
      ```
      
      This is a new field and requires a migration to add it to existing
      pools. This will be `None` on pool creation, falling back to the `root`
      role having sole access to claim commission if it is not set; this is
      the behaviour as it is today. Once set, the field _can_ be set to `None`
      again.
      
      #### Changes
      - [x] Add `commision.claim_permission` field.
      - [x] Add `can_claim_commission` and amend `do_claim_commission`.
      - [x] Add `set_commission_claim_permission` call.
      - [x] Test to cover new configs and call.
      - [x] Add and amend benchmarks.
      - [x] Generate new weights + slot into call
      `set_commission_claim_permission`.
      - [x] Add migration to introduce `commission.claim_permission`, bump
      storage version.
      - [x] Update Westend weights.
      - [x] Migration working.
      
      ---------
      
      Co-authored-by: command-bot <>
      75062717
  4. Nov 27, 2023
    • Ross Bulat's avatar
      Staking: `chill_other` takes stash instead of controller (#2501) · 838a534d
      Ross Bulat authored
      
      
      The `chill_other` call is the only staking call that explicitly requires
      `controller` in its signature. This PR changes the controller arg to be
      the stash instead, with `StakingLedger` then fetching the controller
      from storage.
      
      This is not a breaking change per se - the call types do not change, but
      is noteworthy as UIs will now want to pass the stash account into
      `chill_other` calls, & metadata will reflect this.
      
      Note: This is very low impact. `chill_other` has [hardly ever been
      used](https://polkadot.subscan.io/extrinsic?address=&module=staking&call=chill_other&result=all&signedChecked=signed%20only&startDate=&endDate=&startBlock=&timeType=date&version=9431&endBlock=)
      on Polkadot - notwithstanding the one called 11 days ago at block
      18177457 that was a part of test I did, the last call was made 493 days
      ago. Only 2 calls have ever been successful.
      
      Addresses controller deprecation #2500
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      838a534d
    • Koute's avatar
      Build the standard library crates when building the runtimes (#2217) · 2610450a
      Koute authored
      
      
      Our executor currently only supports the WASM MVP feature set, however
      nowadays when compiling WASM the Rust compiler has more features enabled
      by default.
      
      We do set the `-C target-cpu=mvp` flag to make sure that *our* code gets
      compiled in a way that is compatible with our executor, however this
      doesn't affect Rust's standard library crates (`std`, `core` and
      `alloc`) which are by default precompiled and still can make use of
      these extra features.
      
      So in this PR we force the compiler to also compile the standard library
      crates for us to make sure that they also only use the MVP features.
      
      I've added the `WASM_BUILD_STD` environment variable which can be used
      to disable this behavior if set to `0`.
      
      Unfortunately this *will* slow down the compile times when building
      runtimes, but there isn't much that we can do about that.
      
      Fixes https://github.com/paritytech/polkadot-sdk/issues/1755
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      2610450a
  5. Nov 25, 2023
  6. Nov 24, 2023
  7. Nov 23, 2023
    • Ross Bulat's avatar
      Amend staking docs to account for state of controller deprecation (#2451) · c29b74dc
      Ross Bulat authored
      Amends some staking pallet docs, and deprecation comment, to adjust to
      the latest controller deprecation state.
      
      Note, do we need the `README.md` file, which is a duplicate of the
      pallet docs? Docs would be easier to maintain, and less ambiguity for
      devs to refer to, if we had one source of truth in the generated pallet
      docs.
      c29b74dc
    • Bastian Köcher's avatar
      sp-api: Move macro related re-exports to `__private` (#2446) · 21f1811c
      Bastian Köcher authored
      This moves the macro related re-exports to `__private` to make it more
      obvious for downstream users that they are using an internal api.
      
      ---------
      
      Co-authored-by: command-bot <>
      21f1811c
    • Liam Aharon's avatar
      CI: Disable runtime upgrade spec name check on Westend Asset Hub and fix... · 12062f6a
      Liam Aharon authored
      CI: Disable runtime upgrade spec name check on Westend Asset Hub and fix Staking pallet migration (#2447)
      
      Westend Asset Hub currently failing because the spec name is being
      changed next runtime upgrade
      (https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/4413125).
      
      This also fixes an idempotency issue with a staking pallet migration.
      Similar issues will be caught automatically now that we've also updated
      to try-runtime-cli v0.5.0 which checks for idempotency issues.
      
      This also enables try-state checks running in the CI.
      12062f6a
  8. Nov 22, 2023
    • Joshy Orndorff's avatar
      Remove `#[macro_use]` annotation from `mod service` in all nodes. (#2456) · ec189333
      Joshy Orndorff authored
      
      
      This PR removes `#[macro_use]` from the service module in each of the
      Substrate nodes in the repo.
      
      * Parachain Template
      * Polkadot Parachain
      * Minimal Node
      * Node Template
      * Kitchen Sink Node
      
      IDK why this annotation was present, maybe from when we had the
      `new_partial!` macro?
      
      ---------
      
      Co-authored-by: default avatarJoshy Orndorff <[email protected]>
      ec189333
    • James Wilson's avatar
      Make TypeInfo for SkipCheckIfFeeless transparent, too (#2449) · 0d6dcb3f
      James Wilson authored
      
      
      The `SkipCheckifFeeless::IDENTIFIER` became transparent (ie was whatever
      the inner signed ext was). This PR just makes the `TypeInfo` transparent
      too, so that libraries that use said info to decode the data (ie subxt)
      can behave identically whether or not the `SkipCheckifFeeless` wrapper
      is used or not.
      
      ---------
      
      Co-authored-by: default avatarOliver Tale-Yazdi <[email protected]>
      0d6dcb3f
    • gupnik's avatar
      Fixes import path in benchmark macro (#2437) · 98f9e2ea
      gupnik authored
      Fully-qualified path was not being used in benchmark macro for one of
      the cases. This PR fixes this and removes the unnecessary import in a
      couple of files, which I believe was done to fix this issue.
      98f9e2ea
    • Ross Bulat's avatar
      Deprecate `RewardDestination::Controller` (#2380) · 7a32f4be
      Ross Bulat authored
      
      
      Deprecates `RewardDestination::Controller` variant.
      
      - [x] `RewardDestination::Controller` annotated with `#[deprecated]`.
      - [x] `Controller` variant is now handled the same way as `Stash` in
      `payout_stakers`.
      - [x] `set_payee` errors if `RewardDestination::Controller` is provided.
      - [x] Added `update_payee` call to lazily migrate
      `RewardDestination::Controller` `Payee` storage entries to
      `RewardDestination::Account(controller)` .
      - [x] `payout_stakers_dead_controller` has been removed from benches &
      weights - was not used.
      - [x] Tests no longer use `RewardDestination::Controller`.
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarGonçalo Pestana <[email protected]>
      Co-authored-by: default avatargeorgepisaltu <[email protected]>
      7a32f4be
  9. Nov 21, 2023
  10. Nov 20, 2023
  11. Nov 19, 2023
  12. Nov 18, 2023
    • dependabot[bot]'s avatar
      Bump secp256k1 from 0.24.3 to 0.28.0 (#2357) · 794ee980
      dependabot[bot] authored
      
      
      Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from
      0.24.3 to 0.28.0.
      <details>
      <summary>Changelog</summary>
      <p><em>Sourced from <a
      href="https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md">secp256k1's
      changelog</a>.</em></p>
      <blockquote>
      <h1>0.28.0 - 2023-10-23</h1>
      <ul>
      <li>Add bindings to the ElligatorSwift implementation <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/627">#627</a></li>
      <li>Depend on recent release of <code>bitcoin_hashes</code> v0.13.0 <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/621">#621</a></li>
      <li>Add a verify function to <code>PublicKey</code> <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/618">#618</a></li>
      <li>Add serialize function for schnorr::Signature <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/607">#607</a></li>
      <li>Bump MSRV to 1.48 <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/595">#595</a></li>
      <li>Remove implementations of <code>PartialEq</code>, <code>Eq</code>,
      <code>PartialOrd</code>, <code>Ord</code>, and <code>Hash</code> from
      the
      <code>impl_array_newtype</code> macro. Users will now need to derive
      these traits if they are wanted.</li>
      </ul>
      <h1>0.27.0 - 2023-03-15</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/588">Depend
      on newly release <code>bitcoin_hashes</code> v0.12</a>.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/578">Implement
      <code>Debug</code> trait for <code>Scalar</code> type</a>.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/582">Implement
      <code>insecure-erase</code></a>.</li>
      </ul>
      <h1>0.26.0 - 2202-12-19</h1>
      <ul>
      <li>Update libsecp25k1 to v0.2.0</li>
      </ul>
      <h1>0.25.0 - 2022-12-07</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/548">Fix
      soundness issue with <code>preallocated_gen_new</code></a></li>
      <li>Update to <code>secp256k1-sys</code> <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/549">v0.7.0</a></li>
      <li>Use type system to <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/483">improve
      safety</a>.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/490">Change
      secp256k1-sys symbol names to 0_6_1</a>.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/499">Introduce
      <code>rustfmt</code></a> to the codebase.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/507">Make
      all raw pointer methods go through the CPtr trait</a>.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/518">Make
      comparison functions stable</a>.</li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/512">Remove</a>
      public constant <code>ONE_KEY</code> (consider using
      <code>FromStr</code> as a replacement).</li>
      </ul>
      <h1>0.24.1 - 2022-10-25</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/issues/491">Fix
      broken deserialization logic of <code>KeyPair</code></a> that previously
      always panicked. After the patch deserialization only panics if neither
      the <code>global-context</code> nor the <code>alloc</code> (default)
      feature is active.</li>
      </ul>
      <h1>0.24.0 - 2022-07-20</h1>
      <ul>
      <li>Upgrade to new release of <a
      href="https://github.com/rust-bitcoin/bitcoin_hashes/releases/tag/0.11.0">bitcoin_hashes</a>.</li>
      </ul>
      <h1>0.23.4 - 2022-07-14</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/474">Disable
      automatic rerandomization of contexts under WASM</a></li>
      </ul>
      <h1>0.23.3 - 2022-06-29</h1>
      <ul>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/465">Add
      must_use for mut self key manipulation methods</a></li>
      <li><a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/pull/466">Fix
      fuzzing feature guard</a></li>
      </ul>
      <h1>0.23.2 - 2022-06-27</h1>
      <!-- raw HTML omitted -->
      </blockquote>
      <p>... (truncated)</p>
      </details>
      <details>
      <summary>Commits</summary>
      <ul>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/7de09c8050da12a13ef9ee3850597f69c887952d"><code>7de09c8</code></a>
      Merge <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/issues/256">rust-bitcoin/rust-secp256k1256</a>:
      Tracking PR for release: `secp256k1 v0...</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/3dc5b165401f249c01a88cec54061301cffd97a0"><code>3dc5b16</code></a>
      Bump version to v0.28.0</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/3aada83180beec2b9f5ab8e7b9280a5517d3bcde"><code>3aada83</code></a>
      Merge <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/issues/256">rust-bitcoin/rust-secp256k1256</a>:
      Add bindings to the ElligatorSwift imp...</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/39febcb866ce285d53052a3636602f04483aa710"><code>39febcb</code></a>
      Create rust-bidings</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/da4f67b274c3061717723a568cfb182e4e2e7cce"><code>da4f67b</code></a>
      Merge <a
      href="https://redirect.github.com/rust-bitcoin/rust-secp256k1/issues/256">rust-bitcoin/rust-secp256k1256</a>:
      Update vendored lib secp256k1 to v0.4.0</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/80b2a8d4aa6ffa72041d569eab2278cd8c1ace2a"><code>80b2a8d</code></a>
      Update vendored libsecp to v0.4.0</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/d2285c929a086276ce6d1670d795c49191e30c65"><code>d2285c9</code></a>
      ci: Remove MIPS* from CI</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/0d58f50d523b40a78de0b87146208e3ad338c8ba"><code>0d58f50</code></a>
      ci: generalize grp in &quot;illegal callback&quot; test</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/acf9ac13e9f8df84dd52d2f012cda7211a6af10c"><code>acf9ac1</code></a>
      delete <code>test_manual_create_destroy</code> test</li>
      <li><a
      href="https://github.com/rust-bitcoin/rust-secp256k1/commit/04ce50891bb0d49be5355f5c0d82db70d7dda65a"><code>04ce508</code></a>
      lib: fix bad unit test</li>
      <li>Additional commits viewable in <a
      href="https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.3...secp256k1-0.28.0">compare
      view</a></li>
      </ul>
      </details>
      <br />
      
      
      [![Dependabot compatibility
      score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=secp256k1&package-manager=cargo&previous-version=0.24.3&new-version=0.28.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>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      794ee980
  13. Nov 17, 2023
    • Davide Galassi's avatar
      Bump bandersnatch VRF revision (#2389) · 1d1c3719
      Davide Galassi authored
      Closes https://github.com/paritytech/polkadot-sdk/issues/2327
      
      cc @burdges
      1d1c3719
    • Nazar Mokrynskyi's avatar
      Do not panic if the `fdlimit` call to increase the file descriptor limit fails (#2155) · 079b14f6
      Nazar Mokrynskyi authored
      
      
      # Description
      
      Sometimes changing file descriptor limits is not allowed, but there is
      no need to crash the node if/when this happens. Since `fdlimit`'s author
      decided to use panics instead of returning `Result`, we need to catch
      it.
      
      # 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)
      - [ ] 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 avatarKoute <[email protected]>
      079b14f6
    • Michal Kucharczyk's avatar
      crypto: `lazy_static` removed, light parser for address URI added (#2250) · 5007e2dd
      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 provides simple address uri parser which allows to get rid of
      _regex_ which was used to parse the address uri, what in turns allows to
      remove lazy_static.
      
      Three regular expressions
      (`SS58_REGEX`,`SECRET_PHRASE_REGEX`,`JUNCTION_REGEX`) were replaced with
      the parser which unifies all of them.
      
      The new parser does not support Unicode, it is ASCII only.
      
      Related to: #2044
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      Co-authored-by: default avatarKoute <[email protected]>
      Co-authored-by: command-bot <>
      5007e2dd
    • Serban Iorga's avatar
      Beefy: small fixes (#2378) · 3ab2bc9f
      Serban Iorga authored
      Related to #2285
      
      - save the state of the BEEFY gadget after processing a finality proof.
      We need this in order to avoid skipping blocks.
      - avoid reprocessing the old state when not necessary
      3ab2bc9f