Minor cleanup of validator CLI logic (#3221)
This commit is contained in:
parent
8088450873
commit
fa056c9816
|
@ -57,6 +57,7 @@ func CompleteAndBroadcastTxCli(txBldr authtxb.TxBuilder, cliCtx context.CLIConte
|
|||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// broadcast to a Tendermint node
|
||||
_, err = cliCtx.BroadcastTx(txBytes)
|
||||
return err
|
||||
|
|
|
@ -113,7 +113,7 @@ following delegation and commission default parameters:
|
|||
// Run gaiad tx create-validator
|
||||
txBldr := authtxb.NewTxBuilderFromCLI().WithTxEncoder(utils.GetTxEncoder(cdc))
|
||||
cliCtx := context.NewCLIContext().WithCodec(cdc)
|
||||
cliCtx, txBldr, msg, err := cli.BuildCreateValidatorMsg(cliCtx, txBldr)
|
||||
txBldr, msg, err := cli.BuildCreateValidatorMsg(cliCtx, txBldr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
|
|
@ -46,24 +46,24 @@ var (
|
|||
)
|
||||
|
||||
func init() {
|
||||
FsPk.String(FlagPubKey, "", "Bech32-encoded PubKey of the validator. ")
|
||||
FsPk.String(FlagPubKey, "", "The Bech32 encoded PubKey of the validator")
|
||||
FsAmount.String(FlagAmount, "", "Amount of coins to bond")
|
||||
fsShares.String(FlagSharesAmount, "", "Amount of source-shares to either unbond or redelegate as a positive integer or decimal")
|
||||
fsShares.String(FlagSharesFraction, "", "Fraction of source-shares to either unbond or redelegate as a positive integer or decimal >0 and <=1")
|
||||
fsDescriptionCreate.String(FlagMoniker, "", "validator name")
|
||||
fsDescriptionCreate.String(FlagIdentity, "", "optional identity signature (ex. UPort or Keybase)")
|
||||
fsDescriptionCreate.String(FlagWebsite, "", "optional website")
|
||||
fsDescriptionCreate.String(FlagDetails, "", "optional details")
|
||||
fsDescriptionCreate.String(FlagMoniker, "", "The validator's name")
|
||||
fsDescriptionCreate.String(FlagIdentity, "", "The optional identity signature (ex. UPort or Keybase)")
|
||||
fsDescriptionCreate.String(FlagWebsite, "", "The validator's (optional) website")
|
||||
fsDescriptionCreate.String(FlagDetails, "", "The validator's (optional) details")
|
||||
fsCommissionUpdate.String(FlagCommissionRate, "", "The new commission rate percentage")
|
||||
FsCommissionCreate.String(FlagCommissionRate, "", "The initial commission rate percentage")
|
||||
FsCommissionCreate.String(FlagCommissionMaxRate, "", "The maximum commission rate percentage")
|
||||
FsCommissionCreate.String(FlagCommissionMaxChangeRate, "", "The maximum commission change rate percentage (per day)")
|
||||
fsDescriptionEdit.String(FlagMoniker, types.DoNotModifyDesc, "validator name")
|
||||
fsDescriptionEdit.String(FlagIdentity, types.DoNotModifyDesc, "optional identity signature (ex. UPort or Keybase)")
|
||||
fsDescriptionEdit.String(FlagWebsite, types.DoNotModifyDesc, "optional website")
|
||||
fsDescriptionEdit.String(FlagDetails, types.DoNotModifyDesc, "optional details")
|
||||
fsValidator.String(FlagAddressValidator, "", "bech address of the validator")
|
||||
fsDelegator.String(FlagAddressDelegator, "", "bech address of the delegator")
|
||||
fsRedelegation.String(FlagAddressValidatorSrc, "", "bech address of the source validator")
|
||||
fsRedelegation.String(FlagAddressValidatorDst, "", "bech address of the destination validator")
|
||||
fsDescriptionEdit.String(FlagMoniker, types.DoNotModifyDesc, "The validator's name")
|
||||
fsDescriptionEdit.String(FlagIdentity, types.DoNotModifyDesc, "The (optional) identity signature (ex. UPort or Keybase)")
|
||||
fsDescriptionEdit.String(FlagWebsite, types.DoNotModifyDesc, "The validator's (optional) website")
|
||||
fsDescriptionEdit.String(FlagDetails, types.DoNotModifyDesc, "The validator's (optional) details")
|
||||
fsValidator.String(FlagAddressValidator, "", "The Bech32 address of the validator")
|
||||
fsDelegator.String(FlagAddressDelegator, "", "The Bech32 address of the delegator")
|
||||
fsRedelegation.String(FlagAddressValidatorSrc, "", "The Bech32 address of the source validator")
|
||||
fsRedelegation.String(FlagAddressValidatorDst, "", "The Bech32 address of the destination validator")
|
||||
}
|
||||
|
|
|
@ -2,9 +2,10 @@ package cli
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/cosmos/cosmos-sdk/x/auth"
|
||||
"os"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/x/auth"
|
||||
|
||||
"github.com/cosmos/cosmos-sdk/client"
|
||||
"github.com/cosmos/cosmos-sdk/client/context"
|
||||
"github.com/cosmos/cosmos-sdk/client/utils"
|
||||
|
@ -28,7 +29,7 @@ func GetCmdCreateValidator(cdc *codec.Codec) *cobra.Command {
|
|||
WithCodec(cdc).
|
||||
WithAccountDecoder(cdc)
|
||||
|
||||
cliCtx, txBldr, msg, err := BuildCreateValidatorMsg(cliCtx, txBldr)
|
||||
txBldr, msg, err := BuildCreateValidatorMsg(cliCtx, txBldr)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -48,8 +49,9 @@ func GetCmdCreateValidator(cdc *codec.Codec) *cobra.Command {
|
|||
cmd.Flags().AddFlagSet(FsCommissionCreate)
|
||||
cmd.Flags().AddFlagSet(fsDelegator)
|
||||
cmd.Flags().Bool(FlagGenesisFormat, false, "Export the transaction in gen-tx format; it implies --generate-only")
|
||||
cmd.Flags().String(FlagIP, "", fmt.Sprintf("Node's public IP. It takes effect only when used in combination with --%s", FlagGenesisFormat))
|
||||
cmd.Flags().String(FlagNodeID, "", "Node's ID")
|
||||
cmd.Flags().String(FlagIP, "", fmt.Sprintf("The node's public IP. It takes effect only when used in combination with --%s", FlagGenesisFormat))
|
||||
cmd.Flags().String(FlagNodeID, "", "The node's ID")
|
||||
|
||||
cmd.MarkFlagRequired(client.FlagFrom)
|
||||
cmd.MarkFlagRequired(FlagAmount)
|
||||
cmd.MarkFlagRequired(FlagPubKey)
|
||||
|
@ -256,22 +258,22 @@ func GetCmdUnbond(storeName string, cdc *codec.Codec) *cobra.Command {
|
|||
}
|
||||
|
||||
// BuildCreateValidatorMsg makes a new MsgCreateValidator.
|
||||
func BuildCreateValidatorMsg(cliCtx context.CLIContext, txBldr authtxb.TxBuilder) (context.CLIContext, authtxb.TxBuilder, sdk.Msg, error) {
|
||||
func BuildCreateValidatorMsg(cliCtx context.CLIContext, txBldr authtxb.TxBuilder) (authtxb.TxBuilder, sdk.Msg, error) {
|
||||
amounstStr := viper.GetString(FlagAmount)
|
||||
amount, err := sdk.ParseCoin(amounstStr)
|
||||
if err != nil {
|
||||
return cliCtx, txBldr, nil, err
|
||||
return txBldr, nil, err
|
||||
}
|
||||
|
||||
valAddr, err := cliCtx.GetFromAddress()
|
||||
if err != nil {
|
||||
return cliCtx, txBldr, nil, err
|
||||
return txBldr, nil, err
|
||||
}
|
||||
|
||||
pkStr := viper.GetString(FlagPubKey)
|
||||
pk, err := sdk.GetConsPubKeyBech32(pkStr)
|
||||
if err != nil {
|
||||
return cliCtx, txBldr, nil, err
|
||||
return txBldr, nil, err
|
||||
}
|
||||
|
||||
description := stake.NewDescription(
|
||||
|
@ -287,14 +289,16 @@ func BuildCreateValidatorMsg(cliCtx context.CLIContext, txBldr authtxb.TxBuilder
|
|||
maxChangeRateStr := viper.GetString(FlagCommissionMaxChangeRate)
|
||||
commissionMsg, err := buildCommissionMsg(rateStr, maxRateStr, maxChangeRateStr)
|
||||
if err != nil {
|
||||
return cliCtx, txBldr, nil, err
|
||||
return txBldr, nil, err
|
||||
}
|
||||
|
||||
delAddr := viper.GetString(FlagAddressDelegator)
|
||||
|
||||
var msg sdk.Msg
|
||||
if viper.GetString(FlagAddressDelegator) != "" {
|
||||
delAddr, err := sdk.AccAddressFromBech32(viper.GetString(FlagAddressDelegator))
|
||||
if delAddr != "" {
|
||||
delAddr, err := sdk.AccAddressFromBech32(delAddr)
|
||||
if err != nil {
|
||||
return cliCtx, txBldr, nil, err
|
||||
return txBldr, nil, err
|
||||
}
|
||||
|
||||
msg = stake.NewMsgCreateValidatorOnBehalfOf(
|
||||
|
@ -313,5 +317,5 @@ func BuildCreateValidatorMsg(cliCtx context.CLIContext, txBldr authtxb.TxBuilder
|
|||
txBldr = txBldr.WithMemo(fmt.Sprintf("%s@%s:26656", nodeID, ip))
|
||||
}
|
||||
}
|
||||
return cliCtx, txBldr, msg, nil
|
||||
return txBldr, msg, nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue