メインコンテンツへスキップ

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 リリースでは、3 つのプール レベルの機能が追加されます。これらはプール作成時にオプトインでき、既存のプールとポジションと下位互換性があります。

インテグレーター向け要点

  • リミットオーダーは CLMM のファーストクラスプリミティブになります。LP は対応するプール上で単一ティックのオーダーを開くことができ、スワップがティックを通過するときに FIFO で約定し、オフチェーンキーパー(limit_order_admin)がオーナーがオンラインでなくても約定した出力を決済できます。7 つの新しい SDK メソッド(openLimitOrderincreaseLimitOrderdecreaseLimitOrdersettleLimitOrdercloseLimitOrdercloseAllLimitOrdersettleAllLimitOrder)と /limit-order/ 下の 3 つの新しい Temp API エンドポイント(アクティブオーダー、ユーザーごとの履歴、PDA ごとのイベントログ)が全体のフローをカバーします。
  • **シングルサイドフィー(CollectFeeOn)**により、プールはスワップフィーを入力側(レガシー、モード 0)から、または常に token_0(モード 1)から、または常に token_1(モード 2)から徴収できます。ペアの一方が正規の会計トークンである場合に便利です。
  • ダイナミックフィーにより、プールは急速なティック移動で上昇し時間とともに減少するボラティリティ追跡サーチャージにオプトインでき、ティアごとの DynamicFeeConfig とプールごとの DynamicFeeInfo により調整されます。新しい /main/clmm-dynamic-config エンドポイントがティアリストを表示します。
  • 新しい命令 CreateCustomizablePool が、プール作成時にこれら 3 つすべてのコントロールを公開します。クラシック 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_ondynamic_fee_info 用スペースを作るためにパディングに廃止されました。これらのフィールドを直接読むインデクサーは、オンチェーン Observation リングまたは API に移行する必要があります。

なぜこれが重要なのか(トレーダー、LP、インテグレーター向け)

  • トレーダーはロングテール和イベント駆動ペアでより厳密なクォートを取得します:ダイナミックフィーはプールがテイカーからのボラティリティサーチャージを吸収でき、LP が積極的にレンジを広げる必要がなく、リミットオーダーラダーはレンジ全体に資本をコミットせずに特定の価格でオンチェーンリクイディティを深くします。
  • LP は集中型レンジと全レンジポジションに並ぶ 3 番目の戦略を取得します:正確な価格オーダーを駐車し、価格が訪れるときに約定し、引用トークンに決済します。約定部分に対してはアクティブなリバランスが不要です。
  • インテグレーターはダイナミックフィープールを決定論的にモデル化できます — アルゴリズムとパラメーターは完全にオンチェーンにあり、キャリブレーションティアはクエリ可能で、スワップパスは形状で変わらないです(各ステップあたりのフィーのみ変わります)。

プログラムで何が変わったか

新しいアカウント

  • DynamicFeeConfig — ティアごとのキャリブレーションレコード(フィルター期間、減衰期間、削減係数、ダイナミックフィーコントロール、最大ボラティリティアキュムレーター)。CreateDynamicFeeConfig(管理)で作成され、ダイナミックフィーが有効なときに CreateCustomizablePool から参照されます。
  • LimitOrderState — オーダーごとのアカウント(PDA シード:[owner, limit_order_nonce, order_nonce])はプール、ティック、サイド、入力量、未約定率、FIFO コホートフェーズ、簿記スナップショットを保持します。ライフサイクルは暗黙的です(filled_amounttotal_amount、プラスアカウント存在):Open → Filled → Settled → Closed
  • LimitOrderNonce — オーナーごと、nonce_index ごとの単調増加カウンター。nonce_index: u8 により同じオーナーはオーダーを最大 256 個の独立した nonce ストリームに分割できます。
Accounts → DynamicFeeConfig and DynamicFeeInfoAccounts → LimitOrderState を参照してください。

PoolState の再構成

フィールドグループ旧レイアウト新レイアウト
方向別ボリュームカウンターswap_in_amount_token_0swap_out_amount_token_0swap_in_amount_token_1swap_out_amount_token_1padding5: [u128; 4] に統合
生涯フィーカウンターtotal_fees_token_0total_fees_claimed_token_0total_fees_token_1total_fees_claimed_token_1padding6: [u64; 4] に統合
シングルサイドフィーfee_on: u8(0 = FromInput、1 = Token0Only、2 = Token1Only)
ダイナミックフィーdynamic_fee_info: DynamicFeeInfo(埋め込み)
アカウントの総サイズは変わりません。インデクサー:ボリュームトラッキングを PoolState から Observation リングまたは API に切り替えてください。廃止されたカウンターは既存のプールでゼロにされないため(最後に実行したものを保持)、アップグレード後にそれらを再度読むと古いデータが返されます。

