Enum HostError

Source
pub enum HostError {
Show 32 variants BadUTF16, BadUTF8, GasExceeded, GasLimitExceeded, BalanceExceeded, EmptyMethodName, GuestPanic { panic_msg: String, }, IntegerOverflow, InvalidPromiseIndex { promise_idx: u64, }, CannotAppendActionToJointPromise, CannotReturnJointPromise, InvalidPromiseResultIndex { result_idx: u64, }, InvalidRegisterId { register_id: u64, }, MemoryAccessViolation, InvalidReceiptIndex { receipt_index: u64, }, InvalidIteratorIndex { iterator_index: u64, }, InvalidAccountId, InvalidMethodName, InvalidPublicKey, ProhibitedInView { method_name: String, }, NumberOfLogsExceeded { limit: u64, }, KeyLengthExceeded { length: u64, limit: u64, }, ValueLengthExceeded { length: u64, limit: u64, }, TotalLogLengthExceeded { length: u64, limit: u64, }, NumberPromisesExceeded { number_of_promises: u64, limit: u64, }, NumberInputDataDependenciesExceeded { number_of_input_data_dependencies: u64, limit: u64, }, ReturnedValueLengthExceeded { length: u64, limit: u64, }, ContractSizeExceeded { size: u64, limit: u64, }, Deprecated { method_name: String, }, ECRecoverError { msg: String, }, AltBn128InvalidInput { msg: String, }, Ed25519VerifyInvalidInput { msg: String, },
}

Variants§

§

BadUTF16

String encoding is bad UTF-16 sequence

§

BadUTF8

String encoding is bad UTF-8 sequence

§

GasExceeded

Exceeded the prepaid gas

§

GasLimitExceeded

Exceeded the maximum amount of gas allowed to burn per contract

§

BalanceExceeded

Exceeded the account balance

§

EmptyMethodName

Tried to call an empty method name

§

GuestPanic

Smart contract panicked

Fields

§panic_msg: String
§

IntegerOverflow

IntegerOverflow happened during a contract execution

§

InvalidPromiseIndex

promise_idx does not correspond to existing promises

Fields

§promise_idx: u64
§

CannotAppendActionToJointPromise

Actions can only be appended to non-joint promise.

§

CannotReturnJointPromise

Returning joint promise is currently prohibited

§

InvalidPromiseResultIndex

Accessed invalid promise result index

Fields

§result_idx: u64
§

InvalidRegisterId

Accessed invalid register id

Fields

§register_id: u64
§

MemoryAccessViolation

Accessed memory outside the bounds

§

InvalidReceiptIndex

VM Logic returned an invalid receipt index

Fields

§receipt_index: u64
§

InvalidIteratorIndex

Iterator index iterator_index does not exist

Fields

§iterator_index: u64
§

InvalidAccountId

VM Logic returned an invalid account id

§

InvalidMethodName

VM Logic returned an invalid method name

§

InvalidPublicKey

VM Logic provided an invalid public key

§

ProhibitedInView

method_name is not allowed in view calls

Fields

§method_name: String
§

NumberOfLogsExceeded

The total number of logs will exceed the limit.

Fields

§limit: u64
§

KeyLengthExceeded

The storage key length exceeded the limit.

Fields

§length: u64
§limit: u64
§

ValueLengthExceeded

The storage value length exceeded the limit.

Fields

§length: u64
§limit: u64
§

TotalLogLengthExceeded

The total log length exceeded the limit.

Fields

§length: u64
§limit: u64
§

NumberPromisesExceeded

The maximum number of promises within a FunctionCall exceeded the limit.

Fields

§number_of_promises: u64
§limit: u64
§

NumberInputDataDependenciesExceeded

The maximum number of input data dependencies exceeded the limit.

Fields

§number_of_input_data_dependencies: u64
§limit: u64
§

ReturnedValueLengthExceeded

The returned value length exceeded the limit.

Fields

§length: u64
§limit: u64
§

ContractSizeExceeded

The contract size for DeployContract action exceeded the limit.

Fields

§size: u64
§limit: u64
§

Deprecated

The host function was deprecated.

Fields

§method_name: String
§

ECRecoverError

General errors for ECDSA recover.

Fields

§

AltBn128InvalidInput

Invalid input to alt_bn128 familiy of functions (e.g., point which isn’t on the curve).

Fields

§

Ed25519VerifyInvalidInput

Invalid input to ed25519 signature verification function (e.g. signature cannot be derived from bytes).

Fields

Trait Implementations§

Source§

impl Clone for HostError

Source§

fn clone(&self) -> HostError

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for HostError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for HostError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl<'_derivative_strum> From<&'_derivative_strum HostError> for &'static str

Source§

fn from(x: &'_derivative_strum HostError) -> &'static str

Converts to this type from the input type.
Source§

impl From<HostError> for &'static str

Source§

fn from(x: HostError) -> &'static str

Converts to this type from the input type.
Source§

impl From<HostError> for VMLogicError

Source§

fn from(err: HostError) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for HostError

Source§

fn eq(&self, other: &HostError) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for HostError

Source§

impl StructuralPartialEq for HostError

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<F, W, T, D> Deserialize<With<T, W>, D> for F
where W: DeserializeWith<F, T, D>, D: Fallible + ?Sized, F: ?Sized,

Source§

fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>

Deserializes using the given deserializer
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Pointee for T

Source§

type Metadata = ()

The type for metadata in pointers and references to Self.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,