Deposit Pipe
The DepositPipe handles deposits and implements ERC4626 compatibility. Each DepositPipe handles a specific asset, meaning that for a given xToken there can be multiple DepositPipe (1 per accepted deposit asset).
Key Functions
deposit(uint256 assets, address receiver, address controller, uint256 minShares)
Deposit assets and receive shares with slippage protection.
/**
* @param assets Amount of deposit asset (in asset's native decimals)
* @param receiver Address to receive minted shares
* @param controller Address that owns the assets being deposited
* @param minShares Minimum shares to receive (slippage protection, 18 decimals)
* @return shares Amount of shares minted (18 decimals)
*/
function deposit(
uint256 assets,
address receiver,
address controller,
uint256 minShares
) external returns (uint256 shares);Overloads:
deposit(uint256 assets, address receiver)- Usesmsg.senderas controller, no slippage protectiondeposit(uint256 assets, address receiver, address controller)- No slippage protectiondeposit(uint256 assets, address receiver, uint256 minShares)- Usesmsg.senderas controller
mint(uint256 shares, address receiver, address controller, uint256 maxAssets)
Mint specific amount of shares by depositing assets.
Overloads:
mint(uint256 shares, address receiver)- Usesmsg.sender, no slippage limitmint(uint256 shares, address receiver, address controller)- No slippage limitmint(uint256 shares, address receiver, uint256 maxAssets)- Usesmsg.sender
Preview Functions
View Functions
Last updated