-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathIPool.sol
29 lines (24 loc) · 1.21 KB
/
IPool.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
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.18;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
interface IPool {
/**
* @notice Gets the current live balances of the pool as fixed point, 18-decimal numbers.
* @dev Note that live balances will not necessarily be accurate if the pool is in Recovery Mode.
* Withdrawals in Recovery Mode do not make external calls (including those necessary for updating live balances),
* so if there are withdrawals, raw and live balances will be out of sync until Recovery Mode is disabled.
*
* @return balancesLiveScaled18 Token balances after paying yield fees, applying decimal scaling and rates
*/
function getCurrentLiveBalances() external view returns (uint256[] memory balancesLiveScaled18);
/**
* @dev Returns the value of bpt tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @notice Gets the tokens registered in the pool.
* @return tokens List of tokens in the pool, sorted in registration order
*/
function getTokens() external view returns (IERC20[] memory tokens);
// function approve(address spender, uint256 amount) external returns (bool);
}