Skip to content

Commit

Permalink
feat: Improve withdraw-all-rewards UX (cosmos#9781)
Browse files Browse the repository at this point in the history
(cherry picked from commit 90157fc)
  • Loading branch information
RiccardoM committed Jul 28, 2021
1 parent 42c8767 commit ed657dc
Showing 1 changed file with 9 additions and 3 deletions.
12 changes: 9 additions & 3 deletions x/distribution/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ var (
)

const (
MaxMessagesPerTxDefault = 5
MaxMessagesPerTxDefault = 0
)

// NewTxCmd returns a root CLI command handler for all x/distribution transaction commands.
Expand Down Expand Up @@ -133,11 +133,12 @@ func NewWithdrawAllRewardsCmd() *cobra.Command {
Short: "withdraw all delegations rewards for a delegator",
Long: strings.TrimSpace(
fmt.Sprintf(`Withdraw all rewards for a single delegator.
Note that if you use this command with --%[2]s=%[3]s or --%[2]s=%[4]s, the %[5]s flag will automatically be set to 0.
Example:
$ %s tx distribution withdraw-all-rewards --from mykey
$ %[1]s tx distribution withdraw-all-rewards --from mykey
`,
version.AppName,
version.AppName, flags.FlagBroadcastMode, flags.BroadcastSync, flags.BroadcastAsync, FlagMaxMessagesPerTx,
),
),
Args: cobra.NoArgs,
Expand Down Expand Up @@ -177,6 +178,11 @@ $ %s tx distribution withdraw-all-rewards --from mykey
}

chunkSize, _ := cmd.Flags().GetInt(FlagMaxMessagesPerTx)
if clientCtx.BroadcastMode != flags.BroadcastBlock && chunkSize > 0 {
return fmt.Errorf("cannot use broadcast mode %[1]s with %[2]s != 0",
clientCtx.BroadcastMode, FlagMaxMessagesPerTx)
}

return newSplitAndApply(tx.GenerateOrBroadcastTxCLI, clientCtx, cmd.Flags(), msgs, chunkSize)
},
}
Expand Down

0 comments on commit ed657dc

Please sign in to comment.