Skip to main content

Interface: ParallelTransactionExecutorOptions

Extends

  • Omit<ObjectCacheOptions, "address">

Properties

cache?

optional cache: AsyncCache

Inherited from

Omit.cache


onEffects()?

optional onEffects: (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?

optional coinBatchSize: number

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


initialCoinBalance?

optional initialCoinBalance: bigint

The initial balance of each coin created for the gas pool


minimumCoinBalance?

optional minimumCoinBalance: 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?

optional defaultGasBudget: bigint

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


epochBoundaryWindow?

optional epochBoundaryWindow: 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?

optional maxPoolSize: 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?

optional sourceCoins: string[]

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