@helium/sus 0.10.0-alpha.9 → 0.10.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,306 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatIdl = exports.getIdlSpecType = exports.convertLegacyIdl = void 0;
4
+ const sha256_1 = require("@noble/hashes/sha256");
5
+ // Remove the dynamic import
6
+ function getSnakeCase(str) {
7
+ return str
8
+ .replace(/([A-Z])/g, "_$1")
9
+ .toLowerCase()
10
+ .replace(/^_/, "");
11
+ }
12
+ function convertLegacyIdl(legacyIdl, programAddress) {
13
+ var _a, _b, _c;
14
+ const address = programAddress !== null && programAddress !== void 0 ? programAddress : (_a = legacyIdl.metadata) === null || _a === void 0 ? void 0 : _a.address;
15
+ if (!address) {
16
+ throw new Error("Program id missing in `idl.metadata.address` field");
17
+ }
18
+ return {
19
+ accounts: (legacyIdl.accounts || []).map(convertAccount),
20
+ address: address,
21
+ constants: (legacyIdl.constants || []).map(convertConst),
22
+ errors: ((_b = legacyIdl.errors) === null || _b === void 0 ? void 0 : _b.map(convertErrorCode)) || [],
23
+ events: ((_c = legacyIdl.events) === null || _c === void 0 ? void 0 : _c.map(convertEvent)) || [],
24
+ instructions: legacyIdl.instructions.map(convertInstruction),
25
+ metadata: {
26
+ name: legacyIdl.name,
27
+ version: legacyIdl.version,
28
+ },
29
+ types: [
30
+ ...(legacyIdl.types || []).map(convertTypeDef),
31
+ ...(legacyIdl.accounts || []).map(convertTypeDef),
32
+ ...(legacyIdl.events || []).map(convertEventToTypeDef),
33
+ ],
34
+ };
35
+ }
36
+ exports.convertLegacyIdl = convertLegacyIdl;
37
+ function traverseType(type, refs) {
38
+ if (typeof type === "string") {
39
+ // skip
40
+ }
41
+ else if ("vec" in type) {
42
+ traverseType(type.vec, refs);
43
+ }
44
+ else if ("option" in type) {
45
+ traverseType(type.option, refs);
46
+ }
47
+ else if ("defined" in type) {
48
+ refs.add(type.defined.name);
49
+ }
50
+ else if ("array" in type) {
51
+ traverseType(type.array[0], refs);
52
+ }
53
+ else if ("generic" in type) {
54
+ refs.add(type.generic);
55
+ }
56
+ else if ("coption" in type) {
57
+ traverseType(type.coption, refs);
58
+ }
59
+ }
60
+ function traverseIdlFields(fields, refs) {
61
+ fields.forEach((field) => typeof field === "string"
62
+ ? traverseType(field, refs)
63
+ : typeof field === "object" && "type" in field
64
+ ? traverseType(field.type, refs)
65
+ : traverseType(field, refs));
66
+ }
67
+ function traverseTypeDef(type, refs) {
68
+ var _a;
69
+ switch (type.kind) {
70
+ case "struct":
71
+ traverseIdlFields((_a = type.fields) !== null && _a !== void 0 ? _a : [], refs);
72
+ return;
73
+ case "enum":
74
+ type.variants.forEach((variant) => { var _a; return traverseIdlFields((_a = variant.fields) !== null && _a !== void 0 ? _a : [], refs); });
75
+ return;
76
+ case "type":
77
+ traverseType(type.alias, refs);
78
+ return;
79
+ }
80
+ }
81
+ function getTypeReferences(idl) {
82
+ var _a, _b, _c, _d, _e;
83
+ const refs = new Set();
84
+ (_a = idl.constants) === null || _a === void 0 ? void 0 : _a.forEach((constant) => traverseType(constant.type, refs));
85
+ (_b = idl.accounts) === null || _b === void 0 ? void 0 : _b.forEach((account) => refs.add(account.name));
86
+ (_c = idl.instructions) === null || _c === void 0 ? void 0 : _c.forEach((instruction) => instruction.args.forEach((arg) => traverseType(arg.type, refs)));
87
+ (_d = idl.events) === null || _d === void 0 ? void 0 : _d.forEach((event) => refs.add(event.name));
88
+ // Build up recursive type references in breadth-first manner.
89
+ // Very inefficient since we traverse same types multiple times.
90
+ // But it works. Open to contributions that do proper graph traversal
91
+ let prevSize = refs.size;
92
+ let sizeDiff = 1;
93
+ while (sizeDiff > 0) {
94
+ for (const idlType of (_e = idl.types) !== null && _e !== void 0 ? _e : []) {
95
+ if (refs.has(idlType.name)) {
96
+ traverseTypeDef(idlType.type, refs);
97
+ }
98
+ }
99
+ sizeDiff = refs.size - prevSize;
100
+ prevSize = refs.size;
101
+ }
102
+ return refs;
103
+ }
104
+ // Remove types that are not used in definition of instructions, accounts, events, or constants
105
+ function removeUnusedTypes(idl) {
106
+ var _a;
107
+ const usedElsewhere = getTypeReferences(idl);
108
+ return Object.assign(Object.assign({}, idl), { types: ((_a = idl.types) !== null && _a !== void 0 ? _a : []).filter((type) => usedElsewhere.has(type.name)) });
109
+ }
110
+ function getDisc(prefix, name) {
111
+ const hash = (0, sha256_1.sha256)(`${prefix}:${name}`);
112
+ return Array.from(hash.slice(0, 8));
113
+ }
114
+ function convertInstruction(instruction) {
115
+ const name = getSnakeCase(instruction.name);
116
+ return {
117
+ accounts: instruction.accounts.map(convertInstructionAccount),
118
+ args: instruction.args.map(convertField),
119
+ discriminator: getDisc("global", name),
120
+ name,
121
+ returns: instruction.returns ? convertType(instruction.returns) : undefined,
122
+ };
123
+ }
124
+ function convertAccount(account) {
125
+ return {
126
+ discriminator: getDisc("account", account.name),
127
+ name: account.name,
128
+ };
129
+ }
130
+ function convertTypeDef(typeDef) {
131
+ return {
132
+ name: typeDef.name,
133
+ type: convertTypeDefTy(typeDef.type),
134
+ };
135
+ }
136
+ function convertTypeDefTy(type) {
137
+ switch (type.kind) {
138
+ case "struct":
139
+ return {
140
+ fields: type.fields.map(convertField),
141
+ kind: "struct",
142
+ };
143
+ case "enum":
144
+ return {
145
+ kind: "enum",
146
+ variants: type.variants.map(convertEnumVariant),
147
+ };
148
+ case "alias":
149
+ return {
150
+ alias: convertType(type.value),
151
+ kind: "type",
152
+ };
153
+ }
154
+ }
155
+ function convertField(field) {
156
+ return {
157
+ name: getSnakeCase(field.name),
158
+ type: convertType(field.type),
159
+ };
160
+ }
161
+ function convertEnumVariant(variant) {
162
+ return {
163
+ fields: variant.fields ? convertEnumFields(variant.fields) : undefined,
164
+ name: variant.name,
165
+ };
166
+ }
167
+ function convertEnumFields(fields) {
168
+ if (Array.isArray(fields) &&
169
+ fields.length > 0 &&
170
+ typeof fields[0] === "object" &&
171
+ "type" in fields[0]) {
172
+ return fields.map(convertField);
173
+ }
174
+ else {
175
+ return fields.map((type) => convertType(type));
176
+ }
177
+ }
178
+ function convertEvent(event) {
179
+ return {
180
+ discriminator: getDisc("event", event.name),
181
+ name: event.name,
182
+ };
183
+ }
184
+ function convertErrorCode(error) {
185
+ return {
186
+ code: error.code,
187
+ msg: error.msg,
188
+ name: error.name,
189
+ };
190
+ }
191
+ function convertConst(constant) {
192
+ return {
193
+ name: constant.name,
194
+ type: convertType(constant.type),
195
+ value: constant.value,
196
+ };
197
+ }
198
+ function convertInstructionAccount(account) {
199
+ if ("accounts" in account) {
200
+ return convertInstructionAccounts(account);
201
+ }
202
+ else {
203
+ return {
204
+ docs: account.docs || [],
205
+ name: getSnakeCase(account.name),
206
+ optional: account.isOptional || false,
207
+ pda: account.pda ? convertPda(account.pda) : undefined,
208
+ relations: account.relations || [],
209
+ signer: account.isSigner || false,
210
+ writable: account.isMut || false,
211
+ };
212
+ }
213
+ }
214
+ function convertInstructionAccounts(accounts) {
215
+ return {
216
+ accounts: accounts.accounts.map(convertInstructionAccount),
217
+ name: getSnakeCase(accounts.name),
218
+ };
219
+ }
220
+ function convertPda(pda) {
221
+ return Object.assign(Object.assign({}, (pda.programId ? { programId: convertSeed(pda.programId) } : {})), { seeds: pda.seeds.map(convertSeed) });
222
+ }
223
+ function convertSeed(seed) {
224
+ switch (seed.kind) {
225
+ case "const":
226
+ return { kind: "const", type: convertType(seed.type), value: seed.value };
227
+ case "arg":
228
+ return { kind: "arg", path: seed.path, type: convertType(seed.type) };
229
+ case "account":
230
+ return Object.assign(Object.assign({}, (seed.account ? { account: seed.account } : {})), { kind: "account", path: seed.path, type: convertType(seed.type) });
231
+ }
232
+ }
233
+ function convertEventToTypeDef(event) {
234
+ return {
235
+ name: event.name,
236
+ type: {
237
+ fields: event.fields.map((field) => ({
238
+ name: getSnakeCase(field.name),
239
+ type: convertType(field.type),
240
+ })),
241
+ kind: "struct",
242
+ },
243
+ };
244
+ }
245
+ function convertType(type) {
246
+ if (typeof type === "string") {
247
+ return type === "publicKey" ? "pubkey" : type;
248
+ }
249
+ else if ("vec" in type) {
250
+ return { vec: convertType(type.vec) };
251
+ }
252
+ else if ("option" in type) {
253
+ return { option: convertType(type.option) };
254
+ }
255
+ else if ("defined" in type) {
256
+ return { defined: { generics: [], name: type.defined } };
257
+ }
258
+ else if ("array" in type) {
259
+ return { array: [convertType(type.array[0]), type.array[1]] };
260
+ }
261
+ else if ("generic" in type) {
262
+ return type;
263
+ }
264
+ else if ("definedWithTypeArgs" in type) {
265
+ return {
266
+ defined: {
267
+ generics: type.definedWithTypeArgs.args.map(convertDefinedTypeArg),
268
+ name: type.definedWithTypeArgs.name,
269
+ },
270
+ };
271
+ }
272
+ throw new Error(`Unsupported type: ${JSON.stringify(type)}`);
273
+ }
274
+ function convertDefinedTypeArg(arg) {
275
+ if ("generic" in arg) {
276
+ return { generic: arg.generic };
277
+ }
278
+ else if ("value" in arg) {
279
+ return { value: arg.value };
280
+ }
281
+ else if ("type" in arg) {
282
+ return { type: convertType(arg.type) };
283
+ }
284
+ throw new Error(`Unsupported defined type arg: ${JSON.stringify(arg)}`);
285
+ }
286
+ function getIdlSpecType(idl) {
287
+ var _a, _b;
288
+ return (_b = (_a = idl.metadata) === null || _a === void 0 ? void 0 : _a.spec) !== null && _b !== void 0 ? _b : "legacy";
289
+ }
290
+ exports.getIdlSpecType = getIdlSpecType;
291
+ function formatIdl(idl, programAddress) {
292
+ const spec = getIdlSpecType(idl);
293
+ switch (spec) {
294
+ case "0.1.0":
295
+ return idl;
296
+ case "legacy":
297
+ if (!programAddress) {
298
+ throw new Error("Program address is required for legacy IDL");
299
+ }
300
+ return removeUnusedTypes(convertLegacyIdl(idl, programAddress));
301
+ default:
302
+ throw new Error(`IDL spec not supported: ${spec}`);
303
+ }
304
+ }
305
+ exports.formatIdl = formatIdl;
306
+ //# sourceMappingURL=convertLegacyIdl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convertLegacyIdl.js","sourceRoot":"","sources":["../../src/convertLegacyIdl.ts"],"names":[],"mappings":"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"}
package/lib/cjs/index.js CHANGED
@@ -19,10 +19,12 @@ const bytes_1 = require("@coral-xyz/anchor/dist/cjs/utils/bytes");
19
19
  const mpl_bubblegum_1 = require("@metaplex-foundation/mpl-bubblegum");
