filecoin-project / builtin-actors

The Filecoin built-in actors
Other
81 stars 76 forks source link

Implement FIP-0076 Direct data onboarding #1342

Closed anorth closed 8 months ago

anorth commented 1 year ago

This issue is to track the prototype implementation of direct data onboarding and FIL+. See FIP discussion https://github.com/filecoin-project/FIPs/discussions/730 and the draft technical design.

Work is landing in https://github.com/filecoin-project/builtin-actors/tree/integration/direct-onboarding

Some of this prototyping will precede or be in parallel to drafting of the complete FIP.

### Tasks
- [x] Add market actor SectorDeals state, and maintain it at deal activation/termination #1347
- [x] Require CommD at sector pre-commit always #1352
- [x] Add market actor handler for SectorContentChanged that activates deals #1353
- [x] Clean up verify/activate deals params and return #1361
- [x] Refactor to unify and prepare ConfirmSectorProofsValid and ProveReplicaUpdateInner for new flows #1370, #1375, #1376
- [x] New ProveCommit method (batch + aggregate) with piece activation manifests, check piece commitments, claim FIL+ allocations #1380
- [x] Add new ReplicaUpdateBatch/Aggregate method with piece activation manifests #1385
- [x] Send notifications (only to f05) at data activation from new PC/PRU methods #1386
- [x] Confirm sector termination to notify market of all sectors with non-zero data #1387
- [x] Implement batch return pattern for new activation methods #1393
- [x] Deprecate prove_replica_updates2 and remove CommD checking #1401
- [x] Deprecate use of SectorOnChainInfo.Deals  #1402
- [x] Delete deal state verified_claim #1403
- [x] Unit tests for new onboarding methods, and for notification sending
- [ ] State check verify that live data sectors match deals
- [x] Integration test for f05 deal activation via new ProveCommit
- [x] Integration test for f05 deal activation via new ReplicaUpdate
- [ ] Tune market provider_sectors HAMT parameters

ETA: 2024-02-22

anorth commented 1 year ago

Note depends on https://github.com/filecoin-project/ref-fvm/issues/1852 for correct gas accounting.