diff --git a/rust/updater/src/updater.rs b/rust/updater/src/updater.rs index 08571d074..8abee67dd 100644 --- a/rust/updater/src/updater.rs +++ b/rust/updater/src/updater.rs @@ -4,11 +4,7 @@ use async_trait::async_trait; use color_eyre::{eyre::ensure, Result}; use ethers::{core::types::H256, signers::Signer, types::Address}; use rocksdb::DB; -use tokio::{ - sync::Mutex, - task::JoinHandle, - time::{interval, Interval}, -}; +use tokio::{sync::Mutex, task::JoinHandle, time::sleep}; use optics_base::{ agent::{AgentCore, OpticsAgent}, @@ -73,7 +69,7 @@ impl Updater { return Ok(Some(tokio::spawn(async move { info!("Have an update, awaiting the tick"); // Wait `update_pause` seconds - interval(Duration::from_secs(update_pause)).tick().await; + sleep(Duration::from_secs(update_pause)).await; // Poll chain API to see if queue still contains new root // and old root still equals home's current root @@ -133,10 +129,6 @@ impl Updater { Ok(None) } - - fn interval(&self) -> Interval { - interval(Duration::from_secs(self.interval_seconds)) - } } #[async_trait] @@ -162,7 +154,7 @@ impl OpticsAgent for Updater { // First we check that we have the correct key to sign with. let home = self.home(); let address = self.signer.address(); - let mut interval = self.interval(); + let interval_seconds = self.interval_seconds; let update_pause = self.update_pause; let signer = self.signer.clone(); let db = self.db(); @@ -194,7 +186,7 @@ impl OpticsAgent for Updater { } // Wait for the next tick on the interval - interval.tick().await; + sleep(Duration::from_secs(interval_seconds)).await; } }) }