@mysten/sui 2.5.1 → 2.7.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 +29 -0
- package/dist/bcs/bcs.d.mts +6 -6
- package/dist/client/core-resolver.mjs +6 -3
- package/dist/client/core-resolver.mjs.map +1 -1
- package/dist/client/core.d.mts +8 -8
- package/dist/client/core.d.mts.map +1 -1
- package/dist/client/core.mjs +11 -5
- package/dist/client/core.mjs.map +1 -1
- package/dist/client/types.d.mts +73 -18
- package/dist/client/types.d.mts.map +1 -1
- package/dist/cryptography/signature.d.mts +6 -6
- package/dist/graphql/client.d.mts +16 -1
- package/dist/graphql/client.d.mts.map +1 -1
- package/dist/graphql/client.mjs +50 -2
- package/dist/graphql/client.mjs.map +1 -1
- package/dist/graphql/core.d.mts +5 -5
- package/dist/graphql/core.d.mts.map +1 -1
- package/dist/graphql/core.mjs +28 -49
- package/dist/graphql/core.mjs.map +1 -1
- package/dist/graphql/generated/queries.d.mts.map +1 -1
- package/dist/graphql/generated/queries.mjs +25 -7
- package/dist/graphql/generated/queries.mjs.map +1 -1
- package/dist/graphql/generated/tada-env.d.mts +706 -98
- package/dist/grpc/client.d.mts +16 -1
- package/dist/grpc/client.d.mts.map +1 -1
- package/dist/grpc/client.mjs +42 -2
- package/dist/grpc/client.mjs.map +1 -1
- package/dist/grpc/core.d.mts +5 -5
- package/dist/grpc/core.d.mts.map +1 -1
- package/dist/grpc/core.mjs +18 -35
- package/dist/grpc/core.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/object.d.mts +38 -1
- package/dist/grpc/proto/sui/rpc/v2/object.d.mts.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/object.mjs +26 -1
- package/dist/grpc/proto/sui/rpc/v2/object.mjs.map +1 -1
- 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.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.d.mts +8 -0
- package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.d.mts.map +1 -1
- package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.mjs +23 -12
- package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.mjs.map +1 -1
- package/dist/grpc/proto/types.d.mts +2 -2
- package/dist/grpc/proto/types.mjs +2 -1
- package/dist/jsonRpc/core.d.mts +6 -6
- package/dist/jsonRpc/core.d.mts.map +1 -1
- package/dist/jsonRpc/core.mjs +14 -5
- package/dist/jsonRpc/core.mjs.map +1 -1
- package/dist/transactions/Transaction.d.mts +6 -6
- package/dist/transactions/Transaction.d.mts.map +1 -1
- package/dist/transactions/executor/caching.mjs.map +1 -1
- package/dist/transactions/executor/parallel.d.mts +1 -1
- package/dist/transactions/executor/parallel.d.mts.map +1 -1
- package/dist/transactions/executor/parallel.mjs.map +1 -1
- package/dist/transactions/executor/serial.d.mts +1 -1
- package/dist/transactions/executor/serial.d.mts.map +1 -1
- package/dist/transactions/executor/serial.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/package.json +1 -1
- package/src/client/core-resolver.ts +9 -8
- package/src/client/core.ts +28 -18
- package/src/client/types.ts +73 -18
- package/src/graphql/client.ts +96 -4
- package/src/graphql/core.ts +43 -88
- package/src/graphql/generated/queries.ts +271 -44
- package/src/graphql/generated/schema.graphql +328 -25
- package/src/graphql/generated/tada-env.ts +779 -58
- package/src/graphql/queries/getDynamicFields.graphql +8 -1
- package/src/graphql/queries/objects.graphql +10 -0
- package/src/graphql/queries/transactions.graphql +1 -3
- package/src/graphql/queries/verifyZkLoginSignature.graphql +0 -1
- package/src/grpc/client.ts +62 -4
- package/src/grpc/core.ts +42 -39
- package/src/grpc/proto/sui/rpc/v2/object.ts +44 -0
- package/src/grpc/proto/sui/rpc/v2/transaction_execution_service.ts +16 -0
- package/src/jsonRpc/core.ts +18 -7
- package/src/transactions/executor/caching.ts +2 -2
- package/src/transactions/executor/parallel.ts +1 -1
- package/src/transactions/executor/serial.ts +1 -1
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.mjs","names":["#graphqlClient","#graphqlQuery","result","GrpcTransactionType","TransactionEffectsType","BalanceChangeType"],"sources":["../../src/graphql/core.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { CoreClient } from '../client/core.js';\nimport type { SuiClientTypes } from '../client/types.js';\nimport { SUI_TYPE_ARG } from '../utils/constants.js';\nimport type { GraphQLQueryOptions, SuiGraphQLClient } from './client.js';\nimport type {\n\tObject_Owner_FieldsFragment,\n\tTransaction_FieldsFragment,\n} from './generated/queries.js';\n\ntype GraphQLExecutionError = NonNullable<\n\tNonNullable<Transaction_FieldsFragment['effects']>['executionError']\n>;\nimport {\n\tDefaultSuinsNameDocument,\n\tExecuteTransactionDocument,\n\tExecutionStatus,\n\tGetAllBalancesDocument,\n\tGetBalanceDocument,\n\tGetChainIdentifierDocument,\n\tGetCoinMetadataDocument,\n\tGetCoinsDocument,\n\tGetCurrentSystemStateDocument,\n\tGetDynamicFieldsDocument,\n\tGetMoveFunctionDocument,\n\tGetOwnedObjectsDocument,\n\tGetReferenceGasPriceDocument,\n\tGetTransactionBlockDocument,\n\tMultiGetObjectsDocument,\n\tResolveTransactionDocument,\n\tSimulateTransactionDocument,\n\tVerifyZkLoginSignatureDocument,\n\tZkLoginIntentScope,\n} from './generated/queries.js';\nimport { ObjectError, SimulationError } from '../client/errors.js';\nimport { chunk, fromBase64, toBase64 } from '@mysten/utils';\nimport { normalizeStructTag, normalizeSuiAddress } from '../utils/sui-types.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { formatMoveAbortMessage, parseTransactionEffectsBcs } from '../client/utils.js';\nimport type { OpenMoveTypeSignatureBody, OpenMoveTypeSignature } from './types.js';\nimport {\n\ttransactionDataToGrpcTransaction,\n\ttransactionToGrpcJson,\n\tgrpcTransactionToTransactionData,\n} from '../client/transaction-resolver.js';\nimport { BalanceChange as BalanceChangeType } from '../grpc/proto/sui/rpc/v2/balance_change.js';\nimport { TransactionEffects as TransactionEffectsType } from '../grpc/proto/sui/rpc/v2/effects.js';\nimport { Transaction as GrpcTransactionType } from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\n\nexport class GraphQLCoreClient extends CoreClient {\n\t#graphqlClient: SuiGraphQLClient;\n\n\tconstructor({\n\t\tgraphqlClient,\n\t\tmvr,\n\t}: {\n\t\tgraphqlClient: SuiGraphQLClient;\n\t\tmvr?: SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: graphqlClient.network, base: graphqlClient, mvr });\n\t\tthis.#graphqlClient = graphqlClient;\n\t}\n\n\tasync #graphqlQuery<\n\t\tResult = Record<string, unknown>,\n\t\tVariables = Record<string, unknown>,\n\t\tData = Result,\n\t>(\n\t\toptions: GraphQLQueryOptions<Result, Variables>,\n\t\tgetData?: (result: Result) => Data,\n\t): Promise<NonNullable<Data>> {\n\t\tconst { data, errors } = await this.#graphqlClient.query(options);\n\n\t\thandleGraphQLErrors(errors);\n\n\t\tconst extractedData = data && (getData ? getData(data) : data);\n\n\t\tif (extractedData == null) {\n\t\t\tthrow new Error('Missing response data');\n\t\t}\n\n\t\treturn extractedData as NonNullable<Data>;\n\t}\n\n\tasync getObjects<Include extends SuiClientTypes.ObjectInclude = object>(\n\t\toptions: SuiClientTypes.GetObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectsResponse<Include>> {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: SuiClientTypes.GetObjectsResponse<Include>['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst page = await this.#graphqlQuery(\n\t\t\t\t{\n\t\t\t\t\tquery: MultiGetObjectsDocument,\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tobjectKeys: batch.map((address) => ({ address })),\n\t\t\t\t\t\tincludeContent: options.include?.content ?? false,\n\t\t\t\t\t\tincludePreviousTransaction: options.include?.previousTransaction ?? false,\n\t\t\t\t\t\tincludeObjectBcs: options.include?.objectBcs ?? false,\n\t\t\t\t\t\tincludeJson: options.include?.json ?? false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t(result) => result.multiGetObjects,\n\t\t\t);\n\t\t\tresults.push(\n\t\t\t\t...batch\n\t\t\t\t\t.map((id) => normalizeSuiAddress(id))\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(id) =>\n\t\t\t\t\t\t\tpage.find((obj) => obj?.address === id) ??\n\t\t\t\t\t\t\tnew ObjectError('notFound', `Object ${id} not found`),\n\t\t\t\t\t)\n\t\t\t\t\t.map((obj) => {\n\t\t\t\t\t\tif (obj instanceof ObjectError) {\n\t\t\t\t\t\t\treturn obj;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst bcsContent = obj.asMoveObject?.contents?.bcs\n\t\t\t\t\t\t\t? fromBase64(obj.asMoveObject.contents.bcs)\n\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst objectBcs = obj.objectBcs ? fromBase64(obj.objectBcs) : undefined;\n\n\t\t\t\t\t\t// Determine object type: package or Move object\n\t\t\t\t\t\t// GraphQL already returns normalized struct tags\n\t\t\t\t\t\tlet type: string;\n\t\t\t\t\t\tif (obj.asMovePackage) {\n\t\t\t\t\t\t\ttype = 'package';\n\t\t\t\t\t\t} else if (obj.asMoveObject?.contents?.type?.repr) {\n\t\t\t\t\t\t\ttype = obj.asMoveObject.contents.type.repr;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttype = '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst jsonContent = options.include?.json\n\t\t\t\t\t\t\t? obj.asMoveObject?.contents?.json\n\t\t\t\t\t\t\t\t? (obj.asMoveObject.contents.json as Record<string, unknown>)\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tobjectId: obj.address,\n\t\t\t\t\t\t\tversion: obj.version?.toString()!,\n\t\t\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tcontent: bcsContent as SuiClientTypes.Object<Include>['content'],\n\t\t\t\t\t\t\tpreviousTransaction: (obj.previousTransaction?.digest ??\n\t\t\t\t\t\t\t\tundefined) as SuiClientTypes.Object<Include>['previousTransaction'],\n\t\t\t\t\t\t\tobjectBcs: objectBcs as SuiClientTypes.Object<Include>['objectBcs'],\n\t\t\t\t\t\t\tjson: jsonContent as SuiClientTypes.Object<Include>['json'],\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync listOwnedObjects<Include extends SuiClientTypes.ObjectInclude = object>(\n\t\toptions: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.ListOwnedObjectsResponse<Include>> {\n\t\tconst objects = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetOwnedObjectsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfilter: options.type\n\t\t\t\t\t\t? { type: (await this.mvr.resolveType({ type: options.type })).type }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tincludeContent: options.include?.content ?? false,\n\t\t\t\t\tincludePreviousTransaction: options.include?.previousTransaction ?? false,\n\t\t\t\t\tincludeObjectBcs: options.include?.objectBcs ?? false,\n\t\t\t\t\tincludeJson: options.include?.json ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.objects,\n\t\t);\n\n\t\treturn {\n\t\t\tobjects: objects.nodes.map(\n\t\t\t\t(obj): SuiClientTypes.Object<Include> => ({\n\t\t\t\t\tobjectId: obj.address,\n\t\t\t\t\tversion: obj.version?.toString()!,\n\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\t\ttype: obj.contents?.type?.repr!,\n\t\t\t\t\tcontent: (obj.contents?.bcs\n\t\t\t\t\t\t? fromBase64(obj.contents.bcs)\n\t\t\t\t\t\t: undefined) as SuiClientTypes.Object<Include>['content'],\n\t\t\t\t\tpreviousTransaction: (obj.previousTransaction?.digest ??\n\t\t\t\t\t\tundefined) as SuiClientTypes.Object<Include>['previousTransaction'],\n\t\t\t\t\tobjectBcs: (obj.objectBcs\n\t\t\t\t\t\t? fromBase64(obj.objectBcs)\n\t\t\t\t\t\t: undefined) as SuiClientTypes.Object<Include>['objectBcs'],\n\t\t\t\t\tjson: (options.include?.json\n\t\t\t\t\t\t? obj.contents?.json\n\t\t\t\t\t\t\t? (obj.contents.json as Record<string, unknown>)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t: undefined) as SuiClientTypes.Object<Include>['json'],\n\t\t\t\t}),\n\t\t\t),\n\t\t\thasNextPage: objects.pageInfo.hasNextPage,\n\t\t\tcursor: objects.pageInfo.endCursor ?? null,\n\t\t};\n\t}\n\tasync listCoins(\n\t\toptions: SuiClientTypes.ListCoinsOptions,\n\t): Promise<SuiClientTypes.ListCoinsResponse> {\n\t\tconst coinType = options.coinType ?? SUI_TYPE_ARG;\n\t\tconst coins = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetCoinsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfirst: options.limit,\n\t\t\t\t\ttype: `0x2::coin::Coin<${(await this.mvr.resolveType({ type: coinType })).type}>`,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.objects,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: coins.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: coins.pageInfo.hasNextPage,\n\t\t\tobjects: coins.nodes.map(\n\t\t\t\t(coin): SuiClientTypes.Coin => ({\n\t\t\t\t\tobjectId: coin.address,\n\t\t\t\t\tversion: coin.version?.toString()!,\n\t\t\t\t\tdigest: coin.digest!,\n\t\t\t\t\towner: mapOwner(coin.owner!),\n\t\t\t\t\ttype: coin.contents?.type?.repr!,\n\t\t\t\t\tbalance: (coin.contents?.json as { balance: string })?.balance,\n\t\t\t\t}),\n\t\t\t),\n\t\t};\n\t}\n\n\tasync getBalance(\n\t\toptions: SuiClientTypes.GetBalanceOptions,\n\t): Promise<SuiClientTypes.GetBalanceResponse> {\n\t\tconst coinType = options.coinType ?? SUI_TYPE_ARG;\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetBalanceDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tcoinType: (await this.mvr.resolveType({ type: coinType })).type,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.balance,\n\t\t);\n\n\t\tconst addressBalance = BigInt(result.addressBalance ?? '0');\n\t\tconst coinBalance = BigInt(result.totalBalance ?? '0') - addressBalance;\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: result.coinType?.repr ?? coinType,\n\t\t\t\tbalance: result.totalBalance ?? '0',\n\t\t\t\tcoinBalance: coinBalance.toString(),\n\t\t\t\taddressBalance: addressBalance.toString(),\n\t\t\t},\n\t\t};\n\t}\n\tasync getCoinMetadata(\n\t\toptions: SuiClientTypes.GetCoinMetadataOptions,\n\t): Promise<SuiClientTypes.GetCoinMetadataResponse> {\n\t\tconst coinType = (await this.mvr.resolveType({ type: options.coinType })).type;\n\n\t\tconst { data, errors } = await this.#graphqlClient.query({\n\t\t\tquery: GetCoinMetadataDocument,\n\t\t\tvariables: {\n\t\t\t\tcoinType,\n\t\t\t},\n\t\t});\n\n\t\thandleGraphQLErrors(errors);\n\n\t\tif (!data?.coinMetadata) {\n\t\t\treturn { coinMetadata: null };\n\t\t}\n\n\t\treturn {\n\t\t\tcoinMetadata: {\n\t\t\t\tid: data.coinMetadata.address!,\n\t\t\t\tdecimals: data.coinMetadata.decimals!,\n\t\t\t\tname: data.coinMetadata.name!,\n\t\t\t\tsymbol: data.coinMetadata.symbol!,\n\t\t\t\tdescription: data.coinMetadata.description!,\n\t\t\t\ticonUrl: data.coinMetadata.iconUrl ?? null,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listBalances(\n\t\toptions: SuiClientTypes.ListBalancesOptions,\n\t): Promise<SuiClientTypes.ListBalancesResponse> {\n\t\tconst balances = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetAllBalancesDocument,\n\t\t\t\tvariables: { owner: options.owner },\n\t\t\t},\n\t\t\t(result) => result.address?.balances,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: balances.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: balances.pageInfo.hasNextPage,\n\t\t\tbalances: balances.nodes.map((balance) => {\n\t\t\t\tconst addressBalance = BigInt(balance.addressBalance ?? '0');\n\t\t\t\tconst coinBalance = BigInt(balance.totalBalance ?? '0') - addressBalance;\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: balance.coinType?.repr!,\n\t\t\t\t\tbalance: balance.totalBalance!,\n\t\t\t\t\tcoinBalance: coinBalance.toString(),\n\t\t\t\t\taddressBalance: addressBalance.toString(),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\tasync getTransaction<Include extends SuiClientTypes.TransactionInclude = object>(\n\t\toptions: SuiClientTypes.GetTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetTransactionBlockDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tdigest: options.digest,\n\t\t\t\t\tincludeTransaction: options.include?.transaction ?? false,\n\t\t\t\t\tincludeEffects: options.include?.effects ?? false,\n\t\t\t\t\tincludeEvents: options.include?.events ?? false,\n\t\t\t\t\tincludeBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t\t\tincludeObjectTypes: options.include?.objectTypes ?? false,\n\t\t\t\t\tincludeBcs: options.include?.bcs ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.transaction,\n\t\t);\n\n\t\treturn parseTransaction(result, options.include);\n\t}\n\tasync executeTransaction<Include extends SuiClientTypes.TransactionInclude = object>(\n\t\toptions: SuiClientTypes.ExecuteTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: ExecuteTransactionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\ttransactionDataBcs: toBase64(options.transaction),\n\t\t\t\t\tsignatures: options.signatures,\n\t\t\t\t\tincludeTransaction: options.include?.transaction ?? false,\n\t\t\t\t\tincludeEffects: options.include?.effects ?? false,\n\t\t\t\t\tincludeEvents: options.include?.events ?? false,\n\t\t\t\t\tincludeBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t\t\tincludeObjectTypes: options.include?.objectTypes ?? false,\n\t\t\t\t\tincludeBcs: options.include?.bcs ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.executeTransaction,\n\t\t);\n\n\t\tif (result.errors) {\n\t\t\tif (result.errors.length === 1) {\n\t\t\t\tthrow new Error(result.errors[0]);\n\t\t\t}\n\t\t\tthrow new AggregateError(result.errors.map((error) => new Error(error)));\n\t\t}\n\n\t\treturn parseTransaction(result.effects?.transaction!, options.include);\n\t}\n\tasync simulateTransaction<Include extends SuiClientTypes.SimulateTransactionInclude = object>(\n\t\toptions: SuiClientTypes.SimulateTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.SimulateTransactionResult<Include>> {\n\t\tif (!(options.transaction instanceof Uint8Array)) {\n\t\t\tawait options.transaction.prepareForSerialization({ client: this });\n\t\t}\n\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: SimulateTransactionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\ttransaction:\n\t\t\t\t\t\toptions.transaction instanceof Uint8Array\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tbcs: {\n\t\t\t\t\t\t\t\t\t\tvalue: toBase64(options.transaction),\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: transactionToGrpcJson(options.transaction),\n\t\t\t\t\tincludeTransaction: options.include?.transaction ?? false,\n\t\t\t\t\tincludeEffects: options.include?.effects ?? false,\n\t\t\t\t\tincludeEvents: options.include?.events ?? false,\n\t\t\t\t\tincludeBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t\t\tincludeObjectTypes: options.include?.objectTypes ?? false,\n\t\t\t\t\tincludeCommandResults: options.include?.commandResults ?? false,\n\t\t\t\t\tincludeBcs: options.include?.bcs ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.simulateTransaction,\n\t\t);\n\n\t\tif (result.error && !result.effects?.transaction) {\n\t\t\tthrow new SimulationError(result.error);\n\t\t}\n\n\t\tconst transactionResult = parseTransaction(result.effects?.transaction!, options.include);\n\n\t\tconst commandResults =\n\t\t\toptions.include?.commandResults && result.outputs\n\t\t\t\t? result.outputs.map((output) => ({\n\t\t\t\t\t\treturnValues: (output.returnValues ?? []).map((rv) => ({\n\t\t\t\t\t\t\tbcs: rv.value?.bcs ? fromBase64(rv.value.bcs) : null,\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tmutatedReferences: (output.mutatedReferences ?? []).map((mr) => ({\n\t\t\t\t\t\t\tbcs: mr.value?.bcs ? fromBase64(mr.value.bcs) : null,\n\t\t\t\t\t\t})),\n\t\t\t\t\t}))\n\t\t\t\t: undefined;\n\n\t\tif (transactionResult.$kind === 'Transaction') {\n\t\t\treturn {\n\t\t\t\t$kind: 'Transaction',\n\t\t\t\tTransaction: transactionResult.Transaction,\n\t\t\t\tcommandResults:\n\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t$kind: 'FailedTransaction',\n\t\t\t\tFailedTransaction: transactionResult.FailedTransaction,\n\t\t\t\tcommandResults:\n\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t};\n\t\t}\n\t}\n\tasync getReferenceGasPrice(): Promise<SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetReferenceGasPriceDocument,\n\t\t\t},\n\t\t\t(result) => result.epoch?.referenceGasPrice,\n\t\t);\n\n\t\treturn {\n\t\t\treferenceGasPrice: result ?? '',\n\t\t};\n\t}\n\n\tasync getCurrentSystemState(): Promise<SuiClientTypes.GetCurrentSystemStateResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetCurrentSystemStateDocument,\n\t\t\t},\n\t\t\t(result) => result.epoch,\n\t\t);\n\n\t\tif (!result) {\n\t\t\tthrow new Error('Epoch data not found in response');\n\t\t}\n\n\t\tconst startMs = result.startTimestamp\n\t\t\t? new Date(result.startTimestamp).getTime().toString()\n\t\t\t: (null as never);\n\n\t\t// Parse the system state JSON from the MoveValue\n\t\tconst systemStateJson = result.systemState?.json as\n\t\t\t| {\n\t\t\t\t\tsystem_state_version?: string | number;\n\t\t\t\t\tsafe_mode?: boolean;\n\t\t\t\t\tsafe_mode_storage_rewards?: string;\n\t\t\t\t\tsafe_mode_computation_rewards?: string;\n\t\t\t\t\tsafe_mode_storage_rebates?: string | number;\n\t\t\t\t\tsafe_mode_non_refundable_storage_fee?: string | number;\n\t\t\t\t\tparameters?: {\n\t\t\t\t\t\tepoch_duration_ms?: string | number;\n\t\t\t\t\t\tstake_subsidy_start_epoch?: string | number;\n\t\t\t\t\t\tmax_validator_count?: string | number;\n\t\t\t\t\t\tmin_validator_joining_stake?: string | number;\n\t\t\t\t\t\tvalidator_low_stake_threshold?: string | number;\n\t\t\t\t\t\tvalidator_low_stake_grace_period?: string | number;\n\t\t\t\t\t};\n\t\t\t\t\tstorage_fund?: {\n\t\t\t\t\t\ttotal_object_storage_rebates?: string;\n\t\t\t\t\t\tnon_refundable_balance?: string;\n\t\t\t\t\t};\n\t\t\t\t\tstake_subsidy?: {\n\t\t\t\t\t\tbalance?: string;\n\t\t\t\t\t\tdistribution_counter?: string | number;\n\t\t\t\t\t\tcurrent_distribution_amount?: string | number;\n\t\t\t\t\t\tstake_subsidy_period_length?: string | number;\n\t\t\t\t\t\tstake_subsidy_decrease_rate?: number;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\n\t\treturn {\n\t\t\tsystemState: {\n\t\t\t\tsystemStateVersion: systemStateJson?.system_state_version?.toString() ?? (null as never),\n\t\t\t\tepoch: result.epochId?.toString() ?? (null as never),\n\t\t\t\tprotocolVersion: result.protocolConfigs?.protocolVersion?.toString() ?? (null as never),\n\t\t\t\treferenceGasPrice: result.referenceGasPrice ?? (null as never),\n\t\t\t\tepochStartTimestampMs: startMs,\n\t\t\t\tsafeMode: systemStateJson?.safe_mode ?? false,\n\t\t\t\tsafeModeStorageRewards: systemStateJson?.safe_mode_storage_rewards ?? (null as never),\n\t\t\t\tsafeModeComputationRewards:\n\t\t\t\t\tsystemStateJson?.safe_mode_computation_rewards ?? (null as never),\n\t\t\t\tsafeModeStorageRebates:\n\t\t\t\t\tsystemStateJson?.safe_mode_storage_rebates?.toString() ?? (null as never),\n\t\t\t\tsafeModeNonRefundableStorageFee:\n\t\t\t\t\tsystemStateJson?.safe_mode_non_refundable_storage_fee?.toString() ?? (null as never),\n\t\t\t\tparameters: {\n\t\t\t\t\tepochDurationMs:\n\t\t\t\t\t\tsystemStateJson?.parameters?.epoch_duration_ms?.toString() ?? (null as never),\n\t\t\t\t\tstakeSubsidyStartEpoch:\n\t\t\t\t\t\tsystemStateJson?.parameters?.stake_subsidy_start_epoch?.toString() ?? (null as never),\n\t\t\t\t\tmaxValidatorCount:\n\t\t\t\t\t\tsystemStateJson?.parameters?.max_validator_count?.toString() ?? (null as never),\n\t\t\t\t\tminValidatorJoiningStake:\n\t\t\t\t\t\tsystemStateJson?.parameters?.min_validator_joining_stake?.toString() ?? (null as never),\n\t\t\t\t\tvalidatorLowStakeThreshold:\n\t\t\t\t\t\tsystemStateJson?.parameters?.validator_low_stake_threshold?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t\tvalidatorLowStakeGracePeriod:\n\t\t\t\t\t\tsystemStateJson?.parameters?.validator_low_stake_grace_period?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t},\n\t\t\t\tstorageFund: {\n\t\t\t\t\ttotalObjectStorageRebates:\n\t\t\t\t\t\tsystemStateJson?.storage_fund?.total_object_storage_rebates ?? (null as never),\n\t\t\t\t\tnonRefundableBalance:\n\t\t\t\t\t\tsystemStateJson?.storage_fund?.non_refundable_balance ?? (null as never),\n\t\t\t\t},\n\t\t\t\tstakeSubsidy: {\n\t\t\t\t\tbalance: systemStateJson?.stake_subsidy?.balance ?? (null as never),\n\t\t\t\t\tdistributionCounter:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.distribution_counter?.toString() ?? (null as never),\n\t\t\t\t\tcurrentDistributionAmount:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.current_distribution_amount?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t\tstakeSubsidyPeriodLength:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.stake_subsidy_period_length?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t\tstakeSubsidyDecreaseRate:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.stake_subsidy_decrease_rate ?? (null as never),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listDynamicFields(\n\t\toptions: SuiClientTypes.ListDynamicFieldsOptions,\n\t): Promise<SuiClientTypes.ListDynamicFieldsResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetDynamicFieldsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tparentId: options.parentId,\n\t\t\t\t\tfirst: options.limit,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.dynamicFields,\n\t\t);\n\n\t\treturn {\n\t\t\tdynamicFields: result.nodes.map((dynamicField): SuiClientTypes.DynamicFieldEntry => {\n\t\t\t\tconst valueType =\n\t\t\t\t\tdynamicField.value?.__typename === 'MoveObject'\n\t\t\t\t\t\t? dynamicField.value.contents?.type?.repr!\n\t\t\t\t\t\t: dynamicField.value?.type?.repr!;\n\t\t\t\tconst isDynamicObject = dynamicField.value?.__typename === 'MoveObject';\n\t\t\t\tconst derivedNameType = isDynamicObject\n\t\t\t\t\t? `0x2::dynamic_object_field::Wrapper<${dynamicField.name?.type?.repr}>`\n\t\t\t\t\t: dynamicField.name?.type?.repr!;\n\n\t\t\t\treturn {\n\t\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\t\tfieldId: deriveDynamicFieldID(\n\t\t\t\t\t\toptions.parentId,\n\t\t\t\t\t\tderivedNameType,\n\t\t\t\t\t\tfromBase64(dynamicField.name?.bcs!),\n\t\t\t\t\t),\n\t\t\t\t\ttype: normalizeStructTag(\n\t\t\t\t\t\tisDynamicObject\n\t\t\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name?.type?.repr}>,0x2::object::ID>`\n\t\t\t\t\t\t\t: `0x2::dynamic_field::Field<${dynamicField.name?.type?.repr},${valueType}>`,\n\t\t\t\t\t),\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name?.type?.repr!,\n\t\t\t\t\t\tbcs: fromBase64(dynamicField.name?.bcs!),\n\t\t\t\t\t},\n\t\t\t\t\tvalueType,\n\t\t\t\t\tchildId:\n\t\t\t\t\t\tisDynamicObject && dynamicField.value?.__typename === 'MoveObject'\n\t\t\t\t\t\t\t? dynamicField.value.address\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t} as SuiClientTypes.DynamicFieldEntry;\n\t\t\t}),\n\t\t\tcursor: result.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: result.pageInfo.hasNextPage,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(\n\t\toptions: SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<SuiClientTypes.ZkLoginVerifyResponse> {\n\t\tconst intentScope =\n\t\t\toptions.intentScope === 'TransactionData'\n\t\t\t\t? ZkLoginIntentScope.TransactionData\n\t\t\t\t: ZkLoginIntentScope.PersonalMessage;\n\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: VerifyZkLoginSignatureDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tbytes: options.bytes,\n\t\t\t\t\tsignature: options.signature,\n\t\t\t\t\tintentScope,\n\t\t\t\t\tauthor: options.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.verifyZkLoginSignature,\n\t\t);\n\n\t\treturn {\n\t\t\tsuccess: result.success ?? false,\n\t\t\terrors: result.error ? [result.error] : [],\n\t\t};\n\t}\n\n\tasync defaultNameServiceName(\n\t\toptions: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\tconst name = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: DefaultSuinsNameDocument,\n\t\t\t\tsignal: options.signal,\n\t\t\t\tvariables: {\n\t\t\t\t\taddress: options.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.defaultNameRecord?.domain ?? null,\n\t\t);\n\n\t\treturn {\n\t\t\tdata: { name: name },\n\t\t};\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst moveFunction = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetMoveFunctionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tpackage: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\t\t\tmodule: options.moduleName,\n\t\t\t\t\tfunction: options.name,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.package?.module?.function,\n\t\t);\n\n\t\tlet visibility: 'public' | 'private' | 'friend' | 'unknown' = 'unknown';\n\n\t\tswitch (moveFunction.visibility) {\n\t\t\tcase 'PUBLIC':\n\t\t\t\tvisibility = 'public';\n\t\t\t\tbreak;\n\t\t\tcase 'PRIVATE':\n\t\t\t\tvisibility = 'private';\n\t\t\t\tbreak;\n\t\t\tcase 'FRIEND':\n\t\t\t\tvisibility = 'friend';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(options.packageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: moveFunction.name,\n\t\t\t\tvisibility,\n\t\t\t\tisEntry: moveFunction.isEntry ?? false,\n\t\t\t\ttypeParameters:\n\t\t\t\t\tmoveFunction.typeParameters?.map(({ constraints }) => ({\n\t\t\t\t\t\tisPhantom: false,\n\t\t\t\t\t\tconstraints:\n\t\t\t\t\t\t\tconstraints.map((constraint) => {\n\t\t\t\t\t\t\t\tswitch (constraint) {\n\t\t\t\t\t\t\t\t\tcase 'COPY':\n\t\t\t\t\t\t\t\t\t\treturn 'copy';\n\t\t\t\t\t\t\t\t\tcase 'DROP':\n\t\t\t\t\t\t\t\t\t\treturn 'drop';\n\t\t\t\t\t\t\t\t\tcase 'STORE':\n\t\t\t\t\t\t\t\t\t\treturn 'store';\n\t\t\t\t\t\t\t\t\tcase 'KEY':\n\t\t\t\t\t\t\t\t\t\treturn 'key';\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn 'unknown';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}) ?? [],\n\t\t\t\t\t})) ?? [],\n\t\t\t\tparameters:\n\t\t\t\t\tmoveFunction.parameters?.map((param) => parseNormalizedSuiMoveType(param.signature)) ??\n\t\t\t\t\t[],\n\t\t\t\treturns:\n\t\t\t\t\tmoveFunction.return?.map(({ signature }) => parseNormalizedSuiMoveType(signature)) ?? [],\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getChainIdentifier(\n\t\t_options?: SuiClientTypes.GetChainIdentifierOptions,\n\t): Promise<SuiClientTypes.GetChainIdentifierResponse> {\n\t\treturn this.cache.read(['chainIdentifier'], async () => {\n\t\t\tconst checkpoint = await this.#graphqlQuery(\n\t\t\t\t{\n\t\t\t\t\tquery: GetChainIdentifierDocument,\n\t\t\t\t},\n\t\t\t\t(result) => result.checkpoint,\n\t\t\t);\n\t\t\tif (!checkpoint?.digest) {\n\t\t\t\tthrow new Error('Genesis checkpoint digest not found');\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tchainIdentifier: checkpoint.digest,\n\t\t\t};\n\t\t});\n\t}\n\n\tresolveTransactionPlugin() {\n\t\tconst graphqlClient = this.#graphqlClient;\n\t\treturn async function resolveTransactionData(\n\t\t\ttransactionData: TransactionDataBuilder,\n\t\t\toptions: BuildTransactionOptions,\n\t\t\tnext: () => Promise<void>,\n\t\t) {\n\t\t\tconst snapshot = transactionData.snapshot();\n\t\t\t// If sender is not set, use a dummy address for resolution purposes\n\t\t\tif (!snapshot.sender) {\n\t\t\t\tsnapshot.sender = '0x0000000000000000000000000000000000000000000000000000000000000000';\n\t\t\t}\n\t\t\tconst grpcTransaction = transactionDataToGrpcTransaction(snapshot);\n\t\t\tconst transactionJson = GrpcTransactionType.toJson(grpcTransaction);\n\n\t\t\tconst { data, errors } = await graphqlClient.query({\n\t\t\t\tquery: ResolveTransactionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\ttransaction: transactionJson,\n\t\t\t\t\tdoGasSelection:\n\t\t\t\t\t\t!options.onlyTransactionKind &&\n\t\t\t\t\t\t(snapshot.gasData.budget == null || snapshot.gasData.payment == null),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\thandleGraphQLErrors(errors);\n\n\t\t\tif (data?.simulateTransaction?.error) {\n\t\t\t\tthrow new SimulationError(\n\t\t\t\t\t`Transaction resolution failed: ${data.simulateTransaction.error}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst transactionEffects = data?.simulateTransaction?.effects?.transaction?.effects;\n\t\t\tif (!options.onlyTransactionKind && transactionEffects?.status === ExecutionStatus.Failure) {\n\t\t\t\tconst executionError = parseGraphQLExecutionError(transactionEffects.executionError);\n\t\t\t\tconst errorMessage = executionError?.message ?? 'Transaction failed';\n\t\t\t\tthrow new SimulationError(`Transaction resolution failed: ${errorMessage}`, {\n\t\t\t\t\texecutionError,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst resolvedTransactionBcs =\n\t\t\t\tdata?.simulateTransaction?.effects?.transaction?.transactionBcs;\n\n\t\t\tif (!resolvedTransactionBcs) {\n\t\t\t\tthrow new Error('simulateTransaction did not return resolved transaction data');\n\t\t\t}\n\n\t\t\tconst resolvedBuilder = TransactionDataBuilder.fromBytes(fromBase64(resolvedTransactionBcs));\n\t\t\tconst resolved = resolvedBuilder.snapshot();\n\n\t\t\tif (options.onlyTransactionKind) {\n\t\t\t\ttransactionData.applyResolvedData({\n\t\t\t\t\t...resolved,\n\t\t\t\t\tgasData: {\n\t\t\t\t\t\tbudget: null,\n\t\t\t\t\t\towner: null,\n\t\t\t\t\t\tpayment: null,\n\t\t\t\t\t\tprice: null,\n\t\t\t\t\t},\n\t\t\t\t\texpiration: null,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\ttransactionData.applyResolvedData(resolved);\n\t\t\t}\n\n\t\t\treturn await next();\n\t\t};\n\t}\n}\nexport type GraphQLResponseErrors = Array<{\n\tmessage: string;\n\tlocations?: { line: number; column: number }[];\n\tpath?: (string | number)[];\n}>;\n\nfunction handleGraphQLErrors(errors: GraphQLResponseErrors | undefined): void {\n\tif (!errors || errors.length === 0) return;\n\n\tconst errorInstances = errors.map((error) => new GraphQLResponseError(error));\n\n\tif (errorInstances.length === 1) {\n\t\tthrow errorInstances[0];\n\t}\n\n\tthrow new AggregateError(errorInstances);\n}\n\nclass GraphQLResponseError extends Error {\n\tlocations?: Array<{ line: number; column: number }>;\n\n\tconstructor(error: GraphQLResponseErrors[0]) {\n\t\tsuper(error.message);\n\t\tthis.locations = error.locations;\n\t}\n}\n\nfunction mapOwner(owner: Object_Owner_FieldsFragment): SuiClientTypes.ObjectOwner {\n\tswitch (owner.__typename) {\n\t\tcase 'AddressOwner':\n\t\t\treturn { $kind: 'AddressOwner', AddressOwner: owner.address?.address! };\n\t\tcase 'ConsensusAddressOwner':\n\t\t\treturn {\n\t\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\t\tConsensusAddressOwner: {\n\t\t\t\t\towner: owner?.address?.address!,\n\t\t\t\t\tstartVersion: String(owner.startVersion),\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'ObjectOwner':\n\t\t\treturn { $kind: 'ObjectOwner', ObjectOwner: owner.address?.address! };\n\t\tcase 'Immutable':\n\t\t\treturn { $kind: 'Immutable', Immutable: true };\n\t\tcase 'Shared':\n\t\t\treturn {\n\t\t\t\t$kind: 'Shared',\n\t\t\t\tShared: { initialSharedVersion: String(owner.initialSharedVersion) },\n\t\t\t};\n\t}\n}\n\nfunction parseTransaction<Include extends SuiClientTypes.TransactionInclude = object>(\n\ttransaction: Transaction_FieldsFragment,\n\tinclude?: Include,\n): SuiClientTypes.TransactionResult<Include> {\n\tconst objectTypes: Record<string, string> = {};\n\n\tif (include?.objectTypes) {\n\t\tconst effectsJson = transaction.effects?.effectsJson;\n\t\tif (effectsJson) {\n\t\t\tconst effects = TransactionEffectsType.fromJson(\n\t\t\t\teffectsJson as Parameters<typeof TransactionEffectsType.fromJson>[0],\n\t\t\t);\n\t\t\teffects.changedObjects?.forEach((change) => {\n\t\t\t\tif (change.objectId && change.objectType) {\n\t\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tconst objectChanges = transaction.effects?.objectChanges?.nodes;\n\t\tif (objectChanges) {\n\t\t\tfor (const change of objectChanges) {\n\t\t\t\tconst type = change.outputState?.asMoveObject?.contents?.type?.repr;\n\t\t\t\tif (change.address && type) {\n\t\t\t\t\tobjectTypes[change.address] = type;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tlet balanceChanges: SuiClientTypes.BalanceChange[] | undefined;\n\tif (include?.balanceChanges) {\n\t\tconst balanceChangesJson = transaction.effects?.balanceChangesJson;\n\t\tif (Array.isArray(balanceChangesJson)) {\n\t\t\tbalanceChanges = balanceChangesJson.map((json) => {\n\t\t\t\tconst change = BalanceChangeType.fromJson(\n\t\t\t\t\tjson as Parameters<typeof BalanceChangeType.fromJson>[0],\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: change.coinType!,\n\t\t\t\t\taddress: change.address!,\n\t\t\t\t\tamount: change.amount!,\n\t\t\t\t};\n\t\t\t});\n\t\t} else {\n\t\t\tbalanceChanges = [];\n\t\t}\n\t}\n\n\t// Get status from GraphQL response\n\tconst status: SuiClientTypes.ExecutionStatus =\n\t\ttransaction.effects?.status === ExecutionStatus.Success\n\t\t\t? { success: true, error: null }\n\t\t\t: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terror: parseGraphQLExecutionError(transaction.effects?.executionError),\n\t\t\t\t};\n\n\tlet transactionData: SuiClientTypes.TransactionData | undefined;\n\tif (include?.transaction && transaction.transactionJson) {\n\t\tconst grpcTx = GrpcTransactionType.fromJson(\n\t\t\ttransaction.transactionJson as Parameters<typeof GrpcTransactionType.fromJson>[0],\n\t\t);\n\t\tconst resolved = grpcTransactionToTransactionData(grpcTx);\n\t\ttransactionData = {\n\t\t\tgasData: resolved.gasData,\n\t\t\tsender: resolved.sender,\n\t\t\texpiration: resolved.expiration,\n\t\t\tcommands: resolved.commands,\n\t\t\tinputs: resolved.inputs,\n\t\t\tversion: resolved.version,\n\t\t};\n\t}\n\n\tconst bcsBytes =\n\t\tinclude?.bcs && transaction.transactionBcs ? fromBase64(transaction.transactionBcs) : undefined;\n\n\tconst result: SuiClientTypes.Transaction<Include> = {\n\t\tdigest: transaction.digest!,\n\t\tstatus,\n\t\teffects: (include?.effects\n\t\t\t? parseTransactionEffectsBcs(fromBase64(transaction.effects?.effectsBcs!))\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['effects'],\n\t\tepoch: transaction.effects?.epoch?.epochId?.toString() ?? null,\n\t\tobjectTypes: (include?.objectTypes\n\t\t\t? objectTypes\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['objectTypes'],\n\t\ttransaction: transactionData as SuiClientTypes.Transaction<Include>['transaction'],\n\t\tbcs: bcsBytes as SuiClientTypes.Transaction<Include>['bcs'],\n\t\tsignatures: transaction.signatures.map((sig) => sig.signatureBytes!),\n\t\tbalanceChanges: balanceChanges as SuiClientTypes.Transaction<Include>['balanceChanges'],\n\t\tevents: (include?.events\n\t\t\t? (transaction.effects?.events?.nodes.map((event) => {\n\t\t\t\t\tconst eventType = event.contents?.type?.repr!;\n\t\t\t\t\tconst [packageId, module] = eventType.split('::');\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpackageId,\n\t\t\t\t\t\tmodule,\n\t\t\t\t\t\tsender: event.sender?.address!,\n\t\t\t\t\t\teventType,\n\t\t\t\t\t\tbcs: event.contents?.bcs ? fromBase64(event.contents.bcs) : new Uint8Array(),\n\t\t\t\t\t};\n\t\t\t\t}) ?? [])\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['events'],\n\t};\n\n\treturn status.success\n\t\t? { $kind: 'Transaction', Transaction: result, FailedTransaction: undefined as never }\n\t\t: { $kind: 'FailedTransaction', Transaction: undefined as never, FailedTransaction: result };\n}\n\nfunction parseNormalizedSuiMoveType(type: OpenMoveTypeSignature): SuiClientTypes.OpenSignature {\n\tlet reference: 'mutable' | 'immutable' | null = null;\n\n\tif (type.ref === '&') {\n\t\treference = 'immutable';\n\t} else if (type.ref === '&mut') {\n\t\treference = 'mutable';\n\t}\n\n\treturn {\n\t\treference,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type.body),\n\t};\n}\n\nfunction parseGraphQLExecutionError(\n\texecutionError: GraphQLExecutionError | null | undefined,\n): SuiClientTypes.ExecutionError {\n\tconst name = mapGraphQLExecutionErrorKind(executionError);\n\n\tif (name === 'MoveAbort' && executionError?.abortCode != null) {\n\t\tconst location = parseGraphQLMoveLocation(executionError);\n\t\tconst cleverError = parseGraphQLCleverError(executionError);\n\t\tconst commandMatch = executionError.message?.match(/in (\\d+)\\w* command/);\n\t\tconst command = commandMatch ? parseInt(commandMatch[1], 10) - 1 : undefined;\n\n\t\treturn {\n\t\t\t$kind: 'MoveAbort',\n\t\t\tmessage: formatMoveAbortMessage({\n\t\t\t\tcommand,\n\t\t\t\tlocation: location\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tpackage: location.package,\n\t\t\t\t\t\t\tmodule: location.module,\n\t\t\t\t\t\t\tfunctionName: location.functionName,\n\t\t\t\t\t\t\tinstruction: location.instruction,\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t\tabortCode: executionError.abortCode!,\n\t\t\t\tcleverError: cleverError\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tlineNumber: cleverError.lineNumber,\n\t\t\t\t\t\t\tconstantName: cleverError.constantName,\n\t\t\t\t\t\t\tvalue: cleverError.value,\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t}),\n\t\t\tcommand,\n\t\t\tMoveAbort: {\n\t\t\t\tabortCode: executionError.abortCode!,\n\t\t\t\tlocation,\n\t\t\t\tcleverError,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\t$kind: 'Unknown',\n\t\tmessage: executionError?.message ?? 'Transaction failed',\n\t\tUnknown: null,\n\t};\n}\n\nfunction mapGraphQLExecutionErrorKind(\n\texecutionError: GraphQLExecutionError | null | undefined,\n): string {\n\tif (executionError?.abortCode != null) {\n\t\treturn 'MoveAbort';\n\t}\n\n\tconst match = executionError?.message?.match(/^(\\w+)/);\n\treturn match?.[1] ?? 'Unknown';\n}\n\nfunction parseGraphQLMoveLocation(\n\texecutionError: GraphQLExecutionError,\n): SuiClientTypes.MoveLocation | undefined {\n\tconst hasLocation = executionError.module?.package?.address && executionError.module?.name;\n\tif (!hasLocation) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\tpackage: executionError.module?.package?.address,\n\t\tmodule: executionError.module?.name,\n\t\tfunctionName: executionError.function?.name,\n\t\tinstruction: executionError.instructionOffset ?? undefined,\n\t};\n}\n\nfunction parseGraphQLCleverError(\n\texecutionError: GraphQLExecutionError,\n): SuiClientTypes.CleverError | undefined {\n\tconst hasCleverError = executionError.identifier || executionError.constant;\n\tif (!hasCleverError) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\tconstantName: executionError.identifier ?? undefined,\n\t\tvalue: executionError.constant ?? undefined,\n\t\tlineNumber: executionError.sourceLineNumber ?? undefined,\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: OpenMoveTypeSignatureBody,\n): SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'u8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'u16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'u32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'u64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'u128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'u256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.vector),\n\t\t};\n\t}\n\n\tif ('datatype' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.datatype.package)}::${type.datatype.module}::${type.datatype.type}`,\n\t\t\t\ttypeParameters: type.datatype.typeParameters.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('typeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.typeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.mjs","names":["#graphqlClient","#graphqlQuery","result","GrpcTransactionType","TransactionEffectsType","BalanceChangeType"],"sources":["../../src/graphql/core.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { CoreClient } from '../client/core.js';\nimport type { SuiClientTypes } from '../client/types.js';\nimport { SUI_TYPE_ARG } from '../utils/constants.js';\nimport type { GraphQLQueryOptions, SuiGraphQLClient } from './client.js';\nimport type {\n\tObject_Owner_FieldsFragment,\n\tTransaction_FieldsFragment,\n} from './generated/queries.js';\n\ntype GraphQLExecutionError = NonNullable<\n\tNonNullable<Transaction_FieldsFragment['effects']>['executionError']\n>;\nimport {\n\tDefaultSuinsNameDocument,\n\tExecuteTransactionDocument,\n\tExecutionStatus,\n\tGetAllBalancesDocument,\n\tGetBalanceDocument,\n\tGetChainIdentifierDocument,\n\tGetCoinMetadataDocument,\n\tGetCoinsDocument,\n\tGetCurrentSystemStateDocument,\n\tGetMoveFunctionDocument,\n\tGetOwnedObjectsDocument,\n\tGetReferenceGasPriceDocument,\n\tGetTransactionBlockDocument,\n\tMultiGetObjectsDocument,\n\tResolveTransactionDocument,\n\tSimulateTransactionDocument,\n\tVerifyZkLoginSignatureDocument,\n\tZkLoginIntentScope,\n} from './generated/queries.js';\nimport { ObjectError, SimulationError } from '../client/errors.js';\nimport { chunk, fromBase64, toBase64 } from '@mysten/utils';\nimport { normalizeSuiAddress } from '../utils/sui-types.js';\nimport { formatMoveAbortMessage, parseTransactionEffectsBcs } from '../client/utils.js';\nimport type { OpenMoveTypeSignatureBody, OpenMoveTypeSignature } from './types.js';\nimport {\n\ttransactionDataToGrpcTransaction,\n\ttransactionToGrpcJson,\n\tgrpcTransactionToTransactionData,\n} from '../client/transaction-resolver.js';\nimport { BalanceChange as BalanceChangeType } from '../grpc/proto/sui/rpc/v2/balance_change.js';\nimport { TransactionEffects as TransactionEffectsType } from '../grpc/proto/sui/rpc/v2/effects.js';\nimport { Transaction as GrpcTransactionType } from '../grpc/proto/sui/rpc/v2/transaction.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\n\nexport class GraphQLCoreClient extends CoreClient {\n\t#graphqlClient: SuiGraphQLClient;\n\n\tconstructor({\n\t\tgraphqlClient,\n\t\tmvr,\n\t}: {\n\t\tgraphqlClient: SuiGraphQLClient;\n\t\tmvr?: SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: graphqlClient.network, base: graphqlClient, mvr });\n\t\tthis.#graphqlClient = graphqlClient;\n\t}\n\n\tasync #graphqlQuery<\n\t\tResult = Record<string, unknown>,\n\t\tVariables = Record<string, unknown>,\n\t\tData = Result,\n\t>(\n\t\toptions: GraphQLQueryOptions<Result, Variables>,\n\t\tgetData?: (result: Result) => Data,\n\t): Promise<NonNullable<Data>> {\n\t\tconst { data, errors } = await this.#graphqlClient.query(options);\n\n\t\thandleGraphQLErrors(errors);\n\n\t\tconst extractedData = data && (getData ? getData(data) : data);\n\n\t\tif (extractedData == null) {\n\t\t\tthrow new Error('Missing response data');\n\t\t}\n\n\t\treturn extractedData as NonNullable<Data>;\n\t}\n\n\tasync getObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectsResponse<Include>> {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: SuiClientTypes.GetObjectsResponse<Include>['objects'] = [];\n\n\t\tfor (const batch of batches) {\n\t\t\tconst page = await this.#graphqlQuery(\n\t\t\t\t{\n\t\t\t\t\tquery: MultiGetObjectsDocument,\n\t\t\t\t\tvariables: {\n\t\t\t\t\t\tobjectKeys: batch.map((address) => ({ address })),\n\t\t\t\t\t\tincludeContent: options.include?.content ?? false,\n\t\t\t\t\t\tincludePreviousTransaction: options.include?.previousTransaction ?? false,\n\t\t\t\t\t\tincludeObjectBcs: options.include?.objectBcs ?? false,\n\t\t\t\t\t\tincludeJson: options.include?.json ?? false,\n\t\t\t\t\t\tincludeDisplay: options.include?.display ?? false,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t(result) => result.multiGetObjects,\n\t\t\t);\n\t\t\tresults.push(\n\t\t\t\t...batch\n\t\t\t\t\t.map((id) => normalizeSuiAddress(id))\n\t\t\t\t\t.map(\n\t\t\t\t\t\t(id) =>\n\t\t\t\t\t\t\tpage.find((obj) => obj?.address === id) ??\n\t\t\t\t\t\t\tnew ObjectError('notFound', `Object ${id} not found`),\n\t\t\t\t\t)\n\t\t\t\t\t.map((obj) => {\n\t\t\t\t\t\tif (obj instanceof ObjectError) {\n\t\t\t\t\t\t\treturn obj;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst bcsContent = obj.asMoveObject?.contents?.bcs\n\t\t\t\t\t\t\t? fromBase64(obj.asMoveObject.contents.bcs)\n\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst objectBcs = obj.objectBcs ? fromBase64(obj.objectBcs) : undefined;\n\n\t\t\t\t\t\t// Determine object type: package or Move object\n\t\t\t\t\t\t// GraphQL already returns normalized struct tags\n\t\t\t\t\t\tlet type: string;\n\t\t\t\t\t\tif (obj.asMovePackage) {\n\t\t\t\t\t\t\ttype = 'package';\n\t\t\t\t\t\t} else if (obj.asMoveObject?.contents?.type?.repr) {\n\t\t\t\t\t\t\ttype = obj.asMoveObject.contents.type.repr;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttype = '';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst jsonContent = options.include?.json\n\t\t\t\t\t\t\t? obj.asMoveObject?.contents?.json\n\t\t\t\t\t\t\t\t? (obj.asMoveObject.contents.json as Record<string, unknown>)\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t: undefined;\n\n\t\t\t\t\t\tconst displayData = mapDisplay(\n\t\t\t\t\t\t\toptions.include?.display,\n\t\t\t\t\t\t\tobj.asMoveObject?.contents?.display,\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tobjectId: obj.address,\n\t\t\t\t\t\t\tversion: obj.version?.toString()!,\n\t\t\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\t\t\t\ttype,\n\t\t\t\t\t\t\tcontent: bcsContent as SuiClientTypes.Object<Include>['content'],\n\t\t\t\t\t\t\tpreviousTransaction: (obj.previousTransaction?.digest ??\n\t\t\t\t\t\t\t\tundefined) as SuiClientTypes.Object<Include>['previousTransaction'],\n\t\t\t\t\t\t\tobjectBcs: objectBcs as SuiClientTypes.Object<Include>['objectBcs'],\n\t\t\t\t\t\t\tjson: jsonContent as SuiClientTypes.Object<Include>['json'],\n\t\t\t\t\t\t\tdisplay: displayData as SuiClientTypes.Object<Include>['display'],\n\t\t\t\t\t\t};\n\t\t\t\t\t}),\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync listOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.ListOwnedObjectsResponse<Include>> {\n\t\tconst objects = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetOwnedObjectsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tlimit: options.limit,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfilter: options.type\n\t\t\t\t\t\t? { type: (await this.mvr.resolveType({ type: options.type })).type }\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tincludeContent: options.include?.content ?? false,\n\t\t\t\t\tincludePreviousTransaction: options.include?.previousTransaction ?? false,\n\t\t\t\t\tincludeObjectBcs: options.include?.objectBcs ?? false,\n\t\t\t\t\tincludeJson: options.include?.json ?? false,\n\t\t\t\t\tincludeDisplay: options.include?.display ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.objects,\n\t\t);\n\n\t\treturn {\n\t\t\tobjects: objects.nodes.map(\n\t\t\t\t(obj): SuiClientTypes.Object<Include> => ({\n\t\t\t\t\tobjectId: obj.address,\n\t\t\t\t\tversion: obj.version?.toString()!,\n\t\t\t\t\tdigest: obj.digest!,\n\t\t\t\t\towner: mapOwner(obj.owner!),\n\t\t\t\t\ttype: obj.contents?.type?.repr!,\n\t\t\t\t\tcontent: (obj.contents?.bcs\n\t\t\t\t\t\t? fromBase64(obj.contents.bcs)\n\t\t\t\t\t\t: undefined) as SuiClientTypes.Object<Include>['content'],\n\t\t\t\t\tpreviousTransaction: (obj.previousTransaction?.digest ??\n\t\t\t\t\t\tundefined) as SuiClientTypes.Object<Include>['previousTransaction'],\n\t\t\t\t\tobjectBcs: (obj.objectBcs\n\t\t\t\t\t\t? fromBase64(obj.objectBcs)\n\t\t\t\t\t\t: undefined) as SuiClientTypes.Object<Include>['objectBcs'],\n\t\t\t\t\tjson: (options.include?.json\n\t\t\t\t\t\t? obj.contents?.json\n\t\t\t\t\t\t\t? (obj.contents.json as Record<string, unknown>)\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t: undefined) as SuiClientTypes.Object<Include>['json'],\n\t\t\t\t\tdisplay: mapDisplay(\n\t\t\t\t\t\toptions.include?.display,\n\t\t\t\t\t\tobj.contents?.display,\n\t\t\t\t\t) as SuiClientTypes.Object<Include>['display'],\n\t\t\t\t}),\n\t\t\t),\n\t\t\thasNextPage: objects.pageInfo.hasNextPage,\n\t\t\tcursor: objects.pageInfo.endCursor ?? null,\n\t\t};\n\t}\n\tasync listCoins(\n\t\toptions: SuiClientTypes.ListCoinsOptions,\n\t): Promise<SuiClientTypes.ListCoinsResponse> {\n\t\tconst coinType = options.coinType ?? SUI_TYPE_ARG;\n\t\tconst coins = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetCoinsDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tcursor: options.cursor,\n\t\t\t\t\tfirst: options.limit,\n\t\t\t\t\ttype: `0x2::coin::Coin<${(await this.mvr.resolveType({ type: coinType })).type}>`,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.objects,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: coins.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: coins.pageInfo.hasNextPage,\n\t\t\tobjects: coins.nodes.map(\n\t\t\t\t(coin): SuiClientTypes.Coin => ({\n\t\t\t\t\tobjectId: coin.address,\n\t\t\t\t\tversion: coin.version?.toString()!,\n\t\t\t\t\tdigest: coin.digest!,\n\t\t\t\t\towner: mapOwner(coin.owner!),\n\t\t\t\t\ttype: coin.contents?.type?.repr!,\n\t\t\t\t\tbalance: (coin.contents?.json as { balance: string })?.balance,\n\t\t\t\t}),\n\t\t\t),\n\t\t};\n\t}\n\n\tasync getBalance(\n\t\toptions: SuiClientTypes.GetBalanceOptions,\n\t): Promise<SuiClientTypes.GetBalanceResponse> {\n\t\tconst coinType = options.coinType ?? SUI_TYPE_ARG;\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetBalanceDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\towner: options.owner,\n\t\t\t\t\tcoinType: (await this.mvr.resolveType({ type: coinType })).type,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.balance,\n\t\t);\n\n\t\tconst addressBalance = BigInt(result.addressBalance ?? '0');\n\t\tconst coinBalance = BigInt(result.totalBalance ?? '0') - addressBalance;\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: result.coinType?.repr ?? coinType,\n\t\t\t\tbalance: result.totalBalance ?? '0',\n\t\t\t\tcoinBalance: coinBalance.toString(),\n\t\t\t\taddressBalance: addressBalance.toString(),\n\t\t\t},\n\t\t};\n\t}\n\tasync getCoinMetadata(\n\t\toptions: SuiClientTypes.GetCoinMetadataOptions,\n\t): Promise<SuiClientTypes.GetCoinMetadataResponse> {\n\t\tconst coinType = (await this.mvr.resolveType({ type: options.coinType })).type;\n\n\t\tconst { data, errors } = await this.#graphqlClient.query({\n\t\t\tquery: GetCoinMetadataDocument,\n\t\t\tvariables: {\n\t\t\t\tcoinType,\n\t\t\t},\n\t\t});\n\n\t\thandleGraphQLErrors(errors);\n\n\t\tif (!data?.coinMetadata) {\n\t\t\treturn { coinMetadata: null };\n\t\t}\n\n\t\treturn {\n\t\t\tcoinMetadata: {\n\t\t\t\tid: data.coinMetadata.address!,\n\t\t\t\tdecimals: data.coinMetadata.decimals!,\n\t\t\t\tname: data.coinMetadata.name!,\n\t\t\t\tsymbol: data.coinMetadata.symbol!,\n\t\t\t\tdescription: data.coinMetadata.description!,\n\t\t\t\ticonUrl: data.coinMetadata.iconUrl ?? null,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listBalances(\n\t\toptions: SuiClientTypes.ListBalancesOptions,\n\t): Promise<SuiClientTypes.ListBalancesResponse> {\n\t\tconst balances = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetAllBalancesDocument,\n\t\t\t\tvariables: { owner: options.owner },\n\t\t\t},\n\t\t\t(result) => result.address?.balances,\n\t\t);\n\n\t\treturn {\n\t\t\tcursor: balances.pageInfo.endCursor ?? null,\n\t\t\thasNextPage: balances.pageInfo.hasNextPage,\n\t\t\tbalances: balances.nodes.map((balance) => {\n\t\t\t\tconst addressBalance = BigInt(balance.addressBalance ?? '0');\n\t\t\t\tconst coinBalance = BigInt(balance.totalBalance ?? '0') - addressBalance;\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: balance.coinType?.repr!,\n\t\t\t\t\tbalance: balance.totalBalance!,\n\t\t\t\t\tcoinBalance: coinBalance.toString(),\n\t\t\t\t\taddressBalance: addressBalance.toString(),\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n\tasync getTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.GetTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetTransactionBlockDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tdigest: options.digest,\n\t\t\t\t\tincludeTransaction: options.include?.transaction ?? false,\n\t\t\t\t\tincludeEffects: options.include?.effects ?? false,\n\t\t\t\t\tincludeEvents: options.include?.events ?? false,\n\t\t\t\t\tincludeBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t\t\tincludeObjectTypes: options.include?.objectTypes ?? false,\n\t\t\t\t\tincludeBcs: options.include?.bcs ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.transaction,\n\t\t);\n\n\t\treturn parseTransaction(result, options.include);\n\t}\n\tasync executeTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.ExecuteTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: ExecuteTransactionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\ttransactionDataBcs: toBase64(options.transaction),\n\t\t\t\t\tsignatures: options.signatures,\n\t\t\t\t\tincludeTransaction: options.include?.transaction ?? false,\n\t\t\t\t\tincludeEffects: options.include?.effects ?? false,\n\t\t\t\t\tincludeEvents: options.include?.events ?? false,\n\t\t\t\t\tincludeBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t\t\tincludeObjectTypes: options.include?.objectTypes ?? false,\n\t\t\t\t\tincludeBcs: options.include?.bcs ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.executeTransaction,\n\t\t);\n\n\t\treturn parseTransaction(result.effects?.transaction!, options.include);\n\t}\n\tasync simulateTransaction<Include extends SuiClientTypes.SimulateTransactionInclude = {}>(\n\t\toptions: SuiClientTypes.SimulateTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.SimulateTransactionResult<Include>> {\n\t\tif (!(options.transaction instanceof Uint8Array)) {\n\t\t\tawait options.transaction.prepareForSerialization({ client: this });\n\t\t}\n\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: SimulateTransactionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\ttransaction:\n\t\t\t\t\t\toptions.transaction instanceof Uint8Array\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tbcs: {\n\t\t\t\t\t\t\t\t\t\tvalue: toBase64(options.transaction),\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: transactionToGrpcJson(options.transaction),\n\t\t\t\t\tincludeTransaction: options.include?.transaction ?? false,\n\t\t\t\t\tincludeEffects: options.include?.effects ?? false,\n\t\t\t\t\tincludeEvents: options.include?.events ?? false,\n\t\t\t\t\tincludeBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t\t\tincludeObjectTypes: options.include?.objectTypes ?? false,\n\t\t\t\t\tincludeCommandResults: options.include?.commandResults ?? false,\n\t\t\t\t\tincludeBcs: options.include?.bcs ?? false,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.simulateTransaction,\n\t\t);\n\n\t\tconst transactionResult = parseTransaction(result.effects?.transaction!, options.include);\n\n\t\tconst commandResults =\n\t\t\toptions.include?.commandResults && result.outputs\n\t\t\t\t? result.outputs.map((output) => ({\n\t\t\t\t\t\treturnValues: (output.returnValues ?? []).map((rv) => ({\n\t\t\t\t\t\t\tbcs: rv.value?.bcs ? fromBase64(rv.value.bcs) : null,\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tmutatedReferences: (output.mutatedReferences ?? []).map((mr) => ({\n\t\t\t\t\t\t\tbcs: mr.value?.bcs ? fromBase64(mr.value.bcs) : null,\n\t\t\t\t\t\t})),\n\t\t\t\t\t}))\n\t\t\t\t: undefined;\n\n\t\tif (transactionResult.$kind === 'Transaction') {\n\t\t\treturn {\n\t\t\t\t$kind: 'Transaction',\n\t\t\t\tTransaction: transactionResult.Transaction,\n\t\t\t\tcommandResults:\n\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t};\n\t\t} else {\n\t\t\treturn {\n\t\t\t\t$kind: 'FailedTransaction',\n\t\t\t\tFailedTransaction: transactionResult.FailedTransaction,\n\t\t\t\tcommandResults:\n\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t};\n\t\t}\n\t}\n\tasync getReferenceGasPrice(): Promise<SuiClientTypes.GetReferenceGasPriceResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetReferenceGasPriceDocument,\n\t\t\t},\n\t\t\t(result) => result.epoch?.referenceGasPrice,\n\t\t);\n\n\t\treturn {\n\t\t\treferenceGasPrice: result ?? '',\n\t\t};\n\t}\n\n\tasync getCurrentSystemState(): Promise<SuiClientTypes.GetCurrentSystemStateResponse> {\n\t\tconst result = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetCurrentSystemStateDocument,\n\t\t\t},\n\t\t\t(result) => result.epoch,\n\t\t);\n\n\t\tif (!result) {\n\t\t\tthrow new Error('Epoch data not found in response');\n\t\t}\n\n\t\tconst startMs = result.startTimestamp\n\t\t\t? new Date(result.startTimestamp).getTime().toString()\n\t\t\t: (null as never);\n\n\t\t// Parse the system state JSON from the MoveValue\n\t\tconst systemStateJson = result.systemState?.json as\n\t\t\t| {\n\t\t\t\t\tsystem_state_version?: string | number;\n\t\t\t\t\tsafe_mode?: boolean;\n\t\t\t\t\tsafe_mode_storage_rewards?: string;\n\t\t\t\t\tsafe_mode_computation_rewards?: string;\n\t\t\t\t\tsafe_mode_storage_rebates?: string | number;\n\t\t\t\t\tsafe_mode_non_refundable_storage_fee?: string | number;\n\t\t\t\t\tparameters?: {\n\t\t\t\t\t\tepoch_duration_ms?: string | number;\n\t\t\t\t\t\tstake_subsidy_start_epoch?: string | number;\n\t\t\t\t\t\tmax_validator_count?: string | number;\n\t\t\t\t\t\tmin_validator_joining_stake?: string | number;\n\t\t\t\t\t\tvalidator_low_stake_threshold?: string | number;\n\t\t\t\t\t\tvalidator_low_stake_grace_period?: string | number;\n\t\t\t\t\t};\n\t\t\t\t\tstorage_fund?: {\n\t\t\t\t\t\ttotal_object_storage_rebates?: string;\n\t\t\t\t\t\tnon_refundable_balance?: string;\n\t\t\t\t\t};\n\t\t\t\t\tstake_subsidy?: {\n\t\t\t\t\t\tbalance?: string;\n\t\t\t\t\t\tdistribution_counter?: string | number;\n\t\t\t\t\t\tcurrent_distribution_amount?: string | number;\n\t\t\t\t\t\tstake_subsidy_period_length?: string | number;\n\t\t\t\t\t\tstake_subsidy_decrease_rate?: number;\n\t\t\t\t\t};\n\t\t\t }\n\t\t\t| undefined;\n\n\t\treturn {\n\t\t\tsystemState: {\n\t\t\t\tsystemStateVersion: systemStateJson?.system_state_version?.toString() ?? (null as never),\n\t\t\t\tepoch: result.epochId?.toString() ?? (null as never),\n\t\t\t\tprotocolVersion: result.protocolConfigs?.protocolVersion?.toString() ?? (null as never),\n\t\t\t\treferenceGasPrice: result.referenceGasPrice ?? (null as never),\n\t\t\t\tepochStartTimestampMs: startMs,\n\t\t\t\tsafeMode: systemStateJson?.safe_mode ?? false,\n\t\t\t\tsafeModeStorageRewards: systemStateJson?.safe_mode_storage_rewards ?? (null as never),\n\t\t\t\tsafeModeComputationRewards:\n\t\t\t\t\tsystemStateJson?.safe_mode_computation_rewards ?? (null as never),\n\t\t\t\tsafeModeStorageRebates:\n\t\t\t\t\tsystemStateJson?.safe_mode_storage_rebates?.toString() ?? (null as never),\n\t\t\t\tsafeModeNonRefundableStorageFee:\n\t\t\t\t\tsystemStateJson?.safe_mode_non_refundable_storage_fee?.toString() ?? (null as never),\n\t\t\t\tparameters: {\n\t\t\t\t\tepochDurationMs:\n\t\t\t\t\t\tsystemStateJson?.parameters?.epoch_duration_ms?.toString() ?? (null as never),\n\t\t\t\t\tstakeSubsidyStartEpoch:\n\t\t\t\t\t\tsystemStateJson?.parameters?.stake_subsidy_start_epoch?.toString() ?? (null as never),\n\t\t\t\t\tmaxValidatorCount:\n\t\t\t\t\t\tsystemStateJson?.parameters?.max_validator_count?.toString() ?? (null as never),\n\t\t\t\t\tminValidatorJoiningStake:\n\t\t\t\t\t\tsystemStateJson?.parameters?.min_validator_joining_stake?.toString() ?? (null as never),\n\t\t\t\t\tvalidatorLowStakeThreshold:\n\t\t\t\t\t\tsystemStateJson?.parameters?.validator_low_stake_threshold?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t\tvalidatorLowStakeGracePeriod:\n\t\t\t\t\t\tsystemStateJson?.parameters?.validator_low_stake_grace_period?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t},\n\t\t\t\tstorageFund: {\n\t\t\t\t\ttotalObjectStorageRebates:\n\t\t\t\t\t\tsystemStateJson?.storage_fund?.total_object_storage_rebates ?? (null as never),\n\t\t\t\t\tnonRefundableBalance:\n\t\t\t\t\t\tsystemStateJson?.storage_fund?.non_refundable_balance ?? (null as never),\n\t\t\t\t},\n\t\t\t\tstakeSubsidy: {\n\t\t\t\t\tbalance: systemStateJson?.stake_subsidy?.balance ?? (null as never),\n\t\t\t\t\tdistributionCounter:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.distribution_counter?.toString() ?? (null as never),\n\t\t\t\t\tcurrentDistributionAmount:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.current_distribution_amount?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t\tstakeSubsidyPeriodLength:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.stake_subsidy_period_length?.toString() ??\n\t\t\t\t\t\t(null as never),\n\t\t\t\t\tstakeSubsidyDecreaseRate:\n\t\t\t\t\t\tsystemStateJson?.stake_subsidy?.stake_subsidy_decrease_rate ?? (null as never),\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listDynamicFields(\n\t\toptions: SuiClientTypes.ListDynamicFieldsOptions,\n\t): Promise<SuiClientTypes.ListDynamicFieldsResponse> {\n\t\treturn this.#graphqlClient.listDynamicFields(options);\n\t}\n\n\tasync verifyZkLoginSignature(\n\t\toptions: SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<SuiClientTypes.ZkLoginVerifyResponse> {\n\t\tconst intentScope =\n\t\t\toptions.intentScope === 'TransactionData'\n\t\t\t\t? ZkLoginIntentScope.TransactionData\n\t\t\t\t: ZkLoginIntentScope.PersonalMessage;\n\n\t\tconst { data } = await this.#graphqlClient.query({\n\t\t\tquery: VerifyZkLoginSignatureDocument,\n\t\t\tvariables: {\n\t\t\t\tbytes: options.bytes,\n\t\t\t\tsignature: options.signature,\n\t\t\t\tintentScope,\n\t\t\t\tauthor: options.address,\n\t\t\t},\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: data?.verifyZkLoginSignature?.success ?? false,\n\t\t\terrors: [],\n\t\t};\n\t}\n\n\tasync defaultNameServiceName(\n\t\toptions: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\tconst name = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: DefaultSuinsNameDocument,\n\t\t\t\tsignal: options.signal,\n\t\t\t\tvariables: {\n\t\t\t\t\taddress: options.address,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.address?.defaultNameRecord?.domain ?? null,\n\t\t);\n\n\t\treturn {\n\t\t\tdata: { name: name },\n\t\t};\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst moveFunction = await this.#graphqlQuery(\n\t\t\t{\n\t\t\t\tquery: GetMoveFunctionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\tpackage: (await this.mvr.resolvePackage({ package: options.packageId })).package,\n\t\t\t\t\tmodule: options.moduleName,\n\t\t\t\t\tfunction: options.name,\n\t\t\t\t},\n\t\t\t},\n\t\t\t(result) => result.package?.module?.function,\n\t\t);\n\n\t\tlet visibility: 'public' | 'private' | 'friend' | 'unknown' = 'unknown';\n\n\t\tswitch (moveFunction.visibility) {\n\t\t\tcase 'PUBLIC':\n\t\t\t\tvisibility = 'public';\n\t\t\t\tbreak;\n\t\t\tcase 'PRIVATE':\n\t\t\t\tvisibility = 'private';\n\t\t\t\tbreak;\n\t\t\tcase 'FRIEND':\n\t\t\t\tvisibility = 'friend';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(options.packageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: moveFunction.name,\n\t\t\t\tvisibility,\n\t\t\t\tisEntry: moveFunction.isEntry ?? false,\n\t\t\t\ttypeParameters:\n\t\t\t\t\tmoveFunction.typeParameters?.map(({ constraints }) => ({\n\t\t\t\t\t\tisPhantom: false,\n\t\t\t\t\t\tconstraints:\n\t\t\t\t\t\t\tconstraints.map((constraint) => {\n\t\t\t\t\t\t\t\tswitch (constraint) {\n\t\t\t\t\t\t\t\t\tcase 'COPY':\n\t\t\t\t\t\t\t\t\t\treturn 'copy';\n\t\t\t\t\t\t\t\t\tcase 'DROP':\n\t\t\t\t\t\t\t\t\t\treturn 'drop';\n\t\t\t\t\t\t\t\t\tcase 'STORE':\n\t\t\t\t\t\t\t\t\t\treturn 'store';\n\t\t\t\t\t\t\t\t\tcase 'KEY':\n\t\t\t\t\t\t\t\t\t\treturn 'key';\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\treturn 'unknown';\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}) ?? [],\n\t\t\t\t\t})) ?? [],\n\t\t\t\tparameters:\n\t\t\t\t\tmoveFunction.parameters?.map((param) => parseNormalizedSuiMoveType(param.signature)) ??\n\t\t\t\t\t[],\n\t\t\t\treturns:\n\t\t\t\t\tmoveFunction.return?.map(({ signature }) => parseNormalizedSuiMoveType(signature)) ?? [],\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getChainIdentifier(\n\t\t_options?: SuiClientTypes.GetChainIdentifierOptions,\n\t): Promise<SuiClientTypes.GetChainIdentifierResponse> {\n\t\treturn this.cache.read(['chainIdentifier'], async () => {\n\t\t\tconst checkpoint = await this.#graphqlQuery(\n\t\t\t\t{\n\t\t\t\t\tquery: GetChainIdentifierDocument,\n\t\t\t\t},\n\t\t\t\t(result) => result.checkpoint,\n\t\t\t);\n\t\t\tif (!checkpoint?.digest) {\n\t\t\t\tthrow new Error('Genesis checkpoint digest not found');\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tchainIdentifier: checkpoint.digest,\n\t\t\t};\n\t\t});\n\t}\n\n\tresolveTransactionPlugin() {\n\t\tconst graphqlClient = this.#graphqlClient;\n\t\treturn async function resolveTransactionData(\n\t\t\ttransactionData: TransactionDataBuilder,\n\t\t\toptions: BuildTransactionOptions,\n\t\t\tnext: () => Promise<void>,\n\t\t) {\n\t\t\tconst snapshot = transactionData.snapshot();\n\t\t\t// If sender is not set, use a dummy address for resolution purposes\n\t\t\tif (!snapshot.sender) {\n\t\t\t\tsnapshot.sender = '0x0000000000000000000000000000000000000000000000000000000000000000';\n\t\t\t}\n\t\t\tconst grpcTransaction = transactionDataToGrpcTransaction(snapshot);\n\t\t\tconst transactionJson = GrpcTransactionType.toJson(grpcTransaction);\n\n\t\t\tconst { data, errors } = await graphqlClient.query({\n\t\t\t\tquery: ResolveTransactionDocument,\n\t\t\t\tvariables: {\n\t\t\t\t\ttransaction: transactionJson,\n\t\t\t\t\tdoGasSelection:\n\t\t\t\t\t\t!options.onlyTransactionKind &&\n\t\t\t\t\t\t(snapshot.gasData.budget == null || snapshot.gasData.payment == null),\n\t\t\t\t},\n\t\t\t});\n\n\t\t\thandleGraphQLErrors(errors);\n\n\t\t\tconst transactionEffects = data?.simulateTransaction?.effects?.transaction?.effects;\n\t\t\tif (!options.onlyTransactionKind && transactionEffects?.status === ExecutionStatus.Failure) {\n\t\t\t\tconst executionError = parseGraphQLExecutionError(transactionEffects.executionError);\n\t\t\t\tconst errorMessage = executionError?.message ?? 'Transaction failed';\n\t\t\t\tthrow new SimulationError(`Transaction resolution failed: ${errorMessage}`, {\n\t\t\t\t\texecutionError,\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tconst resolvedTransactionBcs =\n\t\t\t\tdata?.simulateTransaction?.effects?.transaction?.transactionBcs;\n\n\t\t\tif (!resolvedTransactionBcs) {\n\t\t\t\tthrow new Error('simulateTransaction did not return resolved transaction data');\n\t\t\t}\n\n\t\t\tconst resolvedBuilder = TransactionDataBuilder.fromBytes(fromBase64(resolvedTransactionBcs));\n\t\t\tconst resolved = resolvedBuilder.snapshot();\n\n\t\t\tif (options.onlyTransactionKind) {\n\t\t\t\ttransactionData.applyResolvedData({\n\t\t\t\t\t...resolved,\n\t\t\t\t\tgasData: {\n\t\t\t\t\t\tbudget: null,\n\t\t\t\t\t\towner: null,\n\t\t\t\t\t\tpayment: null,\n\t\t\t\t\t\tprice: null,\n\t\t\t\t\t},\n\t\t\t\t\texpiration: null,\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\ttransactionData.applyResolvedData(resolved);\n\t\t\t}\n\n\t\t\treturn await next();\n\t\t};\n\t}\n}\nexport type GraphQLResponseErrors = Array<{\n\tmessage: string;\n\tlocations?: { line: number; column: number }[];\n\tpath?: (string | number)[];\n}>;\n\nfunction mapDisplay(\n\tinclude: boolean | undefined,\n\tdisplay: { output?: unknown | null; errors?: unknown | null } | null | undefined,\n): SuiClientTypes.Display | null | undefined {\n\tif (!include) return undefined;\n\tif (!display) return null;\n\treturn {\n\t\toutput: (display.output as Record<string, string> | null) ?? null,\n\t\terrors: (display.errors as Record<string, string> | null) ?? null,\n\t};\n}\n\nfunction handleGraphQLErrors(errors: GraphQLResponseErrors | undefined): void {\n\tif (!errors || errors.length === 0) return;\n\n\tconst errorInstances = errors.map((error) => new GraphQLResponseError(error));\n\n\tif (errorInstances.length === 1) {\n\t\tthrow errorInstances[0];\n\t}\n\n\tthrow new AggregateError(errorInstances);\n}\n\nclass GraphQLResponseError extends Error {\n\tlocations?: Array<{ line: number; column: number }>;\n\n\tconstructor(error: GraphQLResponseErrors[0]) {\n\t\tsuper(error.message);\n\t\tthis.locations = error.locations;\n\t}\n}\n\nfunction mapOwner(owner: Object_Owner_FieldsFragment): SuiClientTypes.ObjectOwner {\n\tswitch (owner.__typename) {\n\t\tcase 'AddressOwner':\n\t\t\treturn { $kind: 'AddressOwner', AddressOwner: owner.address?.address! };\n\t\tcase 'ConsensusAddressOwner':\n\t\t\treturn {\n\t\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\t\tConsensusAddressOwner: {\n\t\t\t\t\towner: owner?.address?.address!,\n\t\t\t\t\tstartVersion: String(owner.startVersion),\n\t\t\t\t},\n\t\t\t};\n\t\tcase 'ObjectOwner':\n\t\t\treturn { $kind: 'ObjectOwner', ObjectOwner: owner.address?.address! };\n\t\tcase 'Immutable':\n\t\t\treturn { $kind: 'Immutable', Immutable: true };\n\t\tcase 'Shared':\n\t\t\treturn {\n\t\t\t\t$kind: 'Shared',\n\t\t\t\tShared: { initialSharedVersion: String(owner.initialSharedVersion) },\n\t\t\t};\n\t}\n}\n\nfunction parseTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\ttransaction: Transaction_FieldsFragment,\n\tinclude?: Include,\n): SuiClientTypes.TransactionResult<Include> {\n\tconst objectTypes: Record<string, string> = {};\n\n\tif (include?.objectTypes) {\n\t\tconst effectsJson = transaction.effects?.effectsJson;\n\t\tif (effectsJson) {\n\t\t\tconst effects = TransactionEffectsType.fromJson(\n\t\t\t\teffectsJson as Parameters<typeof TransactionEffectsType.fromJson>[0],\n\t\t\t);\n\t\t\teffects.changedObjects?.forEach((change) => {\n\t\t\t\tif (change.objectId && change.objectType) {\n\t\t\t\t\tobjectTypes[change.objectId] = change.objectType;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tconst objectChanges = transaction.effects?.objectChanges?.nodes;\n\t\tif (objectChanges) {\n\t\t\tfor (const change of objectChanges) {\n\t\t\t\tconst type = change.outputState?.asMoveObject?.contents?.type?.repr;\n\t\t\t\tif (change.address && type) {\n\t\t\t\t\tobjectTypes[change.address] = type;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tlet balanceChanges: SuiClientTypes.BalanceChange[] | undefined;\n\tif (include?.balanceChanges) {\n\t\tconst balanceChangesJson = transaction.effects?.balanceChangesJson;\n\t\tif (Array.isArray(balanceChangesJson)) {\n\t\t\tbalanceChanges = balanceChangesJson.map((json) => {\n\t\t\t\tconst change = BalanceChangeType.fromJson(\n\t\t\t\t\tjson as Parameters<typeof BalanceChangeType.fromJson>[0],\n\t\t\t\t);\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: change.coinType!,\n\t\t\t\t\taddress: change.address!,\n\t\t\t\t\tamount: change.amount!,\n\t\t\t\t};\n\t\t\t});\n\t\t} else {\n\t\t\tbalanceChanges = [];\n\t\t}\n\t}\n\n\t// Get status from GraphQL response\n\tconst status: SuiClientTypes.ExecutionStatus =\n\t\ttransaction.effects?.status === ExecutionStatus.Success\n\t\t\t? { success: true, error: null }\n\t\t\t: {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terror: parseGraphQLExecutionError(transaction.effects?.executionError),\n\t\t\t\t};\n\n\tlet transactionData: SuiClientTypes.TransactionData | undefined;\n\tif (include?.transaction && transaction.transactionJson) {\n\t\tconst grpcTx = GrpcTransactionType.fromJson(\n\t\t\ttransaction.transactionJson as Parameters<typeof GrpcTransactionType.fromJson>[0],\n\t\t);\n\t\tconst resolved = grpcTransactionToTransactionData(grpcTx);\n\t\ttransactionData = {\n\t\t\tgasData: resolved.gasData,\n\t\t\tsender: resolved.sender,\n\t\t\texpiration: resolved.expiration,\n\t\t\tcommands: resolved.commands,\n\t\t\tinputs: resolved.inputs,\n\t\t\tversion: resolved.version,\n\t\t};\n\t}\n\n\tconst bcsBytes =\n\t\tinclude?.bcs && transaction.transactionBcs ? fromBase64(transaction.transactionBcs) : undefined;\n\n\tconst result: SuiClientTypes.Transaction<Include> = {\n\t\tdigest: transaction.digest!,\n\t\tstatus,\n\t\teffects: (include?.effects\n\t\t\t? parseTransactionEffectsBcs(fromBase64(transaction.effects?.effectsBcs!))\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['effects'],\n\t\tepoch: transaction.effects?.epoch?.epochId?.toString() ?? null,\n\t\tobjectTypes: (include?.objectTypes\n\t\t\t? objectTypes\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['objectTypes'],\n\t\ttransaction: transactionData as SuiClientTypes.Transaction<Include>['transaction'],\n\t\tbcs: bcsBytes as SuiClientTypes.Transaction<Include>['bcs'],\n\t\tsignatures: transaction.signatures.map((sig) => sig.signatureBytes!),\n\t\tbalanceChanges: balanceChanges as SuiClientTypes.Transaction<Include>['balanceChanges'],\n\t\tevents: (include?.events\n\t\t\t? (transaction.effects?.events?.nodes.map((event) => {\n\t\t\t\t\tconst eventType = event.contents?.type?.repr!;\n\t\t\t\t\tconst [packageId, module] = eventType.split('::');\n\t\t\t\t\treturn {\n\t\t\t\t\t\tpackageId,\n\t\t\t\t\t\tmodule,\n\t\t\t\t\t\tsender: event.sender?.address!,\n\t\t\t\t\t\teventType,\n\t\t\t\t\t\tbcs: event.contents?.bcs ? fromBase64(event.contents.bcs) : new Uint8Array(),\n\t\t\t\t\t\tjson: (event.contents?.json as Record<string, unknown>) ?? null,\n\t\t\t\t\t};\n\t\t\t\t}) ?? [])\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['events'],\n\t};\n\n\treturn status.success\n\t\t? { $kind: 'Transaction', Transaction: result, FailedTransaction: undefined as never }\n\t\t: { $kind: 'FailedTransaction', Transaction: undefined as never, FailedTransaction: result };\n}\n\nfunction parseNormalizedSuiMoveType(type: OpenMoveTypeSignature): SuiClientTypes.OpenSignature {\n\tlet reference: 'mutable' | 'immutable' | null = null;\n\n\tif (type.ref === '&') {\n\t\treference = 'immutable';\n\t} else if (type.ref === '&mut') {\n\t\treference = 'mutable';\n\t}\n\n\treturn {\n\t\treference,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type.body),\n\t};\n}\n\nfunction parseGraphQLExecutionError(\n\texecutionError: GraphQLExecutionError | null | undefined,\n): SuiClientTypes.ExecutionError {\n\tconst name = mapGraphQLExecutionErrorKind(executionError);\n\n\tif (name === 'MoveAbort' && executionError?.abortCode != null) {\n\t\tconst location = parseGraphQLMoveLocation(executionError);\n\t\tconst cleverError = parseGraphQLCleverError(executionError);\n\t\tconst commandMatch = executionError.message?.match(/in (\\d+)\\w* command/);\n\t\tconst command = commandMatch ? parseInt(commandMatch[1], 10) - 1 : undefined;\n\n\t\treturn {\n\t\t\t$kind: 'MoveAbort',\n\t\t\tmessage: formatMoveAbortMessage({\n\t\t\t\tcommand,\n\t\t\t\tlocation: location\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tpackage: location.package,\n\t\t\t\t\t\t\tmodule: location.module,\n\t\t\t\t\t\t\tfunctionName: location.functionName,\n\t\t\t\t\t\t\tinstruction: location.instruction,\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t\tabortCode: executionError.abortCode!,\n\t\t\t\tcleverError: cleverError\n\t\t\t\t\t? {\n\t\t\t\t\t\t\tlineNumber: cleverError.lineNumber,\n\t\t\t\t\t\t\tconstantName: cleverError.constantName,\n\t\t\t\t\t\t\tvalue: cleverError.value,\n\t\t\t\t\t\t}\n\t\t\t\t\t: undefined,\n\t\t\t}),\n\t\t\tcommand,\n\t\t\tMoveAbort: {\n\t\t\t\tabortCode: executionError.abortCode!,\n\t\t\t\tlocation,\n\t\t\t\tcleverError,\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\t$kind: 'Unknown',\n\t\tmessage: executionError?.message ?? 'Transaction failed',\n\t\tUnknown: null,\n\t};\n}\n\nfunction mapGraphQLExecutionErrorKind(\n\texecutionError: GraphQLExecutionError | null | undefined,\n): string {\n\tif (executionError?.abortCode != null) {\n\t\treturn 'MoveAbort';\n\t}\n\n\tconst match = executionError?.message?.match(/^(\\w+)/);\n\treturn match?.[1] ?? 'Unknown';\n}\n\nfunction parseGraphQLMoveLocation(\n\texecutionError: GraphQLExecutionError,\n): SuiClientTypes.MoveLocation | undefined {\n\tconst hasLocation = executionError.module?.package?.address && executionError.module?.name;\n\tif (!hasLocation) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\tpackage: executionError.module?.package?.address,\n\t\tmodule: executionError.module?.name,\n\t\tfunctionName: executionError.function?.name,\n\t\tinstruction: executionError.instructionOffset ?? undefined,\n\t};\n}\n\nfunction parseGraphQLCleverError(\n\texecutionError: GraphQLExecutionError,\n): SuiClientTypes.CleverError | undefined {\n\tconst hasCleverError = executionError.identifier || executionError.constant;\n\tif (!hasCleverError) {\n\t\treturn undefined;\n\t}\n\n\treturn {\n\t\tconstantName: executionError.identifier ?? undefined,\n\t\tvalue: executionError.constant ?? undefined,\n\t\tlineNumber: executionError.sourceLineNumber ?? undefined,\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: OpenMoveTypeSignatureBody,\n): SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'u8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'u16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'u32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'u64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'u128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'u256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.vector),\n\t\t};\n\t}\n\n\tif ('datatype' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.datatype.package)}::${type.datatype.module}::${type.datatype.type}`,\n\t\t\t\ttypeParameters: type.datatype.typeParameters.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('typeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.typeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"queries.d.mts","names":[],"sources":["../../../src/graphql/generated/queries.ts"],"sourcesContent":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"queries.d.mts","names":[],"sources":["../../../src/graphql/generated/queries.ts"],"sourcesContent":[],"mappings":";;;;cA05Ja,iDACH,MAAA,YACG,uBAAuB,SAAS;cAE/B,YAAY,uBAAuB,SAAS;;aAEtC;wCAEoB;uBAMR,uBAAuB,SAAS"}
|
|
@@ -59,6 +59,10 @@ const Object_FieldsFragmentDoc = new TypedDocumentString(`
|
|
|
59
59
|
contents {
|
|
60
60
|
bcs @include(if: $includeContent)
|
|
61
61
|
json @include(if: $includeJson)
|
|
62
|
+
display @include(if: $includeDisplay) {
|
|
63
|
+
output
|
|
64
|
+
errors
|
|
65
|
+
}
|
|
62
66
|
type {
|
|
63
67
|
repr
|
|
64
68
|
}
|
|
@@ -105,6 +109,10 @@ const Move_Object_FieldsFragmentDoc = new TypedDocumentString(`
|
|
|
105
109
|
contents {
|
|
106
110
|
bcs @include(if: $includeContent)
|
|
107
111
|
json @include(if: $includeJson)
|
|
112
|
+
display @include(if: $includeDisplay) {
|
|
113
|
+
output
|
|
114
|
+
errors
|
|
115
|
+
}
|
|
108
116
|
type {
|
|
109
117
|
repr
|
|
110
118
|
}
|
|
@@ -204,6 +212,7 @@ const Transaction_FieldsFragmentDoc = new TypedDocumentString(`
|
|
|
204
212
|
repr
|
|
205
213
|
}
|
|
206
214
|
bcs
|
|
215
|
+
json
|
|
207
216
|
}
|
|
208
217
|
}
|
|
209
218
|
}
|
|
@@ -325,7 +334,7 @@ const GetCurrentSystemStateDocument = new TypedDocumentString(`
|
|
|
325
334
|
}
|
|
326
335
|
`);
|
|
327
336
|
const GetDynamicFieldsDocument = new TypedDocumentString(`
|
|
328
|
-
query getDynamicFields($parentId: SuiAddress!, $first: Int, $cursor: String) {
|
|
337
|
+
query getDynamicFields($parentId: SuiAddress!, $first: Int, $cursor: String, $includeValue: Boolean = false) {
|
|
329
338
|
address(address: $parentId) {
|
|
330
339
|
dynamicFields(first: $first, after: $cursor) {
|
|
331
340
|
pageInfo {
|
|
@@ -342,6 +351,7 @@ const GetDynamicFieldsDocument = new TypedDocumentString(`
|
|
|
342
351
|
value {
|
|
343
352
|
__typename
|
|
344
353
|
... on MoveValue {
|
|
354
|
+
bcs @include(if: $includeValue)
|
|
345
355
|
type {
|
|
346
356
|
repr
|
|
347
357
|
}
|
|
@@ -349,6 +359,7 @@ const GetDynamicFieldsDocument = new TypedDocumentString(`
|
|
|
349
359
|
... on MoveObject {
|
|
350
360
|
address
|
|
351
361
|
contents {
|
|
362
|
+
bcs @include(if: $includeValue)
|
|
352
363
|
type {
|
|
353
364
|
repr
|
|
354
365
|
}
|
|
@@ -399,7 +410,7 @@ const DefaultSuinsNameDocument = new TypedDocumentString(`
|
|
|
399
410
|
}
|
|
400
411
|
`);
|
|
401
412
|
const GetOwnedObjectsDocument = new TypedDocumentString(`
|
|
402
|
-
query getOwnedObjects($owner: SuiAddress!, $limit: Int, $cursor: String, $filter: ObjectFilter, $includeContent: Boolean = false, $includePreviousTransaction: Boolean = false, $includeObjectBcs: Boolean = false, $includeJson: Boolean = false) {
|
|
413
|
+
query getOwnedObjects($owner: SuiAddress!, $limit: Int, $cursor: String, $filter: ObjectFilter, $includeContent: Boolean = false, $includePreviousTransaction: Boolean = false, $includeObjectBcs: Boolean = false, $includeJson: Boolean = false, $includeDisplay: Boolean = false) {
|
|
403
414
|
address(address: $owner) {
|
|
404
415
|
objects(first: $limit, after: $cursor, filter: $filter) {
|
|
405
416
|
pageInfo {
|
|
@@ -420,6 +431,10 @@ const GetOwnedObjectsDocument = new TypedDocumentString(`
|
|
|
420
431
|
contents {
|
|
421
432
|
bcs @include(if: $includeContent)
|
|
422
433
|
json @include(if: $includeJson)
|
|
434
|
+
display @include(if: $includeDisplay) {
|
|
435
|
+
output
|
|
436
|
+
errors
|
|
437
|
+
}
|
|
423
438
|
type {
|
|
424
439
|
repr
|
|
425
440
|
}
|
|
@@ -454,7 +469,7 @@ fragment OBJECT_OWNER_FIELDS on Owner {
|
|
|
454
469
|
}
|
|
455
470
|
}`);
|
|
456
471
|
const MultiGetObjectsDocument = new TypedDocumentString(`
|
|
457
|
-
query multiGetObjects($objectKeys: [ObjectKey!]!, $includeContent: Boolean = false, $includePreviousTransaction: Boolean = false, $includeObjectBcs: Boolean = false, $includeJson: Boolean = false) {
|
|
472
|
+
query multiGetObjects($objectKeys: [ObjectKey!]!, $includeContent: Boolean = false, $includePreviousTransaction: Boolean = false, $includeObjectBcs: Boolean = false, $includeJson: Boolean = false, $includeDisplay: Boolean = false) {
|
|
458
473
|
multiGetObjects(keys: $objectKeys) {
|
|
459
474
|
...OBJECT_FIELDS
|
|
460
475
|
}
|
|
@@ -468,6 +483,10 @@ const MultiGetObjectsDocument = new TypedDocumentString(`
|
|
|
468
483
|
contents {
|
|
469
484
|
bcs @include(if: $includeContent)
|
|
470
485
|
json @include(if: $includeJson)
|
|
486
|
+
display @include(if: $includeDisplay) {
|
|
487
|
+
output
|
|
488
|
+
errors
|
|
489
|
+
}
|
|
471
490
|
type {
|
|
472
491
|
repr
|
|
473
492
|
}
|
|
@@ -512,7 +531,6 @@ const SimulateTransactionDocument = new TypedDocumentString(`
|
|
|
512
531
|
doGasSelection: $doGasSelection
|
|
513
532
|
checksEnabled: $checksEnabled
|
|
514
533
|
) {
|
|
515
|
-
error
|
|
516
534
|
effects {
|
|
517
535
|
transaction {
|
|
518
536
|
...TRANSACTION_FIELDS
|
|
@@ -597,6 +615,7 @@ const SimulateTransactionDocument = new TypedDocumentString(`
|
|
|
597
615
|
repr
|
|
598
616
|
}
|
|
599
617
|
bcs
|
|
618
|
+
json
|
|
600
619
|
}
|
|
601
620
|
}
|
|
602
621
|
}
|
|
@@ -608,7 +627,6 @@ const ExecuteTransactionDocument = new TypedDocumentString(`
|
|
|
608
627
|
transactionDataBcs: $transactionDataBcs
|
|
609
628
|
signatures: $signatures
|
|
610
629
|
) {
|
|
611
|
-
errors
|
|
612
630
|
effects {
|
|
613
631
|
transaction {
|
|
614
632
|
...TRANSACTION_FIELDS
|
|
@@ -681,6 +699,7 @@ const ExecuteTransactionDocument = new TypedDocumentString(`
|
|
|
681
699
|
repr
|
|
682
700
|
}
|
|
683
701
|
bcs
|
|
702
|
+
json
|
|
684
703
|
}
|
|
685
704
|
}
|
|
686
705
|
}
|
|
@@ -757,6 +776,7 @@ const GetTransactionBlockDocument = new TypedDocumentString(`
|
|
|
757
776
|
repr
|
|
758
777
|
}
|
|
759
778
|
bcs
|
|
779
|
+
json
|
|
760
780
|
}
|
|
761
781
|
}
|
|
762
782
|
}
|
|
@@ -765,7 +785,6 @@ const GetTransactionBlockDocument = new TypedDocumentString(`
|
|
|
765
785
|
const ResolveTransactionDocument = new TypedDocumentString(`
|
|
766
786
|
query resolveTransaction($transaction: JSON!, $doGasSelection: Boolean = true) {
|
|
767
787
|
simulateTransaction(transaction: $transaction, doGasSelection: $doGasSelection) {
|
|
768
|
-
error
|
|
769
788
|
effects {
|
|
770
789
|
transaction {
|
|
771
790
|
transactionBcs
|
|
@@ -803,7 +822,6 @@ const VerifyZkLoginSignatureDocument = new TypedDocumentString(`
|
|
|
803
822
|
author: $author
|
|
804
823
|
) {
|
|
805
824
|
success
|
|
806
|
-
error
|
|
807
825
|
}
|
|
808
826
|
}
|
|
809
827
|
`);
|