github.com/cosmos/cosmos-sdk@v0.50.10/x/gov/client/utils/utils.go (about) 1 package utils 2 3 import ( 4 "strings" 5 6 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" 7 ) 8 9 // NormalizeVoteOption - normalize user specified vote option 10 func NormalizeVoteOption(option string) string { 11 switch option { 12 case "Yes", "yes": 13 return v1beta1.OptionYes.String() 14 15 case "Abstain", "abstain": 16 return v1beta1.OptionAbstain.String() 17 18 case "No", "no": 19 return v1beta1.OptionNo.String() 20 21 case "NoWithVeto", "no_with_veto": 22 return v1beta1.OptionNoWithVeto.String() 23 24 default: 25 return option 26 } 27 } 28 29 // NormalizeWeightedVoteOptions - normalize vote options param string 30 func NormalizeWeightedVoteOptions(options string) string { 31 newOptions := []string{} 32 for _, option := range strings.Split(options, ",") { 33 fields := strings.Split(option, "=") 34 fields[0] = NormalizeVoteOption(fields[0]) 35 if len(fields) < 2 { 36 fields = append(fields, "1") 37 } 38 newOptions = append(newOptions, strings.Join(fields, "=")) 39 } 40 return strings.Join(newOptions, ",") 41 } 42 43 // NormalizeProposalType - normalize user specified proposal type. 44 func NormalizeProposalType(proposalType string) string { 45 switch proposalType { 46 case "Text", "text": 47 return v1beta1.ProposalTypeText 48 49 default: 50 return "" 51 } 52 } 53 54 // NormalizeProposalStatus - normalize user specified proposal status. 55 func NormalizeProposalStatus(status string) string { 56 switch status { 57 case "DepositPeriod", "deposit_period": 58 return v1beta1.StatusDepositPeriod.String() 59 case "VotingPeriod", "voting_period": 60 return v1beta1.StatusVotingPeriod.String() 61 case "Passed", "passed": 62 return v1beta1.StatusPassed.String() 63 case "Rejected", "rejected": 64 return v1beta1.StatusRejected.String() 65 default: 66 return status 67 } 68 }