Skip to main content

ExecutionError

ExecutionError

enum ExecutionError

An error that can occur during the execution of a transaction

BCS

The BCS serialized form for this type is defined by the following ABNF:


execution-error = insufficient-gas
=/ invalid-gas-object
=/ invariant-violation
=/ feature-not-yet-supported
=/ object-too-big
=/ package-too-big
=/ circular-object-ownership
=/ insufficient-coin-balance
=/ coin-balance-overflow
=/ publish-error-non-zero-address
=/ iota-move-verification-error
=/ move-primitive-runtime-error
=/ move-abort
=/ vm-verification-or-deserialization-error
=/ vm-invariant-violation
=/ function-not-found
=/ arity-mismatch
=/ type-arity-mismatch
=/ non-entry-function-invoked
=/ command-argument-error
=/ type-argument-error
=/ unused-value-without-drop
=/ invalid-public-function-return-type
=/ invalid-transfer-object
=/ effects-too-large
=/ publish-upgrade-missing-dependency
=/ publish-upgrade-dependency-downgrade
=/ package-upgrade-error
=/ written-objects-too-large
=/ certificate-denied
=/ iota-move-verification-timeout
=/ shared-object-operation-not-allowed
=/ input-object-deleted
=/ execution-canceled-due-to-shared-object-congestion
=/ address-denied-for-coin
=/ coin-type-global-pause
=/ execution-canceled-due-to-randomness-unavailable
=/ execution-canceled-due-to-shared-object-congestion-v2
=/ invalid-linkage
=/ move-authentication-error
=/ execution-canceled-due-to-execution-worker-congestion

insufficient-gas = %d00
invalid-gas-object = %d01
invariant-violation = %d02
feature-not-yet-supported = %d03
object-too-big = %d04 u64 u64
package-too-big = %d05 u64 u64
circular-object-ownership = %d06 object-id
insufficient-coin-balance = %d07
coin-balance-overflow = %d08
publish-error-non-zero-address = %d09
iota-move-verification-error = %d10
move-primitive-runtime-error = %d11 (option move-location)
move-abort = %d12 move-location u64
vm-verification-or-deserialization-error = %d13
vm-invariant-violation = %d14
function-not-found = %d15
arity-mismatch = %d16
type-arity-mismatch = %d17
non-entry-function-invoked = %d18
command-argument-error = %d19 u16 command-argument-error
type-argument-error = %d20 u16 type-argument-error
unused-value-without-drop = %d21 u16 u16
invalid-public-function-return-type = %d22 u16
invalid-transfer-object = %d23
effects-too-large = %d24 u64 u64
publish-upgrade-missing-dependency = %d25
publish-upgrade-dependency-downgrade = %d26
package-upgrade-error = %d27 package-upgrade-error
written-objects-too-large = %d28 u64 u64
certificate-denied = %d29
iota-move-verification-timeout = %d30
shared-object-operation-not-allowed = %d31
input-object-deleted = %d32
execution-canceled-due-to-shared-object-congestion = %d33 (vector object-id)
address-denied-for-coin = %d34 address string
coin-type-global-pause = %d35 string
execution-canceled-due-to-randomness-unavailable = %d36
execution-canceled-due-to-shared-object-congestion-v2 = %d37 (vector object-id) u64
invalid-linkage = %d38
move-authentication-error = %d39 execution-error
execution-canceled-due-to-execution-worker-congestion = %d40 u64

ExecutionError.addressDeniedForCoin(address:coinType:)

case addressDeniedForCoin(address: Address, coinType: String)

Address is denied for this coin type

ExecutionError.arityMismatch

case arityMismatch

Arity mismatch for Move function. The number of arguments does not match the number of parameters

ExecutionError.certificateDenied

case certificateDenied

Certificate is on the deny list

ExecutionError.circularObjectOwnership(object:)

case circularObjectOwnership(object: ObjectId)

Circular Object Ownership

ExecutionError.coinBalanceOverflow

case coinBalanceOverflow

Coin balance overflowed an u64

ExecutionError.coinTypeGlobalPause(coinType:)

case coinTypeGlobalPause(coinType: String)

Coin type is globally paused for use

ExecutionError.commandArgument(argument:kind:)

case commandArgument(argument: UInt16, kind: CommandArgumentError)

Invalid command argument

ExecutionError.effectsTooLarge(currentSize:maxSize:)

case effectsTooLarge(currentSize: UInt64, maxSize: UInt64)

Effects from the transaction are too large

ExecutionError.executionCanceledDueToExecutionWorkerCongestion(suggestedGasPrice:)

case executionCanceledDueToExecutionWorkerCongestion(suggestedGasPrice: UInt64)

Certificate is canceled because the execution workers are congested; suggested gas price can be used to give this certificate more priority. No individual object is responsible, so none is reported.

ExecutionError.executionCanceledDueToRandomnessUnavailable

case executionCanceledDueToRandomnessUnavailable

