Strategist Role
Strategist Parameters
Strategists are provided with the 'keeper' role. This role comes with some special management permissions for the Strategy.
The key parameters that a Strategist will be able to manage are outlined below:
For more information on the above parameters see link from TraderJoe docs: https://docs.traderjoexyz.com/guides/manage-a-liquidity-position
Execute Rebalance
By far the most important manager function is the executeRebalance
method on the SteakHutLBStrategy.sol.
This permissioned method is the only way to change the bin range of the underlying TraderJoe V2 liquidity position.
Manager accounts who control this function are the means by which custom rebalancing strategies can be built on top of SteakHut Liquidity.
These strategies can be implemented by governance (slow, but decentralized) or by some central managerial party (more responsive but requiring much more trust).
In order to execute a rebalance the above parameters must be provided to the strategy and the executeRebalance function called.
The executeRebalance() function handles the below automatically:
Harvest any pending rewards from the TJ LB contracts
Removes liquidity from current bins where liquidity exists
Sets the new parameters
Swaps the required amounts of tokens to provide liquidity
Adds the amounts to a new liquidity bin range
Harvesting
Whilst anyone is able to perform a harvest it should be noted that a strategist is also able to perform this function. A harvest does not automatically reinvest funds. In order to place the funds to work the 'keeper' is required to call the earn() function.
Funds that have been harvested remain idle in the strategy contract until put to work by the 'keeper'.
The key differentiation between the two functions here is that a 'keeper' may chose to send the gas reimbursement to another wallet. If this is the case, pass an address into the function.
Earn (Placing Funds to Work)
The earn function is key in managing a strategy. Only a 'manager' is able to call this function. Essentially it places the idle funds in the Strategy contract to work in a Trader Joe Dex V2 liquidity pool.
Typically a keeper will call the earn function when the active bin in the underlying TJ pool meets particular conditions. Sample Manager contracts can be found in the Githhub Repo.
An earn() does not need to be called when performing an rebalance, as the rebalance function handles this logic.
Advanced Usage
The 'keeper' role may be assigned to a third-party smart contract to manage the strategy. This allows potentially unlimited possibilities when it comes to building a strategy.
The 'keeper' role may be set to a potential Chainlink keepers contract which will allow for some very advanced strategies to be constructed on top of SteakHut Liquidity.
We are excited about the unlimited possibilities that this will allow.
Last updated