@wormhole-foundation/sdk-sui-tokenbridge 4.23.0 → 5.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.
Files changed (38) hide show
  1. package/dist/esm/automaticTokenBridge.d.ts +9 -5
  2. package/dist/esm/automaticTokenBridge.d.ts.map +1 -1
  3. package/dist/esm/automaticTokenBridge.js +51 -87
  4. package/dist/esm/automaticTokenBridge.js.map +1 -1
  5. package/dist/esm/executorTokenBridge.d.ts +6 -5
  6. package/dist/esm/executorTokenBridge.d.ts.map +1 -1
  7. package/dist/esm/executorTokenBridge.js +1 -3
  8. package/dist/esm/executorTokenBridge.js.map +1 -1
  9. package/dist/esm/tokenBridge.d.ts +4 -4
  10. package/dist/esm/tokenBridge.d.ts.map +1 -1
  11. package/dist/esm/tokenBridge.js +62 -113
  12. package/dist/esm/tokenBridge.js.map +1 -1
  13. package/dist/esm/utils.d.ts +8 -3
  14. package/dist/esm/utils.d.ts.map +1 -1
  15. package/dist/esm/utils.js +38 -45
  16. package/dist/esm/utils.js.map +1 -1
  17. package/package.json +13 -31
  18. package/dist/cjs/automaticTokenBridge.d.ts +0 -34
  19. package/dist/cjs/automaticTokenBridge.d.ts.map +0 -1
  20. package/dist/cjs/automaticTokenBridge.js +0 -315
  21. package/dist/cjs/automaticTokenBridge.js.map +0 -1
  22. package/dist/cjs/executorTokenBridge.d.ts +0 -26
  23. package/dist/cjs/executorTokenBridge.d.ts.map +0 -1
  24. package/dist/cjs/executorTokenBridge.js +0 -208
  25. package/dist/cjs/executorTokenBridge.js.map +0 -1
  26. package/dist/cjs/index.d.ts +0 -5
  27. package/dist/cjs/index.d.ts.map +0 -1
  28. package/dist/cjs/index.js +0 -28
  29. package/dist/cjs/index.js.map +0 -1
  30. package/dist/cjs/package.json +0 -1
  31. package/dist/cjs/tokenBridge.d.ts +0 -33
  32. package/dist/cjs/tokenBridge.d.ts.map +0 -1
  33. package/dist/cjs/tokenBridge.js +0 -478
  34. package/dist/cjs/tokenBridge.js.map +0 -1
  35. package/dist/cjs/utils.d.ts +0 -4
  36. package/dist/cjs/utils.d.ts.map +0 -1
  37. package/dist/cjs/utils.js +0 -69
  38. package/dist/cjs/utils.js.map +0 -1
@@ -1,8 +1,8 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
- import { SUI_CLOCK_OBJECT_ID, SUI_TYPE_ARG, normalizeSuiObjectId } from "@mysten/sui/utils";
2
+ import { SUI_CLOCK_OBJECT_ID, SUI_TYPE_ARG, normalizeSuiAddress, normalizeSuiObjectId, } from "@mysten/sui/utils";
3
3
  import { ErrNotWrapped, UniversalAddress, canonicalAddress, encoding, isNative, keccak256, nativeChainIds, serialize, toChain, toChainId, toNative, } from "@wormhole-foundation/sdk-connect";
4
4
  import { SuiAddress } from "@wormhole-foundation/sdk-sui";
5
- import { SuiPlatform, SuiUnsignedTransaction, getCoinTypeFromPackageId, getFieldsFromObjectResponse, getObjectFields, getOldestEmitterCapObjectId, getOriginalPackageId, getPackageId, getTableKeyType, isMoveStructObject, isMoveStructStruct, isSameType, isSuiCreateEvent, isSuiPublishEvent, isValidSuiType, publishPackage, trimSuiType, } from "@wormhole-foundation/sdk-sui";
5
+ import { SuiPlatform, SuiUnsignedTransaction, bytesVectorName, getDynamicFieldValue, getObjectFields, getOldestEmitterCapObjectId, getOriginalPackageId, getPackageId, isMoveStructObject, isSameType, isValidSuiType, publishPackage, trimSuiType, } from "@wormhole-foundation/sdk-sui";
6
6
  import { getTokenCoinType, getTokenFromTokenRegistry } from "./utils.js";
