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 による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
ルーターは計算を行いません
ルーティングプログラムは価格設定ロジックを実装していません。これは純粋なオーケストレーター(調整役)です。ルートを受け付け、アカウントを子プログラムに渡し、トークンフローをチェーンします。 各ホップはそれぞれのプールプログラムの曲線で価格設定されます:- AMM v4 ホップ: 定積公式(
x · y = k)と OpenBook ハイブリッド価格設定を使用します。products/amm-v4/mathを参照してください。 - CPMM ホップ: 定積公式と設定可能な手数料階層を使用します。
products/cpmm/mathを参照してください。 - CLMM ホップ: 集中流動性ティック数学を使用します。
algorithms/clmm-mathを参照してください。 - Stable ホップ: 類似資産の安定スワップ曲線を使用します。
products/stable/mathを参照してください。
- CPI を経由して各プールのスワップ指令を呼び出す。
- 出力金額を収集する。
- それを次のホップの入力金額として渡す。
- 最終出力を呼び出し元のスリッページ制限に照合する。
スリッページの複合
マルチホップルートでは、各ホップのスリッページが複合します。ホップ 1 での小さなスリッページが、ホップ 2 へのボリュームが既に減少しているため、ホップ 2 ではより大きなスリッページになります。 例:minimum_amount_out を提供する場合、ルーターは最終出力をこのグローバル制限に照合します。各ホップはまたそのスワップを独自の手数料構造に照合しますが、ルーターはルート中に再引用しません。ルートを事前計算し、十分なスリッページ許容範囲を含める必要があります。
CLMMホップと limit_prices
CLMM プールへの各ホップについて、ルーターはプールの現在のsqrt_price_x64 が指定された境界内にあることを確認します。これらの境界は limit_prices と呼ばれる VecDeque<u128> として渡されます:
- ルート内の CLMM ホップあたり 1 つの
sqrt_price_x64。 sqrt_price_x64は CLMM によって使用されるティックベースの価格表現です。定義についてはalgorithms/clmm-mathを参照してください。- ルーターは以下を強制します:
指令バリアントと limit_prices
-
SwapBaseInWithUserAccount,SwapBaseOutWithUserAccount(レガシー、タグ 0 と 1):limit_pricesVecDeque は必須です。ホップが CLMM プールの場合、空のデックはエラーで拒否されます。CLMM ホップごとに 1 つの価格を順序通りに提供する必要があります。 -
SwapBaseIn,SwapBaseOut(現在、タグ 8 と 9):limit_pricesVecDeque はオプションです。空のデックは無視され、価格チェックは実行されません。新しいコードはこれらを使用する必要があります。
limit_prices の構築
M 個の CLMM ホップを持つルートの場合、デックは正確に M 個のエントリを含める必要があります。ホップごとに順序付けます:limit_prices をいつチェックするか
sqrt_price_x64 はプールの現在の価格のスナップショットです。スワップが実行されると継続的に変更されます。以下を行う必要があります:
- オンチェーンからプールの現在の状態を取得する。
- 許容可能な境界を計算します(例:現在の価格の ±0.5%)。
- それらの境界を
limit_pricesにエンコードします。 - ルーター指令に境界を含める。
手数料処理
各プールはその構成に従って独自の手数料を請求します:- AMM v4: 0.25%(固定)LP、プロトコル、ファンドに分割。
- CPMM:
AmmConfigごとに設定可能(デフォルト 0.25%、層による分割は異なる)。 - CLMM: プールごとに設定可能、入力金額から差し引かれます。
- Stable: AMM v4 と同じ、0.25% 分割。
products/amm-v4/feesproducts/cpmm/feesproducts/clmm/fees(利用可能な場合)products/stable/fees(利用可能な場合)
マルチホップ計算例
2 つの定積プール(それぞれ 0.25% の手数料)にルート USDC → SOL → STEP をルーティングするとします:精度に関する考慮事項
すべての Solana プログラムと同様に、ルーターは整数演算を使用します:- すべての金額は
u64(ラムポートまたはトークンの最小単位)です。 - 曲線計算はオーバーフロー回避のために必要な場所で
u128仲介を使用します。 - 丸め規則は子プログラムに依存します。ルーターは再丸めしません。
次に行くべき場所
products/amm-v4/math— 定積数学。products/cpmm/math— Token-2022 を使用した CPMM 定積。algorithms/clmm-math— 集中流動性価格設定。products/stable/math— 安定スワップ曲線。products/routing/code-demos— ルーティング前の引用例。


