/ contracts / interfaces / IProtocolSettings.sol
IProtocolSettings.sol
 1  pragma solidity >=0.6.0;
 2  pragma experimental ABIEncoderV2;
 3  
 4  interface IProtocolSettings {
 5  	function getCreditWithdrawlTimeLock() external view returns (uint);
 6      function updateCreditWithdrawlTimeLock(uint duration) external;
 7  	function checkPoolBuyCreditTradable(address poolAddress) external view returns (bool);
 8  	function checkUdlIncentiveBlacklist(address udlAddr) external view returns (bool);
 9  	function checkDexAggIncentiveBlacklist(address dexAggAddress) external view returns (bool);
10      function checkPoolSellCreditTradable(address poolAddress) external view returns (bool);
11      function getPoolCreditTradeable(address poolAddr) external view returns (uint);
12  	function applyCreditInterestRate(uint value, uint date) external view returns (uint);
13      function getUnderlyingCreditInterestRate(uint date, address udlAsset) external view returns (uint v, uint b, uint d);
14      function setUnderlyingCreditInterestRate(uint i, uint b, address udlAsset) external;
15      function applyUnderlyingCreditInterestRate(uint value, uint date, address udlAsset) external view returns (uint);
16      function getUnderlyingDebtInterestRate(uint date, address udlAsset) external view returns (uint v, uint b, uint d);
17      function setUnderlyingDebtInterestRate(uint i, uint b, address udlAsset) external;
18      function applyUnderlyingDebtInterestRate(uint value, uint date, address udlAsset) external view returns (uint);
19  	function getSwapRouterInfo() external view returns (address router, address token);
20  	function getSwapRouterTolerance() external view returns (uint r, uint b);
21  	function getSwapPath(address from, address to) external view returns (address[] memory path);
22      function getTokenRate(address token) external view returns (uint v, uint b);
23      function getCirculatingSupply() external view returns (uint);
24      function getUdlFeed(address addr) external view returns (int);
25      function setUdlCollateralManager(address udlFeed, address ctlMngr) external;
26      function getUdlCollateralManager(address udlFeed) external view returns (address);
27      function getVolatilityPeriod() external view returns(uint);
28      function getAllowedTokens() external view returns (address[] memory);
29      function removedAllowedToken(address token) external;
30      function setDexOracleTwapPeriod(address dexOracleAddress, uint256 _twapPeriod) external;
31      function getDexOracleTwapPeriod(address dexOracleAddress) external view returns (uint256);
32      function setBaseIncentivisation(uint amount) external;
33      function getBaseIncentivisation() external view returns (uint);
34      function getProcessingFee() external view returns (uint v, uint b);
35      function getMinShareForProposal() external view returns (uint v, uint b);
36      function isAllowedHedgingManager(address hedgeMngr) external view returns (bool);
37      function isAllowedRehypothicationManager(address rehyMngr) external view returns (bool);
38      function isAllowedCustomPoolLeverage(address poolAddr) external view returns (bool);
39      function transferTokenBalance(address to, address tokenAddr, uint256 value) external;
40      function swapUnderlyingDebtForStableDebt(address udlFeed, uint256 creditingValue) external;
41      function exchangeTime() external view returns (uint256);
42      function setDebtInterestRate(uint i, uint b) external;
43      function transferBalance(address to, uint amount) external;
44      function transferGovTokens(address to, uint amount) external;
45  }