From aec7df64213ee1dffa19d3da4ed452bc7212ffc2 Mon Sep 17 00:00:00 2001 From: Miguel Palhas Date: Mon, 4 Dec 2023 22:39:21 +0000 Subject: [PATCH] Remove provider trait --- src/sync/backfill.rs | 1 - src/sync/forward.rs | 1 - src/sync/mod.rs | 2 +- src/sync/provider.rs | 40 ++++++++-------------------------------- 4 files changed, 9 insertions(+), 35 deletions(-) diff --git a/src/sync/backfill.rs b/src/sync/backfill.rs index aad3ec6..fffe967 100644 --- a/src/sync/backfill.rs +++ b/src/sync/backfill.rs @@ -15,7 +15,6 @@ use crate::{ db::{models::BackfillJobWithId, Db}, }; -use super::provider::Provider; use super::{SyncJob, Worker}; /// Backfill job diff --git a/src/sync/forward.rs b/src/sync/forward.rs index 2e4b39b..e05d2ba 100644 --- a/src/sync/forward.rs +++ b/src/sync/forward.rs @@ -8,7 +8,6 @@ use tracing::{info, instrument}; use crate::db::models::Chain; use crate::{config::Config, db::Db}; -use super::provider::Provider; use super::{SyncJob, Worker}; /// Main sync job diff --git a/src/sync/mod.rs b/src/sync/mod.rs index fb2521f..e37de38 100644 --- a/src/sync/mod.rs +++ b/src/sync/mod.rs @@ -28,7 +28,7 @@ use crate::{ pub use backfill::BackfillManager; pub use forward::Forward; -pub use provider::{Provider, RethDBProvider}; +pub use provider::RethDBProvider; /// Generic sync job state pub struct Worker { diff --git a/src/sync/provider.rs b/src/sync/provider.rs index 40dba81..5a8baa5 100644 --- a/src/sync/provider.rs +++ b/src/sync/provider.rs @@ -22,33 +22,9 @@ pub struct RethDBProvider { provider: DatabaseProvider>, } -pub trait Provider: Sized + Send { - /// Creates a new provider - fn new(config: &Config, chain: &Chain) -> Result; - - /// Reloads the provider - /// This is necessary when Reth receives a new block - fn reload(&mut self) -> Result<()>; - - /// Returns the last block number - fn last_block_number(&self) -> Result; - - /// Returns a block header by number - fn block_header(&self, number: u64) -> Result>; - - /// Returns the range of transaction IDs for a block - fn block_tx_id_ranges(&self, number: u64) -> Result>; - - /// Returns a transaction by ID - fn tx_by_id(&self, tx_id: u64) -> Result>; - - /// Returns a receipt by ID - fn receipt_by_id(&self, tx_id: u64) -> Result>; -} - -impl Provider for RethDBProvider { +impl RethDBProvider { /// Creates a new Reth DB provider - fn new(config: &Config, chain: &Chain) -> Result { + pub fn new(config: &Config, chain: &Chain) -> Result { let chain_id = chain.chain_id as u64; let config = &config.reth; let db = open_db_read_only(&config.db, None)?; @@ -67,23 +43,23 @@ impl Provider for RethDBProvider { /// Reloads the provider /// This is necessary when Reth receives a new block - fn reload(&mut self) -> Result<()> { + pub fn reload(&mut self) -> Result<()> { self.provider = self.factory.provider()?; Ok(()) } /// Returns the last block number - fn last_block_number(&self) -> Result { + pub fn last_block_number(&self) -> Result { Ok(self.provider.last_block_number()?) } /// Returns a block header by number - fn block_header(&self, number: u64) -> Result> { + pub fn block_header(&self, number: u64) -> Result> { Ok(self.provider.header_by_number(number)?) } /// Returns the range of transaction IDs for a block - fn block_tx_id_ranges(&self, number: u64) -> Result> { + pub fn block_tx_id_ranges(&self, number: u64) -> Result> { let indices = match self.provider.block_body_indices(number)? { Some(indices) => indices, None => return Ok(Default::default()), @@ -93,12 +69,12 @@ impl Provider for RethDBProvider { } /// Returns a transaction by ID - fn tx_by_id(&self, tx_id: u64) -> Result> { + pub fn tx_by_id(&self, tx_id: u64) -> Result> { Ok(self.provider.transaction_by_id_no_hash(tx_id)?) } /// Returns a receipt by ID - fn receipt_by_id(&self, tx_id: u64) -> Result> { + pub fn receipt_by_id(&self, tx_id: u64) -> Result> { Ok(self.provider.receipt(tx_id)?) } }