pub enum SpotPriceFeedData {
Constant {
price: NumberGtZero,
},
Pyth {
id: PriceIdentifier,
age_tolerance_seconds: u32,
},
Stride {
denom: String,
age_tolerance_seconds: u32,
},
Sei {
denom: String,
},
Rujira {
asset: String,
},
Simple {
contract: Addr,
age_tolerance_seconds: u32,
},
}
Expand description
The data for an individual spot price feed
Variants§
Constant
Hardcoded value
Fields
§
price: NumberGtZero
The constant price
Pyth
Pyth price feeds
Fields
§
id: PriceIdentifier
The identifier on pyth
§
age_tolerance_seconds: u32
price age tolerance, in seconds
We thought about removing this parameter when moving to deferred execution. However, this would leave open a potential attack vector of opening limit orders or positions, shutting down price updates, and then selectively replaying old price updates for favorable triggers.
Stride
Stride liquid staking
Fields
Sei
Native oracle module on the sei chain
Rujira
Rujira chain
Simple
Simple contract with a QueryMsg::Price call
Trait Implementations§
source§impl Clone for SpotPriceFeedData
impl Clone for SpotPriceFeedData
source§fn clone(&self) -> SpotPriceFeedData
fn clone(&self) -> SpotPriceFeedData
Returns a copy of the value. Read more
1.0.0 · 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 SpotPriceFeedData
impl Debug for SpotPriceFeedData
source§impl<'de> Deserialize<'de> for SpotPriceFeedData
impl<'de> Deserialize<'de> for SpotPriceFeedData
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
source§impl From<SpotPriceFeedData> for SpotPriceFeedDataInit
impl From<SpotPriceFeedData> for SpotPriceFeedDataInit
source§fn from(src: SpotPriceFeedData) -> Self
fn from(src: SpotPriceFeedData) -> Self
Converts to this type from the input type.
source§impl JsonSchema for SpotPriceFeedData
impl JsonSchema for SpotPriceFeedData
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. Read more
source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
source§fn json_schema(gen: &mut SchemaGenerator) -> Schema
fn json_schema(gen: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
§fn is_referenceable() -> bool
fn is_referenceable() -> bool
Whether JSON Schemas generated for this type should be re-used where possible using the
$ref
keyword. Read moresource§impl PartialEq for SpotPriceFeedData
impl PartialEq for SpotPriceFeedData
source§fn eq(&self, other: &SpotPriceFeedData) -> bool
fn eq(&self, other: &SpotPriceFeedData) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for SpotPriceFeedData
impl Serialize for SpotPriceFeedData
impl StructuralPartialEq for SpotPriceFeedData
Auto Trait Implementations§
impl Freeze for SpotPriceFeedData
impl RefUnwindSafe for SpotPriceFeedData
impl Send for SpotPriceFeedData
impl Sync for SpotPriceFeedData
impl Unpin for SpotPriceFeedData
impl UnwindSafe for SpotPriceFeedData
Blanket Implementations§
§impl<U> As for U
impl<U> As for U
§fn as_<T>(self) -> Twhere
T: CastFrom<U>,
fn as_<T>(self) -> Twhere
T: CastFrom<U>,
Casts
self
to type T
. The semantics of numeric casting with the as
operator are followed, so <T as As>::as_::<U>
can be used in the same way as T as U
for numeric conversions. Read moresource§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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> QueryResultExt for Twhere
T: Serialize,
impl<T> QueryResultExt for Twhere
T: Serialize,
source§fn query_result(&self) -> Result<Binary, Error>
fn query_result(&self) -> Result<Binary, Error>
Convert the value to its JSON representation