github.com/Finschia/finschia-sdk@v0.48.1/x/staking/client/cli/utils.go (about)

     1  package cli
     2  
     3  import (
     4  	"errors"
     5  
     6  	sdk "github.com/Finschia/finschia-sdk/types"
     7  	"github.com/Finschia/finschia-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  
    32  	return commission, nil
    33  }