Summary
This proposal recommends upgrading bsdETH to Reserve Protocol v4.2.0 to align it with the latest supported smart contract release. The upgrade consists of a single onchain spell that upgrades core contract implementation contracts and rotates governance and collateral plugins to their v4.2.0 equivalents.
A single onchain vote is required to execute both this upgrade and to clean-up the onchain state.
Problem Statement
bsdETH is currently deployed on Reserve Protocol v3.4.0, which is no longer the latest supported protocol version, 4.2.0. Remaining on an outdated version introduces avoidable operational and governance risk and foregoes additional security benefits.
Rationale for upgrading to Protocol version 4.2.0
Several improvements have been introduced in the new protocol version, including;
- Allowlist registries. bsdETH can only be upgraded in the future to implementations on an allowlist, including collateral plugins. This prevents arbitrary upgrading of bsdETH to code not approved by ABC Labs, and in the future, the broader RSR ecosystem DAO.
- Trusted fillers for asynchronous swaps via CowSwap. Asynchronous swaps via CowSwap enable a more flexible swap execution of bsdETH collateral, a long awaited upgrade which helps mitigate the risk of loss for RSR stakers during collateral basket rebalances.
- Mutable mandates for yield DTFs. Enables onchain modification of a DTF’s mandate post-deployment. This is particularly relevant for bsdETH as governance is currently considering a mandate update which if passes would see liquid restaking tokens, LRTs be included in bsdETH’ eligible asset universe.
- Global interaction lock. Introduces a mechanism to guard against possibility of reentrancy, for example in the case of unforeseen complications from changes in underlying protocols.
- Optional toxic issuance. Allows issuance costs to increase when collateral assets trade below peg, improving economic incentives during periods of stress off-by-default. While off-by-default this can be enabled by governance at a later date.
- Solidity compiler upgrade to 0.8.28. Aligns bsdETH with the current Solidity standard.
Next Steps
The upgrade will be executed via a standard upgrade spell, consistent with prior protocol upgrades.
This migration requires only a single onchain action and does not require any follow-up cleanup steps. Pending positive community feedback and an affirmative off-chain poll, this proposal will graduate to an Implementation Proposal for an onchain vote.
Risks
As with any protocol upgrade, there is inherent smart contract risk. This risk is mitigated by prior audits and a specific audit of the Reserve Protocol v4.2.0. codebase. The upgrade does not modify bsdETH parameters, collateral composition, or governance configuration beyond migration to new plugin versions and removing obsolete roles.
Failing to upgrade carries its own risk by leaving bsdETH on an outdated protocol version that does not benefit from the security provided by the allowlist registries and global reentrancy lock, or improved auction dynamics from integration with CowSwap.
Poll
- YAY, upgrade to Release 4.2.0.
- NAY, do not upgrade to Release 4.2.0.