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