@@ -33,6 +33,12 @@ pub enum RegisteredSealProof {
33
33
StackedDrg512MiBV1_1_Feat_SyntheticPoRep ,
34
34
StackedDrg32GiBV1_1_Feat_SyntheticPoRep ,
35
35
StackedDrg64GiBV1_1_Feat_SyntheticPoRep ,
36
+
37
+ StackedDrg2KiBV1_1_Feat_NonInteractivePoRep ,
38
+ StackedDrg8MiBV1_1_Feat_NonInteractivePoRep ,
39
+ StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep ,
40
+ StackedDrg32GiBV1_1_Feat_NonInteractivePoRep ,
41
+ StackedDrg64GiBV1_1_Feat_NonInteractivePoRep ,
36
42
}
37
43
38
44
// This maps all registered seal proof enum types to porep_id values.
@@ -68,6 +74,26 @@ lazy_static! {
68
74
RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_SyntheticPoRep ,
69
75
14
70
76
) ,
77
+ (
78
+ RegisteredSealProof :: StackedDrg2KiBV1_1_Feat_NonInteractivePoRep ,
79
+ 15
80
+ ) ,
81
+ (
82
+ RegisteredSealProof :: StackedDrg8MiBV1_1_Feat_NonInteractivePoRep ,
83
+ 16
84
+ ) ,
85
+ (
86
+ RegisteredSealProof :: StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep ,
87
+ 17
88
+ ) ,
89
+ (
90
+ RegisteredSealProof :: StackedDrg32GiBV1_1_Feat_NonInteractivePoRep ,
91
+ 18
92
+ ) ,
93
+ (
94
+ RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_NonInteractivePoRep ,
95
+ 19
96
+ ) ,
71
97
]
72
98
. into_iter( )
73
99
. collect( ) ;
@@ -121,7 +147,12 @@ impl RegisteredSealProof {
121
147
| StackedDrg8MiBV1_1_Feat_SyntheticPoRep
122
148
| StackedDrg512MiBV1_1_Feat_SyntheticPoRep
123
149
| StackedDrg32GiBV1_1_Feat_SyntheticPoRep
124
- | StackedDrg64GiBV1_1_Feat_SyntheticPoRep => ApiVersion :: V1_1_0 ,
150
+ | StackedDrg64GiBV1_1_Feat_SyntheticPoRep
151
+ | StackedDrg2KiBV1_1_Feat_NonInteractivePoRep
152
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep
153
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep
154
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep
155
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => ApiVersion :: V1_1_0 ,
125
156
}
126
157
}
127
158
@@ -144,21 +175,26 @@ impl RegisteredSealProof {
144
175
pub fn sector_size ( self ) -> SectorSize {
145
176
use RegisteredSealProof :: * ;
146
177
let size = match self {
147
- StackedDrg2KiBV1 | StackedDrg2KiBV1_1 | StackedDrg2KiBV1_1_Feat_SyntheticPoRep => {
148
- constants:: SECTOR_SIZE_2_KIB
149
- }
150
- StackedDrg8MiBV1 | StackedDrg8MiBV1_1 | StackedDrg8MiBV1_1_Feat_SyntheticPoRep => {
151
- constants:: SECTOR_SIZE_8_MIB
152
- }
178
+ StackedDrg2KiBV1
179
+ | StackedDrg2KiBV1_1
180
+ | StackedDrg2KiBV1_1_Feat_SyntheticPoRep
181
+ | StackedDrg2KiBV1_1_Feat_NonInteractivePoRep => constants:: SECTOR_SIZE_2_KIB ,
182
+ StackedDrg8MiBV1
183
+ | StackedDrg8MiBV1_1
184
+ | StackedDrg8MiBV1_1_Feat_SyntheticPoRep
185
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep => constants:: SECTOR_SIZE_8_MIB ,
153
186
StackedDrg512MiBV1
154
187
| StackedDrg512MiBV1_1
155
- | StackedDrg512MiBV1_1_Feat_SyntheticPoRep => constants:: SECTOR_SIZE_512_MIB ,
156
- StackedDrg32GiBV1 | StackedDrg32GiBV1_1 | StackedDrg32GiBV1_1_Feat_SyntheticPoRep => {
157
- constants:: SECTOR_SIZE_32_GIB
158
- }
159
- StackedDrg64GiBV1 | StackedDrg64GiBV1_1 | StackedDrg64GiBV1_1_Feat_SyntheticPoRep => {
160
- constants:: SECTOR_SIZE_64_GIB
161
- }
188
+ | StackedDrg512MiBV1_1_Feat_SyntheticPoRep
189
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep => constants:: SECTOR_SIZE_512_MIB ,
190
+ StackedDrg32GiBV1
191
+ | StackedDrg32GiBV1_1
192
+ | StackedDrg32GiBV1_1_Feat_SyntheticPoRep
193
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep => constants:: SECTOR_SIZE_32_GIB ,
194
+ StackedDrg64GiBV1
195
+ | StackedDrg64GiBV1_1
196
+ | StackedDrg64GiBV1_1_Feat_SyntheticPoRep
197
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => constants:: SECTOR_SIZE_64_GIB ,
162
198
} ;
163
199
SectorSize ( size)
164
200
}
@@ -202,6 +238,13 @@ impl RegisteredSealProof {
202
238
. get ( & constants:: SECTOR_SIZE_64_GIB )
203
239
. expect ( "invalid sector size" )
204
240
}
241
+ StackedDrg2KiBV1_1_Feat_NonInteractivePoRep
242
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep
243
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep
244
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep
245
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => {
246
+ constants:: get_porep_non_interactive_partitions ( self . sector_size ( ) . into ( ) )
247
+ }
205
248
}
206
249
}
207
250
@@ -224,7 +267,12 @@ impl RegisteredSealProof {
224
267
| StackedDrg8MiBV1_1_Feat_SyntheticPoRep
225
268
| StackedDrg512MiBV1_1_Feat_SyntheticPoRep
226
269
| StackedDrg32GiBV1_1_Feat_SyntheticPoRep
227
- | StackedDrg64GiBV1_1_Feat_SyntheticPoRep => {
270
+ | StackedDrg64GiBV1_1_Feat_SyntheticPoRep
271
+ | StackedDrg2KiBV1_1_Feat_NonInteractivePoRep
272
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep
273
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep
274
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep
275
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => {
228
276
filecoin_proofs_v1:: SINGLE_PARTITION_PROOF_LEN
229
277
}
230
278
}
@@ -289,6 +337,20 @@ impl RegisteredSealProof {
289
337
api_version : self . version ( ) ,
290
338
api_features : vec ! [ ApiFeature :: SyntheticPoRep ] ,
291
339
}
340
+ }
341
+ StackedDrg2KiBV1_1_Feat_NonInteractivePoRep
342
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep
343
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep
344
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep
345
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => {
346
+ assert_eq ! ( self . version( ) , ApiVersion :: V1_1_0 ) ;
347
+ PoRepConfig {
348
+ sector_size : self . sector_size ( ) ,
349
+ partitions : PoRepProofPartitions ( self . partitions ( ) ) ,
350
+ porep_id : self . porep_id ( ) ,
351
+ api_version : self . version ( ) ,
352
+ api_features : vec ! [ ApiFeature :: NonInteractivePoRep ] ,
353
+ }
292
354
} // _ => panic!("Can only be called on V1 configs"),
293
355
}
294
356
}
@@ -370,21 +432,26 @@ impl RegisteredSealProof {
370
432
use RegisteredPoStProof :: * ;
371
433
use RegisteredSealProof :: * ;
372
434
match self {
373
- StackedDrg2KiBV1 | StackedDrg2KiBV1_1 | StackedDrg2KiBV1_1_Feat_SyntheticPoRep => {
374
- StackedDrgWinning2KiBV1
375
- }
376
- StackedDrg8MiBV1 | StackedDrg8MiBV1_1 | StackedDrg8MiBV1_1_Feat_SyntheticPoRep => {
377
- StackedDrgWinning8MiBV1
378
- }
435
+ StackedDrg2KiBV1
436
+ | StackedDrg2KiBV1_1
437
+ | StackedDrg2KiBV1_1_Feat_SyntheticPoRep
438
+ | StackedDrg2KiBV1_1_Feat_NonInteractivePoRep => StackedDrgWinning2KiBV1 ,
439
+ StackedDrg8MiBV1
440
+ | StackedDrg8MiBV1_1
441
+ | StackedDrg8MiBV1_1_Feat_SyntheticPoRep
442
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep => StackedDrgWinning8MiBV1 ,
379
443
StackedDrg512MiBV1
380
444
| StackedDrg512MiBV1_1
381
- | StackedDrg512MiBV1_1_Feat_SyntheticPoRep => StackedDrgWinning512MiBV1 ,
382
- StackedDrg32GiBV1 | StackedDrg32GiBV1_1 | StackedDrg32GiBV1_1_Feat_SyntheticPoRep => {
383
- StackedDrgWinning32GiBV1
384
- }
385
- StackedDrg64GiBV1 | StackedDrg64GiBV1_1 | StackedDrg64GiBV1_1_Feat_SyntheticPoRep => {
386
- StackedDrgWinning64GiBV1
387
- }
445
+ | StackedDrg512MiBV1_1_Feat_SyntheticPoRep
446
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep => StackedDrgWinning512MiBV1 ,
447
+ StackedDrg32GiBV1
448
+ | StackedDrg32GiBV1_1
449
+ | StackedDrg32GiBV1_1_Feat_SyntheticPoRep
450
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep => StackedDrgWinning32GiBV1 ,
451
+ StackedDrg64GiBV1
452
+ | StackedDrg64GiBV1_1
453
+ | StackedDrg64GiBV1_1_Feat_SyntheticPoRep
454
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => StackedDrgWinning64GiBV1 ,
388
455
}
389
456
}
390
457
@@ -400,21 +467,26 @@ impl RegisteredSealProof {
400
467
use RegisteredPoStProof :: * ;
401
468
use RegisteredSealProof :: * ;
402
469
match self {
403
- StackedDrg2KiBV1 | StackedDrg2KiBV1_1 | StackedDrg2KiBV1_1_Feat_SyntheticPoRep => {
404
- StackedDrgWindow2KiBV1_2
405
- }
406
- StackedDrg8MiBV1 | StackedDrg8MiBV1_1 | StackedDrg8MiBV1_1_Feat_SyntheticPoRep => {
407
- StackedDrgWindow8MiBV1_2
408
- }
470
+ StackedDrg2KiBV1
471
+ | StackedDrg2KiBV1_1
472
+ | StackedDrg2KiBV1_1_Feat_SyntheticPoRep
473
+ | StackedDrg2KiBV1_1_Feat_NonInteractivePoRep => StackedDrgWindow2KiBV1_2 ,
474
+ StackedDrg8MiBV1
475
+ | StackedDrg8MiBV1_1
476
+ | StackedDrg8MiBV1_1_Feat_SyntheticPoRep
477
+ | StackedDrg8MiBV1_1_Feat_NonInteractivePoRep => StackedDrgWindow8MiBV1_2 ,
409
478
StackedDrg512MiBV1
410
479
| StackedDrg512MiBV1_1
411
- | StackedDrg512MiBV1_1_Feat_SyntheticPoRep => StackedDrgWindow512MiBV1_2 ,
412
- StackedDrg32GiBV1 | StackedDrg32GiBV1_1 | StackedDrg32GiBV1_1_Feat_SyntheticPoRep => {
413
- StackedDrgWindow32GiBV1_2
414
- }
415
- StackedDrg64GiBV1 | StackedDrg64GiBV1_1 | StackedDrg64GiBV1_1_Feat_SyntheticPoRep => {
416
- StackedDrgWindow64GiBV1_2
417
- }
480
+ | StackedDrg512MiBV1_1_Feat_SyntheticPoRep
481
+ | StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep => StackedDrgWindow512MiBV1_2 ,
482
+ StackedDrg32GiBV1
483
+ | StackedDrg32GiBV1_1
484
+ | StackedDrg32GiBV1_1_Feat_SyntheticPoRep
485
+ | StackedDrg32GiBV1_1_Feat_NonInteractivePoRep => StackedDrgWindow32GiBV1_2 ,
486
+ StackedDrg64GiBV1
487
+ | StackedDrg64GiBV1_1
488
+ | StackedDrg64GiBV1_1_Feat_SyntheticPoRep
489
+ | StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => StackedDrgWindow64GiBV1_2 ,
418
490
}
419
491
}
420
492
}
@@ -876,7 +948,7 @@ mod tests {
876
948
use super :: * ;
877
949
use filecoin_proofs_v1:: MAX_LEGACY_REGISTERED_SEAL_PROOF_ID ;
878
950
879
- const REGISTERED_SEAL_PROOFS : [ RegisteredSealProof ; 15 ] = [
951
+ const REGISTERED_SEAL_PROOFS : [ RegisteredSealProof ; 20 ] = [
880
952
RegisteredSealProof :: StackedDrg2KiBV1 ,
881
953
RegisteredSealProof :: StackedDrg8MiBV1 ,
882
954
RegisteredSealProof :: StackedDrg512MiBV1 ,
@@ -892,6 +964,11 @@ mod tests {
892
964
RegisteredSealProof :: StackedDrg512MiBV1_1_Feat_SyntheticPoRep ,
893
965
RegisteredSealProof :: StackedDrg32GiBV1_1_Feat_SyntheticPoRep ,
894
966
RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_SyntheticPoRep ,
967
+ RegisteredSealProof :: StackedDrg2KiBV1_1_Feat_NonInteractivePoRep ,
968
+ RegisteredSealProof :: StackedDrg8MiBV1_1_Feat_NonInteractivePoRep ,
969
+ RegisteredSealProof :: StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep ,
970
+ RegisteredSealProof :: StackedDrg32GiBV1_1_Feat_NonInteractivePoRep ,
971
+ RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_NonInteractivePoRep ,
895
972
] ;
896
973
897
974
#[ test]
@@ -948,6 +1025,21 @@ mod tests {
948
1025
RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_SyntheticPoRep => {
949
1026
"0e00000000000000000000000000000000000000000000000000000000000000"
950
1027
}
1028
+ RegisteredSealProof :: StackedDrg2KiBV1_1_Feat_NonInteractivePoRep => {
1029
+ "0f00000000000000000000000000000000000000000000000000000000000000"
1030
+ }
1031
+ RegisteredSealProof :: StackedDrg8MiBV1_1_Feat_NonInteractivePoRep => {
1032
+ "1000000000000000000000000000000000000000000000000000000000000000"
1033
+ }
1034
+ RegisteredSealProof :: StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep => {
1035
+ "1100000000000000000000000000000000000000000000000000000000000000"
1036
+ }
1037
+ RegisteredSealProof :: StackedDrg32GiBV1_1_Feat_NonInteractivePoRep => {
1038
+ "1200000000000000000000000000000000000000000000000000000000000000"
1039
+ }
1040
+ RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => {
1041
+ "1300000000000000000000000000000000000000000000000000000000000000"
1042
+ }
951
1043
} ;
952
1044
let hex: String = rsp
953
1045
. porep_id ( )
@@ -985,7 +1077,12 @@ mod tests {
985
1077
| RegisteredSealProof :: StackedDrg8MiBV1_1_Feat_SyntheticPoRep
986
1078
| RegisteredSealProof :: StackedDrg512MiBV1_1_Feat_SyntheticPoRep
987
1079
| RegisteredSealProof :: StackedDrg32GiBV1_1_Feat_SyntheticPoRep
988
- | RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_SyntheticPoRep => {
1080
+ | RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_SyntheticPoRep
1081
+ | RegisteredSealProof :: StackedDrg2KiBV1_1_Feat_NonInteractivePoRep
1082
+ | RegisteredSealProof :: StackedDrg8MiBV1_1_Feat_NonInteractivePoRep
1083
+ | RegisteredSealProof :: StackedDrg512MiBV1_1_Feat_NonInteractivecPoRep
1084
+ | RegisteredSealProof :: StackedDrg32GiBV1_1_Feat_NonInteractivePoRep
1085
+ | RegisteredSealProof :: StackedDrg64GiBV1_1_Feat_NonInteractivePoRep => {
989
1086
assert ! ( !is_legacy)
990
1087
}
991
1088
}
0 commit comments