@mysten/sui 2.27.1 → 2.29.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 (79) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/bcs/bcs.d.mts +6 -6
  3. package/dist/bcs/bcs.d.mts.map +1 -1
  4. package/dist/bcs/bcs.mjs +29 -2
  5. package/dist/bcs/bcs.mjs.map +1 -1
  6. package/dist/bcs/effects.mjs +2 -1
  7. package/dist/bcs/effects.mjs.map +1 -1
  8. package/dist/bcs/index.d.mts +102 -6
  9. package/dist/bcs/index.d.mts.map +1 -1
  10. package/dist/bcs/transactions.mjs +2 -1
  11. package/dist/bcs/transactions.mjs.map +1 -1
  12. package/dist/client/transaction-resolver.mjs +45 -9
  13. package/dist/client/transaction-resolver.mjs.map +1 -1
  14. package/dist/cryptography/signature.d.mts +14 -14
  15. package/dist/grpc/client.d.mts +1 -1
  16. package/dist/grpc/client.d.mts.map +1 -1
  17. package/dist/grpc/client.mjs +3 -5
  18. package/dist/grpc/client.mjs.map +1 -1
  19. package/dist/grpc/core.d.mts.map +1 -1
  20. package/dist/grpc/core.mjs +10 -10
  21. package/dist/grpc/core.mjs.map +1 -1
  22. package/dist/grpc/index.d.mts +4 -3
  23. package/dist/grpc/index.mjs +4 -2
  24. package/dist/grpc/proto/sui/forking/v1alpha/forking_service.client.d.mts +4 -4
  25. package/dist/grpc/proto/sui/rpc/v2/execution_status.d.mts +9 -1
  26. package/dist/grpc/proto/sui/rpc/v2/execution_status.d.mts.map +1 -1
  27. package/dist/grpc/proto/sui/rpc/v2/execution_status.mjs +8 -0
  28. package/dist/grpc/proto/sui/rpc/v2/execution_status.mjs.map +1 -1
  29. package/dist/grpc/proto/sui/rpc/v2/ledger_service.client.d.mts +4 -4
  30. package/dist/grpc/proto/sui/rpc/v2/move_package_service.client.d.mts +4 -4
  31. package/dist/grpc/proto/sui/rpc/v2/name_service.client.d.mts +4 -4
  32. package/dist/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.mts +4 -4
  33. package/dist/grpc/proto/sui/rpc/v2/state_service.client.d.mts +4 -4
  34. package/dist/grpc/proto/sui/rpc/v2/subscription_service.client.d.mts +4 -4
  35. package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts +50 -2
  36. package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts.map +1 -1
  37. package/dist/grpc/proto/sui/rpc/v2/transaction.mjs +36 -1
  38. package/dist/grpc/proto/sui/rpc/v2/transaction.mjs.map +1 -1
  39. package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.mts +4 -4
  40. package/dist/grpc/proto/types.d.mts +2 -2
  41. package/dist/grpc/proto/types.mjs +2 -1
  42. package/dist/grpc/transport.d.mts +18 -0
  43. package/dist/grpc/transport.d.mts.map +1 -0
  44. package/dist/grpc/transport.mjs +97 -0
  45. package/dist/grpc/transport.mjs.map +1 -0
  46. package/dist/transactions/Transaction.d.mts +19 -7
  47. package/dist/transactions/Transaction.d.mts.map +1 -1
  48. package/dist/transactions/data/internal.d.mts +133 -109
  49. package/dist/transactions/data/internal.d.mts.map +1 -1
  50. package/dist/transactions/data/internal.mjs +11 -2
  51. package/dist/transactions/data/internal.mjs.map +1 -1
  52. package/dist/transactions/data/v1.d.mts +22 -0
  53. package/dist/transactions/data/v1.d.mts.map +1 -1
  54. package/dist/transactions/data/v1.mjs +27 -4
  55. package/dist/transactions/data/v1.mjs.map +1 -1
  56. package/dist/transactions/data/v2.d.mts +12 -0
  57. package/dist/transactions/data/v2.d.mts.map +1 -1
  58. package/dist/transactions/data/v2.mjs +3 -2
  59. package/dist/transactions/data/v2.mjs.map +1 -1
  60. package/dist/version.mjs +1 -1
  61. package/dist/version.mjs.map +1 -1
  62. package/dist/zklogin/bcs.d.mts +14 -14
  63. package/docs/clients/grpc.md +31 -7
  64. package/package.json +1 -1
  65. package/src/bcs/bcs.ts +45 -0
  66. package/src/bcs/effects.ts +3 -0
  67. package/src/bcs/transactions.ts +1 -0
  68. package/src/bcs/types.ts +10 -1
  69. package/src/client/transaction-resolver.ts +79 -9
  70. package/src/grpc/client.ts +12 -4
  71. package/src/grpc/core.ts +18 -14
  72. package/src/grpc/index.ts +7 -3
  73. package/src/grpc/proto/sui/rpc/v2/execution_status.ts +8 -0
  74. package/src/grpc/proto/sui/rpc/v2/transaction.ts +68 -0
  75. package/src/grpc/transport.ts +160 -0
  76. package/src/transactions/data/internal.ts +19 -0
  77. package/src/transactions/data/v1.ts +51 -12
  78. package/src/transactions/data/v2.ts +2 -0
  79. package/src/version.ts +1 -1
@@ -1,9 +1,20 @@
1
+ import { assertAllowedProposersNotEmpty, assertAllowedProposersStrictlyIncreasing } from "../bcs/bcs.mjs";
1
2
  import { Argument_ArgumentKind } from "../grpc/proto/sui/rpc/v2/argument.mjs";
2
3
  import { FundsWithdrawal_Source, Input_InputKind } from "../grpc/proto/sui/rpc/v2/input.mjs";
3
4
  import { Transaction, TransactionExpiration_TransactionExpirationKind } from "../grpc/proto/sui/rpc/v2/transaction.mjs";
4
5
  import { fromBase64, toBase64 } from "@mysten/bcs";
5
6
 
6
7
  //#region src/client/transaction-resolver.ts
8
+ function millisecondsToGrpcTimestamp(value) {
9
+ const milliseconds = BigInt(value);
10
+ return {
11
+ seconds: milliseconds / 1000n,
12
+ nanos: Number(milliseconds % 1000n) * 1e6
13
+ };
14
+ }
15
+ function grpcTimestampToMilliseconds(timestamp) {
16
+ return (timestamp.seconds * 1000n + BigInt(Math.floor(timestamp.nanos / 1e6))).toString();
17
+ }
7
18
  /**
8
19
  * Converts CallArg (TypeScript internal format) to gRPC Input format
9
20
  */
@@ -167,14 +178,21 @@ function transactionDataToGrpcTransaction(data) {
167
178
  kind: TransactionExpiration_TransactionExpirationKind.EPOCH,
168
179
  epoch: BigInt(data.expiration.Epoch)
169
180
  };
170
- else if (data.expiration.$kind === "ValidDuring") {
171
- const validDuring = data.expiration.ValidDuring;
181
+ else if (data.expiration.$kind === "ValidDuring" || data.expiration.$kind === "Validity") {
182
+ const validity = data.expiration.$kind === "ValidDuring" ? data.expiration.ValidDuring : data.expiration.Validity;
183
+ const allowedProposers = data.expiration.$kind === "Validity" ? data.expiration.Validity.allowedProposers : null;
172
184
  transaction.expiration = {
173
- kind: TransactionExpiration_TransactionExpirationKind.VALID_DURING,
174
- minEpoch: validDuring.minEpoch != null ? BigInt(validDuring.minEpoch) : void 0,
175
- epoch: validDuring.maxEpoch != null ? BigInt(validDuring.maxEpoch) : void 0,
176
- chain: validDuring.chain,
177
- nonce: validDuring.nonce
185
+ kind: data.expiration.$kind === "ValidDuring" ? TransactionExpiration_TransactionExpirationKind.VALID_DURING : TransactionExpiration_TransactionExpirationKind.VALIDITY,
186
+ minEpoch: validity.minEpoch != null ? BigInt(validity.minEpoch) : void 0,
187
+ epoch: validity.maxEpoch != null ? BigInt(validity.maxEpoch) : void 0,
188
+ minTimestamp: validity.minTimestamp != null ? millisecondsToGrpcTimestamp(validity.minTimestamp) : void 0,
189
+ maxTimestamp: validity.maxTimestamp != null ? millisecondsToGrpcTimestamp(validity.maxTimestamp) : void 0,
190
+ chain: validity.chain,
191
+ nonce: validity.nonce,
192
+ allowedProposers: allowedProposers ? {
193
+ epoch: BigInt(allowedProposers.epoch),
194
+ proposers: assertAllowedProposersStrictlyIncreasing(allowedProposers.proposers)
195
+ } : void 0
178
196
  };
179
197
  }
180
198
  }
@@ -374,13 +392,31 @@ function grpcTransactionToTransactionData(grpcTx) {
374
392
  ValidDuring: {
375
393
  minEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,
376
394
  maxEpoch: grpcTx.expiration.epoch?.toString() ?? null,
377
- minTimestamp: null,
378
- maxTimestamp: null,
395
+ minTimestamp: grpcTx.expiration.minTimestamp ? grpcTimestampToMilliseconds(grpcTx.expiration.minTimestamp) : null,
396
+ maxTimestamp: grpcTx.expiration.maxTimestamp ? grpcTimestampToMilliseconds(grpcTx.expiration.maxTimestamp) : null,
379
397
  chain: grpcTx.expiration.chain ?? "",
380
398
  nonce: grpcTx.expiration.nonce ?? 0
381
399
  }
382
400
  };
383
401
  break;
402
+ case TransactionExpiration_TransactionExpirationKind.VALIDITY:
403
+ expiration = {
404
+ $kind: "Validity",
405
+ Validity: {
406
+ minEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,
407
+ maxEpoch: grpcTx.expiration.epoch?.toString() ?? null,
408
+ minTimestamp: grpcTx.expiration.minTimestamp ? grpcTimestampToMilliseconds(grpcTx.expiration.minTimestamp) : null,
409
+ maxTimestamp: grpcTx.expiration.maxTimestamp ? grpcTimestampToMilliseconds(grpcTx.expiration.maxTimestamp) : null,
410
+ chain: grpcTx.expiration.chain ?? "",
411
+ nonce: grpcTx.expiration.nonce ?? 0,
412
+ allowedProposers: grpcTx.expiration.allowedProposers ? {
413
+ epoch: grpcTx.expiration.allowedProposers.epoch?.toString() ?? "0",
414
+ proposers: assertAllowedProposersNotEmpty(grpcTx.expiration.allowedProposers.proposers)
415
+ } : null
416
+ }
417
+ };
418
+ break;
419
+ default: throw new Error(`Unknown transaction expiration kind: ${grpcTx.expiration.kind}`);
384
420
  }
