Skip to content
  • Gonçalo Pestana's avatar
    Implements a % cap on staking rewards from era inflation (#1660) · fde44474
    Gonçalo Pestana authored
    This PR implements an (optional) cap of the era inflation that is
    allocated to staking rewards. The remaining is minted directly into the
    [`RewardRemainder`](https://github.com/paritytech/polkadot-sdk/blob/fb0fd3e6/substrate/frame/staking/src/pallet/mod.rs#L160)
    account, which is the treasury pot account in Polkadot and Kusama.
    
    The staking pallet now has a percent storage item, `MaxStakersRewards`,
    which defines the max percentage of the era inflation that should be
    allocated to staking rewards. The remaining era inflation (i.e.
    `remaining = max_era_payout - staking_payout.min(staking_payout *
    MaxStakersRewards))` is minted directly into the treasury.
    
    The `MaxStakersRewards` can be set by a privileged origin through the
    `set_staking_configs` extrinsic.
    
    **To finish**
    - [x] run benchmarks for westend-runtime
    
    Replaces https://github.com/paritytech/polkadot-sdk/pull/1483
    Closes https://github.com/paritytech/polkadot-sdk/issues/403
    
    ---------
    
    Co-authored-by: command-bot <>
    fde44474