fix block number format
This commit is contained in:
parent
fc2ce9bacc
commit
dd0f7dbd5e
@ -23,7 +23,7 @@ use tokio::sync::{broadcast, watch};
|
|||||||
use tokio::task::JoinHandle;
|
use tokio::task::JoinHandle;
|
||||||
use tokio::time::timeout;
|
use tokio::time::timeout;
|
||||||
use tokio_stream::wrappers::{BroadcastStream, WatchStream};
|
use tokio_stream::wrappers::{BroadcastStream, WatchStream};
|
||||||
use tracing::{info, info_span, instrument, trace, warn, Instrument};
|
use tracing::{debug, info, info_span, instrument, trace, warn, Instrument};
|
||||||
|
|
||||||
use crate::bb8_helpers;
|
use crate::bb8_helpers;
|
||||||
use crate::config::AppConfig;
|
use crate::config::AppConfig;
|
||||||
@ -130,7 +130,7 @@ fn get_or_set_block_number(
|
|||||||
|
|
||||||
// if we changed "latest" to a number, update the params to match
|
// if we changed "latest" to a number, update the params to match
|
||||||
if modified {
|
if modified {
|
||||||
*x = block_num.into();
|
*x = format!("0x{:x}", block_num).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(block_num)
|
Ok(block_num)
|
||||||
@ -139,6 +139,7 @@ fn get_or_set_block_number(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: change this to return the height needed instead
|
||||||
fn is_archive_needed(
|
fn is_archive_needed(
|
||||||
method: &str,
|
method: &str,
|
||||||
params: Option<&mut serde_json::Value>,
|
params: Option<&mut serde_json::Value>,
|
||||||
@ -164,7 +165,9 @@ fn is_archive_needed(
|
|||||||
"eth_getBlockByHash" => {
|
"eth_getBlockByHash" => {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
"eth_getBlockByNumber" => 0,
|
"eth_getBlockByNumber" => {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
"eth_getBlockTransactionCountByHash" => {
|
"eth_getBlockTransactionCountByHash" => {
|
||||||
// TODO: turn block hash into number and check. will need a linkedhashmap of recent hashes
|
// TODO: turn block hash into number and check. will need a linkedhashmap of recent hashes
|
||||||
return false;
|
return false;
|
||||||
@ -179,7 +182,7 @@ fn is_archive_needed(
|
|||||||
let (modified, block_num) = block_num_to_u64(block_num, latest_block);
|
let (modified, block_num) = block_num_to_u64(block_num, latest_block);
|
||||||
|
|
||||||
if modified {
|
if modified {
|
||||||
*x = block_num.into();
|
*x = format!("0x{:x}", block_num).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
if block_num < last_full_block {
|
if block_num < last_full_block {
|
||||||
@ -193,7 +196,7 @@ fn is_archive_needed(
|
|||||||
let (modified, block_num) = block_num_to_u64(block_num, latest_block);
|
let (modified, block_num) = block_num_to_u64(block_num, latest_block);
|
||||||
|
|
||||||
if modified {
|
if modified {
|
||||||
*x = block_num.into();
|
*x = format!("0x{:x}", block_num).into();
|
||||||
}
|
}
|
||||||
|
|
||||||
if block_num < last_full_block {
|
if block_num < last_full_block {
|
||||||
@ -940,13 +943,18 @@ impl Web3ProxyApp {
|
|||||||
let head_block_number = self.balanced_rpcs.get_head_block_num();
|
let head_block_number = self.balanced_rpcs.get_head_block_num();
|
||||||
|
|
||||||
// we do this check before checking caches because it might modify the request params
|
// we do this check before checking caches because it might modify the request params
|
||||||
|
// TODO: add a stat for archive vs full since they should probably cost different
|
||||||
let archive_needed =
|
let archive_needed =
|
||||||
is_archive_needed(method, request.params.as_mut(), head_block_number);
|
is_archive_needed(method, request.params.as_mut(), head_block_number);
|
||||||
|
|
||||||
|
trace!(?archive_needed, ?method);
|
||||||
|
|
||||||
let (cache_key, response_cache) = match self.get_cached_response(&request) {
|
let (cache_key, response_cache) = match self.get_cached_response(&request) {
|
||||||
(cache_key, Ok(response)) => {
|
(cache_key, Ok(response)) => {
|
||||||
let _ = self.incoming_requests.remove(&cache_key);
|
let _ = self.incoming_requests.remove(&cache_key);
|
||||||
|
|
||||||
|
// TODO: if the response is cached, should it count less against the account's costs?
|
||||||
|
|
||||||
return Ok(response);
|
return Ok(response);
|
||||||
}
|
}
|
||||||
(cache_key, Err(response_cache)) => (cache_key, response_cache),
|
(cache_key, Err(response_cache)) => (cache_key, response_cache),
|
||||||
|
@ -778,6 +778,7 @@ impl Web3Connections {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
Err(None) => {
|
Err(None) => {
|
||||||
|
// TODO: is there some way to check if no servers will ever be in sync?
|
||||||
warn!(?self, "No servers in sync!");
|
warn!(?self, "No servers in sync!");
|
||||||
|
|
||||||
// TODO: subscribe to something on synced connections. maybe it should just be a watch channel
|
// TODO: subscribe to something on synced connections. maybe it should just be a watch channel
|
||||||
|
Loading…
Reference in New Issue
Block a user