Fraxlend的fToken值钱却提不出:核份额、preview和maxWithdraw
链小知 · 进阶 · 核验 · 依官方文档整理
用具体Pair的资产账本与V3退出方法区分供应权益、预览换算、可退出量、暂停和授权。
开始前准备
- 准备已有Pair网络/地址、asset与collateral地址、fToken持有者与接收地址、原始余额/精度、totalAsset/totalBorrow材料及退出失败信息。
- 参照当前官方技术资料与2bed49… version3.0.0固定方法;需要对应部署版本,未核当前市场实现、执行SDK/RPC或资金动作。
1. 按Pair地址确认资产与版本
从官方Fraxlend概述进入产品资料,按本人已有Pair详情核asset、collateral和链。当前产品是孤立Pair,不把Fraxswap、BAMM或sfrxUSD存款拿来套同一退出方法。
旧技术示例里的FRAX是当时的稳定币;当前Frax产品说明还区分frxUSD和FRAX(prev FXS)。必须核资产合约而非ticker。Ethereum配置中的V1 FRAX/FXS例子也不自动等于本指南V3实现,其他网络需自己的部署依据。
检查结果:Pair、asset/collateral、网络、版本和份额token身份明确。
2. 用资产账本换算fToken权益
对已有totalAsset的amount/shares与本人fToken balance计算资产原值,不能使用totalBorrow的比率。两账本都有同名amount/shares,但含义不同;按固定toAssetAmount的roundUp与previewInterest标志核读数口径。
convertToAssets使用向下舍入并预览利息;原始整数换算后再按asset的decimals显示,fToken精度不默认等于18或asset。零账本有特殊分支,缺字段不能补零;这里得到的是会计权益,不是可立即提款金额。
检查结果:资产账本与借债账本分开,整数/舍入/利息口径有对应。
3. 选对redeem或withdraw的输入单位
原退出请求若是redeem(shares,receiver,owner),输入是要烧的fToken份额;withdraw(amount,receiver,owner)输入是希望收到的asset原值。owner是份额所有者,receiver是资产接收者,不能互换。
固定previewRedeem按资产份额向下得到asset;previewWithdraw按目标asset向上得到需要的份额。预览不检查现金、暂停、owner授权或receiver是否有效,所以有预览返回值仍可能失败。
检查结果:方法、输入单位、owner/receiver及预览边界匹配。
4. 比较实际可退出量而非总资产
V3固定实现的可用资产=totalAsset.amount−totalBorrow.amount,totalAsset包括已借出的资产及累计利息,不能把它全当库存。maxWithdraw返回可用量与owner权益的较小值,isWithdrawPaused时返回0;maxRedeem返回份额,单位不同。
核同一时点的预览/最大量和暂停材料,错误或缺数据保持未知。即使max足够,之后利息、流动性或权限变化仍可使实际执行不同;没有当前状态不推所有Pair开放。
检查结果:会计权益、现金、max资产量/max份额量及暂停条件分列。
5. 定位退出错误与接收权限
原错误若是InsufficientAssetsInContract,比较其available/request资产原值;WithdrawPaused、InvalidReceiver和owner份额/allowance不足分别排查。msg.sender不等owner时,固定_redeem检查owner对调用方的份额授权,不是asset对Pair的存款授权。
不要为了提现重新存款或改管理员暂停。资料能确定的是缺现金、暂停、输入/接收者/授权或其他转账错误,相关管理员权限属于独立角色。
检查结果:错误对应实际单位和权限,未把存款approve当退出授权。
6. 核已完成退出及损失边界
已有成功结果时按Withdraw事件的caller、receiver、owner、assets、shares,核份额燃烧与正确asset接收;只看到fToken余额变少不能单独证明向本人到账。
技术页的只增值陈述不能覆盖坏债。固定liquidate可writeoff并降低totalAsset.amount;利息费也可新增协议份额。把本金、累计利息、协议费份额、坏债及退出量分开,不能承诺fToken永不减值或按固定APY退出。
检查结果:既有退出结果与资产接收可核,利息/费/坏债未藏入无损承诺。
怎样确认完成
- 已得到原始fToken换算、可退出量、权限/暂停和失败原因的对应表。
- 已有执行证据时核接收者和asset;资料缺口只得预检结论,不保证退出或收益。
常见错误与边界
- convert/preview只解释换算,不是max或执行承诺。
- totalAsset是会计总额,含已借出部分;供应fToken与Borrow Shares不可混用。