@mysten/sui 1.43.2 → 1.45.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 (94) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/experimental/core.d.ts +1 -0
  3. package/dist/cjs/experimental/core.js.map +2 -2
  4. package/dist/cjs/experimental/types.d.ts +6 -8
  5. package/dist/cjs/experimental/types.js.map +1 -1
  6. package/dist/cjs/graphql/core.d.ts +1 -1
  7. package/dist/cjs/graphql/core.js +81 -78
  8. package/dist/cjs/graphql/core.js.map +2 -2
  9. package/dist/cjs/graphql/generated/latest/tada-env.d.ts +3870 -5429
  10. package/dist/cjs/graphql/generated/latest/tada-env.js +3958 -5702
  11. package/dist/cjs/graphql/generated/latest/tada-env.js.map +2 -2
  12. package/dist/cjs/graphql/generated/queries.d.ts +2485 -3397
  13. package/dist/cjs/graphql/generated/queries.js +137 -172
  14. package/dist/cjs/graphql/generated/queries.js.map +3 -3
  15. package/dist/cjs/graphql/types.d.ts +1 -0
  16. package/dist/cjs/graphql/types.js.map +1 -1
  17. package/dist/cjs/grpc/client.d.ts +2 -0
  18. package/dist/cjs/grpc/client.js +2 -0
  19. package/dist/cjs/grpc/client.js.map +2 -2
  20. package/dist/cjs/grpc/core.d.ts +1 -0
  21. package/dist/cjs/grpc/core.js +10 -0
  22. package/dist/cjs/grpc/core.js.map +2 -2
  23. package/dist/cjs/jsonRpc/core.d.ts +1 -1
  24. package/dist/cjs/jsonRpc/core.js +7 -2
  25. package/dist/cjs/jsonRpc/core.js.map +2 -2
  26. package/dist/cjs/transactions/TransactionData.d.ts +8 -1
  27. package/dist/cjs/transactions/TransactionData.js +93 -11
  28. package/dist/cjs/transactions/TransactionData.js.map +2 -2
  29. package/dist/cjs/transactions/utils.d.ts +2 -1
  30. package/dist/cjs/transactions/utils.js +64 -1
  31. package/dist/cjs/transactions/utils.js.map +2 -2
  32. package/dist/cjs/version.d.ts +2 -2
  33. package/dist/cjs/version.js +2 -2
  34. package/dist/cjs/version.js.map +1 -1
  35. package/dist/cjs/zklogin/publickey.js +1 -1
  36. package/dist/cjs/zklogin/publickey.js.map +1 -1
  37. package/dist/esm/experimental/core.d.ts +1 -0
  38. package/dist/esm/experimental/core.js.map +2 -2
  39. package/dist/esm/experimental/types.d.ts +6 -8
  40. package/dist/esm/graphql/core.d.ts +1 -1
  41. package/dist/esm/graphql/core.js +85 -82
  42. package/dist/esm/graphql/core.js.map +2 -2
  43. package/dist/esm/graphql/generated/latest/tada-env.d.ts +3870 -5429
  44. package/dist/esm/graphql/generated/latest/tada-env.js +3958 -5702
  45. package/dist/esm/graphql/generated/latest/tada-env.js.map +2 -2
  46. package/dist/esm/graphql/generated/queries.d.ts +2485 -3397
  47. package/dist/esm/graphql/generated/queries.js +137 -172
  48. package/dist/esm/graphql/generated/queries.js.map +3 -3
  49. package/dist/esm/graphql/types.d.ts +1 -0
  50. package/dist/esm/grpc/client.d.ts +2 -0
  51. package/dist/esm/grpc/client.js +2 -0
  52. package/dist/esm/grpc/client.js.map +2 -2
  53. package/dist/esm/grpc/core.d.ts +1 -0
  54. package/dist/esm/grpc/core.js +10 -0
  55. package/dist/esm/grpc/core.js.map +2 -2
  56. package/dist/esm/jsonRpc/core.d.ts +1 -1
  57. package/dist/esm/jsonRpc/core.js +7 -2
  58. package/dist/esm/jsonRpc/core.js.map +2 -2
  59. package/dist/esm/transactions/TransactionData.d.ts +8 -1
  60. package/dist/esm/transactions/TransactionData.js +94 -12
  61. package/dist/esm/transactions/TransactionData.js.map +2 -2
  62. package/dist/esm/transactions/utils.d.ts +2 -1
  63. package/dist/esm/transactions/utils.js +64 -1
  64. package/dist/esm/transactions/utils.js.map +2 -2
  65. package/dist/esm/version.d.ts +2 -2
  66. package/dist/esm/version.js +2 -2
  67. package/dist/esm/version.js.map +1 -1
  68. package/dist/esm/zklogin/publickey.js +1 -1
  69. package/dist/esm/zklogin/publickey.js.map +1 -1
  70. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  71. package/dist/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +1 -1
  73. package/src/experimental/core.ts +4 -0
  74. package/src/experimental/types.ts +8 -10
  75. package/src/graphql/core.ts +95 -95
  76. package/src/graphql/generated/latest/schema.graphql +2139 -2671
  77. package/src/graphql/generated/latest/tada-env.ts +3958 -5702
  78. package/src/graphql/generated/queries.ts +2344 -3281
  79. package/src/graphql/queries/getAllBalances.graphql +0 -1
  80. package/src/graphql/queries/getBalance.graphql +2 -3
  81. package/src/graphql/queries/getCoins.graphql +9 -4
  82. package/src/graphql/queries/getDynamicFields.graphql +1 -1
  83. package/src/graphql/queries/nameService.graphql +2 -10
  84. package/src/graphql/queries/objects.graphql +11 -22
  85. package/src/graphql/queries/transactions.graphql +16 -12
  86. package/src/graphql/queries/verifyZkLoginSignature.graphql +2 -2
  87. package/src/graphql/types.ts +1 -0
  88. package/src/grpc/client.ts +3 -0
  89. package/src/grpc/core.ts +16 -0
  90. package/src/jsonRpc/core.ts +9 -4
  91. package/src/transactions/TransactionData.ts +137 -15
  92. package/src/transactions/utils.ts +70 -1
  93. package/src/version.ts +2 -2
  94. package/src/zklogin/publickey.ts +1 -1