20
20
  const mpl_token_metadata_1 = require("@metaplex-foundation/mpl-token-metadata");
21
21
  const sha256_1 = require("@noble/hashes/sha256");
22
+ const spl_utils_1 = require("@helium/spl-utils");
22
23
  const spl_token_1 = require("@solana/spl-token");
23
24
  const web3_js_1 = require("@solana/web3.js");
24
25
  const axios_1 = __importDefault(require("axios"));
25
26
  const pako_1 = require("pako");
27
+ const convertLegacyIdl_1 = require("./convertLegacyIdl");
26
28
  const BUBBLEGUM_PROGRAM_ID = new web3_js_1.PublicKey("BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY");
27
29
  const ACCOUNT_COMPRESSION_PROGRAM_ID = new web3_js_1.PublicKey("cmtDvXumGCrqC1Age74AVPhSRVXJMd8PJS91L8KbNCK");
28
30
  function getAccountKeys({ connection, transaction, }) {
@@ -159,7 +161,7 @@ cluster = "mainnet-beta", accountBlacklist, }) {
159
161
  if (acc) {
160
162
  return {
161
163
  program: programKeys[index],
162
- idl: decodeIdl(acc),
164
+ idl: decodeIdl(acc, programKeys[index].toBase58()),
163
165
  };
164
166
  }
165
167
  })
