Skip to main content

VerifyError

Enum VerifyError 

Source
#[repr(u32)]
pub enum VerifyError {
Show 13 variants InvalidEnvelopeMagic = 3, TruncatedEnvelope = 4, InvalidEnvelopeLength = 5, SignerNotTrusted = 6, SignerExpired = 7, InvalidRecoveryId = 13, InvalidPayloadMagic = 100, InvalidPayloadLength = 101, TruncatedPayload = 102, InvalidChannel = 103, InvalidProperty = 104, InvalidMarketSession = 105, InvokeFailed = 200,
}
Expand description

Errors returned by crate::PythLazerClient::verify_update.

Covers both verifier-side failures reported by the on-chain pyth-lazer-stellar contract and parse failures on the returned payload bytes. The verifier-side discriminants match the on-chain contract’s error codes so soroban_sdk::Env::try_invoke_contract converts them directly.

Variants§

§

InvalidEnvelopeMagic = 3

Envelope magic prefix did not match the LE-ECDSA format.

§

TruncatedEnvelope = 4

Envelope was shorter than the minimum size (71 bytes).

§

InvalidEnvelopeLength = 5

Envelope’s declared payload length did not match the remaining bytes.

§

SignerNotTrusted = 6

Recovered signer pubkey is not in the on-chain trusted set.

§

SignerExpired = 7

Recovered signer is trusted but its expiry has passed.

§

InvalidRecoveryId = 13

Envelope’s recovery_id byte was outside the valid range [0, 3].

§

InvalidPayloadMagic = 100

Verified payload’s magic prefix did not match.

§

InvalidPayloadLength = 101

Verified payload had trailing bytes after decoding finished.

§

TruncatedPayload = 102

Verified payload ended mid-field during decoding.

§

InvalidChannel = 103

Verified payload had an unknown channel value.

§

InvalidProperty = 104

Verified payload had an unknown feed property id.

§

InvalidMarketSession = 105

Verified payload had an unknown market session value.

§

InvokeFailed = 200

Verifier call trapped, or returned an error code this SDK does not recognize. This is the fallback for non-typed host aborts (e.g. an invalid signature triggers secp256k1_recover to trap rather than returning a typed error).

Implementations§

Source§

impl VerifyError

Source

pub const fn spec_xdr() -> [u8; 1684]

Trait Implementations§

Source§

impl Clone for VerifyError

Source§

fn clone(&self) -> VerifyError

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Copy for VerifyError

Source§

impl Debug for VerifyError

Source§

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

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

impl Eq for VerifyError

Source§

impl From<&VerifyError> for Error

Source§

fn from(val: &VerifyError) -> Error

Converts to this type from the input type.
Source§

impl From<&VerifyError> for InvokeError

Source§

fn from(val: &VerifyError) -> InvokeError

Converts to this type from the input type.
Source§

impl From<ParseError> for VerifyError

Source§

fn from(err: ParseError) -> Self

Converts to this type from the input type.
Source§

impl From<VerifyError> for Error

Source§

fn from(val: VerifyError) -> Error

Converts to this type from the input type.
Source§

impl From<VerifyError> for InvokeError

Source§

fn from(val: VerifyError) -> InvokeError

Converts to this type from the input type.
Source§

impl Ord for VerifyError

Source§

fn cmp(&self, other: &VerifyError) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 (const: unstable) · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 (const: unstable) · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 (const: unstable) · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

fn clamp_to<R>(self, range: R) -> Self
where Self: Sized, R: ClampBounds<Self>,

🔬This is a nightly-only experimental API. (clamp_to)
Restrict a value to a certain range. Read more
Source§

impl PartialEq for VerifyError

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl PartialOrd for VerifyError

Source§

fn partial_cmp(&self, other: &VerifyError) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 (const: unstable) · Source§

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

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl StructuralPartialEq for VerifyError

Source§

impl TryFrom<&Error> for VerifyError

Source§

type Error = Error

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

fn try_from(error: &Error) -> Result<Self, Error>

Performs the conversion.
Source§

impl TryFrom<&InvokeError> for VerifyError

Source§

type Error = InvokeError

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

fn try_from(error: &InvokeError) -> Result<Self, InvokeError>

