Interface: ParallelTransactionExecutorOptions
Extends
Omit<ObjectCacheOptions,"address">
Properties
cache?
optionalcache:AsyncCache
Inherited from
Omit.cache
onEffects()?
optionalonEffects: (effects) =>Promise<void>
Parameters
effects
$kind
"V1"
V1
{ status: EnumOutputShapeWithKeys<{ Success: true; Failed: { error: EnumOutputShapeWithKeys<{ InsufficientGas: true; InvalidGasObject: true; InvariantViolation: true; FeatureNotYetSupported: true; MoveObjectTooBig: { objectSize: string; maxObjectSize: string; }; MovePackageTooBig: { objectSize: string; maxObjectSize: string; }; CircularObjectOwnership: { object: string; }; InsufficientCoinBalance: true; CoinBalanceOverflow: true; PublishErrorNonZeroAddress: true; IotaMoveVerificationError: true; MovePrimitiveRuntimeError: { module: ...; function: ...; instruction: ...; functionName: ...; } | null; MoveAbort: [{ module: ...; function: ...; instruction: ...; functionName: ...; }, string]; VMVerificationOrDeserializationError: true; VMInvariantViolation: true; FunctionNotFound: true; ArityMismatch: true; TypeArityMismatch: true; NonEntryFunctionInvoked: true; CommandArgumentError: { argIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; TypeArgumentError: { argumentIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; UnusedValueWithoutDrop: { resultIdx: number; secondaryIdx: number; }; InvalidPublicFunctionReturnType: { idx: number; }; InvalidTransferObject: true; EffectsTooLarge: { currentSize: string; maxSize: string; }; PublishUpgradeMissingDependency: true; PublishUpgradeDependencyDowngrade: true; PackageUpgradeError: { upgradeError: EnumOutputShapeWithKeys<..., ...>; }; WrittenObjectsTooLarge: { currentSize: string; maxSize: string; }; CertificateDenied: true; IotaMoveVerificationTimedout: true; SharedObjectOperationNotAllowed: true; InputObjectDeleted: true; ExecutionCancelledDueToSharedObjectCongestion: { congestedObjects: ...[]; }; AddressDeniedForCoin: { address: string; coinType: string; }; CoinTypeGlobalPause: { coinType: string; }; ExecutionCancelledDueToRandomnessUnavailable: true; }, "InsufficientGas" | "InvalidGasObject" | "InvariantViolation" | "FeatureNotYetSupported" | "MoveObjectTooBig" | "MovePackageTooBig" | "CircularObjectOwnership" | "InsufficientCoinBalance" | "CoinBalanceOverflow" | "PublishErrorNonZeroAddress" | "IotaMoveVerificationError" | "MovePrimitiveRuntimeError" | "MoveAbort" | "VMVerificationOrDeserializationError" | "VMInvariantViolation" | "FunctionNotFound" | "ArityMismatch" | "TypeArityMismatch" | "NonEntryFunctionInvoked" | "CommandArgumentError" | "SharedObjectOperationNotAllowed" | "TypeArgumentError" | "UnusedValueWithoutDrop" | "InvalidPublicFunctionReturnType" | "InvalidTransferObject" | "EffectsTooLarge" | "PublishUpgradeMissingDependency" | "PublishUpgradeDependencyDowngrade" | "PackageUpgradeError" | "WrittenObjectsTooLarge" | "CertificateDenied" | "IotaMoveVerificationTimedout" | "InputObjectDeleted" | "ExecutionCancelledDueToSharedObjectCongestion" | "AddressDeniedForCoin" | "CoinTypeGlobalPause" | "ExecutionCancelledDueToRandomnessUnavailable">; command: string | null; }; }, "Success" | "Failed">; executedEpoch: string; gasUsed: { computationCost: string; computationCostBurned: string; storageCost: string; storageRebate: string; nonRefundableStorageFee: string; }; transactionDigest: string; gasObjectIndex: number | null; eventsDigest: string | null; dependencies: string[]; lamportVersion: string; changedObjects: [string, { inputState: EnumOutputShapeWithKeys<{ NotExist: true; Exist: [[..., ...], EnumOutputShapeWithKeys<..., ...>]; }, "NotExist" | "Exist">; outputState: EnumOutputShapeWithKeys<{ NotExist: true; ObjectWrite: [string, EnumOutputShapeWithKeys<..., ...>]; PackageWrite: [string, string]; }, "NotExist" | "ObjectWrite" | "PackageWrite">; idOperation: EnumOutputShapeWithKeys<{ None: true; Created: true; Deleted: true; }, "None" | "Created" | "Deleted">; }][]; unchangedSharedObjects: [string, EnumOutputShapeWithKeys<{ ReadOnlyRoot: [string, string]; MutateDeleted: string; ReadDeleted: string; Cancelled: string; PerEpochConfig: true; }, "ReadOnlyRoot" | "MutateDeleted" | "ReadDeleted" | "Cancelled" | "PerEpochConfig">][]; auxDataDigest: string | null; } = TransactionEffectsV1
V1.status
EnumOutputShapeWithKeys<{ Success: true; Failed: { error: EnumOutputShapeWithKeys<{ InsufficientGas: true; InvalidGasObject: true; InvariantViolation: true; FeatureNotYetSupported: true; MoveObjectTooBig: { objectSize: string; maxObjectSize: string; }; MovePackageTooBig: { objectSize: string; maxObjectSize: string; }; CircularObjectOwnership: { object: string; }; InsufficientCoinBalance: true; CoinBalanceOverflow: true; PublishErrorNonZeroAddress: true; IotaMoveVerificationError: true; MovePrimitiveRuntimeError: { module: ...; function: ...; instruction: ...; functionName: ...; } | null; MoveAbort: [{ module: ...; function: ...; instruction: ...; functionName: ...; }, string]; VMVerificationOrDeserializationError: true; VMInvariantViolation: true; FunctionNotFound: true; ArityMismatch: true; TypeArityMismatch: true; NonEntryFunctionInvoked: true; CommandArgumentError: { argIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; TypeArgumentError: { argumentIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; UnusedValueWithoutDrop: { resultIdx: number; secondaryIdx: number; }; InvalidPublicFunctionReturnType: { idx: number; }; InvalidTransferObject: true; EffectsTooLarge: { currentSize: string; maxSize: string; }; PublishUpgradeMissingDependency: true; PublishUpgradeDependencyDowngrade: true; PackageUpgradeError: { upgradeError: EnumOutputShapeWithKeys<..., ...>; }; WrittenObjectsTooLarge: { currentSize: string; maxSize: string; }; CertificateDenied: true; IotaMoveVerificationTimedout: true; SharedObjectOperationNotAllowed: true; InputObjectDeleted: true; ExecutionCancelledDueToSharedObjectCongestion: { congestedObjects: ...[]; }; AddressDeniedForCoin: { address: string; coinType: string; }; CoinTypeGlobalPause: { coinType: string; }; ExecutionCancelledDueToRandomnessUnavailable: true; }, "InsufficientGas" | "InvalidGasObject" | "InvariantViolation" | "FeatureNotYetSupported" | "MoveObjectTooBig" | "MovePackageTooBig" | "CircularObjectOwnership" | "InsufficientCoinBalance" | "CoinBalanceOverflow" | "PublishErrorNonZeroAddress" | "IotaMoveVerificationError" | "MovePrimitiveRuntimeError" | "MoveAbort" | "VMVerificationOrDeserializationError" | "VMInvariantViolation" | "FunctionNotFound" | "ArityMismatch" | "TypeArityMismatch" | "NonEntryFunctionInvoked" | "CommandArgumentError" | "SharedObjectOperationNotAllowed" | "TypeArgumentError" | "UnusedValueWithoutDrop" | "InvalidPublicFunctionReturnType" | "InvalidTransferObject" | "EffectsTooLarge" | "PublishUpgradeMissingDependency" | "PublishUpgradeDependencyDowngrade" | "PackageUpgradeError" | "WrittenObjectsTooLarge" | "CertificateDenied" | "IotaMoveVerificationTimedout" | "InputObjectDeleted" | "ExecutionCancelledDueToSharedObjectCongestion" | "AddressDeniedForCoin" | "CoinTypeGlobalPause" | "ExecutionCancelledDueToRandomnessUnavailable">; command: string | null; }; }, "Success" | "Failed"> = ExecutionStatus
V1.executedEpoch
string = ...
V1.gasUsed
{ computationCost: string; computationCostBurned: string; storageCost: string; storageRebate: string; nonRefundableStorageFee: string; } = GasCostSummary
V1.gasUsed.computationCost
string = ...
V1.gasUsed.computationCostBurned
string = ...
V1.gasUsed.storageCost
string = ...
V1.gasUsed.storageRebate
string = ...
V1.gasUsed.nonRefundableStorageFee
string = ...
V1.transactionDigest
string = ObjectDigest
V1.gasObjectIndex
number | null = ...
V1.eventsDigest
string | null = ...
V1.dependencies
string[] = ...
V1.lamportVersion
string = ...
V1.changedObjects
[string, { inputState: EnumOutputShapeWithKeys<{ NotExist: true; Exist: [[..., ...], EnumOutputShapeWithKeys<..., ...>]; }, "NotExist" | "Exist">; outputState: EnumOutputShapeWithKeys<{ NotExist: true; ObjectWrite: [string, EnumOutputShapeWithKeys<..., ...>]; PackageWrite: [string, string]; }, "NotExist" | "ObjectWrite" | "PackageWrite">; idOperation: EnumOutputShapeWithKeys<{ None: true; Created: true; Deleted: true; }, "None" | "Created" | "Deleted">; }][] = ...
V1.unchangedSharedObjects
[string, EnumOutputShapeWithKeys<{ ReadOnlyRoot: [string, string]; MutateDeleted: string; ReadDeleted: string; Cancelled: string; PerEpochConfig: true; }, "ReadOnlyRoot" | "MutateDeleted" | "ReadDeleted" | "Cancelled" | "PerEpochConfig">][] = ...
V1.auxDataDigest
string | null = ...
Returns
Promise<void>
Inherited from
Omit.onEffects
client
client:
IotaClient
signer
signer:
Signer
coinBatchSize?
optionalcoinBatchSize:number
The number of coins to create in a batch when refilling the gas pool
initialCoinBalance?
optionalinitialCoinBalance:bigint
The initial balance of each coin created for the gas pool
minimumCoinBalance?
optionalminimumCoinBalance:bigint
The minimum balance of a coin that can be reused for future transactions. If the gasCoin is below this value, it will be used when refilling the gasPool
defaultGasBudget?
optionaldefaultGasBudget:bigint
The gasBudget to use if the transaction has not defined it's own gasBudget, defaults to minimumCoinBalance
epochBoundaryWindow?
optionalepochBoundaryWindow:number
Time to wait before/after the expected epoch boundary before re-fetching the gas pool (in milliseconds). Building transactions will be paused for up to 2x this duration around each epoch boundary to ensure the gas price is up-to-date for the next epoch.
maxPoolSize?
optionalmaxPoolSize:number
The maximum number of transactions that can be execute in parallel, this also determines the maximum number of gas coins that will be created
sourceCoins?
optionalsourceCoins:string[]
An initial list of coins used to fund the gas pool, uses all owned IOTA coins by default