yield-contract/contracts/logics/ethLogic.sol

39 lines
1.0 KiB
Solidity
Raw Normal View History

2020-09-08 13:23:30 +00:00
// SPDX-License-Identifier: MIT
pragma solidity ^0.6.8;
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 {}
}