Skip to content

Commit

Permalink
Merge pull request #10364 from filecoin-project/chore/rm-market-info-lsm
Browse files Browse the repository at this point in the history
chore: Remove legacy market info from lotus-miner info
  • Loading branch information
magik6k authored Mar 1, 2023
2 parents 544af75 + 9aba7dc commit 9a2b830
Showing 1 changed file with 1 addition and 122 deletions.
123 changes: 1 addition & 122 deletions cmd/lotus-miner/info.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,6 @@ import (
corebig "math/big"
"os"
"sort"
"strings"
"text/tabwriter"
"time"

"github.com/fatih/color"
Expand All @@ -18,8 +16,6 @@ import (
"golang.org/x/xerrors"

"github.com/filecoin-project/go-address"
"github.com/filecoin-project/go-fil-markets/retrievalmarket"
"github.com/filecoin-project/go-fil-markets/storagemarket"
"github.com/filecoin-project/go-state-types/abi"
"github.com/filecoin-project/go-state-types/big"
"github.com/filecoin-project/specs-actors/actors/builtin"
Expand Down Expand Up @@ -65,12 +61,6 @@ func infoCmdAct(cctx *cli.Context) error {
}
defer closer()

marketsApi, closer, err := lcli.GetMarketsAPI(cctx)
if err != nil {
return err
}
defer closer()

fullapi, acloser, err := lcli.GetFullNodeAPIV1(cctx)
if err != nil {
return err
Expand All @@ -84,14 +74,7 @@ func infoCmdAct(cctx *cli.Context) error {
return err
}

fmt.Println("Enabled subsystems (from miner API):", subsystems)

subsystems, err = marketsApi.RuntimeSubsystems(ctx)
if err != nil {
return err
}

fmt.Println("Enabled subsystems (from markets API):", subsystems)
fmt.Println("Enabled subsystems:", subsystems)

start, err := minerApi.StartTime(ctx)
if err != nil {
Expand Down Expand Up @@ -128,11 +111,6 @@ func infoCmdAct(cctx *cli.Context) error {
return err
}

err = handleMarketsInfo(ctx, marketsApi)
if err != nil {
return err
}

return nil
}

Expand Down Expand Up @@ -393,105 +371,6 @@ func handleMiningInfo(ctx context.Context, cctx *cli.Context, fullapi v1api.Full
return nil
}

func handleMarketsInfo(ctx context.Context, nodeApi api.StorageMiner) error {
deals, err := nodeApi.MarketListIncompleteDeals(ctx)
if err != nil {
return err
}

type dealStat struct {
count, verifCount int
bytes, verifBytes uint64
}
dsAdd := func(ds *dealStat, deal storagemarket.MinerDeal) {
ds.count++
ds.bytes += uint64(deal.Proposal.PieceSize)
if deal.Proposal.VerifiedDeal {
ds.verifCount++
ds.verifBytes += uint64(deal.Proposal.PieceSize)
}
}

showDealStates := map[storagemarket.StorageDealStatus]struct{}{
storagemarket.StorageDealActive: {},
storagemarket.StorageDealAcceptWait: {},
storagemarket.StorageDealReserveProviderFunds: {},
storagemarket.StorageDealProviderFunding: {},
storagemarket.StorageDealTransferring: {},
storagemarket.StorageDealValidating: {},
storagemarket.StorageDealStaged: {},
storagemarket.StorageDealAwaitingPreCommit: {},
storagemarket.StorageDealSealing: {},
storagemarket.StorageDealPublish: {},
storagemarket.StorageDealCheckForAcceptance: {},
storagemarket.StorageDealPublishing: {},
}

var total dealStat
perState := map[storagemarket.StorageDealStatus]*dealStat{}
for _, deal := range deals {
if _, ok := showDealStates[deal.State]; !ok {
continue
}
if perState[deal.State] == nil {
perState[deal.State] = new(dealStat)
}

dsAdd(&total, deal)
dsAdd(perState[deal.State], deal)
}

type wstr struct {
str string
status storagemarket.StorageDealStatus
}
sorted := make([]wstr, 0, len(perState))
for status, stat := range perState {
st := strings.TrimPrefix(storagemarket.DealStates[status], "StorageDeal")
sorted = append(sorted, wstr{
str: fmt.Sprintf(" %s:\t%d\t\t%s\t(Verified: %d\t%s)\n", st, stat.count, types.SizeStr(types.NewInt(stat.bytes)), stat.verifCount, types.SizeStr(types.NewInt(stat.verifBytes))),
status: status,
},
)
}
sort.Slice(sorted, func(i, j int) bool {
if sorted[i].status == storagemarket.StorageDealActive || sorted[j].status == storagemarket.StorageDealActive {
return sorted[i].status == storagemarket.StorageDealActive
}
return sorted[i].status > sorted[j].status
})

fmt.Println()
fmt.Printf("Storage Deals: %d, %s\n", total.count, types.SizeStr(types.NewInt(total.bytes)))

tw := tabwriter.NewWriter(os.Stdout, 1, 1, 1, ' ', 0)
for _, e := range sorted {
_, _ = tw.Write([]byte(e.str))
}

_ = tw.Flush()
fmt.Println()

retrievals, err := nodeApi.MarketListRetrievalDeals(ctx)
if err != nil {
return xerrors.Errorf("getting retrieval deal list: %w", err)
}

var retrComplete dealStat
for _, retrieval := range retrievals {
if retrieval.Status == retrievalmarket.DealStatusCompleted {
retrComplete.count++
retrComplete.bytes += retrieval.TotalSent
}
}

fmt.Printf("Retrieval Deals (complete): %d, %s\n", retrComplete.count, types.SizeStr(types.NewInt(retrComplete.bytes)))

fmt.Println()

return nil
}

type stateMeta struct {
i int
col color.Attribute
Expand Down

0 comments on commit 9a2b830

Please sign in to comment.