stETH on Optimism upgrade announcement and action plan
TL;DR
Lido stETH workstream contributors have developed a detailed action plan, built on the previously approved LIP-22 proposal. The objective is to upgrade the wstETH bridge smart contract endpoints, enabling the availability of rebasable stETH on the Optimism network alongside the already deployed wstETH as a part of the upcoming on-chain Aragon vote.
For a deeper understanding of both token availabilities, refer to the LIP-22 motivation section.
Recap and references
- In March 2024, a proposal was published on the research forum to bring
stETHtoken reference design for L2s and its practical pilot implementation for stETH on Optimism. - The proposed
stETHon Optimism upgrade is based on the design supported by the Lido DAO through the LIP-22: stETH on L2 — wstETH on Optimism bridge endpoints upgrade snapshot vote. - The upgrade was successfully piloted on the
Sepolia testnet, including:- Testing deposits and withdrawals of
wstETHandstETH, including beta UIs from Superbridge - Reporting
stETHrebases to theTokenRateOracleon Optimism Sepolia
- Testing deposits and withdrawals of
- The solution passed audits by MixBytes and Ackee Blockchain.
- The Superbridge app will offer a bridging UI for both
stETHandwstETH, being an official bridging interface for the Optimism network. - Wrap/unwrap UI functionality for Optimism will be implemented on stake.lido.fi to facilitate seamless switching from
wstETHtostETHand vice versa.
Technical details
The implementation follows the architecture presented with LIP-22: bringing the stETH token to Optimism requires upgrading the endpoint contracts on two blockchains simultaneously: Ethereum and Optimism.
The following contracts were deployed upfront (see proposed marks) to be used for the upgrade procedure:
- on Ethereum (L1):
- LidoLocator implementation:
0x39aFE23cE59e8Ef196b81F0DCb165E9aD38b9463 - TokenRateNotifier:
0xe6793B9e4FbA7DE0ee833F9D02bba7DB5EB27823 - OpStackTokenRatePusher:
0xd54c1c6413caac3477AC14b2a80D5398E3c32FfE - L1LidoTokensBridge implementation:
0x168Cfea1Ad879d7032B3936eF3b0E90790b6B6D4
- LidoLocator implementation:
- on Optimism (L2):
- ERC20BridgedPermit implementation:
0xFe57042De76c8D6B1DF0E9E2047329fd3e2B7334 - ERC20RebasableBridgedPermit:
0x76A50b8c7349cCDDb7578c6627e79b5d99D24138(proxy) - ERC20RebasableBridgedPermit:
0xe9b65dA5DcBe92f1b397991C464FF568Dc98D761(impl) - TokenRateOracle:
0x294ED1f214F4e0ecAE31C3Eae4F04EBB3b36C9d0(proxy) - TokenRateOracle:
0x4bF0d419793d8722b8391efaD4c9cE78F460CEd3(impl) - L2ERC20ExtendedTokensBridge:
0x2734602C0CEbbA68662552CacD5553370B283E2E(impl)
- ERC20BridgedPermit implementation:
The upgrade will be implemented in two phases:
- upgrade L1 parts and send L2 upgrade instructions to Optimism
- upgrade L2 parts by executing the received instructions
For detailed initial parameters of the upgrade, please refer to this document
Deposits pause warning
To ensure safety and prevent vulnerabilities during the upgrade, L1 → L2 bridge deposits for wstETH will be paused before the vote starts by the Emergency Brakes Committee. This ensures that any pending deposits are processed before the upgrade. If any transactions are stuck on L2, they can be manually pushed through.
The Emergency Brakes committee will resume deposits once both endpoints are upgraded. The committee will temporarily hold the DEPOSITS_ENABLER_ROLE role on the L1 bridge endpoint, which will be renounced by the committee itself once the upgrade is complete.
Note that L2 → L1 wstETH withdrawals will not be affected and can proceed as usual.
LegacyOracle deprecation notice
As part of the vote, the LegacyOracle contract will be deprecated. This step has been planned since the Lido V2 upgrade and has no impact on active protocols, as verified by the Lido contributors accessing the data from Dune Analytics and Tenderly [1, 2, 3, 4].
The only active LegacyOracle data consumer is Voltz Protocol, integrated with the Mellow liquidity vault. The Voltz Protocol has been discontinued since December 2023. It is no longer maintained and is in a withdrawal-only mode, as explicitly confirmed by dev contributors from both Mellow and Voltz Protocol.
Tentative upgrade timeline
- Oct-7-2024 (Mon):
Pause wstETHEthereum to Optimism bridge deposits - Oct-8-2024 (Tue): Start Aragon voting.
- Oct-10-2024 (Thu): Main voting phase ends.
- Oct-11-2024 (Fri): Contingent on the voting outcome.
- The objection phase and overall voting conclude. Enactment if passed.
- Executing upgrade for L2 bridge endpoints after the vote is enacted
- Resume Optimism bridge deposits
- Renounce Emergency Brakes unpause role
- Oct-12-2024 (Sat): First post-upgrade AccountingOracle report to come
- Oct-14-2024 (Mon): Further announcements and new UIs availability
Voting Script
The voting script will be added to the omnibus on-chain Aragon vote, including the following actions:
- Ethereum-side actions
- Upgrade L1 bridge endpoint implementation
- Initialize the new L1 bridge endpoint implementation
- Upgrade
LidoLocatorby settingTokenRateNotifierinstead ofLegacyOracleas a token rebase receiver callback - Grant
DEPOSITS_ENABLER_ROLEto the emergency brakes committee
- Optimism (to be sent from Ethereum and executed via
OptimismBridgeExecutor)- Upgrade L2 bridge endpoint implementation
- Initialize the new L2 bridge endpoint implementation
- Upgrade L2
wstETHtoken implementation - Initialize the new L2
wstETHimplementation
Contingency planning
The proposed upgrade has passed a rigorous security process. Even though, In case of failure during the upgrade:
- If the vote fails to reach quorum (the L1 bridge is still paused), suggest a vote restart and communicate further deposit pause delays
- If the L1 upgrade fails, the L2 upgrade won’t proceed, and
wstETHdeposits will be suggested to resume via an Aragon follow-up vote (using the following unpause script) - If the L2 upgrade fails, a rollback vote will be initiated to restore L1 bridge functionality and resume
wstETHdeposits (using the following rollback script) - If the emergency committee brakes misoperates after the upgrade (e.g., hasn’t renounced the role or hasn’t unpaused the deposits), then an aragon on-chain vote should be launched to replace the committee and continue bridge operations
- Postmortem will be issued accordingly for possible severe unforeseen cases.
Operational delays or last-minute security concerns will be communicated, and new dates will be announced accordingly.
Discussion
Any additional feedback or suggestions on this proposal would be highly appreciated.
