forked from Synthetixio/synthetix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathISynthetix.sol
43 lines (36 loc) · 1.54 KB
/
ISynthetix.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
pragma solidity 0.4.25;
/**
* @title Synthetix interface contract
* @dev pseudo interface, actually declared as contract to hold the public getters
*/
import "./ISynthetixState.sol";
import "./ISynth.sol";
import "./ISynthetixEscrow.sol";
import "./IFeePool.sol";
import "./IExchangeRates.sol";
contract ISynthetix {
// ========== PUBLIC STATE VARIABLES ==========
IFeePool public feePool;
ISynthetixEscrow public escrow;
ISynthetixEscrow public rewardEscrow;
ISynthetixState public synthetixState;
IExchangeRates public exchangeRates;
// ========== PUBLIC FUNCTIONS ==========
function balanceOf(address account) public view returns (uint);
function transfer(address to, uint value) public returns (bool);
function effectiveValue(bytes4 sourceCurrencyKey, uint sourceAmount, bytes4 destinationCurrencyKey) public view returns (uint);
function synthInitiatedFeePayment(address from, bytes4 sourceCurrencyKey, uint sourceAmount) external returns (bool);
function synthInitiatedExchange(
address from,
bytes4 sourceCurrencyKey,
uint sourceAmount,
bytes4 destinationCurrencyKey,
address destinationAddress) external returns (bool);
function collateralisationRatio(address issuer) public view returns (uint);
function totalIssuedSynths(bytes4 currencyKey)
public
view
returns (uint);
function getSynth(bytes4 currencyKey) public view returns (ISynth);
function debtBalanceOf(address issuer, bytes4 currencyKey) public view returns (uint);
}