feat: initial TychoRouter skeleton

- remappings.txt is used for more elegant imports
- decided not to include all helper methods in skeleton - just main swap method. They are properly documented in the jira tasks.
- add filter-paths to slither to exclude submodules, otherwise we will get slither warnings about permit2 and open-zeppelin using different solidity versions:

```
	- Version constraint ^0.8.20 is used by:
		-^0.8.20 (lib/openzeppelin-contracts/contracts/access/AccessControl.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/access/IAccessControl.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/Context.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol#4)
		-^0.8.20 (lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol#4)
	- Version constraint ^0.8.0 is used by:
		-^0.8.0 (lib/permit2/src/interfaces/IAllowanceTransfer.sol#2)
		-^0.8.0 (lib/permit2/src/interfaces/IEIP712.sol#2)
	- Version constraint ^0.8.28 is used by:
```
This commit is contained in:
TAMARA LIPOWSKI
2025-01-20 17:21:46 -05:00
parent cb9053bd88
commit ab28a4730d
4 changed files with 89 additions and 2 deletions

View File

@@ -0,0 +1,19 @@
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.28;
import {Test, console} from "forge-std/Test.sol";
import {TychoRouter} from "@src/TychoRouter.sol";
contract TychoRouterTest is Test {
TychoRouter public tychoRouter;
function setupTychoRouter() public {
address permit2Address =
address(0x000000000022D473030F116dDEE9F6B43aC78BA3);
tychoRouter = new TychoRouter(permit2Address);
}
function testSetupTychoRouter() public {
setupTychoRouter();
}
}