Add cli command to get a list of claims

This commit is contained in:
Geoff Stuart 2022-12-14 16:55:50 -05:00
parent 754f294992
commit 6ca975e83a
2 changed files with 114 additions and 0 deletions

View File

@ -43,6 +43,7 @@ var filplusCmd = &cli.Command{
filplusCheckNotaryCmd,
filplusSignRemoveDataCapProposal,
filplusListAllocationsCmd,
filplusListClaimsCmd,
filplusRemoveExpiredAllocationsCmd,
filplusRemoveExpiredClaimsCmd,
},
@ -311,6 +312,91 @@ var filplusListAllocationsCmd = &cli.Command{
},
}
var filplusListClaimsCmd = &cli.Command{
Name: "list-claims",
Usage: "List claims made by provider",
ArgsUsage: "providerAddress",
Flags: []cli.Flag{
&cli.BoolFlag{
Name: "expired",
Usage: "list only expired claims",
},
},
Action: func(cctx *cli.Context) error {
if cctx.NArg() != 1 {
return IncorrectNumArgs(cctx)
}
api, closer, err := GetFullNodeAPI(cctx)
if err != nil {
return err
}
defer closer()
ctx := ReqContext(cctx)
providerAddr, err := address.NewFromString(cctx.Args().Get(0))
if err != nil {
return err
}
providerIdAddr, err := api.StateLookupID(ctx, providerAddr, types.EmptyTSK)
if err != nil {
return err
}
store := adt.WrapStore(ctx, cbor.NewCborStore(blockstore.NewAPIBlockstore(api)))
verifregActor, err := api.StateGetActor(ctx, verifreg.Address, types.EmptyTSK)
if err != nil {
return err
}
verifregState, err := verifreg.Load(store, verifregActor)
if err != nil {
return err
}
ts, err := api.ChainHead(ctx)
if err != nil {
return err
}
claimsMap, err := verifregState.GetClaims(providerIdAddr)
if err != nil {
return err
}
tw := tablewriter.New(
tablewriter.Col("ID"),
tablewriter.Col("Provider"),
tablewriter.Col("Client"),
tablewriter.Col("Data"),
tablewriter.Col("Size"),
tablewriter.Col("TermMin"),
tablewriter.Col("TermMax"),
tablewriter.Col("TermStart"),
tablewriter.Col("Sector"),
)
for claimId, claim := range claimsMap {
if ts.Height() > claim.TermMax || !cctx.IsSet("expired") {
tw.Write(map[string]interface{}{
"ID": claimId,
"Provider": claim.Provider,
"Client": claim.Client,
"Data": claim.Data,
"Size": claim.Size,
"TermMin": claim.TermMin,
"TermMax": claim.TermMax,
"TermStart": claim.TermStart,
"Sector": claim.Sector,
})
}
}
return tw.Flush(os.Stdout)
},
}
var filplusRemoveExpiredAllocationsCmd = &cli.Command{
Name: "remove-expired-allocations",
Usage: "remove expired allocations (if no allocations are specified all eligible allocations are removed)",

View File

@ -1210,7 +1210,9 @@ COMMANDS:
check-notary-datacap check a notary's remaining bytes
sign-remove-data-cap-proposal allows a notary to sign a Remove Data Cap Proposal
list-allocations List allocations made by client
list-claims List claims made by provider
remove-expired-allocations remove expired allocations (if no allocations are specified all eligible allocations are removed)
remove-expired-claims remove expired claims (if no claims are specified all eligible claims are removed)
help, h Shows a list of commands or help for one command
OPTIONS:
@ -1309,6 +1311,19 @@ OPTIONS:
```
### lotus filplus list-claims
```
NAME:
lotus filplus list-claims - List claims made by provider
USAGE:
lotus filplus list-claims [command options] providerAddress
OPTIONS:
--expired list only expired claims (default: false)
```
### lotus filplus remove-expired-allocations
```
NAME:
@ -1322,6 +1337,19 @@ OPTIONS:
```
### lotus filplus remove-expired-claims
```
NAME:
lotus filplus remove-expired-claims - remove expired claims (if no claims are specified all eligible claims are removed)
USAGE:
lotus filplus remove-expired-claims [command options] providerAddress Optional[...claimId]
OPTIONS:
--from value optionally specify the account to send the message from
```
## lotus paych
```
NAME: