From 0fc7d5e10974d0422d4600e10428ae6ba4a2d9c4 Mon Sep 17 00:00:00 2001 From: Michael Jeffrey Date: Thu, 17 Oct 2024 14:58:57 -0700 Subject: [PATCH] Box ClientError (#878) cargo 1.82.0 clippy complains that the ClientError is potentially too large compared to the rest of the error types, and should be boxed https://rust-lang.github.io/rust-clippy/master/index.html#result_large_err --- solana/src/burn.rs | 4 ++-- solana/src/lib.rs | 8 +++++++- solana/src/start_boost.rs | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/solana/src/burn.rs b/solana/src/burn.rs index e2b9c306a..6f5abc54e 100644 --- a/solana/src/burn.rs +++ b/solana/src/burn.rs @@ -209,7 +209,7 @@ impl SolanaNetwork for SolanaRpc { self.min_priority_fee, ) .await - .map_err(SolanaRpcError::RpcClientError)?; + .map_err(|e| SolanaRpcError::RpcClientError(Box::new(e)))?; tracing::info!(%priority_fee); @@ -277,7 +277,7 @@ impl SolanaNetwork for SolanaRpc { transaction = %signature, "Data credit burn failed: {err:?}" ); - Err(SolanaRpcError::RpcClientError(err)) + Err(SolanaRpcError::RpcClientError(Box::new(err))) } } } diff --git a/solana/src/lib.rs b/solana/src/lib.rs index 28de84f46..df1f81073 100644 --- a/solana/src/lib.rs +++ b/solana/src/lib.rs @@ -32,7 +32,7 @@ pub(crate) use send_with_retry; #[derive(thiserror::Error, Debug)] pub enum SolanaRpcError { #[error("Solana rpc error: {0}")] - RpcClientError(#[from] ClientError), + RpcClientError(Box), #[error("Anchor error: {0}")] AnchorError(Box), #[error("Solana program error: {0}")] @@ -57,6 +57,12 @@ impl From for SolanaRpcError { } } +impl From for SolanaRpcError { + fn from(err: ClientError) -> Self { + Self::RpcClientError(Box::new(err)) + } +} + pub trait GetSignature { fn get_signature(&self) -> &Signature; } diff --git a/solana/src/start_boost.rs b/solana/src/start_boost.rs index 632a69e0b..2bc8eadaf 100644 --- a/solana/src/start_boost.rs +++ b/solana/src/start_boost.rs @@ -127,7 +127,7 @@ impl SolanaNetwork for SolanaRpc { transaction = %signature, "hex start boost failed: {err:?}" ); - Err(SolanaRpcError::RpcClientError(err)) + Err(SolanaRpcError::RpcClientError(Box::new(err))) } } }