-
Notifications
You must be signed in to change notification settings - Fork 14
/
IYearn.sol
34 lines (20 loc) · 1006 Bytes
/
IYearn.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// SPDX-License-Identifier: GPL-3.0
// Docgen-SOLC: 0.8.15
pragma solidity ^0.8.15;
import { IERC20Upgradeable as IERC20 } from "openzeppelin-contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol";
interface VaultAPI is IERC20 {
function deposit(uint256 amount) external returns (uint256);
function withdraw(uint256 maxShares) external returns (uint256);
function pricePerShare() external view returns (uint256);
function totalAssets() external view returns (uint256);
function totalSupply() external view returns (uint256);
function depositLimit() external view returns (uint256);
function token() external view returns (address);
function lastReport() external view returns (uint256);
function lockedProfit() external view returns (uint256);
function lockedProfitDegradation() external view returns (uint256);
function totalDebt() external view returns (uint256);
}
interface IYearnRegistry {
function latestVault(address token) external view returns (address);
}