Enum abstract_core::objects::price_source::PriceSource
source · #[non_exhaustive]
pub enum PriceSource {
None,
Pool {
address: PoolAddress,
pair: Vec<AssetInfo>,
},
LiquidityToken {
pool_assets: Vec<AssetInfo>,
pool_address: PoolAddress,
},
ValueAs {
asset: AssetInfo,
multiplier: Decimal,
},
}
Expand description
Provides information on how to calculate the value of an asset
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
None
Should only be used for the base asset
Pool
A pool name of an asset/asset pair Both assets must be defined in the Vault_assets state
LiquidityToken
Liquidity pool token
ValueAs
Asset will be valued as if they are ValueAs.asset tokens
Implementations§
source§impl PriceSource
impl PriceSource
sourcepub fn dependencies(&self, asset: &AssetInfo) -> Vec<AssetInfo>
pub fn dependencies(&self, asset: &AssetInfo) -> Vec<AssetInfo>
Returns the assets that are required to calculate the price of the asset Panics if the price source is None
sourcepub fn conversion_rates(
&self,
deps: Deps<'_>,
asset: &AssetInfo
) -> AbstractResult<Vec<AssetConversion>>
pub fn conversion_rates( &self, deps: Deps<'_>, asset: &AssetInfo ) -> AbstractResult<Vec<AssetConversion>>
Calculates the conversion ratio of the asset.
Trait Implementations§
source§impl Clone for PriceSource
impl Clone for PriceSource
source§fn clone(&self) -> PriceSource
fn clone(&self) -> PriceSource
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 PriceSource
impl Debug for PriceSource
source§impl<'de> Deserialize<'de> for PriceSource
impl<'de> Deserialize<'de> for PriceSource
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 JsonSchema for PriceSource
impl JsonSchema for PriceSource
source§fn schema_name() -> String
fn schema_name() -> String
The name of the generated JSON Schema. 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
source§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<PriceSource> for PriceSource
impl PartialEq<PriceSource> for PriceSource
source§fn eq(&self, other: &PriceSource) -> bool
fn eq(&self, other: &PriceSource) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.