ledger-tool cap: output credits_observed (#13746) (#13747)

(cherry picked from commit 3bc7d85986)

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
This commit is contained in:
mergify[bot]
2020-11-21 17:31:03 +00:00
committed by GitHub
parent fd39a09eae
commit de03a5092d
2 changed files with 16 additions and 0 deletions

View File

@ -2094,6 +2094,7 @@ fn main() {
activation_epoch: Epoch,
deactivation_epoch: Option<Epoch>,
point_value: Option<PointValue>,
credits_observed: Option<u64>,
}
use solana_stake_program::stake_state::InflationPointCalculationEvent;
let mut stake_calcuration_details: HashMap<Pubkey, CalculationDetail> =
@ -2145,6 +2146,11 @@ fn main() {
InflationPointCalculationEvent::RentExemptReserve(reserve) => {
detail.rent_exempt_reserve = *reserve;
}
InflationPointCalculationEvent::CreditsObserved(
credits_observed,
) => {
detail.credits_observed = Some(*credits_observed);
}
InflationPointCalculationEvent::Delegation(
delegation,
owner,
@ -2285,6 +2291,7 @@ fn main() {
deactivation_epoch: String,
earned_epochs: String,
earned_credits: String,
credits_observed: String,
base_rewards: String,
stake_rewards: String,
vote_rewards: String,
@ -2328,6 +2335,9 @@ fn main() {
),
earned_epochs: format_or_na(detail.map(|d| d.epochs)),
earned_credits: format_or_na(detail.map(|d| d.credits)),
credits_observed: format_or_na(
detail.and_then(|d| d.credits_observed),
),
base_rewards: format_or_na(detail.map(|d| d.base_rewards)),
stake_rewards: format_or_na(
detail.map(|d| d.stake_rewards),

View File

@ -37,6 +37,7 @@ pub enum InflationPointCalculationEvent {
RentExemptReserve(u64),
Delegation(Delegation, Pubkey),
Commission(u8),
CreditsObserved(u64),
}
fn null_tracer() -> Option<impl FnMut(&InflationPointCalculationEvent)> {
@ -479,6 +480,11 @@ impl Stake {
)
.map(|(stakers_reward, voters_reward, credits_observed)| {
self.credits_observed = credits_observed;
if let Some(inflation_point_calc_tracer) = inflation_point_calc_tracer {
inflation_point_calc_tracer(&InflationPointCalculationEvent::CreditsObserved(
credits_observed,
));
}
self.delegation.stake += stakers_reward;
(stakers_reward, voters_reward)
})