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 自動翻譯,所有內容以英文版本為準。查看英文版 →
這是文件的變更日誌——從專案上線以來這些頁面更新的記錄。若要查看協議本身的歷史時間線,請參閱
introduction/history-and-milestones。這裡的每個條目都包含日期、受影響的章節清單、觸發因素,以及驗證日期,記錄鏈上狀態和程式源碼上次與書面內容進行交叉檢查的時間。2026-05-18 — CLMM:極限訂單、單邊手續費、動態手續費
下一個 CLMM 發布版本新增三項流動性池級功能。這些功能在池建立時是可選的,並與現有的池和頭寸向後相容。整合者須知
- 極限訂單現在是一級 CLMM 原始物件。流動性提供者可在支援此功能的池上開啟單刻度訂單;當交換跨越該刻度時,訂單會按先進先出原則成交,離線驗證者(
limit_order_admin)可在所有者離線時完成成交輸出。七個新的 SDK 方法(openLimitOrder、increaseLimitOrder、decreaseLimitOrder、settleLimitOrder、closeLimitOrder、closeAllLimitOrder、settleAllLimitOrder)以及/limit-order/下的三個新 Temp API 端點(活躍訂單、每位使用者歷史記錄、每個 PDA 事件日誌)涵蓋完整流程。 - **單邊手續費(
CollectFeeOn)**讓池可從輸入端收取交換手續費(舊版,模式0)、始終從token_0收取(模式1),或始終從token_1收取(模式2)。在交易對其中一端是標準記帳代幣時很有用。 - 動態手續費讓池可選擇啟用波動率追蹤的附加費用,隨著快速刻度移動而上升,隨時間推移而衰減,由每層級
DynamicFeeConfig和每個池DynamicFeeInfo校準。新的/main/clmm-dynamic-config端點提供層級清單。 - 新指令
CreateCustomizablePool在池建立時公開所有三個參數。傳統CreatePool繼續適用於預設手續費、無極限訂單的池。 - 索引器破壞性變更:
PoolState上的每方向成交量計數器(swap_in_amount_token_{0,1}、swap_out_amount_token_{0,1})和終身手續費計數器(total_fees_token_{0,1}、total_fees_claimed_token_{0,1})被移除到填充區以騰出空間給fee_on和dynamic_fee_info。直接讀取這些欄位的索引器必須遷移到鏈上Observation環或 API。
為何這很重要(對於交易者、流動性提供者和整合者)
- 交易者在長尾和事件驅動交易對上獲得更緊密的報價:動態手續費讓池吸收來自成交者的波動率附加費用,而無需流動性提供者主動擴大區間,極限訂單階梯在特定價格深化鏈上流動性,而無需承諾池寬資本。
- 流動性提供者除了集中區間和全域頭寸外,還獲得第三種策略:停泊精確價格訂單,當價格到訪時成交,結算為報價代幣。成交部分無需主動再平衡。
- 整合者可確定地建立動態手續費池模型——演算法和參數完全在鏈上,校準層級可查詢,交換路徑形狀不變(僅每步的手續費會變化)。
程式中的變更
新帳戶
DynamicFeeConfig— 每層級校準記錄(濾波週期、衰減週期、縮減因子、動態手續費控制、最大波動率累加器)。由CreateDynamicFeeConfig(管理員)建立,在啟用動態手續費時由CreateCustomizablePool參考。LimitOrderState— 每筆訂單帳戶(PDA 種子:[owner, limit_order_nonce, order_nonce])保存池、刻度、邊、輸入金額、未成交比率、FIFO 隊列階段和簿記快照。生命週期隱含(filled_amountvstotal_amount,加上帳戶存在性):Open → Filled → Settled → Closed。LimitOrderNonce— 每個 (owner, nonce_index) 的單調遞增計數器,用於取得極限訂單 PDA 種子。nonce_index: u8讓同一所有者將訂單分割成最多 256 個獨立的 nonce 流。
PoolState 重組
| 欄位群組 | 舊版配置 | 新版配置 |
|---|---|---|
| 每方向成交量計數器 | swap_in_amount_token_0、swap_out_amount_token_0、swap_in_amount_token_1、swap_out_amount_token_1 | 折入 padding5: [u128; 4] |
| 終身手續費計數器 | total_fees_token_0、total_fees_claimed_token_0、total_fees_token_1、total_fees_claimed_token_1 | 折入 padding6: [u64; 4] |
| 單邊手續費 | — | fee_on: u8(0 = FromInput、1 = Token0Only、2 = Token1Only) |
| 動態手續費 | — | dynamic_fee_info: DynamicFeeInfo(嵌入) |
PoolState 的成交量追蹤,改用 Observation 環或 API。已棄用的計數器在現有池上未清零(它們保存上次碰巧保有的任何值),所以升級後重新讀取它們將返回過時資料。
TickState 新增項(無破壞性變更)
四個新欄位在 TickState 末尾新增,替代其部分尾部填充:
order_phase: u64— 計數器,用於區分此刻度的極限訂單隊列。orders_amount: u64— 所有此刻度開放訂單提交的總輸入(並非全部完全未成交)。part_filled_orders_remaining: u64— 目前正被交換消耗的隊列中尚未成交的輸入。unfilled_ratio_x64: u128— Q64.64 比率,用於計算每筆訂單的成交份額。
新指令
CreateDynamicFeeConfig(管理員) — 建立校準的DynamicFeeConfig層級。權限:與CreateAmmConfig相同的財庫多簽。UpdateDynamicFeeConfig(管理員) — 更新現有層級的參數。CreateCustomizablePool— 池建立入口點,公開collect_fee_on、enable_dynamic_fee和dynamic_fee_config。與CreatePool並存;我們建議任何需要新參數的新池都使用CreateCustomizablePool。OpenLimitOrder— 開啟單刻度極限訂單。提升LimitOrderNonce,分配LimitOrderState,將訂單插入刻度的 FIFO 隊列。IncreaseLimitOrder/DecreaseLimitOrder— 調整訂單的未成交部分。在完全成交的訂單上還原為InvalidOrderPhase。SettleLimitOrder— 掃描已成交的輸出至所有者的 ATA。呼叫者可以是所有者或池的limit_order_admin驗證者。CloseLimitOrder— 關閉完全結算的訂單以回收租金。
SwapV2 行為變更
交換路徑本身形狀不變,但現在沿途發生三件事:
- 動態手續費(啟用時):池的
DynamicFeeInfo在每一步更新(衰減 → 累積 → 上限),產生的附加費用新增到該步的基礎手續費之上。 - 極限訂單匹配(當步驟跨越有開放訂單的初始化刻度時):交換輸入的一部分按先進先出消耗以成交該刻度的隊列,
unfilled_ratio_x64原子地更新。 - 單邊手續費路由(當
fee_on != 0時):無論交換方向如何,手續費都從token_0或token_1取得,而非始終從輸入端取得。
新錯誤代碼
ErrorCode 列舉在此版本被重新編號:五個舊版變體(LOK、ZeroMintAmount、InvalidLiquidity、TransactionTooOld、InvalidRewardDesiredAmount)被移除,十一個新變體被附加。因為 Anchor 從 6000 開始按列舉順序編號錯誤,已移除位置之後的每個錯誤代碼都已轉移——硬編碼數值代碼的用戶端需要重新映射。
新代碼為:
6040OrderAlreadyFilled6041InvalidOrderPhase6042InvalidLimitOrderAmount6043OrderPhaseSaturated6044InvalidDynamicFeeConfigParams6045InvalidFeeOn6046ZeroSqrtPrice6047ZeroLiquidity6048MissingBaseFlag6049MissingMintAccount6050MissingTokenProgram2022
SDK 中的變更(@raydium-io/raydium-sdk-v2)
raydium.clmm上的新方法:createCustomizablePool、openLimitOrder、increaseLimitOrder、decreaseLimitOrder、settleLimitOrder、settleAllLimitOrder、closeLimitOrder、closeAllLimitOrder。raydium.api上的新 REST 幫手:getClmmDynamicConfigs、getClmmLimitOrderConfigs。- 新型別:
CollectFeeOn列舉、DynamicFeeConfig、DynamicFeeInfo、LimitOrderState、LimitOrderConfig。 - 內部重組:
utils/移至libraries/。套件出口不變;只有@raydium-io/raydium-sdk-v2/utils/...下的深層匯入需更新為…/libraries/...。
products/clmm/code-demos。
API 中的變更
api-v3—/main/下的兩個新端點:GET /main/clmm-dynamic-config—DynamicFeeConfig層級清單。GET /main/clmm-limit-order-config— 每個池的極限訂單配置。
temp-api-v1—/limit-order/下的三個新端點:GET /limit-order/order/list?wallet=…— 錢包目前停泊的訂單(開放和部分成交,從索引器的 Redis 快取提供;相同負載通過totalAmount/filledAmount/pendingSettle涵蓋兩個階段)。GET /limit-order/history/order/list-by-user?wallet=…— 錢包的歷史極限訂單。可選篩選器:poolId、mint1、mint2、hideCancel。通過nextPageId/size(最多 100)進行遊標分頁。GET /limit-order/history/event/list-by-pda?pda=…— 每個 PDA 的事件日誌(open/increase/decrease/settle/close),適用於一個或多個逗號分隔的極限訂單 PDA。通過nextPageId/size(最多 100)進行遊標分頁。
權限表面
limit_order_admin 是離線營運驗證者,不是多簽。它只能在現有訂單上呼叫 SettleLimitOrder 和 CloseLimitOrder,成交的輸出始終落入所有者的 ATA。它無法變更池欄位、開啟或修改訂單,也無法為其他任何事項簽署。詳見 Admin keys and multisig → CLMM。
更新的頁面
products/clmm/overview— 新「最新消息」章節和更新的後續步驟指標。products/clmm/accounts— 三個新帳戶、PoolState重組帶遷移警告、TickState新增項、新 PDA 幫手。products/clmm/instructions— 七個新指令、SwapV2行為附錄、更新的狀態變更矩陣。products/clmm/fees— 單邊手續費章節、動態手續費章節含參數表。products/clmm/math— 極限訂單匹配虛擬碼、動態手續費推導。products/clmm/code-demos—createCustomizablePool示範、完整極限訂單逐步解說、新陷阱。algorithms/clmm-math— 交叉參考多刻度交換迴圈中的極限訂單匹配和動態手續費。sdk-api/typescript-sdk— CLMM 模組新增項章節、utils/→libraries/遷移注記。api-reference/openapi/api-v3.yaml— 兩個新端點含回應方案。api-reference/openapi/temp-api-v1.yaml— 三個新極限訂單端點(/limit-order/order/list、/limit-order/history/order/list-by-user、/limit-order/history/event/list-by-pda)含其請求和回應方案。api-reference/api-v3/overview— 新 CLMM 設定端點的注記。api-reference/temp-api-v1/overview— 新活躍訂單、按使用者歷史和按 PDA 事件端點的注記。reference/error-codes— 十一個新 CLMM 錯誤代碼(6040–6050)加五個已移除舊版代碼;移除點後的數值代碼已轉移。security/admin-and-multisig— 新DynamicFeeConfig管理員列含有limit_order_admin驗證者列,說明了界限權限。
raydium-clmm源碼。@raydium-io/raydium-sdk-v2源碼。api-v3和temp-api-v1源碼。
2026-04-26 — 首次發布
Raydium 文件集首次公開發布。 驗證依據:- Solana mainnet-beta 上的實時程式部署。
@raydium-io/raydium-sdk-v2@0.2.42-alpha。- Raydium 公開文件和鏈上參考至 2026 年 4 月。
文件慣例
- 版本控制:本文件使用基於日曆的版本控制 (YYYY-MM-DD)。每次更新在檔案頂部建立新條目。
- 驗證日期:每個條目記錄內容上次與鏈上/API 狀態和程式源碼進行交叉檢查的時間。如未載明,應假定為條目的主要日期。
- 破壞性變更:在受影響頁面上用方框警告標出,在下面的條目中標記。
- 涵蓋範圍:此變更日誌涵蓋文件集本身。協議本身的歷史時間線位於
introduction/history-and-milestones,是「Raydium 上何時發生 X」的事實來源。
更正
如果在此文件中發現錯誤,請在文件存放庫上提交問題或拉取請求。更正將被記錄在此變更日誌中。指標
introduction/history-and-milestones— 協議本身的時間線。security/audits— 審計歷史。ray/protocol-fees— 協議手續費分割。reference/program-addresses— 程式 ID 事實來源。


