Trait PoolLoader
Source pub trait PoolLoader<P, N, LDT = KabuDataTypesEthereum>:
Send
+ Sync
+ 'staticwhere
N: Network,
P: Provider<N>,
LDT:
Send +
Sync + KabuDataTypes,
{
// Required methods
fn get_pool_class_by_log(
&self,
log_entry: &LDT::Log,
) -> Option<(PoolId, PoolClass)>;
fn fetch_pool_by_id<'a>(
&'a self,
pool_id: PoolId,
) -> Pin<Box<dyn Future<Output = Result<PoolWrapper>> + Send + 'a>>;
fn fetch_pool_by_id_from_provider<'a>(
&'a self,
pool_id: PoolId,
provider: P,
) -> Pin<Box<dyn Future<Output = Result<PoolWrapper>> + Send + 'a>>;
fn fetch_pool_by_id_from_evm(
&self,
pool_id: PoolId,
db: &dyn DatabaseRef<Error = KabuDBError>,
) -> Result<PoolWrapper>;
fn is_code(&self, code: &Bytes) -> bool;
fn protocol_loader(
&self,
) -> Result<Pin<Box<dyn Stream<Item = (PoolId, PoolClass)> + Send>>>;
}