Skip to content

feat(x/tieredrewards): ADR-006 implementation - tiered lock rewards#1249

Open
JayT106 wants to merge 120 commits intocrypto-org-chain:feat/tokenomicfrom
JayT106:jt/pr1242-followup
Open

feat(x/tieredrewards): ADR-006 implementation - tiered lock rewards#1249
JayT106 wants to merge 120 commits intocrypto-org-chain:feat/tokenomicfrom
JayT106:jt/pr1242-followup

Conversation

@JayT106
Copy link
Copy Markdown
Contributor

@JayT106 JayT106 commented Mar 23, 2026

Summary

Implements the ADR-006 tiered lock rewards module.

current dependent PR crypto-org-chain/cosmos-sdk#1786

randy-cro and others added 30 commits March 12, 2026 17:38
…Tier, MsgDeleteTier and MsgUpdateTier to update tiers + add Tier and Position persistence and indexes
… and disallow transfer if delegator has an active incoming redelegation to the validator
…ockTier and MsgCommitDelegationToTier + some refactoring
…nds are transferred fresh from the tieredrewards module acc
… address only for IsDelegated as validation already accounts for correctness
@JayT106 JayT106 force-pushed the jt/pr1242-followup branch from 8cf1c9c to 13448cb Compare March 30, 2026 23:36
JayT106 and others added 29 commits March 30, 2026 20:11
…g field assertions

- Rename misleading TestPosition_IsActiveForGovernance to TestPosition_IsDelegated_WithExitState
- Replace fragile Contains(err.Error(), "unauthorized") with ErrorIs(err, types.ErrNotPositionOwner)
- Replace Contains(err.Error(), ...) with ErrorContains throughout test files
- Add missing field assertions in TestSetAndGetPosition and genesis round-trip test

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ngs to unbondingDelegtionMappings and redelegtionMappings + add AfterUnbondingCompleted and AfterRedelegtionCompleted hooks
…shed, AfterSlashUnbondingRedelegation to AfterUnbondingRedelegationSlashed and AfterSlashRedelegation to AfterRedelegationSlashed
Persist LastBonusAccrual when hook-driven bonus settlement hits an insufficient pool so unbonding and slashing do not lose or reprice the final accrued window. Document the lifecycle-hook semantics in ADR-006 and add regression coverage.

Made-with: Cursor
Avoid rewriting unchanged secondary indexes on position updates and keep single-position reward refreshes in memory so tx flows persist once instead of write-read-write churn.

Made-with: Cursor
Settle base and bonus rewards in a single position pass and reuse the same in-memory positions during slash handling to avoid extra validator position reloads and writes.

Made-with: Cursor
Cover mixed insufficient bonus pool outcomes in the fused reward path and verify slash hooks preserve updated checkpoints without reloading validator positions.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants