diff --git a/crates/wallets/src/error.rs b/crates/wallets/src/error.rs index b322ef9797f07..c77f266f481d5 100644 --- a/crates/wallets/src/error.rs +++ b/crates/wallets/src/error.rs @@ -32,10 +32,10 @@ pub enum WalletSignerError { Trezor(#[from] TrezorError), #[error(transparent)] #[cfg(feature = "aws-kms")] - Aws(#[from] AwsSignerError), + Aws(#[from] Box), #[error(transparent)] #[cfg(feature = "gcp-kms")] - Gcp(#[from] GcpSignerError), + Gcp(#[from] Box), #[error(transparent)] Io(#[from] std::io::Error), #[error(transparent)] diff --git a/crates/wallets/src/wallet_signer.rs b/crates/wallets/src/wallet_signer.rs index 63c9ccc4f555d..28a81d541eb11 100644 --- a/crates/wallets/src/wallet_signer.rs +++ b/crates/wallets/src/wallet_signer.rs @@ -60,7 +60,11 @@ impl WalletSigner { alloy_signer_aws::aws_config::load_defaults(BehaviorVersion::latest()).await; let client = AwsClient::new(&config); - Ok(Self::Aws(AwsSigner::new(client, key_id, None).await?)) + Ok(Self::Aws( + AwsSigner::new(client, key_id, None) + .await + .map_err(|e| WalletSignerError::Aws(Box::new(e)))?, + )) } #[cfg(not(feature = "aws-kms"))] @@ -88,12 +92,20 @@ impl WalletSigner { .await { Ok(c) => c, - Err(e) => return Err(WalletSignerError::from(GcpSignerError::GoogleKmsError(e))), + Err(e) => { + return Err(WalletSignerError::Gcp(Box::new(GcpSignerError::GoogleKmsError( + e, + )))); + } }; let specifier = KeySpecifier::new(keyring, &key_name, key_version); - Ok(Self::Gcp(GcpSigner::new(client, specifier, None).await?)) + Ok(Self::Gcp( + GcpSigner::new(client, specifier, None) + .await + .map_err(|e| WalletSignerError::Gcp(Box::new(e)))?, + )) } #[cfg(not(feature = "gcp-kms"))]