Liquidity Handler and adapters
Where do deposits into IbAlluo tokens go and how does the protocol ensure redemptions can be met?
All the funds that are deposited in each IbAlluo are sent directly to the single Liquidity Handler contract. The funds then move into their respective active adapter where they top up a buffer to enable withdrawals, or they are sent to the Treasury where it is prepared to be invested.
All funds that are withdrawn are taken directly from the buffer in the Liquidity handler for each token. If this buffer is depleted, the withdrawal request is added to a queue which follows a FIFO system. The buffer is maintained by the DAO and is regularly maintained to always ensure redemptions.
Currently, these deposits are invested manually by sending the funds to our automated vote executor. This is planned to be automated in the future Also, the buffer is planned to be automated.
The adapters are separate modular contracts that can be selected by the Liquidity Buffer contract to hold a buffer of tokens to meet withdrawals as well as act out custom logic if needed.
Currently we have two types of adapters:
- 1.Adapters that do nothing but hold a buffer
- 2.Adapters that interact with curve to hold LP tokens in the stablecoins (3pool for IbAlluoUSD)
The latter is used to protect against arbitrageurs so that they do not enter and exit the IbAlluo system simply to arbitrage small differences in market value for different supported tokens in each IbAlluo contract.