# Fraxlend还款金额不对或抵押取不出：核Borrow Shares与双预言机健康

整理：链小知（AI 辅助）
资料核对日期：2026-10-12
引用地址：https://lianxiaozhi.com/tools/guides/fraxlend-borrow-shares-repay-solvency-check
难度：进阶
核验方式：官方文档整理，未执行真实账户操作

核借债份额换算、repayAsset参数、LTV版本和清算/writeoff结果，避免只还本金或混用fToken价格。

## 使用工具
- [Frax Fraxlend](https://lianxiaozhi.com/tools/fraxlend) · [官方入口](https://docs.frax.com/protocol/subprotocols/fraxlend/overview)

## 前置条件
- 准备已有Pair/borrower资料、userBorrowShares、userCollateralBalance、totalBorrow、汇率/时点、maxLTV和原repay/removeCollateral结果。数量保留原始整数与资产精度。
- 全部documentation，固定2bed49…3.0.0与当前帮助为解释依据；无真实借款、还款、清算或提款，也没有默认当前费率/市场开放。

## 1. 固定债务所在Pair与被减债账户

核Pair网络、asset/collateral及版本，借债份额是Pair记录的userBorrowShares，供应者fToken是另一种ERC20权益。payer可替borrower偿还，资金提供者不自动成为抵押所有者。

当前地址页Operations仍待更新；Ethereum管理multisig和旧V1地址不证明本人Pair就是本轮V3。若只有旧ABI，不能套V3双预言机、可变参数或暂停字段。

核对结果：借债份额/供应份额、payer/borrower和部署版本分开。
依据：[Fraxlend当前技术页及旧示例边界](https://docs.frax.com/protocol/subprotocols/fraxlend/technical)
依据：[固定Fraxlend V3 Core计算与退出](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairCore.sol)
依据：[Fraxlend当前地址页的缺口](https://docs.frax.com/protocol/subprotocols/fraxlend/addresses)

## 2. 按Borrow账本算含息资产债务

用totalBorrow.amount/shares换算借债份额；toBorrowAmount(shares,roundUp,previewInterest)三个输入需完整保存。用于对应固定repayAsset的预估时要核向上舍入及含息预览，不能用totalAsset或fToken兑换率。

只作人类单位演示：借债总额110、总份额100、个人10份，对应11个asset；10是债务份额，不是可直接转出的10个asset。官方例子100×1.10应为110，页面误写100不采用；原始整数计算和精度需另核。

核对结果：含息债务由正确账本、份额、舍入与时点得到。
依据：[固定Fraxlend V3 Pair方法](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPair.sol)
依据：[固定Fraxlend VaultAccount单位与舍入](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/libraries/VaultAccount.sol)
依据：[Fraxlend当前技术页及旧示例边界](https://docs.frax.com/protocol/subprotocols/fraxlend/technical)

## 3. 检查repayAsset输入与实际扣款

repayAsset(shares,borrower)输入是要偿还的Borrow Shares，返回才是asset amount。固定执行先_addInterest，再按份额向上换算应还资产；只还最初本金或把asset金额误填shares会留债或失败。

对原材料核asset授权对象、payer资产余额、borrower与shares。RepayPaused、转账失败、份额超过该borrower债务等不能当已减债；批准allowance本身不是还款事件。不要把Moonwell的uint.max全额惯例复制给Fraxlend。

核对结果：原参数确为Borrow Shares，实际所需asset与授权/暂停条件有对应。
依据：[固定Fraxlend V3 Core计算与退出](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairCore.sol)
依据：[固定Fraxlend V3暂停及权限](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairAccessControl.sol)

## 4. 按版本判断LTV与清算条件

固定V3用ceil债务资产量、抵押原值和Collateral:Asset汇率计算LTV，LTV_PRECISION=1e5、EXCHANGE_PRECISION=1e18；可按源码整数步骤核floor(floor(debtRaw×rate/1e18)×1e5/collateralRaw)。不能把fToken资产份额价格带入债务式。

借款/移除抵押后的_isSolvent检查用highExchangeRate，清算入口用lowExchangeRate，二者不是任意市场现货USD价。固定实现maxLTV=0直接视为solvent是特殊配置；等于阈值视为solvent，仍需其他限制。当前technical称immutable，固定V3有timelock setter及撤销条件，75%不是所有Pair常量。

核对结果：债务与抵押单位、oracle方向及该版本边界对应，不用固定75%或单一现货价代替。
依据：[固定Fraxlend V3 Core计算与退出](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairCore.sol)
依据：[固定Fraxlend V3 Pair方法](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPair.sol)
依据：[固定Fraxlend V3精度与错误](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairConstants.sol)

## 5. 把还债、取抵押和清算减记分开

已有RepayAsset按payer、borrower、amountToRepay、shares核真实资产转入与份额减少；随后removeCollateral仍检查剩余债务健康，并把抵押转给receiver。债务降到0也不代表抵押已经提走。

若已有Liquidate结果，区分sharesToLiquidate（清算偿还）与sharesToAdjust/amountToAdjust（坏债writeoff）。writeoff可使债务减少且供应总资产下降，不能冒充本人已用asset还款。clean/dirty/protocol清算费各有参数，旧统一10%不当当前保证。

核对结果：主动偿还、抵押转出和清算/writeoff都有各自字段，减债没有冒充到账。
依据：[固定Fraxlend V3 Core计算与退出](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairCore.sol)
依据：[Fraxlend当前技术页及旧示例边界](https://docs.frax.com/protocol/subprotocols/fraxlend/technical)
依据：[固定Fraxlend V3 Pair方法](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPair.sol)

## 6. 核错误、剩余债务和完成时点

整理原失败分支：Insolvent看债务/抵押/汇率，ExceedsMaxOracleDeviation看双预言机偏差，RepayPaused看偿还暂停，InvalidReceiver看地址；缺原始数据只能列待核，不能用再次还款证明原因。

把原shares、实际asset偿还量、剩余借债份额、抵押余额/接收结果和读取时点并排；利息、价格及参数仍会变化。完成含息债务与该Pair规则的对照，未取得转账结果就不写还清/取回成功。

核对结果：原因、剩余债务与抵押结果有对应证据或明确未知，没有再操作或收益承诺。
依据：[固定Fraxlend V3 Core计算与退出](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairCore.sol)
依据：[固定Fraxlend V3精度与错误](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairConstants.sol)
依据：[固定Fraxlend V3暂停及权限](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairAccessControl.sol)

## 常见错误
- 借债Share Price属于totalBorrow；technical健康段fToken用词不能替代正确债务账本。
- full repayment的asset需求随计息/舍入变化；清算减记和坏债核销不是同一种资产支付。

## 完成检查
- 已确认Pair版本、borrower借债份额、含息偿还量、oracle/LTV及失败分支。
- 已有偿还/移除/清算结果分别核对，未核实时部署或余额的项明确保留。

## 相关知识
- [健康因子与清算：Aave 借款仓位怎么看](https://lianxiaozhi.com/learn/health-factor-and-liquidation)
- [预言机价格与交易池价格有什么区别？清算应看哪一个](https://lianxiaozhi.com/learn/oracle-and-market-price)
- [ERC-4626 Vault 份额是什么？钱包余额怎样对应底层资产](https://lianxiaozhi.com/learn/erc4626-vault-shares)
- [Gas 怎么计算？交易失败为什么仍可能扣费](https://lianxiaozhi.com/learn/gas-and-failed-transactions)

## 官方依据
- [Fraxlend当前技术页及旧示例边界](https://docs.frax.com/protocol/subprotocols/fraxlend/technical)
- [固定Fraxlend V3 Core计算与退出](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairCore.sol)
- [Fraxlend当前地址页的缺口](https://docs.frax.com/protocol/subprotocols/fraxlend/addresses)
- [固定Fraxlend V3 Pair方法](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPair.sol)
- [固定Fraxlend VaultAccount单位与舍入](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/libraries/VaultAccount.sol)
- [固定Fraxlend V3暂停及权限](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairAccessControl.sol)
- [固定Fraxlend V3精度与错误](https://raw.githubusercontent.com/FraxFinance/fraxlend/2bed49d4dcc6702d92dede825c3424893517d841/src/contracts/FraxlendPairConstants.sol)
