block-quote On this pagechevron-down
copy Copy chevron-down
file-lock maxAPY ERC4626chevron-right Strategies chevron-right Polygon - USDC.e chevron-right Yearn YearnDAILenderStrategy The YearnDAILenderStrategy contract is a strategy that supplies DAI into a Yearn V3 Vault for lending. It manages conversions between USDCe and DAI through Curve's AtriCrypto zapper and handles decimal scaling between tokens.
Copy ICurveAtriCryptoZapper constant zapper = ICurveAtriCryptoZapper ( CURVE_AAVE_ATRICRYPTO_ZAPPER_POLYGON ); // Curve zapper
address public constant dai = DAI_POLYGON ; // DAI address Initialization Functions
Copy function initialize (
IMaxApyVault _vault ,
address [] calldata _keepers ,
bytes32 _strategyName ,
address _strategist ,
IYVaultV3 _yVault
) public virtual override initializer Initializes the strategy with trading limits.
Parameters:
_vault: MaxApy vault address
_keepers: Array of keeper addresses
_strategyName: Name of the strategy
_strategist: Strategist address
_yVault: Yearn V3 vault address
Withdraws exact amount to vault with loss calculation.
Parameters:
amountNeeded: Amount to withdraw
Returns:
loss: Amount of realized loss
previewLiquidate
Simulates withdrawal including losses.
Parameters:
requestedAmount: Amount to withdraw
Returns:
liquidatedAmount: Expected output amount
previewLiquidateExact
Calculates input needed with 1% buffer.
Parameters:
liquidatedAmount: Desired output amount
Returns:
requestedAmount: Required input amount
Returns maximum withdrawable amount after losses.
Returns:
Maximum withdrawable amount
maxLiquidateExact
Returns maximum withdrawable amount with safety margin.
Returns:
Maximum withdrawable amount before losses
Internal Core Functions
Invests assets by:
Scaling amounts for 18 decimals
Converting USDCe to DAI through zapper
Depositing into Yearn vault
Parameters:
minOutputAfterInvestment: Minimum expected shares
Returns:
depositedAmount: Amount of tokens received
Withdraws assets by:
Redeeming from Yearn vault
Converting DAI to USDCe through zapper
Parameters:
shares: Amount of shares to withdraw
Returns:
withdrawn: Amount of assets received
Internal View Functions
Calculates underlying value including conversion.
Parameters:
Returns:
_sharesForAmount
Calculates shares needed including spot price.
Parameters:
Returns:
Calculates spot price conversion without slippage.
Parameters:
i: Direction (0: DAI->USDC, 1: USDC->DAI)
amount: Amount to convert
Returns:
Converted amount at spot price