pub enum HostError {
Show 33 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, }, IteratorWasInvalidated { iterator_index: 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

Fields

§panic_msg: String

Smart contract panicked

§

IntegerOverflow

IntegerOverflow happened during a contract execution

§

InvalidPromiseIndex

Fields

§promise_idx: u64

promise_idx does not correspond to existing promises

§

CannotAppendActionToJointPromise

Actions can only be appended to non-joint promise.

§

CannotReturnJointPromise

Returning joint promise is currently prohibited

§

InvalidPromiseResultIndex

Fields

§result_idx: u64

Accessed invalid promise result index

§

InvalidRegisterId

Fields

§register_id: u64

Accessed invalid register id

§

IteratorWasInvalidated

Fields

§iterator_index: u64

Iterator iterator_index was invalidated after its creation by performing a mutable operation on trie

§

MemoryAccessViolation

Accessed memory outside the bounds

§

InvalidReceiptIndex

Fields

§receipt_index: u64

VM Logic returned an invalid receipt index

§

InvalidIteratorIndex

Fields

§iterator_index: u64

Iterator index iterator_index does not exist

§

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

Fields

§method_name: String

method_name is not allowed in view calls

§

NumberOfLogsExceeded

Fields

§limit: u64

The total number of logs will exceed the limit.

§

KeyLengthExceeded

Fields

§length: u64
§limit: u64

The storage key length exceeded the limit.

§

ValueLengthExceeded

Fields

§length: u64
§limit: u64

The storage value length exceeded the limit.

§

TotalLogLengthExceeded

Fields

§length: u64
§limit: u64

The total log length exceeded the limit.

§

NumberPromisesExceeded

Fields

§number_of_promises: u64
§limit: u64

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

§

NumberInputDataDependenciesExceeded

Fields

§number_of_input_data_dependencies: u64
§limit: u64

The maximum number of input data dependencies exceeded the limit.

§

ReturnedValueLengthExceeded

Fields

§length: u64
§limit: u64

The returned value length exceeded the limit.

§

ContractSizeExceeded

Fields

§size: u64
§limit: u64

The contract size for DeployContract action exceeded the limit.

§

Deprecated

Fields

§method_name: String

The host function was deprecated.

§

ECRecoverError

Fields

General errors for ECDSA recover.

§

AltBn128InvalidInput

Fields

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

§

Ed25519VerifyInvalidInput

Fields

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

Trait Implementations§

source§

impl BorshDeserialize for HostErrorwhere String: BorshDeserialize, u64: BorshDeserialize,

source§

fn deserialize_reader<R>(reader: &mut R) -> Result<HostError, Error>where R: Read,

source§

fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>

Deserializes this instance from a given slice of bytes. Updates the buffer to point at the remaining bytes.
source§

fn try_from_slice(v: &[u8]) -> Result<Self, Error>

Deserialize this instance from a slice of bytes.
source§

fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where R: Read,

source§

impl BorshSerialize for HostErrorwhere String: BorshSerialize, u64: BorshSerialize,

source§

fn serialize<W>(&self, writer: &mut W) -> Result<(), Error>where W: Write,

source§

fn try_to_vec(&self) -> Result<Vec<u8, Global>, Error>

Serialize this instance into a vector of bytes.
source§

impl Clone for HostError

source§

fn clone(&self) -> HostError

Returns a copy 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<(), Error>

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

impl<'de> Deserialize<'de> for HostError

source§

fn deserialize<__D>( __deserializer: __D ) -> Result<HostError, <__D as Deserializer<'de>>::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. 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 EnumExt for HostErrorwhere String: BorshDeserialize, u64: BorshDeserialize,

source§

fn deserialize_variant<R>( reader: &mut R, variant_idx: u8 ) -> Result<HostError, Error>where R: Read,

Deserialises given variant of an enum from the reader. 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) -> VMLogicError

Converts to this type from the input type.
source§

impl PartialEq<HostError> for HostError

source§

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

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

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

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for HostError

source§

fn serialize<__S>( &self, __serializer: __S ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl Eq for HostError

source§

impl StructuralEq for HostError

source§

impl StructuralPartialEq for HostError

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<Q, K> Equivalent<K> for Qwhere 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

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
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 Twhere U: From<T>,

const: unstable · 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> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for Twhere T: Clone,

§

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 Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

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

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

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
§

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

§

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> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,