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

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ntt.js","sourceRoot":"","sources":["../../src/ntt.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import type { Chain, Network } from "@wormhole-foundation/sdk-base";
2
+ import { Contracts, UnsignedTransaction, type AccountAddress, type ChainAddress, type ChainsConfig } from "@wormhole-foundation/sdk-definitions";
3
+ import { Ntt, NttWithExecutor } from "@wormhole-foundation/sdk-definitions-ntt";
4
+ import { SuiChains, type SuiPlatformType } from "@wormhole-foundation/sdk-sui";
5
+ import { SuiClient } from "@mysten/sui/client";
6
+ import { SuiNtt } from "./ntt.js";
7
+ export declare class SuiNttWithExecutor<N extends Network, C extends SuiChains> implements NttWithExecutor<N, C> {
8
+ readonly network: N;
9
+ readonly chain: C;
10
+ readonly provider: SuiClient;
11
+ readonly contracts: Contracts & {
12
+ ntt?: Ntt.Contracts;
13
+ };
14
+ readonly executorId: string;
15
+ readonly executorRequestsId: string;
16
+ readonly coreBridgeStateId: string;
17
+ readonly nttContracts: Ntt.Contracts | undefined;
18
+ constructor(network: N, chain: C, provider: SuiClient, contracts: Contracts & {
19
+ ntt?: Ntt.Contracts;
20
+ });
21
+ static fromRpc<N extends Network>(provider: SuiClient, config: ChainsConfig<N, SuiPlatformType>): Promise<SuiNttWithExecutor<N, SuiChains>>;
22
+ transfer(sender: AccountAddress<C>, destination: ChainAddress, amount: bigint, quote: NttWithExecutor.Quote, ntt: SuiNtt<N, C>, wrapNative?: boolean): AsyncGenerator<UnsignedTransaction<N, C>>;
23
+ private createSuiNttTransferWithExecutor;
24
+ estimateMsgValueAndGasLimit(recipient: ChainAddress | undefined): Promise<{
25
+ msgValue: bigint;
26
+ gasLimit: bigint;
27
+ }>;
28
+ getSupportedDestinationChains(): Promise<Chain[]>;
29
+ private getFieldsFromObjectResponse;
30
+ private getObjectFields;
31
+ private getWormholePackageId;
32
+ private getPackageId;
33
+ private getTransceivers;
34
+ }
35
+ //# sourceMappingURL=nttWithExecutor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nttWithExecutor.d.ts","sourceRoot":"","sources":["../../src/nttWithExecutor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EACL,SAAS,EACT,mBAAmB,EACnB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAGL,SAAS,EAET,KAAK,eAAe,EAErB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAsBlC,qBAAa,kBAAkB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACpE,YAAW,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC;IAQ9B,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,SAAS;IAC5B,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,CAAA;KAAE;IATzD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;gBAGtC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,SAAS,EACnB,SAAS,EAAE,SAAS,GAAG;QAAE,GAAG,CAAC,EAAE,GAAG,CAAC,SAAS,CAAA;KAAE;WAe5C,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,QAAQ,EAAE,SAAS,EACnB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,eAAe,CAAC,GACvC,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAcrC,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,WAAW,EAAE,YAAY,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,CAAC,KAAK,EAC5B,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACjB,UAAU,GAAE,OAAe,GAC1B,cAAc,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAkC9B,gCAAgC;IAqSxC,2BAA2B,CAC/B,SAAS,EAAE,YAAY,GAAG,SAAS,GAClC,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAW5C,6BAA6B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAcvD,OAAO,CAAC,2BAA2B;YAKrB,eAAe;YAiBf,oBAAoB;YAiCpB,YAAY;YAwBZ,eAAe;CAmC9B"}
@@ -0,0 +1,395 @@
1
+ import { chainToChainId } from "@wormhole-foundation/sdk-base";
2
+ import { isSameType, SuiAddress, SuiPlatform, SuiUnsignedTransaction, } from "@wormhole-foundation/sdk-sui";
3
+ import { PublicKey } from "@solana/web3.js";
4
+ import { Transaction } from "@mysten/sui/transactions";
5
+ import { isValidSuiAddress, SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
6
+ // TODO: Add Mainnet addresses when available
7
+ const SUI_ADDRESSES = {
8
+ Mainnet: {
9
+ executorId: "0xdb0fe8bb1e2b5be628adbea0636063325073e1070ee11e4281457dfd7f158235",
10
+ executorRequestsId: "0xa55f6f81649b071b5967dc56227bbee289e4c411ab610caeec7abce499e262b8",
11
+ coreBridgeStateId: "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c",
12
+ },
13
+ Testnet: {
14
+ executorId: "0x4000cfe2955d8355b3d3cf186f854fea9f787a457257056926fde1ec977670eb",
15
+ executorRequestsId: "0x8e5ec98738885325294060fd067fde47e10313bedc531d0500b24a752be41788",
16
+ coreBridgeStateId: "0x31358d198147da50db32eda2562951d53973a0c0ad5ed738e9b17d88b213d790",
17
+ },
18
+ };
19
+ export class SuiNttWithExecutor {
20
+ network;
21
+ chain;
22
+ provider;
23
+ contracts;
24
+ executorId;
25
+ executorRequestsId;
26
+ coreBridgeStateId;
27
+ nttContracts;
28
+ constructor(network, chain, provider, contracts) {
29
+ this.network = network;
30
+ this.chain = chain;
31
+ this.provider = provider;
32
+ this.contracts = contracts;
33
+ if (!SUI_ADDRESSES[network]) {
34
+ throw new Error(`Network ${network} not supported`);
35
+ }
36
+ this.executorId =
37
+ SUI_ADDRESSES[network].executorId;
38
+ this.executorRequestsId =
39
+ SUI_ADDRESSES[network].executorRequestsId;
40
+ this.coreBridgeStateId =
41
+ SUI_ADDRESSES[network].coreBridgeStateId;
42
+ this.nttContracts = contracts.ntt;
43
+ }
44
+ static async fromRpc(provider, config) {
45
+ const [network, chain] = await SuiPlatform.chainFromRpc(provider);
46
+ const conf = config[chain];
47
+ if (conf.network !== network)
48
+ throw new Error(`Network mismatch: ${conf.network} != ${network}`);
49
+ return new SuiNttWithExecutor(network, chain, provider, conf.contracts);
50
+ }
51
+ async *transfer(sender, destination, amount, quote, ntt, wrapNative = false) {
52
+ // Validate the quote hasn't expired
53
+ if (new Date() > quote.expires) {
54
+ throw new Error("Quote has expired");
55
+ }
56
+ // Validate destination chain is supported (Solana and Evm only for executor)
57
+ const supportedDestChains = await this.getSupportedDestinationChains();
58
+ if (!supportedDestChains.includes(destination.chain)) {
59
+ throw new Error("Executor only supports Solana and EVM destination chains");
60
+ }
61
+ // Create a single transaction following executor pattern
62
+ const tx = await this.createSuiNttTransferWithExecutor(sender, destination, amount, quote, ntt);
63
+ // Create and yield the complete transaction
64
+ const executorTx = new SuiUnsignedTransaction(tx, this.network, this.chain, "NTT Transfer with Executor");
65
+ yield executorTx;
66
+ }
67
+ async createSuiNttTransferWithExecutor(sender, destination, amount, quote, ntt) {
68
+ const tx = new Transaction();
69
+ const destinationChainId = chainToChainId(destination.chain);
70
+ // Get required package and object IDs
71
+ const managerStateId = ntt.contracts.ntt["manager"];
72
+ const token = ntt.contracts.ntt["token"];
73
+ const isNativeToken = typeof token === "string" && token === "native";
74
+ const tokenAddress = new SuiAddress(isNativeToken
75
+ ? SuiPlatform.nativeTokenId(this.network, this.chain).address
76
+ : token);
77
+ const coinType = tokenAddress.getCoinType();
78
+ const { packageId, fields } = await this.getPackageId(ntt.provider, managerStateId);
79
+ // Get transceiver info
80
+ const [transceiverStateId] = await this.getTransceivers(ntt.provider, fields.transceivers.fields.id.id);
81
+ if (!transceiverStateId) {
82
+ throw new Error("No transceiver state ID found");
83
+ }
84
+ // Get package ID for transceiver
85
+ const { packageId: transceiverId } = await this.getPackageId(ntt.provider, transceiverStateId);
86
+ // Convert destination address to bytes
87
+ let destinationAddressBytes;
88
+ try {
89
+ if (destination.address.toUniversalAddress) {
90
+ destinationAddressBytes = destination.address
91
+ .toUniversalAddress()
92
+ .toUint8Array();
93
+ }
94
+ else {
95
+ destinationAddressBytes = destination.address.toUint8Array();
96
+ }
97
+ }
98
+ catch (error) {
99
+ throw new Error(`Failed to convert destination address to bytes: ${error instanceof Error ? error.message : String(error)}`);
100
+ }
101
+ // Get coin metadata
102
+ const coinMetadata = await ntt.provider.getCoinMetadata({
103
+ coinType,
104
+ });
105
+ if (!coinMetadata?.id) {
106
+ throw new Error(`CoinMetadata not found for ${coinType}`);
107
+ }
108
+ const coinMetadataId = coinMetadata.id;
109
+ // Split coins for transfer amount
110
+ // Handle separate cases for native vs. non-native tokens
111
+ const [coin] = await (async () => {
112
+ if (typeof token === "string" && token === "native") {
113
+ return tx.splitCoins(tx.gas, [tx.pure.u64(amount)]);
114
+ }
115
+ else {
116
+ const coins = await SuiPlatform.getCoins(this.provider, sender, coinType);
117
+ const [primaryCoin, ...mergeCoins] = coins.filter((coin) => isSameType(coin.coinType, coinType));
118
+ if (primaryCoin === undefined) {
119
+ throw new Error(`Coins array doesn't contain any coins of type ${coinType}`);
120
+ }
121
+ const primaryCoinInput = tx.object(primaryCoin.coinObjectId);
122
+ if (mergeCoins.length) {
123
+ tx.mergeCoins(primaryCoinInput, mergeCoins.map((coin) => tx.object(coin.coinObjectId)));
124
+ }
125
+ return tx.splitCoins(primaryCoinInput, [tx.pure.u64(amount)]);
126
+ }
127
+ })();
128
+ // Create VersionGated object
129
+ const [versionGated] = tx.moveCall({
130
+ target: `${packageId}::upgrades::new_version_gated`,
131
+ arguments: [],
132
+ });
133
+ // Prepare the transfer
134
+ const [ticket, dust] = tx.moveCall({
135
+ target: `${packageId}::ntt::prepare_transfer`,
136
+ typeArguments: [coinType],
137
+ arguments: [
138
+ tx.object(managerStateId),
139
+ coin,
140
+ tx.object(coinMetadataId),
141
+ tx.pure.u16(destinationChainId),
142
+ tx.pure.vector("u8", Array.from(destinationAddressBytes)),
143
+ tx.pure.option("vector<u8>", null),
144
+ tx.pure.bool(false),
145
+ ],
146
+ });
147
+ // Get source chain info
148
+ const [sourceChain] = tx.moveCall({
149
+ target: `${packageId}::state::get_chain_id`,
150
+ typeArguments: [coinType],
151
+ arguments: [tx.object(managerStateId)],
152
+ });
153
+ // Get next sequence number
154
+ const [sequenceBytes32] = tx.moveCall({
155
+ target: `${packageId}::state::get_next_sequence`,
156
+ typeArguments: [coinType],
157
+ arguments: [tx.object(managerStateId)],
158
+ });
159
+ const coreBridgePackageId = await this.getWormholePackageId(this.provider, this.coreBridgeStateId);
160
+ // Convert sequence bytes32 to Sui object
161
+ const [sequence] = tx.moveCall({
162
+ target: `${coreBridgePackageId}::bytes32::to_bytes`,
163
+ arguments: [sequenceBytes32],
164
+ });
165
+ // Execute the transfer
166
+ tx.moveCall({
167
+ target: `${packageId}::ntt::transfer_tx_sender`,
168
+ typeArguments: [coinType],
169
+ arguments: [
170
+ tx.object(managerStateId),
171
+ versionGated,
172
+ tx.object(coinMetadataId),
173
+ ticket,
174
+ tx.object(SUI_CLOCK_OBJECT_ID),
175
+ ],
176
+ });
177
+ // Create transceiver message
178
+ const [transceiverMessage] = tx.moveCall({
179
+ target: `${packageId}::state::create_transceiver_message`,
180
+ typeArguments: [
181
+ `${transceiverId}::wormhole_transceiver::TransceiverAuth`,
182
+ coinType,
183
+ ],
184
+ arguments: [
185
+ tx.object(managerStateId),
186
+ sequenceBytes32,
187
+ tx.object(SUI_CLOCK_OBJECT_ID),
188
+ ],
189
+ });
190
+ // Release outbound message
191
+ const [messageTicket] = tx.moveCall({
192
+ target: `${transceiverId}::wormhole_transceiver::release_outbound`,
193
+ typeArguments: [`${packageId}::auth::ManagerAuth`],
194
+ arguments: [tx.object(transceiverStateId), transceiverMessage],
195
+ });
196
+ // Split fee coin for publishing message
197
+ const [feeCoin] = tx.splitCoins(tx.gas, [tx.pure.u64(0n)]);
198
+ // Publish message to Wormhole
199
+ tx.moveCall({
200
+ target: `${coreBridgePackageId}::publish_message::publish_message`,
201
+ arguments: [
202
+ tx.object(this.coreBridgeStateId),
203
+ feeCoin,
204
+ messageTicket,
205
+ tx.object(SUI_CLOCK_OBJECT_ID),
206
+ ],
207
+ });
208
+ // Handle dust by converting back to coin and merging with gas if native or back to sender otherwise
209
+ const [dustCoin] = tx.moveCall({
210
+ target: `0x2::coin::from_balance`,
211
+ typeArguments: [coinType],
212
+ arguments: [dust],
213
+ });
214
+ if (isNativeToken) {
215
+ tx.mergeCoins(tx.gas, [dustCoin]);
216
+ }
217
+ else {
218
+ tx.transferObjects([dustCoin], `0x${Buffer.from(sender.address).toString("hex")}`);
219
+ }
220
+ // Handle referrer fee if present
221
+ if (quote.referrerFee > 0n) {
222
+ // Convert referrer address to Sui address format
223
+ const referrerAddress = `0x${Buffer.from(quote.referrer.address.toUint8Array()).toString("hex")}`;
224
+ // Split coins for referrer fee from gas
225
+ const [referrerCoin] = tx.splitCoins(tx.gas, [
226
+ quote.referrerFee.toString(),
227
+ ]);
228
+ // Transfer the referrer fee
229
+ tx.transferObjects([referrerCoin], referrerAddress);
230
+ }
231
+ // Convert manager state ID to bytes
232
+ const managerStateBytes = Buffer.from(managerStateId.substring(2), "hex");
233
+ // Make NTT v1 request
234
+ const [requestBytes] = tx.moveCall({
235
+ target: `${this.executorRequestsId}::executor_requests::make_ntt_v1_request`,
236
+ arguments: [
237
+ sourceChain,
238
+ tx.pure.vector("u8", managerStateBytes),
239
+ sequence,
240
+ ],
241
+ });
242
+ // Split coins for executor fee
243
+ const [executorCoin] = tx.splitCoins(tx.gas, [
244
+ tx.pure.u64(quote.estimatedCost),
245
+ ]);
246
+ // Handle destination address for Solana and other chains
247
+ let destinationAddress;
248
+ if (destination.chain === "Solana") {
249
+ const destAddrString = destination.address.toString();
250
+ const pubkey = new PublicKey(destAddrString);
251
+ destinationAddress = `0x${pubkey.toBuffer().toString("hex")}`;
252
+ }
253
+ else {
254
+ destinationAddress = destination.address.toString();
255
+ if (!destinationAddress.startsWith("0x")) {
256
+ destinationAddress = `0x${destinationAddress}`;
257
+ }
258
+ }
259
+ // Get destination manager address from NTT peer
260
+ let destinationManagerAddress;
261
+ const peer = (await ntt.getPeer(destination.chain))?.address;
262
+ if (peer) {
263
+ destinationManagerAddress = peer.address.toString();
264
+ }
265
+ let executorDestAddress;
266
+ if (destinationManagerAddress) {
267
+ executorDestAddress = destinationManagerAddress;
268
+ }
269
+ else {
270
+ executorDestAddress = destinationAddress;
271
+ }
272
+ // Call request_execution on the executor
273
+ tx.moveCall({
274
+ target: `${this.executorId}::executor::request_execution`,
275
+ arguments: [
276
+ executorCoin, // payment for execution
277
+ tx.object(SUI_CLOCK_OBJECT_ID),
278
+ tx.pure.u16(destinationChainId), // destination chain
279
+ tx.pure.address(executorDestAddress), // destination manager address
280
+ tx.pure.address(typeof sender === "string"
281
+ ? sender
282
+ : `0x${Array.from(sender.address || [])
283
+ .map((b) => b.toString(16).padStart(2, "0"))
284
+ .join("")}`), // payer address
285
+ tx.pure.vector("u8", Array.from(quote.signedQuote)),
286
+ requestBytes,
287
+ tx.pure.vector("u8", Array.from(quote.relayInstructions)),
288
+ ],
289
+ });
290
+ return tx;
291
+ }
292
+ async estimateMsgValueAndGasLimit(recipient) {
293
+ // Message value should be 0 for Sui executor
294
+ let msgValue = 0n;
295
+ // Gas limit here is an estimate based on the complexity of our operations
296
+ const gasLimit = 10000000n;
297
+ return { msgValue, gasLimit };
298
+ }
299
+ // Utility method to get supported destination chains
300
+ async getSupportedDestinationChains() {
301
+ // Sui executor supports Solana and EVM chains
302
+ return [
303
+ "Solana",
304
+ "Ethereum",
305
+ "Bsc",
306
+ "Polygon",
307
+ "Avalanche",
308
+ "Arbitrum",
309
+ "Optimism",
310
+ "Base",
311
+ ];
312
+ }
313
+ getFieldsFromObjectResponse(object) {
314
+ const content = object.data?.content;
315
+ return content && content.dataType === "moveObject" ? content.fields : null;
316
+ }
317
+ async getObjectFields(provider, objectId) {
318
+ if (!isValidSuiAddress(objectId)) {
319
+ throw new Error(`Invalid object ID: ${objectId}`);
320
+ }
321
+ const res = await provider.getObject({
322
+ id: objectId,
323
+ options: {
324
+ showContent: true,
325
+ },
326
+ });
327
+ return this.getFieldsFromObjectResponse(res);
328
+ }
329
+ async getWormholePackageId(provider, coreBridgeStateId) {
330
+ let currentPackage;
331
+ let nextCursor;
332
+ do {
333
+ const dynamicFields = await provider.getDynamicFields({
334
+ parentId: coreBridgeStateId,
335
+ cursor: nextCursor,
336
+ });
337
+ currentPackage = dynamicFields.data.find((field) => field.name.type.endsWith("CurrentPackage"));
338
+ nextCursor = dynamicFields.hasNextPage ? dynamicFields.nextCursor : null;
339
+ } while (nextCursor && !currentPackage);
340
+ if (!currentPackage) {
341
+ throw new Error("CurrentPackage not found");
342
+ }
343
+ const fields = await this.getObjectFields(provider, currentPackage.objectId);
344
+ const packageId = fields?.["value"]?.fields?.package;
345
+ if (!packageId) {
346
+ throw new Error("Unable to get current package");
347
+ }
348
+ return packageId;
349
+ }
350
+ async getPackageId(provider, stateId) {
351
+ const state = await provider.getObject({
352
+ id: stateId,
353
+ options: { showContent: true },
354
+ });
355
+ if (!state.data?.content || state.data.content.dataType !== "moveObject") {
356
+ throw new Error("Failed to fetch state object");
357
+ }
358
+ const objectType = state.data.content.type;
359
+ const packageId = objectType.split("::")[0];
360
+ if (!packageId || !packageId.startsWith("0x")) {
361
+ throw new Error("Could not extract package ID from state object type");
362
+ }
363
+ const fields = state.data.content.fields;
364
+ return { packageId, fields };
365
+ }
366
+ async getTransceivers(provider, transceiverRegistryId) {
367
+ const dynamicFields = await provider.getDynamicFields({
368
+ parentId: transceiverRegistryId,
369
+ });
370
+ for (const field of dynamicFields.data) {
371
+ if (field.name?.type?.includes("transceiver_registry::Key")) {
372
+ try {
373
+ const transceiverInfo = await provider.getObject({
374
+ id: field.objectId,
375
+ options: { showContent: true },
376
+ });
377
+ if (transceiverInfo.data?.content &&
378
+ transceiverInfo.data.content.dataType === "moveObject") {
379
+ const infoFields = transceiverInfo.data.content.fields
380
+ .value.fields;
381
+ const transceiverIndex = infoFields.id;
382
+ if (transceiverIndex === 0) {
383
+ return [infoFields.state_object_id];
384
+ }
385
+ }
386
+ }
387
+ catch (e) {
388
+ console.warn(`Failed to read transceiver info: ${e}`);
389
+ }
390
+ }
391
+ }
392
+ throw new Error("Unable to find transceivers");
393
+ }
394
+ }
395
+ //# sourceMappingURL=nttWithExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nttWithExecutor.js","sourceRoot":"","sources":["../../src/nttWithExecutor.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@wormhole-foundation/sdk-sui-ntt",
3
+ "version": "2.0.0-beta-1",
4
+ "repository": {
5
+ "type": "git",
6
+ "url": "git+https://github.com/wormhole-foundation/example-native-token-transfers.git"
7
+ },
8
+ "bugs": {
9
+ "url": "https://github.com/wormhole-foundation/example-native-token-transfers"
10
+ },
11
+ "directories": {
12
+ "test": "__tests__"
13
+ },
14
+ "license": "Apache-2.0",
15
+ "main": "./dist/cjs/index.js",
16
+ "types": "./dist/cjs/index.d.ts",
17
+ "module": "./dist/esm/index.js",
18
+ "description": "NTT SDK for Sui",
19
+ "files": [
20
+ "dist/esm",
21
+ "dist/cjs"
22
+ ],
23
+ "keywords": [
24
+ "wormhole",
25
+ "sdk",
26
+ "typescript",
27
+ "ntt",
28
+ "sui"
29
+ ],
30
+ "engines": {
31
+ "node": ">=16"
32
+ },
33
+ "sideEffects": true,
34
+ "scripts": {
35
+ "build:cjs": "tsc -p ./tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
36
+ "build:esm": "tsc -p ./tsconfig.esm.json",
37
+ "build": "npm run build:esm && npm run build:cjs",
38
+ "rebuild": "npm run clean && npm run build",
39
+ "clean": "rm -rf ./dist",
40
+ "test": "jest --config ./jest.config.ts"
41
+ },
42
+ "dependencies": {
43
+ "@wormhole-foundation/sdk-definitions-ntt": "2.0.0-beta-1",
44
+ "@mysten/sui": "^1.26.1"
45
+ },
46
+ "peerDependencies": {
47
+ "@wormhole-foundation/sdk-base": "^2.4.0",
48
+ "@wormhole-foundation/sdk-definitions": "^2.4.0",
49
+ "@wormhole-foundation/sdk-sui": "^2.4.0",
50
+ "@wormhole-foundation/sdk-sui-core": "^2.4.0"
51
+ },
52
+ "type": "module",
53
+ "exports": {
54
+ ".": {
55
+ "import": {
56
+ "types": "./dist/esm/index.d.ts",
57
+ "default": "./dist/esm/index.js"
58
+ },
59
+ "require": {
60
+ "types": "./dist/cjs/index.d.ts",
61
+ "default": "./dist/cjs/index.js"
62
+ }
63
+ }
64
+ }
65
+ }