#[repr(C)]pub struct Price {Show 22 fields
pub magic: u32,
pub ver: u32,
pub atype: u32,
pub size: u32,
pub ptype: PriceType,
pub expo: i32,
pub num: u32,
pub num_qt: u32,
pub last_slot: u64,
pub valid_slot: u64,
pub ema_price: Ema,
pub ema_confidence: Ema,
pub drv1: i64,
pub drv2: i64,
pub prod: AccKey,
pub next: AccKey,
pub prev_slot: u64,
pub prev_price: i64,
pub prev_conf: u64,
pub drv3: i64,
pub agg: PriceInfo,
pub comp: [PriceComp; 32],
}
Expand description
Price accounts represent a continuously-updating price feed for a product.
Fieldsยง
ยงmagic: u32
pyth magic number
ver: u32
program version
atype: u32
account type
size: u32
price account size
ptype: PriceType
price or calculation type
expo: i32
price exponent
num: u32
number of component prices
num_qt: u32
number of quoters that make up aggregate
last_slot: u64
slot of last valid (not unknown) aggregate price
valid_slot: u64
valid slot-time of agg. price
ema_price: Ema
exponential moving average price
ema_confidence: Ema
exponential moving average confidence interval
drv1: i64
space for future derived values
drv2: i64
space for future derived values
prod: AccKey
product account key
next: AccKey
next Price account in linked list
prev_slot: u64
valid slot of previous update
prev_price: i64
aggregate price of previous update
prev_conf: u64
confidence interval of previous update
drv3: i64
space for future derived values
agg: PriceInfo
aggregate price info
comp: [PriceComp; 32]
price components one per quoter
Implementationsยง
Sourceยงimpl Price
impl Price
Sourcepub fn get_current_price_status(&self) -> PriceStatus
๐Deprecated: This crate has been deprecated. Please use pyth-sdk-solana instead.
pub fn get_current_price_status(&self) -> PriceStatus
Get the current status of the aggregate price. If this lib is used on-chain it will mark price status as unknown if price has not been updated for a while.
Sourcepub fn get_current_price(&self) -> Option<PriceConf>
๐Deprecated: This crate has been deprecated. Please use pyth-sdk-solana instead.
pub fn get_current_price(&self) -> Option<PriceConf>
Get the current price and confidence interval as fixed-point numbers of the form a * 10^e.
Returns a struct containing the current price, confidence interval, and the exponent for both
numbers. Returns None
if price information is currently unavailable for any reason.
Sourcepub fn get_ema_price(&self) -> Option<PriceConf>
๐Deprecated: This crate has been deprecated. Please use pyth-sdk-solana instead.
pub fn get_ema_price(&self) -> Option<PriceConf>
Get the exponential moving average price (ema_price) and a confidence interval on the result.
Returns None
if the ema_price is currently unavailable.
At the moment, the confidence interval returned by this method is computed in a somewhat questionable way, so we do not recommend using it for high-value applications.
Sourcepub fn get_price_in_quote(
&self,
quote: &Price,
result_expo: i32,
) -> Option<PriceConf>
๐Deprecated: This crate has been deprecated. Please use pyth-sdk-solana instead.
pub fn get_price_in_quote( &self, quote: &Price, result_expo: i32, ) -> Option<PriceConf>
Get the current price of this account in a different quote currency. If this account
represents the price of the product X/Z, and quote
represents the price of the product Y/Z,
this method returns the price of X/Y. Use this method to get the price of e.g., mSOL/SOL from
the mSOL/USD and SOL/USD accounts.
result_expo
determines the exponent of the result, i.e., the number of digits below the decimal
point. This method returns None
if either the price or confidence are too large to be
represented with the requested exponent.
Sourcepub fn price_basket(
amounts: &[(Price, i64, i32)],
result_expo: i32,
) -> Option<PriceConf>
๐Deprecated: This crate has been deprecated. Please use pyth-sdk-solana instead.
pub fn price_basket( amounts: &[(Price, i64, i32)], result_expo: i32, ) -> Option<PriceConf>
Get the price of a basket of currencies. Each entry in amounts
is of the form
(price, qty, qty_expo)
, and the result is the sum of price * qty * 10^qty_expo
.
The result is returned with exponent result_expo
.
An example use case for this function is to get the value of an LP token.
Trait Implementationsยง
impl Copy for Price
impl Eq for Price
impl Pod for Price
impl StructuralPartialEq for Price
Auto Trait Implementationsยง
impl Freeze for Price
impl RefUnwindSafe for Price
impl Send for Price
impl Sync for Price
impl Unpin for Price
impl UnwindSafe for Price
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
Sourceยงimpl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Sourceยงtype Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.Sourceยงfn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Sourceยงimpl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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