SommelierTurboGHOStrategy

Overview

The SommelierTurboGHOStrategy contract is a strategy that supplies tokens into a Sommelier Vault to earn yield, with specific handling for GHO token conversions through Uniswap V3.

Constants

address constant gho = GHO_MAINNET;                                            // GHO 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

_swapGho

function _swapGho(uint256 amountIn) internal returns (uint256)

Swaps GHO tokens to underlying using Uniswap V3.

Parameters:

  • amountIn: Amount of GHO to swap

Returns:

  • Amount received after swap

Internal View Functions

_ghoBalance

function _ghoBalance() internal view returns (uint256)

Returns the contract's GHO balance.

Returns:

  • Current GHO balance

Last updated