@wormhole-foundation/sdk-sui 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 (60) hide show
  1. package/dist/esm/address.d.ts +1 -0
  2. package/dist/esm/address.d.ts.map +1 -1
  3. package/dist/esm/address.js +5 -0
  4. package/dist/esm/address.js.map +1 -1
  5. package/dist/esm/platform.d.ts +10 -10
  6. package/dist/esm/platform.d.ts.map +1 -1
  7. package/dist/esm/platform.js +48 -46
  8. package/dist/esm/platform.js.map +1 -1
  9. package/dist/esm/signer.d.ts +3 -3
  10. package/dist/esm/signer.d.ts.map +1 -1
  11. package/dist/esm/signer.js +2 -1
  12. package/dist/esm/signer.js.map +1 -1
  13. package/dist/esm/types.d.ts +30 -12
  14. package/dist/esm/types.d.ts.map +1 -1
  15. package/dist/esm/types.js +23 -9
  16. package/dist/esm/types.js.map +1 -1
  17. package/dist/esm/unsignedTransaction.d.ts +1 -1
  18. package/dist/esm/unsignedTransaction.d.ts.map +1 -1
  19. package/dist/esm/utils.d.ts +35 -8
  20. package/dist/esm/utils.d.ts.map +1 -1
  21. package/dist/esm/utils.js +90 -103
  22. package/dist/esm/utils.js.map +1 -1
  23. package/package.json +16 -49
  24. package/dist/cjs/address.d.ts +0 -35
  25. package/dist/cjs/address.d.ts.map +0 -1
  26. package/dist/cjs/address.js +0 -127
  27. package/dist/cjs/address.js.map +0 -1
  28. package/dist/cjs/chain.d.ts +0 -6
  29. package/dist/cjs/chain.d.ts.map +0 -1
  30. package/dist/cjs/chain.js +0 -8
  31. package/dist/cjs/chain.js.map +0 -1
  32. package/dist/cjs/constants.d.ts +0 -3
  33. package/dist/cjs/constants.d.ts.map +0 -1
  34. package/dist/cjs/constants.js +0 -6
  35. package/dist/cjs/constants.js.map +0 -1
  36. package/dist/cjs/index.d.ts +0 -9
  37. package/dist/cjs/index.d.ts.map +0 -1
  38. package/dist/cjs/index.js +0 -25
  39. package/dist/cjs/index.js.map +0 -1
  40. package/dist/cjs/package.json +0 -1
  41. package/dist/cjs/platform.d.ts +0 -30
  42. package/dist/cjs/platform.d.ts.map +0 -1
  43. package/dist/cjs/platform.js +0 -136
  44. package/dist/cjs/platform.js.map +0 -1
  45. package/dist/cjs/signer.d.ts +0 -16
  46. package/dist/cjs/signer.d.ts.map +0 -1
  47. package/dist/cjs/signer.js +0 -60
  48. package/dist/cjs/signer.js.map +0 -1
  49. package/dist/cjs/types.d.ts +0 -33
  50. package/dist/cjs/types.d.ts.map +0 -1
  51. package/dist/cjs/types.js +0 -44
  52. package/dist/cjs/types.js.map +0 -1
  53. package/dist/cjs/unsignedTransaction.d.ts +0 -12
  54. package/dist/cjs/unsignedTransaction.d.ts.map +0 -1
  55. package/dist/cjs/unsignedTransaction.js +0 -19
  56. package/dist/cjs/unsignedTransaction.js.map +0 -1
  57. package/dist/cjs/utils.d.ts +0 -14
  58. package/dist/cjs/utils.d.ts.map +0 -1
  59. package/dist/cjs/utils.js +0 -211
  60. package/dist/cjs/utils.js.map +0 -1