TickState の追加(破壊的変更なし)

4 つの新しいフィールドが TickState の最後に追加され、その末尾のパディングの一部を置き換えます:
  • order_phase: u64 — このティックのリミットオーダーコホートを区別するカウンター。
  • orders_amount: u64 — このティックのすべてのオープンオーダーにコミットされた合計入力(全てが完全に未約定というわけではない)。
  • part_filled_orders_remaining: u64 — スワップで消費されているコホートでまだ未約定の入力。
  • unfilled_ratio_x64: u128 — 各オーダーの約定シェアを計算するために使用される Q64.64 比率。
ティックアレイレイアウト、サイズ、PDA シードは変わりません。

新しい命令

  • CreateDynamicFeeConfig(管理) — キャリブレーションされた DynamicFeeConfig ティアを作成します。権限:CreateAmmConfig と同じトレジャリーマルチシグ。
  • UpdateDynamicFeeConfig(管理) — 既存のティアのパラメーターを更新します。
  • CreateCustomizablePoolcollect_fee_onenable_dynamic_feedynamic_fee_config を公開するプール作成エントリポイント。CreatePool と共存;新しいプールが新しいコントロールを必要とする場合は CreateCustomizablePool をお勧めします。
  • OpenLimitOrder — 単一ティックのリミットオーダーを開きます。LimitOrderNonce をバンプし、LimitOrderState を割り当て、ティックの FIFO コホートにオーダーをスロット化します。
  • IncreaseLimitOrder / DecreaseLimitOrder — オーダーの未約定部分を調整します。完全に約定されたオーダーで InvalidOrderPhase で元に戻します。
  • SettleLimitOrder — 約定した出力をオーナーの ATA にスイープします。呼び出し側はオーナーまたはプールの limit_order_admin キーパーです。
  • CloseLimitOrder — 完全に決済されたオーダーを閉じてレントを返却します。

SwapV2 の動作変更

スワップパス自体は形状で変わりませんが、3 つのことが進行中に発生します:
  1. ダイナミックフィー(有効な場合):プールの DynamicFeeInfo は各ステップで更新され(減衰 → 蓄積 → キャップ)、結果のサーチャージがそのステップの基本フィーの上に追加されます。
  2. リミットオーダーマッチング(ステップがオープンオーダーを持つ初期化済みティックを通過するとき):スワップ入力の一部が FIFO で消費され、そのティックのコホートを満たし、unfilled_ratio_x64 はアトミックに更新されます。
  3. シングルサイドフィールーティングfee_on != 0 のとき):フィーはスワップ方向に関係なく token_0 または token_1 から取得され、常に入力側からではなくなります。
これらのそれぞれは、プールがレガシーデフォルトで作成されたときのノーオップです。Instructions → SwapV2 更新された状態変更マトリックスを参照してください。

新しいエラーコード

ErrorCode 列挙型はこのリリースで再番号付けされました:5 つのレガシーバリアント(LOKZeroMintAmountInvalidLiquidityTransactionTooOldInvalidRewardDesiredAmount)が削除され、11 の新しいバリアントが追加されました。Anchor は 6000 から列挙順でエラーを番号付けするため、削除された位置以降のすべてのエラーコードがシフトしました — ハードコードされた数値コードを使用するクライアントは再マップする必要があります。 新しいコードは次のとおりです:
  • 6040 OrderAlreadyFilled
  • 6041 InvalidOrderPhase
  • 6042 InvalidLimitOrderAmount
  • 6043 OrderPhaseSaturated
  • 6044 InvalidDynamicFeeConfigParams
  • 6045 InvalidFeeOn
  • 6046 ZeroSqrtPrice
  • 6047 ZeroLiquidity
  • 6048 MissingBaseFlag
  • 6049 MissingMintAccount
  • 6050 MissingTokenProgram2022
完全な文字列とすべての CLMM エラーのポストシフトテーブルは Error codes にあります。

