Merge pull request #3066 from filecoin-project/feat/cmd-improvements
add a market balance command, and a verbose mode for storage-deals list
This commit is contained in:
commit
b75ba5ea46
54
cli/state.go
54
cli/state.go
@ -67,6 +67,7 @@ var stateCmd = &cli.Command{
|
||||
stateWaitMsgCmd,
|
||||
stateSearchMsgCmd,
|
||||
stateMinerInfo,
|
||||
stateMarketCmd,
|
||||
},
|
||||
}
|
||||
|
||||
@ -1515,11 +1516,54 @@ var stateCircSupplyCmd = &cli.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
fmt.Println("Circulating supply: ", circ.FilCirculating)
|
||||
fmt.Println("Mined: ", circ.FilMined)
|
||||
fmt.Println("Vested: ", circ.FilVested)
|
||||
fmt.Println("Burnt: ", circ.FilBurnt)
|
||||
fmt.Println("Locked: ", circ.FilLocked)
|
||||
fmt.Println("Circulating supply: ", types.FIL(circ.FilCirculating))
|
||||
fmt.Println("Mined: ", types.FIL(circ.FilMined))
|
||||
fmt.Println("Vested: ", types.FIL(circ.FilVested))
|
||||
fmt.Println("Burnt: ", types.FIL(circ.FilBurnt))
|
||||
fmt.Println("Locked: ", types.FIL(circ.FilLocked))
|
||||
|
||||
return nil
|
||||
},
|
||||
}
|
||||
|
||||
var stateMarketCmd = &cli.Command{
|
||||
Name: "market",
|
||||
Usage: "Inspect the storage market actor",
|
||||
Subcommands: []*cli.Command{
|
||||
stateMarketBalanceCmd,
|
||||
},
|
||||
}
|
||||
|
||||
var stateMarketBalanceCmd = &cli.Command{
|
||||
Name: "balance",
|
||||
Usage: "Get the market balance (locked and escrowed) for a given account",
|
||||
Action: func(cctx *cli.Context) error {
|
||||
if !cctx.Args().Present() {
|
||||
return ShowHelp(cctx, fmt.Errorf("must specify address to print market balance for"))
|
||||
}
|
||||
|
||||
api, closer, err := GetFullNodeAPI(cctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer closer()
|
||||
|
||||
ctx := ReqContext(cctx)
|
||||
|
||||
ts, err := LoadTipSet(ctx, cctx, api)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
addr, err := address.NewFromString(cctx.Args().First())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
balance, err := api.StateMarketBalance(ctx, addr, ts.Key())
|
||||
|
||||
fmt.Printf("Escrow: %s\n", types.FIL(balance.Escrow))
|
||||
fmt.Printf("Locked: %s\n", types.FIL(balance.Locked))
|
||||
|
||||
return nil
|
||||
},
|
||||
|
@ -338,6 +338,12 @@ var dealsImportDataCmd = &cli.Command{
|
||||
var dealsListCmd = &cli.Command{
|
||||
Name: "list",
|
||||
Usage: "List all deals for this miner",
|
||||
Flags: []cli.Flag{
|
||||
&cli.BoolFlag{
|
||||
Name: "verbose",
|
||||
Aliases: []string{"v"},
|
||||
},
|
||||
},
|
||||
Action: func(cctx *cli.Context) error {
|
||||
api, closer, err := lcli.GetStorageMinerAPI(cctx)
|
||||
if err != nil {
|
||||
@ -354,15 +360,28 @@ var dealsListCmd = &cli.Command{
|
||||
|
||||
w := tabwriter.NewWriter(os.Stdout, 2, 4, 2, ' ', 0)
|
||||
|
||||
_, _ = fmt.Fprintf(w, "ProposalCid\tDealId\tState\tClient\tSize\tPrice\tDuration\n")
|
||||
verbose := cctx.Bool("verbose")
|
||||
|
||||
if verbose {
|
||||
_, _ = fmt.Fprintf(w, "ProposalCid\tDealId\tState\tClient\tSize\tPrice\tDuration\tMessage\n")
|
||||
} else {
|
||||
_, _ = fmt.Fprintf(w, "ProposalCid\tDealId\tState\tClient\tSize\tPrice\tDuration\n")
|
||||
}
|
||||
|
||||
for _, deal := range deals {
|
||||
propcid := deal.ProposalCid.String()
|
||||
propcid = "..." + propcid[len(propcid)-8:]
|
||||
if !verbose {
|
||||
propcid = "..." + propcid[len(propcid)-8:]
|
||||
}
|
||||
|
||||
fil := types.FIL(types.BigMul(deal.Proposal.StoragePricePerEpoch, types.NewInt(uint64(deal.Proposal.Duration()))))
|
||||
|
||||
_, _ = fmt.Fprintf(w, "%s\t%d\t%s\t%s\t%s\t%s\t%s\n", propcid, deal.DealID, storagemarket.DealStates[deal.State], deal.Proposal.Client, units.BytesSize(float64(deal.Proposal.PieceSize)), fil, deal.Proposal.Duration())
|
||||
_, _ = fmt.Fprintf(w, "%s\t%d\t%s\t%s\t%s\t%s\t%s", propcid, deal.DealID, storagemarket.DealStates[deal.State], deal.Proposal.Client, units.BytesSize(float64(deal.Proposal.PieceSize)), fil, deal.Proposal.Duration())
|
||||
if verbose {
|
||||
_, _ = fmt.Fprintf(w, "\t%s", deal.Message)
|
||||
}
|
||||
|
||||
_, _ = fmt.Fprintln(w)
|
||||
}
|
||||
|
||||
return w.Flush()
|
||||
|
Loading…
Reference in New Issue
Block a user