MIMORebalance
Last updated
Last updated
The MIMOLeverage
action contract handle the super vault empty vault logic described in Rebalancing.
executeAction(bytes calldata _calldata) external
Uses a flash loan to repay all debts for a vault and send all collateral in the vault to the owner.
Requirements :
Contract must be unpaused
Must be called through the MIMOProxy
execute()
function
Targeted vault must have been created by the MIMOProxy
_callData
bytes
Abi encoded bytes with :
FlashloanData flData
RebalanceData rbData
SwapData swapData
RebalanceData
toCollateral
IERC20
Collateral to rebalance to
vaultId
uint256
Id of the vault to rebalance
mintAmount
uint256
Amount of stableX to mint on rebalancing vault to swap and repay flash loan
executeOperation(address[] calldata assets, uint256[] calldata amounts, uint256[] calldata premiums, address initiator, bytes calldata params
AAVE Pool
contract flash loan callback function.
Requirements :
Contract must be unpaused
Can only be called by the AAVE Pool
contract
Flash loan initiator must be the MIMOProxy
assets
address[]
Address array with one element corresponding to the address of the target vault asset
amounts
uint256[]
Uint array with one element corresponding to the amount of the target vault asset
premiums
uint256[]
Uint array with one element corresponding to the flashLoan fees
initiator
address
Initiator of the flashloan; can only be MIMOProxy owner
params
bytes
Bytes sent by this contract containing MIMOProxy owner, target vault id, SwapData struct
(IERC20 fromCollateral, uint256 swapAmount, uint256 flashLoanRepayAmount, uint256 fee, RebalanceData calldata rbData, SwapData calldata swapData)
Performs a rebalance logic within MIMOProxy context.
Requirements :
Contract must be unpaused
Contract must be unpaused
Must be called through the MIMOProxy
execute()
function
fromCollateral
IERC20
Collateral of the vault to rebalance
swapAmount
uint256
The amount of collateral to swap to for stableX to repay vaultdebt
flashLoanRepayAmount
uint256
Amount of collateral to repay to flash loan protocol at the end of the transaction
fee
uint256
Optional fee to be passed in the context of a ManagedRebalance
to mint additional stablex to pay manager
rbData
struct
RebalanceData
passed from the flashloan call
swapData
struct
SwapData passed from the flash loan call
proxyFactory()
Returns the MIMOProxyFactory
address.