7
7
  import "@wormhole-foundation/sdk-sui-core";
8
8
  export class SuiTokenBridge {
@@ -49,38 +49,23 @@ export class SuiTokenBridge {
49
49
  if (!isValidSuiType(coinType))
50
50
  throw new Error(`Invalid Sui type: ${coinType}`);
51
51
  const res = await getTokenFromTokenRegistry(this.provider, this.tokenBridgeObjectId, coinType);
52
- const fields = getFieldsFromObjectResponse(res);
53
- if (!fields)
52
+ if (!res || !res.json || !("value" in res.json))
54
53
  throw ErrNotWrapped(coinType);
55
- if (!isMoveStructObject(fields))
56
- throw new Error("Expected fields to be a MoveStruct");
57
- if (!("value" in fields))
58
- throw new Error("Expected a `value` key in fields of MoveStruct");
59
- const val = fields["value"];
60
- if (!isMoveStructStruct(val))
61
- throw new Error("Expected fields to be a MoveStruct");
62
- // Normalize types
63
- const type = trimSuiType(val.type);
54
+ const val = res.json["value"];
55
+ // In gRPC flat json the registry-entry struct type isn't on the value; it's encoded
56
+ // on the dynamic-field object's top-level type (Field<Key<T>, WrappedAsset<T>>).
57
+ const type = trimSuiType(res.type);
64
58
  coinType = trimSuiType(coinType);
65
59
  // Check if wrapped or native asset. We check inclusion instead of equality
66
60
  // because it saves us from making an additional RPC call to fetch the package ID.
67
61
  if (type.includes(`wrapped_asset::WrappedAsset<${coinType}>`)) {
68
- const info = val.fields["info"];
69
- if (!isMoveStructStruct(info))
70
- throw new Error("Expected fields to be a MoveStruct");
71
- const address = info.fields["token_address"];
72
- if (!isMoveStructStruct(address))
73
- throw new Error("Expected fields to be a MoveStruct");
74
- if (!isMoveStructObject(address.fields))
75
- throw new Error("Expected address data to be a MoveObject");
76
- if (!("value" in address.fields))
77
- throw new Error("Expected a `value` key in fields of MoveStruct");
78
- const addressVal = address.fields["value"];
79
- if (!isMoveStructStruct(addressVal))
80
- throw new Error("Expected fields to be a MoveStruct");
81
- const universalAddress = new Uint8Array(addressVal.fields["data"]);
62
+ const info = val["info"];
63
+ if (!isMoveStructObject(info))
64
+ throw new Error("Expected info to be a MoveStruct");
65
+ // info.token_address.value.data is a base64-encoded 32-byte address
66
+ const universalAddress = encoding.b64.decode(info["token_address"]["value"]["data"]);
82
67
  return {
83
- chain: toChain(Number(info.fields["token_chain"])),
68
+ chain: toChain(Number(info["token_chain"])),
84
69
  address: new UniversalAddress(universalAddress),
85
70
  };
86
71
  }
@@ -91,33 +76,17 @@ export class SuiTokenBridge {
91
76
  if (!isValidSuiType(coinType))
92
77
  throw new Error(`Invalid Sui type: ${coinType}`);
93
78
  const res = await getTokenFromTokenRegistry(this.provider, this.tokenBridgeObjectId, coinType);
94
- const fields = getFieldsFromObjectResponse(res);
95
- if (!fields) {
79
+ if (!res || !res.json || !("value" in res.json)) {
96
80
  throw new Error(`Token of type ${coinType} has not been registered with the token bridge. Has it been attested?`);
97
81
  }
98
- if (!isMoveStructObject(fields))
99
- throw new Error("Expected fields to be a MoveStruct");
100
- if (!("value" in fields))
101
- throw new Error("Expected a `value` key in fields of MoveStruct");
102
- const val = fields["value"];
103
- if (!isMoveStructStruct(val))
104
- throw new Error("Expected fields to be a MoveStruct");
105
- // Normalize types
106
- const type = trimSuiType(val.type);
82
+ const val = res.json["value"];
83
+ const type = trimSuiType(res.type);
107
84
  coinType = trimSuiType(coinType);
108
85
  // Check if wrapped or native asset. We check inclusion instead of equality
109
86
  // because it saves us from making an additional RPC call to fetch the package ID.
110
87
  if (type.includes(`native_asset::NativeAsset<${coinType}>`)) {
111
- // fields.value.fields.token_address.fields.value.fields.data
112
- const address = val.fields["token_address"];
113
- if (!isMoveStructStruct(address))
114
- throw new Error("Expected fields to be a MoveStruct");
115
- if (!("value" in address.fields))
116
- throw new Error("Expected a `value` key in fields of MoveStruct");
117
- const addressVal = address.fields["value"];
118
- if (!isMoveStructStruct(addressVal))
119
- throw new Error("Expected fields to be a MoveStruct");
120
- const universalAddress = new Uint8Array(addressVal.fields["data"]);
88
+ // value.token_address.value.data is a base64-encoded 32-byte address
89
+ const universalAddress = encoding.b64.decode(val["token_address"]["value"]["data"]);
121
90
  return new UniversalAddress(universalAddress);
122
91
  }
123
92
  throw new Error(`Token of type ${coinType} is not a native asset`);
@@ -148,41 +117,34 @@ export class SuiTokenBridge {
148
117
  const tokenBridgeStateFields = await getObjectFields(this.provider, this.tokenBridgeObjectId);
149
118
  if (!tokenBridgeStateFields)
150
119
  throw new Error("Unable to fetch object fields from token bridge state");
151
- const hashes = tokenBridgeStateFields["consumed_vaas"]?.fields?.hashes;
152
- const keyType = getTableKeyType(hashes?.fields?.items?.type);
153
- if (!keyType)
154
- throw new Error("Unable to get key type");
155
- const tableObjectId = hashes?.fields?.items?.fields?.id?.id;
120
+ // consumed_vaas.hashes.items is a `Table` whose UID parents the dynamic fields.
121
+ const tableObjectId = tokenBridgeStateFields["consumed_vaas"]?.["hashes"]?.["items"]?.["id"];
156
122
  if (!tableObjectId)
157
123
  throw new Error("Unable to fetch consumed VAAs table");
158
- const response = await this.provider.getDynamicFieldObject({
159
- parentId: tableObjectId,
160
- name: {
161
- type: keyType,
162
- value: {
163
- data: [...keccak256(vaa.hash)],
164
- },
165
- },
166
- });
167
- if (!response.error)
168
- return true;
169
- if (response.error.code === "dynamicFieldNotFound")
170
- return false;
171
- throw new Error(`Unexpected getDynamicFieldObject response ${response.error}`);
124
+ // Key is `${coreBridgePackageId}::bytes32::Bytes32` ({ data: vector<u8> }).
125
+ const [coreBridgePackageId] = await this.getPackageIds();
126
+ const keyType = `${coreBridgePackageId}::bytes32::Bytes32`;
127
+ const name = bytesVectorName(keyType, keccak256(vaa.hash));
128
+ const value = await getDynamicFieldValue(this.provider, tableObjectId, name);
129
+ return value !== null;
172
130
  }
173
131
  async *createAttestation(token) {
174
132
  const feeAmount = 0n;
175
133
  const nonce = 0;
176
134
  const coinType = token.toString();
177
- const metadata = await this.provider.getCoinMetadata({ coinType });
178
- if (metadata === null || metadata.id === null)
135
+ const { coinMetadata } = await this.provider.getCoinMetadata({ coinType });
136
+ if (coinMetadata === null || coinMetadata.id === null)
179
137
  throw new Error(`Coin metadata ID for type ${coinType} not found`);
180
138
  const [coreBridgePackageId, tokenBridgePackageId] = await this.getPackageIds();
181
139
  const tx = new Transaction();
182
140
  const [feeCoin] = tx.splitCoins(tx.gas, [tx.pure.u64(feeAmount)]);
183
141
  const [messageTicket] = tx.moveCall({
184
142
  target: `${tokenBridgePackageId}::attest_token::attest_token`,
185
- arguments: [tx.object(this.tokenBridgeObjectId), tx.object(metadata.id), tx.pure.u32(nonce)],
143
+ arguments: [
144
+ tx.object(this.tokenBridgeObjectId),
145
+ tx.object(coinMetadata.id),
146
+ tx.pure.u32(nonce),
147
+ ],
186
148
  typeArguments: [coinType],
187
149
  });
188
150
  tx.moveCall({
@@ -203,57 +165,44 @@ export class SuiTokenBridge {
203
165
  const build = await this.getCoinBuildOutput(coreBridgePackageId, tokenBridgePackageId, decimals);
204
166
  const publishTx = await publishPackage(build, senderAddress);
205
167
  yield this.createUnsignedTx(publishTx, "Sui.TokenBridge.PrepareCreateWrapped");
206
- // TODO: refactor this to something less embarassing
207
- let coinPackageId = "";
168
+ // After the publish/prepare tx lands, the artifacts we need are owned by the sender:
169
+ // the WrappedAssetSetup<COIN, VERSION> (whose type embeds the new coin package + version
170
+ // type) and the coin's UpgradeCap. The CoinMetadata is a frozen object fetched by type.
171
+ // gRPC has no transaction-query API, so we discover via the sender's owned objects.
172
+ let coinType = "";
208
173
  let wrappedSetupObjectId = "";
209
174
  let coinUpgradeCapId = "";
210
175
  let coinMetadataObjectId = "";
211
176
  let versionType = "";
212
177
  let found = false;
213
178
  while (!found) {
214
- // wait for the result of the previous tx to fetch the new coinPackageId
179
+ // wait for the result of the previous tx to be reflected in owned objects
215
180
  await new Promise((r) => setTimeout(r, 500));
216
- const txBlocks = await this.provider.queryTransactionBlocks({
217
- filter: { FromAddress: senderAddress },
218
- options: { showObjectChanges: true },
219
- limit: 3,
181
+ const owned = await this.provider.listOwnedObjects({
182
+ owner: senderAddress,
183
+ include: { json: true },
220
184
  });
221
- // Find the txblock with both the coinPackageId and wrappedType
222
- for (const txb of txBlocks.data) {
223
- if (!("objectChanges" in txb))
224
- continue;
225
- for (const change of txb.objectChanges) {
226
- if (isSuiPublishEvent(change) && change.packageId !== undefined) {
227
- coinPackageId = change.packageId;
228
- }
229
- else if (isSuiCreateEvent(change) && change.objectType.includes("WrappedAssetSetup")) {
230
- wrappedSetupObjectId = change.objectId;
231
- // TODO: what
232
- versionType = change.objectType.split(", ")[1].replace(">", ""); // ugh
233
- }
234
- else if (isSuiCreateEvent(change) && change.objectType.includes("UpgradeCap")) {
235
- coinUpgradeCapId = change.objectId;
236
- }
237
- else if (isSuiCreateEvent(change) && change.objectType.includes("CoinMetadata")) {
238
- coinMetadataObjectId = change.objectId;
239
- }
240
- }
241
- if (coinPackageId !== "" &&
242
- wrappedSetupObjectId !== "" &&
243
- coinUpgradeCapId !== "" &&
244
- coinMetadataObjectId !== "") {
245
- found = true;
246
- break;
247
- }
248
- else {
249
- coinPackageId = "";
250
- wrappedSetupObjectId = "";
251
- coinUpgradeCapId = "";
252
- coinMetadataObjectId = "";
253
- }
254
- }
185
+ const setup = owned.objects.find((o) => o.type.includes("create_wrapped::WrappedAssetSetup"));
186
+ if (!setup)
187
+ continue;
188
+ wrappedSetupObjectId = setup.objectId;
189
+ // type: `${tbPkg}::create_wrapped::WrappedAssetSetup<${coinPkg}::coin::COIN, ${versionType}>`
190
+ const generics = setup.type.substring(setup.type.indexOf("<") + 1, setup.type.lastIndexOf(">"));
191
+ const [coinTypeArg, versionArg] = generics.split(",").map((s) => s.trim());
192
+ coinType = coinTypeArg;
193
+ versionType = versionArg;
194
+ const coinPackageId = new SuiAddress(coinType).getPackageId();
195
+ // the coin's UpgradeCap, owned by the sender (match on its `package` field)
196
+ const cap = owned.objects.find((o) => o.type.includes("package::UpgradeCap") &&
197
+ o.json != null &&
198
+ normalizeSuiAddress(o.json["package"]) === normalizeSuiAddress(coinPackageId));
199
+ coinUpgradeCapId = cap?.objectId ?? "";
200
+ // CoinMetadata is frozen/shared; fetch by coin type
201
+ const { coinMetadata } = await this.provider.getCoinMetadata({ coinType });
202
+ coinMetadataObjectId = coinMetadata?.id ?? "";
203
+ if (wrappedSetupObjectId && coinUpgradeCapId && coinMetadataObjectId)
204
+ found = true;
255
205
  }
256
- const coinType = getCoinTypeFromPackageId(coinPackageId);
257
206
  const createTx = new Transaction();
258
207
  const [txVaa] = createTx.moveCall({
259
208
  target: `${coreBridgePackageId}::vaa::parse_and_verify`,
@@ -1 +1 @@
1
- {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenBridge.js","sourceRoot":"","sources":["../../src/tokenBridge.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,9 @@
1
- import type { SuiClient, SuiObjectResponse } from "@mysten/sui/client";
2
- export declare const getTokenFromTokenRegistry: (provider: SuiClient, tokenBridgeStateObjectId: string, tokenType: string) => Promise<SuiObjectResponse>;
3
- export declare const getTokenCoinType: (provider: SuiClient, tokenBridgeStateObjectId: string, tokenAddress: Uint8Array, tokenChain: number) => Promise<string | null>;
1
+ import type { SuiGrpcClient } from "@mysten/sui/grpc";
2
+ /** The fetched token-registry entry object (gRPC core), exposing top-level `type` + flat `json`. */
3
+ export interface TokenRegistryEntry {
4
+ type: string;
5
+ json: Record<string, any>;
6
+ }
7
+ export declare const getTokenFromTokenRegistry: (provider: SuiGrpcClient, tokenBridgeStateObjectId: string, tokenType: string) => Promise<TokenRegistryEntry | null>;
8
+ export declare const getTokenCoinType: (provider: SuiGrpcClient, tokenBridgeStateObjectId: string, tokenAddress: Uint8Array, tokenChain: number) => Promise<string | null>;
4
9
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAWvE,eAAO,MAAM,yBAAyB,aAC1B,SAAS,4BACO,MAAM,aACrB,MAAM,KAChB,QAAQ,iBAAiB,CAkC3B,CAAC;AAEF,eAAO,MAAM,gBAAgB,aACjB,SAAS,4BACO,MAAM,gBAClB,UAAU,cACZ,MAAM,KACjB,QAAQ,MAAM,GAAG,IAAI,CAsCvB,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAUtD,oGAAoG;AACpG,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,yBAAyB,aAC1B,aAAa,4BACG,MAAM,aACrB,MAAM,KAChB,QAAQ,kBAAkB,GAAG,IAAI,CAsCnC,CAAC;AAEF,eAAO,MAAM,gBAAgB,aACjB,aAAa,4BACG,MAAM,gBAClB,UAAU,cACZ,MAAM,KACjB,QAAQ,MAAM,GAAG,IAAI,CAwBvB,CAAC"}
package/dist/esm/utils.js CHANGED
@@ -1,64 +1,57 @@
1
- import { getFieldsFromObjectResponse, getObjectFields, getPackageIdFromType, getTableKeyType, isMoveStructObject, isValidSuiType, trimSuiType, } from "@wormhole-foundation/sdk-sui";
1
+ import { coinTypeKeyName, dummyFieldName, getDynamicFieldValue, getPackageIdFromType, isValidSuiType, trimSuiType, } from "@wormhole-foundation/sdk-sui";
2
2
  export const getTokenFromTokenRegistry = async (provider, tokenBridgeStateObjectId, tokenType) => {
3
3
  if (!isValidSuiType(tokenType)) {
4
4
  throw new Error(`Invalid Sui type: ${tokenType}`);
5
5
  }
6
- const tokenBridgeStateFields = await getObjectFields(provider, tokenBridgeStateObjectId);
7
- if (!tokenBridgeStateFields) {
6
+ const { object: state } = await provider.getObject({
7
+ objectId: tokenBridgeStateObjectId,
8
+ include: { json: true },
9
+ });
10
+ if (!state || !state.json) {
8
11
  throw new Error(`Unable to fetch object fields from token bridge state. Object ID: ${tokenBridgeStateObjectId}`);
9
12
  }
10
- const tokenRegistryObjectId = tokenBridgeStateFields["token_registry"].fields?.id?.id;
13
+ // The token registry shares the token bridge's package id (derived from the state type).
14
+ const tokenRegistryPackageId = getPackageIdFromType(state.type);
15
+ const tokenRegistryObjectId = state.json["token_registry"]?.["id"];
11
16
  if (!tokenRegistryObjectId) {
12
17
  throw new Error("Unable to fetch token registry object ID");
13
18
  }
14
- const tokenRegistryPackageId = getPackageIdFromType(tokenBridgeStateFields["token_registry"]?.type);
15
- if (!tokenRegistryPackageId) {
16
- throw new Error("Unable to fetch token registry package ID");
19
+ try {
20
+ const name = dummyFieldName(`${tokenRegistryPackageId}::token_registry::Key<${tokenType}>`);
21
+ const { dynamicField } = await provider.getDynamicField({
22
+ parentId: tokenRegistryObjectId,
23
+ name,
24
+ });
25
+ const { object } = await provider.getObject({
26
+ objectId: dynamicField.fieldId,
27
+ include: { json: true },
28
+ });
29
+ if (!object || !object.json)
30
+ return null;
31
+ return { type: object.type, json: object.json };
32
+ }
33
+ catch {
34
+ // dynamic field not found → token not registered
35
+ return null;
17
36
  }
18
- return provider.getDynamicFieldObject({
19
- parentId: tokenRegistryObjectId,
20
- name: {
21
- type: `${tokenRegistryPackageId}::token_registry::Key<${tokenType}>`,
22
- value: {
23
- dummy_field: false,
24
- },
25
- },
26
- });
27
37
  };
28
38
  export const getTokenCoinType = async (provider, tokenBridgeStateObjectId, tokenAddress, tokenChain) => {
29
- const tokenBridgeStateFields = await getObjectFields(provider, tokenBridgeStateObjectId);
30
- if (!tokenBridgeStateFields)
39
+ const { object: state } = await provider.getObject({
40
+ objectId: tokenBridgeStateObjectId,
41
+ include: { json: true },
42
+ });
43
+ if (!state || !state.json)
31
44
  throw new Error("Unable to fetch object fields from token bridge state");
32
- const coinTypes = tokenBridgeStateFields["token_registry"]?.fields?.coin_types;
33
- const coinTypesObjectId = coinTypes?.fields?.id?.id;
45
+ const tokenRegistryPackageId = getPackageIdFromType(state.type);
46
+ const coinTypesObjectId = state.json["token_registry"]?.["coin_types"]?.["id"];
34
47
  if (!coinTypesObjectId) {
35
48
  throw new Error("Unable to fetch coin types");
36
49
  }
37
- const keyType = getTableKeyType(coinTypes?.type);
38
- if (!keyType) {
39
- throw new Error("Unable to get key type");
40
- }
41
- const response = await provider.getDynamicFieldObject({
42
- parentId: coinTypesObjectId,
43
- name: {
44
- type: keyType,
45
- value: {
46
- addr: [...tokenAddress],
47
- chain: tokenChain,
48
- },
49
- },
50
- });
51
- if (response.error) {
52
- if (response.error.code === "dynamicFieldNotFound") {
53
- return null;
54
- }
55
- throw new Error(`Unexpected getDynamicFieldObject response ${response.error}`);
56
- }
57
- const fields = getFieldsFromObjectResponse(response);
58
- if (!fields)
50
+ const name = coinTypeKeyName(`${tokenRegistryPackageId}::token_registry::CoinTypeKey`, tokenChain, tokenAddress);
51
+ const value = await getDynamicFieldValue(provider, coinTypesObjectId, name);
52
+ if (value === null || value === undefined)
59
53
  return null;
60
- if (!isMoveStructObject(fields))
61
- throw new Error("What?");
62
- return "value" in fields ? trimSuiType(fields["value"]) : null;
54
+ // The value is the coin type as an ascii::String (rendered directly).
55
+ return trimSuiType(value);
63
56
  };
64
57
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wormhole-foundation/sdk-sui-tokenbridge",
3
- "version": "4.23.0",
3
+ "version": "5.0.0-beta.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/wormhole-foundation/wormhole-sdk-ts.git"
@@ -13,13 +13,12 @@
13
13
  "test": "tests"
14
14
  },
15
15
  "license": "Apache-2.0",
16
- "main": "./dist/cjs/index.js",
17
- "types": "./dist/cjs/index.d.ts",
16
+ "main": "./dist/esm/index.js",
17
+ "types": "./dist/esm/index.d.ts",
18
18
  "module": "./dist/esm/index.js",
19
19
  "description": "SDK for Sui chains, used in conjunction with @wormhole-foundation/sdk",
20
20
  "files": [
21
- "dist/esm",
22
- "dist/cjs"
21
+ "dist/esm"
23
22
  ],
24
23
  "keywords": [
25
24
  "wormhole",
@@ -29,48 +28,31 @@
29
28
  "sui"
30
29
  ],
31
30
  "engines": {
32
- "node": ">=16"
31
+ "node": ">=20.19"
33
32
  },
34
33
  "sideEffects": [
35
- "./dist/cjs/index.js",
36
34
  "./dist/esm/index.js"
37
35
  ],
38
36
  "scripts": {
39
- "build:cjs": "tsc -p ./tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
40
37
  "build:esm": "tsc -p ./tsconfig.esm.json",
41
- "build": "npm run build:esm && npm run build:cjs",
38
+ "build": "npm run build:esm",
42
39
  "rebuild": "npm run clean && npm run build",
43
40
  "clean": "rm -rf ./dist && rm -rf ./.turbo",
44
41
  "lint": "npm run prettier && eslint --fix ./src --ext .ts",
45
42
  "prettier": "prettier --write ./src"
46
43
  },
47
44
  "dependencies": {
48
- "@mysten/sui": "^1.37.2",
49
- "@wormhole-foundation/sdk-connect": "4.23.0",
50
- "@wormhole-foundation/sdk-sui": "4.23.0",
51
- "@wormhole-foundation/sdk-sui-core": "4.23.0"
45
+ "@mysten/sui": "^2.17.0",
46
+ "@wormhole-foundation/sdk-connect": "5.0.0-beta.1",
47
+ "@wormhole-foundation/sdk-sui": "5.0.0-beta.1",
48
+ "@wormhole-foundation/sdk-sui-core": "5.0.0-beta.1"
52
49
  },
53
50
  "type": "module",
54
51
  "exports": {
55
52
  ".": {
56
- "react-native": {
57
- "import": "./dist/esm/index.js",
58
- "require": "./dist/cjs/index.js",
59
- "types": "./dist/cjs/index.d.ts",
60
- "default": "./dist/cjs/index.js"
61
- },
62
- "import": {
63
- "types": "./dist/esm/index.d.ts",
64
- "default": "./dist/esm/index.js"
65
- },
66
- "require": {
67
- "types": "./dist/cjs/index.d.ts",
68
- "default": "./dist/cjs/index.js"
69
- },
70
- "default": {
71
- "types": "./dist/cjs/index.d.ts",
72
- "default": "./dist/cjs/index.js"
73
- }
53
+ "types": "./dist/esm/index.d.ts",
54
+ "import": "./dist/esm/index.js",
55
+ "default": "./dist/esm/index.js"
74
56
  }
75
57
  }
76
58
  }
@@ -1,34 +0,0 @@
1
- import type { SuiClient } from "@mysten/sui/client";
2
- import { type AccountAddress, type AutomaticTokenBridge, type Chain, type ChainAddress, type ChainsConfig, type Contracts, type Network, type Platform, type TokenAddress } from "@wormhole-foundation/sdk-connect";
3
- import { SuiChains, SuiUnsignedTransaction } from "@wormhole-foundation/sdk-sui";
4
- import "@wormhole-foundation/sdk-sui-core";
5
- export interface TokenInfo {
6
- max_native_swap_amount: string;
7
- swap_enabled: boolean;
8
- swap_rate: string;
9
- }
10
- export declare class SuiAutomaticTokenBridge<N extends Network, C extends SuiChains> implements AutomaticTokenBridge<N, C> {
11
- readonly network: N;
12
- readonly chain: C;
13
- readonly connection: SuiClient;
14
- readonly contracts: Contracts;
15
- tokenBridgeRelayerObjectId: string;
16
- coreBridgeObjectId: string;
17
- tokenBridgeObjectId: string;
18
- fields?: Record<string, any>;
19
- constructor(network: N, chain: C, connection: SuiClient, contracts: Contracts);
20
- static fromRpc<N extends Network>(connection: SuiClient, config: ChainsConfig<N, Platform>): Promise<SuiAutomaticTokenBridge<N, SuiChains>>;
21
- transfer(sender: AccountAddress<C>, recipient: ChainAddress, token: TokenAddress<C>, amount: bigint, nativeGas?: bigint | undefined): AsyncGenerator<SuiUnsignedTransaction<N, C>, void, unknown>;
22
- redeem(sender: AccountAddress<C>, vaa: AutomaticTokenBridge.VAA): AsyncGenerator<SuiUnsignedTransaction<N, C>, void, unknown>;
23
- getRelayerFee(destination: Chain, token: TokenAddress<C>): Promise<bigint>;
24
- maxSwapAmount(token: TokenAddress<C>): Promise<bigint>;
25
- nativeTokenAmount(token: TokenAddress<C>, amount: bigint): Promise<bigint>;
26
- getRegisteredTokens(): Promise<TokenAddress<C>[]>;
27
- isRegisteredToken(token: TokenAddress<C>): Promise<boolean>;
28
- private getTokenInfo;
29
- private getFields;
30
- private getPackageId;
31
- private getPackageIds;
32
- private createUnsignedTx;
33
- }
34
- //# sourceMappingURL=automaticTokenBridge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"automaticTokenBridge.d.ts","sourceRoot":"","sources":["../../src/automaticTokenBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EACzB,KAAK,KAAK,EACV,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EASL,SAAS,EAET,sBAAsB,EACvB,MAAM,8BAA8B,CAAC;AACtC,OAAO,mCAAmC,CAAC;AAG3C,MAAM,WAAW,SAAS;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,uBAAuB,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,SAAS,CACzE,YAAW,oBAAoB,CAAC,CAAC,EAAE,CAAC,CAAC;IAQnC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,CAAC;IACjB,QAAQ,CAAC,UAAU,EAAE,SAAS;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAT/B,0BAA0B,EAAE,MAAM,CAAC;IACnC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAGlB,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,CAAC,EACR,UAAU,EAAE,SAAS,EACrB,SAAS,EAAE,SAAS;WAWlB,OAAO,CAAC,CAAC,SAAS,OAAO,EACpC,UAAU,EAAE,SAAS,EACrB,MAAM,EAAE,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,GAChC,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAS1C,QAAQ,CACb,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EACzB,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS;IAwEzB,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,oBAAoB,CAAC,GAAG;IA+ChE,aAAa,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAsD1E,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAwCtD,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA2C1E,mBAAmB;IAenB,iBAAiB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;YAanD,YAAY;YAwCZ,SAAS;YAQT,YAAY;YAIZ,aAAa;IAQ3B,OAAO,CAAC,gBAAgB;CAOzB"}