Manager
The contract responsible for moving assets around DeFi
During Liquidity Deployment, the Manager contract is the one that is responsible for moving assets around DeFi and coordinates the movement of capital throughout the system.
It pulls funds from the pools and deploys them to various DeFi protocols. More specifically, it can transfer assets from OliveDAO’s pools, deploy to the various exchanges, and vice-versa. Capital is deployed through the use of Controllers that are specific to the protocol interfacing with. Deployment of capital happens in 'Seasons'.
The Manager contract is very flexible in the actions it can perform to make those moves. Figuring out what those moves look like (how much, in what chunks, to where) is an operation that is currently computed off-chain. This is due in part to data availability, complexity, and gas costs. As we go through more and more Seasons, we will be able to solidify this process and begin to securely move this process on-chain.
Additionally, all votes are on-chain from launch, so all users can verify that voting properly matches the Manager deployment.
Around the execution of liquidity deployment, certain precautions have been taken both operationally and in the contract. The contract has the idea of three different roles: Admin, Rollover, and Maintenance.
  • Admin - This role can expand the boundary of the system. It can add more pools, tokens, and exchanges. Given that power, the only one that will be assigned to that role is our DAO multisig.
  • Rollover - This role is meant to execute the weekly seasons. It can move the assets around, but only within the bounds of the system. The goal of this distinction is that while it may have less protection due to the speed at which transactions need to be performed for slippage reasons, it can never exit any assets from our system. It can merely shuffle them around. We are still exploring the use of a multisig for this role.
  • Maintenance - This is the only role that is able to interact with the exchanges, but can do so at any point during a cycle. This is in contrast to the Rollover role, which can interact with exchanges and pools, but only during season rollover windows. This role is there to allow us to act in the event we are facing any major IL we want to mitigate and will be backed by a multisig.
It is important to note that season deployment can happen over multiple transactions due to gas limitations.
Copy link