From bebfa6e93cbe14c464d43d6946b7b0e5307cef42 Mon Sep 17 00:00:00 2001 From: Ryo Onodera Date: Wed, 16 Dec 2020 23:51:05 +0900 Subject: [PATCH] Correctly show reward percent changes --- cli/src/cluster_query.rs | 5 +++-- cli/src/stake.rs | 8 ++++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/cli/src/cluster_query.rs b/cli/src/cluster_query.rs index 2532bf6edc..226d132a5b 100644 --- a/cli/src/cluster_query.rs +++ b/cli/src/cluster_query.rs @@ -800,8 +800,9 @@ pub fn process_get_block( format!( "◎{:<19.9} {:>13.9}%", lamports_to_sol(reward.post_balance), - reward.lamports.abs() as f64 - / (reward.post_balance as f64 - reward.lamports as f64) + (reward.lamports.abs() as f64 + / (reward.post_balance as f64 - reward.lamports as f64)) + * 100.0 ) } ); diff --git a/cli/src/stake.rs b/cli/src/stake.rs index 2ddfdf457d..e845d6fc4e 100644 --- a/cli/src/stake.rs +++ b/cli/src/stake.rs @@ -1662,13 +1662,13 @@ pub(crate) fn fetch_epoch_rewards( .find(|reward| reward.pubkey == address.to_string()) { if reward.post_balance > reward.lamports.try_into().unwrap_or(0) { - let percent_change = reward.lamports.abs() as f64 + let rate_change = reward.lamports.abs() as f64 / (reward.post_balance as f64 - reward.lamports as f64); let apr = wallclock_epoch_duration.map(|wallclock_epoch_duration| { let wallclock_epochs_per_year = (SECONDS_PER_DAY * 356) as f64 / wallclock_epoch_duration; - percent_change * wallclock_epochs_per_year + rate_change * wallclock_epochs_per_year }); all_epoch_rewards.push(CliEpochReward { @@ -1676,8 +1676,8 @@ pub(crate) fn fetch_epoch_rewards( effective_slot, amount: reward.lamports.abs() as u64, post_balance: reward.post_balance, - percent_change, - apr, + percent_change: rate_change * 100.0, + apr: apr.map(|r| r * 100.0), }); } }