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

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 をご参照ください。各エントリには日付、影響を受けたチャプターの一覧、変更のトリガー、そしてオンチェーン状態とプログラムソースの照合日が含まれています。

未リリース — CLMM:リミットオーダー、片側フィー、ダイナミックフィー

次回の CLMM リリースでは、プールレベルの機能が3つ追加されます。これらはプール作成時にオプトインする方式で、既存のプールおよびポジションとの後方互換性があります。

インテグレーター向け TL;DR

  • リミットオーダーが 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_amount vs total_amount、およびアカウントの存在):Open → Filled → Settled → Closed
  • LimitOrderNonce — (owner, nonce_index) ごとに単調増加するカウンターで、リミットオーダー PDA シードを取得します。nonce_index: u8 により、同じオーナーが最大256の独立したノンスストリームにオーダーを分割できます。
アカウント → DynamicFeeConfig および DynamicFeeInfo および アカウント → 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 の追加(破壊的変更なし)

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

新しいインストラクション

  • CreateDynamicFeeConfig(管理者) — キャリブレーション済みの DynamicFeeConfig ティアを作成します。Authority: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 からフィーが徴収されます。
これらはいずれも、レガシーのデフォルト設定で作成されたプールでは何も起こりません。更新されたステート変更マトリクスは インストラクション → 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 エラーのフル文字列とシフト後のテーブルは エラーコード にあります。

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=… — 1つまたは複数のカンマ区切りリミットオーダー PDA の PDA ごとのイベントログ(open / increase / decrease / settle / close)。nextPageId / size(最大100)によるカーソルページネーション。
5つすべてのエンドポイントは API リファレンスタブに記載されています。

Authority の範囲

limit_order_admin はオフチェーンの運用キーパーであり、マルチシグではありません。既存のオーダーに対して SettleLimitOrderCloseLimitOrder のみを呼び出すことができ、決済の出力は常にオーナーの ATA に送られます。プールフィールドの変更、オーダーのオープンや変更、その他への署名はできません。管理キーとマルチシグ → 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 キーパー行、および制限付き Authority の説明。
照合済み
  • 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 が起きたのはいつか」の情報源です。

修正

このドキュメントに誤りを見つけた場合は、ドキュメントリポジトリで Issue またはプルリクエストを開いてください。修正はこの変更履歴に記録されます。

関連リンク