跳轉到主要內容
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
文件變更日誌項目。如需所有更新的索引,請參閱 reference/changelog。如需協議本身的歷史時間軸,請參閱 introduction/history-and-milestones
Stable AMM 是一個獨立程式(擁有自己的程式 ID — 不透過 AMM v4 程式交易)。它很久以前就停止向 OpenBook 發佈訂單;OpenBook 造市路徑已閒置多年。此升級是清理工作:它從指令佈局中移除現已停用的市場相關帳戶和程式碼。它不會改變任何實時交易行為 — 沒有遺留的 OpenBook 訂單需要停止發佈。

整合者快速摘要

  • Swap / Deposit / Withdraw 保持不變運作。 使用舊帳戶佈局建構的交易仍會執行 — 移除的 Serum/市場帳戶會被忽略。你不需要發佈客戶端更新來保持現有流程運作。
  • 但你應該盡快遷移到新的、更小的佈局。 新佈局移除了已停用的市場帳戶,減少交易大小:SwapBaseIn / SwapBaseOut18 → 9 個帳戶,Deposit 14 → 12Withdraw 21(+1 可選)→ 12。相容性路徑將在未來版本中移除。
  • WithdrawPnl 是一項重大破壞性變更(僅限管理員)。 它從 16(+1 可選)→ 10 個帳戶,沒有相容性解析。發送舊佈局會因帳戶錯位而失敗,出現 InvalidTokenCoin 等驗證錯誤(舊的 #3 是 open_orders)。任何呼叫 WithdrawPnl 的管理員工具都必須更新。
  • WithdrawWithdrawPnl 上移除推薦費。 可選的 referrer_pc_wallet 帳戶仍可在 Withdraw 的舊佈局上傳遞以保持向後相容,但它不再生效。
  • 流動性池資產會計簡化。 總流動性池資產現在為 保管庫餘額 − 待結 PnL;OpenBook 掛單項 — 實際上已為零 — 從公式中移除。仍然新增 OpenOrders 項的索引器和報價程式碼應移除它。
  • 大多數指令已移除。 只有 SwapBaseInSwapBaseOutDepositWithdrawWithdrawPnl 保持可呼叫。InitializePreInitializeInitModelDataUpdateModelDataMonitorStepSetParamsWithdrawSrmSimulateInfo 不再可呼叫。

為什麼這很重要(對交易者、LP 和整合者)

  • 交易者在交換行為或定價形狀上看不到變化 — 查詢表曲線保持不變。新佈局交換成本更低,因為交易攜帶的帳戶少九個。
  • LP 保持相同的存入/提取經濟學。流動性長期以來完全位於流動性池保管庫中,因此流動性池價值完全在池上;此升級只刪除了過時的市場管道。
  • 整合者獲得更小、更簡單的交易和一個少一個(已經是遺留的)項的報價模型。現有整合不會中斷(除了管理員 WithdrawPnl),但相容性墊片是臨時的 — 在移除前按你的方便進行遷移。

指令級變更

SwapBaseIn / SwapBaseOut — 18 → 9 個帳戶(舊佈局仍相容)

九個 OpenBook 帳戶(amm_open_ordersserum_programserum_marketserum_bidsserum_asksserum_event_queueserum_coin_vaultserum_pc_vaultserum_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 帳戶從清單中移除;AmmInfo Serum/掛單欄位標記為遺留/未使用;新增流動性池資產說明。
  • products/stable/instructions — 新的 Swap / Deposit / Withdraw / WithdrawPnl 帳戶表,包含相容性標註;所有其他指令(InitializePreInitializeInitModelDataUpdateModelDataMonitorStepSetParamsWithdrawSrmSimulateInfo)標記為已移除/不再可呼叫。
  • 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 程式部署。