MIMOLeverage
The MIMOLeverage
action contract handle the super vault empty vault logic described in Leveraging.
Process Flow
Write Methods
executeAction(bytes calldata _calldata) external
executeAction(bytes calldata _calldata) external
Uses a flashloan 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()
functionTargeted vault must have been created by the
MIMOProxy
_callData
bytes
Abi encoded bytes with :
uint256 depositAmount
uint256 swapAmout
FlashloanData flData
SwapData swapData
executeOperation(address[] calldata assets, uint256[] calldata amounts, uint256[] calldata premiums, address initiator, bytes calldata params
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
contractFlash 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
leverageOperation(IERC20 token, uint256 swapAmount, uint256 flashLoanRepayAmount, SwapData calldata swapData)
(IERC20 token, uint256 swapAmount, uint256 flashLoanRepayAmount, SwapData calldata swapData)
Performs a leverage logic within MIMOProxy context.
Requirements :
Contract must be unpaused
Must be called through the
MIMOProxy
execute()
function
token
IERC20
Collateral of the vault to leverage
swapAmount
uint256
Stablex swap amount
flashLoanRepayAmount
uint256
Amount of collateral to repay to flash loan protocol at the end of the transaction
swapData
struct
SwapData passed from the flash loan call
View Methods
proxyFactory()
Returns the MIMOProxyFactory
address.
Last updated
Was this helpful?