Swap requests are designed to execute atomically; if the computed output is less than the user-defined minAmountOut, the whole swap is reverted. There is no mechanism for executing partial fills when liquidity is insufficient to meet the user’s minimum requirement.
The current logic is as follows:
User Experience Degradation: Users experience abrupt failures even when a partial swap might be acceptable in volatile or low-liquidity scenarios.
Liquidity Inefficiency: The inability to fill orders partially may lead to underutilization of available liquidity, reducing overall market efficiency.
Manual review
Functional testing with edge-case simulations
Economic scenario modeling
Implement Partial Fills: Enhance the swap logic to allow for proportional or partial execution of swap requests when liquidity is insufficient for full execution.
User-configurable Slippage: Allow users to set parameters that accommodate partial fills or accept increased slippage for partial execution.
User Interface and Documentation: Clearly communicate how partial fills operate and any trade-offs associated with them.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.