Skip to main content

ParallelTransactionExecutorOptions

@iota/iota-sdk


@iota/iota-sdk / transactions / ParallelTransactionExecutorOptions

Interface: ParallelTransactionExecutorOptions

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:29

Extends​

  • Omit<ObjectCacheOptions, "address">

Properties​

cache?​

optional cache?: AsyncCache

Defined in: sdk/typescript/src/transactions/ObjectCache.ts:154

Inherited from​

Omit.cache


client​

client: IotaClient

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:30


coinBatchSize?​

optional coinBatchSize?: number

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:33

The number of coins to create in a batch when refilling the gas pool


defaultGasBudget?​

optional defaultGasBudget?: bigint

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:39

The gasBudget to use if the transaction has not defined it's own gasBudget, defaults to minimumCoinBalance


epochBoundaryWindow?​

optional epochBoundaryWindow?: number

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:45

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.


initialCoinBalance?​

optional initialCoinBalance?: bigint

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:35

The initial balance of each coin created for the gas pool


maxPoolSize?​

optional maxPoolSize?: number

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:47

The maximum number of transactions that can be execute in parallel, this also determines the maximum number of gas coins that will be created


minimumCoinBalance?​

optional minimumCoinBalance?: bigint

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:37

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


onEffects?​

optional onEffects?: (effects) => Promise<void>

Defined in: sdk/typescript/src/transactions/ObjectCache.ts:155

Parameters​

effects​
$kind​

"V1"

V1​

