MIMOManagedRebalance
The MIMOManagedRebalance
action contract handle the super vault empty vault logic described in Managed Rebalance.
Process Flow
Write Methods
setManagement(uint256 vaultId, ManagedVault calldata mgtParams)
setManagement(uint256 vaultId, ManagedVault calldata mgtParams)
Sets a vault management parameters.
Requirements :
Caller must be the
MIMOProxy
owner the vault or theMIMOProxy
ownerSelected manager must be whitelisted
Param Name | Type | Description |
---|---|---|
| uint256 | |
mgt | struct | ManagedVault struct containing all management parameters |
ManagedVault
Param Name | Type | Description |
---|---|---|
| bool |
|
| address | Selected manager address |
| uint256 | The maximum allowed slippage on rebalancing swaps |
| uint256 | Minimum vault ratio above which the starting vault be at the end of a rebalance operation |
| uint256 | Fixed fee paid to the manager |
| uint256 | Variable fee paid to the manager |
| uint256 | Rebalancing vault MCR buffer padding |
rebalance(uint256 vaultId,
IMIMORebalance.RebalanceData calldata rbData,IMIMOSwap.SwapData calldata swapData)
rebalance(uint256 vaultId,
IMIMORebalance.RebalanceData calldata rbData,IMIMOSwap.SwapData calldata swapData)
Performs a rebalance on a vault by an appointed whitelisted manager on behalf of the vault owner.
Requirements :
Contract must be unpaused
Vault must have been created through the user's
MIMOProxy
Vault must be under management
Caller must be the appointed manager
Rebalance amount cannot be set to zero
Maximum daily operation must have not been reached
Set mint amount cannot be greater than vault debt
The change in vault value due to the rebalance operation must be lower or equal then the
allowedVariation
set by the ownerThe final vault ratio must be greater or equal then the
minRatio
set by the owner
Param Name | Type | Description |
---|---|---|
| struct |
|
| struct |
|
| struct |
|
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
Param Name | Type | Description |
---|---|---|
| address[] | Address array with one element corresponding to the address of the target vault asset |
| uint256[] | Uint array with one element corresponding to the amount of the target vault asset |
| uint256[] | Uint array with one element corresponding to the flashLoan fees |
| address | Initiator of the flashloan; can only be MIMOProxy owner |
| bytes | Bytes sent by this contract containing MIMOProxy owner, target vault id, SwapData struct |
View Methods
mimoRebalance()
mimoRebalance()
Returns the MIMORebalance
action contract address.
Last updated