Skip to content
This repository was archived by the owner on Nov 15, 2023. It is now read-only.

Commit e0feb85

Browse files
authored
fail if transaction submit has failed (#1584)
1 parent a64b8dd commit e0feb85

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

relays/messages/src/message_race_loop.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,7 @@ pub async fn run<P: MessageRace, SC: SourceClient<P>, TC: TargetClient<P>>(
416416
&mut target_go_offline_future,
417417
async_std::task::sleep,
418418
|| format!("Error submitting proof {}", P::target_name()),
419-
).fail_if_connection_error(FailedClient::Target)?;
419+
).fail_if_error(FailedClient::Target).map(|_| true)?;
420420
},
421421
target_transaction_status = target_tx_tracker => {
422422
if target_transaction_status == TrackedTransactionStatus::Lost {

relays/utils/src/lib.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -236,6 +236,16 @@ impl ProcessFutureResult {
236236
}
237237
}
238238

239+
/// Returns `Ok(())` if future has succeeded.
240+
/// Returns `Err(failed_client)` otherwise.
241+
pub fn fail_if_error(self, failed_client: FailedClient) -> Result<(), FailedClient> {
242+
if self.is_ok() {
243+
Ok(())
244+
} else {
245+
Err(failed_client)
246+
}
247+
}
248+
239249
/// Returns Ok(true) if future has succeeded.
240250
/// Returns Ok(false) if future has failed with non-connection error.
241251
/// Returns Err if future is `ConnectionFailed`.

0 commit comments

Comments
 (0)