Problem
stETH token can change balance outside transfers which potentially breaks composability with other DeFi protocols.
Solution
I made a lightweight wrapper for it which tracks underlying shares and follows the semantics established by Yearn Vaults.
A user can deposit
stETH into the vault, withdraw
it or deposit ETH into Lido and mint the Vault shares by sending ether to the Vault contract. The current ratio can be seen as pricePerShare
, it always matches Lido’s getPooledEthByShares(1e18)
. The token also supports permit
for better UX integrations down the line.
Status
Production. A live deployment can be found at 0x15a2B3CfaFd696e1C783FE99eed168b78a3A371e