pub struct PriceOracleConfig {
pub primary: OracleBackendKind,
pub fallback: Option<OracleBackendKind>,
pub refresh_interval_seconds: u64,
pub pyth: PythNetworkConfig,
pub pairs: Vec<PairConfig>,
pub operator: OperatorConfig,
pub egress_contract: HttpEgressContract,
}Fields§
§primary: OracleBackendKind§fallback: Option<OracleBackendKind>§refresh_interval_seconds: u64§pyth: PythNetworkConfig§pairs: Vec<PairConfig>§operator: OperatorConfig§egress_contract: HttpEgressContractTyped HTTP egress contract that gates every outbound oracle dispatch
(Chainlink RPC reads, Pyth Hermes fetches, sequencer uptime probes).
Required in production; the *_default constructors derive a contract
scoped to the configured Pyth and chain RPC authorities.
Implementations§
Source§impl PriceOracleConfig
impl PriceOracleConfig
pub fn base_mainnet_default(rpc_endpoint: impl Into<String>) -> Self
pub fn base_arbitrum_default( base_rpc_endpoint: impl Into<String>, arbitrum_rpc_endpoint: impl Into<String>, ) -> Self
pub fn validate(&self) -> Result<(), PriceOracleError>
pub fn pair(&self, base: &str, quote: &str) -> Option<&PairConfig>
pub fn supported_pairs(&self) -> Vec<String>
Trait Implementations§
Source§impl Clone for PriceOracleConfig
impl Clone for PriceOracleConfig
Source§fn clone(&self) -> PriceOracleConfig
fn clone(&self) -> PriceOracleConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PriceOracleConfig
impl Debug for PriceOracleConfig
Source§impl<'de> Deserialize<'de> for PriceOracleConfig
impl<'de> Deserialize<'de> for PriceOracleConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for PriceOracleConfig
Source§impl PartialEq for PriceOracleConfig
impl PartialEq for PriceOracleConfig
Source§impl Serialize for PriceOracleConfig
impl Serialize for PriceOracleConfig
impl StructuralPartialEq for PriceOracleConfig
Auto Trait Implementations§
impl Freeze for PriceOracleConfig
impl RefUnwindSafe for PriceOracleConfig
impl Send for PriceOracleConfig
impl Sync for PriceOracleConfig
impl Unpin for PriceOracleConfig
impl UnsafeUnpin for PriceOracleConfig
impl UnwindSafe for PriceOracleConfig
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
impl<'de, T> BorrowedRpcObject<'de> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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