From eab4172c6c612992bd8455792dbba628b45a8c73 Mon Sep 17 00:00:00 2001 From: canonbrother Date: Wed, 24 Jul 2024 15:06:21 +0800 Subject: [PATCH] refine a bit --- lib/ain-ocean/src/indexer/oracle.rs | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/lib/ain-ocean/src/indexer/oracle.rs b/lib/ain-ocean/src/indexer/oracle.rs index fee22aa7cc..5442b3f2c6 100644 --- a/lib/ain-ocean/src/indexer/oracle.rs +++ b/lib/ain-ocean/src/indexer/oracle.rs @@ -389,7 +389,7 @@ impl Index for SetOracleData { token_prices: self.token_prices, }; let feeds = map_price_feeds(&set_oracle_data, context)?; - let mut pairs: Vec<(String, String, Txid)> = Vec::new(); + let mut pairs = Vec::new(); for feed in &feeds { pairs.push((feed.token.clone(), feed.currency.clone(), feed.oracle_id)); services.oracle_price_feed.by_key.put(&feed.key, &feed.id)?; @@ -401,8 +401,7 @@ impl Index for SetOracleData { OracleIntervalSeconds::OneDay, ]; for (token, currency, oracle) in pairs.iter() { - let oracle_token_id: (String, String, Txid) = - (token.to_string(), currency.to_string(), *oracle); + let oracle_token_id = (token.to_string(), currency.to_string(), *oracle); let oracle_entries = services .oracle_token_currency .by_key @@ -461,8 +460,7 @@ impl Index for SetOracleData { if (oracle_price.time - context.block.time as i32) < 3600 { count += 1; weightage += oracle.weightage as i32; - let amount = oracle_price.amount; - let weighted_amount = amount * oracle.weightage as i64; + let weighted_amount = oracle_price.amount * oracle.weightage as i64; total += Decimal::from(weighted_amount); } } @@ -473,11 +471,10 @@ impl Index for SetOracleData { } } - let result = total + let amount = total .checked_div(Decimal::from(weightage)) .unwrap_or(dec!(1)); - let amount = format!("{:.8}", result); let aggregated_value = Some(OraclePriceAggregated { id: ( token.to_string(), @@ -493,7 +490,7 @@ impl Index for SetOracleData { token: token.to_string(), currency: currency.to_string(), aggregated: OraclePriceAggregatedAggregated { - amount, + amount: format!("{:.8}", amount), weightage, oracles: OraclePriceAggregatedAggregatedOracles { active: count,