@@ -203,6 +203,7 @@ pub enum EngineError {
203203
204204 #[ schema( title = "Engine Vault KMS Error" ) ]
205205 #[ error( "Error interaction with vault: {message}" ) ]
206+ #[ serde( rename_all = "camelCase" ) ]
206207 VaultError { message : String } ,
207208
208209 #[ schema( title = "RPC Configuration Error" ) ]
@@ -211,6 +212,7 @@ pub enum EngineError {
211212
212213 #[ schema( title = "EVM Contract Interaction Error" ) ]
213214 #[ error( "Contract interaction error: {message}" ) ]
215+ #[ serde( rename_all = "camelCase" ) ]
214216 ContractInteractionError {
215217 /// Contract address
216218 #[ schema( value_type = Option <AddressDef >) ]
@@ -236,6 +238,27 @@ pub enum EngineError {
236238 InternalError { message : String } ,
237239}
238240
241+ impl From < vault_sdk:: error:: VaultError > for EngineError {
242+ fn from ( err : vault_sdk:: error:: VaultError ) -> Self {
243+ let message = match & err {
244+ vault_sdk:: error:: VaultError :: EnclaveError {
245+ code,
246+ message,
247+ details,
248+ } => match details {
249+ Some ( details) => format ! (
250+ "Enclave error: {} - {} - details: {}" ,
251+ code, message, details
252+ ) ,
253+ None => format ! ( "Enclave error: {} - {}" , code, message) ,
254+ } ,
255+ _ => err. to_string ( ) ,
256+ } ;
257+
258+ EngineError :: VaultError { message }
259+ }
260+ }
261+
239262impl From < InvalidHeaderValue > for EngineError {
240263 fn from ( err : InvalidHeaderValue ) -> Self {
241264 EngineError :: ValidationError {
0 commit comments