function enableRoute(address tokenIn, address tokenOut, RouteInfo memory routeInfo) external onlyGovernor {
    bytes32 key = _key(tokenIn, tokenOut);
    // Check if the route is already authorized
    if (_routes[key].provider != SwapProvider.NONE) revert RouteAlreadyAuthorized();
    // Set the route information
@>  if (!IERC20(tokenIn).approve(routeInfo.router, type(uint256).max - 1)) revert FailedToApproveAllowance();

@>  if (!IERC20(tokenOut).approve(routeInfo.router, type(uint256).max - 1)) revert FailedToApproveAllowance();

    _routes[key] = routeInfo;
}
