diff --git a/sdk/rust/core/src/core.rs b/sdk/rust/core/src/core.rs index bc22c62ee..1bfee2448 100644 --- a/sdk/rust/core/src/core.rs +++ b/sdk/rust/core/src/core.rs @@ -41,7 +41,7 @@ mod governance_packet_impl { use std::fmt; use serde::{ - de::{Error, MapAccess, SeqAccess, Unexpected, Visitor}, + de::{Error, MapAccess, SeqAccess, Visitor}, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer, }; @@ -79,8 +79,9 @@ mod governance_packet_impl { if arr == MODULE { Ok(Module) } else { - let expected = format!("{MODULE:?}"); - Err(Error::invalid_value(Unexpected::Bytes(&arr), &&*expected)) + Err(Error::custom( + "invalid governance module, expected \"Core\"", + )) } } } @@ -215,10 +216,9 @@ mod governance_packet_impl { Action::TransferFee { amount, recipient } } v => { - return Err(Error::invalid_value( - Unexpected::Unsigned(v.into()), - &"one of 1, 2, 3, 4", - )) + return Err(Error::custom(format_args!( + "invaliid value {v}, expected one of 1, 2, 3, 4" + ))) } }; diff --git a/sdk/rust/core/src/nft.rs b/sdk/rust/core/src/nft.rs index 16fa585d9..d5ce1e35b 100644 --- a/sdk/rust/core/src/nft.rs +++ b/sdk/rust/core/src/nft.rs @@ -84,7 +84,7 @@ mod governance_packet_impl { use std::fmt; use serde::{ - de::{Error, MapAccess, SeqAccess, Unexpected, Visitor}, + de::{Error, MapAccess, SeqAccess, Visitor}, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer, }; @@ -122,8 +122,9 @@ mod governance_packet_impl { if arr == MODULE { Ok(Module) } else { - let expected = format!("{MODULE:?}"); - Err(Error::invalid_value(Unexpected::Bytes(&arr), &&*expected)) + Err(Error::custom( + "invalid governance module, expected \"NFTBridge\"", + )) } } } @@ -223,10 +224,9 @@ mod governance_packet_impl { Action::ContractUpgrade { new_contract } } v => { - return Err(Error::invalid_value( - Unexpected::Unsigned(v.into()), - &"one of 1, 2", - )) + return Err(Error::custom(format_args!( + "invalid value {v}, expected one of 1, 2" + ))) } }; diff --git a/sdk/rust/core/src/token.rs b/sdk/rust/core/src/token.rs index a6e9eb0ba..dc27cb126 100644 --- a/sdk/rust/core/src/token.rs +++ b/sdk/rust/core/src/token.rs @@ -209,7 +209,7 @@ mod governance_packet_impl { use std::fmt; use serde::{ - de::{Error, MapAccess, SeqAccess, Unexpected, Visitor}, + de::{Error, MapAccess, SeqAccess, Visitor}, ser::SerializeStruct, Deserialize, Deserializer, Serialize, Serializer, }; @@ -247,8 +247,9 @@ mod governance_packet_impl { if arr == MODULE { Ok(Module) } else { - let expected = format!("{MODULE:?}"); - Err(Error::invalid_value(Unexpected::Bytes(&arr), &&*expected)) + Err(Error::custom( + "invalid governance module, expected \"TokenBridge\"", + )) } } } @@ -348,10 +349,9 @@ mod governance_packet_impl { Action::ContractUpgrade { new_contract } } v => { - return Err(Error::invalid_value( - Unexpected::Unsigned(v.into()), - &"one of 1, 2", - )) + return Err(Error::custom(format_args!( + "invalid value: {v}, expected one of 1, 2" + ))) } }; diff --git a/sdk/rust/serde_wormhole/src/de.rs b/sdk/rust/serde_wormhole/src/de.rs index 6410713ce..2351e3999 100644 --- a/sdk/rust/serde_wormhole/src/de.rs +++ b/sdk/rust/serde_wormhole/src/de.rs @@ -2,7 +2,7 @@ use std::{convert::TryFrom, mem::size_of}; use serde::de::{ self, DeserializeSeed, EnumAccess, Error as DeError, IntoDeserializer, MapAccess, SeqAccess, - Unexpected, VariantAccess, Visitor, + VariantAccess, Visitor, }; use crate::error::Error; @@ -68,10 +68,9 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> { match v { 0 => visitor.visit_bool(false), 1 => visitor.visit_bool(true), - v => Err(Error::invalid_value( - Unexpected::Unsigned(v.into()), - &"a 0 or 1", - )), + v => Err(Error::custom(format_args!( + "invalid value: {v}, expected a 0 or 1" + ))), } } @@ -165,7 +164,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> { { let v = deserialize_be_number!(self, u32); char::try_from(v) - .map_err(|_| Error::invalid_value(Unexpected::Unsigned(v.into()), &"a `char`")) + .map_err(|e| Error::custom(format_args!("invalid value {v}: {e}"))) .and_then(|v| visitor.visit_char(v)) } @@ -183,7 +182,7 @@ impl<'de, 'a> de::Deserializer<'de> for &'a mut Deserializer<'de> { self.input = rem; std::str::from_utf8(data) - .map_err(|_| Error::invalid_value(Unexpected::Bytes(data), &"a UTF-8 string")) + .map_err(Error::custom) .and_then(|s| visitor.visit_borrowed_str(s)) }