Proposal To List aUSDC As Collateral On The Optimism Deployment Of Interest Protocol
aOptUSDC is a positively rebasing collateral token received for lending USDC to the Aave Protocol.
This is specifically for the Optimism deployment of Interest Protocol only.
Parameters
Underlying: aOptUSDC
Wrapper address: NEW IMPLEMENTATION TO BE DEPLOYED
Cap: $200,000 USD
LTV: 98%
Liquidation incentive: 5%
Primary Oracle: TO BE DEPLOYED - Simple oracle assumes value is 1, as USDI is backed by and pegged to USDC
Technical risks
Type of contract: AToken
Time: Deployed Mar-11-2022 01:49:48 PM +UTC
Value: USDC
Privileges: Controlled by Aave Protocol / Governance
Upgradability: Yes
Relevant References
Implementation
For this type of collateral to be supported and capped, an updated version of the Interest Protocol capped asset contract is needed.
Specific to this implementation, there is no need for the Voting Vault Controller, or any other special Vault Controller other than the standard Vault Controller.
This is possible because unlike Capped Governance tokens, there is no need for the owners to execute transactions (such as delegate) on their holdings while in the vault, so all rebase tokens will be held by the wrapper contract upon being wrapped.
As such, sers will not need to mint any special vaults, and will be able to deposit aUSDC directly. The process of wrapping the underlying rebase token is abstracted away from the end user.
Behind the scenes, the underlying rebase token is wrapped for the Capped Rebase wrapper token, which is sent to the user’s standard vault. The balance of these wrapper tokens in the vault will remain fixed, while still accurately tracking the growing number of underlying rebase tokens owed to the user. When the user returns to withdraw their underlying rebase tokens (or is liquidated), the wrapper tokens will automatically be unwrapped with the expected balance of underlying rebase tokens with interest applied.
This wrapper contract logic has been upgraded from the original WAMPL implementation specifically for this application, allowing for all accounting to be done in the base underlying units, rather than the wrapper balance. This is critical as the wrapper balance is not intuitively correlated with the underlying balance.
With this change, the protocol can simply account in the underlying without having to convert from the wrapper balance to the underlying, and we can avoid an upgrade to the vault controller.
Extensive testing has been done to ensure that this implementation works as intended, and that accounting can be safely done in the underlying rebase token’s units with regard to token decimals, deposit, withdrawal, and liquidations.