Skip to content
  1. Mar 11, 2024
    • philoniare's avatar
      [Deprecation] Remove the deprecated Store trait (#3532) · d3f81056
      philoniare authored
      
      
      # Description
      
      *Removes the deprecated `trait Store` feature from the code base*
      
      Fixes #222
      
      ---------
      
      Co-authored-by: default avatarDónal Murray <[email protected]>
      d3f81056
    • Andrei Eres's avatar
      subsystem-bench: adjust test config to Kusama (#3583) · 05381afc
      Andrei Eres authored
      Fixes https://github.com/paritytech/polkadot-sdk/issues/3528
      
      ```rust
      latency:
          mean_latency_ms = 30 // common sense
          std_dev = 2.0 // common sense
      n_validators = 300 // max number of validators, from chain config
      n_cores = 60 // 300/5
      max_validators_per_core = 5 // default
      min_pov_size = 5120 // max
      max_pov_size = 5120 // max
      peer_bandwidth = 44040192 // from the Parity's kusama validators
      bandwidth = 44040192 // from the Parity's kusama validators
      connectivity = 90 // we need to be connected to 90-95% of peers
      ```
      05381afc
    • Tsvetomir Dimitrov's avatar
      Small fixes in para-scheduler pallet (#3524) · 02f1f2c4
      Tsvetomir Dimitrov authored
      Fixes some typos, outdated comments and test asserts. Also uses safe
      math and `defensive` for arithmetic operations.
      02f1f2c4
    • s0me0ne-unkn0wn's avatar
      Remove getters from `im-online` pallet (#3589) · 4249a3d6
      s0me0ne-unkn0wn authored
      As I've been dancing around this pallet for quite some time anyway, I
      decided to remove getters at once. There were only a few leftovers in
      tests.
      
      Related: #3326 
      CC @muraca
      4249a3d6
    • Dónal Murray's avatar
      [pallet_broker] Fix `adapt_price` behaviour at zero (#3636) · aa353283
      Dónal Murray authored
      
      
      This fixes the behaviour of `Linear` which is the default implementation
      of the `AdaptPrice` trait in the broker pallet. Previously if cores were
      offered but not sold in only one sale, the price would be set to zero
      and due to the logic being purely multiplicative, the price would stay
      at 0 indefinitely.
      
      This could be further paired with a configurable minimum in the broker
      pallet itself, which will be a future PR.
      
      This affects the Rococo and Westend Coretime chains, but Kusama has a
      different implementation so this isn't required for the Kusama launch. I
      actually thought I opened this a while ago.
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      aa353283
    • eskimor's avatar
      Remove unused FullCandidateReceipt (#3641) · 8dc6048d
      eskimor authored
      
      
      Currently redesigning candidate data structures, noticed that this one
      seems dead.
      
      Co-authored-by: default avatareskimor <[email protected]>
      8dc6048d
    • Egor_P's avatar
      Fix release docker image GHA (#3547) · a6713c55
      Egor_P authored
      This PR add extra checks for the input fields in the GHA which does the
      docker image build and publishing.
      a6713c55
  2. Mar 10, 2024
  3. Mar 09, 2024
    • Viki Val's avatar
      🐛 Depositing PalletAttributeSet on incorrect nft (#2740) · 1c435e91
      Viki Val authored
      
      
      ## Context
      
      Implementing `HolderOf(collection_id)` we have observed a fancy glitch
      where pallet deposits event with incorrect values
      
      ### Test case 
      
      [Observe following
      extrinsic](https://assethub-polkadot.subscan.io/extrinsic/0xdc72321b7674aa209c2f194ed49bd6bd12708af103f98b5b9196e0132dcba777)
      
      To mint in collection `51` user needs to be `HolderOf(50)`.
      Therefore current user is owner of item `394` `witness_data {
      owned_item: 394 }`
      
      All checking is done correctly, storage is updated correctly
      
       
      ![photo_2023-12-18 16 07
      11](https://github.com/paritytech/polkadot-sdk/assets/22471030/ca991272-156d-4db1-97b2-1a2873fc5d3f)
      
      However the event which is emitted does not make semantic sense as we
      updated storage for `50-394` not for `51-114`
      
      ![photo_2023-12-18 16 07
      17](https://github.com/paritytech/polkadot-sdk/assets/22471030/c998a92c-e306-4433-aad8-103078140e23)
      
      ## The fix 
      
      This PR fixes that depositing `PalletAttributeSet` emits correct values.
      
      ---------
      
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      Co-authored-by: default avatarJegor Sidorenko <[email protected]>
      1c435e91
    • Michal Kucharczyk's avatar
      core: replace secp256k with k256 in crypto::ecdsa (#3525) · 9f5d9fa9
      Michal Kucharczyk authored
      
      
      This PR replaces the usage of
      [secp256k](https://crates.io/crates/secp256k1) crate with
      [k256](https://crates.io/crates/k256) in `core::crypto::ecdsa` for
      `non-std` environments as outcome of discussion in #3448.
      
      `secp256k1` is used in `std`, meaning that we should not affect host
      performance with this PR.
      `k256` is enabled in runtimes (`no-std`), and is required to proceed
      with #2044.
      
      If desirable, in future we can switch to `k256` also for `std`. That
      would require some performance evaluation (e.g. for EVM chains as per
      https://github.com/paritytech/polkadot-sdk/issues/3448#issuecomment-1976780391).
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/3448
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarDavide Galassi <[email protected]>
      9f5d9fa9
  4. Mar 08, 2024
    • cuinix's avatar
      fix some typos (#3587) · ea458d0b
      cuinix authored
      
      
      Signed-off-by: default avatarcuinix <[email protected]>
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      ea458d0b
    • PG Herveou's avatar
      Contracts: Fix terminate benchmark (#3558) · 1fe3c5f2
      PG Herveou authored
      
      
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      Co-authored-by: command-bot <>
      1fe3c5f2
    • PG Herveou's avatar
      benchmark: allow range trailing comma in RangeArgs (#3598) · a0c9a3d6
      PG Herveou authored
      
      
      Rustfmt will add a trailing comma for longer expression, this change
      will make sure that the Range parameters can still be parsed.
      
      ---------
      
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarAlexander Theißen <[email protected]>
      a0c9a3d6
    • Alexandru Gheorghe's avatar
      collator-protocol: Always stay connected to validators in backing group (#3544) · 6f3caac0
      Alexandru Gheorghe authored
      
      
      Looking at rococo-asset-hub
      https://github.com/paritytech/polkadot-sdk/issues/3519 there seems to be
      a lot of instances where collator did not advertise their collations,
      while there are multiple problems there, one of it is that we are
      connecting and disconnecting to our assigned validators every block,
      because on reconnect_timeout every 4s we call connect_to_validators and
      that will produce 0 validators when all went well, so set_reseverd_peers
      called from validator discovery will disconnect all our peers.
      More details here:
      https://github.com/paritytech/polkadot-sdk/issues/3519#issuecomment-1972667343
      
      Now, this shouldn't be a problem, but it stacks with an existing bug in
      our network stack where if disconnect from a peer the peer might not
      notice it, so it won't detect the reconnect either and it won't send us
      the necessary view updates, so we won't advertise the collation to it
      more details here:
      
      https://github.com/paritytech/polkadot-sdk/issues/3519#issuecomment-1972958276
      
      To avoid hitting this condition that often, let's keep the peers in the
      reserved set for the entire duration we are allocated to a backing
      group. Backing group sizes(1 rococo, 3 kusama, 5 polkadot) are really
      small, so this shouldn't lead to that many connections. Additionally,
      the validators would disconnect us any way if we don't advertise
      anything for 4 blocks.
      
      ## TODO
      - [x] More testing.
      - [x] Confirm on rococo that this is improving the situation. (It
      doesn't but just because other things are going wrong there).
      
      ---------
      
      Signed-off-by: default avatarAlexandru Gheorghe <[email protected]>
      6f3caac0
    • PG Herveou's avatar
      Contracts Bump ApiVersion and add test (#3619) · f977c211
      PG Herveou authored
      ApiVersion should have been bumped with
      https://github.com/paritytech/polkadot-sdk/pull/3606
      this does that and add a test so we don't forget to do that everytime
      f977c211
  5. Mar 07, 2024
  6. Mar 06, 2024
  7. Mar 05, 2024
    • Oliver Tale-Yazdi's avatar
      [FRAME] Use 'ready' pages in XCMP suspend logic (#2393) · 329c0772
      Oliver Tale-Yazdi authored
      
      
      Changes:
      - `QueueFootprint` gets a new field; `ready_pages` that contains the
      non-overweight and not yet processed pages.
      - `XCMP` queue pallet is change to use the `ready_pages` instead of
      `pages` to calculate the channel suspension thresholds.
      
      This should give the XCMP queue pallet a more correct view of when to
      suspend channels.
      
      ---------
      
      Signed-off-by: default avatarOliver Tale-Yazdi <[email protected]>
      329c0772
    • Rodrigo Quelhas's avatar
      remove deprecated type 'GenesisConfig' (#3378) · c367ac24
      Rodrigo Quelhas authored
      
      
      # Description
      
      Removed deprecated type `GenesisConfig` from the codebase.
      
      Closes https://github.com/paritytech/polkadot-sdk/issues/175
      
      # 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)
      
      ---------
      
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: default avatarMichal Kucharczyk <[email protected]>
      c367ac24
    • Kian Paimani's avatar
      Repot all templates into a single directory (#3460) · 4c810609
      Kian Paimani authored
      The first step towards
      https://github.com/paritytech/polkadot-sdk/issues/3155
      
      Brings all templates under the following structure
      
      ```
      templates
      |   parachain
      |   |   polkadot-launch
      |   |   runtime              --> parachain-template-runtime
      |   |   pallets              --> pallet-parachain-template
      |   |   node                 --> parachain-template-node
      |   minimal
      |   |   runtime              --> minimal-template-runtime
      |   |   pallets              --> pallet-minimal-template
      |   |   node                 --> minimal-template-node
      |   solochain
      |   |   runtime              --> solochain-template-runtime
      |   |   pallets              --> pallet-template (the naming is not consistent here)
      |   |   node                 --> solochain-template-node
      ```
      
      The only note-worthy changes in this PR are: 
      
      - More `Cargo.toml` fields are forwarded to use the one from the
      workspace.
      - parachain template now has weights and benchmarks
      - adds a shell pallet to the minimal template
      - remove a few unused deps 
      
      
      A list of possible follow-ups: 
      
      - [ ] Unify READMEs, create a parent README for all
      - [ ] remove references to `docs.substrate.io` in templates
      - [ ] make all templates use `#[derive_impl]`
      - [ ] update and unify all licenses
      - [ ] Remove polkadot launch, use
      https://github.com/paritytech/polkadot-sdk/blob/35349df9/cumulus/zombienet/examples/small_network.toml
      instead.
      4c810609
    • Matteo Muraca's avatar
      Removed `pallet::getter` usage from `pallet-collective` (#3456) · a71f018c
      Matteo Muraca authored
      Part of #3326 
      This one is easier as all the storage items are public. 
      
      @ggwpez @Kianenigma @shawntabrizi
      
      
      
      ---------
      
      Signed-off-by: default avatarMatteo Muraca <[email protected]>
      Co-authored-by: default avatarLiam Aharon <[email protected]>
      Co-authored-by: command-bot <>
      Co-authored-by: default avatarKian Paimani <[email protected]>
      a71f018c
    • Serban Iorga's avatar
      Increase 0002-validators-warp-sync timeout (#3575) · 3ff78a78
      Serban Iorga authored
      Fixes failures like:
      https://gitlab.parity.io/parity/mirrors/polkadot-sdk/-/jobs/5436619#L3319
      3ff78a78
    • philoniare's avatar
      [Documentation] Delete unused outdated `polkadot/testing.md` (#3559) · 601b77d9
      philoniare authored
      
      
      # Description
      
      *Deletes `testing.md` file in accordance with the discussion on issue
      #2527.* Old references to Gurke or simnet have been removed.
      
      Fixes #2527
      
      ---------
      
      Co-authored-by: default avatarBastian Köcher <[email protected]>
      601b77d9
    • Niklas Adolfsson's avatar
      rpc server: add prometheus label `is_rate_limited` (#3504) · efcea0ed
      Niklas Adolfsson authored
      After some discussion with @kogeler
      
       after the we added the rate-limit
      middleware it may slow down
      the rpc call timings metrics significantly because it works as follows:
      
      1. The rate limit guard is checked when the call comes and if a slot is
      available -> process the call
      2. If no free spot is available then the call will be sleeping
      `jitter_delay + min_time_rate_guard` then woken up and checked at most
      ten times
      3. If no spot is available after 10 iterations -> the call is rejected
      (this may take tens of seconds)
      
      Thus, this PR adds a label "is_rate_limited" to filter those out on the
      metrics "substrate_rpc_calls_time" and "substrate_rpc_calls_finished".
      
      I had to merge two middleware layers Metrics and RateLimit to avoid
      shared state in a hacky way.
      
      ---------
      
      Co-authored-by: default avatarJames Wilson <[email protected]>
      efcea0ed