Skip to content

Commit ff1b8c1

Browse files
committed
fixed clippy warning for oracle
1 parent 60f5acd commit ff1b8c1

2 files changed

Lines changed: 45 additions & 22 deletions

File tree

lib/ain-ocean/src/consts.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use std::fmt;
12
#[derive(Debug, Clone)]
23
pub enum Network {
34
Mainnet,
@@ -21,14 +22,14 @@ impl std::str::FromStr for Network {
2122
}
2223
}
2324

24-
impl ToString for Network {
25-
fn to_string(&self) -> String {
25+
impl fmt::Display for Network {
26+
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
2627
match self {
27-
Network::Mainnet => String::from("mainnet"),
28-
Network::Testnet => String::from("testnet"),
29-
Network::Regtest => String::from("regtest"),
30-
Network::Devnet => String::from("devnet"),
31-
Network::Changi => String::from("changi"),
28+
Network::Mainnet => write!(f, "mainnet"),
29+
Network::Testnet => write!(f, "testnet"),
30+
Network::Regtest => write!(f, "regtest"),
31+
Network::Devnet => write!(f, "devnet"),
32+
Network::Changi => write!(f, "changi"),
3233
}
3334
}
3435
}

lib/ain-ocean/src/indexer/oracle.rs

Lines changed: 37 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -164,8 +164,7 @@ impl Index for RemoveOracle {
164164
}
165165
fn invalidate(&self, services: &Arc<Services>, context: &Context) -> Result<()> {
166166
let oracle_id = context.tx.txid;
167-
let previous_oracle_history_result =
168-
get_previous_oracle_history_list(services, oracle_id.clone());
167+
let previous_oracle_history_result = get_previous_oracle_history_list(services, oracle_id);
169168

170169
match previous_oracle_history_result {
171170
Ok(previous_oracle_history) => {
@@ -236,8 +235,7 @@ impl Index for UpdateOracle {
236235

237236
//save oracle
238237
services.oracle.by_id.put(&oracle.id, &oracle)?;
239-
let previous_oracle_history_result =
240-
get_previous_oracle_history_list(services, oracle_id.clone());
238+
let previous_oracle_history_result = get_previous_oracle_history_list(services, oracle_id);
241239
match previous_oracle_history_result {
242240
Ok(previous_oracle) => {
243241
for oracle in previous_oracle {
@@ -246,7 +244,7 @@ impl Index for UpdateOracle {
246244
let deletion_key = (
247245
price_feed_item.token.clone(),
248246
price_feed_item.currency.clone(),
249-
oracle_id.clone(),
247+
oracle_id,
250248
);
251249
match services.oracle_token_currency.by_id.delete(&deletion_key) {
252250
Ok(_) => {
@@ -283,7 +281,7 @@ impl Index for UpdateOracle {
283281
),
284282
token: token_currency.token.clone(),
285283
currency: token_currency.currency.clone(),
286-
oracle_id: oracle_id.clone(),
284+
oracle_id,
287285
weightage: self.weightage,
288286
block: ctx.block.clone(),
289287
};
@@ -341,16 +339,15 @@ impl Index for UpdateOracle {
341339
self.oracle_id,
342340
))?;
343341
}
344-
let previous_oracle_history_result =
345-
get_previous_oracle_history_list(services, oracle_id.clone());
342+
let previous_oracle_history_result = get_previous_oracle_history_list(services, oracle_id);
346343
match previous_oracle_history_result {
347344
Ok(previous_oracle_result) => {
348345
for previous_oracle in previous_oracle_result {
349346
for price_feed_item in &previous_oracle.price_feeds {
350347
let deletion_key = (
351348
price_feed_item.token.clone(),
352349
price_feed_item.currency.clone(),
353-
previous_oracle.oracle_id.clone(),
350+
previous_oracle.oracle_id,
354351
);
355352

356353
match services.oracle_token_currency.by_id.delete(&deletion_key) {
@@ -402,7 +399,7 @@ impl Index for SetOracleData {
402399
let aggreated_id = (
403400
value.token.clone(),
404401
value.currency.clone(),
405-
value.block.height.clone(),
402+
value.block.height,
406403
);
407404
let aggreated_key = (value.token.clone(), value.currency.clone());
408405
services
@@ -639,10 +636,9 @@ pub fn index_interval_mapper(
639636
Ok(price_agrregated_interval)
640637
})
641638
.collect::<Result<Vec<_>>>();
642-
643-
for previous_oracle_price_aggreated in previous_aggrigated_interval {
644-
let clone_interval = interval.clone();
645-
if previous_oracle_price_aggreated.len() != 0
639+
let clone_interval = interval.clone();
640+
if let Ok(previous_oracle_price_aggreated) = previous_aggrigated_interval {
641+
if !previous_oracle_price_aggreated.is_empty()
646642
|| (block.median_time - previous_oracle_price_aggreated[0].block.median_time)
647643
> clone_interval as i64
648644
{
@@ -671,6 +667,19 @@ pub fn index_interval_mapper(
671667
} else {
672668
process_inner_values(services, &previous_oracle_price_aggreated[0], aggregated);
673669
}
670+
} else {
671+
let err = previous_aggrigated_interval.err();
672+
match err {
673+
Some(e) => {
674+
let error_message = format!("Error updating oracle index interval mapper: {:?}", e);
675+
eprintln!("{}", error_message);
676+
return Err(Error::NotFound(NotFoundKind::Oracle));
677+
}
678+
None => {
679+
eprintln!("Unknown index interval mapper error ");
680+
return Err(Error::NotFound(NotFoundKind::Oracle));
681+
}
682+
}
674683
}
675684

676685
Ok(())
@@ -703,7 +712,7 @@ pub fn invalidate_oracle_interval(
703712
})
704713
.collect::<Result<Vec<_>>>();
705714

706-
for oracle_price_aggreated in previous_aggrigated_interval {
715+
if let Ok(oracle_price_aggreated) = previous_aggrigated_interval {
707716
if oracle_price_aggreated[0].aggregated.count != 1 {
708717
let _err = services
709718
.oracle_price_aggregated_interval
@@ -755,6 +764,19 @@ pub fn invalidate_oracle_interval(
755764
&previous_aggregated_interval.id,
756765
);
757766
}
767+
} else {
768+
let err = previous_aggrigated_interval.err();
769+
match err {
770+
Some(e) => {
771+
let error_message = format!("Error updating oracle interval: {:?}", e);
772+
eprintln!("{}", error_message);
773+
return Err(Error::NotFound(NotFoundKind::Oracle));
774+
}
775+
None => {
776+
eprintln!("Unknown previous_aggrigated_interval error ");
777+
return Err(Error::NotFound(NotFoundKind::Oracle));
778+
}
779+
}
758780
}
759781
Ok(())
760782
}

0 commit comments

Comments
 (0)