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 }