@iota/graphql-transport 0.13.1 → 0.15.0

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 (85) hide show
  1. package/CHANGELOG.md +93 -0
  2. package/README.md +2 -2
  3. package/dist/cjs/generated/queries.d.ts +190 -72
  4. package/dist/cjs/generated/queries.d.ts.map +1 -0
  5. package/dist/cjs/generated/queries.js +138 -29
  6. package/dist/cjs/generated/queries.js.map +2 -2
  7. package/dist/cjs/index.d.ts +1 -0
  8. package/dist/cjs/index.d.ts.map +1 -0
  9. package/dist/cjs/mappers/bcs.d.ts +1 -0
  10. package/dist/cjs/mappers/bcs.d.ts.map +1 -0
  11. package/dist/cjs/mappers/checkpoint.d.ts +1 -0
  12. package/dist/cjs/mappers/checkpoint.d.ts.map +1 -0
  13. package/dist/cjs/mappers/display.d.ts +1 -0
  14. package/dist/cjs/mappers/display.d.ts.map +1 -0
  15. package/dist/cjs/mappers/move.d.ts +4 -2
  16. package/dist/cjs/mappers/move.d.ts.map +1 -0
  17. package/dist/cjs/mappers/move.js +30 -0
  18. package/dist/cjs/mappers/move.js.map +2 -2
  19. package/dist/cjs/mappers/object.d.ts +1 -0
  20. package/dist/cjs/mappers/object.d.ts.map +1 -0
  21. package/dist/cjs/mappers/owner.d.ts +1 -0
  22. package/dist/cjs/mappers/owner.d.ts.map +1 -0
  23. package/dist/cjs/mappers/stakes.d.ts +1 -0
  24. package/dist/cjs/mappers/stakes.d.ts.map +1 -0
  25. package/dist/cjs/mappers/transaction-block.d.ts +1 -0
  26. package/dist/cjs/mappers/transaction-block.d.ts.map +1 -0
  27. package/dist/cjs/mappers/transaction-block.js +1 -1
  28. package/dist/cjs/mappers/transaction-block.js.map +2 -2
  29. package/dist/cjs/mappers/util.d.ts +1 -0
  30. package/dist/cjs/mappers/util.d.ts.map +1 -0
  31. package/dist/cjs/mappers/validator.d.ts +1 -0
  32. package/dist/cjs/mappers/validator.d.ts.map +1 -0
  33. package/dist/cjs/mappers/validator.js +2 -2
  34. package/dist/cjs/mappers/validator.js.map +2 -2
  35. package/dist/cjs/methods.d.ts +1 -0
  36. package/dist/cjs/methods.d.ts.map +1 -0
  37. package/dist/cjs/methods.js +73 -40
  38. package/dist/cjs/methods.js.map +2 -2
  39. package/dist/cjs/transport.d.ts +4 -1
  40. package/dist/cjs/transport.d.ts.map +1 -0
  41. package/dist/cjs/transport.js +34 -30
  42. package/dist/cjs/transport.js.map +2 -2
  43. package/dist/esm/generated/queries.d.ts +190 -72
  44. package/dist/esm/generated/queries.d.ts.map +1 -0
  45. package/dist/esm/generated/queries.js +138 -29
  46. package/dist/esm/generated/queries.js.map +2 -2
  47. package/dist/esm/index.d.ts +1 -0
  48. package/dist/esm/index.d.ts.map +1 -0
  49. package/dist/esm/mappers/bcs.d.ts +1 -0
  50. package/dist/esm/mappers/bcs.d.ts.map +1 -0
  51. package/dist/esm/mappers/checkpoint.d.ts +1 -0
  52. package/dist/esm/mappers/checkpoint.d.ts.map +1 -0
  53. package/dist/esm/mappers/display.d.ts +1 -0
  54. package/dist/esm/mappers/display.d.ts.map +1 -0
  55. package/dist/esm/mappers/move.d.ts +4 -2
  56. package/dist/esm/mappers/move.d.ts.map +1 -0
  57. package/dist/esm/mappers/move.js +30 -0
  58. package/dist/esm/mappers/move.js.map +2 -2
  59. package/dist/esm/mappers/object.d.ts +1 -0
  60. package/dist/esm/mappers/object.d.ts.map +1 -0
  61. package/dist/esm/mappers/owner.d.ts +1 -0
  62. package/dist/esm/mappers/owner.d.ts.map +1 -0
  63. package/dist/esm/mappers/stakes.d.ts +1 -0
  64. package/dist/esm/mappers/stakes.d.ts.map +1 -0
  65. package/dist/esm/mappers/transaction-block.d.ts +1 -0
  66. package/dist/esm/mappers/transaction-block.d.ts.map +1 -0
  67. package/dist/esm/mappers/transaction-block.js +1 -1
  68. package/dist/esm/mappers/transaction-block.js.map +2 -2
  69. package/dist/esm/mappers/util.d.ts +1 -0
  70. package/dist/esm/mappers/util.d.ts.map +1 -0
  71. package/dist/esm/mappers/validator.d.ts +1 -0
  72. package/dist/esm/mappers/validator.d.ts.map +1 -0
  73. package/dist/esm/mappers/validator.js +2 -2
  74. package/dist/esm/mappers/validator.js.map +2 -2
  75. package/dist/esm/methods.d.ts +1 -0
  76. package/dist/esm/methods.d.ts.map +1 -0
  77. package/dist/esm/methods.js +79 -41
  78. package/dist/esm/methods.js.map +2 -2
  79. package/dist/esm/transport.d.ts +4 -1
  80. package/dist/esm/transport.d.ts.map +1 -0
  81. package/dist/esm/transport.js +34 -30
  82. package/dist/esm/transport.js.map +2 -2
  83. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +6 -6