package/dist/cjs/utils.js DELETED
@@ -1,211 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.newEmitterCap = exports.publishPackage = exports.getUpgradeCapObjectId = exports.getOwnedObjectIdPaginated = exports.getOwnedObjectId = exports.getOldestEmitterCapObjectId = exports.getPackageId = exports.getObjectFields = exports.getOriginalPackageId = exports.UPGRADE_CAP_TYPE = void 0;
4
- const transactions_1 = require("@mysten/sui/transactions");
5
- const utils_1 = require("@mysten/sui/utils");
6
- const sdk_connect_1 = require("@wormhole-foundation/sdk-connect");
7
- const types_js_1 = require("./types.js");
8
- const address_js_1 = require("./address.js");
9
- exports.UPGRADE_CAP_TYPE = "0x2::package::UpgradeCap";
10
- //
11
- // Utils to fetch data from Sui
12
- //
13
- const getOriginalPackageId = async (provider, stateObjectId) => {
14
- const { data, error } = await provider.getObject({
15
- id: stateObjectId,
16
- options: { showContent: true },
17
- });
18
- if (error)
19
- throw new Error("Error getting object: " + error);
20
- if (!data || !(0, types_js_1.isMoveStructStruct)(data.content))
21
- throw new Error(`Cannot get oject for state id ${stateObjectId}: ` + data);
22
- return (0, address_js_1.getPackageIdFromType)(data.content.type);
23
- };
24
- exports.getOriginalPackageId = getOriginalPackageId;
25
- const getObjectFields = async (provider, objectId) => {
26
- if (!(0, utils_1.isValidSuiAddress)(objectId)) {
27
- throw new Error(`Invalid object ID: ${objectId}`);
28
- }
29
- const res = await provider.getObject({
30
- id: objectId,
31
- options: {
32
- showContent: true,
33
- },
34
- });
35
- return (0, types_js_1.getFieldsFromObjectResponse)(res);
36
- };
37
- exports.getObjectFields = getObjectFields;
38
- const getPackageId = async (provider, objectId) => {
39
- let currentPackage;
40
- let nextCursor;
41
- do {
42
- const dynamicFields = await provider.getDynamicFields({
43
- parentId: objectId,
44
- cursor: nextCursor,
45
- });
46
- currentPackage = dynamicFields.data.find((field) => field.name.type.endsWith("CurrentPackage"));
47
- nextCursor = dynamicFields.hasNextPage ? dynamicFields.nextCursor : null;
48
- } while (nextCursor && !currentPackage);
49
- if (!currentPackage)
50
- throw new Error("CurrentPackage not found");
51
- const obj = await provider.getObject({
52
- id: currentPackage.objectId,
53
- options: {
54
- showContent: true,
55
- },
56
- });
57
- const fields = (0, types_js_1.getFieldsFromObjectResponse)(obj);
58
- if (!fields || !(0, types_js_1.isMoveStructObject)(fields))
59
- throw new Error("Unable to get fields from object response");
60
- if (!("value" in fields) || !(0, types_js_1.isMoveStructStruct)(fields["value"]))
61
- throw new Error("Unable to get package id");
62
- return fields["value"].fields["package"];
63
- };
64
- exports.getPackageId = getPackageId;
65
- const getOldestEmitterCapObjectId = async (provider, coreBridgePackageId, owner) => {
66
- let oldestVersion = null;
67
- let oldestObjectId = null;
68
- let response = null;
69
- let nextCursor;
70
- do {
71
- response = await provider.getOwnedObjects({
72
- owner,
73
- filter: {
74
- StructType: `${coreBridgePackageId}::emitter::EmitterCap`,
75
- },
76
- options: {
77
- showContent: true,
78
- },
79
- cursor: nextCursor,
80
- });
81
- if (!response || !response.data) {
82
- throw Error("Failed to get owned objects");
83
- }
84
- for (const objectResponse of response.data) {
85
- if (!objectResponse.data)
86
- continue;
87
- const { version, objectId } = objectResponse.data;
88
- if (oldestVersion === null || version < oldestVersion) {
89
- oldestVersion = version;
90
- oldestObjectId = objectId;
91
- }
92
- }
93
- nextCursor = response.hasNextPage ? response.nextCursor : undefined;
94
- } while (nextCursor);
95
- return oldestObjectId;
96
- };
97
- exports.getOldestEmitterCapObjectId = getOldestEmitterCapObjectId;
98
- const getOwnedObjectId = async (provider, owner, type) => {
99
- // Upgrade caps are a special case
100
- if ((0, types_js_1.isSameType)(type, exports.UPGRADE_CAP_TYPE)) {
101
- throw new Error("`getOwnedObjectId` should not be used to get the object ID of an `UpgradeCap`. Use `getUpgradeCapObjectId` instead.");
102
- }
103
- try {
104
- const res = await provider.getOwnedObjects({
105
- owner,
106
- filter: { StructType: type },
107
- options: {
108
- showContent: true,
109
- },
110
- });
111
- if (!res || !res.data) {
112
- throw new Error("Failed to get owned objects");
113
- }
114
- const objects = res.data.filter((o) => o.data?.objectId);
115
- if (!objects || objects.length === 0)
116
- return null;
117
- if (objects.length === 1) {
118
- return objects[0].data?.objectId ?? null;
119
- }
120
- else {
121
- const objectsStr = JSON.stringify(objects, null, 2);
122
- throw new Error(`Found multiple objects owned by ${owner} of type ${type}. This may mean that we've received an unexpected response from the Sui RPC and \`worm\` logic needs to be updated to handle this. Objects: ${objectsStr}`);
123
- }
124
- }
125
- catch (error) {
126
- // Handle 504 error by using findOwnedObjectByType method
127
- const is504HttpError = `${error}`.includes("504 Gateway Time-out");
128
- if (error && is504HttpError) {
129
- return (0, exports.getOwnedObjectIdPaginated)(provider, owner, type);
130
- }
131
- else {
132
- throw error;
133
- }
134
- }
135
- };
136
- exports.getOwnedObjectId = getOwnedObjectId;
137
- const getOwnedObjectIdPaginated = async (provider, owner, type, cursor) => {
138
- const res = await provider.getOwnedObjects({
139
- owner,
140
- filter: undefined, // Filter must be undefined to avoid 504 responses
141
- cursor: cursor || undefined,
142
- options: {
143
- showType: true,
144
- },
145
- });
146
- if (!res || !res.data) {
147
- throw new Error("Could not fetch owned object id");
148
- }
149
- const object = res.data.find((d) => (0, types_js_1.isSameType)(d.data?.type || "", type));
150
- if (!object && res.hasNextPage) {
151
- return (0, exports.getOwnedObjectIdPaginated)(provider, owner, type, res.nextCursor);
152
- }
153
- else if (!object && !res.hasNextPage) {
154
- return null;
155
- }
156
- else {
157
- return object?.data?.objectId ?? null;
158
- }
159
- };
160
- exports.getOwnedObjectIdPaginated = getOwnedObjectIdPaginated;
161
- const getUpgradeCapObjectId = async (provider, owner, packageId) => {
162
- const res = await provider.getOwnedObjects({
163
- owner,
164
- filter: { StructType: (0, address_js_1.normalizeSuiType)(exports.UPGRADE_CAP_TYPE) },
165
- options: {
166
- showContent: true,
167
- },
168
- });
169
- if (!res || !res.data) {
170
- throw new Error("Failed to get upgrade caps");
171
- }
172
- const objects = res.data.filter((o) => {
173
- const fields = (0, types_js_1.getFieldsFromObjectResponse)(o);
174
- return ((0, types_js_1.isMoveStructStruct)(fields) &&
175
- (0, utils_1.normalizeSuiAddress)(fields.fields["package"]) === (0, utils_1.normalizeSuiAddress)(packageId));
176
- });
177
- if (!objects || objects.length === 0)
178
- return null;
179
- if (objects.length === 1) {
180
- // We've found the object we're looking for
181
- return objects[0].data?.objectId ?? null;
182
- }
183
- else {
184
- const objectsStr = JSON.stringify(objects, null, 2);
185
- throw new Error(`Found multiple upgrade capabilities owned by ${owner} from package ${packageId}. Objects: ${objectsStr}`);
186
- }
187
- };
188
- exports.getUpgradeCapObjectId = getUpgradeCapObjectId;
189
- // Create a TransactionBlock to publish a package
190
- const publishPackage = async (buildOutput, signerAddress) => {
191
- const tx = new transactions_1.Transaction();
192
- const [upgradeCap] = tx.publish({
193
- modules: buildOutput.modules.map((m) => Array.from(sdk_connect_1.encoding.b64.decode(m))),
194
- dependencies: buildOutput.dependencies.map((d) => (0, utils_1.normalizeSuiObjectId)(d)),
195
- });
196
- // Transfer upgrade capability to recipient
197
- tx.transferObjects([upgradeCap], tx.pure.address(signerAddress));
198
- return tx;
199
- };
200
- exports.publishPackage = publishPackage;
201
- const newEmitterCap = (coreBridgePackageId, coreBridgeStateObjectId, owner) => {
202
- const tx = new transactions_1.Transaction();
203
- const [emitterCap] = tx.moveCall({
204
- target: `${coreBridgePackageId}::emitter::new`,
205
- arguments: [tx.object(coreBridgeStateObjectId)],
206
- });
207
- tx.transferObjects([emitterCap], tx.pure.address(owner));
208
- return tx;
209
- };
210
- exports.newEmitterCap = newEmitterCap;
211
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}