The BeefyUSDCeDAIStrategy contract is a sophisticated strategy that manages USDCe-DAI positions through Gamma's Hypervisor (concentrated liquidity positions) and stakes them in a Beefy Vault. It handles complex liquidity calculations and token conversions through Curve's AtriCrypto zapper.
Constants
addresspublicconstant usdce = USDCE_POLYGON;// USDCe token addressaddresspublicconstant dai = DAI_POLYGON;// DAI token addressuint256constant _1_USDCE =1e6;// One USDCe unituint256constant _1_DAI =1ether;// One DAI unitICurveAtriCryptoZapper constant zapper =// Curve zapper for stable swapsICurveAtriCryptoZapper(CURVE_AAVE_ATRICRYPTO_ZAPPER_POLYGON);
State Variables
IUniProxy public uniProxy;// Gamma's deposit proxyIHypervisor public hypervisor;// Gamma's hypervisor contract
Functions
Initialization Functions
initialize
Initializes the strategy with required components.
Parameters:
_vault: MaxApy vault address
_keepers: Array of keeper addresses
_strategyName: Name of the strategy
_strategist: Strategist address
_uniProxy: Gamma's UniProxy contract
_hypervisor: Gamma's Hypervisor contract
_beefyVault: Beefy vault address
Core Functions
calculateUSDCeToSwap
Calculates optimal USDCe amount to swap for balanced liquidity provision.
Parameters:
totalUSDCe: Total USDCe amount
ratio: Target ratio
Returns:
Amount of USDCe to swap
_invest
Complex investment process:
Calculates optimal token ratio
Swaps portion of USDCe to DAI
Deposits into Gamma Hypervisor
Stakes LP tokens in Beefy
Parameters:
amount: Amount to invest
minOutputAfterInvestment: Minimum expected shares
Returns:
Amount of shares received
_divest
Withdrawal process:
Withdraws from Beefy
Removes liquidity from Hypervisor
Converts tokens back to USDCe
Parameters:
amount: Amount of Beefy shares to divest
Returns:
Amount of USDCe received
Internal View Functions
_shareValue
Calculates underlying value including:
Base and limit range positions
Unused token balances
Fee accumulation
_sharesForAmount
Calculates shares for amount considering:
Current token ratios
Liquidity distribution
Price calculations
_convertUsdceToDai
Calculates DAI equivalent of USDCe amount.
Gamma Helper Functions
computeLiquidityFromShares
Calculates liquidity amount for given share position.
getPositionInfo
Retrieves position information including:
Current liquidity
Accumulated fees
_CalcBurnLiquidity
Calculates token amounts from burning liquidity position.