chore: Address compilers warnings and use EXECUTOR_SETTER instead of Bob in tests

--- don't change below this line ---
ENG-4041 Took 48 seconds


Took 18 seconds
This commit is contained in:
Diana Carvalho
2025-01-28 10:27:28 +00:00
parent d8de65aedf
commit dfa0f7d176
7 changed files with 68 additions and 68 deletions

View File

@@ -49,6 +49,7 @@ contract CallbackVerificationDispatcher {
// slither-disable-next-line dead-code // slither-disable-next-line dead-code
function _callVerifyCallback(bytes calldata data) function _callVerifyCallback(bytes calldata data)
internal internal
view
returns ( returns (
uint256 amountOwed, uint256 amountOwed,
uint256 amountReceived, uint256 amountReceived,

View File

@@ -130,13 +130,13 @@ contract TychoRouter is
if (wrapEth) { if (wrapEth) {
_wrapETH(amountIn); _wrapETH(amountIn);
} else if (tokenIn != address(0)) { } else if (tokenIn != address(0)) {
permit2.permit(msg.sender, permitSingle, signature); permit2.permit(msg.sender, permitSingle, signature);
permit2.transferFrom( permit2.transferFrom(
msg.sender, msg.sender,
address(this), address(this),
uint160(amountIn), uint160(amountIn),
permitSingle.details.token permitSingle.details.token
); );
} }
amountOut = _splitSwap(amountIn, nTokens, swaps); amountOut = _splitSwap(amountIn, nTokens, swaps);

View File

@@ -9,6 +9,7 @@ contract CallbackVerificationDispatcherExposed is
{ {
function exposedCallVerifier(bytes calldata data) function exposedCallVerifier(bytes calldata data)
external external
view
returns ( returns (
uint256 amountOwed, uint256 amountOwed,
uint256 amountReceived, uint256 amountReceived,
@@ -176,7 +177,7 @@ contract CallbackVerificationDispatcherTest is Constants {
dispatcherExposed.exposedCallVerifier(data); dispatcherExposed.exposedCallVerifier(data);
} }
function testDecodeVerifierAndSelector() public { function testDecodeVerifierAndSelector() public view {
bytes memory data = bytes memory data =
hex"2C960bD1CFE09A26105ad3C351bEa0a3fAD0F8e876b20f8aA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; hex"2C960bD1CFE09A26105ad3C351bEa0a3fAD0F8e876b20f8aA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48";
(address executor, bytes4 selector, bytes memory verifierData) = (address executor, bytes4 selector, bytes memory verifierData) =

View File

@@ -136,7 +136,7 @@ contract ExecutionDispatcherTest is Constants {
dispatcherExposed.exposedCallExecutor(0, data); dispatcherExposed.exposedCallExecutor(0, data);
} }
function testDecodeExecutorAndSelector() public { function testDecodeExecutorAndSelector() public view {
bytes memory data = bytes memory data =
hex"6611e616d2db3244244a54c754a16dd3ac7ca7a2aabbccdd1111111111111111"; hex"6611e616d2db3244244a54c754a16dd3ac7ca7a2aabbccdd1111111111111111";
(address executor, bytes4 selector, bytes memory protocolData) = (address executor, bytes4 selector, bytes memory protocolData) =

View File

@@ -8,14 +8,14 @@ import {LibPrefixLengthEncodedByteArray} from
contract LibPrefixLengthEncodedByteArrayTest is Test { contract LibPrefixLengthEncodedByteArrayTest is Test {
using LibPrefixLengthEncodedByteArray for bytes; using LibPrefixLengthEncodedByteArray for bytes;
function testNextEmpty() public { function testNextEmpty() public view {
bytes memory encoded = ""; bytes memory encoded = "";
(bytes memory elem, bytes memory remaining) = this.next(encoded); (bytes memory elem, bytes memory remaining) = this.next(encoded);
assertEq(elem.length, 0); assertEq(elem.length, 0);
assertEq(remaining.length, 0); assertEq(remaining.length, 0);
} }
function testNextSingleElement() public { function testNextSingleElement() public view {
// Create encoded data: length prefix (0003) followed by "ABC" // Create encoded data: length prefix (0003) followed by "ABC"
bytes memory encoded = hex"0003414243"; bytes memory encoded = hex"0003414243";
(bytes memory elem, bytes memory remaining) = this.next(encoded); (bytes memory elem, bytes memory remaining) = this.next(encoded);
@@ -25,7 +25,7 @@ contract LibPrefixLengthEncodedByteArrayTest is Test {
assertEq(remaining.length, 0); assertEq(remaining.length, 0);
} }
function testNextMultipleElements() public { function testNextMultipleElements() public view {
// Encoded data: [0003]ABC[0002]DE // Encoded data: [0003]ABC[0002]DE
bytes memory encoded = hex"000341424300024445"; bytes memory encoded = hex"000341424300024445";
@@ -40,7 +40,7 @@ contract LibPrefixLengthEncodedByteArrayTest is Test {
assertEq(remaining2.length, 0); assertEq(remaining2.length, 0);
} }
function testSize() public { function testSize() public view {
bytes memory empty = ""; bytes memory empty = "";
assertEq(this.size(empty), 0); assertEq(this.size(empty), 0);
@@ -51,19 +51,19 @@ contract LibPrefixLengthEncodedByteArrayTest is Test {
assertEq(this.size(multiple), 3); assertEq(this.size(multiple), 3);
} }
function testFailInvalidLength() public { function testFailInvalidLength() public view {
// Length prefix larger than remaining data // Length prefix larger than remaining data
bytes memory invalid = hex"0004414243"; bytes memory invalid = hex"0004414243";
(bytes memory elem, bytes memory remaining) = this.next(invalid); this.next(invalid);
} }
function testFailIncompletePrefix() public { function testFailIncompletePrefix() public view {
// Only 1 byte instead of 2 bytes prefix // Only 1 byte instead of 2 bytes prefix
bytes memory invalid = hex"01"; bytes memory invalid = hex"01";
(bytes memory elem, bytes memory remaining) = this.next(invalid); this.next(invalid);
} }
function testLargeElement() public { function testLargeElement() public view {
// Test with a large but manageable size (1000 bytes) // Test with a large but manageable size (1000 bytes)
bytes memory large = new bytes(1002); // 2 bytes prefix + 1000 bytes data bytes memory large = new bytes(1002); // 2 bytes prefix + 1000 bytes data
large[0] = bytes1(uint8(0x03)); // 03 large[0] = bytes1(uint8(0x03)); // 03
@@ -79,7 +79,7 @@ contract LibPrefixLengthEncodedByteArrayTest is Test {
assertEq(remaining.length, 0); assertEq(remaining.length, 0);
} }
function testSizeWithLargeElements() public { function testSizeWithLargeElements() public view {
// Two elements: 1000 bytes + 500 bytes // Two elements: 1000 bytes + 500 bytes
bytes memory data = new bytes(1504); // 1000 + 2 + 500 + 2 bytes memory data = new bytes(1504); // 1000 + 2 + 500 + 2

View File

@@ -20,14 +20,14 @@ contract TychoRouterTest is TychoRouterTestSetup {
); );
function testSetExecutorValidRole() public { function testSetExecutorValidRole() public {
vm.startPrank(executorSetter); vm.startPrank(EXECUTOR_SETTER);
tychoRouter.setExecutor(DUMMY); tychoRouter.setExecutor(DUMMY);
vm.stopPrank(); vm.stopPrank();
assert(tychoRouter.executors(DUMMY) == true); assert(tychoRouter.executors(DUMMY) == true);
} }
function testRemoveExecutorValidRole() public { function testRemoveExecutorValidRole() public {
vm.startPrank(executorSetter); vm.startPrank(EXECUTOR_SETTER);
tychoRouter.setExecutor(DUMMY); tychoRouter.setExecutor(DUMMY);
tychoRouter.removeExecutor(DUMMY); tychoRouter.removeExecutor(DUMMY);
vm.stopPrank(); vm.stopPrank();
@@ -45,14 +45,14 @@ contract TychoRouterTest is TychoRouterTestSetup {
} }
function testSetVerifierValidRole() public { function testSetVerifierValidRole() public {
vm.startPrank(executorSetter); vm.startPrank(EXECUTOR_SETTER);
tychoRouter.setCallbackVerifier(DUMMY); tychoRouter.setCallbackVerifier(DUMMY);
vm.stopPrank(); vm.stopPrank();
assert(tychoRouter.callbackVerifiers(DUMMY) == true); assert(tychoRouter.callbackVerifiers(DUMMY) == true);
} }
function testRemoveVerifierValidRole() public { function testRemoveVerifierValidRole() public {
vm.startPrank(executorSetter); vm.startPrank(EXECUTOR_SETTER);
tychoRouter.setCallbackVerifier(DUMMY); tychoRouter.setCallbackVerifier(DUMMY);
tychoRouter.removeCallbackVerifier(DUMMY); tychoRouter.removeCallbackVerifier(DUMMY);
vm.stopPrank(); vm.stopPrank();
@@ -216,8 +216,8 @@ contract TychoRouterTest is TychoRouterTestSetup {
// Trade 1 WETH for DAI with 1 swap on Uniswap V2 // Trade 1 WETH for DAI with 1 swap on Uniswap V2
// 1 WETH -> DAI // 1 WETH -> DAI
// (univ2) // (univ2)
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(WETH_ADDR, address(tychoRouter), amount_in); deal(WETH_ADDR, address(tychoRouter), amountIn);
bytes memory protocolData = bytes memory protocolData =
encodeUniswapV2Swap(WETH_ADDR, WETH_DAI_POOL, ALICE, false); encodeUniswapV2Swap(WETH_ADDR, WETH_DAI_POOL, ALICE, false);
@@ -227,9 +227,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
bytes[] memory swaps = new bytes[](1); bytes[] memory swaps = new bytes[](1);
swaps[0] = swap; swaps[0] = swap;
uint256 minAmountOut = 2600 * 1e18; tychoRouter.splitSwap(amountIn, 2, pleEncode(swaps));
uint256 amountOut =
tychoRouter.splitSwap(amount_in, 2, pleEncode(swaps));
uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE); uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE);
assertEq(daiBalance, 2630432278145144658455); assertEq(daiBalance, 2630432278145144658455);
@@ -240,8 +238,8 @@ contract TychoRouterTest is TychoRouterTestSetup {
// Trade 1 WETH for USDC through DAI with 2 swaps on Uniswap V2 // Trade 1 WETH for USDC through DAI with 2 swaps on Uniswap V2
// 1 WETH -> DAI -> USDC // 1 WETH -> DAI -> USDC
// (univ2) (univ2) // (univ2) (univ2)
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(WETH_ADDR, address(tychoRouter), amount_in); deal(WETH_ADDR, address(tychoRouter), amountIn);
bytes[] memory swaps = new bytes[](2); bytes[] memory swaps = new bytes[](2);
// WETH -> DAI // WETH -> DAI
@@ -262,9 +260,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
encodeUniswapV2Swap(DAI_ADDR, DAI_USDC_POOL, ALICE, true) encodeUniswapV2Swap(DAI_ADDR, DAI_USDC_POOL, ALICE, true)
); );
uint256 minAmountOut = 2600 * 1e6; tychoRouter.splitSwap(amountIn, 3, pleEncode(swaps));
uint256 amountOut =
tychoRouter.splitSwap(amount_in, 3, pleEncode(swaps));
uint256 usdcBalance = IERC20(USDC_ADDR).balanceOf(ALICE); uint256 usdcBalance = IERC20(USDC_ADDR).balanceOf(ALICE);
assertEq(usdcBalance, 2610580090); assertEq(usdcBalance, 2610580090);
@@ -277,8 +273,8 @@ contract TychoRouterTest is TychoRouterTestSetup {
// 1 WETH USDC // 1 WETH USDC
// -> WBTC -> // -> WBTC ->
// (univ2) (univ2) // (univ2) (univ2)
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(WETH_ADDR, address(tychoRouter), amount_in); deal(WETH_ADDR, address(tychoRouter), amountIn);
bytes[] memory swaps = new bytes[](4); bytes[] memory swaps = new bytes[](4);
// WETH -> WBTC (60%) // WETH -> WBTC (60%)
@@ -315,9 +311,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
encodeUniswapV2Swap(DAI_ADDR, DAI_USDC_POOL, ALICE, true) encodeUniswapV2Swap(DAI_ADDR, DAI_USDC_POOL, ALICE, true)
); );
uint256 minAmountOut = 2580 * 1e6; tychoRouter.splitSwap(amountIn, 4, pleEncode(swaps));
uint256 amountOut =
tychoRouter.splitSwap(amount_in, 4, pleEncode(swaps));
uint256 usdcBalance = IERC20(USDC_ADDR).balanceOf(ALICE); uint256 usdcBalance = IERC20(USDC_ADDR).balanceOf(ALICE);
assertEq(usdcBalance, 2581503157); assertEq(usdcBalance, 2581503157);
@@ -328,15 +322,15 @@ contract TychoRouterTest is TychoRouterTestSetup {
// Trade 1 WETH for DAI with 1 swap on Uniswap V2 // Trade 1 WETH for DAI with 1 swap on Uniswap V2
// Does permit2 token approval and transfer // Does permit2 token approval and transfer
// Checks amount out at the end // Checks amount out at the end
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(WETH_ADDR, ALICE, amount_in); deal(WETH_ADDR, ALICE, amountIn);
vm.startPrank(ALICE); vm.startPrank(ALICE);
( (
IAllowanceTransfer.PermitSingle memory permitSingle, IAllowanceTransfer.PermitSingle memory permitSingle,
bytes memory signature bytes memory signature
) = handlePermit2Approval(WETH_ADDR, amount_in); ) = handlePermit2Approval(WETH_ADDR, amountIn);
bytes memory protocolData = bytes memory protocolData =
encodeUniswapV2Swap(WETH_ADDR, WETH_DAI_POOL, ALICE, false); encodeUniswapV2Swap(WETH_ADDR, WETH_DAI_POOL, ALICE, false);
@@ -348,7 +342,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
uint256 minAmountOut = 2600 * 1e18; uint256 minAmountOut = 2600 * 1e18;
uint256 amountOut = tychoRouter.swap( uint256 amountOut = tychoRouter.swap(
amount_in, amountIn,
WETH_ADDR, WETH_ADDR,
DAI_ADDR, DAI_ADDR,
minAmountOut, minAmountOut,
@@ -361,8 +355,10 @@ contract TychoRouterTest is TychoRouterTestSetup {
pleEncode(swaps) pleEncode(swaps)
); );
uint256 expectedAmount = 2630432278145144658455;
assertEq(amountOut, expectedAmount);
uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE); uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE);
assertEq(daiBalance, 2630432278145144658455); assertEq(daiBalance, expectedAmount);
assertEq(IERC20(WETH_ADDR).balanceOf(ALICE), 0); assertEq(IERC20(WETH_ADDR).balanceOf(ALICE), 0);
vm.stopPrank(); vm.stopPrank();
@@ -372,15 +368,15 @@ contract TychoRouterTest is TychoRouterTestSetup {
// Trade 1 WETH for DAI with 1 swap on Uniswap V2 // Trade 1 WETH for DAI with 1 swap on Uniswap V2
// Does permit2 token approval and transfer // Does permit2 token approval and transfer
// Checks amount out at the end and fails // Checks amount out at the end and fails
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(WETH_ADDR, ALICE, amount_in); deal(WETH_ADDR, ALICE, amountIn);
vm.startPrank(ALICE); vm.startPrank(ALICE);
( (
IAllowanceTransfer.PermitSingle memory permitSingle, IAllowanceTransfer.PermitSingle memory permitSingle,
bytes memory signature bytes memory signature
) = handlePermit2Approval(WETH_ADDR, amount_in); ) = handlePermit2Approval(WETH_ADDR, amountIn);
bytes memory protocolData = bytes memory protocolData =
encodeUniswapV2Swap(WETH_ADDR, WETH_DAI_POOL, ALICE, false); encodeUniswapV2Swap(WETH_ADDR, WETH_DAI_POOL, ALICE, false);
@@ -398,8 +394,8 @@ contract TychoRouterTest is TychoRouterTestSetup {
minAmountOut minAmountOut
) )
); );
uint256 amountOut = tychoRouter.swap( tychoRouter.swap(
amount_in, amountIn,
WETH_ADDR, WETH_ADDR,
DAI_ADDR, DAI_ADDR,
minAmountOut, minAmountOut,
@@ -424,15 +420,15 @@ contract TychoRouterTest is TychoRouterTestSetup {
tychoRouter.setFeeReceiver(FEE_RECEIVER); tychoRouter.setFeeReceiver(FEE_RECEIVER);
vm.stopPrank(); vm.stopPrank();
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(WETH_ADDR, ALICE, amount_in); deal(WETH_ADDR, ALICE, amountIn);
vm.startPrank(ALICE); vm.startPrank(ALICE);
( (
IAllowanceTransfer.PermitSingle memory permitSingle, IAllowanceTransfer.PermitSingle memory permitSingle,
bytes memory signature bytes memory signature
) = handlePermit2Approval(WETH_ADDR, amount_in); ) = handlePermit2Approval(WETH_ADDR, amountIn);
bytes memory protocolData = encodeUniswapV2Swap( bytes memory protocolData = encodeUniswapV2Swap(
WETH_ADDR, WETH_DAI_POOL, address(tychoRouter), false WETH_ADDR, WETH_DAI_POOL, address(tychoRouter), false
@@ -444,7 +440,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
swaps[0] = swap; swaps[0] = swap;
uint256 amountOut = tychoRouter.swap( uint256 amountOut = tychoRouter.swap(
amount_in, amountIn,
WETH_ADDR, WETH_ADDR,
DAI_ADDR, DAI_ADDR,
0, 0,
@@ -457,8 +453,10 @@ contract TychoRouterTest is TychoRouterTestSetup {
pleEncode(swaps) pleEncode(swaps)
); );
uint256 expectedAmount = 2604127955363693211871;
assertEq(amountOut, expectedAmount);
uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE); uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE);
assertEq(daiBalance, 2604127955363693211871); assertEq(daiBalance, expectedAmount);
assertEq(IERC20(DAI_ADDR).balanceOf(FEE_RECEIVER), 26304322781451446584); assertEq(IERC20(DAI_ADDR).balanceOf(FEE_RECEIVER), 26304322781451446584);
vm.stopPrank(); vm.stopPrank();
@@ -467,8 +465,8 @@ contract TychoRouterTest is TychoRouterTestSetup {
function testSwapWrapETH() public { function testSwapWrapETH() public {
// Trade 1 ETH (and wrap it) for DAI with 1 swap on Uniswap V2 // Trade 1 ETH (and wrap it) for DAI with 1 swap on Uniswap V2
uint256 amount_in = 1 ether; uint256 amountIn = 1 ether;
deal(ALICE, amount_in); deal(ALICE, amountIn);
vm.startPrank(ALICE); vm.startPrank(ALICE);
@@ -491,8 +489,8 @@ contract TychoRouterTest is TychoRouterTestSetup {
bytes[] memory swaps = new bytes[](1); bytes[] memory swaps = new bytes[](1);
swaps[0] = swap; swaps[0] = swap;
uint256 amountOut = tychoRouter.swap{value: amount_in}( uint256 amountOut = tychoRouter.swap{value: amountIn}(
amount_in, amountIn,
address(0), address(0),
DAI_ADDR, DAI_ADDR,
0, 0,
@@ -504,9 +502,10 @@ contract TychoRouterTest is TychoRouterTestSetup {
"", "",
pleEncode(swaps) pleEncode(swaps)
); );
uint256 expectedAmount = 2630432278145144658455;
assertEq(amountOut, expectedAmount);
uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE); uint256 daiBalance = IERC20(DAI_ADDR).balanceOf(ALICE);
assertEq(daiBalance, 2630432278145144658455); assertEq(daiBalance, expectedAmount);
assertEq(ALICE.balance, 0); assertEq(ALICE.balance, 0);
vm.stopPrank(); vm.stopPrank();
@@ -515,15 +514,15 @@ contract TychoRouterTest is TychoRouterTestSetup {
function testSwapUnwrapETH() public { function testSwapUnwrapETH() public {
// Trade 3k DAI for WETH with 1 swap on Uniswap V2 and unwrap it at the end // Trade 3k DAI for WETH with 1 swap on Uniswap V2 and unwrap it at the end
uint256 amount_in = 3_000 * 10 ** 18; uint256 amountIn = 3_000 * 10 ** 18;
deal(DAI_ADDR, ALICE, amount_in); deal(DAI_ADDR, ALICE, amountIn);
vm.startPrank(ALICE); vm.startPrank(ALICE);
( (
IAllowanceTransfer.PermitSingle memory permitSingle, IAllowanceTransfer.PermitSingle memory permitSingle,
bytes memory signature bytes memory signature
) = handlePermit2Approval(DAI_ADDR, amount_in); ) = handlePermit2Approval(DAI_ADDR, amountIn);
bytes memory protocolData = encodeUniswapV2Swap( bytes memory protocolData = encodeUniswapV2Swap(
DAI_ADDR, WETH_DAI_POOL, address(tychoRouter), true DAI_ADDR, WETH_DAI_POOL, address(tychoRouter), true
@@ -535,7 +534,7 @@ contract TychoRouterTest is TychoRouterTestSetup {
swaps[0] = swap; swaps[0] = swap;
uint256 amountOut = tychoRouter.swap( uint256 amountOut = tychoRouter.swap(
amount_in, amountIn,
DAI_ADDR, DAI_ADDR,
address(0), address(0),
0, 0,
@@ -548,7 +547,9 @@ contract TychoRouterTest is TychoRouterTestSetup {
pleEncode(swaps) pleEncode(swaps)
); );
assertEq(ALICE.balance, 1132829934891544187); // 1.13 ETH uint256 expectedAmount = 1132829934891544187; // 1.13 ETH
assertEq(amountOut, expectedAmount);
assertEq(ALICE.balance, expectedAmount);
vm.stopPrank(); vm.stopPrank();
} }

View File

@@ -28,7 +28,6 @@ contract TychoRouterExposed is TychoRouter {
contract TychoRouterTestSetup is Test, Constants { contract TychoRouterTestSetup is Test, Constants {
TychoRouterExposed tychoRouter; TychoRouterExposed tychoRouter;
address executorSetter;
address permit2Address = address(0x000000000022D473030F116dDEE9F6B43aC78BA3); address permit2Address = address(0x000000000022D473030F116dDEE9F6B43aC78BA3);
UniswapV2Executor public usv2Executor; UniswapV2Executor public usv2Executor;
MockERC20[] tokens; MockERC20[] tokens;
@@ -39,7 +38,6 @@ contract TychoRouterTestSetup is Test, Constants {
vm.startPrank(ADMIN); vm.startPrank(ADMIN);
tychoRouter = new TychoRouterExposed(permit2Address, WETH_ADDR); tychoRouter = new TychoRouterExposed(permit2Address, WETH_ADDR);
tychoRouter.grantRole(keccak256("EXECUTOR_SETTER_ROLE"), BOB);
tychoRouter.grantRole(keccak256("FUND_RESCUER_ROLE"), FUND_RESCUER); tychoRouter.grantRole(keccak256("FUND_RESCUER_ROLE"), FUND_RESCUER);
tychoRouter.grantRole(keccak256("FEE_SETTER_ROLE"), FEE_SETTER); tychoRouter.grantRole(keccak256("FEE_SETTER_ROLE"), FEE_SETTER);
tychoRouter.grantRole(keccak256("PAUSER_ROLE"), PAUSER); tychoRouter.grantRole(keccak256("PAUSER_ROLE"), PAUSER);
@@ -47,7 +45,6 @@ contract TychoRouterTestSetup is Test, Constants {
tychoRouter.grantRole( tychoRouter.grantRole(
keccak256("EXECUTOR_SETTER_ROLE"), EXECUTOR_SETTER keccak256("EXECUTOR_SETTER_ROLE"), EXECUTOR_SETTER
); );
executorSetter = BOB;
deployDummyContract(); deployDummyContract();
vm.stopPrank(); vm.stopPrank();
@@ -118,7 +115,7 @@ contract TychoRouterTestSetup is Test, Constants {
function signPermit2( function signPermit2(
IAllowanceTransfer.PermitSingle memory permit, IAllowanceTransfer.PermitSingle memory permit,
uint256 privateKey uint256 privateKey
) internal returns (bytes memory) { ) internal view returns (bytes memory) {
bytes32 _PERMIT_DETAILS_TYPEHASH = keccak256( bytes32 _PERMIT_DETAILS_TYPEHASH = keccak256(
"PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)" "PermitDetails(address token,uint160 amount,uint48 expiration,uint48 nonce)"
); );