ERC-4626 standardizes yield-bearing vaults that accept a single underlying ERC-20 asset and mint share tokens in return. Key functions include `deposit`, `mint`, `withdraw`, and `redeem`, with rate-conversion views `convertToShares` and `convertToAssets`.
solidity
interface IERC4626 is IERC20 {
function asset() external view returns (address);
function deposit(uint256 assets, address receiver) external returns (uint256 shares);
function redeem(uint256 shares, address receiver, address owner) external returns (uint256 assets);
}