@@ -99,20 +99,6 @@ export type ChainConfig = {
9999 outbound : string ,
100100 inbound : Partial < { [ C in Chain ] : string } > ,
101101 } ,
102- // AdminCap tracking for Sui deployments (only wormhole transceiver, NTT reads from state)
103- adminCaps ?: {
104- wormholeTransceiver ?: string
105- } ,
106- // Transceiver state IDs for Sui deployments
107- transceiverStateIds ?: {
108- wormhole ?: string
109- } ,
110- // Package IDs for Sui deployments
111- packageIds ?: {
112- ntt ?: string ,
113- nttCommon ?: string ,
114- wormholeTransceiver ?: string
115- } ,
116102}
117103
118104export type Config = {
@@ -439,24 +425,10 @@ yargs(hideBin(process.argv))
439425 const deployedManager = await deploy ( version , mode , ch , token , signerType , ! argv [ "skip-verify" ] , argv [ "yes" ] , argv [ "payer" ] , argv [ "program-key" ] , argv [ "binary" ] , argv [ "solana-priority-fee" ] , argv [ "sui-gas-budget" ] , argv [ "sui-package-path" ] , argv [ "sui-wormhole-state" ] ) ;
440426
441427 const [ config , _ctx , _ntt , decimals ] =
442- await pullChainConfig ( network , deployedManager , overrides , ( deployedManager as any ) . adminCaps , ( deployedManager as any ) . packageIds , ( deployedManager as any ) . transceiverStateIds ) ;
428+ await pullChainConfig ( network , deployedManager , overrides ) ;
443429
444430 console . log ( "token decimals:" , chalk . yellow ( decimals ) ) ;
445431
446- // Add AdminCap and package ID information to config if available (for Sui)
447- if ( ( deployedManager as any ) . adminCaps ) {
448- config . adminCaps = ( deployedManager as any ) . adminCaps ;
449- console . log ( "AdminCaps stored:" , chalk . yellow ( JSON . stringify ( ( deployedManager as any ) . adminCaps , null , 2 ) ) ) ;
450- }
451- if ( ( deployedManager as any ) . transceiverStateIds ) {
452- config . transceiverStateIds = ( deployedManager as any ) . transceiverStateIds ;
453- console . log ( "Transceiver State IDs stored:" , chalk . yellow ( JSON . stringify ( ( deployedManager as any ) . transceiverStateIds , null , 2 ) ) ) ;
454- }
455- if ( ( deployedManager as any ) . packageIds ) {
456- config . packageIds = ( deployedManager as any ) . packageIds ;
457- console . log ( "Package IDs stored:" , chalk . yellow ( JSON . stringify ( ( deployedManager as any ) . packageIds , null , 2 ) ) ) ;
458- }
459-
460432 deployments . chains [ chain ] = config ;
461433 fs . writeFileSync ( path , JSON . stringify ( deployments , null , 2 ) ) ;
462434 console . log ( `Added ${ chain } to ${ path } ` ) ;
@@ -531,9 +503,6 @@ yargs(hideBin(process.argv))
531503 network ,
532504 { chain, address : toUniversal ( chain , chainConfig . manager ) } ,
533505 overrides ,
534- chainConfig . adminCaps ,
535- chainConfig . packageIds ,
536- chainConfig . transceiverStateIds
537506 ) ;
538507
539508 await upgrade (
@@ -608,7 +577,7 @@ yargs(hideBin(process.argv))
608577 const ntts : Partial < { [ C in Chain ] : Ntt < Network , C > } > = { } ;
609578
610579 const [ config , _ctx , ntt , _decimals ] =
611- await pullChainConfig ( network , { chain, address : universalManager } , overrides , undefined , undefined , undefined ) ;
580+ await pullChainConfig ( network , { chain, address : universalManager } , overrides ) ;
612581
613582 ntts [ chain ] = ntt as any ;
614583
@@ -630,7 +599,7 @@ yargs(hideBin(process.argv))
630599 continue ;
631600 }
632601 const address : UniversalAddress = peer . address . address . toUniversalAddress ( )
633- const [ peerConfig , _ctx , peerNtt ] = await pullChainConfig ( network , { chain : c , address } , overrides , undefined , undefined , undefined ) ;
602+ const [ peerConfig , _ctx , peerNtt ] = await pullChainConfig ( network , { chain : c , address } , overrides ) ;
634603 ntts [ c ] = peerNtt as any ;
635604 configs [ c ] = peerConfig ;
636605 }
@@ -1075,10 +1044,7 @@ yargs(hideBin(process.argv))
10751044 const [ , , ntt ] = await pullChainConfig (
10761045 network ,
10771046 { chain, address : toUniversal ( chain , chainConfig . manager ) } ,
1078- overrides ,
1079- chainConfig . adminCaps ,
1080- chainConfig . packageIds ,
1081- chainConfig . transceiverStateIds
1047+ overrides
10821048 ) ;
10831049 const solanaNtt = ntt as SolanaNtt < typeof network , SolanaChains > ;
10841050 const tokenAuthority = NTT . pdas ( chainConfig . manager ) . tokenAuthority ( ) ;
@@ -1172,10 +1138,7 @@ yargs(hideBin(process.argv))
11721138 const [ , , ntt ] = await pullChainConfig (
11731139 network ,
11741140 { chain, address : toUniversal ( chain , chainConfig . manager ) } ,
1175- overrides ,
1176- chainConfig . adminCaps ,
1177- chainConfig . packageIds ,
1178- chainConfig . transceiverStateIds
1141+ overrides
11791142 ) ;
11801143 const solanaNtt = ntt as SolanaNtt < typeof network , SolanaChains > ;
11811144 const major = Number ( solanaNtt . version . split ( "." ) [ 0 ] ) ;
@@ -1423,10 +1386,7 @@ yargs(hideBin(process.argv))
14231386 const [ config , ctx , ntt ] = await pullChainConfig (
14241387 network ,
14251388 sourceManager ,
1426- overrides ,
1427- sourceConfig . adminCaps ,
1428- sourceConfig . packageIds ,
1429- sourceConfig . transceiverStateIds
1389+ overrides
14301390 ) ;
14311391
14321392 console . log ( `\nSource NTT Manager: ${ chalk . yellow ( sourceConfig . manager ) } ` ) ;
@@ -1587,10 +1547,7 @@ yargs(hideBin(process.argv))
15871547 const [ config , ctx , ntt ] = await pullChainConfig (
15881548 network ,
15891549 sourceManager ,
1590- overrides ,
1591- sourceConfig . adminCaps ,
1592- sourceConfig . packageIds ,
1593- sourceConfig . transceiverStateIds
1550+ overrides
15941551 ) ;
15951552
15961553 console . log ( `\nSource NTT Manager: ${ chalk . yellow ( sourceConfig . manager ) } ` ) ;
@@ -2238,7 +2195,10 @@ async function deploySui<N extends Network, C extends Chain>(
22382195
22392196 // Set SUI_CONFIG_DIR environment variable to use project's .sui directory
22402197 const suiConfigDir = `${ pwd } /.sui` ;
2241- process . env . SUI_CONFIG_DIR = suiConfigDir ;
2198+ // TODO: set up keytool stuff programmatically (keytool import then switch to sui directory etc)
2199+ // TODO: handle dependency management
2200+ // TODO: get wormhole state from sdk
2201+ // process.env.SUI_CONFIG_DIR = suiConfigDir;
22422202 console . log ( `Using SUI_CONFIG_DIR: ${ suiConfigDir } ` ) ;
22432203
22442204 const signer = await getSigner ( ch , signerType ) ;
@@ -2540,15 +2500,15 @@ async function deploySui<N extends Network, C extends Chain>(
25402500
25412501 console . log ( `Wormhole Transceiver State created at: ${ transceiverStateId } ` ) ;
25422502
2543- // Find the AdminCap object ID for future reference
2544- whTransceiverAdminCapId = transceiverSetupDeploy . objectChanges . find (
2545- ( change : any ) => change . type === "created" &&
2546- change . objectType ?. includes ( "::wormhole_transceiver::AdminCap" )
2547- ) ?. objectId ;
2503+ // Find the AdminCap object ID for future reference
2504+ whTransceiverAdminCapId = transceiverSetupDeploy . objectChanges . find (
2505+ ( change : any ) => change . type === "created" &&
2506+ change . objectType ?. includes ( "::wormhole_transceiver::AdminCap" )
2507+ ) ?. objectId ;
25482508
2549- if ( whTransceiverAdminCapId ) {
2550- console . log ( `Wormhole Transceiver AdminCap created at: ${ whTransceiverAdminCapId } ` ) ;
2551- }
2509+ if ( whTransceiverAdminCapId ) {
2510+ console . log ( `Wormhole Transceiver AdminCap created at: ${ whTransceiverAdminCapId } ` ) ;
2511+ }
25522512
25532513 // 6. Register the wormhole transceiver with the NTT manager
25542514 if ( nttAdminCapId && transceiverStateId ) {
@@ -2870,10 +2830,7 @@ async function pullDeployments(deployments: Config, network: Network, verbose: b
28702830 const [ remote , ctx , ntt , decimals ] = await pullChainConfig (
28712831 network ,
28722832 { chain, address : toUniversal ( chain , managerAddress ) } ,
2873- overrides ,
2874- deployment . adminCaps ,
2875- deployment . packageIds ,
2876- deployment . transceiverStateIds
2833+ overrides
28772834 ) ;
28782835 const local = deployments . chains [ chain ] ;
28792836
@@ -2909,17 +2866,14 @@ async function pullChainConfig<N extends Network, C extends Chain>(
29092866 network : N ,
29102867 manager : ChainAddress < C > ,
29112868 overrides ?: WormholeConfigOverrides < N > ,
2912- adminCaps ?: { wormholeTransceiver ?: string } ,
2913- packageIds ?: { ntt ?: string ; nttCommon ?: string ; wormholeTransceiver ?: string } ,
2914- transceiverStateIds ?: { wormhole ?: string }
29152869) : Promise < [ ChainConfig , ChainContext < typeof network , C > , Ntt < typeof network , C > , number ] > {
29162870 const wh = new Wormhole ( network , [ solana . Platform , evm . Platform , sui . Platform ] , overrides ) ;
29172871 const ch = wh . getChain ( manager . chain ) ;
29182872
29192873 const nativeManagerAddress = canonicalAddress ( manager ) ;
29202874
29212875 const { ntt, addresses } : { ntt : Ntt < N , C > ; addresses : Partial < Ntt . Contracts > ; } =
2922- await nttFromManager < N , C > ( ch , nativeManagerAddress , adminCaps , packageIds , transceiverStateIds ) ;
2876+ await nttFromManager < N , C > ( ch , nativeManagerAddress ) ;
29232877
29242878 const mode = await ntt . getMode ( ) ;
29252879 const outboundLimit = await ntt . getOutboundLimit ( ) ;
@@ -3036,11 +2990,9 @@ function getVersion<N extends Network, C extends Chain>(chain: C, ntt: Ntt<N, C>
30362990async function nttFromManager < N extends Network , C extends Chain > (
30372991 ch : ChainContext < N , C > ,
30382992 nativeManagerAddress : string ,
3039- adminCaps ?: { wormholeTransceiver ?: string } ,
3040- packageIds ?: { ntt ?: string ; nttCommon ?: string ; wormholeTransceiver ?: string } ,
3041- transceiverStateIds ?: { wormhole ?: string }
30422993) : Promise < { ntt : Ntt < N , C > ; addresses : Partial < Ntt . Contracts > } > {
30432994 // For Sui, we need to set the token type to enable proper functionality
2995+ // TODO: rip out this shit
30442996 let token : string | null = null ;
30452997 if ( ch . chain === "Sui" ) {
30462998 // For this implementation, we're using SUI token
@@ -3063,24 +3015,6 @@ async function nttFromManager<N extends Network, C extends Chain>(
30633015 ...diff
30643016 } ;
30653017
3066- // For Sui, create SuiNtt directly (AdminCap ID read from state object)
3067- if ( ch . chain === "Sui" ) {
3068- const sui = await import ( "@wormhole-foundation/sdk-sui-ntt" ) ;
3069- const { SuiClient } = await import ( "@mysten/sui/client" ) ;
3070- const provider = new SuiClient ( { url : ch . config . rpc } ) ;
3071-
3072- const suiNtt = new sui . SuiNtt (
3073- ch . network ,
3074- ch . chain ,
3075- provider ,
3076- { ntt : addresses } ,
3077- undefined , // AdminCap ID will be read from state object
3078- packageIds ?. ntt ,
3079- transceiverStateIds
3080- ) ;
3081- return { ntt : suiNtt as unknown as Ntt < N , C > , addresses } ;
3082- }
3083-
30843018 // For other chains, use the standard protocol creation
30853019 const ntt = await ch . getProtocol ( "Ntt" , {
30863020 ntt : addresses
0 commit comments