Comment on page
MIMOAutoRebalance
The
MIMOAutoRebalance
action contract handle the super vault empty vault logic described in Automated Rebalance.Sets a vault automation parameters.
Requirements :
- Caller must be the
MIMOProxy
owner the vault or theMIMOProxy
owner
Param Name | Type | Description |
---|---|---|
vaultId | uint256 | |
autoParams | struct | AutomatedVault struct containing all automation parameters |
AutomatedVault
Param Name | Type | Description |
---|---|---|
isAutomated | bool | true if vault is automated false if not |
toCollateral | address | Collateral to rebalance to |
allowedVariation | uint256 | The maximum allowed slippage on rebalancing swaps |
targetRatio | uint256 | Target ratio that must be reach upon each rebalance operation |
triggerRatio | uint256 | Minimum vault ratio that must be reached in order to perform a rebalance operation |
mcrBuffer | uint256 | Rebalancing vault MCR buffer padding |
fixedFee | uint256 | Fixed fee paid to the keeper |
varFee | uint256 | Variable fee paid to the keeper |
Performs a rebalance on a vault on behalf of a vault owner.
Requirements :
- Contract must be unpaused
- Vault must have been created through the user's
MIMOProxy
- Vault must be automated
- Maximum daily operation must have not been reached
- Rebalanced vault ratio must lower or equal then set
triggerRatio
- The change in vault value due to the rebalance operation must be lower or equal then the
allowedVariation
set by the owner - The final vault ratio must be greater or equal then the
minRatio
set by the owner
Param Name | Type | Description |
---|---|---|
vaultId | uint256 | Id of the vault to rebalance |
swapData | struct | SwapData struct containing aggregator swap parameters |
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
Param Name | Type | Description |
---|---|---|
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 |
Returns the rebalance amounts for specific vault id.
Call Params
Name | Type | Description |
---|---|---|
vaultId | uint256 | Id of the vault to rebalance |
toCollateral | address | Collateral to rebalance to |
Return Values
Name | Type | Description |
---|---|---|
rebalanceAmount | uint256 | Amount to rebalance |
mintAmount | uint256 | Amount to mint on vault B |
autoFee | uint256 | Automation fee |
rebalanceAmount
calculation : Where
mcrB
is the rebalancing vault (e.g. vault with the less volatile collateral) MCR.The rebalance value is then converted to a rebalance amount using the core protocol
PriceFeed
contract.Returns the
MIMORebalance
action contract address.Last modified 1mo ago