pragma solidity ^0.5.0; // Note: Kyber uses it owns ERC20 interface // See: https://github.com/KyberNetwork/smart-contracts/blob/master/contracts/ERC20Interface.sol import { IERC20 as ERC20 } from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; interface KyberNetworkProxyInterface { function maxGasPrice() external view returns(uint); function getUserCapInWei(address user) external view returns(uint); function getUserCapInTokenWei(address user, ERC20 token) external view returns(uint); function enabled() external view returns(bool); function info(bytes32 id) external view returns(uint); function getExpectedRate(ERC20 src, ERC20 dest, uint srcQty) external view returns (uint expectedRate, uint slippageRate); function tradeWithHint(ERC20 src, uint srcAmount, ERC20 dest, address destAddress, uint maxDestAmount, uint minConversionRate, address walletId, bytes calldata hint) external payable returns(uint); } interface SimpleNetworkInterface { function swapTokenToToken(ERC20 src, uint srcAmount, ERC20 dest, uint minConversionRate) external returns(uint); function swapEtherToToken(ERC20 token, uint minConversionRate) external payable returns(uint); function swapTokenToEther(ERC20 token, uint srcAmount, uint minConversionRate) external returns(uint); } contract KyberNetworkProxy is KyberNetworkProxyInterface, SimpleNetworkInterface {}