Skip to content

Commit

Permalink
tmp: remove randomness in base token price
Browse files Browse the repository at this point in the history
  • Loading branch information
cytadela8 committed Jul 31, 2024
1 parent dda0aa2 commit 6b330a4
Showing 1 changed file with 27 additions and 22 deletions.
49 changes: 27 additions & 22 deletions core/lib/external_price_api/src/forced_price_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,30 +46,35 @@ impl PriceAPIClient for ForcedPriceClient {
/// Returns a ratio which is 10% higher or lower than the configured forced ratio,
/// but not different more than 3% than the last value
async fn fetch_ratio(&self, _token_address: Address) -> anyhow::Result<BaseTokenAPIRatio> {
let mut previous_numerator = self.previous_numerator.write().await;
let mut rng = rand::thread_rng();
let numerator_range = (
max(
(self.ratio.numerator.get() as f64 * (1.0 - VARIATION_RANGE)).round() as u64,
(previous_numerator.get() as f64 * (1.0 - NEXT_VALUE_VARIATION_RANGE)).round()
as u64,
),
min(
(self.ratio.numerator.get() as f64 * (1.0 + VARIATION_RANGE)).round() as u64,
(previous_numerator.get() as f64 * (1.0 + NEXT_VALUE_VARIATION_RANGE)).round()
as u64,
),
);

let new_numerator = NonZeroU64::new(rng.gen_range(numerator_range.0..=numerator_range.1))
.unwrap_or(self.ratio.numerator);
let adjusted_ratio = BaseTokenAPIRatio {
numerator: new_numerator,
Ok(BaseTokenAPIRatio {
numerator: self.ratio.numerator,
denominator: self.ratio.denominator,
ratio_timestamp: chrono::Utc::now(),
};
*previous_numerator = new_numerator;
})
// let mut previous_numerator = self.previous_numerator.write().await;
// let mut rng = rand::thread_rng();
// let numerator_range = (
// max(
// (self.ratio.numerator.get() as f64 * (1.0 - VARIATION_RANGE)).round() as u64,
// (previous_numerator.get() as f64 * (1.0 - NEXT_VALUE_VARIATION_RANGE)).round()
// as u64,
// ),
// min(
// (self.ratio.numerator.get() as f64 * (1.0 + VARIATION_RANGE)).round() as u64,
// (previous_numerator.get() as f64 * (1.0 + NEXT_VALUE_VARIATION_RANGE)).round()
// as u64,
// ),
// );
//
// let new_numerator = NonZeroU64::new(rng.gen_range(numerator_range.0..=numerator_range.1))
// .unwrap_or(self.ratio.numerator);
// let adjusted_ratio = BaseTokenAPIRatio {
// numerator: new_numerator,
// denominator: self.ratio.denominator,
// ratio_timestamp: chrono::Utc::now(),
// };
// *previous_numerator = new_numerator;

Ok(adjusted_ratio)
// Ok(adjusted_ratio)
}
}

0 comments on commit 6b330a4

Please sign in to comment.