Skip to content

Commit

Permalink
fix: handle all payload errors (#6805)
Browse files Browse the repository at this point in the history
  • Loading branch information
mattsse authored Jan 15, 2024
1 parent fbd8c34 commit f208187
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 25 deletions.
36 changes: 18 additions & 18 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 5 additions & 3 deletions crates/anvil/src/eth/backend/fork.rs
Original file line number Diff line number Diff line change
Expand Up @@ -434,10 +434,12 @@ impl ClientFork {
if self.predates_fork_inclusive(number) {
let receipts = self.provider().get_block_receipts(BlockNumber::Number(number)).await?;

let mut storage = self.storage_write();
storage.block_receipts.insert(number, receipts.clone());
if let Some(receipts) = receipts.clone() {
let mut storage = self.storage_write();
storage.block_receipts.insert(number, receipts);
}

return Ok(Some(receipts));
return Ok(receipts);
}

Ok(None)
Expand Down
11 changes: 7 additions & 4 deletions crates/common/src/provider/tower.rs
Original file line number Diff line number Diff line change
Expand Up @@ -108,13 +108,16 @@ impl Service<RequestPacket> for RetryBackoffService<RuntimeTransport> {

match fut {
Ok(res) => {
this.requests_enqueued.fetch_sub(1, Ordering::SeqCst);
return Ok(res)
if let Some(e) = res.as_error() {
err = TransportError::ErrorResp(e.clone())
} else {
this.requests_enqueued.fetch_sub(1, Ordering::SeqCst);
return Ok(res)
}
}
Err(e) => err = e,
}

let err = TransportError::from(err);
let should_retry = this.policy.should_retry(&err);
if should_retry {
rate_limit_retry_number += 1;
Expand Down Expand Up @@ -159,7 +162,7 @@ impl Service<RequestPacket> for RetryBackoffService<RuntimeTransport> {
}

this.requests_enqueued.fetch_sub(1, Ordering::SeqCst);
return Err(TransportErrorKind::custom_str("Max retries exceeded"))
return Err(err)
}
}
})
Expand Down

0 comments on commit f208187

Please sign in to comment.