Struct pythnet_sdk::messages::PriceFeedMessage
source · #[repr(C)]pub struct PriceFeedMessage {
pub feed_id: FeedId,
pub price: i64,
pub conf: u64,
pub exponent: i32,
pub publish_time: i64,
pub prev_publish_time: i64,
pub ema_price: i64,
pub ema_conf: u64,
}Fields§
§feed_id: FeedId§price: i64§conf: u64§exponent: i32§publish_time: i64The timestamp of this price update in seconds
prev_publish_time: i64The timestamp of the previous price update. This field is intended to allow users to identify the single unique price update for any moment in time: for any time t, the unique update is the one such that prev_publish_time < t <= publish_time.
Note that there may not be such an update while we are migrating to the new message-sending logic, as some price updates on pythnet may not be sent to other chains (because the message-sending logic may not have triggered). We can solve this problem by making the message-sending mandatory (which we can do once publishers have migrated over).
Additionally, this field may be equal to publish_time if the message is sent on a slot where where the aggregation was unsuccesful. This problem will go away once all publishers have migrated over to a recent version of pyth-agent.
ema_price: i64§ema_conf: u64Trait Implementations§
source§impl BorshDeserialize for PriceFeedMessagewhere
FeedId: BorshDeserialize,
i64: BorshDeserialize,
u64: BorshDeserialize,
i32: BorshDeserialize,
impl BorshDeserialize for PriceFeedMessagewhere
FeedId: BorshDeserialize,
i64: BorshDeserialize,
u64: BorshDeserialize,
i32: BorshDeserialize,
fn deserialize_reader<R: Read>(reader: &mut R) -> Result<Self, Error>
source§fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
fn deserialize(buf: &mut &[u8]) -> Result<Self, Error>
source§fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_slice(v: &[u8]) -> Result<Self, Error>
fn try_from_reader<R>(reader: &mut R) -> Result<Self, Error>where
R: Read,
source§impl BorshSchema for PriceFeedMessage
impl BorshSchema for PriceFeedMessage
source§fn declaration() -> Declaration
fn declaration() -> Declaration
source§fn add_definitions_recursively(
definitions: &mut HashMap<Declaration, Definition>
)
fn add_definitions_recursively( definitions: &mut HashMap<Declaration, Definition> )
source§fn add_definition(
declaration: String,
definition: Definition,
definitions: &mut HashMap<String, Definition>
)
fn add_definition( declaration: String, definition: Definition, definitions: &mut HashMap<String, Definition> )
fn schema_container() -> BorshSchemaContainer
source§impl BorshSerialize for PriceFeedMessage
impl BorshSerialize for PriceFeedMessage
source§impl Clone for PriceFeedMessage
impl Clone for PriceFeedMessage
source§fn clone(&self) -> PriceFeedMessage
fn clone(&self) -> PriceFeedMessage
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moresource§impl Debug for PriceFeedMessage
impl Debug for PriceFeedMessage
source§impl<'de> Deserialize<'de> for PriceFeedMessage
impl<'de> Deserialize<'de> for PriceFeedMessage
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>,
source§impl PartialEq for PriceFeedMessage
impl PartialEq for PriceFeedMessage
source§fn eq(&self, other: &PriceFeedMessage) -> bool
fn eq(&self, other: &PriceFeedMessage) -> bool
self and other values to be equal, and is used
by ==.