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
MIMOProxyowner the vault or theMIMOProxyownerSelected manager must be whitelisted
vaultId
uint256
mgtParams
struct
ManagedVault struct containing all management parameters
ManagedVault
isManaged
bool
true if vault is under management false if not
manager
address
Selected manager address
allowedVariation
uint256
The maximum allowed slippage on rebalancing swaps
minRatio
uint256
Minimum vault ratio above which the starting vault be at the end of a rebalance operation
fixedFee
uint256
Fixed fee paid to the manager
varFee
uint256
Variable fee paid to the manager
mcrBuffer
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
MIMOProxyVault 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
allowedVariationset by the ownerThe final vault ratio must be greater or equal then the
minRatioset by the owner
flData
struct
FlashLoanData struct containing flash loan parameters
rbData
struct
RebalanceData struct containing rebalance operation parameters
swapData
struct
SwapData struct containing aggregator swap parameters
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 paramsAAVE Pool contract flash loan callback function.
Requirements :
Contract must be unpaused
Can only be called by the AAVE
PoolcontractFlash 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
View Methods
mimoRebalance()
mimoRebalance()Returns the MIMORebalance action contract address.
Last updated
Was this helpful?

