serialize best_rpcs
This commit is contained in:
parent
8eff48611c
commit
a69737db98
2
TODO.md
2
TODO.md
|
@ -565,6 +565,8 @@ These are not ordered. I think some rows also accidently got deleted here. Check
|
||||||
- look at average request time for getBlock? i'm not sure how good a proxy that will be for serving eth_call, but its a start
|
- look at average request time for getBlock? i'm not sure how good a proxy that will be for serving eth_call, but its a start
|
||||||
- https://crates.io/crates/histogram-sampler
|
- https://crates.io/crates/histogram-sampler
|
||||||
- [ ] interval for http subscriptions should be based on block time. load from config is easy, but better to query. currently hard coded to 13 seconds
|
- [ ] interval for http subscriptions should be based on block time. load from config is easy, but better to query. currently hard coded to 13 seconds
|
||||||
|
- [ ] check code to keep us from going backwards. maybe that is causing outages
|
||||||
|
- [ ] min_backup_rpcs seperate from min_synced_rpcs
|
||||||
|
|
||||||
in another repo: event subscriber
|
in another repo: event subscriber
|
||||||
- [ ] watch for transfer events to our contract and submit them to /payment/$tx_hash
|
- [ ] watch for transfer events to our contract and submit them to /payment/$tx_hash
|
||||||
|
|
|
@ -517,7 +517,7 @@ impl Web3Rpcs {
|
||||||
// this is unlikely but possible
|
// this is unlikely but possible
|
||||||
// TODO: better log
|
// TODO: better log
|
||||||
warn!(
|
warn!(
|
||||||
"chain rolled back t{}/{} {}{}/{}/{} con={} old={} rpc={}@{}",
|
"chain rolled back {}/{} {}{}/{}/{} con={} old={} rpc={}@{}",
|
||||||
consensus_tier,
|
consensus_tier,
|
||||||
total_tiers,
|
total_tiers,
|
||||||
backups_voted_str,
|
backups_voted_str,
|
||||||
|
|
|
@ -7,7 +7,7 @@ use anyhow::Context;
|
||||||
use ethers::prelude::{H256, U64};
|
use ethers::prelude::{H256, U64};
|
||||||
use hashbrown::{HashMap, HashSet};
|
use hashbrown::{HashMap, HashSet};
|
||||||
use itertools::{Itertools, MinMaxResult};
|
use itertools::{Itertools, MinMaxResult};
|
||||||
use log::{trace, warn};
|
use log::{trace, warn, debug};
|
||||||
use moka::future::Cache;
|
use moka::future::Cache;
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
use std::cmp::Reverse;
|
use std::cmp::Reverse;
|
||||||
|
@ -21,8 +21,6 @@ use tokio::time::Instant;
|
||||||
pub struct ConsensusWeb3Rpcs {
|
pub struct ConsensusWeb3Rpcs {
|
||||||
pub(super) tier: u64,
|
pub(super) tier: u64,
|
||||||
pub(super) head_block: Web3ProxyBlock,
|
pub(super) head_block: Web3ProxyBlock,
|
||||||
// TODO: this should be able to serialize, but it isn't
|
|
||||||
#[serde(skip_serializing)]
|
|
||||||
pub(super) best_rpcs: Vec<Arc<Web3Rpc>>,
|
pub(super) best_rpcs: Vec<Arc<Web3Rpc>>,
|
||||||
// TODO: functions like "compare_backup_vote()"
|
// TODO: functions like "compare_backup_vote()"
|
||||||
// pub(super) backups_voted: Option<Web3ProxyBlock>,
|
// pub(super) backups_voted: Option<Web3ProxyBlock>,
|
||||||
|
@ -323,6 +321,8 @@ impl ConsensusFinder {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
trace!("rpc_names: {:#?}", rpc_names);
|
||||||
|
|
||||||
// consensus likely found! load the rpcs to make sure they all have active connections
|
// consensus likely found! load the rpcs to make sure they all have active connections
|
||||||
let consensus_rpcs: Vec<_> = rpc_names.into_iter().filter_map(|x| web3_rpcs.get(x)).collect();
|
let consensus_rpcs: Vec<_> = rpc_names.into_iter().filter_map(|x| web3_rpcs.get(x)).collect();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue