-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(delegation): auto associate when possible #284
feat(delegation): auto associate when possible #284
Conversation
Whenever the asset bearing `ExocoreAssetID` is delegated by a staker to an operator, we should check if the staker address is the same as the operator address. If a match is found, they should be automatically associated.
WalkthroughThe pull request introduces changes across multiple files in the Exocore network's codebase. The modifications primarily focus on updating module names, imports, and testing functionality in the delegation and utility packages. The changes include refactoring test utilities, updating module interactions, and adding a new test case for operator-staker association during self-delegation. Additionally, comments have been added to clarify the handling of asset information in relation to slashing and undelegation processes. Changes
Suggested Labels
Suggested Reviewers
Poem
Finishing Touches
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
- It is not possible to overwrite an association of the `stakerID` ending with `0x0` because such an association cannot be made using any other mechanism. - Even if it exists, the overwriting will do nothing of import due to the equality check.
Validate that the operator share is correctly set to the expected value when self-staking ExocoreAssetID
- for ExocoreAssetID, the `TotalDepositAmount` is post-slashing, if any was applied. - for other asset IDs, all components are pre-slashing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
🧹 Nitpick comments (1)
x/delegation/keeper/delegation_op_test.go (1)
220-276
: Test coverage for auto-association looks good, consider adding edge cases.The test thoroughly validates the happy path for automatic association during self-delegation. Consider adding test cases for:
- Failed association scenarios
- Multiple self-delegations
- Mixed delegations (self and non-self)
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
x/assets/keeper/staker_asset.go
(2 hunks)x/delegation/keeper/delegation.go
(3 hunks)x/delegation/keeper/delegation_op_test.go
(7 hunks)
✅ Files skipped from review due to trivial changes (1)
- x/assets/keeper/staker_asset.go
🚧 Files skipped from review as they are similar to previous changes (1)
- x/delegation/keeper/delegation.go
⏰ Context from checks skipped due to timeout of 90000ms (1)
- GitHub Check: goreleaser
🔇 Additional comments (3)
x/delegation/keeper/delegation_op_test.go (3)
105-107
: LGTM! Import path updates are consistent.The changes correctly update the constants to use the
types
package instead ofassetstypes
.
179-181
: Import path updates are consistent with previous changes.
193-196
: Balance check updates are consistent with import path changes.Also applies to: 347-350, 499-502
Whenever the asset bearing
ExocoreAssetID
is delegated by a staker to an operator, we should check if the staker address is the same as the operator address. If a match is found, they should be automatically associated.Summary by CodeRabbit
Release Notes
New Features
Testing
Improvements