@mysten/sui 2.4.0 → 2.5.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 (40) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/bcs/bcs.d.mts +6 -6
  3. package/dist/bcs/index.d.mts +20 -20
  4. package/dist/client/types.d.mts +13 -6
  5. package/dist/client/types.d.mts.map +1 -1
  6. package/dist/cryptography/signature.d.mts +14 -14
  7. package/dist/graphql/core.d.mts.map +1 -1
  8. package/dist/graphql/core.mjs +7 -3
  9. package/dist/graphql/core.mjs.map +1 -1
  10. package/dist/graphql/generated/queries.mjs +1 -0
  11. package/dist/graphql/generated/queries.mjs.map +1 -1
  12. package/dist/grpc/core.d.mts.map +1 -1
  13. package/dist/grpc/core.mjs +7 -3
  14. package/dist/grpc/core.mjs.map +1 -1
  15. package/dist/grpc/proto/sui/rpc/v2/name_service.client.d.mts +4 -4
  16. package/dist/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.mts +4 -4
  17. package/dist/grpc/proto/sui/rpc/v2/subscription_service.client.d.mts +4 -4
  18. package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.mts +4 -4
  19. package/dist/jsonRpc/core.d.mts +1 -9
  20. package/dist/jsonRpc/core.d.mts.map +1 -1
  21. package/dist/jsonRpc/core.mjs +10 -4
  22. package/dist/jsonRpc/core.mjs.map +1 -1
  23. package/dist/transactions/Transaction.d.mts +3 -3
  24. package/dist/transactions/Transaction.d.mts.map +1 -1
  25. package/dist/utils/sui-types.d.mts.map +1 -1
  26. package/dist/utils/sui-types.mjs +8 -0
  27. package/dist/utils/sui-types.mjs.map +1 -1
  28. package/dist/version.mjs +2 -2
  29. package/dist/version.mjs.map +1 -1
  30. package/dist/zklogin/bcs.d.mts +14 -14
  31. package/dist/zklogin/bcs.d.mts.map +1 -1
  32. package/package.json +1 -1
  33. package/src/client/types.ts +8 -6
  34. package/src/graphql/core.ts +14 -4
  35. package/src/graphql/generated/queries.ts +2 -1
  36. package/src/graphql/queries/getDynamicFields.graphql +1 -0
  37. package/src/grpc/core.ts +20 -16
  38. package/src/jsonRpc/core.ts +11 -4
  39. package/src/utils/sui-types.ts +15 -0
  40. package/src/version.ts +2 -2
@@ -22,6 +22,7 @@ import { coreClientResolveTransactionPlugin } from '../client/core-resolver.js';
22
22
  import { TransactionDataBuilder } from '../transactions/TransactionData.js';
23
23
  import { chunk } from '@mysten/utils';
24
24
  import { normalizeSuiAddress, normalizeStructTag } from '../utils/sui-types.js';
25
+ import { deriveDynamicFieldID } from '../utils/dynamic-fields.js';
25
26
  import { SUI_FRAMEWORK_ADDRESS, SUI_SYSTEM_ADDRESS } from '../utils/constants.js';
26
27
  import { CoreClient } from '../client/core.js';
27
28
  import type { SuiClientTypes } from '../client/types.js';
@@ -503,21 +504,27 @@ export class JSONRpcCoreClient extends CoreClient {
503
504
  });
504
505
 
505
506
  return {
506
- dynamicFields: dynamicFields.data.map((dynamicField) => {
507
+ dynamicFields: dynamicFields.data.map((dynamicField): SuiClientTypes.DynamicFieldEntry => {
507
508
  const isDynamicObject = dynamicField.type === 'DynamicObject';
508
509
  const fullType = isDynamicObject
509
510
  ? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>, 0x2::object::ID>`
510
511
  : `0x2::dynamic_field::Field<${dynamicField.name.type}, ${dynamicField.objectType}>`;
511
512
 
513
+ const bcsBytes = fromBase64(dynamicField.bcsName);
514
+ const derivedNameType = isDynamicObject
515
+ ? `0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>`
516
+ : dynamicField.name.type;
512
517
  return {
513
- fieldId: dynamicField.objectId,
518
+ $kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',
519
+ fieldId: deriveDynamicFieldID(options.parentId, derivedNameType, bcsBytes),
514
520
  type: normalizeStructTag(fullType),
515
521
  name: {
516
522
  type: dynamicField.name.type,
517
- bcs: fromBase64(dynamicField.bcsName),
523
+ bcs: bcsBytes,
518
524
  },
519
525
  valueType: dynamicField.objectType,
520
- };
526
+ childId: isDynamicObject ? dynamicField.objectId : undefined,
527
+ } as SuiClientTypes.DynamicFieldEntry;
521
528
  }),
522
529
  hasNextPage: dynamicFields.hasNextPage,
523
530
  cursor: dynamicFields.nextCursor,
@@ -97,6 +97,21 @@ export type StructTag = {
97
97
  };
98
98
 
99
99
  function parseTypeTag(type: string): string | StructTag {
100
+ if (type.startsWith('vector<')) {
101
+ if (!type.endsWith('>')) {
102
+ throw new Error(`Invalid type tag: ${type}`);
103
+ }
104
+ const inner = type.slice(7, -1);
105
+ if (!inner) {
106
+ throw new Error(`Invalid type tag: ${type}`);
107
+ }
108
+ const parsed = parseTypeTag(inner);
109
+ if (typeof parsed === 'string') {
110
+ return `vector<${parsed}>`;
111
+ }
112
+ return `vector<${normalizeStructTag(parsed)}>`;
113
+ }
114
+
100
115
  if (!type.includes('::')) return type;
101
116
 
102
117
  return parseStructTag(type);
package/src/version.ts CHANGED
@@ -3,5 +3,5 @@
3
3
 
4
4
  // This file is generated by genversion.mjs. Do not edit it directly.
5
5
 
6
- export const PACKAGE_VERSION = '2.4.0';
7
- export const TARGETED_RPC_VERSION = '1.66.0';
6
+ export const PACKAGE_VERSION = '2.5.0';
7
+ export const TARGETED_RPC_VERSION = '1.67.0';