test: Add testSwapCheckedUndefinedMinAmount
To check if the swap actually reverts when min amount is 0.
This commit is contained in:
@@ -164,7 +164,6 @@ contract TychoRouterTest is TychoRouterTestSetup {
|
|||||||
assertEq(tychoRouter.paused(), false);
|
assertEq(tychoRouter.paused(), false);
|
||||||
tychoRouter.pause();
|
tychoRouter.pause();
|
||||||
assertEq(tychoRouter.paused(), true);
|
assertEq(tychoRouter.paused(), true);
|
||||||
// TODO: test swap calls when implemeted
|
|
||||||
vm.stopPrank();
|
vm.stopPrank();
|
||||||
|
|
||||||
vm.startPrank(UNPAUSER);
|
vm.startPrank(UNPAUSER);
|
||||||
@@ -415,6 +414,46 @@ contract TychoRouterTest is TychoRouterTestSetup {
|
|||||||
vm.stopPrank();
|
vm.stopPrank();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function testSwapCheckedUndefinedMinAmount() public {
|
||||||
|
// Min amount should always be non-zero. If zero, swap attempt should revert.
|
||||||
|
|
||||||
|
uint256 amountIn = 1 ether;
|
||||||
|
deal(WETH_ADDR, ALICE, amountIn);
|
||||||
|
|
||||||
|
vm.startPrank(ALICE);
|
||||||
|
(
|
||||||
|
IAllowanceTransfer.PermitSingle memory permitSingle,
|
||||||
|
bytes memory signature
|
||||||
|
) = handlePermit2Approval(WETH_ADDR, amountIn);
|
||||||
|
|
||||||
|
bytes memory protocolData = encodeUniswapV2Swap(
|
||||||
|
WETH_ADDR, WETH_DAI_POOL, tychoRouterAddr, false
|
||||||
|
);
|
||||||
|
|
||||||
|
bytes memory swap = encodeSwap(
|
||||||
|
uint8(0), uint8(1), uint24(0), address(usv2Executor), protocolData
|
||||||
|
);
|
||||||
|
bytes[] memory swaps = new bytes[](1);
|
||||||
|
swaps[0] = swap;
|
||||||
|
uint256 minAmountOut = 0;
|
||||||
|
|
||||||
|
vm.expectRevert(TychoRouter__UndefinedMinAmountOut.selector);
|
||||||
|
tychoRouter.swapPermit2(
|
||||||
|
amountIn,
|
||||||
|
WETH_ADDR,
|
||||||
|
DAI_ADDR,
|
||||||
|
minAmountOut,
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
2,
|
||||||
|
ALICE,
|
||||||
|
permitSingle,
|
||||||
|
signature,
|
||||||
|
pleEncode(swaps)
|
||||||
|
);
|
||||||
|
vm.stopPrank();
|
||||||
|
}
|
||||||
|
|
||||||
function testSwapCheckedNoPermit2() public {
|
function testSwapCheckedNoPermit2() public {
|
||||||
// Trade 1 WETH for DAI with 1 swap on Uniswap V2
|
// Trade 1 WETH for DAI with 1 swap on Uniswap V2
|
||||||
// Checks amount out at the end
|
// Checks amount out at the end
|
||||||
@@ -479,7 +518,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
|
|||||||
|
|
||||||
uint256 minAmountOut = 2600 * 1e18;
|
uint256 minAmountOut = 2600 * 1e18;
|
||||||
vm.expectRevert();
|
vm.expectRevert();
|
||||||
uint256 amountOut = tychoRouter.swap(
|
tychoRouter.swap(
|
||||||
amountIn,
|
amountIn,
|
||||||
WETH_ADDR,
|
WETH_ADDR,
|
||||||
DAI_ADDR,
|
DAI_ADDR,
|
||||||
|
|||||||
Reference in New Issue
Block a user