Conversation
…ssion Check consumer capacity only when we will actually increment the consumer count (first-time registration or external-to-local transition), not on key rotation.
Contributor
Author
|
/cmd prdoc --audience runtime_dev --bump patch |
…time_dev --bump patch'
Ank4n
approved these changes
Mar 31, 2026
Ank4n
reviewed
Mar 31, 2026
cirko33
approved these changes
Mar 31, 2026
lexnv
added a commit
that referenced
this pull request
Apr 1, 2026
Squashed commit of the following: commit 1b3ad0b Author: Alexandru Vasile <alexandru.vasile@parity.io> Date: Wed Apr 1 10:55:36 2026 +0000 Adjust metrics Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> commit 61d37db Author: Alexandru Vasile <alexandru.vasile@parity.io> Date: Wed Apr 1 09:58:38 2026 +0000 metrics: Bump some other buckets Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> commit ab2a221 Author: Alexandru Vasile <alexandru.vasile@parity.io> Date: Wed Apr 1 09:57:11 2026 +0000 collator-proto/metrics: Fix blindspot in collation fetch latency metrics Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io> commit 0d6888a Author: Ankan <10196091+Ank4n@users.noreply.github.com> Date: Wed Apr 1 00:18:21 2026 +0200 Implement Budget Distribution logic in pallet-dap (#11527) Stacked on #11513. Extracted from #10844. ## Overview Adds issuance drip and budget distribution to `pallet-dap`. DAP becomes a generic inflation engine: it mints new tokens on a configurable cadence and distributes them to registered budget recipients. No runtime behavior change: the existing chain configuration continues to mint via `EraPayout` trait in staking. DAP can be configured as a noop (cadence = 0 or empty budget). ## Changes ### pallet-dap - **Issuance drip**: `drip_issuance()` runs in `on_initialize`. Computes mint amount via `IssuanceCurve` (total issuance + elapsed time) and distributes to `BudgetRecipient`s per a governance-updatable `BudgetAllocation` map that must sum to 100%. - **Safety guards**: `MaxElapsedPerDrip` ceiling prevents over-minting if the chain stalls. First-block initialization skips drip to avoid minting for an unknown period. - **Buffer accounting**: buffer's share is deactivated on inflow (mint + `OnUnbalanced` slashes). - **`set_budget_allocation`** extrinsic (root-only): validates keys match registered recipients and percentages sum to exactly 100%. - **`BudgetRecipient` impl**: DAP exposes its buffer as a recipient (key: `"buffer"`). - **Migration**: `MigrateV1ToV2` seeds `LastIssuanceTimestamp` and `BudgetAllocation` for existing chains. Not wired up in WAH or other runtimes yet. ## TODOs - [x] Wire benchmark weights. ## In Later PR - Revert [these changes](9b388b2) --------- Co-authored-by: Paolo La Camera <paolo@parity.io> commit 8b53323 Author: Javier Viola <363911+pepoviola@users.noreply.github.com> Date: Tue Mar 31 21:26:58 2026 +0200 bump zombienet version to v0.4.9 (#11569) This version move the internal monitor to a diff log target, eliminating the current spam of tracing logs. Thx! --------- Co-authored-by: Bastian Köcher <git@kchr.de> commit 129a48a Author: Ankan <10196091+Ank4n@users.noreply.github.com> Date: Tue Mar 31 19:06:21 2026 +0200 [Staking] Add issuance and budget traits in prep for Budget Split (#11513) # Overview Moves `EraPayout` trait to `sp-staking` and adds new traits for issuance, budget distribution, and reward calculation. Extracted changes from the main PR: #10844 Also see: #11512 ## Changes ### sp-staking - `EraPayout`: moved from `pallet-staking` and `pallet-staking-async` to `sp-staking`, eliminating the duplicate definitions. - `budget` module: stake independent traits: - `IssuanceCurve`: successor to `EraPayout`, computes issuance from total supply + elapsed time (no staking state dependency). - `BudgetRecipient` / `BudgetRecipientList`: register pot accounts for inflation distribution. Runtime wires as a tuple. - `BudgetKey`: bounded identifier for budget categories. - `StakerRewardCalculator`: trait for calculating validator incentive weights and staker reward splits. ### pallet-staking / pallet-staking-async - Removed local `EraPayout` definitions, re-exported from `sp-staking`. --------- Co-authored-by: Paolo La Camera <paolo@parity.io> commit 10a517e Author: Dmitry Markin <dmitry@markin.tech> Date: Tue Mar 31 18:37:01 2026 +0300 Implement `bitswap_v1_get` RPC method (#11521) Implement `bitswap_v1_get` RPC method according to the [spec](https://github.com/paritytech/json-rpc-interface-spec/blob/main/src/api/bitswap_v1_get.md). --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Lukasz Rubaszewski <117115317+lrubasze@users.noreply.github.com> commit 2c99855 Author: Paolo La Camera <paolo@parity.io> Date: Tue Mar 31 16:42:03 2026 +0200 Fix can_inc_consumer check blocking session key rotation in pallet_session (#11573) Check consumer capacity only when we actually increment the consumer count (first-time local registration or external-to-local transition), not on key rotation. Notes: 1. setting keys via `stakingRcClient` didn't suffer of this issue since by-pass `do_set_keys()` 2. setting and purging keys via session pallet directly on RC is deprecated and will be removed soon - but better safe than sorry till then --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> commit de0a245 Author: Luka Ciric <luka.ciric2106@gmail.com> Date: Tue Mar 31 16:39:48 2026 +0200 Raise offence queue eras bound limit (#11435) Fixes a bug where **OffenceQueueEras** bound (BondingDuration) was incorrect when `SlashDeferDuration=0`. The oldest reportable offence era formula allowed more eras than the bound could hold. --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Ankan <10196091+Ank4n@users.noreply.github.com> Signed-off-by: Alexandru Vasile <alexandru.vasile@parity.io>
franciscoaguirre
pushed a commit
that referenced
this pull request
Apr 7, 2026
…ssion (#11573) Check consumer capacity only when we actually increment the consumer count (first-time local registration or external-to-local transition), not on key rotation. Notes: 1. setting keys via `stakingRcClient` didn't suffer of this issue since by-pass `do_set_keys()` 2. setting and purging keys via session pallet directly on RC is deprecated and will be removed soon - but better safe than sorry till then --------- Co-authored-by: cmd[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Check consumer capacity only when we actually increment the consumer count (first-time local registration or external-to-local transition), not on key rotation.
Notes:
stakingRcClientdidn't suffer of this issue since by-passdo_set_keys()