fixAMMClawbackRounding: adjust last holder's LPToken balance (#5513)

Due to rounding, the LPTokenBalance of the last LP might not match the LP's trustline balance. This was fixed for `AMMWithdraw` in `fixAMMv1_1` by adjusting the LPTokenBalance to be the same as the trustline balance. Since `AMMClawback` is also performing a withdrawal, we need to adjust LPTokenBalance as well in `AMMClawback.`

This change includes:
1. Refactored `verifyAndAdjustLPTokenBalance` function in `AMMUtils`, which both`AMMWithdraw` and `AMMClawback` call to adjust LPTokenBalance.
2. Added the unit test `testLastHolderLPTokenBalance` to test the scenario.
3. Modify the existing unit tests for `fixAMMClawbackRounding`.
This commit is contained in:
yinyiqian1
2025-07-11 16:03:28 -04:00
committed by GitHub
parent 258ba71363
commit 8aa94ea09a
6 changed files with 693 additions and 205 deletions

File diff suppressed because it is too large Load Diff