forked from cerc-io/laconicd-deprecated
e90b21bc8e
1. add bond,auction, nameserivce module 2. update to v0.12.2 ethermint version 3. fix the test cases 4. add gql server
126 lines
3.2 KiB
Go
126 lines
3.2 KiB
Go
package cli
|
|
|
|
import (
|
|
"github.com/cosmos/cosmos-sdk/client"
|
|
"github.com/cosmos/cosmos-sdk/client/tx"
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
|
"github.com/spf13/cobra"
|
|
"github.com/tharsis/ethermint/server/flags"
|
|
"github.com/tharsis/ethermint/x/bond/types"
|
|
)
|
|
|
|
// NewTxCmd returns a root CLI command handler for all x/bond transaction commands.
|
|
func NewTxCmd() *cobra.Command {
|
|
bondTxCmd := &cobra.Command{
|
|
Use: types.ModuleName,
|
|
Short: "bond transaction subcommands",
|
|
DisableFlagParsing: true,
|
|
SuggestionsMinimumDistance: 2,
|
|
RunE: client.ValidateCmd,
|
|
}
|
|
|
|
bondTxCmd.AddCommand(
|
|
NewCreateBondCmd(),
|
|
RefillBondCmd(),
|
|
WithdrawBondCmd(),
|
|
CancelBondCmd(),
|
|
)
|
|
|
|
return bondTxCmd
|
|
}
|
|
|
|
// NewCreateBondCmd is the CLI command for creating a bond.
|
|
func NewCreateBondCmd() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "create [amount]",
|
|
Short: "Create bond.",
|
|
Args: cobra.ExactArgs(1),
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
clientCtx, err := client.GetClientTxContext(cmd)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
coin, err := sdk.ParseCoinNormalized(args[0])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
msg := types.NewMsgCreateBond(sdk.NewCoins(coin), clientCtx.GetFromAddress())
|
|
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), &msg)
|
|
},
|
|
}
|
|
|
|
flags.AddTxFlags(cmd)
|
|
return cmd
|
|
}
|
|
|
|
// RefillBondCmd is the CLI command for creating a bond.
|
|
func RefillBondCmd() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "refill [bond Id] [amount]",
|
|
Short: "Refill bond.",
|
|
Args: cobra.ExactArgs(2),
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
clientCtx, err := client.GetClientTxContext(cmd)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
bondId := args[0]
|
|
coin, err := sdk.ParseCoinNormalized(args[1])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
msg := types.NewMsgRefillBond(bondId, coin, clientCtx.GetFromAddress())
|
|
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), &msg)
|
|
},
|
|
}
|
|
flags.AddTxFlags(cmd)
|
|
return cmd
|
|
}
|
|
|
|
// WithdrawBondCmd is the CLI command for withdrawing funds from a bond.
|
|
func WithdrawBondCmd() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "withdraw [bond Id] [amount]",
|
|
Short: "Withdraw amount from bond.",
|
|
Args: cobra.ExactArgs(2),
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
clientCtx, err := client.GetClientTxContext(cmd)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
bondId := args[0]
|
|
coin, err := sdk.ParseCoinNormalized(args[1])
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
msg := types.NewMsgWithdrawBond(bondId, coin, clientCtx.GetFromAddress())
|
|
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), &msg)
|
|
},
|
|
}
|
|
flags.AddTxFlags(cmd)
|
|
return cmd
|
|
}
|
|
|
|
// CancelBondCmd is the CLI command for cancelling a bond.
|
|
func CancelBondCmd() *cobra.Command {
|
|
cmd := &cobra.Command{
|
|
Use: "cancel [bond Id]",
|
|
Short: "cancel bond.",
|
|
Args: cobra.ExactArgs(1),
|
|
RunE: func(cmd *cobra.Command, args []string) error {
|
|
clientCtx, err := client.GetClientTxContext(cmd)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
bondId := args[0]
|
|
msg := types.NewMsgCancelBond(bondId, clientCtx.GetFromAddress())
|
|
return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), &msg)
|
|
},
|
|
}
|
|
flags.AddTxFlags(cmd)
|
|
return cmd
|
|
}
|