Enum sui_sdk_types::types::ExecutionError
source · pub enum ExecutionError {
Show 37 variants
InsufficientGas,
InvalidGasObject,
InvariantViolation,
FeatureNotYetSupported,
ObjectTooBig {
object_size: u64,
max_object_size: u64,
},
PackageTooBig {
object_size: u64,
max_object_size: u64,
},
CircularObjectOwnership {
object: ObjectId,
},
InsufficientCoinBalance,
CoinBalanceOverflow,
PublishErrorNonZeroAddress,
SuiMoveVerificationError,
MovePrimitiveRuntimeError {
location: Option<MoveLocation>,
},
MoveAbort {
location: MoveLocation,
code: u64,
},
VmVerificationOrDeserializationError,
VmInvariantViolation,
FunctionNotFound,
ArityMismatch,
TypeArityMismatch,
NonEntryFunctionInvoked,
CommandArgumentError {
argument: u16,
kind: CommandArgumentError,
},
TypeArgumentError {
type_argument: u16,
kind: TypeArgumentError,
},
UnusedValueWithoutDrop {
result: u16,
subresult: u16,
},
InvalidPublicFunctionReturnType {
index: u16,
},
InvalidTransferObject,
EffectsTooLarge {
current_size: u64,
max_size: u64,
},
PublishUpgradeMissingDependency,
PublishUpgradeDependencyDowngrade,
PackageUpgradeError {
kind: PackageUpgradeError,
},
WrittenObjectsTooLarge {
object_size: u64,
max_object_size: u64,
},
CertificateDenied,
SuiMoveVerificationTimedout,
SharedObjectOperationNotAllowed,
InputObjectDeleted,
ExecutionCancelledDueToSharedObjectCongestion {
congested_objects: Vec<ObjectId>,
},
AddressDeniedForCoin {
address: Address,
coin_type: String,
},
CoinTypeGlobalPause {
coin_type: String,
},
ExecutionCancelledDueToRandomnessUnavailable,
}
Variants§
InsufficientGas
Insufficient Gas
InvalidGasObject
Invalid Gas Object.
InvariantViolation
Invariant Violation
FeatureNotYetSupported
Attempted to used feature that is not supported yet
ObjectTooBig
Move object is larger than the maximum allowed size
PackageTooBig
Package is larger than the maximum allowed size
CircularObjectOwnership
Circular Object Ownership
InsufficientCoinBalance
Insufficient coin balance for requested operation
CoinBalanceOverflow
Coin balance overflowed an u64
PublishErrorNonZeroAddress
Publish Error, Non-zero Address. The modules in the package must have their self-addresses set to zero.
SuiMoveVerificationError
Sui Move Bytecode Verification Error.
MovePrimitiveRuntimeError
Error from a non-abort instruction. Possible causes: Arithmetic error, stack overflow, max value depth, etc.“
Fields
location: Option<MoveLocation>
MoveAbort
Move runtime abort
VmVerificationOrDeserializationError
Bytecode verification error.
VmInvariantViolation
MoveVm invariant violation
FunctionNotFound
Function not found
ArityMismatch
Arity mismatch for Move function. The number of arguments does not match the number of parameters
TypeArityMismatch
Type arity mismatch for Move function. Mismatch between the number of actual versus expected type arguments.
NonEntryFunctionInvoked
Non Entry Function Invoked. Move Call must start with an entry function.
CommandArgumentError
Invalid command argument
TypeArgumentError
Type argument error
UnusedValueWithoutDrop
Unused result without the drop ability.
InvalidPublicFunctionReturnType
Invalid public Move function signature. Unsupported return type for return value
InvalidTransferObject
Invalid Transfer Object, object does not have public transfer.
EffectsTooLarge
Effects from the transaction are too large
PublishUpgradeMissingDependency
Publish or Upgrade is missing dependency
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.
PackageUpgradeError
Invalid package upgrade
Fields
kind: PackageUpgradeError
WrittenObjectsTooLarge
Indicates the transaction tried to write objects too large to storage
CertificateDenied
Certificate is on the deny list
SuiMoveVerificationTimedout
Sui Move Bytecode verification timed out.
The requested shared object operation is not allowed
InputObjectDeleted
Requested shared object has been deleted
Certificate is cancelled due to congestion on shared objects
AddressDeniedForCoin
Address is denied for this coin type
CoinTypeGlobalPause
Coin type is globally paused for use
Certificate is cancelled because randomness could not be generated this epoch
Trait Implementations§
source§impl Clone for ExecutionError
impl Clone for ExecutionError
source§fn clone(&self) -> ExecutionError
fn clone(&self) -> ExecutionError
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ExecutionError
impl Debug for ExecutionError
source§impl<'de> Deserialize<'de> for ExecutionError
Available on crate feature serde
only.
impl<'de> Deserialize<'de> for ExecutionError
serde
only.source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl JsonSchema for ExecutionError
impl JsonSchema for ExecutionError
source§fn schema_name() -> String
fn schema_name() -> String
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moresource§impl PartialEq for ExecutionError
impl PartialEq for ExecutionError
source§impl Serialize for ExecutionError
Available on crate feature serde
only.
impl Serialize for ExecutionError
serde
only.impl Eq for ExecutionError
impl StructuralPartialEq for ExecutionError
Auto Trait Implementations§
impl Freeze for ExecutionError
impl RefUnwindSafe for ExecutionError
impl Send for ExecutionError
impl Sync for ExecutionError
impl Unpin for ExecutionError
impl UnwindSafe for ExecutionError
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)