add some logs for stake history
This commit is contained in:
parent
a5317d082c
commit
3efb64e469
|
@ -43,15 +43,19 @@ jsonrpsee = { version = "0.20.0", features = ["macros", "server", "full"] }
|
|||
#jsonrpsee-types = "0.20.0"
|
||||
thiserror = "1.0.40"
|
||||
|
||||
yellowstone-grpc-client = { path = "../../yellowstone-grpc/yellowstone-grpc-client" }
|
||||
yellowstone-grpc-proto = { path = "../../yellowstone-grpc/yellowstone-grpc-proto" }
|
||||
#yellowstone-grpc-client = { path = "../../yellowstone-grpc/yellowstone-grpc-client" }
|
||||
#yellowstone-grpc-proto = { path = "../../yellowstone-grpc/yellowstone-grpc-proto" }
|
||||
|
||||
|
||||
#yellowstone-grpc-client = { git = "http://github.com/rpcpool/yellowstone-grpc", rev = "c89b89dfc5f03f11f45ac4a6e832386a1d94cb67" }
|
||||
#yellowstone-grpc-proto = { git = "http://github.com/rpcpool/yellowstone-grpc", rev = "c89b89dfc5f03f11f45ac4a6e832386a1d94cb67" }
|
||||
|
||||
|
||||
#yellowstone-grpc-client = "1.8.0+solana.1.16.1"
|
||||
#yellowstone-grpc-proto = "1.8.0+solana.1.16.1"
|
||||
|
||||
#yellowstone-grpc-client = "1.11.0+solana.1.16.14"
|
||||
#yellowstone-grpc-proto = "1.10.0+solana.1.16.14"
|
||||
yellowstone-grpc-client = "1.11.0+solana.1.16.14"
|
||||
yellowstone-grpc-proto = "1.10.0+solana.1.16.14"
|
||||
|
||||
solana-sdk = "1.16.14"
|
||||
solana-client = "1.16.14"
|
||||
|
|
|
@ -150,7 +150,6 @@ InitLeaderscedule MergeStore(stakes, votes, schedule)
|
|||
*/
|
||||
|
||||
pub fn run_leader_schedule_events(
|
||||
rpc_url: String,
|
||||
event: LeaderScheduleEvent,
|
||||
bootstrap_tasks: &mut FuturesUnordered<JoinHandle<LeaderScheduleEvent>>,
|
||||
stakestore: &mut StakeStore,
|
||||
|
@ -163,7 +162,7 @@ pub fn run_leader_schedule_events(
|
|||
None
|
||||
}
|
||||
LeaderScheduleResult::Event(event) => {
|
||||
run_leader_schedule_events(rpc_url, event, bootstrap_tasks, stakestore, votestore)
|
||||
run_leader_schedule_events(event, bootstrap_tasks, stakestore, votestore)
|
||||
}
|
||||
LeaderScheduleResult::End(schedule) => Some(schedule),
|
||||
}
|
||||
|
@ -344,10 +343,37 @@ fn calculate_epoch_stakes(
|
|||
)
|
||||
});
|
||||
match stake_history {
|
||||
Some(ref mut stake_history) => stake_history.add(current_epoch, stake_history_entry),
|
||||
Some(ref mut stake_history) => {
|
||||
log::info!(
|
||||
"Stake_history add epoch{current_epoch} stake history:{stake_history_entry:?}"
|
||||
);
|
||||
stake_history.add(current_epoch, stake_history_entry)
|
||||
}
|
||||
None => log::warn!("Vote stake calculus without Stake History"),
|
||||
};
|
||||
|
||||
//get current stake history
|
||||
match crate::bootstrap::get_stakehistory_account(crate::RPC_URL.to_string())
|
||||
.ok()
|
||||
.and_then(|rpc_history_account| {
|
||||
crate::stakestore::read_historystake_from_account(rpc_history_account)
|
||||
}) {
|
||||
Some(rpc_history) => {
|
||||
log::info!(
|
||||
"Stake_history new epoch:{current_epoch} C:{:?} RPC:{:?}",
|
||||
stake_history.as_ref().map(|h| h.get(current_epoch)),
|
||||
rpc_history.get(current_epoch)
|
||||
);
|
||||
log::info!(
|
||||
"Stake_history last epoch:{} C:{:?} RPC:{:?}",
|
||||
current_epoch - 1,
|
||||
stake_history.as_ref().map(|h| h.get(current_epoch - 1)),
|
||||
rpc_history.get(current_epoch - 1)
|
||||
);
|
||||
}
|
||||
None => log::error!("can't get rpc history from RPC"),
|
||||
}
|
||||
|
||||
//calculate schedule stakes.
|
||||
let delegated_stakes: HashMap<Pubkey, u64> =
|
||||
stake_map
|
||||
|
|
|
@ -195,7 +195,7 @@ async fn run_loop<F: Interceptor>(mut client: GeyserGrpcClient<F>) -> anyhow::Re
|
|||
owner: vec![
|
||||
solana_sdk::stake::program::ID.to_string(),
|
||||
solana_sdk::vote::program::ID.to_string(),
|
||||
solana_sdk::sysvar::stake_history::ID.to_string(),
|
||||
// solana_sdk::sysvar::stake_history::ID.to_string(),
|
||||
// solana_sdk::system_program::ID.to_string(),
|
||||
],
|
||||
filters: vec![],
|
||||
|
@ -280,7 +280,7 @@ async fn run_loop<F: Interceptor>(mut client: GeyserGrpcClient<F>) -> anyhow::Re
|
|||
if let Err(err) = crate::leader_schedule::save_schedule_on_file("stakes", ¤t_stake) {
|
||||
log::error!("Error during current stakes saving:{err}");
|
||||
}
|
||||
log::info!("RPC save_stakes END");
|
||||
log::warn!("RPC save_stakes END");
|
||||
|
||||
}
|
||||
});
|
||||
|
@ -329,7 +329,6 @@ async fn run_loop<F: Interceptor>(mut client: GeyserGrpcClient<F>) -> anyhow::Re
|
|||
//Manage RPC call result execution
|
||||
Some(Ok(event)) = spawned_leader_schedule_task.next() => {
|
||||
let new_leader_schedule = crate::leader_schedule::run_leader_schedule_events(
|
||||
RPC_URL.to_string(),
|
||||
event,
|
||||
&mut spawned_leader_schedule_task,
|
||||
&mut stakestore,
|
||||
|
@ -401,7 +400,6 @@ async fn run_loop<F: Interceptor>(mut client: GeyserGrpcClient<F>) -> anyhow::Re
|
|||
if bootstrap_data.done {
|
||||
if let Some(init_event) = schedule_event {
|
||||
crate::leader_schedule::run_leader_schedule_events(
|
||||
RPC_URL.to_string(),
|
||||
init_event,
|
||||
&mut spawned_leader_schedule_task,
|
||||
&mut stakestore,
|
||||
|
|
Loading…
Reference in New Issue