@@ -1,6 +1,11 @@
1
1
  import { fromBase64 } from "@iota/bcs";
2
2
  import { Transaction } from "@iota/iota-sdk/transactions";
3
- import { normalizeStructTag, normalizeIotaAddress, parseStructTag } from "@iota/iota-sdk/utils";
3
+ import {
4
+ normalizeStructTag,
5
+ normalizeIotaAddress,
6
+ parseStructTag,
7
+ IOTA_TYPE_ARG
8
+ } from "@iota/iota-sdk/utils";
4
9
  import {
5
10
  DevInspectTransactionBlockDocument,
6
11
  DryRunTransactionBlockDocument,
@@ -131,21 +136,30 @@ const RPC_METHODS = {
131
136
  };
132
137
  },
133
138
  async getBalance(transport, inputs) {
134
- const balance = await transport.graphqlQuery(
135
- {
136
- query: GetBalanceDocument,
137
- variables: {
138
- owner: inputs[0],
139
- type: inputs[1]
140
- }
141
- },
142
- (data) => data.address?.balance
143
- );
144
- return {
145
- coinType: toShortTypeString(balance.coinType?.repr),
146
- coinObjectCount: balance.coinObjectCount,
147
- totalBalance: balance.totalBalance
148
- };
139
+ try {
140
+ const balance = await transport.graphqlQuery(
141
+ {
142
+ query: GetBalanceDocument,
143
+ variables: {
144
+ owner: inputs[0],
145
+ type: inputs[1]
146
+ }
147
+ },
148
+ (data) => data.address?.balance
149
+ );
150
+ return {
151
+ coinType: toShortTypeString(balance.coinType?.repr) || IOTA_TYPE_ARG,
152
+ coinObjectCount: balance.coinObjectCount || 0,
153
+ totalBalance: balance.totalBalance || 0
154
+ };
155
+ } catch (error) {
156
+ console.warn("GraphQL getBalance failed, falling back to default values:", error);
157
+ return {
158
+ coinType: normalizeStructTag(inputs[1] ?? IOTA_TYPE_ARG),
159
+ coinObjectCount: 0,
160
+ totalBalance: "0"
161
+ };
162
+ }
149
163
  },
