# Save 提现或借款失败：按已有交易日志区分流动性、过期状态与未知结果

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

先确定已有交易结果，再匹配错误与部署版本，避免把超时、仓位上限和WSOL余额当成同一种失败。

## 使用工具
- [Save（原 Solend）](https://lianxiaozhi.com/tools/save) · [官方入口](https://docs.save.finance/)

## 前置条件
- 一条已有交易签名或脱敏错误日志、发生时间、网络和客户端版本；不提供钱包凭据。
- 仅检查已有记录。刷新状态、减少仓位、重试或换RPC后的新交易属于另一个需要授权的操作。

## 1. 区分交易未知与明确失败

保存既有签名、时间和网络；在该签名的已有浏览器/历史记录中检查成功、链上错误或仍无明确状态。官方FAQ的“超过60秒未确认”描述结果未知，不代表已回滚。

只有超时报错而没有签名/链上结果时标为未知；不要按超时秒数宣称资金已退回，也不要把再发一次当排查步骤。

核对结果：记录为成功、明确失败或未知，并保留可追溯签名/错误；未知分支停止推断。
依据：[Save 常见错误](https://docs.save.finance/getting-started/debugging-faq.md)

## 2. 用错误名称定位可用流动性或抵押额度

已有错误包含 InsufficientLiquidity 时核对对应reserve的available amount，而不是只看总供应。100%池利用率可能使提现和借款均无法取得token。

BorrowTooLarge 与 WithdrawTooLarge 应另核对账户抵押/债务额度；即使池有token，账户风险规则仍可能阻止操作。完整报错与程序版本未知时，只保留可能原因。

核对结果：池可用资产不足与账户额度不足分开记录，不以总供应替代available amount。
依据：[Save 风险与可用流动性](https://docs.save.finance/getting-started/risks)
依据：[Save mainnet 固定 Reserve 源码](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/state/reserve.rs)
依据：[Save mainnet 固定错误定义](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/error.rs)
依据：[Save mainnet 固定 Obligation 源码](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/state/obligation.rs)

## 3. 拆开状态过期与预言机配置错误

ReserveStale、ObligationStale 表示相应状态需要刷新；InvalidOracleConfig 是预言机配置类错误，不能直接当网络断开。保存程序日志中的具体名称或匹配版本的错误定义。

若已有页面/日志显示价格feed或更新时间缺失，记录该项；“Pyth主要、Switchboard备用”的文档说明不证明当前每个reserve都有相同配置。排查完成不要求手动广播刷新指令。

核对结果：有具体状态/预言机错误类别与时间证据；未把过期状态当零余额或保证等待即可修复。
依据：[Save mainnet 固定错误定义](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/error.rs)
依据：[Save 预言机说明](https://docs.save.finance/protocol/oracles.md)
依据：[Save 常见错误](https://docs.save.finance/getting-started/debugging-faq.md)

## 4. 检查交易大小与仓位上限的版本

“Transaction too large: 1317 > 1232”是官方FAQ提供的历史错误例子，和 ObligationReserveLimit 的仓位限制属于不同问题。保存真实日志中的实际大小，不把例子的1317当每次交易长度。

旧limits页写6个positions，本轮固定mainnet源码MAX_OBLIGATION_RESERVES为10；供应与借款条目分别计数。没有实际部署版本时不得要求用户“减到6个”或断言“10个一定可用”。关闭仓位涉及资金操作，不是只读排查动作。

核对结果：交易字节上限与仓位条目上限独立定位，并明确6/10冲突和实际部署未知。
依据：[Save 常见错误](https://docs.save.finance/getting-started/debugging-faq.md)
依据：[Save 旧仓位数量帮助页](https://docs.save.finance/protocol/limits.md)
依据：[Save mainnet 固定 Obligation 源码](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/state/obligation.rs)
依据：[Save mainnet 固定错误定义](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/error.rs)

## 5. 对齐 SOL、WSOL 与费用记录

若已有记录显示SOL余额减少，核对是否有对应WSOL token account。FAQ说明失败路径可能留下包裹SOL；WSOL属于token账户余额，不能只从原生SOL余额判断资产消失。

分别记录交易费、账户租金与余额变化。旧FAQ的“确保0.1 SOL”是历史建议，不能当当前固定最低余额；“Account already initialized”也不能仅凭一句错误就确认为余额不足。把未知项留在结论中，而不是自动接受签名或执行换币。

核对结果：原生SOL、WSOL与链费/租金分开；报告不含未经证实的丢币、重复提交或固定费用结论。
依据：[Save 常见错误](https://docs.save.finance/getting-started/debugging-faq.md)
依据：[Save 费用说明](https://docs.save.finance/protocol/fees)

## 常见错误
- 钱包拒绝签名与已广播后链上失败不同，不能照旧FAQ推定所有拒绝都由RPC导致。
- 余额或确认状态不明时，重复提交、清仓和兑换WSOL都不是纯诊断。

## 完成检查
- 对一条已有记录形成结果状态、错误类别、版本和费用/WSOL核对清单。
- 本教程以公开文档与固定代码核验；未实际查询用户交易、连接钱包或复现失败。

## 相关知识
- [Gas 怎么计算？交易失败为什么仍可能扣费](https://lianxiaozhi.com/learn/gas-and-failed-transactions)
- [Solana 钱包地址、mint 与 Token Account 有什么区别？](https://lianxiaozhi.com/learn/solana-token-accounts)
- [Solana 交易过期是什么？收到签名不代表执行完成](https://lianxiaozhi.com/learn/solana-transaction-expiry)

## 官方依据
- [Save 常见错误](https://docs.save.finance/getting-started/debugging-faq.md)
- [Save 风险与可用流动性](https://docs.save.finance/getting-started/risks)
- [Save mainnet 固定 Reserve 源码](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/state/reserve.rs)
- [Save mainnet 固定错误定义](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/error.rs)
- [Save mainnet 固定 Obligation 源码](https://raw.githubusercontent.com/solendprotocol/solana-program-library/d04ce00bbf4356c4fd32b3be38eb9760b696bb3e/token-lending/sdk/src/state/obligation.rs)
- [Save 预言机说明](https://docs.save.finance/protocol/oracles.md)
- [Save 旧仓位数量帮助页](https://docs.save.finance/protocol/limits.md)
- [Save 费用说明](https://docs.save.finance/protocol/fees)
