package types import ( "fmt" "strings" sdk "github.com/cosmos/cosmos-sdk/types" ) // create a new ValidatorHistoricalRewards func NewValidatorHistoricalRewards(cumulativeRewardRatio sdk.DecCoins, referenceCount uint32) ValidatorHistoricalRewards { return ValidatorHistoricalRewards{ CumulativeRewardRatio: cumulativeRewardRatio, ReferenceCount: referenceCount, } } // create a new ValidatorCurrentRewards func NewValidatorCurrentRewards(rewards sdk.DecCoins, period uint64) ValidatorCurrentRewards { return ValidatorCurrentRewards{ Rewards: rewards, Period: period, } } // return the initial accumulated commission (zero) func InitialValidatorAccumulatedCommission() ValidatorAccumulatedCommission { return ValidatorAccumulatedCommission{} } // create a new ValidatorSlashEvent func NewValidatorSlashEvent(validatorPeriod uint64, fraction sdk.Dec) ValidatorSlashEvent { return ValidatorSlashEvent{ ValidatorPeriod: validatorPeriod, Fraction: fraction, } } func (vs ValidatorSlashEvents) String() string { out := "Validator Slash Events:\n" for i, sl := range vs.ValidatorSlashEvents { out += fmt.Sprintf(` Slash %d: Period: %d Fraction: %s `, i, sl.ValidatorPeriod, sl.Fraction) } return strings.TrimSpace(out) }