Skip to main content
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
2026-07 プログラムアップグレード以降、AMM v4 の OpenBook / Serum 依存関係は削除されました。レガシー v1 の SwapBaseIn / SwapBaseOutDepositWithdraw 命令は古いアカウントレイアウトを保持しており、後方互換性のためにマーケットアカウントは古い位置で受け入れられていますが、検証または使用されなくなりました(CPI は発行されません)。新しい統合では V2 スワップエントリポイントを使用してください。これらはマーケットアカウントを完全に省略します。いくつかの命令は削除され、リバートするようになりました。変更ログエントリを参照してください。以下のアカウントリストは Raydium SDK のフィールド名を使用しています。基礎となる IDL は時々 serum_* プレフィックスを使用します。

命令インベントリ

SDK はユーザー向け命令のビルダーのみを公開しています。メンテナンス命令は通常、Raydium キーパーによって呼び出されます。 削除済み / 呼び出し不可unimplemented! でリバートし、クライアントビルダーは削除されました):Initialize(タグ 0、Initialize2 を使用)、MonitorStep(2)、MigrateToOpenBook(5)、WithdrawSrm(8)、PreInitialize(10、Initialize2 を使用)、SimulateInfo(12)、AdminCancelOrders(13)。

Initialize2

既存の OpenBook マーケットにバインドされた新しい AMM v4 プールをブートストラップします。 引数
アカウント(書き込み可能 W、署名者 S 事後条件
  • lp_supply = sqrt(init_coin_amount × init_pc_amount) − INIT_BURN。ここで INIT_BURN ≈ 100 LP ユニットは流通から除外されます。
  • OpenBook オーダーは投稿されません(オーダーブックグリッドは削除されました)。market_program / market は引き続き渡されますが、参照フィールドとしてのみ保存されます。coin_lot_size / pc_lot_size / min_size0 に初期化されます。
一般的なエラーInvalidInput(小数点の不一致、ソート順序が正しくない)、NotAllowed

Deposit

リクイディティを追加します。 引数
アカウント(簡略版) 計算 — 標準的な按分。プールの有効リザーブ(ボルト + オンブック)を使用して、SDK は指定された LP 量を生成する coin/pc ペアを計算し、max_* に対してチェックします。どちらかの側がキャップを超える場合、ExceededSlippage でリバートします。

Withdraw

LP をバーン、両側を受け取ります。 引数
アカウントDeposit と同じですが方向が逆です。lp_mint はバーン用に書き込み可能で、ユーザー ATA はレシーバーです。アカウントレイアウトは変更されていません(マーケットアカウントは引き続き位置的に渡され、無視されます)。OpenBook からのセットル手順はなくなりました。按分計算はボルト残高を直接使用します。

SwapBaseIn

正確な入力スワップ。常にAMM パススワップです(OpenBook マッチングを経由しません)。
新しいコードでは V2 バリアントを使用してください。 AMM v4 の OpenBook 依存関係が削除されたため、V1 エントリポイント(SwapBaseInSwapBaseOut)は引き続き完全な 17 アカウントリスト(またはオプションのターゲットオーダーアカウント付きで 18)を期待していますが、OpenBook/マーケットアカウントは位置的に受け入れられ、無視されます — 検証されず、CPI は発行されません。間違ったアカウントを渡すと引き続き WrongAccountsNumber でリバートしますが、マーケットアカウント内容はチェックされなくなりました。新しい統合では SwapBaseInV2 / SwapBaseOutV2 を使用してください。これらはより小さなアカウントリストを取り、今日の正規実行パスを表しています。V1 フォームは完全性のため、および既存のオンチェーントランザクションを読むためにここに記載されています。
引数
アカウント(簡略版) 計算products/amm-v4/math を参照してください。 前提条件
  • amm.status はスワップを許可します(ステータスビットマスクのビット 0 が設定されていません)。
  • amm.state_data.pool_open_time <= now
  • amount_in > 0
  • user_source_token_account は少なくとも amount_in を保有しています。
事後条件
  • ユーザーはソーストークンの amount_in を失い、デストトークンの amount_out ≥ minimum_amount_out を獲得します。
  • need_take_pnl_* はプロトコル手数料シェアだけ増加します。
  • 注記:state_data.swap_*_in_amount / swap_*_out_amount 分析カウンターは更新されなくなりました — それらの値は凍結されています。ボリューム分析にはトレードログを使用してください。
一般的なエラーExceededSlippageInvalidInputInvalidStatusNotAllowed(coin/pc ミント同一)。

SwapBaseOut

正確な出力、SwapBaseIn の逆。同じアカウント。 引数

SwapBaseInV2 / SwapBaseOutV2

OpenBook アカウントを完全にスキップするバリアントスワップエントリポイント(タグ 16 / 17)。計算は V1 パスと同じですが、アカウントリストは AMM 側とユーザーだけに縮小します — 8 アカウント、amm_open_orders は渡されません プールリザーブはボルト残高(保留中の PnL を除く)になるため、クォート計算は簡潔で v1 パスと同じです。V2 を使用してコンピュートを節約し、(現在無視されている)マーケットアカウントの渡却を避けてください。Raydium ルーターは AMM v4 を経由してルーティングする場合、常に V2 フォームを使用します。 引数は V1 フォームと同じです(SwapBaseInV2 の場合は amount_in / minimum_amount_outSwapBaseOutV2 の場合は max_amount_in / amount_out)。

MonitorStep およびその他の削除された命令

削除済み — 呼び出し不可。 2026-07 アップグレード以降、MonitorStep(タグ 2)はプログラムから削除され、呼び出された場合リバートします(unimplemented!)。クライアントビルダーも削除されました。同じことが MigrateToOpenBook(5)、WithdrawSrm(8)、SimulateInfo(12)、AdminCancelOrders(13)、およびレガシー Initialize(0)/ PreInitialize(10)プール作成エントリポイントに適用されます — 代わりに Initialize2 を使用してください。
歴史的に、MonitorStep はプールの OpenBook インタラクションをクランクしました:満たされたオーダーをセットル(OpenBook CPI を経由してマーケットボルトからプールボルトに収益を移動)、古いオーダーをキャンセル、target_ordersamm_open_orders の間のギャップを閉じるために新しいオーダーを投稿しました。OpenBook 依存関係が削除されたため、クランクするものはなく、命令は削除されました。引き続き呼び出すキーパーまたは統合は、呼び出しを削除する必要があります。

WithdrawPnl / TakePnl

累積プロトコル手数料の管理者スイープ。 引数
  • WithdrawPnl は引数を取りません。need_take_pnl_* を読み、正確な金額を移動します。
破壊的変更(管理者のみ)。 アカウントリストは 17(+1 オプション)から10に削減されました — amm_open_orders と 6 つのマーケットアカウントすべてが削除されました — 互換性パースなし。古いレイアウトはミスアライン(古い #5 は amm_open_orders、現在は pool_coin_token_account)し、InvalidCoinVault などのエラーで失敗します。管理者ツールは更新する必要があります。
アカウント(新しい 10 アカウントレイアウト) 効果
  • need_take_pnl_coinpool_coin_token_account から pnl_coin_token_account に転送します。
  • pc についても同じ。
  • need_take_pnl_coinneed_take_pnl_pc をゼロにします。
  • ロジック変更:ボルト残高が累積 PnL をカバーするのに不十分な場合、命令は TakePnlError を直接返します(オーダーブック状態を操作しなくなりました)。
累積 PnL は既に不変から除外されているため、リザーブに変更はありません。

SetParams

Raydium マルチシグによって呼び出される管理者パラメータ変更。引数は param: u8 タグ + ペイロードです。
破壊的変更(管理者のみ)。 アカウントリストは [amm (W), admin (S)] だけに削減されました(権限、オープンオーダー、ターゲットオーダー、ボルト、およびすべてのマーケットアカウントが削除されました)。param 列挙型は番号が付け直され、トリミングされましたStatus = 0、State = 1、Fees = 2(以前は 9)、SetOpenTime = 3(以前は 11)。すべてのオーダーブックグリッドパラメータと AmmOwnerLastOrderDistanceUpdateOpenOrder が削除され、SetParamsInstruction 構造体は new_pubkeylast_order_distance をドロップしました。管理者ツールは更新する必要があります。

状態変更マトリックス

OpenBook 列は削除されました — どの命令もオーダーブックに触れなくなりました。

次のステップ

ソース: