Stake ETH bridged from L1 to L2, having the native token of the L2 be a liquid staking representation of ETH by default, increasing the capital efficiency of the tokens locked in the bridge contract and increasing the value of users' tokens
This project is a fork of Optimism, essentially a new L2 rollup. The unique selling point of this rollup is that the native token represents staked ETH on L1. This is accomplished by automatically staking ETH that is bridged to L2 from the L1 bridge contract. Thus, the native token is essentially a liquid staking derivative of L1 ETH, and all transaction fees are paid in this token as well on the L2 rollup. This increases the capital efficiency of the eth locked in the L1 bridge contract. For Optimism this could increase the capital efficiency of the current ~300,000 ETH locked in the bridge contract, while this is nearly 1M ETH for Arbitrum.
For the backend: we forked the optimism repository, with modifications to contracts-bedrock (the L1 bridge contract specifically) to create a new deposit transaction to handle staking ETH that is bridged from L1. We use an integration with ssv (the actual staking implementation was done in a previous ethglobal hackathon by one of our team members Rohit: https://ethglobal.com/showcase/garuda-q7vkm) for staking eth in increments of 32 eth with ssv
Frontend: Very simple, just Typescript & React, uses ethers and thirdweb for web3 interactions. Thanks to thirdweb we can easily deploy to IPFS as we have done here: https://gateway.ipfscdn.io/ipfs/QmNvWXkJCKo7DYFDhrYrUbfruNfNTJhd8yunzbcoZ4RpSx/
However note that this will not work unless you are running our forked optimism stack locally, as the frontend assumes L2 is on localhost. L1 must be set to goerli.
backend: https://github.com/RohitAudit/optimism/tree/liquidStakeL2 NOTE: Please see the liquidStakeL2 branch.
For the frontend, code is on main. frontend: https://github.com/Anmol1696/team-helix