Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 62 additions & 0 deletions client/swagger/models/deal_list_deal_request.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

63 changes: 63 additions & 0 deletions client/swagger/models/model_deal.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

78 changes: 78 additions & 0 deletions client/swagger/models/model_deal_type.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions cmd/app.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@ Upgrading:
run.DatasetWorkerCmd,
run.ContentProviderCmd,
run.DealTrackerCmd,
run.PDPTrackerCmd,
run.DealPusherCmd,
run.DownloadServerCmd,
},
Expand Down
5 changes: 5 additions & 0 deletions cmd/deal/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,10 @@ var ListCmd = &cli.Command{
Name: "state",
Usage: "Filter deals by state: proposed, published, active, expired, proposal_expired, slashed",
},
&cli.StringSliceFlag{
Name: "deal-type",
Usage: "Filter deals by type: market (legacy f05), pdp (f41 PDP deals)",
},
},
Action: func(c *cli.Context) error {
db, closer, err := database.OpenFromCLI(c)
Expand All @@ -47,6 +51,7 @@ var ListCmd = &cli.Command{
Schedules: underscore.Map(c.IntSlice("schedules"), func(i int) uint32 { return uint32(i) }),
Providers: c.StringSlice("provider"),
States: underscore.Map(c.StringSlice("state"), func(s string) model.DealState { return model.DealState(s) }),
DealTypes: underscore.Map(c.StringSlice("deal-type"), func(s string) model.DealType { return model.DealType(s) }),
})
if err != nil {
return errors.WithStack(err)
Expand Down
60 changes: 60 additions & 0 deletions cmd/run/pdptracker.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
package run

import (
"time"

"github.com/data-preservation-programs/singularity/database"
"github.com/data-preservation-programs/singularity/service"
"github.com/data-preservation-programs/singularity/service/pdptracker"
"github.com/urfave/cli/v2"
)

var PDPTrackerCmd = &cli.Command{
Name: "pdp-tracker",
Usage: "Start a PDP deal tracker that tracks f41 PDP deals for all relevant wallets",
Description: `The PDP tracker monitors Proof of Data Possession (PDP) deals on the Filecoin network.
Unlike legacy f05 market deals, PDP deals use proof sets managed through the PDPVerifier contract
where data is verified through cryptographic challenges.

This tracker:
- Monitors proof sets for tracked wallets
- Updates deal status based on on-chain proof set state
- Tracks challenge epochs and live status

Note: Full functionality requires the go-synapse library integration.
See: https://github.com/data-preservation-programs/go-synapse`,
Flags: []cli.Flag{
&cli.DurationFlag{
Name: "interval",
Usage: "How often to check for PDP deal updates",
Value: 10 * time.Minute,
},
&cli.StringFlag{
Name: "lotus-api",
Usage: "Lotus RPC API endpoint",
EnvVars: []string{"LOTUS_API"},
},
},
Action: func(c *cli.Context) error {
db, closer, err := database.OpenFromCLI(c)
if err != nil {
return err
}
defer closer.Close()

// Note: PDPClient is nil until go-synapse integration is complete
// When go-synapse is available, instantiate the client here:
// pdpClient := synapse.NewPDPClient(c.String("lotus-api"), ...)
var pdpClient pdptracker.PDPClient = nil

tracker := pdptracker.NewPDPTracker(
db,
c.Duration("interval"),
c.String("lotus-api"),
pdpClient,
false,
)

return service.StartServers(c.Context, pdptracker.Logger, &tracker)
},
}
1 change: 1 addition & 0 deletions docs/en/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@
* [Dataset Worker](cli-reference/run/dataset-worker.md)
* [Content Provider](cli-reference/run/content-provider.md)
* [Deal Tracker](cli-reference/run/deal-tracker.md)
* [Pdp Tracker](cli-reference/run/pdp-tracker.md)
* [Deal Pusher](cli-reference/run/deal-pusher.md)
* [Download Server](cli-reference/run/download-server.md)
* [Wallet](cli-reference/wallet/README.md)
Expand Down
1 change: 1 addition & 0 deletions docs/en/cli-reference/deal/list.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions docs/en/cli-reference/run/README.md

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading