Skip to content
Open
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
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ node_modules
.env.development.local
.env.test.local
.env.production.local
.claude/

npm-debug.log*
yarn-debug.log*
Expand Down
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
61 changes: 61 additions & 0 deletions cmd/run/pdptracker.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
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()

pdpClient, err := pdptracker.NewPDPClient(c.Context, c.String("lotus-api"))
if err != nil {
return err
}
defer pdpClient.Close()

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
Loading