yield-contract/contracts/logics/exchangeRate/ethLogic.sol
2020-09-10 17:14:06 +10:00

41 lines
1.1 KiB
Solidity

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.8;
import { DSMath } from "../../libs/safeMath.sol";
contract EthRateLogic {
address poolToken;
function getCompoundNetAssetsInEth(address _dsa) private returns (uint _netBal) {
// Logics
// Take price from Compound's Oracle?
}
function getCurveNetAssetsInEth(address _dsa) private returns (uint _netBal) {
// Logics
// Take price from ChainLink's Oracle?
}
function getNetDsaAssets(address _dsa) private returns (uint _netBal) {
_netBal = _dsa.balance;
_netBal += getCompoundNetAssetsInEth(_dsa);
_netBal += getCurveNetAssetsInEth(_dsa);
}
function getTotalToken() public returns (uint) {
address _dsa = 0x0000000000000000000000000000000000000000;
uint bal = poolToken.balance;
bal += getNetDsaAssets(_dsa);
return bal;
}
function reduceETH(uint amt) public {
payable(address(0)).transfer(amt);
}
constructor (address ethPool) public {
poolToken = address(ethPool);
}
receive() external payable {}
}