@@ -141,30 +141,24 @@ const MinSectorExpiration = 180 * builtin.EpochsInDay // PARAM_SPEC
141
141
// the associated seal proof's maximum lifetime.
142
142
const MaxSectorExpirationExtension = 1278 * builtin .EpochsInDay // PARAM_SPEC
143
143
144
- // DealWeight and VerifiedDealWeight are spacetime occupied by regular deals and verified deals in a sector .
145
- // Sum of DealWeight and VerifiedDealWeight should be less than or equal to total SpaceTime of a sector.
146
- // Sectors full of VerifiedDeals will have a SectorQuality of VerifiedDealWeightMultiplier/QualityBaseMultiplier .
147
- // Sectors full of Deals will have a SectorQuality of DealWeightMultiplier /QualityBaseMultiplier.
148
- // Sectors with neither will have a SectorQuality of QualityBaseMultiplier/QualityBaseMultiplier.
149
- // SectorQuality of a sector is a weighted average of multipliers based on their proportions.
150
- func QualityForWeight (size abi.SectorSize , duration abi.ChainEpoch , dealWeight , verifiedWeight abi.DealWeight ) abi.SectorQuality {
144
+ // QualityForWeight calculates the quality of a sector with the given size, duration, and verified weight .
145
+ // VerifiedDealWeight is spacetime occupied by verified pieces in a sector.
146
+ // VerifiedDealWeight should be less than or equal to total SpaceTime of a sector .
147
+ // Sectors full of VerifiedDeals will have a BigInt of VerifiedDealWeightMultiplier /QualityBaseMultiplier.
148
+ // Sectors without VerifiedDeals will have a BigInt of QualityBaseMultiplier/QualityBaseMultiplier.
149
+ // BigInt of a sector is a weighted average of multipliers based on their proportions.
150
+ func QualityForWeight (size abi.SectorSize , duration abi.ChainEpoch , verifiedWeight abi.DealWeight ) abi.SectorQuality {
151
151
// sectorSpaceTime = size * duration
152
152
sectorSpaceTime := big .Mul (big .NewIntUnsigned (uint64 (size )), big .NewInt (int64 (duration )))
153
- // totalDealSpaceTime = dealWeight + verifiedWeight
154
- totalDealSpaceTime := big .Add (dealWeight , verifiedWeight )
155
-
156
- // Base - all size * duration of non-deals
157
- // weightedBaseSpaceTime = (sectorSpaceTime - totalDealSpaceTime) * QualityBaseMultiplier
158
- weightedBaseSpaceTime := big .Mul (big .Sub (sectorSpaceTime , totalDealSpaceTime ), builtin .QualityBaseMultiplier )
159
- // Deal - all deal size * deal duration * 10
160
- // weightedDealSpaceTime = dealWeight * DealWeightMultiplier
161
- weightedDealSpaceTime := big .Mul (dealWeight , builtin .DealWeightMultiplier )
153
+ // Base - all size * duration of non-verified deals
154
+ // weightedBaseSpaceTime = (sectorSpaceTime - verifiedWeight) * QualityBaseMultiplier
155
+ weightedBaseSpaceTime := big .Mul (big .Sub (sectorSpaceTime , verifiedWeight ), builtin .QualityBaseMultiplier )
162
156
// Verified - all verified deal size * verified deal duration * 100
163
157
// weightedVerifiedSpaceTime = verifiedWeight * VerifiedDealWeightMultiplier
164
158
weightedVerifiedSpaceTime := big .Mul (verifiedWeight , builtin .VerifiedDealWeightMultiplier )
165
159
// Sum - sum of all spacetime
166
- // weightedSumSpaceTime = weightedBaseSpaceTime + weightedDealSpaceTime + weightedVerifiedSpaceTime
167
- weightedSumSpaceTime := big .Sum (weightedBaseSpaceTime , weightedDealSpaceTime , weightedVerifiedSpaceTime )
160
+ // weightedSumSpaceTime = weightedBaseSpaceTime + weightedVerifiedSpaceTime
161
+ weightedSumSpaceTime := big .Sum (weightedBaseSpaceTime , weightedVerifiedSpaceTime )
168
162
// scaledUpWeightedSumSpaceTime = weightedSumSpaceTime * 2^20
169
163
scaledUpWeightedSumSpaceTime := big .Lsh (weightedSumSpaceTime , builtin .SectorQualityPrecision )
170
164
@@ -173,15 +167,15 @@ func QualityForWeight(size abi.SectorSize, duration abi.ChainEpoch, dealWeight,
173
167
}
174
168
175
169
// The power for a sector size, committed duration, and weight.
176
- func QAPowerForWeight (size abi.SectorSize , duration abi.ChainEpoch , dealWeight , verifiedWeight abi.DealWeight ) abi.StoragePower {
177
- quality := QualityForWeight (size , duration , dealWeight , verifiedWeight )
170
+ func QAPowerForWeight (size abi.SectorSize , duration abi.ChainEpoch , verifiedWeight abi.DealWeight ) abi.StoragePower {
171
+ quality := QualityForWeight (size , duration , verifiedWeight )
178
172
return big .Rsh (big .Mul (big .NewIntUnsigned (uint64 (size )), quality ), builtin .SectorQualityPrecision )
179
173
}
180
174
181
175
// The quality-adjusted power for a sector.
182
176
func QAPowerForSector (size abi.SectorSize , sector * SectorOnChainInfo ) abi.StoragePower {
183
177
duration := sector .Expiration - sector .PowerBaseEpoch
184
- return QAPowerForWeight (size , duration , sector .DealWeight , sector . VerifiedDealWeight )
178
+ return QAPowerForWeight (size , duration , sector .VerifiedDealWeight )
185
179
}
186
180
187
181
const MaxAggregatedSectors = 819
0 commit comments