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 による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
命令の概要
| タグ | ディスクリミネーター | 完全 | バリアント |
|---|---|---|---|
| 0 | SwapBaseInWithUserAccount | 入力 | レガシー |
| 1 | SwapBaseOutWithUserAccount | 出力 | レガシー |
| 5 | CreateSyncNative | — | ユーティリティ |
| 6 | CloseTokenAccount | — | ユーティリティ |
| 8 | SwapBaseIn | 入力 | 現在 |
| 9 | SwapBaseOut | 出力 | 現在 |
- 完全: 呼び出し元が固定する金額(入力 = 完全入力
amount_in;出力 = 完全出力amount_out)。 - バリアント: レガシー命令ではルートに CLMM ホップがない場合でも、空でない
limit_pricesデックが必要です。現在の命令(8 / 9)は空のlimit_pricesを「チェックなし」として扱い、これが新しいコードの推奨パスです。
SwapBaseIn)またはタグ 9(SwapBaseOut)**を使用してください。
現在のスワップ命令(推奨)
これらは新しいコードが使用すべきエントリーポイントです。引数構造はレガシーバリアントと同じですが、limit_prices は空にすることができます。
SwapBaseIn(タグ 8)
完全入力マルチホップスワップ。呼び出し元は amount_in を固定し、ルーターはホップごとに実行して、最終金額が minimum_amount_out 以上になることを確認します。
引数
- 呼び出し元は
user_input_ataで署名します。 user_input_ata.amount >= amount_in。- すべての中間ユーザー ATA が存在し、呼び出し元が所有しています。
- CLMM ホップがあり、価格バウンド強制を望む場合は、CLMM ホップごとに 1 つの
limit_pricesエントリを指定します。
user_input_ata残高がamount_inだけ減少します。user_output_ata残高が ≥minimum_amount_out増加します。- 各中間 ATA はネット変化ゼロで残されます(ルートは 1 ホップ前に生成したものを消費します)。
ExceededSlippage— 最終出力 <minimum_amount_out。InvalidInput— ルートが空、アカウントが不正形式、またはpool_programがサポートされていません。SqrtPriceX64— CLMM ホップの価格が指定されたlimit_pricesバウンド外に移動しました(limit_pricesが空でない場合のみ)。
SwapBaseOut(タグ 9)
完全出力マルチホップスワップ。呼び出し元は amount_out を固定し、ルーターは実際の入力が maximum_amount_in を超えないことを確認します。
引数
- 呼び出し元は
user_input_ataで署名します;残高>= maximum_amount_in(最悪の場合)。 - 各中間および出力 ATA が存在します。
user_input_ataが必要な実際の金額(≤maximum_amount_in)だけ減少します。user_output_ataが正確にamount_outだけ増加します。
ExceededSlippage— 必要な入力がmaximum_amount_inを超えています。InvalidInput、SqrtPriceX64— タグ 8 と同様。
レガシースワップ命令
これらの古いバリアントはライブプログラムで呼び出し可能であり、完全性のためここで説明されています。新しいコードではタグ 8 / タグ 9 を優先します;以下の両方のレガシーバリアントでは、CLMM ホップが関係ない場合でも空でないlimit_prices デックが必要であり、これは使用を煩雑にします。
SwapBaseInWithUserAccount(タグ 0)
完全入力マルチホップスワップ、タグ 8 と同じ形状ですが、より厳しい limit_prices 要件があります。
引数
SwapBaseIn(タグ 8)と同じ形状です。すべての中間スロットは呼び出し元が所有する ATA である必要があります。
事前条件
- 呼び出し元は
user_input_ataで署名します。 user_input_ata.amount >= amount_in。- すべての中間ユーザー ATA が存在し、呼び出し元が所有しています。
limit_pricesが空でありません(CLMM ホップごとに 1 エントリ;CLMM ホップが関係ない場合はプレースホルダー値を指定してください)。
user_input_ata残高がamount_inだけ減少します。user_output_ata残高が ≥minimum_amount_out増加します。
ExceededSlippage。InvalidInput— 空のlimit_pricesはこのレガシーバリアントで拒否されます。SqrtPriceX64。
SwapBaseOutWithUserAccount(タグ 1)
完全出力スワップ、SwapBaseOut(タグ 9)のレガシー版です。
引数
- 呼び出し元は
user_input_ataで署名します。 user_input_ata.amount >= maximum_amount_in。- すべての中間ユーザー ATA が存在し、呼び出し元が所有しています。
limit_pricesが空でありません。
user_input_ataが必要な実際の金額(≤maximum_amount_in)だけ減少します。user_output_ataが正確にamount_outだけ増加します。
ExceededSlippage。InvalidInput。SqrtPriceX64。
ユーティリティ命令
CreateSyncNative(タグ 5)
wSOL ATA を 1 ステップで作成(必要に応じて)および同期します。スワップと並行して SOL をラップする場合に便利です。
引数
user_wsol_ataがまだ存在しない場合、作成します。- サイナーのネイティブ SOL 残高から ATA に
amountラムポート転送します。 - ATA で
SyncNativeを呼び出して、トークン残高が新しいラムポートを反映するようにします。
InvalidOwner—user_wsol_ataの所有者がサイナーではありません。
CloseTokenAccount(タグ 6)
トークンアカウントを閉じて、そのレント(保証金)をデスティネーションウォレットに返します。CreateSyncNative とペアになります。wSOL レッグスワップ後、CloseTokenAccount を呼び出して wSOL ATA を支える保証金を回収します。
引数 — なし。
アカウント
token_account_to_closeを閉じます。- レント相当のラムポート残高(メインネットでバニラ SPL Token アカウントの場合、約 0.00203928 SOL)を
destination_for_rentに転送します。 - トークンアカウントはゼロトークン残高を持つ必要があります。
InvalidOwner— 呼び出し元が ATA 所有者ではありません。- トークンアカウント残高がゼロ以外です。
次のステップ
products/routing/code-demos— TypeScript でこれらの各命令を構築します。products/routing/accounts— AMM ごとのディスパッチキーとホップごとのアカウントレイアウト。reference/error-codes— 完全なRouteErrorリスト。


