github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/cosmos-sdk/x/staking/client/cli/utils.go (about) 1 package cli 2 3 import ( 4 "errors" 5 6 sdk "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/types" 7 "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/x/staking/types" 8 ) 9 10 func buildCommissionRates(rateStr, maxRateStr, maxChangeRateStr string) (commission types.CommissionRates, err error) { 11 if rateStr == "" || maxRateStr == "" || maxChangeRateStr == "" { 12 return commission, errors.New("must specify all validator commission parameters") 13 } 14 15 rate, err := sdk.NewDecFromStr(rateStr) 16 if err != nil { 17 return commission, err 18 } 19 20 maxRate, err := sdk.NewDecFromStr(maxRateStr) 21 if err != nil { 22 return commission, err 23 } 24 25 maxChangeRate, err := sdk.NewDecFromStr(maxChangeRateStr) 26 if err != nil { 27 return commission, err 28 } 29 30 commission = types.NewCommissionRates(rate, maxRate, maxChangeRate) 31 return commission, nil 32 }