Enum HostError

Source
pub enum HostError {
Show 36 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, }, BLS12381InvalidInput { msg: String, }, YieldPayloadLength { length: u64, limit: u64, }, DataIdMalformed, RecordedStorageExceeded { limit: ByteSize, },
}

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

§

BLS12381InvalidInput

Fields

§

YieldPayloadLength

Yield payload length exceeds the maximum permitted.

Fields

§length: u64
§limit: u64
§

DataIdMalformed

Yield resumption data id is malformed.

§

RecordedStorageExceeded

Size of the recorded trie storage proof has exceeded the allowed limit.

Fields

§limit: ByteSize

Trait Implementations§

Source§

impl Clone for HostError

Source§

fn clone(&self) -> HostError

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

const 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§

const 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> 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<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<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> 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