Struct switchboard_utils::task::twap::LpTokenPriceTask
source · pub struct LpTokenPriceTask {
pub price_feed_addresses: Vec<String>,
pub price_feed_jobs: Vec<OracleJob>,
pub use_fair_price: Option<bool>,
pub pool_address: Option<PoolAddress>,
}
Expand description
Fetch LP token price info from a number of supported exchanges.
See our blog post on Fair LP Token Oracles
NOTE*: This is not the swap price but the price of the underlying LP token.
Input: None
Returns: The price of an LP token for a given AMM pool.
Example: Fetch the Orca LP token price of the SOL/USDC pool
{ "lpTokenPriceTask": { "orcaPoolAddress": "APDFRM3HMr8CAGXwKHiu2f5ePSpaiEJhaURwhsRrUUt9" } }
Example: Fetch the fair price Orca LP token price of the SOL/USDC pool
{ "lpTokenPriceTask": { "orcaPoolAddress": "APDFRM3HMr8CAGXwKHiu2f5ePSpaiEJhaURwhsRrUUt9", "useFairPrice": true, "priceFeedAddresses": \[ "GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR", "BjUgj6YCnFBZ49wF54ddBVA9qu8TeqkFtkbqmZcee8uW" \] } }
Example: Fetch the fair price Raydium LP token price of the SOL/USDC pool
{ "lpTokenPriceTask": { "raydiumPoolAddress": "58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2", "useFairPrice": true,"priceFeedAddresses": \["GvDMxPzN1sCj7L26YDK2HnMRXEQmQ2aemov8YBtPS7vR","BjUgj6YCnFBZ49wF54ddBVA9qu8TeqkFtkbqmZcee8uW" \] } }
Fields§
§price_feed_addresses: Vec<String>
/ A list of Switchboard aggregator accounts used to calculate the fair LP price. This ensures the price is based on the previous round to mitigate flash loan price manipulation.
price_feed_jobs: Vec<OracleJob>
/ A list of OracleJobs to execute in order to yield the price feed jobs to use for the fair price formula.
use_fair_price: Option<bool>
/ If enabled and price_feed_addresses provided, the oracle will calculate the fair LP price based on the liquidity pool reserves. See our blog post for more information: https://switchboardxyz.medium.com/fair-lp-token-oracles-94a457c50239
pool_address: Option<PoolAddress>
Implementations§
source§impl LpTokenPriceTask
impl LpTokenPriceTask
sourcepub fn use_fair_price(&self) -> bool
pub fn use_fair_price(&self) -> bool
Returns the value of use_fair_price
, or the default value if use_fair_price
is unset.
Trait Implementations§
source§impl Clone for LpTokenPriceTask
impl Clone for LpTokenPriceTask
source§fn clone(&self) -> LpTokenPriceTask
fn clone(&self) -> LpTokenPriceTask
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for LpTokenPriceTask
impl Debug for LpTokenPriceTask
source§impl Default for LpTokenPriceTask
impl Default for LpTokenPriceTask
source§impl Message for LpTokenPriceTask
impl Message for LpTokenPriceTask
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError>
source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
source§fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError>
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
source§fn decode<B>(buf: B) -> Result<Self, DecodeError>
fn decode<B>(buf: B) -> Result<Self, DecodeError>
source§fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError>
source§fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
. Read moresource§fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError>
self
.source§impl PartialEq for LpTokenPriceTask
impl PartialEq for LpTokenPriceTask
source§fn eq(&self, other: &LpTokenPriceTask) -> bool
fn eq(&self, other: &LpTokenPriceTask) -> bool
self
and other
values to be equal, and is used
by ==
.