pub trait OracleAdapterPlugin: Send + Sync {
// Required methods
fn adapter_id(&self) -> OracleAdapterId;
fn discover<'a>(
&'a self,
ctx: OracleDiscoveryContext<'a>,
) -> AdapterFuture<'a, OracleDiscoveryReport>;
fn reactive_handler(
&self,
registrations: Vec<FeedRegistration>,
storage_sync: OracleStorageSync,
) -> Arc<dyn ReactiveHandler<Ethereum>> ⓘ;
}Expand description
Public plugin interface for oracle families layered over evm-fork-cache.
Required Methods§
Sourcefn adapter_id(&self) -> OracleAdapterId
fn adapter_id(&self) -> OracleAdapterId
Stable adapter id.
Sourcefn discover<'a>(
&'a self,
ctx: OracleDiscoveryContext<'a>,
) -> AdapterFuture<'a, OracleDiscoveryReport>
fn discover<'a>( &'a self, ctx: OracleDiscoveryContext<'a>, ) -> AdapterFuture<'a, OracleDiscoveryReport>
Discover and seed feed registrations through an EvmCache.
Sourcefn reactive_handler(
&self,
registrations: Vec<FeedRegistration>,
storage_sync: OracleStorageSync,
) -> Arc<dyn ReactiveHandler<Ethereum>> ⓘ
fn reactive_handler( &self, registrations: Vec<FeedRegistration>, storage_sync: OracleStorageSync, ) -> Arc<dyn ReactiveHandler<Ethereum>> ⓘ
Build the reactive handler that owns this adapter’s event routing.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementors§
impl OracleAdapterPlugin for EulerOracleAdapter
Available on crate feature
euler only.impl OracleAdapterPlugin for MorphoBlueOracleAdapter
Available on crate feature
morpho only.impl OracleAdapterPlugin for PythOracleAdapter
Available on crate feature
pyth only.impl OracleAdapterPlugin for RedstoneOracleAdapter
Available on crate feature
redstone only.