Skip to content

Conversation

milapsheth
Copy link
Member

@milapsheth milapsheth commented Oct 10, 2025

Note

Upgrades Sui InterchainTokenService to v1 on mainnet with new package address, adds related structs/events and v0 disallowed functions, redeploys Example package, and updates the release guide with completed status and cleanup steps.

  • Sui Mainnet Config (axelar-chains-config/info/mainnet.json):
    • InterchainTokenService v1:
      • Update address and add versions.1 for InterchainTokenService.
      • Add new structs/events (TokenManagerType, UnlinkedTokenId, UnlinkedCoinReceived/Removed, InterchainTokenIdClaimed, LinkToken*, CoinMetadataRegistered, TreasuryCapReclaimer).
      • Add disallowedFunctions list for legacy v0 (e.g., send_interchain_transfer, set_flow_limit, etc.).
    • Example package:
      • Update address, deployer, and object IDs; add MultiMinter and OwnerCap structs.
  • Release Notes (releases/sui/2025-10-ITS-v1.2.0.md):
    • Mark Testnet/Mainnet as Completed with dates.
    • Add cleanup steps before reinstall (rm -r node_modules/@axelar-network/axelar-cgp-sui/ and rm -r sui/move).
    • Reorganize post-upgrade checklist and add verification/testing sections (version control checks, token deployment/transfers, custom token linking).

Written by Cursor Bugbot for commit 9a6496d. This will update automatically on new commits. Configure here.

@milapsheth milapsheth requested a review from a team as a code owner October 10, 2025 06:37
Copy link
Contributor

@greptile-apps greptile-apps bot left a 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 ITS (Interchain Token Service) mainnet configuration to version 1.2.0. The upgrade introduces new v1 contract functionality including token linking, unlinked token handling, and treasury cap reclaimer features.

Key Changes:

  • Updated InterchainTokenService address from v0 (0xc3c0...87ca) to v1 (0xbaec...263d)
  • Added version control with v0 and v1 contract addresses tracked separately
  • Added new structs for v1.2.0 features: TokenManagerType, UnlinkedTokenId, TreasuryCapReclaimer, and new event types
  • Disabled all legacy v0 functions except version control management (15 functions paused)
  • Updated Example contract to new deployment with different address and deployer
  • Reorganized release documentation to separate deployment steps from testing checklist

Issues Found:

  • Release documentation deployment status table needs update to reflect mainnet completion

Confidence Score: 4/5

  • This PR is safe to merge with one minor documentation fix needed
  • Score reflects a well-structured configuration update with proper version tracking and function disabling. The only issue is a documentation inconsistency where mainnet deployment status is not updated to match the actual deployment. The configuration changes follow established patterns and properly track both v0 and v1 contract addresses for backward compatibility.
  • releases/sui/2025-10-ITS-v1.2.0.md requires a status table update to reflect mainnet completion

Important Files Changed

File Analysis

Filename Score Overview
axelar-chains-config/info/mainnet.json 4/5 Updated InterchainTokenService mainnet config to v1.2.0 with new contract addresses, structs, and disabled legacy functions
releases/sui/2025-10-ITS-v1.2.0.md 5/5 Reorganized deployment checklist to move tests after deployment steps for better clarity

Sequence Diagram

sequenceDiagram
    participant Admin as Admin Wallet
    participant ITS_v0 as InterchainTokenService v0
    participant ITS_v1 as InterchainTokenService v1.2.0
    participant Example as Example Contract
    participant Config as mainnet.json
    
    Note over Admin,Config: Sui ITS v1.2.0 Mainnet Upgrade
    
    Admin->>ITS_v1: Deploy upgraded contract
    Note right of ITS_v1: New address: 0xbaec...263d
    
    Admin->>ITS_v1: Migrate version control
    ITS_v1->>ITS_v1: Enable v1 functions
    
    Admin->>ITS_v0: Disable legacy functions
    Note right of ITS_v0: All functions paused except<br/>version control management
    
    Admin->>Example: Re-deploy Example contract
    Note right of Example: New address: 0xe805...1317
    
    Admin->>Config: Update configuration
    Config->>Config: Set ITS address to v1
    Config->>Config: Add v1.2.0 structs/events
    Config->>Config: Record disallowed v0 functions
    Config->>Config: Update Example addresses
    
    Note over ITS_v1: Ready for token linking,<br/>unlinked token handling,<br/>and metadata migration
Loading

Additional Comments (1)

  1. releases/sui/2025-10-ITS-v1.2.0.md, line 13 (link)

    logic: Mainnet deployment status and date need to be updated. The mainnet config was updated with v1.2.0 addresses, but the table still shows "TBD".

2 files reviewed, 1 comment

Edit Code Review Agent Settings | Greptile

@blockchainguyy blockchainguyy merged commit f065ad9 into main Oct 10, 2025
11 checks passed
@blockchainguyy blockchainguyy deleted the chore/sui-its-v1.2.0-mainnet branch October 10, 2025 12:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants