BaseHopStrategy
Overview
The BaseHopStrategy contract serves as the foundation for strategies that interact with Hop Protocol in the MaxAPY ecosystem. It handles deposits into Hop pools, managing LP positions, and executing withdrawals for cross-chain liquidity provision.
Errors
Events
State Variables
Functions
Initialization Functions
initialize
Initializes the strategy with Hop Protocol components.
Parameters:
_vault
: MaxApy vault address_keepers
: Array of keeper addresses_strategyName
: Name of the strategy_strategist
: Strategist address_hopPool
: Hop exchange pool address_hopLPToken
: Hop LP token address
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
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 amount that can be withdrawn after losses.
Returns:
Maximum withdrawable amount
maxLiquidateExact
Returns maximum amount that can be withdrawn before losses.
Returns:
Maximum withdrawable amount before losses
Core Internal Functions
_prepareReturn
Prepares strategy returns and handles profits/losses.
Parameters:
debtOutstanding
: Outstanding debt amountminExpectedBalance
: Minimum expected balance after operations
Returns:
unrealizedProfit
: Unrealized profit amountloss
: Loss amountdebtPayment
: Debt payment amount
_adjustPosition
Adjusts strategy position with available capital.
Parameters:
minOutputAfterInvestment
: Minimum expected output after investment
_invest
Adds liquidity to Hop pool.
Parameters:
amount
: Amount to investminOutputAfterInvestment
: Minimum expected LP tokens
Returns:
Amount of LP tokens received
_divest
Removes liquidity from Hop pool.
Parameters:
shares
: Amount of LP tokens to withdraw
Returns:
Amount of underlying assets received
Internal View Functions
_shareValue
Calculates underlying value of LP tokens.
Parameters:
shares
: Amount of LP tokens
Returns:
Underlying asset value
_sharesForAmount
Calculates LP tokens needed for given amount.
Parameters:
amount
: Amount of underlying assets
Returns:
Required LP tokens
_shareBalance
Returns strategy's Hop LP token balance.
Returns:
Current LP token balance
_estimatedTotalAssets
Calculates total assets under management.
Returns:
Total assets value
Last updated