Lido wstETH余额没增长:核stETH等值、shares舍入与包装记录
链小知 · 进阶 · 核验 · 依官方文档整理
从已有余额和方法记录解释wstETH数量、stETH等值与ETH到账的区别。
开始前准备
- 准备原网络、完整代币合约、decimals、原始余额/方法输入返回、区块或时点及已有wrap/unwrap回执;不提供签名或密钥。
- 依据2026-10-14读取的官方文档核已有脱敏材料;不登录、连接钱包、调用业务API、签名、申请或执行资金操作。
1. 固定主网代币和包装对象
地址表在Ethereum chainId=1下列stETH代理0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84、wstETH 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0。以原材料对照完整地址;代理的实现地址不代替代币账户,跨链同名wstETH也不直接套主网包装方法。地址表自报协议v4.1.0不能证明自己的历史回执执行过该实现。
检查结果:网络、完整代币地址及读取时点一致;跨链或部署版本未核明则停止主网换算结论。
2. 区分余额增长和每份等值
stETH余额随oracle report rebase,wstETH数量不会因报告自行增加;每份对应的stETH价值会变。没有新Transfer也不证明stETH没有rebase,因为rebase不发Transfer。报告延迟、未达quorum或无法finalize会影响更新;奖励和罚没均可能影响等值,不能按每日必涨解释。
检查结果:stETH数量、wstETH数量、每份等值和报告时点分别记录,没有把钱包数量静止当零收益。
3. 按正确方向还原方法输入
已有getStETHByWstETH(uint256 _wstETHAmount)返回该wstETH数量对应stETH;getWstETHByStETH(uint256 _stETHAmount)方向相反。保留原始整数与各自decimals,统一同区块或注明时差。stEthPerToken()是每1wstETH对应stETH,tokensPerStEth()是每1stETH对应wstETH,不能只凭数值大小猜方向,也不能将stETH等值当DEX的ETH报价。
检查结果:输入代币、原始整数、输出代币与时点可复核;缺返回值/精度时保持未换算。
4. 解释shares整数舍入的差额
stETH内部按shares核算,普通transfer先转成shares再转回余额,整数除法会舍入。集成页举例可差1–2 wei并提示随着比率可能扩大;这不是对所有差额的豁免。只在身份、方法及原始整数已匹配时讨论舍入;其他大额或未解释差额单列,不能拿页面四舍五入数字反推全精度。
检查结果:保留请求量、实际shares/代币量与精度,微小舍入和其他差额分别解释。
5. 确认unwrap得到的是stETH
wrap交换stETH→wstETH,unwrap销毁wstETH并返回stETH;这次unwrap不等于退出质押后收到ETH。直接给wstETH合约发送ETH的receive shortcut是submit质押再包装,属于另一种写入路径;已有回执必须按实际方法/输出资产分类,不能因顶层ETH值或成功状态就认定赎回ETH。
检查结果:包装、直接ETH质押包装和协议退出分列,输出资产与已有转移记录匹配。
6. 按方法前置条件定位原失败
wrap要求非零stETHAmount、足够stETH余额和对包装合约至少该额度的approve;unwrap要求非零wstETHAmount及足够wstETH。只对照原错误、余额和授权材料,不为排查新增approve或重发。缺ABI、方法返回或历史额度时记未知;Gas、市场价差、协议退出等待也不由包装换算结果覆盖。
检查结果:原失败对照具体方法条件,缺证没有被改写成零余额、已完成或新增交易建议。
怎样确认完成
- 形成可复核的产品、输入、单位、费用与阶段记录;缺少必要来源或回执保持未知。
- verification=documentation;未核当前实例参数、真实账户、合约业务返回或资金结果。
常见错误与边界
- wstETH→stETH转换不是wstETH按1:1兑ETH。
- stETH rebase可不发Transfer;静态wstETH余额也不是没有价值变化。
- 1–2 wei是文档示例,不能解释任意差额或跳过资产身份。