github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/x/staking/keeper/validator_distr_proposal.go (about) 1 package keeper 2 3 import ( 4 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 5 "github.com/fibonacci-chain/fbc/x/staking/types" 6 ) 7 8 // UpdateValidatorCommission attempts to update a validator's commission rate. 9 // An error is returned if the new commission rate is invalid. 10 func (k Keeper) UpdateValidatorCommission(ctx sdk.Context, 11 validator types.Validator, newRate sdk.Dec) (types.Commission, error) { 12 13 commission := validator.Commission 14 blockTime := ctx.BlockHeader().Time 15 if err := commission.ValidateNewRate(newRate, blockTime); err != nil { 16 return commission, err 17 } 18 19 commission.Rate = newRate 20 commission.UpdateTime = blockTime 21 return commission, nil 22 }