Merge pull request #9317 from filecoin-project/gstuart/cli-cleanup
chore: cli: cleanup and standardize cli
This commit is contained in:
commit
4f46ad3665
@ -114,8 +114,8 @@ this command must be within this base path`,
|
||||
},
|
||||
ArgsUsage: "[backup file path]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument")
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
if cctx.Bool("offline") {
|
||||
|
12
cli/chain.go
12
cli/chain.go
@ -946,8 +946,8 @@ var ChainBisectCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() < 4 {
|
||||
return xerrors.New("need at least 4 args")
|
||||
if cctx.NArg() < 4 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
start, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -1312,8 +1312,8 @@ var chainDecodeParamsCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 3 {
|
||||
return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments"))
|
||||
if cctx.NArg() != 3 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
to, err := address.NewFromString(cctx.Args().First())
|
||||
@ -1391,8 +1391,8 @@ var chainEncodeParamsCmd = &cli.Command{
|
||||
Action: func(cctx *cli.Context) error {
|
||||
afmt := NewAppFmt(cctx.App)
|
||||
|
||||
if cctx.Args().Len() != 3 {
|
||||
return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments"))
|
||||
if cctx.NArg() != 3 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
method, err := strconv.ParseInt(cctx.Args().Get(1), 10, 64)
|
||||
|
@ -130,7 +130,7 @@ var clientImportCmd = &cli.Command{
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return xerrors.New("expected input path as the only arg")
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
absPath, err := filepath.Abs(cctx.Args().First())
|
||||
@ -212,8 +212,8 @@ var clientCommPCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 1 {
|
||||
return fmt.Errorf("usage: commP <inputPath>")
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ret, err := api.ClientCalcCommP(ctx, cctx.Args().Get(0))
|
||||
@ -245,8 +245,8 @@ var clientCarGenCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 2 {
|
||||
return fmt.Errorf("usage: generate-car <inputPath> <outputPath>")
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ref := lapi.FileRef{
|
||||
@ -376,7 +376,7 @@ The minimum value is 518400 (6 months).`,
|
||||
afmt := NewAppFmt(cctx.App)
|
||||
|
||||
if cctx.NArg() != 4 {
|
||||
return xerrors.New(expectedArgsMsg)
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
// [data, miner, price, dur]
|
||||
|
@ -289,7 +289,7 @@ Examples:
|
||||
}, retrFlagsCommon...),
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments"))
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
if cctx.Bool("car-export-merkle-proof") {
|
||||
@ -405,7 +405,7 @@ var clientRetrieveCatCmd = &cli.Command{
|
||||
}, retrFlagsCommon...),
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments"))
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ainfo, err := GetAPIInfo(cctx, repo.FullNode)
|
||||
@ -484,7 +484,7 @@ var clientRetrieveLsCmd = &cli.Command{
|
||||
}, retrFlagsCommon...),
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments"))
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ainfo, err := GetAPIInfo(cctx, repo.FullNode)
|
||||
|
@ -61,8 +61,8 @@ var filplusVerifyClientCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if cctx.Args().Len() != 2 {
|
||||
return fmt.Errorf("must specify two arguments: address and allowance")
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
target, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -120,7 +120,7 @@ var filplusVerifyClientCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("failed to add verified client: %d", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -289,8 +289,8 @@ var filplusSignRemoveDataCapProposal = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 3 {
|
||||
return fmt.Errorf("must specify three arguments: notary address, client address, and allowance to remove")
|
||||
if cctx.NArg() != 3 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := GetFullNodeAPI(cctx)
|
||||
|
@ -31,6 +31,10 @@ func ShowHelp(cctx *ufcli.Context, err error) error {
|
||||
return &PrintHelpErr{Err: err, Ctx: cctx}
|
||||
}
|
||||
|
||||
func IncorrectNumArgs(cctx *ufcli.Context) error {
|
||||
return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments, got %d", cctx.NArg()))
|
||||
}
|
||||
|
||||
func RunApp(app *ufcli.App) {
|
||||
if err := app.Run(os.Args); err != nil {
|
||||
if os.Getenv("LOTUS_DEV") != "" {
|
||||
|
@ -404,7 +404,7 @@ var MpoolReplaceCmd = &cli.Command{
|
||||
|
||||
var from address.Address
|
||||
var nonce uint64
|
||||
switch cctx.Args().Len() {
|
||||
switch cctx.NArg() {
|
||||
case 1:
|
||||
mcid, err := cid.Decode(cctx.Args().First())
|
||||
if err != nil {
|
||||
@ -610,8 +610,8 @@ var MpoolConfig = &cli.Command{
|
||||
Usage: "get or set current mpool configuration",
|
||||
ArgsUsage: "[new-config]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() > 1 {
|
||||
return cli.ShowCommandHelp(cctx, cctx.Command.Name)
|
||||
if cctx.NArg() > 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
afmt := NewAppFmt(cctx.App)
|
||||
@ -624,7 +624,7 @@ var MpoolConfig = &cli.Command{
|
||||
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
cfg, err := api.MpoolGetConfig(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
|
108
cli/multisig.go
108
cli/multisig.go
@ -88,8 +88,8 @@ var msigCreateCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("multisigs must have at least one signer"))
|
||||
if cctx.NArg() < 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -167,7 +167,7 @@ var msigCreateCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "actor creation failed!")
|
||||
return err
|
||||
}
|
||||
@ -365,11 +365,11 @@ var msigProposeCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 3 {
|
||||
if cctx.NArg() < 3 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass at least multisig address, destination, and value"))
|
||||
}
|
||||
|
||||
if cctx.Args().Len() > 3 && cctx.Args().Len() != 5 {
|
||||
if cctx.NArg() > 3 && cctx.NArg() != 5 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must either pass three or five arguments"))
|
||||
}
|
||||
|
||||
@ -399,7 +399,7 @@ var msigProposeCmd = &cli.Command{
|
||||
|
||||
var method uint64
|
||||
var params []byte
|
||||
if cctx.Args().Len() == 5 {
|
||||
if cctx.NArg() == 5 {
|
||||
m, err := strconv.ParseUint(cctx.Args().Get(3), 10, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -456,7 +456,7 @@ var msigProposeCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("proposal returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -487,15 +487,15 @@ var msigApproveCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 2 {
|
||||
if cctx.NArg() < 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass at least multisig address and message ID"))
|
||||
}
|
||||
|
||||
if cctx.Args().Len() > 2 && cctx.Args().Len() < 5 {
|
||||
if cctx.NArg() > 2 && cctx.NArg() < 5 {
|
||||
return ShowHelp(cctx, fmt.Errorf("usage: msig approve <msig addr> <message ID> <proposer address> <desination> <value>"))
|
||||
}
|
||||
|
||||
if cctx.Args().Len() > 5 && cctx.Args().Len() != 7 {
|
||||
if cctx.NArg() > 5 && cctx.NArg() != 7 {
|
||||
return ShowHelp(cctx, fmt.Errorf("usage: msig approve <msig addr> <message ID> <proposer address> <desination> <value> [ <method> <params> ]"))
|
||||
}
|
||||
|
||||
@ -534,7 +534,7 @@ var msigApproveCmd = &cli.Command{
|
||||
}
|
||||
|
||||
var msgCid cid.Cid
|
||||
if cctx.Args().Len() == 2 {
|
||||
if cctx.NArg() == 2 {
|
||||
proto, err := api.MsigApprove(ctx, msig, txid, from)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -571,7 +571,7 @@ var msigApproveCmd = &cli.Command{
|
||||
|
||||
var method uint64
|
||||
var params []byte
|
||||
if cctx.Args().Len() == 7 {
|
||||
if cctx.NArg() == 7 {
|
||||
m, err := strconv.ParseUint(cctx.Args().Get(5), 10, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -605,7 +605,7 @@ var msigApproveCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("approve returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -624,15 +624,15 @@ var msigCancelCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 2 {
|
||||
if cctx.NArg() < 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass at least multisig address and message ID"))
|
||||
}
|
||||
|
||||
if cctx.Args().Len() > 2 && cctx.Args().Len() < 4 {
|
||||
if cctx.NArg() > 2 && cctx.NArg() < 4 {
|
||||
return ShowHelp(cctx, fmt.Errorf("usage: msig cancel <msig addr> <message ID> <desination> <value>"))
|
||||
}
|
||||
|
||||
if cctx.Args().Len() > 4 && cctx.Args().Len() != 6 {
|
||||
if cctx.NArg() > 4 && cctx.NArg() != 6 {
|
||||
return ShowHelp(cctx, fmt.Errorf("usage: msig cancel <msig addr> <message ID> <desination> <value> [ <method> <params> ]"))
|
||||
}
|
||||
|
||||
@ -671,7 +671,7 @@ var msigCancelCmd = &cli.Command{
|
||||
}
|
||||
|
||||
var msgCid cid.Cid
|
||||
if cctx.Args().Len() == 2 {
|
||||
if cctx.NArg() == 2 {
|
||||
proto, err := api.MsigCancel(ctx, msig, txid, from)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -696,7 +696,7 @@ var msigCancelCmd = &cli.Command{
|
||||
|
||||
var method uint64
|
||||
var params []byte
|
||||
if cctx.Args().Len() == 6 {
|
||||
if cctx.NArg() == 6 {
|
||||
m, err := strconv.ParseUint(cctx.Args().Get(4), 10, 64)
|
||||
if err != nil {
|
||||
return err
|
||||
@ -730,7 +730,7 @@ var msigCancelCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("cancel returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -753,8 +753,8 @@ var msigRemoveProposeCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address and signer address"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -810,7 +810,7 @@ var msigRemoveProposeCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("add proposal returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -840,8 +840,8 @@ var msigAddProposeCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address and signer address"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -930,7 +930,7 @@ var msigAddProposeCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("add proposal returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -949,8 +949,8 @@ var msigAddApproveCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 5 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, proposer address, transaction id, new signer address, whether to increase threshold"))
|
||||
if cctx.NArg() != 5 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1021,7 +1021,7 @@ var msigAddApproveCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("add approval returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1040,8 +1040,8 @@ var msigAddCancelCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 4 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, transaction id, new signer address, whether to increase threshold"))
|
||||
if cctx.NArg() != 4 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1107,7 +1107,7 @@ var msigAddCancelCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("add cancellation returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1126,8 +1126,8 @@ var msigSwapProposeCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 3 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, old signer address, new signer address"))
|
||||
if cctx.NArg() != 3 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1188,7 +1188,7 @@ var msigSwapProposeCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("swap proposal returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1207,8 +1207,8 @@ var msigSwapApproveCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 5 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, proposer address, transaction id, old signer address, new signer address"))
|
||||
if cctx.NArg() != 5 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1279,7 +1279,7 @@ var msigSwapApproveCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("swap approval returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1298,8 +1298,8 @@ var msigSwapCancelCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 4 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, transaction id, old signer address, new signer address"))
|
||||
if cctx.NArg() != 4 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1365,7 +1365,7 @@ var msigSwapCancelCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("swap cancellation returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1384,8 +1384,8 @@ var msigLockProposeCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 4 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, start epoch, unlock duration, and amount"))
|
||||
if cctx.NArg() != 4 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1461,7 +1461,7 @@ var msigLockProposeCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("lock proposal returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1480,8 +1480,8 @@ var msigLockApproveCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 6 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, proposer address, tx id, start epoch, unlock duration, and amount"))
|
||||
if cctx.NArg() != 6 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1567,7 +1567,7 @@ var msigLockApproveCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("lock approval returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1586,8 +1586,8 @@ var msigLockCancelCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 5 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address, tx id, start epoch, unlock duration, and amount"))
|
||||
if cctx.NArg() != 5 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1668,7 +1668,7 @@ var msigLockCancelCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("lock cancellation returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -1693,8 +1693,8 @@ var msigVestedCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address"))
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := GetFullNodeAPI(cctx)
|
||||
@ -1749,8 +1749,8 @@ var msigProposeThresholdCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass multisig address and new threshold value"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
@ -1814,7 +1814,7 @@ var msigProposeThresholdCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("change threshold proposal returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
|
@ -141,8 +141,8 @@ var NetPing = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("please provide a peerID")
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := GetAPI(cctx)
|
||||
|
50
cli/paych.go
50
cli/paych.go
@ -50,8 +50,8 @@ var paychAddFundsCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 3 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass three arguments: <from> <to> <available funds>"))
|
||||
if cctx.NArg() != 3 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
from, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -112,8 +112,8 @@ var paychStatusByFromToCmd = &cli.Command{
|
||||
Usage: "Show the status of an active outbound payment channel by from/to addresses",
|
||||
ArgsUsage: "[fromAddress toAddress]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass two arguments: <from address> <to address>"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
@ -148,8 +148,8 @@ var paychStatusCmd = &cli.Command{
|
||||
Usage: "Show the status of an outbound payment channel",
|
||||
ArgsUsage: "[channelAddress]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass an argument: <channel address>"))
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
@ -260,8 +260,8 @@ var paychSettleCmd = &cli.Command{
|
||||
Usage: "Settle a payment channel",
|
||||
ArgsUsage: "[channelAddress]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return fmt.Errorf("must pass payment channel address")
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -286,7 +286,7 @@ var paychSettleCmd = &cli.Command{
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("settle message execution failed (exit code %d)", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -300,8 +300,8 @@ var paychCloseCmd = &cli.Command{
|
||||
Usage: "Collect funds for a payment channel",
|
||||
ArgsUsage: "[channelAddress]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return fmt.Errorf("must pass payment channel address")
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -326,7 +326,7 @@ var paychCloseCmd = &cli.Command{
|
||||
if err != nil {
|
||||
return nil
|
||||
}
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("collect message execution failed (exit code %d)", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -360,8 +360,8 @@ var paychVoucherCreateCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass two arguments: <channel> <amount>"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -408,8 +408,8 @@ var paychVoucherCheckCmd = &cli.Command{
|
||||
Usage: "Check validity of payment channel voucher",
|
||||
ArgsUsage: "[channelAddress voucher]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass payment channel address and voucher to validate"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -444,8 +444,8 @@ var paychVoucherAddCmd = &cli.Command{
|
||||
Usage: "Add payment channel voucher to local datastore",
|
||||
ArgsUsage: "[channelAddress voucher]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass payment channel address and voucher"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -486,8 +486,8 @@ var paychVoucherListCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass payment channel address"))
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -531,8 +531,8 @@ var paychVoucherBestSpendableCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass payment channel address"))
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -602,8 +602,8 @@ var paychVoucherSubmitCmd = &cli.Command{
|
||||
Usage: "Submit voucher to chain to update payment channel state",
|
||||
ArgsUsage: "[channelAddress voucher]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must pass payment channel address and voucher"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ch, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -634,7 +634,7 @@ var paychVoucherSubmitCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("message execution failed (exit code %d)", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
|
@ -67,8 +67,8 @@ var sendCmd = &cli.Command{
|
||||
fmt.Println("'force' flag is deprecated, use global flag 'force-send'")
|
||||
}
|
||||
|
||||
if cctx.Args().Len() != 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("'send' expects two arguments, target and amount"))
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := GetFullNodeServices(cctx)
|
||||
|
15
cli/state.go
15
cli/state.go
@ -504,9 +504,8 @@ var StateReplayCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
fmt.Println("must provide cid of message to replay")
|
||||
return nil
|
||||
if cctx.NArg() != 1 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
mcid, err := cid.Decode(cctx.Args().First())
|
||||
@ -1580,8 +1579,8 @@ var StateCallCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 2 {
|
||||
return fmt.Errorf("must specify at least actor and method to invoke")
|
||||
if cctx.NArg() < 2 {
|
||||
return ShowHelp(cctx, fmt.Errorf("must specify at least actor and method to invoke"))
|
||||
}
|
||||
|
||||
api, closer, err := GetFullNodeAPI(cctx)
|
||||
@ -1619,7 +1618,7 @@ var StateCallCmd = &cli.Command{
|
||||
|
||||
var params []byte
|
||||
// If params were passed in, decode them
|
||||
if cctx.Args().Len() > 2 {
|
||||
if cctx.NArg() > 2 {
|
||||
switch cctx.String("encoding") {
|
||||
case "base64":
|
||||
params, err = base64.StdEncoding.DecodeString(cctx.Args().Get(2))
|
||||
@ -1743,8 +1742,8 @@ var StateSectorCmd = &cli.Command{
|
||||
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 2 {
|
||||
return xerrors.Errorf("expected 2 params: minerAddress and sectorNumber")
|
||||
if cctx.NArg() != 2 {
|
||||
return IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
ts, err := LoadTipSet(ctx, cctx, api)
|
||||
|
@ -645,7 +645,7 @@ var walletMarketWithdraw = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
afmt.Println(cctx.App.Writer, "withdrawal failed!")
|
||||
return err
|
||||
}
|
||||
|
@ -959,7 +959,7 @@ var simpleProveReplicaUpdate2 = &cli.Command{
|
||||
}
|
||||
|
||||
func ParsePieceInfos(cctx *cli.Context, firstArg int) ([]abi.PieceInfo, error) {
|
||||
args := cctx.Args().Len() - firstArg
|
||||
args := cctx.NArg() - firstArg
|
||||
if args%2 != 0 {
|
||||
return nil, xerrors.Errorf("piece info argunemts need to be supplied in pairs")
|
||||
}
|
||||
|
@ -81,7 +81,7 @@ var actorSetAddrsCmd = &cli.Command{
|
||||
return fmt.Errorf("unset can only be used with no arguments")
|
||||
}
|
||||
|
||||
nodeAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -112,7 +112,7 @@ var actorSetAddrsCmd = &cli.Command{
|
||||
addrs = append(addrs, maddrNop2p.Bytes())
|
||||
}
|
||||
|
||||
maddr, err := nodeAPI.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -177,7 +177,7 @@ var actorSetPeeridCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -196,7 +196,7 @@ var actorSetPeeridCmd = &cli.Command{
|
||||
return fmt.Errorf("failed to parse input as a peerId: %w", err)
|
||||
}
|
||||
|
||||
maddr, err := nodeAPI.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -258,7 +258,7 @@ var actorWithdrawCmd = &cli.Command{
|
||||
amount = abi.TokenAmount(f)
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -274,9 +274,9 @@ var actorWithdrawCmd = &cli.Command{
|
||||
|
||||
var res cid.Cid
|
||||
if cctx.IsSet("beneficiary") {
|
||||
res, err = nodeApi.BeneficiaryWithdrawBalance(ctx, amount)
|
||||
res, err = minerApi.BeneficiaryWithdrawBalance(ctx, amount)
|
||||
} else {
|
||||
res, err = nodeApi.ActorWithdrawBalance(ctx, amount)
|
||||
res, err = minerApi.ActorWithdrawBalance(ctx, amount)
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
@ -290,7 +290,7 @@ var actorWithdrawCmd = &cli.Command{
|
||||
return xerrors.Errorf("Timeout waiting for withdrawal message %s", wait.Message)
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return xerrors.Errorf("Failed to execute withdrawal message %s: %w", wait.Message, wait.Receipt.ExitCode.Error())
|
||||
}
|
||||
|
||||
@ -326,7 +326,7 @@ var actorRepayDebtCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -340,7 +340,7 @@ var actorRepayDebtCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -441,7 +441,7 @@ var actorControlList = &cli.Command{
|
||||
color.NoColor = !cctx.Bool("color")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -473,7 +473,7 @@ var actorControlList = &cli.Command{
|
||||
tablewriter.Col("balance"),
|
||||
)
|
||||
|
||||
ac, err := nodeApi.ActorAddressConfig(ctx)
|
||||
ac, err := minerApi.ActorAddressConfig(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -610,7 +610,7 @@ var actorControlSet = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -624,7 +624,7 @@ var actorControlSet = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -729,7 +729,7 @@ var actorSetOwnerCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 2 {
|
||||
return fmt.Errorf("must pass new owner address and sender address")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, acloser, err := lcli.GetFullNodeAPI(cctx)
|
||||
@ -799,7 +799,7 @@ var actorSetOwnerCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println("owner change failed!")
|
||||
return err
|
||||
}
|
||||
@ -826,7 +826,7 @@ var actorProposeChangeWorker = &cli.Command{
|
||||
return fmt.Errorf("must pass address of new worker address")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -850,7 +850,7 @@ var actorProposeChangeWorker = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -905,7 +905,7 @@ var actorProposeChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose worker change failed!")
|
||||
return err
|
||||
}
|
||||
@ -941,7 +941,7 @@ var actorConfirmChangeWorker = &cli.Command{
|
||||
return fmt.Errorf("must pass address of new worker address")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -965,7 +965,7 @@ var actorConfirmChangeWorker = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1011,7 +1011,7 @@ var actorConfirmChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Worker change failed!")
|
||||
return err
|
||||
}
|
||||
@ -1056,7 +1056,7 @@ var actorCompactAllocatedCmd = &cli.Command{
|
||||
return fmt.Errorf("must pass address of new owner address")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1070,7 +1070,7 @@ var actorCompactAllocatedCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1170,7 +1170,7 @@ var actorCompactAllocatedCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println("Propose owner change failed!")
|
||||
return err
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ var dagstoreRegisterShardCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must provide a single shard key")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
marketsAPI, closer, err := lcli.GetMarketsAPI(cctx)
|
||||
@ -116,7 +116,7 @@ var dagstoreInitializeShardCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must provide a single shard key")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
marketsApi, closer, err := lcli.GetMarketsAPI(cctx)
|
||||
@ -148,7 +148,7 @@ var dagstoreRecoverShardCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must provide a single shard key")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
marketsApi, closer, err := lcli.GetMarketsAPI(cctx)
|
||||
@ -330,7 +330,7 @@ var dagstoreLookupPiecesCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must provide a CID")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
cidStr := cctx.Args().First()
|
||||
|
@ -36,7 +36,7 @@ var indexProvAnnounceCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must provide the deal proposal CID")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
proposalCidStr := cctx.Args().First()
|
||||
|
@ -16,7 +16,7 @@ var infoAllCmd = &cli.Command{
|
||||
Name: "all",
|
||||
Usage: "dump all related miner info",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -220,7 +220,7 @@ var infoAllCmd = &cli.Command{
|
||||
// Very Very Verbose info
|
||||
fmt.Println("\n#: Per Sector Info")
|
||||
|
||||
list, err := nodeApi.SectorsList(ctx)
|
||||
list, err := minerApi.SectorsList(ctx)
|
||||
if err != nil {
|
||||
fmt.Println("ERROR: ", err)
|
||||
}
|
||||
|
@ -96,8 +96,8 @@ var restoreCmd = &cli.Command{
|
||||
}
|
||||
|
||||
func restore(ctx context.Context, cctx *cli.Context, targetPath string, strConfig *paths.StorageConfig, manageConfig func(*config.StorageMiner) error, after func(api lapi.FullNode, addr address.Address, peerid peer.ID, mi api.MinerInfo) error) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
log.Info("Trying to connect to full node RPC")
|
||||
|
@ -177,13 +177,13 @@ func getActorAddress(ctx context.Context, cctx *cli.Context) (maddr address.Addr
|
||||
return
|
||||
}
|
||||
|
||||
nodeAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return address.Undef, err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = nodeAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return maddr, xerrors.Errorf("getting actor address: %w", err)
|
||||
}
|
||||
|
@ -370,8 +370,8 @@ var dealsImportDataCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.DaemonContext(cctx)
|
||||
|
||||
if cctx.Args().Len() < 2 {
|
||||
return fmt.Errorf("must specify proposal CID and file path")
|
||||
if cctx.NArg() != 2 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
propCid, err := cid.Decode(cctx.Args().Get(0))
|
||||
@ -617,8 +617,8 @@ var setSealDurationCmd = &cli.Command{
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass duration in minutes")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
hs, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
|
@ -314,8 +314,8 @@ var provingDeadlineInfoCmd = &cli.Command{
|
||||
ArgsUsage: "<deadlineIdx>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass deadline index")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
dlIdx, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -461,8 +461,8 @@ var provingCheckProvableCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass deadline index")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
dlIdx, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -476,7 +476,7 @@ var provingCheckProvableCmd = &cli.Command{
|
||||
}
|
||||
defer closer()
|
||||
|
||||
sapi, scloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, scloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -484,7 +484,7 @@ var provingCheckProvableCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
addr, err := sapi.ActorAddress(ctx)
|
||||
addr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -510,7 +510,7 @@ var provingCheckProvableCmd = &cli.Command{
|
||||
var filter map[abi.SectorID]struct{}
|
||||
|
||||
if cctx.IsSet("storage-id") {
|
||||
sl, err := sapi.StorageList(ctx)
|
||||
sl, err := minerApi.StorageList(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -582,7 +582,7 @@ var provingCheckProvableCmd = &cli.Command{
|
||||
})
|
||||
}
|
||||
|
||||
bad, err := sapi.CheckProvable(ctx, info.WindowPoStProofType, tocheck, cctx.Bool("slow"))
|
||||
bad, err := minerApi.CheckProvable(ctx, info.WindowPoStProofType, tocheck, cctx.Bool("slow"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -616,8 +616,8 @@ var provingComputeWindowPoStCmd = &cli.Command{
|
||||
It will not send any messages to the chain.`,
|
||||
ArgsUsage: "[deadline index]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass deadline index")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
dlIdx, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -625,7 +625,7 @@ It will not send any messages to the chain.`,
|
||||
return xerrors.Errorf("could not parse deadline index: %w", err)
|
||||
}
|
||||
|
||||
sapi, scloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, scloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -634,7 +634,7 @@ It will not send any messages to the chain.`,
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
start := time.Now()
|
||||
res, err := sapi.ComputeWindowPoSt(ctx, dlIdx, types.EmptyTSK)
|
||||
res, err := minerApi.ComputeWindowPoSt(ctx, dlIdx, types.EmptyTSK)
|
||||
fmt.Printf("Took %s\n", time.Now().Sub(start))
|
||||
if err != nil {
|
||||
return err
|
||||
@ -661,8 +661,8 @@ var provingRecoverFaultsCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 1 {
|
||||
return xerrors.Errorf("must pass at least 1 sector number")
|
||||
if cctx.NArg() < 1 {
|
||||
return lcli.ShowHelp(cctx, xerrors.Errorf("must pass at least 1 sector number"))
|
||||
}
|
||||
|
||||
arglist := cctx.Args().Slice()
|
||||
@ -675,7 +675,7 @@ var provingRecoverFaultsCmd = &cli.Command{
|
||||
sectors = append(sectors, abi.SectorNumber(s))
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -689,7 +689,7 @@ var provingRecoverFaultsCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
msgs, err := nodeApi.RecoverFault(ctx, sectors)
|
||||
msgs, err := minerApi.RecoverFault(ctx, sectors)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -707,7 +707,7 @@ var provingRecoverFaultsCmd = &cli.Command{
|
||||
return
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
results <- xerrors.Errorf("Failed to execute message %s: %w", wait.Message, wait.Receipt.ExitCode.Error())
|
||||
return
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ func workersCmd(sealing bool) *cli.Command {
|
||||
color.NoColor = !cctx.Bool("color")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -65,7 +65,7 @@ func workersCmd(sealing bool) *cli.Command {
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
stats, err := nodeApi.WorkerStats(ctx)
|
||||
stats, err := minerApi.WorkerStats(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -233,7 +233,7 @@ var sealingJobsCmd = &cli.Command{
|
||||
color.NoColor = !cctx.Bool("color")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -241,7 +241,7 @@ var sealingJobsCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
jobs, err := nodeApi.WorkerJobs(ctx)
|
||||
jobs, err := minerApi.WorkerJobs(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting worker jobs: %w", err)
|
||||
}
|
||||
@ -275,7 +275,7 @@ var sealingJobsCmd = &cli.Command{
|
||||
|
||||
workerHostnames := map[uuid.UUID]string{}
|
||||
|
||||
wst, err := nodeApi.WorkerStats(ctx)
|
||||
wst, err := minerApi.WorkerStats(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting worker stats: %w", err)
|
||||
}
|
||||
@ -337,7 +337,7 @@ var sealingSchedDiagCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -345,7 +345,7 @@ var sealingSchedDiagCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
st, err := nodeApi.SealingSchedDiag(ctx, cctx.Bool("force-sched"))
|
||||
st, err := minerApi.SealingSchedDiag(ctx, cctx.Bool("force-sched"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -372,11 +372,11 @@ var sealingAbortCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -385,14 +385,14 @@ var sealingAbortCmd = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Bool("sched") {
|
||||
err = nodeApi.SealingRemoveRequest(ctx, uuid.Must(uuid.Parse(cctx.Args().First())))
|
||||
err = minerApi.SealingRemoveRequest(ctx, uuid.Must(uuid.Parse(cctx.Args().First())))
|
||||
if err != nil {
|
||||
return xerrors.Errorf("Failed to removed the request with UUID %s: %w", cctx.Args().First(), err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
jobs, err := nodeApi.WorkerJobs(ctx)
|
||||
jobs, err := minerApi.WorkerJobs(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting worker jobs: %w", err)
|
||||
}
|
||||
@ -415,7 +415,7 @@ var sealingAbortCmd = &cli.Command{
|
||||
|
||||
fmt.Printf("aborting job %s, task %s, sector %d, running on host %s\n", job.ID.String(), job.Task.Short(), job.Sector.Number, job.Hostname)
|
||||
|
||||
return nodeApi.SealingAbort(ctx, job.ID)
|
||||
return minerApi.SealingAbort(ctx, job.ID)
|
||||
},
|
||||
}
|
||||
|
||||
@ -430,11 +430,11 @@ var sealingDataCidCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 1 || cctx.Args().Len() > 2 {
|
||||
return xerrors.Errorf("expected 1 or 2 arguments")
|
||||
if cctx.NArg() < 1 || cctx.NArg() > 2 {
|
||||
return lcli.ShowHelp(cctx, xerrors.Errorf("expected 1 or 2 arguments"))
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -484,7 +484,7 @@ var sealingDataCidCmd = &cli.Command{
|
||||
}
|
||||
|
||||
var psize abi.PaddedPieceSize
|
||||
if cctx.Args().Len() == 2 {
|
||||
if cctx.NArg() == 2 {
|
||||
rps, err := humanize.ParseBytes(cctx.Args().Get(1))
|
||||
if err != nil {
|
||||
return xerrors.Errorf("parsing piece size: %w", err)
|
||||
@ -500,7 +500,7 @@ var sealingDataCidCmd = &cli.Command{
|
||||
psize = padreader.PaddedSize(sz).Padded()
|
||||
}
|
||||
|
||||
pc, err := nodeApi.ComputeDataCid(ctx, psize.Unpadded(), r)
|
||||
pc, err := minerApi.ComputeDataCid(ctx, psize.Unpadded(), r)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("computing data CID: %w", err)
|
||||
}
|
||||
|
@ -69,14 +69,14 @@ var sectorsPledgeCmd = &cli.Command{
|
||||
Name: "pledge",
|
||||
Usage: "store random data in a sector",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
id, err := nodeApi.PledgeSector(ctx)
|
||||
id, err := minerApi.PledgeSector(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -113,7 +113,7 @@ var sectorsStatusCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -130,7 +130,7 @@ var sectorsStatusCmd = &cli.Command{
|
||||
}
|
||||
|
||||
onChainInfo := cctx.Bool("on-chain-info")
|
||||
status, err := nodeApi.SectorsStatus(ctx, abi.SectorNumber(id), onChainInfo)
|
||||
status, err := minerApi.SectorsStatus(ctx, abi.SectorNumber(id), onChainInfo)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -318,7 +318,7 @@ var sectorsListCmd = &cli.Command{
|
||||
color.NoColor = !cctx.Bool("color")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -359,16 +359,16 @@ var sectorsListCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if len(states) == 0 {
|
||||
list, err = nodeApi.SectorsList(ctx)
|
||||
list, err = minerApi.SectorsList(ctx)
|
||||
} else {
|
||||
list, err = nodeApi.SectorsListInStates(ctx, states)
|
||||
list, err = minerApi.SectorsListInStates(ctx, states)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -418,7 +418,7 @@ var sectorsListCmd = &cli.Command{
|
||||
fast := cctx.Bool("fast")
|
||||
|
||||
for _, s := range list {
|
||||
st, err := nodeApi.SectorsStatus(ctx, s, !fast)
|
||||
st, err := minerApi.SectorsStatus(ctx, s, !fast)
|
||||
if err != nil {
|
||||
tw.Write(map[string]interface{}{
|
||||
"ID": s,
|
||||
@ -1372,14 +1372,14 @@ var sectorsTerminateCmd = &cli.Command{
|
||||
if !cctx.Bool("really-do-it") {
|
||||
return xerrors.Errorf("pass --really-do-it to confirm this action")
|
||||
}
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass sector number")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
id, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -1387,7 +1387,7 @@ var sectorsTerminateCmd = &cli.Command{
|
||||
return xerrors.Errorf("could not parse sector number: %w", err)
|
||||
}
|
||||
|
||||
return nodeApi.SectorTerminate(ctx, abi.SectorNumber(id))
|
||||
return minerApi.SectorTerminate(ctx, abi.SectorNumber(id))
|
||||
},
|
||||
}
|
||||
|
||||
@ -1395,14 +1395,14 @@ var sectorsTerminateFlushCmd = &cli.Command{
|
||||
Name: "flush",
|
||||
Usage: "Send a terminate message if there are sectors queued for termination",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
mcid, err := nodeApi.SectorTerminateFlush(ctx)
|
||||
mcid, err := minerApi.SectorTerminateFlush(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1421,7 +1421,7 @@ var sectorsTerminatePendingCmd = &cli.Command{
|
||||
Name: "pending",
|
||||
Usage: "List sector numbers of sectors pending termination",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1433,12 +1433,12 @@ var sectorsTerminatePendingCmd = &cli.Command{
|
||||
defer nCloser()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
pending, err := nodeApi.SectorTerminatePending(ctx)
|
||||
pending, err := minerAPI.SectorTerminatePending(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerAPI.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1482,14 +1482,14 @@ var sectorsRemoveCmd = &cli.Command{
|
||||
if !cctx.Bool("really-do-it") {
|
||||
return xerrors.Errorf("this is a command for advanced users, only use it if you are sure of what you are doing")
|
||||
}
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass sector number")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
id, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -1497,7 +1497,7 @@ var sectorsRemoveCmd = &cli.Command{
|
||||
return xerrors.Errorf("could not parse sector number: %w", err)
|
||||
}
|
||||
|
||||
return nodeApi.SectorRemove(ctx, abi.SectorNumber(id))
|
||||
return minerAPI.SectorRemove(ctx, abi.SectorNumber(id))
|
||||
},
|
||||
}
|
||||
|
||||
@ -1506,11 +1506,11 @@ var sectorsSnapUpCmd = &cli.Command{
|
||||
Usage: "Mark a committed capacity sector to be filled with deals",
|
||||
ArgsUsage: "<sectorNum>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return lcli.ShowHelp(cctx, xerrors.Errorf("must pass sector number"))
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1535,7 +1535,7 @@ var sectorsSnapUpCmd = &cli.Command{
|
||||
return xerrors.Errorf("could not parse sector number: %w", err)
|
||||
}
|
||||
|
||||
return nodeApi.SectorMarkForUpgrade(ctx, abi.SectorNumber(id), true)
|
||||
return minerAPI.SectorMarkForUpgrade(ctx, abi.SectorNumber(id), true)
|
||||
},
|
||||
}
|
||||
|
||||
@ -1550,7 +1550,7 @@ var sectorsSnapAbortCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.ShowHelp(cctx, xerrors.Errorf("must pass sector number"))
|
||||
}
|
||||
|
||||
@ -1560,7 +1560,7 @@ var sectorsSnapAbortCmd = &cli.Command{
|
||||
return fmt.Errorf("--really-do-it must be specified for this action to have an effect; you have been warned")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1572,7 +1572,7 @@ var sectorsSnapAbortCmd = &cli.Command{
|
||||
return xerrors.Errorf("could not parse sector number: %w", err)
|
||||
}
|
||||
|
||||
return nodeApi.SectorAbortUpgrade(ctx, abi.SectorNumber(id))
|
||||
return minerAPI.SectorAbortUpgrade(ctx, abi.SectorNumber(id))
|
||||
},
|
||||
}
|
||||
|
||||
@ -1581,14 +1581,14 @@ var sectorsStartSealCmd = &cli.Command{
|
||||
Usage: "Manually start sealing a sector (filling any unused space with junk)",
|
||||
ArgsUsage: "<sectorNum>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass sector number")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
id, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -1596,7 +1596,7 @@ var sectorsStartSealCmd = &cli.Command{
|
||||
return xerrors.Errorf("could not parse sector number: %w", err)
|
||||
}
|
||||
|
||||
return nodeApi.SectorStartSealing(ctx, abi.SectorNumber(id))
|
||||
return minerAPI.SectorStartSealing(ctx, abi.SectorNumber(id))
|
||||
},
|
||||
}
|
||||
|
||||
@ -1605,14 +1605,14 @@ var sectorsSealDelayCmd = &cli.Command{
|
||||
Usage: "Set the time, in minutes, that a new sector waits for deals before sealing starts",
|
||||
ArgsUsage: "<minutes>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("must pass duration in minutes")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
hs, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -1622,7 +1622,7 @@ var sectorsSealDelayCmd = &cli.Command{
|
||||
|
||||
delay := hs * uint64(time.Minute)
|
||||
|
||||
return nodeApi.SectorSetSealDelay(ctx, time.Duration(delay))
|
||||
return minerAPI.SectorSetSealDelay(ctx, time.Duration(delay))
|
||||
},
|
||||
}
|
||||
|
||||
@ -1708,14 +1708,14 @@ var sectorsUpdateCmd = &cli.Command{
|
||||
if !cctx.Bool("really-do-it") {
|
||||
return xerrors.Errorf("this is a command for advanced users, only use it if you are sure of what you are doing")
|
||||
}
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
if cctx.Args().Len() < 2 {
|
||||
return xerrors.Errorf("must pass sector number and new state")
|
||||
if cctx.NArg() < 2 {
|
||||
return lcli.ShowHelp(cctx, xerrors.Errorf("must pass sector number and new state"))
|
||||
}
|
||||
|
||||
id, err := strconv.ParseUint(cctx.Args().Get(0), 10, 64)
|
||||
@ -1723,7 +1723,7 @@ var sectorsUpdateCmd = &cli.Command{
|
||||
return xerrors.Errorf("could not parse sector number: %w", err)
|
||||
}
|
||||
|
||||
_, err = nodeApi.SectorsStatus(ctx, abi.SectorNumber(id), false)
|
||||
_, err = minerAPI.SectorsStatus(ctx, abi.SectorNumber(id), false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("sector %d not found, could not change state", id)
|
||||
}
|
||||
@ -1737,7 +1737,7 @@ var sectorsUpdateCmd = &cli.Command{
|
||||
return nil
|
||||
}
|
||||
|
||||
return nodeApi.SectorsUpdate(ctx, abi.SectorNumber(id), api.SectorState(cctx.Args().Get(1)))
|
||||
return minerAPI.SectorsUpdate(ctx, abi.SectorNumber(id), api.SectorState(cctx.Args().Get(1)))
|
||||
},
|
||||
}
|
||||
|
||||
@ -1765,7 +1765,7 @@ var sectorsExpiredCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1805,7 +1805,7 @@ var sectorsExpiredCmd = &cli.Command{
|
||||
return xerrors.Errorf("getting lookback tipset: %w", err)
|
||||
}
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerAPI.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting actor address: %w", err)
|
||||
}
|
||||
@ -1813,7 +1813,7 @@ var sectorsExpiredCmd = &cli.Command{
|
||||
// toCheck is a working bitfield which will only contain terminated sectors
|
||||
toCheck := bitfield.New()
|
||||
{
|
||||
sectors, err := nodeApi.SectorsList(ctx)
|
||||
sectors, err := minerAPI.SectorsList(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting sector list: %w", err)
|
||||
}
|
||||
@ -1890,7 +1890,7 @@ var sectorsExpiredCmd = &cli.Command{
|
||||
err = toCheck.ForEach(func(u uint64) error {
|
||||
s := abi.SectorNumber(u)
|
||||
|
||||
st, err := nodeApi.SectorsStatus(ctx, s, true)
|
||||
st, err := minerAPI.SectorsStatus(ctx, s, true)
|
||||
if err != nil {
|
||||
fmt.Printf("%d:\tError getting status: %s\n", u, err)
|
||||
return nil
|
||||
@ -1933,7 +1933,7 @@ var sectorsExpiredCmd = &cli.Command{
|
||||
for _, number := range toRemove {
|
||||
fmt.Printf("Removing sector\t%s:\t", color.YellowString("%d", number))
|
||||
|
||||
err := nodeApi.SectorRemove(ctx, number)
|
||||
err := minerAPI.SectorRemove(ctx, number)
|
||||
if err != nil {
|
||||
color.Red("ERROR: %s\n", err.Error())
|
||||
} else {
|
||||
@ -1965,7 +1965,7 @@ var sectorsBatchingPendingCommit = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -1973,7 +1973,7 @@ var sectorsBatchingPendingCommit = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Bool("publish-now") {
|
||||
res, err := api.SectorCommitFlush(ctx)
|
||||
res, err := minerAPI.SectorCommitFlush(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("flush: %w", err)
|
||||
}
|
||||
@ -2000,7 +2000,7 @@ var sectorsBatchingPendingCommit = &cli.Command{
|
||||
return nil
|
||||
}
|
||||
|
||||
pending, err := api.SectorCommitPending(ctx)
|
||||
pending, err := minerAPI.SectorCommitPending(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting pending deals: %w", err)
|
||||
}
|
||||
@ -2027,7 +2027,7 @@ var sectorsBatchingPendingPreCommit = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -2035,7 +2035,7 @@ var sectorsBatchingPendingPreCommit = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Bool("publish-now") {
|
||||
res, err := api.SectorPreCommitFlush(ctx)
|
||||
res, err := minerAPI.SectorPreCommitFlush(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("flush: %w", err)
|
||||
}
|
||||
@ -2058,7 +2058,7 @@ var sectorsBatchingPendingPreCommit = &cli.Command{
|
||||
return nil
|
||||
}
|
||||
|
||||
pending, err := api.SectorPreCommitPending(ctx)
|
||||
pending, err := minerAPI.SectorPreCommitPending(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting pending deals: %w", err)
|
||||
}
|
||||
@ -2079,14 +2079,14 @@ var sectorsRefreshPieceMatchingCmd = &cli.Command{
|
||||
Name: "match-pending-pieces",
|
||||
Usage: "force a refreshed match of pending pieces to open sectors without manually waiting for more deals",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if err := nodeApi.SectorMatchPendingPiecesToOpenSectors(ctx); err != nil {
|
||||
if err := minerAPI.SectorMatchPendingPiecesToOpenSectors(ctx); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
@ -2195,7 +2195,7 @@ var sectorsCompactPartitionsCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println(cctx.App.Writer, "compact partitions failed!")
|
||||
return err
|
||||
}
|
||||
@ -2219,14 +2219,14 @@ var sectorsNumbersInfoCmd = &cli.Command{
|
||||
Name: "info",
|
||||
Usage: "view sector assigner state",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
am, err := api.SectorNumAssignerMeta(ctx)
|
||||
am, err := minerAPI.SectorNumAssignerMeta(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -2253,14 +2253,14 @@ var sectorsNumbersReservationsCmd = &cli.Command{
|
||||
Name: "reservations",
|
||||
Usage: "list sector number reservations",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
rs, err := api.SectorNumReservations(ctx)
|
||||
rs, err := minerAPI.SectorNumReservations(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -2303,15 +2303,15 @@ var sectorsNumbersReserveCmd = &cli.Command{
|
||||
},
|
||||
ArgsUsage: "[reservation name] [reserved ranges]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 2 {
|
||||
return xerrors.Errorf("expected 2 arguments: [reservation name] [reserved ranges]")
|
||||
if cctx.NArg() != 2 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
bf, err := strle.HumanRangesToBitField(cctx.Args().Get(1))
|
||||
@ -2319,7 +2319,7 @@ var sectorsNumbersReserveCmd = &cli.Command{
|
||||
return xerrors.Errorf("parsing ranges: %w", err)
|
||||
}
|
||||
|
||||
return api.SectorNumReserve(ctx, cctx.Args().First(), bf, cctx.Bool("force"))
|
||||
return minerAPI.SectorNumReserve(ctx, cctx.Args().First(), bf, cctx.Bool("force"))
|
||||
},
|
||||
}
|
||||
|
||||
@ -2328,17 +2328,17 @@ var sectorsNumbersFreeCmd = &cli.Command{
|
||||
Usage: "remove sector number reservations",
|
||||
ArgsUsage: "[reservation name]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument: [reservation name]")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
return api.SectorNumFree(ctx, cctx.Args().First())
|
||||
return minerAPI.SectorNumFree(ctx, cctx.Args().First())
|
||||
},
|
||||
}
|
||||
|
@ -109,7 +109,7 @@ over time
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -172,7 +172,7 @@ over time
|
||||
}
|
||||
}
|
||||
|
||||
return nodeApi.StorageAddLocal(ctx, p)
|
||||
return minerApi.StorageAddLocal(ctx, p)
|
||||
},
|
||||
}
|
||||
|
||||
@ -186,7 +186,7 @@ var storageDetachCmd = &cli.Command{
|
||||
},
|
||||
ArgsUsage: "[path]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -206,7 +206,7 @@ var storageDetachCmd = &cli.Command{
|
||||
return xerrors.Errorf("pass --really-do-it to execute the action")
|
||||
}
|
||||
|
||||
return nodeApi.StorageDetachLocal(ctx, p)
|
||||
return minerApi.StorageDetachLocal(ctx, p)
|
||||
},
|
||||
}
|
||||
|
||||
@ -228,7 +228,7 @@ var storageRedeclareCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -241,11 +241,11 @@ var storageRedeclareCmd = &cli.Command{
|
||||
|
||||
if cctx.IsSet("id") {
|
||||
id := storiface.ID(cctx.String("id"))
|
||||
return nodeApi.StorageRedeclareLocal(ctx, &id, cctx.Bool("drop-missing"))
|
||||
return minerApi.StorageRedeclareLocal(ctx, &id, cctx.Bool("drop-missing"))
|
||||
}
|
||||
|
||||
if cctx.Bool("all") {
|
||||
return nodeApi.StorageRedeclareLocal(ctx, nil, cctx.Bool("drop-missing"))
|
||||
return minerApi.StorageRedeclareLocal(ctx, nil, cctx.Bool("drop-missing"))
|
||||
}
|
||||
|
||||
return xerrors.Errorf("either --all or --id must be specified")
|
||||
@ -270,19 +270,19 @@ var storageListCmd = &cli.Command{
|
||||
color.NoColor = !cctx.Bool("color")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
st, err := nodeApi.StorageList(ctx)
|
||||
st, err := minerApi.StorageList(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
local, err := nodeApi.StorageLocal(ctx)
|
||||
local, err := minerApi.StorageLocal(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -295,7 +295,7 @@ var storageListCmd = &cli.Command{
|
||||
|
||||
sorted := make([]fsInfo, 0, len(st))
|
||||
for id, decls := range st {
|
||||
st, err := nodeApi.StorageStat(ctx, id)
|
||||
st, err := minerApi.StorageStat(ctx, id)
|
||||
if err != nil {
|
||||
sorted = append(sorted, fsInfo{ID: id, sectors: decls})
|
||||
continue
|
||||
@ -325,7 +325,7 @@ var storageListCmd = &cli.Command{
|
||||
fmt.Printf("%s:\n", s.ID)
|
||||
|
||||
pingStart := time.Now()
|
||||
st, err := nodeApi.StorageStat(ctx, s.ID)
|
||||
st, err := minerApi.StorageStat(ctx, s.ID)
|
||||
if err != nil {
|
||||
fmt.Printf("\t%s: %s:\n", color.RedString("Error"), err)
|
||||
continue
|
||||
@ -398,7 +398,7 @@ var storageListCmd = &cli.Command{
|
||||
color.BlueString("Caches: %d", cnt[2]),
|
||||
types.SizeStr(types.NewInt(uint64(st.Reserved))))
|
||||
|
||||
si, err := nodeApi.StorageInfo(ctx, s.ID)
|
||||
si, err := minerApi.StorageInfo(ctx, s.ID)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -469,14 +469,14 @@ var storageFindCmd = &cli.Command{
|
||||
Usage: "find sector in the storage system",
|
||||
ArgsUsage: "[sector number]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
ma, err := nodeApi.ActorAddress(ctx)
|
||||
ma, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -500,27 +500,27 @@ var storageFindCmd = &cli.Command{
|
||||
Number: abi.SectorNumber(snum),
|
||||
}
|
||||
|
||||
u, err := nodeApi.StorageFindSector(ctx, sid, storiface.FTUnsealed, 0, false)
|
||||
u, err := minerApi.StorageFindSector(ctx, sid, storiface.FTUnsealed, 0, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("finding unsealed: %w", err)
|
||||
}
|
||||
|
||||
s, err := nodeApi.StorageFindSector(ctx, sid, storiface.FTSealed, 0, false)
|
||||
s, err := minerApi.StorageFindSector(ctx, sid, storiface.FTSealed, 0, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("finding sealed: %w", err)
|
||||
}
|
||||
|
||||
c, err := nodeApi.StorageFindSector(ctx, sid, storiface.FTCache, 0, false)
|
||||
c, err := minerApi.StorageFindSector(ctx, sid, storiface.FTCache, 0, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("finding cache: %w", err)
|
||||
}
|
||||
|
||||
us, err := nodeApi.StorageFindSector(ctx, sid, storiface.FTUpdate, 0, false)
|
||||
us, err := minerApi.StorageFindSector(ctx, sid, storiface.FTUpdate, 0, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("finding sealed: %w", err)
|
||||
}
|
||||
|
||||
uc, err := nodeApi.StorageFindSector(ctx, sid, storiface.FTUpdateCache, 0, false)
|
||||
uc, err := minerApi.StorageFindSector(ctx, sid, storiface.FTUpdateCache, 0, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("finding cache: %w", err)
|
||||
}
|
||||
@ -582,7 +582,7 @@ var storageFindCmd = &cli.Command{
|
||||
sts.updatecache = true
|
||||
}
|
||||
|
||||
local, err := nodeApi.StorageLocal(ctx)
|
||||
local, err := minerApi.StorageLocal(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -644,7 +644,7 @@ var storageListSectorsCmd = &cli.Command{
|
||||
color.NoColor = !cctx.Bool("color")
|
||||
}
|
||||
|
||||
nodeApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -658,12 +658,12 @@ var storageListSectorsCmd = &cli.Command{
|
||||
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
sectors, err := nodeApi.SectorsList(ctx)
|
||||
sectors, err := minerApi.SectorsList(ctx)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("listing sectors: %w", err)
|
||||
}
|
||||
|
||||
maddr, err := nodeApi.ActorAddress(ctx)
|
||||
maddr, err := minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -706,7 +706,7 @@ var storageListSectorsCmd = &cli.Command{
|
||||
var list []entry
|
||||
|
||||
for _, sector := range sectors {
|
||||
st, err := nodeApi.SectorsStatus(ctx, sector, false)
|
||||
st, err := minerApi.SectorsStatus(ctx, sector, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting sector status for sector %d: %w", sector, err)
|
||||
}
|
||||
@ -716,7 +716,7 @@ var storageListSectorsCmd = &cli.Command{
|
||||
}
|
||||
|
||||
for _, ft := range storiface.PathTypes {
|
||||
si, err := nodeApi.StorageFindSector(ctx, sid(sector), ft, mi.SectorSize, false)
|
||||
si, err := minerApi.StorageFindSector(ctx, sid(sector), ft, mi.SectorSize, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("find sector %d: %w", sector, err)
|
||||
}
|
||||
@ -869,7 +869,7 @@ var storageCleanupCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -884,7 +884,7 @@ var storageCleanupCmd = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Bool("removed") {
|
||||
if err := cleanupRemovedSectorData(ctx, api, napi); err != nil {
|
||||
if err := cleanupRemovedSectorData(ctx, minerAPI, napi); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
@ -962,20 +962,20 @@ var storageLocks = &cli.Command{
|
||||
Name: "locks",
|
||||
Usage: "show active sector locks",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
locks, err := api.StorageGetLocks(ctx)
|
||||
locks, err := minerAPI.StorageGetLocks(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for _, lock := range locks.Locks {
|
||||
st, err := api.SectorsStatus(ctx, lock.Sector.Number, false)
|
||||
st, err := minerAPI.SectorsStatus(ctx, lock.Sector.Number, false)
|
||||
if err != nil {
|
||||
return xerrors.Errorf("getting sector status(%d): %w", lock.Sector.Number, err)
|
||||
}
|
||||
|
@ -93,7 +93,7 @@ var genesisAddMinerCmd = &cli.Command{
|
||||
Description: "add genesis miner",
|
||||
Flags: []cli.Flag{},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
if cctx.NArg() != 2 {
|
||||
return xerrors.New("seed genesis add-miner [genesis.json] [preseal.json]")
|
||||
}
|
||||
|
||||
@ -181,7 +181,7 @@ type GenAccountEntry struct {
|
||||
var genesisAddMsigsCmd = &cli.Command{
|
||||
Name: "add-msigs",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 2 {
|
||||
if cctx.NArg() < 2 {
|
||||
return fmt.Errorf("must specify template file and csv file with accounts")
|
||||
}
|
||||
|
||||
@ -329,7 +329,7 @@ var genesisSetVRKCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must specify template file")
|
||||
}
|
||||
|
||||
@ -425,7 +425,7 @@ var genesisSetRemainderCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must specify template file")
|
||||
}
|
||||
|
||||
@ -519,7 +519,7 @@ var genesisSetActorVersionCmd = &cli.Command{
|
||||
},
|
||||
ArgsUsage: "<genesisFile>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must specify genesis file")
|
||||
}
|
||||
|
||||
@ -597,7 +597,7 @@ var genesisSetVRKSignersCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must specify template file")
|
||||
}
|
||||
|
||||
|
@ -74,13 +74,13 @@ var actorWithdrawCmd = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if maddr.Empty() {
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = minerAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -144,7 +144,7 @@ var actorWithdrawCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println(cctx.App.Writer, "withdrawal failed!")
|
||||
return err
|
||||
}
|
||||
@ -192,7 +192,7 @@ var actorSetOwnerCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.NArg() != 2 {
|
||||
return fmt.Errorf("must pass new owner address and sender address")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
var maddr address.Address
|
||||
@ -233,13 +233,13 @@ var actorSetOwnerCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if maddr.Empty() {
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = minerAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -279,7 +279,7 @@ var actorSetOwnerCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println("owner change failed!")
|
||||
return err
|
||||
}
|
||||
@ -339,13 +339,13 @@ var actorControlList = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if maddr.Empty() {
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = minerAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -448,13 +448,13 @@ var actorControlSet = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if maddr.Empty() {
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = minerAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -590,13 +590,13 @@ var actorProposeChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
if maddr.Empty() {
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = minerAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -647,7 +647,7 @@ var actorProposeChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose worker change failed!")
|
||||
return err
|
||||
}
|
||||
@ -720,13 +720,13 @@ var actorConfirmChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
if maddr.Empty() {
|
||||
minerAPI, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
maddr, err = minerAPI.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -768,7 +768,7 @@ var actorConfirmChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Worker change failed!")
|
||||
return err
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ var base16Cmd = &cli.Command{
|
||||
Action: func(cctx *cli.Context) error {
|
||||
var input io.Reader
|
||||
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
input = os.Stdin
|
||||
} else {
|
||||
input = strings.NewReader(cctx.Args().First())
|
||||
|
@ -24,7 +24,7 @@ var base32Cmd = &cli.Command{
|
||||
Action: func(cctx *cli.Context) error {
|
||||
var input io.Reader
|
||||
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
input = os.Stdin
|
||||
} else {
|
||||
input = strings.NewReader(cctx.Args().First())
|
||||
|
@ -32,7 +32,7 @@ var base64Cmd = &cli.Command{
|
||||
Action: func(cctx *cli.Context) error {
|
||||
var input io.Reader
|
||||
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
input = os.Stdin
|
||||
} else {
|
||||
input = strings.NewReader(cctx.Args().First())
|
||||
|
@ -56,7 +56,7 @@ var computeStateRangeCmd = &cli.Command{
|
||||
ArgsUsage: "[START_TIPSET_REF] [END_TIPSET_REF]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 2 {
|
||||
return fmt.Errorf("expected two arguments: a start and an end tipset")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
||||
|
@ -84,7 +84,7 @@ var consensusCheckCmd = &cli.Command{
|
||||
filePath := cctx.Args().First()
|
||||
|
||||
var input *bufio.Reader
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
input = bufio.NewReader(os.Stdin)
|
||||
} else {
|
||||
var err error
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"go.uber.org/multierr"
|
||||
"golang.org/x/xerrors"
|
||||
|
||||
lcli "github.com/filecoin-project/lotus/cli"
|
||||
"github.com/filecoin-project/lotus/lib/backupds"
|
||||
"github.com/filecoin-project/lotus/node/repo"
|
||||
)
|
||||
@ -171,8 +172,8 @@ var datastoreBackupStatCmd = &cli.Command{
|
||||
Description: "validate and print info about datastore backup",
|
||||
ArgsUsage: "[file]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
f, err := os.Open(cctx.Args().First())
|
||||
@ -220,8 +221,8 @@ var datastoreBackupListCmd = &cli.Command{
|
||||
},
|
||||
ArgsUsage: "[file]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
f, err := os.Open(cctx.Args().First())
|
||||
@ -308,7 +309,7 @@ var datastoreRewriteCmd = &cli.Command{
|
||||
ArgsUsage: "source destination",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 2 {
|
||||
return xerrors.Errorf("expected 2 arguments, got %d", cctx.NArg())
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
fromPath, err := homedir.Expand(cctx.Args().Get(0))
|
||||
if err != nil {
|
||||
|
@ -31,7 +31,7 @@ var diffStateTrees = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.NArg() != 2 {
|
||||
return xerrors.Errorf("expected two state-tree roots")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
argA := cctx.Args().Get(0)
|
||||
|
@ -38,8 +38,8 @@ var exportCarCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return lcli.ShowHelp(cctx, fmt.Errorf("must specify file name and object"))
|
||||
if cctx.NArg() != 2 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
outfile := cctx.Args().First()
|
||||
|
@ -149,7 +149,7 @@ var keyinfoImportCmd = &cli.Command{
|
||||
flagRepo := cctx.String("repo")
|
||||
|
||||
var input io.Reader
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
input = os.Stdin
|
||||
} else {
|
||||
var err error
|
||||
@ -261,7 +261,7 @@ var keyinfoInfoCmd = &cli.Command{
|
||||
format := cctx.String("format")
|
||||
|
||||
var input io.Reader
|
||||
if cctx.Args().Len() == 0 {
|
||||
if cctx.NArg() == 0 {
|
||||
input = os.Stdin
|
||||
} else {
|
||||
var err error
|
||||
|
@ -300,7 +300,7 @@ var ledgerNewAddressesCmd = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must pass account index")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
index, err := strconv.ParseUint(cctx.Args().First(), 10, 32)
|
||||
|
@ -16,6 +16,7 @@ import (
|
||||
"github.com/filecoin-project/lotus/chain/store"
|
||||
"github.com/filecoin-project/lotus/chain/types"
|
||||
"github.com/filecoin-project/lotus/chain/vm"
|
||||
lcli "github.com/filecoin-project/lotus/cli"
|
||||
"github.com/filecoin-project/lotus/node/repo"
|
||||
"github.com/filecoin-project/lotus/storage/sealer/ffiwrapper"
|
||||
)
|
||||
@ -34,7 +35,7 @@ var migrationsCmd = &cli.Command{
|
||||
ctx := context.TODO()
|
||||
|
||||
if cctx.NArg() != 1 {
|
||||
return fmt.Errorf("must pass block cid")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
blkCid, err := cid.Decode(cctx.Args().First())
|
||||
|
@ -101,7 +101,7 @@ var mmProposeWithdrawBalance = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose owner change tx failed!")
|
||||
return err
|
||||
}
|
||||
@ -128,7 +128,7 @@ var mmApproveWithdrawBalance = &cli.Command{
|
||||
ArgsUsage: "[amount txnId proposer]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 3 {
|
||||
return fmt.Errorf("must pass amount, txn Id, and proposer address")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
||||
@ -180,7 +180,7 @@ var mmApproveWithdrawBalance = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Approve owner change tx failed!")
|
||||
return err
|
||||
}
|
||||
@ -261,7 +261,7 @@ var mmProposeChangeOwner = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose owner change tx failed!")
|
||||
return err
|
||||
}
|
||||
@ -287,7 +287,7 @@ var mmApproveChangeOwner = &cli.Command{
|
||||
ArgsUsage: "[newOwner txnId proposer]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 3 {
|
||||
return fmt.Errorf("must pass new owner address, txn Id, and proposer address")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
||||
@ -351,7 +351,7 @@ var mmApproveChangeOwner = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Approve owner change tx failed!")
|
||||
return err
|
||||
}
|
||||
@ -448,7 +448,7 @@ var mmProposeChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose worker change tx failed!")
|
||||
return err
|
||||
}
|
||||
@ -532,7 +532,7 @@ var mmConfirmChangeWorker = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose worker change tx failed!")
|
||||
return err
|
||||
}
|
||||
@ -647,7 +647,7 @@ var mmProposeControlSet = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Fprintln(cctx.App.Writer, "Propose worker change tx failed!")
|
||||
return err
|
||||
}
|
||||
|
@ -20,6 +20,7 @@ import (
|
||||
"github.com/filecoin-project/lotus/chain/state"
|
||||
"github.com/filecoin-project/lotus/chain/store"
|
||||
"github.com/filecoin-project/lotus/chain/types"
|
||||
lcli "github.com/filecoin-project/lotus/cli"
|
||||
"github.com/filecoin-project/lotus/node/repo"
|
||||
)
|
||||
|
||||
@ -35,7 +36,7 @@ var minerPeeridCmd = &cli.Command{
|
||||
ctx := context.TODO()
|
||||
|
||||
if cctx.NArg() != 2 {
|
||||
return fmt.Errorf("must pass peer id and state root")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
pid, err := peer.Decode(cctx.Args().Get(0))
|
||||
|
@ -135,8 +135,8 @@ var minerCreateCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() != 4 {
|
||||
return xerrors.Errorf("expected 4 args (sender owner worker sectorSize)")
|
||||
if cctx.NArg() != 4 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
sender, err := address.NewFromString(cctx.Args().First())
|
||||
@ -273,8 +273,8 @@ var minerUnpackInfoCmd = &cli.Command{
|
||||
Usage: "unpack miner info all dump",
|
||||
ArgsUsage: "[allinfo.txt] [dir]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 2 {
|
||||
return xerrors.Errorf("expected 2 args")
|
||||
if cctx.NArg() != 2 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
src, err := homedir.Expand(cctx.Args().Get(0))
|
||||
@ -475,7 +475,7 @@ var sendInvalidWindowPoStCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println(cctx.App.Writer, "Invalid PoST message failed!")
|
||||
return err
|
||||
}
|
||||
@ -488,9 +488,10 @@ var generateAndSendConsensusFaultCmd = &cli.Command{
|
||||
Name: "generate-and-send-consensus-fault",
|
||||
Usage: "Provided a block CID mined by the miner, will create another block at the same height, and send both block headers to generate a consensus fault.",
|
||||
Description: `Note: This is meant for testing purposes and should NOT be used on mainnet or you will be slashed`,
|
||||
ArgsUsage: "blockCID",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 1 {
|
||||
return xerrors.Errorf("expected 1 arg (blockCID)")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
blockCid, err := cid.Parse(cctx.Args().First())
|
||||
@ -574,7 +575,7 @@ var generateAndSendConsensusFaultCmd = &cli.Command{
|
||||
}
|
||||
|
||||
// check it executed successfully
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
fmt.Println(cctx.App.Writer, "Report consensus fault failed!")
|
||||
return err
|
||||
}
|
||||
|
@ -27,8 +27,8 @@ var msgCmd = &cli.Command{
|
||||
Usage: "Translate message between various formats",
|
||||
ArgsUsage: "Message in any form",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("expected 1 argument")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
msg, err := messageFromString(cctx, cctx.Args().First())
|
||||
|
@ -11,6 +11,8 @@ import (
|
||||
"github.com/filecoin-project/go-address"
|
||||
"github.com/filecoin-project/go-state-types/abi"
|
||||
prooftypes "github.com/filecoin-project/go-state-types/proof"
|
||||
|
||||
lcli "github.com/filecoin-project/lotus/cli"
|
||||
)
|
||||
|
||||
var proofsCmd = &cli.Command{
|
||||
@ -42,8 +44,8 @@ var verifySealProofCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 3 {
|
||||
return fmt.Errorf("must specify commR, commD, and proof to verify")
|
||||
if cctx.NArg() != 3 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
commr, err := cid.Decode(cctx.Args().Get(0))
|
||||
|
@ -112,8 +112,8 @@ var rpcCmd = &cli.Command{
|
||||
}
|
||||
|
||||
if cctx.Args().Present() {
|
||||
if cctx.Args().Len() > 2 {
|
||||
return xerrors.Errorf("expected 1 or 2 arguments: method [params]")
|
||||
if cctx.NArg() > 2 {
|
||||
return lcli.ShowHelp(cctx, xerrors.Errorf("expected 1 or 2 arguments: method [params]"))
|
||||
}
|
||||
|
||||
params := cctx.Args().Get(1)
|
||||
|
@ -64,8 +64,8 @@ var terminateSectorCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 1 {
|
||||
return fmt.Errorf("at least one sector must be specified")
|
||||
if cctx.NArg() < 1 {
|
||||
return lcli.ShowHelp(cctx, fmt.Errorf("at least one sector must be specified"))
|
||||
}
|
||||
|
||||
var maddr address.Address
|
||||
@ -90,13 +90,13 @@ var terminateSectorCmd = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if maddr.Empty() {
|
||||
api, acloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, acloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer acloser()
|
||||
|
||||
maddr, err = api.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@ -171,7 +171,7 @@ var terminateSectorCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if wait.Receipt.ExitCode != 0 {
|
||||
if wait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("terminate sectors message returned exit %d", wait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -200,8 +200,8 @@ var terminateSectorPenaltyEstimationCmd = &cli.Command{
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 1 {
|
||||
return fmt.Errorf("at least one sector must be specified")
|
||||
if cctx.NArg() < 1 {
|
||||
return lcli.ShowHelp(cctx, fmt.Errorf("at least one sector must be specified"))
|
||||
}
|
||||
|
||||
var maddr address.Address
|
||||
@ -222,13 +222,13 @@ var terminateSectorPenaltyEstimationCmd = &cli.Command{
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if maddr.Empty() {
|
||||
api, acloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
minerApi, acloser, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer acloser()
|
||||
|
||||
maddr, err = api.ActorAddress(ctx)
|
||||
maddr, err = minerApi.ActorAddress(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
@ -34,7 +34,7 @@ var sendCsvCmd = &cli.Command{
|
||||
ArgsUsage: "[csvfile]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.NArg() != 1 {
|
||||
return xerrors.New("must supply path to csv file")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := lcli.GetFullNodeAPIV1(cctx)
|
||||
|
@ -31,8 +31,8 @@ var sigsVerifyBlsMsgsCmd = &cli.Command{
|
||||
Description: "given a block, verifies the bls signature of the messages in the block",
|
||||
Usage: "<blockCid>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 1 {
|
||||
return xerrors.Errorf("usage: <blockCid>")
|
||||
if cctx.NArg() != 1 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
api, closer, err := lcli.GetFullNodeAPI(cctx)
|
||||
@ -101,8 +101,8 @@ var sigsVerifyVoteCmd = &cli.Command{
|
||||
Usage: "<FIPnumber> <signingAddress> <signature>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
|
||||
if cctx.Args().Len() != 3 {
|
||||
return xerrors.Errorf("usage: verify-vote <FIPnumber> <signingAddress> <signature>")
|
||||
if cctx.NArg() != 3 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
fip, err := strconv.ParseInt(cctx.Args().First(), 10, 64)
|
||||
|
@ -174,8 +174,8 @@ var staterootStatCmd = &cli.Command{
|
||||
}
|
||||
|
||||
outcap := 10
|
||||
if cctx.Args().Len() > outcap {
|
||||
outcap = cctx.Args().Len()
|
||||
if cctx.NArg() > outcap {
|
||||
outcap = cctx.NArg()
|
||||
}
|
||||
if len(infos) < outcap {
|
||||
outcap = len(infos)
|
||||
|
@ -38,10 +38,8 @@ var syncValidateCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() < 1 {
|
||||
fmt.Println("usage: <blockCid1> <blockCid2>...")
|
||||
fmt.Println("At least one block cid must be provided")
|
||||
return nil
|
||||
if cctx.NArg() < 1 {
|
||||
return lcli.ShowHelp(cctx, fmt.Errorf("at least one block cid must be provided"))
|
||||
}
|
||||
|
||||
args := cctx.Args().Slice()
|
||||
@ -75,7 +73,7 @@ var syncScrapePowerCmd = &cli.Command{
|
||||
Usage: "given a height and a tipset, reports what percentage of mining power had a winning ticket between the tipset and height",
|
||||
ArgsUsage: "[height tipsetkey]",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() < 1 {
|
||||
if cctx.NArg() < 1 {
|
||||
fmt.Println("usage: <height> [blockCid1 blockCid2...]")
|
||||
fmt.Println("Any CIDs passed after the height will be used as the tipset key")
|
||||
fmt.Println("If no block CIDs are provided, chain head will be used")
|
||||
@ -90,10 +88,8 @@ var syncScrapePowerCmd = &cli.Command{
|
||||
defer closer()
|
||||
ctx := lcli.ReqContext(cctx)
|
||||
|
||||
if cctx.Args().Len() < 1 {
|
||||
fmt.Println("usage: <blockCid1> <blockCid2>...")
|
||||
fmt.Println("At least one block cid must be provided")
|
||||
return nil
|
||||
if cctx.NArg() < 1 {
|
||||
return lcli.ShowHelp(cctx, fmt.Errorf("at least one block cid must be provided"))
|
||||
}
|
||||
|
||||
h, err := strconv.ParseInt(cctx.Args().Get(0), 10, 0)
|
||||
|
@ -23,6 +23,7 @@ import (
|
||||
"github.com/filecoin-project/lotus/chain/state"
|
||||
"github.com/filecoin-project/lotus/chain/store"
|
||||
"github.com/filecoin-project/lotus/chain/types"
|
||||
lcli "github.com/filecoin-project/lotus/cli"
|
||||
"github.com/filecoin-project/lotus/node/repo"
|
||||
)
|
||||
|
||||
@ -40,7 +41,7 @@ var terminationsCmd = &cli.Command{
|
||||
ctx := context.TODO()
|
||||
|
||||
if cctx.NArg() != 2 {
|
||||
return fmt.Errorf("must pass block cid && lookback period")
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
blkCid, err := cid.Decode(cctx.Args().First())
|
||||
|
@ -46,8 +46,8 @@ var verifRegAddVerifierFromMsigCmd = &cli.Command{
|
||||
Usage: "make a given account a verifier",
|
||||
ArgsUsage: "<message sender> <new verifier> <allowance>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 3 {
|
||||
return fmt.Errorf("must specify three arguments: sender, verifier, and allowance")
|
||||
if cctx.NArg() != 3 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
sender, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -104,7 +104,7 @@ var verifRegAddVerifierFromMsigCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("failed to add verifier: %d", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -119,8 +119,8 @@ var verifRegAddVerifierFromAccountCmd = &cli.Command{
|
||||
Usage: "make a given account a verifier",
|
||||
ArgsUsage: "<verifier root key> <new verifier> <allowance>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 3 {
|
||||
return fmt.Errorf("must specify three arguments: sender, verifier, and allowance")
|
||||
if cctx.NArg() != 3 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
sender, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -170,7 +170,7 @@ var verifRegAddVerifierFromAccountCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("failed to add verified client: %d", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -201,8 +201,8 @@ var verifRegVerifyClientCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if cctx.Args().Len() != 2 {
|
||||
return fmt.Errorf("must specify two arguments: address and allowance")
|
||||
if cctx.NArg() != 2 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
target, err := address.NewFromString(cctx.Args().Get(0))
|
||||
@ -246,7 +246,7 @@ var verifRegVerifyClientCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("failed to add verified client: %d", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
@ -418,8 +418,8 @@ var verifRegRemoveVerifiedClientDataCapCmd = &cli.Command{
|
||||
Usage: "Remove data cap from verified client",
|
||||
ArgsUsage: "<message sender> <client address> <allowance to remove> <verifier 1 address> <verifier 1 signature> <verifier 2 address> <verifier 2 signature>",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if cctx.Args().Len() != 7 {
|
||||
return fmt.Errorf("must specify seven arguments: sender, client, allowance to remove, verifier 1 address, verifier 1 signature, verifier 2 address, verifier 2 signature")
|
||||
if cctx.NArg() != 7 {
|
||||
return lcli.IncorrectNumArgs(cctx)
|
||||
}
|
||||
|
||||
srv, err := lcli.GetFullNodeServices(cctx)
|
||||
@ -555,7 +555,7 @@ var verifRegRemoveVerifiedClientDataCapCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
return fmt.Errorf("failed to removed verified data cap: %d", mwait.Receipt.ExitCode)
|
||||
}
|
||||
|
||||
|
@ -537,7 +537,7 @@ func (ca *channelAccessor) waitPaychCreateMsg(ctx context.Context, channelID str
|
||||
}
|
||||
|
||||
// If channel creation failed
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
ca.lk.Lock()
|
||||
defer ca.lk.Unlock()
|
||||
|
||||
@ -651,7 +651,7 @@ func (ca *channelAccessor) waitAddFundsMsg(ctx context.Context, channelID string
|
||||
return err
|
||||
}
|
||||
|
||||
if mwait.Receipt.ExitCode != 0 {
|
||||
if mwait.Receipt.ExitCode.IsError() {
|
||||
err := xerrors.Errorf("voucher channel creation failed: adding funds (exit code %d)", mwait.Receipt.ExitCode)
|
||||
log.Error(err)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user