pub type PriceSourceChecked = PriceSource<Addr>;
Aliased Type§
enum PriceSourceChecked {
Fixed {
price: Decimal,
},
Native {
denom: String,
},
AstroportSpot {
pair_address: Addr,
},
AstroportTwap {
pair_address: Addr,
window_size: u64,
tolerance: u64,
},
AstroportLiquidityToken {
pair_address: Addr,
},
}
Variants§
Fixed
Returns a fixed value; used for UST
Native
Native Terra stablecoins transaction rate quoted in UST
AstroportSpot
Astroport spot price quoted in UST
NOTE: pair_address
must point to an astroport pair consists of the asset of intereset and UST
AstroportTwap
Astroport TWAP price quoted in UST
NOTE: pair_address
must point to an astroport pair consists of the asset of intereset and UST
Fields
window_size: u64
Address of the asset of interest
NOTE: Spot price in intended for CW20 tokens. Terra native tokens should use Fixed or Native price sources.
tolerance: u64
When calculating averaged price, we take the most recent TWAP snapshot and find a second snapshot in the range of window_size +/- tolerance. For example, if window size is 5 minutes and tolerance is 1 minute, we look for snapshots that are 4 - 6 minutes back in time from the most recent snapshot.
If there are multiple snapshots within the range, we take the one that is closest to the desired window size.
AstroportLiquidityToken
Astroport liquidity token
NOTE: Astroport’s pair contract does not have a query command to check the address of the LP token associated with a pair. Therefore, we can’t implement relevant checks in the contract. The owner must make sure the addresses supplied are accurate