@@ -458,11 +460,15 @@ function getIdlKey(programId) {
458
460
  const publicKeyBytes = (0, sha256_1.sha256)(buffer);
459
461
  return new web3_js_1.PublicKey(publicKeyBytes);
460
462
  }
461
- function decodeIdl(account) {
463
+ function decodeIdl(account, programAddress) {
462
464
  try {
463
465
  const idlData = (0, idl_1.decodeIdlAccount)(Buffer.from(account.data.subarray(8)));
464
466
  const inflatedIdl = (0, pako_1.inflate)(idlData.data);
465
- return JSON.parse(bytes_1.utf8.decode(inflatedIdl));
467
+ let json = JSON.parse(bytes_1.utf8.decode(inflatedIdl));
468
+ if (json && !json.address) {
469
+ json = (0, convertLegacyIdl_1.convertLegacyIdl)(json, programAddress);
470
+ }
471
+ return (0, idl_1.convertIdlToCamelCase)(json);
466
472
  }
467
473
  catch (e) {
468
474
  // Ignore, not a valid IDL
@@ -572,11 +578,11 @@ function decodeIdlStruct(idl, account) {
572
578
  try {
573
579
  const coder = new anchor_1.BorshAccountsCoder((0, idl_1.convertIdlToCamelCase)(idl));
574
580
  const descriminator = account.data.slice(0, 8);
575
- const type = (_b = (_a = idl.accounts) === null || _a === void 0 ? void 0 : _a.find((account) => new anchor_1.BorshAccountsCoder(idl).accountDiscriminator(account.name).equals(descriminator))) === null || _b === void 0 ? void 0 : _b.name;
581
+ const type = (_b = (_a = idl.accounts) === null || _a === void 0 ? void 0 : _a.find((account) => new anchor_1.BorshAccountsCoder(idl).accountDiscriminator((0, spl_utils_1.lowerFirstChar)(account.name)).equals(descriminator))) === null || _b === void 0 ? void 0 : _b.name;
576
582
  if (type) {
577
583
  return {
578
584
  type,
579
- parsed: coder.decode(type, account.data),
585
+ parsed: coder.decode(lowercaseFirst(type), account.data),
580
586
  };
581
587
  }
582
588
  }
@@ -700,4 +706,7 @@ const DAO = web3_js_1.PublicKey.findProgramAddressSync([
700
706
  new web3_js_1.PublicKey("hntyVP6YFm1Hg25TN9WGLqM12b8TQmcknKrdu1oxWux").toBuffer(),
701
707
  ], new web3_js_1.PublicKey("hdaoVTCqhfHHo75XdAMxBKdUqvq1i5bF23sisBqVgGR"))[0];
702
708
  const HELIUM_ENTITY_CREATOR = web3_js_1.PublicKey.findProgramAddressSync([Buffer.from("entity_creator", "utf-8"), DAO.toBuffer()], new web3_js_1.PublicKey("hemjuPXBpNvggtaUnN1MwT3wrdhttKEfosTcc2P9Pg8"))[0];
709
+ function lowercaseFirst(type) {
710
+ return type.charAt(0).toLowerCase() + type.slice(1);
711
+ }
703
712
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}