385
421
  return {
386
422
  version: 2,
@@ -1 +1 @@
1
- {"version":3,"file":"transaction-resolver.mjs","names":["GrpcTransactionType"],"sources":["../../src/client/transaction-resolver.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\n\nimport type { bcs } from '../bcs/index.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport type {\n\tCallArg,\n\tCommand as BcsCommand,\n\tTransactionData,\n} from '../transactions/data/internal.js';\nimport type { Transaction as GrpcTransaction } from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport {\n\tTransaction as GrpcTransactionType,\n\tTransactionExpiration_TransactionExpirationKind,\n} from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport type { ObjectReference } from '../grpc/proto/sui/rpc/v2/object_reference.js';\nimport type { Input } from '../grpc/proto/sui/rpc/v2/input.js';\nimport { FundsWithdrawal_Source, Input_InputKind } from '../grpc/proto/sui/rpc/v2/input.js';\nimport type { Command } from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport type { Argument } from '../grpc/proto/sui/rpc/v2/argument.js';\nimport { Argument_ArgumentKind } from '../grpc/proto/sui/rpc/v2/argument.js';\nimport { Transaction } from '../transactions/Transaction.js';\n\n/**\n * Converts CallArg (TypeScript internal format) to gRPC Input format\n */\nfunction callArgToGrpcInput(arg: CallArg): Input {\n\tswitch (arg.$kind) {\n\t\tcase 'Pure':\n\t\t\t// Pure.bytes is a base64-encoded string that needs to be decoded\n\t\t\treturn {\n\t\t\t\tkind: Input_InputKind.PURE,\n\t\t\t\tpure: fromBase64(arg.Pure.bytes),\n\t\t\t};\n\n\t\tcase 'Object':\n\t\t\tif (arg.Object.$kind === 'ImmOrOwnedObject') {\n\t\t\t\treturn {\n\t\t\t\t\tkind: Input_InputKind.IMMUTABLE_OR_OWNED,\n\t\t\t\t\tobjectId: arg.Object.ImmOrOwnedObject.objectId,\n\t\t\t\t\tversion: BigInt(arg.Object.ImmOrOwnedObject.version),\n\t\t\t\t\tdigest: arg.Object.ImmOrOwnedObject.digest,\n\t\t\t\t};\n\t\t\t} else if (arg.Object.$kind === 'SharedObject') {\n\t\t\t\treturn {\n\t\t\t\t\tkind: Input_InputKind.SHARED,\n\t\t\t\t\tobjectId: arg.Object.SharedObject.objectId,\n\t\t\t\t\tversion: BigInt(arg.Object.SharedObject.initialSharedVersion),\n\t\t\t\t\tmutable: arg.Object.SharedObject.mutable,\n\t\t\t\t};\n\t\t\t} else if (arg.Object.$kind === 'Receiving') {\n\t\t\t\treturn {\n\t\t\t\t\tkind: Input_InputKind.RECEIVING,\n\t\t\t\t\tobjectId: arg.Object.Receiving.objectId,\n\t\t\t\t\tversion: BigInt(arg.Object.Receiving.version),\n\t\t\t\t\tdigest: arg.Object.Receiving.digest,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(`Unknown Object kind: ${JSON.stringify(arg.Object)}`);\n\n\t\tcase 'UnresolvedObject':\n\t\t\tconst unresolved = arg.UnresolvedObject;\n\t\t\treturn {\n\t\t\t\tobjectId: unresolved.objectId,\n\t\t\t\tversion: unresolved.version\n\t\t\t\t\t? BigInt(unresolved.version)\n\t\t\t\t\t: unresolved.initialSharedVersion\n\t\t\t\t\t\t? BigInt(unresolved.initialSharedVersion)\n\t\t\t\t\t\t: undefined,\n\t\t\t\tdigest: unresolved.digest ?? undefined,\n\t\t\t\tmutable: unresolved.mutable ?? undefined,\n\t\t\t};\n\n\t\tcase 'UnresolvedPure':\n\t\t\tthrow new Error('UnresolvedPure arguments must be resolved before converting to gRPC format');\n\n\t\tcase 'FundsWithdrawal': {\n\t\t\tconst withdrawal = arg.FundsWithdrawal;\n\t\t\treturn {\n\t\t\t\tkind: Input_InputKind.FUNDS_WITHDRAWAL,\n\t\t\t\tfundsWithdrawal: {\n\t\t\t\t\tamount:\n\t\t\t\t\t\twithdrawal.reservation.$kind === 'MaxAmountU64'\n\t\t\t\t\t\t\t? BigInt(withdrawal.reservation.MaxAmountU64)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tcoinType: withdrawal.typeArg.$kind === 'Balance' ? withdrawal.typeArg.Balance : undefined,\n\t\t\t\t\tsource:\n\t\t\t\t\t\twithdrawal.withdrawFrom.$kind === 'Sponsor'\n\t\t\t\t\t\t\t? FundsWithdrawal_Source.SPONSOR\n\t\t\t\t\t\t\t: FundsWithdrawal_Source.SENDER,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown CallArg kind: ${JSON.stringify(arg)}`);\n\t}\n}\n\n/**\n * Converts a TypeScript Argument to gRPC Argument\n */\nfunction tsArgumentToGrpcArgument(arg: typeof bcs.Argument.$inferInput): Argument {\n\tif ('GasCoin' in arg) {\n\t\treturn { kind: Argument_ArgumentKind.GAS };\n\t} else if ('Input' in arg) {\n\t\treturn { kind: Argument_ArgumentKind.INPUT, input: arg.Input };\n\t} else if ('Result' in arg) {\n\t\treturn { kind: Argument_ArgumentKind.RESULT, result: arg.Result };\n\t} else if ('NestedResult' in arg) {\n\t\treturn {\n\t\t\tkind: Argument_ArgumentKind.RESULT,\n\t\t\tresult: arg.NestedResult[0],\n\t\t\tsubresult: arg.NestedResult[1],\n\t\t};\n\t}\n\tthrow new Error(`Unknown Argument: ${JSON.stringify(arg)}`);\n}\n\n/**\n * Converts TypeScript Command to gRPC Command\n */\nfunction tsCommandToGrpcCommand(cmd: BcsCommand): Command {\n\tswitch (cmd.$kind) {\n\t\tcase 'MoveCall':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'moveCall',\n\t\t\t\t\tmoveCall: {\n\t\t\t\t\t\tpackage: cmd.MoveCall.package,\n\t\t\t\t\t\tmodule: cmd.MoveCall.module,\n\t\t\t\t\t\tfunction: cmd.MoveCall.function,\n\t\t\t\t\t\ttypeArguments: cmd.MoveCall.typeArguments,\n\t\t\t\t\t\targuments: cmd.MoveCall.arguments.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'TransferObjects':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'transferObjects',\n\t\t\t\t\ttransferObjects: {\n\t\t\t\t\t\tobjects: cmd.TransferObjects.objects.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t\taddress: tsArgumentToGrpcArgument(cmd.TransferObjects.address),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'SplitCoins':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'splitCoins',\n\t\t\t\t\tsplitCoins: {\n\t\t\t\t\t\tcoin: tsArgumentToGrpcArgument(cmd.SplitCoins.coin),\n\t\t\t\t\t\tamounts: cmd.SplitCoins.amounts.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'MergeCoins':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'mergeCoins',\n\t\t\t\t\tmergeCoins: {\n\t\t\t\t\t\tcoin: tsArgumentToGrpcArgument(cmd.MergeCoins.destination),\n\t\t\t\t\t\tcoinsToMerge: cmd.MergeCoins.sources.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'Publish':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'publish',\n\t\t\t\t\tpublish: {\n\t\t\t\t\t\t// modules are base64-encoded strings in internal format\n\t\t\t\t\t\tmodules: cmd.Publish.modules.map((m) => fromBase64(m)),\n\t\t\t\t\t\tdependencies: cmd.Publish.dependencies,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'MakeMoveVec':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'makeMoveVector',\n\t\t\t\t\tmakeMoveVector: {\n\t\t\t\t\t\telementType: cmd.MakeMoveVec.type ?? undefined,\n\t\t\t\t\t\telements: cmd.MakeMoveVec.elements.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'Upgrade':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'upgrade',\n\t\t\t\t\tupgrade: {\n\t\t\t\t\t\t// modules are base64-encoded strings in internal format\n\t\t\t\t\t\tmodules: cmd.Upgrade.modules.map((m) => fromBase64(m)),\n\t\t\t\t\t\tdependencies: cmd.Upgrade.dependencies,\n\t\t\t\t\t\tpackage: cmd.Upgrade.package,\n\t\t\t\t\t\tticket: tsArgumentToGrpcArgument(cmd.Upgrade.ticket),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Command kind: ${JSON.stringify(cmd)}`);\n\t}\n}\n\nexport function transactionDataToGrpcTransaction(data: TransactionData): GrpcTransaction {\n\tconst grpcInputs = data.inputs.map(callArgToGrpcInput);\n\n\tconst grpcCommands = data.commands.map(tsCommandToGrpcCommand);\n\n\tconst transaction: GrpcTransaction = {\n\t\tversion: 1,\n\t\tkind: {\n\t\t\tdata: {\n\t\t\t\toneofKind: 'programmableTransaction',\n\t\t\t\tprogrammableTransaction: {\n\t\t\t\t\tinputs: grpcInputs,\n\t\t\t\t\tcommands: grpcCommands,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\tif (data.sender) {\n\t\ttransaction.sender = data.sender;\n\t}\n\n\tconst gasOwner = data.gasData.owner ?? data.sender;\n\n\ttransaction.gasPayment = {\n\t\tobjects: data.gasData.payment\n\t\t\t? data.gasData.payment.map((ref) => ({\n\t\t\t\t\tobjectId: ref.objectId,\n\t\t\t\t\tversion: BigInt(ref.version),\n\t\t\t\t\tdigest: ref.digest,\n\t\t\t\t}))\n\t\t\t: [],\n\t\tprice: data.gasData.price ? BigInt(data.gasData.price) : undefined,\n\t\tbudget: data.gasData.budget ? BigInt(data.gasData.budget) : undefined,\n\t};\n\n\tif (gasOwner) {\n\t\ttransaction.gasPayment.owner = gasOwner;\n\t}\n\n\tif (data.expiration) {\n\t\tif ('None' in data.expiration) {\n\t\t\ttransaction.expiration = {\n\t\t\t\tkind: TransactionExpiration_TransactionExpirationKind.NONE,\n\t\t\t};\n\t\t} else if (data.expiration.$kind === 'Epoch') {\n\t\t\ttransaction.expiration = {\n\t\t\t\tkind: TransactionExpiration_TransactionExpirationKind.EPOCH,\n\t\t\t\tepoch: BigInt(data.expiration.Epoch),\n\t\t\t};\n\t\t} else if (data.expiration.$kind === 'ValidDuring') {\n\t\t\tconst validDuring = data.expiration.ValidDuring;\n\t\t\ttransaction.expiration = {\n\t\t\t\tkind: TransactionExpiration_TransactionExpirationKind.VALID_DURING,\n\t\t\t\tminEpoch: validDuring.minEpoch != null ? BigInt(validDuring.minEpoch) : undefined,\n\t\t\t\tepoch: validDuring.maxEpoch != null ? BigInt(validDuring.maxEpoch) : undefined,\n\t\t\t\tchain: validDuring.chain,\n\t\t\t\tnonce: validDuring.nonce,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn transaction;\n}\n\nexport function applyGrpcResolvedTransaction(\n\ttransactionData: TransactionDataBuilder,\n\tresolvedTransaction: GrpcTransaction,\n\toptions?: { onlyTransactionKind?: boolean },\n): void {\n\tconst resolved = grpcTransactionToTransactionData(resolvedTransaction);\n\n\tif (options?.onlyTransactionKind) {\n\t\ttransactionData.applyResolvedData({\n\t\t\t...resolved,\n\t\t\tsender: null,\n\t\t\tgasData: {\n\t\t\t\tbudget: null,\n\t\t\t\towner: null,\n\t\t\t\tpayment: null,\n\t\t\t\tprice: null,\n\t\t\t},\n\t\t\texpiration: null,\n\t\t});\n\t} else {\n\t\ttransactionData.applyResolvedData(resolved);\n\t}\n}\n\n/**\n * Converts an array of ObjectReferences from gRPC format to TypeScript SuiObjectRef format\n */\nexport function grpcObjectReferencesToBcs(refs: ObjectReference[]): {\n\tobjectId: string;\n\tversion: string;\n\tdigest: string;\n}[] {\n\treturn refs.map((ref) => ({\n\t\tobjectId: ref.objectId!,\n\t\tversion: ref.version?.toString()!,\n\t\tdigest: ref.digest!,\n\t}));\n}\n\nexport function transactionToGrpcTransaction(transaction: Transaction) {\n\tconst snapshot = transaction.getData();\n\n\tif (!snapshot.sender) {\n\t\tsnapshot.sender = '0x0000000000000000000000000000000000000000000000000000000000000000';\n\t}\n\n\treturn transactionDataToGrpcTransaction(snapshot);\n}\n\nexport function transactionToGrpcJson(transaction: Transaction): unknown {\n\tconst grpcTransaction = transactionToGrpcTransaction(transaction);\n\treturn GrpcTransactionType.toJson(grpcTransaction);\n}\n\nfunction grpcInputToCallArg(input: Input): CallArg {\n\tswitch (input.kind) {\n\t\tcase Input_InputKind.PURE:\n\t\t\treturn {\n\t\t\t\t$kind: 'Pure',\n\t\t\t\tPure: { bytes: toBase64(input.pure!) },\n\t\t\t};\n\n\t\tcase Input_InputKind.IMMUTABLE_OR_OWNED:\n\t\t\treturn {\n\t\t\t\t$kind: 'Object',\n\t\t\t\tObject: {\n\t\t\t\t\t$kind: 'ImmOrOwnedObject',\n\t\t\t\t\tImmOrOwnedObject: {\n\t\t\t\t\t\tobjectId: input.objectId!,\n\t\t\t\t\t\tversion: input.version!.toString(),\n\t\t\t\t\t\tdigest: input.digest!,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase Input_InputKind.SHARED:\n\t\t\treturn {\n\t\t\t\t$kind: 'Object',\n\t\t\t\tObject: {\n\t\t\t\t\t$kind: 'SharedObject',\n\t\t\t\t\tSharedObject: {\n\t\t\t\t\t\tobjectId: input.objectId!,\n\t\t\t\t\t\tinitialSharedVersion: input.version!.toString(),\n\t\t\t\t\t\tmutable: input.mutable ?? false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase Input_InputKind.RECEIVING:\n\t\t\treturn {\n\t\t\t\t$kind: 'Object',\n\t\t\t\tObject: {\n\t\t\t\t\t$kind: 'Receiving',\n\t\t\t\t\tReceiving: {\n\t\t\t\t\t\tobjectId: input.objectId!,\n\t\t\t\t\t\tversion: input.version!.toString(),\n\t\t\t\t\t\tdigest: input.digest!,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase Input_InputKind.FUNDS_WITHDRAWAL:\n\t\t\treturn {\n\t\t\t\t$kind: 'FundsWithdrawal',\n\t\t\t\tFundsWithdrawal: {\n\t\t\t\t\treservation: {\n\t\t\t\t\t\t$kind: 'MaxAmountU64' as const,\n\t\t\t\t\t\tMaxAmountU64: input.fundsWithdrawal?.amount?.toString() ?? '0',\n\t\t\t\t\t},\n\t\t\t\t\ttypeArg: {\n\t\t\t\t\t\t$kind: 'Balance' as const,\n\t\t\t\t\t\tBalance: input.fundsWithdrawal?.coinType ?? '0x2::sui::SUI',\n\t\t\t\t\t},\n\t\t\t\t\twithdrawFrom:\n\t\t\t\t\t\tinput.fundsWithdrawal?.source === FundsWithdrawal_Source.SPONSOR\n\t\t\t\t\t\t\t? { $kind: 'Sponsor' as const, Sponsor: true as const }\n\t\t\t\t\t\t\t: { $kind: 'Sender' as const, Sender: true as const },\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Input kind: ${JSON.stringify(input)}`);\n\t}\n}\n\nfunction grpcArgumentToTsArgument(\n\targ: Argument,\n):\n\t| { $kind: 'GasCoin'; GasCoin: true }\n\t| { $kind: 'Input'; Input: number }\n\t| { $kind: 'Result'; Result: number }\n\t| { $kind: 'NestedResult'; NestedResult: [number, number] } {\n\tswitch (arg.kind) {\n\t\tcase Argument_ArgumentKind.GAS:\n\t\t\treturn { $kind: 'GasCoin', GasCoin: true };\n\t\tcase Argument_ArgumentKind.INPUT:\n\t\t\treturn { $kind: 'Input', Input: arg.input! };\n\t\tcase Argument_ArgumentKind.RESULT:\n\t\t\tif (arg.subresult != null) {\n\t\t\t\treturn { $kind: 'NestedResult', NestedResult: [arg.result!, arg.subresult] };\n\t\t\t}\n\t\t\treturn { $kind: 'Result', Result: arg.result! };\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Argument kind: ${JSON.stringify(arg)}`);\n\t}\n}\n\nfunction grpcCommandToTsCommand(cmd: Command): BcsCommand {\n\tconst command = cmd.command;\n\tif (!command) {\n\t\tthrow new Error('Command is missing');\n\t}\n\n\tswitch (command.oneofKind) {\n\t\tcase 'moveCall':\n\t\t\treturn {\n\t\t\t\t$kind: 'MoveCall',\n\t\t\t\tMoveCall: {\n\t\t\t\t\tpackage: command.moveCall.package!,\n\t\t\t\t\tmodule: command.moveCall.module!,\n\t\t\t\t\tfunction: command.moveCall.function!,\n\t\t\t\t\ttypeArguments: command.moveCall.typeArguments ?? [],\n\t\t\t\t\targuments: command.moveCall.arguments.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'transferObjects':\n\t\t\treturn {\n\t\t\t\t$kind: 'TransferObjects',\n\t\t\t\tTransferObjects: {\n\t\t\t\t\tobjects: command.transferObjects.objects.map(grpcArgumentToTsArgument),\n\t\t\t\t\taddress: grpcArgumentToTsArgument(command.transferObjects.address!),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'splitCoins':\n\t\t\treturn {\n\t\t\t\t$kind: 'SplitCoins',\n\t\t\t\tSplitCoins: {\n\t\t\t\t\tcoin: grpcArgumentToTsArgument(command.splitCoins.coin!),\n\t\t\t\t\tamounts: command.splitCoins.amounts.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'mergeCoins':\n\t\t\treturn {\n\t\t\t\t$kind: 'MergeCoins',\n\t\t\t\tMergeCoins: {\n\t\t\t\t\tdestination: grpcArgumentToTsArgument(command.mergeCoins.coin!),\n\t\t\t\t\tsources: command.mergeCoins.coinsToMerge.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'publish':\n\t\t\treturn {\n\t\t\t\t$kind: 'Publish',\n\t\t\t\tPublish: {\n\t\t\t\t\tmodules: command.publish.modules.map((m) => toBase64(m)),\n\t\t\t\t\tdependencies: command.publish.dependencies ?? [],\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'makeMoveVector':\n\t\t\treturn {\n\t\t\t\t$kind: 'MakeMoveVec',\n\t\t\t\tMakeMoveVec: {\n\t\t\t\t\ttype: command.makeMoveVector.elementType ?? null,\n\t\t\t\t\telements: command.makeMoveVector.elements.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'upgrade':\n\t\t\treturn {\n\t\t\t\t$kind: 'Upgrade',\n\t\t\t\tUpgrade: {\n\t\t\t\t\tmodules: command.upgrade.modules.map((m) => toBase64(m)),\n\t\t\t\t\tdependencies: command.upgrade.dependencies ?? [],\n\t\t\t\t\tpackage: command.upgrade.package!,\n\t\t\t\t\tticket: grpcArgumentToTsArgument(command.upgrade.ticket!),\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Command kind: ${JSON.stringify(command)}`);\n\t}\n}\n\nexport function grpcTransactionToTransactionData(grpcTx: GrpcTransaction): TransactionData {\n\tconst programmableTx = grpcTx.kind?.data;\n\tif (programmableTx?.oneofKind !== 'programmableTransaction') {\n\t\tthrow new Error('Only programmable transactions are supported');\n\t}\n\n\tconst inputs = programmableTx.programmableTransaction.inputs.map(grpcInputToCallArg);\n\tconst commands = programmableTx.programmableTransaction.commands.map(grpcCommandToTsCommand);\n\n\tlet expiration: TransactionData['expiration'] = null;\n\tif (grpcTx.expiration) {\n\t\tswitch (grpcTx.expiration.kind) {\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.NONE:\n\t\t\t\texpiration = { $kind: 'None', None: true };\n\t\t\t\tbreak;\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.EPOCH:\n\t\t\t\texpiration = { $kind: 'Epoch', Epoch: grpcTx.expiration.epoch!.toString() };\n\t\t\t\tbreak;\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.VALID_DURING:\n\t\t\t\texpiration = {\n\t\t\t\t\t$kind: 'ValidDuring',\n\t\t\t\t\tValidDuring: {\n\t\t\t\t\t\tminEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,\n\t\t\t\t\t\tmaxEpoch: grpcTx.expiration.epoch?.toString() ?? null,\n\t\t\t\t\t\tminTimestamp: null,\n\t\t\t\t\t\tmaxTimestamp: null,\n\t\t\t\t\t\tchain: grpcTx.expiration.chain ?? '',\n\t\t\t\t\t\tnonce: grpcTx.expiration.nonce ?? 0,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t}\n\t}\n\n\treturn {\n\t\tversion: 2 as const,\n\t\tsender: grpcTx.sender ?? null,\n\t\texpiration,\n\t\tgasData: {\n\t\t\tbudget: grpcTx.gasPayment?.budget?.toString() ?? null,\n\t\t\towner: grpcTx.gasPayment?.owner ?? null,\n\t\t\tpayment:\n\t\t\t\tgrpcTx.gasPayment?.objects?.map((obj) => ({\n\t\t\t\t\tobjectId: obj.objectId!,\n\t\t\t\t\tversion: obj.version!.toString(),\n\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t})) ?? null,\n\t\t\tprice: grpcTx.gasPayment?.price?.toString() ?? null,\n\t\t},\n\t\tinputs,\n\t\tcommands,\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"transaction-resolver.mjs","names":["GrpcTransactionType"],"sources":["../../src/client/transaction-resolver.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, toBase64 } from '@mysten/bcs';\n\nimport type { bcs } from '../bcs/index.js';\nimport {\n\tassertAllowedProposersNotEmpty,\n\tassertAllowedProposersStrictlyIncreasing,\n} from '../bcs/bcs.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport type {\n\tCallArg,\n\tCommand as BcsCommand,\n\tTransactionData,\n} from '../transactions/data/internal.js';\nimport type { Transaction as GrpcTransaction } from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport {\n\tTransaction as GrpcTransactionType,\n\tTransactionExpiration_TransactionExpirationKind,\n} from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport type { ObjectReference } from '../grpc/proto/sui/rpc/v2/object_reference.js';\nimport type { Input } from '../grpc/proto/sui/rpc/v2/input.js';\nimport { FundsWithdrawal_Source, Input_InputKind } from '../grpc/proto/sui/rpc/v2/input.js';\nimport type { Command } from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport type { Argument } from '../grpc/proto/sui/rpc/v2/argument.js';\nimport { Argument_ArgumentKind } from '../grpc/proto/sui/rpc/v2/argument.js';\nimport { Transaction } from '../transactions/Transaction.js';\n\nfunction millisecondsToGrpcTimestamp(value: string | number) {\n\tconst milliseconds = BigInt(value);\n\treturn {\n\t\tseconds: milliseconds / 1000n,\n\t\tnanos: Number(milliseconds % 1000n) * 1_000_000,\n\t};\n}\n\nfunction grpcTimestampToMilliseconds(timestamp: { seconds: bigint; nanos: number }) {\n\treturn (timestamp.seconds * 1000n + BigInt(Math.floor(timestamp.nanos / 1_000_000))).toString();\n}\n\n/**\n * Converts CallArg (TypeScript internal format) to gRPC Input format\n */\nfunction callArgToGrpcInput(arg: CallArg): Input {\n\tswitch (arg.$kind) {\n\t\tcase 'Pure':\n\t\t\t// Pure.bytes is a base64-encoded string that needs to be decoded\n\t\t\treturn {\n\t\t\t\tkind: Input_InputKind.PURE,\n\t\t\t\tpure: fromBase64(arg.Pure.bytes),\n\t\t\t};\n\n\t\tcase 'Object':\n\t\t\tif (arg.Object.$kind === 'ImmOrOwnedObject') {\n\t\t\t\treturn {\n\t\t\t\t\tkind: Input_InputKind.IMMUTABLE_OR_OWNED,\n\t\t\t\t\tobjectId: arg.Object.ImmOrOwnedObject.objectId,\n\t\t\t\t\tversion: BigInt(arg.Object.ImmOrOwnedObject.version),\n\t\t\t\t\tdigest: arg.Object.ImmOrOwnedObject.digest,\n\t\t\t\t};\n\t\t\t} else if (arg.Object.$kind === 'SharedObject') {\n\t\t\t\treturn {\n\t\t\t\t\tkind: Input_InputKind.SHARED,\n\t\t\t\t\tobjectId: arg.Object.SharedObject.objectId,\n\t\t\t\t\tversion: BigInt(arg.Object.SharedObject.initialSharedVersion),\n\t\t\t\t\tmutable: arg.Object.SharedObject.mutable,\n\t\t\t\t};\n\t\t\t} else if (arg.Object.$kind === 'Receiving') {\n\t\t\t\treturn {\n\t\t\t\t\tkind: Input_InputKind.RECEIVING,\n\t\t\t\t\tobjectId: arg.Object.Receiving.objectId,\n\t\t\t\t\tversion: BigInt(arg.Object.Receiving.version),\n\t\t\t\t\tdigest: arg.Object.Receiving.digest,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthrow new Error(`Unknown Object kind: ${JSON.stringify(arg.Object)}`);\n\n\t\tcase 'UnresolvedObject':\n\t\t\tconst unresolved = arg.UnresolvedObject;\n\t\t\treturn {\n\t\t\t\tobjectId: unresolved.objectId,\n\t\t\t\tversion: unresolved.version\n\t\t\t\t\t? BigInt(unresolved.version)\n\t\t\t\t\t: unresolved.initialSharedVersion\n\t\t\t\t\t\t? BigInt(unresolved.initialSharedVersion)\n\t\t\t\t\t\t: undefined,\n\t\t\t\tdigest: unresolved.digest ?? undefined,\n\t\t\t\tmutable: unresolved.mutable ?? undefined,\n\t\t\t};\n\n\t\tcase 'UnresolvedPure':\n\t\t\tthrow new Error('UnresolvedPure arguments must be resolved before converting to gRPC format');\n\n\t\tcase 'FundsWithdrawal': {\n\t\t\tconst withdrawal = arg.FundsWithdrawal;\n\t\t\treturn {\n\t\t\t\tkind: Input_InputKind.FUNDS_WITHDRAWAL,\n\t\t\t\tfundsWithdrawal: {\n\t\t\t\t\tamount:\n\t\t\t\t\t\twithdrawal.reservation.$kind === 'MaxAmountU64'\n\t\t\t\t\t\t\t? BigInt(withdrawal.reservation.MaxAmountU64)\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tcoinType: withdrawal.typeArg.$kind === 'Balance' ? withdrawal.typeArg.Balance : undefined,\n\t\t\t\t\tsource:\n\t\t\t\t\t\twithdrawal.withdrawFrom.$kind === 'Sponsor'\n\t\t\t\t\t\t\t? FundsWithdrawal_Source.SPONSOR\n\t\t\t\t\t\t\t: FundsWithdrawal_Source.SENDER,\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown CallArg kind: ${JSON.stringify(arg)}`);\n\t}\n}\n\n/**\n * Converts a TypeScript Argument to gRPC Argument\n */\nfunction tsArgumentToGrpcArgument(arg: typeof bcs.Argument.$inferInput): Argument {\n\tif ('GasCoin' in arg) {\n\t\treturn { kind: Argument_ArgumentKind.GAS };\n\t} else if ('Input' in arg) {\n\t\treturn { kind: Argument_ArgumentKind.INPUT, input: arg.Input };\n\t} else if ('Result' in arg) {\n\t\treturn { kind: Argument_ArgumentKind.RESULT, result: arg.Result };\n\t} else if ('NestedResult' in arg) {\n\t\treturn {\n\t\t\tkind: Argument_ArgumentKind.RESULT,\n\t\t\tresult: arg.NestedResult[0],\n\t\t\tsubresult: arg.NestedResult[1],\n\t\t};\n\t}\n\tthrow new Error(`Unknown Argument: ${JSON.stringify(arg)}`);\n}\n\n/**\n * Converts TypeScript Command to gRPC Command\n */\nfunction tsCommandToGrpcCommand(cmd: BcsCommand): Command {\n\tswitch (cmd.$kind) {\n\t\tcase 'MoveCall':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'moveCall',\n\t\t\t\t\tmoveCall: {\n\t\t\t\t\t\tpackage: cmd.MoveCall.package,\n\t\t\t\t\t\tmodule: cmd.MoveCall.module,\n\t\t\t\t\t\tfunction: cmd.MoveCall.function,\n\t\t\t\t\t\ttypeArguments: cmd.MoveCall.typeArguments,\n\t\t\t\t\t\targuments: cmd.MoveCall.arguments.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'TransferObjects':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'transferObjects',\n\t\t\t\t\ttransferObjects: {\n\t\t\t\t\t\tobjects: cmd.TransferObjects.objects.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t\taddress: tsArgumentToGrpcArgument(cmd.TransferObjects.address),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'SplitCoins':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'splitCoins',\n\t\t\t\t\tsplitCoins: {\n\t\t\t\t\t\tcoin: tsArgumentToGrpcArgument(cmd.SplitCoins.coin),\n\t\t\t\t\t\tamounts: cmd.SplitCoins.amounts.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'MergeCoins':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'mergeCoins',\n\t\t\t\t\tmergeCoins: {\n\t\t\t\t\t\tcoin: tsArgumentToGrpcArgument(cmd.MergeCoins.destination),\n\t\t\t\t\t\tcoinsToMerge: cmd.MergeCoins.sources.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'Publish':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'publish',\n\t\t\t\t\tpublish: {\n\t\t\t\t\t\t// modules are base64-encoded strings in internal format\n\t\t\t\t\t\tmodules: cmd.Publish.modules.map((m) => fromBase64(m)),\n\t\t\t\t\t\tdependencies: cmd.Publish.dependencies,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'MakeMoveVec':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'makeMoveVector',\n\t\t\t\t\tmakeMoveVector: {\n\t\t\t\t\t\telementType: cmd.MakeMoveVec.type ?? undefined,\n\t\t\t\t\t\telements: cmd.MakeMoveVec.elements.map(tsArgumentToGrpcArgument),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'Upgrade':\n\t\t\treturn {\n\t\t\t\tcommand: {\n\t\t\t\t\toneofKind: 'upgrade',\n\t\t\t\t\tupgrade: {\n\t\t\t\t\t\t// modules are base64-encoded strings in internal format\n\t\t\t\t\t\tmodules: cmd.Upgrade.modules.map((m) => fromBase64(m)),\n\t\t\t\t\t\tdependencies: cmd.Upgrade.dependencies,\n\t\t\t\t\t\tpackage: cmd.Upgrade.package,\n\t\t\t\t\t\tticket: tsArgumentToGrpcArgument(cmd.Upgrade.ticket),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Command kind: ${JSON.stringify(cmd)}`);\n\t}\n}\n\nexport function transactionDataToGrpcTransaction(data: TransactionData): GrpcTransaction {\n\tconst grpcInputs = data.inputs.map(callArgToGrpcInput);\n\n\tconst grpcCommands = data.commands.map(tsCommandToGrpcCommand);\n\n\tconst transaction: GrpcTransaction = {\n\t\tversion: 1,\n\t\tkind: {\n\t\t\tdata: {\n\t\t\t\toneofKind: 'programmableTransaction',\n\t\t\t\tprogrammableTransaction: {\n\t\t\t\t\tinputs: grpcInputs,\n\t\t\t\t\tcommands: grpcCommands,\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n\n\tif (data.sender) {\n\t\ttransaction.sender = data.sender;\n\t}\n\n\tconst gasOwner = data.gasData.owner ?? data.sender;\n\n\ttransaction.gasPayment = {\n\t\tobjects: data.gasData.payment\n\t\t\t? data.gasData.payment.map((ref) => ({\n\t\t\t\t\tobjectId: ref.objectId,\n\t\t\t\t\tversion: BigInt(ref.version),\n\t\t\t\t\tdigest: ref.digest,\n\t\t\t\t}))\n\t\t\t: [],\n\t\tprice: data.gasData.price ? BigInt(data.gasData.price) : undefined,\n\t\tbudget: data.gasData.budget ? BigInt(data.gasData.budget) : undefined,\n\t};\n\n\tif (gasOwner) {\n\t\ttransaction.gasPayment.owner = gasOwner;\n\t}\n\n\tif (data.expiration) {\n\t\tif ('None' in data.expiration) {\n\t\t\ttransaction.expiration = {\n\t\t\t\tkind: TransactionExpiration_TransactionExpirationKind.NONE,\n\t\t\t};\n\t\t} else if (data.expiration.$kind === 'Epoch') {\n\t\t\ttransaction.expiration = {\n\t\t\t\tkind: TransactionExpiration_TransactionExpirationKind.EPOCH,\n\t\t\t\tepoch: BigInt(data.expiration.Epoch),\n\t\t\t};\n\t\t} else if (data.expiration.$kind === 'ValidDuring' || data.expiration.$kind === 'Validity') {\n\t\t\tconst validity =\n\t\t\t\tdata.expiration.$kind === 'ValidDuring'\n\t\t\t\t\t? data.expiration.ValidDuring\n\t\t\t\t\t: data.expiration.Validity;\n\t\t\tconst allowedProposers =\n\t\t\t\tdata.expiration.$kind === 'Validity' ? data.expiration.Validity.allowedProposers : null;\n\t\t\ttransaction.expiration = {\n\t\t\t\tkind:\n\t\t\t\t\tdata.expiration.$kind === 'ValidDuring'\n\t\t\t\t\t\t? TransactionExpiration_TransactionExpirationKind.VALID_DURING\n\t\t\t\t\t\t: TransactionExpiration_TransactionExpirationKind.VALIDITY,\n\t\t\t\tminEpoch: validity.minEpoch != null ? BigInt(validity.minEpoch) : undefined,\n\t\t\t\tepoch: validity.maxEpoch != null ? BigInt(validity.maxEpoch) : undefined,\n\t\t\t\tminTimestamp:\n\t\t\t\t\tvalidity.minTimestamp != null\n\t\t\t\t\t\t? millisecondsToGrpcTimestamp(validity.minTimestamp)\n\t\t\t\t\t\t: undefined,\n\t\t\t\tmaxTimestamp:\n\t\t\t\t\tvalidity.maxTimestamp != null\n\t\t\t\t\t\t? millisecondsToGrpcTimestamp(validity.maxTimestamp)\n\t\t\t\t\t\t: undefined,\n\t\t\t\tchain: validity.chain,\n\t\t\t\tnonce: validity.nonce,\n\t\t\t\tallowedProposers: allowedProposers\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tepoch: BigInt(allowedProposers.epoch),\n\t\t\t\t\t\t\tproposers: assertAllowedProposersStrictlyIncreasing(allowedProposers.proposers),\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t}\n\t}\n\n\treturn transaction;\n}\n\nexport function applyGrpcResolvedTransaction(\n\ttransactionData: TransactionDataBuilder,\n\tresolvedTransaction: GrpcTransaction,\n\toptions?: { onlyTransactionKind?: boolean },\n): void {\n\tconst resolved = grpcTransactionToTransactionData(resolvedTransaction);\n\n\tif (options?.onlyTransactionKind) {\n\t\ttransactionData.applyResolvedData({\n\t\t\t...resolved,\n\t\t\tsender: null,\n\t\t\tgasData: {\n\t\t\t\tbudget: null,\n\t\t\t\towner: null,\n\t\t\t\tpayment: null,\n\t\t\t\tprice: null,\n\t\t\t},\n\t\t\texpiration: null,\n\t\t});\n\t} else {\n\t\ttransactionData.applyResolvedData(resolved);\n\t}\n}\n\n/**\n * Converts an array of ObjectReferences from gRPC format to TypeScript SuiObjectRef format\n */\nexport function grpcObjectReferencesToBcs(refs: ObjectReference[]): {\n\tobjectId: string;\n\tversion: string;\n\tdigest: string;\n}[] {\n\treturn refs.map((ref) => ({\n\t\tobjectId: ref.objectId!,\n\t\tversion: ref.version?.toString()!,\n\t\tdigest: ref.digest!,\n\t}));\n}\n\nexport function transactionToGrpcTransaction(transaction: Transaction) {\n\tconst snapshot = transaction.getData();\n\n\tif (!snapshot.sender) {\n\t\tsnapshot.sender = '0x0000000000000000000000000000000000000000000000000000000000000000';\n\t}\n\n\treturn transactionDataToGrpcTransaction(snapshot);\n}\n\nexport function transactionToGrpcJson(transaction: Transaction): unknown {\n\tconst grpcTransaction = transactionToGrpcTransaction(transaction);\n\treturn GrpcTransactionType.toJson(grpcTransaction);\n}\n\nfunction grpcInputToCallArg(input: Input): CallArg {\n\tswitch (input.kind) {\n\t\tcase Input_InputKind.PURE:\n\t\t\treturn {\n\t\t\t\t$kind: 'Pure',\n\t\t\t\tPure: { bytes: toBase64(input.pure!) },\n\t\t\t};\n\n\t\tcase Input_InputKind.IMMUTABLE_OR_OWNED:\n\t\t\treturn {\n\t\t\t\t$kind: 'Object',\n\t\t\t\tObject: {\n\t\t\t\t\t$kind: 'ImmOrOwnedObject',\n\t\t\t\t\tImmOrOwnedObject: {\n\t\t\t\t\t\tobjectId: input.objectId!,\n\t\t\t\t\t\tversion: input.version!.toString(),\n\t\t\t\t\t\tdigest: input.digest!,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase Input_InputKind.SHARED:\n\t\t\treturn {\n\t\t\t\t$kind: 'Object',\n\t\t\t\tObject: {\n\t\t\t\t\t$kind: 'SharedObject',\n\t\t\t\t\tSharedObject: {\n\t\t\t\t\t\tobjectId: input.objectId!,\n\t\t\t\t\t\tinitialSharedVersion: input.version!.toString(),\n\t\t\t\t\t\tmutable: input.mutable ?? false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase Input_InputKind.RECEIVING:\n\t\t\treturn {\n\t\t\t\t$kind: 'Object',\n\t\t\t\tObject: {\n\t\t\t\t\t$kind: 'Receiving',\n\t\t\t\t\tReceiving: {\n\t\t\t\t\t\tobjectId: input.objectId!,\n\t\t\t\t\t\tversion: input.version!.toString(),\n\t\t\t\t\t\tdigest: input.digest!,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase Input_InputKind.FUNDS_WITHDRAWAL:\n\t\t\treturn {\n\t\t\t\t$kind: 'FundsWithdrawal',\n\t\t\t\tFundsWithdrawal: {\n\t\t\t\t\treservation: {\n\t\t\t\t\t\t$kind: 'MaxAmountU64' as const,\n\t\t\t\t\t\tMaxAmountU64: input.fundsWithdrawal?.amount?.toString() ?? '0',\n\t\t\t\t\t},\n\t\t\t\t\ttypeArg: {\n\t\t\t\t\t\t$kind: 'Balance' as const,\n\t\t\t\t\t\tBalance: input.fundsWithdrawal?.coinType ?? '0x2::sui::SUI',\n\t\t\t\t\t},\n\t\t\t\t\twithdrawFrom:\n\t\t\t\t\t\tinput.fundsWithdrawal?.source === FundsWithdrawal_Source.SPONSOR\n\t\t\t\t\t\t\t? { $kind: 'Sponsor' as const, Sponsor: true as const }\n\t\t\t\t\t\t\t: { $kind: 'Sender' as const, Sender: true as const },\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Input kind: ${JSON.stringify(input)}`);\n\t}\n}\n\nfunction grpcArgumentToTsArgument(\n\targ: Argument,\n):\n\t| { $kind: 'GasCoin'; GasCoin: true }\n\t| { $kind: 'Input'; Input: number }\n\t| { $kind: 'Result'; Result: number }\n\t| { $kind: 'NestedResult'; NestedResult: [number, number] } {\n\tswitch (arg.kind) {\n\t\tcase Argument_ArgumentKind.GAS:\n\t\t\treturn { $kind: 'GasCoin', GasCoin: true };\n\t\tcase Argument_ArgumentKind.INPUT:\n\t\t\treturn { $kind: 'Input', Input: arg.input! };\n\t\tcase Argument_ArgumentKind.RESULT:\n\t\t\tif (arg.subresult != null) {\n\t\t\t\treturn { $kind: 'NestedResult', NestedResult: [arg.result!, arg.subresult] };\n\t\t\t}\n\t\t\treturn { $kind: 'Result', Result: arg.result! };\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Argument kind: ${JSON.stringify(arg)}`);\n\t}\n}\n\nfunction grpcCommandToTsCommand(cmd: Command): BcsCommand {\n\tconst command = cmd.command;\n\tif (!command) {\n\t\tthrow new Error('Command is missing');\n\t}\n\n\tswitch (command.oneofKind) {\n\t\tcase 'moveCall':\n\t\t\treturn {\n\t\t\t\t$kind: 'MoveCall',\n\t\t\t\tMoveCall: {\n\t\t\t\t\tpackage: command.moveCall.package!,\n\t\t\t\t\tmodule: command.moveCall.module!,\n\t\t\t\t\tfunction: command.moveCall.function!,\n\t\t\t\t\ttypeArguments: command.moveCall.typeArguments ?? [],\n\t\t\t\t\targuments: command.moveCall.arguments.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'transferObjects':\n\t\t\treturn {\n\t\t\t\t$kind: 'TransferObjects',\n\t\t\t\tTransferObjects: {\n\t\t\t\t\tobjects: command.transferObjects.objects.map(grpcArgumentToTsArgument),\n\t\t\t\t\taddress: grpcArgumentToTsArgument(command.transferObjects.address!),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'splitCoins':\n\t\t\treturn {\n\t\t\t\t$kind: 'SplitCoins',\n\t\t\t\tSplitCoins: {\n\t\t\t\t\tcoin: grpcArgumentToTsArgument(command.splitCoins.coin!),\n\t\t\t\t\tamounts: command.splitCoins.amounts.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'mergeCoins':\n\t\t\treturn {\n\t\t\t\t$kind: 'MergeCoins',\n\t\t\t\tMergeCoins: {\n\t\t\t\t\tdestination: grpcArgumentToTsArgument(command.mergeCoins.coin!),\n\t\t\t\t\tsources: command.mergeCoins.coinsToMerge.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'publish':\n\t\t\treturn {\n\t\t\t\t$kind: 'Publish',\n\t\t\t\tPublish: {\n\t\t\t\t\tmodules: command.publish.modules.map((m) => toBase64(m)),\n\t\t\t\t\tdependencies: command.publish.dependencies ?? [],\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'makeMoveVector':\n\t\t\treturn {\n\t\t\t\t$kind: 'MakeMoveVec',\n\t\t\t\tMakeMoveVec: {\n\t\t\t\t\ttype: command.makeMoveVector.elementType ?? null,\n\t\t\t\t\telements: command.makeMoveVector.elements.map(grpcArgumentToTsArgument),\n\t\t\t\t},\n\t\t\t};\n\n\t\tcase 'upgrade':\n\t\t\treturn {\n\t\t\t\t$kind: 'Upgrade',\n\t\t\t\tUpgrade: {\n\t\t\t\t\tmodules: command.upgrade.modules.map((m) => toBase64(m)),\n\t\t\t\t\tdependencies: command.upgrade.dependencies ?? [],\n\t\t\t\t\tpackage: command.upgrade.package!,\n\t\t\t\t\tticket: grpcArgumentToTsArgument(command.upgrade.ticket!),\n\t\t\t\t},\n\t\t\t};\n\n\t\tdefault:\n\t\t\tthrow new Error(`Unknown Command kind: ${JSON.stringify(command)}`);\n\t}\n}\n\nexport function grpcTransactionToTransactionData(grpcTx: GrpcTransaction): TransactionData {\n\tconst programmableTx = grpcTx.kind?.data;\n\tif (programmableTx?.oneofKind !== 'programmableTransaction') {\n\t\tthrow new Error('Only programmable transactions are supported');\n\t}\n\n\tconst inputs = programmableTx.programmableTransaction.inputs.map(grpcInputToCallArg);\n\tconst commands = programmableTx.programmableTransaction.commands.map(grpcCommandToTsCommand);\n\n\tlet expiration: TransactionData['expiration'] = null;\n\tif (grpcTx.expiration) {\n\t\tswitch (grpcTx.expiration.kind) {\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.NONE:\n\t\t\t\texpiration = { $kind: 'None', None: true };\n\t\t\t\tbreak;\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.EPOCH:\n\t\t\t\texpiration = { $kind: 'Epoch', Epoch: grpcTx.expiration.epoch!.toString() };\n\t\t\t\tbreak;\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.VALID_DURING:\n\t\t\t\texpiration = {\n\t\t\t\t\t$kind: 'ValidDuring',\n\t\t\t\t\tValidDuring: {\n\t\t\t\t\t\tminEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,\n\t\t\t\t\t\tmaxEpoch: grpcTx.expiration.epoch?.toString() ?? null,\n\t\t\t\t\t\tminTimestamp: grpcTx.expiration.minTimestamp\n\t\t\t\t\t\t\t? grpcTimestampToMilliseconds(grpcTx.expiration.minTimestamp)\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tmaxTimestamp: grpcTx.expiration.maxTimestamp\n\t\t\t\t\t\t\t? grpcTimestampToMilliseconds(grpcTx.expiration.maxTimestamp)\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tchain: grpcTx.expiration.chain ?? '',\n\t\t\t\t\t\tnonce: grpcTx.expiration.nonce ?? 0,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tcase TransactionExpiration_TransactionExpirationKind.VALIDITY:\n\t\t\t\texpiration = {\n\t\t\t\t\t$kind: 'Validity',\n\t\t\t\t\tValidity: {\n\t\t\t\t\t\tminEpoch: grpcTx.expiration.minEpoch?.toString() ?? null,\n\t\t\t\t\t\tmaxEpoch: grpcTx.expiration.epoch?.toString() ?? null,\n\t\t\t\t\t\tminTimestamp: grpcTx.expiration.minTimestamp\n\t\t\t\t\t\t\t? grpcTimestampToMilliseconds(grpcTx.expiration.minTimestamp)\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tmaxTimestamp: grpcTx.expiration.maxTimestamp\n\t\t\t\t\t\t\t? grpcTimestampToMilliseconds(grpcTx.expiration.maxTimestamp)\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t\tchain: grpcTx.expiration.chain ?? '',\n\t\t\t\t\t\tnonce: grpcTx.expiration.nonce ?? 0,\n\t\t\t\t\t\tallowedProposers: grpcTx.expiration.allowedProposers\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tepoch: grpcTx.expiration.allowedProposers.epoch?.toString() ?? '0',\n\t\t\t\t\t\t\t\t\tproposers: assertAllowedProposersNotEmpty(\n\t\t\t\t\t\t\t\t\t\tgrpcTx.expiration.allowedProposers.proposers,\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: null,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// Leaving `expiration` null here would drop a restriction the server did send.\n\t\t\t\tthrow new Error(`Unknown transaction expiration kind: ${grpcTx.expiration.kind}`);\n\t\t}\n\t}\n\n\treturn {\n\t\tversion: 2 as const,\n\t\tsender: grpcTx.sender ?? null,\n\t\texpiration,\n\t\tgasData: {\n\t\t\tbudget: grpcTx.gasPayment?.budget?.toString() ?? null,\n\t\t\towner: grpcTx.gasPayment?.owner ?? null,\n\t\t\tpayment:\n\t\t\t\tgrpcTx.gasPayment?.objects?.map((obj) => ({\n\t\t\t\t\tobjectId: obj.objectId!,\n\t\t\t\t\tversion: obj.version!.toString(),\n\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t})) ?? null,\n\t\t\tprice: grpcTx.gasPayment?.price?.toString() ?? null,\n\t\t},\n\t\tinputs,\n\t\tcommands,\n\t};\n}\n"],"mappings":"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"}
@@ -23,20 +23,6 @@ declare function toSerializedSignature({
23
23
  * Decodes a serialized signature into its constituent components: the signature scheme, the actual signature, and the public key
24
24
  */
25
25
  declare function parseSerializedSignature(serializedSignature: string): {
26
- signatureScheme: "Passkey";
27
- serializedSignature: string;
28
- signature: Uint8Array<ArrayBufferLike>;
29
- authenticatorData: Uint8Array<ArrayBufferLike>;
30
- clientDataJson: string;
31
- userSignature: Uint8Array<ArrayBuffer>;
32
- publicKey: Uint8Array<ArrayBuffer>;
33
- } | {
34
- serializedSignature: string;
35
- signatureScheme: "ED25519" | "Secp256k1" | "Secp256r1";
36
- signature: Uint8Array<ArrayBuffer>;
37
- publicKey: Uint8Array<ArrayBuffer>;
38
- bytes: Uint8Array<ArrayBuffer>;
39
- } | {
40
26
  serializedSignature: string;
41
27
  signatureScheme: "ZkLogin";
42
28
  zkLogin: {
@@ -60,6 +46,20 @@ declare function parseSerializedSignature(serializedSignature: string): {
60
46
  };
61
47
  signature: Uint8Array<ArrayBufferLike>;
62
48
  publicKey: Uint8Array<ArrayBuffer>;
49
+ } | {
50
+ signatureScheme: "Passkey";
51
+ serializedSignature: string;
52
+ signature: Uint8Array<ArrayBufferLike>;
53
+ authenticatorData: Uint8Array<ArrayBufferLike>;
54
+ clientDataJson: string;
55
+ userSignature: Uint8Array<ArrayBuffer>;
56
+ publicKey: Uint8Array<ArrayBuffer>;
57
+ } | {
58
+ serializedSignature: string;
59
+ signatureScheme: "ED25519" | "Secp256k1" | "Secp256r1";
60
+ signature: Uint8Array<ArrayBuffer>;
61
+ publicKey: Uint8Array<ArrayBuffer>;
62
+ bytes: Uint8Array<ArrayBuffer>;
63
63
  } | {
64
64
  serializedSignature: string;
65
65
  signatureScheme: "MultiSig";
@@ -14,8 +14,8 @@ import { SubscriptionServiceClient } from "./proto/sui/rpc/v2/subscription_servi
14
14
  import { GrpcCoreClient } from "./core.mjs";
15
15
  import { NameServiceClient } from "./proto/sui/rpc/v2/name_service.client.mjs";
16
16
  import { ForkingServiceClient } from "./proto/sui/forking/v1alpha/forking_service.client.mjs";
17
- import { GrpcWebOptions } from "@protobuf-ts/grpcweb-transport";
18
17
  import { RpcTransport } from "@protobuf-ts/runtime-rpc";
18
+ import { GrpcWebOptions } from "@protobuf-ts/grpcweb-transport";
19
19
 
20
20
  //#region src/grpc/client.d.ts
21
21
  interface SuiGrpcTransportOptions extends GrpcWebOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.mts","names":[],"sources":["../../src/grpc/client.ts"],"mappings":"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"}
1
+ {"version":3,"file":"client.d.mts","names":[],"sources":["../../src/grpc/client.ts"],"mappings":"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"}
@@ -7,11 +7,11 @@ import { SignatureVerificationServiceClient } from "./proto/sui/rpc/v2/signature
7
7
  import { DynamicField_DynamicFieldKind } from "./proto/sui/rpc/v2/state_service.mjs";
8
8
  import { StateServiceClient } from "./proto/sui/rpc/v2/state_service.client.mjs";
9
9
  import { SubscriptionServiceClient } from "./proto/sui/rpc/v2/subscription_service.client.mjs";
10
+ import { GrpcWebFetchTransport } from "./transport.mjs";
10
11
  import { GrpcCoreClient } from "./core.mjs";
11
12
  import { NameServiceClient } from "./proto/sui/rpc/v2/name_service.client.mjs";
12
13
  import { ForkingServiceClient } from "./proto/sui/forking/v1alpha/forking_service.client.mjs";
13
14
  import { fromBase64, toBase64 } from "@mysten/utils";
14
- import { GrpcWebFetchTransport } from "@protobuf-ts/grpcweb-transport";
15
15
 
16
16
  //#region src/grpc/client.ts
17
17
  const SUI_CLIENT_BRAND = Symbol.for("@mysten/SuiGrpcClient");
@@ -27,10 +27,8 @@ var SuiGrpcClient = class extends BaseClient {
27
27
  }
28
28
  constructor(options) {
29
29
  super({ network: options.network });
30
- const transport = options.transport ?? new GrpcWebFetchTransport({
31
- baseUrl: options.baseUrl,
32
- fetchInit: options.fetchInit
33
- });
30
+ const { network: _network, mvr: _mvr, abort: _abort, transport: providedTransport, ...transportOptions } = options;
31
+ const transport = providedTransport ?? new GrpcWebFetchTransport(transportOptions);
34
32
  this.transactionExecutionService = new TransactionExecutionServiceClient(transport);
35
33
  this.ledgerService = new LedgerServiceClient(transport);
36
34
  this.stateService = new StateServiceClient(transport);
@@ -1 +1 @@
1
- {"version":3,"file":"client.mjs","names":[],"sources":["../../src/grpc/client.ts"],"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 { SuiClientTypes } from '../client/index.js';\nimport { BaseClient } from '../client/index.js';\nimport { DynamicField_DynamicFieldKind } from './proto/sui/rpc/v2/state_service.js';\nimport { normalizeStructTag } from '../utils/sui-types.js';\nimport { fromBase64, toBase64 } from '@mysten/utils';\nimport { NameServiceClient } from './proto/sui/rpc/v2/name_service.client.js';\nimport { ForkingServiceClient } from './proto/sui/forking/v1alpha/forking_service.client.js';\nimport type { TransactionPlugin } from '../transactions/index.js';\n\ninterface SuiGrpcTransportOptions extends GrpcWebOptions {\n\ttransport?: never;\n}\n\nexport type SuiGrpcClientOptions = {\n\tnetwork: SuiClientTypes.Network;\n\tmvr?: SuiClientTypes.MvrOptions;\n} & (\n\t| {\n\t\t\ttransport: RpcTransport;\n\t }\n\t| SuiGrpcTransportOptions\n);\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiGrpcClient') as never;\n\nexport function isSuiGrpcClient(client: unknown): client is SuiGrpcClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport interface DynamicFieldInclude {\n\tvalue?: boolean;\n}\n\nexport type DynamicFieldEntryWithValue<Include extends DynamicFieldInclude = {}> =\n\tSuiClientTypes.DynamicFieldEntry & {\n\t\tvalue: Include extends { value: true } ? SuiClientTypes.DynamicFieldValue : undefined;\n\t};\n\nexport interface ListDynamicFieldsWithValueResponse<Include extends DynamicFieldInclude = {}> {\n\thasNextPage: boolean;\n\tcursor: string | null;\n\tdynamicFields: DynamicFieldEntryWithValue<Include>[];\n}\n\nexport interface GrpcTransactionInclude extends SuiClientTypes.TransactionInclude {\n\t/** Include the parsed protobuf JSON value for the gRPC transaction response. */\n\tprotoJson?: boolean;\n}\n\nexport interface GrpcSimulateTransactionInclude extends SuiClientTypes.SimulateTransactionInclude {\n\t/** Include the parsed protobuf JSON value for the gRPC simulation response. */\n\tprotoJson?: boolean;\n}\n\nexport type GrpcTransactionProtoJson = ReturnType<\n\ttypeof import('./proto/sui/rpc/v2/executed_transaction.js').ExecutedTransaction.toJson\n>;\n\nexport type GrpcSimulateTransactionProtoJson = ReturnType<\n\ttypeof import('./proto/sui/rpc/v2/transaction_execution_service.js').SimulateTransactionResponse.toJson\n>;\n\ntype ProtoJson<Include extends { protoJson?: boolean }, Json> = Include['protoJson'] extends true\n\t? Json\n\t: undefined;\n\nexport type GrpcTransactionResult<Include extends GrpcTransactionInclude = {}> =\n\tSuiClientTypes.TransactionResult<Include> & {\n\t\tprotoJson: ProtoJson<Include, GrpcTransactionProtoJson>;\n\t};\n\nexport type GrpcSimulateTransactionResult<Include extends GrpcSimulateTransactionInclude = {}> =\n\tSuiClientTypes.SimulateTransactionResult<Include> & {\n\t\tprotoJson: ProtoJson<Include, GrpcSimulateTransactionProtoJson>;\n\t};\n\nexport interface GrpcGetTransactionOptions<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.GetTransactionOptions<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcWaitForTransactionByDigest<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.WaitForTransactionByDigest<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcWaitForTransactionByResult<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.WaitForTransactionByResult<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport type GrpcWaitForTransactionOptions<Include extends GrpcTransactionInclude = {}> =\n\tGrpcWaitForTransactionByDigest<Include> | GrpcWaitForTransactionByResult<Include>;\n\nexport interface GrpcExecuteTransactionOptions<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.ExecuteTransactionOptions<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcSignAndExecuteTransactionOptions<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.SignAndExecuteTransactionOptions<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcSimulateTransactionOptions<\n\tInclude extends GrpcSimulateTransactionInclude = {},\n> extends SuiClientTypes.SimulateTransactionOptions<Include> {\n\tinclude?: Include & GrpcSimulateTransactionInclude;\n\t/**\n\t * Overrides whether the server selects gas payment during simulation.\n\t *\n\t * When not set, gas selection is enabled only when the transaction's gas payment is explicitly\n\t * set to an empty list (`[]`), which indicates gas is paid from the sender's address balance.\n\t * Transactions with gas coins set are simulated as-is, and transactions without a gas payment\n\t * are simulated with a mocked gas coin.\n\t */\n\tdoGasSelection?: boolean;\n}\n\nexport class SuiGrpcClient extends BaseClient implements SuiClientTypes.TransportMethods {\n\tcore: GrpcCoreClient;\n\tget mvr(): SuiClientTypes.MvrMethods {\n\t\treturn this.core.mvr;\n\t}\n\ttransactionExecutionService: TransactionExecutionServiceClient;\n\tledgerService: LedgerServiceClient;\n\tstateService: StateServiceClient;\n\tsubscriptionService: SubscriptionServiceClient;\n\tmovePackageService: MovePackageServiceClient;\n\tsignatureVerificationService: SignatureVerificationServiceClient;\n\tnameService: NameServiceClient;\n\tforkingService: ForkingServiceClient;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\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\t\tthis.forkingService = new ForkingServiceClient(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\tgetObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.GetObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectsResponse<Include>> {\n\t\treturn this.core.getObjects(input);\n\t}\n\n\tgetObject<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.GetObjectOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectResponse<Include>> {\n\t\treturn this.core.getObject(input);\n\t}\n\n\tlistCoins(input: SuiClientTypes.ListCoinsOptions): Promise<SuiClientTypes.ListCoinsResponse> {\n\t\treturn this.core.listCoins(input);\n\t}\n\n\tlistOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.ListOwnedObjectsResponse<Include>> {\n\t\treturn this.core.listOwnedObjects(input);\n\t}\n\n\tgetBalance(input: SuiClientTypes.GetBalanceOptions): Promise<SuiClientTypes.GetBalanceResponse> {\n\t\treturn this.core.getBalance(input);\n\t}\n\n\tlistBalances(\n\t\tinput: SuiClientTypes.ListBalancesOptions,\n\t): Promise<SuiClientTypes.ListBalancesResponse> {\n\t\treturn this.core.listBalances(input);\n\t}\n\n\tgetCoinMetadata(\n\t\tinput: SuiClientTypes.GetCoinMetadataOptions,\n\t): Promise<SuiClientTypes.GetCoinMetadataResponse> {\n\t\treturn this.core.getCoinMetadata(input);\n\t}\n\n\tgetTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcGetTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.getTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\texecuteTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcExecuteTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.executeTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\tsignAndExecuteTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcSignAndExecuteTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.signAndExecuteTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\twaitForTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcWaitForTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.waitForTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\tsimulateTransaction<Include extends GrpcSimulateTransactionInclude = {}>(\n\t\tinput: GrpcSimulateTransactionOptions<Include>,\n\t): Promise<GrpcSimulateTransactionResult<Include>> {\n\t\treturn this.core.simulateTransaction(input) as Promise<GrpcSimulateTransactionResult<Include>>;\n\t}\n\n\tgetReferenceGasPrice(\n\t\tinput?: SuiClientTypes.GetReferenceGasPriceOptions,\n\t): Promise<SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\treturn this.core.getReferenceGasPrice(input);\n\t}\n\n\tgetCurrentSystemState(\n\t\tinput?: SuiClientTypes.GetCurrentSystemStateOptions,\n\t): Promise<SuiClientTypes.GetCurrentSystemStateResponse> {\n\t\treturn this.core.getCurrentSystemState(input);\n\t}\n\n\tgetProtocolConfig(\n\t\tinput?: SuiClientTypes.GetProtocolConfigOptions,\n\t): Promise<SuiClientTypes.GetProtocolConfigResponse> {\n\t\treturn this.core.getProtocolConfig(input);\n\t}\n\n\tgetChainIdentifier(\n\t\tinput?: SuiClientTypes.GetChainIdentifierOptions,\n\t): Promise<SuiClientTypes.GetChainIdentifierResponse> {\n\t\treturn this.core.getChainIdentifier(input);\n\t}\n\n\tasync listDynamicFields<Include extends DynamicFieldInclude = {}>(\n\t\tinput: SuiClientTypes.ListDynamicFieldsOptions & { include?: Include & DynamicFieldInclude },\n\t): Promise<ListDynamicFieldsWithValueResponse<Include>> {\n\t\tconst includeValue = input.include?.value ?? false;\n\t\tconst paths = ['field_id', 'name', 'value_type', 'kind', 'child_id'];\n\t\tif (includeValue) {\n\t\t\tpaths.push('value');\n\t\t}\n\n\t\tconst response = await this.stateService.listDynamicFields(\n\t\t\t{\n\t\t\t\tparent: input.parentId,\n\t\t\t\tpageToken: input.cursor ? fromBase64(input.cursor) : undefined,\n\t\t\t\tpageSize: input.limit,\n\t\t\t\treadMask: {\n\t\t\t\t\tpaths,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ abort: input.signal },\n\t\t);\n\n\t\treturn {\n\t\t\tdynamicFields: response.response.dynamicFields.map(\n\t\t\t\t(field): DynamicFieldEntryWithValue<Include> => {\n\t\t\t\t\tconst isDynamicObject = field.kind === DynamicField_DynamicFieldKind.OBJECT;\n\t\t\t\t\tconst fieldType = isDynamicObject\n\t\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\t: `0x2::dynamic_field::Field<${field.name?.name!},${field.valueType!}>`;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\t\t\tfieldId: field.fieldId!,\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: field.name?.name!,\n\t\t\t\t\t\t\tbcs: field.name?.value!,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalueType: field.valueType!,\n\t\t\t\t\t\ttype: normalizeStructTag(fieldType),\n\t\t\t\t\t\tchildId: field.childId,\n\t\t\t\t\t\tvalue: (includeValue\n\t\t\t\t\t\t\t? { type: field.valueType!, bcs: field.value?.value ?? new Uint8Array() }\n\t\t\t\t\t\t\t: undefined) as DynamicFieldEntryWithValue<Include>['value'],\n\t\t\t\t\t} as DynamicFieldEntryWithValue<Include>;\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\tgetDynamicField(\n\t\tinput: SuiClientTypes.GetDynamicFieldOptions,\n\t): Promise<SuiClientTypes.GetDynamicFieldResponse> {\n\t\treturn this.core.getDynamicField(input);\n\t}\n\n\tgetDynamicObjectField<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.GetDynamicObjectFieldOptions<Include>,\n\t): Promise<SuiClientTypes.GetDynamicObjectFieldResponse<Include>> {\n\t\treturn this.core.getDynamicObjectField(input);\n\t}\n\n\tlistTransactions<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\tinput: SuiClientTypes.ListTransactionsOptions<Include>,\n\t): Promise<SuiClientTypes.ListTransactionsResponse<Include>> {\n\t\treturn this.core.listTransactions(input);\n\t}\n\n\tlistEvents(input: SuiClientTypes.ListEventsOptions): Promise<SuiClientTypes.ListEventsResponse> {\n\t\treturn this.core.listEvents(input);\n\t}\n\n\tgetMoveFunction(\n\t\tinput: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse> {\n\t\treturn this.core.getMoveFunction(input);\n\t}\n\n\tresolveTransactionPlugin(): TransactionPlugin {\n\t\treturn this.core.resolveTransactionPlugin();\n\t}\n\n\tverifyZkLoginSignature(\n\t\tinput: SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<SuiClientTypes.ZkLoginVerifyResponse> {\n\t\treturn this.core.verifyZkLoginSignature(input);\n\t}\n\n\tdefaultNameServiceName(\n\t\tinput: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\treturn this.core.defaultNameServiceName(input);\n\t}\n\n\tresolveNameServiceAddress(\n\t\tinput: SuiClientTypes.ResolveNameServiceAddressOptions,\n\t): Promise<SuiClientTypes.ResolveNameServiceAddressResponse> {\n\t\treturn this.core.resolveNameServiceAddress(input);\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"client.mjs","names":[],"sources":["../../src/grpc/client.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport type { GrpcWebOptions } 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 { SuiClientTypes } from '../client/index.js';\nimport { BaseClient } from '../client/index.js';\nimport { DynamicField_DynamicFieldKind } from './proto/sui/rpc/v2/state_service.js';\nimport { normalizeStructTag } from '../utils/sui-types.js';\nimport { fromBase64, toBase64 } from '@mysten/utils';\nimport { NameServiceClient } from './proto/sui/rpc/v2/name_service.client.js';\nimport { ForkingServiceClient } from './proto/sui/forking/v1alpha/forking_service.client.js';\nimport type { TransactionPlugin } from '../transactions/index.js';\nimport { GrpcWebFetchTransport } from './transport.js';\n\ninterface SuiGrpcTransportOptions extends GrpcWebOptions {\n\ttransport?: never;\n}\n\nexport type SuiGrpcClientOptions = {\n\tnetwork: SuiClientTypes.Network;\n\tmvr?: SuiClientTypes.MvrOptions;\n} & (\n\t| {\n\t\t\ttransport: RpcTransport;\n\t }\n\t| SuiGrpcTransportOptions\n);\n\nconst SUI_CLIENT_BRAND = Symbol.for('@mysten/SuiGrpcClient') as never;\n\nexport function isSuiGrpcClient(client: unknown): client is SuiGrpcClient {\n\treturn (\n\t\ttypeof client === 'object' && client !== null && (client as any)[SUI_CLIENT_BRAND] === true\n\t);\n}\n\nexport interface DynamicFieldInclude {\n\tvalue?: boolean;\n}\n\nexport type DynamicFieldEntryWithValue<Include extends DynamicFieldInclude = {}> =\n\tSuiClientTypes.DynamicFieldEntry & {\n\t\tvalue: Include extends { value: true } ? SuiClientTypes.DynamicFieldValue : undefined;\n\t};\n\nexport interface ListDynamicFieldsWithValueResponse<Include extends DynamicFieldInclude = {}> {\n\thasNextPage: boolean;\n\tcursor: string | null;\n\tdynamicFields: DynamicFieldEntryWithValue<Include>[];\n}\n\nexport interface GrpcTransactionInclude extends SuiClientTypes.TransactionInclude {\n\t/** Include the parsed protobuf JSON value for the gRPC transaction response. */\n\tprotoJson?: boolean;\n}\n\nexport interface GrpcSimulateTransactionInclude extends SuiClientTypes.SimulateTransactionInclude {\n\t/** Include the parsed protobuf JSON value for the gRPC simulation response. */\n\tprotoJson?: boolean;\n}\n\nexport type GrpcTransactionProtoJson = ReturnType<\n\ttypeof import('./proto/sui/rpc/v2/executed_transaction.js').ExecutedTransaction.toJson\n>;\n\nexport type GrpcSimulateTransactionProtoJson = ReturnType<\n\ttypeof import('./proto/sui/rpc/v2/transaction_execution_service.js').SimulateTransactionResponse.toJson\n>;\n\ntype ProtoJson<Include extends { protoJson?: boolean }, Json> = Include['protoJson'] extends true\n\t? Json\n\t: undefined;\n\nexport type GrpcTransactionResult<Include extends GrpcTransactionInclude = {}> =\n\tSuiClientTypes.TransactionResult<Include> & {\n\t\tprotoJson: ProtoJson<Include, GrpcTransactionProtoJson>;\n\t};\n\nexport type GrpcSimulateTransactionResult<Include extends GrpcSimulateTransactionInclude = {}> =\n\tSuiClientTypes.SimulateTransactionResult<Include> & {\n\t\tprotoJson: ProtoJson<Include, GrpcSimulateTransactionProtoJson>;\n\t};\n\nexport interface GrpcGetTransactionOptions<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.GetTransactionOptions<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcWaitForTransactionByDigest<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.WaitForTransactionByDigest<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcWaitForTransactionByResult<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.WaitForTransactionByResult<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport type GrpcWaitForTransactionOptions<Include extends GrpcTransactionInclude = {}> =\n\tGrpcWaitForTransactionByDigest<Include> | GrpcWaitForTransactionByResult<Include>;\n\nexport interface GrpcExecuteTransactionOptions<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.ExecuteTransactionOptions<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcSignAndExecuteTransactionOptions<\n\tInclude extends GrpcTransactionInclude = {},\n> extends SuiClientTypes.SignAndExecuteTransactionOptions<Include> {\n\tinclude?: Include & GrpcTransactionInclude;\n}\n\nexport interface GrpcSimulateTransactionOptions<\n\tInclude extends GrpcSimulateTransactionInclude = {},\n> extends SuiClientTypes.SimulateTransactionOptions<Include> {\n\tinclude?: Include & GrpcSimulateTransactionInclude;\n\t/**\n\t * Overrides whether the server selects gas payment during simulation.\n\t *\n\t * When not set, gas selection is enabled only when the transaction's gas payment is explicitly\n\t * set to an empty list (`[]`), which indicates gas is paid from the sender's address balance.\n\t * Transactions with gas coins set are simulated as-is, and transactions without a gas payment\n\t * are simulated with a mocked gas coin.\n\t */\n\tdoGasSelection?: boolean;\n}\n\nexport class SuiGrpcClient extends BaseClient implements SuiClientTypes.TransportMethods {\n\tcore: GrpcCoreClient;\n\tget mvr(): SuiClientTypes.MvrMethods {\n\t\treturn this.core.mvr;\n\t}\n\ttransactionExecutionService: TransactionExecutionServiceClient;\n\tledgerService: LedgerServiceClient;\n\tstateService: StateServiceClient;\n\tsubscriptionService: SubscriptionServiceClient;\n\tmovePackageService: MovePackageServiceClient;\n\tsignatureVerificationService: SignatureVerificationServiceClient;\n\tnameService: NameServiceClient;\n\tforkingService: ForkingServiceClient;\n\n\tget [SUI_CLIENT_BRAND]() {\n\t\treturn true;\n\t}\n\n\tconstructor(options: SuiGrpcClientOptions) {\n\t\tsuper({ network: options.network });\n\t\tconst {\n\t\t\tnetwork: _network,\n\t\t\tmvr: _mvr,\n\t\t\t// Not forwarded: every Core API call passes its own `signal`, which would overwrite it.\n\t\t\tabort: _abort,\n\t\t\ttransport: providedTransport,\n\t\t\t...transportOptions\n\t\t} = options as SuiGrpcClientOptions & SuiGrpcTransportOptions & { transport?: RpcTransport };\n\n\t\t// A caller-supplied transport is used as given. See ./transport.ts for the default.\n\t\tconst transport = providedTransport ?? new GrpcWebFetchTransport(transportOptions);\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\t\tthis.forkingService = new ForkingServiceClient(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\tgetObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.GetObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectsResponse<Include>> {\n\t\treturn this.core.getObjects(input);\n\t}\n\n\tgetObject<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.GetObjectOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectResponse<Include>> {\n\t\treturn this.core.getObject(input);\n\t}\n\n\tlistCoins(input: SuiClientTypes.ListCoinsOptions): Promise<SuiClientTypes.ListCoinsResponse> {\n\t\treturn this.core.listCoins(input);\n\t}\n\n\tlistOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.ListOwnedObjectsResponse<Include>> {\n\t\treturn this.core.listOwnedObjects(input);\n\t}\n\n\tgetBalance(input: SuiClientTypes.GetBalanceOptions): Promise<SuiClientTypes.GetBalanceResponse> {\n\t\treturn this.core.getBalance(input);\n\t}\n\n\tlistBalances(\n\t\tinput: SuiClientTypes.ListBalancesOptions,\n\t): Promise<SuiClientTypes.ListBalancesResponse> {\n\t\treturn this.core.listBalances(input);\n\t}\n\n\tgetCoinMetadata(\n\t\tinput: SuiClientTypes.GetCoinMetadataOptions,\n\t): Promise<SuiClientTypes.GetCoinMetadataResponse> {\n\t\treturn this.core.getCoinMetadata(input);\n\t}\n\n\tgetTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcGetTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.getTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\texecuteTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcExecuteTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.executeTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\tsignAndExecuteTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcSignAndExecuteTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.signAndExecuteTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\twaitForTransaction<Include extends GrpcTransactionInclude = {}>(\n\t\tinput: GrpcWaitForTransactionOptions<Include>,\n\t): Promise<GrpcTransactionResult<Include>> {\n\t\treturn this.core.waitForTransaction(input) as Promise<GrpcTransactionResult<Include>>;\n\t}\n\n\tsimulateTransaction<Include extends GrpcSimulateTransactionInclude = {}>(\n\t\tinput: GrpcSimulateTransactionOptions<Include>,\n\t): Promise<GrpcSimulateTransactionResult<Include>> {\n\t\treturn this.core.simulateTransaction(input) as Promise<GrpcSimulateTransactionResult<Include>>;\n\t}\n\n\tgetReferenceGasPrice(\n\t\tinput?: SuiClientTypes.GetReferenceGasPriceOptions,\n\t): Promise<SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\treturn this.core.getReferenceGasPrice(input);\n\t}\n\n\tgetCurrentSystemState(\n\t\tinput?: SuiClientTypes.GetCurrentSystemStateOptions,\n\t): Promise<SuiClientTypes.GetCurrentSystemStateResponse> {\n\t\treturn this.core.getCurrentSystemState(input);\n\t}\n\n\tgetProtocolConfig(\n\t\tinput?: SuiClientTypes.GetProtocolConfigOptions,\n\t): Promise<SuiClientTypes.GetProtocolConfigResponse> {\n\t\treturn this.core.getProtocolConfig(input);\n\t}\n\n\tgetChainIdentifier(\n\t\tinput?: SuiClientTypes.GetChainIdentifierOptions,\n\t): Promise<SuiClientTypes.GetChainIdentifierResponse> {\n\t\treturn this.core.getChainIdentifier(input);\n\t}\n\n\tasync listDynamicFields<Include extends DynamicFieldInclude = {}>(\n\t\tinput: SuiClientTypes.ListDynamicFieldsOptions & { include?: Include & DynamicFieldInclude },\n\t): Promise<ListDynamicFieldsWithValueResponse<Include>> {\n\t\tconst includeValue = input.include?.value ?? false;\n\t\tconst paths = ['field_id', 'name', 'value_type', 'kind', 'child_id'];\n\t\tif (includeValue) {\n\t\t\tpaths.push('value');\n\t\t}\n\n\t\tconst response = await this.stateService.listDynamicFields(\n\t\t\t{\n\t\t\t\tparent: input.parentId,\n\t\t\t\tpageToken: input.cursor ? fromBase64(input.cursor) : undefined,\n\t\t\t\tpageSize: input.limit,\n\t\t\t\treadMask: {\n\t\t\t\t\tpaths,\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ abort: input.signal },\n\t\t);\n\n\t\treturn {\n\t\t\tdynamicFields: response.response.dynamicFields.map(\n\t\t\t\t(field): DynamicFieldEntryWithValue<Include> => {\n\t\t\t\t\tconst isDynamicObject = field.kind === DynamicField_DynamicFieldKind.OBJECT;\n\t\t\t\t\tconst fieldType = isDynamicObject\n\t\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\t: `0x2::dynamic_field::Field<${field.name?.name!},${field.valueType!}>`;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\t\t\tfieldId: field.fieldId!,\n\t\t\t\t\t\tname: {\n\t\t\t\t\t\t\ttype: field.name?.name!,\n\t\t\t\t\t\t\tbcs: field.name?.value!,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tvalueType: field.valueType!,\n\t\t\t\t\t\ttype: normalizeStructTag(fieldType),\n\t\t\t\t\t\tchildId: field.childId,\n\t\t\t\t\t\tvalue: (includeValue\n\t\t\t\t\t\t\t? { type: field.valueType!, bcs: field.value?.value ?? new Uint8Array() }\n\t\t\t\t\t\t\t: undefined) as DynamicFieldEntryWithValue<Include>['value'],\n\t\t\t\t\t} as DynamicFieldEntryWithValue<Include>;\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\tgetDynamicField(\n\t\tinput: SuiClientTypes.GetDynamicFieldOptions,\n\t): Promise<SuiClientTypes.GetDynamicFieldResponse> {\n\t\treturn this.core.getDynamicField(input);\n\t}\n\n\tgetDynamicObjectField<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\tinput: SuiClientTypes.GetDynamicObjectFieldOptions<Include>,\n\t): Promise<SuiClientTypes.GetDynamicObjectFieldResponse<Include>> {\n\t\treturn this.core.getDynamicObjectField(input);\n\t}\n\n\tlistTransactions<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\tinput: SuiClientTypes.ListTransactionsOptions<Include>,\n\t): Promise<SuiClientTypes.ListTransactionsResponse<Include>> {\n\t\treturn this.core.listTransactions(input);\n\t}\n\n\tlistEvents(input: SuiClientTypes.ListEventsOptions): Promise<SuiClientTypes.ListEventsResponse> {\n\t\treturn this.core.listEvents(input);\n\t}\n\n\tgetMoveFunction(\n\t\tinput: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse> {\n\t\treturn this.core.getMoveFunction(input);\n\t}\n\n\tresolveTransactionPlugin(): TransactionPlugin {\n\t\treturn this.core.resolveTransactionPlugin();\n\t}\n\n\tverifyZkLoginSignature(\n\t\tinput: SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<SuiClientTypes.ZkLoginVerifyResponse> {\n\t\treturn this.core.verifyZkLoginSignature(input);\n\t}\n\n\tdefaultNameServiceName(\n\t\tinput: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\treturn this.core.defaultNameServiceName(input);\n\t}\n\n\tresolveNameServiceAddress(\n\t\tinput: SuiClientTypes.ResolveNameServiceAddressOptions,\n\t): Promise<SuiClientTypes.ResolveNameServiceAddressResponse> {\n\t\treturn this.core.resolveNameServiceAddress(input);\n\t}\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.mts","names":[],"sources":["../../src/grpc/core.ts"],"mappings":"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"}
1
+ {"version":3,"file":"core.d.mts","names":[],"sources":["../../src/grpc/core.ts"],"mappings":"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"}
@@ -17,20 +17,20 @@ import { ExecutedTransaction } from "./proto/sui/rpc/v2/executed_transaction.mjs
17
17
  import { SimulateTransactionRequest_TransactionChecks, SimulateTransactionResponse } from "./proto/sui/rpc/v2/transaction_execution_service.mjs";
18
18
  import { Ordering, QueryEndReason } from "./proto/sui/rpc/v2/query_options.mjs";
19
19
  import { toGrpcEventFilter, toGrpcTransactionFilter } from "./filters.mjs";
20
+ import { hasDecodedStatusMessage } from "./transport.mjs";
20
21
  import { chunk, fromBase64, toBase64 } from "@mysten/utils";
21
- import { GrpcStatusCode } from "@protobuf-ts/grpcweb-transport";
22
22
  import { RpcError } from "@protobuf-ts/runtime-rpc";
23
+ import { GrpcStatusCode } from "@protobuf-ts/grpcweb-transport";
23
24
 
24
25
  //#region src/grpc/core.ts
25
26
  function isNameServiceResolutionMiss(error) {
26
- if (!(error instanceof RpcError)) return false;
27
- if (error.code === GrpcStatusCode[GrpcStatusCode.NOT_FOUND]) return true;
28
- if (error.code !== GrpcStatusCode[GrpcStatusCode.RESOURCE_EXHAUSTED]) return false;
29
- try {
30
- return decodeURIComponent(error.message) === "name has expired";
31
- } catch {
32
- return false;
33
- }
27
+ if (typeof error !== "object" || error === null) return false;
28
+ const { code, message } = error;
29
+ if (typeof code !== "string" || typeof message !== "string") return false;
30
+ if (code === GrpcStatusCode[GrpcStatusCode.NOT_FOUND]) return true;
31
+ if (code !== GrpcStatusCode[GrpcStatusCode.RESOURCE_EXHAUSTED]) return false;
32
+ if (message === "name has expired") return true;
33
+ return !hasDecodedStatusMessage(error) && message === "name%20has%20expired";
34
34
  }
35
35
  var GrpcCoreClient = class extends CoreClient {
36
36
  #client;
@@ -524,7 +524,7 @@ var GrpcCoreClient = class extends CoreClient {
524
524
  ] }
525
525
  })).response;
526
526
  } catch (error) {
527
- if (error instanceof Error && error.message) throw new SimulationError(decodeURIComponent(error.message), { cause: error });
527
+ if (error instanceof Error && error.message) throw new SimulationError(error.message, { cause: error });
528
528
  throw error;
529
529
  }
530
530
  if (!options.onlyTransactionKind && response.transaction?.effects?.status && !response.transaction.effects.status.success) {