Skip to content

fix(contracts): use Solady mulDiv in RayMathLib mulRayDown and divRayDown to prevent intermediate overflow - #678

Open
yappermoar-boop wants to merge 1 commit into
SorellaLabs:mainfrom
yappermoar-boop:fix-raymathlib-512bit-muldiv-precision
Open

fix(contracts): use Solady mulDiv in RayMathLib mulRayDown and divRayDown to prevent intermediate overflow#678
yappermoar-boop wants to merge 1 commit into
SorellaLabs:mainfrom
yappermoar-boop:fix-raymathlib-512bit-muldiv-precision

Conversation

@yappermoar-boop

Copy link
Copy Markdown

Updated mulRayDown and divRayDown in RayMathLib to use FixedPointMathLib.mulDiv. Previously, plain multiplication x * y / RAY and x * RAY / y could cause intermediate uint256 overflow for large token balances before division. Using mulDiv provides 512-bit intermediate precision, aligning with mulRayUp and divRayUp.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant