-
Notifications
You must be signed in to change notification settings - Fork 29
CCIP-8527: Adding operations and sequences for token governor contract #1579
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
base: main
Are you sure you want to change the base?
Conversation
|
👋 b-gopalswami, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
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.
Pull request overview
This PR implements comprehensive operations and sequences for managing TokenGovernor contracts in the CCIP v1.6.0 deployment system. The work includes deployment sequences, role management operations, ownership transfer functionality, and integration with token pool deployment.
Changes:
- Renamed
ExternalMintertoTokenGovernorin token pool configuration with automatic datastore lookup - Added complete TokenGovernor contract operations for deployment and role/ownership management
- Implemented sequences and changesets for TokenGovernor deployment, role assignment, and ownership transfers
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| deployment/tokens/token_expansion.go | Updated field name and documentation for token governor reference |
| chains/solana/deployment/v1_6_0/operations/router/router.go | Reorganized imports with standard library grouping |
| chains/evm/deployment/v1_6_0/operations/token_governor/token_governor.go | New operations file defining TokenGovernor contract interactions |
| chains/evm/deployment/v1_6_0/sequences/token_governor.go | New sequences file implementing TokenGovernor deployment and management workflows |
| chains/evm/deployment/v1_6_0/sequences/token_governor_test.go | Comprehensive test suite for TokenGovernor sequences |
| chains/evm/deployment/v1_6_0/sequences/deploy_token_pool_contracts.go | Integrated token governor fetching logic into token pool deployment |
| chains/evm/deployment/v1_6_0/changesets/token_governor.go | Changeset wrappers for TokenGovernor operations |
| chains/evm/deployment/v1_6_0/changesets/token_governor_test.go | End-to-end tests for TokenGovernor changesets |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| var RevokeRole = cldf_ops.NewSequence( | ||
| "RevokeRole", | ||
| token_governor.Version, | ||
| "revokes the given role to the given account on the given chains.", |
Copilot
AI
Jan 19, 2026
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.
Corrected preposition 'to' to 'from' in the description. Should be "revokes the given role from the given account on the given chains."
| "revokes the given role to the given account on the given chains.", | |
| "revokes the given role from the given account on the given chains.", |
| var RenounceRole = cldf_ops.NewSequence( | ||
| "RenounceRole", | ||
| token_governor.Version, | ||
| "renounce the given role to the given account on the given chains.", |
Copilot
AI
Jan 19, 2026
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.
Corrected preposition 'to' to 'from' in the description. Should be "renounce the given role from the given account on the given chains."
| "renounce the given role to the given account on the given chains.", | |
| "renounce the given role from the given account on the given chains.", |
| require.Contains(t, err.Error(), "token symbol must be provided") | ||
| }) | ||
|
|
||
| t.Run("zero new admin owner address", func(t *testing.T) { |
Copilot
AI
Jan 19, 2026
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.
The test name "zero new admin owner address" is redundant. Should be either "zero new admin address" or "zero admin owner address" for clarity.
| t.Run("zero new admin owner address", func(t *testing.T) { | |
| t.Run("zero new admin address", func(t *testing.T) { |
https://smartcontract-it.atlassian.net/browse/CCIP-8527