diff --git a/builtin/v13/market/market_state.go b/builtin/v13/market/market_state.go index 344dc1e0..af6acc40 100644 --- a/builtin/v13/market/market_state.go +++ b/builtin/v13/market/market_state.go @@ -194,7 +194,7 @@ func validateAndComputeDealWeight(proposals *DealArray, dealIDs []abi.DealID, mi // Compute deal weight totalDealSpace += uint64(proposal.PieceSize) - dealSpaceTime := DealWeight(proposal) + dealSpaceTime := DealWeight(proposal, sectorExpiry, sectorActivation) if proposal.VerifiedDeal { totalVerifiedSpaceTime = big.Add(totalVerifiedSpaceTime, dealSpaceTime) } else { diff --git a/builtin/v13/market/policy.go b/builtin/v13/market/policy.go index 48c4481c..b23af725 100644 --- a/builtin/v13/market/policy.go +++ b/builtin/v13/market/policy.go @@ -55,8 +55,8 @@ func DealClientCollateralBounds(_ abi.PaddedPieceSize, _ abi.ChainEpoch) (min ab } // Computes the weight for a deal proposal, which is a function of its size and duration. -func DealWeight(proposal *DealProposal) abi.DealWeight { - dealDuration := big.NewInt(int64(proposal.Duration())) +func DealWeight(proposal *DealProposal, sectorExpiry abi.ChainEpoch, sectorActivation abi.ChainEpoch) abi.DealWeight { + dealDuration := big.NewInt(int64(sectorExpiry - sectorActivation)) dealSize := big.NewIntUnsigned(uint64(proposal.PieceSize)) dealSpaceTime := big.Mul(dealDuration, dealSize) return dealSpaceTime diff --git a/builtin/v14/market/market_state.go b/builtin/v14/market/market_state.go index a11a077d..c7699222 100644 --- a/builtin/v14/market/market_state.go +++ b/builtin/v14/market/market_state.go @@ -194,7 +194,7 @@ func validateAndComputeDealWeight(proposals *DealArray, dealIDs []abi.DealID, mi // Compute deal weight totalDealSpace += uint64(proposal.PieceSize) - dealSpaceTime := DealWeight(proposal) + dealSpaceTime := DealWeight(proposal, sectorExpiry, sectorActivation) if proposal.VerifiedDeal { totalVerifiedSpaceTime = big.Add(totalVerifiedSpaceTime, dealSpaceTime) } else { diff --git a/builtin/v14/market/policy.go b/builtin/v14/market/policy.go index 48c4481c..b23af725 100644 --- a/builtin/v14/market/policy.go +++ b/builtin/v14/market/policy.go @@ -55,8 +55,8 @@ func DealClientCollateralBounds(_ abi.PaddedPieceSize, _ abi.ChainEpoch) (min ab } // Computes the weight for a deal proposal, which is a function of its size and duration. -func DealWeight(proposal *DealProposal) abi.DealWeight { - dealDuration := big.NewInt(int64(proposal.Duration())) +func DealWeight(proposal *DealProposal, sectorExpiry abi.ChainEpoch, sectorActivation abi.ChainEpoch) abi.DealWeight { + dealDuration := big.NewInt(int64(sectorExpiry - sectorActivation)) dealSize := big.NewIntUnsigned(uint64(proposal.PieceSize)) dealSpaceTime := big.Mul(dealDuration, dealSize) return dealSpaceTime