From 2a050ca3267e00609ee414cacfab237a84838ca4 Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Thu, 2 Jul 2020 18:48:39 +0200 Subject: [PATCH 1/4] override maddr for observability --- cmd/lotus-storage-miner/main.go | 4 ++++ cmd/lotus-storage-miner/proving.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/cmd/lotus-storage-miner/main.go b/cmd/lotus-storage-miner/main.go index 62efe9370..bc8d3418a 100644 --- a/cmd/lotus-storage-miner/main.go +++ b/cmd/lotus-storage-miner/main.go @@ -62,6 +62,10 @@ func main() { Version: build.UserVersion(), EnableBashCompletion: true, Flags: []cli.Flag{ + &cli.StringFlag{ + Name: "maddr", + Value: "", + }, &cli.StringFlag{ Name: "repo", EnvVars: []string{"LOTUS_PATH"}, diff --git a/cmd/lotus-storage-miner/proving.go b/cmd/lotus-storage-miner/proving.go index d96bd39f8..352336505 100644 --- a/cmd/lotus-storage-miner/proving.go +++ b/cmd/lotus-storage-miner/proving.go @@ -10,6 +10,7 @@ import ( "github.com/urfave/cli/v2" "golang.org/x/xerrors" + "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-bitfield" rlepluslazy "github.com/filecoin-project/go-bitfield/rle" "github.com/filecoin-project/specs-actors/actors/abi" @@ -53,6 +54,15 @@ var provingFaultsCmd = &cli.Command{ return xerrors.Errorf("getting actor address: %w", err) } + // override maddr is specified + if cctx.String("maddr") != "" { + var err error + maddr, err = address.NewFromString(cctx.String("maddr")) + if err != nil { + panic(err) + } + } + var mas miner.State { mact, err := api.StateGetActor(ctx, maddr, types.EmptyTSK) @@ -121,6 +131,15 @@ var provingInfoCmd = &cli.Command{ return xerrors.Errorf("getting actor address: %w", err) } + // override maddr is specified + if cctx.String("maddr") != "" { + var err error + maddr, err = address.NewFromString(cctx.String("maddr")) + if err != nil { + panic(err) + } + } + head, err := api.ChainHead(ctx) if err != nil { return xerrors.Errorf("getting chain head: %w", err) @@ -244,6 +263,15 @@ var provingDeadlinesCmd = &cli.Command{ return xerrors.Errorf("getting actor address: %w", err) } + // override maddr is specified + if cctx.String("maddr") != "" { + var err error + maddr, err = address.NewFromString(cctx.String("maddr")) + if err != nil { + panic(err) + } + } + deadlines, err := api.StateMinerDeadlines(ctx, maddr, types.EmptyTSK) if err != nil { return xerrors.Errorf("getting deadlines: %w", err) From 978ab67c73033fb75b1037332bd96d94f5363de2 Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Fri, 3 Jul 2020 19:35:20 +0200 Subject: [PATCH 2/4] override maddr on `lotus-storage-miner info` as well --- cmd/lotus-storage-miner/info.go | 2 +- cmd/lotus-storage-miner/main.go | 20 +++++++++++++++ cmd/lotus-storage-miner/proving.go | 40 +++++------------------------- 3 files changed, 27 insertions(+), 35 deletions(-) diff --git a/cmd/lotus-storage-miner/info.go b/cmd/lotus-storage-miner/info.go index 4e54252bc..ced48ad2a 100644 --- a/cmd/lotus-storage-miner/info.go +++ b/cmd/lotus-storage-miner/info.go @@ -44,7 +44,7 @@ var infoCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := nodeApi.ActorAddress(ctx) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) if err != nil { return err } diff --git a/cmd/lotus-storage-miner/main.go b/cmd/lotus-storage-miner/main.go index bc8d3418a..b2dab2599 100644 --- a/cmd/lotus-storage-miner/main.go +++ b/cmd/lotus-storage-miner/main.go @@ -1,12 +1,16 @@ package main import ( + "context" "os" logging "github.com/ipfs/go-log/v2" "github.com/urfave/cli/v2" "go.opencensus.io/trace" + "golang.org/x/xerrors" + "github.com/filecoin-project/go-address" + "github.com/filecoin-project/lotus/api" "github.com/filecoin-project/lotus/build" lcli "github.com/filecoin-project/lotus/cli" "github.com/filecoin-project/lotus/lib/lotuslog" @@ -89,3 +93,19 @@ func main() { os.Exit(1) } } + +func getActorAddress(ctx context.Context, nodeApi api.StorageMiner, overrideMaddr string) (maddr address.Address, err error) { + if overrideMaddr != "" { + maddr, err = address.NewFromString(overrideMaddr) + if err != nil { + return maddr, err + } + } + + maddr, err = nodeApi.ActorAddress(ctx) + if err != nil { + return maddr, xerrors.Errorf("getting actor address: %w", err) + } + + return maddr, nil +} diff --git a/cmd/lotus-storage-miner/proving.go b/cmd/lotus-storage-miner/proving.go index 352336505..73bc510d5 100644 --- a/cmd/lotus-storage-miner/proving.go +++ b/cmd/lotus-storage-miner/proving.go @@ -10,7 +10,6 @@ import ( "github.com/urfave/cli/v2" "golang.org/x/xerrors" - "github.com/filecoin-project/go-address" "github.com/filecoin-project/go-bitfield" rlepluslazy "github.com/filecoin-project/go-bitfield/rle" "github.com/filecoin-project/specs-actors/actors/abi" @@ -49,18 +48,9 @@ var provingFaultsCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := nodeApi.ActorAddress(ctx) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) if err != nil { - return xerrors.Errorf("getting actor address: %w", err) - } - - // override maddr is specified - if cctx.String("maddr") != "" { - var err error - maddr, err = address.NewFromString(cctx.String("maddr")) - if err != nil { - panic(err) - } + return err } var mas miner.State @@ -126,18 +116,9 @@ var provingInfoCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := nodeApi.ActorAddress(ctx) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) if err != nil { - return xerrors.Errorf("getting actor address: %w", err) - } - - // override maddr is specified - if cctx.String("maddr") != "" { - var err error - maddr, err = address.NewFromString(cctx.String("maddr")) - if err != nil { - panic(err) - } + return err } head, err := api.ChainHead(ctx) @@ -258,18 +239,9 @@ var provingDeadlinesCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := nodeApi.ActorAddress(ctx) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) if err != nil { - return xerrors.Errorf("getting actor address: %w", err) - } - - // override maddr is specified - if cctx.String("maddr") != "" { - var err error - maddr, err = address.NewFromString(cctx.String("maddr")) - if err != nil { - panic(err) - } + return err } deadlines, err := api.StateMinerDeadlines(ctx, maddr, types.EmptyTSK) From faab606bd48201da416fc06ded2ae14d4cc87fce Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Fri, 3 Jul 2020 19:45:21 +0200 Subject: [PATCH 3/4] maddr -> actor --- cmd/lotus-storage-miner/info.go | 2 +- cmd/lotus-storage-miner/main.go | 6 ++++-- cmd/lotus-storage-miner/proving.go | 6 +++--- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/cmd/lotus-storage-miner/info.go b/cmd/lotus-storage-miner/info.go index ced48ad2a..99c09dde2 100644 --- a/cmd/lotus-storage-miner/info.go +++ b/cmd/lotus-storage-miner/info.go @@ -44,7 +44,7 @@ var infoCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("actor")) if err != nil { return err } diff --git a/cmd/lotus-storage-miner/main.go b/cmd/lotus-storage-miner/main.go index b2dab2599..c977f1a17 100644 --- a/cmd/lotus-storage-miner/main.go +++ b/cmd/lotus-storage-miner/main.go @@ -67,8 +67,10 @@ func main() { EnableBashCompletion: true, Flags: []cli.Flag{ &cli.StringFlag{ - Name: "maddr", - Value: "", + Name: "actor", + Value: "", + Usage: "specify other actor to check state for (read only)", + Aliases: []string{"a"}, }, &cli.StringFlag{ Name: "repo", diff --git a/cmd/lotus-storage-miner/proving.go b/cmd/lotus-storage-miner/proving.go index 73bc510d5..3a8c10fa9 100644 --- a/cmd/lotus-storage-miner/proving.go +++ b/cmd/lotus-storage-miner/proving.go @@ -48,7 +48,7 @@ var provingFaultsCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("actor")) if err != nil { return err } @@ -116,7 +116,7 @@ var provingInfoCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("actor")) if err != nil { return err } @@ -239,7 +239,7 @@ var provingDeadlinesCmd = &cli.Command{ ctx := lcli.ReqContext(cctx) - maddr, err := getActorAddress(ctx, nodeApi, cctx.String("maddr")) + maddr, err := getActorAddress(ctx, nodeApi, cctx.String("actor")) if err != nil { return err } From e4d8f266c6482bf4aff10851689a2942afb3019b Mon Sep 17 00:00:00 2001 From: Anton Evangelatov Date: Fri, 3 Jul 2020 19:49:21 +0200 Subject: [PATCH 4/4] make linter happy --- cmd/lotus-storage-miner/main.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/lotus-storage-miner/main.go b/cmd/lotus-storage-miner/main.go index c977f1a17..ae8ea79e7 100644 --- a/cmd/lotus-storage-miner/main.go +++ b/cmd/lotus-storage-miner/main.go @@ -96,7 +96,7 @@ func main() { } } -func getActorAddress(ctx context.Context, nodeApi api.StorageMiner, overrideMaddr string) (maddr address.Address, err error) { +func getActorAddress(ctx context.Context, nodeAPI api.StorageMiner, overrideMaddr string) (maddr address.Address, err error) { if overrideMaddr != "" { maddr, err = address.NewFromString(overrideMaddr) if err != nil { @@ -104,7 +104,7 @@ func getActorAddress(ctx context.Context, nodeApi api.StorageMiner, overrideMadd } } - maddr, err = nodeApi.ActorAddress(ctx) + maddr, err = nodeAPI.ActorAddress(ctx) if err != nil { return maddr, xerrors.Errorf("getting actor address: %w", err) }