pub struct PoolSync {
pub fetchers: HashMap<PoolType, Arc<dyn PoolFetcher>>,
pub chain: Chain,
pub rate_limit: usize,
}Expand description
The main struct for pool synchronization
Fields§
§fetchers: HashMap<PoolType, Arc<dyn PoolFetcher>>Map of pool types to their fetcher implementations
chain: ChainThe chain to sync on
rate_limit: usizeThe rate limit of the rpc
Implementations§
source§impl PoolSync
impl PoolSync
sourcepub async fn sync_pools<P, T, N>(
&self,
provider: Arc<P>,
) -> Result<Vec<Pool>, PoolSyncError>
pub async fn sync_pools<P, T, N>( &self, provider: Arc<P>, ) -> Result<Vec<Pool>, PoolSyncError>
Synchronizes all added pools for the specified chain
This method performs the following steps:
- Creates a cache folder if it doesn’t exist
- Reads the cache for each pool type
- Synchronizes new data for each pool type
- Updates and writes back the cache
- Combines all synchronized pools into a single vector
§Arguments
provider- An Arc-wrapped provider for interacting with the blockchain
§Returns
A Result containing a vector of all synchronized pools or a PoolSyncError
Auto Trait Implementations§
impl Freeze for PoolSync
impl !RefUnwindSafe for PoolSync
impl Send for PoolSync
impl Sync for PoolSync
impl Unpin for PoolSync
impl !UnwindSafe for PoolSync
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more