test: add simple base network tests in usv2 and router

This commit is contained in:
royvardhan
2025-02-26 10:16:44 +05:30
parent 22c48e80d2
commit 2323ad3fd9
3 changed files with 48 additions and 1 deletions

View File

@@ -3,7 +3,15 @@ pragma solidity ^0.8.26;
import "forge-std/Test.sol"; import "forge-std/Test.sol";
contract Constants is Test { contract BaseConstants {
address BASE_USDC = 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913;
address BASE_MAG7 = 0x9E6A46f294bB67c20F1D1E7AfB0bBEf614403B55;
// uniswap v2
address USDC_MAG7_POOL = 0x739c2431670A12E2cF8e11E3603eB96e6728a789;
}
contract Constants is Test, BaseConstants {
address ADMIN = makeAddr("admin"); //admin=us address ADMIN = makeAddr("admin"); //admin=us
address BOB = makeAddr("bob"); //bob=someone!=us address BOB = makeAddr("bob"); //bob=someone!=us
address FUND_RESCUER = makeAddr("fundRescuer"); address FUND_RESCUER = makeAddr("fundRescuer");

View File

@@ -978,4 +978,26 @@ contract TychoRouterTest is TychoRouterTestSetup {
assertEq(IERC20(WBTC_ADDR).balanceOf(tychoRouterAddr), 102718); assertEq(IERC20(WBTC_ADDR).balanceOf(tychoRouterAddr), 102718);
} }
// Base Network Tests
// Make sure to set the fork block to 26857267 for base network
function testSwapSingleBase() public {
vm.skip(true);
uint256 amountIn = 100 * 1e6;
deal(BASE_USDC, tychoRouterAddr, amountIn);
bytes memory protocolData = encodeUniswapV2Swap(
BASE_USDC, USDC_MAG7_POOL, tychoRouterAddr, true
);
bytes memory swap = encodeSwap(
uint8(0), uint8(1), uint24(0), address(usv2Executor), protocolData
);
bytes[] memory swaps = new bytes[](1);
swaps[0] = swap;
tychoRouter.exposedSwap(amountIn, 2, pleEncode(swaps));
assertEq(IERC20(BASE_USDC).balanceOf(tychoRouterAddr), 0);
assertGt(IERC20(BASE_MAG7).balanceOf(tychoRouterAddr), 0);
}
} }

View File

@@ -156,4 +156,21 @@ contract UniswapV2ExecutorTest is UniswapV2ExecutorExposed, Test, Constants {
vm.expectRevert(UniswapV2Executor__InvalidTarget.selector); vm.expectRevert(UniswapV2Executor__InvalidTarget.selector);
uniswapV2Exposed.swap(amountIn, protocolData); uniswapV2Exposed.swap(amountIn, protocolData);
} }
// Base Network Tests
// Make sure to set the fork block to 26857267 for base network
function testSwapBaseNetwork() public {
vm.skip(true);
uint256 amountIn = 10 * 10 ** 6;
bool zeroForOne = true;
bytes memory protocolData =
abi.encodePacked(BASE_USDC, USDC_MAG7_POOL, BOB, zeroForOne);
deal(BASE_USDC, address(uniswapV2Exposed), amountIn);
uniswapV2Exposed.swap(amountIn, protocolData);
assertEq(IERC20(BASE_USDC).balanceOf(BOB), 0);
assertGe(IERC20(BASE_MAG7).balanceOf(BOB), 0);
}
} }