github.com/Finschia/finschia-sdk@v0.48.1/x/distribution/types/validator.go (about) 1 package types 2 3 import ( 4 "fmt" 5 "strings" 6 7 sdk "github.com/Finschia/finschia-sdk/types" 8 ) 9 10 // create a new ValidatorHistoricalRewards 11 func NewValidatorHistoricalRewards(cumulativeRewardRatio sdk.DecCoins, referenceCount uint32) ValidatorHistoricalRewards { 12 return ValidatorHistoricalRewards{ 13 CumulativeRewardRatio: cumulativeRewardRatio, 14 ReferenceCount: referenceCount, 15 } 16 } 17 18 // create a new ValidatorCurrentRewards 19 func NewValidatorCurrentRewards(rewards sdk.DecCoins, period uint64) ValidatorCurrentRewards { 20 return ValidatorCurrentRewards{ 21 Rewards: rewards, 22 Period: period, 23 } 24 } 25 26 // return the initial accumulated commission (zero) 27 func InitialValidatorAccumulatedCommission() ValidatorAccumulatedCommission { 28 return ValidatorAccumulatedCommission{} 29 } 30 31 // create a new ValidatorSlashEvent 32 func NewValidatorSlashEvent(validatorPeriod uint64, fraction sdk.Dec) ValidatorSlashEvent { 33 return ValidatorSlashEvent{ 34 ValidatorPeriod: validatorPeriod, 35 Fraction: fraction, 36 } 37 } 38 39 func (vs ValidatorSlashEvents) String() string { 40 out := "Validator Slash Events:\n" 41 for i, sl := range vs.ValidatorSlashEvents { 42 out += fmt.Sprintf(` Slash %d: 43 Period: %d 44 Fraction: %s 45 `, i, sl.ValidatorPeriod, sl.Fraction) 46 } 47 return strings.TrimSpace(out) 48 }