- output remains zero;
- square-root price remains unchanged;
- fee growth remains unchanged;
- protocol fees remain unchanged; and
- all input remains in
SwapOutput.amount_remainingfor later claim.
Zero-effective-input guard
Why a tiny swap can return all input without moving price.
The bounded partial path calculates:
For a small input and a nonzero fee, this value can be zero. The current contract treats that as no fill: