-
Notifications
You must be signed in to change notification settings - Fork 9
/
Copy pathISeawaterAMM.sol
89 lines (83 loc) · 3.08 KB
/
ISeawaterAMM.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
// SPDX-Identifier: MIT
pragma solidity 0.8.16;
import "./ISeawaterEvents.sol";
import "./ISeawaterExecutors.sol";
// ISeawaterAMM is the public facing interface for the SeawaterAMM
interface ISeawaterAMM is
ISeawaterEvents,
ISeawaterExecutorSwap,
ISeawaterExecutorSwapPermit2,
ISeawaterExecutorQuote,
ISeawaterExecutorPosition,
ISeawaterExecutorUpdatePosition,
ISeawaterExecutorAdminExposed
{
/// @notice swaps _token for USDC
/// @param _token the token to swap
/// @param _amount input amount (token)
/// @param _minOut the minimum output amount (usdc), reverting if the actual output is lower
/// @return amount of usdc out
function swapIn32502CA71(
address _token,
uint256 _amount,
uint256 _minOut
) external returns (int256, int256);
/// @notice swaps _token for USDC
/// @param _token the token to swap
/// @param _amount input amount (token)
/// @param _minOut the minimum output amount (usdc), reverting if the actual output is lower
/// @param _nonce the nonce for the token
/// @param _deadline the deadline for the token
/// @param _sig the signature for the token
/// @param _maxAmount the max amount of the token
/// @return amount of usdc out
function swapInPermit2CEAAB576(
address _token,
uint256 _amount,
uint256 _minOut,
uint256 _nonce,
uint256 _deadline,
uint256 _maxAmount,
bytes memory _sig
) external returns (int256, int256);
/// @notice swaps USDC for _token
/// @param _token the token to swap
/// @param _amount input amount (usdc)
/// @param _minOut the minimum output amount (token), reverting if the actual output is lower
/// @return amount of token out
function swapOut5E08A399(
address _token,
uint256 _amount,
uint256 _minOut
) external returns (int256, int256);
/// @notice swaps USDC for _token
/// @param _token the token to swap
/// @param _amount input amount (usdc)
/// @param _minOut the minimum output amount (token), reverting if the actual output is lower
/// @param _nonce the nonce for the token
/// @param _deadline the deadline for the token
/// @param _sig the signature for the token
/// @param _maxAmount the max amount of the token
/// @return amount of token out
function swapOutPermit23273373B(
address _token,
uint256 _amount,
uint256 _minOut,
uint256 _nonce,
uint256 _deadline,
uint256 _maxAmount,
bytes memory _sig
) external returns (int256, int256);
/// @notice swaps tokenA for tokenB
/// @param _tokenA the input token
/// @param _tokenB the output token
/// @param _amount input amount (tokenA)
/// @param _minOut the minimum output amount (tokenB), reverting if the actual output is lower
/// @return amount of token A in, amount of token B out
function swap2ExactIn41203F1D(
address _tokenA,
address _tokenB,
uint256 _amount,
uint256 _minOut
) external returns (uint256, uint256);
}