@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.
- package/CHANGELOG.md +32 -0
- package/dist/bcs/bcs.d.mts +6 -6
- package/dist/bcs/bcs.d.mts.map +1 -1
- package/dist/bcs/bcs.mjs +29 -2
- package/dist/bcs/bcs.mjs.map +1 -1
- package/dist/bcs/effects.mjs +2 -1
- package/dist/bcs/effects.mjs.map +1 -1
- package/dist/bcs/index.d.mts +102 -6
- package/dist/bcs/index.d.mts.map +1 -1
- package/dist/bcs/transactions.mjs +2 -1
- package/dist/bcs/transactions.mjs.map +1 -1
- package/dist/client/transaction-resolver.mjs +45 -9
- package/dist/client/transaction-resolver.mjs.map +1 -1
- package/dist/cryptography/signature.d.mts +14 -14
- package/dist/grpc/client.d.mts +1 -1
- package/dist/grpc/client.d.mts.map +1 -1
- package/dist/grpc/client.mjs +3 -5
- package/dist/grpc/client.mjs.map +1 -1
- package/dist/grpc/core.d.mts.map +1 -1
- package/dist/grpc/core.mjs +10 -10
- package/dist/grpc/core.mjs.map +1 -1
- package/dist/grpc/index.d.mts +4 -3
- package/dist/grpc/index.mjs +4 -2
- package/dist/grpc/proto/sui/forking/v1alpha/forking_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/execution_status.d.mts +9 -1
- package/dist/grpc/proto/sui/rpc/v2/execution_status.d.mts.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/execution_status.mjs +8 -0
- package/dist/grpc/proto/sui/rpc/v2/execution_status.mjs.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/ledger_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/move_package_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/name_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/state_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/subscription_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts +50 -2
- package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction.mjs +36 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction.mjs.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.mts +4 -4
- package/dist/grpc/proto/types.d.mts +2 -2
- package/dist/grpc/proto/types.mjs +2 -1
- package/dist/grpc/transport.d.mts +18 -0
- package/dist/grpc/transport.d.mts.map +1 -0
- package/dist/grpc/transport.mjs +97 -0
- package/dist/grpc/transport.mjs.map +1 -0
- package/dist/transactions/Transaction.d.mts +19 -7
- package/dist/transactions/Transaction.d.mts.map +1 -1
- package/dist/transactions/data/internal.d.mts +133 -109
- package/dist/transactions/data/internal.d.mts.map +1 -1
- package/dist/transactions/data/internal.mjs +11 -2
- package/dist/transactions/data/internal.mjs.map +1 -1
- package/dist/transactions/data/v1.d.mts +22 -0
- package/dist/transactions/data/v1.d.mts.map +1 -1
- package/dist/transactions/data/v1.mjs +27 -4
- package/dist/transactions/data/v1.mjs.map +1 -1
- package/dist/transactions/data/v2.d.mts +12 -0
- package/dist/transactions/data/v2.d.mts.map +1 -1
- package/dist/transactions/data/v2.mjs +3 -2
- package/dist/transactions/data/v2.mjs.map +1 -1
- package/dist/version.mjs +1 -1
- package/dist/version.mjs.map +1 -1
- package/dist/zklogin/bcs.d.mts +14 -14
- package/docs/clients/grpc.md +31 -7
- package/package.json +1 -1
- package/src/bcs/bcs.ts +45 -0
- package/src/bcs/effects.ts +3 -0
- package/src/bcs/transactions.ts +1 -0
- package/src/bcs/types.ts +10 -1
- package/src/client/transaction-resolver.ts +79 -9
- package/src/grpc/client.ts +12 -4
- package/src/grpc/core.ts +18 -14
- package/src/grpc/index.ts +7 -3
- package/src/grpc/proto/sui/rpc/v2/execution_status.ts +8 -0
- package/src/grpc/proto/sui/rpc/v2/transaction.ts +68 -0
- package/src/grpc/transport.ts +160 -0
- package/src/transactions/data/internal.ts +19 -0
- package/src/transactions/data/v1.ts +51 -12
- package/src/transactions/data/v2.ts +2 -0
- 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
|
|
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:
|
|
175
|
-
epoch:
|
|
176
|
-
|
|
177
|
-
|
|
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";
|
package/dist/grpc/client.d.mts
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;;;;;UAsBU,uBAAA,SAAgC,cAAA;EACzC,SAAA;AAAA;AAAA,KAGW,oBAAA;EACX,OAAA,EAAS,cAAA,CAAe,OAAA;EACxB,GAAA,GAAM,cAAA,CAAe,UAAA;AAAA;EAGnB,SAAA,EAAW,YAAA;AAAA,IAEX,uBAAA;AAAA,cAGG,gBAAA;AAAA,iBAEU,eAAA,CAAgB,MAAA,YAAkB,MAAA,IAAU,aAAA;AAAA,UAM3C,mBAAA;EAChB,KAAA;AAAA;AAAA,KAGW,0BAAA,iBAA2C,mBAAA,SACtD,cAAA,CAAe,iBAAA;EACd,KAAA,EAAO,OAAA;IAAkB,KAAA;EAAA,IAAgB,cAAA,CAAe,iBAAA;AAAA;AAAA,UAGzC,kCAAA,iBAAmD,mBAAA;EACnE,WAAA;EACA,MAAA;EACA,aAAA,EAAe,0BAAA,CAA2B,OAAA;AAAA;AAAA,UAG1B,sBAAA,SAA+B,cAAA,CAAe,kBAAA;EA/BzC;EAiCrB,SAAA;AAAA;AAAA,UAGgB,8BAAA,SAAuC,cAAA,CAAe,0BAAA;EA/B7C;EAiCzB,SAAA;AAAA;AAAA,KAGW,wBAAA,GAA2B,UAAA,QAAH,mBAAA,CAC6C,MAAA;AAAA,KAGrE,gCAAA,GAAmC,UAAA,QAAH,2BAAA,CACsD,MAAA;AAAA,KAG7F,SAAA;EAA4B,SAAA;AAAA,WAA+B,OAAA,6BAC7D,IAAA;AAAA,KAGS,qBAAA,iBAAsC,sBAAA,SACjD,cAAA,CAAe,iBAAA,CAAkB,OAAA;EAChC,SAAA,EAAW,SAAA,CAAU,OAAA,EAAS,wBAAA;AAAA;AAAA,KAGpB,6BAAA,iBAA8C,8BAAA,SACzD,cAAA,CAAe,yBAAA,CAA0B,OAAA;EACxC,SAAA,EAAW,SAAA,CAAU,OAAA,EAAS,gCAAA;AAAA;AAAA,UAGf,yBAAA,iBACA,sBAAA,eACP,cAAA,CAAe,qBAAA,CAAsB,OAAA;EAC9C,OAAA,GAAU,OAAA,GAAU,sBAAA;AAAA;AAAA,UAGJ,8BAAA,iBACA,sBAAA,eACP,cAAA,CAAe,0BAAA,CAA2B,OAAA;EACnD,OAAA,GAAU,OAAA,GAAU,sBAAA;AAAA;AAAA,UAGJ,8BAAA,iBACA,sBAAA,eACP,cAAA,CAAe,0BAAA,CAA2B,OAAA;EACnD,OAAA,GAAU,OAAA,GAAU,sBAAA;AAAA;AAAA,KAGT,6BAAA,iBAA8C,sBAAA,SACzD,8BAAA,CAA+B,OAAA,IAAW,8BAAA,CAA+B,OAAA;AAAA,UAEzD,6BAAA,iBACA,sBAAA,eACP,cAAA,CAAe,yBAAA,CAA0B,OAAA;EAClD,OAAA,GAAU,OAAA,GAAU,sBAAA;AAAA;AAAA,UAGJ,oCAAA,iBACA,sBAAA,eACP,cAAA,CAAe,gCAAA,CAAiC,OAAA;EACzD,OAAA,GAAU,OAAA,GAAU,sBAAA;AAAA;AAAA,UAGJ,8BAAA,iBACA,8BAAA,eACP,cAAA,CAAe,0BAAA,CAA2B,OAAA;EACnD,OAAA,GAAU,OAAA,GAAU,8BAAA;EA9EpB;;;;;;;;EAuFA,cAAA;AAAA;AAAA,cAGY,aAAA,SAAsB,UAAA,YAAsB,cAAA,CAAe,gBAAA;EAAA,CAclE,gBAAA;EAbL,IAAA,EAAM,cAAA;EAAA,IACF,GAAA,CAAA,GAAO,cAAA,CAAe,UAAA;EAG1B,2BAAA,EAA6B,iCAAA;EAC7B,aAAA,EAAe,mBAAA;EACf,YAAA,EAAc,kBAAA;EACd,mBAAA,EAAqB,yBAAA;EACrB,kBAAA,EAAoB,wBAAA;EACpB,4BAAA,EAA8B,kCAAA;EAC9B,WAAA,EAAa,iBAAA;EACb,cAAA,EAAgB,oBAAA;cAMJ,OAAA,EAAS,oBAAA;
|
|
1
|
+
{"version":3,"file":"client.d.mts","names":[],"sources":["../../src/grpc/client.ts"],"mappings":"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"}
|
package/dist/grpc/client.mjs
CHANGED
|
@@ -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
|
|
31
|
-
|
|
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);
|
package/dist/grpc/client.mjs.map
CHANGED
|
@@ -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":";;;;;;;;;;;;;;;;AAoCA,MAAM,mBAAmB,OAAO,IAAI,wBAAwB;AAE5D,SAAgB,gBAAgB,QAA0C;AACzE,QACC,OAAO,WAAW,YAAY,WAAW,QAAS,OAAe,sBAAsB;;AAmGzF,IAAa,gBAAb,cAAmC,WAAsD;CAExF,IAAI,MAAiC;AACpC,SAAO,KAAK,KAAK;;CAWlB,KAAK,oBAAoB;AACxB,SAAO;;CAGR,YAAY,SAA+B;AAC1C,QAAM,EAAE,SAAS,QAAQ,SAAS,CAAC;EACnC,MAAM,YACL,QAAQ,aACR,IAAI,sBAAsB;GAAE,SAAS,QAAQ;GAAS,WAAW,QAAQ;GAAW,CAAC;AACtF,OAAK,8BAA8B,IAAI,kCAAkC,UAAU;AACnF,OAAK,gBAAgB,IAAI,oBAAoB,UAAU;AACvD,OAAK,eAAe,IAAI,mBAAmB,UAAU;AACrD,OAAK,sBAAsB,IAAI,0BAA0B,UAAU;AACnE,OAAK,qBAAqB,IAAI,yBAAyB,UAAU;AACjE,OAAK,+BAA+B,IAAI,mCAAmC,UAAU;AACrF,OAAK,cAAc,IAAI,kBAAkB,UAAU;AACnD,OAAK,iBAAiB,IAAI,qBAAqB,UAAU;AAEzD,OAAK,OAAO,IAAI,eAAe;GAC9B,QAAQ;GACR,MAAM;GACN,SAAS,QAAQ;GACjB,KAAK,QAAQ;GACb,CAAC;;CAGH,WACC,OACsD;AACtD,SAAO,KAAK,KAAK,WAAW,MAAM;;CAGnC,UACC,OACqD;AACrD,SAAO,KAAK,KAAK,UAAU,MAAM;;CAGlC,UAAU,OAAmF;AAC5F,SAAO,KAAK,KAAK,UAAU,MAAM;;CAGlC,iBACC,OAC4D;AAC5D,SAAO,KAAK,KAAK,iBAAiB,MAAM;;CAGzC,WAAW,OAAqF;AAC/F,SAAO,KAAK,KAAK,WAAW,MAAM;;CAGnC,aACC,OAC+C;AAC/C,SAAO,KAAK,KAAK,aAAa,MAAM;;CAGrC,gBACC,OACkD;AAClD,SAAO,KAAK,KAAK,gBAAgB,MAAM;;CAGxC,eACC,OAC0C;AAC1C,SAAO,KAAK,KAAK,eAAe,MAAM;;CAGvC,mBACC,OAC0C;AAC1C,SAAO,KAAK,KAAK,mBAAmB,MAAM;;CAG3C,0BACC,OAC0C;AAC1C,SAAO,KAAK,KAAK,0BAA0B,MAAM;;CAGlD,mBACC,OAC0C;AAC1C,SAAO,KAAK,KAAK,mBAAmB,MAAM;;CAG3C,oBACC,OACkD;AAClD,SAAO,KAAK,KAAK,oBAAoB,MAAM;;CAG5C,qBACC,OACuD;AACvD,SAAO,KAAK,KAAK,qBAAqB,MAAM;;CAG7C,sBACC,OACwD;AACxD,SAAO,KAAK,KAAK,sBAAsB,MAAM;;CAG9C,kBACC,OACoD;AACpD,SAAO,KAAK,KAAK,kBAAkB,MAAM;;CAG1C,mBACC,OACqD;AACrD,SAAO,KAAK,KAAK,mBAAmB,MAAM;;CAG3C,MAAM,kBACL,OACuD;EACvD,MAAM,eAAe,MAAM,SAAS,SAAS;EAC7C,MAAM,QAAQ;GAAC;GAAY;GAAQ;GAAc;GAAQ;GAAW;AACpE,MAAI,aACH,OAAM,KAAK,QAAQ;EAGpB,MAAM,WAAW,MAAM,KAAK,aAAa,kBACxC;GACC,QAAQ,MAAM;GACd,WAAW,MAAM,SAAS,WAAW,MAAM,OAAO,GAAG;GACrD,UAAU,MAAM;GAChB,UAAU,EACT,OACA;GACD,EACD,EAAE,OAAO,MAAM,QAAQ,CACvB;AAED,SAAO;GACN,eAAe,SAAS,SAAS,cAAc,KAC7C,UAA+C;IAC/C,MAAM,kBAAkB,MAAM,SAAS,8BAA8B;IACrE,MAAM,YAAY,kBACf,gEAAgE,MAAM,MAAM,KAAM,sBAClF,6BAA6B,MAAM,MAAM,KAAM,GAAG,MAAM,UAAW;AACtE,WAAO;KACN,OAAO,kBAAkB,kBAAkB;KAC3C,SAAS,MAAM;KACf,MAAM;MACL,MAAM,MAAM,MAAM;MAClB,KAAK,MAAM,MAAM;MACjB;KACD,WAAW,MAAM;KACjB,MAAM,mBAAmB,UAAU;KACnC,SAAS,MAAM;KACf,OAAQ,eACL;MAAE,MAAM,MAAM;MAAY,KAAK,MAAM,OAAO,SAAS,IAAI,YAAY;MAAE,GACvE;KACH;KAEF;GACD,QAAQ,SAAS,SAAS,gBAAgB,SAAS,SAAS,SAAS,cAAc,GAAG;GACtF,aAAa,SAAS,SAAS,kBAAkB;GACjD;;CAGF,gBACC,OACkD;AAClD,SAAO,KAAK,KAAK,gBAAgB,MAAM;;CAGxC,sBACC,OACiE;AACjE,SAAO,KAAK,KAAK,sBAAsB,MAAM;;CAG9C,iBACC,OAC4D;AAC5D,SAAO,KAAK,KAAK,iBAAiB,MAAM;;CAGzC,WAAW,OAAqF;AAC/F,SAAO,KAAK,KAAK,WAAW,MAAM;;CAGnC,gBACC,OACkD;AAClD,SAAO,KAAK,KAAK,gBAAgB,MAAM;;CAGxC,2BAA8C;AAC7C,SAAO,KAAK,KAAK,0BAA0B;;CAG5C,uBACC,OACgD;AAChD,SAAO,KAAK,KAAK,uBAAuB,MAAM;;CAG/C,uBACC,OACyD;AACzD,SAAO,KAAK,KAAK,uBAAuB,MAAM;;CAG/C,0BACC,OAC4D;AAC5D,SAAO,KAAK,KAAK,0BAA0B,MAAM"}
|
|
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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"}
|
package/dist/grpc/core.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.mts","names":[],"sources":["../../src/grpc/core.ts"],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"core.d.mts","names":[],"sources":["../../src/grpc/core.ts"],"mappings":"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"}
|
package/dist/grpc/core.mjs
CHANGED
|
@@ -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 (
|
|
27
|
-
|
|
28
|
-
if (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
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(
|
|
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) {
|