-
Notifications
You must be signed in to change notification settings - Fork 601
/
IDepot.sol
37 lines (22 loc) · 1.34 KB
/
IDepot.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
pragma solidity >=0.4.24;
// https://docs.synthetix.io/contracts/source/interfaces/idepot
interface IDepot {
// Views
function fundsWallet() external view returns (address payable);
function maxEthPurchase() external view returns (uint);
function minimumDepositAmount() external view returns (uint);
function synthsReceivedForEther(uint amount) external view returns (uint);
function totalSellableDeposits() external view returns (uint);
// Mutative functions
function depositSynths(uint amount) external;
function exchangeEtherForSynths() external payable returns (uint);
function exchangeEtherForSynthsAtRate(uint guaranteedRate) external payable returns (uint);
function withdrawMyDepositedSynths() external;
// Note: On mainnet no SNX has been deposited. The following functions are kept alive for testnet SNX faucets.
function exchangeEtherForSNX() external payable returns (uint);
function exchangeEtherForSNXAtRate(uint guaranteedRate, uint guaranteedSynthetixRate) external payable returns (uint);
function exchangeSynthsForSNX(uint synthAmount) external returns (uint);
function synthetixReceivedForEther(uint amount) external view returns (uint);
function synthetixReceivedForSynths(uint amount) external view returns (uint);
function withdrawSynthetix(uint amount) external;
}