Skip to content

Commit f3f6fe4

Browse files
committed
refactor(SPRegistry): extract duration validation into _ensureDurationLimitsValid
1 parent 7351c92 commit f3f6fe4

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

src/SPRegistry.sol

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -571,15 +571,7 @@ contract SPRegistry is Initializable, AccessControlUpgradeable, UUPSUpgradeable,
571571
if (organization == address(0)) revert InvalidOrganizationAddress();
572572
if (capabilities.retrievabilityBps > 10_000) revert InvalidRetrievabilityBps(capabilities.retrievabilityBps);
573573
if (capabilities.indexingPct > 100) revert InvalidIndexingPct(capabilities.indexingPct);
574-
if (minDealDurationDays > MAX_DEAL_DURATION_DAYS) {
575-
revert DurationExceedsProtocolMax(minDealDurationDays, MAX_DEAL_DURATION_DAYS);
576-
}
577-
if (maxDealDurationDays != 0 && maxDealDurationDays > MAX_DEAL_DURATION_DAYS) {
578-
revert DurationExceedsProtocolMax(maxDealDurationDays, MAX_DEAL_DURATION_DAYS);
579-
}
580-
if (minDealDurationDays != 0 && maxDealDurationDays != 0 && minDealDurationDays > maxDealDurationDays) {
581-
revert MinDurationExceedsMax(minDealDurationDays, maxDealDurationDays);
582-
}
574+
_ensureDurationLimitsValid(minDealDurationDays, maxDealDurationDays);
583575

584576
_registerProvider(provider, organization, payee);
585577

@@ -627,15 +619,7 @@ contract SPRegistry is Initializable, AccessControlUpgradeable, UUPSUpgradeable,
627619
_ensureProviderRegistered(provider);
628620
_ensureProviderNotBlocked(provider);
629621
_onlyProviderControllerOrAdmin(provider);
630-
if (minDealDurationDays > MAX_DEAL_DURATION_DAYS) {
631-
revert DurationExceedsProtocolMax(minDealDurationDays, MAX_DEAL_DURATION_DAYS);
632-
}
633-
if (maxDealDurationDays != 0 && maxDealDurationDays > MAX_DEAL_DURATION_DAYS) {
634-
revert DurationExceedsProtocolMax(maxDealDurationDays, MAX_DEAL_DURATION_DAYS);
635-
}
636-
if (minDealDurationDays != 0 && maxDealDurationDays != 0 && minDealDurationDays > maxDealDurationDays) {
637-
revert MinDurationExceedsMax(minDealDurationDays, maxDealDurationDays);
638-
}
622+
_ensureDurationLimitsValid(minDealDurationDays, maxDealDurationDays);
639623

640624
SPRegistryStorage storage $ = _getSPRegistryStorage();
641625
uint64 id = CommonTypes.FilActorId.unwrap(provider);
@@ -707,6 +691,23 @@ contract SPRegistry is Initializable, AccessControlUpgradeable, UUPSUpgradeable,
707691
}
708692
}
709693

694+
/**
695+
* @notice Ensures deal duration limits are within the protocol maximum and internally consistent
696+
* @param minDealDurationDays The minimum deal duration to validate
697+
* @param maxDealDurationDays The maximum deal duration to validate
698+
*/
699+
function _ensureDurationLimitsValid(uint32 minDealDurationDays, uint32 maxDealDurationDays) internal pure {
700+
if (minDealDurationDays > MAX_DEAL_DURATION_DAYS) {
701+
revert DurationExceedsProtocolMax(minDealDurationDays, MAX_DEAL_DURATION_DAYS);
702+
}
703+
if (maxDealDurationDays != 0 && maxDealDurationDays > MAX_DEAL_DURATION_DAYS) {
704+
revert DurationExceedsProtocolMax(maxDealDurationDays, MAX_DEAL_DURATION_DAYS);
705+
}
706+
if (minDealDurationDays != 0 && maxDealDurationDays != 0 && minDealDurationDays > maxDealDurationDays) {
707+
revert MinDurationExceedsMax(minDealDurationDays, maxDealDurationDays);
708+
}
709+
}
710+
710711
/**
711712
* @notice Ensures a provider is not blocked
712713
* @param provider The provider actor ID to check

0 commit comments

Comments
 (0)