pragma solidity >=0.6.12; // Author: Louis Holbrook 0826EDA1702D1E87C6E2875121D2E7BB88C2A746 // SPDX-License-Identifier: AGPL-3.0-or-later // File-version: 1 interface ITokenSwap { // Add inToken liquidity of the full balance of the sender // Requires token approval for the balance. function deposit(address _inToken) external returns (uint256); // Add inToken liquidity to the tune of given value. // Requires token approval for the corresponding value. function deposit(address _inToken, uint256 _value) external returns (uint256); // Withdraw any pending outToken balance in the pool for the sender. function withdraw(address _outToken) external returns (uint256); // Withdraw pending outToken balance of given value in the pool for the sender. function withdraw(address _outToken, uint256 _value) external returns (uint256); // Exchange inToken equalling given value for outToken. // Requires token approval for the value of inToken. function withdraw(address _outToken, address _inToken, uint256 _value) external returns (uint256); }