fix(staker): Introduce Tier type and simplify casting in reward logic
#832
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.



Description
This PR introduces a dedicated
Tiertype and refactors related code to improve type safety and reduce unnecessary casting.Background
Previously, tier values were represented as raw
uint64. This causes several issues:uint64andint64when performing reward calculations (emssions and ratios areint64).uint64value could be passed in as a tier without validation.Changes
Tiertype (uint8)CurrentCountto returnint64instead of int to align with reward calculation paths.CurrentReward,CurrentCount, etc.) and internal logic to accept/useTierinstead of raw integers where appropriate