@mysten/sui 2.11.0 → 2.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/bcs/bcs.d.mts +6 -6
  3. package/dist/bcs/index.d.mts +20 -20
  4. package/dist/client/types.d.mts +8 -0
  5. package/dist/client/types.d.mts.map +1 -1
  6. package/dist/cryptography/signature.d.mts +6 -6
  7. package/dist/graphql/core.d.mts.map +1 -1
  8. package/dist/graphql/core.mjs +2 -1
  9. package/dist/graphql/core.mjs.map +1 -1
  10. package/dist/grpc/core.d.mts.map +1 -1
  11. package/dist/grpc/core.mjs +3 -1
  12. package/dist/grpc/core.mjs.map +1 -1
  13. package/dist/grpc/proto/sui/rpc/v2/ledger_service.client.d.mts +4 -4
  14. package/dist/grpc/proto/sui/rpc/v2/move_package_service.client.d.mts +4 -4
  15. package/dist/grpc/proto/sui/rpc/v2/signature_verification_service.client.d.mts +4 -4
  16. package/dist/grpc/proto/sui/rpc/v2/state_service.client.d.mts +4 -4
  17. package/dist/grpc/proto/sui/rpc/v2/subscription_service.client.d.mts +4 -4
  18. package/dist/grpc/proto/sui/rpc/v2/transaction.d.mts.map +1 -1
  19. package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.mts +4 -4
  20. package/dist/jsonRpc/core.d.mts.map +1 -1
  21. package/dist/jsonRpc/core.mjs +30 -20
  22. package/dist/jsonRpc/core.mjs.map +1 -1
  23. package/dist/transactions/Transaction.d.mts +9 -9
  24. package/dist/transactions/Transaction.d.mts.map +1 -1
  25. package/dist/transactions/data/v1.d.mts +220 -220
  26. package/dist/transactions/data/v1.d.mts.map +1 -1
  27. package/dist/transactions/data/v2.d.mts +16 -16
  28. package/dist/transactions/data/v2.d.mts.map +1 -1
  29. package/dist/version.mjs +1 -1
  30. package/dist/version.mjs.map +1 -1
  31. package/dist/zklogin/bcs.d.mts +14 -14
  32. package/dist/zklogin/bcs.d.mts.map +1 -1
  33. package/docs/clients/core.md +15 -0
  34. package/docs/migrations/sui-2.0/json-rpc-migration.md +17 -1
  35. package/docs/utils/derived_objects.md +21 -0
  36. package/package.json +3 -3
  37. package/src/client/types.ts +8 -0
  38. package/src/graphql/core.ts +1 -0
  39. package/src/grpc/core.ts +5 -0
  40. package/src/jsonRpc/core.ts +50 -29
  41. package/src/version.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"core.mjs","names":["#jsonRpcClient","result","bcs"],"sources":["../../src/jsonRpc/core.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, type InferBcsInput } from '@mysten/bcs';\n\nimport { bcs, TypeTagSerializer } from '../bcs/index.js';\nimport type {\n\tExecutionStatus as JsonRpcExecutionStatus,\n\tObjectOwner,\n\tSuiMoveAbilitySet,\n\tSuiMoveAbort,\n\tSuiMoveNormalizedType,\n\tSuiMoveVisibility,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiObjectDataFilter,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from './types/index.js';\nimport { Transaction } from '../transactions/Transaction.js';\nimport { coreClientResolveTransactionPlugin } from '../client/core-resolver.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport { normalizeSuiAddress, normalizeStructTag } from '../utils/sui-types.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { SUI_FRAMEWORK_ADDRESS, SUI_SYSTEM_ADDRESS } from '../utils/constants.js';\nimport { CoreClient } from '../client/core.js';\nimport type { SuiClientTypes } from '../client/types.js';\nimport { ObjectError } from '../client/errors.js';\nimport {\n\tformatMoveAbortMessage,\n\tparseTransactionBcs,\n\tparseTransactionEffectsBcs,\n} from '../client/index.js';\nimport type { SuiJsonRpcClient } from './client.js';\n\nconst MAX_GAS = 50_000_000_000;\n\nfunction parseJsonRpcExecutionStatus(\n\tstatus: JsonRpcExecutionStatus,\n\tabortError?: SuiMoveAbort | null,\n): SuiClientTypes.ExecutionStatus {\n\tif (status.status === 'success') {\n\t\treturn { success: true, error: null };\n\t}\n\n\tconst rawMessage = status.error ?? 'Unknown';\n\n\tif (abortError) {\n\t\tconst commandMatch = rawMessage.match(/in command (\\d+)/);\n\t\tconst command = commandMatch ? parseInt(commandMatch[1], 10) : undefined;\n\n\t\tconst instructionMatch = rawMessage.match(/instruction:\\s*(\\d+)/);\n\t\tconst instruction = instructionMatch ? parseInt(instructionMatch[1], 10) : undefined;\n\n\t\tconst moduleParts = abortError.module_id?.split('::') ?? [];\n\t\tconst pkg = moduleParts[0] ? normalizeSuiAddress(moduleParts[0]) : undefined;\n\t\tconst module = moduleParts[1];\n\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\t$kind: 'MoveAbort',\n\t\t\t\tmessage: formatMoveAbortMessage({\n\t\t\t\t\tcommand,\n\t\t\t\t\tlocation:\n\t\t\t\t\t\tpkg && module\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpackage: pkg,\n\t\t\t\t\t\t\t\t\tmodule,\n\t\t\t\t\t\t\t\t\tfunctionName: abortError.function ?? undefined,\n\t\t\t\t\t\t\t\t\tinstruction,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tabortCode: String(abortError.error_code ?? 0),\n\t\t\t\t\tcleverError: abortError.line != null ? { lineNumber: abortError.line } : undefined,\n\t\t\t\t}),\n\t\t\t\tcommand,\n\t\t\t\tMoveAbort: {\n\t\t\t\t\tabortCode: String(abortError.error_code ?? 0),\n\t\t\t\t\tlocation: abortError.module_id\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tpackage: normalizeSuiAddress(abortError.module_id.split('::')[0] ?? ''),\n\t\t\t\t\t\t\t\tmodule: abortError.module_id.split('::')[1] ?? '',\n\t\t\t\t\t\t\t\tfunctionName: abortError.function ?? undefined,\n\t\t\t\t\t\t\t\tinstruction,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\tsuccess: false,\n\t\terror: {\n\t\t\t$kind: 'Unknown',\n\t\t\tmessage: rawMessage,\n\t\t\tUnknown: null,\n\t\t},\n\t};\n}\n\nexport class JSONRpcCoreClient extends CoreClient {\n\t#jsonRpcClient: SuiJsonRpcClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiJsonRpcClient;\n\t\tmvr?: SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectsOptions<Include>,\n\t) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: SuiClientTypes.GetObjectsResponse<Include>['objects'] = [];\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: options.include?.content || options.include?.objectBcs ? true : false,\n\t\t\t\t\tshowPreviousTransaction:\n\t\t\t\t\t\toptions.include?.previousTransaction || options.include?.objectBcs ? true : false,\n\t\t\t\t\tshowStorageRebate: options.include?.objectBcs ?? false,\n\t\t\t\t\tshowContent: options.include?.json ?? false,\n\t\t\t\t\tshowDisplay: options.include?.display ?? false,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!, options.include));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync listOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t) {\n\t\tlet filter: SuiObjectDataFilter | null = null;\n\t\tif (options.type) {\n\t\t\tconst parts = options.type.split('::');\n\t\t\tif (parts.length === 1) {\n\t\t\t\tfilter = { Package: options.type };\n\t\t\t} else if (parts.length === 2) {\n\t\t\t\tfilter = { MoveModule: { package: parts[0], module: parts[1] } };\n\t\t\t} else {\n\t\t\t\tfilter = { StructType: options.type };\n\t\t\t}\n\t\t}\n\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.owner,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: options.include?.content || options.include?.objectBcs ? true : false,\n\t\t\t\tshowPreviousTransaction:\n\t\t\t\t\toptions.include?.previousTransaction || options.include?.objectBcs ? true : false,\n\t\t\t\tshowStorageRebate: options.include?.objectBcs ?? false,\n\t\t\t\tshowContent: options.include?.json ?? false,\n\t\t\t\tshowDisplay: options.include?.display ?? false,\n\t\t\t},\n\t\t\tfilter,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!, options.include);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync listCoins(options: SuiClientTypes.ListCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.owner,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map(\n\t\t\t\t(coin): SuiClientTypes.Coin => ({\n\t\t\t\t\tobjectId: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: normalizeStructTag(`0x2::coin::Coin<${coin.coinType}>`),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: options.owner,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.owner,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst addressBalance = balance.fundsInAddressBalance ?? '0';\n\t\tconst coinBalance = String(BigInt(balance.totalBalance) - BigInt(addressBalance));\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: normalizeStructTag(balance.coinType),\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t\tcoinBalance,\n\t\t\t\taddressBalance,\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 result = await this.#jsonRpcClient.getCoinMetadata({\n\t\t\tcoinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tif (!result) {\n\t\t\treturn { coinMetadata: null };\n\t\t}\n\n\t\treturn {\n\t\t\tcoinMetadata: {\n\t\t\t\tid: result.id ?? null,\n\t\t\t\tdecimals: result.decimals,\n\t\t\t\tname: result.name,\n\t\t\t\tsymbol: result.symbol,\n\t\t\t\tdescription: result.description,\n\t\t\t\ticonUrl: result.iconUrl ?? null,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listBalances(options: SuiClientTypes.ListBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.owner,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => {\n\t\t\t\tconst addressBalance = balance.fundsInAddressBalance ?? '0';\n\t\t\t\tconst coinBalance = String(BigInt(balance.totalBalance) - BigInt(addressBalance));\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: normalizeStructTag(balance.coinType),\n\t\t\t\t\tbalance: balance.totalBalance,\n\t\t\t\t\tcoinBalance,\n\t\t\t\t\taddressBalance,\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\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 transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\t// showRawInput is always needed to extract signatures from SenderSignedData\n\t\t\t\tshowRawInput: true,\n\t\t\t\t// showEffects is always needed to get status\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowObjectChanges: options.include?.objectTypes ?? false,\n\t\t\t\tshowRawEffects: options.include?.effects ?? false,\n\t\t\t\tshowEvents: options.include?.events ?? false,\n\t\t\t\tshowBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn parseTransaction(transaction, 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 transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\t// showRawInput is always needed to extract signatures from SenderSignedData\n\t\t\t\tshowRawInput: true,\n\t\t\t\t// showEffects is always needed to get status\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowRawEffects: options.include?.effects ?? false,\n\t\t\t\tshowEvents: options.include?.events ?? false,\n\t\t\t\tshowObjectChanges: options.include?.objectTypes ?? false,\n\t\t\t\tshowBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn parseTransaction(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 tx = Transaction.from(options.transaction);\n\n\t\tconst data =\n\t\t\toptions.transaction instanceof Uint8Array\n\t\t\t\t? null\n\t\t\t\t: TransactionDataBuilder.restore(options.transaction.getData());\n\n\t\tconst transactionBytes = data\n\t\t\t? data.build({\n\t\t\t\t\toverrides: {\n\t\t\t\t\t\tgasData: {\n\t\t\t\t\t\t\tbudget: data.gasData.budget ?? String(MAX_GAS),\n\t\t\t\t\t\t\tprice: data.gasData.price ?? String(await this.#jsonRpcClient.getReferenceGasPrice()),\n\t\t\t\t\t\t\tpayment: data.gasData.payment ?? [],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t: (options.transaction as Uint8Array);\n\n\t\tconst result = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\ttransactionBlock: transactionBytes,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: result.effects,\n\t\t\tobjectChanges: result.objectChanges,\n\t\t});\n\n\t\tconst transactionData: SuiClientTypes.Transaction<Include> = {\n\t\t\tdigest: TransactionDataBuilder.getDigestFromBytes(transactionBytes),\n\t\t\tepoch: null,\n\t\t\tstatus: effects.status,\n\t\t\teffects: (options.include?.effects\n\t\t\t\t? effects\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['effects'],\n\t\t\tobjectTypes: (options.include?.objectTypes\n\t\t\t\t? objectTypes\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['objectTypes'],\n\t\t\tsignatures: [],\n\t\t\ttransaction: (options.include?.transaction\n\t\t\t\t? parseTransactionBcs(\n\t\t\t\t\t\toptions.transaction instanceof Uint8Array\n\t\t\t\t\t\t\t? options.transaction\n\t\t\t\t\t\t\t: await options.transaction\n\t\t\t\t\t\t\t\t\t.build({\n\t\t\t\t\t\t\t\t\t\tclient: this,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.catch(() => null as never),\n\t\t\t\t\t)\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['transaction'],\n\t\t\tbcs: (options.include?.bcs\n\t\t\t\t? transactionBytes\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['bcs'],\n\t\t\tbalanceChanges: (options.include?.balanceChanges\n\t\t\t\t? result.balanceChanges.map((change) => ({\n\t\t\t\t\t\tcoinType: normalizeStructTag(change.coinType),\n\t\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\t\tamount: change.amount,\n\t\t\t\t\t}))\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['balanceChanges'],\n\t\t\tevents: (options.include?.events\n\t\t\t\t? (result.events?.map((event) => ({\n\t\t\t\t\t\tpackageId: event.packageId,\n\t\t\t\t\t\tmodule: event.transactionModule,\n\t\t\t\t\t\tsender: event.sender,\n\t\t\t\t\t\teventType: event.type,\n\t\t\t\t\t\tbcs: 'bcs' in event ? fromBase64(event.bcs) : new Uint8Array(),\n\t\t\t\t\t\tjson: (event.parsedJson as Record<string, unknown>) ?? null,\n\t\t\t\t\t})) ?? [])\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['events'],\n\t\t};\n\n\t\tlet commandResults: SuiClientTypes.CommandResult[] | undefined;\n\t\tif (options.include?.commandResults) {\n\t\t\ttry {\n\t\t\t\tconst sender = tx.getData().sender ?? normalizeSuiAddress('0x0');\n\t\t\t\tconst devInspectResult = await this.#jsonRpcClient.devInspectTransactionBlock({\n\t\t\t\t\tsender,\n\t\t\t\t\ttransactionBlock: tx,\n\t\t\t\t\tsignal: options.signal,\n\t\t\t\t});\n\n\t\t\t\tif (devInspectResult.results) {\n\t\t\t\t\tcommandResults = devInspectResult.results.map((result) => ({\n\t\t\t\t\t\treturnValues: (result.returnValues ?? []).map(([bytes]) => ({\n\t\t\t\t\t\t\tbcs: new Uint8Array(bytes),\n\t\t\t\t\t\t})),\n\t\t\t\t\t\tmutatedReferences: (result.mutableReferenceOutputs ?? []).map(([, bytes]) => ({\n\t\t\t\t\t\t\tbcs: new Uint8Array(bytes),\n\t\t\t\t\t\t})),\n\t\t\t\t\t}));\n\t\t\t\t}\n\t\t\t} catch {}\n\t\t}\n\n\t\treturn effects.status.success\n\t\t\t? {\n\t\t\t\t\t$kind: 'Transaction',\n\t\t\t\t\tTransaction: transactionData,\n\t\t\t\t\tcommandResults:\n\t\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\t$kind: 'FailedTransaction',\n\t\t\t\t\tFailedTransaction: transactionData,\n\t\t\t\t\tcommandResults:\n\t\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(\n\t\toptions?: SuiClientTypes.GetProtocolConfigOptions,\n\t): Promise<SuiClientTypes.GetProtocolConfigResponse> {\n\t\tconst result = await this.#jsonRpcClient.getProtocolConfig({ signal: options?.signal });\n\n\t\tconst attributes: Record<string, string | null> = {};\n\t\tfor (const [key, value] of Object.entries(result.attributes)) {\n\t\t\tif (value === null) {\n\t\t\t\tattributes[key] = null;\n\t\t\t} else if ('u16' in value) {\n\t\t\t\tattributes[key] = value.u16;\n\t\t\t} else if ('u32' in value) {\n\t\t\t\tattributes[key] = value.u32;\n\t\t\t} else if ('u64' in value) {\n\t\t\t\tattributes[key] = value.u64;\n\t\t\t} else if ('f64' in value) {\n\t\t\t\tattributes[key] = value.f64;\n\t\t\t} else if ('bool' in value) {\n\t\t\t\tattributes[key] = value.bool;\n\t\t\t} else {\n\t\t\t\tconst entries = Object.entries(value);\n\t\t\t\tattributes[key] = entries.length === 1 ? String(entries[0][1]) : JSON.stringify(value);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tprotocolConfig: {\n\t\t\t\tprotocolVersion: result.protocolVersion,\n\t\t\t\tfeatureFlags: { ...result.featureFlags },\n\t\t\t\tattributes,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getCurrentSystemState(\n\t\toptions?: SuiClientTypes.GetCurrentSystemStateOptions,\n\t): Promise<SuiClientTypes.GetCurrentSystemStateResponse> {\n\t\tconst systemState = await this.#jsonRpcClient.getLatestSuiSystemState({\n\t\t\tsignal: options?.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tsystemState: {\n\t\t\t\tsystemStateVersion: systemState.systemStateVersion,\n\t\t\t\tepoch: systemState.epoch,\n\t\t\t\tprotocolVersion: systemState.protocolVersion,\n\t\t\t\treferenceGasPrice: systemState.referenceGasPrice?.toString() ?? (null as never),\n\t\t\t\tepochStartTimestampMs: systemState.epochStartTimestampMs,\n\t\t\t\tsafeMode: systemState.safeMode,\n\t\t\t\tsafeModeStorageRewards: systemState.safeModeStorageRewards,\n\t\t\t\tsafeModeComputationRewards: systemState.safeModeComputationRewards,\n\t\t\t\tsafeModeStorageRebates: systemState.safeModeStorageRebates,\n\t\t\t\tsafeModeNonRefundableStorageFee: systemState.safeModeNonRefundableStorageFee,\n\t\t\t\tparameters: {\n\t\t\t\t\tepochDurationMs: systemState.epochDurationMs,\n\t\t\t\t\tstakeSubsidyStartEpoch: systemState.stakeSubsidyStartEpoch,\n\t\t\t\t\tmaxValidatorCount: systemState.maxValidatorCount,\n\t\t\t\t\tminValidatorJoiningStake: systemState.minValidatorJoiningStake,\n\t\t\t\t\tvalidatorLowStakeThreshold: systemState.validatorLowStakeThreshold,\n\t\t\t\t\tvalidatorLowStakeGracePeriod: systemState.validatorLowStakeGracePeriod,\n\t\t\t\t},\n\t\t\t\tstorageFund: {\n\t\t\t\t\ttotalObjectStorageRebates: systemState.storageFundTotalObjectStorageRebates,\n\t\t\t\t\tnonRefundableBalance: systemState.storageFundNonRefundableBalance,\n\t\t\t\t},\n\t\t\t\tstakeSubsidy: {\n\t\t\t\t\tbalance: systemState.stakeSubsidyBalance,\n\t\t\t\t\tdistributionCounter: systemState.stakeSubsidyDistributionCounter,\n\t\t\t\t\tcurrentDistributionAmount: systemState.stakeSubsidyCurrentDistributionAmount,\n\t\t\t\t\tstakeSubsidyPeriodLength: systemState.stakeSubsidyPeriodLength,\n\t\t\t\t\tstakeSubsidyDecreaseRate: systemState.stakeSubsidyDecreaseRate,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listDynamicFields(options: SuiClientTypes.ListDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField): SuiClientTypes.DynamicFieldEntry => {\n\t\t\t\tconst isDynamicObject = dynamicField.type === 'DynamicObject';\n\t\t\t\tconst fullType = isDynamicObject\n\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>, 0x2::object::ID>`\n\t\t\t\t\t: `0x2::dynamic_field::Field<${dynamicField.name.type}, ${dynamicField.objectType}>`;\n\n\t\t\t\tconst bcsBytes = fromBase64(dynamicField.bcsName);\n\t\t\t\tconst derivedNameType = isDynamicObject\n\t\t\t\t\t? `0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>`\n\t\t\t\t\t: dynamicField.name.type;\n\t\t\t\treturn {\n\t\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\t\tfieldId: deriveDynamicFieldID(options.parentId, derivedNameType, bcsBytes),\n\t\t\t\t\ttype: normalizeStructTag(fullType),\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: bcsBytes,\n\t\t\t\t\t},\n\t\t\t\t\tvalueType: dynamicField.objectType,\n\t\t\t\t\tchildId: isDynamicObject ? dynamicField.objectId : undefined,\n\t\t\t\t} as SuiClientTypes.DynamicFieldEntry;\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.address,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tasync defaultNameServiceName(\n\t\toptions: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\tconst name = (await this.#jsonRpcClient.resolveNameServiceNames(options)).data[0];\n\t\treturn {\n\t\t\tdata: {\n\t\t\t\tname,\n\t\t\t},\n\t\t};\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn coreClientResolveTransactionPlugin;\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst resolvedPackageId = (await this.mvr.resolvePackage({ package: options.packageId }))\n\t\t\t.package;\n\t\tconst result = await this.#jsonRpcClient.getNormalizedMoveFunction({\n\t\t\tpackage: resolvedPackageId,\n\t\t\tmodule: options.moduleName,\n\t\t\tfunction: options.name,\n\t\t});\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(resolvedPackageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: options.name,\n\t\t\t\tvisibility: parseVisibility(result.visibility),\n\t\t\t\tisEntry: result.isEntry,\n\t\t\t\ttypeParameters: result.typeParameters.map((abilities) => ({\n\t\t\t\t\tisPhantom: false,\n\t\t\t\t\tconstraints: parseAbilities(abilities),\n\t\t\t\t})),\n\t\t\t\tparameters: result.parameters.map((param) => parseNormalizedSuiMoveType(param)),\n\t\t\t\treturns: result.return.map((ret) => parseNormalizedSuiMoveType(ret)),\n\t\t\t},\n\t\t};\n\t}\n\n\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.#jsonRpcClient.getCheckpoint({ id: '0' });\n\t\t\treturn {\n\t\t\t\tchainIdentifier: checkpoint.digest,\n\t\t\t};\n\t\t});\n\t}\n}\n\nfunction serializeObjectToBcs(object: SuiObjectData): Uint8Array | undefined {\n\tif (object.bcs?.dataType !== 'moveObject') {\n\t\treturn undefined;\n\t}\n\n\ttry {\n\t\t// Normalize the type string to ensure consistent address formatting (0x2 vs 0x00...02)\n\t\tconst typeStr = normalizeStructTag(object.bcs.type);\n\t\tlet moveObjectType: InferBcsInput<typeof bcs.MoveObjectType>;\n\n\t\t// Normalize constants for comparison\n\t\tconst normalizedSuiFramework = normalizeSuiAddress(SUI_FRAMEWORK_ADDRESS);\n\t\tconst gasCoinType = normalizeStructTag(\n\t\t\t`${SUI_FRAMEWORK_ADDRESS}::coin::Coin<${SUI_FRAMEWORK_ADDRESS}::sui::SUI>`,\n\t\t);\n\t\tconst stakedSuiType = normalizeStructTag(`${SUI_SYSTEM_ADDRESS}::staking_pool::StakedSui`);\n\t\tconst coinPrefix = `${normalizedSuiFramework}::coin::Coin<`;\n\n\t\tif (typeStr === gasCoinType) {\n\t\t\tmoveObjectType = { GasCoin: null };\n\t\t} else if (typeStr === stakedSuiType) {\n\t\t\tmoveObjectType = { StakedSui: null };\n\t\t} else if (typeStr.startsWith(coinPrefix)) {\n\t\t\tconst innerTypeMatch = typeStr.match(\n\t\t\t\tnew RegExp(\n\t\t\t\t\t`${normalizedSuiFramework.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}::coin::Coin<(.+)>$`,\n\t\t\t\t),\n\t\t\t);\n\t\t\tif (innerTypeMatch) {\n\t\t\t\tconst innerTypeTag = TypeTagSerializer.parseFromStr(innerTypeMatch[1], true);\n\t\t\t\tmoveObjectType = { Coin: innerTypeTag };\n\t\t\t} else {\n\t\t\t\tthrow new Error('Failed to parse Coin type');\n\t\t\t}\n\t\t} else {\n\t\t\tconst typeTag = TypeTagSerializer.parseFromStr(typeStr, true);\n\t\t\tif (typeof typeTag !== 'object' || !('struct' in typeTag)) {\n\t\t\t\tthrow new Error('Expected struct type tag');\n\t\t\t}\n\t\t\tmoveObjectType = { Other: typeTag.struct };\n\t\t}\n\n\t\tconst contents = fromBase64(object.bcs.bcsBytes);\n\t\tconst owner = convertOwnerToBcs(object.owner!);\n\n\t\treturn bcs.Object.serialize({\n\t\t\tdata: {\n\t\t\t\tMove: {\n\t\t\t\t\ttype: moveObjectType,\n\t\t\t\t\thasPublicTransfer: object.bcs.hasPublicTransfer,\n\t\t\t\t\tversion: object.bcs.version,\n\t\t\t\t\tcontents,\n\t\t\t\t},\n\t\t\t},\n\t\t\towner,\n\t\t\tpreviousTransaction: object.previousTransaction!,\n\t\t\tstorageRebate: object.storageRebate!,\n\t\t}).toBytes();\n\t} catch {\n\t\t// If serialization fails, return undefined\n\t\treturn undefined;\n\t}\n}\n\nfunction parseObject<Include extends SuiClientTypes.ObjectInclude = {}>(\n\tobject: SuiObjectData,\n\tinclude?: Include,\n): SuiClientTypes.Object<Include> {\n\tconst bcsContent =\n\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : undefined;\n\n\tconst objectBcs = include?.objectBcs ? serializeObjectToBcs(object) : undefined;\n\n\t// Package objects have type \"package\" which is not a struct tag, so don't normalize it\n\tconst type =\n\t\tobject.type && object.type.includes('::')\n\t\t\t? normalizeStructTag(object.type)\n\t\t\t: (object.type ?? '');\n\n\tconst jsonContent =\n\t\tinclude?.json && object.content?.dataType === 'moveObject'\n\t\t\t? (object.content.fields as Record<string, unknown>)\n\t\t\t: include?.json\n\t\t\t\t? null\n\t\t\t\t: undefined;\n\n\tconst displayData = include?.display\n\t\t? object.display?.data != null\n\t\t\t? { output: object.display.data as Record<string, string>, errors: null }\n\t\t\t: null\n\t\t: undefined;\n\n\treturn {\n\t\tobjectId: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype,\n\t\tcontent: (include?.content\n\t\t\t? bcsContent\n\t\t\t: undefined) as SuiClientTypes.Object<Include>['content'],\n\t\towner: parseOwner(object.owner!),\n\t\tpreviousTransaction: (include?.previousTransaction\n\t\t\t? (object.previousTransaction ?? undefined)\n\t\t\t: undefined) as SuiClientTypes.Object<Include>['previousTransaction'],\n\t\tobjectBcs: objectBcs as SuiClientTypes.Object<Include>['objectBcs'],\n\t\tjson: jsonContent as SuiClientTypes.Object<Include>['json'],\n\t\tdisplay: displayData as SuiClientTypes.Object<Include>['display'],\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\tConsensusAddressOwner: {\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction convertOwnerToBcs(owner: ObjectOwner) {\n\tif (owner === 'Immutable') {\n\t\treturn { Immutable: null };\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn { AddressOwner: owner.AddressOwner };\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn { ObjectOwner: owner.ObjectOwner };\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\tShared: { initialSharedVersion: owner.Shared.initial_shared_version },\n\t\t};\n\t}\n\n\tif (typeof owner === 'object' && owner !== null && 'ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\tConsensusAddressOwner: {\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseOwnerAddress(owner: ObjectOwner): string | null {\n\tif (owner === 'Immutable') {\n\t\treturn null;\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn owner.ConsensusAddressOwner.owner;\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn owner.AddressOwner;\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn owner.ObjectOwner;\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn null;\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\ttransaction: SuiTransactionBlockResponse,\n\tinclude?: Include,\n): SuiClientTypes.TransactionResult<Include> {\n\tconst objectTypes: Record<string, string> = {};\n\n\tif (include?.objectTypes) {\n\t\ttransaction.objectChanges?.forEach((change) => {\n\t\t\tif (change.type !== 'published') {\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t}\n\t\t});\n\t}\n\n\tlet transactionData: SuiClientTypes.TransactionData | undefined;\n\tlet signatures: string[] = [];\n\tlet bcsBytes: Uint8Array | undefined;\n\n\tif (transaction.rawTransaction) {\n\t\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction))[0];\n\t\tsignatures = parsedTx.txSignatures;\n\n\t\tif (include?.transaction || include?.bcs) {\n\t\t\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\t\t\tif (include?.bcs) {\n\t\t\t\tbcsBytes = bytes;\n\t\t\t}\n\n\t\t\tif (include?.transaction) {\n\t\t\t\tconst data = TransactionDataBuilder.restore({\n\t\t\t\t\tversion: 2,\n\t\t\t\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\t\t\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\t\t\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\t\t\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\t\t\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t\t\t\t});\n\t\t\t\ttransactionData = { ...data };\n\t\t\t}\n\t\t}\n\t}\n\n\t// Get status from JSON-RPC response\n\tconst status: SuiClientTypes.ExecutionStatus = transaction.effects?.status\n\t\t? parseJsonRpcExecutionStatus(transaction.effects.status, transaction.effects.abortError)\n\t\t: {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: {\n\t\t\t\t\t$kind: 'Unknown',\n\t\t\t\t\tmessage: 'Unknown',\n\t\t\t\t\tUnknown: null,\n\t\t\t\t},\n\t\t\t};\n\n\tconst effectsBytes = transaction.rawEffects ? new Uint8Array(transaction.rawEffects) : null;\n\n\tconst result: SuiClientTypes.Transaction<Include> = {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\tstatus,\n\t\teffects: (include?.effects && effectsBytes\n\t\t\t? parseTransactionEffectsBcs(effectsBytes)\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['effects'],\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,\n\t\tbalanceChanges: (include?.balanceChanges\n\t\t\t? (transaction.balanceChanges?.map((change) => ({\n\t\t\t\t\tcoinType: normalizeStructTag(change.coinType),\n\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\tamount: change.amount,\n\t\t\t\t})) ?? [])\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['balanceChanges'],\n\t\tevents: (include?.events\n\t\t\t? (transaction.events?.map((event) => ({\n\t\t\t\t\tpackageId: event.packageId,\n\t\t\t\t\tmodule: event.transactionModule,\n\t\t\t\t\tsender: event.sender,\n\t\t\t\t\teventType: event.type,\n\t\t\t\t\tbcs: 'bcs' in event ? fromBase64(event.bcs) : new Uint8Array(),\n\t\t\t\t\tjson: (event.parsedJson as Record<string, unknown>) ?? null,\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? {\n\t\t\t\t$kind: 'Transaction',\n\t\t\t\tTransaction: result,\n\t\t\t}\n\t\t: {\n\t\t\t\t$kind: 'FailedTransaction',\n\t\t\t\tFailedTransaction: result,\n\t\t\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedConsensusObjects: SuiClientTypes.UnchangedConsensusObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tversion: 2,\n\t\t\tstatus: parseJsonRpcExecutionStatus(effects.status, effects.abortError),\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tobjectId: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedConsensusObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nfunction parseNormalizedSuiMoveType(type: SuiMoveNormalizedType): SuiClientTypes.OpenSignature {\n\tif (typeof type !== 'string') {\n\t\tif ('Reference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'immutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.Reference),\n\t\t\t};\n\t\t}\n\n\t\tif ('MutableReference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'mutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.MutableReference),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn {\n\t\treference: null,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: SuiMoveNormalizedType,\n): SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'Address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'Bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'U8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'U16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'U32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'U64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'U128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'U256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.Vector),\n\t\t};\n\t}\n\n\tif ('Struct' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.Struct.address)}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\t\ttypeParameters: type.Struct.typeArguments.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.TypeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n\nfunction parseAbilities(abilitySet: SuiMoveAbilitySet): SuiClientTypes.Ability[] {\n\treturn abilitySet.abilities.map((ability) => {\n\t\tswitch (ability) {\n\t\t\tcase 'Copy':\n\t\t\t\treturn 'copy';\n\t\t\tcase 'Drop':\n\t\t\t\treturn 'drop';\n\t\t\tcase 'Store':\n\t\t\t\treturn 'store';\n\t\t\tcase 'Key':\n\t\t\t\treturn 'key';\n\t\t\tdefault:\n\t\t\t\treturn 'unknown';\n\t\t}\n\t});\n}\n\nfunction parseVisibility(visibility: SuiMoveVisibility): SuiClientTypes.Visibility {\n\tswitch (visibility) {\n\t\tcase 'Public':\n\t\t\treturn 'public';\n\t\tcase 'Private':\n\t\t\treturn 'private';\n\t\tcase 'Friend':\n\t\t\treturn 'friend';\n\t\tdefault:\n\t\t\treturn 'unknown';\n\t}\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"core.mjs","names":["#jsonRpcClient","bcs"],"sources":["../../src/jsonRpc/core.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { fromBase64, type InferBcsInput } from '@mysten/bcs';\n\nimport { bcs, TypeTagSerializer } from '../bcs/index.js';\nimport type {\n\tDevInspectResults,\n\tDryRunTransactionBlockResponse,\n\tExecutionStatus as JsonRpcExecutionStatus,\n\tObjectOwner,\n\tSuiMoveAbilitySet,\n\tSuiMoveAbort,\n\tSuiMoveNormalizedType,\n\tSuiMoveVisibility,\n\tSuiObjectChange,\n\tSuiObjectData,\n\tSuiObjectDataFilter,\n\tSuiTransactionBlockResponse,\n\tTransactionEffects,\n} from './types/index.js';\nimport { Transaction } from '../transactions/Transaction.js';\nimport { coreClientResolveTransactionPlugin } from '../client/core-resolver.js';\nimport { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport { normalizeSuiAddress, normalizeStructTag } from '../utils/sui-types.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { SUI_FRAMEWORK_ADDRESS, SUI_SYSTEM_ADDRESS } from '../utils/constants.js';\nimport { CoreClient } from '../client/core.js';\nimport type { SuiClientTypes } from '../client/types.js';\nimport { ObjectError } from '../client/errors.js';\nimport {\n\tformatMoveAbortMessage,\n\tparseTransactionBcs,\n\tparseTransactionEffectsBcs,\n} from '../client/index.js';\nimport type { SuiJsonRpcClient } from './client.js';\n\nconst MAX_GAS = 50_000_000_000;\n\nfunction parseJsonRpcExecutionStatus(\n\tstatus: JsonRpcExecutionStatus,\n\tabortError?: SuiMoveAbort | null,\n): SuiClientTypes.ExecutionStatus {\n\tif (status.status === 'success') {\n\t\treturn { success: true, error: null };\n\t}\n\n\tconst rawMessage = status.error ?? 'Unknown';\n\n\tif (abortError) {\n\t\tconst commandMatch = rawMessage.match(/in command (\\d+)/);\n\t\tconst command = commandMatch ? parseInt(commandMatch[1], 10) : undefined;\n\n\t\tconst instructionMatch = rawMessage.match(/instruction:\\s*(\\d+)/);\n\t\tconst instruction = instructionMatch ? parseInt(instructionMatch[1], 10) : undefined;\n\n\t\tconst moduleParts = abortError.module_id?.split('::') ?? [];\n\t\tconst pkg = moduleParts[0] ? normalizeSuiAddress(moduleParts[0]) : undefined;\n\t\tconst module = moduleParts[1];\n\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: {\n\t\t\t\t$kind: 'MoveAbort',\n\t\t\t\tmessage: formatMoveAbortMessage({\n\t\t\t\t\tcommand,\n\t\t\t\t\tlocation:\n\t\t\t\t\t\tpkg && module\n\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\tpackage: pkg,\n\t\t\t\t\t\t\t\t\tmodule,\n\t\t\t\t\t\t\t\t\tfunctionName: abortError.function ?? undefined,\n\t\t\t\t\t\t\t\t\tinstruction,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\tabortCode: String(abortError.error_code ?? 0),\n\t\t\t\t\tcleverError: abortError.line != null ? { lineNumber: abortError.line } : undefined,\n\t\t\t\t}),\n\t\t\t\tcommand,\n\t\t\t\tMoveAbort: {\n\t\t\t\t\tabortCode: String(abortError.error_code ?? 0),\n\t\t\t\t\tlocation: abortError.module_id\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tpackage: normalizeSuiAddress(abortError.module_id.split('::')[0] ?? ''),\n\t\t\t\t\t\t\t\tmodule: abortError.module_id.split('::')[1] ?? '',\n\t\t\t\t\t\t\t\tfunctionName: abortError.function ?? undefined,\n\t\t\t\t\t\t\t\tinstruction,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: undefined,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\treturn {\n\t\tsuccess: false,\n\t\terror: {\n\t\t\t$kind: 'Unknown',\n\t\t\tmessage: rawMessage,\n\t\t\tUnknown: null,\n\t\t},\n\t};\n}\n\nexport class JSONRpcCoreClient extends CoreClient {\n\t#jsonRpcClient: SuiJsonRpcClient;\n\n\tconstructor({\n\t\tjsonRpcClient,\n\t\tmvr,\n\t}: {\n\t\tjsonRpcClient: SuiJsonRpcClient;\n\t\tmvr?: SuiClientTypes.MvrOptions;\n\t}) {\n\t\tsuper({ network: jsonRpcClient.network, base: jsonRpcClient, mvr });\n\t\tthis.#jsonRpcClient = jsonRpcClient;\n\t}\n\n\tasync getObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectsOptions<Include>,\n\t) {\n\t\tconst batches = chunk(options.objectIds, 50);\n\t\tconst results: SuiClientTypes.GetObjectsResponse<Include>['objects'] = [];\n\t\tfor (const batch of batches) {\n\t\t\tconst objects = await this.#jsonRpcClient.multiGetObjects({\n\t\t\t\tids: batch,\n\t\t\t\toptions: {\n\t\t\t\t\tshowOwner: true,\n\t\t\t\t\tshowType: true,\n\t\t\t\t\tshowBcs: options.include?.content || options.include?.objectBcs ? true : false,\n\t\t\t\t\tshowPreviousTransaction:\n\t\t\t\t\t\toptions.include?.previousTransaction || options.include?.objectBcs ? true : false,\n\t\t\t\t\tshowStorageRebate: options.include?.objectBcs ?? false,\n\t\t\t\t\tshowContent: options.include?.json ?? false,\n\t\t\t\t\tshowDisplay: options.include?.display ?? false,\n\t\t\t\t},\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\n\t\t\tfor (const [idx, object] of objects.entries()) {\n\t\t\t\tif (object.error) {\n\t\t\t\t\tresults.push(ObjectError.fromResponse(object.error, batch[idx]));\n\t\t\t\t} else {\n\t\t\t\t\tresults.push(parseObject(object.data!, options.include));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tobjects: results,\n\t\t};\n\t}\n\tasync listOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t) {\n\t\tlet filter: SuiObjectDataFilter | null = null;\n\t\tif (options.type) {\n\t\t\tconst parts = options.type.split('::');\n\t\t\tif (parts.length === 1) {\n\t\t\t\tfilter = { Package: options.type };\n\t\t\t} else if (parts.length === 2) {\n\t\t\t\tfilter = { MoveModule: { package: parts[0], module: parts[1] } };\n\t\t\t} else {\n\t\t\t\tfilter = { StructType: options.type };\n\t\t\t}\n\t\t}\n\n\t\tconst objects = await this.#jsonRpcClient.getOwnedObjects({\n\t\t\towner: options.owner,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\toptions: {\n\t\t\t\tshowOwner: true,\n\t\t\t\tshowType: true,\n\t\t\t\tshowBcs: options.include?.content || options.include?.objectBcs ? true : false,\n\t\t\t\tshowPreviousTransaction:\n\t\t\t\t\toptions.include?.previousTransaction || options.include?.objectBcs ? true : false,\n\t\t\t\tshowStorageRebate: options.include?.objectBcs ?? false,\n\t\t\t\tshowContent: options.include?.json ?? false,\n\t\t\t\tshowDisplay: options.include?.display ?? false,\n\t\t\t},\n\t\t\tfilter,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: objects.data.map((result) => {\n\t\t\t\tif (result.error) {\n\t\t\t\t\tthrow ObjectError.fromResponse(result.error);\n\t\t\t\t}\n\n\t\t\t\treturn parseObject(result.data!, options.include);\n\t\t\t}),\n\t\t\thasNextPage: objects.hasNextPage,\n\t\t\tcursor: objects.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync listCoins(options: SuiClientTypes.ListCoinsOptions) {\n\t\tconst coins = await this.#jsonRpcClient.getCoins({\n\t\t\towner: options.owner,\n\t\t\tcoinType: options.coinType,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tobjects: coins.data.map(\n\t\t\t\t(coin): SuiClientTypes.Coin => ({\n\t\t\t\t\tobjectId: coin.coinObjectId,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tbalance: coin.balance,\n\t\t\t\t\ttype: normalizeStructTag(`0x2::coin::Coin<${coin.coinType}>`),\n\t\t\t\t\towner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: options.owner,\n\t\t\t\t\t},\n\t\t\t\t}),\n\t\t\t),\n\t\t\thasNextPage: coins.hasNextPage,\n\t\t\tcursor: coins.nextCursor ?? null,\n\t\t};\n\t}\n\n\tasync getBalance(options: SuiClientTypes.GetBalanceOptions) {\n\t\tconst balance = await this.#jsonRpcClient.getBalance({\n\t\t\towner: options.owner,\n\t\t\tcoinType: options.coinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst addressBalance = balance.fundsInAddressBalance ?? '0';\n\t\tconst coinBalance = String(BigInt(balance.totalBalance) - BigInt(addressBalance));\n\n\t\treturn {\n\t\t\tbalance: {\n\t\t\t\tcoinType: normalizeStructTag(balance.coinType),\n\t\t\t\tbalance: balance.totalBalance,\n\t\t\t\tcoinBalance,\n\t\t\t\taddressBalance,\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 result = await this.#jsonRpcClient.getCoinMetadata({\n\t\t\tcoinType,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tif (!result) {\n\t\t\treturn { coinMetadata: null };\n\t\t}\n\n\t\treturn {\n\t\t\tcoinMetadata: {\n\t\t\t\tid: result.id ?? null,\n\t\t\t\tdecimals: result.decimals,\n\t\t\t\tname: result.name,\n\t\t\t\tsymbol: result.symbol,\n\t\t\t\tdescription: result.description,\n\t\t\t\ticonUrl: result.iconUrl ?? null,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listBalances(options: SuiClientTypes.ListBalancesOptions) {\n\t\tconst balances = await this.#jsonRpcClient.getAllBalances({\n\t\t\towner: options.owner,\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tbalances: balances.map((balance) => {\n\t\t\t\tconst addressBalance = balance.fundsInAddressBalance ?? '0';\n\t\t\t\tconst coinBalance = String(BigInt(balance.totalBalance) - BigInt(addressBalance));\n\t\t\t\treturn {\n\t\t\t\t\tcoinType: normalizeStructTag(balance.coinType),\n\t\t\t\t\tbalance: balance.totalBalance,\n\t\t\t\t\tcoinBalance,\n\t\t\t\t\taddressBalance,\n\t\t\t\t};\n\t\t\t}),\n\t\t\thasNextPage: false,\n\t\t\tcursor: null,\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 transaction = await this.#jsonRpcClient.getTransactionBlock({\n\t\t\tdigest: options.digest,\n\t\t\toptions: {\n\t\t\t\t// showRawInput is always needed to extract signatures from SenderSignedData\n\t\t\t\tshowRawInput: true,\n\t\t\t\t// showEffects is always needed to get status\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowObjectChanges: options.include?.objectTypes ?? false,\n\t\t\t\tshowRawEffects: options.include?.effects ?? false,\n\t\t\t\tshowEvents: options.include?.events ?? false,\n\t\t\t\tshowBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn parseTransaction(transaction, 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 transaction = await this.#jsonRpcClient.executeTransactionBlock({\n\t\t\ttransactionBlock: options.transaction,\n\t\t\tsignature: options.signatures,\n\t\t\toptions: {\n\t\t\t\t// showRawInput is always needed to extract signatures from SenderSignedData\n\t\t\t\tshowRawInput: true,\n\t\t\t\t// showEffects is always needed to get status\n\t\t\t\tshowEffects: true,\n\t\t\t\tshowRawEffects: options.include?.effects ?? false,\n\t\t\t\tshowEvents: options.include?.events ?? false,\n\t\t\t\tshowObjectChanges: options.include?.objectTypes ?? false,\n\t\t\t\tshowBalanceChanges: options.include?.balanceChanges ?? false,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\treturn parseTransaction(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 tx = Transaction.from(options.transaction);\n\n\t\tconst data =\n\t\t\toptions.transaction instanceof Uint8Array\n\t\t\t\t? null\n\t\t\t\t: TransactionDataBuilder.restore(options.transaction.getData());\n\n\t\tconst transactionBytes = data\n\t\t\t? data.build({\n\t\t\t\t\toverrides: {\n\t\t\t\t\t\tgasData: {\n\t\t\t\t\t\t\tbudget: data.gasData.budget ?? String(MAX_GAS),\n\t\t\t\t\t\t\tprice: data.gasData.price ?? String(await this.#jsonRpcClient.getReferenceGasPrice()),\n\t\t\t\t\t\t\tpayment: data.gasData.payment ?? [],\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t: (options.transaction as Uint8Array);\n\n\t\tconst sender = tx.getData().sender ?? normalizeSuiAddress('0x0');\n\t\tconst checksDisabled = options.checksEnabled === false;\n\n\t\tlet dryRunResult: DryRunTransactionBlockResponse | null = null;\n\t\ttry {\n\t\t\tdryRunResult = await this.#jsonRpcClient.dryRunTransactionBlock({\n\t\t\t\ttransactionBlock: transactionBytes,\n\t\t\t\tsignal: options.signal,\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tif (!checksDisabled) {\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t}\n\n\t\tlet devInspectResult: DevInspectResults | null = null;\n\t\tif (options.include?.commandResults || checksDisabled) {\n\t\t\ttry {\n\t\t\t\tdevInspectResult = await this.#jsonRpcClient.devInspectTransactionBlock({\n\t\t\t\t\tsender,\n\t\t\t\t\ttransactionBlock: tx,\n\t\t\t\t\tsignal: options.signal,\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t}\n\n\t\tconst dryRunFailed = !dryRunResult || dryRunResult.effects.status.status !== 'success';\n\t\tconst effectsSource =\n\t\t\tchecksDisabled && dryRunFailed && devInspectResult\n\t\t\t\t? devInspectResult\n\t\t\t\t: (dryRunResult ?? devInspectResult);\n\t\tif (!effectsSource) {\n\t\t\tthrow new Error('simulateTransaction failed: no results from dryRun or devInspect');\n\t\t}\n\n\t\tconst { effects, objectTypes } = parseTransactionEffectsJson({\n\t\t\teffects: effectsSource.effects,\n\t\t\tobjectChanges: dryRunResult?.objectChanges ?? [],\n\t\t});\n\n\t\tconst transactionData: SuiClientTypes.Transaction<Include> = {\n\t\t\tdigest: TransactionDataBuilder.getDigestFromBytes(transactionBytes),\n\t\t\tepoch: null,\n\t\t\tstatus: effects.status,\n\t\t\teffects: (options.include?.effects\n\t\t\t\t? effects\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['effects'],\n\t\t\tobjectTypes: (options.include?.objectTypes\n\t\t\t\t? objectTypes\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['objectTypes'],\n\t\t\tsignatures: [],\n\t\t\ttransaction: (options.include?.transaction\n\t\t\t\t? parseTransactionBcs(\n\t\t\t\t\t\toptions.transaction instanceof Uint8Array\n\t\t\t\t\t\t\t? options.transaction\n\t\t\t\t\t\t\t: await options.transaction\n\t\t\t\t\t\t\t\t\t.build({\n\t\t\t\t\t\t\t\t\t\tclient: this,\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t.catch(() => null as never),\n\t\t\t\t\t)\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['transaction'],\n\t\t\tbcs: (options.include?.bcs\n\t\t\t\t? transactionBytes\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['bcs'],\n\t\t\tbalanceChanges: (options.include?.balanceChanges && dryRunResult\n\t\t\t\t? dryRunResult.balanceChanges.map((change) => ({\n\t\t\t\t\t\tcoinType: normalizeStructTag(change.coinType),\n\t\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\t\tamount: change.amount,\n\t\t\t\t\t}))\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['balanceChanges'],\n\t\t\tevents: (options.include?.events\n\t\t\t\t? (effectsSource.events?.map((event) => ({\n\t\t\t\t\t\tpackageId: event.packageId,\n\t\t\t\t\t\tmodule: event.transactionModule,\n\t\t\t\t\t\tsender: event.sender,\n\t\t\t\t\t\teventType: event.type,\n\t\t\t\t\t\tbcs: 'bcs' in event ? fromBase64(event.bcs) : new Uint8Array(),\n\t\t\t\t\t\tjson: (event.parsedJson as Record<string, unknown>) ?? null,\n\t\t\t\t\t})) ?? [])\n\t\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['events'],\n\t\t};\n\n\t\tlet commandResults: SuiClientTypes.CommandResult[] | undefined;\n\t\tif (options.include?.commandResults && devInspectResult?.results) {\n\t\t\tcommandResults = devInspectResult.results.map((result) => ({\n\t\t\t\treturnValues: (result.returnValues ?? []).map(([bytes]) => ({\n\t\t\t\t\tbcs: new Uint8Array(bytes),\n\t\t\t\t})),\n\t\t\t\tmutatedReferences: (result.mutableReferenceOutputs ?? []).map(([, bytes]) => ({\n\t\t\t\t\tbcs: new Uint8Array(bytes),\n\t\t\t\t})),\n\t\t\t}));\n\t\t}\n\n\t\treturn effects.status.success\n\t\t\t? {\n\t\t\t\t\t$kind: 'Transaction',\n\t\t\t\t\tTransaction: transactionData,\n\t\t\t\t\tcommandResults:\n\t\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t\t}\n\t\t\t: {\n\t\t\t\t\t$kind: 'FailedTransaction',\n\t\t\t\t\tFailedTransaction: transactionData,\n\t\t\t\t\tcommandResults:\n\t\t\t\t\t\tcommandResults as SuiClientTypes.SimulateTransactionResult<Include>['commandResults'],\n\t\t\t\t};\n\t}\n\tasync getReferenceGasPrice(options?: SuiClientTypes.GetReferenceGasPriceOptions) {\n\t\tconst referenceGasPrice = await this.#jsonRpcClient.getReferenceGasPrice({\n\t\t\tsignal: options?.signal,\n\t\t});\n\n\t\treturn {\n\t\t\treferenceGasPrice: String(referenceGasPrice),\n\t\t};\n\t}\n\n\tasync getProtocolConfig(\n\t\toptions?: SuiClientTypes.GetProtocolConfigOptions,\n\t): Promise<SuiClientTypes.GetProtocolConfigResponse> {\n\t\tconst result = await this.#jsonRpcClient.getProtocolConfig({ signal: options?.signal });\n\n\t\tconst attributes: Record<string, string | null> = {};\n\t\tfor (const [key, value] of Object.entries(result.attributes)) {\n\t\t\tif (value === null) {\n\t\t\t\tattributes[key] = null;\n\t\t\t} else if ('u16' in value) {\n\t\t\t\tattributes[key] = value.u16;\n\t\t\t} else if ('u32' in value) {\n\t\t\t\tattributes[key] = value.u32;\n\t\t\t} else if ('u64' in value) {\n\t\t\t\tattributes[key] = value.u64;\n\t\t\t} else if ('f64' in value) {\n\t\t\t\tattributes[key] = value.f64;\n\t\t\t} else if ('bool' in value) {\n\t\t\t\tattributes[key] = value.bool;\n\t\t\t} else {\n\t\t\t\tconst entries = Object.entries(value);\n\t\t\t\tattributes[key] = entries.length === 1 ? String(entries[0][1]) : JSON.stringify(value);\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tprotocolConfig: {\n\t\t\t\tprotocolVersion: result.protocolVersion,\n\t\t\t\tfeatureFlags: { ...result.featureFlags },\n\t\t\t\tattributes,\n\t\t\t},\n\t\t};\n\t}\n\n\tasync getCurrentSystemState(\n\t\toptions?: SuiClientTypes.GetCurrentSystemStateOptions,\n\t): Promise<SuiClientTypes.GetCurrentSystemStateResponse> {\n\t\tconst systemState = await this.#jsonRpcClient.getLatestSuiSystemState({\n\t\t\tsignal: options?.signal,\n\t\t});\n\n\t\treturn {\n\t\t\tsystemState: {\n\t\t\t\tsystemStateVersion: systemState.systemStateVersion,\n\t\t\t\tepoch: systemState.epoch,\n\t\t\t\tprotocolVersion: systemState.protocolVersion,\n\t\t\t\treferenceGasPrice: systemState.referenceGasPrice?.toString() ?? (null as never),\n\t\t\t\tepochStartTimestampMs: systemState.epochStartTimestampMs,\n\t\t\t\tsafeMode: systemState.safeMode,\n\t\t\t\tsafeModeStorageRewards: systemState.safeModeStorageRewards,\n\t\t\t\tsafeModeComputationRewards: systemState.safeModeComputationRewards,\n\t\t\t\tsafeModeStorageRebates: systemState.safeModeStorageRebates,\n\t\t\t\tsafeModeNonRefundableStorageFee: systemState.safeModeNonRefundableStorageFee,\n\t\t\t\tparameters: {\n\t\t\t\t\tepochDurationMs: systemState.epochDurationMs,\n\t\t\t\t\tstakeSubsidyStartEpoch: systemState.stakeSubsidyStartEpoch,\n\t\t\t\t\tmaxValidatorCount: systemState.maxValidatorCount,\n\t\t\t\t\tminValidatorJoiningStake: systemState.minValidatorJoiningStake,\n\t\t\t\t\tvalidatorLowStakeThreshold: systemState.validatorLowStakeThreshold,\n\t\t\t\t\tvalidatorLowStakeGracePeriod: systemState.validatorLowStakeGracePeriod,\n\t\t\t\t},\n\t\t\t\tstorageFund: {\n\t\t\t\t\ttotalObjectStorageRebates: systemState.storageFundTotalObjectStorageRebates,\n\t\t\t\t\tnonRefundableBalance: systemState.storageFundNonRefundableBalance,\n\t\t\t\t},\n\t\t\t\tstakeSubsidy: {\n\t\t\t\t\tbalance: systemState.stakeSubsidyBalance,\n\t\t\t\t\tdistributionCounter: systemState.stakeSubsidyDistributionCounter,\n\t\t\t\t\tcurrentDistributionAmount: systemState.stakeSubsidyCurrentDistributionAmount,\n\t\t\t\t\tstakeSubsidyPeriodLength: systemState.stakeSubsidyPeriodLength,\n\t\t\t\t\tstakeSubsidyDecreaseRate: systemState.stakeSubsidyDecreaseRate,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tasync listDynamicFields(options: SuiClientTypes.ListDynamicFieldsOptions) {\n\t\tconst dynamicFields = await this.#jsonRpcClient.getDynamicFields({\n\t\t\tparentId: options.parentId,\n\t\t\tlimit: options.limit,\n\t\t\tcursor: options.cursor,\n\t\t});\n\n\t\treturn {\n\t\t\tdynamicFields: dynamicFields.data.map((dynamicField): SuiClientTypes.DynamicFieldEntry => {\n\t\t\t\tconst isDynamicObject = dynamicField.type === 'DynamicObject';\n\t\t\t\tconst fullType = isDynamicObject\n\t\t\t\t\t? `0x2::dynamic_field::Field<0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>, 0x2::object::ID>`\n\t\t\t\t\t: `0x2::dynamic_field::Field<${dynamicField.name.type}, ${dynamicField.objectType}>`;\n\n\t\t\t\tconst bcsBytes = fromBase64(dynamicField.bcsName);\n\t\t\t\tconst derivedNameType = isDynamicObject\n\t\t\t\t\t? `0x2::dynamic_object_field::Wrapper<${dynamicField.name.type}>`\n\t\t\t\t\t: dynamicField.name.type;\n\t\t\t\treturn {\n\t\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\t\tfieldId: deriveDynamicFieldID(options.parentId, derivedNameType, bcsBytes),\n\t\t\t\t\ttype: normalizeStructTag(fullType),\n\t\t\t\t\tname: {\n\t\t\t\t\t\ttype: dynamicField.name.type,\n\t\t\t\t\t\tbcs: bcsBytes,\n\t\t\t\t\t},\n\t\t\t\t\tvalueType: dynamicField.objectType,\n\t\t\t\t\tchildId: isDynamicObject ? dynamicField.objectId : undefined,\n\t\t\t\t} as SuiClientTypes.DynamicFieldEntry;\n\t\t\t}),\n\t\t\thasNextPage: dynamicFields.hasNextPage,\n\t\t\tcursor: dynamicFields.nextCursor,\n\t\t};\n\t}\n\n\tasync verifyZkLoginSignature(options: SuiClientTypes.VerifyZkLoginSignatureOptions) {\n\t\tconst result = await this.#jsonRpcClient.verifyZkLoginSignature({\n\t\t\tbytes: options.bytes,\n\t\t\tsignature: options.signature,\n\t\t\tintentScope: options.intentScope,\n\t\t\tauthor: options.address,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: result.success,\n\t\t\terrors: result.errors,\n\t\t};\n\t}\n\n\tasync defaultNameServiceName(\n\t\toptions: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse> {\n\t\tconst name = (await this.#jsonRpcClient.resolveNameServiceNames(options)).data[0];\n\t\treturn {\n\t\t\tdata: {\n\t\t\t\tname,\n\t\t\t},\n\t\t};\n\t}\n\n\tresolveTransactionPlugin() {\n\t\treturn coreClientResolveTransactionPlugin;\n\t}\n\n\tasync getMoveFunction(\n\t\toptions: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse> {\n\t\tconst resolvedPackageId = (await this.mvr.resolvePackage({ package: options.packageId }))\n\t\t\t.package;\n\t\tconst result = await this.#jsonRpcClient.getNormalizedMoveFunction({\n\t\t\tpackage: resolvedPackageId,\n\t\t\tmodule: options.moduleName,\n\t\t\tfunction: options.name,\n\t\t});\n\n\t\treturn {\n\t\t\tfunction: {\n\t\t\t\tpackageId: normalizeSuiAddress(resolvedPackageId),\n\t\t\t\tmoduleName: options.moduleName,\n\t\t\t\tname: options.name,\n\t\t\t\tvisibility: parseVisibility(result.visibility),\n\t\t\t\tisEntry: result.isEntry,\n\t\t\t\ttypeParameters: result.typeParameters.map((abilities) => ({\n\t\t\t\t\tisPhantom: false,\n\t\t\t\t\tconstraints: parseAbilities(abilities),\n\t\t\t\t})),\n\t\t\t\tparameters: result.parameters.map((param) => parseNormalizedSuiMoveType(param)),\n\t\t\t\treturns: result.return.map((ret) => parseNormalizedSuiMoveType(ret)),\n\t\t\t},\n\t\t};\n\t}\n\n\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.#jsonRpcClient.getCheckpoint({ id: '0' });\n\t\t\treturn {\n\t\t\t\tchainIdentifier: checkpoint.digest,\n\t\t\t};\n\t\t});\n\t}\n}\n\nfunction serializeObjectToBcs(object: SuiObjectData): Uint8Array | undefined {\n\tif (object.bcs?.dataType !== 'moveObject') {\n\t\treturn undefined;\n\t}\n\n\ttry {\n\t\t// Normalize the type string to ensure consistent address formatting (0x2 vs 0x00...02)\n\t\tconst typeStr = normalizeStructTag(object.bcs.type);\n\t\tlet moveObjectType: InferBcsInput<typeof bcs.MoveObjectType>;\n\n\t\t// Normalize constants for comparison\n\t\tconst normalizedSuiFramework = normalizeSuiAddress(SUI_FRAMEWORK_ADDRESS);\n\t\tconst gasCoinType = normalizeStructTag(\n\t\t\t`${SUI_FRAMEWORK_ADDRESS}::coin::Coin<${SUI_FRAMEWORK_ADDRESS}::sui::SUI>`,\n\t\t);\n\t\tconst stakedSuiType = normalizeStructTag(`${SUI_SYSTEM_ADDRESS}::staking_pool::StakedSui`);\n\t\tconst coinPrefix = `${normalizedSuiFramework}::coin::Coin<`;\n\n\t\tif (typeStr === gasCoinType) {\n\t\t\tmoveObjectType = { GasCoin: null };\n\t\t} else if (typeStr === stakedSuiType) {\n\t\t\tmoveObjectType = { StakedSui: null };\n\t\t} else if (typeStr.startsWith(coinPrefix)) {\n\t\t\tconst innerTypeMatch = typeStr.match(\n\t\t\t\tnew RegExp(\n\t\t\t\t\t`${normalizedSuiFramework.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}::coin::Coin<(.+)>$`,\n\t\t\t\t),\n\t\t\t);\n\t\t\tif (innerTypeMatch) {\n\t\t\t\tconst innerTypeTag = TypeTagSerializer.parseFromStr(innerTypeMatch[1], true);\n\t\t\t\tmoveObjectType = { Coin: innerTypeTag };\n\t\t\t} else {\n\t\t\t\tthrow new Error('Failed to parse Coin type');\n\t\t\t}\n\t\t} else {\n\t\t\tconst typeTag = TypeTagSerializer.parseFromStr(typeStr, true);\n\t\t\tif (typeof typeTag !== 'object' || !('struct' in typeTag)) {\n\t\t\t\tthrow new Error('Expected struct type tag');\n\t\t\t}\n\t\t\tmoveObjectType = { Other: typeTag.struct };\n\t\t}\n\n\t\tconst contents = fromBase64(object.bcs.bcsBytes);\n\t\tconst owner = convertOwnerToBcs(object.owner!);\n\n\t\treturn bcs.Object.serialize({\n\t\t\tdata: {\n\t\t\t\tMove: {\n\t\t\t\t\ttype: moveObjectType,\n\t\t\t\t\thasPublicTransfer: object.bcs.hasPublicTransfer,\n\t\t\t\t\tversion: object.bcs.version,\n\t\t\t\t\tcontents,\n\t\t\t\t},\n\t\t\t},\n\t\t\towner,\n\t\t\tpreviousTransaction: object.previousTransaction!,\n\t\t\tstorageRebate: object.storageRebate!,\n\t\t}).toBytes();\n\t} catch {\n\t\t// If serialization fails, return undefined\n\t\treturn undefined;\n\t}\n}\n\nfunction parseObject<Include extends SuiClientTypes.ObjectInclude = {}>(\n\tobject: SuiObjectData,\n\tinclude?: Include,\n): SuiClientTypes.Object<Include> {\n\tconst bcsContent =\n\t\tobject.bcs?.dataType === 'moveObject' ? fromBase64(object.bcs.bcsBytes) : undefined;\n\n\tconst objectBcs = include?.objectBcs ? serializeObjectToBcs(object) : undefined;\n\n\t// Package objects have type \"package\" which is not a struct tag, so don't normalize it\n\tconst type =\n\t\tobject.type && object.type.includes('::')\n\t\t\t? normalizeStructTag(object.type)\n\t\t\t: (object.type ?? '');\n\n\tconst jsonContent =\n\t\tinclude?.json && object.content?.dataType === 'moveObject'\n\t\t\t? (object.content.fields as Record<string, unknown>)\n\t\t\t: include?.json\n\t\t\t\t? null\n\t\t\t\t: undefined;\n\n\tconst displayData = include?.display\n\t\t? object.display?.data != null\n\t\t\t? { output: object.display.data as Record<string, string>, errors: null }\n\t\t\t: null\n\t\t: undefined;\n\n\treturn {\n\t\tobjectId: object.objectId,\n\t\tversion: object.version,\n\t\tdigest: object.digest,\n\t\ttype,\n\t\tcontent: (include?.content\n\t\t\t? bcsContent\n\t\t\t: undefined) as SuiClientTypes.Object<Include>['content'],\n\t\towner: parseOwner(object.owner!),\n\t\tpreviousTransaction: (include?.previousTransaction\n\t\t\t? (object.previousTransaction ?? undefined)\n\t\t\t: undefined) as SuiClientTypes.Object<Include>['previousTransaction'],\n\t\tobjectBcs: objectBcs as SuiClientTypes.Object<Include>['objectBcs'],\n\t\tjson: jsonContent as SuiClientTypes.Object<Include>['json'],\n\t\tdisplay: displayData as SuiClientTypes.Object<Include>['display'],\n\t};\n}\n\nfunction parseOwner(owner: ObjectOwner): SuiClientTypes.ObjectOwner {\n\tif (owner === 'Immutable') {\n\t\treturn {\n\t\t\t$kind: 'Immutable',\n\t\t\tImmutable: true,\n\t\t};\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ConsensusAddressOwner',\n\t\t\tConsensusAddressOwner: {\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'AddressOwner',\n\t\t\tAddressOwner: owner.AddressOwner,\n\t\t};\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn {\n\t\t\t$kind: 'ObjectOwner',\n\t\t\tObjectOwner: owner.ObjectOwner,\n\t\t};\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\t$kind: 'Shared',\n\t\t\tShared: {\n\t\t\t\tinitialSharedVersion: owner.Shared.initial_shared_version,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction convertOwnerToBcs(owner: ObjectOwner) {\n\tif (owner === 'Immutable') {\n\t\treturn { Immutable: null };\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn { AddressOwner: owner.AddressOwner };\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn { ObjectOwner: owner.ObjectOwner };\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn {\n\t\t\tShared: { initialSharedVersion: owner.Shared.initial_shared_version },\n\t\t};\n\t}\n\n\tif (typeof owner === 'object' && owner !== null && 'ConsensusAddressOwner' in owner) {\n\t\treturn {\n\t\t\tConsensusAddressOwner: {\n\t\t\t\tstartVersion: owner.ConsensusAddressOwner.start_version,\n\t\t\t\towner: owner.ConsensusAddressOwner.owner,\n\t\t\t},\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseOwnerAddress(owner: ObjectOwner): string | null {\n\tif (owner === 'Immutable') {\n\t\treturn null;\n\t}\n\n\tif ('ConsensusAddressOwner' in owner) {\n\t\treturn owner.ConsensusAddressOwner.owner;\n\t}\n\n\tif ('AddressOwner' in owner) {\n\t\treturn owner.AddressOwner;\n\t}\n\n\tif ('ObjectOwner' in owner) {\n\t\treturn owner.ObjectOwner;\n\t}\n\n\tif ('Shared' in owner) {\n\t\treturn null;\n\t}\n\n\tthrow new Error(`Unknown owner type: ${JSON.stringify(owner)}`);\n}\n\nfunction parseTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\ttransaction: SuiTransactionBlockResponse,\n\tinclude?: Include,\n): SuiClientTypes.TransactionResult<Include> {\n\tconst objectTypes: Record<string, string> = {};\n\n\tif (include?.objectTypes) {\n\t\ttransaction.objectChanges?.forEach((change) => {\n\t\t\tif (change.type !== 'published') {\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t}\n\t\t});\n\t}\n\n\tlet transactionData: SuiClientTypes.TransactionData | undefined;\n\tlet signatures: string[] = [];\n\tlet bcsBytes: Uint8Array | undefined;\n\n\tif (transaction.rawTransaction) {\n\t\tconst parsedTx = bcs.SenderSignedData.parse(fromBase64(transaction.rawTransaction))[0];\n\t\tsignatures = parsedTx.txSignatures;\n\n\t\tif (include?.transaction || include?.bcs) {\n\t\t\tconst bytes = bcs.TransactionData.serialize(parsedTx.intentMessage.value).toBytes();\n\n\t\t\tif (include?.bcs) {\n\t\t\t\tbcsBytes = bytes;\n\t\t\t}\n\n\t\t\tif (include?.transaction) {\n\t\t\t\tconst data = TransactionDataBuilder.restore({\n\t\t\t\t\tversion: 2,\n\t\t\t\t\tsender: parsedTx.intentMessage.value.V1.sender,\n\t\t\t\t\texpiration: parsedTx.intentMessage.value.V1.expiration,\n\t\t\t\t\tgasData: parsedTx.intentMessage.value.V1.gasData,\n\t\t\t\t\tinputs: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.inputs,\n\t\t\t\t\tcommands: parsedTx.intentMessage.value.V1.kind.ProgrammableTransaction!.commands,\n\t\t\t\t});\n\t\t\t\ttransactionData = { ...data };\n\t\t\t}\n\t\t}\n\t}\n\n\t// Get status from JSON-RPC response\n\tconst status: SuiClientTypes.ExecutionStatus = transaction.effects?.status\n\t\t? parseJsonRpcExecutionStatus(transaction.effects.status, transaction.effects.abortError)\n\t\t: {\n\t\t\t\tsuccess: false,\n\t\t\t\terror: {\n\t\t\t\t\t$kind: 'Unknown',\n\t\t\t\t\tmessage: 'Unknown',\n\t\t\t\t\tUnknown: null,\n\t\t\t\t},\n\t\t\t};\n\n\tconst effectsBytes = transaction.rawEffects ? new Uint8Array(transaction.rawEffects) : null;\n\n\tconst result: SuiClientTypes.Transaction<Include> = {\n\t\tdigest: transaction.digest,\n\t\tepoch: transaction.effects?.executedEpoch ?? null,\n\t\tstatus,\n\t\teffects: (include?.effects && effectsBytes\n\t\t\t? parseTransactionEffectsBcs(effectsBytes)\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['effects'],\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,\n\t\tbalanceChanges: (include?.balanceChanges\n\t\t\t? (transaction.balanceChanges?.map((change) => ({\n\t\t\t\t\tcoinType: normalizeStructTag(change.coinType),\n\t\t\t\t\taddress: parseOwnerAddress(change.owner)!,\n\t\t\t\t\tamount: change.amount,\n\t\t\t\t})) ?? [])\n\t\t\t: undefined) as SuiClientTypes.Transaction<Include>['balanceChanges'],\n\t\tevents: (include?.events\n\t\t\t? (transaction.events?.map((event) => ({\n\t\t\t\t\tpackageId: event.packageId,\n\t\t\t\t\tmodule: event.transactionModule,\n\t\t\t\t\tsender: event.sender,\n\t\t\t\t\teventType: event.type,\n\t\t\t\t\tbcs: 'bcs' in event ? fromBase64(event.bcs) : new Uint8Array(),\n\t\t\t\t\tjson: (event.parsedJson as Record<string, unknown>) ?? null,\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? {\n\t\t\t\t$kind: 'Transaction',\n\t\t\t\tTransaction: result,\n\t\t\t}\n\t\t: {\n\t\t\t\t$kind: 'FailedTransaction',\n\t\t\t\tFailedTransaction: result,\n\t\t\t};\n}\n\nfunction parseTransactionEffectsJson({\n\tbytes,\n\teffects,\n\tobjectChanges,\n}: {\n\tbytes?: Uint8Array;\n\teffects: TransactionEffects;\n\tobjectChanges: SuiObjectChange[] | null;\n}): {\n\teffects: SuiClientTypes.TransactionEffects;\n\tobjectTypes: Record<string, string>;\n} {\n\tconst changedObjects: SuiClientTypes.ChangedObject[] = [];\n\tconst unchangedConsensusObjects: SuiClientTypes.UnchangedConsensusObject[] = [];\n\tconst objectTypes: Record<string, string> = {};\n\n\tobjectChanges?.forEach((change) => {\n\t\tswitch (change.type) {\n\t\t\tcase 'published':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.packageId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'PackageWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase 'transferred':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: change.digest,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.recipient),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'mutated':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.previousVersion,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: parseOwner(change.owner),\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'deleted':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: effects.deleted?.find((d) => d.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'DoesNotExist',\n\t\t\t\t\toutputVersion: null,\n\t\t\t\t\toutputDigest: null,\n\t\t\t\t\toutputOwner: null,\n\t\t\t\t\tidOperation: 'Deleted',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'wrapped':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'Exists',\n\t\t\t\t\tinputVersion: change.version,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: {\n\t\t\t\t\t\t$kind: 'AddressOwner' as const,\n\t\t\t\t\t\tAddressOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest:\n\t\t\t\t\t\teffects.wrapped?.find((w) => w.objectId === change.objectId)?.digest ?? null,\n\t\t\t\t\toutputOwner: {\n\t\t\t\t\t\t$kind: 'ObjectOwner' as const,\n\t\t\t\t\t\tObjectOwner: change.sender,\n\t\t\t\t\t},\n\t\t\t\t\tidOperation: 'None',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t\tcase 'created':\n\t\t\t\tchangedObjects.push({\n\t\t\t\t\tobjectId: change.objectId,\n\t\t\t\t\tinputState: 'DoesNotExist',\n\t\t\t\t\tinputVersion: null,\n\t\t\t\t\tinputDigest: null,\n\t\t\t\t\tinputOwner: null,\n\t\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\t\toutputVersion: change.version,\n\t\t\t\t\toutputDigest: change.digest,\n\t\t\t\t\toutputOwner: parseOwner(change.owner),\n\t\t\t\t\tidOperation: 'Created',\n\t\t\t\t});\n\t\t\t\tobjectTypes[change.objectId] = normalizeStructTag(change.objectType);\n\t\t\t\tbreak;\n\t\t}\n\t});\n\n\treturn {\n\t\tobjectTypes,\n\t\teffects: {\n\t\t\tbcs: bytes ?? null,\n\t\t\tversion: 2,\n\t\t\tstatus: parseJsonRpcExecutionStatus(effects.status, effects.abortError),\n\t\t\tgasUsed: effects.gasUsed,\n\t\t\ttransactionDigest: effects.transactionDigest,\n\t\t\tgasObject: {\n\t\t\t\tobjectId: effects.gasObject?.reference.objectId,\n\t\t\t\tinputState: 'Exists',\n\t\t\t\tinputVersion: null,\n\t\t\t\tinputDigest: null,\n\t\t\t\tinputOwner: null,\n\t\t\t\toutputState: 'ObjectWrite',\n\t\t\t\toutputVersion: effects.gasObject.reference.version,\n\t\t\t\toutputDigest: effects.gasObject.reference.digest,\n\t\t\t\toutputOwner: parseOwner(effects.gasObject.owner),\n\t\t\t\tidOperation: 'None',\n\t\t\t},\n\t\t\teventsDigest: effects.eventsDigest ?? null,\n\t\t\tdependencies: effects.dependencies ?? [],\n\t\t\tlamportVersion: effects.gasObject.reference.version,\n\t\t\tchangedObjects,\n\t\t\tunchangedConsensusObjects,\n\t\t\tauxiliaryDataDigest: null,\n\t\t},\n\t};\n}\n\nfunction parseNormalizedSuiMoveType(type: SuiMoveNormalizedType): SuiClientTypes.OpenSignature {\n\tif (typeof type !== 'string') {\n\t\tif ('Reference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'immutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.Reference),\n\t\t\t};\n\t\t}\n\n\t\tif ('MutableReference' in type) {\n\t\t\treturn {\n\t\t\t\treference: 'mutable',\n\t\t\t\tbody: parseNormalizedSuiMoveTypeBody(type.MutableReference),\n\t\t\t};\n\t\t}\n\t}\n\n\treturn {\n\t\treference: null,\n\t\tbody: parseNormalizedSuiMoveTypeBody(type),\n\t};\n}\n\nfunction parseNormalizedSuiMoveTypeBody(\n\ttype: SuiMoveNormalizedType,\n): SuiClientTypes.OpenSignatureBody {\n\tswitch (type) {\n\t\tcase 'Address':\n\t\t\treturn { $kind: 'address' };\n\t\tcase 'Bool':\n\t\t\treturn { $kind: 'bool' };\n\t\tcase 'U8':\n\t\t\treturn { $kind: 'u8' };\n\t\tcase 'U16':\n\t\t\treturn { $kind: 'u16' };\n\t\tcase 'U32':\n\t\t\treturn { $kind: 'u32' };\n\t\tcase 'U64':\n\t\t\treturn { $kind: 'u64' };\n\t\tcase 'U128':\n\t\t\treturn { $kind: 'u128' };\n\t\tcase 'U256':\n\t\t\treturn { $kind: 'u256' };\n\t}\n\n\tif (typeof type === 'string') {\n\t\tthrow new Error(`Unknown type: ${type}`);\n\t}\n\n\tif ('Vector' in type) {\n\t\treturn {\n\t\t\t$kind: 'vector',\n\t\t\tvector: parseNormalizedSuiMoveTypeBody(type.Vector),\n\t\t};\n\t}\n\n\tif ('Struct' in type) {\n\t\treturn {\n\t\t\t$kind: 'datatype',\n\t\t\tdatatype: {\n\t\t\t\ttypeName: `${normalizeSuiAddress(type.Struct.address)}::${type.Struct.module}::${type.Struct.name}`,\n\t\t\t\ttypeParameters: type.Struct.typeArguments.map((t) => parseNormalizedSuiMoveTypeBody(t)),\n\t\t\t},\n\t\t};\n\t}\n\n\tif ('TypeParameter' in type) {\n\t\treturn {\n\t\t\t$kind: 'typeParameter',\n\t\t\tindex: type.TypeParameter,\n\t\t};\n\t}\n\n\tthrow new Error(`Unknown type: ${JSON.stringify(type)}`);\n}\n\nfunction parseAbilities(abilitySet: SuiMoveAbilitySet): SuiClientTypes.Ability[] {\n\treturn abilitySet.abilities.map((ability) => {\n\t\tswitch (ability) {\n\t\t\tcase 'Copy':\n\t\t\t\treturn 'copy';\n\t\t\tcase 'Drop':\n\t\t\t\treturn 'drop';\n\t\t\tcase 'Store':\n\t\t\t\treturn 'store';\n\t\t\tcase 'Key':\n\t\t\t\treturn 'key';\n\t\t\tdefault:\n\t\t\t\treturn 'unknown';\n\t\t}\n\t});\n}\n\nfunction parseVisibility(visibility: SuiMoveVisibility): SuiClientTypes.Visibility {\n\tswitch (visibility) {\n\t\tcase 'Public':\n\t\t\treturn 'public';\n\t\tcase 'Private':\n\t\t\treturn 'private';\n\t\tcase 'Friend':\n\t\t\treturn 'friend';\n\t\tdefault:\n\t\t\treturn 'unknown';\n\t}\n}\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { createPure } from "./pure.mjs";
8
8
  import { SignatureWithBytes, Signer } from "../cryptography/keypair.mjs";
9
9
  import "../cryptography/index.mjs";
10
10
  import { ClientWithCoreApi } from "../client/core.mjs";
11
- import * as _mysten_bcs810 from "@mysten/bcs";
11
+ import * as _mysten_bcs1126 from "@mysten/bcs";
12
12
  import { SerializedBcs } from "@mysten/bcs";
13
13
  import { InferInput } from "valibot";
14
14
 
@@ -77,7 +77,7 @@ declare class Transaction {
77
77
  getData(): {
78
78
  version: 2;
79
79
  sender?: string | null | undefined;
80
- expiration?: _mysten_bcs810.EnumOutputShapeWithKeys<{
80
+ expiration?: _mysten_bcs1126.EnumOutputShapeWithKeys<{
81
81
  None: true;
82
82
  Epoch: string | number;
83
83
  ValidDuring: {
@@ -88,7 +88,7 @@ declare class Transaction {
88
88
  chain: string;
89
89
  nonce: number;
90
90
  };
91
- }, "Epoch" | "None" | "ValidDuring"> | null | undefined;
91
+ }, "None" | "Epoch" | "ValidDuring"> | null | undefined;
92
92
  gasData: {
93
93
  budget: string | number | null;
94
94
  price: string | number | null;
@@ -99,8 +99,8 @@ declare class Transaction {
99
99
  digest: string;
100
100
  }[] | null;
101
101
  };
102
- inputs: _mysten_bcs810.EnumOutputShapeWithKeys<{
103
- Object: _mysten_bcs810.EnumOutputShapeWithKeys<{
102
+ inputs: _mysten_bcs1126.EnumOutputShapeWithKeys<{
103
+ Object: _mysten_bcs1126.EnumOutputShapeWithKeys<{
104
104
  ImmOrOwnedObject: {
105
105
  objectId: string;
106
106
  version: string | number;
@@ -116,7 +116,7 @@ declare class Transaction {
116
116
  version: string | number;
117
117
  digest: string;
118
118
  };
119
- }, "Receiving" | "ImmOrOwnedObject" | "SharedObject">;
119
+ }, "ImmOrOwnedObject" | "SharedObject" | "Receiving">;
120
120
  Pure: {
121
121
  bytes: string;
122
122
  };
@@ -139,13 +139,13 @@ declare class Transaction {
139
139
  Balance: string;
140
140
  $kind: "Balance";
141
141
  };
142
- withdrawFrom: _mysten_bcs810.EnumOutputShapeWithKeys<{
142
+ withdrawFrom: _mysten_bcs1126.EnumOutputShapeWithKeys<{
143
143
  Sender: true;
144
144
  Sponsor: true;
145
145
  }, "Sender" | "Sponsor">;
146
146
  };
147
- }, "Object" | "Pure" | "FundsWithdrawal" | "UnresolvedPure" | "UnresolvedObject">[];
148
- commands: _mysten_bcs810.EnumOutputShapeWithKeys<{
147
+ }, "Pure" | "Object" | "FundsWithdrawal" | "UnresolvedPure" | "UnresolvedObject">[];
148
+ commands: _mysten_bcs1126.EnumOutputShapeWithKeys<{
149
149
  MoveCall: {
150
150
  package: string;
151
151
  module: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Transaction.d.mts","names":[],"sources":["../../src/transactions/Transaction.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"Transaction.d.mts","names":[],"sources":["../../src/transactions/Transaction.ts"],"sourcesContent":[],"mappings":"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"}