// SPDX-License-Identifier: MIT pragma solidity ^0.8.19; import "../RouteTypesV2.sol"; interface IRouteExecutorAdapter { function validate(RouteTypesV2.RouteLeg calldata leg) external view returns (bool ok, string memory reason); function quote( RouteTypesV2.RouteLeg calldata leg, uint256 amountIn ) external view returns (uint256 amountOut, uint256 gasEstimate); function execute( RouteTypesV2.RouteLeg calldata leg, uint256 amountIn ) external returns (uint256 amountOut); }