BeefyUSDCeDAIStrategy

Overview

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

address public constant usdce = USDCE_POLYGON;               // USDCe token address
address public constant dai = DAI_POLYGON;                   // DAI token address
uint256 constant _1_USDCE = 1e6;                            // One USDCe unit
uint256 constant _1_DAI = 1 ether;                          // One DAI unit
ICurveAtriCryptoZapper constant zapper =                    // Curve zapper for stable swaps
    ICurveAtriCryptoZapper(CURVE_AAVE_ATRICRYPTO_ZAPPER_POLYGON);

State Variables

IUniProxy public uniProxy;              // Gamma's deposit proxy
IHypervisor 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:

  1. Calculates optimal token ratio

  2. Swaps portion of USDCe to DAI

  3. Deposits into Gamma Hypervisor

  4. Stakes LP tokens in Beefy

Parameters:

  • amount: Amount to invest

  • minOutputAfterInvestment: Minimum expected shares

Returns:

  • Amount of shares received

_divest

Withdrawal process:

  1. Withdraws from Beefy

  2. Removes liquidity from Hypervisor

  3. 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.

Last updated