Summary: The proposal aims to approve the actions taken by the Emergency Guardians, and to vote on the implementation of the resolution related to the detected bug.
Context: On November 30th we detected a bug related to how the fees generated by the protocol are calculated. This is linked to the way the bridging module works. Currently, to calculate the fees generated, the protocol compares total debt to total supply. As debt increases due to borrowing rates, it is always higher than the total supply of stablecoin in circulation. The protocol therefore deducts the total debt from the total supply to calculate the fees generated.
Note: No users funds at risk, the protocol is working as intended and it is not possible to economically exploit the protocol, the bridging module is working as intended.
The total debt is calculated by the RatesManager contract (e.g PAR on Ethereum: https://etherscan.io/address/0x8d4B22346c4c2F8aA023Af201219dD5AE93E9EcE#readContract) The generated fees are calculated by the VaultsCoreState contract (e.g PAR on Ethereum: https://etherscan.io/address/0x9A99a3911357F3f1934dc423956713E087eF6F25#readContract) via the ‘availableIncome’ function. Generated fees are minted by via the ‘release’ function in the FeeDistributor contract (e.g PAR on Ethereum: https://etherscan.io/address/0x585c9ad00d5dd65f3fee6aa64ffa17aec38c718a#contracts)
When someone is bridging, for example bridging PAR from Ethereum to Polygon PoS, PAR are burned on Ethereum and then new tokens are minted on Polygon PoS. This reduces the supply of PAR on Ethereum and increases the supply on Polygon PoS. However, as the calculation of generated fees is based on total supply, burning/minting tokens makes the formula for calculating generated fees outdated.
This has created a situation where:
There are currently 195,660.78 PAR having been bridged from Ethereum to Polygon PoS & Fantom, including 195,655.77 on Polygon PoS and 5.00 on Fantom. There are currently 0.016 paUSD bridged from Ethereum to Polygon PoS. This means that there are 195,660.78 PAR in excess that can be minted on Ethereum as fees right now, but it would take 195,655.77 PAR of fees generated on Polygon PoS for the protocol to start generating fees again. As the paUSD amounts were extremely low, the costs generated offset them.
In response to this situation, emergency guardians decided to pause PAR and paUSD bridging modules. Transactions pausing the paUSD and PAR bridging module, performed by emergency guardians can be found here:
Rationale: Following joint discussions between Mimo Labs and Cooper Labs, a solution was decided, and is already being implemented.
Rework the BridgeableToken contract:
Rework the VaultsCoreState contract :
We expect to have updated contracts ready for audits by the end of this week. They will then be audited before being implemented in production.
Means:
Technical implementation: On Ethereum:
Voting Options:
Authors: Mimo Labs & Cooper Labs