@mysten/sui 1.36.2 → 1.37.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 +6 -0
- package/dist/cjs/bcs/effects.js +1 -0
- package/dist/cjs/bcs/effects.js.map +2 -2
- package/dist/cjs/experimental/transports/json-rpc-resolver.js +1 -1
- package/dist/cjs/experimental/transports/json-rpc-resolver.js.map +2 -2
- package/dist/cjs/experimental/transports/utils.js +1 -1
- package/dist/cjs/experimental/transports/utils.js.map +2 -2
- package/dist/cjs/experimental/types.d.ts +1 -1
- package/dist/cjs/experimental/types.js.map +1 -1
- package/dist/cjs/version.d.ts +2 -2
- package/dist/cjs/version.js +2 -2
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/bcs/effects.js +1 -0
- package/dist/esm/bcs/effects.js.map +2 -2
- package/dist/esm/experimental/transports/json-rpc-resolver.js +1 -1
- package/dist/esm/experimental/transports/json-rpc-resolver.js.map +2 -2
- package/dist/esm/experimental/transports/utils.js +1 -1
- package/dist/esm/experimental/transports/utils.js.map +2 -2
- package/dist/esm/experimental/types.d.ts +1 -1
- package/dist/esm/version.d.ts +2 -2
- package/dist/esm/version.js +2 -2
- package/dist/esm/version.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/bcs/effects.ts +1 -0
- package/src/experimental/transports/json-rpc-resolver.ts +6 -1
- package/src/experimental/transports/utils.ts +6 -1
- package/src/experimental/types.ts +2 -2
- package/src/version.ts +2 -2
package/CHANGELOG.md
CHANGED
package/dist/cjs/bcs/effects.js
CHANGED
|
@@ -184,6 +184,7 @@ const EffectsObjectChange = import_bcs.bcs.struct("EffectsObjectChange", {
|
|
|
184
184
|
});
|
|
185
185
|
const UnchangedSharedKind = import_bcs.bcs.enum("UnchangedSharedKind", {
|
|
186
186
|
ReadOnlyRoot: VersionDigest,
|
|
187
|
+
// TODO: these have been renamed to MutateConsensusStreamEnded and ReadConsensusStreamEnded
|
|
187
188
|
MutateDeleted: import_bcs.bcs.u64(),
|
|
188
189
|
ReadDeleted: import_bcs.bcs.u64(),
|
|
189
190
|
Cancelled: import_bcs.bcs.u64(),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/bcs/effects.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/bcs';\n\nimport { Address, ObjectDigest, Owner, SuiObjectRef } from './bcs.js';\n\nconst PackageUpgradeError = bcs.enum('PackageUpgradeError', {\n\tUnableToFetchPackage: bcs.struct('UnableToFetchPackage', { packageId: Address }),\n\tNotAPackage: bcs.struct('NotAPackage', { objectId: Address }),\n\tIncompatibleUpgrade: null,\n\tDigestDoesNotMatch: bcs.struct('DigestDoesNotMatch', { digest: bcs.vector(bcs.u8()) }),\n\tUnknownUpgradePolicy: bcs.struct('UnknownUpgradePolicy', { policy: bcs.u8() }),\n\tPackageIDDoesNotMatch: bcs.struct('PackageIDDoesNotMatch', {\n\t\tpackageId: Address,\n\t\tticketId: Address,\n\t}),\n});\n\nconst ModuleId = bcs.struct('ModuleId', {\n\taddress: Address,\n\tname: bcs.string(),\n});\nconst MoveLocation = bcs.struct('MoveLocation', {\n\tmodule: ModuleId,\n\tfunction: bcs.u16(),\n\tinstruction: bcs.u16(),\n\tfunctionName: bcs.option(bcs.string()),\n});\n\nconst CommandArgumentError = bcs.enum('CommandArgumentError', {\n\tTypeMismatch: null,\n\tInvalidBCSBytes: null,\n\tInvalidUsageOfPureArg: null,\n\tInvalidArgumentToPrivateEntryFunction: null,\n\tIndexOutOfBounds: bcs.struct('IndexOutOfBounds', { idx: bcs.u16() }),\n\tSecondaryIndexOutOfBounds: bcs.struct('SecondaryIndexOutOfBounds', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidResultArity: bcs.struct('InvalidResultArity', { resultIdx: bcs.u16() }),\n\tInvalidGasCoinUsage: null,\n\tInvalidValueUsage: null,\n\tInvalidObjectByValue: null,\n\tInvalidObjectByMutRef: null,\n\tSharedObjectOperationNotAllowed: null,\n});\n\nconst TypeArgumentError = bcs.enum('TypeArgumentError', {\n\tTypeNotFound: null,\n\tConstraintNotSatisfied: null,\n});\n\nconst ExecutionFailureStatus = bcs.enum('ExecutionFailureStatus', {\n\tInsufficientGas: null,\n\tInvalidGasObject: null,\n\tInvariantViolation: null,\n\tFeatureNotYetSupported: null,\n\tMoveObjectTooBig: bcs.struct('MoveObjectTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tMovePackageTooBig: bcs.struct('MovePackageTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tCircularObjectOwnership: bcs.struct('CircularObjectOwnership', { object: Address }),\n\tInsufficientCoinBalance: null,\n\tCoinBalanceOverflow: null,\n\tPublishErrorNonZeroAddress: null,\n\tSuiMoveVerificationError: null,\n\tMovePrimitiveRuntimeError: bcs.option(MoveLocation),\n\tMoveAbort: bcs.tuple([MoveLocation, bcs.u64()]),\n\tVMVerificationOrDeserializationError: null,\n\tVMInvariantViolation: null,\n\tFunctionNotFound: null,\n\tArityMismatch: null,\n\tTypeArityMismatch: null,\n\tNonEntryFunctionInvoked: null,\n\tCommandArgumentError: bcs.struct('CommandArgumentError', {\n\t\targIdx: bcs.u16(),\n\t\tkind: CommandArgumentError,\n\t}),\n\tTypeArgumentError: bcs.struct('TypeArgumentError', {\n\t\targumentIdx: bcs.u16(),\n\t\tkind: TypeArgumentError,\n\t}),\n\tUnusedValueWithoutDrop: bcs.struct('UnusedValueWithoutDrop', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidPublicFunctionReturnType: bcs.struct('InvalidPublicFunctionReturnType', {\n\t\tidx: bcs.u16(),\n\t}),\n\tInvalidTransferObject: null,\n\tEffectsTooLarge: bcs.struct('EffectsTooLarge', { currentSize: bcs.u64(), maxSize: bcs.u64() }),\n\tPublishUpgradeMissingDependency: null,\n\tPublishUpgradeDependencyDowngrade: null,\n\tPackageUpgradeError: bcs.struct('PackageUpgradeError', { upgradeError: PackageUpgradeError }),\n\tWrittenObjectsTooLarge: bcs.struct('WrittenObjectsTooLarge', {\n\t\tcurrentSize: bcs.u64(),\n\t\tmaxSize: bcs.u64(),\n\t}),\n\tCertificateDenied: null,\n\tSuiMoveVerificationTimedout: null,\n\tSharedObjectOperationNotAllowed: null,\n\tInputObjectDeleted: null,\n\tExecutionCancelledDueToSharedObjectCongestion: bcs.struct(\n\t\t'ExecutionCancelledDueToSharedObjectCongestion',\n\t\t{\n\t\t\tcongestedObjects: bcs.vector(Address),\n\t\t},\n\t),\n\tAddressDeniedForCoin: bcs.struct('AddressDeniedForCoin', {\n\t\taddress: Address,\n\t\tcoinType: bcs.string(),\n\t}),\n\tCoinTypeGlobalPause: bcs.struct('CoinTypeGlobalPause', { coinType: bcs.string() }),\n\tExecutionCancelledDueToRandomnessUnavailable: null,\n});\n\nconst ExecutionStatus = bcs.enum('ExecutionStatus', {\n\tSuccess: null,\n\tFailed: bcs.struct('ExecutionFailed', {\n\t\terror: ExecutionFailureStatus,\n\t\tcommand: bcs.option(bcs.u64()),\n\t}),\n});\n\nconst GasCostSummary = bcs.struct('GasCostSummary', {\n\tcomputationCost: bcs.u64(),\n\tstorageCost: bcs.u64(),\n\tstorageRebate: bcs.u64(),\n\tnonRefundableStorageFee: bcs.u64(),\n});\n\nconst TransactionEffectsV1 = bcs.struct('TransactionEffectsV1', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\tmodifiedAtVersions: bcs.vector(bcs.tuple([Address, bcs.u64()])),\n\tsharedObjects: bcs.vector(SuiObjectRef),\n\ttransactionDigest: ObjectDigest,\n\tcreated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tmutated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tunwrapped: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tdeleted: bcs.vector(SuiObjectRef),\n\tunwrappedThenDeleted: bcs.vector(SuiObjectRef),\n\twrapped: bcs.vector(SuiObjectRef),\n\tgasObject: bcs.tuple([SuiObjectRef, Owner]),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n});\n\nconst VersionDigest = bcs.tuple([bcs.u64(), ObjectDigest]);\n\nconst ObjectIn = bcs.enum('ObjectIn', {\n\tNotExist: null,\n\tExist: bcs.tuple([VersionDigest, Owner]),\n});\n\nconst ObjectOut = bcs.enum('ObjectOut', {\n\tNotExist: null,\n\tObjectWrite: bcs.tuple([ObjectDigest, Owner]),\n\tPackageWrite: VersionDigest,\n});\n\nconst IDOperation = bcs.enum('IDOperation', {\n\tNone: null,\n\tCreated: null,\n\tDeleted: null,\n});\n\nconst EffectsObjectChange = bcs.struct('EffectsObjectChange', {\n\tinputState: ObjectIn,\n\toutputState: ObjectOut,\n\tidOperation: IDOperation,\n});\n\nconst UnchangedSharedKind = bcs.enum('UnchangedSharedKind', {\n\tReadOnlyRoot: VersionDigest,\n\tMutateDeleted: bcs.u64(),\n\tReadDeleted: bcs.u64(),\n\tCancelled: bcs.u64(),\n\tPerEpochConfig: null,\n});\n\nconst TransactionEffectsV2 = bcs.struct('TransactionEffectsV2', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\ttransactionDigest: ObjectDigest,\n\tgasObjectIndex: bcs.option(bcs.u32()),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n\tlamportVersion: bcs.u64(),\n\tchangedObjects: bcs.vector(bcs.tuple([Address, EffectsObjectChange])),\n\tunchangedSharedObjects: bcs.vector(bcs.tuple([Address, UnchangedSharedKind])),\n\tauxDataDigest: bcs.option(ObjectDigest),\n});\n\nexport const TransactionEffects = bcs.enum('TransactionEffects', {\n\tV1: TransactionEffectsV1,\n\tV2: TransactionEffectsV2,\n});\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/bcs';\n\nimport { Address, ObjectDigest, Owner, SuiObjectRef } from './bcs.js';\n\nconst PackageUpgradeError = bcs.enum('PackageUpgradeError', {\n\tUnableToFetchPackage: bcs.struct('UnableToFetchPackage', { packageId: Address }),\n\tNotAPackage: bcs.struct('NotAPackage', { objectId: Address }),\n\tIncompatibleUpgrade: null,\n\tDigestDoesNotMatch: bcs.struct('DigestDoesNotMatch', { digest: bcs.vector(bcs.u8()) }),\n\tUnknownUpgradePolicy: bcs.struct('UnknownUpgradePolicy', { policy: bcs.u8() }),\n\tPackageIDDoesNotMatch: bcs.struct('PackageIDDoesNotMatch', {\n\t\tpackageId: Address,\n\t\tticketId: Address,\n\t}),\n});\n\nconst ModuleId = bcs.struct('ModuleId', {\n\taddress: Address,\n\tname: bcs.string(),\n});\nconst MoveLocation = bcs.struct('MoveLocation', {\n\tmodule: ModuleId,\n\tfunction: bcs.u16(),\n\tinstruction: bcs.u16(),\n\tfunctionName: bcs.option(bcs.string()),\n});\n\nconst CommandArgumentError = bcs.enum('CommandArgumentError', {\n\tTypeMismatch: null,\n\tInvalidBCSBytes: null,\n\tInvalidUsageOfPureArg: null,\n\tInvalidArgumentToPrivateEntryFunction: null,\n\tIndexOutOfBounds: bcs.struct('IndexOutOfBounds', { idx: bcs.u16() }),\n\tSecondaryIndexOutOfBounds: bcs.struct('SecondaryIndexOutOfBounds', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidResultArity: bcs.struct('InvalidResultArity', { resultIdx: bcs.u16() }),\n\tInvalidGasCoinUsage: null,\n\tInvalidValueUsage: null,\n\tInvalidObjectByValue: null,\n\tInvalidObjectByMutRef: null,\n\tSharedObjectOperationNotAllowed: null,\n});\n\nconst TypeArgumentError = bcs.enum('TypeArgumentError', {\n\tTypeNotFound: null,\n\tConstraintNotSatisfied: null,\n});\n\nconst ExecutionFailureStatus = bcs.enum('ExecutionFailureStatus', {\n\tInsufficientGas: null,\n\tInvalidGasObject: null,\n\tInvariantViolation: null,\n\tFeatureNotYetSupported: null,\n\tMoveObjectTooBig: bcs.struct('MoveObjectTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tMovePackageTooBig: bcs.struct('MovePackageTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tCircularObjectOwnership: bcs.struct('CircularObjectOwnership', { object: Address }),\n\tInsufficientCoinBalance: null,\n\tCoinBalanceOverflow: null,\n\tPublishErrorNonZeroAddress: null,\n\tSuiMoveVerificationError: null,\n\tMovePrimitiveRuntimeError: bcs.option(MoveLocation),\n\tMoveAbort: bcs.tuple([MoveLocation, bcs.u64()]),\n\tVMVerificationOrDeserializationError: null,\n\tVMInvariantViolation: null,\n\tFunctionNotFound: null,\n\tArityMismatch: null,\n\tTypeArityMismatch: null,\n\tNonEntryFunctionInvoked: null,\n\tCommandArgumentError: bcs.struct('CommandArgumentError', {\n\t\targIdx: bcs.u16(),\n\t\tkind: CommandArgumentError,\n\t}),\n\tTypeArgumentError: bcs.struct('TypeArgumentError', {\n\t\targumentIdx: bcs.u16(),\n\t\tkind: TypeArgumentError,\n\t}),\n\tUnusedValueWithoutDrop: bcs.struct('UnusedValueWithoutDrop', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidPublicFunctionReturnType: bcs.struct('InvalidPublicFunctionReturnType', {\n\t\tidx: bcs.u16(),\n\t}),\n\tInvalidTransferObject: null,\n\tEffectsTooLarge: bcs.struct('EffectsTooLarge', { currentSize: bcs.u64(), maxSize: bcs.u64() }),\n\tPublishUpgradeMissingDependency: null,\n\tPublishUpgradeDependencyDowngrade: null,\n\tPackageUpgradeError: bcs.struct('PackageUpgradeError', { upgradeError: PackageUpgradeError }),\n\tWrittenObjectsTooLarge: bcs.struct('WrittenObjectsTooLarge', {\n\t\tcurrentSize: bcs.u64(),\n\t\tmaxSize: bcs.u64(),\n\t}),\n\tCertificateDenied: null,\n\tSuiMoveVerificationTimedout: null,\n\tSharedObjectOperationNotAllowed: null,\n\tInputObjectDeleted: null,\n\tExecutionCancelledDueToSharedObjectCongestion: bcs.struct(\n\t\t'ExecutionCancelledDueToSharedObjectCongestion',\n\t\t{\n\t\t\tcongestedObjects: bcs.vector(Address),\n\t\t},\n\t),\n\tAddressDeniedForCoin: bcs.struct('AddressDeniedForCoin', {\n\t\taddress: Address,\n\t\tcoinType: bcs.string(),\n\t}),\n\tCoinTypeGlobalPause: bcs.struct('CoinTypeGlobalPause', { coinType: bcs.string() }),\n\tExecutionCancelledDueToRandomnessUnavailable: null,\n});\n\nconst ExecutionStatus = bcs.enum('ExecutionStatus', {\n\tSuccess: null,\n\tFailed: bcs.struct('ExecutionFailed', {\n\t\terror: ExecutionFailureStatus,\n\t\tcommand: bcs.option(bcs.u64()),\n\t}),\n});\n\nconst GasCostSummary = bcs.struct('GasCostSummary', {\n\tcomputationCost: bcs.u64(),\n\tstorageCost: bcs.u64(),\n\tstorageRebate: bcs.u64(),\n\tnonRefundableStorageFee: bcs.u64(),\n});\n\nconst TransactionEffectsV1 = bcs.struct('TransactionEffectsV1', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\tmodifiedAtVersions: bcs.vector(bcs.tuple([Address, bcs.u64()])),\n\tsharedObjects: bcs.vector(SuiObjectRef),\n\ttransactionDigest: ObjectDigest,\n\tcreated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tmutated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tunwrapped: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tdeleted: bcs.vector(SuiObjectRef),\n\tunwrappedThenDeleted: bcs.vector(SuiObjectRef),\n\twrapped: bcs.vector(SuiObjectRef),\n\tgasObject: bcs.tuple([SuiObjectRef, Owner]),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n});\n\nconst VersionDigest = bcs.tuple([bcs.u64(), ObjectDigest]);\n\nconst ObjectIn = bcs.enum('ObjectIn', {\n\tNotExist: null,\n\tExist: bcs.tuple([VersionDigest, Owner]),\n});\n\nconst ObjectOut = bcs.enum('ObjectOut', {\n\tNotExist: null,\n\tObjectWrite: bcs.tuple([ObjectDigest, Owner]),\n\tPackageWrite: VersionDigest,\n});\n\nconst IDOperation = bcs.enum('IDOperation', {\n\tNone: null,\n\tCreated: null,\n\tDeleted: null,\n});\n\nconst EffectsObjectChange = bcs.struct('EffectsObjectChange', {\n\tinputState: ObjectIn,\n\toutputState: ObjectOut,\n\tidOperation: IDOperation,\n});\n\nconst UnchangedSharedKind = bcs.enum('UnchangedSharedKind', {\n\tReadOnlyRoot: VersionDigest,\n\t// TODO: these have been renamed to MutateConsensusStreamEnded and ReadConsensusStreamEnded\n\tMutateDeleted: bcs.u64(),\n\tReadDeleted: bcs.u64(),\n\tCancelled: bcs.u64(),\n\tPerEpochConfig: null,\n});\n\nconst TransactionEffectsV2 = bcs.struct('TransactionEffectsV2', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\ttransactionDigest: ObjectDigest,\n\tgasObjectIndex: bcs.option(bcs.u32()),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n\tlamportVersion: bcs.u64(),\n\tchangedObjects: bcs.vector(bcs.tuple([Address, EffectsObjectChange])),\n\tunchangedSharedObjects: bcs.vector(bcs.tuple([Address, UnchangedSharedKind])),\n\tauxDataDigest: bcs.option(ObjectDigest),\n});\n\nexport const TransactionEffects = bcs.enum('TransactionEffects', {\n\tV1: TransactionEffectsV1,\n\tV2: TransactionEffectsV2,\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_bcs"]
|
|
7
7
|
}
|
|
@@ -284,7 +284,7 @@ function isUsedAsMutable(transactionData, index) {
|
|
|
284
284
|
const argIndex = tx.MoveCall.arguments.indexOf(arg);
|
|
285
285
|
usedAsMutable = tx.MoveCall._argumentTypes[argIndex].ref !== "&" || usedAsMutable;
|
|
286
286
|
}
|
|
287
|
-
if (tx.$kind === "MakeMoveVec" || tx.$kind === "MergeCoins" || tx.$kind === "SplitCoins") {
|
|
287
|
+
if (tx.$kind === "MakeMoveVec" || tx.$kind === "MergeCoins" || tx.$kind === "SplitCoins" || tx.$kind === "TransferObjects") {
|
|
288
288
|
usedAsMutable = true;
|
|
289
289
|
}
|
|
290
290
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/experimental/transports/json-rpc-resolver.ts"],
|
|
4
|
-
"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 { ObjectRef } from '../../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../../transactions/data/internal.js';\nimport { Inputs } from '../../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { SuiClient } from '../../client/index.js';\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\nexport function suiClientResolveTransactionPlugin(client: SuiClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: 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});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.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: SuiClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\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.coinObjectId === 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\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\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.gasConfig.payment = paymentCoins.map((payment) => parse(ObjectRef, payment));\n\t}\n}\n\nasync function resolveObjectReferences(transactionData: TransactionDataBuilder, client: SuiClient) {\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((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\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.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\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.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? 'Shared' in owner\n\t\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t\t: 'ConsensusAddressOwner' in owner\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.start_version\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.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: 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: SuiClient) {\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) => input?.UnresolvedPure || input?.UnresolvedObject,\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, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\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 = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || usedAsMutable;\n\t\t}\n\n\t\tif (tx.$kind === 'MakeMoveVec' || tx.$kind === 'MergeCoins' || tx.$kind === 'SplitCoins') {\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\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"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 { ObjectRef } from '../../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../../transactions/data/internal.js';\nimport { Inputs } from '../../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { SuiClient } from '../../client/index.js';\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\nexport function suiClientResolveTransactionPlugin(client: SuiClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: 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});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.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: SuiClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\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.coinObjectId === 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\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\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.gasConfig.payment = paymentCoins.map((payment) => parse(ObjectRef, payment));\n\t}\n}\n\nasync function resolveObjectReferences(transactionData: TransactionDataBuilder, client: SuiClient) {\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((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\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.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\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.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? 'Shared' in owner\n\t\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t\t: 'ConsensusAddressOwner' in owner\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.start_version\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.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: 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: SuiClient) {\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) => input?.UnresolvedPure || input?.UnresolvedObject,\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, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\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 = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || 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\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_utils", "chunk", "inputs"]
|
|
7
7
|
}
|
|
@@ -88,7 +88,7 @@ function parseTransactionEffectsV2({
|
|
|
88
88
|
unchangedSharedObjects: effects.unchangedSharedObjects.map(
|
|
89
89
|
([objectId, object]) => {
|
|
90
90
|
return {
|
|
91
|
-
kind: object.$kind,
|
|
91
|
+
kind: object.$kind === "MutateDeleted" ? "MutateConsensusStreamEnded" : object.$kind === "ReadDeleted" ? "ReadConsensusStreamEnded" : object.$kind,
|
|
92
92
|
objectId,
|
|
93
93
|
version: object.$kind === "ReadOnlyRoot" ? object.ReadOnlyRoot[0] : object[object.$kind],
|
|
94
94
|
digest: object.$kind === "ReadOnlyRoot" ? object.ReadOnlyRoot[1] : null
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/experimental/transports/utils.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '../../bcs/index.js';\nimport { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport type { Experimental_SuiClientTypes } from '../types.js';\n\nexport function parseTransactionBcs(\n\tbytes: Uint8Array,\n): Experimental_SuiClientTypes.TransactionResponse['transaction'] {\n\treturn {\n\t\t...TransactionDataBuilder.fromBytes(bytes).snapshot(),\n\t\tbcs: bytes,\n\t};\n}\n\nexport function parseTransactionEffectsBcs(\n\teffects: Uint8Array,\n): Experimental_SuiClientTypes.TransactionEffects {\n\tconst parsed = bcs.TransactionEffects.parse(effects);\n\n\tswitch (parsed.$kind) {\n\t\tcase 'V1':\n\t\t\treturn parseTransactionEffectsV1({ bytes: effects, effects: parsed.V1 });\n\t\tcase 'V2':\n\t\t\treturn parseTransactionEffectsV2({ bytes: effects, effects: parsed.V2 });\n\t\tdefault:\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown transaction effects version: ${(parsed as { $kind: string }).$kind}`,\n\t\t\t);\n\t}\n}\n\nfunction parseTransactionEffectsV1(_: {\n\tbytes: Uint8Array;\n\teffects: NonNullable<(typeof bcs.TransactionEffects.$inferType)['V1']>;\n}): Experimental_SuiClientTypes.TransactionEffects {\n\tthrow new Error('V1 effects are not supported yet');\n}\n\nfunction parseTransactionEffectsV2({\n\tbytes,\n\teffects,\n}: {\n\tbytes: Uint8Array;\n\teffects: NonNullable<(typeof bcs.TransactionEffects.$inferType)['V2']>;\n}): Experimental_SuiClientTypes.TransactionEffects {\n\tconst changedObjects = effects.changedObjects.map(\n\t\t([id, change]): Experimental_SuiClientTypes.ChangedObject => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tinputState: change.inputState.$kind === 'Exist' ? 'Exists' : 'DoesNotExist',\n\t\t\t\tinputVersion: change.inputState.Exist?.[0][0] ?? null,\n\t\t\t\tinputDigest: change.inputState.Exist?.[0][1] ?? null,\n\t\t\t\tinputOwner: change.inputState.Exist?.[1] ?? null,\n\t\t\t\toutputState:\n\t\t\t\t\tchange.outputState.$kind === 'NotExist' ? 'DoesNotExist' : change.outputState.$kind,\n\t\t\t\toutputVersion:\n\t\t\t\t\tchange.outputState.$kind === 'PackageWrite'\n\t\t\t\t\t\t? change.outputState.PackageWrite?.[0]\n\t\t\t\t\t\t: change.outputState.ObjectWrite\n\t\t\t\t\t\t\t? effects.lamportVersion\n\t\t\t\t\t\t\t: null,\n\t\t\t\toutputDigest:\n\t\t\t\t\tchange.outputState.$kind === 'PackageWrite'\n\t\t\t\t\t\t? change.outputState.PackageWrite?.[1]\n\t\t\t\t\t\t: (change.outputState.ObjectWrite?.[0] ?? null),\n\t\t\t\toutputOwner: change.outputState.ObjectWrite ? change.outputState.ObjectWrite[1] : null,\n\t\t\t\tidOperation: change.idOperation.$kind,\n\t\t\t};\n\t\t},\n\t);\n\n\treturn {\n\t\tbcs: bytes,\n\t\tdigest: effects.transactionDigest,\n\t\tversion: 2,\n\t\tstatus:\n\t\t\teffects.status.$kind === 'Success'\n\t\t\t\t? {\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\terror: null,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tsuccess: false,\n\t\t\t\t\t\t// TODO: add command\n\t\t\t\t\t\terror: effects.status.Failed.error.$kind,\n\t\t\t\t\t},\n\t\tgasUsed: effects.gasUsed,\n\t\ttransactionDigest: effects.transactionDigest,\n\t\tgasObject:\n\t\t\teffects.gasObjectIndex === null ? null : (changedObjects[effects.gasObjectIndex] ?? null),\n\t\teventsDigest: effects.eventsDigest,\n\t\tdependencies: effects.dependencies,\n\t\tlamportVersion: effects.lamportVersion,\n\t\tchangedObjects,\n\t\tunchangedSharedObjects: effects.unchangedSharedObjects.map(\n\t\t\t([objectId, object]): Experimental_SuiClientTypes.UnchangedSharedObject => {\n\t\t\t\treturn {\n\t\t\t\t\tkind: object.$kind,\n\t\t\t\t\tobjectId: objectId,\n\t\t\t\t\tversion:\n\t\t\t\t\t\tobject.$kind === 'ReadOnlyRoot'\n\t\t\t\t\t\t\t? object.ReadOnlyRoot[0]\n\t\t\t\t\t\t\t: (object[object.$kind] as string | null),\n\t\t\t\t\tdigest: object.$kind === 'ReadOnlyRoot' ? object.ReadOnlyRoot[1] : null,\n\t\t\t\t};\n\t\t\t},\n\t\t),\n\t\tauxiliaryDataDigest: effects.auxDataDigest,\n\t};\n}\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAoB;AACpB,6BAAuC;AAGhC,SAAS,oBACf,OACiE;AACjE,SAAO;AAAA,IACN,GAAG,8CAAuB,UAAU,KAAK,EAAE,SAAS;AAAA,IACpD,KAAK;AAAA,EACN;AACD;AAEO,SAAS,2BACf,SACiD;AACjD,QAAM,SAAS,eAAI,mBAAmB,MAAM,OAAO;AAEnD,UAAQ,OAAO,OAAO;AAAA,IACrB,KAAK;AACJ,aAAO,0BAA0B,EAAE,OAAO,SAAS,SAAS,OAAO,GAAG,CAAC;AAAA,IACxE,KAAK;AACJ,aAAO,0BAA0B,EAAE,OAAO,SAAS,SAAS,OAAO,GAAG,CAAC;AAAA,IACxE;AACC,YAAM,IAAI;AAAA,QACT,wCAAyC,OAA6B,KAAK;AAAA,MAC5E;AAAA,EACF;AACD;AAEA,SAAS,0BAA0B,GAGgB;AAClD,QAAM,IAAI,MAAM,kCAAkC;AACnD;AAEA,SAAS,0BAA0B;AAAA,EAClC;AAAA,EACA;AACD,GAGmD;AAClD,QAAM,iBAAiB,QAAQ,eAAe;AAAA,IAC7C,CAAC,CAAC,IAAI,MAAM,MAAiD;AAC5D,aAAO;AAAA,QACN;AAAA,QACA,YAAY,OAAO,WAAW,UAAU,UAAU,WAAW;AAAA,QAC7D,cAAc,OAAO,WAAW,QAAQ,CAAC,EAAE,CAAC,KAAK;AAAA,QACjD,aAAa,OAAO,WAAW,QAAQ,CAAC,EAAE,CAAC,KAAK;AAAA,QAChD,YAAY,OAAO,WAAW,QAAQ,CAAC,KAAK;AAAA,QAC5C,aACC,OAAO,YAAY,UAAU,aAAa,iBAAiB,OAAO,YAAY;AAAA,QAC/E,eACC,OAAO,YAAY,UAAU,iBAC1B,OAAO,YAAY,eAAe,CAAC,IACnC,OAAO,YAAY,cAClB,QAAQ,iBACR;AAAA,QACL,cACC,OAAO,YAAY,UAAU,iBAC1B,OAAO,YAAY,eAAe,CAAC,IAClC,OAAO,YAAY,cAAc,CAAC,KAAK;AAAA,QAC5C,aAAa,OAAO,YAAY,cAAc,OAAO,YAAY,YAAY,CAAC,IAAI;AAAA,QAClF,aAAa,OAAO,YAAY;AAAA,MACjC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN,KAAK;AAAA,IACL,QAAQ,QAAQ;AAAA,IAChB,SAAS;AAAA,IACT,QACC,QAAQ,OAAO,UAAU,YACtB;AAAA,MACA,SAAS;AAAA,MACT,OAAO;AAAA,IACR,IACC;AAAA,MACA,SAAS;AAAA;AAAA,MAET,OAAO,QAAQ,OAAO,OAAO,MAAM;AAAA,IACpC;AAAA,IACH,SAAS,QAAQ;AAAA,IACjB,mBAAmB,QAAQ;AAAA,IAC3B,WACC,QAAQ,mBAAmB,OAAO,OAAQ,eAAe,QAAQ,cAAc,KAAK;AAAA,IACrF,cAAc,QAAQ;AAAA,IACtB,cAAc,QAAQ;AAAA,IACtB,gBAAgB,QAAQ;AAAA,IACxB;AAAA,IACA,wBAAwB,QAAQ,uBAAuB;AAAA,MACtD,CAAC,CAAC,UAAU,MAAM,MAAyD;AAC1E,eAAO;AAAA,UACN,
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '../../bcs/index.js';\nimport { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport type { Experimental_SuiClientTypes } from '../types.js';\n\nexport function parseTransactionBcs(\n\tbytes: Uint8Array,\n): Experimental_SuiClientTypes.TransactionResponse['transaction'] {\n\treturn {\n\t\t...TransactionDataBuilder.fromBytes(bytes).snapshot(),\n\t\tbcs: bytes,\n\t};\n}\n\nexport function parseTransactionEffectsBcs(\n\teffects: Uint8Array,\n): Experimental_SuiClientTypes.TransactionEffects {\n\tconst parsed = bcs.TransactionEffects.parse(effects);\n\n\tswitch (parsed.$kind) {\n\t\tcase 'V1':\n\t\t\treturn parseTransactionEffectsV1({ bytes: effects, effects: parsed.V1 });\n\t\tcase 'V2':\n\t\t\treturn parseTransactionEffectsV2({ bytes: effects, effects: parsed.V2 });\n\t\tdefault:\n\t\t\tthrow new Error(\n\t\t\t\t`Unknown transaction effects version: ${(parsed as { $kind: string }).$kind}`,\n\t\t\t);\n\t}\n}\n\nfunction parseTransactionEffectsV1(_: {\n\tbytes: Uint8Array;\n\teffects: NonNullable<(typeof bcs.TransactionEffects.$inferType)['V1']>;\n}): Experimental_SuiClientTypes.TransactionEffects {\n\tthrow new Error('V1 effects are not supported yet');\n}\n\nfunction parseTransactionEffectsV2({\n\tbytes,\n\teffects,\n}: {\n\tbytes: Uint8Array;\n\teffects: NonNullable<(typeof bcs.TransactionEffects.$inferType)['V2']>;\n}): Experimental_SuiClientTypes.TransactionEffects {\n\tconst changedObjects = effects.changedObjects.map(\n\t\t([id, change]): Experimental_SuiClientTypes.ChangedObject => {\n\t\t\treturn {\n\t\t\t\tid,\n\t\t\t\tinputState: change.inputState.$kind === 'Exist' ? 'Exists' : 'DoesNotExist',\n\t\t\t\tinputVersion: change.inputState.Exist?.[0][0] ?? null,\n\t\t\t\tinputDigest: change.inputState.Exist?.[0][1] ?? null,\n\t\t\t\tinputOwner: change.inputState.Exist?.[1] ?? null,\n\t\t\t\toutputState:\n\t\t\t\t\tchange.outputState.$kind === 'NotExist' ? 'DoesNotExist' : change.outputState.$kind,\n\t\t\t\toutputVersion:\n\t\t\t\t\tchange.outputState.$kind === 'PackageWrite'\n\t\t\t\t\t\t? change.outputState.PackageWrite?.[0]\n\t\t\t\t\t\t: change.outputState.ObjectWrite\n\t\t\t\t\t\t\t? effects.lamportVersion\n\t\t\t\t\t\t\t: null,\n\t\t\t\toutputDigest:\n\t\t\t\t\tchange.outputState.$kind === 'PackageWrite'\n\t\t\t\t\t\t? change.outputState.PackageWrite?.[1]\n\t\t\t\t\t\t: (change.outputState.ObjectWrite?.[0] ?? null),\n\t\t\t\toutputOwner: change.outputState.ObjectWrite ? change.outputState.ObjectWrite[1] : null,\n\t\t\t\tidOperation: change.idOperation.$kind,\n\t\t\t};\n\t\t},\n\t);\n\n\treturn {\n\t\tbcs: bytes,\n\t\tdigest: effects.transactionDigest,\n\t\tversion: 2,\n\t\tstatus:\n\t\t\teffects.status.$kind === 'Success'\n\t\t\t\t? {\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\terror: null,\n\t\t\t\t\t}\n\t\t\t\t: {\n\t\t\t\t\t\tsuccess: false,\n\t\t\t\t\t\t// TODO: add command\n\t\t\t\t\t\terror: effects.status.Failed.error.$kind,\n\t\t\t\t\t},\n\t\tgasUsed: effects.gasUsed,\n\t\ttransactionDigest: effects.transactionDigest,\n\t\tgasObject:\n\t\t\teffects.gasObjectIndex === null ? null : (changedObjects[effects.gasObjectIndex] ?? null),\n\t\teventsDigest: effects.eventsDigest,\n\t\tdependencies: effects.dependencies,\n\t\tlamportVersion: effects.lamportVersion,\n\t\tchangedObjects,\n\t\tunchangedSharedObjects: effects.unchangedSharedObjects.map(\n\t\t\t([objectId, object]): Experimental_SuiClientTypes.UnchangedSharedObject => {\n\t\t\t\treturn {\n\t\t\t\t\tkind:\n\t\t\t\t\t\tobject.$kind === 'MutateDeleted'\n\t\t\t\t\t\t\t? 'MutateConsensusStreamEnded'\n\t\t\t\t\t\t\t: object.$kind === 'ReadDeleted'\n\t\t\t\t\t\t\t\t? 'ReadConsensusStreamEnded'\n\t\t\t\t\t\t\t\t: object.$kind,\n\t\t\t\t\tobjectId: objectId,\n\t\t\t\t\tversion:\n\t\t\t\t\t\tobject.$kind === 'ReadOnlyRoot'\n\t\t\t\t\t\t\t? object.ReadOnlyRoot[0]\n\t\t\t\t\t\t\t: (object[object.$kind] as string | null),\n\t\t\t\t\tdigest: object.$kind === 'ReadOnlyRoot' ? object.ReadOnlyRoot[1] : null,\n\t\t\t\t};\n\t\t\t},\n\t\t),\n\t\tauxiliaryDataDigest: effects.auxDataDigest,\n\t};\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,iBAAoB;AACpB,6BAAuC;AAGhC,SAAS,oBACf,OACiE;AACjE,SAAO;AAAA,IACN,GAAG,8CAAuB,UAAU,KAAK,EAAE,SAAS;AAAA,IACpD,KAAK;AAAA,EACN;AACD;AAEO,SAAS,2BACf,SACiD;AACjD,QAAM,SAAS,eAAI,mBAAmB,MAAM,OAAO;AAEnD,UAAQ,OAAO,OAAO;AAAA,IACrB,KAAK;AACJ,aAAO,0BAA0B,EAAE,OAAO,SAAS,SAAS,OAAO,GAAG,CAAC;AAAA,IACxE,KAAK;AACJ,aAAO,0BAA0B,EAAE,OAAO,SAAS,SAAS,OAAO,GAAG,CAAC;AAAA,IACxE;AACC,YAAM,IAAI;AAAA,QACT,wCAAyC,OAA6B,KAAK;AAAA,MAC5E;AAAA,EACF;AACD;AAEA,SAAS,0BAA0B,GAGgB;AAClD,QAAM,IAAI,MAAM,kCAAkC;AACnD;AAEA,SAAS,0BAA0B;AAAA,EAClC;AAAA,EACA;AACD,GAGmD;AAClD,QAAM,iBAAiB,QAAQ,eAAe;AAAA,IAC7C,CAAC,CAAC,IAAI,MAAM,MAAiD;AAC5D,aAAO;AAAA,QACN;AAAA,QACA,YAAY,OAAO,WAAW,UAAU,UAAU,WAAW;AAAA,QAC7D,cAAc,OAAO,WAAW,QAAQ,CAAC,EAAE,CAAC,KAAK;AAAA,QACjD,aAAa,OAAO,WAAW,QAAQ,CAAC,EAAE,CAAC,KAAK;AAAA,QAChD,YAAY,OAAO,WAAW,QAAQ,CAAC,KAAK;AAAA,QAC5C,aACC,OAAO,YAAY,UAAU,aAAa,iBAAiB,OAAO,YAAY;AAAA,QAC/E,eACC,OAAO,YAAY,UAAU,iBAC1B,OAAO,YAAY,eAAe,CAAC,IACnC,OAAO,YAAY,cAClB,QAAQ,iBACR;AAAA,QACL,cACC,OAAO,YAAY,UAAU,iBAC1B,OAAO,YAAY,eAAe,CAAC,IAClC,OAAO,YAAY,cAAc,CAAC,KAAK;AAAA,QAC5C,aAAa,OAAO,YAAY,cAAc,OAAO,YAAY,YAAY,CAAC,IAAI;AAAA,QAClF,aAAa,OAAO,YAAY;AAAA,MACjC;AAAA,IACD;AAAA,EACD;AAEA,SAAO;AAAA,IACN,KAAK;AAAA,IACL,QAAQ,QAAQ;AAAA,IAChB,SAAS;AAAA,IACT,QACC,QAAQ,OAAO,UAAU,YACtB;AAAA,MACA,SAAS;AAAA,MACT,OAAO;AAAA,IACR,IACC;AAAA,MACA,SAAS;AAAA;AAAA,MAET,OAAO,QAAQ,OAAO,OAAO,MAAM;AAAA,IACpC;AAAA,IACH,SAAS,QAAQ;AAAA,IACjB,mBAAmB,QAAQ;AAAA,IAC3B,WACC,QAAQ,mBAAmB,OAAO,OAAQ,eAAe,QAAQ,cAAc,KAAK;AAAA,IACrF,cAAc,QAAQ;AAAA,IACtB,cAAc,QAAQ;AAAA,IACtB,gBAAgB,QAAQ;AAAA,IACxB;AAAA,IACA,wBAAwB,QAAQ,uBAAuB;AAAA,MACtD,CAAC,CAAC,UAAU,MAAM,MAAyD;AAC1E,eAAO;AAAA,UACN,MACC,OAAO,UAAU,kBACd,+BACA,OAAO,UAAU,gBAChB,6BACA,OAAO;AAAA,UACZ;AAAA,UACA,SACC,OAAO,UAAU,iBACd,OAAO,aAAa,CAAC,IACpB,OAAO,OAAO,KAAK;AAAA,UACxB,QAAQ,OAAO,UAAU,iBAAiB,OAAO,aAAa,CAAC,IAAI;AAAA,QACpE;AAAA,MACD;AAAA,IACD;AAAA,IACA,qBAAqB,QAAQ;AAAA,EAC9B;AACD;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -320,7 +320,7 @@ export declare namespace Experimental_SuiClientTypes {
|
|
|
320
320
|
error: string;
|
|
321
321
|
};
|
|
322
322
|
interface UnchangedSharedObject {
|
|
323
|
-
kind: 'Unknown' | 'ReadOnlyRoot' | '
|
|
323
|
+
kind: 'Unknown' | 'ReadOnlyRoot' | 'MutateConsensusStreamEnded' | 'ReadConsensusStreamEnded' | 'Cancelled' | 'PerEpochConfig';
|
|
324
324
|
objectId: string;
|
|
325
325
|
version: string | null;
|
|
326
326
|
digest: string | null;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/experimental/types.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { SerializedTransactionDataV2, TransactionPlugin } from '../transactions/index.js';\nimport type { ClientCache } from './cache.js';\nimport type { Experimental_BaseClient } from './client.js';\n\nexport type SuiClientRegistration<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> =\n\t| {\n\t\t\treadonly name: Name;\n\t\t\treadonly register: (client: T) => Extension;\n\t }\n\t| SelfRegisteringClientExtension<T, Name, Extension>;\n\nexport interface SelfRegisteringClientExtension<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> {\n\texperimental_asClientExtension: () => {\n\t\treadonly name: Name;\n\t\treadonly register: (client: T) => Extension;\n\t};\n}\n\nexport type ClientWithExtensions<\n\tT,\n\tBase extends Experimental_BaseClient = Experimental_BaseClient,\n> = Base & T;\n\nexport namespace Experimental_SuiClientTypes {\n\texport type Network = 'mainnet' | 'testnet' | 'devnet' | 'localnet' | (string & {});\n\n\texport interface SuiClientOptions {\n\t\tnetwork: Network;\n\t\tbase?: Experimental_BaseClient;\n\t\tcache?: ClientCache;\n\t}\n\n\texport interface MvrOptions {\n\t\turl?: string;\n\t\tpageSize?: number;\n\t\toverrides?: {\n\t\t\tpackages?: Record<string, string>;\n\t\t\ttypes?: Record<string, string>;\n\t\t};\n\t}\n\n\texport interface CoreClientMethodOptions {\n\t\tsignal?: AbortSignal;\n\t}\n\n\t/** Object methods */\n\texport interface TransportMethods {\n\t\tgetObjects: (options: GetObjectsOptions) => Promise<GetObjectsResponse>;\n\t\tgetOwnedObjects: (options: GetOwnedObjectsOptions) => Promise<GetOwnedObjectsResponse>;\n\t\tgetCoins: (options: GetCoinsOptions) => Promise<GetCoinsResponse>;\n\t\tgetDynamicFields: (options: GetDynamicFieldsOptions) => Promise<GetDynamicFieldsResponse>;\n\t\tgetDynamicField: (options: GetDynamicFieldOptions) => Promise<GetDynamicFieldResponse>;\n\t}\n\n\texport interface GetObjectsOptions extends CoreClientMethodOptions {\n\t\tobjectIds: string[];\n\t}\n\n\texport interface GetObjectOptions extends CoreClientMethodOptions {\n\t\tobjectId: string;\n\t}\n\n\texport interface GetOwnedObjectsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t\ttype?: string;\n\t}\n\n\texport interface GetCoinsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldsOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tname: DynamicFieldName;\n\t}\n\n\texport interface GetObjectsResponse {\n\t\tobjects: (ObjectResponse | Error)[];\n\t}\n\n\texport interface GetObjectResponse {\n\t\tobject: ObjectResponse;\n\t}\n\n\texport interface GetOwnedObjectsResponse {\n\t\tobjects: ObjectResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface GetCoinsResponse {\n\t\tobjects: CoinResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface ObjectResponse {\n\t\tid: string;\n\t\tversion: string;\n\t\tdigest: string;\n\t\towner: ObjectOwner;\n\t\ttype: string;\n\t\tcontent: PromiseLike<Uint8Array>;\n\t}\n\n\texport interface CoinResponse extends ObjectResponse {\n\t\tbalance: string;\n\t}\n\n\texport interface GetDynamicFieldsResponse {\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t\tdynamicFields: {\n\t\t\tid: string;\n\t\t\ttype: string;\n\t\t\tname: DynamicFieldName;\n\t\t}[];\n\t}\n\n\texport interface GetDynamicFieldResponse {\n\t\tdynamicField: {\n\t\t\tname: DynamicFieldName;\n\t\t\tvalue: DynamicFieldValue;\n\t\t\tid: string;\n\t\t\tversion: string;\n\t\t\tdigest: string;\n\t\t\ttype: string;\n\t\t};\n\t}\n\n\texport interface DynamicFieldName {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface DynamicFieldValue {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\t/** Balance methods */\n\texport interface TransportMethods {\n\t\tgetBalance: (options: GetBalanceOptions) => Promise<GetBalanceResponse>;\n\t\tgetAllBalances: (options: GetAllBalancesOptions) => Promise<GetAllBalancesResponse>;\n\t}\n\n\texport interface GetBalanceOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t}\n\n\texport interface CoinBalance {\n\t\tcoinType: string;\n\t\tbalance: string;\n\t}\n\n\texport interface GetBalanceResponse {\n\t\tbalance: CoinBalance;\n\t}\n\n\texport interface GetAllBalancesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetAllBalancesResponse {\n\t\tbalances: CoinBalance[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\t/** Transaction methods */\n\texport interface TransportMethods {\n\t\tgetTransaction: (options: GetTransactionOptions) => Promise<GetTransactionResponse>;\n\t\texecuteTransaction: (options: ExecuteTransactionOptions) => Promise<ExecuteTransactionResponse>;\n\t\tdryRunTransaction: (options: DryRunTransactionOptions) => Promise<DryRunTransactionResponse>;\n\t\tresolveTransactionPlugin: () => TransactionPlugin;\n\t}\n\n\texport interface TransactionResponse {\n\t\tdigest: string;\n\t\tsignatures: string[];\n\t\tepoch: string | null;\n\t\teffects: TransactionEffects;\n\t\tobjectTypes: PromiseLike<Record<string, string>>;\n\t\ttransaction: TransactionData;\n\t\t// TODO: add events\n\t\t// events?: Uint8Array;\n\t}\n\n\texport interface TransactionData extends SerializedTransactionDataV2 {\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface GetTransactionOptions extends CoreClientMethodOptions {\n\t\tdigest: string;\n\t}\n\n\texport interface GetTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t\tsignatures: string[];\n\t}\n\n\texport interface DryRunTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t}\n\n\texport interface DryRunTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface GetReferenceGasPriceOptions extends CoreClientMethodOptions {}\n\n\texport interface TransportMethods {\n\t\tgetReferenceGasPrice?: (\n\t\t\toptions?: GetReferenceGasPriceOptions,\n\t\t) => Promise<GetReferenceGasPriceResponse>;\n\t}\n\n\texport interface GetReferenceGasPriceResponse {\n\t\treferenceGasPrice: string;\n\t}\n\n\t/** ZkLogin methods */\n\texport interface VerifyZkLoginSignatureOptions extends CoreClientMethodOptions {\n\t\tbytes: string;\n\t\tsignature: string;\n\t\tintentScope: 'TransactionData' | 'PersonalMessage';\n\t\tauthor: string;\n\t}\n\n\texport interface ZkLoginVerifyResponse {\n\t\tsuccess: boolean;\n\t\terrors: string[];\n\t}\n\n\texport interface TransportMethods {\n\t\tverifyZkLoginSignature: (\n\t\t\toptions: VerifyZkLoginSignatureOptions,\n\t\t) => Promise<ZkLoginVerifyResponse>;\n\t}\n\n\t/** Name service methods */\n\texport interface ResolveNameServiceNamesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcursor?: string | null | undefined;\n\t\tlimit?: number | null | undefined;\n\t}\n\n\texport interface ResolveNameServiceNamesResponse {\n\t\tdata: string[];\n\t\thasNextPage: boolean;\n\t\tnextCursor: string | null;\n\t}\n\n\texport interface TransportMethods {\n\t\tresolveNameServiceNames?: (\n\t\t\toptions: ResolveNameServiceNamesOptions,\n\t\t) => Promise<ResolveNameServiceNamesResponse>;\n\t}\n\n\t/** MVR methods */\n\n\texport interface TransportMethods {\n\t\tmvr: MvrMethods;\n\t}\n\n\texport interface MvrMethods {\n\t\tresolvePackage: (options: MvrResolvePackageOptions) => Promise<MvrResolvePackageResponse>;\n\t\tresolveType: (options: MvrResolveTypeOptions) => Promise<MvrResolveTypeResponse>;\n\t\tresolve: (options: MvrResolveOptions) => Promise<MvrResolveResponse>;\n\t}\n\n\texport interface MvrResolvePackageOptions extends CoreClientMethodOptions {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeOptions extends CoreClientMethodOptions {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveOptions extends CoreClientMethodOptions {\n\t\tpackages?: string[];\n\t\ttypes?: string[];\n\t}\n\n\texport interface MvrResolvePackageResponse {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeResponse {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveResponse {\n\t\tpackages: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tpackage: string;\n\t\t\t}\n\t\t>;\n\t\ttypes: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\ttype: string;\n\t\t\t}\n\t\t>;\n\t}\n\n\t/** ObjectOwner types */\n\n\texport interface AddressOwner {\n\t\t$kind: 'AddressOwner';\n\t\tAddressOwner: string;\n\t}\n\n\texport interface ParentOwner {\n\t\t$kind: 'ObjectOwner';\n\t\tObjectOwner: string;\n\t}\n\n\texport interface SharedOwner {\n\t\t$kind: 'Shared';\n\t\tShared: {\n\t\t\tinitialSharedVersion: string;\n\t\t};\n\t}\n\n\texport interface ImmutableOwner {\n\t\t$kind: 'Immutable';\n\t\tImmutable: true;\n\t}\n\n\texport interface ConsensusAddressOwner {\n\t\t$kind: 'ConsensusAddressOwner';\n\t\tConsensusAddressOwner: {\n\t\t\towner: string;\n\t\t\tstartVersion: string;\n\t\t};\n\t}\n\n\texport type ObjectOwner =\n\t\t| AddressOwner\n\t\t| ParentOwner\n\t\t| SharedOwner\n\t\t| ImmutableOwner\n\t\t| ConsensusAddressOwner;\n\n\t/** Effects */\n\n\texport interface TransactionEffects {\n\t\tbcs: Uint8Array | null;\n\t\tdigest: string;\n\t\tversion: number;\n\t\tstatus: ExecutionStatus;\n\t\tgasUsed: GasCostSummary;\n\t\ttransactionDigest: string;\n\t\tgasObject: ChangedObject | null;\n\t\teventsDigest: string | null;\n\t\tdependencies: string[];\n\t\tlamportVersion: string | null;\n\t\tchangedObjects: ChangedObject[];\n\t\tunchangedSharedObjects: UnchangedSharedObject[];\n\t\tauxiliaryDataDigest: string | null;\n\t}\n\n\texport interface ChangedObject {\n\t\tid: string;\n\t\tinputState: 'Unknown' | 'DoesNotExist' | 'Exists';\n\t\tinputVersion: string | null;\n\t\tinputDigest: string | null;\n\t\tinputOwner: ObjectOwner | null;\n\t\toutputState: 'Unknown' | 'DoesNotExist' | 'ObjectWrite' | 'PackageWrite';\n\t\toutputVersion: string | null;\n\t\toutputDigest: string | null;\n\t\toutputOwner: ObjectOwner | null;\n\t\tidOperation: 'Unknown' | 'None' | 'Created' | 'Deleted';\n\t}\n\n\texport interface GasCostSummary {\n\t\tcomputationCost: string;\n\t\tstorageCost: string;\n\t\tstorageRebate: string;\n\t\tnonRefundableStorageFee: string;\n\t}\n\n\texport type ExecutionStatus =\n\t\t| {\n\t\t\t\tsuccess: true;\n\t\t\t\terror: null;\n\t\t }\n\t\t| {\n\t\t\t\tsuccess: false;\n\t\t\t\t// TODO: this should probably be typed better: https://github.com/bmwill/sui/blob/646a2c819346dc140cc649eb9fea368fb14f96e5/crates/sui-rpc-api/proto/sui/rpc/v2beta/execution_status.proto#L22\n\t\t\t\terror: string;\n\t\t };\n\n\texport interface UnchangedSharedObject {\n\t\tkind:\n\t\t\t| 'Unknown'\n\t\t\t| 'ReadOnlyRoot'\n\t\t\t| 'MutateDeleted'\n\t\t\t| 'ReadDeleted'\n\t\t\t| 'Cancelled'\n\t\t\t| 'PerEpochConfig';\n\t\tobjectId: string;\n\t\tversion: string | null;\n\t\tdigest: string | null;\n\t}\n}\n"],
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n/* eslint-disable @typescript-eslint/ban-types */\n\nimport type { SerializedTransactionDataV2, TransactionPlugin } from '../transactions/index.js';\nimport type { ClientCache } from './cache.js';\nimport type { Experimental_BaseClient } from './client.js';\n\nexport type SuiClientRegistration<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> =\n\t| {\n\t\t\treadonly name: Name;\n\t\t\treadonly register: (client: T) => Extension;\n\t }\n\t| SelfRegisteringClientExtension<T, Name, Extension>;\n\nexport interface SelfRegisteringClientExtension<\n\tT extends Experimental_BaseClient = Experimental_BaseClient,\n\tName extends string = string,\n\tExtension = unknown,\n> {\n\texperimental_asClientExtension: () => {\n\t\treadonly name: Name;\n\t\treadonly register: (client: T) => Extension;\n\t};\n}\n\nexport type ClientWithExtensions<\n\tT,\n\tBase extends Experimental_BaseClient = Experimental_BaseClient,\n> = Base & T;\n\nexport namespace Experimental_SuiClientTypes {\n\texport type Network = 'mainnet' | 'testnet' | 'devnet' | 'localnet' | (string & {});\n\n\texport interface SuiClientOptions {\n\t\tnetwork: Network;\n\t\tbase?: Experimental_BaseClient;\n\t\tcache?: ClientCache;\n\t}\n\n\texport interface MvrOptions {\n\t\turl?: string;\n\t\tpageSize?: number;\n\t\toverrides?: {\n\t\t\tpackages?: Record<string, string>;\n\t\t\ttypes?: Record<string, string>;\n\t\t};\n\t}\n\n\texport interface CoreClientMethodOptions {\n\t\tsignal?: AbortSignal;\n\t}\n\n\t/** Object methods */\n\texport interface TransportMethods {\n\t\tgetObjects: (options: GetObjectsOptions) => Promise<GetObjectsResponse>;\n\t\tgetOwnedObjects: (options: GetOwnedObjectsOptions) => Promise<GetOwnedObjectsResponse>;\n\t\tgetCoins: (options: GetCoinsOptions) => Promise<GetCoinsResponse>;\n\t\tgetDynamicFields: (options: GetDynamicFieldsOptions) => Promise<GetDynamicFieldsResponse>;\n\t\tgetDynamicField: (options: GetDynamicFieldOptions) => Promise<GetDynamicFieldResponse>;\n\t}\n\n\texport interface GetObjectsOptions extends CoreClientMethodOptions {\n\t\tobjectIds: string[];\n\t}\n\n\texport interface GetObjectOptions extends CoreClientMethodOptions {\n\t\tobjectId: string;\n\t}\n\n\texport interface GetOwnedObjectsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t\ttype?: string;\n\t}\n\n\texport interface GetCoinsOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldsOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetDynamicFieldOptions extends CoreClientMethodOptions {\n\t\tparentId: string;\n\t\tname: DynamicFieldName;\n\t}\n\n\texport interface GetObjectsResponse {\n\t\tobjects: (ObjectResponse | Error)[];\n\t}\n\n\texport interface GetObjectResponse {\n\t\tobject: ObjectResponse;\n\t}\n\n\texport interface GetOwnedObjectsResponse {\n\t\tobjects: ObjectResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface GetCoinsResponse {\n\t\tobjects: CoinResponse[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\texport interface ObjectResponse {\n\t\tid: string;\n\t\tversion: string;\n\t\tdigest: string;\n\t\towner: ObjectOwner;\n\t\ttype: string;\n\t\tcontent: PromiseLike<Uint8Array>;\n\t}\n\n\texport interface CoinResponse extends ObjectResponse {\n\t\tbalance: string;\n\t}\n\n\texport interface GetDynamicFieldsResponse {\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t\tdynamicFields: {\n\t\t\tid: string;\n\t\t\ttype: string;\n\t\t\tname: DynamicFieldName;\n\t\t}[];\n\t}\n\n\texport interface GetDynamicFieldResponse {\n\t\tdynamicField: {\n\t\t\tname: DynamicFieldName;\n\t\t\tvalue: DynamicFieldValue;\n\t\t\tid: string;\n\t\t\tversion: string;\n\t\t\tdigest: string;\n\t\t\ttype: string;\n\t\t};\n\t}\n\n\texport interface DynamicFieldName {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface DynamicFieldValue {\n\t\ttype: string;\n\t\tbcs: Uint8Array;\n\t}\n\n\t/** Balance methods */\n\texport interface TransportMethods {\n\t\tgetBalance: (options: GetBalanceOptions) => Promise<GetBalanceResponse>;\n\t\tgetAllBalances: (options: GetAllBalancesOptions) => Promise<GetAllBalancesResponse>;\n\t}\n\n\texport interface GetBalanceOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcoinType: string;\n\t}\n\n\texport interface CoinBalance {\n\t\tcoinType: string;\n\t\tbalance: string;\n\t}\n\n\texport interface GetBalanceResponse {\n\t\tbalance: CoinBalance;\n\t}\n\n\texport interface GetAllBalancesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tlimit?: number;\n\t\tcursor?: string | null;\n\t}\n\n\texport interface GetAllBalancesResponse {\n\t\tbalances: CoinBalance[];\n\t\thasNextPage: boolean;\n\t\tcursor: string | null;\n\t}\n\n\t/** Transaction methods */\n\texport interface TransportMethods {\n\t\tgetTransaction: (options: GetTransactionOptions) => Promise<GetTransactionResponse>;\n\t\texecuteTransaction: (options: ExecuteTransactionOptions) => Promise<ExecuteTransactionResponse>;\n\t\tdryRunTransaction: (options: DryRunTransactionOptions) => Promise<DryRunTransactionResponse>;\n\t\tresolveTransactionPlugin: () => TransactionPlugin;\n\t}\n\n\texport interface TransactionResponse {\n\t\tdigest: string;\n\t\tsignatures: string[];\n\t\tepoch: string | null;\n\t\teffects: TransactionEffects;\n\t\tobjectTypes: PromiseLike<Record<string, string>>;\n\t\ttransaction: TransactionData;\n\t\t// TODO: add events\n\t\t// events?: Uint8Array;\n\t}\n\n\texport interface TransactionData extends SerializedTransactionDataV2 {\n\t\tbcs: Uint8Array;\n\t}\n\n\texport interface GetTransactionOptions extends CoreClientMethodOptions {\n\t\tdigest: string;\n\t}\n\n\texport interface GetTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t\tsignatures: string[];\n\t}\n\n\texport interface DryRunTransactionOptions extends CoreClientMethodOptions {\n\t\ttransaction: Uint8Array;\n\t}\n\n\texport interface DryRunTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface ExecuteTransactionResponse {\n\t\ttransaction: TransactionResponse;\n\t}\n\n\texport interface GetReferenceGasPriceOptions extends CoreClientMethodOptions {}\n\n\texport interface TransportMethods {\n\t\tgetReferenceGasPrice?: (\n\t\t\toptions?: GetReferenceGasPriceOptions,\n\t\t) => Promise<GetReferenceGasPriceResponse>;\n\t}\n\n\texport interface GetReferenceGasPriceResponse {\n\t\treferenceGasPrice: string;\n\t}\n\n\t/** ZkLogin methods */\n\texport interface VerifyZkLoginSignatureOptions extends CoreClientMethodOptions {\n\t\tbytes: string;\n\t\tsignature: string;\n\t\tintentScope: 'TransactionData' | 'PersonalMessage';\n\t\tauthor: string;\n\t}\n\n\texport interface ZkLoginVerifyResponse {\n\t\tsuccess: boolean;\n\t\terrors: string[];\n\t}\n\n\texport interface TransportMethods {\n\t\tverifyZkLoginSignature: (\n\t\t\toptions: VerifyZkLoginSignatureOptions,\n\t\t) => Promise<ZkLoginVerifyResponse>;\n\t}\n\n\t/** Name service methods */\n\texport interface ResolveNameServiceNamesOptions extends CoreClientMethodOptions {\n\t\taddress: string;\n\t\tcursor?: string | null | undefined;\n\t\tlimit?: number | null | undefined;\n\t}\n\n\texport interface ResolveNameServiceNamesResponse {\n\t\tdata: string[];\n\t\thasNextPage: boolean;\n\t\tnextCursor: string | null;\n\t}\n\n\texport interface TransportMethods {\n\t\tresolveNameServiceNames?: (\n\t\t\toptions: ResolveNameServiceNamesOptions,\n\t\t) => Promise<ResolveNameServiceNamesResponse>;\n\t}\n\n\t/** MVR methods */\n\n\texport interface TransportMethods {\n\t\tmvr: MvrMethods;\n\t}\n\n\texport interface MvrMethods {\n\t\tresolvePackage: (options: MvrResolvePackageOptions) => Promise<MvrResolvePackageResponse>;\n\t\tresolveType: (options: MvrResolveTypeOptions) => Promise<MvrResolveTypeResponse>;\n\t\tresolve: (options: MvrResolveOptions) => Promise<MvrResolveResponse>;\n\t}\n\n\texport interface MvrResolvePackageOptions extends CoreClientMethodOptions {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeOptions extends CoreClientMethodOptions {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveOptions extends CoreClientMethodOptions {\n\t\tpackages?: string[];\n\t\ttypes?: string[];\n\t}\n\n\texport interface MvrResolvePackageResponse {\n\t\tpackage: string;\n\t}\n\n\texport interface MvrResolveTypeResponse {\n\t\ttype: string;\n\t}\n\n\texport interface MvrResolveResponse {\n\t\tpackages: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\tpackage: string;\n\t\t\t}\n\t\t>;\n\t\ttypes: Record<\n\t\t\tstring,\n\t\t\t{\n\t\t\t\ttype: string;\n\t\t\t}\n\t\t>;\n\t}\n\n\t/** ObjectOwner types */\n\n\texport interface AddressOwner {\n\t\t$kind: 'AddressOwner';\n\t\tAddressOwner: string;\n\t}\n\n\texport interface ParentOwner {\n\t\t$kind: 'ObjectOwner';\n\t\tObjectOwner: string;\n\t}\n\n\texport interface SharedOwner {\n\t\t$kind: 'Shared';\n\t\tShared: {\n\t\t\tinitialSharedVersion: string;\n\t\t};\n\t}\n\n\texport interface ImmutableOwner {\n\t\t$kind: 'Immutable';\n\t\tImmutable: true;\n\t}\n\n\texport interface ConsensusAddressOwner {\n\t\t$kind: 'ConsensusAddressOwner';\n\t\tConsensusAddressOwner: {\n\t\t\towner: string;\n\t\t\tstartVersion: string;\n\t\t};\n\t}\n\n\texport type ObjectOwner =\n\t\t| AddressOwner\n\t\t| ParentOwner\n\t\t| SharedOwner\n\t\t| ImmutableOwner\n\t\t| ConsensusAddressOwner;\n\n\t/** Effects */\n\n\texport interface TransactionEffects {\n\t\tbcs: Uint8Array | null;\n\t\tdigest: string;\n\t\tversion: number;\n\t\tstatus: ExecutionStatus;\n\t\tgasUsed: GasCostSummary;\n\t\ttransactionDigest: string;\n\t\tgasObject: ChangedObject | null;\n\t\teventsDigest: string | null;\n\t\tdependencies: string[];\n\t\tlamportVersion: string | null;\n\t\tchangedObjects: ChangedObject[];\n\t\tunchangedSharedObjects: UnchangedSharedObject[];\n\t\tauxiliaryDataDigest: string | null;\n\t}\n\n\texport interface ChangedObject {\n\t\tid: string;\n\t\tinputState: 'Unknown' | 'DoesNotExist' | 'Exists';\n\t\tinputVersion: string | null;\n\t\tinputDigest: string | null;\n\t\tinputOwner: ObjectOwner | null;\n\t\toutputState: 'Unknown' | 'DoesNotExist' | 'ObjectWrite' | 'PackageWrite';\n\t\toutputVersion: string | null;\n\t\toutputDigest: string | null;\n\t\toutputOwner: ObjectOwner | null;\n\t\tidOperation: 'Unknown' | 'None' | 'Created' | 'Deleted';\n\t}\n\n\texport interface GasCostSummary {\n\t\tcomputationCost: string;\n\t\tstorageCost: string;\n\t\tstorageRebate: string;\n\t\tnonRefundableStorageFee: string;\n\t}\n\n\texport type ExecutionStatus =\n\t\t| {\n\t\t\t\tsuccess: true;\n\t\t\t\terror: null;\n\t\t }\n\t\t| {\n\t\t\t\tsuccess: false;\n\t\t\t\t// TODO: this should probably be typed better: https://github.com/bmwill/sui/blob/646a2c819346dc140cc649eb9fea368fb14f96e5/crates/sui-rpc-api/proto/sui/rpc/v2beta/execution_status.proto#L22\n\t\t\t\terror: string;\n\t\t };\n\n\texport interface UnchangedSharedObject {\n\t\tkind:\n\t\t\t| 'Unknown'\n\t\t\t| 'ReadOnlyRoot'\n\t\t\t| 'MutateConsensusStreamEnded'\n\t\t\t| 'ReadConsensusStreamEnded'\n\t\t\t| 'Cancelled'\n\t\t\t| 'PerEpochConfig';\n\t\tobjectId: string;\n\t\tversion: string | null;\n\t\tdigest: string | null;\n\t}\n}\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/cjs/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const PACKAGE_VERSION = "1.
|
|
2
|
-
export declare const TARGETED_RPC_VERSION = "1.
|
|
1
|
+
export declare const PACKAGE_VERSION = "1.37.0";
|
|
2
|
+
export declare const TARGETED_RPC_VERSION = "1.54.0";
|
package/dist/cjs/version.js
CHANGED
|
@@ -22,6 +22,6 @@ __export(version_exports, {
|
|
|
22
22
|
TARGETED_RPC_VERSION: () => TARGETED_RPC_VERSION
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(version_exports);
|
|
25
|
-
const PACKAGE_VERSION = "1.
|
|
26
|
-
const TARGETED_RPC_VERSION = "1.
|
|
25
|
+
const PACKAGE_VERSION = "1.37.0";
|
|
26
|
+
const TARGETED_RPC_VERSION = "1.54.0";
|
|
27
27
|
//# sourceMappingURL=version.js.map
|
package/dist/cjs/version.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/version.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\n// This file is generated by genversion.mjs. Do not edit it directly.\n\nexport const PACKAGE_VERSION = '1.37.0';\nexport const TARGETED_RPC_VERSION = '1.54.0';\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAKO,MAAM,kBAAkB;AACxB,MAAM,uBAAuB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/bcs/effects.js
CHANGED
|
@@ -161,6 +161,7 @@ const EffectsObjectChange = bcs.struct("EffectsObjectChange", {
|
|
|
161
161
|
});
|
|
162
162
|
const UnchangedSharedKind = bcs.enum("UnchangedSharedKind", {
|
|
163
163
|
ReadOnlyRoot: VersionDigest,
|
|
164
|
+
// TODO: these have been renamed to MutateConsensusStreamEnded and ReadConsensusStreamEnded
|
|
164
165
|
MutateDeleted: bcs.u64(),
|
|
165
166
|
ReadDeleted: bcs.u64(),
|
|
166
167
|
Cancelled: bcs.u64(),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/bcs/effects.ts"],
|
|
4
|
-
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/bcs';\n\nimport { Address, ObjectDigest, Owner, SuiObjectRef } from './bcs.js';\n\nconst PackageUpgradeError = bcs.enum('PackageUpgradeError', {\n\tUnableToFetchPackage: bcs.struct('UnableToFetchPackage', { packageId: Address }),\n\tNotAPackage: bcs.struct('NotAPackage', { objectId: Address }),\n\tIncompatibleUpgrade: null,\n\tDigestDoesNotMatch: bcs.struct('DigestDoesNotMatch', { digest: bcs.vector(bcs.u8()) }),\n\tUnknownUpgradePolicy: bcs.struct('UnknownUpgradePolicy', { policy: bcs.u8() }),\n\tPackageIDDoesNotMatch: bcs.struct('PackageIDDoesNotMatch', {\n\t\tpackageId: Address,\n\t\tticketId: Address,\n\t}),\n});\n\nconst ModuleId = bcs.struct('ModuleId', {\n\taddress: Address,\n\tname: bcs.string(),\n});\nconst MoveLocation = bcs.struct('MoveLocation', {\n\tmodule: ModuleId,\n\tfunction: bcs.u16(),\n\tinstruction: bcs.u16(),\n\tfunctionName: bcs.option(bcs.string()),\n});\n\nconst CommandArgumentError = bcs.enum('CommandArgumentError', {\n\tTypeMismatch: null,\n\tInvalidBCSBytes: null,\n\tInvalidUsageOfPureArg: null,\n\tInvalidArgumentToPrivateEntryFunction: null,\n\tIndexOutOfBounds: bcs.struct('IndexOutOfBounds', { idx: bcs.u16() }),\n\tSecondaryIndexOutOfBounds: bcs.struct('SecondaryIndexOutOfBounds', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidResultArity: bcs.struct('InvalidResultArity', { resultIdx: bcs.u16() }),\n\tInvalidGasCoinUsage: null,\n\tInvalidValueUsage: null,\n\tInvalidObjectByValue: null,\n\tInvalidObjectByMutRef: null,\n\tSharedObjectOperationNotAllowed: null,\n});\n\nconst TypeArgumentError = bcs.enum('TypeArgumentError', {\n\tTypeNotFound: null,\n\tConstraintNotSatisfied: null,\n});\n\nconst ExecutionFailureStatus = bcs.enum('ExecutionFailureStatus', {\n\tInsufficientGas: null,\n\tInvalidGasObject: null,\n\tInvariantViolation: null,\n\tFeatureNotYetSupported: null,\n\tMoveObjectTooBig: bcs.struct('MoveObjectTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tMovePackageTooBig: bcs.struct('MovePackageTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tCircularObjectOwnership: bcs.struct('CircularObjectOwnership', { object: Address }),\n\tInsufficientCoinBalance: null,\n\tCoinBalanceOverflow: null,\n\tPublishErrorNonZeroAddress: null,\n\tSuiMoveVerificationError: null,\n\tMovePrimitiveRuntimeError: bcs.option(MoveLocation),\n\tMoveAbort: bcs.tuple([MoveLocation, bcs.u64()]),\n\tVMVerificationOrDeserializationError: null,\n\tVMInvariantViolation: null,\n\tFunctionNotFound: null,\n\tArityMismatch: null,\n\tTypeArityMismatch: null,\n\tNonEntryFunctionInvoked: null,\n\tCommandArgumentError: bcs.struct('CommandArgumentError', {\n\t\targIdx: bcs.u16(),\n\t\tkind: CommandArgumentError,\n\t}),\n\tTypeArgumentError: bcs.struct('TypeArgumentError', {\n\t\targumentIdx: bcs.u16(),\n\t\tkind: TypeArgumentError,\n\t}),\n\tUnusedValueWithoutDrop: bcs.struct('UnusedValueWithoutDrop', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidPublicFunctionReturnType: bcs.struct('InvalidPublicFunctionReturnType', {\n\t\tidx: bcs.u16(),\n\t}),\n\tInvalidTransferObject: null,\n\tEffectsTooLarge: bcs.struct('EffectsTooLarge', { currentSize: bcs.u64(), maxSize: bcs.u64() }),\n\tPublishUpgradeMissingDependency: null,\n\tPublishUpgradeDependencyDowngrade: null,\n\tPackageUpgradeError: bcs.struct('PackageUpgradeError', { upgradeError: PackageUpgradeError }),\n\tWrittenObjectsTooLarge: bcs.struct('WrittenObjectsTooLarge', {\n\t\tcurrentSize: bcs.u64(),\n\t\tmaxSize: bcs.u64(),\n\t}),\n\tCertificateDenied: null,\n\tSuiMoveVerificationTimedout: null,\n\tSharedObjectOperationNotAllowed: null,\n\tInputObjectDeleted: null,\n\tExecutionCancelledDueToSharedObjectCongestion: bcs.struct(\n\t\t'ExecutionCancelledDueToSharedObjectCongestion',\n\t\t{\n\t\t\tcongestedObjects: bcs.vector(Address),\n\t\t},\n\t),\n\tAddressDeniedForCoin: bcs.struct('AddressDeniedForCoin', {\n\t\taddress: Address,\n\t\tcoinType: bcs.string(),\n\t}),\n\tCoinTypeGlobalPause: bcs.struct('CoinTypeGlobalPause', { coinType: bcs.string() }),\n\tExecutionCancelledDueToRandomnessUnavailable: null,\n});\n\nconst ExecutionStatus = bcs.enum('ExecutionStatus', {\n\tSuccess: null,\n\tFailed: bcs.struct('ExecutionFailed', {\n\t\terror: ExecutionFailureStatus,\n\t\tcommand: bcs.option(bcs.u64()),\n\t}),\n});\n\nconst GasCostSummary = bcs.struct('GasCostSummary', {\n\tcomputationCost: bcs.u64(),\n\tstorageCost: bcs.u64(),\n\tstorageRebate: bcs.u64(),\n\tnonRefundableStorageFee: bcs.u64(),\n});\n\nconst TransactionEffectsV1 = bcs.struct('TransactionEffectsV1', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\tmodifiedAtVersions: bcs.vector(bcs.tuple([Address, bcs.u64()])),\n\tsharedObjects: bcs.vector(SuiObjectRef),\n\ttransactionDigest: ObjectDigest,\n\tcreated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tmutated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tunwrapped: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tdeleted: bcs.vector(SuiObjectRef),\n\tunwrappedThenDeleted: bcs.vector(SuiObjectRef),\n\twrapped: bcs.vector(SuiObjectRef),\n\tgasObject: bcs.tuple([SuiObjectRef, Owner]),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n});\n\nconst VersionDigest = bcs.tuple([bcs.u64(), ObjectDigest]);\n\nconst ObjectIn = bcs.enum('ObjectIn', {\n\tNotExist: null,\n\tExist: bcs.tuple([VersionDigest, Owner]),\n});\n\nconst ObjectOut = bcs.enum('ObjectOut', {\n\tNotExist: null,\n\tObjectWrite: bcs.tuple([ObjectDigest, Owner]),\n\tPackageWrite: VersionDigest,\n});\n\nconst IDOperation = bcs.enum('IDOperation', {\n\tNone: null,\n\tCreated: null,\n\tDeleted: null,\n});\n\nconst EffectsObjectChange = bcs.struct('EffectsObjectChange', {\n\tinputState: ObjectIn,\n\toutputState: ObjectOut,\n\tidOperation: IDOperation,\n});\n\nconst UnchangedSharedKind = bcs.enum('UnchangedSharedKind', {\n\tReadOnlyRoot: VersionDigest,\n\tMutateDeleted: bcs.u64(),\n\tReadDeleted: bcs.u64(),\n\tCancelled: bcs.u64(),\n\tPerEpochConfig: null,\n});\n\nconst TransactionEffectsV2 = bcs.struct('TransactionEffectsV2', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\ttransactionDigest: ObjectDigest,\n\tgasObjectIndex: bcs.option(bcs.u32()),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n\tlamportVersion: bcs.u64(),\n\tchangedObjects: bcs.vector(bcs.tuple([Address, EffectsObjectChange])),\n\tunchangedSharedObjects: bcs.vector(bcs.tuple([Address, UnchangedSharedKind])),\n\tauxDataDigest: bcs.option(ObjectDigest),\n});\n\nexport const TransactionEffects = bcs.enum('TransactionEffects', {\n\tV1: TransactionEffectsV1,\n\tV2: TransactionEffectsV2,\n});\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["// Copyright (c) Mysten Labs, Inc.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { bcs } from '@mysten/bcs';\n\nimport { Address, ObjectDigest, Owner, SuiObjectRef } from './bcs.js';\n\nconst PackageUpgradeError = bcs.enum('PackageUpgradeError', {\n\tUnableToFetchPackage: bcs.struct('UnableToFetchPackage', { packageId: Address }),\n\tNotAPackage: bcs.struct('NotAPackage', { objectId: Address }),\n\tIncompatibleUpgrade: null,\n\tDigestDoesNotMatch: bcs.struct('DigestDoesNotMatch', { digest: bcs.vector(bcs.u8()) }),\n\tUnknownUpgradePolicy: bcs.struct('UnknownUpgradePolicy', { policy: bcs.u8() }),\n\tPackageIDDoesNotMatch: bcs.struct('PackageIDDoesNotMatch', {\n\t\tpackageId: Address,\n\t\tticketId: Address,\n\t}),\n});\n\nconst ModuleId = bcs.struct('ModuleId', {\n\taddress: Address,\n\tname: bcs.string(),\n});\nconst MoveLocation = bcs.struct('MoveLocation', {\n\tmodule: ModuleId,\n\tfunction: bcs.u16(),\n\tinstruction: bcs.u16(),\n\tfunctionName: bcs.option(bcs.string()),\n});\n\nconst CommandArgumentError = bcs.enum('CommandArgumentError', {\n\tTypeMismatch: null,\n\tInvalidBCSBytes: null,\n\tInvalidUsageOfPureArg: null,\n\tInvalidArgumentToPrivateEntryFunction: null,\n\tIndexOutOfBounds: bcs.struct('IndexOutOfBounds', { idx: bcs.u16() }),\n\tSecondaryIndexOutOfBounds: bcs.struct('SecondaryIndexOutOfBounds', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidResultArity: bcs.struct('InvalidResultArity', { resultIdx: bcs.u16() }),\n\tInvalidGasCoinUsage: null,\n\tInvalidValueUsage: null,\n\tInvalidObjectByValue: null,\n\tInvalidObjectByMutRef: null,\n\tSharedObjectOperationNotAllowed: null,\n});\n\nconst TypeArgumentError = bcs.enum('TypeArgumentError', {\n\tTypeNotFound: null,\n\tConstraintNotSatisfied: null,\n});\n\nconst ExecutionFailureStatus = bcs.enum('ExecutionFailureStatus', {\n\tInsufficientGas: null,\n\tInvalidGasObject: null,\n\tInvariantViolation: null,\n\tFeatureNotYetSupported: null,\n\tMoveObjectTooBig: bcs.struct('MoveObjectTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tMovePackageTooBig: bcs.struct('MovePackageTooBig', {\n\t\tobjectSize: bcs.u64(),\n\t\tmaxObjectSize: bcs.u64(),\n\t}),\n\tCircularObjectOwnership: bcs.struct('CircularObjectOwnership', { object: Address }),\n\tInsufficientCoinBalance: null,\n\tCoinBalanceOverflow: null,\n\tPublishErrorNonZeroAddress: null,\n\tSuiMoveVerificationError: null,\n\tMovePrimitiveRuntimeError: bcs.option(MoveLocation),\n\tMoveAbort: bcs.tuple([MoveLocation, bcs.u64()]),\n\tVMVerificationOrDeserializationError: null,\n\tVMInvariantViolation: null,\n\tFunctionNotFound: null,\n\tArityMismatch: null,\n\tTypeArityMismatch: null,\n\tNonEntryFunctionInvoked: null,\n\tCommandArgumentError: bcs.struct('CommandArgumentError', {\n\t\targIdx: bcs.u16(),\n\t\tkind: CommandArgumentError,\n\t}),\n\tTypeArgumentError: bcs.struct('TypeArgumentError', {\n\t\targumentIdx: bcs.u16(),\n\t\tkind: TypeArgumentError,\n\t}),\n\tUnusedValueWithoutDrop: bcs.struct('UnusedValueWithoutDrop', {\n\t\tresultIdx: bcs.u16(),\n\t\tsecondaryIdx: bcs.u16(),\n\t}),\n\tInvalidPublicFunctionReturnType: bcs.struct('InvalidPublicFunctionReturnType', {\n\t\tidx: bcs.u16(),\n\t}),\n\tInvalidTransferObject: null,\n\tEffectsTooLarge: bcs.struct('EffectsTooLarge', { currentSize: bcs.u64(), maxSize: bcs.u64() }),\n\tPublishUpgradeMissingDependency: null,\n\tPublishUpgradeDependencyDowngrade: null,\n\tPackageUpgradeError: bcs.struct('PackageUpgradeError', { upgradeError: PackageUpgradeError }),\n\tWrittenObjectsTooLarge: bcs.struct('WrittenObjectsTooLarge', {\n\t\tcurrentSize: bcs.u64(),\n\t\tmaxSize: bcs.u64(),\n\t}),\n\tCertificateDenied: null,\n\tSuiMoveVerificationTimedout: null,\n\tSharedObjectOperationNotAllowed: null,\n\tInputObjectDeleted: null,\n\tExecutionCancelledDueToSharedObjectCongestion: bcs.struct(\n\t\t'ExecutionCancelledDueToSharedObjectCongestion',\n\t\t{\n\t\t\tcongestedObjects: bcs.vector(Address),\n\t\t},\n\t),\n\tAddressDeniedForCoin: bcs.struct('AddressDeniedForCoin', {\n\t\taddress: Address,\n\t\tcoinType: bcs.string(),\n\t}),\n\tCoinTypeGlobalPause: bcs.struct('CoinTypeGlobalPause', { coinType: bcs.string() }),\n\tExecutionCancelledDueToRandomnessUnavailable: null,\n});\n\nconst ExecutionStatus = bcs.enum('ExecutionStatus', {\n\tSuccess: null,\n\tFailed: bcs.struct('ExecutionFailed', {\n\t\terror: ExecutionFailureStatus,\n\t\tcommand: bcs.option(bcs.u64()),\n\t}),\n});\n\nconst GasCostSummary = bcs.struct('GasCostSummary', {\n\tcomputationCost: bcs.u64(),\n\tstorageCost: bcs.u64(),\n\tstorageRebate: bcs.u64(),\n\tnonRefundableStorageFee: bcs.u64(),\n});\n\nconst TransactionEffectsV1 = bcs.struct('TransactionEffectsV1', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\tmodifiedAtVersions: bcs.vector(bcs.tuple([Address, bcs.u64()])),\n\tsharedObjects: bcs.vector(SuiObjectRef),\n\ttransactionDigest: ObjectDigest,\n\tcreated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tmutated: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tunwrapped: bcs.vector(bcs.tuple([SuiObjectRef, Owner])),\n\tdeleted: bcs.vector(SuiObjectRef),\n\tunwrappedThenDeleted: bcs.vector(SuiObjectRef),\n\twrapped: bcs.vector(SuiObjectRef),\n\tgasObject: bcs.tuple([SuiObjectRef, Owner]),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n});\n\nconst VersionDigest = bcs.tuple([bcs.u64(), ObjectDigest]);\n\nconst ObjectIn = bcs.enum('ObjectIn', {\n\tNotExist: null,\n\tExist: bcs.tuple([VersionDigest, Owner]),\n});\n\nconst ObjectOut = bcs.enum('ObjectOut', {\n\tNotExist: null,\n\tObjectWrite: bcs.tuple([ObjectDigest, Owner]),\n\tPackageWrite: VersionDigest,\n});\n\nconst IDOperation = bcs.enum('IDOperation', {\n\tNone: null,\n\tCreated: null,\n\tDeleted: null,\n});\n\nconst EffectsObjectChange = bcs.struct('EffectsObjectChange', {\n\tinputState: ObjectIn,\n\toutputState: ObjectOut,\n\tidOperation: IDOperation,\n});\n\nconst UnchangedSharedKind = bcs.enum('UnchangedSharedKind', {\n\tReadOnlyRoot: VersionDigest,\n\t// TODO: these have been renamed to MutateConsensusStreamEnded and ReadConsensusStreamEnded\n\tMutateDeleted: bcs.u64(),\n\tReadDeleted: bcs.u64(),\n\tCancelled: bcs.u64(),\n\tPerEpochConfig: null,\n});\n\nconst TransactionEffectsV2 = bcs.struct('TransactionEffectsV2', {\n\tstatus: ExecutionStatus,\n\texecutedEpoch: bcs.u64(),\n\tgasUsed: GasCostSummary,\n\ttransactionDigest: ObjectDigest,\n\tgasObjectIndex: bcs.option(bcs.u32()),\n\teventsDigest: bcs.option(ObjectDigest),\n\tdependencies: bcs.vector(ObjectDigest),\n\tlamportVersion: bcs.u64(),\n\tchangedObjects: bcs.vector(bcs.tuple([Address, EffectsObjectChange])),\n\tunchangedSharedObjects: bcs.vector(bcs.tuple([Address, UnchangedSharedKind])),\n\tauxDataDigest: bcs.option(ObjectDigest),\n});\n\nexport const TransactionEffects = bcs.enum('TransactionEffects', {\n\tV1: TransactionEffectsV1,\n\tV2: TransactionEffectsV2,\n});\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -265,7 +265,7 @@ function isUsedAsMutable(transactionData, index) {
|
|
|
265
265
|
const argIndex = tx.MoveCall.arguments.indexOf(arg);
|
|
266
266
|
usedAsMutable = tx.MoveCall._argumentTypes[argIndex].ref !== "&" || usedAsMutable;
|
|
267
267
|
}
|
|
268
|
-
if (tx.$kind === "MakeMoveVec" || tx.$kind === "MergeCoins" || tx.$kind === "SplitCoins") {
|
|
268
|
+
if (tx.$kind === "MakeMoveVec" || tx.$kind === "MergeCoins" || tx.$kind === "SplitCoins" || tx.$kind === "TransferObjects") {
|
|
269
269
|
usedAsMutable = true;
|
|
270
270
|
}
|
|
271
271
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/experimental/transports/json-rpc-resolver.ts"],
|
|
4
|
-
"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 { ObjectRef } from '../../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../../transactions/data/internal.js';\nimport { Inputs } from '../../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { SuiClient } from '../../client/index.js';\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\nexport function suiClientResolveTransactionPlugin(client: SuiClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: 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});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.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: SuiClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\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.coinObjectId === 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\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\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.gasConfig.payment = paymentCoins.map((payment) => parse(ObjectRef, payment));\n\t}\n}\n\nasync function resolveObjectReferences(transactionData: TransactionDataBuilder, client: SuiClient) {\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((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\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.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\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.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? 'Shared' in owner\n\t\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t\t: 'ConsensusAddressOwner' in owner\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.start_version\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.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: 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: SuiClient) {\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) => input?.UnresolvedPure || input?.UnresolvedObject,\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, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\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 = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || usedAsMutable;\n\t\t}\n\n\t\tif (tx.$kind === 'MakeMoveVec' || tx.$kind === 'MergeCoins' || tx.$kind === 'SplitCoins') {\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\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"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 { ObjectRef } from '../../transactions/data/internal.js';\nimport type { CallArg, Command, OpenMoveTypeSignature } from '../../transactions/data/internal.js';\nimport { Inputs } from '../../transactions/Inputs.js';\nimport {\n\tgetPureBcsSchema,\n\tisTxContext,\n\tnormalizedTypeToMoveTypeSignature,\n} from '../../transactions/serializer.js';\nimport type { TransactionDataBuilder } from '../../transactions/TransactionData.js';\nimport { chunk } from '@mysten/utils';\nimport type { SuiClient } from '../../client/index.js';\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\nexport function suiClientResolveTransactionPlugin(client: SuiClient) {\n\treturn async function resolveTransactionData(\n\t\ttransactionData: TransactionDataBuilder,\n\t\toptions: BuildTransactionOptions,\n\t\tnext: () => Promise<void>,\n\t) {\n\t\tawait normalizeInputs(transactionData, client);\n\t\tawait resolveObjectReferences(transactionData, client);\n\n\t\tif (!options.onlyTransactionKind) {\n\t\t\tawait setGasPrice(transactionData, client);\n\t\t\tawait setGasBudget(transactionData, client);\n\t\t\tawait setGasPayment(transactionData, client);\n\t\t}\n\n\t\treturn await next();\n\t};\n}\n\nasync function setGasPrice(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (!transactionData.gasConfig.price) {\n\t\ttransactionData.gasConfig.price = String(await client.getReferenceGasPrice());\n\t}\n}\n\nasync function setGasBudget(transactionData: TransactionDataBuilder, client: SuiClient) {\n\tif (transactionData.gasConfig.budget) {\n\t\treturn;\n\t}\n\n\tconst dryRunResult = await client.dryRunTransactionBlock({\n\t\ttransactionBlock: 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});\n\n\tif (dryRunResult.effects.status.status !== 'success') {\n\t\tthrow new Error(\n\t\t\t`Dry run failed, could not automatically determine a budget: ${dryRunResult.effects.status.error}`,\n\t\t\t{ cause: dryRunResult },\n\t\t);\n\t}\n\n\tconst safeOverhead = GAS_SAFE_OVERHEAD * BigInt(transactionData.gasConfig.price || 1n);\n\n\tconst baseComputationCostWithOverhead =\n\t\tBigInt(dryRunResult.effects.gasUsed.computationCost) + safeOverhead;\n\n\tconst gasBudget =\n\t\tbaseComputationCostWithOverhead +\n\t\tBigInt(dryRunResult.effects.gasUsed.storageCost) -\n\t\tBigInt(dryRunResult.effects.gasUsed.storageRebate);\n\n\ttransactionData.gasConfig.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: SuiClient) {\n\tif (!transactionData.gasConfig.payment) {\n\t\tconst coins = await client.getCoins({\n\t\t\towner: transactionData.gasConfig.owner || transactionData.sender!,\n\t\t\tcoinType: SUI_TYPE_ARG,\n\t\t});\n\n\t\tconst paymentCoins = coins.data\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.coinObjectId === 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\tobjectId: coin.coinObjectId,\n\t\t\t\tdigest: coin.digest,\n\t\t\t\tversion: coin.version,\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.gasConfig.payment = paymentCoins.map((payment) => parse(ObjectRef, payment));\n\t}\n}\n\nasync function resolveObjectReferences(transactionData: TransactionDataBuilder, client: SuiClient) {\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((chunk) =>\n\t\t\t\tclient.multiGetObjects({\n\t\t\t\t\tids: chunk,\n\t\t\t\t\toptions: { showOwner: true },\n\t\t\t\t}),\n\t\t\t),\n\t\t)\n\t).flat();\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.error)\n\t\t.map(([_, obj]) => JSON.stringify(obj.error));\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.error || !object.data) {\n\t\t\tthrow new Error(`Failed to fetch object: ${object.error}`);\n\t\t}\n\t\tconst owner = object.data.owner;\n\t\tconst initialSharedVersion =\n\t\t\towner && typeof owner === 'object'\n\t\t\t\t? 'Shared' in owner\n\t\t\t\t\t? owner.Shared.initial_shared_version\n\t\t\t\t\t: 'ConsensusAddressOwner' in owner\n\t\t\t\t\t\t? owner.ConsensusAddressOwner.start_version\n\t\t\t\t\t\t: null\n\t\t\t\t: null;\n\n\t\treturn {\n\t\t\tobjectId: object.data.objectId,\n\t\t\tdigest: object.data.digest,\n\t\t\tversion: object.data.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: 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: SuiClient) {\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) => input?.UnresolvedPure || input?.UnresolvedObject,\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, OpenMoveTypeSignature[]>();\n\tif (moveFunctionsToResolve.size > 0) {\n\t\tawait Promise.all(\n\t\t\t[...moveFunctionsToResolve].map(async (functionName) => {\n\t\t\t\tconst [packageId, moduleId, functionId] = functionName.split('::');\n\t\t\t\tconst def = await client.getNormalizedMoveFunction({\n\t\t\t\t\tpackage: packageId,\n\t\t\t\t\tmodule: moduleId,\n\t\t\t\t\tfunction: functionId,\n\t\t\t\t});\n\n\t\t\t\tmoveFunctionParameters.set(\n\t\t\t\t\tfunctionName,\n\t\t\t\t\tdef.parameters.map((param) => normalizedTypeToMoveTypeSignature(param)),\n\t\t\t\t);\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 = tx.MoveCall._argumentTypes[argIndex].ref !== '&' || 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\nfunction isReceivingType(type: OpenMoveTypeSignature): boolean {\n\tif (typeof type.body !== 'object' || !('datatype' in type.body)) {\n\t\treturn false;\n\t}\n\n\treturn (\n\t\ttype.body.datatype.package === '0x2' &&\n\t\ttype.body.datatype.module === 'transfer' &&\n\t\ttype.body.datatype.type === 'Receiving'\n\t);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["chunk", "inputs"]
|
|
7
7
|
}
|
|
@@ -64,7 +64,7 @@ function parseTransactionEffectsV2({
|
|
|
64
64
|
unchangedSharedObjects: effects.unchangedSharedObjects.map(
|
|
65
65
|
([objectId, object]) => {
|
|
66
66
|
return {
|
|
67
|
-
kind: object.$kind,
|
|
67
|
+
kind: object.$kind === "MutateDeleted" ? "MutateConsensusStreamEnded" : object.$kind === "ReadDeleted" ? "ReadConsensusStreamEnded" : object.$kind,
|
|
68
68
|
objectId,
|
|
69
69
|
version: object.$kind === "ReadOnlyRoot" ? object.ReadOnlyRoot[0] : object[object.$kind],
|
|
70
70
|
digest: object.$kind === "ReadOnlyRoot" ? object.ReadOnlyRoot[1] : null
|