26 lines
1.1 KiB
Solidity
26 lines
1.1 KiB
Solidity
|
pragma solidity >=0.6.12;
|
||
|
|
||
|
// Author: Louis Holbrook <dev@holbrook.no> 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);
|
||
|
}
|