@wormhole-foundation/sdk-sui-ntt 2.0.0-beta-1 → 2.0.0-beta-3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cjs/ntt.d.ts CHANGED
@@ -59,6 +59,7 @@ export declare class SuiNtt<N extends Network, C extends SuiChains> implements N
59
59
  getTransceiverType(transceiverIndex?: number): Promise<string>;
60
60
  verifyAddresses(): Promise<Partial<Ntt.Contracts> | null>;
61
61
  getUpgradeCapId(): Promise<string>;
62
+ private addReleaseCall;
62
63
  private addRedeemCall;
63
64
  private getTransferReleaseStatus;
64
65
  private getInboxItem;
@@ -1 +1 @@
1
- {"version":3,"file":"ntt.d.ts","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntt.d.ts","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
package/dist/cjs/ntt.js CHANGED
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SuiNtt = void 0;
4
4
  const sdk_definitions_1 = require("@wormhole-foundation/sdk-definitions");
5
5
  const sdk_base_1 = require("@wormhole-foundation/sdk-base");
6
+ const sdk_definitions_ntt_1 = require("@wormhole-foundation/sdk-definitions-ntt");
6
7
  const sdk_sui_1 = require("@wormhole-foundation/sdk-sui");
7
8
  const transactions_1 = require("@mysten/sui/transactions");
8
9
  const utils_1 = require("@mysten/sui/utils");
@@ -39,10 +40,16 @@ class SuiNtt {
39
40
  }
40
41
  // Helper method to fetch and validate NTT state object with proper typing
41
42
  async getNttState() {
42
- const response = await this.provider.getObject({
43
- id: this.contracts.ntt["manager"],
44
- options: { showContent: true },
45
- });
43
+ let response;
44
+ try {
45
+ response = await this.provider.getObject({
46
+ id: this.contracts.ntt["manager"],
47
+ options: { showContent: true },
48
+ });
49
+ }
50
+ catch (error) {
51
+ throw new Error(`Failed to fetch NTT state object: ${error instanceof Error ? error.message : String(error)}`);
52
+ }
46
53
  if (!response.data?.content ||
47
54
  response.data.content.dataType !== "moveObject") {
48
55
  throw new Error("Failed to fetch NTT state object");
@@ -472,49 +479,133 @@ class SuiNtt {
472
479
  catch (error) {
473
480
  throw new Error(`Failed to get CoinMetadata for ${this.contracts.ntt["token"]}: ${error instanceof Error ? error.message : String(error)}`);
474
481
  }
475
- // 1. Split coins from gas to get the required amount
476
- const coin = txb.splitCoins(txb.gas, [amount.toString()]);
477
- // 2. Create VersionGated object
478
- const versionGated = txb.moveCall({
482
+ // get token ID
483
+ const token = this.contracts.ntt["token"];
484
+ const isNativeToken = (typeof token === "string" && token === "native") ||
485
+ (typeof token === "string" && token === "0x2::sui::SUI");
486
+ const tokenAddress = new sdk_sui_1.SuiAddress(isNativeToken
487
+ ? sdk_sui_1.SuiPlatform.nativeTokenId(this.network, this.chain).address
488
+ : token);
489
+ const tokenId = tokenAddress.getCoinType();
490
+ // Get the coin to transfer
491
+ // For SUI (native), we can split from gas
492
+ // For other tokens, we need to get the user's coins of that type
493
+ const [coin] = await (async () => {
494
+ if (isNativeToken) {
495
+ // For SUI, split from gas
496
+ return txb.splitCoins(txb.gas, [amount]);
497
+ }
498
+ else {
499
+ // For other tokens, get the user's coins of that type
500
+ const coins = await sdk_sui_1.SuiPlatform.getCoins(this.provider, sender, tokenId);
501
+ if (coins.length === 0) {
502
+ throw new Error(`No coins found for token type ${tokenId}`);
503
+ }
504
+ const [primaryCoin, ...mergeCoins] = coins;
505
+ if (!primaryCoin) {
506
+ throw new Error(`No primary coin found for token type ${tokenId}`);
507
+ }
508
+ const primaryCoinInput = txb.object(primaryCoin.coinObjectId);
509
+ // Merge additional coins if needed
510
+ if (mergeCoins.length > 0) {
511
+ txb.mergeCoins(primaryCoinInput, mergeCoins.map((coin) => txb.object(coin.coinObjectId)));
512
+ }
513
+ // Split the exact amount needed
514
+ return txb.splitCoins(primaryCoinInput, [amount]);
515
+ }
516
+ })();
517
+ // Create VersionGated object
518
+ const [versionGated] = txb.moveCall({
479
519
  target: `${packageId}::upgrades::new_version_gated`,
480
520
  arguments: [],
481
521
  });
482
522
  // Since prepare_transfer returns a tuple (TransferTicket, Balance), we need to properly
483
523
  // extract the individual elements. In Sui's transaction builder, we can access tuple elements
484
524
  // using array-like indexing on the result.
485
- const prepareResult = txb.moveCall({
525
+ const [ticket, dust] = txb.moveCall({
486
526
  target: `${packageId}::ntt::prepare_transfer`,
487
- typeArguments: [this.contracts.ntt["token"]],
527
+ typeArguments: [tokenId],
488
528
  arguments: [
489
529
  txb.object(this.contracts.ntt["manager"]), // state
490
530
  coin, // coins
491
531
  txb.object(coinMetadataId), // coin_meta
492
532
  txb.pure.u16(destinationChainId), // recipient_chain
493
- txb.pure.vector("u8", Array.from(destinationAddressBytes)), // recipient (as vector<u8>)
533
+ txb.pure.vector("u8", destinationAddressBytes), // recipient (as vector<u8>)
494
534
  txb.pure.option("vector<u8>", null), // payload (no payload for now)
495
535
  txb.pure.bool(options.queue || false), // should_queue
496
536
  ],
497
537
  });
498
- // Extract the TransferTicket (first element) from the tuple result
499
- // Use type assertions to bypass TypeScript's strict checking for tuple access
500
- const ticket = prepareResult[0];
501
- // const dust = (prepareResult)[1]; // Not using dust for now
502
- // Now call transfer_tx_sender with just the ticket
538
+ // Get next sequence number before calling transfer_tx_sender
539
+ const [sequenceBytes32] = txb.moveCall({
540
+ target: `${packageId}::state::get_next_sequence`,
541
+ typeArguments: [tokenId],
542
+ arguments: [txb.object(this.contracts.ntt["manager"])],
543
+ });
544
+ // Get Wormhole package ID
545
+ const wormholePackageId = await this.getWormholePackageId(this.provider, this.coreBridgeStateId);
546
+ // Now call transfer_tx_sender
503
547
  txb.moveCall({
504
548
  target: `${packageId}::ntt::transfer_tx_sender`,
505
- typeArguments: [this.contracts.ntt["token"]],
549
+ typeArguments: [tokenId],
506
550
  arguments: [
507
551
  txb.object(this.contracts.ntt["manager"]), // state (mutable)
508
- versionGated, // version_gated
552
+ versionGated, // version_gated (we know this exists from the previous call)
509
553
  txb.object(coinMetadataId), // coin_meta
510
- ticket, // Just the TransferTicket from the tuple
554
+ ticket, // TransferTicket (we know this exists from prepare_transfer)
555
+ txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
556
+ ],
557
+ });
558
+ // Get transceiver info
559
+ const transceiverStateId = this.contracts.ntt.transceiver?.["wormhole"];
560
+ if (!transceiverStateId) {
561
+ throw new Error("Wormhole transceiver not found in contracts");
562
+ }
563
+ // Get transceiver package ID
564
+ const transceiverPackageId = await this.getPackageIdFromObject(transceiverStateId);
565
+ // Create transceiver message
566
+ const [transceiverMessage] = txb.moveCall({
567
+ target: `${packageId}::state::create_transceiver_message`,
568
+ typeArguments: [
569
+ `${transceiverPackageId}::wormhole_transceiver::TransceiverAuth`,
570
+ tokenId,
571
+ ],
572
+ arguments: [
573
+ txb.object(this.contracts.ntt["manager"]),
574
+ sequenceBytes32,
511
575
  txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
512
576
  ],
513
577
  });
514
- // Note: For simplicity, we're not handling the dust balance for now
515
- // In a production implementation, you would want to handle the dust by:
516
- // - Converting the Balance to a Coin using coin::from_balance
517
- // - Transferring it back to the sender or handling it appropriately
578
+ // Release outbound message
579
+ const [messageTicket] = txb.moveCall({
580
+ target: `${transceiverPackageId}::wormhole_transceiver::release_outbound`,
581
+ typeArguments: [`${packageId}::auth::ManagerAuth`],
582
+ arguments: [txb.object(transceiverStateId), transceiverMessage],
583
+ });
584
+ // Split fee coin for publishing message
585
+ const [feeCoin] = txb.splitCoins(txb.gas, [txb.pure.u64(0n)]);
586
+ // Publish message to Wormhole
587
+ txb.moveCall({
588
+ target: `${wormholePackageId}::publish_message::publish_message`,
589
+ arguments: [
590
+ txb.object(this.coreBridgeStateId),
591
+ feeCoin,
592
+ messageTicket,
593
+ txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
594
+ ],
595
+ });
596
+ // Handle dust by converting back to coin and merging with gas if native or back to sender otherwise
597
+ const [dustCoin] = txb.moveCall({
598
+ target: `0x2::coin::from_balance`,
599
+ typeArguments: [tokenId],
600
+ arguments: [dust], // dust exists from prepare_transfer
601
+ });
602
+ if (isNativeToken) {
603
+ txb.mergeCoins(txb.gas, [dustCoin]);
604
+ }
605
+ else {
606
+ // Transfer dust back to sender for non-native tokens
607
+ txb.transferObjects([dustCoin], sender.toString());
608
+ }
518
609
  const unsignedTx = new sdk_sui_1.SuiUnsignedTransaction(txb, this.network, this.chain, "NTT Transfer");
519
610
  yield unsignedTx;
520
611
  }
@@ -535,20 +626,16 @@ class SuiNtt {
535
626
  if (!coinMetadata?.id) {
536
627
  throw new Error(`CoinMetadata not found for ${this.contracts.ntt["token"]}`);
537
628
  }
538
- // Process each attestation separately (like Circle Bridge and Solana NTT)
629
+ // Build transaction for all attestations
630
+ const txb = new transactions_1.Transaction();
539
631
  for (const attestation of attestations) {
540
- // Build transaction for this attestation
541
- const txb = new transactions_1.Transaction();
542
- // Create VersionGated object
543
- const versionGated = txb.moveCall({
544
- target: `${packageId}::upgrades::new_version_gated`,
545
- arguments: [],
546
- });
547
- // Add redeem calls for this attestation
548
- await this.addRedeemCall(txb, attestation, packageId, versionGated, coinMetadata.id);
549
- const unsignedTx = new sdk_sui_1.SuiUnsignedTransaction(txb, this.network, this.chain, "Redeem NTT Transfer");
550
- yield unsignedTx;
632
+ // Loop to add redeem call for all wormhole attestations
633
+ await this.addRedeemCall(txb, attestation, packageId, coinMetadata.id);
551
634
  }
635
+ // Add release call for all redeems
636
+ await this.addReleaseCall(txb, attestations, packageId, coinMetadata.id);
637
+ const unsignedTx = new sdk_sui_1.SuiUnsignedTransaction(txb, this.network, this.chain, "Redeem NTT Transfer");
638
+ yield unsignedTx;
552
639
  }
553
640
  async quoteDeliveryPrice(destination, options) {
554
641
  throw new Error("Not implemented");
@@ -763,9 +850,12 @@ class SuiNtt {
763
850
  }
764
851
  async getInboundQueuedTransfer(fromChain, transceiverMessage) {
765
852
  // Create an attestation object from the transceiver message
853
+ // The attestation needs to have the proper structure for getInboxItem to find it
766
854
  const attestation = {
767
855
  emitterChain: fromChain,
768
- hash: transceiverMessage.id,
856
+ payload: {
857
+ nttManagerPayload: transceiverMessage,
858
+ },
769
859
  };
770
860
  // Get the release status
771
861
  const releaseStatus = await this.getTransferReleaseStatus(attestation);
@@ -776,7 +866,7 @@ class SuiNtt {
776
866
  // The timestamp should be in the fields of the enum variant
777
867
  // TODO Not sure if this is the correct way to get the timestamp
778
868
  // I wasn't able to get the exact field name while debugging live
779
- const releaseTimestamp = parseInt(releaseStatus.fields?.[0]);
869
+ const releaseTimestamp = parseInt(releaseStatus.fields?.["pos0"]);
780
870
  // Get the full inbox item to access the transfer data
781
871
  const inboxItem = await this.getInboxItem(attestation);
782
872
  if (!inboxItem) {
@@ -804,7 +894,7 @@ class SuiNtt {
804
894
  // Try to get amount - prefer message payload, fallback to inbox data
805
895
  let amount;
806
896
  if (transceiverMessage.payload?.trimmedAmount) {
807
- amount = BigInt(transceiverMessage.payload.trimmedAmount.toString());
897
+ amount = transceiverMessage.payload.trimmedAmount.amount;
808
898
  }
809
899
  else if (transferData.amount) {
810
900
  amount = BigInt(transferData.amount.toString());
@@ -813,11 +903,11 @@ class SuiNtt {
813
903
  // If we can't find amount, return null
814
904
  return null;
815
905
  }
816
- // Return the queued transfer info matching Solana's structure
906
+ // Return the queued transfer info
817
907
  const xfer = {
818
908
  recipient: recipientAddress,
819
909
  amount: amount,
820
- rateLimitExpiryTimestamp: releaseTimestamp,
910
+ rateLimitExpiryTimestamp: releaseTimestamp / 1000, // NTT route expects seconds
821
911
  };
822
912
  return xfer;
823
913
  }
@@ -828,9 +918,12 @@ class SuiNtt {
828
918
  throw new Error("Contract is paused");
829
919
  }
830
920
  // Create an attestation from the transceiverMessage
921
+ // Need proper payload structure to match getInboxItem expectations
831
922
  const attestation = {
832
923
  emitterChain: fromChain,
833
- hash: transceiverMessage.id,
924
+ payload: {
925
+ nttManagerPayload: transceiverMessage,
926
+ },
834
927
  };
835
928
  // Call redeem with the attestation
836
929
  yield* this.redeem([attestation], payer);
@@ -1071,8 +1164,99 @@ class SuiNtt {
1071
1164
  }
1072
1165
  return state.upgrade_cap_id;
1073
1166
  }
1167
+ async addReleaseCall(txb, attestations, packageId, coinMetadataId) {
1168
+ // Find the wormhole attestation
1169
+ const wormholeAttestation = attestations.find((a) => a.payloadName === "WormholeTransfer");
1170
+ if (!wormholeAttestation) {
1171
+ throw new Error("No wormhole attestation found");
1172
+ }
1173
+ // Get manager state to extract nttCommonPackageId
1174
+ const managerState = await this.provider.getObject({
1175
+ id: this.contracts.ntt["manager"],
1176
+ options: { showContent: true },
1177
+ });
1178
+ if (!managerState.data?.content ||
1179
+ managerState.data.content.dataType !== "moveObject") {
1180
+ throw new Error("Failed to fetch manager state");
1181
+ }
1182
+ const managerStateObject = managerState.data.content;
1183
+ // Extract nttCommonPackageId from manager object
1184
+ const nttCommonPackageId = managerStateObject.fields.inbox.type
1185
+ .match("<(.+)>")?.[1]
1186
+ ?.split("::")[0];
1187
+ if (!nttCommonPackageId) {
1188
+ throw new Error(`Unable to parse inbox type from manager state: ${managerStateObject.fields.inbox.type}`);
1189
+ }
1190
+ // Get manager payload
1191
+ const nttPayload = wormholeAttestation.payload.nttManagerPayload;
1192
+ // Get NTT object
1193
+ // We need this to create the manager message (see ntt_manager_message::new)
1194
+ let payloadBytes;
1195
+ try {
1196
+ payloadBytes = (0, sdk_base_1.serializeLayout)(sdk_definitions_ntt_1.nativeTokenTransferLayout, nttPayload.payload);
1197
+ }
1198
+ catch (error) {
1199
+ throw new Error(`Failed to serialize native token transfer payload: ${error instanceof Error ? error.message : String(error)}`);
1200
+ }
1201
+ const [native_token_transfer] = txb.moveCall({
1202
+ target: `${nttCommonPackageId}::native_token_transfer::parse`,
1203
+ arguments: [txb.pure.vector("u8", payloadBytes)],
1204
+ });
1205
+ if (!native_token_transfer) {
1206
+ throw new Error("Failed to parse native token transfer");
1207
+ }
1208
+ const wormholeCoreBridgePackageId = await this.getWormholePackageId(this.provider, this.coreBridgeStateId);
1209
+ const [id] = txb.moveCall({
1210
+ target: `${wormholeCoreBridgePackageId}::bytes32::from_bytes`,
1211
+ arguments: [txb.pure.vector("u8", nttPayload.id)],
1212
+ });
1213
+ if (!id) {
1214
+ throw new Error("Failed to create message ID from bytes");
1215
+ }
1216
+ const [sender] = txb.moveCall({
1217
+ target: `${wormholeCoreBridgePackageId}::external_address::from_address`,
1218
+ arguments: [
1219
+ txb.pure.address(sdk_base_1.encoding.hex.encode(nttPayload.sender.toUint8Array(), true)),
1220
+ ],
1221
+ });
1222
+ if (!sender) {
1223
+ throw new Error("Failed to create external address from sender");
1224
+ }
1225
+ // Get NttManagerMessage
1226
+ const [manager_message] = txb.moveCall({
1227
+ target: `${nttCommonPackageId}::ntt_manager_message::new`,
1228
+ typeArguments: [
1229
+ `${nttCommonPackageId}::native_token_transfer::NativeTokenTransfer`,
1230
+ ],
1231
+ arguments: [id, sender, native_token_transfer],
1232
+ });
1233
+ if (!manager_message) {
1234
+ throw new Error("Failed to create manager message");
1235
+ }
1236
+ // Create version gated object for release
1237
+ const [versionGated] = txb.moveCall({
1238
+ target: `${packageId}::upgrades::new_version_gated`,
1239
+ arguments: [],
1240
+ });
1241
+ if (!versionGated) {
1242
+ throw new Error("Failed to create version gated object");
1243
+ }
1244
+ // Call ntt::release
1245
+ txb.moveCall({
1246
+ target: `${packageId}::ntt::release`,
1247
+ typeArguments: [this.contracts.ntt["token"]],
1248
+ arguments: [
1249
+ txb.object(this.contracts.ntt["manager"]),
1250
+ versionGated,
1251
+ txb.pure.u16((0, sdk_base_1.chainToChainId)(wormholeAttestation.emitterChain)),
1252
+ manager_message,
1253
+ txb.object(coinMetadataId),
1254
+ txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
1255
+ ],
1256
+ });
1257
+ }
1074
1258
  // Helper function to add redeem call for a single attestation
1075
- async addRedeemCall(txb, attestation, packageId, versionGated, coinMetadataId) {
1259
+ async addRedeemCall(txb, attestation, packageId, coinMetadataId) {
1076
1260
  // Get the transceiver
1077
1261
  const wormholeTransceiverStateId = this.contracts.ntt["transceiver"]?.["wormhole"];
1078
1262
  if (!wormholeTransceiverStateId) {
@@ -1109,6 +1293,11 @@ class SuiNtt {
1109
1293
  if (!validatedMessage) {
1110
1294
  throw new Error("Failed to validate VAA through transceiver");
1111
1295
  }
1296
+ // Create VersionGated object
1297
+ const versionGated = txb.moveCall({
1298
+ target: `${packageId}::upgrades::new_version_gated`,
1299
+ arguments: [],
1300
+ });
1112
1301
  // Now call redeem function with the validated message
1113
1302
  txb.moveCall({
1114
1303
  target: `${packageId}::ntt::redeem`,
@@ -1 +1 @@
1
- {"version":3,"file":"ntt.js","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ntt.js","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}