From 8f9832d1a608d6fe499c5e8d4686ddeaaa186cb4 Mon Sep 17 00:00:00 2001 From: Bjerg Date: Wed, 6 Apr 2022 08:42:40 +0200 Subject: [PATCH] fix: correctly check cache expiry (#1114) --- ethers-etherscan/src/lib.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ethers-etherscan/src/lib.rs b/ethers-etherscan/src/lib.rs index fea67802..b1385724 100644 --- a/ethers-etherscan/src/lib.rs +++ b/ethers-etherscan/src/lib.rs @@ -101,7 +101,12 @@ impl Cache { let reader = std::io::BufReader::new(std::fs::File::open(path).ok()?); if let Ok(inner) = serde_json::from_reader::<_, CacheEnvelope>(reader) { // If this does not return None then we have passed the expiry - if SystemTime::now().checked_sub(Duration::from_secs(inner.expiry)).is_some() { + if SystemTime::now() + .duration_since(UNIX_EPOCH) + .expect("system time is before unix epoch") + .checked_sub(Duration::from_secs(inner.expiry)) + .is_some() + { return None }