Merge PR #4494: Fix validator-outstanding-rewards command
This commit is contained in:
parent
5f9c3fdf88
commit
1ccf0c2e8d
|
@ -0,0 +1,2 @@
|
|||
#4493 Fix validator-outstanding-rewards command. It now takes as an argument
|
||||
a validator address.
|
|
@ -59,20 +59,46 @@ func GetCmdQueryParams(queryRoute string, cdc *codec.Codec) *cobra.Command {
|
|||
// GetCmdQueryValidatorOutstandingRewards implements the query validator outstanding rewards command.
|
||||
func GetCmdQueryValidatorOutstandingRewards(queryRoute string, cdc *codec.Codec) *cobra.Command {
|
||||
return &cobra.Command{
|
||||
Use: "validator-outstanding-rewards",
|
||||
Args: cobra.NoArgs,
|
||||
Use: "validator-outstanding-rewards [validator]",
|
||||
Args: cobra.ExactArgs(1),
|
||||
Short: "Query distribution outstanding (un-withdrawn) rewards for a validator and all their delegations",
|
||||
Long: strings.TrimSpace(
|
||||
fmt.Sprintf(`Query distribution outstanding (un-withdrawn) rewards
|
||||
for a validator and all their delegations.
|
||||
|
||||
Example:
|
||||
$ %s query distr validator-outstanding-rewards cosmosvaloper1lwjmdnks33xwnmfayc64ycprww49n33mtm92ne
|
||||
`,
|
||||
version.ClientName,
|
||||
),
|
||||
),
|
||||
RunE: func(cmd *cobra.Command, args []string) error {
|
||||
cliCtx := context.NewCLIContext().WithCodec(cdc)
|
||||
|
||||
route := fmt.Sprintf("custom/%s/validator_outstanding_rewards", queryRoute)
|
||||
res, err := cliCtx.QueryWithData(route, []byte{})
|
||||
valAddr, err := sdk.ValAddressFromBech32(args[0])
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
params := types.NewQueryValidatorOutstandingRewardsParams(valAddr)
|
||||
bz, err := cdc.MarshalJSON(params)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
resp, err := cliCtx.QueryWithData(
|
||||
fmt.Sprintf("custom/%s/%s", queryRoute, types.QueryValidatorOutstandingRewards),
|
||||
bz,
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
var outstandingRewards types.ValidatorOutstandingRewards
|
||||
cdc.MustUnmarshalJSON(res, &outstandingRewards)
|
||||
if err := cdc.UnmarshalJSON(resp, &outstandingRewards); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return cliCtx.PrintOutput(outstandingRewards)
|
||||
},
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue