Merge pull request #4134 from filecoin-project/feat/better-replace-ux
improve the UX for replacing messages
This commit is contained in:
commit
bceb880ee2
57
cli/mpool.go
57
cli/mpool.go
@ -7,6 +7,7 @@ import (
|
|||||||
"sort"
|
"sort"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
|
cid "github.com/ipfs/go-cid"
|
||||||
"github.com/urfave/cli/v2"
|
"github.com/urfave/cli/v2"
|
||||||
"golang.org/x/xerrors"
|
"golang.org/x/xerrors"
|
||||||
|
|
||||||
@ -43,6 +44,10 @@ var mpoolPending = &cli.Command{
|
|||||||
Name: "local",
|
Name: "local",
|
||||||
Usage: "print pending messages for addresses in local wallet only",
|
Usage: "print pending messages for addresses in local wallet only",
|
||||||
},
|
},
|
||||||
|
&cli.BoolFlag{
|
||||||
|
Name: "cids",
|
||||||
|
Usage: "only print cids of messages in output",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
Action: func(cctx *cli.Context) error {
|
Action: func(cctx *cli.Context) error {
|
||||||
api, closer, err := GetFullNodeAPI(cctx)
|
api, closer, err := GetFullNodeAPI(cctx)
|
||||||
@ -79,12 +84,16 @@ var mpoolPending = &cli.Command{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if cctx.Bool("cids") {
|
||||||
|
fmt.Println(msg.Cid())
|
||||||
|
} else {
|
||||||
out, err := json.MarshalIndent(msg, "", " ")
|
out, err := json.MarshalIndent(msg, "", " ")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
fmt.Println(string(out))
|
fmt.Println(string(out))
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
},
|
},
|
||||||
@ -308,21 +317,8 @@ var mpoolReplaceCmd = &cli.Command{
|
|||||||
Usage: "Spend up to X FIL for this message (applicable for auto mode)",
|
Usage: "Spend up to X FIL for this message (applicable for auto mode)",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
ArgsUsage: "[from] [nonce]",
|
ArgsUsage: "<from nonce> | <message-cid>",
|
||||||
Action: func(cctx *cli.Context) error {
|
Action: func(cctx *cli.Context) error {
|
||||||
if cctx.Args().Len() < 2 {
|
|
||||||
return cli.ShowCommandHelp(cctx, cctx.Command.Name)
|
|
||||||
}
|
|
||||||
|
|
||||||
from, err := address.NewFromString(cctx.Args().Get(0))
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
nonce, err := strconv.ParseUint(cctx.Args().Get(1), 10, 64)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
api, closer, err := GetFullNodeAPI(cctx)
|
api, closer, err := GetFullNodeAPI(cctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -332,6 +328,39 @@ var mpoolReplaceCmd = &cli.Command{
|
|||||||
|
|
||||||
ctx := ReqContext(cctx)
|
ctx := ReqContext(cctx)
|
||||||
|
|
||||||
|
var from address.Address
|
||||||
|
var nonce uint64
|
||||||
|
switch cctx.Args().Len() {
|
||||||
|
case 1:
|
||||||
|
mcid, err := cid.Decode(cctx.Args().First())
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
msg, err := api.ChainGetMessage(ctx, mcid)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("could not find referenced message: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
from = msg.From
|
||||||
|
nonce = msg.Nonce
|
||||||
|
case 2:
|
||||||
|
f, err := address.NewFromString(cctx.Args().Get(0))
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
n, err := strconv.ParseUint(cctx.Args().Get(1), 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
from = f
|
||||||
|
nonce = n
|
||||||
|
default:
|
||||||
|
return cli.ShowCommandHelp(cctx, cctx.Command.Name)
|
||||||
|
}
|
||||||
|
|
||||||
ts, err := api.ChainHead(ctx)
|
ts, err := api.ChainHead(ctx)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return xerrors.Errorf("getting chain head: %w", err)
|
return xerrors.Errorf("getting chain head: %w", err)
|
||||||
|
Loading…
Reference in New Issue
Block a user