From 151990da2e3065dc0143588f77f2f9d7fe201315 Mon Sep 17 00:00:00 2001 From: mconcat Date: Mon, 7 Mar 2022 17:48:55 +0900 Subject: [PATCH] add partial unlocking flag for cli --- x/lockup/client/cli/flags.go | 8 ++++++++ x/lockup/client/cli/tx.go | 17 ++++++++++++++++- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/x/lockup/client/cli/flags.go b/x/lockup/client/cli/flags.go index c70fc1e336d..058c043840e 100644 --- a/x/lockup/client/cli/flags.go +++ b/x/lockup/client/cli/flags.go @@ -8,6 +8,7 @@ import ( const ( FlagDuration = "duration" FlagMinDuration = "min-duration" + FlagAmount = "amount" ) // FlagSetLockTokens returns flags for LockTokens msg builder @@ -18,6 +19,13 @@ func FlagSetLockTokens() *flag.FlagSet { return fs } +func FlagSetUnlockTokens() *flag.FlagSet { + fs := flag.NewFlagSet("", flag.ContinueOnError) + + fs.String(FlagAmount, "", "The amount to be unlocked. e.g. 1osmo") + return fs +} + func FlagSetMinDuration() *flag.FlagSet { fs := flag.NewFlagSet("", flag.ContinueOnError) diff --git a/x/lockup/client/cli/tx.go b/x/lockup/client/cli/tx.go index 40c6c9c2d1e..f0b6f6838db 100644 --- a/x/lockup/client/cli/tx.go +++ b/x/lockup/client/cli/tx.go @@ -125,16 +125,31 @@ func NewBeginUnlockByIDCmd() *cobra.Command { return err } + coins := sdk.Coins(nil) + amountStr, err := cmd.Flags().GetString(FlagAmount) + if err != nil { + return err + } + + if amountStr != "" { + coins, err = sdk.ParseCoinsNormalized(amountStr) + if err != nil { + return err + } + } + msg := types.NewMsgBeginUnlocking( clientCtx.GetFromAddress(), uint64(id), - nil, + coins, ) return tx.GenerateOrBroadcastTxWithFactory(clientCtx, txf, msg) }, } + cmd.Flags().AddFlagSet(FlagSetUnlockTokens()) + flags.AddTxFlagsToCmd(cmd) return cmd }