本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
Stable AMM 是一個獨立程式,擁有自己的程式 ID。它不是 AMM v4 程式的一種模式,也不是透過 AMM v4 進行交易 — 它是單獨部署、升級和呼叫的。它只在費用和帳戶配置慣例上類似於 AMM v4。
指令清單
可呼叫
已移除(無法再呼叫)
這些在 2026-06-22 升級中被移除,無法再被呼叫。請參閱已移除的指令。Deposit
新增流動性,接收 LP 代幣。
引數
W、簽署者 S)
相容性:
amm_open_orders(舊 #3)和 serum_market(舊 #9)已移除。當傳遞 14 個帳戶時,指令使用舊的 14 帳戶配置進行解析;Serum 帳戶被忽略。
數學 — 使用查詢表計算比率的標準按比例分配。SDK 計算所需 LP 數量的 coin/pc 對,並檢查最大上限。
Withdraw
銷毀 LP,按比例接收雙邊。
引數
W、簽署者 S)
相容性:九個 Serum 帳戶(
amm_open_orders、serum_program、serum_market、serum_coin_vault、serum_pc_vault、serum_vault_signer、serum_event_q、serum_bids、serum_asks)已移除。舊的 21 或 22 帳戶配置仍被接受。但請注意,第 22 個可選 referrer_pc_wallet 帳戶的推薦費邏輯已被移除 — 它仍可傳遞但不再生效。
前置條件
user_source_lp持有至少amount。
amountLP 代幣被銷毀。- 使用者根據目前按比例分配接收 coin 和 pc 數量,已調整累積費用。
SwapBaseIn
使用查詢表進行定價的精確輸入交換。
引數
W、簽署者 S)
相容性:九個 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 帳戶必須仍佔據其位置,但其內容不再被驗證或使用。
前置條件
amm.status允許交換。user_source_token持有 ≥amount_in。
- 使用者失去
amount_in,獲得amount_out ≥ minimum_amount_out。 - 資金池費用增加
need_take_pnl_*計數器。
products/stable/math 中所述的查詢表插值。
SwapBaseOut
精確輸出交換(SwapBaseIn 的反向)。相同的 9 帳戶配置,不同的數學方向。
引數
WithdrawPnl
僅限管理員。從 need_take_pnl_* 清掃累積的協議費用到指定的 PnL 帳戶。
引數 — 無(狀態驅動)。
帳戶 — 新配置,固定 10 個帳戶,僅限管理員(可寫 W、簽署者 S)
邏輯變更:當資金池的可用資金不足以提取累積的 PnL 時,資金池不再進入
CancelAllOrdersState / Disabled;指令直接返回 TakePnlError。可選的 referrer_pc_wallet 也已被移除。
前置條件
amm_admin必須被授權。
need_take_pnl_coin和need_take_pnl_pc被轉移到管理員的帳戶。- 計數器被清零。
已移除的指令
以下指令在 2026-06-22 升級中被移除,無法再被呼叫。此處記錄它們只是為了讓整合者在歷史交易和 SDK 中識別它們。Initialize— 曾經啟動新的 Stable AMM 資金池。已移除。PreInitialize— 舊版預分配輔助工具。已移除。InitModelData— 曾經建立並初始化ModelDataInfo查詢表。已移除。UpdateModelData— 曾經每次呼叫最多填充 5 個查詢表元素。已移除。MonitorStep— 結算成交並重新發佈訂單網格的 OpenBook crank。在資金池停止向 OpenBook 發佈後已長期閒置;現已移除。SetParams— 管理員參數變更(狀態、費用、所有者、模型資料鍵等)。已移除。WithdrawSrm— 從早期 Serum 時代資金池清掃 SRM 費用折扣回扣。已移除。SimulateInfo— 唯讀報價輔助工具。已移除;使用 SDK 的離鏈穩定曲線輔助工具進行報價(請參閱程式碼示例)。
後續步驟
來源:raydium-stable/program/src/instruction.rs(列舉和 pack/unpack)raydium-stable/program/src/processor.rs(執行邏輯)

