#[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 ==
.source§impl Serialize for PriceSource
impl Serialize for PriceSource
impl StructuralPartialEq for PriceSource
Auto Trait Implementations§
impl RefUnwindSafe for PriceSource
impl Send for PriceSource
impl Sync for PriceSource
impl Unpin for PriceSource
impl UnwindSafe for PriceSource
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
Mutably borrows from an owned value. Read more