/ contracts / interfaces / ICollateralManager.sol
ICollateralManager.sol
 1  pragma solidity >=0.6.0;
 2  pragma experimental ABIEncoderV2;
 3  
 4  import "./IOptionsExchange.sol";
 5  
 6  interface ICollateralManager {
 7      function calcCollateral(IOptionsExchange.OptionData calldata opt, uint volume) external view returns (uint);
 8      function calcIntrinsicValue(IOptionsExchange.OptionData calldata opt) external view returns (int value);
 9      function calcCollateral(address owner, bool is_regular) external view returns (uint);
10      function calcExpectedPayout(address owner) external view returns (int payout);
11      function calcDelta(IOptionsExchange.OptionData calldata opt, uint volume) external view returns (int256);
12      function calcGamma(IOptionsExchange.OptionData calldata opt, uint volume) external view returns (int256);
13      function borrowTokensByPreference(address to, address pool, uint value, address[] calldata tokensInOrder, uint[] calldata amountsOutInOrder) external;
14      function borrowCreditFromPool(address to, address pool, uint value) external;
15      function liquidateExpired(address _tk, address[] calldata owners) external;
16      function liquidateOptions(address _tk, address owner) external returns (uint value);
17  }