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.
The added function
func (e *ProposalTxExecutor) getCurrentInflationSettings(currentTimestamp time.Time) (uint64, uint64, uint64, uint32, time.Duration, time.Duration, time.Duration, time.Time)
takes the current timestamp of the P-chain, and returns parameters:
minValidatorStake
: the minimum stake that a validator can have on the network.uint64
maxValidatorStake
: the maximum stake that a validator can have on the network.uint64
minDelegatorStake
: the minimum stake that a delegator can delegate to a validator.uint64
minDelegationFee
: the minimum delegation fee percentage that is paid from the validator to the delegator. This will be set to zero in practice because rewards are disabled on the P-chain.uint32
minStakeDuration
: the minimum length of time that a validator can be staked on the network.time.Duration
maxStakeDuration
: the maximum length of time that a validator can be staked on the network.time.Duration
minFutureStartTimeOffset
: the time delay between when a staking transaction is made and when a validator can become active.time.Duration
minStakeStartTime
: the earliest date that a validator can set for their staking period to begin.time.Time
This enables a way to have future hard forks that change these parameters over time as more inflation has occurred on the network. Avalanche staking was originally designed for a capped supply asset, so this added function enables the same staking mechanism to be used with an uncapped supply asset.