@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.
- package/dist/esm/automaticTokenBridge.d.ts +9 -5
- package/dist/esm/automaticTokenBridge.d.ts.map +1 -1
- package/dist/esm/automaticTokenBridge.js +51 -87
- package/dist/esm/automaticTokenBridge.js.map +1 -1
- package/dist/esm/executorTokenBridge.d.ts +6 -5
- package/dist/esm/executorTokenBridge.d.ts.map +1 -1
- package/dist/esm/executorTokenBridge.js +1 -3
- package/dist/esm/executorTokenBridge.js.map +1 -1
- package/dist/esm/tokenBridge.d.ts +4 -4
- package/dist/esm/tokenBridge.d.ts.map +1 -1
- package/dist/esm/tokenBridge.js +62 -113
- package/dist/esm/tokenBridge.js.map +1 -1
- package/dist/esm/utils.d.ts +8 -3
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js +38 -45
- package/dist/esm/utils.js.map +1 -1
- package/package.json +13 -31
- package/dist/cjs/automaticTokenBridge.d.ts +0 -34
- package/dist/cjs/automaticTokenBridge.d.ts.map +0 -1
- package/dist/cjs/automaticTokenBridge.js +0 -315
- package/dist/cjs/automaticTokenBridge.js.map +0 -1
- package/dist/cjs/executorTokenBridge.d.ts +0 -26
- package/dist/cjs/executorTokenBridge.d.ts.map +0 -1
- package/dist/cjs/executorTokenBridge.js +0 -208
- package/dist/cjs/executorTokenBridge.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -5
- package/dist/cjs/index.d.ts.map +0 -1
- package/dist/cjs/index.js +0 -28
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/tokenBridge.d.ts +0 -33
- package/dist/cjs/tokenBridge.d.ts.map +0 -1
- package/dist/cjs/tokenBridge.js +0 -478
- package/dist/cjs/tokenBridge.js.map +0 -1
- package/dist/cjs/utils.d.ts +0 -4
- package/dist/cjs/utils.d.ts.map +0 -1
- package/dist/cjs/utils.js +0 -69
- package/dist/cjs/utils.js.map +0 -1
package/dist/esm/tokenBridge.js
CHANGED
|
@@ -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,
|
|
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
|
-
|
|
53
|
-
if (!fields)
|
|
52
|
+
if (!res || !res.json || !("value" in res.json))
|
|
54
53
|
throw ErrNotWrapped(coinType);
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
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
|
|
69
|
-
if (!
|
|
70
|
-
throw new Error("Expected
|
|
71
|
-
|
|
72
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
99
|
-
|
|
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
|
-
//
|
|
112
|
-
const
|
|
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
|
-
|
|
152
|
-
const
|
|
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
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
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
|
|
178
|
-
if (
|
|
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: [
|
|
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
|
-
//
|
|
207
|
-
|
|
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
|
|
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
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
limit: 3,
|
|
181
|
+
const owned = await this.provider.listOwnedObjects({
|
|
182
|
+
owner: senderAddress,
|
|
183
|
+
include: { json: true },
|
|
220
184
|
});
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
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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"}
|
package/dist/esm/utils.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
export
|
|
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
|
package/dist/esm/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
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 {
|
|
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
|
|
7
|
-
|
|
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
|
-
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
|
30
|
-
|
|
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
|
|
33
|
-
const coinTypesObjectId =
|
|
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
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
61
|
-
|
|
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
|
package/dist/esm/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"AACA,OAAO,EACL,
|
|
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": "
|
|
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/
|
|
17
|
-
"types": "./dist/
|
|
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": ">=
|
|
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
|
|
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": "^
|
|
49
|
-
"@wormhole-foundation/sdk-connect": "
|
|
50
|
-
"@wormhole-foundation/sdk-sui": "
|
|
51
|
-
"@wormhole-foundation/sdk-sui-core": "
|
|
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
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
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"}
|