@@ -33,10 +33,10 @@ contract PDPVerifierDataSetCreateDeleteTest is Test {
3333 Cids.Cid memory zeroPiece;
3434
3535 vm.expectEmit (true , true , false , false );
36- emit IPDPEvents.DataSetCreated (0 , address (this ));
36+ emit IPDPEvents.DataSetCreated (1 , address (this ));
3737
3838 uint256 setId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
39- assertEq (setId, 0 , "First data set ID should be 0 " );
39+ assertEq (setId, 1 , "First data set ID should be 1 " );
4040 assertEq (pdpVerifier.getDataSetLeafCount (setId), 0 , "Data set leaf count should be 0 " );
4141
4242 (address currentStorageProvider , address proposedStorageProvider ) = pdpVerifier.getDataSetStorageProvider (setId);
@@ -61,7 +61,7 @@ contract PDPVerifierDataSetCreateDeleteTest is Test {
6161
6262 function testDeleteDataSet () public {
6363 vm.expectEmit (true , true , false , false );
64- emit IPDPEvents.DataSetCreated (0 , address (this ));
64+ emit IPDPEvents.DataSetCreated (1 , address (this ));
6565 uint256 setId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
6666 vm.expectEmit (true , true , false , false );
6767 emit IPDPEvents.DataSetDeleted (setId, 0 );
@@ -72,7 +72,7 @@ contract PDPVerifierDataSetCreateDeleteTest is Test {
7272
7373 function testOnlyStorageProviderCanDeleteDataSet () public {
7474 vm.expectEmit (true , true , false , false );
75- emit IPDPEvents.DataSetCreated (0 , address (this ));
75+ emit IPDPEvents.DataSetCreated (1 , address (this ));
7676 uint256 setId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
7777 // Create a new address to act as a non-storage-provider
7878 address nonStorageProvider = address (0x1234 );
@@ -91,13 +91,18 @@ contract PDPVerifierDataSetCreateDeleteTest is Test {
9191
9292 // TODO: once we have addPieces we should test deletion of a non empty data set
9393 function testCannotDeleteNonExistentDataSet () public {
94- vm.expectRevert ("data set id out of bounds " );
94+ // Test with data set ID 0 (which is never valid since IDs start from 1)
95+ vm.expectRevert ("Only the storage provider can delete data sets " );
9596 pdpVerifier.deleteDataSet (0 , empty);
97+
98+ // Test with a data set ID that hasn't been created yet
99+ vm.expectRevert ("data set id out of bounds " );
100+ pdpVerifier.deleteDataSet (999 , empty);
96101 }
97102
98103 function testMethodsOnDeletedDataSetFails () public {
99104 vm.expectEmit (true , true , false , false );
100- emit IPDPEvents.DataSetCreated (0 , address (this ));
105+ emit IPDPEvents.DataSetCreated (1 , address (this ));
101106 uint256 setId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
102107
103108 vm.expectEmit (true , true , false , false );
@@ -123,17 +128,30 @@ contract PDPVerifierDataSetCreateDeleteTest is Test {
123128
124129 function testGetDataSetID () public {
125130 vm.expectEmit (true , true , false , false );
126- emit IPDPEvents.DataSetCreated (0 , address (this ));
131+ emit IPDPEvents.DataSetCreated (1 , address (this ));
127132 pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
128133 vm.expectEmit (true , true , false , false );
129- emit IPDPEvents.DataSetCreated (1 , address (this ));
134+ emit IPDPEvents.DataSetCreated (2 , address (this ));
130135 pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
131- assertEq (2 , pdpVerifier.getNextDataSetId (), "Next data set ID should be 2 " );
132- assertEq (2 , pdpVerifier.getNextDataSetId (), "Next data set ID should be 2 " );
136+ assertEq (3 , pdpVerifier.getNextDataSetId (), "Next data set ID should be 3 " );
137+ assertEq (3 , pdpVerifier.getNextDataSetId (), "Next data set ID should be 3 " );
133138 }
134139
135140 receive () external payable {}
136141
142+ function testDataSetIdsStartFromOne () public {
143+ // Test that data set IDs start from 1, not 0
144+ assertEq (pdpVerifier.getNextDataSetId (), 1 , "Next data set ID should start at 1 " );
145+
146+ uint256 firstSetId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
147+ assertEq (firstSetId, 1 , "First data set ID should be 1, not 0 " );
148+
149+ uint256 secondSetId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
150+ assertEq (secondSetId, 2 , "Second data set ID should be 2 " );
151+
152+ assertEq (pdpVerifier.getNextDataSetId (), 3 , "Next data set ID should be 3 after creating two data sets " );
153+ }
154+
137155 function testCreateDataSetFeeHandling () public {
138156 uint256 sybilFee = PDPFees.sybilFee ();
139157
@@ -271,7 +289,7 @@ contract PDPVerifierDataSetMutateTest is Test, PieceHelper {
271289
272290 function testAddPiece () public {
273291 vm.expectEmit (true , true , false , false );
274- emit IPDPEvents.DataSetCreated (0 , address (this ));
292+ emit IPDPEvents.DataSetCreated (1 , address (this ));
275293 uint256 setId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
276294
277295 Cids.Cid[] memory pieces = new Cids.Cid [](1 );
@@ -301,7 +319,7 @@ contract PDPVerifierDataSetMutateTest is Test, PieceHelper {
301319
302320 function testAddMultiplePieces () public {
303321 vm.expectEmit (true , true , false , false );
304- emit IPDPEvents.DataSetCreated (0 , address (this ));
322+ emit IPDPEvents.DataSetCreated (1 , address (this ));
305323 uint256 setId = pdpVerifier.createDataSet {value: PDPFees.sybilFee ()}(address (listener), empty);
306324 Cids.Cid[] memory pieces = new Cids.Cid [](2 );
307325 pieces[0 ] = makeSamplePiece (64 );
0 commit comments