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

     1  package cli
     2  
     3  import (
     4  	"github.com/spf13/cobra"
     5  
     6  	"github.com/Finschia/finschia-sdk/client"
     7  	"github.com/Finschia/finschia-sdk/client/flags"
     8  	"github.com/Finschia/finschia-sdk/client/tx"
     9  	sdk "github.com/Finschia/finschia-sdk/types"
    10  	"github.com/Finschia/finschia-sdk/x/slashing/types"
    11  )
    12  
    13  // NewTxCmd returns a root CLI command handler for all x/slashing transaction commands.
    14  func NewTxCmd() *cobra.Command {
    15  	slashingTxCmd := &cobra.Command{
    16  		Use:                        types.ModuleName,
    17  		Short:                      "Slashing transaction subcommands",
    18  		DisableFlagParsing:         true,
    19  		SuggestionsMinimumDistance: 2,
    20  		RunE:                       client.ValidateCmd,
    21  	}
    22  
    23  	slashingTxCmd.AddCommand(NewUnjailTxCmd())
    24  	return slashingTxCmd
    25  }
    26  
    27  func NewUnjailTxCmd() *cobra.Command {
    28  	cmd := &cobra.Command{
    29  		Use:   "unjail",
    30  		Args:  cobra.NoArgs,
    31  		Short: "unjail validator previously jailed for downtime",
    32  		Long: `unjail a jailed validator:
    33  
    34  $ <appd> tx slashing unjail --from mykey
    35  `,
    36  		RunE: func(cmd *cobra.Command, args []string) error {
    37  			clientCtx, err := client.GetClientTxContext(cmd)
    38  			if err != nil {
    39  				return err
    40  			}
    41  			valAddr := clientCtx.GetFromAddress()
    42  
    43  			msg := types.NewMsgUnjail(sdk.ValAddress(valAddr))
    44  
    45  			return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg)
    46  		},
    47  	}
    48  
    49  	flags.AddTxFlagsToCmd(cmd)
    50  
    51  	return cmd
    52  }