pub enum SolanaClientError {
SlotNotAvailable {
slot: u64,
reason: String,
context: Box<ErrorContext>,
},
BlockNotAvailable {
slot: u64,
reason: String,
context: Box<ErrorContext>,
},
TransactionNotFound {
signature: String,
context: Box<ErrorContext>,
},
RpcError(Box<ErrorContext>),
ResponseParseError(Box<ErrorContext>),
InvalidInput(Box<ErrorContext>),
UnexpectedResponseStructure(Box<ErrorContext>),
IdlNotFound {
program_id: String,
context: Box<ErrorContext>,
},
InstructionDecodeError(Box<ErrorContext>),
}Expand description
Solana client error type
Variants§
SlotNotAvailable
Requested slot is not available (skipped or not yet produced)
BlockNotAvailable
Block data not available for the requested slot
TransactionNotFound
Transaction not found
RpcError(Box<ErrorContext>)
Failure in making an RPC request
ResponseParseError(Box<ErrorContext>)
Failure in parsing the Solana RPC response
InvalidInput(Box<ErrorContext>)
Invalid input provided to the Solana client
UnexpectedResponseStructure(Box<ErrorContext>)
The response from the Solana RPC does not match the expected format
IdlNotFound
Program/IDL not found
InstructionDecodeError(Box<ErrorContext>)
Instruction decoding error
Implementations§
Source§impl SolanaClientError
impl SolanaClientError
Sourcepub fn slot_not_available(
slot: u64,
reason: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn slot_not_available( slot: u64, reason: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates a SlotNotAvailable error
Sourcepub fn block_not_available(
slot: u64,
reason: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn block_not_available( slot: u64, reason: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates a BlockNotAvailable error
Sourcepub fn transaction_not_found(
signature: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn transaction_not_found( signature: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates a TransactionNotFound error
Sourcepub fn rpc_error(
message: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn rpc_error( message: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates an RPC error
Sourcepub fn response_parse_error(
message: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn response_parse_error( message: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates a response parse error
Sourcepub fn invalid_input(
msg: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn invalid_input( msg: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates an invalid input error
Sourcepub fn unexpected_response_structure(
msg: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn unexpected_response_structure( msg: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates an unexpected response structure error
Sourcepub fn idl_not_found(
program_id: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn idl_not_found( program_id: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates an IDL not found error
Sourcepub fn instruction_decode_error(
message: impl Into<String>,
source: Option<Box<dyn Error + Send + Sync + 'static>>,
metadata: Option<HashMap<String, String>>,
) -> Self
pub fn instruction_decode_error( message: impl Into<String>, source: Option<Box<dyn Error + Send + Sync + 'static>>, metadata: Option<HashMap<String, String>>, ) -> Self
Creates an instruction decode error
Sourcepub fn is_slot_not_available(&self) -> bool
pub fn is_slot_not_available(&self) -> bool
Checks if this is a slot not available error
Sourcepub fn is_block_not_available(&self) -> bool
pub fn is_block_not_available(&self) -> bool
Checks if this is a block not available error
Sourcepub fn is_transaction_not_found(&self) -> bool
pub fn is_transaction_not_found(&self) -> bool
Checks if this is a transaction not found error
Trait Implementations§
Source§impl Debug for SolanaClientError
impl Debug for SolanaClientError
Source§impl Display for SolanaClientError
impl Display for SolanaClientError
Source§impl Error for SolanaClientError
impl Error for SolanaClientError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
Source§impl TraceableError for SolanaClientError
impl TraceableError for SolanaClientError
Auto Trait Implementations§
impl Freeze for SolanaClientError
impl !RefUnwindSafe for SolanaClientError
impl Send for SolanaClientError
impl Sync for SolanaClientError
impl Unpin for SolanaClientError
impl !UnwindSafe for SolanaClientError
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.