#[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§
Trait Implementations§
Source§impl Clone for VerifyError
impl Clone for VerifyError
Source§fn clone(&self) -> VerifyError
fn clone(&self) -> VerifyError
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for VerifyError
Source§impl Debug for VerifyError
impl Debug for VerifyError
impl Eq for VerifyError
Source§impl From<&VerifyError> for Error
impl From<&VerifyError> for Error
Source§fn from(val: &VerifyError) -> Error
fn from(val: &VerifyError) -> Error
Source§impl From<&VerifyError> for InvokeError
impl From<&VerifyError> for InvokeError
Source§fn from(val: &VerifyError) -> InvokeError
fn from(val: &VerifyError) -> InvokeError
Source§impl From<ParseError> for VerifyError
impl From<ParseError> for VerifyError
Source§fn from(err: ParseError) -> Self
fn from(err: ParseError) -> Self
Source§impl From<VerifyError> for Error
impl From<VerifyError> for Error
Source§fn from(val: VerifyError) -> Error
fn from(val: VerifyError) -> Error
Source§impl From<VerifyError> for InvokeError
impl From<VerifyError> for InvokeError
Source§fn from(val: VerifyError) -> InvokeError
fn from(val: VerifyError) -> InvokeError
Source§impl Ord for VerifyError
impl Ord for VerifyError
Source§fn cmp(&self, other: &VerifyError) -> Ordering
fn cmp(&self, other: &VerifyError) -> Ordering
1.21.0 (const: unstable) · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
1.21.0 (const: unstable) · Source§fn min(self, other: Self) -> Selfwhere
Self: Sized,
fn min(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for VerifyError
impl PartialEq for VerifyError
Source§impl PartialOrd for VerifyError
impl PartialOrd for VerifyError
impl StructuralPartialEq for VerifyError
Source§impl TryFrom<&Error> for VerifyError
impl TryFrom<&Error> for VerifyError
Source§impl TryFrom<&InvokeError> for VerifyError
impl TryFrom<&InvokeError> for VerifyError
Source§type Error = InvokeError
type Error = InvokeError
Source§fn try_from(error: &InvokeError) -> Result<Self, InvokeError>
fn try_from(error: &InvokeError) -> Result<Self, InvokeError>
Source§impl TryFrom<Error> for VerifyError
impl TryFrom<Error> for VerifyError
Source§impl TryFrom<InvokeError> for VerifyError
impl TryFrom<InvokeError> for VerifyError
Source§type Error = InvokeError
type Error = InvokeError
Source§fn try_from(error: InvokeError) -> Result<Self, InvokeError>
fn try_from(error: InvokeError) -> Result<Self, InvokeError>
Source§impl TryFromVal<Env, &VerifyError> for Val
impl TryFromVal<Env, &VerifyError> for Val
type Error = ConversionError
fn try_from_val(env: &Env, val: &&VerifyError) -> Result<Self, ConversionError>
Source§impl TryFromVal<Env, Val> for VerifyError
impl TryFromVal<Env, Val> for VerifyError
type Error = ConversionError
fn try_from_val(env: &Env, val: &Val) -> Result<Self, ConversionError>
Source§impl TryFromVal<Env, VerifyError> for Val
impl TryFromVal<Env, VerifyError> for Val
type Error = ConversionError
fn try_from_val(env: &Env, val: &VerifyError) -> Result<Self, ConversionError>
Auto Trait Implementations§
impl Freeze for VerifyError
impl RefUnwindSafe for VerifyError
impl Send for VerifyError
impl Sync for VerifyError
impl Unpin for VerifyError
impl UnsafeUnpin for VerifyError
impl UnwindSafe for VerifyError
Blanket Implementations§
Source§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§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
Source§impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
impl<T, U, V, W, E, C> Compare<(T, U, V, W)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W), b: &(T, U, V, W), ) -> Result<Ordering, <C as Compare<(T, U, V, W)>>::Error>
Source§impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
impl<T, U, V, W, X, E, C> Compare<(T, U, V, W, X)> for C
type Error = E
fn compare( &self, a: &(T, U, V, W, X), b: &(T, U, V, W, X), ) -> Result<Ordering, <C as Compare<(T, U, V, W, X)>>::Error>
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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)
fn as_any(&self) -> &(dyn Any + 'static)
&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)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&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
impl<T> DowncastSync for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<E, T, U> FromVal<E, T> for Uwhere
E: Env,
U: TryFromVal<E, T>,
impl<E, T, U> FromVal<E, T> for Uwhere
E: Env,
U: TryFromVal<E, T>,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
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