no need to check the caches, we have latest block
This commit is contained in:
parent
bfc663d678
commit
357701bccc
@ -1332,8 +1332,6 @@ impl Web3ProxyApp {
|
|||||||
match head_block.cloned().or(self.balanced_rpcs.head_block()) {
|
match head_block.cloned().or(self.balanced_rpcs.head_block()) {
|
||||||
Some(head_block) => JsonRpcResponseEnum::from(json!(head_block.number())),
|
Some(head_block) => JsonRpcResponseEnum::from(json!(head_block.number())),
|
||||||
None => {
|
None => {
|
||||||
// TODO: what does geth do if this happens?
|
|
||||||
// TODO: standard not synced error
|
|
||||||
return Err(Web3ProxyError::NoServersSynced);
|
return Err(Web3ProxyError::NoServersSynced);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -11,7 +11,7 @@ use ethers::{
|
|||||||
};
|
};
|
||||||
use serde_json::json;
|
use serde_json::json;
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use tracing::{trace, warn, error};
|
use tracing::{error, trace, warn};
|
||||||
|
|
||||||
use crate::{frontend::authorization::Authorization, rpcs::many::Web3Rpcs};
|
use crate::{frontend::authorization::Authorization, rpcs::many::Web3Rpcs};
|
||||||
|
|
||||||
@ -116,6 +116,9 @@ pub async fn clean_block_number(
|
|||||||
let (block_num, change) =
|
let (block_num, change) =
|
||||||
BlockNumber_to_U64(block_number, latest_block.number());
|
BlockNumber_to_U64(block_number, latest_block.number());
|
||||||
|
|
||||||
|
if block_num == *latest_block.number() {
|
||||||
|
(latest_block.into(), change)
|
||||||
|
} else {
|
||||||
let (block_hash, _) = rpcs
|
let (block_hash, _) = rpcs
|
||||||
.block_hash(authorization, &block_num)
|
.block_hash(authorization, &block_num)
|
||||||
.await
|
.await
|
||||||
@ -127,6 +130,7 @@ pub async fn clean_block_number(
|
|||||||
.context("fetching block from hash")?;
|
.context("fetching block from hash")?;
|
||||||
|
|
||||||
(BlockNumAndHash::from(&block), change)
|
(BlockNumAndHash::from(&block), change)
|
||||||
|
}
|
||||||
} else if let Ok(block_hash) = serde_json::from_value::<H256>(x.clone()) {
|
} else if let Ok(block_hash) = serde_json::from_value::<H256>(x.clone()) {
|
||||||
let block = rpcs
|
let block = rpcs
|
||||||
.block(authorization, &block_hash, None, Some(3), None)
|
.block(authorization, &block_hash, None, Some(3), None)
|
||||||
|
Loading…
Reference in New Issue
Block a user