dsa-resolvers-deprecated/contracts/protocols/mainnet/resolvers/compound/helpers.sol
2021-06-16 06:40:47 +08:00

62 lines
1.6 KiB
Solidity

pragma solidity ^0.6.0;
import {DSMath} from "../../common/math.sol";
import {ComptrollerLensInterface, TokenInterface} from "./interface.sol";
abstract contract Helpers is DSMath {
/**
* @dev get Compound Comptroller
*/
function getComptroller() public pure returns (ComptrollerLensInterface) {
return
ComptrollerLensInterface(
0x3d9819210A31b4961b30EF54bE2aeD79B9c9Cd3B
);
}
/**
* @dev get Compound Open Feed Oracle Address
*/
function getOracleAddress() public view returns (address) {
return getComptroller().oracle();
}
/**
* @dev get Comp Read Address
*/
function getCompReadAddress() public pure returns (address) {
return 0xd513d22422a3062Bd342Ae374b4b9c20E0a9a074;
}
/**
* @dev get ETH Address
*/
function getCETHAddress() public pure returns (address) {
return 0x4Ddc2D193948926D02f9B1fE9e1daa0718270ED5;
}
/**
* @dev get Comp Token Address
*/
function getCompToken() public pure returns (TokenInterface) {
return TokenInterface(0xc00e94Cb662C3520282E6f5717214004A7f26888);
}
struct CompData {
uint256 tokenPriceInEth;
uint256 tokenPriceInUsd;
uint256 exchangeRateStored;
uint256 balanceOfUser;
uint256 borrowBalanceStoredUser;
uint256 totalBorrows;
uint256 totalSupplied;
uint256 borrowCap;
uint256 supplyRatePerBlock;
uint256 borrowRatePerBlock;
uint256 collateralFactor;
uint256 compSpeed;
bool isComped;
bool isBorrowPaused;
}
}