@mysten/sui 2.9.0 → 2.10.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 +19 -0
- package/dist/bcs/bcs.d.mts +6 -6
- package/dist/client/core-resolver.mjs +5 -0
- package/dist/client/core-resolver.mjs.map +1 -1
- package/dist/client/core.d.mts +1 -0
- package/dist/client/core.d.mts.map +1 -1
- package/dist/client/core.mjs +17 -4
- package/dist/client/core.mjs.map +1 -1
- package/dist/client/types.d.mts +16 -0
- package/dist/client/types.d.mts.map +1 -1
- package/dist/graphql/core.d.mts +1 -0
- package/dist/graphql/core.d.mts.map +1 -1
- package/dist/graphql/core.mjs +13 -1
- package/dist/graphql/core.mjs.map +1 -1
- package/dist/graphql/generated/queries.d.mts.map +1 -1
- package/dist/graphql/generated/queries.mjs +18 -1
- package/dist/graphql/generated/queries.mjs.map +1 -1
- package/dist/grpc/core.d.mts +1 -0
- package/dist/grpc/core.d.mts.map +1 -1
- package/dist/grpc/core.mjs +12 -0
- 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/signature_verification_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/state_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/subscription_service.client.d.mts +4 -4
- package/dist/grpc/proto/sui/rpc/v2/transaction_execution_service.client.d.mts +4 -4
- package/dist/jsonRpc/core.d.mts +1 -0
- package/dist/jsonRpc/core.d.mts.map +1 -1
- package/dist/jsonRpc/core.mjs +19 -0
- package/dist/jsonRpc/core.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/dist/zklogin/bcs.d.mts.map +1 -1
- package/package.json +1 -1
- package/src/client/core-resolver.ts +15 -0
- package/src/client/core.ts +34 -4
- package/src/client/types.ts +20 -0
- package/src/graphql/core.ts +27 -0
- package/src/graphql/generated/queries.ts +22 -0
- package/src/graphql/queries/getProtocolConfig.graphql +18 -0
- package/src/grpc/core.ts +27 -0
- package/src/jsonRpc/core.ts +34 -0
- package/src/version.ts +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @mysten/sui.js
|
|
2
2
|
|
|
3
|
+
## 2.10.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 78a577b: Add `getProtocolConfig()` Core API method returning protocol version, feature flags, and
|
|
8
|
+
config attributes.
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- 2ee1a2a: Improve `waitForTransaction` polling with schedule-based timing tuned to actual indexing
|
|
13
|
+
latency. Default schedule polls at 0, 300, 600, 1500, 3500ms then every 2s. Add `pollSchedule`
|
|
14
|
+
option for custom absolute-time schedules.
|
|
15
|
+
|
|
16
|
+
## 2.9.1
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- 8835d80: Only set ValidDuring expiration when there are no versioned objects in transaction
|
|
21
|
+
|
|
3
22
|
## 2.9.0
|
|
4
23
|
|
|
5
24
|
### Minor Changes
|
package/dist/bcs/bcs.d.mts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { TypeTag as TypeTag$1 } from "./types.mjs";
|
|
2
|
-
import * as
|
|
2
|
+
import * as _mysten_bcs823 from "@mysten/bcs";
|
|
3
3
|
import { BcsType } from "@mysten/bcs";
|
|
4
4
|
|
|
5
5
|
//#region src/bcs/bcs.d.ts
|
|
6
6
|
|
|
7
7
|
declare const TypeTag: BcsType<string, string | TypeTag$1, string>;
|
|
8
|
-
declare function IntentMessage<T extends BcsType<any>>(T: T):
|
|
9
|
-
intent:
|
|
10
|
-
scope:
|
|
8
|
+
declare function IntentMessage<T extends BcsType<any>>(T: T): _mysten_bcs823.BcsStruct<{
|
|
9
|
+
intent: _mysten_bcs823.BcsStruct<{
|
|
10
|
+
scope: _mysten_bcs823.BcsEnum<{
|
|
11
11
|
TransactionData: null;
|
|
12
12
|
TransactionEffects: null;
|
|
13
13
|
CheckpointSummary: null;
|
|
14
14
|
PersonalMessage: null;
|
|
15
15
|
}, "IntentScope">;
|
|
16
|
-
version:
|
|
16
|
+
version: _mysten_bcs823.BcsEnum<{
|
|
17
17
|
V0: null;
|
|
18
18
|
}, "IntentVersion">;
|
|
19
|
-
appId:
|
|
19
|
+
appId: _mysten_bcs823.BcsEnum<{
|
|
20
20
|
Sui: null;
|
|
21
21
|
}, "AppId">;
|
|
22
22
|
}, string>;
|
|
@@ -97,6 +97,7 @@ async function setGasPayment(transactionData, client) {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
async function setExpiration(transactionData, client, existingSystemState) {
|
|
100
|
+
if (transactionData.expiration || hasVersionedInputs(transactionData)) return;
|
|
100
101
|
const [systemState, { chainIdentifier }] = await Promise.all([existingSystemState ?? client.core.getCurrentSystemState().then((r) => r.systemState), client.core.getChainIdentifier()]);
|
|
101
102
|
const currentEpoch = BigInt(systemState.epoch);
|
|
102
103
|
transactionData.expiration = {
|
|
@@ -111,6 +112,10 @@ async function setExpiration(transactionData, client, existingSystemState) {
|
|
|
111
112
|
}
|
|
112
113
|
};
|
|
113
114
|
}
|
|
115
|
+
function hasVersionedInputs(transactionData) {
|
|
116
|
+
if (transactionData.gasData.payment?.length) return true;
|
|
117
|
+
return transactionData.inputs.some((input) => input.Object?.ImmOrOwnedObject || input.UnresolvedObject && input.UnresolvedObject.version);
|
|
118
|
+
}
|
|
114
119
|
async function resolveObjectReferences(transactionData, client) {
|
|
115
120
|
const objectsToResolve = transactionData.inputs.filter((input) => {
|
|
116
121
|
return input.UnresolvedObject && !(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-resolver.mjs","names":["object"],"sources":["../../src/client/core-resolver.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'valibot';\n\nimport { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from '../utils/index.js';\nimport type { ClientWithCoreApi } from './core.js';\nimport { ObjectRefSchema } from '../transactions/data/internal.js';\nimport type { CallArg, Command } from '../transactions/data/internal.js';\nimport type { SuiClientTypes } from './types.js';\nimport { SimulationError } from './errors.js';\nimport { Inputs } from '../transactions/Inputs.js';\nimport { getPureBcsSchema, isTxContext } from '../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\n\n// The maximum objects that can be fetched at once using multiGetObjects.\nconst MAX_OBJECTS_PER_FETCH = 50;\n\n// An amount of gas (in gas units) that is added to transactions as an overhead to ensure transactions do not fail.\nconst GAS_SAFE_OVERHEAD = 1000n;\nconst MAX_GAS = 50_000_000_000;\n\nfunction getClient(options: BuildTransactionOptions): ClientWithCoreApi {\n\tif (!options.client) {\n\t\tthrow new Error(\n\t\t\t`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`,\n\t\t);\n\t}\n\treturn options.client;\n}\n\nexport async function coreClientResolveTransactionPlugin(\n\ttransactionData: TransactionDataBuilder,\n\toptions: BuildTransactionOptions,\n\tnext: () => Promise<void>,\n) {\n\tconst client = getClient(options);\n\n\tawait normalizeInputs(transactionData, client);\n\tawait resolveObjectReferences(transactionData, client);\n\n\tif (!options.onlyTransactionKind) {\n\t\tawait setGasData(transactionData, client);\n\t}\n\n\treturn await next();\n}\n\ninterface SystemStateData {\n\tepoch: string;\n\treferenceGasPrice: string;\n}\n\nasync function setGasData(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tlet systemState: SystemStateData | null = null;\n\n\tif (!transactionData.gasData.price) {\n\t\tconst response = await client.core.getCurrentSystemState();\n\t\tsystemState = response.systemState;\n\t\ttransactionData.gasData.price = systemState.referenceGasPrice;\n\t}\n\n\tawait setGasBudget(transactionData, client);\n\tawait setGasPayment(transactionData, client);\n\n\tif (!transactionData.expiration) {\n\t\tawait setExpiration(transactionData, client, systemState);\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tif (transactionData.gasData.budget) {\n\t\treturn;\n\t}\n\n\tconst simulateResult = await client.core.simulateTransaction({\n\t\ttransaction: transactionData.build({\n\t\t\toverrides: {\n\t\t\t\tgasData: {\n\t\t\t\t\tbudget: String(MAX_GAS),\n\t\t\t\t\tpayment: [],\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\tinclude: { effects: true },\n\t});\n\n\tif (simulateResult.$kind === 'FailedTransaction') {\n\t\tconst executionError = simulateResult.FailedTransaction.status.error ?? undefined;\n\t\tconst errorMessage = executionError?.message ?? 'Unknown error';\n\t\tthrow new SimulationError(`Transaction resolution failed: ${errorMessage}`, {\n\t\t\tcause: simulateResult,\n\t\t\texecutionError,\n\t\t});\n\t}\n\n\tconst gasUsed = simulateResult.Transaction.effects!.gasUsed;\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasData.price || 1n);\n\n\tconst baseComputationCostWithOverhead = BigInt(gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead + BigInt(gasUsed.storageCost) - BigInt(gasUsed.storageRebate);\n\n\ttransactionData.gasData.budget = String(\n\t\tgasBudget > baseComputationCostWithOverhead ? gasBudget : baseComputationCostWithOverhead,\n\t);\n}\n\n// The current default is just picking _all_ coins we can which may not be ideal.\nasync function setGasPayment(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tif (!transactionData.gasData.payment) {\n\t\tconst gasPayer = transactionData.gasData.owner ?? transactionData.sender;\n\t\tif (!gasPayer) {\n\t\t\tthrow new Error('Either a gas owner or sender must be set to determine gas payment.');\n\t\t}\n\n\t\tconst normalizedGasPayer = normalizeSuiAddress(gasPayer);\n\t\tlet usesGasCoin = false;\n\t\tlet withdrawals = 0n;\n\n\t\ttransactionData.mapArguments((arg) => {\n\t\t\tif (arg.$kind === 'GasCoin') {\n\t\t\t\tusesGasCoin = true;\n\t\t\t} else if (arg.$kind === 'Input') {\n\t\t\t\tconst input = transactionData.inputs[arg.Input];\n\n\t\t\t\tif (input.$kind === 'FundsWithdrawal') {\n\t\t\t\t\tconst withdrawalOwner = input.FundsWithdrawal.withdrawFrom.Sender\n\t\t\t\t\t\t? transactionData.sender\n\t\t\t\t\t\t: gasPayer;\n\n\t\t\t\t\tif (withdrawalOwner && normalizeSuiAddress(withdrawalOwner) === normalizedGasPayer) {\n\t\t\t\t\t\tif (input.FundsWithdrawal.reservation.$kind === 'MaxAmountU64') {\n\t\t\t\t\t\t\twithdrawals += BigInt(input.FundsWithdrawal.reservation.MaxAmountU64);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\n\t\tconst [suiBalance, coins] = await Promise.all([\n\t\t\tusesGasCoin ? null : client.core.getBalance({ owner: gasPayer }),\n\t\t\tclient.core.listCoins({\n\t\t\t\towner: gasPayer,\n\t\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t\t}),\n\t\t]);\n\n\t\tif (\n\t\t\tsuiBalance?.balance.addressBalance &&\n\t\t\tBigInt(suiBalance.balance.addressBalance) >=\n\t\t\t\tBigInt(transactionData.gasData.budget || '0') + withdrawals\n\t\t) {\n\t\t\ttransactionData.gasData.payment = [];\n\t\t\treturn;\n\t\t}\n\n\t\tconst paymentCoins = coins.objects\n\t\t\t// Filter out coins that are also used as input:\n\t\t\t.filter((coin) => {\n\t\t\t\tconst matchingInput = transactionData.inputs.find((input) => {\n\t\t\t\t\tif (input.Object?.ImmOrOwnedObject) {\n\t\t\t\t\t\treturn coin.objectId === input.Object.ImmOrOwnedObject.objectId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\treturn !matchingInput;\n\t\t\t})\n\t\t\t.map((coin) =>\n\t\t\t\tparse(ObjectRefSchema, {\n\t\t\t\t\tobjectId: coin.objectId,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t}),\n\t\t\t);\n\n\t\tif (!paymentCoins.length) {\n\t\t\tthrow new Error('No valid gas coins found for the transaction.');\n\t\t}\n\n\t\ttransactionData.gasData.payment = paymentCoins;\n\t}\n}\n\nasync function setExpiration(\n\ttransactionData: TransactionDataBuilder,\n\tclient: ClientWithCoreApi,\n\texistingSystemState: SystemStateData | null,\n) {\n\tconst [systemState, { chainIdentifier }] = await Promise.all([\n\t\texistingSystemState ?? client.core.getCurrentSystemState().then((r) => r.systemState),\n\t\tclient.core.getChainIdentifier(),\n\t]);\n\tconst currentEpoch = BigInt(systemState.epoch);\n\n\ttransactionData.expiration = {\n\t\t$kind: 'ValidDuring',\n\t\tValidDuring: {\n\t\t\tminEpoch: String(currentEpoch),\n\t\t\tmaxEpoch: String(currentEpoch + 1n),\n\t\t\tminTimestamp: null,\n\t\t\tmaxTimestamp: null,\n\t\t\tchain: chainIdentifier,\n\t\t\tnonce: (Math.random() * 0x100000000) >>> 0,\n\t\t},\n\t};\n}\n\nasync function resolveObjectReferences(\n\ttransactionData: TransactionDataBuilder,\n\tclient: ClientWithCoreApi,\n) {\n\t// Keep track of the object references that will need to be resolved at the end of the transaction.\n\t// We keep the input by-reference to avoid needing to re-resolve it:\n\tconst objectsToResolve = transactionData.inputs.filter((input) => {\n\t\treturn (\n\t\t\tinput.UnresolvedObject &&\n\t\t\t!(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion)\n\t\t);\n\t}) as Extract<CallArg, { UnresolvedObject: unknown }>[];\n\n\tconst dedupedIds = [\n\t\t...new Set(\n\t\t\tobjectsToResolve.map((input) => normalizeSuiObjectId(input.UnresolvedObject.objectId)),\n\t\t),\n\t];\n\n\tconst objectChunks = dedupedIds.length ? chunk(dedupedIds, MAX_OBJECTS_PER_FETCH) : [];\n\tconst resolved = (\n\t\tawait Promise.all(\n\t\t\tobjectChunks.map((chunkIds) =>\n\t\t\t\tclient.core.getObjects({\n\t\t\t\t\tobjectIds: chunkIds,\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flatMap((result) => result.objects);\n\n\tconst responsesById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, resolved[index]];\n\t\t}),\n\t);\n\n\tconst invalidObjects = Array.from(responsesById)\n\t\t.filter(([_, obj]) => obj instanceof Error)\n\t\t.map(([_, obj]) => (obj as Error).message);\n\n\tif (invalidObjects.length) {\n\t\tthrow new Error(`The following input objects are invalid: ${invalidObjects.join(', ')}`);\n\t}\n\n\tconst objects = resolved.map((object) => {\n\t\tif (object instanceof Error) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.message}`);\n\t\t}\n\t\tconst owner = object.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? owner.$kind === 'Shared'\n\t\t\t\t\t? owner.Shared.initialSharedVersion\n\t\t\t\t\t: owner.$kind === 'ConsensusAddressOwner'\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.startVersion\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.objectId,\n\t\t\tdigest: object.digest,\n\t\t\tversion: object.version,\n\t\t\tinitialSharedVersion,\n\t\t};\n\t});\n\n\tconst objectsById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, objects[index]];\n\t\t}),\n\t);\n\n\tfor (const [index, input] of transactionData.inputs.entries()) {\n\t\tif (!input.UnresolvedObject) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet updated: CallArg | undefined;\n\t\tconst id = normalizeSuiAddress(input.UnresolvedObject.objectId);\n\t\tconst object = objectsById.get(id);\n\n\t\tif (input.UnresolvedObject.initialSharedVersion ?? object?.initialSharedVersion) {\n\t\t\tupdated = Inputs.SharedObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tinitialSharedVersion:\n\t\t\t\t\tinput.UnresolvedObject.initialSharedVersion || object?.initialSharedVersion!,\n\t\t\t\tmutable: input.UnresolvedObject.mutable || isUsedAsMutable(transactionData, index),\n\t\t\t});\n\t\t} else if (isUsedAsReceiving(transactionData, index)) {\n\t\t\tupdated = Inputs.ReceivingRef(\n\t\t\t\t{\n\t\t\t\t\tobjectId: id,\n\t\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t\t}!,\n\t\t\t);\n\t\t}\n\n\t\ttransactionData.inputs[transactionData.inputs.indexOf(input)] =\n\t\t\tupdated ??\n\t\t\tInputs.ObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t});\n\t}\n}\n\nasync function normalizeInputs(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tconst { inputs, commands } = transactionData;\n\tconst moveCallsToResolve: Extract<Command, { MoveCall: unknown }>['MoveCall'][] = [];\n\tconst moveFunctionsToResolve = new Set<string>();\n\n\tcommands.forEach((command) => {\n\t\t// Special case move call:\n\t\tif (command.MoveCall) {\n\t\t\t// Determine if any of the arguments require encoding.\n\t\t\t// - If they don't, then this is good to go.\n\t\t\t// - If they do, then we need to fetch the normalized move module.\n\n\t\t\t// If we already know the argument types, we don't need to resolve them again\n\t\t\tif (command.MoveCall._argumentTypes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputs = command.MoveCall.arguments.map((arg) => {\n\t\t\t\tif (arg.$kind === 'Input') {\n\t\t\t\t\treturn transactionData.inputs[arg.Input];\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t});\n\t\t\tconst needsResolution = inputs.some(\n\t\t\t\t(input) =>\n\t\t\t\t\tinput?.UnresolvedPure ||\n\t\t\t\t\t(input?.UnresolvedObject && typeof input?.UnresolvedObject.mutable !== 'boolean'),\n\t\t\t);\n\n\t\t\tif (needsResolution) {\n\t\t\t\tconst functionName = `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`;\n\t\t\t\tmoveFunctionsToResolve.add(functionName);\n\t\t\t\tmoveCallsToResolve.push(command.MoveCall);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst moveFunctionParameters = new Map<string, SuiClientTypes.OpenSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleName, name] = functionName.split('::');\n\t\t\t\tconst { function: def } = await client.core.getMoveFunction({\n\t\t\t\t\tpackageId,\n\t\t\t\t\tmoduleName,\n\t\t\t\t\tname,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(functionName, def.parameters);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (moveCallsToResolve.length) {\n\t\tawait Promise.all(\n\t\t\tmoveCallsToResolve.map(async (moveCall) => {\n\t\t\t\tconst parameters = moveFunctionParameters.get(\n\t\t\t\t\t`${moveCall.package}::${moveCall.module}::${moveCall.function}`,\n\t\t\t\t);\n\n\t\t\t\tif (!parameters) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Entry functions can have a mutable reference to an instance of the TxContext\n\t\t\t\t// struct defined in the TxContext module as the last parameter. The caller of\n\t\t\t\t// the function does not need to pass it in as an argument.\n\t\t\t\tconst hasTxContext = parameters.length > 0 && isTxContext(parameters.at(-1)!);\n\t\t\t\tconst params = hasTxContext ? parameters.slice(0, parameters.length - 1) : parameters;\n\n\t\t\t\tmoveCall._argumentTypes = params;\n\t\t\t}),\n\t\t);\n\t}\n\n\tcommands.forEach((command) => {\n\t\tif (!command.MoveCall) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst moveCall = command.MoveCall;\n\t\tconst fnName = `${moveCall.package}::${moveCall.module}::${moveCall.function}`;\n\t\tconst params = moveCall._argumentTypes;\n\n\t\tif (!params) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (params.length !== command.MoveCall.arguments.length) {\n\t\t\tthrow new Error(`Incorrect number of arguments for ${fnName}`);\n\t\t}\n\n\t\tparams.forEach((param, i) => {\n\t\t\tconst arg = moveCall.arguments[i];\n\t\t\tif (arg.$kind !== 'Input') return;\n\t\t\tconst input = inputs[arg.Input];\n\n\t\t\t// Skip if the input is already resolved\n\t\t\tif (!input.UnresolvedPure && !input.UnresolvedObject) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputValue = input.UnresolvedPure?.value ?? input.UnresolvedObject?.objectId!;\n\n\t\t\tconst schema = getPureBcsSchema(param.body);\n\t\t\tif (schema) {\n\t\t\t\targ.type = 'pure';\n\t\t\t\tinputs[inputs.indexOf(input)] = Inputs.Pure(schema.serialize(inputValue));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof inputValue !== 'string') {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expect the argument to be an object id string, got ${JSON.stringify(\n\t\t\t\t\t\tinputValue,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\targ.type = 'object';\n\t\t\tconst unresolvedObject: typeof input = input.UnresolvedPure\n\t\t\t\t? {\n\t\t\t\t\t\t$kind: 'UnresolvedObject',\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: inputValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: input;\n\n\t\t\tinputs[arg.Input] = unresolvedObject;\n\t\t});\n\t});\n}\n\nfunction isUsedAsMutable(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsMutable = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsMutable =\n\t\t\t\ttx.MoveCall._argumentTypes[argIndex].reference !== 'immutable' || usedAsMutable;\n\t\t}\n\n\t\tif (\n\t\t\ttx.$kind === 'MakeMoveVec' ||\n\t\t\ttx.$kind === 'MergeCoins' ||\n\t\t\ttx.$kind === 'SplitCoins' ||\n\t\t\ttx.$kind === 'TransferObjects'\n\t\t) {\n\t\t\tusedAsMutable = true;\n\t\t}\n\t});\n\n\treturn usedAsMutable;\n}\n\nfunction isUsedAsReceiving(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsReceiving = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsReceiving = isReceivingType(tx.MoveCall._argumentTypes[argIndex]) || usedAsReceiving;\n\t\t}\n\t});\n\n\treturn usedAsReceiving;\n}\n\nconst RECEIVING_TYPE =\n\t'0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving';\n\nfunction isReceivingType(type: SuiClientTypes.OpenSignature): boolean {\n\tif (type.body.$kind !== 'datatype') {\n\t\treturn false;\n\t}\n\n\treturn type.body.datatype.typeName === RECEIVING_TYPE;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core-resolver.mjs","names":["object"],"sources":["../../src/client/core-resolver.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { parse } from 'valibot';\n\nimport { normalizeSuiAddress, normalizeSuiObjectId, SUI_TYPE_ARG } from '../utils/index.js';\nimport type { ClientWithCoreApi } from './core.js';\nimport { ObjectRefSchema } from '../transactions/data/internal.js';\nimport type { CallArg, Command } from '../transactions/data/internal.js';\nimport type { SuiClientTypes } from './types.js';\nimport { SimulationError } from './errors.js';\nimport { Inputs } from '../transactions/Inputs.js';\nimport { getPureBcsSchema, isTxContext } from '../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { BuildTransactionOptions } from '../transactions/index.js';\n\n// The maximum objects that can be fetched at once using multiGetObjects.\nconst MAX_OBJECTS_PER_FETCH = 50;\n\n// An amount of gas (in gas units) that is added to transactions as an overhead to ensure transactions do not fail.\nconst GAS_SAFE_OVERHEAD = 1000n;\nconst MAX_GAS = 50_000_000_000;\n\nfunction getClient(options: BuildTransactionOptions): ClientWithCoreApi {\n\tif (!options.client) {\n\t\tthrow new Error(\n\t\t\t`No sui client passed to Transaction#build, but transaction data was not sufficient to build offline.`,\n\t\t);\n\t}\n\treturn options.client;\n}\n\nexport async function coreClientResolveTransactionPlugin(\n\ttransactionData: TransactionDataBuilder,\n\toptions: BuildTransactionOptions,\n\tnext: () => Promise<void>,\n) {\n\tconst client = getClient(options);\n\n\tawait normalizeInputs(transactionData, client);\n\tawait resolveObjectReferences(transactionData, client);\n\n\tif (!options.onlyTransactionKind) {\n\t\tawait setGasData(transactionData, client);\n\t}\n\n\treturn await next();\n}\n\ninterface SystemStateData {\n\tepoch: string;\n\treferenceGasPrice: string;\n}\n\nasync function setGasData(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tlet systemState: SystemStateData | null = null;\n\n\tif (!transactionData.gasData.price) {\n\t\tconst response = await client.core.getCurrentSystemState();\n\t\tsystemState = response.systemState;\n\t\ttransactionData.gasData.price = systemState.referenceGasPrice;\n\t}\n\n\tawait setGasBudget(transactionData, client);\n\tawait setGasPayment(transactionData, client);\n\n\tif (!transactionData.expiration) {\n\t\tawait setExpiration(transactionData, client, systemState);\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tif (transactionData.gasData.budget) {\n\t\treturn;\n\t}\n\n\tconst simulateResult = await client.core.simulateTransaction({\n\t\ttransaction: transactionData.build({\n\t\t\toverrides: {\n\t\t\t\tgasData: {\n\t\t\t\t\tbudget: String(MAX_GAS),\n\t\t\t\t\tpayment: [],\n\t\t\t\t},\n\t\t\t},\n\t\t}),\n\t\tinclude: { effects: true },\n\t});\n\n\tif (simulateResult.$kind === 'FailedTransaction') {\n\t\tconst executionError = simulateResult.FailedTransaction.status.error ?? undefined;\n\t\tconst errorMessage = executionError?.message ?? 'Unknown error';\n\t\tthrow new SimulationError(`Transaction resolution failed: ${errorMessage}`, {\n\t\t\tcause: simulateResult,\n\t\t\texecutionError,\n\t\t});\n\t}\n\n\tconst gasUsed = simulateResult.Transaction.effects!.gasUsed;\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasData.price || 1n);\n\n\tconst baseComputationCostWithOverhead = BigInt(gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead + BigInt(gasUsed.storageCost) - BigInt(gasUsed.storageRebate);\n\n\ttransactionData.gasData.budget = String(\n\t\tgasBudget > baseComputationCostWithOverhead ? gasBudget : baseComputationCostWithOverhead,\n\t);\n}\n\n// The current default is just picking _all_ coins we can which may not be ideal.\nasync function setGasPayment(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tif (!transactionData.gasData.payment) {\n\t\tconst gasPayer = transactionData.gasData.owner ?? transactionData.sender;\n\t\tif (!gasPayer) {\n\t\t\tthrow new Error('Either a gas owner or sender must be set to determine gas payment.');\n\t\t}\n\n\t\tconst normalizedGasPayer = normalizeSuiAddress(gasPayer);\n\t\tlet usesGasCoin = false;\n\t\tlet withdrawals = 0n;\n\n\t\ttransactionData.mapArguments((arg) => {\n\t\t\tif (arg.$kind === 'GasCoin') {\n\t\t\t\tusesGasCoin = true;\n\t\t\t} else if (arg.$kind === 'Input') {\n\t\t\t\tconst input = transactionData.inputs[arg.Input];\n\n\t\t\t\tif (input.$kind === 'FundsWithdrawal') {\n\t\t\t\t\tconst withdrawalOwner = input.FundsWithdrawal.withdrawFrom.Sender\n\t\t\t\t\t\t? transactionData.sender\n\t\t\t\t\t\t: gasPayer;\n\n\t\t\t\t\tif (withdrawalOwner && normalizeSuiAddress(withdrawalOwner) === normalizedGasPayer) {\n\t\t\t\t\t\tif (input.FundsWithdrawal.reservation.$kind === 'MaxAmountU64') {\n\t\t\t\t\t\t\twithdrawals += BigInt(input.FundsWithdrawal.reservation.MaxAmountU64);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn arg;\n\t\t});\n\n\t\tconst [suiBalance, coins] = await Promise.all([\n\t\t\tusesGasCoin ? null : client.core.getBalance({ owner: gasPayer }),\n\t\t\tclient.core.listCoins({\n\t\t\t\towner: gasPayer,\n\t\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t\t}),\n\t\t]);\n\n\t\tif (\n\t\t\tsuiBalance?.balance.addressBalance &&\n\t\t\tBigInt(suiBalance.balance.addressBalance) >=\n\t\t\t\tBigInt(transactionData.gasData.budget || '0') + withdrawals\n\t\t) {\n\t\t\ttransactionData.gasData.payment = [];\n\t\t\treturn;\n\t\t}\n\n\t\tconst paymentCoins = coins.objects\n\t\t\t// Filter out coins that are also used as input:\n\t\t\t.filter((coin) => {\n\t\t\t\tconst matchingInput = transactionData.inputs.find((input) => {\n\t\t\t\t\tif (input.Object?.ImmOrOwnedObject) {\n\t\t\t\t\t\treturn coin.objectId === input.Object.ImmOrOwnedObject.objectId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\n\t\t\t\treturn !matchingInput;\n\t\t\t})\n\t\t\t.map((coin) =>\n\t\t\t\tparse(ObjectRefSchema, {\n\t\t\t\t\tobjectId: coin.objectId,\n\t\t\t\t\tdigest: coin.digest,\n\t\t\t\t\tversion: coin.version,\n\t\t\t\t}),\n\t\t\t);\n\n\t\tif (!paymentCoins.length) {\n\t\t\tthrow new Error('No valid gas coins found for the transaction.');\n\t\t}\n\n\t\ttransactionData.gasData.payment = paymentCoins;\n\t}\n}\n\nasync function setExpiration(\n\ttransactionData: TransactionDataBuilder,\n\tclient: ClientWithCoreApi,\n\texistingSystemState: SystemStateData | null,\n) {\n\tif (transactionData.expiration || hasVersionedInputs(transactionData)) {\n\t\treturn;\n\t}\n\n\tconst [systemState, { chainIdentifier }] = await Promise.all([\n\t\texistingSystemState ?? client.core.getCurrentSystemState().then((r) => r.systemState),\n\t\tclient.core.getChainIdentifier(),\n\t]);\n\tconst currentEpoch = BigInt(systemState.epoch);\n\n\ttransactionData.expiration = {\n\t\t$kind: 'ValidDuring',\n\t\tValidDuring: {\n\t\t\tminEpoch: String(currentEpoch),\n\t\t\tmaxEpoch: String(currentEpoch + 1n),\n\t\t\tminTimestamp: null,\n\t\t\tmaxTimestamp: null,\n\t\t\tchain: chainIdentifier,\n\t\t\tnonce: (Math.random() * 0x100000000) >>> 0,\n\t\t},\n\t};\n}\n\nfunction hasVersionedInputs(transactionData: TransactionDataBuilder): boolean {\n\tif (transactionData.gasData.payment?.length) {\n\t\treturn true;\n\t}\n\n\treturn transactionData.inputs.some(\n\t\t(input) =>\n\t\t\tinput.Object?.ImmOrOwnedObject || (input.UnresolvedObject && input.UnresolvedObject.version),\n\t);\n}\n\nasync function resolveObjectReferences(\n\ttransactionData: TransactionDataBuilder,\n\tclient: ClientWithCoreApi,\n) {\n\t// Keep track of the object references that will need to be resolved at the end of the transaction.\n\t// We keep the input by-reference to avoid needing to re-resolve it:\n\tconst objectsToResolve = transactionData.inputs.filter((input) => {\n\t\treturn (\n\t\t\tinput.UnresolvedObject &&\n\t\t\t!(input.UnresolvedObject.version || input.UnresolvedObject?.initialSharedVersion)\n\t\t);\n\t}) as Extract<CallArg, { UnresolvedObject: unknown }>[];\n\n\tconst dedupedIds = [\n\t\t...new Set(\n\t\t\tobjectsToResolve.map((input) => normalizeSuiObjectId(input.UnresolvedObject.objectId)),\n\t\t),\n\t];\n\n\tconst objectChunks = dedupedIds.length ? chunk(dedupedIds, MAX_OBJECTS_PER_FETCH) : [];\n\tconst resolved = (\n\t\tawait Promise.all(\n\t\t\tobjectChunks.map((chunkIds) =>\n\t\t\t\tclient.core.getObjects({\n\t\t\t\t\tobjectIds: chunkIds,\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flatMap((result) => result.objects);\n\n\tconst responsesById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, resolved[index]];\n\t\t}),\n\t);\n\n\tconst invalidObjects = Array.from(responsesById)\n\t\t.filter(([_, obj]) => obj instanceof Error)\n\t\t.map(([_, obj]) => (obj as Error).message);\n\n\tif (invalidObjects.length) {\n\t\tthrow new Error(`The following input objects are invalid: ${invalidObjects.join(', ')}`);\n\t}\n\n\tconst objects = resolved.map((object) => {\n\t\tif (object instanceof Error) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.message}`);\n\t\t}\n\t\tconst owner = object.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? owner.$kind === 'Shared'\n\t\t\t\t\t? owner.Shared.initialSharedVersion\n\t\t\t\t\t: owner.$kind === 'ConsensusAddressOwner'\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.startVersion\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.objectId,\n\t\t\tdigest: object.digest,\n\t\t\tversion: object.version,\n\t\t\tinitialSharedVersion,\n\t\t};\n\t});\n\n\tconst objectsById = new Map(\n\t\tdedupedIds.map((id, index) => {\n\t\t\treturn [id, objects[index]];\n\t\t}),\n\t);\n\n\tfor (const [index, input] of transactionData.inputs.entries()) {\n\t\tif (!input.UnresolvedObject) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tlet updated: CallArg | undefined;\n\t\tconst id = normalizeSuiAddress(input.UnresolvedObject.objectId);\n\t\tconst object = objectsById.get(id);\n\n\t\tif (input.UnresolvedObject.initialSharedVersion ?? object?.initialSharedVersion) {\n\t\t\tupdated = Inputs.SharedObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tinitialSharedVersion:\n\t\t\t\t\tinput.UnresolvedObject.initialSharedVersion || object?.initialSharedVersion!,\n\t\t\t\tmutable: input.UnresolvedObject.mutable || isUsedAsMutable(transactionData, index),\n\t\t\t});\n\t\t} else if (isUsedAsReceiving(transactionData, index)) {\n\t\t\tupdated = Inputs.ReceivingRef(\n\t\t\t\t{\n\t\t\t\t\tobjectId: id,\n\t\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t\t}!,\n\t\t\t);\n\t\t}\n\n\t\ttransactionData.inputs[transactionData.inputs.indexOf(input)] =\n\t\t\tupdated ??\n\t\t\tInputs.ObjectRef({\n\t\t\t\tobjectId: id,\n\t\t\t\tdigest: input.UnresolvedObject.digest ?? object?.digest!,\n\t\t\t\tversion: input.UnresolvedObject.version ?? object?.version!,\n\t\t\t});\n\t}\n}\n\nasync function normalizeInputs(transactionData: TransactionDataBuilder, client: ClientWithCoreApi) {\n\tconst { inputs, commands } = transactionData;\n\tconst moveCallsToResolve: Extract<Command, { MoveCall: unknown }>['MoveCall'][] = [];\n\tconst moveFunctionsToResolve = new Set<string>();\n\n\tcommands.forEach((command) => {\n\t\t// Special case move call:\n\t\tif (command.MoveCall) {\n\t\t\t// Determine if any of the arguments require encoding.\n\t\t\t// - If they don't, then this is good to go.\n\t\t\t// - If they do, then we need to fetch the normalized move module.\n\n\t\t\t// If we already know the argument types, we don't need to resolve them again\n\t\t\tif (command.MoveCall._argumentTypes) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputs = command.MoveCall.arguments.map((arg) => {\n\t\t\t\tif (arg.$kind === 'Input') {\n\t\t\t\t\treturn transactionData.inputs[arg.Input];\n\t\t\t\t}\n\t\t\t\treturn null;\n\t\t\t});\n\t\t\tconst needsResolution = inputs.some(\n\t\t\t\t(input) =>\n\t\t\t\t\tinput?.UnresolvedPure ||\n\t\t\t\t\t(input?.UnresolvedObject && typeof input?.UnresolvedObject.mutable !== 'boolean'),\n\t\t\t);\n\n\t\t\tif (needsResolution) {\n\t\t\t\tconst functionName = `${command.MoveCall.package}::${command.MoveCall.module}::${command.MoveCall.function}`;\n\t\t\t\tmoveFunctionsToResolve.add(functionName);\n\t\t\t\tmoveCallsToResolve.push(command.MoveCall);\n\t\t\t}\n\t\t}\n\t});\n\n\tconst moveFunctionParameters = new Map<string, SuiClientTypes.OpenSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleName, name] = functionName.split('::');\n\t\t\t\tconst { function: def } = await client.core.getMoveFunction({\n\t\t\t\t\tpackageId,\n\t\t\t\t\tmoduleName,\n\t\t\t\t\tname,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(functionName, def.parameters);\n\t\t\t}),\n\t\t);\n\t}\n\n\tif (moveCallsToResolve.length) {\n\t\tawait Promise.all(\n\t\t\tmoveCallsToResolve.map(async (moveCall) => {\n\t\t\t\tconst parameters = moveFunctionParameters.get(\n\t\t\t\t\t`${moveCall.package}::${moveCall.module}::${moveCall.function}`,\n\t\t\t\t);\n\n\t\t\t\tif (!parameters) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\t// Entry functions can have a mutable reference to an instance of the TxContext\n\t\t\t\t// struct defined in the TxContext module as the last parameter. The caller of\n\t\t\t\t// the function does not need to pass it in as an argument.\n\t\t\t\tconst hasTxContext = parameters.length > 0 && isTxContext(parameters.at(-1)!);\n\t\t\t\tconst params = hasTxContext ? parameters.slice(0, parameters.length - 1) : parameters;\n\n\t\t\t\tmoveCall._argumentTypes = params;\n\t\t\t}),\n\t\t);\n\t}\n\n\tcommands.forEach((command) => {\n\t\tif (!command.MoveCall) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst moveCall = command.MoveCall;\n\t\tconst fnName = `${moveCall.package}::${moveCall.module}::${moveCall.function}`;\n\t\tconst params = moveCall._argumentTypes;\n\n\t\tif (!params) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (params.length !== command.MoveCall.arguments.length) {\n\t\t\tthrow new Error(`Incorrect number of arguments for ${fnName}`);\n\t\t}\n\n\t\tparams.forEach((param, i) => {\n\t\t\tconst arg = moveCall.arguments[i];\n\t\t\tif (arg.$kind !== 'Input') return;\n\t\t\tconst input = inputs[arg.Input];\n\n\t\t\t// Skip if the input is already resolved\n\t\t\tif (!input.UnresolvedPure && !input.UnresolvedObject) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst inputValue = input.UnresolvedPure?.value ?? input.UnresolvedObject?.objectId!;\n\n\t\t\tconst schema = getPureBcsSchema(param.body);\n\t\t\tif (schema) {\n\t\t\t\targ.type = 'pure';\n\t\t\t\tinputs[inputs.indexOf(input)] = Inputs.Pure(schema.serialize(inputValue));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (typeof inputValue !== 'string') {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`Expect the argument to be an object id string, got ${JSON.stringify(\n\t\t\t\t\t\tinputValue,\n\t\t\t\t\t\tnull,\n\t\t\t\t\t\t2,\n\t\t\t\t\t)}`,\n\t\t\t\t);\n\t\t\t}\n\n\t\t\targ.type = 'object';\n\t\t\tconst unresolvedObject: typeof input = input.UnresolvedPure\n\t\t\t\t? {\n\t\t\t\t\t\t$kind: 'UnresolvedObject',\n\t\t\t\t\t\tUnresolvedObject: {\n\t\t\t\t\t\t\tobjectId: inputValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t}\n\t\t\t\t: input;\n\n\t\t\tinputs[arg.Input] = unresolvedObject;\n\t\t});\n\t});\n}\n\nfunction isUsedAsMutable(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsMutable = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsMutable =\n\t\t\t\ttx.MoveCall._argumentTypes[argIndex].reference !== 'immutable' || usedAsMutable;\n\t\t}\n\n\t\tif (\n\t\t\ttx.$kind === 'MakeMoveVec' ||\n\t\t\ttx.$kind === 'MergeCoins' ||\n\t\t\ttx.$kind === 'SplitCoins' ||\n\t\t\ttx.$kind === 'TransferObjects'\n\t\t) {\n\t\t\tusedAsMutable = true;\n\t\t}\n\t});\n\n\treturn usedAsMutable;\n}\n\nfunction isUsedAsReceiving(transactionData: TransactionDataBuilder, index: number) {\n\tlet usedAsReceiving = false;\n\n\ttransactionData.getInputUses(index, (arg, tx) => {\n\t\tif (tx.MoveCall && tx.MoveCall._argumentTypes) {\n\t\t\tconst argIndex = tx.MoveCall.arguments.indexOf(arg);\n\t\t\tusedAsReceiving = isReceivingType(tx.MoveCall._argumentTypes[argIndex]) || usedAsReceiving;\n\t\t}\n\t});\n\n\treturn usedAsReceiving;\n}\n\nconst RECEIVING_TYPE =\n\t'0x0000000000000000000000000000000000000000000000000000000000000002::transfer::Receiving';\n\nfunction isReceivingType(type: SuiClientTypes.OpenSignature): boolean {\n\tif (type.body.$kind !== 'datatype') {\n\t\treturn false;\n\t}\n\n\treturn type.body.datatype.typeName === RECEIVING_TYPE;\n}\n"],"mappings":"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"}
|
package/dist/client/core.d.mts
CHANGED
|
@@ -27,6 +27,7 @@ declare abstract class CoreClient extends BaseClient implements SuiClientTypes.T
|
|
|
27
27
|
abstract simulateTransaction<Include extends SuiClientTypes.SimulateTransactionInclude = {}>(options: SuiClientTypes.SimulateTransactionOptions<Include>): Promise<SuiClientTypes.SimulateTransactionResult<Include>>;
|
|
28
28
|
abstract getReferenceGasPrice(options?: SuiClientTypes.GetReferenceGasPriceOptions): Promise<SuiClientTypes.GetReferenceGasPriceResponse>;
|
|
29
29
|
abstract getCurrentSystemState(options?: SuiClientTypes.GetCurrentSystemStateOptions): Promise<SuiClientTypes.GetCurrentSystemStateResponse>;
|
|
30
|
+
abstract getProtocolConfig(options?: SuiClientTypes.GetProtocolConfigOptions): Promise<SuiClientTypes.GetProtocolConfigResponse>;
|
|
30
31
|
abstract getChainIdentifier(options?: SuiClientTypes.GetChainIdentifierOptions): Promise<SuiClientTypes.GetChainIdentifierResponse>;
|
|
31
32
|
abstract listDynamicFields(options: SuiClientTypes.ListDynamicFieldsOptions): Promise<SuiClientTypes.ListDynamicFieldsResponse>;
|
|
32
33
|
abstract resolveTransactionPlugin(): TransactionPlugin;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.mts","names":[],"sources":["../../src/client/core.ts"],"sourcesContent":[],"mappings":";;;;;;KAYY,iBAAA,GAAoB;QACzB;;AADK,UAIK,iBAAA,SAA0B,cAAA,CAAe,gBAJN,CAAA;EAInC,IAAA,EACV,UADU;EACV,GAAA,CAAA,EACA,cAAA,CAAe,UADf;;AADoC,uBAUrB,UAAA,SAAmB,UAAA,YAAsB,cAAA,CAAe,gBAVpB,CAAA;EAAgB,IAAA,EAAA,IAAA;EAUpD,GAAA,EAEhB,cAAA,CAAe,UAFY;EAE3B,WAAA,CAAe,OAAA,EAEC,iBAFD;EAEC,SAAA,UAAA,CAAA,gBAWe,cAAA,CAAe,aAX9B,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAYX,cAAA,CAAe,iBAZJ,CAYsB,OAZtB,CAAA,CAAA,EAalB,OAbkB,CAaV,cAAA,CAAe,kBAbL,CAawB,OAbxB,CAAA,CAAA;EAWe,SAAA,CAAA,gBAIJ,cAAA,CAAe,aAJI,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAKzC,cAAA,CAAe,gBAL0B,CAKT,OALS,CAAA,CAAA,EAMhD,OANgD,CAMxC,cAAA,CAAe,iBANyB,CAMP,OANO,CAAA,CAAA;EACR,SAAA,SAAA,CAAA,OAAA,EAqBjC,cAAA,CAAe,gBArBkB,CAAA,EAsBxC,OAtBwC,CAsBhC,cAAA,CAAe,iBAtBiB,CAAA;EAAjC,SAAA,gBAAe,CAAA,gBAwBiB,cAAA,CAAe,aAxBhC,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAyBf,cAAA,CAAe,uBAzBA,CAyBwB,OAzBxB,CAAA,CAAA,EA0BtB,OA1BsB,CA0Bd,cAAA,CAAe,wBA1BD,CA0B0B,OA1B1B,CAAA,CAAA;EACoB,SAAA,UAAA,CAAA,OAAA,EA4BnC,cAAA,CAAe,iBA5BoB,CAAA,EA6B1C,OA7B0C,CA6BlC,cAAA,CAAe,kBA7BmB,CAAA;EAAlC,SAAA,YAAe,CAAA,OAAA,EAgChB,cAAA,CAAe,mBAhCC,CAAA,EAiCvB,OAjCuB,CAiCf,cAAA,CAAe,oBAjCA,CAAA;EAAvB,SAAA,eAAA,CAAA,OAAA,EAoCO,cAAA,CAAe,sBApCtB,CAAA,EAqCA,OArCA,CAqCQ,cAAA,CAAe,uBArCvB,CAAA;EAE6B,SAAA,cAAe,CAAA,gBAqCP,cAAA,CAAe,kBArCR,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAsCrC,cAAA,CAAe,qBAtCsB,CAsCA,OAtCA,CAAA,CAAA,EAuC5C,OAvC4C,CAuCpC,cAAA,CAAe,iBAvCqB,CAuCH,OAvCG,CAAA,CAAA;EACL,SAAA,kBAAA,CAAA,gBAwCE,cAAA,CAAe,kBAxCjB,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAyChC,cAAA,CAAe,yBAzCiB,CAyCS,OAzCT,CAAA,CAAA,EA0CvC,OA1CuC,CA0C/B,cAAA,CAAe,iBA1CgB,CA0CE,OA1CF,CAAA,CAAA;EAAhC,SAAA,mBAAe,CAAA,gBA4CoB,cAAA,CAAe,0BA5CnC,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EA6Cf,cAAA,CAAe,0BA7CA,CA6C2B,OA7C3B,CAAA,CAAA,EA8CtB,OA9CsB,CA8Cd,cAAA,CAAe,yBA9CD,CA8C2B,OA9C3B,CAAA,CAAA;EACmB,SAAA,oBAAA,CAAA,OAAA,CAAA,EAgDjC,cAAA,CAAe,2BAhDkB,CAAA,EAiDzC,OAjDyC,CAiDjC,cAAA,CAAe,4BAjDkB,CAAA;EAAjC,SAAA,qBAAe,CAAA,OAAA,CAAA,EAoDf,cAAA,CAAe,4BApDA,CAAA,EAqDvB,OArDuB,CAqDf,cAAA,CAAe,6BArDA,CAAA;EAAvB,SAAA,
|
|
1
|
+
{"version":3,"file":"core.d.mts","names":[],"sources":["../../src/client/core.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/client/core.mjs
CHANGED
|
@@ -85,14 +85,29 @@ var CoreClient = class extends BaseClient {
|
|
|
85
85
|
return { object };
|
|
86
86
|
}
|
|
87
87
|
async waitForTransaction(options) {
|
|
88
|
-
const { signal, timeout = 60 * 1e3, include } = options;
|
|
88
|
+
const { signal, timeout = 60 * 1e3, pollSchedule, include } = options;
|
|
89
89
|
const digest = "result" in options && options.result ? (options.result.Transaction ?? options.result.FailedTransaction).digest : options.digest;
|
|
90
90
|
const abortSignal = signal ? AbortSignal.any([AbortSignal.timeout(timeout), signal]) : AbortSignal.timeout(timeout);
|
|
91
91
|
const abortPromise = new Promise((_, reject) => {
|
|
92
92
|
abortSignal.addEventListener("abort", () => reject(abortSignal.reason));
|
|
93
93
|
});
|
|
94
94
|
abortPromise.catch(() => {});
|
|
95
|
+
const schedule = pollSchedule ?? [
|
|
96
|
+
0,
|
|
97
|
+
300,
|
|
98
|
+
600,
|
|
99
|
+
1500,
|
|
100
|
+
3500
|
|
101
|
+
];
|
|
102
|
+
const t0 = Date.now();
|
|
103
|
+
let scheduleIndex = 0;
|
|
104
|
+
const lastInterval = schedule.length > 0 ? schedule[schedule.length - 1] - (schedule[schedule.length - 2] ?? 0) : 2e3;
|
|
95
105
|
while (true) {
|
|
106
|
+
if (scheduleIndex < schedule.length) {
|
|
107
|
+
const remaining = t0 + schedule[scheduleIndex] - Date.now();
|
|
108
|
+
scheduleIndex++;
|
|
109
|
+
if (remaining > 0) await Promise.race([new Promise((resolve) => setTimeout(resolve, remaining)), abortPromise]);
|
|
110
|
+
} else await Promise.race([new Promise((resolve) => setTimeout(resolve, lastInterval)), abortPromise]);
|
|
96
111
|
abortSignal.throwIfAborted();
|
|
97
112
|
try {
|
|
98
113
|
return await this.getTransaction({
|
|
@@ -100,9 +115,7 @@ var CoreClient = class extends BaseClient {
|
|
|
100
115
|
include,
|
|
101
116
|
signal: abortSignal
|
|
102
117
|
});
|
|
103
|
-
} catch {
|
|
104
|
-
await Promise.race([new Promise((resolve) => setTimeout(resolve, 2e3)), abortPromise]);
|
|
105
|
-
}
|
|
118
|
+
} catch {}
|
|
106
119
|
}
|
|
107
120
|
}
|
|
108
121
|
async signAndExecuteTransaction({ transaction, signer, additionalSignatures = [], ...input }) {
|
package/dist/client/core.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.mjs","names":["bcs"],"sources":["../../src/client/core.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { TypeTagSerializer } from '../bcs/type-tag-serializer.js';\nimport type { TransactionPlugin } from '../transactions/index.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { normalizeStructTag, parseStructTag, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { BaseClient } from './client.js';\nimport type { ClientWithExtensions, SuiClientTypes } from './types.js';\nimport { MvrClient } from './mvr.js';\nimport { bcs } from '../bcs/index.js';\n\nexport type ClientWithCoreApi = ClientWithExtensions<{\n\tcore: CoreClient;\n}>;\n\nexport interface CoreClientOptions extends SuiClientTypes.SuiClientOptions {\n\tbase: BaseClient;\n\tmvr?: SuiClientTypes.MvrOptions;\n}\n\nconst DEFAULT_MVR_URLS: Record<string, string> = {\n\tmainnet: 'https://mainnet.mvr.mystenlabs.com',\n\ttestnet: 'https://testnet.mvr.mystenlabs.com',\n};\n\nexport abstract class CoreClient extends BaseClient implements SuiClientTypes.TransportMethods {\n\tcore = this;\n\tmvr: SuiClientTypes.MvrMethods;\n\n\tconstructor(options: CoreClientOptions) {\n\t\tsuper(options);\n\n\t\tthis.mvr = new MvrClient({\n\t\t\tcache: this.cache.scope('core.mvr'),\n\t\t\turl: options.mvr?.url ?? DEFAULT_MVR_URLS[this.network],\n\t\t\tpageSize: options.mvr?.pageSize,\n\t\t\toverrides: options.mvr?.overrides,\n\t\t});\n\t}\n\n\tabstract getObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectsResponse<Include>>;\n\n\tasync getObject<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectResponse<Include>> {\n\t\tconst { objectId } = options;\n\t\tconst {\n\t\t\tobjects: [result],\n\t\t} = await this.getObjects({\n\t\t\tobjectIds: [objectId],\n\t\t\tsignal: options.signal,\n\t\t\tinclude: options.include,\n\t\t});\n\t\tif (result instanceof Error) {\n\t\t\tthrow result;\n\t\t}\n\t\treturn { object: result };\n\t}\n\n\tabstract listCoins(\n\t\toptions: SuiClientTypes.ListCoinsOptions,\n\t): Promise<SuiClientTypes.ListCoinsResponse>;\n\n\tabstract listOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.ListOwnedObjectsResponse<Include>>;\n\n\tabstract getBalance(\n\t\toptions: SuiClientTypes.GetBalanceOptions,\n\t): Promise<SuiClientTypes.GetBalanceResponse>;\n\n\tabstract listBalances(\n\t\toptions: SuiClientTypes.ListBalancesOptions,\n\t): Promise<SuiClientTypes.ListBalancesResponse>;\n\n\tabstract getCoinMetadata(\n\t\toptions: SuiClientTypes.GetCoinMetadataOptions,\n\t): Promise<SuiClientTypes.GetCoinMetadataResponse>;\n\n\tabstract getTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.GetTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>>;\n\n\tabstract executeTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.ExecuteTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>>;\n\n\tabstract simulateTransaction<Include extends SuiClientTypes.SimulateTransactionInclude = {}>(\n\t\toptions: SuiClientTypes.SimulateTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.SimulateTransactionResult<Include>>;\n\n\tabstract getReferenceGasPrice(\n\t\toptions?: SuiClientTypes.GetReferenceGasPriceOptions,\n\t): Promise<SuiClientTypes.GetReferenceGasPriceResponse>;\n\n\tabstract getCurrentSystemState(\n\t\toptions?: SuiClientTypes.GetCurrentSystemStateOptions,\n\t): Promise<SuiClientTypes.GetCurrentSystemStateResponse>;\n\n\tabstract getChainIdentifier(\n\t\toptions?: SuiClientTypes.GetChainIdentifierOptions,\n\t): Promise<SuiClientTypes.GetChainIdentifierResponse>;\n\n\tabstract listDynamicFields(\n\t\toptions: SuiClientTypes.ListDynamicFieldsOptions,\n\t): Promise<SuiClientTypes.ListDynamicFieldsResponse>;\n\n\tabstract resolveTransactionPlugin(): TransactionPlugin;\n\n\tabstract verifyZkLoginSignature(\n\t\toptions: SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<SuiClientTypes.ZkLoginVerifyResponse>;\n\n\tabstract getMoveFunction(\n\t\toptions: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse>;\n\n\tabstract defaultNameServiceName(\n\t\toptions: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse>;\n\n\tasync getDynamicField(\n\t\toptions: SuiClientTypes.GetDynamicFieldOptions,\n\t): Promise<SuiClientTypes.GetDynamicFieldResponse> {\n\t\tconst normalizedNameType = TypeTagSerializer.parseFromStr(\n\t\t\t(\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: options.name.type,\n\t\t\t\t})\n\t\t\t).type,\n\t\t);\n\t\tconst fieldId = deriveDynamicFieldID(options.parentId, normalizedNameType, options.name.bcs);\n\t\tconst {\n\t\t\tobjects: [fieldObject],\n\t\t} = await this.getObjects({\n\t\t\tobjectIds: [fieldId],\n\t\t\tsignal: options.signal,\n\t\t\tinclude: {\n\t\t\t\tpreviousTransaction: true,\n\t\t\t\tcontent: true,\n\t\t\t},\n\t\t});\n\n\t\tif (fieldObject instanceof Error) {\n\t\t\tthrow fieldObject;\n\t\t}\n\n\t\tconst fieldType = parseStructTag(fieldObject.type);\n\t\tconst content = await fieldObject.content;\n\n\t\tconst nameTypeParam = fieldType.typeParams[0];\n\t\tconst isDynamicObject =\n\t\t\ttypeof nameTypeParam !== 'string' &&\n\t\t\tnameTypeParam.module === 'dynamic_object_field' &&\n\t\t\tnameTypeParam.name === 'Wrapper';\n\n\t\tconst valueBcs = content.slice(SUI_ADDRESS_LENGTH + options.name.bcs.length);\n\n\t\tconst valueType =\n\t\t\ttypeof fieldType.typeParams[1] === 'string'\n\t\t\t\t? fieldType.typeParams[1]\n\t\t\t\t: normalizeStructTag(fieldType.typeParams[1]);\n\n\t\treturn {\n\t\t\tdynamicField: {\n\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\tfieldId: fieldObject.objectId,\n\t\t\t\tdigest: fieldObject.digest,\n\t\t\t\tversion: fieldObject.version,\n\t\t\t\ttype: fieldObject.type,\n\t\t\t\tpreviousTransaction: fieldObject.previousTransaction,\n\t\t\t\tname: {\n\t\t\t\t\ttype:\n\t\t\t\t\t\ttypeof nameTypeParam === 'string' ? nameTypeParam : normalizeStructTag(nameTypeParam),\n\t\t\t\t\tbcs: options.name.bcs,\n\t\t\t\t},\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: valueType,\n\t\t\t\t\tbcs: valueBcs,\n\t\t\t\t},\n\t\t\t\tchildId: isDynamicObject ? bcs.Address.parse(valueBcs) : undefined,\n\t\t\t} as SuiClientTypes.GetDynamicFieldResponse['dynamicField'],\n\t\t};\n\t}\n\n\tasync getDynamicObjectField<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetDynamicObjectFieldOptions<Include>,\n\t): Promise<SuiClientTypes.GetDynamicObjectFieldResponse<Include>> {\n\t\tconst resolvedNameType = (\n\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\ttype: options.name.type,\n\t\t\t})\n\t\t).type;\n\t\tconst wrappedType = `0x2::dynamic_object_field::Wrapper<${resolvedNameType}>`;\n\n\t\tconst { dynamicField } = await this.getDynamicField({\n\t\t\tparentId: options.parentId,\n\t\t\tname: {\n\t\t\t\ttype: wrappedType,\n\t\t\t\tbcs: options.name.bcs,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { object } = await this.getObject({\n\t\t\tobjectId: dynamicField.childId!,\n\t\t\tsignal: options.signal,\n\t\t\tinclude: options.include,\n\t\t});\n\n\t\treturn { object };\n\t}\n\n\tasync waitForTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.WaitForTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>> {\n\t\tconst { signal, timeout = 60 * 1000, include } = options;\n\n\t\tconst digest =\n\t\t\t'result' in options && options.result\n\t\t\t\t? (options.result.Transaction ?? options.result.FailedTransaction)!.digest\n\t\t\t\t: options.digest;\n\n\t\tconst abortSignal = signal\n\t\t\t? AbortSignal.any([AbortSignal.timeout(timeout), signal])\n\t\t\t: AbortSignal.timeout(timeout);\n\n\t\tconst abortPromise = new Promise((_, reject) => {\n\t\t\tabortSignal.addEventListener('abort', () => reject(abortSignal.reason));\n\t\t});\n\n\t\tabortPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\twhile (true) {\n\t\t\tabortSignal.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransaction({\n\t\t\t\t\tdigest,\n\t\t\t\t\tinclude,\n\t\t\t\t\tsignal: abortSignal,\n\t\t\t\t});\n\t\t\t} catch {\n\t\t\t\tawait Promise.race([new Promise((resolve) => setTimeout(resolve, 2_000)), abortPromise]);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync signAndExecuteTransaction<Include extends SuiClientTypes.TransactionInclude = {}>({\n\t\ttransaction,\n\t\tsigner,\n\t\tadditionalSignatures = [],\n\t\t...input\n\t}: SuiClientTypes.SignAndExecuteTransactionOptions<Include>): Promise<\n\t\tSuiClientTypes.TransactionResult<Include>\n\t> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransaction({\n\t\t\ttransaction: transactionBytes,\n\t\t\tsignatures: [signature, ...additionalSignatures],\n\t\t\t...input,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.mjs","names":["bcs"],"sources":["../../src/client/core.ts"],"sourcesContent":["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { TypeTagSerializer } from '../bcs/type-tag-serializer.js';\nimport type { TransactionPlugin } from '../transactions/index.js';\nimport { deriveDynamicFieldID } from '../utils/dynamic-fields.js';\nimport { normalizeStructTag, parseStructTag, SUI_ADDRESS_LENGTH } from '../utils/sui-types.js';\nimport { BaseClient } from './client.js';\nimport type { ClientWithExtensions, SuiClientTypes } from './types.js';\nimport { MvrClient } from './mvr.js';\nimport { bcs } from '../bcs/index.js';\n\nexport type ClientWithCoreApi = ClientWithExtensions<{\n\tcore: CoreClient;\n}>;\n\nexport interface CoreClientOptions extends SuiClientTypes.SuiClientOptions {\n\tbase: BaseClient;\n\tmvr?: SuiClientTypes.MvrOptions;\n}\n\nconst DEFAULT_MVR_URLS: Record<string, string> = {\n\tmainnet: 'https://mainnet.mvr.mystenlabs.com',\n\ttestnet: 'https://testnet.mvr.mystenlabs.com',\n};\n\nexport abstract class CoreClient extends BaseClient implements SuiClientTypes.TransportMethods {\n\tcore = this;\n\tmvr: SuiClientTypes.MvrMethods;\n\n\tconstructor(options: CoreClientOptions) {\n\t\tsuper(options);\n\n\t\tthis.mvr = new MvrClient({\n\t\t\tcache: this.cache.scope('core.mvr'),\n\t\t\turl: options.mvr?.url ?? DEFAULT_MVR_URLS[this.network],\n\t\t\tpageSize: options.mvr?.pageSize,\n\t\t\toverrides: options.mvr?.overrides,\n\t\t});\n\t}\n\n\tabstract getObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectsResponse<Include>>;\n\n\tasync getObject<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetObjectOptions<Include>,\n\t): Promise<SuiClientTypes.GetObjectResponse<Include>> {\n\t\tconst { objectId } = options;\n\t\tconst {\n\t\t\tobjects: [result],\n\t\t} = await this.getObjects({\n\t\t\tobjectIds: [objectId],\n\t\t\tsignal: options.signal,\n\t\t\tinclude: options.include,\n\t\t});\n\t\tif (result instanceof Error) {\n\t\t\tthrow result;\n\t\t}\n\t\treturn { object: result };\n\t}\n\n\tabstract listCoins(\n\t\toptions: SuiClientTypes.ListCoinsOptions,\n\t): Promise<SuiClientTypes.ListCoinsResponse>;\n\n\tabstract listOwnedObjects<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.ListOwnedObjectsOptions<Include>,\n\t): Promise<SuiClientTypes.ListOwnedObjectsResponse<Include>>;\n\n\tabstract getBalance(\n\t\toptions: SuiClientTypes.GetBalanceOptions,\n\t): Promise<SuiClientTypes.GetBalanceResponse>;\n\n\tabstract listBalances(\n\t\toptions: SuiClientTypes.ListBalancesOptions,\n\t): Promise<SuiClientTypes.ListBalancesResponse>;\n\n\tabstract getCoinMetadata(\n\t\toptions: SuiClientTypes.GetCoinMetadataOptions,\n\t): Promise<SuiClientTypes.GetCoinMetadataResponse>;\n\n\tabstract getTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.GetTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>>;\n\n\tabstract executeTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.ExecuteTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>>;\n\n\tabstract simulateTransaction<Include extends SuiClientTypes.SimulateTransactionInclude = {}>(\n\t\toptions: SuiClientTypes.SimulateTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.SimulateTransactionResult<Include>>;\n\n\tabstract getReferenceGasPrice(\n\t\toptions?: SuiClientTypes.GetReferenceGasPriceOptions,\n\t): Promise<SuiClientTypes.GetReferenceGasPriceResponse>;\n\n\tabstract getCurrentSystemState(\n\t\toptions?: SuiClientTypes.GetCurrentSystemStateOptions,\n\t): Promise<SuiClientTypes.GetCurrentSystemStateResponse>;\n\n\tabstract getProtocolConfig(\n\t\toptions?: SuiClientTypes.GetProtocolConfigOptions,\n\t): Promise<SuiClientTypes.GetProtocolConfigResponse>;\n\n\tabstract getChainIdentifier(\n\t\toptions?: SuiClientTypes.GetChainIdentifierOptions,\n\t): Promise<SuiClientTypes.GetChainIdentifierResponse>;\n\n\tabstract listDynamicFields(\n\t\toptions: SuiClientTypes.ListDynamicFieldsOptions,\n\t): Promise<SuiClientTypes.ListDynamicFieldsResponse>;\n\n\tabstract resolveTransactionPlugin(): TransactionPlugin;\n\n\tabstract verifyZkLoginSignature(\n\t\toptions: SuiClientTypes.VerifyZkLoginSignatureOptions,\n\t): Promise<SuiClientTypes.ZkLoginVerifyResponse>;\n\n\tabstract getMoveFunction(\n\t\toptions: SuiClientTypes.GetMoveFunctionOptions,\n\t): Promise<SuiClientTypes.GetMoveFunctionResponse>;\n\n\tabstract defaultNameServiceName(\n\t\toptions: SuiClientTypes.DefaultNameServiceNameOptions,\n\t): Promise<SuiClientTypes.DefaultNameServiceNameResponse>;\n\n\tasync getDynamicField(\n\t\toptions: SuiClientTypes.GetDynamicFieldOptions,\n\t): Promise<SuiClientTypes.GetDynamicFieldResponse> {\n\t\tconst normalizedNameType = TypeTagSerializer.parseFromStr(\n\t\t\t(\n\t\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\t\ttype: options.name.type,\n\t\t\t\t})\n\t\t\t).type,\n\t\t);\n\t\tconst fieldId = deriveDynamicFieldID(options.parentId, normalizedNameType, options.name.bcs);\n\t\tconst {\n\t\t\tobjects: [fieldObject],\n\t\t} = await this.getObjects({\n\t\t\tobjectIds: [fieldId],\n\t\t\tsignal: options.signal,\n\t\t\tinclude: {\n\t\t\t\tpreviousTransaction: true,\n\t\t\t\tcontent: true,\n\t\t\t},\n\t\t});\n\n\t\tif (fieldObject instanceof Error) {\n\t\t\tthrow fieldObject;\n\t\t}\n\n\t\tconst fieldType = parseStructTag(fieldObject.type);\n\t\tconst content = await fieldObject.content;\n\n\t\tconst nameTypeParam = fieldType.typeParams[0];\n\t\tconst isDynamicObject =\n\t\t\ttypeof nameTypeParam !== 'string' &&\n\t\t\tnameTypeParam.module === 'dynamic_object_field' &&\n\t\t\tnameTypeParam.name === 'Wrapper';\n\n\t\tconst valueBcs = content.slice(SUI_ADDRESS_LENGTH + options.name.bcs.length);\n\n\t\tconst valueType =\n\t\t\ttypeof fieldType.typeParams[1] === 'string'\n\t\t\t\t? fieldType.typeParams[1]\n\t\t\t\t: normalizeStructTag(fieldType.typeParams[1]);\n\n\t\treturn {\n\t\t\tdynamicField: {\n\t\t\t\t$kind: isDynamicObject ? 'DynamicObject' : 'DynamicField',\n\t\t\t\tfieldId: fieldObject.objectId,\n\t\t\t\tdigest: fieldObject.digest,\n\t\t\t\tversion: fieldObject.version,\n\t\t\t\ttype: fieldObject.type,\n\t\t\t\tpreviousTransaction: fieldObject.previousTransaction,\n\t\t\t\tname: {\n\t\t\t\t\ttype:\n\t\t\t\t\t\ttypeof nameTypeParam === 'string' ? nameTypeParam : normalizeStructTag(nameTypeParam),\n\t\t\t\t\tbcs: options.name.bcs,\n\t\t\t\t},\n\t\t\t\tvalue: {\n\t\t\t\t\ttype: valueType,\n\t\t\t\t\tbcs: valueBcs,\n\t\t\t\t},\n\t\t\t\tchildId: isDynamicObject ? bcs.Address.parse(valueBcs) : undefined,\n\t\t\t} as SuiClientTypes.GetDynamicFieldResponse['dynamicField'],\n\t\t};\n\t}\n\n\tasync getDynamicObjectField<Include extends SuiClientTypes.ObjectInclude = {}>(\n\t\toptions: SuiClientTypes.GetDynamicObjectFieldOptions<Include>,\n\t): Promise<SuiClientTypes.GetDynamicObjectFieldResponse<Include>> {\n\t\tconst resolvedNameType = (\n\t\t\tawait this.core.mvr.resolveType({\n\t\t\t\ttype: options.name.type,\n\t\t\t})\n\t\t).type;\n\t\tconst wrappedType = `0x2::dynamic_object_field::Wrapper<${resolvedNameType}>`;\n\n\t\tconst { dynamicField } = await this.getDynamicField({\n\t\t\tparentId: options.parentId,\n\t\t\tname: {\n\t\t\t\ttype: wrappedType,\n\t\t\t\tbcs: options.name.bcs,\n\t\t\t},\n\t\t\tsignal: options.signal,\n\t\t});\n\n\t\tconst { object } = await this.getObject({\n\t\t\tobjectId: dynamicField.childId!,\n\t\t\tsignal: options.signal,\n\t\t\tinclude: options.include,\n\t\t});\n\n\t\treturn { object };\n\t}\n\n\tasync waitForTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(\n\t\toptions: SuiClientTypes.WaitForTransactionOptions<Include>,\n\t): Promise<SuiClientTypes.TransactionResult<Include>> {\n\t\tconst { signal, timeout = 60 * 1000, pollSchedule, include } = options;\n\n\t\tconst digest =\n\t\t\t'result' in options && options.result\n\t\t\t\t? (options.result.Transaction ?? options.result.FailedTransaction)!.digest\n\t\t\t\t: options.digest;\n\n\t\tconst abortSignal = signal\n\t\t\t? AbortSignal.any([AbortSignal.timeout(timeout), signal])\n\t\t\t: AbortSignal.timeout(timeout);\n\n\t\tconst abortPromise = new Promise((_, reject) => {\n\t\t\tabortSignal.addEventListener('abort', () => reject(abortSignal.reason));\n\t\t});\n\n\t\tabortPromise.catch(() => {\n\t\t\t// Swallow unhandled rejections that might be thrown after early return\n\t\t});\n\n\t\t// Default schedule tuned to testnet measurements:\n\t\t// - Fullnode (gRPC/JSON-RPC): p50=130ms, p95=330ms\n\t\t// - GraphQL indexer: p50=1300ms, p95=1430ms\n\t\t// After schedule exhausted, repeats the last interval.\n\t\tconst schedule = pollSchedule ?? [0, 300, 600, 1500, 3500];\n\t\tconst t0 = Date.now();\n\t\tlet scheduleIndex = 0;\n\t\tconst lastInterval =\n\t\t\tschedule.length > 0\n\t\t\t\t? schedule[schedule.length - 1] - (schedule[schedule.length - 2] ?? 0)\n\t\t\t\t: 2_000;\n\n\t\twhile (true) {\n\t\t\tif (scheduleIndex < schedule.length) {\n\t\t\t\tconst remaining = t0 + schedule[scheduleIndex] - Date.now();\n\t\t\t\tscheduleIndex++;\n\t\t\t\tif (remaining > 0) {\n\t\t\t\t\tawait Promise.race([\n\t\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, remaining)),\n\t\t\t\t\t\tabortPromise,\n\t\t\t\t\t]);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tawait Promise.race([\n\t\t\t\t\tnew Promise((resolve) => setTimeout(resolve, lastInterval)),\n\t\t\t\t\tabortPromise,\n\t\t\t\t]);\n\t\t\t}\n\n\t\t\tabortSignal.throwIfAborted();\n\t\t\ttry {\n\t\t\t\treturn await this.getTransaction({\n\t\t\t\t\tdigest,\n\t\t\t\t\tinclude,\n\t\t\t\t\tsignal: abortSignal,\n\t\t\t\t});\n\t\t\t} catch {}\n\t\t}\n\t}\n\n\tasync signAndExecuteTransaction<Include extends SuiClientTypes.TransactionInclude = {}>({\n\t\ttransaction,\n\t\tsigner,\n\t\tadditionalSignatures = [],\n\t\t...input\n\t}: SuiClientTypes.SignAndExecuteTransactionOptions<Include>): Promise<\n\t\tSuiClientTypes.TransactionResult<Include>\n\t> {\n\t\tlet transactionBytes;\n\n\t\tif (transaction instanceof Uint8Array) {\n\t\t\ttransactionBytes = transaction;\n\t\t} else {\n\t\t\ttransaction.setSenderIfNotSet(signer.toSuiAddress());\n\t\t\ttransactionBytes = await transaction.build({ client: this });\n\t\t}\n\n\t\tconst { signature } = await signer.signTransaction(transactionBytes);\n\n\t\treturn this.executeTransaction({\n\t\t\ttransaction: transactionBytes,\n\t\t\tsignatures: [signature, ...additionalSignatures],\n\t\t\t...input,\n\t\t});\n\t}\n}\n"],"mappings":"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"}
|
package/dist/client/types.d.mts
CHANGED
|
@@ -350,12 +350,16 @@ declare namespace SuiClientTypes {
|
|
|
350
350
|
type WaitForTransactionOptions<Include extends TransactionInclude = {}> = WaitForTransactionByDigest<Include> | WaitForTransactionByResult<Include>;
|
|
351
351
|
interface WaitForTransactionByDigest<Include extends TransactionInclude = {}> extends GetTransactionOptions<Include> {
|
|
352
352
|
timeout?: number;
|
|
353
|
+
/** Absolute times (ms from start) to poll, e.g. [0, 300, 600, 1500]. After exhausted, repeats the last interval. */
|
|
354
|
+
pollSchedule?: number[];
|
|
353
355
|
result?: never;
|
|
354
356
|
}
|
|
355
357
|
interface WaitForTransactionByResult<Include extends TransactionInclude = {}> extends CoreClientMethodOptions {
|
|
356
358
|
result: TransactionResult<any>;
|
|
357
359
|
include?: Include & TransactionInclude;
|
|
358
360
|
timeout?: number;
|
|
361
|
+
/** Absolute times (ms from start) to poll, e.g. [0, 300, 600, 1500]. After exhausted, repeats the last interval. */
|
|
362
|
+
pollSchedule?: number[];
|
|
359
363
|
digest?: never;
|
|
360
364
|
}
|
|
361
365
|
interface ExecuteTransactionOptions<Include extends TransactionInclude = {}> extends CoreClientMethodOptions {
|
|
@@ -387,6 +391,18 @@ declare namespace SuiClientTypes {
|
|
|
387
391
|
interface GetCurrentSystemStateResponse {
|
|
388
392
|
systemState: SystemStateInfo;
|
|
389
393
|
}
|
|
394
|
+
interface GetProtocolConfigOptions extends CoreClientMethodOptions {}
|
|
395
|
+
interface TransportMethods {
|
|
396
|
+
getProtocolConfig?: (options?: GetProtocolConfigOptions) => Promise<GetProtocolConfigResponse>;
|
|
397
|
+
}
|
|
398
|
+
interface GetProtocolConfigResponse {
|
|
399
|
+
protocolConfig: ProtocolConfig;
|
|
400
|
+
}
|
|
401
|
+
interface ProtocolConfig {
|
|
402
|
+
protocolVersion: string;
|
|
403
|
+
featureFlags: Record<string, boolean>;
|
|
404
|
+
attributes: Record<string, string | null>;
|
|
405
|
+
}
|
|
390
406
|
interface GetChainIdentifierOptions extends CoreClientMethodOptions {}
|
|
391
407
|
interface TransportMethods {
|
|
392
408
|
getChainIdentifier?: (options?: GetChainIdentifierOptions) => Promise<GetChainIdentifierResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../src/client/types.ts"],"sourcesContent":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.mts","names":[],"sources":["../../src/client/types.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/graphql/core.d.mts
CHANGED
|
@@ -25,6 +25,7 @@ declare class GraphQLCoreClient extends CoreClient {
|
|
|
25
25
|
executeTransaction<Include extends SuiClientTypes.TransactionInclude = {}>(options: SuiClientTypes.ExecuteTransactionOptions<Include>): Promise<SuiClientTypes.TransactionResult<Include>>;
|
|
26
26
|
simulateTransaction<Include extends SuiClientTypes.SimulateTransactionInclude = {}>(options: SuiClientTypes.SimulateTransactionOptions<Include>): Promise<SuiClientTypes.SimulateTransactionResult<Include>>;
|
|
27
27
|
getReferenceGasPrice(): Promise<SuiClientTypes.GetReferenceGasPriceResponse>;
|
|
28
|
+
getProtocolConfig(): Promise<SuiClientTypes.GetProtocolConfigResponse>;
|
|
28
29
|
getCurrentSystemState(): Promise<SuiClientTypes.GetCurrentSystemStateResponse>;
|
|
29
30
|
listDynamicFields(options: SuiClientTypes.ListDynamicFieldsOptions): Promise<SuiClientTypes.ListDynamicFieldsResponse>;
|
|
30
31
|
verifyZkLoginSignature(options: SuiClientTypes.VerifyZkLoginSignatureOptions): Promise<SuiClientTypes.ZkLoginVerifyResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.mts","names":[],"sources":["../../src/graphql/core.ts"],"sourcesContent":[],"mappings":";;;;;;;;
|
|
1
|
+
{"version":3,"file":"core.d.mts","names":[],"sources":["../../src/graphql/core.ts"],"sourcesContent":[],"mappings":";;;;;;;;cAoDa,iBAAA,SAA0B,UAAA;;;;;EAKrC;IALW,aAAA,EAOI,gBAPc;IAI7B,GAAA,CAAA,EAIM,cAAA,CAAe,UAJrB;EACA,CAAA;EAEe,UAAA,CAAA,gBA4BiB,cAAA,CAAe,aA5BhC,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EA6BN,cAAA,CAAe,iBA7BT,CA6B2B,OA7B3B,CAAA,CAAA,EA8Bb,OA9Ba,CA8BL,cAAA,CAAe,kBA9BV,CA8B6B,OA9B7B,CAAA,CAAA;EACT,gBAAe,CAAA,gBA6GiB,cAAA,CAAe,aA7GhC,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EA8GZ,cAAA,CAAe,uBA9GH,CA8G2B,OA9G3B,CAAA,CAAA,EA+GnB,OA/GmB,CA+GX,cAAA,CAAe,wBA/GJ,CA+G6B,OA/G7B,CAAA,CAAA;EA2BW,SAAA,CAAA,OAAe,EAyItC,cAAA,CAAe,gBAzIuB,CAAA,EA0I7C,OA1I6C,CA0IrC,cAAA,CAAe,iBA1IsB,CAAA;EACL,UAAA,CAAA,OAAA,EAyKjC,cAAA,CAAe,iBAzKkB,CAAA,EA0KxC,OA1KwC,CA0KhC,cAAA,CAAe,kBA1KiB,CAAA;EAAjC,eAAe,CAAA,OAAA,EAoMf,cAAA,CAAe,sBApMA,CAAA,EAqMtB,OArMsB,CAqMd,cAAA,CAAe,uBArMD,CAAA;EACoB,YAAA,CAAA,OAAA,EAiOnC,cAAA,CAAe,mBAjOoB,CAAA,EAkO1C,OAlO0C,CAkOlC,cAAA,CAAe,oBAlOmB,CAAA;EAAlC,cAAe,CAAA,gBA0PW,cAAA,CAAe,kBA1P1B,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EA2PhB,cAAA,CAAe,qBA3PC,CA2PqB,OA3PrB,CAAA,CAAA,EA4PvB,OA5PuB,CA4Pf,cAAA,CAAe,iBA5PA,CA4PkB,OA5PlB,CAAA,CAAA;EAAvB,kBAAA,CAAA,gBA+QsC,cAAA,CAAe,kBA/QrD,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAgRO,cAAA,CAAe,yBAhRtB,CAgRgD,OAhRhD,CAAA,CAAA,EAiRA,OAjRA,CAiRQ,cAAA,CAAe,iBAjRvB,CAiRyC,OAjRzC,CAAA,CAAA;EAgFoC,mBAAe,CAAA,gBAqNZ,cAAA,CAAe,0BArNH,GAAA,CAAA,CAAA,CAAA,CAAA,OAAA,EAsN5C,cAAA,CAAe,0BAtN6B,CAsNF,OAtNE,CAAA,CAAA,EAuNnD,OAvNmD,CAuN3C,cAAA,CAAe,yBAvN4B,CAuNF,OAvNE,CAAA,CAAA;EACL,oBAAA,CAAA,CAAA,EAiRnB,OAjRmB,CAiRX,cAAA,CAAe,4BAjRJ,CAAA;EAAvC,iBAAe,CAAA,CAAA,EA8RE,OA9RF,CA8RU,cAAA,CAAe,yBA9RzB,CAAA;EAC0B,qBAAA,CAAA,CAAA,EAuTpB,OAvToB,CAuTZ,cAAA,CAAe,6BAvTH,CAAA;EAAxC,iBAAe,CAAA,OAAA,EA6ZhB,cAAA,CAAe,wBA7ZC,CAAA,EA8ZvB,OA9ZuB,CA8Zf,cAAA,CAAe,yBA9ZA,CAAA;EAAvB,sBAAA,CAAA,OAAA,EAmaO,cAAA,CAAe,6BAnatB,CAAA,EAoaA,OApaA,CAoaQ,cAAA,CAAe,qBApavB,CAAA;EAqDO,sBAAe,CAAA,OAAA,EAsYf,cAAA,CAAe,6BAtYA,CAAA,EAuYtB,OAvYsB,CAuYd,cAAA,CAAe,8BAvYD,CAAA;EACd,eAAe,CAAA,OAAA,EAwZhB,cAAA,CAAe,sBAxZC,CAAA,EAyZvB,OAzZuB,CAyZf,cAAA,CAAe,uBAzZA,CAAA;EAAvB,kBAAA,CAAA,QAAA,CAAA,EAwdS,cAAA,CAAe,yBAxdxB,CAAA,EAydA,OAzdA,CAydQ,cAAA,CAAe,0BAzdvB,CAAA;EAgCO,wBAAe,CAAA,CAAA,EAAA,CAAA,eAAA,EA6cN,sBA7cM,EAAA,OAAA,EA8cd,uBA9cc,EAAA,IAAA,EAAA,GAAA,GA+cX,OA/cW,CAAA,IAAA,CAAA,EAAA,GA+cE,OA/cF,CAAA,IAAA,CAAA"}
|
package/dist/graphql/core.mjs
CHANGED
|
@@ -4,7 +4,7 @@ import { TransactionDataBuilder } from "../transactions/TransactionData.mjs";
|
|
|
4
4
|
import { formatMoveAbortMessage, parseTransactionEffectsBcs } from "../client/utils.mjs";
|
|
5
5
|
import { ObjectError, SimulationError } from "../client/errors.mjs";
|
|
6
6
|
import { SUI_TYPE_ARG } from "../utils/constants.mjs";
|
|
7
|
-
import { DefaultSuinsNameDocument, ExecuteTransactionDocument, ExecutionStatus, GetAllBalancesDocument, GetBalanceDocument, GetChainIdentifierDocument, GetCoinMetadataDocument, GetCoinsDocument, GetCurrentSystemStateDocument, GetMoveFunctionDocument, GetOwnedObjectsDocument, GetReferenceGasPriceDocument, GetTransactionBlockDocument, MultiGetObjectsDocument, ResolveTransactionDocument, SimulateTransactionDocument, VerifyZkLoginSignatureDocument, ZkLoginIntentScope } from "./generated/queries.mjs";
|
|
7
|
+
import { DefaultSuinsNameDocument, ExecuteTransactionDocument, ExecutionStatus, GetAllBalancesDocument, GetBalanceDocument, GetChainIdentifierDocument, GetCoinMetadataDocument, GetCoinsDocument, GetCurrentSystemStateDocument, GetMoveFunctionDocument, GetOwnedObjectsDocument, GetProtocolConfigDocument, GetReferenceGasPriceDocument, GetTransactionBlockDocument, MultiGetObjectsDocument, ResolveTransactionDocument, SimulateTransactionDocument, VerifyZkLoginSignatureDocument, ZkLoginIntentScope } from "./generated/queries.mjs";
|
|
8
8
|
import { Transaction } from "../grpc/proto/sui/rpc/v2/transaction.mjs";
|
|
9
9
|
import { grpcTransactionToTransactionData, transactionDataToGrpcTransaction, transactionToGrpcJson } from "../client/transaction-resolver.mjs";
|
|
10
10
|
import { BalanceChange } from "../grpc/proto/sui/rpc/v2/balance_change.mjs";
|
|
@@ -244,6 +244,18 @@ var GraphQLCoreClient = class extends CoreClient {
|
|
|
244
244
|
async getReferenceGasPrice() {
|
|
245
245
|
return { referenceGasPrice: await this.#graphqlQuery({ query: GetReferenceGasPriceDocument }, (result) => result.epoch?.referenceGasPrice) ?? "" };
|
|
246
246
|
}
|
|
247
|
+
async getProtocolConfig() {
|
|
248
|
+
const result = await this.#graphqlQuery({ query: GetProtocolConfigDocument }, (result$1) => result$1.epoch?.protocolConfigs);
|
|
249
|
+
const featureFlags = {};
|
|
250
|
+
for (const flag of result?.featureFlags ?? []) featureFlags[flag.key] = flag.value;
|
|
251
|
+
const attributes = {};
|
|
252
|
+
for (const config of result?.configs ?? []) attributes[config.key] = config.value ?? null;
|
|
253
|
+
return { protocolConfig: {
|
|
254
|
+
protocolVersion: result?.protocolVersion?.toString() ?? null,
|
|
255
|
+
featureFlags,
|
|
256
|
+
attributes
|
|
257
|
+
} };
|
|
258
|
+
}
|
|
247
259
|
async getCurrentSystemState() {
|
|
248
260
|
const result = await this.#graphqlQuery({ query: GetCurrentSystemStateDocument }, (result$1) => result$1.epoch);
|
|
249
261
|
if (!result) throw new Error("Epoch data not found in response");
|