9e03fcab83
* Initial work supporting DDO pieces in lotus-miner * sealing: Update pipeline input to operate on UniversalPiece * sealing: Update pipeline checks/sealing states to operate on UniversalPiece * sealing: Make pipeline build with UniversalPiece * move PieceDealInfo out of api * make gen * make sealing pipeline unit tests pass * fix itest ensemble build * don't panic in SectorsStatus with deals * stop linter from complaining about checkPieces * fix sector import tests * mod tidy * sealing: Add logic for (pre)committing DDO sectors * sealing: state-types with method defs * DDO non-snap pipeline works(?), DDO Itests * DDO support in snapdeals pipeline * make gen * update actor bundles * update the gst market fix * fix: chain: use PreCommitSectorsBatch2 when setting up genesis * some bug fixes * integration working changes * update actor bundles * Make TestOnboardRawPieceSnap pass * Appease the linter * Make deadlines test pass with v12 actors * Update go-state-types, abstract market DealState * make gen * mod tidy, lint fixes * Fix some more tests * Bump version in master Bump version in master * Make gen Make gen * fix sender * fix: lotus-provider: Fix winning PoSt * fix: sql Scan cannot write to an object * Actually show miner-addrs in info-log Actually show miner-addrs in lotus-provider info-log * [WIP] feat: Add nv22 skeleton Addition of Network Version 22 skeleton * update FFI * ddo is now nv22 * make gen * temp actor bundle with ddo * use working go-state-types * gst with v13 market migration * update bundle, builtin.MethodsMiner.ProveCommitSectors2 -> 3 * actually working v13 migration, v13 migration itest * Address review * sealing: Correct DDO snap pledge math * itests: Mixed ddo itest * pipeline: Fix sectorWeight * sealing: convert market deals into PAMs in mixed sectors * sealing: make market to ddo conversion work * fix lint * update gst * Update actors and GST to lastest integ branch * commit batcher: Update ProveCommitSectors3Params builder logic * make gen * use builtin-actors master * ddo: address review * itests: Add commd assertions to ddo tests * make gen * gst with fixed types * config knobs for RequireActivationSuccess * storage: Drop obsolete flaky tasts --------- Co-authored-by: Jennifer Wang <jiayingw703@gmail.com> Co-authored-by: Aayush <arajasek94@gmail.com> Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai> Co-authored-by: Phi <orjan.roren@gmail.com> Co-authored-by: Andrew Jackson (Ajax) <snadrus@gmail.com> Co-authored-by: TippyFlits <james.bluett@protocol.ai>
165 lines
3.2 KiB
Go
165 lines
3.2 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
"os"
|
|
"os/signal"
|
|
"runtime/pprof"
|
|
|
|
logging "github.com/ipfs/go-log/v2"
|
|
"github.com/urfave/cli/v2"
|
|
|
|
"github.com/filecoin-project/lotus/build"
|
|
)
|
|
|
|
var log = logging.Logger("lotus-shed")
|
|
|
|
func main() {
|
|
_ = logging.SetLogLevel("*", "INFO")
|
|
_ = logging.SetLogLevelRegex("badger*", "ERROR")
|
|
_ = logging.SetLogLevel("drand", "ERROR")
|
|
_ = logging.SetLogLevel("chainstore", "ERROR")
|
|
|
|
local := []*cli.Command{
|
|
addressCmd,
|
|
statActorCmd,
|
|
statSnapshotCmd,
|
|
statObjCmd,
|
|
base64Cmd,
|
|
base32Cmd,
|
|
base16Cmd,
|
|
bitFieldCmd,
|
|
chainwatchCmd,
|
|
cronWcCmd,
|
|
frozenMinersCmd,
|
|
dealLabelCmd,
|
|
keyinfoCmd,
|
|
jwtCmd,
|
|
noncefix,
|
|
bigIntParseCmd,
|
|
staterootCmd,
|
|
auditsCmd,
|
|
importCarCmd,
|
|
importObjectCmd,
|
|
commpToCidCmd,
|
|
fetchParamCmd,
|
|
postFindCmd,
|
|
proofsCmd,
|
|
verifRegCmd,
|
|
marketCmd,
|
|
miscCmd,
|
|
mpoolCmd,
|
|
helloCmd,
|
|
genesisVerifyCmd,
|
|
mathCmd,
|
|
minerCmd,
|
|
mpoolStatsCmd,
|
|
exportChainCmd,
|
|
ethCmd,
|
|
exportCarCmd,
|
|
consensusCmd,
|
|
syncCmd,
|
|
stateTreePruneCmd,
|
|
datastoreCmd,
|
|
ledgerCmd,
|
|
sectorsCmd,
|
|
msgCmd,
|
|
electionCmd,
|
|
rpcCmd,
|
|
cidCmd,
|
|
blockmsgidCmd,
|
|
signaturesCmd,
|
|
actorCmd,
|
|
minerTypesCmd,
|
|
minerPeeridCmd,
|
|
minerMultisigsCmd,
|
|
splitstoreCmd,
|
|
fr32Cmd,
|
|
chainCmd,
|
|
balancerCmd,
|
|
sendCsvCmd,
|
|
terminationsCmd,
|
|
migrationsCmd,
|
|
diffCmd,
|
|
itestdCmd,
|
|
msigCmd,
|
|
invariantsCmd,
|
|
gasTraceCmd,
|
|
replayOfflineCmd,
|
|
indexesCmd,
|
|
FevmAnalyticsCmd,
|
|
mismatchesCmd,
|
|
blockCmd,
|
|
}
|
|
|
|
app := &cli.App{
|
|
Name: "lotus-shed",
|
|
Usage: "A place for all the lotus tools",
|
|
Version: build.UserVersion(),
|
|
Commands: local,
|
|
Flags: []cli.Flag{
|
|
&cli.StringFlag{
|
|
Name: "repo",
|
|
EnvVars: []string{"LOTUS_PATH"},
|
|
Hidden: true,
|
|
Value: "~/.lotus", // TODO: Consider XDG_DATA_HOME
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "miner-repo",
|
|
Aliases: []string{"storagerepo"},
|
|
EnvVars: []string{"LOTUS_MINER_PATH", "LOTUS_STORAGE_PATH"},
|
|
Value: "~/.lotusminer", // TODO: Consider XDG_DATA_HOME
|
|
Usage: fmt.Sprintf("Specify miner repo path. flag storagerepo and env LOTUS_STORAGE_PATH are DEPRECATION, will REMOVE SOON"),
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "log-level",
|
|
Value: "info",
|
|
},
|
|
&cli.StringFlag{
|
|
Name: "pprof",
|
|
Usage: "specify name of file for writing cpu profile to",
|
|
},
|
|
},
|
|
Before: func(cctx *cli.Context) error {
|
|
if prof := cctx.String("pprof"); prof != "" {
|
|
profile, err := os.Create(prof)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if err := pprof.StartCPUProfile(profile); err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
return logging.SetLogLevel("lotus-shed", cctx.String("log-level"))
|
|
},
|
|
After: func(cctx *cli.Context) error {
|
|
if prof := cctx.String("pprof"); prof != "" {
|
|
pprof.StopCPUProfile()
|
|
}
|
|
return nil
|
|
},
|
|
}
|
|
|
|
// terminate early on ctrl+c
|
|
c := make(chan os.Signal, 1)
|
|
signal.Notify(c, os.Interrupt)
|
|
ctx, cancel := context.WithCancel(context.Background())
|
|
go func() {
|
|
<-c
|
|
cancel()
|
|
fmt.Println("Received interrupt, shutting down... Press CTRL+C again to force shutdown")
|
|
<-c
|
|
fmt.Println("Forcing stop")
|
|
os.Exit(1)
|
|
}()
|
|
|
|
if err := app.RunContext(ctx, os.Args); err != nil {
|
|
log.Errorf("%+v", err)
|
|
os.Exit(1)
|
|
return
|
|
}
|
|
}
|