Skip to content

Commit b47546d

Browse files
authored
fix: railToDataSet cleanup (#269)
Reviewers @Chaitu-Tatipamula @juliangruber The CDN railToDataSet cleanup cannot work because the metadata keys are cleared before the hasMetadataKey check #### Changes * delete railToDataSet before metadata keys * delete dataset info last
1 parent 7b28dec commit b47546d

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

service_contracts/src/FilecoinWarmStorageService.sol

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -672,9 +672,6 @@ contract FilecoinWarmStorageService is
672672
Errors.PaymentRailsNotFinalized(dataSetId, info.pdpEndEpoch)
673673
);
674674

675-
// Complete cleanup - remove the dataset from all mappings
676-
delete dataSetInfo[dataSetId];
677-
678675
// Remove from client's dataset list
679676
uint256[] storage clientDataSetList = clientDataSets[payer];
680677
for (uint256 i = 0; i < clientDataSetList.length; i++) {
@@ -686,24 +683,29 @@ contract FilecoinWarmStorageService is
686683
}
687684
}
688685

686+
// Remove the dataset from all mappings
687+
689688
// Clean up proving-related state
690689
delete provingDeadlines[dataSetId];
691690
delete provenThisPeriod[dataSetId];
692691
delete provingActivationEpoch[dataSetId];
693692

693+
// Clean up rail mappings
694+
delete railToDataSet[info.pdpRailId];
695+
if (hasMetadataKey(dataSetMetadataKeys[dataSetId], METADATA_KEY_WITH_CDN)) {
696+
delete railToDataSet[info.cacheMissRailId];
697+
delete railToDataSet[info.cdnRailId];
698+
}
699+
694700
// Clean up metadata mappings
695701
string[] storage metadataKeys = dataSetMetadataKeys[dataSetId];
696702
for (uint256 i = 0; i < metadataKeys.length; i++) {
697703
delete dataSetMetadata[dataSetId][metadataKeys[i]];
698704
}
699705
delete dataSetMetadataKeys[dataSetId];
700706

701-
// Clean up rail mappings
702-
delete railToDataSet[info.pdpRailId];
703-
if (hasMetadataKey(dataSetMetadataKeys[dataSetId], METADATA_KEY_WITH_CDN)) {
704-
delete railToDataSet[info.cacheMissRailId];
705-
delete railToDataSet[info.cdnRailId];
706-
}
707+
// Complete cleanup
708+
delete dataSetInfo[dataSetId];
707709
}
708710

709711
/**

0 commit comments

Comments
 (0)