Class SerialTransactionExecutor
Constructors
constructor
- new SerialTransactionExecutor(__namedParameters): SerialTransactionExecutor
Parameters
- __namedParameters: Omit<ObjectCacheOptions, "address"> & {
client: SuiClient;
defaultGasBudget?: bigint;
signer: Signer;
}
Methods
applyEffects
- applyEffects(effects): Promise<[void, void]>
Parameters
- effects: EnumOutputShapeWithKeys<{
V1: {
created: [{
digest: string;
objectId: string;
version: string;
}, EnumOutputShapeWithKeys<{
AddressOwner: string;
Immutable: true;
ObjectOwner: string;
Shared: {
initialSharedVersion: string;
};
},
| "AddressOwner"
| "ObjectOwner"
| "Shared"
| "Immutable">][];
deleted: {
digest: string;
objectId: string;
version: string;
}[];
dependencies: string[];
eventsDigest: null | string;
executedEpoch: string;
gasObject: [{
digest: string;
objectId: string;
version: string;
}, EnumOutputShapeWithKeys<{
AddressOwner: string;
Immutable: true;
ObjectOwner: string;
Shared: {
initialSharedVersion: string;
};
},
| "AddressOwner"
| "ObjectOwner"
| "Shared"
| "Immutable">];
gasUsed: {
computationCost: string;
nonRefundableStorageFee: string;
storageCost: string;
storageRebate: string;
};
modifiedAtVersions: [string, string][];
mutated: [{
digest: string;
objectId: string;
version: string;
}, EnumOutputShapeWithKeys<{
AddressOwner: string;
Immutable: true;
ObjectOwner: string;
Shared: {
initialSharedVersion: string;
};
},
| "AddressOwner"
| "ObjectOwner"
| "Shared"
| "Immutable">][];
sharedObjects: {
digest: string;
objectId: string;
version: string;
}[];
status: EnumOutputShapeWithKeys<{
Failed: {
command: null | string;
error: EnumOutputShapeWithKeys<{
AddressDeniedForCoin: {
address: string;
coinType: string;
};
ArityMismatch: true;
CertificateDenied: true;
CircularObjectOwnership: {
object: string;
};
CoinBalanceOverflow: true;
CoinTypeGlobalPause: {
coinType: string;
};
CommandArgumentError: {
argIdx: number;
kind: EnumOutputShapeWithKeys<{
IndexOutOfBounds: ...;
InvalidArgumentToPrivateEntryFunction: ...;
InvalidBCSBytes: ...;
InvalidGasCoinUsage: ...;
InvalidObjectByMutRef: ...;
InvalidObjectByValue: ...;
InvalidResultArity: ...;
InvalidUsageOfPureArg: ...;
InvalidValueUsage: ...;
SecondaryIndexOutOfBounds: ...;
SharedObjectOperationNotAllowed: ...;
TypeMismatch: ...;
},
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)>;
};
EffectsTooLarge: {
currentSize: string;
maxSize: string;
};
ExecutionCancelledDueToRandomnessUnavailable: true;
ExecutionCancelledDueToSharedObjectCongestion: {
congestedObjects: string[];
};
FeatureNotYetSupported: true;
FunctionNotFound: true;
InputObjectDeleted: true;
InsufficientCoinBalance: true;
InsufficientGas: true;
InvalidGasObject: true;
InvalidPublicFunctionReturnType: {
idx: number;
};
InvalidTransferObject: true;
InvariantViolation: true;
MoveAbort: [{
function: number;
functionName: (...) | (...);
instruction: number;
module: {
address: ...;
name: ...;
};
}, string];
MoveObjectTooBig: {
maxObjectSize: string;
objectSize: string;
};
MovePackageTooBig: {
maxObjectSize: string;
objectSize: string;
};
MovePrimitiveRuntimeError: null | {
function: number;
functionName: (...) | (...);
instruction: number;
module: {
address: ...;
name: ...;
};
};
NonEntryFunctionInvoked: true;
PackageUpgradeError: {
upgradeError: EnumOutputShapeWithKeys<{
DigestDoesNotMatch: ...;
IncompatibleUpgrade: ...;
NotAPackage: ...;
PackageIDDoesNotMatch: ...;
UnableToFetchPackage: ...;
UnknownUpgradePolicy: ...;
},
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)>;
};
PublishErrorNonZeroAddress: true;
PublishUpgradeDependencyDowngrade: true;
PublishUpgradeMissingDependency: true;
SharedObjectOperationNotAllowed: true;
SuiMoveVerificationError: true;
SuiMoveVerificationTimedout: true;
TypeArgumentError: {
argumentIdx: number;
kind: EnumOutputShapeWithKeys<{
ConstraintNotSatisfied: ...;
TypeNotFound: ...;
}, (...) | (...)>;
};
TypeArityMismatch: true;
UnusedValueWithoutDrop: {
resultIdx: number;
secondaryIdx: number;
};
VMInvariantViolation: true;
VMVerificationOrDeserializationError: true;
WrittenObjectsTooLarge: {
currentSize: string;
maxSize: string;
};
},
| "PackageUpgradeError"
| "SharedObjectOperationNotAllowed"
| "CommandArgumentError"
| "TypeArgumentError"
| "InsufficientGas"
| "InvalidGasObject"
| "InvariantViolation"
| "FeatureNotYetSupported"
| "MoveObjectTooBig"
| "MovePackageTooBig"
| "CircularObjectOwnership"
| "InsufficientCoinBalance"
| "CoinBalanceOverflow"
| "PublishErrorNonZeroAddress"
| "SuiMoveVerificationError"
| "MovePrimitiveRuntimeError"
| "MoveAbort"
| "VMVerificationOrDeserializationError"
| "VMInvariantViolation"
| "FunctionNotFound"
| "ArityMismatch"
| "TypeArityMismatch"
| "NonEntryFunctionInvoked"
| "UnusedValueWithoutDrop"
| "InvalidPublicFunctionReturnType"
| "InvalidTransferObject"
| "EffectsTooLarge"
| "PublishUpgradeMissingDependency"
| "PublishUpgradeDependencyDowngrade"
| "WrittenObjectsTooLarge"
| "CertificateDenied"
| "SuiMoveVerificationTimedout"
| "InputObjectDeleted"
| "ExecutionCancelledDueToSharedObjectCongestion"
| "AddressDeniedForCoin"
| "CoinTypeGlobalPause"
| "ExecutionCancelledDueToRandomnessUnavailable">;
};
Success: true;
}, "Success" | "Failed">;
transactionDigest: string;
unwrapped: [{
digest: string;
objectId: string;
version: string;
}, EnumOutputShapeWithKeys<{
AddressOwner: string;
Immutable: true;
ObjectOwner: string;
Shared: {
initialSharedVersion: string;
};
},
| "AddressOwner"
| "ObjectOwner"
| "Shared"
| "Immutable">][];
unwrappedThenDeleted: {
digest: string;
objectId: string;
version: string;
}[];
wrapped: {
digest: string;
objectId: string;
version: string;
}[];
};
V2: {
auxDataDigest: null | string;
changedObjects: [string, {
idOperation: EnumOutputShapeWithKeys<{
Created: true;
Deleted: true;
None: true;
}, "None" | "Created" | "Deleted">;
inputState: EnumOutputShapeWithKeys<{
Exist: [[string, string], EnumOutputShapeWithKeys<{
AddressOwner: ...;
Immutable: ...;
ObjectOwner: ...;
Shared: ...;
},
| (...)
| (...)
| (...)
| (...)>];
NotExist: true;
}, "NotExist" | "Exist">;
outputState: EnumOutputShapeWithKeys<{
NotExist: true;
ObjectWrite: [string, EnumOutputShapeWithKeys<{
AddressOwner: ...;
Immutable: ...;
ObjectOwner: ...;
Shared: ...;
},
| (...)
| (...)
| (...)
| (...)>];
PackageWrite: [string, string];
}, "NotExist" | "ObjectWrite" | "PackageWrite">;
}][];
dependencies: string[];
eventsDigest: null | string;
executedEpoch: string;
gasObjectIndex: null | number;
gasUsed: {
computationCost: string;
nonRefundableStorageFee: string;
storageCost: string;
storageRebate: string;
};
lamportVersion: string;
status: EnumOutputShapeWithKeys<{
Failed: {
command: null | string;
error: EnumOutputShapeWithKeys<{
AddressDeniedForCoin: {
address: string;
coinType: string;
};
ArityMismatch: true;
CertificateDenied: true;
CircularObjectOwnership: {
object: string;
};
CoinBalanceOverflow: true;
CoinTypeGlobalPause: {
coinType: string;
};
CommandArgumentError: {
argIdx: number;
kind: EnumOutputShapeWithKeys<{
IndexOutOfBounds: ...;
InvalidArgumentToPrivateEntryFunction: ...;
InvalidBCSBytes: ...;
InvalidGasCoinUsage: ...;
InvalidObjectByMutRef: ...;
InvalidObjectByValue: ...;
InvalidResultArity: ...;
InvalidUsageOfPureArg: ...;
InvalidValueUsage: ...;
SecondaryIndexOutOfBounds: ...;
SharedObjectOperationNotAllowed: ...;
TypeMismatch: ...;
},
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)>;
};
EffectsTooLarge: {
currentSize: string;
maxSize: string;
};
ExecutionCancelledDueToRandomnessUnavailable: true;
ExecutionCancelledDueToSharedObjectCongestion: {
congestedObjects: string[];
};
FeatureNotYetSupported: true;
FunctionNotFound: true;
InputObjectDeleted: true;
InsufficientCoinBalance: true;
InsufficientGas: true;
InvalidGasObject: true;
InvalidPublicFunctionReturnType: {
idx: number;
};
InvalidTransferObject: true;
InvariantViolation: true;
MoveAbort: [{
function: number;
functionName: (...) | (...);
instruction: number;
module: {
address: ...;
name: ...;
};
}, string];
MoveObjectTooBig: {
maxObjectSize: string;
objectSize: string;
};
MovePackageTooBig: {
maxObjectSize: string;
objectSize: string;
};
MovePrimitiveRuntimeError: null | {
function: number;
functionName: (...) | (...);
instruction: number;
module: {
address: ...;
name: ...;
};
};
NonEntryFunctionInvoked: true;
PackageUpgradeError: {
upgradeError: EnumOutputShapeWithKeys<{
DigestDoesNotMatch: ...;
IncompatibleUpgrade: ...;
NotAPackage: ...;
PackageIDDoesNotMatch: ...;
UnableToFetchPackage: ...;
UnknownUpgradePolicy: ...;
},
| (...)
| (...)
| (...)
| (...)
| (...)
| (...)>;
};
PublishErrorNonZeroAddress: true;
PublishUpgradeDependencyDowngrade: true;
PublishUpgradeMissingDependency: true;
SharedObjectOperationNotAllowed: true;
SuiMoveVerificationError: true;
SuiMoveVerificationTimedout: true;
TypeArgumentError: {
argumentIdx: number;
kind: EnumOutputShapeWithKeys<{
ConstraintNotSatisfied: ...;
TypeNotFound: ...;
}, (...) | (...)>;
};
TypeArityMismatch: true;
UnusedValueWithoutDrop: {
resultIdx: number;
secondaryIdx: number;
};
VMInvariantViolation: true;
VMVerificationOrDeserializationError: true;
WrittenObjectsTooLarge: {
currentSize: string;
maxSize: string;
};
},
| "PackageUpgradeError"
| "SharedObjectOperationNotAllowed"
| "CommandArgumentError"
| "TypeArgumentError"
| "InsufficientGas"
| "InvalidGasObject"
| "InvariantViolation"
| "FeatureNotYetSupported"
| "MoveObjectTooBig"
| "MovePackageTooBig"
| "CircularObjectOwnership"
| "InsufficientCoinBalance"
| "CoinBalanceOverflow"
| "PublishErrorNonZeroAddress"
| "SuiMoveVerificationError"
| "MovePrimitiveRuntimeError"
| "MoveAbort"
| "VMVerificationOrDeserializationError"
| "VMInvariantViolation"
| "FunctionNotFound"
| "ArityMismatch"
| "TypeArityMismatch"
| "NonEntryFunctionInvoked"
| "UnusedValueWithoutDrop"
| "InvalidPublicFunctionReturnType"
| "InvalidTransferObject"
| "EffectsTooLarge"
| "PublishUpgradeMissingDependency"
| "PublishUpgradeDependencyDowngrade"
| "WrittenObjectsTooLarge"
| "CertificateDenied"
| "SuiMoveVerificationTimedout"
| "InputObjectDeleted"
| "ExecutionCancelledDueToSharedObjectCongestion"
| "AddressDeniedForCoin"
| "CoinTypeGlobalPause"
| "ExecutionCancelledDueToRandomnessUnavailable">;
};
Success: true;
}, "Success" | "Failed">;
transactionDigest: string;
unchangedSharedObjects: [string, EnumOutputShapeWithKeys<{
Cancelled: string;
MutateDeleted: string;
PerEpochConfig: true;
ReadDeleted: string;
ReadOnlyRoot: [string, string];
},
| "ReadOnlyRoot"
| "MutateDeleted"
| "ReadDeleted"
| "Cancelled"
| "PerEpochConfig">][];
};
}, "V1" | "V2">
Returns Promise<[void, void]>
buildTransaction
- buildTransaction(transaction): Promise<Uint8Array>
Returns Promise<Uint8Array>
executeTransaction
- executeTransaction(transaction, options?): Promise<{
data: SuiTransactionBlockResponse;
digest: string;
effects: string;
}> Returns Promise<{
data: SuiTransactionBlockResponse;
digest: string;
effects: string;
}>
resetCache
- resetCache(): Promise<void>
Returns Promise<void>
waitForLastTransaction
- waitForLastTransaction(): Promise<void>
Returns Promise<void>