{ auxDataDigest: string | null; changedObjects: [string, { idOperation: EnumOutputShapeWithKeys<{ Created: true; Deleted: true; None: true; }, "None" | "Created" | "Deleted">; inputState: EnumOutputShapeWithKeys<{ Exist: [[..., ...], EnumOutputShapeWithKeys<..., ...>]; NotExist: true; }, "NotExist" | "Exist">; outputState: EnumOutputShapeWithKeys<{ NotExist: true; ObjectWrite: [string, EnumOutputShapeWithKeys<..., ...>]; PackageWrite: [string, string]; }, "NotExist" | "ObjectWrite" | "PackageWrite">; }][]; dependencies: string[]; eventsDigest: string | null; executedEpoch: string; gasObjectIndex: number | null; gasUsed: { computationCost: string; computationCostBurned: string; nonRefundableStorageFee: string; storageCost: string; storageRebate: string; }; lamportVersion: string; status: EnumOutputShapeWithKeys<{ Failed: { command: string | null; error: EnumOutputShapeWithKeys<{ AccountNotSharedObject: { objectId: string; }; AddressDeniedForCoin: { address: string; coinType: string; }; ArityMismatch: true; AuthenticatorFunctionNotFound: { objectId: string; }; CertificateDenied: true; CircularObjectOwnership: { object: string; }; CoinBalanceOverflow: true; CoinTypeGlobalPause: { coinType: string; }; CommandArgumentError: { argIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; EffectsTooLarge: { currentSize: string; maxSize: string; }; ExecutionCancelledDueToExecutionWorkerCongestion: { suggestedGasPrice: string; }; ExecutionCancelledDueToRandomnessUnavailable: true; ExecutionCancelledDueToSharedObjectCongestion: { congestedObjects: ...[]; }; ExecutionCancelledDueToSharedObjectCongestionV2: { congestedObjects: ...[]; suggestedGasPrice: string; }; FeatureNotYetSupported: true; FunctionNotFound: true; InputObjectDeleted: true; InsufficientCoinBalance: true; InsufficientGas: true; InvalidGasObject: true; InvalidLinkage: true; InvalidPublicFunctionReturnType: { idx: number; }; InvalidTransferObject: true; InvariantViolation: true; IotaMoveVerificationError: true; IotaMoveVerificationTimedout: true; MoveAbort: [{ function: ...; functionName: ...; instruction: ...; module: ...; }, string]; MoveAuthentication: { error: unknown; }; MoveObjectTooBig: { maxObjectSize: string; objectSize: string; }; MovePackageTooBig: { maxObjectSize: string; objectSize: string; }; MovePrimitiveRuntimeError: { function: ...; functionName: ...; instruction: ...; module: ...; } | null; MoveRawValueTooBig: { maxScaledSize: string; valueSize: string; }; MoveVectorElemTooBig: { maxScaledSize: string; valueSize: string; }; NonEntryFunctionInvoked: true; PackageUpgradeError: { upgradeError: EnumOutputShapeWithKeys<..., ...>; }; PublishErrorNonZeroAddress: true; PublishUpgradeDependencyDowngrade: true; PublishUpgradeMissingDependency: true; SharedObjectOperationNotAllowed: true; TypeArgumentError: { argumentIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; TypeArityMismatch: true; UnusedValueWithoutDrop: { resultIdx: number; secondaryIdx: number; }; VMInvariantViolation: true; VMVerificationOrDeserializationError: true; WrittenObjectsTooLarge: { currentSize: string; maxSize: string; }; }, "PackageUpgradeError" | "CommandArgumentError" | "SharedObjectOperationNotAllowed" | "TypeArgumentError" | "InsufficientGas" | "InvalidGasObject" | "InvariantViolation" | "FeatureNotYetSupported" | "MoveObjectTooBig" | "MovePackageTooBig" | "CircularObjectOwnership" | "InsufficientCoinBalance" | "CoinBalanceOverflow" | "PublishErrorNonZeroAddress" | "IotaMoveVerificationError" | "MovePrimitiveRuntimeError" | "MoveAbort" | "VMVerificationOrDeserializationError" | "VMInvariantViolation" | "FunctionNotFound" | "ArityMismatch" | "TypeArityMismatch" | "NonEntryFunctionInvoked" | "UnusedValueWithoutDrop" | "InvalidPublicFunctionReturnType" | "InvalidTransferObject" | "EffectsTooLarge" | "PublishUpgradeMissingDependency" | "PublishUpgradeDependencyDowngrade" | "WrittenObjectsTooLarge" | "CertificateDenied" | "IotaMoveVerificationTimedout" | "InputObjectDeleted" | "ExecutionCancelledDueToSharedObjectCongestion" | "AddressDeniedForCoin" | "CoinTypeGlobalPause" | "ExecutionCancelledDueToRandomnessUnavailable" | "ExecutionCancelledDueToSharedObjectCongestionV2" | "InvalidLinkage" | "MoveAuthentication" | "ExecutionCancelledDueToExecutionWorkerCongestion" | "MoveVectorElemTooBig" | "MoveRawValueTooBig" | "AuthenticatorFunctionNotFound" | "AccountNotSharedObject">; }; 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">][]; } = TransactionEffectsV1

V1.auxDataDigest​

string | null = ...

V1.changedObjects​

[string, { idOperation: EnumOutputShapeWithKeys<{ Created: true; Deleted: true; None: true; }, "None" | "Created" | "Deleted">; inputState: EnumOutputShapeWithKeys<{ Exist: [[..., ...], EnumOutputShapeWithKeys<..., ...>]; NotExist: true; }, "NotExist" | "Exist">; outputState: EnumOutputShapeWithKeys<{ NotExist: true; ObjectWrite: [string, EnumOutputShapeWithKeys<..., ...>]; PackageWrite: [string, string]; }, "NotExist" | "ObjectWrite" | "PackageWrite">; }][] = ...

V1.dependencies​

string[] = ...

V1.eventsDigest​

string | null = ...

V1.executedEpoch​

string = ...

V1.gasObjectIndex​

number | null = ...

V1.gasUsed​

{ computationCost: string; computationCostBurned: string; nonRefundableStorageFee: string; storageCost: string; storageRebate: string; } = GasCostSummary

V1.gasUsed.computationCost​

string = ...

V1.gasUsed.computationCostBurned​

string = ...

V1.gasUsed.nonRefundableStorageFee​

string = ...

V1.gasUsed.storageCost​

string = ...

V1.gasUsed.storageRebate​

string = ...

V1.lamportVersion​

string = ...

V1.status​

EnumOutputShapeWithKeys<{ Failed: { command: string | null; error: EnumOutputShapeWithKeys<{ AccountNotSharedObject: { objectId: string; }; AddressDeniedForCoin: { address: string; coinType: string; }; ArityMismatch: true; AuthenticatorFunctionNotFound: { objectId: string; }; CertificateDenied: true; CircularObjectOwnership: { object: string; }; CoinBalanceOverflow: true; CoinTypeGlobalPause: { coinType: string; }; CommandArgumentError: { argIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; EffectsTooLarge: { currentSize: string; maxSize: string; }; ExecutionCancelledDueToExecutionWorkerCongestion: { suggestedGasPrice: string; }; ExecutionCancelledDueToRandomnessUnavailable: true; ExecutionCancelledDueToSharedObjectCongestion: { congestedObjects: ...[]; }; ExecutionCancelledDueToSharedObjectCongestionV2: { congestedObjects: ...[]; suggestedGasPrice: string; }; FeatureNotYetSupported: true; FunctionNotFound: true; InputObjectDeleted: true; InsufficientCoinBalance: true; InsufficientGas: true; InvalidGasObject: true; InvalidLinkage: true; InvalidPublicFunctionReturnType: { idx: number; }; InvalidTransferObject: true; InvariantViolation: true; IotaMoveVerificationError: true; IotaMoveVerificationTimedout: true; MoveAbort: [{ function: ...; functionName: ...; instruction: ...; module: ...; }, string]; MoveAuthentication: { error: unknown; }; MoveObjectTooBig: { maxObjectSize: string; objectSize: string; }; MovePackageTooBig: { maxObjectSize: string; objectSize: string; }; MovePrimitiveRuntimeError: { function: ...; functionName: ...; instruction: ...; module: ...; } | null; MoveRawValueTooBig: { maxScaledSize: string; valueSize: string; }; MoveVectorElemTooBig: { maxScaledSize: string; valueSize: string; }; NonEntryFunctionInvoked: true; PackageUpgradeError: { upgradeError: EnumOutputShapeWithKeys<..., ...>; }; PublishErrorNonZeroAddress: true; PublishUpgradeDependencyDowngrade: true; PublishUpgradeMissingDependency: true; SharedObjectOperationNotAllowed: true; TypeArgumentError: { argumentIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; TypeArityMismatch: true; UnusedValueWithoutDrop: { resultIdx: number; secondaryIdx: number; }; VMInvariantViolation: true; VMVerificationOrDeserializationError: true; WrittenObjectsTooLarge: { currentSize: string; maxSize: string; }; }, "PackageUpgradeError" | "CommandArgumentError" | "SharedObjectOperationNotAllowed" | "TypeArgumentError" | "InsufficientGas" | "InvalidGasObject" | "InvariantViolation" | "FeatureNotYetSupported" | "MoveObjectTooBig" | "MovePackageTooBig" | "CircularObjectOwnership" | "InsufficientCoinBalance" | "CoinBalanceOverflow" | "PublishErrorNonZeroAddress" | "IotaMoveVerificationError" | "MovePrimitiveRuntimeError" | "MoveAbort" | "VMVerificationOrDeserializationError" | "VMInvariantViolation" | "FunctionNotFound" | "ArityMismatch" | "TypeArityMismatch" | "NonEntryFunctionInvoked" | "UnusedValueWithoutDrop" | "InvalidPublicFunctionReturnType" | "InvalidTransferObject" | "EffectsTooLarge" | "PublishUpgradeMissingDependency" | "PublishUpgradeDependencyDowngrade" | "WrittenObjectsTooLarge" | "CertificateDenied" | "IotaMoveVerificationTimedout" | "InputObjectDeleted" | "ExecutionCancelledDueToSharedObjectCongestion" | "AddressDeniedForCoin" | "CoinTypeGlobalPause" | "ExecutionCancelledDueToRandomnessUnavailable" | "ExecutionCancelledDueToSharedObjectCongestionV2" | "InvalidLinkage" | "MoveAuthentication" | "ExecutionCancelledDueToExecutionWorkerCongestion" | "MoveVectorElemTooBig" | "MoveRawValueTooBig" | "AuthenticatorFunctionNotFound" | "AccountNotSharedObject">; }; Success: true; }, "Success" | "Failed"> = ExecutionStatus

V1.transactionDigest​

string = ObjectDigest

V1.unchangedSharedObjects​

[string, EnumOutputShapeWithKeys<{ Cancelled: string; MutateDeleted: string; PerEpochConfig: true; ReadDeleted: string; ReadOnlyRoot: [string, string]; }, "ReadOnlyRoot" | "MutateDeleted" | "ReadDeleted" | "Cancelled" | "PerEpochConfig">][] = ...

Returns​

Promise<void>

Inherited from​

Omit.onEffects


signer​

signer: Signer

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:31


sourceCoins?​

optional sourceCoins?: string[]

Defined in: sdk/typescript/src/transactions/executor/parallel.ts:49

An initial list of coins used to fund the gas pool, uses all owned IOTA coins by default