This is a vote for the actual steps to get Angle and agEUR in a safe spot now that Angle has recovered the funds from the Euler hack.
In particular this is a vote to:
Euler repaid Angle on the 12th of April (tx1, tx2). The protocol received:
Should prices stay at their current levels, the protocol has enough to make all protocol stakeholders whole (including HAs and SLPs). It is is over-collateralized and will have a remaining surplus. Depending on the exact outcomes of the swaps and of the voting option chosen, it should even be in a very similar position than before the hack.
The primary objective of this vote is now to provide a way to restore and maintain agEUR’s peg until a new, more resilient mechanism to back the stablecoin in an automated way is released. Additionally, it should provide a way for SLPs to retrieve their funds if they want to, and repay HAs.
Given that mostly DAI and wETH were received from the hack, this vote proposes to swap a portion or all that has been received into other stablecoins. Two options are suggested:
To fully cancel the exposure of the protocol to ETH and USD, the first option is to swap the 7408.8 ETH and 3,416,991 DAI received from Euler’s redemption to EUROC.
Additionally, this option includes removing 2,700,000 DAI from the Core module’s DAI PoolManager contract to be swapped to EUROC. This is to make sure it has enough EUROC to back all agEUR issued through the Core module, while leaving enough funds in the PoolManager for DAI SLPs to withdraw their funds + outstanding profit.
The exact figures about what’s currently left in the protocol, and what’s needed to handle SLPs, HAs and agEUR claims on the Core Module can be found here.
These EUROC will be used by the Guardian or Governor multisig to provide liquidity into the agEUR-EUROC Curve pool, allowing the pool to progressively get back to equilibrium, and agEUR back to peg.
In practice, when the agEUR / EUROC price is < 0.995, this voting option will allow the Governor or Guardian multisig to use the protocol EUROC to either:
The consequence of this actions should be:
This would fully cancel the need for the protocol to handle exchange rate risks, and it would make all agEUR issued by the Core Module backed and collateralized by EUROC. This would also pave the way for a resilient V2 of the protocol to be released.
In this option, mints and redemptions through the Core module will remain paused.
This option is meant to only cancel the protocol's exposure to ETH, and partially cancel the protocol's exposure to USDC. While the protocol's Core module could be technically restarted for agEUR holders redemptions after the swap, there is a possibility that the protocol does not have enough USDC immediately available to handle all agEUR to be redeemed. While the protocol could use at this point the EUROC reserves to maintain peg, the exact details of how to handle this could be decided in a future vote.
In all cases as executing the swaps with EUROC on-chain would be very expensive given the lack of EUROC liquidity, the vote suggests going though Keyrock OTC desk (with Airswap) for the trades or use on-chain liquidity possibly passing by USDC.
For both options, this vote also proposes the following elements:
Upgrade the PoolManager contracts to fix the accounting loss linked to Euler’s hack to allow SLPs to withdraw their funds, and be able to unpause the strategies in the future, or to launch new ones. For option 1, it would also allow the governance multisig to withdraw enough funds to be swapped to EUROC.
Unpause SLP contracts for Angle USDC, DAI, FRAX and wETH depositors. It would allow them to deposit and withdraw again. Strategies debt ratios will stay at 0 for now, meaning that funds won’t be invested for the moment. The strategies could be restarted independently in the near future when Angle is in a more stable state.
Settle all the HA positions that were opened at the moment of the hack at the value of their margin netted of their realized profit or loss at the time of the hack.
Settlement is to be done by the DAO multisigs which should send the funds directly to the affected HAs.
Here is a list of the concerned addresses and the amount they should receive. These are computed computed by calling the getCashOutAmounts() on the HA contracts at the block, 16818578 when the protocol was paused.
Proposal is also to keep HA contracts paused, meaning no new HAs will be able to open positions.
This vote is meant to be a first step to get the protocol back on track quickly. However, and regardless of the option chosen, it is not meant to put it in a definitive state. This article outlines why it is important to take advantage of the learnings from the hack to build a better, more scalable, and robust system that can make agEUR a backbone in DeFi.
Practically speaking, the vote would approve the following:
And one of the two following options need to be chosen:
If no option work, or if the vote is rejected by the majority, the proposal could be amended to find a solution that's workable for the majority.
The voting options are hence:
As the protocol is currently long ETH and bears significant exchange risk, this proposal has a timespan of only 25 hours. This allows for a quick swap to take place if the vote is successful.