SommelierTurboEthXStrategy
Overview
The SommelierTurboEthXStrategy contract is a strategy that supplies an underlying token into a Sommelier Vault to earn yield, with specific handling for ethX token conversions through Uniswap V3.
Constants
address constant ethX = ETHX_MAINNET; // EthX token address
IUniswapV3Router constant router = IUniswapV3Router(UNISWAP_V3_ROUTER_MAINNET); // Uniswap V3 router
Functions
Initialization Functions
initialize
function initialize(
IMaxApyVault _vault,
address[] calldata _keepers,
bytes32 _strategyName,
address _strategist,
ICellar _cellar
) public override initializer
Initializes the strategy with required components.
Parameters:
_vault
: MaxApy vault address_keepers
: Array of keeper addresses_strategyName
: Name of the strategy_strategist
: Strategist address_cellar
: Sommelier cellar address
Core Functions
liquidateExact
function liquidateExact(uint256 amountNeeded) external virtual override checkRoles(VAULT_ROLE) returns (uint256 loss)
Withdraws exactly amountNeeded to vault.
Parameters:
amountNeeded
: Amount to withdraw
Returns:
loss
: Amount of realized loss
Internal Core Functions
_divest
function _divest(uint256 shares) internal override returns (uint256 withdrawn)
Withdraws assets from Cellar Vault.
Parameters:
shares
: Amount of shares to withdraw
Returns:
withdrawn
: Amount of assets received
_swapEthX
function _swapEthX(uint256 amountIn) internal returns (uint256)
Swaps ethX tokens to underlying WETH using Uniswap V3.
Parameters:
amountIn
: Amount of ethX to swap
Returns:
Amount of WETH received
Internal View Functions
_ethXBalance
function _ethXBalance() internal view returns (uint256)
Returns the contract's ethX balance.
Returns:
Current ethX balance
Last updated