@@ -67,4 +67,5 @@ export interface CustomScalars {
67
67
  MoveTypeSignature: MoveTypeSignature;
68
68
  OpenMoveTypeSignature: OpenMoveTypeSignature;
69
69
  SuiAddress: string;
70
+ UInt53: number;
70
71
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/graphql/types.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type MoveData =\n\t| { Address: string }\n\t| { UID: string }\n\t| { ID: string }\n\t| { Bool: boolean }\n\t| { Number: string }\n\t| { String: string }\n\t| { Vector: [MoveData] }\n\t| { Option: MoveData | null }\n\t| { Struct: [{ name: string; value: MoveData }] };\n\nexport type MoveTypeLayout =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: MoveTypeLayout }\n\t| {\n\t\t\tstruct: {\n\t\t\t\ttype: string;\n\t\t\t\tfields: [{ name: string; layout: MoveTypeLayout }];\n\t\t\t};\n\t };\n\nexport type MoveTypeSignature =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: MoveTypeSignature }\n\t| {\n\t\t\tdatatype: {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\ttype: string;\n\t\t\t\ttypeParameters: [MoveTypeSignature];\n\t\t\t};\n\t };\n\nexport type OpenMoveTypeSignature = {\n\tref?: ('&' | '&mut') | null;\n\tbody: OpenMoveTypeSignatureBody;\n};\n\nexport type OpenMoveTypeSignatureBody =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: OpenMoveTypeSignatureBody }\n\t| {\n\t\t\tdatatype: {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\ttype: string;\n\t\t\t\ttypeParameters: [OpenMoveTypeSignatureBody];\n\t\t\t};\n\t }\n\t| { typeParameter: number };\n\nexport interface CustomScalars {\n\tBigInt: string;\n\tBase64: string;\n\tDateTime: string;\n\tJSON: unknown;\n\tMoveData: MoveData;\n\tMoveTypeLayout: MoveTypeLayout;\n\tMoveTypeSignature: MoveTypeSignature;\n\tOpenMoveTypeSignature: OpenMoveTypeSignature;\n\tSuiAddress: string;\n}\n"],
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nexport type MoveData =\n\t| { Address: string }\n\t| { UID: string }\n\t| { ID: string }\n\t| { Bool: boolean }\n\t| { Number: string }\n\t| { String: string }\n\t| { Vector: [MoveData] }\n\t| { Option: MoveData | null }\n\t| { Struct: [{ name: string; value: MoveData }] };\n\nexport type MoveTypeLayout =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: MoveTypeLayout }\n\t| {\n\t\t\tstruct: {\n\t\t\t\ttype: string;\n\t\t\t\tfields: [{ name: string; layout: MoveTypeLayout }];\n\t\t\t};\n\t };\n\nexport type MoveTypeSignature =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: MoveTypeSignature }\n\t| {\n\t\t\tdatatype: {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\ttype: string;\n\t\t\t\ttypeParameters: [MoveTypeSignature];\n\t\t\t};\n\t };\n\nexport type OpenMoveTypeSignature = {\n\tref?: ('&' | '&mut') | null;\n\tbody: OpenMoveTypeSignatureBody;\n};\n\nexport type OpenMoveTypeSignatureBody =\n\t| 'address'\n\t| 'bool'\n\t| 'u8'\n\t| 'u16'\n\t| 'u32'\n\t| 'u64'\n\t| 'u128'\n\t| 'u256'\n\t| { vector: OpenMoveTypeSignatureBody }\n\t| {\n\t\t\tdatatype: {\n\t\t\t\tpackage: string;\n\t\t\t\tmodule: string;\n\t\t\t\ttype: string;\n\t\t\t\ttypeParameters: [OpenMoveTypeSignatureBody];\n\t\t\t};\n\t }\n\t| { typeParameter: number };\n\nexport interface CustomScalars {\n\tBigInt: string;\n\tBase64: string;\n\tDateTime: string;\n\tJSON: unknown;\n\tMoveData: MoveData;\n\tMoveTypeLayout: MoveTypeLayout;\n\tMoveTypeSignature: MoveTypeSignature;\n\tOpenMoveTypeSignature: OpenMoveTypeSignature;\n\tSuiAddress: string;\n\tUInt53: number;\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -9,6 +9,7 @@ import { SubscriptionServiceClient } from './proto/sui/rpc/v2/subscription_servi
9
9
  import { GrpcCoreClient } from './core.js';
10
10
  import type { Experimental_SuiClientTypes } from '../experimental/index.js';
11
11
  import { Experimental_BaseClient } from '../experimental/index.js';
12
+ import { NameServiceClient } from './proto/sui/rpc/v2/name_service.client.js';
12
13
  interface SuiGrpcTransportOptions extends GrpcWebOptions {
13
14
  transport?: never;
14
15
  }
@@ -26,6 +27,7 @@ export declare class SuiGrpcClient extends Experimental_BaseClient {
26
27
  subscriptionService: SubscriptionServiceClient;
27
28
  movePackageService: MovePackageServiceClient;
28
29
  signatureVerificationService: SignatureVerificationServiceClient;
30
+ nameService: NameServiceClient;
29
31
  constructor(options: SuiGrpcClientOptions);
30
32
  }
31
33
  export {};
@@ -30,6 +30,7 @@ var import_state_service_client = require("./proto/sui/rpc/v2/state_service.clie
30
30
  var import_subscription_service_client = require("./proto/sui/rpc/v2/subscription_service.client.js");
31
31
  var import_core = require("./core.js");
32
32
  var import_experimental = require("../experimental/index.js");
33
+ var import_name_service_client = require("./proto/sui/rpc/v2/name_service.client.js");
33
34
  class SuiGrpcClient extends import_experimental.Experimental_BaseClient {
34
35
  constructor(options) {
35
36
  super({ network: options.network });
@@ -40,6 +41,7 @@ class SuiGrpcClient extends import_experimental.Experimental_BaseClient {
40
41
  this.subscriptionService = new import_subscription_service_client.SubscriptionServiceClient(transport);
41
42
  this.movePackageService = new import_move_package_service_client.MovePackageServiceClient(transport);
42
43
  this.signatureVerificationService = new import_signature_verification_service_client.SignatureVerificationServiceClient(transport);
44
+ this.nameService = new import_name_service_client.NameServiceClient(transport);
43
45
  this.core = new import_core.GrpcCoreClient({
44
46
  client: this,
45
47
  base: this,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/grpc/client.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { GrpcWebOptions } from '@protobuf-ts/grpcweb-transport';\nimport { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport';\nimport { TransactionExecutionServiceClient } from './proto/sui/rpc/v2/transaction_execution_service.client.js';\nimport { LedgerServiceClient } from './proto/sui/rpc/v2/ledger_service.client.js';\nimport { MovePackageServiceClient } from './proto/sui/rpc/v2/move_package_service.client.js';\nimport { SignatureVerificationServiceClient } from './proto/sui/rpc/v2/signature_verification_service.client.js';\nimport type { RpcTransport } from '@protobuf-ts/runtime-rpc';\nimport { StateServiceClient } from './proto/sui/rpc/v2/state_service.client.js';\nimport { SubscriptionServiceClient } from './proto/sui/rpc/v2/subscription_service.client.js';\nimport { GrpcCoreClient } from './core.js';\nimport type { Experimental_SuiClientTypes } from '../experimental/index.js';\nimport { Experimental_BaseClient } from '../experimental/index.js';\n\ninterface SuiGrpcTransportOptions extends GrpcWebOptions {\n\ttransport?: never;\n}\n\nexport type SuiGrpcClientOptions = {\n\tnetwork: Experimental_SuiClientTypes.Network;\n\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n} & (\n\t| {\n\t\t\ttransport: RpcTransport;\n\t }\n\t| SuiGrpcTransportOptions\n);\n\nexport class SuiGrpcClient extends Experimental_BaseClient {\n\tcore: GrpcCoreClient;\n\ttransactionExecutionService: TransactionExecutionServiceClient;\n\tledgerService: LedgerServiceClient;\n\tstateService: StateServiceClient;\n\tsubscriptionService: SubscriptionServiceClient;\n\tmovePackageService: MovePackageServiceClient;\n\tsignatureVerificationService: SignatureVerificationServiceClient;\n\n\tconstructor(options: SuiGrpcClientOptions) {\n\t\tsuper({ network: options.network });\n\t\tconst transport =\n\t\t\toptions.transport ??\n\t\t\tnew GrpcWebFetchTransport({ baseUrl: options.baseUrl, fetchInit: options.fetchInit });\n\t\tthis.transactionExecutionService = new TransactionExecutionServiceClient(transport);\n\t\tthis.ledgerService = new LedgerServiceClient(transport);\n\t\tthis.stateService = new StateServiceClient(transport);\n\t\tthis.subscriptionService = new SubscriptionServiceClient(transport);\n\t\tthis.movePackageService = new MovePackageServiceClient(transport);\n\t\tthis.signatureVerificationService = new SignatureVerificationServiceClient(transport);\n\n\t\tthis.core = new GrpcCoreClient({\n\t\t\tclient: this,\n\t\t\tbase: this,\n\t\t\tnetwork: options.network,\n\t\t\tmvr: options.mvr,\n\t\t});\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,+BAAsC;AACtC,kDAAkD;AAClD,mCAAoC;AACpC,yCAAyC;AACzC,mDAAmD;AAEnD,kCAAmC;AACnC,yCAA0C;AAC1C,kBAA+B;AAE/B,0BAAwC;AAgBjC,MAAM,sBAAsB,4CAAwB;AAAA,EAS1D,YAAY,SAA+B;AAC1C,UAAM,EAAE,SAAS,QAAQ,QAAQ,CAAC;AAClC,UAAM,YACL,QAAQ,aACR,IAAI,+CAAsB,EAAE,SAAS,QAAQ,SAAS,WAAW,QAAQ,UAAU,CAAC;AACrF,SAAK,8BAA8B,IAAI,8EAAkC,SAAS;AAClF,SAAK,gBAAgB,IAAI,iDAAoB,SAAS;AACtD,SAAK,eAAe,IAAI,+CAAmB,SAAS;AACpD,SAAK,sBAAsB,IAAI,6DAA0B,SAAS;AAClE,SAAK,qBAAqB,IAAI,4DAAyB,SAAS;AAChE,SAAK,+BAA+B,IAAI,gFAAmC,SAAS;AAEpF,SAAK,OAAO,IAAI,2BAAe;AAAA,MAC9B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,KAAK,QAAQ;AAAA,IACd,CAAC;AAAA,EACF;AACD;",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { GrpcWebOptions } from '@protobuf-ts/grpcweb-transport';\nimport { GrpcWebFetchTransport } from '@protobuf-ts/grpcweb-transport';\nimport { TransactionExecutionServiceClient } from './proto/sui/rpc/v2/transaction_execution_service.client.js';\nimport { LedgerServiceClient } from './proto/sui/rpc/v2/ledger_service.client.js';\nimport { MovePackageServiceClient } from './proto/sui/rpc/v2/move_package_service.client.js';\nimport { SignatureVerificationServiceClient } from './proto/sui/rpc/v2/signature_verification_service.client.js';\nimport type { RpcTransport } from '@protobuf-ts/runtime-rpc';\nimport { StateServiceClient } from './proto/sui/rpc/v2/state_service.client.js';\nimport { SubscriptionServiceClient } from './proto/sui/rpc/v2/subscription_service.client.js';\nimport { GrpcCoreClient } from './core.js';\nimport type { Experimental_SuiClientTypes } from '../experimental/index.js';\nimport { Experimental_BaseClient } from '../experimental/index.js';\nimport { NameServiceClient } from './proto/sui/rpc/v2/name_service.client.js';\n\ninterface SuiGrpcTransportOptions extends GrpcWebOptions {\n\ttransport?: never;\n}\n\nexport type SuiGrpcClientOptions = {\n\tnetwork: Experimental_SuiClientTypes.Network;\n\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n} & (\n\t| {\n\t\t\ttransport: RpcTransport;\n\t }\n\t| SuiGrpcTransportOptions\n);\n\nexport class SuiGrpcClient extends Experimental_BaseClient {\n\tcore: GrpcCoreClient;\n\ttransactionExecutionService: TransactionExecutionServiceClient;\n\tledgerService: LedgerServiceClient;\n\tstateService: StateServiceClient;\n\tsubscriptionService: SubscriptionServiceClient;\n\tmovePackageService: MovePackageServiceClient;\n\tsignatureVerificationService: SignatureVerificationServiceClient;\n\tnameService: NameServiceClient;\n\n\tconstructor(options: SuiGrpcClientOptions) {\n\t\tsuper({ network: options.network });\n\t\tconst transport =\n\t\t\toptions.transport ??\n\t\t\tnew GrpcWebFetchTransport({ baseUrl: options.baseUrl, fetchInit: options.fetchInit });\n\t\tthis.transactionExecutionService = new TransactionExecutionServiceClient(transport);\n\t\tthis.ledgerService = new LedgerServiceClient(transport);\n\t\tthis.stateService = new StateServiceClient(transport);\n\t\tthis.subscriptionService = new SubscriptionServiceClient(transport);\n\t\tthis.movePackageService = new MovePackageServiceClient(transport);\n\t\tthis.signatureVerificationService = new SignatureVerificationServiceClient(transport);\n\t\tthis.nameService = new NameServiceClient(transport);\n\n\t\tthis.core = new GrpcCoreClient({\n\t\t\tclient: this,\n\t\t\tbase: this,\n\t\t\tnetwork: options.network,\n\t\t\tmvr: options.mvr,\n\t\t});\n\t}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIA,+BAAsC;AACtC,kDAAkD;AAClD,mCAAoC;AACpC,yCAAyC;AACzC,mDAAmD;AAEnD,kCAAmC;AACnC,yCAA0C;AAC1C,kBAA+B;AAE/B,0BAAwC;AACxC,iCAAkC;AAgB3B,MAAM,sBAAsB,4CAAwB;AAAA,EAU1D,YAAY,SAA+B;AAC1C,UAAM,EAAE,SAAS,QAAQ,QAAQ,CAAC;AAClC,UAAM,YACL,QAAQ,aACR,IAAI,+CAAsB,EAAE,SAAS,QAAQ,SAAS,WAAW,QAAQ,UAAU,CAAC;AACrF,SAAK,8BAA8B,IAAI,8EAAkC,SAAS;AAClF,SAAK,gBAAgB,IAAI,iDAAoB,SAAS;AACtD,SAAK,eAAe,IAAI,+CAAmB,SAAS;AACpD,SAAK,sBAAsB,IAAI,6DAA0B,SAAS;AAClE,SAAK,qBAAqB,IAAI,4DAAyB,SAAS;AAChE,SAAK,+BAA+B,IAAI,gFAAmC,SAAS;AACpF,SAAK,cAAc,IAAI,6CAAkB,SAAS;AAElD,SAAK,OAAO,IAAI,2BAAe;AAAA,MAC9B,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,SAAS,QAAQ;AAAA,MACjB,KAAK,QAAQ;AAAA,IACd,CAAC;AAAA,EACF;AACD;",
6
6
  "names": []
7
7
  }
@@ -21,6 +21,7 @@ export declare class GrpcCoreClient extends Experimental_CoreClient {
21
21
  getReferenceGasPrice(): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse>;
22
22
  getDynamicFields(options: Experimental_SuiClientTypes.GetDynamicFieldsOptions): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse>;
23
23
  verifyZkLoginSignature(options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse>;
24
+ defaultNameServiceName(options: Experimental_SuiClientTypes.DefaultNameServiceNameOptions): Promise<Experimental_SuiClientTypes.DefaultNameServiceNameResponse>;
24
25
  getMoveFunction(options: Experimental_SuiClientTypes.GetMoveFunctionOptions): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse>;
25
26
  resolveTransactionPlugin(): (_transactionData: TransactionDataBuilder, _options: BuildTransactionOptions, _next: () => Promise<void>) => Promise<never>;
26
27
  }
@@ -301,6 +301,16 @@ class GrpcCoreClient extends import_experimental.Experimental_CoreClient {
301
301
  errors: response.reason ? [response.reason] : []
302
302
  };
303
303
  }
304
+ async defaultNameServiceName(options) {
305
+ const name = (await __privateGet(this, _client).nameService.reverseLookupName({
306
+ address: options.address
307
+ })).response.record?.name ?? null;
308
+ return {
309
+ data: {
310
+ name
311
+ }
312
+ };
313
+ }
304
314
  async getMoveFunction(options) {
305
315
  const { response } = await __privateGet(this, _client).movePackageService.getFunction({
306
316
  packageId: (await this.mvr.resolvePackage({ package: options.packageId })).package,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/grpc/core.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tExperimental_CoreClientOptions,\n\tExperimental_SuiClientTypes,\n} from '../experimental/index.js';\nimport { Experimental_CoreClient } from '../experimental/index.js';\nimport type { SuiGrpcClient } from './client.js';\nimport type { Owner } from './proto/sui/rpc/v2/owner.js';\nimport { Owner_OwnerKind } from './proto/sui/rpc/v2/owner.js';\nimport { chunk, fromBase64, toBase64 } from '@mysten/utils';\nimport type { ExecutedTransaction } from './proto/sui/rpc/v2/executed_transaction.js';\nimport type { TransactionEffects } from './proto/sui/rpc/v2/effects.js';\nimport { UnchangedConsensusObject_UnchangedConsensusObjectKind } from './proto/sui/rpc/v2/effects.js';\nimport {\n\tChangedObject_IdOperation,\n\tChangedObject_InputObjectState,\n\tChangedObject_OutputObjectState,\n} from './proto/sui/rpc/v2/effects.js';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\nimport { TransactionDataBuilder } from '../transactions/index.js';\nimport { bcs } from '../bcs/index.js';\nimport type { OpenSignature, OpenSignatureBody } from './proto/sui/rpc/v2/move_package.js';\nimport {\n\tAbility,\n\tFunctionDescriptor_Visibility,\n\tOpenSignature_Reference,\n\tOpenSignatureBody_Type,\n} from './proto/sui/rpc/v2/move_package.js';\nexport interface GrpcCoreClientOptions extends Experimental_CoreClientOptions {\n\tclient: SuiGrpcClient;\n}\nexport class GrpcCoreClient extends Experimental_CoreClient {\n\t#client: SuiGrpcClient;\n\tconstructor({ client, ...options }: GrpcCoreClientOptions) {\n\t\tsuper(options);\n\t\tthis.#client = client;\n\t}\n\n\tasync getObjects(\n\t\toptions: Experimental_SuiClientTypes.GetObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectsResponse> {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst response = await this.#client.ledgerService.batchGetObjects({\n\t\t\t\trequests: batch.map((id) => ({ objectId: id })),\n\t\t\t\treadMask: {\n\t\t\t\t\tpaths: [\n\t\t\t\t\t\t'owner',\n\t\t\t\t\t\t'object_type',\n\t\t\t\t\t\t'bcs',\n\t\t\t\t\t\t'digest',\n\t\t\t\t\t\t'version',\n\t\t\t\t\t\t'object_id',\n\t\t\t\t\t\t'previous_transaction',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tresults.push(\n\t\t\t\t...response.response.objects.map(\n\t\t\t\t\t(object): Experimental_SuiClientTypes.ObjectResponse | Error => {\n\t\t\t\t\t\tif (object.result.oneofKind === 'error') {\n\t\t\t\t\t\t\t// TODO: improve error handling\n\t\t\t\t\t\t\treturn new Error(object.result.error.message);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (object.result.oneofKind !== 'object') {\n\t\t\t\t\t\t\treturn new Error('Unexpected result type');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: object.result.object.objectId!,\n\t\t\t\t\t\t\tversion: object.result.object.version?.toString()!,\n\t\t\t\t\t\t\tdigest: object.result.object.digest!,\n\t\t\t\t\t\t\t// TODO: bcs content is not returned in all cases\n\t\t\t\t\t\t\tcontent: Promise.resolve(object.result.object.bcs?.value!),\n\t\t\t\t\t\t\towner: mapOwner(object.result.object.owner)!,\n\t\t\t\t\t\t\ttype: object.result.object.objectType!,\n\t\t\t\t\t\t\tpreviousTransaction: object.result.object.previousTransaction ?? null,\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(\n\t\toptions: Experimental_SuiClientTypes.GetOwnedObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse> {\n\t\tconst response = await this.#client.stateService.listOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tobjectType: options.type\n\t\t\t\t? (await this.mvr.resolveType({ type: options.type })).type\n\t\t\t\t: undefined,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'owner',\n\t\t\t\t\t'object_type',\n\t\t\t\t\t'bcs',\n\t\t\t\t\t'digest',\n\t\t\t\t\t'version',\n\t\t\t\t\t'object_id',\n\t\t\t\t\t'previous_transaction',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\n\t\tconst objects = response.response.objects.map(\n\t\t\t(object): Experimental_SuiClientTypes.ObjectResponse => ({\n\t\t\t\tid: object.objectId!,\n\t\t\t\tversion: object.version?.toString()!,\n\t\t\t\tdigest: object.digest!,\n\t\t\t\t// TODO: List owned objects doesn't return content right now\n\t\t\t\tget content() {\n\t\t\t\t\treturn object.bcs?.value\n\t\t\t\t\t\t? Promise.resolve(object.bcs.value)\n\t\t\t\t\t\t: Promise.reject(\n\t\t\t\t\t\t\t\tnew Error('GRPC does not return object contents when listing owned objects'),\n\t\t\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\towner: mapOwner(object.owner)!,\n\t\t\t\ttype: object.objectType!,\n\t\t\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t\t\t}),\n\t\t);\n\n\t\treturn {\n\t\t\tobjects,\n\t\t\tcursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,\n\t\t\thasNextPage: response.response.nextPageToken !== undefined,\n\t\t};\n\t}\n\tasync getCoins(\n\t\toptions: Experimental_SuiClientTypes.GetCoinsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetCoinsResponse> {\n\t\tconst response = await this.#client.stateService.listOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tobjectType: `0x2::coin::Coin<${(await this.mvr.resolveType({ type: options.coinType })).type}>`,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'owner',\n\t\t\t\t\t'object_type',\n\t\t\t\t\t'bcs',\n\t\t\t\t\t'digest',\n\t\t\t\t\t'version',\n\t\t\t\t\t'object_id',\n\t\t\t\t\t'balance',\n\t\t\t\t\t'previous_transaction',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: response.response.objects.map(\n\t\t\t\t(object): Experimental_SuiClientTypes.CoinResponse => ({\n\t\t\t\t\tid: object.objectId!,\n\t\t\t\t\tversion: object.version?.toString()!,\n\t\t\t\t\tdigest: object.digest!,\n\t\t\t\t\t// TODO: List owned objects doesn't return content right now\n\t\t\t\t\tget content() {\n\t\t\t\t\t\treturn object.bcs?.value\n\t\t\t\t\t\t\t? Promise.resolve(object.bcs.value)\n\t\t\t\t\t\t\t: Promise.reject(\n\t\t\t\t\t\t\t\t\tnew Error('GRPC does not return object contents when listing owned objects'),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\towner: mapOwner(object.owner)!,\n\t\t\t\t\ttype: object.objectType!,\n\t\t\t\t\tbalance: object.balance?.toString()!,\n\t\t\t\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t\t\t\t}),\n\t\t\t),\n\t\t\tcursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,\n\t\t\thasNextPage: response.response.nextPageToken !== undefined,\n\t\t};\n\t}\n\n\tasync getBalance(\n\t\toptions: Experimental_SuiClientTypes.GetBalanceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetBalanceResponse> {\n\t\tconst result = await this.#client.stateService.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: (await this.mvr.resolveType({ type: options.coinType })).type,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tbalance: result.response.balance?.balance?.toString() ?? '0',\n\t\t\t\tcoinType: result.response.balance?.coinType ?? options.coinType,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getAllBalances(\n\t\toptions: Experimental_SuiClientTypes.GetAllBalancesOptions,\n\t): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse> {\n\t\tconst result = await this.#client.stateService.listBalances({\n\t\t\towner: options.address,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t\tpageSize: options.limit,\n\t\t});\n\n\t\treturn {\n\t\t\thasNextPage: !!result.response.nextPageToken,\n\t\t\tcursor: result.response.nextPageToken ? toBase64(result.response.nextPageToken) : null,\n\t\t\tbalances: result.response.balances.map((balance) => ({\n\t\t\t\tbalance: balance.balance?.toString() ?? '0',\n\t\t\t\tcoinType: balance.coinType!,\n\t\t\t})),\n\t\t};\n\t}\n\tasync getTransaction(\n\t\toptions: Experimental_SuiClientTypes.GetTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {\n\t\tconst { response } = await this.#client.ledgerService.getTransaction({\n\t\t\tdigest: options.digest,\n\t\t\treadMask: {\n\t\t\t\tpaths: ['digest', 'transaction', 'effects', 'signatures', 'balance_changes'],\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(response.transaction!),\n\t\t};\n\t}\n\tasync executeTransaction(\n\t\toptions: Experimental_SuiClientTypes.ExecuteTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse> {\n\t\tconst { response } = await this.#client.transactionExecutionService.executeTransaction({\n\t\t\ttransaction: {\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: options.transaction,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsignatures: options.signatures.map((signature) => ({\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: fromBase64(signature),\n\t\t\t\t},\n\t\t\t\tsignature: {\n\t\t\t\t\toneofKind: undefined,\n\t\t\t\t},\n\t\t\t})),\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'transaction.digest',\n\t\t\t\t\t'transaction.transaction',\n\t\t\t\t\t'transaction.effects',\n\t\t\t\t\t'transaction.signatures',\n\t\t\t\t\t'transaction.balance_changes',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t\treturn {\n\t\t\ttransaction: parseTransaction(response.transaction!),\n\t\t};\n\t}\n\tasync dryRunTransaction(\n\t\toptions: Experimental_SuiClientTypes.DryRunTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse> {\n\t\tconst { response } = await this.#client.transactionExecutionService.simulateTransaction({\n\t\t\ttransaction: {\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: options.transaction,\n\t\t\t\t},\n\t\t\t},\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'transaction.digest',\n\t\t\t\t\t'transaction.transaction',\n\t\t\t\t\t'transaction.effects',\n\t\t\t\t\t'transaction.signatures',\n\t\t\t\t\t'transaction.balance_changes',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(response.transaction!),\n\t\t};\n\t}\n\tasync getReferenceGasPrice(): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\tconst response = await this.#client.ledgerService.getEpoch({});\n\n\t\treturn {\n\t\t\treferenceGasPrice: response.response.epoch?.referenceGasPrice?.toString()!,\n\t\t};\n\t}\n\n\tasync getDynamicFields(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse> {\n\t\tconst response = await this.#client.stateService.listDynamicFields({\n\t\t\tparent: options.parentId,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: response.response.dynamicFields.map((field) => ({\n\t\t\t\tid: field.fieldId!,\n\t\t\t\tname: {\n\t\t\t\t\ttype: field.name?.name!,\n\t\t\t\t\tbcs: field.name?.value!,\n\t\t\t\t},\n\t\t\t\ttype: field.fieldObject\n\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${field.name?.name!}>,0x2::object::ID>`\n\t\t\t\t\t: `0x2::dynamic_field::Field<${field.name?.value!},${field.valueType!}>`,\n\t\t\t})),\n\t\t\tcursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,\n\t\t\thasNextPage: response.response.nextPageToken !== undefined,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(\n\t\toptions: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse> {\n\t\tconst { response } = await this.#client.signatureVerificationService.verifySignature({\n\t\t\tmessage: {\n\t\t\t\tname: options.intentScope,\n\t\t\t\tvalue: fromBase64(options.bytes),\n\t\t\t},\n\t\t\tsignature: {\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: fromBase64(options.signature),\n\t\t\t\t},\n\t\t\t\tsignature: {\n\t\t\t\t\toneofKind: undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t\tjwks: [],\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: response.isValid ?? false,\n\t\t\terrors: response.reason ? [response.reason] : [],\n\t\t};\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: Experimental_SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst { response } = await this.#client.movePackageService.getFunction({\n\t\t\tpackageId: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\tmoduleName: options.moduleName,\n\t\t\tname: options.name,\n\t\t});\n\n\t\tlet visibility: 'public' | 'private' | 'friend' | 'unknown' = 'unknown';\n\n\t\tswitch (response.function?.visibility) {\n\t\t\tcase FunctionDescriptor_Visibility.PUBLIC:\n\t\t\t\tvisibility = 'public';\n\t\t\t\tbreak;\n\t\t\tcase FunctionDescriptor_Visibility.PRIVATE:\n\t\t\t\tvisibility = 'private';\n\t\t\t\tbreak;\n\t\t\tcase FunctionDescriptor_Visibility.FRIEND:\n\t\t\t\tvisibility = 'friend';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: options.packageId,\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: response.function?.name!,\n\t\t\t\tvisibility,\n\t\t\t\tisEntry: response.function?.isEntry ?? false,\n\t\t\t\ttypeParameters:\n\t\t\t\t\tresponse.function?.typeParameters?.map(({ constraints }) => ({\n\t\t\t\t\t\tisPhantom: false,\n\t\t\t\t\t\tconstraints:\n\t\t\t\t\t\t\tconstraints.map((constraint) => {\n\t\t\t\t\t\t\t\tswitch (constraint) {\n\t\t\t\t\t\t\t\t\tcase Ability.COPY:\n\t\t\t\t\t\t\t\t\t\treturn 'copy';\n\t\t\t\t\t\t\t\t\tcase Ability.DROP:\n\t\t\t\t\t\t\t\t\t\treturn 'drop';\n\t\t\t\t\t\t\t\t\tcase Ability.STORE:\n\t\t\t\t\t\t\t\t\t\treturn 'store';\n\t\t\t\t\t\t\t\t\tcase Ability.KEY:\n\t\t\t\t\t\t\t\t\t\treturn 'key';\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn 'unknown';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}) ?? [],\n\t\t\t\t\t})) ?? [],\n\t\t\t\tparameters:\n\t\t\t\t\tresponse.function?.parameters?.map((param) => parseNormalizedSuiMoveType(param)) ?? [],\n\t\t\t\treturns: response.function?.returns?.map((ret) => parseNormalizedSuiMoveType(ret)) ?? [],\n\t\t\t},\n\t\t};\n\t}\n\n\tresolveTransactionPlugin() {\n\t\t// const client = this.#client;\n\t\treturn async function resolveTransactionData(\n\t\t\t_transactionData: TransactionDataBuilder,\n\t\t\t_options: BuildTransactionOptions,\n\t\t\t_next: () => Promise<void>,\n\t\t) {\n\t\t\tthrow new Error('Transaction resolution is not supported with the GRPC client');\n\n\t\t\t// const result = await client.liveDataService.simulateTransaction({\n\t\t\t// \ttransaction: transactionFromData(transactionData)\n\t\t\t// })\n\t\t\t// const resolvedData = dataFromSimulate(result)\n\t\t\t// transactionData.applyResolvedData(resolvedData);\n\n\t\t\t// return await next();\n\t\t};\n\t}\n}\n\nfunction mapOwner(owner: Owner | null | undefined): Experimental_SuiClientTypes.ObjectOwner | null {\n\tif (!owner) {\n\t\treturn null;\n\t}\n\tif (owner.kind === Owner_OwnerKind.IMMUTABLE) {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\tif (owner.kind === Owner_OwnerKind.ADDRESS) {\n\t\treturn {\n\t\t\tAddressOwner: owner.address!,\n\t\t\t$kind: 'AddressOwner',\n\t\t};\n\t}\n\tif (owner.kind === Owner_OwnerKind.OBJECT) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.address!,\n\t\t};\n\t}\n\n\tif (owner.kind === Owner_OwnerKind.SHARED) {\n\t\tif (owner.address) {\n\t\t\treturn {\n\t\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\t\tConsensusAddressOwner: {\n\t\t\t\t\towner: owner.address,\n\t\t\t\t\tstartVersion: owner.version?.toString()!,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.version?.toString()!,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error('Unknown owner kind');\n}\n\nfunction mapIdOperation(\n\toperation: ChangedObject_IdOperation | undefined,\n): null | 'Created' | 'Deleted' | 'Unknown' | 'None' {\n\tif (operation == null) {\n\t\treturn null;\n\t}\n\tswitch (operation) {\n\t\tcase ChangedObject_IdOperation.CREATED:\n\t\t\treturn 'Created';\n\t\tcase ChangedObject_IdOperation.DELETED:\n\t\t\treturn 'Deleted';\n\t\tcase ChangedObject_IdOperation.NONE:\n\t\tcase ChangedObject_IdOperation.ID_OPERATION_UNKNOWN:\n\t\t\treturn 'None';\n\t\tdefault:\n\t\t\toperation satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nfunction mapInputObjectState(\n\tstate: ChangedObject_InputObjectState | undefined,\n): null | 'Exists' | 'DoesNotExist' | 'Unknown' {\n\tif (state == null) {\n\t\treturn null;\n\t}\n\tswitch (state) {\n\t\tcase ChangedObject_InputObjectState.EXISTS:\n\t\t\treturn 'Exists';\n\t\tcase ChangedObject_InputObjectState.DOES_NOT_EXIST:\n\t\t\treturn 'DoesNotExist';\n\t\tcase ChangedObject_InputObjectState.UNKNOWN:\n\t\t\treturn 'Unknown';\n\t\tdefault:\n\t\t\tstate satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nfunction mapOutputObjectState(\n\tstate: ChangedObject_OutputObjectState | undefined,\n): null | 'ObjectWrite' | 'PackageWrite' | 'DoesNotExist' | 'Unknown' {\n\tif (state == null) {\n\t\treturn null;\n\t}\n\tswitch (state) {\n\t\tcase ChangedObject_OutputObjectState.OBJECT_WRITE:\n\t\t\treturn 'ObjectWrite';\n\t\tcase ChangedObject_OutputObjectState.PACKAGE_WRITE:\n\t\t\treturn 'PackageWrite';\n\t\tcase ChangedObject_OutputObjectState.DOES_NOT_EXIST:\n\t\t\treturn 'DoesNotExist';\n\t\tcase ChangedObject_OutputObjectState.UNKNOWN:\n\t\t\treturn 'Unknown';\n\t\tdefault:\n\t\t\tstate satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nfunction mapUnchangedConsensusObjectKind(\n\tkind: UnchangedConsensusObject_UnchangedConsensusObjectKind | undefined,\n): null | Experimental_SuiClientTypes.UnchangedConsensusObject['kind'] {\n\tif (kind == null) {\n\t\treturn null;\n\t}\n\tswitch (kind) {\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:\n\t\t\treturn 'Unknown';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.READ_ONLY_ROOT:\n\t\t\treturn 'ReadOnlyRoot';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.MUTATE_CONSENSUS_STREAM_ENDED:\n\t\t\treturn 'MutateConsensusStreamEnded';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.READ_CONSENSUS_STREAM_ENDED:\n\t\t\treturn 'ReadConsensusStreamEnded';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.CANCELED:\n\t\t\treturn 'Cancelled';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.PER_EPOCH_CONFIG:\n\t\t\treturn 'PerEpochConfig';\n\t\tdefault:\n\t\t\tkind satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nexport function parseTransactionEffects({\n\teffects,\n}: {\n\teffects: TransactionEffects | undefined;\n}): Experimental_SuiClientTypes.TransactionEffects | null {\n\tif (!effects) {\n\t\treturn null;\n\t}\n\n\tconst changedObjects = effects.changedObjects.map(\n\t\t(change): Experimental_SuiClientTypes.ChangedObject => {\n\t\t\treturn {\n\t\t\t\tid: change.objectId!,\n\t\t\t\tinputState: mapInputObjectState(change.inputState)!,\n\t\t\t\tinputVersion: change.inputVersion?.toString() ?? null,\n\t\t\t\tinputDigest: change.inputDigest ?? null,\n\t\t\t\tinputOwner: mapOwner(change.inputOwner),\n\t\t\t\toutputState: mapOutputObjectState(change.outputState)!,\n\t\t\t\toutputVersion: change.outputVersion?.toString() ?? null,\n\t\t\t\toutputDigest: change.outputDigest ?? null,\n\t\t\t\toutputOwner: mapOwner(change.outputOwner),\n\t\t\t\tidOperation: mapIdOperation(change.idOperation)!,\n\t\t\t};\n\t\t},\n\t);\n\n\treturn {\n\t\tbcs: effects.bcs?.value!,\n\t\tdigest: effects.digest!,\n\t\tversion: 2,\n\t\tstatus: effects.status?.success\n\t\t\t? {\n\t\t\t\t\tsuccess: true,\n\t\t\t\t\terror: null,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\t// TODO: parse errors properly\n\t\t\t\t\terror: JSON.stringify(effects.status?.error),\n\t\t\t\t},\n\t\tgasUsed: {\n\t\t\tcomputationCost: effects.gasUsed?.computationCost?.toString()!,\n\t\t\tstorageCost: effects.gasUsed?.storageCost?.toString()!,\n\t\t\tstorageRebate: effects.gasUsed?.storageRebate?.toString()!,\n\t\t\tnonRefundableStorageFee: effects.gasUsed?.nonRefundableStorageFee?.toString()!,\n\t\t},\n\t\ttransactionDigest: effects.transactionDigest!,\n\t\tgasObject: {\n\t\t\tid: effects.gasObject?.objectId!,\n\t\t\tinputState: mapInputObjectState(effects.gasObject?.inputState)!,\n\t\t\tinputVersion: effects.gasObject?.inputVersion?.toString() ?? null,\n\t\t\tinputDigest: effects.gasObject?.inputDigest ?? null,\n\t\t\tinputOwner: mapOwner(effects.gasObject?.inputOwner),\n\t\t\toutputState: mapOutputObjectState(effects.gasObject?.outputState)!,\n\t\t\toutputVersion: effects.gasObject?.outputVersion?.toString() ?? null,\n\t\t\toutputDigest: effects.gasObject?.outputDigest ?? null,\n\t\t\toutputOwner: mapOwner(effects.gasObject?.outputOwner),\n\t\t\tidOperation: mapIdOperation(effects.gasObject?.idOperation)!,\n\t\t},\n\t\teventsDigest: effects.eventsDigest ?? null,\n\t\tdependencies: effects.dependencies,\n\t\tlamportVersion: effects.lamportVersion?.toString() ?? null,\n\t\tchangedObjects,\n\t\tunchangedConsensusObjects: effects.unchangedConsensusObjects.map(\n\t\t\t(object): Experimental_SuiClientTypes.UnchangedConsensusObject => {\n\t\t\t\treturn {\n\t\t\t\t\tkind: mapUnchangedConsensusObjectKind(object.kind)!,\n\t\t\t\t\t// TODO: we are inconsistent about id vs objectId\n\t\t\t\t\tobjectId: object.objectId!,\n\t\t\t\t\tversion: object.version?.toString() ?? null,\n\t\t\t\t\tdigest: object.digest ?? null,\n\t\t\t\t};\n\t\t\t},\n\t\t),\n\t\tauxiliaryDataDigest: effects.auxiliaryDataDigest ?? null,\n\t};\n}\n\nfunction parseTransaction(\n\ttransaction: ExecutedTransaction,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(transaction.transaction?.bcs?.value!)[0];\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\tconst objectTypes: Record<string, string> = {};\n\ttransaction.objects?.objects.forEach((object) => {\n\t\tif (object.objectId && object.objectType) {\n\t\t\tobjectTypes[object.objectId] = object.objectType;\n\t\t}\n\t});\n\n\tconst effects = parseTransactionEffects({\n\t\teffects: transaction.effects,\n\t})!;\n\n\treturn {\n\t\tdigest: transaction.digest!,\n\t\tepoch: transaction.effects?.epoch?.toString() ?? null,\n\t\teffects,\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\tgasData: data.gasData,\n\t\t\tsender: data.sender,\n\t\t\texpiration: data.expiration,\n\t\t\tcommands: data.commands,\n\t\t\tinputs: data.inputs,\n\t\t\tversion: data.version,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t\tbalanceChanges:\n\t\t\ttransaction.balanceChanges?.map((change) => ({\n\t\t\t\tcoinType: change.coinType!,\n\t\t\t\taddress: change.address!,\n\t\t\t\tamount: change.amount!,\n\t\t\t})) ?? [],\n\t};\n}\n\nfunction parseNormalizedSuiMoveType(\n\ttype: OpenSignature,\n): Experimental_SuiClientTypes.OpenSignature {\n\tlet reference: 'mutable' | 'immutable' | null = null;\n\n\tif (type.reference === OpenSignature_Reference.IMMUTABLE) {\n\t\treference = 'immutable';\n\t} else if (type.reference === OpenSignature_Reference.MUTABLE) {\n\t\treference = 'mutable';\n\t}\n\n\treturn {\n\t\treference,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type.body!),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: OpenSignatureBody,\n): Experimental_SuiClientTypes.OpenSignatureBody {\n\tswitch (type.type) {\n\t\tcase OpenSignatureBody_Type.TYPE_UNKNOWN:\n\t\t\treturn { $kind: 'unknown' };\n\t\tcase OpenSignatureBody_Type.ADDRESS:\n\t\t\treturn { $kind: 'address' };\n\t\tcase OpenSignatureBody_Type.BOOL:\n\t\t\treturn { $kind: 'bool' };\n\t\tcase OpenSignatureBody_Type.U8:\n\t\t\treturn { $kind: 'u8' };\n\t\tcase OpenSignatureBody_Type.U16:\n\t\t\treturn { $kind: 'u16' };\n\t\tcase OpenSignatureBody_Type.U32:\n\t\t\treturn { $kind: 'u32' };\n\t\tcase OpenSignatureBody_Type.U64:\n\t\t\treturn { $kind: 'u64' };\n\t\tcase OpenSignatureBody_Type.U128:\n\t\t\treturn { $kind: 'u128' };\n\t\tcase OpenSignatureBody_Type.U256:\n\t\t\treturn { $kind: 'u256' };\n\t\tcase OpenSignatureBody_Type.VECTOR:\n\t\t\treturn {\n\t\t\t\t$kind: 'vector',\n\t\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.typeParameterInstantiation[0]),\n\t\t\t};\n\t\tcase OpenSignatureBody_Type.DATATYPE:\n\t\t\treturn {\n\t\t\t\t$kind: 'datatype',\n\t\t\t\tdatatype: {\n\t\t\t\t\ttypeName: type.typeName!,\n\t\t\t\t\ttypeParameters: type.typeParameterInstantiation.map((t) =>\n\t\t\t\t\t\tparseNormalizedSuiMoveTypeBody(t),\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t\tcase OpenSignatureBody_Type.TYPE_PARAMETER:\n\t\t\treturn {\n\t\t\t\t$kind: 'typeParameter',\n\t\t\t\tindex: type.typeParameter!,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn { $kind: 'unknown' };\n\t}\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type {\n\tExperimental_CoreClientOptions,\n\tExperimental_SuiClientTypes,\n} from '../experimental/index.js';\nimport { Experimental_CoreClient } from '../experimental/index.js';\nimport type { SuiGrpcClient } from './client.js';\nimport type { Owner } from './proto/sui/rpc/v2/owner.js';\nimport { Owner_OwnerKind } from './proto/sui/rpc/v2/owner.js';\nimport { chunk, fromBase64, toBase64 } from '@mysten/utils';\nimport type { ExecutedTransaction } from './proto/sui/rpc/v2/executed_transaction.js';\nimport type { TransactionEffects } from './proto/sui/rpc/v2/effects.js';\nimport { UnchangedConsensusObject_UnchangedConsensusObjectKind } from './proto/sui/rpc/v2/effects.js';\nimport {\n\tChangedObject_IdOperation,\n\tChangedObject_InputObjectState,\n\tChangedObject_OutputObjectState,\n} from './proto/sui/rpc/v2/effects.js';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\nimport { TransactionDataBuilder } from '../transactions/index.js';\nimport { bcs } from '../bcs/index.js';\nimport type { OpenSignature, OpenSignatureBody } from './proto/sui/rpc/v2/move_package.js';\nimport {\n\tAbility,\n\tFunctionDescriptor_Visibility,\n\tOpenSignature_Reference,\n\tOpenSignatureBody_Type,\n} from './proto/sui/rpc/v2/move_package.js';\nexport interface GrpcCoreClientOptions extends Experimental_CoreClientOptions {\n\tclient: SuiGrpcClient;\n}\nexport class GrpcCoreClient extends Experimental_CoreClient {\n\t#client: SuiGrpcClient;\n\tconstructor({ client, ...options }: GrpcCoreClientOptions) {\n\t\tsuper(options);\n\t\tthis.#client = client;\n\t}\n\n\tasync getObjects(\n\t\toptions: Experimental_SuiClientTypes.GetObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetObjectsResponse> {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst response = await this.#client.ledgerService.batchGetObjects({\n\t\t\t\trequests: batch.map((id) => ({ objectId: id })),\n\t\t\t\treadMask: {\n\t\t\t\t\tpaths: [\n\t\t\t\t\t\t'owner',\n\t\t\t\t\t\t'object_type',\n\t\t\t\t\t\t'bcs',\n\t\t\t\t\t\t'digest',\n\t\t\t\t\t\t'version',\n\t\t\t\t\t\t'object_id',\n\t\t\t\t\t\t'previous_transaction',\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t});\n\n\t\t\tresults.push(\n\t\t\t\t...response.response.objects.map(\n\t\t\t\t\t(object): Experimental_SuiClientTypes.ObjectResponse | Error => {\n\t\t\t\t\t\tif (object.result.oneofKind === 'error') {\n\t\t\t\t\t\t\t// TODO: improve error handling\n\t\t\t\t\t\t\treturn new Error(object.result.error.message);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tif (object.result.oneofKind !== 'object') {\n\t\t\t\t\t\t\treturn new Error('Unexpected result type');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tid: object.result.object.objectId!,\n\t\t\t\t\t\t\tversion: object.result.object.version?.toString()!,\n\t\t\t\t\t\t\tdigest: object.result.object.digest!,\n\t\t\t\t\t\t\t// TODO: bcs content is not returned in all cases\n\t\t\t\t\t\t\tcontent: Promise.resolve(object.result.object.bcs?.value!),\n\t\t\t\t\t\t\towner: mapOwner(object.result.object.owner)!,\n\t\t\t\t\t\t\ttype: object.result.object.objectType!,\n\t\t\t\t\t\t\tpreviousTransaction: object.result.object.previousTransaction ?? null,\n\t\t\t\t\t\t};\n\t\t\t\t\t},\n\t\t\t\t),\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(\n\t\toptions: Experimental_SuiClientTypes.GetOwnedObjectsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetOwnedObjectsResponse> {\n\t\tconst response = await this.#client.stateService.listOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tobjectType: options.type\n\t\t\t\t? (await this.mvr.resolveType({ type: options.type })).type\n\t\t\t\t: undefined,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'owner',\n\t\t\t\t\t'object_type',\n\t\t\t\t\t'bcs',\n\t\t\t\t\t'digest',\n\t\t\t\t\t'version',\n\t\t\t\t\t'object_id',\n\t\t\t\t\t'previous_transaction',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\n\t\tconst objects = response.response.objects.map(\n\t\t\t(object): Experimental_SuiClientTypes.ObjectResponse => ({\n\t\t\t\tid: object.objectId!,\n\t\t\t\tversion: object.version?.toString()!,\n\t\t\t\tdigest: object.digest!,\n\t\t\t\t// TODO: List owned objects doesn't return content right now\n\t\t\t\tget content() {\n\t\t\t\t\treturn object.bcs?.value\n\t\t\t\t\t\t? Promise.resolve(object.bcs.value)\n\t\t\t\t\t\t: Promise.reject(\n\t\t\t\t\t\t\t\tnew Error('GRPC does not return object contents when listing owned objects'),\n\t\t\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\towner: mapOwner(object.owner)!,\n\t\t\t\ttype: object.objectType!,\n\t\t\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t\t\t}),\n\t\t);\n\n\t\treturn {\n\t\t\tobjects,\n\t\t\tcursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,\n\t\t\thasNextPage: response.response.nextPageToken !== undefined,\n\t\t};\n\t}\n\tasync getCoins(\n\t\toptions: Experimental_SuiClientTypes.GetCoinsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetCoinsResponse> {\n\t\tconst response = await this.#client.stateService.listOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tobjectType: `0x2::coin::Coin<${(await this.mvr.resolveType({ type: options.coinType })).type}>`,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'owner',\n\t\t\t\t\t'object_type',\n\t\t\t\t\t'bcs',\n\t\t\t\t\t'digest',\n\t\t\t\t\t'version',\n\t\t\t\t\t'object_id',\n\t\t\t\t\t'balance',\n\t\t\t\t\t'previous_transaction',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: response.response.objects.map(\n\t\t\t\t(object): Experimental_SuiClientTypes.CoinResponse => ({\n\t\t\t\t\tid: object.objectId!,\n\t\t\t\t\tversion: object.version?.toString()!,\n\t\t\t\t\tdigest: object.digest!,\n\t\t\t\t\t// TODO: List owned objects doesn't return content right now\n\t\t\t\t\tget content() {\n\t\t\t\t\t\treturn object.bcs?.value\n\t\t\t\t\t\t\t? Promise.resolve(object.bcs.value)\n\t\t\t\t\t\t\t: Promise.reject(\n\t\t\t\t\t\t\t\t\tnew Error('GRPC does not return object contents when listing owned objects'),\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t},\n\t\t\t\t\towner: mapOwner(object.owner)!,\n\t\t\t\t\ttype: object.objectType!,\n\t\t\t\t\tbalance: object.balance?.toString()!,\n\t\t\t\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t\t\t\t}),\n\t\t\t),\n\t\t\tcursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,\n\t\t\thasNextPage: response.response.nextPageToken !== undefined,\n\t\t};\n\t}\n\n\tasync getBalance(\n\t\toptions: Experimental_SuiClientTypes.GetBalanceOptions,\n\t): Promise<Experimental_SuiClientTypes.GetBalanceResponse> {\n\t\tconst result = await this.#client.stateService.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: (await this.mvr.resolveType({ type: options.coinType })).type,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tbalance: result.response.balance?.balance?.toString() ?? '0',\n\t\t\t\tcoinType: result.response.balance?.coinType ?? options.coinType,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getAllBalances(\n\t\toptions: Experimental_SuiClientTypes.GetAllBalancesOptions,\n\t): Promise<Experimental_SuiClientTypes.GetAllBalancesResponse> {\n\t\tconst result = await this.#client.stateService.listBalances({\n\t\t\towner: options.address,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t\tpageSize: options.limit,\n\t\t});\n\n\t\treturn {\n\t\t\thasNextPage: !!result.response.nextPageToken,\n\t\t\tcursor: result.response.nextPageToken ? toBase64(result.response.nextPageToken) : null,\n\t\t\tbalances: result.response.balances.map((balance) => ({\n\t\t\t\tbalance: balance.balance?.toString() ?? '0',\n\t\t\t\tcoinType: balance.coinType!,\n\t\t\t})),\n\t\t};\n\t}\n\tasync getTransaction(\n\t\toptions: Experimental_SuiClientTypes.GetTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetTransactionResponse> {\n\t\tconst { response } = await this.#client.ledgerService.getTransaction({\n\t\t\tdigest: options.digest,\n\t\t\treadMask: {\n\t\t\t\tpaths: ['digest', 'transaction', 'effects', 'signatures', 'balance_changes'],\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(response.transaction!),\n\t\t};\n\t}\n\tasync executeTransaction(\n\t\toptions: Experimental_SuiClientTypes.ExecuteTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.ExecuteTransactionResponse> {\n\t\tconst { response } = await this.#client.transactionExecutionService.executeTransaction({\n\t\t\ttransaction: {\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: options.transaction,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsignatures: options.signatures.map((signature) => ({\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: fromBase64(signature),\n\t\t\t\t},\n\t\t\t\tsignature: {\n\t\t\t\t\toneofKind: undefined,\n\t\t\t\t},\n\t\t\t})),\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'transaction.digest',\n\t\t\t\t\t'transaction.transaction',\n\t\t\t\t\t'transaction.effects',\n\t\t\t\t\t'transaction.signatures',\n\t\t\t\t\t'transaction.balance_changes',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\t\treturn {\n\t\t\ttransaction: parseTransaction(response.transaction!),\n\t\t};\n\t}\n\tasync dryRunTransaction(\n\t\toptions: Experimental_SuiClientTypes.DryRunTransactionOptions,\n\t): Promise<Experimental_SuiClientTypes.DryRunTransactionResponse> {\n\t\tconst { response } = await this.#client.transactionExecutionService.simulateTransaction({\n\t\t\ttransaction: {\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: options.transaction,\n\t\t\t\t},\n\t\t\t},\n\t\t\treadMask: {\n\t\t\t\tpaths: [\n\t\t\t\t\t'transaction.digest',\n\t\t\t\t\t'transaction.transaction',\n\t\t\t\t\t'transaction.effects',\n\t\t\t\t\t'transaction.signatures',\n\t\t\t\t\t'transaction.balance_changes',\n\t\t\t\t],\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(response.transaction!),\n\t\t};\n\t}\n\tasync getReferenceGasPrice(): Promise<Experimental_SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\tconst response = await this.#client.ledgerService.getEpoch({});\n\n\t\treturn {\n\t\t\treferenceGasPrice: response.response.epoch?.referenceGasPrice?.toString()!,\n\t\t};\n\t}\n\n\tasync getDynamicFields(\n\t\toptions: Experimental_SuiClientTypes.GetDynamicFieldsOptions,\n\t): Promise<Experimental_SuiClientTypes.GetDynamicFieldsResponse> {\n\t\tconst response = await this.#client.stateService.listDynamicFields({\n\t\t\tparent: options.parentId,\n\t\t\tpageToken: options.cursor ? fromBase64(options.cursor) : undefined,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: response.response.dynamicFields.map((field) => ({\n\t\t\t\tid: field.fieldId!,\n\t\t\t\tname: {\n\t\t\t\t\ttype: field.name?.name!,\n\t\t\t\t\tbcs: field.name?.value!,\n\t\t\t\t},\n\t\t\t\ttype: field.fieldObject\n\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${field.name?.name!}>,0x2::object::ID>`\n\t\t\t\t\t: `0x2::dynamic_field::Field<${field.name?.value!},${field.valueType!}>`,\n\t\t\t})),\n\t\t\tcursor: response.response.nextPageToken ? toBase64(response.response.nextPageToken) : null,\n\t\t\thasNextPage: response.response.nextPageToken !== undefined,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(\n\t\toptions: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<Experimental_SuiClientTypes.ZkLoginVerifyResponse> {\n\t\tconst { response } = await this.#client.signatureVerificationService.verifySignature({\n\t\t\tmessage: {\n\t\t\t\tname: options.intentScope,\n\t\t\t\tvalue: fromBase64(options.bytes),\n\t\t\t},\n\t\t\tsignature: {\n\t\t\t\tbcs: {\n\t\t\t\t\tvalue: fromBase64(options.signature),\n\t\t\t\t},\n\t\t\t\tsignature: {\n\t\t\t\t\toneofKind: undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t\tjwks: [],\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: response.isValid ?? false,\n\t\t\terrors: response.reason ? [response.reason] : [],\n\t\t};\n\t}\n\n\tasync defaultNameServiceName(\n\t\toptions: Experimental_SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<Experimental_SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\tconst name =\n\t\t\t(\n\t\t\t\tawait this.#client.nameService.reverseLookupName({\n\t\t\t\t\taddress: options.address,\n\t\t\t\t})\n\t\t\t).response.record?.name ?? null;\n\t\treturn {\n\t\t\tdata: {\n\t\t\t\tname,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: Experimental_SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst { response } = await this.#client.movePackageService.getFunction({\n\t\t\tpackageId: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\tmoduleName: options.moduleName,\n\t\t\tname: options.name,\n\t\t});\n\n\t\tlet visibility: 'public' | 'private' | 'friend' | 'unknown' = 'unknown';\n\n\t\tswitch (response.function?.visibility) {\n\t\t\tcase FunctionDescriptor_Visibility.PUBLIC:\n\t\t\t\tvisibility = 'public';\n\t\t\t\tbreak;\n\t\t\tcase FunctionDescriptor_Visibility.PRIVATE:\n\t\t\t\tvisibility = 'private';\n\t\t\t\tbreak;\n\t\t\tcase FunctionDescriptor_Visibility.FRIEND:\n\t\t\t\tvisibility = 'friend';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: options.packageId,\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: response.function?.name!,\n\t\t\t\tvisibility,\n\t\t\t\tisEntry: response.function?.isEntry ?? false,\n\t\t\t\ttypeParameters:\n\t\t\t\t\tresponse.function?.typeParameters?.map(({ constraints }) => ({\n\t\t\t\t\t\tisPhantom: false,\n\t\t\t\t\t\tconstraints:\n\t\t\t\t\t\t\tconstraints.map((constraint) => {\n\t\t\t\t\t\t\t\tswitch (constraint) {\n\t\t\t\t\t\t\t\t\tcase Ability.COPY:\n\t\t\t\t\t\t\t\t\t\treturn 'copy';\n\t\t\t\t\t\t\t\t\tcase Ability.DROP:\n\t\t\t\t\t\t\t\t\t\treturn 'drop';\n\t\t\t\t\t\t\t\t\tcase Ability.STORE:\n\t\t\t\t\t\t\t\t\t\treturn 'store';\n\t\t\t\t\t\t\t\t\tcase Ability.KEY:\n\t\t\t\t\t\t\t\t\t\treturn 'key';\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn 'unknown';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}) ?? [],\n\t\t\t\t\t})) ?? [],\n\t\t\t\tparameters:\n\t\t\t\t\tresponse.function?.parameters?.map((param) => parseNormalizedSuiMoveType(param)) ?? [],\n\t\t\t\treturns: response.function?.returns?.map((ret) => parseNormalizedSuiMoveType(ret)) ?? [],\n\t\t\t},\n\t\t};\n\t}\n\n\tresolveTransactionPlugin() {\n\t\t// const client = this.#client;\n\t\treturn async function resolveTransactionData(\n\t\t\t_transactionData: TransactionDataBuilder,\n\t\t\t_options: BuildTransactionOptions,\n\t\t\t_next: () => Promise<void>,\n\t\t) {\n\t\t\tthrow new Error('Transaction resolution is not supported with the GRPC client');\n\n\t\t\t// const result = await client.liveDataService.simulateTransaction({\n\t\t\t// \ttransaction: transactionFromData(transactionData)\n\t\t\t// })\n\t\t\t// const resolvedData = dataFromSimulate(result)\n\t\t\t// transactionData.applyResolvedData(resolvedData);\n\n\t\t\t// return await next();\n\t\t};\n\t}\n}\n\nfunction mapOwner(owner: Owner | null | undefined): Experimental_SuiClientTypes.ObjectOwner | null {\n\tif (!owner) {\n\t\treturn null;\n\t}\n\tif (owner.kind === Owner_OwnerKind.IMMUTABLE) {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\tif (owner.kind === Owner_OwnerKind.ADDRESS) {\n\t\treturn {\n\t\t\tAddressOwner: owner.address!,\n\t\t\t$kind: 'AddressOwner',\n\t\t};\n\t}\n\tif (owner.kind === Owner_OwnerKind.OBJECT) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.address!,\n\t\t};\n\t}\n\n\tif (owner.kind === Owner_OwnerKind.SHARED) {\n\t\tif (owner.address) {\n\t\t\treturn {\n\t\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\t\tConsensusAddressOwner: {\n\t\t\t\t\towner: owner.address,\n\t\t\t\t\tstartVersion: owner.version?.toString()!,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.version?.toString()!,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error('Unknown owner kind');\n}\n\nfunction mapIdOperation(\n\toperation: ChangedObject_IdOperation | undefined,\n): null | 'Created' | 'Deleted' | 'Unknown' | 'None' {\n\tif (operation == null) {\n\t\treturn null;\n\t}\n\tswitch (operation) {\n\t\tcase ChangedObject_IdOperation.CREATED:\n\t\t\treturn 'Created';\n\t\tcase ChangedObject_IdOperation.DELETED:\n\t\t\treturn 'Deleted';\n\t\tcase ChangedObject_IdOperation.NONE:\n\t\tcase ChangedObject_IdOperation.ID_OPERATION_UNKNOWN:\n\t\t\treturn 'None';\n\t\tdefault:\n\t\t\toperation satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nfunction mapInputObjectState(\n\tstate: ChangedObject_InputObjectState | undefined,\n): null | 'Exists' | 'DoesNotExist' | 'Unknown' {\n\tif (state == null) {\n\t\treturn null;\n\t}\n\tswitch (state) {\n\t\tcase ChangedObject_InputObjectState.EXISTS:\n\t\t\treturn 'Exists';\n\t\tcase ChangedObject_InputObjectState.DOES_NOT_EXIST:\n\t\t\treturn 'DoesNotExist';\n\t\tcase ChangedObject_InputObjectState.UNKNOWN:\n\t\t\treturn 'Unknown';\n\t\tdefault:\n\t\t\tstate satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nfunction mapOutputObjectState(\n\tstate: ChangedObject_OutputObjectState | undefined,\n): null | 'ObjectWrite' | 'PackageWrite' | 'DoesNotExist' | 'Unknown' {\n\tif (state == null) {\n\t\treturn null;\n\t}\n\tswitch (state) {\n\t\tcase ChangedObject_OutputObjectState.OBJECT_WRITE:\n\t\t\treturn 'ObjectWrite';\n\t\tcase ChangedObject_OutputObjectState.PACKAGE_WRITE:\n\t\t\treturn 'PackageWrite';\n\t\tcase ChangedObject_OutputObjectState.DOES_NOT_EXIST:\n\t\t\treturn 'DoesNotExist';\n\t\tcase ChangedObject_OutputObjectState.UNKNOWN:\n\t\t\treturn 'Unknown';\n\t\tdefault:\n\t\t\tstate satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nfunction mapUnchangedConsensusObjectKind(\n\tkind: UnchangedConsensusObject_UnchangedConsensusObjectKind | undefined,\n): null | Experimental_SuiClientTypes.UnchangedConsensusObject['kind'] {\n\tif (kind == null) {\n\t\treturn null;\n\t}\n\tswitch (kind) {\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.UNCHANGED_CONSENSUS_OBJECT_KIND_UNKNOWN:\n\t\t\treturn 'Unknown';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.READ_ONLY_ROOT:\n\t\t\treturn 'ReadOnlyRoot';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.MUTATE_CONSENSUS_STREAM_ENDED:\n\t\t\treturn 'MutateConsensusStreamEnded';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.READ_CONSENSUS_STREAM_ENDED:\n\t\t\treturn 'ReadConsensusStreamEnded';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.CANCELED:\n\t\t\treturn 'Cancelled';\n\t\tcase UnchangedConsensusObject_UnchangedConsensusObjectKind.PER_EPOCH_CONFIG:\n\t\t\treturn 'PerEpochConfig';\n\t\tdefault:\n\t\t\tkind satisfies never;\n\t\t\treturn 'Unknown';\n\t}\n}\n\nexport function parseTransactionEffects({\n\teffects,\n}: {\n\teffects: TransactionEffects | undefined;\n}): Experimental_SuiClientTypes.TransactionEffects | null {\n\tif (!effects) {\n\t\treturn null;\n\t}\n\n\tconst changedObjects = effects.changedObjects.map(\n\t\t(change): Experimental_SuiClientTypes.ChangedObject => {\n\t\t\treturn {\n\t\t\t\tid: change.objectId!,\n\t\t\t\tinputState: mapInputObjectState(change.inputState)!,\n\t\t\t\tinputVersion: change.inputVersion?.toString() ?? null,\n\t\t\t\tinputDigest: change.inputDigest ?? null,\n\t\t\t\tinputOwner: mapOwner(change.inputOwner),\n\t\t\t\toutputState: mapOutputObjectState(change.outputState)!,\n\t\t\t\toutputVersion: change.outputVersion?.toString() ?? null,\n\t\t\t\toutputDigest: change.outputDigest ?? null,\n\t\t\t\toutputOwner: mapOwner(change.outputOwner),\n\t\t\t\tidOperation: mapIdOperation(change.idOperation)!,\n\t\t\t};\n\t\t},\n\t);\n\n\treturn {\n\t\tbcs: effects.bcs?.value!,\n\t\tdigest: effects.digest!,\n\t\tversion: 2,\n\t\tstatus: effects.status?.success\n\t\t\t? {\n\t\t\t\t\tsuccess: true,\n\t\t\t\t\terror: null,\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\t// TODO: parse errors properly\n\t\t\t\t\terror: JSON.stringify(effects.status?.error),\n\t\t\t\t},\n\t\tgasUsed: {\n\t\t\tcomputationCost: effects.gasUsed?.computationCost?.toString()!,\n\t\t\tstorageCost: effects.gasUsed?.storageCost?.toString()!,\n\t\t\tstorageRebate: effects.gasUsed?.storageRebate?.toString()!,\n\t\t\tnonRefundableStorageFee: effects.gasUsed?.nonRefundableStorageFee?.toString()!,\n\t\t},\n\t\ttransactionDigest: effects.transactionDigest!,\n\t\tgasObject: {\n\t\t\tid: effects.gasObject?.objectId!,\n\t\t\tinputState: mapInputObjectState(effects.gasObject?.inputState)!,\n\t\t\tinputVersion: effects.gasObject?.inputVersion?.toString() ?? null,\n\t\t\tinputDigest: effects.gasObject?.inputDigest ?? null,\n\t\t\tinputOwner: mapOwner(effects.gasObject?.inputOwner),\n\t\t\toutputState: mapOutputObjectState(effects.gasObject?.outputState)!,\n\t\t\toutputVersion: effects.gasObject?.outputVersion?.toString() ?? null,\n\t\t\toutputDigest: effects.gasObject?.outputDigest ?? null,\n\t\t\toutputOwner: mapOwner(effects.gasObject?.outputOwner),\n\t\t\tidOperation: mapIdOperation(effects.gasObject?.idOperation)!,\n\t\t},\n\t\teventsDigest: effects.eventsDigest ?? null,\n\t\tdependencies: effects.dependencies,\n\t\tlamportVersion: effects.lamportVersion?.toString() ?? null,\n\t\tchangedObjects,\n\t\tunchangedConsensusObjects: effects.unchangedConsensusObjects.map(\n\t\t\t(object): Experimental_SuiClientTypes.UnchangedConsensusObject => {\n\t\t\t\treturn {\n\t\t\t\t\tkind: mapUnchangedConsensusObjectKind(object.kind)!,\n\t\t\t\t\t// TODO: we are inconsistent about id vs objectId\n\t\t\t\t\tobjectId: object.objectId!,\n\t\t\t\t\tversion: object.version?.toString() ?? null,\n\t\t\t\t\tdigest: object.digest ?? null,\n\t\t\t\t};\n\t\t\t},\n\t\t),\n\t\tauxiliaryDataDigest: effects.auxiliaryDataDigest ?? null,\n\t};\n}\n\nfunction parseTransaction(\n\ttransaction: ExecutedTransaction,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(transaction.transaction?.bcs?.value!)[0];\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\tconst objectTypes: Record<string, string> = {};\n\ttransaction.objects?.objects.forEach((object) => {\n\t\tif (object.objectId && object.objectType) {\n\t\t\tobjectTypes[object.objectId] = object.objectType;\n\t\t}\n\t});\n\n\tconst effects = parseTransactionEffects({\n\t\teffects: transaction.effects,\n\t})!;\n\n\treturn {\n\t\tdigest: transaction.digest!,\n\t\tepoch: transaction.effects?.epoch?.toString() ?? null,\n\t\teffects,\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\tgasData: data.gasData,\n\t\t\tsender: data.sender,\n\t\t\texpiration: data.expiration,\n\t\t\tcommands: data.commands,\n\t\t\tinputs: data.inputs,\n\t\t\tversion: data.version,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t\tbalanceChanges:\n\t\t\ttransaction.balanceChanges?.map((change) => ({\n\t\t\t\tcoinType: change.coinType!,\n\t\t\t\taddress: change.address!,\n\t\t\t\tamount: change.amount!,\n\t\t\t})) ?? [],\n\t};\n}\n\nfunction parseNormalizedSuiMoveType(\n\ttype: OpenSignature,\n): Experimental_SuiClientTypes.OpenSignature {\n\tlet reference: 'mutable' | 'immutable' | null = null;\n\n\tif (type.reference === OpenSignature_Reference.IMMUTABLE) {\n\t\treference = 'immutable';\n\t} else if (type.reference === OpenSignature_Reference.MUTABLE) {\n\t\treference = 'mutable';\n\t}\n\n\treturn {\n\t\treference,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type.body!),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: OpenSignatureBody,\n): Experimental_SuiClientTypes.OpenSignatureBody {\n\tswitch (type.type) {\n\t\tcase OpenSignatureBody_Type.TYPE_UNKNOWN:\n\t\t\treturn { $kind: 'unknown' };\n\t\tcase OpenSignatureBody_Type.ADDRESS:\n\t\t\treturn { $kind: 'address' };\n\t\tcase OpenSignatureBody_Type.BOOL:\n\t\t\treturn { $kind: 'bool' };\n\t\tcase OpenSignatureBody_Type.U8:\n\t\t\treturn { $kind: 'u8' };\n\t\tcase OpenSignatureBody_Type.U16:\n\t\t\treturn { $kind: 'u16' };\n\t\tcase OpenSignatureBody_Type.U32:\n\t\t\treturn { $kind: 'u32' };\n\t\tcase OpenSignatureBody_Type.U64:\n\t\t\treturn { $kind: 'u64' };\n\t\tcase OpenSignatureBody_Type.U128:\n\t\t\treturn { $kind: 'u128' };\n\t\tcase OpenSignatureBody_Type.U256:\n\t\t\treturn { $kind: 'u256' };\n\t\tcase OpenSignatureBody_Type.VECTOR:\n\t\t\treturn {\n\t\t\t\t$kind: 'vector',\n\t\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.typeParameterInstantiation[0]),\n\t\t\t};\n\t\tcase OpenSignatureBody_Type.DATATYPE:\n\t\t\treturn {\n\t\t\t\t$kind: 'datatype',\n\t\t\t\tdatatype: {\n\t\t\t\t\ttypeName: type.typeName!,\n\t\t\t\t\ttypeParameters: type.typeParameterInstantiation.map((t) =>\n\t\t\t\t\t\tparseNormalizedSuiMoveTypeBody(t),\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t};\n\t\tcase OpenSignatureBody_Type.TYPE_PARAMETER:\n\t\t\treturn {\n\t\t\t\t$kind: 'typeParameter',\n\t\t\t\tindex: type.typeParameter!,\n\t\t\t};\n\t\tdefault:\n\t\t\treturn { $kind: 'unknown' };\n\t}\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["import_effects"]
7
7
  }
@@ -87,7 +87,7 @@ export declare class JSONRpcCoreClient extends Experimental_CoreClient {
87
87
  success: boolean;
88
88
  errors: string[];
89
89
  }>;
90
- resolveNameServiceNames(options: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse>;
90
+ defaultNameServiceName(options: Experimental_SuiClientTypes.DefaultNameServiceNameOptions): Promise<Experimental_SuiClientTypes.DefaultNameServiceNameResponse>;
91
91
  resolveTransactionPlugin(): (transactionData: TransactionDataBuilder, options: import("../transactions/resolve.js").BuildTransactionOptions, next: () => Promise<void>) => Promise<void>;
92
92
  getMoveFunction(options: Experimental_SuiClientTypes.GetMoveFunctionOptions): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse>;
93
93
  }
@@ -263,8 +263,13 @@ class JSONRpcCoreClient extends import_core.Experimental_CoreClient {
263
263
  errors: result.errors
264
264
  };
265
265
  }
266
- resolveNameServiceNames(options) {
267
- return __privateGet(this, _jsonRpcClient).resolveNameServiceNames(options);
266
+ async defaultNameServiceName(options) {
267
+ const name = (await __privateGet(this, _jsonRpcClient).resolveNameServiceNames(options)).data[0];
268
+ return {
269
+ data: {
270
+ name
271
+ }
272
+ };
268
273
  }
269
274
  resolveTransactionPlugin() {
270
275
  return (0, import_json_rpc_resolver.jsonRpcClientResolveTransactionPlugin)(__privateGet(this, _jsonRpcClient));
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/jsonRpc/core.ts"],
4
- "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\n\nimport { bcs } from '../bcs/index.js';\nimport type {\n\tObjectOwner,\n\tSuiMoveAbilitySet,\n\tSuiMoveNormalizedType,\n\tSuiMoveVisibility,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from './types/index.js';\nimport { Transaction } from '../transactions/Transaction.js';\nimport { jsonRpcClientResolveTransactionPlugin } from './json-rpc-resolver.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport { Experimental_CoreClient } from '../experimental/core.js';\nimport type { Experimental_SuiClientTypes } from '../experimental/types.js';\nimport { ObjectError } from '../experimental/errors.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from '../experimental/index.js';\nimport type { SuiJsonRpcClient } from './client.js';\n\nexport class JSONRpcCoreClient extends Experimental_CoreClient {\n\t#jsonRpcClient: SuiJsonRpcClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiJsonRpcClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects(options: Experimental_SuiClientTypes.GetObjectsOptions) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: true,\n\t\t\t\t\tshowPreviousTransaction: true,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(options: Experimental_SuiClientTypes.GetOwnedObjectsOptions) {\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: true,\n\t\t\t\tshowPreviousTransaction: true,\n\t\t\t},\n\t\t\tfilter: options.type ? { StructType: options.type } : null,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getCoins(options: Experimental_SuiClientTypes.GetCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map((coin) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: `0x2::coin::Coin<${coin.coinType}>`,\n\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\tCoin.serialize({\n\t\t\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\t\t\tbalance: {\n\t\t\t\t\t\t\t\tvalue: coin.balance,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}).toBytes(),\n\t\t\t\t\t),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: options.address,\n\t\t\t\t\t},\n\t\t\t\t\tpreviousTransaction: coin.previousTransaction,\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: Experimental_SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(options: Experimental_SuiClientTypes.GetAllBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.address,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\n\t\t};\n\t}\n\tasync getTransaction(options: Experimental_SuiClientTypes.GetTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowBalanceChanges: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync executeTransaction(options: Experimental_SuiClientTypes.ExecuteTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowBalanceChanges: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync dryRunTransaction(options: Experimental_SuiClientTypes.DryRunTransactionOptions) {\n\t\tconst tx = Transaction.from(options.transaction);\n\t\tconst result = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: result.effects,\n\t\t\tobjectChanges: result.objectChanges,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: {\n\t\t\t\tdigest: await tx.getDigest(),\n\t\t\t\tepoch: null,\n\t\t\t\teffects,\n\t\t\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\t\t\tsignatures: [],\n\t\t\t\ttransaction: parseTransactionBcs(options.transaction),\n\t\t\t\tbalanceChanges: result.balanceChanges.map((change) => ({\n\t\t\t\t\tcoinType: change.coinType,\n\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\tamount: change.amount,\n\t\t\t\t})),\n\t\t\t},\n\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getDynamicFields(options: Experimental_SuiClientTypes.GetDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: dynamicField.objectId,\n\t\t\t\t\ttype: dynamicField.objectType,\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.bcsName),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.author,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tresolveNameServiceNames(\n\t\toptions: Experimental_SuiClientTypes.ResolveNameServiceNamesOptions,\n\t): Promise<Experimental_SuiClientTypes.ResolveNameServiceNamesResponse> {\n\t\treturn this.#jsonRpcClient.resolveNameServiceNames(options);\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn jsonRpcClientResolveTransactionPlugin(this.#jsonRpcClient);\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: Experimental_SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst result = await this.#jsonRpcClient.getNormalizedMoveFunction({\n\t\t\tpackage: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\tmodule: options.moduleName,\n\t\t\tfunction: options.name,\n\t\t});\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(options.packageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: options.name,\n\t\t\t\tvisibility: parseVisibility(result.visibility),\n\t\t\t\tisEntry: result.isEntry,\n\t\t\t\ttypeParameters: result.typeParameters.map((abilities) => ({\n\t\t\t\t\tisPhantom: false,\n\t\t\t\t\tconstraints: parseAbilities(abilities),\n\t\t\t\t})),\n\t\t\t\tparameters: result.parameters.map((param) => parseNormalizedSuiMoveType(param)),\n\t\t\t\treturns: result.return.map((ret) => parseNormalizedSuiMoveType(ret)),\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction parseObject(object: SuiObjectData): Experimental_SuiClientTypes.ObjectResponse {\n\treturn {\n\t\tid: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype: object.type!,\n\t\tcontent: Promise.resolve(\n\t\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : new Uint8Array(),\n\t\t),\n\t\towner: parseOwner(object.owner!),\n\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): Experimental_SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\tConsensusAddressOwner: {\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseOwnerAddress(owner: ObjectOwner): string | null {\n\tif (owner === 'Immutable') {\n\t\treturn null;\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn owner.ConsensusAddressOwner.owner;\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn owner.AddressOwner;\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn owner.ObjectOwner;\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn null;\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction(\n\ttransaction: SuiTransactionBlockResponse,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction!))[0];\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.objectChanges?.forEach((change) => {\n\t\tif (change.type !== 'published') {\n\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t}\n\t});\n\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.rawEffects!)),\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\t...data,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t\tbalanceChanges:\n\t\t\ttransaction.balanceChanges?.map((change) => ({\n\t\t\t\tcoinType: change.coinType,\n\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\tamount: change.amount,\n\t\t\t})) ?? [],\n\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: Experimental_SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: Experimental_SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedConsensusObjects: Experimental_SuiClientTypes.UnchangedConsensusObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tdigest: effects.transactionDigest,\n\t\t\tversion: 2,\n\t\t\tstatus:\n\t\t\t\teffects.status.status === 'success'\n\t\t\t\t\t? { success: true, error: null }\n\t\t\t\t\t: { success: false, error: effects.status.error! },\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tid: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedConsensusObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nconst Balance = bcs.struct('Balance', {\n\tvalue: bcs.u64(),\n});\n\nconst Coin = bcs.struct('Coin', {\n\tid: bcs.Address,\n\tbalance: Balance,\n});\n\nfunction parseNormalizedSuiMoveType(\n\ttype: SuiMoveNormalizedType,\n): Experimental_SuiClientTypes.OpenSignature {\n\tif (typeof type !== 'string') {\n\t\tif ('Reference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'immutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.Reference),\n\t\t\t};\n\t\t}\n\n\t\tif ('MutableReference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'mutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.MutableReference),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn {\n\t\treference: null,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: SuiMoveNormalizedType,\n): Experimental_SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'Address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'Bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'U8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'U16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'U32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'U64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'U128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'U256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.Vector),\n\t\t};\n\t}\n\n\tif ('Struct' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.Struct.address)}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\t\ttypeParameters: type.Struct.typeArguments.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.TypeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n\nfunction parseAbilities(abilitySet: SuiMoveAbilitySet): Experimental_SuiClientTypes.Ability[] {\n\treturn abilitySet.abilities.map((ability) => {\n\t\tswitch (ability) {\n\t\t\tcase 'Copy':\n\t\t\t\treturn 'copy';\n\t\t\tcase 'Drop':\n\t\t\t\treturn 'drop';\n\t\t\tcase 'Store':\n\t\t\t\treturn 'store';\n\t\t\tcase 'Key':\n\t\t\t\treturn 'key';\n\t\t\tdefault:\n\t\t\t\treturn 'unknown';\n\t\t}\n\t});\n}\n\nfunction parseVisibility(visibility: SuiMoveVisibility): Experimental_SuiClientTypes.Visibility {\n\tswitch (visibility) {\n\t\tcase 'Public':\n\t\t\treturn 'public';\n\t\tcase 'Private':\n\t\t\treturn 'private';\n\t\tcase 'Friend':\n\t\t\treturn 'friend';\n\t\tdefault:\n\t\t\treturn 'unknown';\n\t}\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64 } from '@mysten/bcs';\n\nimport { bcs } from '../bcs/index.js';\nimport type {\n\tObjectOwner,\n\tSuiMoveAbilitySet,\n\tSuiMoveNormalizedType,\n\tSuiMoveVisibility,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from './types/index.js';\nimport { Transaction } from '../transactions/Transaction.js';\nimport { jsonRpcClientResolveTransactionPlugin } from './json-rpc-resolver.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport { Experimental_CoreClient } from '../experimental/core.js';\nimport type { Experimental_SuiClientTypes } from '../experimental/types.js';\nimport { ObjectError } from '../experimental/errors.js';\nimport { parseTransactionBcs, parseTransactionEffectsBcs } from '../experimental/index.js';\nimport type { SuiJsonRpcClient } from './client.js';\n\nexport class JSONRpcCoreClient extends Experimental_CoreClient {\n\t#jsonRpcClient: SuiJsonRpcClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiJsonRpcClient;\n\t\tmvr?: Experimental_SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects(options: Experimental_SuiClientTypes.GetObjectsOptions) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: Experimental_SuiClientTypes.GetObjectsResponse['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: true,\n\t\t\t\t\tshowPreviousTransaction: true,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync getOwnedObjects(options: Experimental_SuiClientTypes.GetOwnedObjectsOptions) {\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.address,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: true,\n\t\t\t\tshowPreviousTransaction: true,\n\t\t\t},\n\t\t\tfilter: options.type ? { StructType: options.type } : null,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getCoins(options: Experimental_SuiClientTypes.GetCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map((coin) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: `0x2::coin::Coin<${coin.coinType}>`,\n\t\t\t\t\tcontent: Promise.resolve(\n\t\t\t\t\t\tCoin.serialize({\n\t\t\t\t\t\t\tid: coin.coinObjectId,\n\t\t\t\t\t\t\tbalance: {\n\t\t\t\t\t\t\t\tvalue: coin.balance,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t}).toBytes(),\n\t\t\t\t\t),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: options.address,\n\t\t\t\t\t},\n\t\t\t\t\tpreviousTransaction: coin.previousTransaction,\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: Experimental_SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.address,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t},\n\t\t};\n\t}\n\tasync getAllBalances(options: Experimental_SuiClientTypes.GetAllBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.address,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => ({\n\t\t\t\tcoinType: balance.coinType,\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t})),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\n\t\t};\n\t}\n\tasync getTransaction(options: Experimental_SuiClientTypes.GetTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowBalanceChanges: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync executeTransaction(options: Experimental_SuiClientTypes.ExecuteTransactionOptions) {\n\t\tconst transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\tshowRawEffects: true,\n\t\t\t\tshowEvents: true,\n\t\t\t\tshowObjectChanges: true,\n\t\t\t\tshowRawInput: true,\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowBalanceChanges: true,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: parseTransaction(transaction),\n\t\t};\n\t}\n\tasync dryRunTransaction(options: Experimental_SuiClientTypes.DryRunTransactionOptions) {\n\t\tconst tx = Transaction.from(options.transaction);\n\t\tconst result = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: result.effects,\n\t\t\tobjectChanges: result.objectChanges,\n\t\t});\n\n\t\treturn {\n\t\t\ttransaction: {\n\t\t\t\tdigest: await tx.getDigest(),\n\t\t\t\tepoch: null,\n\t\t\t\teffects,\n\t\t\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\t\t\tsignatures: [],\n\t\t\t\ttransaction: parseTransactionBcs(options.transaction),\n\t\t\t\tbalanceChanges: result.balanceChanges.map((change) => ({\n\t\t\t\t\tcoinType: change.coinType,\n\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\tamount: change.amount,\n\t\t\t\t})),\n\t\t\t},\n\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: Experimental_SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getDynamicFields(options: Experimental_SuiClientTypes.GetDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField) => {\n\t\t\t\treturn {\n\t\t\t\t\tid: dynamicField.objectId,\n\t\t\t\t\ttype: dynamicField.objectType,\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.bcsName),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: Experimental_SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.author,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tasync defaultNameServiceName(\n\t\toptions: Experimental_SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<Experimental_SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\tconst name = (await this.#jsonRpcClient.resolveNameServiceNames(options)).data[0];\n\t\treturn {\n\t\t\tdata: {\n\t\t\t\tname,\n\t\t\t},\n\t\t};\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn jsonRpcClientResolveTransactionPlugin(this.#jsonRpcClient);\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: Experimental_SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<Experimental_SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst result = await this.#jsonRpcClient.getNormalizedMoveFunction({\n\t\t\tpackage: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\tmodule: options.moduleName,\n\t\t\tfunction: options.name,\n\t\t});\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(options.packageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: options.name,\n\t\t\t\tvisibility: parseVisibility(result.visibility),\n\t\t\t\tisEntry: result.isEntry,\n\t\t\t\ttypeParameters: result.typeParameters.map((abilities) => ({\n\t\t\t\t\tisPhantom: false,\n\t\t\t\t\tconstraints: parseAbilities(abilities),\n\t\t\t\t})),\n\t\t\t\tparameters: result.parameters.map((param) => parseNormalizedSuiMoveType(param)),\n\t\t\t\treturns: result.return.map((ret) => parseNormalizedSuiMoveType(ret)),\n\t\t\t},\n\t\t};\n\t}\n}\n\nfunction parseObject(object: SuiObjectData): Experimental_SuiClientTypes.ObjectResponse {\n\treturn {\n\t\tid: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype: object.type!,\n\t\tcontent: Promise.resolve(\n\t\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : new Uint8Array(),\n\t\t),\n\t\towner: parseOwner(object.owner!),\n\t\tpreviousTransaction: object.previousTransaction ?? null,\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): Experimental_SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\tConsensusAddressOwner: {\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseOwnerAddress(owner: ObjectOwner): string | null {\n\tif (owner === 'Immutable') {\n\t\treturn null;\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn owner.ConsensusAddressOwner.owner;\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn owner.AddressOwner;\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn owner.ObjectOwner;\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn null;\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction(\n\ttransaction: SuiTransactionBlockResponse,\n): Experimental_SuiClientTypes.TransactionResponse {\n\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction!))[0];\n\tconst objectTypes: Record<string, string> = {};\n\n\ttransaction.objectChanges?.forEach((change) => {\n\t\tif (change.type !== 'published') {\n\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t}\n\t});\n\n\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\tconst data = TransactionDataBuilder.restore({\n\t\tversion: 2,\n\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t});\n\n\treturn {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\teffects: parseTransactionEffectsBcs(new Uint8Array(transaction.rawEffects!)),\n\t\tobjectTypes: Promise.resolve(objectTypes),\n\t\ttransaction: {\n\t\t\t...data,\n\t\t\tbcs: bytes,\n\t\t},\n\t\tsignatures: parsedTx.txSignatures,\n\t\tbalanceChanges:\n\t\t\ttransaction.balanceChanges?.map((change) => ({\n\t\t\t\tcoinType: change.coinType,\n\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\tamount: change.amount,\n\t\t\t})) ?? [],\n\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: Experimental_SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: Experimental_SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedConsensusObjects: Experimental_SuiClientTypes.UnchangedConsensusObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tid: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tdigest: effects.transactionDigest,\n\t\t\tversion: 2,\n\t\t\tstatus:\n\t\t\t\teffects.status.status === 'success'\n\t\t\t\t\t? { success: true, error: null }\n\t\t\t\t\t: { success: false, error: effects.status.error! },\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tid: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedConsensusObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nconst Balance = bcs.struct('Balance', {\n\tvalue: bcs.u64(),\n});\n\nconst Coin = bcs.struct('Coin', {\n\tid: bcs.Address,\n\tbalance: Balance,\n});\n\nfunction parseNormalizedSuiMoveType(\n\ttype: SuiMoveNormalizedType,\n): Experimental_SuiClientTypes.OpenSignature {\n\tif (typeof type !== 'string') {\n\t\tif ('Reference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'immutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.Reference),\n\t\t\t};\n\t\t}\n\n\t\tif ('MutableReference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'mutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.MutableReference),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn {\n\t\treference: null,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: SuiMoveNormalizedType,\n): Experimental_SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'Address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'Bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'U8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'U16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'U32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'U64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'U128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'U256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.Vector),\n\t\t};\n\t}\n\n\tif ('Struct' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.Struct.address)}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\t\ttypeParameters: type.Struct.typeArguments.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.TypeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n\nfunction parseAbilities(abilitySet: SuiMoveAbilitySet): Experimental_SuiClientTypes.Ability[] {\n\treturn abilitySet.abilities.map((ability) => {\n\t\tswitch (ability) {\n\t\t\tcase 'Copy':\n\t\t\t\treturn 'copy';\n\t\t\tcase 'Drop':\n\t\t\t\treturn 'drop';\n\t\t\tcase 'Store':\n\t\t\t\treturn 'store';\n\t\t\tcase 'Key':\n\t\t\t\treturn 'key';\n\t\t\tdefault:\n\t\t\t\treturn 'unknown';\n\t\t}\n\t});\n}\n\nfunction parseVisibility(visibility: SuiMoveVisibility): Experimental_SuiClientTypes.Visibility {\n\tswitch (visibility) {\n\t\tcase 'Public':\n\t\t\treturn 'public';\n\t\tcase 'Private':\n\t\t\treturn 'private';\n\t\tcase 'Friend':\n\t\t\treturn 'friend';\n\t\tdefault:\n\t\t\treturn 'unknown';\n\t}\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAA2B;AAE3B,IAAAA,cAAoB;AAWpB,yBAA4B;AAC5B,+BAAsD;AACtD,6BAAuC;AACvC,mBAAsB;AACtB,uBAAoC;AACpC,kBAAwC;AAExC,oBAA4B;AAC5B,0BAAgE;AAxBhE;AA2BO,MAAM,0BAA0B,oCAAwB;AAAA,EAG9D,YAAY;AAAA,IACX;AAAA,IACA;AAAA,EACD,GAGG;AACF,UAAM,EAAE,SAAS,cAAc,SAAS,MAAM,eAAe,IAAI,CAAC;AATnE;AAUC,uBAAK,gBAAiB;AAAA,EACvB;AAAA,EAEA,MAAM,WAAW,SAAwD;AACxE,UAAM,cAAU,oBAAM,QAAQ,WAAW,EAAE;AAC3C,UAAM,UAAqE,CAAC;AAE5E,eAAW,SAAS,SAAS;AAC5B,YAAM,UAAU,MAAM,mBAAK,gBAAe,gBAAgB;AAAA,QACzD,KAAK;AAAA,QACL,SAAS;AAAA,UACR,WAAW;AAAA,UACX,UAAU;AAAA,UACV,SAAS;AAAA,UACT,yBAAyB;AAAA,QAC1B;AAAA,QACA,QAAQ,QAAQ;AAAA,MACjB,CAAC;AAED,iBAAW,CAAC,KAAK,MAAM,KAAK,QAAQ,QAAQ,GAAG;AAC9C,YAAI,OAAO,OAAO;AACjB,kBAAQ,KAAK,0BAAY,aAAa,OAAO,OAAO,MAAM,GAAG,CAAC,CAAC;AAAA,QAChE,OAAO;AACN,kBAAQ,KAAK,YAAY,OAAO,IAAK,CAAC;AAAA,QACvC;AAAA,MACD;AAAA,IACD;AAEA,WAAO;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD;AAAA,EACA,MAAM,gBAAgB,SAA6D;AAClF,UAAM,UAAU,MAAM,mBAAK,gBAAe,gBAAgB;AAAA,MACzD,OAAO,QAAQ;AAAA,MACf,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,MAChB,SAAS;AAAA,QACR,WAAW;AAAA,QACX,UAAU;AAAA,QACV,SAAS;AAAA,QACT,yBAAyB;AAAA,MAC1B;AAAA,MACA,QAAQ,QAAQ,OAAO,EAAE,YAAY,QAAQ,KAAK,IAAI;AAAA,MACtD,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,SAAS,QAAQ,KAAK,IAAI,CAAC,WAAW;AACrC,YAAI,OAAO,OAAO;AACjB,gBAAM,0BAAY,aAAa,OAAO,KAAK;AAAA,QAC5C;AAEA,eAAO,YAAY,OAAO,IAAK;AAAA,MAChC,CAAC;AAAA,MACD,aAAa,QAAQ;AAAA,MACrB,QAAQ,QAAQ,cAAc;AAAA,IAC/B;AAAA,EACD;AAAA,EAEA,MAAM,SAAS,SAAsD;AACpE,UAAM,QAAQ,MAAM,mBAAK,gBAAe,SAAS;AAAA,MAChD,OAAO,QAAQ;AAAA,MACf,UAAU,QAAQ;AAAA,MAClB,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,SAAS,MAAM,KAAK,IAAI,CAAC,SAAS;AACjC,eAAO;AAAA,UACN,IAAI,KAAK;AAAA,UACT,SAAS,KAAK;AAAA,UACd,QAAQ,KAAK;AAAA,UACb,SAAS,KAAK;AAAA,UACd,MAAM,mBAAmB,KAAK,QAAQ;AAAA,UACtC,SAAS,QAAQ;AAAA,YAChB,KAAK,UAAU;AAAA,cACd,IAAI,KAAK;AAAA,cACT,SAAS;AAAA,gBACR,OAAO,KAAK;AAAA,cACb;AAAA,YACD,CAAC,EAAE,QAAQ;AAAA,UACZ;AAAA,UACA,OAAO;AAAA,YACN,OAAO;AAAA,YACP,aAAa,QAAQ;AAAA,UACtB;AAAA,UACA,qBAAqB,KAAK;AAAA,QAC3B;AAAA,MACD,CAAC;AAAA,MACD,aAAa,MAAM;AAAA,MACnB,QAAQ,MAAM,cAAc;AAAA,IAC7B;AAAA,EACD;AAAA,EAEA,MAAM,WAAW,SAAwD;AACxE,UAAM,UAAU,MAAM,mBAAK,gBAAe,WAAW;AAAA,MACpD,OAAO,QAAQ;AAAA,MACf,UAAU,QAAQ;AAAA,MAClB,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,SAAS;AAAA,QACR,UAAU,QAAQ;AAAA,QAClB,SAAS,QAAQ;AAAA,MAClB;AAAA,IACD;AAAA,EACD;AAAA,EACA,MAAM,eAAe,SAA4D;AAChF,UAAM,WAAW,MAAM,mBAAK,gBAAe,eAAe;AAAA,MACzD,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,UAAU,SAAS,IAAI,CAAC,aAAa;AAAA,QACpC,UAAU,QAAQ;AAAA,QAClB,SAAS,QAAQ;AAAA,MAClB,EAAE;AAAA,MACF,aAAa;AAAA,MACb,QAAQ;AAAA,IACT;AAAA,EACD;AAAA,EACA,MAAM,eAAe,SAA4D;AAChF,UAAM,cAAc,MAAM,mBAAK,gBAAe,oBAAoB;AAAA,MACjE,QAAQ,QAAQ;AAAA,MAChB,SAAS;AAAA,QACR,cAAc;AAAA,QACd,mBAAmB;AAAA,QACnB,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,oBAAoB;AAAA,MACrB;AAAA,MACA,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,aAAa,iBAAiB,WAAW;AAAA,IAC1C;AAAA,EACD;AAAA,EACA,MAAM,mBAAmB,SAAgE;AACxF,UAAM,cAAc,MAAM,mBAAK,gBAAe,wBAAwB;AAAA,MACrE,kBAAkB,QAAQ;AAAA,MAC1B,WAAW,QAAQ;AAAA,MACnB,SAAS;AAAA,QACR,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,oBAAoB;AAAA,MACrB;AAAA,MACA,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,aAAa,iBAAiB,WAAW;AAAA,IAC1C;AAAA,EACD;AAAA,EACA,MAAM,kBAAkB,SAA+D;AACtF,UAAM,KAAK,+BAAY,KAAK,QAAQ,WAAW;AAC/C,UAAM,SAAS,MAAM,mBAAK,gBAAe,uBAAuB;AAAA,MAC/D,kBAAkB,QAAQ;AAAA,MAC1B,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,UAAM,EAAE,SAAS,YAAY,IAAI,4BAA4B;AAAA,MAC5D,SAAS,OAAO;AAAA,MAChB,eAAe,OAAO;AAAA,IACvB,CAAC;AAED,WAAO;AAAA,MACN,aAAa;AAAA,QACZ,QAAQ,MAAM,GAAG,UAAU;AAAA,QAC3B,OAAO;AAAA,QACP;AAAA,QACA,aAAa,QAAQ,QAAQ,WAAW;AAAA,QACxC,YAAY,CAAC;AAAA,QACb,iBAAa,yCAAoB,QAAQ,WAAW;AAAA,QACpD,gBAAgB,OAAO,eAAe,IAAI,CAAC,YAAY;AAAA,UACtD,UAAU,OAAO;AAAA,UACjB,SAAS,kBAAkB,OAAO,KAAK;AAAA,UACvC,QAAQ,OAAO;AAAA,QAChB,EAAE;AAAA,MACH;AAAA,IACD;AAAA,EACD;AAAA,EACA,MAAM,qBAAqB,SAAmE;AAC7F,UAAM,oBAAoB,MAAM,mBAAK,gBAAe,qBAAqB;AAAA,MACxE,QAAQ,SAAS;AAAA,IAClB,CAAC;AACD,WAAO;AAAA,MACN,mBAAmB,OAAO,iBAAiB;AAAA,IAC5C;AAAA,EACD;AAAA,EAEA,MAAM,iBAAiB,SAA8D;AACpF,UAAM,gBAAgB,MAAM,mBAAK,gBAAe,iBAAiB;AAAA,MAChE,UAAU,QAAQ;AAAA,MAClB,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,eAAe,cAAc,KAAK,IAAI,CAAC,iBAAiB;AACvD,eAAO;AAAA,UACN,IAAI,aAAa;AAAA,UACjB,MAAM,aAAa;AAAA,UACnB,MAAM;AAAA,YACL,MAAM,aAAa,KAAK;AAAA,YACxB,SAAK,uBAAW,aAAa,OAAO;AAAA,UACrC;AAAA,QACD;AAAA,MACD,CAAC;AAAA,MACD,aAAa,cAAc;AAAA,MAC3B,QAAQ,cAAc;AAAA,IACvB;AAAA,EACD;AAAA,EAEA,MAAM,uBAAuB,SAAoE;AAChG,UAAM,SAAS,MAAM,mBAAK,gBAAe,uBAAuB;AAAA,MAC/D,OAAO,QAAQ;AAAA,MACf,WAAW,QAAQ;AAAA,MACnB,aAAa,QAAQ;AAAA,MACrB,QAAQ,QAAQ;AAAA,IACjB,CAAC;AAED,WAAO;AAAA,MACN,SAAS,OAAO;AAAA,MAChB,QAAQ,OAAO;AAAA,IAChB;AAAA,EACD;AAAA,EAEA,MAAM,uBACL,SACsE;AACtE,UAAM,QAAQ,MAAM,mBAAK,gBAAe,wBAAwB,OAAO,GAAG,KAAK,CAAC;AAChF,WAAO;AAAA,MACN,MAAM;AAAA,QACL;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EAEA,2BAA2B;AAC1B,eAAO,gEAAsC,mBAAK,eAAc;AAAA,EACjE;AAAA,EAEA,MAAM,gBACL,SAC+D;AAC/D,UAAM,SAAS,MAAM,mBAAK,gBAAe,0BAA0B;AAAA,MAClE,UAAU,MAAM,KAAK,IAAI,eAAe,EAAE,SAAS,QAAQ,UAAU,CAAC,GAAG;AAAA,MACzE,QAAQ,QAAQ;AAAA,MAChB,UAAU,QAAQ;AAAA,IACnB,CAAC;AAED,WAAO;AAAA,MACN,UAAU;AAAA,QACT,eAAW,sCAAoB,QAAQ,SAAS;AAAA,QAChD,YAAY,QAAQ;AAAA,QACpB,MAAM,QAAQ;AAAA,QACd,YAAY,gBAAgB,OAAO,UAAU;AAAA,QAC7C,SAAS,OAAO;AAAA,QAChB,gBAAgB,OAAO,eAAe,IAAI,CAAC,eAAe;AAAA,UACzD,WAAW;AAAA,UACX,aAAa,eAAe,SAAS;AAAA,QACtC,EAAE;AAAA,QACF,YAAY,OAAO,WAAW,IAAI,CAAC,UAAU,2BAA2B,KAAK,CAAC;AAAA,QAC9E,SAAS,OAAO,OAAO,IAAI,CAAC,QAAQ,2BAA2B,GAAG,CAAC;AAAA,MACpE;AAAA,IACD;AAAA,EACD;AACD;AA/RC;AAiSD,SAAS,YAAY,QAAmE;AACvF,SAAO;AAAA,IACN,IAAI,OAAO;AAAA,IACX,SAAS,OAAO;AAAA,IAChB,QAAQ,OAAO;AAAA,IACf,MAAM,OAAO;AAAA,IACb,SAAS,QAAQ;AAAA,MAChB,OAAO,KAAK,aAAa,mBAAe,uBAAW,OAAO,IAAI,QAAQ,IAAI,IAAI,WAAW;AAAA,IAC1F;AAAA,IACA,OAAO,WAAW,OAAO,KAAM;AAAA,IAC/B,qBAAqB,OAAO,uBAAuB;AAAA,EACpD;AACD;AAEA,SAAS,WAAW,OAA6D;AAChF,MAAI,UAAU,aAAa;AAC1B,WAAO;AAAA,MACN,OAAO;AAAA,MACP,WAAW;AAAA,IACZ;AAAA,EACD;AAEA,MAAI,2BAA2B,OAAO;AACrC,WAAO;AAAA,MACN,OAAO;AAAA,MACP,uBAAuB;AAAA,QACtB,OAAO,MAAM,sBAAsB;AAAA,QACnC,cAAc,MAAM,sBAAsB;AAAA,MAC3C;AAAA,IACD;AAAA,EACD;AAEA,MAAI,kBAAkB,OAAO;AAC5B,WAAO;AAAA,MACN,OAAO;AAAA,MACP,cAAc,MAAM;AAAA,IACrB;AAAA,EACD;AAEA,MAAI,iBAAiB,OAAO;AAC3B,WAAO;AAAA,MACN,OAAO;AAAA,MACP,aAAa,MAAM;AAAA,IACpB;AAAA,EACD;AAEA,MAAI,YAAY,OAAO;AACtB,WAAO;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,QACP,sBAAsB,MAAM,OAAO;AAAA,MACpC;AAAA,IACD;AAAA,EACD;AAEA,QAAM,IAAI,MAAM,uBAAuB,KAAK,UAAU,KAAK,CAAC,EAAE;AAC/D;AAEA,SAAS,kBAAkB,OAAmC;AAC7D,MAAI,UAAU,aAAa;AAC1B,WAAO;AAAA,EACR;AAEA,MAAI,2BAA2B,OAAO;AACrC,WAAO,MAAM,sBAAsB;AAAA,EACpC;AAEA,MAAI,kBAAkB,OAAO;AAC5B,WAAO,MAAM;AAAA,EACd;AAEA,MAAI,iBAAiB,OAAO;AAC3B,WAAO,MAAM;AAAA,EACd;AAEA,MAAI,YAAY,OAAO;AACtB,WAAO;AAAA,EACR;AAEA,QAAM,IAAI,MAAM,uBAAuB,KAAK,UAAU,KAAK,CAAC,EAAE;AAC/D;AAEA,SAAS,iBACR,aACkD;AAClD,QAAM,WAAW,gBAAI,iBAAiB,UAAM,uBAAW,YAAY,cAAe,CAAC,EAAE,CAAC;AACtF,QAAM,cAAsC,CAAC;AAE7C,cAAY,eAAe,QAAQ,CAAC,WAAW;AAC9C,QAAI,OAAO,SAAS,aAAa;AAChC,kBAAY,OAAO,QAAQ,IAAI,OAAO;AAAA,IACvC;AAAA,EACD,CAAC;AAED,QAAM,QAAQ,gBAAI,gBAAgB,UAAU,SAAS,cAAc,KAAK,EAAE,QAAQ;AAElF,QAAM,OAAO,8CAAuB,QAAQ;AAAA,IAC3C,SAAS;AAAA,IACT,QAAQ,SAAS,cAAc,MAAM,GAAG;AAAA,IACxC,YAAY,SAAS,cAAc,MAAM,GAAG;AAAA,IAC5C,SAAS,SAAS,cAAc,MAAM,GAAG;AAAA,IACzC,QAAQ,SAAS,cAAc,MAAM,GAAG,KAAK,wBAAyB;AAAA,IACtE,UAAU,SAAS,cAAc,MAAM,GAAG,KAAK,wBAAyB;AAAA,EACzE,CAAC;AAED,SAAO;AAAA,IACN,QAAQ,YAAY;AAAA,IACpB,OAAO,YAAY,SAAS,iBAAiB;AAAA,IAC7C,aAAS,gDAA2B,IAAI,WAAW,YAAY,UAAW,CAAC;AAAA,IAC3E,aAAa,QAAQ,QAAQ,WAAW;AAAA,IACxC,aAAa;AAAA,MACZ,GAAG;AAAA,MACH,KAAK;AAAA,IACN;AAAA,IACA,YAAY,SAAS;AAAA,IACrB,gBACC,YAAY,gBAAgB,IAAI,CAAC,YAAY;AAAA,MAC5C,UAAU,OAAO;AAAA,MACjB,SAAS,kBAAkB,OAAO,KAAK;AAAA,MACvC,QAAQ,OAAO;AAAA,IAChB,EAAE,KAAK,CAAC;AAAA,EACV;AACD;AAEA,SAAS,4BAA4B;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACD,GAOE;AACD,QAAM,iBAA8D,CAAC;AACrE,QAAM,4BAAoF,CAAC;AAC3F,QAAM,cAAsC,CAAC;AAE7C,iBAAe,QAAQ,CAAC,WAAW;AAClC,YAAQ,OAAO,MAAM;AAAA,MACpB,KAAK;AACJ,uBAAe,KAAK;AAAA,UACnB,IAAI,OAAO;AAAA,UACX,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,eAAe,OAAO;AAAA,UACtB,cAAc,OAAO;AAAA,UACrB,aAAa;AAAA,UACb,aAAa;AAAA,QACd,CAAC;AACD;AAAA,MACD,KAAK;AACJ,uBAAe,KAAK;AAAA,UACnB,IAAI,OAAO;AAAA,UACX,YAAY;AAAA,UACZ,cAAc,OAAO;AAAA,UACrB,aAAa,OAAO;AAAA,UACpB,YAAY;AAAA,YACX,OAAO;AAAA,YACP,cAAc,OAAO;AAAA,UACtB;AAAA,UACA,aAAa;AAAA,UACb,eAAe,OAAO;AAAA,UACtB,cAAc,OAAO;AAAA,UACrB,aAAa,WAAW,OAAO,SAAS;AAAA,UACxC,aAAa;AAAA,QACd,CAAC;AACD,oBAAY,OAAO,QAAQ,IAAI,OAAO;AACtC;AAAA,MACD,KAAK;AACJ,uBAAe,KAAK;AAAA,UACnB,IAAI,OAAO;AAAA,UACX,YAAY;AAAA,UACZ,cAAc,OAAO;AAAA,UACrB,aAAa;AAAA,UACb,YAAY,WAAW,OAAO,KAAK;AAAA,UACnC,aAAa;AAAA,UACb,eAAe,OAAO;AAAA,UACtB,cAAc,OAAO;AAAA,UACrB,aAAa,WAAW,OAAO,KAAK;AAAA,UACpC,aAAa;AAAA,QACd,CAAC;AACD,oBAAY,OAAO,QAAQ,IAAI,OAAO;AACtC;AAAA,MACD,KAAK;AACJ,uBAAe,KAAK;AAAA,UACnB,IAAI,OAAO;AAAA,UACX,YAAY;AAAA,UACZ,cAAc,OAAO;AAAA,UACrB,aAAa,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,aAAa,OAAO,QAAQ,GAAG,UAAU;AAAA,UACrF,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,eAAe;AAAA,UACf,cAAc;AAAA,UACd,aAAa;AAAA,UACb,aAAa;AAAA,QACd,CAAC;AACD,oBAAY,OAAO,QAAQ,IAAI,OAAO;AACtC;AAAA,MACD,KAAK;AACJ,uBAAe,KAAK;AAAA,UACnB,IAAI,OAAO;AAAA,UACX,YAAY;AAAA,UACZ,cAAc,OAAO;AAAA,UACrB,aAAa;AAAA,UACb,YAAY;AAAA,YACX,OAAO;AAAA,YACP,cAAc,OAAO;AAAA,UACtB;AAAA,UACA,aAAa;AAAA,UACb,eAAe,OAAO;AAAA,UACtB,cACC,QAAQ,SAAS,KAAK,CAAC,MAAM,EAAE,aAAa,OAAO,QAAQ,GAAG,UAAU;AAAA,UACzE,aAAa;AAAA,YACZ,OAAO;AAAA,YACP,aAAa,OAAO;AAAA,UACrB;AAAA,UACA,aAAa;AAAA,QACd,CAAC;AACD,oBAAY,OAAO,QAAQ,IAAI,OAAO;AACtC;AAAA,MACD,KAAK;AACJ,uBAAe,KAAK;AAAA,UACnB,IAAI,OAAO;AAAA,UACX,YAAY;AAAA,UACZ,cAAc;AAAA,UACd,aAAa;AAAA,UACb,YAAY;AAAA,UACZ,aAAa;AAAA,UACb,eAAe,OAAO;AAAA,UACtB,cAAc,OAAO;AAAA,UACrB,aAAa,WAAW,OAAO,KAAK;AAAA,UACpC,aAAa;AAAA,QACd,CAAC;AACD,oBAAY,OAAO,QAAQ,IAAI,OAAO;AACtC;AAAA,IACF;AAAA,EACD,CAAC;AAED,SAAO;AAAA,IACN;AAAA,IACA,SAAS;AAAA,MACR,KAAK,SAAS;AAAA,MACd,QAAQ,QAAQ;AAAA,MAChB,SAAS;AAAA,MACT,QACC,QAAQ,OAAO,WAAW,YACvB,EAAE,SAAS,MAAM,OAAO,KAAK,IAC7B,EAAE,SAAS,OAAO,OAAO,QAAQ,OAAO,MAAO;AAAA,MACnD,SAAS,QAAQ;AAAA,MACjB,mBAAmB,QAAQ;AAAA,MAC3B,WAAW;AAAA,QACV,IAAI,QAAQ,WAAW,UAAU;AAAA,QACjC,YAAY;AAAA,QACZ,cAAc;AAAA,QACd,aAAa;AAAA,QACb,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,eAAe,QAAQ,UAAU,UAAU;AAAA,QAC3C,cAAc,QAAQ,UAAU,UAAU;AAAA,QAC1C,aAAa,WAAW,QAAQ,UAAU,KAAK;AAAA,QAC/C,aAAa;AAAA,MACd;AAAA,MACA,cAAc,QAAQ,gBAAgB;AAAA,MACtC,cAAc,QAAQ,gBAAgB,CAAC;AAAA,MACvC,gBAAgB,QAAQ,UAAU,UAAU;AAAA,MAC5C;AAAA,MACA;AAAA,MACA,qBAAqB;AAAA,IACtB;AAAA,EACD;AACD;AAEA,MAAM,UAAU,gBAAI,OAAO,WAAW;AAAA,EACrC,OAAO,gBAAI,IAAI;AAChB,CAAC;AAED,MAAM,OAAO,gBAAI,OAAO,QAAQ;AAAA,EAC/B,IAAI,gBAAI;AAAA,EACR,SAAS;AACV,CAAC;AAED,SAAS,2BACR,MAC4C;AAC5C,MAAI,OAAO,SAAS,UAAU;AAC7B,QAAI,eAAe,MAAM;AACxB,aAAO;AAAA,QACN,WAAW;AAAA,QACX,MAAM,+BAA+B,KAAK,SAAS;AAAA,MACpD;AAAA,IACD;AAEA,QAAI,sBAAsB,MAAM;AAC/B,aAAO;AAAA,QACN,WAAW;AAAA,QACX,MAAM,+BAA+B,KAAK,gBAAgB;AAAA,MAC3D;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN,WAAW;AAAA,IACX,MAAM,+BAA+B,IAAI;AAAA,EAC1C;AACD;AAEA,SAAS,+BACR,MACgD;AAChD,UAAQ,MAAM;AAAA,IACb,KAAK;AACJ,aAAO,EAAE,OAAO,UAAU;AAAA,IAC3B,KAAK;AACJ,aAAO,EAAE,OAAO,OAAO;AAAA,IACxB,KAAK;AACJ,aAAO,EAAE,OAAO,KAAK;AAAA,IACtB,KAAK;AACJ,aAAO,EAAE,OAAO,MAAM;AAAA,IACvB,KAAK;AACJ,aAAO,EAAE,OAAO,MAAM;AAAA,IACvB,KAAK;AACJ,aAAO,EAAE,OAAO,MAAM;AAAA,IACvB,KAAK;AACJ,aAAO,EAAE,OAAO,OAAO;AAAA,IACxB,KAAK;AACJ,aAAO,EAAE,OAAO,OAAO;AAAA,EACzB;AAEA,MAAI,OAAO,SAAS,UAAU;AAC7B,UAAM,IAAI,MAAM,iBAAiB,IAAI,EAAE;AAAA,EACxC;AAEA,MAAI,YAAY,MAAM;AACrB,WAAO;AAAA,MACN,OAAO;AAAA,MACP,QAAQ,+BAA+B,KAAK,MAAM;AAAA,IACnD;AAAA,EACD;AAEA,MAAI,YAAY,MAAM;AACrB,WAAO;AAAA,MACN,OAAO;AAAA,MACP,UAAU;AAAA,QACT,UAAU,OAAG,sCAAoB,KAAK,OAAO,OAAO,CAAC,KAAK,KAAK,OAAO,MAAM,KAAK,KAAK,OAAO,IAAI;AAAA,QACjG,gBAAgB,KAAK,OAAO,cAAc,IAAI,CAAC,MAAM,+BAA+B,CAAC,CAAC;AAAA,MACvF;AAAA,IACD;AAAA,EACD;AAEA,MAAI,mBAAmB,MAAM;AAC5B,WAAO;AAAA,MACN,OAAO;AAAA,MACP,OAAO,KAAK;AAAA,IACb;AAAA,EACD;AAEA,QAAM,IAAI,MAAM,iBAAiB,KAAK,UAAU,IAAI,CAAC,EAAE;AACxD;AAEA,SAAS,eAAe,YAAsE;AAC7F,SAAO,WAAW,UAAU,IAAI,CAAC,YAAY;AAC5C,YAAQ,SAAS;AAAA,MAChB,KAAK;AACJ,eAAO;AAAA,MACR,KAAK;AACJ,eAAO;AAAA,MACR,KAAK;AACJ,eAAO;AAAA,MACR,KAAK;AACJ,eAAO;AAAA,MACR;AACC,eAAO;AAAA,IACT;AAAA,EACD,CAAC;AACF;AAEA,SAAS,gBAAgB,YAAuE;AAC/F,UAAQ,YAAY;AAAA,IACnB,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR,KAAK;AACJ,aAAO;AAAA,IACR;AACC,aAAO;AAAA,EACT;AACD;",
6
6
  "names": ["import_bcs"]
7
7
  }
@@ -2,6 +2,7 @@ import type { InferInput } from 'valibot';
2
2
  import type { Argument, CallArg, Command, GasData, TransactionExpiration, TransactionData } from './data/internal.js';
3
3
  import type { SerializedTransactionDataV1 } from './data/v1.js';
4
4
  import type { SerializedTransactionDataV2Schema } from './data/v2.js';
5
+ import type { TransactionResult } from './Transaction.js';
5
6
  export declare class TransactionDataBuilder implements TransactionData {
6
7
  static fromKindBytes(bytes: Uint8Array): TransactionDataBuilder;
7
8
  static fromBytes(bytes: Uint8Array): TransactionDataBuilder;
@@ -58,7 +59,13 @@ export declare class TransactionDataBuilder implements TransactionData {
58
59
  getInputUses(index: number, fn: (arg: Argument, command: Command) => void): void;
59
60
  mapCommandArguments(index: number, fn: (arg: Argument, command: Command, commandIndex: number) => Argument): void;
60
61
  mapArguments(fn: (arg: Argument, command: Command, commandIndex: number) => Argument): void;
61
- replaceCommand(index: number, replacement: Command | Command[], resultIndex?: number): void;
62
+ replaceCommand(index: number, replacement: Command | Command[], resultIndex?: number | {
63
+ Result: number;
64
+ } | {
65
+ NestedResult: [number, number];
66
+ }): void;
67
+ replaceCommandWithTransaction(index: number, otherTransaction: TransactionData, result: TransactionResult): void;
68
+ insertTransaction(atCommandIndex: number, otherTransaction: TransactionData): void;
62
69
  getDigest(): string;
63
70
  snapshot(): TransactionData;
64
71
  shallowClone(): TransactionDataBuilder;