SDK で何が変わったか(@raydium-io/raydium-sdk-v2

  • raydium.clmm の新しいメソッドcreateCustomizablePoolopenLimitOrderincreaseLimitOrderdecreaseLimitOrdersettleLimitOrdersettleAllLimitOrdercloseLimitOrdercloseAllLimitOrder
  • raydium.api の新しい REST ヘルパーgetClmmDynamicConfigsgetClmmLimitOrderConfigs
  • 新しい型CollectFeeOn 列挙型、DynamicFeeConfigDynamicFeeInfoLimitOrderStateLimitOrderConfig
  • 内部再構成utils/libraries/ に移動しました。パッケージバレルは変わりません;@raydium-io/raydium-sdk-v2/utils/... の下のディープインポートのみ …/libraries/... に更新する必要があります。
エンドツーエンドの TypeScript ウォークスルーは products/clmm/code-demos にあります。

API で何が変わったか

  • api-v3/main/ 下の 2 つの新しいエンドポイント:
    • GET /main/clmm-dynamic-configDynamicFeeConfig ティアのリスト。
    • GET /main/clmm-limit-order-config — プールごとのリミットオーダー設定。
  • temp-api-v1/limit-order/ 下の 3 つの新しいエンドポイント:
    • GET /limit-order/order/list?wallet=… — ウォレットの現在駐車されているオーダー(オープンで部分約定、インデクサーの Redis キャッシュから提供;同じペイロードが totalAmount / filledAmount / pendingSettle を介して両方のフェーズをカバー)。
    • GET /limit-order/history/order/list-by-user?wallet=… — ウォレットの歴史的なリミットオーダー。オプションフィルター:poolIdmint1mint2hideCancelnextPageId / size(最大 100)でカーソルページネーション。
    • GET /limit-order/history/event/list-by-pda?pda=… — PDA ごとのイベントログ(open / increase / decrease / settle / close)1 つ以上のカンマ区切りのリミットオーダー PDA。nextPageId / size(最大 100)でカーソルページネーション。
5 つすべては API リファレンスタブに記載されています。

権限の表面

limit_order_admin はオフチェーン運用キーパーであり、マルチシグではありません。既存のオーダーで SettleLimitOrderCloseLimitOrder のみを呼び出すことができ、決済の出力は常にオーナーの ATA にランディングします。プールフィールドを変更したり、オーダーを開いたり変更したり、他に何かに署名したりすることはできません。Admin keys and multisig → CLMM を参照してください。

更新されたページ

  • products/clmm/overview — 新しい「最新情報」セクションと更新された次のステップポインター。
  • products/clmm/accounts — 3 つの新しいアカウント、PoolState 再構成と移行警告、TickState 追加、新しい PDA ヘルパー。
  • products/clmm/instructions — 7 つの新しい命令、SwapV2 動作補遺、更新された状態変更マトリックス。
  • products/clmm/fees — シングルサイドフィーセクション、パラメーターテーブル付きダイナミックフィーセクション。
  • products/clmm/math — リミットオーダーマッチング疑似コード、ダイナミックフィー導出。
  • products/clmm/code-demoscreateCustomizablePool デモ、完全なリミットオーダーウォークスルー、新しい落とし穴。
  • algorithms/clmm-math — マルチティックスワップループのリミットオーダーマッチングとダイナミックフィーの相互参照。
  • sdk-api/typescript-sdk — CLMM モジュール追加セクション、utils/libraries/ 移行メモ。
  • api-reference/openapi/api-v3.yaml — レスポンススキーマを備えた 2 つの新しいエンドポイント。
  • api-reference/openapi/temp-api-v1.yaml — 3 つの新しいリミットオーダーエンドポイント(/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 — 11 の新しい CLMM エラーコード(6040–6050)プラス 5 つの削除されたレガシーコード;削除ポイント後の数値コードはシフトしました。
  • 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
  • 2026 年 4 月までの公開 Raydium ドキュメントおよびオンチェーン参考資料。
今後、すべてのプロトコルアップグレード、監査、またはドキュメント改正は、このファイルに新しいエントリとしてランディングします。

ドキュメント慣例

  • バージョニング:このドキュメントはカレンダーベースのバージョニング(YYYY-MM-DD)を使用します。各アップデートはファイルの上部に新しいエントリを作成します。
  • 検証日:すべてのエントリはコンテンツがオンチェーン / API 状態とプログラムソースに対して最後に相互検証された日時を記録します。記載されていない場合は、エントリのメイン日付を想定してください。
  • 破壊的変更:影響を受けるページのボックス警告で呼び出され、以下のエントリにタグ付けされます。
  • カバレッジ:このチェンジログはドキュメントセット自体をカバーしています。プロトコル自体の歴史的タイムラインは introduction/history-and-milestones に存在し、「Raydium で X がいつ起こったか」の真実の情報源です。

修正

このドキュメントにエラーが見つかった場合は、ドキュメントリポジトリでイシューまたはプルリクエストを開いてください。修正はこのチェンジログに記録されます。

ポインター