本页内容由 AI 自动翻译,所有内容以英文版本为准。查看英文版 →
集成者速览
- Swap / Deposit / Withdraw 继续工作,无需更改。 使用旧账户布局构建的交易仍然可以执行——被移除的 Serum/市场账户会被忽略。你不需要发布客户端更新来保持现有流程正常运行。
- 但你应该尽快迁移到新的、更小的布局。 新布局移除了已失效的市场账户,减少交易大小:
SwapBaseIn/SwapBaseOut从 18 → 9 个账户,Deposit14 → 12,Withdraw21(+1 可选)→ 12。兼容性路径将在未来版本中移除。 WithdrawPnl是一项重大破坏性变更(仅限管理员)。 它从 16(+1 可选)→ 10 个账户,没有兼容性解析。发送旧布局会因账户错位而失败,出现InvalidTokenCoin等验证错误(旧的 #3 是open_orders)。任何调用WithdrawPnl的管理员工具都必须更新。Withdraw和WithdrawPnl上移除了推荐费。 可选的referrer_pc_wallet账户仍可在Withdraw的旧布局上传递以保持向后兼容,但它不再生效。- 池资产会计已简化。 总池资产现在为
保险库余额 − 待结 PnL;OpenBook 挂单项——实际上已经为零——从公式中移除。仍然添加 OpenOrders 项的索引器和报价代码应该移除它。 - 大多数指令已被移除。 只有
SwapBaseIn、SwapBaseOut、Deposit、Withdraw和WithdrawPnl仍可调用。Initialize、PreInitialize、InitModelData、UpdateModelData、MonitorStep、SetParams、WithdrawSrm和SimulateInfo不再可调用。
为什么这很重要(对交易者、LP 和集成者)
- 交易者在交换行为或定价形状上看不到任何变化——查找表曲线保持不变。新布局交换成本更低,因为交易携带的账户少了九个。
- LP 保持相同的存取经济学。流动性长期以来完全位于池保险库中,所以池价值完全在链上;此升级仅删除了陈旧的市场管道。
- 集成者获得更小、更简单的交易和一个少了一个(已经是残留的)项的报价模型。现有集成不会中断(除了管理员
WithdrawPnl),但兼容性垫片是临时的——在移除前按你的方便进行迁移。
指令级变更
SwapBaseIn / SwapBaseOut — 18 → 9 个账户(旧布局仍兼容)
九个 OpenBook 账户(amm_open_orders、serum_program、serum_market、serum_bids、serum_asks、serum_event_queue、serum_coin_vault、serum_pc_vault、serum_vault_signer)被移除。兼容性:如果指令接收的账户数不是 9,则使用旧的 18 账户布局进行解析;Serum 账户必须仍占据其位置,但其内容不再被验证或使用。
Deposit — 14 → 12 个账户(旧布局仍兼容)
amm_open_orders(旧的 #3)和 serum_market(旧的 #9)被移除。当传递 14 个账户时,旧布局被解析以保持兼容性。
Withdraw — 21(+1 可选)→ 12 个账户(旧布局仍兼容)
九个 Serum 账户被移除。旧的 21 或 22 账户布局仍被接受,但第 22 个可选 referrer_pc_wallet 的推荐费逻辑已被移除——账户仍可传递但不再生效。
WithdrawPnl — 16(+1 可选)→ 10 个账户(⚠️ 无兼容性路径,重大破坏性变更)
固定 10 账户、仅限管理员的布局。没有旧布局的兼容性解析;发送它会因账户错位而失败,出现 InvalidTokenCoin 等错误。逻辑变更:当池的可用资金不足以提取累积的 PnL 时,池不再进入 CancelAllOrdersState / Disabled;指令直接返回 TakePnlError。可选的 referrer_pc_wallet 同样已被移除。
池资产计算变更
历史上该公式添加了池在其 OpenBook OpenOrders 账户中作为挂单持有的资金。该项自池停止发送订单以来一直为零;此升级从公式中完全删除它,仅保留保险库计算:| 公式 | |
|---|---|
| 旧 | 保险库余额 + 挂单资金(native_coin_total / native_pc_total)− 待结 PnL(need_take_pnl) |
| 新 | 保险库余额 − 待结 PnL(need_take_pnl) |
更新的页面
products/stable/overview— 纯 AMM 模型,移除 OpenBook 依赖,更新了比较和账户计数表。products/stable/index— “它是什么”和关键事实表不再声称 OpenBook 依赖。products/stable/accounts— OpenBook 账户从清单中移除;AmmInfoSerum/挂单字段标记为已弃用/未使用;添加了池资产说明。products/stable/instructions— 新的 Swap / Deposit / Withdraw / WithdrawPnl 账户表,带有兼容性标注;所有其他指令(Initialize、PreInitialize、InitModelData、UpdateModelData、MonitorStep、SetParams、WithdrawSrm、SimulateInfo)标记为已移除/不再可调用。products/stable/math— 池资产公式更新;MonitorStep/ OpenBook 部分重新表述为长期已弃用。products/stable/fees— “来自 OpenBook 的 PnL”部分已弃用;收集流程不再结算 OpenBook 成交。products/stable/code-demos— 账户计数指导已更新;SDK 仍然抽象布局选择。
raydium-stable程序源代码(升级后的instruction.rs/processor.rs)。- Solana mainnet-beta 上的链上 Stable AMM 程序部署。

