From a3f696ea9d2867beeb4c5929a87e042dc2d2d371 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Kuras?= Date: Tue, 2 Nov 2021 14:12:37 +0100 Subject: [PATCH] cw1-whitelist-ng: Slight messages parsing improvement --- contracts/cw1-whitelist-ng/src/contract.rs | 48 +++++++++------------- 1 file changed, 20 insertions(+), 28 deletions(-) diff --git a/contracts/cw1-whitelist-ng/src/contract.rs b/contracts/cw1-whitelist-ng/src/contract.rs index 1866d6d6a..522fe7cbf 100644 --- a/contracts/cw1-whitelist-ng/src/contract.rs +++ b/contracts/cw1-whitelist-ng/src/contract.rs @@ -69,24 +69,20 @@ impl Cw1WhitelistContract { where T: DeserializeOwned, { - let mut errs = vec![]; - - match from_slice::>(msg) { + let cw1_err = match from_slice::>(msg) { Ok(msg) => return msg.dispatch(deps, env, info, self), - Err(err) => errs.push(err), - } + Err(err) => err, + }; - match from_slice::(msg) { + let whitelist_err = match from_slice::(msg) { Ok(msg) => return msg.dispatch(deps, env, info, self), - Err(err) => errs.push(err), - } + Err(err) => err, + }; - let msg: String = errs - .into_iter() - .flat_map(|err| { - std::iter::once(err.to_string()).chain(std::iter::once("\n".to_owned())) - }) - .collect(); + let msg = format!( + "While parsing Cw1WhitelistExecMsg\n As Cw1ExecMsg: {}\n As WhitelistExecMsg: {}", + cw1_err, whitelist_err + ); let err = StdError::parse_err("Cw1WhitelistExecMsg", msg); Err(err.into()) @@ -101,24 +97,20 @@ impl Cw1WhitelistContract { where T: DeserializeOwned, { - let mut errs = vec![]; - - match from_slice::>(msg) { + let cw1_err = match from_slice::>(msg) { Ok(msg) => return msg.dispatch(deps, env, self), - Err(err) => errs.push(err), - } + Err(err) => err, + }; - match from_slice::(msg) { + let whitelist_err = match from_slice::(msg) { Ok(msg) => return msg.dispatch(deps, env, self), - Err(err) => errs.push(err), - } + Err(err) => err, + }; - let msg: String = errs - .into_iter() - .flat_map(|err| { - std::iter::once(err.to_string()).chain(std::iter::once("\n".to_owned())) - }) - .collect(); + let msg = format!( + "While parsing Cw1WhitelistQueryMsg\n As Cw1QueryMsg: {}\n As WhitelistQueryMsg: {}", + cw1_err, whitelist_err + ); let err = StdError::parse_err("Cw1WhitelistExecMsg", msg); Err(err.into())