diff --git a/crates/driver/src/domain/competition/mod.rs b/crates/driver/src/domain/competition/mod.rs index 18fd581bb3..e120c61465 100644 --- a/crates/driver/src/domain/competition/mod.rs +++ b/crates/driver/src/domain/competition/mod.rs @@ -202,12 +202,20 @@ impl Competition { let mut stream = ethrpc::current_block::into_stream(self.eth.current_block().clone()); while let Some(block) = stream.next().await { - if let Err(err) = self.simulate_settlement(&settlement).await { + if let Err(infra::simulator::Error::Revert(err)) = + self.simulate_settlement(&settlement).await + { observe::winner_voided(block, &err); *score_ref = None; *self.settlement.lock().unwrap() = None; if let Some(id) = settlement.notify_id() { - notify::simulation_failed(&self.solver, auction.id(), id, &err, true); + notify::simulation_failed( + &self.solver, + auction.id(), + id, + &infra::simulator::Error::Revert(err), + true, + ); } return; } diff --git a/crates/driver/src/infra/observe/mod.rs b/crates/driver/src/infra/observe/mod.rs index b18e29c4e9..8863bf07f6 100644 --- a/crates/driver/src/infra/observe/mod.rs +++ b/crates/driver/src/infra/observe/mod.rs @@ -167,7 +167,7 @@ pub fn score(settlement: &Settlement, score: &competition::Score) { // Observe that the winning settlement started failing upon arrival of a new // block -pub fn winner_voided(block: BlockInfo, err: &simulator::Error) { +pub fn winner_voided(block: BlockInfo, err: &simulator::RevertError) { tracing::warn!(block = block.number, ?err, "solution reverts on new block"); }