-
Notifications
You must be signed in to change notification settings - Fork 14
/
IAdapter.sol
39 lines (25 loc) · 1.13 KB
/
IAdapter.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
35
36
37
38
39
// SPDX-License-Identifier: GPL-3.0
// Docgen-SOLC: 0.8.15
pragma solidity ^0.8.15;
import {IOwned} from "../IOwned.sol";
import {IERC4626} from "./IERC4626.sol";
import {IPermit} from "../IPermit.sol";
import {IPausable} from "../IPausable.sol";
interface IAdapter is IERC4626, IOwned, IPermit, IPausable {
function strategy() external view returns (address);
function strategyConfig() external view returns (bytes memory);
function strategyDeposit(uint256 assets, uint256 shares) external;
function strategyWithdraw(uint256 assets, uint256 shares) external;
function supportsInterface(bytes4 interfaceId) external view returns (bool);
function setPerformanceFee(uint256 fee) external;
function performanceFee() external view returns (uint256);
function highWaterMark() external view returns (uint256);
function harvest() external;
function harvestCooldown() external view returns (uint256);
function setHarvestCooldown(uint256 harvestCooldown) external;
function initialize(
bytes memory adapterBaseData,
address externalRegistry,
bytes memory adapterData
) external;
}