|
@@ -75,18 +75,18 @@ abstract contract ERC4626 is ERC20, IERC4626 {
|
|
|
}
|
|
|
|
|
|
/** @dev See {IERC4626-convertToShares}. */
|
|
|
- function convertToShares(uint256 assets) public view virtual override returns (uint256 shares) {
|
|
|
+ function convertToShares(uint256 assets) public view virtual override returns (uint256) {
|
|
|
return _convertToShares(assets, Math.Rounding.Down);
|
|
|
}
|
|
|
|
|
|
/** @dev See {IERC4626-convertToAssets}. */
|
|
|
- function convertToAssets(uint256 shares) public view virtual override returns (uint256 assets) {
|
|
|
+ function convertToAssets(uint256 shares) public view virtual override returns (uint256) {
|
|
|
return _convertToAssets(shares, Math.Rounding.Down);
|
|
|
}
|
|
|
|
|
|
/** @dev See {IERC4626-maxDeposit}. */
|
|
|
function maxDeposit(address) public view virtual override returns (uint256) {
|
|
|
- return _isVaultCollateralized() ? type(uint256).max : 0;
|
|
|
+ return _isVaultHealthy() ? type(uint256).max : 0;
|
|
|
}
|
|
|
|
|
|
/** @dev See {IERC4626-maxMint}. */
|
|
@@ -178,7 +178,7 @@ abstract contract ERC4626 is ERC20, IERC4626 {
|
|
|
* Will revert if assets > 0, totalSupply > 0 and totalAssets = 0. That corresponds to a case where any asset
|
|
|
* would represent an infinite amount of shares.
|
|
|
*/
|
|
|
- function _convertToShares(uint256 assets, Math.Rounding rounding) internal view virtual returns (uint256 shares) {
|
|
|
+ function _convertToShares(uint256 assets, Math.Rounding rounding) internal view virtual returns (uint256) {
|
|
|
uint256 supply = totalSupply();
|
|
|
return
|
|
|
(assets == 0 || supply == 0)
|
|
@@ -201,7 +201,7 @@ abstract contract ERC4626 is ERC20, IERC4626 {
|
|
|
/**
|
|
|
* @dev Internal conversion function (from shares to assets) with support for rounding direction.
|
|
|
*/
|
|
|
- function _convertToAssets(uint256 shares, Math.Rounding rounding) internal view virtual returns (uint256 assets) {
|
|
|
+ function _convertToAssets(uint256 shares, Math.Rounding rounding) internal view virtual returns (uint256) {
|
|
|
uint256 supply = totalSupply();
|
|
|
return
|
|
|
(supply == 0) ? _initialConvertToAssets(shares, rounding) : shares.mulDiv(totalAssets(), supply, rounding);
|
|
@@ -215,7 +215,7 @@ abstract contract ERC4626 is ERC20, IERC4626 {
|
|
|
function _initialConvertToAssets(
|
|
|
uint256 shares,
|
|
|
Math.Rounding /*rounding*/
|
|
|
- ) internal view virtual returns (uint256 assets) {
|
|
|
+ ) internal view virtual returns (uint256) {
|
|
|
return shares;
|
|
|
}
|
|
|
|
|
@@ -267,7 +267,7 @@ abstract contract ERC4626 is ERC20, IERC4626 {
|
|
|
emit Withdraw(caller, receiver, owner, assets, shares);
|
|
|
}
|
|
|
|
|
|
- function _isVaultCollateralized() private view returns (bool) {
|
|
|
+ function _isVaultHealthy() private view returns (bool) {
|
|
|
return totalAssets() > 0 || totalSupply() == 0;
|
|
|
}
|
|
|
}
|