feat(upgrade): add v0.5.3 upgrade for deterministic emission #8
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.
This pull request introduces a new upgrade (v0.5.3) to address a consensus bug in token emission calculations and refactors the emission logic to ensure deterministic, architecture-independent results. The most important changes are:
Upgrade Handling:
UpgradeName_v0_5_3and set it as the current upgrade version inevmd/upgrades.go.Deterministic Emission Calculation:
x/epixmint/keeper/emission.goto use only deterministicsdkmath.LegacyDecarithmetic, removing all non-deterministicmathandbigoperations to ensure consensus across all CPU architectures.approximateDecayWithDechelper function that deterministically approximates exponentiation for emission decay, using integer arithmetic and linear interpolation for fractional exponents.Closes: #XXXX
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
mainbranch