diff --git a/chain/gen/gen.go b/chain/gen/gen.go index 51289cdf8..4153830dc 100644 --- a/chain/gen/gen.go +++ b/chain/gen/gen.go @@ -121,7 +121,7 @@ func NewGeneratorWithSectorsAndUpgradeSchedule(numSectors int, us stmgr.UpgradeS policy.SetSupportedProofTypes(abi.RegisteredSealProof_StackedDrg2KiBV1) mr := repo.NewMemory(nil) - lr, err := mr.Lock(repo.StorageMinerRepoType{}) + lr, err := mr.Lock(repo.StorageMiner) if err != nil { return nil, xerrors.Errorf("taking mem-repo lock failed: %w", err) } diff --git a/chain/store/store_test.go b/chain/store/store_test.go index d75917017..a759a48a8 100644 --- a/chain/store/store_test.go +++ b/chain/store/store_test.go @@ -48,7 +48,7 @@ func BenchmarkGetRandomness(b *testing.B) { b.Fatal(err) } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { b.Fatal(err) } diff --git a/cli/auth.go b/cli/auth.go index f5a29a41e..e6eeace89 100644 --- a/cli/auth.go +++ b/cli/auth.go @@ -114,7 +114,7 @@ var AuthApiInfoToken = &cli.Command{ ti, ok := cctx.App.Metadata["repoType"] if !ok { log.Errorf("unknown repo type, are you sure you want to use GetCommonAPI?") - ti = repo.FullNodeRepoType{} + ti = repo.FullNode } t, ok := ti.(repo.RepoType) if !ok { diff --git a/cli/client_retr.go b/cli/client_retr.go index 1b7061ad9..9b195a5d8 100644 --- a/cli/client_retr.go +++ b/cli/client_retr.go @@ -403,7 +403,7 @@ var clientRetrieveCatCmd = &cli.Command{ return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments")) } - ainfo, err := GetAPIInfo(cctx, repo.FullNodeRepoType{}) + ainfo, err := GetAPIInfo(cctx, repo.FullNode) if err != nil { return xerrors.Errorf("could not get API info: %w", err) } @@ -482,7 +482,7 @@ var clientRetrieveLsCmd = &cli.Command{ return ShowHelp(cctx, fmt.Errorf("incorrect number of arguments")) } - ainfo, err := GetAPIInfo(cctx, repo.FullNodeRepoType{}) + ainfo, err := GetAPIInfo(cctx, repo.FullNode) if err != nil { return xerrors.Errorf("could not get API info: %w", err) } diff --git a/cli/pprof.go b/cli/pprof.go index 81eb03448..ae4016e11 100644 --- a/cli/pprof.go +++ b/cli/pprof.go @@ -26,7 +26,7 @@ var PprofGoroutines = &cli.Command{ ti, ok := cctx.App.Metadata["repoType"] if !ok { log.Errorf("unknown repo type, are you sure you want to use GetAPI?") - ti = repo.FullNodeRepoType{} + ti = repo.FullNode } t, ok := ti.(repo.RepoType) if !ok { diff --git a/cli/util/api.go b/cli/util/api.go index e8bf4af2d..70051cbe0 100644 --- a/cli/util/api.go +++ b/cli/util/api.go @@ -200,7 +200,7 @@ func GetCommonAPI(ctx *cli.Context) (api.CommonNet, jsonrpc.ClientCloser, error) ti, ok := ctx.App.Metadata["repoType"] if !ok { log.Errorf("unknown repo type, are you sure you want to use GetCommonAPI?") - ti = repo.FullNodeRepoType{} + ti = repo.FullNode } t, ok := ti.(repo.RepoType) if !ok { @@ -232,7 +232,7 @@ func GetFullNodeAPI(ctx *cli.Context) (v0api.FullNode, jsonrpc.ClientCloser, err return &v0api.WrapperV1Full{FullNode: tn.(v1api.FullNode)}, func() {}, nil } - addr, headers, err := GetRawAPI(ctx, repo.FullNodeRepoType{}, "v0") + addr, headers, err := GetRawAPI(ctx, repo.FullNode, "v0") if err != nil { return nil, nil, err } @@ -249,7 +249,7 @@ func GetFullNodeAPIV1(ctx *cli.Context) (v1api.FullNode, jsonrpc.ClientCloser, e return tn.(v1api.FullNode), func() {}, nil } - addr, headers, err := GetRawAPI(ctx, repo.FullNodeRepoType{}, "v1") + addr, headers, err := GetRawAPI(ctx, repo.FullNode, "v1") if err != nil { return nil, nil, err } @@ -293,7 +293,7 @@ func GetStorageMinerAPI(ctx *cli.Context, opts ...GetStorageMinerOption) (api.St return tn.(api.StorageMiner), func() {}, nil } - addr, headers, err := GetRawAPI(ctx, repo.StorageMinerRepoType{}, "v0") + addr, headers, err := GetRawAPI(ctx, repo.StorageMiner, "v0") if err != nil { return nil, nil, err } @@ -322,7 +322,7 @@ func GetStorageMinerAPI(ctx *cli.Context, opts ...GetStorageMinerOption) (api.St } func GetWorkerAPI(ctx *cli.Context) (api.Worker, jsonrpc.ClientCloser, error) { - addr, headers, err := GetRawAPI(ctx, repo.WorkerRepoType{}, "v0") + addr, headers, err := GetRawAPI(ctx, repo.Worker, "v0") if err != nil { return nil, nil, err } @@ -340,7 +340,7 @@ func GetMarketsAPI(ctx *cli.Context) (api.StorageMiner, jsonrpc.ClientCloser, er return tn.(api.StorageMiner), func() {}, nil } - addr, headers, err := GetRawAPI(ctx, repo.MarketsRepoType{}, "v0") + addr, headers, err := GetRawAPI(ctx, repo.Markets, "v0") if err != nil { return nil, nil, err } @@ -356,7 +356,7 @@ func GetMarketsAPI(ctx *cli.Context) (api.StorageMiner, jsonrpc.ClientCloser, er } func GetGatewayAPI(ctx *cli.Context) (api.Gateway, jsonrpc.ClientCloser, error) { - addr, headers, err := GetRawAPI(ctx, repo.FullNodeRepoType{}, "v1") + addr, headers, err := GetRawAPI(ctx, repo.FullNode, "v1") if err != nil { return nil, nil, err } @@ -369,7 +369,7 @@ func GetGatewayAPI(ctx *cli.Context) (api.Gateway, jsonrpc.ClientCloser, error) } func GetGatewayAPIV0(ctx *cli.Context) (v0api.Gateway, jsonrpc.ClientCloser, error) { - addr, headers, err := GetRawAPI(ctx, repo.FullNodeRepoType{}, "v0") + addr, headers, err := GetRawAPI(ctx, repo.FullNode, "v0") if err != nil { return nil, nil, err } diff --git a/cmd/lotus-miner/actor_test.go b/cmd/lotus-miner/actor_test.go index d9f7297b9..5650a9ac5 100644 --- a/cmd/lotus-miner/actor_test.go +++ b/cmd/lotus-miner/actor_test.go @@ -40,7 +40,7 @@ func TestWorkerKeyChange(t *testing.T) { run := func(cmd *cli.Command, args ...string) error { app := cli.NewApp() app.Metadata = map[string]interface{}{ - "repoType": repo.StorageMinerRepoType{}, + "repoType": repo.StorageMiner, "testnode-full": client1, "testnode-storage": miner, } diff --git a/cmd/lotus-miner/allinfo_test.go b/cmd/lotus-miner/allinfo_test.go index c85e5282c..5f30b4fec 100644 --- a/cmd/lotus-miner/allinfo_test.go +++ b/cmd/lotus-miner/allinfo_test.go @@ -36,7 +36,7 @@ func TestMinerAllInfo(t *testing.T) { run := func(t *testing.T) { app := cli.NewApp() app.Metadata = map[string]interface{}{ - "repoType": repo.StorageMinerRepoType{}, + "repoType": repo.StorageMiner, "testnode-full": client, "testnode-storage": miner, } diff --git a/cmd/lotus-miner/backup.go b/cmd/lotus-miner/backup.go index 8fe087561..cf8c9f912 100644 --- a/cmd/lotus-miner/backup.go +++ b/cmd/lotus-miner/backup.go @@ -9,6 +9,6 @@ import ( "github.com/filecoin-project/lotus/node/repo" ) -var backupCmd = lcli.BackupCmd(FlagMinerRepo, repo.StorageMinerRepoType{}, func(cctx *cli.Context) (lcli.BackupAPI, jsonrpc.ClientCloser, error) { +var backupCmd = lcli.BackupCmd(FlagMinerRepo, repo.StorageMiner, func(cctx *cli.Context) (lcli.BackupAPI, jsonrpc.ClientCloser, error) { return lcli.GetStorageMinerAPI(cctx) }) diff --git a/cmd/lotus-miner/config.go b/cmd/lotus-miner/config.go index 42bb4fdef..652426583 100644 --- a/cmd/lotus-miner/config.go +++ b/cmd/lotus-miner/config.go @@ -66,7 +66,7 @@ var configUpdateCmd = &cli.Command{ return xerrors.Errorf("repo not initialized") } - lr, err := r.LockRO(repo.StorageMinerRepoType{}) + lr, err := r.LockRO(repo.StorageMiner) if err != nil { return xerrors.Errorf("locking repo: %w", err) } diff --git a/cmd/lotus-miner/init.go b/cmd/lotus-miner/init.go index 30a2d6844..59ea75b10 100644 --- a/cmd/lotus-miner/init.go +++ b/cmd/lotus-miner/init.go @@ -203,12 +203,12 @@ var initCmd = &cli.Command{ log.Info("Initializing repo") - if err := r.Init(repo.StorageMinerRepoType{}); err != nil { + if err := r.Init(repo.StorageMiner); err != nil { return err } { - lr, err := r.Lock(repo.StorageMinerRepoType{}) + lr, err := r.Lock(repo.StorageMiner) if err != nil { return err } @@ -410,7 +410,7 @@ func findMarketDealID(ctx context.Context, api v1api.FullNode, deal market2.Deal } func storageMinerInit(ctx context.Context, cctx *cli.Context, api v1api.FullNode, r repo.Repo, ssize abi.SectorSize, gasPrice types.BigInt) error { - lr, err := r.Lock(repo.StorageMinerRepoType{}) + lr, err := r.Lock(repo.StorageMiner) if err != nil { return err } diff --git a/cmd/lotus-miner/init_restore.go b/cmd/lotus-miner/init_restore.go index 077ac8011..1aaa7909a 100644 --- a/cmd/lotus-miner/init_restore.go +++ b/cmd/lotus-miner/init_restore.go @@ -159,11 +159,11 @@ func restore(ctx context.Context, cctx *cli.Context, targetPath string, strConfi log.Info("Initializing repo") - if err := r.Init(repo.StorageMinerRepoType{}); err != nil { + if err := r.Init(repo.StorageMiner); err != nil { return err } - lr, err := r.Lock(repo.StorageMinerRepoType{}) + lr, err := r.Lock(repo.StorageMiner) if err != nil { return err } diff --git a/cmd/lotus-miner/main.go b/cmd/lotus-miner/main.go index 01a931a5f..57b5d8a3e 100644 --- a/cmd/lotus-miner/main.go +++ b/cmd/lotus-miner/main.go @@ -93,7 +93,7 @@ func main() { return err } } - c.App.Metadata["repoType"] = repo.MarketsRepoType{} + c.App.Metadata["repoType"] = repo.Markets return nil } @@ -150,7 +150,7 @@ func main() { // this command is explicitly called on markets, inform // common commands by overriding the repoType. if c.Bool("call-on-markets") { - c.App.Metadata["repoType"] = repo.MarketsRepoType{} + c.App.Metadata["repoType"] = repo.Markets } return nil }, @@ -164,7 +164,7 @@ func main() { }, } app.Setup() - app.Metadata["repoType"] = repo.StorageMinerRepoType{} + app.Metadata["repoType"] = repo.StorageMiner lcli.RunApp(app) } diff --git a/cmd/lotus-miner/run.go b/cmd/lotus-miner/run.go index f5a138fba..f276f319c 100644 --- a/cmd/lotus-miner/run.go +++ b/cmd/lotus-miner/run.go @@ -119,7 +119,7 @@ var runCmd = &cli.Command{ return xerrors.Errorf("repo at '%s' is not initialized, run 'lotus-miner init' to set it up", minerRepoPath) } - lr, err := r.Lock(repo.StorageMinerRepoType{}) + lr, err := r.Lock(repo.StorageMiner) if err != nil { return err } diff --git a/cmd/lotus-seal-worker/main.go b/cmd/lotus-seal-worker/main.go index a1812cc36..9e6843dbf 100644 --- a/cmd/lotus-seal-worker/main.go +++ b/cmd/lotus-seal-worker/main.go @@ -108,7 +108,7 @@ func main() { Commands: local, } app.Setup() - app.Metadata["repoType"] = repo.WorkerRepoType{} + app.Metadata["repoType"] = repo.Worker if err := app.Run(os.Args); err != nil { log.Warnf("%+v", err) @@ -310,11 +310,11 @@ var runCmd = &cli.Command{ return err } if !ok { - if err := r.Init(repo.WorkerRepoType{}); err != nil { + if err := r.Init(repo.Worker); err != nil { return err } - lr, err := r.Lock(repo.WorkerRepoType{}) + lr, err := r.Lock(repo.Worker) if err != nil { return err } @@ -359,7 +359,7 @@ var runCmd = &cli.Command{ } } - lr, err := r.Lock(repo.WorkerRepoType{}) + lr, err := r.Lock(repo.Worker) if err != nil { return err } @@ -397,7 +397,7 @@ var runCmd = &cli.Command{ } // Setup remote sector store - sminfo, err := lcli.GetAPIInfo(cctx, repo.StorageMinerRepoType{}) + sminfo, err := lcli.GetAPIInfo(cctx, repo.StorageMiner) if err != nil { return xerrors.Errorf("could not get api info: %w", err) } @@ -484,7 +484,7 @@ var runCmd = &cli.Command{ return xerrors.Errorf("setting api endpoint: %w", err) } - ainfo, err := lcli.GetAPIInfo(cctx, repo.StorageMinerRepoType{}) + ainfo, err := lcli.GetAPIInfo(cctx, repo.StorageMiner) if err != nil { return xerrors.Errorf("could not get miner API info: %w", err) } diff --git a/cmd/lotus-shed/balances.go b/cmd/lotus-shed/balances.go index 2550741e0..1a22be3c3 100644 --- a/cmd/lotus-shed/balances.go +++ b/cmd/lotus-shed/balances.go @@ -486,7 +486,7 @@ var chainBalanceStateCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } @@ -710,7 +710,7 @@ var chainPledgeCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/export-car.go b/cmd/lotus-shed/export-car.go index 0d00e3480..97e4fb6c6 100644 --- a/cmd/lotus-shed/export-car.go +++ b/cmd/lotus-shed/export-car.go @@ -67,7 +67,7 @@ var exportCarCmd = &cli.Command{ return xerrors.Errorf("lotus repo doesn't exist") } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/export.go b/cmd/lotus-shed/export.go index 39614a8a7..3851e4922 100644 --- a/cmd/lotus-shed/export.go +++ b/cmd/lotus-shed/export.go @@ -59,7 +59,7 @@ var exportChainCmd = &cli.Command{ return xerrors.Errorf("lotus repo doesn't exist") } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/import-car.go b/cmd/lotus-shed/import-car.go index b05deb2c5..973e7b31b 100644 --- a/cmd/lotus-shed/import-car.go +++ b/cmd/lotus-shed/import-car.go @@ -35,7 +35,7 @@ var importCarCmd = &cli.Command{ return xerrors.Errorf("lotus repo doesn't exist") } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return err } @@ -112,7 +112,7 @@ var importObjectCmd = &cli.Command{ return xerrors.Errorf("lotus repo doesn't exist") } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/keyinfo.go b/cmd/lotus-shed/keyinfo.go index aec19d8c7..3c99b5050 100644 --- a/cmd/lotus-shed/keyinfo.go +++ b/cmd/lotus-shed/keyinfo.go @@ -183,7 +183,7 @@ var keyinfoImportCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/market.go b/cmd/lotus-shed/market.go index 924b3441c..aaef4690e 100644 --- a/cmd/lotus-shed/market.go +++ b/cmd/lotus-shed/market.go @@ -301,7 +301,7 @@ func openLockedRepo(path string) (repo.LockedRepo, error) { } // Lock the repo - lr, err := rpo.Lock(repo.StorageMinerRepoType{}) + lr, err := rpo.Lock(repo.StorageMiner) if err != nil { return nil, xerrors.Errorf("locking repo %s: %w", path, err) } diff --git a/cmd/lotus-shed/migrations.go b/cmd/lotus-shed/migrations.go index c1a8f7b5e..85987c658 100644 --- a/cmd/lotus-shed/migrations.go +++ b/cmd/lotus-shed/migrations.go @@ -47,7 +47,7 @@ var migrationsCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/miner-peerid.go b/cmd/lotus-shed/miner-peerid.go index c02a226be..3ccfb429b 100644 --- a/cmd/lotus-shed/miner-peerid.go +++ b/cmd/lotus-shed/miner-peerid.go @@ -54,7 +54,7 @@ var minerPeeridCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/miner-types.go b/cmd/lotus-shed/miner-types.go index f0655096c..05ef7b0a7 100644 --- a/cmd/lotus-shed/miner-types.go +++ b/cmd/lotus-shed/miner-types.go @@ -50,7 +50,7 @@ var minerTypesCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/pruning.go b/cmd/lotus-shed/pruning.go index 184fea85b..164ff197a 100644 --- a/cmd/lotus-shed/pruning.go +++ b/cmd/lotus-shed/pruning.go @@ -123,7 +123,7 @@ var stateTreePruneCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-shed/rpc.go b/cmd/lotus-shed/rpc.go index 0c870f090..b253304a1 100644 --- a/cmd/lotus-shed/rpc.go +++ b/cmd/lotus-shed/rpc.go @@ -36,9 +36,9 @@ var rpcCmd = &cli.Command{ Action: func(cctx *cli.Context) error { var rt repo.RepoType if cctx.Bool("miner") { - rt = repo.StorageMinerRepoType{} + rt = repo.StorageMiner } else { - rt = repo.FullNodeRepoType{} + rt = repo.FullNode } addr, headers, err := lcli.GetRawAPI(cctx, rt, cctx.String("version")) @@ -125,7 +125,7 @@ var rpcCmd = &cli.Command{ return send(cctx.Args().Get(0), params) } - cctx.App.Metadata["repoType"] = repo.FullNodeRepoType{} + cctx.App.Metadata["repoType"] = repo.FullNode if err := lcli.VersionCmd.Action(cctx); err != nil { return err } diff --git a/cmd/lotus-shed/splitstore.go b/cmd/lotus-shed/splitstore.go index a907b3135..58563955f 100644 --- a/cmd/lotus-shed/splitstore.go +++ b/cmd/lotus-shed/splitstore.go @@ -67,7 +67,7 @@ var splitstoreRollbackCmd = &cli.Command{ return xerrors.Errorf("lotus repo doesn't exist") } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return xerrors.Errorf("error locking repo: %w", err) } @@ -153,7 +153,7 @@ var splitstoreClearCmd = &cli.Command{ return xerrors.Errorf("lotus repo doesn't exist") } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return xerrors.Errorf("error locking repo: %w", err) } diff --git a/cmd/lotus-shed/terminations.go b/cmd/lotus-shed/terminations.go index 8edf4e131..0691f35da 100644 --- a/cmd/lotus-shed/terminations.go +++ b/cmd/lotus-shed/terminations.go @@ -53,7 +53,7 @@ var terminationsCmd = &cli.Command{ return err } - lkrepo, err := fsrepo.Lock(repo.FullNodeRepoType{}) + lkrepo, err := fsrepo.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus-sim/simulation/node.go b/cmd/lotus-sim/simulation/node.go index 2a9769381..da027ff4f 100644 --- a/cmd/lotus-sim/simulation/node.go +++ b/cmd/lotus-sim/simulation/node.go @@ -41,7 +41,7 @@ func OpenNode(ctx context.Context, path string) (*Node, error) { // NewNode constructs a new node from the given repo. func NewNode(ctx context.Context, r repo.Repo) (nd *Node, _err error) { - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return nil, err } diff --git a/cmd/lotus-wallet/main.go b/cmd/lotus-wallet/main.go index 21563a5b4..d51175c0d 100644 --- a/cmd/lotus-wallet/main.go +++ b/cmd/lotus-wallet/main.go @@ -278,7 +278,7 @@ func openRepo(cctx *cli.Context) (repo.LockedRepo, types.KeyStore, error) { return nil, nil, err } if !ok { - if err := r.Init(repo.WorkerRepoType{}); err != nil { + if err := r.Init(repo.Worker); err != nil { return nil, nil, err } } diff --git a/cmd/lotus/backup.go b/cmd/lotus/backup.go index 7403d75c0..4bdd21322 100644 --- a/cmd/lotus/backup.go +++ b/cmd/lotus/backup.go @@ -18,7 +18,7 @@ import ( "github.com/filecoin-project/lotus/node/repo" ) -var backupCmd = lcli.BackupCmd("repo", repo.FullNodeRepoType{}, func(cctx *cli.Context) (lcli.BackupAPI, jsonrpc.ClientCloser, error) { +var backupCmd = lcli.BackupCmd("repo", repo.FullNode, func(cctx *cli.Context) (lcli.BackupAPI, jsonrpc.ClientCloser, error) { return lcli.GetFullNodeAPI(cctx) }) @@ -39,7 +39,7 @@ func restore(cctx *cli.Context, r repo.Repo) error { } defer f.Close() // nolint:errcheck - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus/config.go b/cmd/lotus/config.go index 3ca0683f7..fcb7e2b08 100644 --- a/cmd/lotus/config.go +++ b/cmd/lotus/config.go @@ -66,7 +66,7 @@ var configUpdateCmd = &cli.Command{ return xerrors.Errorf("repo not initialized") } - lr, err := r.LockRO(repo.FullNodeRepoType{}) + lr, err := r.LockRO(repo.FullNode) if err != nil { return xerrors.Errorf("locking repo: %w", err) } diff --git a/cmd/lotus/daemon.go b/cmd/lotus/daemon.go index 559713d18..f285ba74e 100644 --- a/cmd/lotus/daemon.go +++ b/cmd/lotus/daemon.go @@ -227,7 +227,7 @@ var DaemonCmd = &cli.Command{ r.SetConfigPath(cctx.String("config")) } - err = r.Init(repo.FullNodeRepoType{}) + err = r.Init(repo.FullNode) if err != nil && err != repo.ErrRepoExists { return xerrors.Errorf("repo init error: %w", err) } @@ -462,7 +462,7 @@ func ImportChain(ctx context.Context, r repo.Repo, fname string, snapshot bool) l = st.Size() } - lr, err := r.Lock(repo.FullNodeRepoType{}) + lr, err := r.Lock(repo.FullNode) if err != nil { return err } diff --git a/cmd/lotus/main.go b/cmd/lotus/main.go index eeb4192b4..c19b9fce4 100644 --- a/cmd/lotus/main.go +++ b/cmd/lotus/main.go @@ -106,7 +106,7 @@ func main() { app.Setup() app.Metadata["traceContext"] = ctx - app.Metadata["repoType"] = repo.FullNodeRepoType{} + app.Metadata["repoType"] = repo.FullNode lcli.RunApp(app) } diff --git a/documentation/en/architecture/architecture.md b/documentation/en/architecture/architecture.md index 200b4a516..64914d539 100644 --- a/documentation/en/architecture/architecture.md +++ b/documentation/en/architecture/architecture.md @@ -341,8 +341,8 @@ FIXME: This section needs to be clarified / corrected...I don't fully understand At the end of the `Repo()` function we see two mutually exclusive configuration calls based on the `RepoType` (`node/repo/fsrepo.go`). ```Go - ApplyIf(isType(repo.FullNodeRepoType{}), ConfigFullNode(c)), - ApplyIf(isType(repo.StorageMinerRepoType{}), ConfigStorageMiner(c)), + ApplyIf(isType(repo.FullNode), ConfigFullNode(c)), + ApplyIf(isType(repo.StorageMiner), ConfigStorageMiner(c)), ``` As we said, the repo fully identifies the node so a repo type is also a *node* type, in this case a full node or a miner. (FIXME: What is the difference between the two, does *full* imply miner?) In this case the `daemon` command will create a `FullNode`, this is specified in the command logic itself in `main.DaemonCmd()`, the `FsRepo` created (and passed to `node.Repo()`) will be initiated with that type (see `(*FsRepo).Init(t RepoType)`). @@ -352,7 +352,7 @@ FIXME: Much of this might need to be subsumed into the p2p section The `node.Online()` configuration function (`node/builder.go`) initializes components that involve connecting to, or interacting with, the Filecoin network. These connections are managed through the libp2p stack (FIXME link to this section when it exists). -We discuss some of the components found in the full node type (that is, included in the `ApplyIf(isType(repo.FullNodeRepoType{}),` call). +We discuss some of the components found in the full node type (that is, included in the `ApplyIf(isType(repo.FullNode),` call). #### Chainstore diff --git a/extern/sector-storage/stores/remote_test.go b/extern/sector-storage/stores/remote_test.go index 33e29820d..a7a82a728 100644 --- a/extern/sector-storage/stores/remote_test.go +++ b/extern/sector-storage/stores/remote_test.go @@ -73,8 +73,8 @@ func TestMoveShared(t *testing.T) { openRepo := func(dir string) repo.LockedRepo { r, err := repo.NewFS(dir) require.NoError(t, err) - require.NoError(t, r.Init(repo.WorkerRepoType{})) - lr, err := r.Lock(repo.WorkerRepoType{}) + require.NoError(t, r.Init(repo.Worker)) + lr, err := r.Lock(repo.Worker) require.NoError(t, err) t.Cleanup(func() { diff --git a/itests/deals_concurrent_test.go b/itests/deals_concurrent_test.go index 81b1444d9..18d8da02a 100644 --- a/itests/deals_concurrent_test.go +++ b/itests/deals_concurrent_test.go @@ -146,7 +146,7 @@ func TestSimultanenousTransferLimit(t *testing.T) { ) runTest := func(t *testing.T) { client, miner, ens := kit.EnsembleMinimal(t, kit.MockProofs(), kit.ConstructorOpts( - node.ApplyIf(node.IsType(repo.StorageMinerRepoType{}), node.Override(new(dtypes.StagingGraphsync), modules.StagingGraphsync(graphsyncThrottle, 0, graphsyncThrottle))), + node.ApplyIf(node.IsType(repo.StorageMiner), node.Override(new(dtypes.StagingGraphsync), modules.StagingGraphsync(graphsyncThrottle, 0, graphsyncThrottle))), node.Override(new(dtypes.Graphsync), modules.Graphsync(graphsyncThrottle, graphsyncThrottle)), )) ens.InterconnectAll().BeginMining(250 * time.Millisecond) diff --git a/itests/kit/ensemble.go b/itests/kit/ensemble.go index 2594babca..6a0158429 100644 --- a/itests/kit/ensemble.go +++ b/itests/kit/ensemble.go @@ -443,7 +443,7 @@ func (n *Ensemble) Start() *Ensemble { r := repo.NewMemory(nil) - lr, err := r.Lock(repo.StorageMinerRepoType{}) + lr, err := r.Lock(repo.StorageMiner) require.NoError(n.t, err) c, err := lr.Config() diff --git a/itests/sector_finalize_early_test.go b/itests/sector_finalize_early_test.go index 78eec3fa7..233bc8fcb 100644 --- a/itests/sector_finalize_early_test.go +++ b/itests/sector_finalize_early_test.go @@ -35,7 +35,7 @@ func TestDealsWithFinalizeEarly(t *testing.T) { var blockTime = 50 * time.Millisecond client, miner, ens := kit.EnsembleMinimal(t, kit.ThroughRPC(), kit.ConstructorOpts( - node.ApplyIf(node.IsType(repo.StorageMinerRepoType{}), node.Override(new(dtypes.GetSealingConfigFunc), func() (dtypes.GetSealingConfigFunc, error) { + node.ApplyIf(node.IsType(repo.StorageMiner), node.Override(new(dtypes.GetSealingConfigFunc), func() (dtypes.GetSealingConfigFunc, error) { return func() (sealiface.Config, error) { cf := config.DefaultStorageMiner() cf.Sealing.FinalizeEarly = true diff --git a/itests/sector_miner_collateral_test.go b/itests/sector_miner_collateral_test.go index 5d05f3d2d..af67b132b 100644 --- a/itests/sector_miner_collateral_test.go +++ b/itests/sector_miner_collateral_test.go @@ -38,7 +38,7 @@ func TestMinerBalanceCollateral(t *testing.T) { defer cancel() opts := kit.ConstructorOpts( - node.ApplyIf(node.IsType(repo.StorageMinerRepoType{}), node.Override(new(dtypes.GetSealingConfigFunc), func() (dtypes.GetSealingConfigFunc, error) { + node.ApplyIf(node.IsType(repo.StorageMiner), node.Override(new(dtypes.GetSealingConfigFunc), func() (dtypes.GetSealingConfigFunc, error) { return func() (sealiface.Config, error) { return sealiface.Config{ MaxWaitDealsSectors: 4, diff --git a/node/builder.go b/node/builder.go index 152c32a73..f26bddfa9 100644 --- a/node/builder.go +++ b/node/builder.go @@ -227,12 +227,12 @@ func IsType(t repo.RepoType) func(s *Settings) bool { return func(s *Settings) bool { return s.nodeType.Type() == t.Type() } } -func isFullOrLiteNode(s *Settings) bool { return s.nodeType.Type() == repo.FullNodeRepoType{}.Type() } +func isFullOrLiteNode(s *Settings) bool { return s.nodeType.Type() == repo.FullNode.Type() } func isFullNode(s *Settings) bool { - return s.nodeType.Type() == repo.FullNodeRepoType{}.Type() && !s.Lite + return s.nodeType.Type() == repo.FullNode.Type() && !s.Lite } func isLiteNode(s *Settings) bool { - return s.nodeType.Type() == repo.FullNodeRepoType{}.Type() && s.Lite + return s.nodeType.Type() == repo.FullNode.Type() && s.Lite } func Base() Option { @@ -245,7 +245,7 @@ func Base() Option { LibP2P, ), ApplyIf(isFullOrLiteNode, ChainNode), - ApplyIf(IsType(repo.StorageMinerRepoType{}), MinerNode), + ApplyIf(IsType(repo.StorageMiner), MinerNode), ) } @@ -318,8 +318,8 @@ func Repo(r repo.Repo) Option { Override(new(*dtypes.APIAlg), modules.APISecret), - ApplyIf(IsType(repo.FullNodeRepoType{}), ConfigFullNode(c)), - ApplyIf(IsType(repo.StorageMinerRepoType{}), ConfigStorageMiner(c)), + ApplyIf(IsType(repo.FullNode), ConfigFullNode(c)), + ApplyIf(IsType(repo.StorageMiner), ConfigStorageMiner(c)), )(settings) } } diff --git a/node/builder_chain.go b/node/builder_chain.go index e0d959bd6..0d10dcb9b 100644 --- a/node/builder_chain.go +++ b/node/builder_chain.go @@ -248,7 +248,7 @@ func Lite(enable bool) FullOption { func FullAPI(out *api.FullNode, fopts ...FullOption) Option { return Options( func(s *Settings) error { - s.nodeType = repo.FullNodeRepoType{} + s.nodeType = repo.FullNode s.enableLibp2pNode = true return nil }, diff --git a/node/builder_miner.go b/node/builder_miner.go index b689ab5e0..71204b3c6 100644 --- a/node/builder_miner.go +++ b/node/builder_miner.go @@ -221,7 +221,7 @@ func StorageMiner(out *api.StorageMiner, subsystemsCfg config.MinerSubsystemConf ), func(s *Settings) error { - s.nodeType = repo.StorageMinerRepoType{} + s.nodeType = repo.StorageMiner s.enableLibp2pNode = subsystemsCfg.EnableMarkets return nil }, diff --git a/node/repo/fsrepo.go b/node/repo/fsrepo.go index 92eba78ae..e5f8918ab 100644 --- a/node/repo/fsrepo.go +++ b/node/repo/fsrepo.go @@ -44,11 +44,11 @@ const ( func NewRepoTypeFromString(t string) RepoType { switch t { case "FullNode": - return FullNodeRepoType{} + return FullNode case "StorageMiner": - return StorageMinerRepoType{} + return StorageMiner case "Worker": - return WorkerRepoType{} + return Worker case "Wallet": return WalletRepoType{} default: @@ -61,47 +61,55 @@ type RepoType interface { Config() interface{} } -type FullNodeRepoType struct { +var FullNode fullNode + +type fullNode struct { } -func (f FullNodeRepoType) Type() string { +func (f fullNode) Type() string { return "FullNode" } -func (f FullNodeRepoType) Config() interface{} { +func (f fullNode) Config() interface{} { return config.DefaultFullNode() } -type StorageMinerRepoType struct { +var StorageMiner storageMiner + +type storageMiner struct { } -func (f StorageMinerRepoType) Type() string { +func (f storageMiner) Type() string { return "StorageMiner" } -func (f StorageMinerRepoType) Config() interface{} { +func (f storageMiner) Config() interface{} { return config.DefaultStorageMiner() } -type MarketsRepoType struct { +var Markets markets + +type markets struct { } -func (f MarketsRepoType) Type() string { +func (f markets) Type() string { return "Markets" } -func (f MarketsRepoType) Config() interface{} { +func (f markets) Config() interface{} { return config.DefaultStorageMiner() } -type WorkerRepoType struct { +type worker struct { } -func (f WorkerRepoType) Type() string { +var Worker worker + +func (f worker) Type() string { return "Worker" } -func (f WorkerRepoType) Config() interface{} { +func (f worker) Config() interface{} { return &struct{}{} } diff --git a/node/repo/fsrepo_test.go b/node/repo/fsrepo_test.go index 76241b07d..381ebdcbe 100644 --- a/node/repo/fsrepo_test.go +++ b/node/repo/fsrepo_test.go @@ -18,7 +18,7 @@ func genFsRepo(t *testing.T) (*FsRepo, func()) { t.Fatal(err) } - err = repo.Init(FullNodeRepoType{}) + err = repo.Init(FullNode) if err != ErrRepoExists && err != nil { t.Fatal(err) } diff --git a/node/repo/repo_test.go b/node/repo/repo_test.go index 55c61845c..cd19f86f6 100644 --- a/node/repo/repo_test.go +++ b/node/repo/repo_test.go @@ -21,12 +21,12 @@ func basicTest(t *testing.T, repo Repo) { } assert.Nil(t, apima, "with no api endpoint, return should be nil") - lrepo, err := repo.Lock(FullNodeRepoType{}) + lrepo, err := repo.Lock(FullNode) assert.NoError(t, err, "should be able to lock once") assert.NotNil(t, lrepo, "locked repo shouldn't be nil") { - lrepo2, err := repo.Lock(FullNodeRepoType{}) + lrepo2, err := repo.Lock(FullNode) if assert.Error(t, err) { assert.Equal(t, ErrRepoAlreadyLocked, err) } @@ -36,7 +36,7 @@ func basicTest(t *testing.T, repo Repo) { err = lrepo.Close() assert.NoError(t, err, "should be able to unlock") - lrepo, err = repo.Lock(FullNodeRepoType{}) + lrepo, err = repo.Lock(FullNode) assert.NoError(t, err, "should be able to relock") assert.NotNil(t, lrepo, "locked repo shouldn't be nil") @@ -80,7 +80,7 @@ func basicTest(t *testing.T, repo Repo) { k1 := types.KeyInfo{Type: "foo"} k2 := types.KeyInfo{Type: "bar"} - lrepo, err = repo.Lock(FullNodeRepoType{}) + lrepo, err = repo.Lock(FullNode) assert.NoError(t, err, "should be able to relock") assert.NotNil(t, lrepo, "locked repo shouldn't be nil") diff --git a/testplans/lotus-soup/testkit/role_miner.go b/testplans/lotus-soup/testkit/role_miner.go index e3d7c7d62..7204c71fe 100644 --- a/testplans/lotus-soup/testkit/role_miner.go +++ b/testplans/lotus-soup/testkit/role_miner.go @@ -138,7 +138,7 @@ func PrepareMiner(t *TestEnvironment) (*LotusMiner, error) { return nil, err } - err = minerRepo.Init(repo.StorageMinerRepoType{}) + err = minerRepo.Init(repo.StorageMiner) if err != nil { return nil, err } @@ -146,7 +146,7 @@ func PrepareMiner(t *TestEnvironment) (*LotusMiner, error) { var subsystems config.MinerSubsystemConfig { - lr, err := minerRepo.Lock(repo.StorageMinerRepoType{}) + lr, err := minerRepo.Lock(repo.StorageMiner) if err != nil { return nil, err } @@ -244,7 +244,7 @@ func PrepareMiner(t *TestEnvironment) (*LotusMiner, error) { return nil, err } - err = nodeRepo.Init(repo.FullNodeRepoType{}) + err = nodeRepo.Init(repo.FullNode) if err != nil { return nil, err }