150
164
  async getAllBalances(transport, inputs) {
151
165
  const balances = await transport.graphqlQuery(
@@ -264,10 +278,12 @@ const RPC_METHODS = {
264
278
  let hasMoreFriends = moveModule.friends?.pageInfo.hasNextPage ?? false;
265
279
  let hasMoreFunctions = moveModule.functions?.pageInfo.hasNextPage ?? false;
266
280
  let hasMoreStructs = moveModule.structs?.pageInfo.hasNextPage ?? false;
281
+ let hasMoreEnums = moveModule.enums?.pageInfo.hasNextPage ?? false;
267
282
  let afterFriends = moveModule.friends?.pageInfo.endCursor;
268
283
  let afterFunctions = moveModule.functions?.pageInfo.endCursor;
269
284
  let afterStructs = moveModule.structs?.pageInfo.endCursor;
270
- while (hasMoreFriends || hasMoreStructs || hasMoreFunctions) {
285
+ let afterEnums = moveModule.enums?.pageInfo.endCursor;
286
+ while (hasMoreFriends || hasMoreStructs || hasMoreFunctions || hasMoreEnums) {
271
287
  const page = await transport.graphqlQuery(
272
288
  {
273
289
  query: PaginateMoveModuleListsDocument,
@@ -277,9 +293,11 @@ const RPC_METHODS = {
277
293
  hasMoreFriends,
278
294
  hasMoreFunctions,
279
295
  hasMoreStructs,
296
+ hasMoreEnums,
280
297
  afterFriends,
281
298
  afterFunctions,
282
- afterStructs
299
+ afterStructs,
300
+ afterEnums
283
301
  }
284
302
  },
285
303
  (data) => data.object?.asMovePackage?.module
@@ -287,12 +305,15 @@ const RPC_METHODS = {
287
305
  moveModule.friends.nodes.push(...page.friends?.nodes ?? []);
288
306
  moveModule.functions?.nodes.push(...page.functions?.nodes ?? []);
289
307
  moveModule.structs?.nodes.push(...page.structs?.nodes ?? []);
308
+ moveModule.enums?.nodes.push(...page.enums?.nodes ?? []);
290
309
  hasMoreFriends = page.friends?.pageInfo.hasNextPage ?? false;
291
310
  hasMoreFunctions = page.functions?.pageInfo.hasNextPage ?? false;
292
311
  hasMoreStructs = page.structs?.pageInfo.hasNextPage ?? false;
312
+ hasMoreEnums = page.enums?.pageInfo.hasNextPage ?? false;
293
313
  afterFriends = page.friends?.pageInfo.endCursor;
294
314
  afterFunctions = page.functions?.pageInfo.endCursor;
295
315
  afterStructs = page.structs?.pageInfo.endCursor;
316
+ afterEnums = page.enums?.pageInfo.endCursor;
296
317
  }
297
318
  }
298
319
  movePackage.modules?.nodes.forEach((module) => {
@@ -314,10 +335,12 @@ const RPC_METHODS = {
314
335
  let hasMoreFriends = moveModule.friends?.pageInfo.hasNextPage ?? false;
315
336
  let hasMoreFunctions = moveModule.functions?.pageInfo.hasNextPage ?? false;
316
337
  let hasMoreStructs = moveModule.structs?.pageInfo.hasNextPage ?? false;
338
+ let hasMoreEnums = moveModule.enums?.pageInfo.hasNextPage ?? false;
317
339
  let afterFriends = moveModule.friends?.pageInfo.endCursor;
318
340
  let afterFunctions = moveModule.functions?.pageInfo.endCursor;
319
341
  let afterStructs = moveModule.structs?.pageInfo.endCursor;
320
- while (hasMoreFriends || hasMoreStructs || hasMoreFunctions) {
342
+ let afterEnums = moveModule.enums?.pageInfo.endCursor;
343
+ while (hasMoreFriends || hasMoreStructs || hasMoreFunctions || hasMoreEnums) {
321
344
  const page = await transport.graphqlQuery(
322
345
  {
323
346
  query: PaginateMoveModuleListsDocument,
@@ -327,9 +350,11 @@ const RPC_METHODS = {
327
350
  hasMoreFriends,
328
351
  hasMoreFunctions,
329
352
  hasMoreStructs,
353
+ hasMoreEnums,
330
354
  afterFriends,
331
355
  afterFunctions,
332
- afterStructs
356
+ afterStructs,
357
+ afterEnums
333
358
  }
334
359
  },
335
360
  (data) => data.object?.asMovePackage?.module
@@ -337,12 +362,15 @@ const RPC_METHODS = {
337
362
  moveModule.friends.nodes.push(...page.friends?.nodes ?? []);
338
363
  moveModule.functions?.nodes.push(...page.functions?.nodes ?? []);
339
364
  moveModule.structs?.nodes.push(...page.structs?.nodes ?? []);
365
+ moveModule.enums?.nodes.push(...page.enums?.nodes ?? []);
340
366
  hasMoreFriends = page.friends?.pageInfo.hasNextPage ?? false;
341
367
  hasMoreFunctions = page.functions?.pageInfo.hasNextPage ?? false;
342
368
  hasMoreStructs = page.structs?.pageInfo.hasNextPage ?? false;
369
+ hasMoreEnums = page.enums?.pageInfo.hasNextPage ?? false;
343
370
  afterFriends = page.friends?.pageInfo.endCursor;
344
371
  afterFunctions = page.functions?.pageInfo.endCursor;
345
372
  afterStructs = page.structs?.pageInfo.endCursor;
373
+ afterEnums = page.enums?.pageInfo.endCursor;
346
374
  }
347
375
  return mapNormalizedMoveModule(moveModule, normalizeIotaAddress(pkg));
348
376
  },
@@ -376,7 +404,7 @@ const RPC_METHODS = {
376
404
  type: typeFilter,
377
405
  owner: "ObjectOwner" in inputFilter ? inputFilter.ObjectOwner : "AddressOwner" in inputFilter ? inputFilter.AddressOwner : void 0
378
406
  };
379
- const unsupportedFilters = [];
407
+ const unsupportedFilters = ["MatchAll", "MatchAny", "MatchNone", "Version"];
380
408
  for (const unsupportedFilter of unsupportedFilters) {
381
409
  if (unsupportedFilter in inputFilter) {
382
410
  throw new UnsupportedParamError("getOwnedObjects", unsupportedFilter);
@@ -411,25 +439,34 @@ const RPC_METHODS = {
411
439
  };
412
440
  },
413
441
  async getObject(transport, [id, options]) {
414
- const object = await transport.graphqlQuery(
415
- {
416
- query: GetObjectDocument,
417
- variables: {
418
- id,
419
- showBcs: options?.showBcs,
420
- showContent: options?.showContent,
421
- showDisplay: options?.showDisplay,
422
- showOwner: options?.showOwner,
423
- showPreviousTransaction: options?.showPreviousTransaction,
424
- showStorageRebate: options?.showStorageRebate,
425
- showType: options?.showType
442
+ try {
443
+ const object = await transport.graphqlQuery(
444
+ {
445
+ query: GetObjectDocument,
446
+ variables: {
447
+ id,
448
+ showBcs: options?.showBcs,
449
+ showContent: options?.showContent,
450
+ showDisplay: options?.showDisplay,
451
+ showOwner: options?.showOwner,
452
+ showPreviousTransaction: options?.showPreviousTransaction,
453
+ showStorageRebate: options?.showStorageRebate,
454
+ showType: options?.showType
455
+ }
456
+ },
457
+ (data) => data.object
458
+ );
459
+ return {
460
+ data: mapGraphQLObjectToRpcObject(object, options ?? {})
461
+ };
462
+ } catch (_) {
463
+ return {
464
+ error: {
465
+ code: "notExists",
466
+ object_id: id
426
467
  }
427
- },
428
- (data) => data.object
429
- );
430
- return {
431
- data: mapGraphQLObjectToRpcObject(object, options ?? {})
432
- };
468
+ };
469
+ }
433
470
  },
434
471
  async tryGetPastObject(transport, [id, version, options]) {
435
472
  const data = await transport.graphqlQuery({
@@ -448,7 +485,7 @@ const RPC_METHODS = {
448
485
  });
449
486
  if (!data.current) {
450
487
  return {
451
- details: "Could not find the referenced object",
488
+ details: id,
452
489
  status: "ObjectNotExists"
453
490
  };
454
491
  }
@@ -1230,7 +1267,8 @@ const RPC_METHODS = {
1230
1267
  binary_friend_decls: "u16",
1231
1268
  max_package_dependencies: "u32",
1232
1269
  bridge_should_try_to_finalize_committee: "bool",
1233
- consensus_gc_depth: "u32"
1270
+ consensus_gc_depth: "u32",
1271
+ scorer_version: "u16"
1234
1272
  };
1235
1273
  for (const { key, value } of protocolConfig.configs) {
1236
1274
  attributes[key] = value === null ? null : {