#[repr(C)]pub struct PriceFeedMessage {
pub feed_id: [u8; 32],
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: [u8; 32]§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
[u8; 32]: BorshDeserialize,
i64: BorshDeserialize,
u64: BorshDeserialize,
i32: BorshDeserialize,
impl BorshDeserialize for PriceFeedMessagewhere
[u8; 32]: BorshDeserialize,
i64: BorshDeserialize,
u64: BorshDeserialize,
i32: BorshDeserialize,
Source§fn deserialize(buf: &mut &[u8]) -> Result<PriceFeedMessage, Error>
fn deserialize(buf: &mut &[u8]) -> Result<PriceFeedMessage, Error>
Source§impl BorshSerialize for PriceFeedMessage
impl BorshSerialize for PriceFeedMessage
Source§impl BorshSchema for PriceFeedMessage
impl BorshSchema for PriceFeedMessage
Source§fn declaration() -> String
fn declaration() -> String
Source§fn add_definitions_recursively(definitions: &mut HashMap<String, Definition>)
fn add_definitions_recursively(definitions: &mut HashMap<String, 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 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<PriceFeedMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PriceFeedMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for PriceFeedMessage
impl PartialEq for PriceFeedMessage
Source§impl Serialize for PriceFeedMessage
impl Serialize for PriceFeedMessage
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl Copy for PriceFeedMessage
impl StructuralPartialEq for PriceFeedMessage
Auto Trait Implementations§
impl Freeze for PriceFeedMessage
impl RefUnwindSafe for PriceFeedMessage
impl Send for PriceFeedMessage
impl Sync for PriceFeedMessage
impl Unpin for PriceFeedMessage
impl UnwindSafe for PriceFeedMessage
Blanket Implementations§
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, _digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
Source§impl<T> AbiEnumVisitor for T
impl<T> AbiEnumVisitor for T
default fn visit_for_abi( &self, digester: &mut AbiDigester, ) -> Result<AbiDigester, DigestError>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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