Performs the conversion.
Source§

impl TryFrom<Error> for VerifyError

Source§

type Error = Error

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

fn try_from(error: Error) -> Result<Self, Error>

Performs the conversion.
Source§

impl TryFrom<InvokeError> for VerifyError

Source§

type Error = InvokeError

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

fn try_from(error: InvokeError) -> Result<Self, InvokeError>

Performs the conversion.
Source§

impl TryFromVal<Env, &VerifyError> for Val

Source§

impl TryFromVal<Env, Val> for VerifyError

Source§

impl TryFromVal<Env, VerifyError> for Val

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> Comparable<K> for Q
where Q: Ord + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn compare(&self, key: &K) -> Ordering

Compare self to key and return their ordering.
Source§

impl<T, C> Compare<&T> for C
where C: Compare<T>,

Source§

type Error = <C as Compare<T>>::Error

Source§

fn compare(&self, a: &&T, b: &&T) -> Result<Ordering, <C as Compare<&T>>::Error>

Source§

impl<T, U, E, C> Compare<(T, U)> for C
where C: Compare<T, Error = E, Error = E> + Compare<U>,

Source§

type Error = E

Source§

fn compare( &self, a: &(T, U), b: &(T, U), ) -> Result<Ordering, <C as Compare<(T, U)>>::Error>

Source§

impl<T, U, V, E, C> Compare<(T, U, V)> for C
where C: Compare<T, Error = E, Error = E, Error = E> + Compare<U> + Compare<V>,

Source§

impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
where C: Compare<T, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W>,

Source§

impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
where C: Compare<T, Error = E, Error = E, Error = E, Error = E, Error = E> + Compare<U> + Compare<V> + Compare<W> + Compare<X>,

Source§

impl<T, C> Compare<Box<T>> for C
where C: Compare<T>,

Source§

type Error = <C as Compare<T>>::Error

Source§

fn compare( &self, a: &Box<T>, b: &Box<T>, ) -> Result<Ordering, <C as Compare<Box<T>>>::Error>

Source§

impl<T, C> Compare<Option<T>> for C
where C: Compare<T>,

Source§

type Error = <C as Compare<T>>::Error

Source§

fn compare( &self, a: &Option<T>, b: &Option<T>, ) -> Result<Ordering, <C as Compare<Option<T>>>::Error>

Source§

impl<T, C> Compare<Rc<T>> for C
where C: Compare<T>,

Source§

type Error = <C as Compare<T>>::Error

Source§

fn compare( &self, a: &Rc<T>, b: &Rc<T>, ) -> Result<Ordering, <C as Compare<Rc<T>>>::Error>

Source§

impl<T, C> Compare<Vec<T>> for C
where C: Compare<T>,

Source§

type Error = <C as Compare<T>>::Error

Source§

fn compare( &self, a: &Vec<T>, b: &Vec<T>, ) -> Result<Ordering, <C as Compare<Vec<T>>>::Error>

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
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

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<E, T, U> FromVal<E, T> for U
where E: Env, U: TryFromVal<E, T>,

Source§

fn from_val(e: &E, v: &T) -> U

Source§

impl<T> FromXdr for T
where T: TryFromVal<Env, Val>,

Source§

type Error = <T as TryFromVal<Env, Val>>::Error

The error type returned if the Val cannot be converted into the target type.
Source§

fn from_xdr(env: &Env, b: &Bytes) -> Result<T, <T as FromXdr>::Error>

Deserializes the value from XDR Bytes. 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<E, T, U> IntoVal<E, T> for U
where E: Env, T: FromVal<E, U>,

Source§

fn into_val(&self, e: &E) -> T

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> ToXdr for T
where T: IntoVal<Env, Val>,

Source§

fn to_xdr(self, env: &Env) -> Bytes

Serializes the value to XDR as Bytes.
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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<E, T, U> TryIntoVal<E, T> for U
where E: Env, T: TryFromVal<E, U>,

Source§

type Error = <T as TryFromVal<E, U>>::Error

Source§

fn try_into_val(&self, env: &E) -> Result<T, <U as TryIntoVal<E, T>>::Error>

Source§

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

Source§

fn vzip(self) -> V