Include non-JSON response from Monero node in error

This commit is contained in:
Luke Parker 2023-11-15 22:50:24 -05:00
parent a03a1edbff
commit 30a77d863f
No known key found for this signature in database
3 changed files with 17 additions and 19 deletions

View file

@ -131,23 +131,21 @@ impl<R: RpcConnection> Rpc<R> {
route: &str,
params: Option<Params>,
) -> Result<Response, RpcError> {
serde_json::from_str(
std_shims::str::from_utf8(
&self
.0
.post(
route,
if let Some(params) = params {
serde_json::to_string(&params).unwrap().into_bytes()
} else {
vec![]
},
)
.await?,
let res = self
.0
.post(
route,
if let Some(params) = params {
serde_json::to_string(&params).unwrap().into_bytes()
} else {
vec![]
},
)
.map_err(|_| RpcError::InvalidNode("response wasn't utf-8"))?,
)
.map_err(|_| RpcError::InvalidNode("response wasn't json"))
.await?;
let res_str = std_shims::str::from_utf8(&res)
.map_err(|_| RpcError::InvalidNode("response wasn't utf-8"))?;
serde_json::from_str(res_str)
.map_err(|_| RpcError::InvalidNode("response wasn't json: {res_str}"))
}
/// Perform a JSON-RPC call with the specified method with the provided parameters

View file

@ -103,7 +103,7 @@ pub async fn batch(
participants.insert(known_signer_i);
participants
}
_ => panic!("coordinator didn't send back SubstratePreprocesses"),
other => panic!("coordinator didn't send back SubstratePreprocesses: {:?}", other),
};
for i in participants.clone() {

View file

@ -552,7 +552,7 @@ async fn mint_and_burn_test() {
{
let rpc = handles[0].bitcoin(&ops).await;
// Check for up to 5 minutes
// Check for up to 15 minutes
let mut found = false;
let mut i = 0;
while i < (15 * 6) {
@ -582,7 +582,7 @@ async fn mint_and_burn_test() {
}
}
if !found {
panic!("couldn't find the expected Bitcoin transaction within 5 minutes");
panic!("couldn't find the expected Bitcoin transaction within 15 minutes");
}
}