code4rena-2023-12-shell-protocol-l06
[L-06] minimumOutputAmount in CurveAdaptor can be integrated into the curve functionalities
Summary
Curve의 함수를 호출할 때는 슬리피지 파라미터를 0으로 넣어 사용하지 않고, 이후 슬리피지를 따로 확인한다. 그냥 Curve의 슬리피지 파라미터를 설정하면 된다.
Keyword
clean code
Vulnerability
Curve 풀에 유동성을 제공하거나 삭제, 스왑할 때 슬리피지를 0으로 설정한다.
ICurveTricrypto(primitive).remove_liquidity_one_coin(rawInputAmount, indexOfOutputAmount, 0);이후 따로 슬리피지를 확인한다.
if (uint256(minimumOutputAmount) > outputAmount) revert SLIPPAGE_LIMIT_EXCEEDED();굳이 따로 할 필요 없이 Curve의 슬리피지 설정을 이용해도 된다.
Impact
일을 2번 함. 불필요하게 복잡해짐.
Mitigation
Curve의 함수를 호출할 때 슬리피지 파라미터를 설정한다.
tags: bughunting, shell protocol, smart contract, solidity, clean code, severity low