Contract | ABI | Address |
---|---|---|
yDAIv1 | JSON | ydai.iearn.eth |
yDAIv2 | JSON | ydai.iearn.eth |
yDAIv3 | JSON | ydaiv3.iearn.eth |
{% tabs %} {% tab title="IyDAI.sol" %}
// Solidity Interface
interface IyDAI {
function withdraw(uint256 _shares) external;
function deposit(uint256 _amount) external;
function balance() external view returns (uint256);
function balanceDydx() external view returns (uint256);
function balanceCompound() external view returns (uint256);
function balanceCompoundInToken() external view returns (uint256);
function balanceFulcrumInToken() external view returns (uint256);
function balanceFulcrum() external view returns (uint256);
function balanceAave() external view returns (uint256);
function recommend() external view returns (uint256);
function rebalance() external;
function calcPoolValueInToken() external view returns (uint256);
function getPricePerFullShare() external view returns (uint256);
}
{% endtab %} {% endtabs %}
{% tabs %} {% tab title="TokenInterface.sol" %}
// https://theethereum.wiki/w/index.php/ERC20_Token_Standard
contract ERC20Interface {
function totalSupply() public view returns (uint);
function balanceOf(address tokenOwner) public view returns (uint balance);
function allowance(address tokenOwner, address spender) public view returns (uint remaining);
function transfer(address to, uint tokens) public returns (bool success);
function approve(address spender, uint tokens) public returns (bool success);
function transferFrom(address from, address to, uint tokens) public returns (bool success);
// optional
function name() external view returns (string);
function symbol() external view returns (string);
function decimals() external view returns (string);
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
}
{% endtab %} {% endtabs %}