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<{ AddressDeniedForCoin: { address: string; coinType: string; }; ArityMismatch: true; CertificateDenied: true; CircularObjectOwnership: { object: string; }; CoinBalanceOverflow: true; CoinTypeGlobalPause: { coinType: string; }; CommandArgumentError: { argIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; EffectsTooLarge: { currentSize: string; maxSize: string; }; ExecutionCancelledDueToRandomnessUnavailable: true; ExecutionCancelledDueToSharedObjectCongestion: { congestedObjects: ...[]; }; FeatureNotYetSupported: true; FunctionNotFound: true; InputObjectDeleted: true; InsufficientCoinBalance: true; InsufficientGas: true; InvalidGasObject: true; InvalidPublicFunctionReturnType: { idx: number; }; InvalidTransferObject: true; InvariantViolation: true; IotaMoveVerificationError: true; IotaMoveVerificationTimedout: true; MoveAbort: [{ function: ...; functionName: ...; instruction: ...; module: ...; }, string]; MoveObjectTooBig: { maxObjectSize: string; objectSize: string; }; MovePackageTooBig: { maxObjectSize: string; objectSize: string; }; MovePrimitiveRuntimeError: { function: ...; functionName: ...; instruction: ...; module: ...; } | null; 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">; }; 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<{ AddressDeniedForCoin: { address: string; coinType: string; }; ArityMismatch: true; CertificateDenied: true; CircularObjectOwnership: { object: string; }; CoinBalanceOverflow: true; CoinTypeGlobalPause: { coinType: string; }; CommandArgumentError: { argIdx: number; kind: EnumOutputShapeWithKeys<..., ...>; }; EffectsTooLarge: { currentSize: string; maxSize: string; }; ExecutionCancelledDueToRandomnessUnavailable: true; ExecutionCancelledDueToSharedObjectCongestion: { congestedObjects: ...[]; }; FeatureNotYetSupported: true; FunctionNotFound: true; InputObjectDeleted: true; InsufficientCoinBalance: true; InsufficientGas: true; InvalidGasObject: true; InvalidPublicFunctionReturnType: { idx: number; }; InvalidTransferObject: true; InvariantViolation: true; IotaMoveVerificationError: true; IotaMoveVerificationTimedout: true; MoveAbort: [{ function: ...; functionName: ...; instruction: ...; module: ...; }, string]; MoveObjectTooBig: { maxObjectSize: string; objectSize: string; }; MovePackageTooBig: { maxObjectSize: string; objectSize: string; }; MovePrimitiveRuntimeError: { function: ...; functionName: ...; instruction: ...; module: ...; } | null; 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">; }; 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