Skip to main content
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
Stable AMM は独立したプログラムであり、独自のプログラム ID を持ちます。AMM v4 プログラムのモードではなく、AMM v4 を通じて取引されるものではなく、別途デプロイ、アップグレード、呼び出しされます。フィーとアカウントレイアウトの規約においてのみ AMM v4 に似ています。
2026-06-22 アップグレード — 不要な OpenBook(マーケット)コードの削除。 Stable AMM は長い間 OpenBook に注文を投稿していません。オーダーブック マーケットメイキング パスは数年間休止状態にありました。このアップグレードは残されたマーケット関連のアカウントとコードを削除します — ライブ取引動作は変更されませんインテグレーターにとって 2 つの結果があります:
  1. より小さいアカウントレイアウト。 SwapBaseIn / SwapBaseOut18 → 9)、Deposit14 → 12)、Withdraw21/22 → 12)は不要な Serum/マーケット アカウントを削除します。古いレイアウトは後方互換性のため引き続き解析されます。WithdrawPnl16 → 10)は互換性パスのない厳密な破壊的変更です(管理者のみ)。
  2. ほとんどの命令が削除されました。 SwapBaseInSwapBaseOutDepositWithdrawWithdrawPnl のみが呼び出し可能です。他のすべての命令は呼び出せなくなりました。
変更ログ:reference/changelog

命令インベントリ

呼び出し可能

削除済み(呼び出し不可)

これらは 2026-06-22 アップグレードで削除され、呼び出せなくなりました。削除された命令を参照してください。

Deposit

リクイディティを追加し、LP トークンを受け取ります。 引数
アカウント — 新しいレイアウト、12 アカウント(書き込み可能 W、署名者 S 互換性: amm_open_orders(旧 #3)と serum_market(旧 #9)は削除されました。14 アカウントが渡される場合、命令は古い 14 アカウント レイアウトで解析されます。Serum アカウントは無視されます。 数学 — ルックアップ テーブルを使用した標準的なプロラタ計算で比率を計算します。SDK は目的の LP 量に対するコイン/pc ペアを計算し、最大上限に対してチェックします。

Withdraw

LP をバーン、両側をプロラタで受け取ります。 引数
アカウント — 新しいレイアウト、12 アカウント(書き込み可能 W、署名者 S 互換性: 9 つの Serum アカウント(amm_open_ordersserum_programserum_marketserum_coin_vaultserum_pc_vaultserum_vault_signerserum_event_qserum_bidsserum_asks)は削除されました。古い 21 または 22 アカウント レイアウトは引き続き受け入れられます。ただし、22 番目のオプション referrer_pc_wallet アカウントのリファラル フィー ロジックは削除されました — 引き続き渡すことはできますが、効果がなくなりました。 前提条件
  • user_source_lp は少なくとも amount を保有しています。
事後条件
  • amount LP トークンがバーンされます。
  • ユーザーは現在のプロラタに従ったコインと pc の量を受け取ります。蓄積されたフィーで調整されます。

SwapBaseIn

ルックアップ テーブルを使用した価格設定による正確な入力スワップ。 引数
アカウント — 新しいレイアウト、9 アカウント(書き込み可能 W、署名者 S 互換性: 9 つの OpenBook アカウント(amm_open_ordersserum_programserum_marketserum_bidsserum_asksserum_event_queueserum_coin_vaultserum_pc_vaultserum_vault_signer)は削除されました。渡されるアカウント数が 9 でない 場合、命令は古い 18 アカウント レイアウトで解析されます。Serum アカウントは引き続きそれらの位置を占める必要がありますが、その内容は検証または使用されなくなります。 前提条件
  • amm.status はスワップを許可します。
  • user_source_tokenamount_in 以上を保有しています。
事後条件
  • ユーザーは amount_in を失い、amount_out ≥ minimum_amount_out を獲得します。
  • プール フィーは need_take_pnl_* カウンターをインクリメントします。
数学products/stable/math で説明されているルックアップ テーブル補間。

SwapBaseOut

正確な出力スワップ(SwapBaseIn の逆)。同じ 9 アカウント レイアウト、異なる数学方向。 引数

WithdrawPnl

管理者のみ。need_take_pnl_* から蓄積されたプロトコル フィーを指定された PnL アカウントにスイープします。
厳密な破壊的変更 — 互換性パスなし。 この命令には古いレイアウトの解析がありません。古いレイアウトを送信すると、アカウント位置のずれにより InvalidTokenCoin などの検証エラーで失敗します(旧 #3 は open_orders でした)。WithdrawPnl を呼び出す管理者ツールは新しい 10 アカウント レイアウトに更新する必要があります
引数 — なし(状態駆動)。 アカウント — 新しいレイアウト、固定 10 アカウント、管理者のみ(書き込み可能 W、署名者 S ロジック変更: プールの利用可能な資金が蓄積された PnL を引き出すのに不十分な場合、プールはもはや CancelAllOrdersState / Disabled に置かれません。命令は直接 TakePnlError を返します。オプションの referrer_pc_wallet も削除されました。 前提条件
  • amm_admin は認可されている必要があります。
事後条件
  • need_take_pnl_coinneed_take_pnl_pc は管理者のアカウントに転送されます。
  • カウンターはゼロにリセットされます。

削除された命令

以下の命令は 2026-06-22 アップグレードで削除され、呼び出せなくなりました。これらは、インテグレーターが履歴トランザクションと SDK でそれらを認識できるようにするためにのみ、ここで文書化されています。
  • Initialize — 以前は新しい Stable AMM プールをブートストラップしました。削除されました。
  • PreInitialize — レガシー事前割り当てヘルパー。削除されました。
  • InitModelData — 以前は ModelDataInfo ルックアップ テーブルを作成して初期化しました。削除されました。
  • UpdateModelData — 以前は呼び出しごとに最大 5 つのルックアップ テーブル要素を入力しました。削除されました。
  • MonitorStep — フィルを決済し、注文グリッドを再投稿した OpenBook クランク。プールが OpenBook への投稿を停止した後、既に長い間休止状態でした。削除されました。
  • SetParams — 管理者パラメーター変更(ステータス、フィー、所有者、モデル データ キーなど)。削除されました。
  • WithdrawSrm — 初期の Serum 時代のプールから SRM フィー割引リベートをスイープしました。削除されました。
  • SimulateInfo — 読み取り専用クォート ヘルパー。削除されました。SDK のオフチェーン安定曲線ヘルパーを使用してクォートしてください(コード デモを参照)。

次のステップ

  • アカウント — アカウント フィールド レイアウトとサイズについて。
  • 数学 — ルックアップ テーブル補間ロジックについて。
  • コード デモ — SDK からこれらを呼び出す方法を確認します。
ソース:
  • raydium-stable/program/src/instruction.rs(列挙型と pack/unpack)
  • raydium-stable/program/src/processor.rs(実行ロジック)