From ab953c5400f9441060a656ae8d32c0609a9f3a49 Mon Sep 17 00:00:00 2001 From: MrToph Date: Tue, 5 Mar 2024 15:01:19 +0000 Subject: [PATCH] fix reference implementation for updateStatus scale-down --- reference/lib/ReferenceOrderValidator.sol | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/reference/lib/ReferenceOrderValidator.sol b/reference/lib/ReferenceOrderValidator.sol index bdb67d7..34f16b2 100644 --- a/reference/lib/ReferenceOrderValidator.sol +++ b/reference/lib/ReferenceOrderValidator.sol @@ -323,13 +323,9 @@ contract ReferenceOrderValidator is || denominator > type(uint120).max ) { // Derive greatest common divisor using euclidean algorithm. - uint256 scaleDown = _greatestCommonDivisor( - numerator, - _greatestCommonDivisor(filledNumerator, denominator) - ); + uint256 scaleDown = _greatestCommonDivisor(filledNumerator, denominator); - // Scale all fractional values down by gcd. - numerator = numerator / scaleDown; + // Scale new filled fractional values down by gcd. filledNumerator = filledNumerator / scaleDown; denominator = denominator / scaleDown;