BaseSommelierStrategy
Overview
The BaseSommelierStrategy contract serves as the foundation for strategies that interact with Sommelier protocol in the MaxAPY ecosystem. It manages deposits into Sommelier Cellars, handles reward collection, and executes withdrawals.
Errors
Events
State Variables
Functions
Initialization Functions
initialize
Initializes the strategy with Sommelier 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
Withdraws exact amount of assets from Cellar.
Parameters:
amountNeeded
: Amount of assets to withdraw
Returns:
Amount of loss incurred
View Functions
previewLiquidate
Calculates expected output for a withdrawal.
Parameters:
requestedAmount
: Amount requested to withdraw
Returns:
Expected liquidated amount
previewLiquidateExact
Calculates input needed for desired withdrawal amount.
Parameters:
liquidatedAmount
: Desired output amount
Returns:
Required input amount
maxLiquidate
Returns maximum withdrawable amount after losses.
Returns:
Maximum withdrawable amount
maxLiquidateExact
Returns maximum withdrawable amount before losses.
Returns:
Maximum withdrawable amount before losses
Configuration Functions
setMinSingleTrade
Sets minimum trade size for the strategy.
Parameters:
_minSingleTrade
: New minimum trade size
setMaxSingleTrade
Sets maximum trade size for the strategy.
Parameters:
_maxSingleTrade
: New maximum trade size
Internal Functions
_prepareReturn
Prepares strategy returns and handles profits/losses.
Parameters:
debtOutstanding
: Outstanding debt amountminExpectedBalance
: Minimum expected balance
Returns:
unrealizedProfit
: Unrealized profit amountloss
: Loss amountdebtPayment
: Debt payment amount
_invest
Deposits assets into Sommelier Cellar.
Parameters:
amount
: Amount to investminOutputAfterInvestment
: Minimum expected shares
Returns:
Amount of deposits received
_divest
Withdraws assets from Sommelier Cellar.
Parameters:
shares
: Amount of shares to withdraw
Returns:
Amount of assets received
Internal View Functions
_shareValue
Calculates underlying value of Cellar shares.
Parameters:
shares
: Amount of shares
Returns:
Underlying asset value
_sharesForAmount
Calculates shares needed for given amount.
Parameters:
amount
: Amount of underlying assets
Returns:
Required shares amount
_shareBalance
Returns strategy's Cellar share balance.
Returns:
Current share balance
_estimatedTotalAssets
Calculates total assets under management.
Returns:
Total assets value
Last updated