Certificate is canceled because randomness could not be generated this epoch

ExecutionError.executionCanceledDueToSharedObjectCongestion(congestedObjects:)

case executionCanceledDueToSharedObjectCongestion(congestedObjects: [ObjectId])

Certificate is canceled due to congestion on shared objects

ExecutionError.executionCanceledDueToSharedObjectCongestionV2(congestedObjects:suggestedGasPrice:)

case executionCanceledDueToSharedObjectCongestionV2(congestedObjects: [ObjectId], suggestedGasPrice: UInt64)

Certificate is canceled due to congestion on shared objects; suggested gas price can be used to give this certificate more priority.

ExecutionError.featureNotYetSupported

case featureNotYetSupported

Attempted to used feature that is not supported yet

ExecutionError.functionNotFound

case functionNotFound

Function not found

ExecutionError.inputObjectDeleted

case inputObjectDeleted

Requested shared object has been deleted

ExecutionError.insufficientCoinBalance

case insufficientCoinBalance

Insufficient coin balance for requested operation

ExecutionError.insufficientGas

case insufficientGas

Insufficient Gas

ExecutionError.invalidGasObject

case invalidGasObject

Invalid Gas Object.

ExecutionError.invalidLinkage

case invalidLinkage

A valid linkage was unable to be determined for the transaction or one of its commands.

ExecutionError.invalidPublicFunctionReturnType(index:)

case invalidPublicFunctionReturnType(index: UInt16)

Invalid public Move function signature. Unsupported return type for return value

ExecutionError.invalidTransferObject

case invalidTransferObject

Invalid Transfer Object, object does not have public transfer.

ExecutionError.invariantViolation

case invariantViolation

Invariant Violation

ExecutionError.iotaMoveVerification

case iotaMoveVerification

IOTA Move Bytecode Verification Error.

ExecutionError.iotaMoveVerificationTimeout

case iotaMoveVerificationTimeout

IOTA Move Bytecode verification timed out.

ExecutionError.moveAbort(location:code:)

case moveAbort(location: MoveLocation, code: UInt64)

Move runtime abort

ExecutionError.moveAuthentication(error:)

case moveAuthentication(error: ExecutionErrorWrapper)

The transaction's Move-based authentication failed while executing an authenticator, before the programmable transaction was run. The wrapped error is the failure produced by the authenticator's execution.

ExecutionError.movePrimitiveRuntime(location:)

case movePrimitiveRuntime(location: MoveLocation?)

Error from a non-abort instruction. Possible causes: Arithmetic error, stack overflow, max value depth, etc."

ExecutionError.nonEntryFunctionInvoked

case nonEntryFunctionInvoked

Non Entry Function Invoked. Move Call must start with an entry function.

ExecutionError.objectTooBig(objectSize:maxObjectSize:)

case objectTooBig(objectSize: UInt64, maxObjectSize: UInt64)

Move object is larger than the maximum allowed size

ExecutionError.packageTooBig(objectSize:maxObjectSize:)

case packageTooBig(objectSize: UInt64, maxObjectSize: UInt64)

Package is larger than the maximum allowed size

ExecutionError.packageUpgrade(kind:)

case packageUpgrade(kind: PackageUpgradeError)

Invalid package upgrade

ExecutionError.publishErrorNonZeroAddress

case publishErrorNonZeroAddress

Publish Error, Non-zero Address. The modules in the package must have their self-addresses set to zero.

ExecutionError.publishUpgradeDependencyDowngrade

case publishUpgradeDependencyDowngrade

Publish or Upgrade dependency downgrade.

Indirect (transitive) dependency of published or upgraded package has been assigned an on-chain version that is less than the version required by one of the package's transitive dependencies.

ExecutionError.publishUpgradeMissingDependency

case publishUpgradeMissingDependency

Publish or Upgrade is missing dependency

ExecutionError.sharedObjectOperationNotAllowed

case sharedObjectOperationNotAllowed

The requested shared object operation is not allowed

ExecutionError.typeArgument(typeArgument:kind:)

case typeArgument(typeArgument: UInt16, kind: TypeArgumentError)

Type argument error

ExecutionError.typeArityMismatch

case typeArityMismatch

Type arity mismatch for Move function. Mismatch between the number of actual versus expected type arguments.

ExecutionError.unusedValueWithoutDrop(result:subresult:)

case unusedValueWithoutDrop(result: UInt16, subresult: UInt16)

Unused result without the drop ability.

ExecutionError.vmInvariantViolation

case vmInvariantViolation

MoveVm invariant violation

ExecutionError.vmVerificationOrDeserialization

case vmVerificationOrDeserialization

Bytecode verification error.

ExecutionError.writtenObjectsTooLarge(objectSize:maxObjectSize:)

case writtenObjectsTooLarge(objectSize: UInt64, maxObjectSize: UInt64)

Indicates the transaction tried to write objects too large to storage