wstETH Deployment on Mantle

A working group of Lido on Ethereum protocol contributors and NEW participants (@arwer13 and @TheDZhon) has evaluated the current proposal in depth and presents the following findings and observations:

  • The proposed contracts are iterations of the wstETH solution on Optimism. Notable improvements include the addition of ERC-2612 support and resolution of issue #53.
  • The deployment preserves the integrity with the audits [1], [2] (source code, and bytecode wise, with no critical/high issues left unresolved)
  • All configurations and parameters look appropriate and meet expectations
  • The access control list (ACL) setup appears valid concerning the Lido DAO ownership and usage of the Emergency Breaks configuration for both L1 and L2 counterparts.

Complete ACL and levers setup:

  • for the Mantle Governance Bridge Executor (OptimismBridgeExecutor contract is used)
  • A bridge admin and role holder on L1 is the Lido DAO Agent
    • Proxy admin for L1ERC20Bridge
    • DEFAULT_ADMIN_ROLE for L1ERC20Bridge
    • WITHDRAWALS_DISABLER_ROLE for L1ERC20Bridge
    • WITHDRAWALS_ENABLER_ROLE for L1ERC20Bridge
    • DEPOSITS_DISABLER_ROLE for L1ERC20Bridge
    • DEPOSITS_ENABLER_ROLE for L1ERC20Bridge
  • A bridge admin and role holder on L2 is the Mantle Governance Bridge Executor
    • Proxy admin for L2ERC20TokenBridge
    • DEFAULT_ADMIN_ROLE for L2ERC20TokenBridge
    • WITHDRAWALS_DISABLER_ROLE for L2ERC20TokenBridge
    • WITHDRAWALS_ENABLER_ROLE for L2ERC20TokenBridge
    • DEPOSITS_DISABLER_ROLE for L2ERC20TokenBridge
    • DEPOSITS_ENABLER_ROLE for L2ERC20TokenBridge
  • for the proposed wstETH token on L2 (ERC20BridgedPermit)
  • Emergency breaks msig on L1 is 0x73b047fe6337183A454c5217241D780a932777bD, 3/5 threshold:
    • WITHDRAWALS_DISABLER_ROLE for L1ERC20TokenBridge
    • DEPOSITS_DISABLER_ROLE for L1ERC20TokenBridge
  • Emergency breaks msig on L2 is a new one 0xa8579D42E34398267dE16e6eeeCdb7ED0EFF953C inheriting the same EOAs as for L1, 3/5 threshold:
    • WITHDRAWALS_DISABLER_ROLE for L2ERC20TokenBridge
    • DEPOSITS_DISABLER_ROLE for L2ERC20TokenBridge
  • An initial deployer has no remaining permissions and levers assigned

We would suggest the Lido DAO consider accepting the wstETH token deployment on Mantle. This step appears logical given [w]stETH’s representation of the broader ecosystem.

5 Likes