IUnderlyingCreditProvider.sol
1 pragma solidity >=0.6.0; 2 pragma experimental ABIEncoderV2; 3 4 interface IUnderlyingCreditProvider { 5 function initialize(address _udlCdtk) external; 6 function getUnderlyingCreditToken() external view returns (address); 7 function addBalance(address to, address token, uint value) external; 8 function addBalance(uint value) external; 9 function balanceOf(address owner) external view returns (uint); 10 function totalTokenStock() external view returns (uint v); 11 function grantTokens(address to, uint value) external; 12 function getTotalOwners() external view returns (uint); 13 function getTotalBalance() external view returns (uint); 14 function processPayment(address from, address to, uint value) external; 15 function transferBalance(address from, address to, uint value) external; 16 function depositTokens(address to, address token, uint value) external; 17 function withdrawTokens(address owner, uint value) external; 18 function issueCredit(address to, uint value) external; 19 function swapTokenForCredit(address to, address token, uint value) external; 20 function processEarlyLpWithdrawal(address to, uint credit) external; 21 function swapStablecoinForUnderlying(address udlCdtp, address[] calldata path, int price, uint balance, uint amountOut) external; 22 function swapBalanceForCreditTokens(address owner, uint value) external; 23 function ensureCaller(address addr) external view; 24 }