Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
Stable AMM 共用 AMM v4 的池端帳戶結構(AmmInfo、金庫、授權方),並額外需要一個
ModelDataInfo 帳戶來儲存查詢表。本頁涵蓋兩者。清冊
Stable AMM 池與恰好一個 OpenBook 市場綁定。完整清冊與 AMM v4 結構相似:| 類別 | 帳戶 | 擁有者 | 角色 |
|---|---|---|---|
| 池 | AmmInfo | Stable 程式 | 池狀態、金庫、OpenBook 與模型資料帳戶的參考。 |
| 池 | amm_authority | Stable 程式 | 程式擁有的 PDA,簽署金庫移動。在所有 Stable AMM 池中共用。 |
| 池 | amm_open_orders | OpenBook | 池的 OpenBook OpenOrders 帳戶。 |
| 池 | amm_target_orders | Stable 程式 | 池端限價單網格。 |
| 池 | pool_coin_token_account | SPL Token | 池的 coin 端金庫。 |
| 池 | pool_pc_token_account | SPL Token | 池的 pc 端金庫。 |
| 池 | lp_mint | SPL Token | 可替代 LP 代幣。 |
| 模型 | model_data_account | Stable 程式 | 查詢表:50,000 × DataElement。 |
| 市場 | serum_market | OpenBook | OpenBook 市場。 |
| 市場 | serum_bids、serum_asks | OpenBook | 買價/賣價佇列。 |
| 市場 | serum_event_queue | OpenBook | 事件佇列。 |
| 市場 | serum_coin_vault、serum_pc_vault | SPL Token | OpenBook 市場級金庫。 |
| 市場 | serum_vault_signer | OpenBook | 市場級金庫簽署者。 |
AmmInfo
根狀態帳戶。佈局幾乎與 AMM v4 相同——池參數、小數位、手續費、金庫/代幣參考——並增加一個 model_data_key 欄位指向查詢表。
model_data_key——查詢表的位址。必須傳入每條指令。fees——與 AMM v4 相同的結構。預設為 0.25% 交易手續費、0.22% LP / 0.03% 協議分成。coin_vault、pc_vault——池的金庫。status——位掩碼,控制 swap/deposit/withdraw/crank 是否啟用。out_put.need_take_pnl_*——由WithdrawPnl掃出。
ModelDataInfo
查詢表。一個大型稀疏陣列,包含價格/數量點。
InitModelData建立帳戶並設定status = Initialized、multiplier = <admin-provided>、valid_data_count = 0。UpdateModelData(每筆交易最多調用 5 次)透過以下方式填入元素:- 輸入:
(index: u64, DataElement)配對陣列。 - 將各個元素寫入
elements[index]。 - 若
index >= valid_data_count則遞增valid_data_count。
- 輸入:
- Swap/deposit/withdraw 呼叫查詢函數,在
elements[0..valid_data_count]內進行二分搜尋與插值。
DataElement
表中的原子項。必須排序(x 遞增、y 遞減、price 遞增),以便二分搜尋正常運作。
授權方與金庫
與 AMM v4 相同:amm_authority是以["amm authority"]種子衍生的單一程式範圍 PDA。它擁有所有池金庫並簽署其移動。- 金庫是 SPL Token 帳戶,其擁有者是
amm_authority,而非 ATA。
狀態位掩碼
與 AMM v4 相同。控制 swap/deposit/withdraw/crank 是否啟用。手續費與 PnL 追蹤
與 AMM v4 相同。out_put 結構追蹤:
need_take_pnl_coin、need_take_pnl_pc——已累積但尚未掃出的協議手續費。WithdrawPnl移出這些金額。swap_coin_in_amount、swap_pc_in_amount等 ——分析計數器。
帳戶大小
ModelDataInfo 很大(約 1.2 MB,因為 50,000 個元素 × 每個元素 24 位元組)。這就是為什麼建立 Stable 池需要顯式租金與帳戶預先分配。Raydium SDK 與工具透明地處理此問題;整合者很少需要手動分配。
從頭衍生帳戶
如同 AMM v4,Stable AMM 使用種子密鑰(而非純 PDA)。規範池標識透過以下方式衍生:各部分閱讀指南
- 指令帳戶列表:
products/stable/instructions。 - 插值如何使用表:
products/stable/math。 - 手續費結構與 WithdrawPnl:
products/stable/fees。 - OpenBook 帳戶衍生:OpenBook 程式文件。


