You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
As part of #3398@erwanor and I cleaned up some of the staking rates implementation. The next step is to reverse the direction of the base rate computation, so that the rates are determined by issuance rather than vice versa.
To do this, we should pick the simplest possible issuance formula, then implement it in the distributions component. This gets the structure right, and then we can port the logic from the Cosmos SDK for computing the issuance later.
Describe the solution you'd like
Add chain parameters to distributions component, initially with one parameter, staking_issuance_per_block. Set this to 1penumbra. (This is enough to be measurable but probably not enough to really mess up the testnet if it's wrong).
Add end-epoch logic to distributions component that computes the staking issuance as num_blocks * staking_issuance_per_block and writes this in a way the staking component can read.
Change the staking component to read the issuance in its end-epoch logic and use the formulas in Reverse staking rate calculations #2909 to compute the next_base_rate from the new issuance and the prev_base_rate.
Additional context
Later, we can port over the PID controller from the Cosmos SDK.
The text was updated successfully, but these errors were encountered:
This is done in #3413 and #3415. Next steps are to implement a simple controller that performs issuance based on an inflation window and a target amount of bonded stake, similar to what the Cosmos SDK does in x/mint.
Is your feature request related to a problem? Please describe.
As part of #3398 @erwanor and I cleaned up some of the staking rates implementation. The next step is to reverse the direction of the base rate computation, so that the rates are determined by issuance rather than vice versa.
To do this, we should pick the simplest possible issuance formula, then implement it in the distributions component. This gets the structure right, and then we can port the logic from the Cosmos SDK for computing the issuance later.
Describe the solution you'd like
staking_issuance_per_block
. Set this to1penumbra
. (This is enough to be measurable but probably not enough to really mess up the testnet if it's wrong).num_blocks * staking_issuance_per_block
and writes this in a way the staking component can read.next_base_rate
from the new issuance and theprev_base_rate
.Additional context
Later, we can port over the PID controller from the Cosmos SDK.
The text was updated successfully, but these errors were encountered: