-
Notifications
You must be signed in to change notification settings - Fork 29
chore(sui): upgrade testnet ITS to 1.2.0 #1077
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
chore(sui): upgrade testnet ITS to 1.2.0 #1077
Conversation
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.
Greptile Overview
Summary
This PR updates the Sui testnet environment to deploy ITS (Interchain Token Service) version 1.2.0, marking a significant upgrade that introduces custom token linking capabilities between Sui and EVM chains. The changes include updating the dependency from `@axelar-network/axelar-cgp-sui` v1.1.3 to v1.2.0, configuring the testnet chain configuration to use the new ITS v1 contract address, and updating deployment documentation to reflect the current "In-Progress" status.The upgrade introduces major enhancements including new struct definitions for link token functionality, treasury cap reclaiming, and enhanced token manager types. A comprehensive security mechanism has been implemented through a disallowedFunctions
configuration that restricts 15 specific functions on the legacy v0 contract to prevent operations during the migration period. The Example contract has also been redeployed with updated addresses and additional operator capabilities to support the new testing infrastructure.
This follows the standard Axelar release process, building upon successful deployments to devnet-amplifier and stagenet environments. The documentation updates include operational improvements discovered during previous deployments, such as adding a required sync command before the upgrade process to ensure proper deployment state synchronization.
Important Files Changed
Changed Files
Filename | Score | Overview |
---|---|---|
releases/sui/2025-09-ITS-v1.2.0.md | 5/5 | Updated testnet deployment status to "In-Progress" and added sync command to upgrade process |
axelar-chains-config/info/testnet.json | 4/5 | Major ITS configuration update with new v1 contract addresses and security restrictions |
package.json | 5/5 | Dependency update from axelar-cgp-sui v1.1.3 to v1.2.0 |
Confidence score: 4/5
- This PR appears safe to merge as it follows established deployment patterns and includes proper security measures
- Score reflects the significance of the ITS upgrade and the comprehensive security restrictions implemented during migration
- Pay close attention to the testnet chain configuration file which contains complex new contract addresses and function restrictions
Sequence Diagram
sequenceDiagram
participant User
participant npm as "npm"
participant repo as "Repository"
participant sui as "Sui Network"
participant contracts as "ITS Contracts"
participant legacy as "Legacy Tokens"
User->>npm: "npm ci && npm run build"
npm-->>User: "Dependencies installed"
User->>repo: "Update package.json"
Note over repo: "@axelar-network/axelar-cgp-sui": "1.2.0"
User->>User: "Setup .env config"
Note over User: "PRIVATE_KEY, ENV, CHAIN=sui"
User->>sui: "ts-node sui/tokens legacy-coins"
sui-->>User: "Legacy tokens list saved"
User->>contracts: "ts-node sui/deploy-contract.js sync"
contracts-->>User: "Sync completed"
User->>contracts: "ts-node sui/deploy-contract upgrade InterchainTokenService any_upgrade"
contracts-->>User: "ITS v0 -> v1 upgrade completed"
User->>contracts: "ts-node sui/deploy-contract migrate InterchainTokenService"
contracts-->>User: "Version control state migrated"
User->>legacy: "ts-node sui/contract pause --functions all --version 0 InterchainTokenService"
legacy-->>User: "Legacy contract disabled"
User->>contracts: "ts-node sui/its check-version-control 1"
contracts-->>User: "All functions enabled on v1"
User->>contracts: "ts-node sui/its check-version-control 0"
contracts-->>User: "Only admin functions enabled on v0"
User->>contracts: "ts-node sui/deploy-contract deploy Example"
contracts-->>User: "Example contract re-deployed"
User->>legacy: "ts-node sui/its migrate-coin-metadata-all --batch 10"
legacy-->>User: "Legacy tokens metadata migrated"
User->>contracts: "ts-node sui/its-example deploy-token [symbol] Test Token 9 --origin"
contracts-->>User: "Test token deployed"
User->>contracts: "ts-node sui/its-example send-deployment [symbol] [chain] [gas-value]"
contracts-->>User: "Token deployment sent to chain"
User->>contracts: "ts-node sui/its-example send-token [symbol] [chain] [recipient] [gas-value] [amount]"
contracts-->>User: "Token transfer completed"
3 files reviewed, no comments
dd70171
into
fix/sui-link-coin-encoding
why?
how?
testing
Note
Updates Sui testnet ITS to v1.2.0 (new package address, versioning, v0 function disables), refreshes Example package IDs, bumps @axelar-network/axelar-cgp-sui to 1.2.0, and updates release docs/instructions.
axelar-chains-config/info/testnet.json
):address
and addversions
entry1
; add new struct/event types (e.g.,TokenManagerType
,UnlinkedTokenId
,UnlinkedCoinReceived/Removed
,InterchainTokenIdClaimed
,LinkToken*
,CoinMetadataRegistered
,TreasuryCapReclaimer
); adddisallowedFunctions
listing paused v0 functions.address
/deployer
; addoperators::MultiMinter
andoperators::OwnerCap
structs; refresh object IDs.@axelar-network/axelar-cgp-sui
to1.2.0
(package.json and lockfile).releases/sui/2025-09-ITS-v1.2.0.md
):sync
step before upgrade; minor formatting/command updates across test cases.Written by Cursor Bugbot for commit be047ec. This will update automatically on new commits. Configure here.