# SyncSwap 旧 Classic LP 退出金额不符：核对普通份额、双币与单币赎回

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

限匹配V1 Classic的已有LP记录，解释份额变化、非平衡存入费、单币退出附带兑换与最低量，避免套V3仓位NFT。

## 使用工具
- [SyncSwap](https://lianxiaozhi.com/tools/syncswap) · [官方入口](https://syncswap.xyz/)

## 前置条件
- 准备已有V1 Classic池/LP地址、token0/token1完整身份和精度、LP数量/精度、同一时点余额/totalSupply、原mint/burn记录与退出回执；只有总美元值无法完成原币对账。
- 以官方旧普通LP教程及固定5285a3a V1/Vault方法解释，不向池直接转LP或点Withdraw。V3Range/NFT、Aqua或其他实现不在该计算范围。

## 1. 确认是普通 LP，而不是 NFT 仓位

核原pool/LP地址和poolType；固定Classic=1、普通LP追踪池储备份额。当前V3表有PositionNFTManager/RangePoolFactory，旧普通LP教程不能解释那种tokenId仓位。

PoolTypes旧页还写Concentrated comingsoon，当前合约表已有V3，故不能据旧页判断现在没有集中流动性。ETH/WETH显示同池时仍保存原token合约及版本，不能单靠界面简称定位份额。

核对结果：V1 Classic普通LP身份已匹配；NFT/其他pool模型明确排除。
依据：[SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)
依据：[SyncSwap：旧普通 LP 份额与 ETH/WETH](https://docs.syncswap.xyz/syncswap/features/deposit-liquidity.md)
依据：[SyncSwap：当前版本与逐链合约表](https://docs.syncswap.xyz/syncswap/smart-contracts/smart-contracts.md)
依据：[SyncSwap：旧 Pool Types 与未来文字](https://docs.syncswap.xyz/syncswap/overview/liquidity-pools.md)

## 2. 区分原存入金额和当前可赎份额

按已有LP原数量及LP精度记单位，用同一时点totalSupply、池两币余额核份额。存入时两币美元值或“50/50”展示不是当前保证；池交易/价格变化会改变你退出时的币种数量。

固定首mint锁1000原LP单位到零地址，后续mint按invariant增长；非平衡存入可能产生mintfee，协议费也可能增发LP影响totalSupply。不要把原投入直接当当前应退本金，更不能用旧百分比算确定收益。

核对结果：LP单位、当前分母/余额和原本金分开，精度或快照缺失标未知。
依据：[SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)
依据：[SyncSwap：旧普通 LP 份额与 ETH/WETH](https://docs.syncswap.xyz/syncswap/features/deposit-liquidity.md)
依据：[SyncSwap：可调费率和方向差异](https://docs.syncswap.xyz/syncswap/overview/dynamic-fees.md)

## 3. 先判原退出是双币还是单币

双币burn按liquidity占totalSupply比例返回token0/token1，原返回数组顺序为这两币；单币burnSingle相当于先按比例赎回再将一币换成另一币，会用对应方向swapfee。

核原tokenOut、两币amount及退出模式。只收到一种币不一定是漏付，单币模式与双币缺转账必须分开；单币结果不能按双币比例直接预计，不能忽略附带兑换成本和价格影响。

核对结果：原burn/burnSingle、目标币和双币/单币计算范围清楚。
依据：[SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)
依据：[SyncSwap：可调费率和方向差异](https://docs.syncswap.xyz/syncswap/overview/dynamic-fees.md)

## 4. 逐一核最低量及批准记录

固定Router双币burn逐数组位置比较minAmounts[i]，单币用minAmount；低于报TooLittleReceived。对照原token0/token1顺序与各自decimals，不能把两种不同资产最低量相加或互换。

NotEnoughLiquidityMinted是加流动性收到LP不足，Classic的InsufficientLiquidityMinted是mint零量，不是所有退出失败的同一原因。原LPallowance/permit与burn动作分别核；这里固定burn入口没有swap的ensure(deadline)，不能把permit过期统一说成退出交易deadline过期。

核对结果：最低量对应正确资产和方法，mint错误/permit/退出未混同。
依据：[SyncSwap 固定旧 Router：总输出与 LP 最低量](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/SyncSwapRouter.sol)
依据：[SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)

## 5. 检查接收地址与 ETH/WETH 路径

从原burn data/回执记录to、withdrawMode及输出token身份。旧Classic withdrawMode0调用Vault.transfer，其他调用withdrawAlternative；只见Burn事件还需核实际收款路径。

旧文档允许ETH/WETH选择，钱包只看ETH余额可能遗漏WETH，反之亦然。不能将同池等价展示当网络资产自动互换；路径模式未读明、原to不是当前地址或接收证据缺失时留待核，不再转LP或补授权。

核对结果：完整to、输出身份和实际转移路径有对应记录，界面金额未当净到账。
依据：[SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)
依据：[SyncSwap：旧普通 LP 份额与 ETH/WETH](https://docs.syncswap.xyz/syncswap/features/deposit-liquidity.md)

## 6. 分别对账费用、LP 变化与收款

记录原LP减少、两币/单币实际收到量、网络费和已确认状态；旧Classic0.1%/0.07%/0.03%为旧页例子，动态/方向费与当前FeeManager需另核，未核不补固定分成。

把差异定位为份额快照、非平衡mint/协议增发、单币附带兑换、min量、接收身份或回执缺失。V3FeeManager六位说明不能用于固定Classic1e5分母；没有当前余额或版本就只完成输入清单，不承诺本金全退或领取成功。

核对结果：LP/费用/资金结果分别闭合，旧版本例子未推当前普遍费率。
依据：[SyncSwap：旧普通 LP 份额与 ETH/WETH](https://docs.syncswap.xyz/syncswap/features/deposit-liquidity.md)
依据：[SyncSwap：可调费率和方向差异](https://docs.syncswap.xyz/syncswap/overview/dynamic-fees.md)
依据：[SyncSwap：V1/V2/Aqua 与 Fee Data](https://docs.syncswap.xyz/syncswap-technical-docs/integrations/introduction-to-protocol.md)
依据：[SyncSwap：当前版本与逐链合约表](https://docs.syncswap.xyz/syncswap/smart-contracts/smart-contracts.md)
依据：[SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)

## 常见错误
- 普通LP份额与V3NFT tokenId不同；不能用同名池或同Router标签直接套比例。
- 单币退出附带兑换，双币返回顺序/minAmounts和各token精度必须对应。

## 完成检查
- 记录匹配版本的LP身份/单位、当前份额、原退出模式/最低量/recipient及真实资金凭证。
- documentation；未调用池状态/报价、授权或退出，未读字段及部署版本保持未知。

## 相关知识
- [合约代码已验证，为什么仍不能直接判断安全？](https://lianxiaozhi.com/learn/verified-contract-boundaries)
- [原始、解码和整理后的链上数据有什么区别？](https://lianxiaozhi.com/learn/raw-decoded-curated-data)
- [钱包签消息与签交易有什么区别？不付 Gas 的签名也要读内容](https://lianxiaozhi.com/learn/wallet-message-vs-transaction)
- [Gas 怎么计算？交易失败为什么仍可能扣费](https://lianxiaozhi.com/learn/gas-and-failed-transactions)

## 官方依据
- [SyncSwap 固定 V1 Classic：普通 LP 与单币退出](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/pool/classic/SyncSwapClassicPool.sol)
- [SyncSwap：旧普通 LP 份额与 ETH/WETH](https://docs.syncswap.xyz/syncswap/features/deposit-liquidity.md)
- [SyncSwap：当前版本与逐链合约表](https://docs.syncswap.xyz/syncswap/smart-contracts/smart-contracts.md)
- [SyncSwap：旧 Pool Types 与未来文字](https://docs.syncswap.xyz/syncswap/overview/liquidity-pools.md)
- [SyncSwap：可调费率和方向差异](https://docs.syncswap.xyz/syncswap/overview/dynamic-fees.md)
- [SyncSwap 固定旧 Router：总输出与 LP 最低量](https://raw.githubusercontent.com/syncswap/core-contracts/5285a3a7b2b00ca8b7ffc5ae5ce6f6c6195e4aa7/contracts/SyncSwapRouter.sol)
- [SyncSwap：V1/V2/Aqua 与 Fee Data](https://docs.syncswap.xyz/syncswap-technical-docs/integrations/introduction-to-protocol.md)
