このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
x·y=k)AMM として残します。ライブ取引動作は変わりません。OpenBook オーダーは既に存在しないため、停止するものはありません。
インテグレーター向け TL;DR
- Swap / Deposit / Withdraw は変更なしで動作し続けます。 古いアカウント レイアウトで構築されたトランザクションは実行されます。削除された Serum/マーケット アカウントは単に無視されます(検証なし、CPI なし)。
SwapBaseIn/SwapBaseOutは依然として 17(+1 オプション) アカウントを期待します。DepositとWithdrawレイアウトは変わりません。既存フローを維持するためにクライアント アップデートを配信する必要はありません。 - V2 スワップ エントリポイントに移行してください。
SwapBaseInV2/SwapBaseOutV2はマーケット アカウントとamm_open_ordersを持たず(合計 8 アカウント)、トランザクションはより小さく、より安価です。ルーター/アグリゲーターは V2 経由でルーティングすべきです。 WithdrawPnlは大きな破壊的変更です(管理者のみ)。 17(+1 オプション)→ 10 アカウントに削減され、互換性解析がありません。古いレイアウトはミスアライン(古い #5 はamm_open_orders)し、検証に失敗します。管理者ツールは更新が必要です。SetParamsは大きな破壊的変更です(管理者のみ)。 アカウントは[amm, admin]に縮小され、param列挙型は番号が付け直されます(Fees9 → 2、SetOpenTime11 → 3)。AmmOwner、LastOrderDistance、UpdateOpenOrderおよびグリッド パラメーターは削除されます。- 複数の命令は呼び出し不可になります。
Initialize、PreInitialize、MonitorStep、MigrateToOpenBook、WithdrawSrm、SimulateInfo、およびAdminCancelOrdersは現在リバートします。プールを作成するにはInitialize2を使用してください。 - オンチェーン アカウント レイアウトはバイト安定であり、エラー コードは変わりません。
AmmInfo/StateDataはレイアウトを保持します(古い OpenBook フィールドは保持されていますが非推奨/凍結)。AmmError番号は保持され、新しいNotAllowedのみが追加されます。
これが重要な理由(トレーダー、LP、インテグレーター向け)
- トレーダー はスワップ動作または価格設定に変化を見ません。定数積曲線は変わりません。V2 レイアウト スワップは、約 8 つ少ないアカウントを持つため、ランディングがより安価です。
- LP は同じデポジット/ウィズドロー経済を保持します。リクイディティは長い間プール ボールトに完全に存在していたため、プール価値は完全にオンプール上にあります。このアップグレードは古いマーケット配管を削除するだけです。
- インテグレーター はより小さく、シンプルなトランザクションと、ボールトから直接読み取るクォーティング モデルを取得します。既存のインテグレーション(管理者
WithdrawPnl/SetParamsを除く)は破壊されませんが、v1 スワップ互換性シムは一時的です。都合の良い時に V2 に移行してください。
命令レベルの変更
呼び出し可能、レイアウト変更なし(後方互換)
Initialize2、Deposit、Withdraw、SwapBaseIn、SwapBaseOut、CreateConfigAccount、および UpdateConfigAccount は既存のアカウント リストを保持します。SwapBaseIn / SwapBaseOut、Deposit、および Withdraw では、OpenBook/マーケット アカウントは依然として位置的に受け入れられますが、検証または使用されなくなります。CPI は発行されず、プール リザーブはボールトのみで計算されます。アカウント数は依然として一致する必要があるため、既存のトランザクションは変更なしで実行され続けます。
SwapBaseInV2 / SwapBaseOutV2 — 推奨パス
マーケット アカウントと amm_open_orders を完全に省略します(8 アカウント、タグ 16 / 17)。クォート数学は v1 と同じです。新しいインテグレーションとルーターは V2 を使用すべきです。
WithdrawPnl — 17(+1 オプション)→ 10 アカウント(⚠️ 大きな破壊的変更、互換性パスなし)
amm_open_orders とすべての 6 つのマーケット アカウントが削除されます。新しい固定 10 アカウント、管理者のみレイアウトには互換性解析がありません。古いレイアウトはミスアライン し、InvalidCoinVault などのエラーで失敗します。
SetParams — [amm, admin] に削減(⚠️ 大きな破壊的変更)+ パラメーター番号付け直し
権限、オープン オーダー、ターゲット オーダー、ボールト、およびすべてのマーケット アカウントが削除されます。param 列挙型は番号が付け直され、トリミングされます:
| パラメーター | 古い値 | 新しい値 |
|---|---|---|
Status | 0 | 0 |
State | 1 | 1 |
Fees | 9 | 2 |
SetOpenTime | 11 | 3 |
OrderNum、Depth、AmountWave、MinPriceMultiplier、MaxPriceMultiplier、MinSize、VolMaxCutRatio、InitOrderDepth、SetSwitchTime、ClearOpenTime、Seperate)および AmmOwner、LastOrderDistance、UpdateOpenOrder が削除されます。SetParamsInstruction 構造体は new_pubkey と last_order_distance を削除します。
呼び出し不可(実行時にリバート、ビルダー削除)
| 命令 | タグ | 置き換え |
|---|---|---|
Initialize | 0 | Initialize2 |
MonitorStep | 2 | なし(オーダーブック クランク、廃止) |
MigrateToOpenBook | 5 | なし |
WithdrawSrm | 8 | なし(SRM フィー割引、廃止) |
PreInitialize | 10 | Initialize2 |
SimulateInfo | 12 | オフチェーン / SDK クォーティング |
AdminCancelOrders | 13 | なし |
リザーブ / 状態の変更
- プール資産フォーミュラ。 総プール資産は
ボールト残高 − 保留中 PnL(need_take_pnl)です。OpenBook オープン オーダー項(実際には既にゼロ)は削除されます。クォーティング コードはボールト残高から直接読み取ることができます。 - 非推奨状態フィールド。
StateData.total_pnl_pc、total_pnl_coin、orderbook_to_init_time、swap_coin_in_amount、swap_pc_out_amount、swap_acc_pc_fee、swap_pc_in_amount、swap_coin_out_amount、およびswap_acc_coin_feeはレイアウト互換性のために保持されていますが、更新されなくなります。swap_*ボリューム カウンターに依存するコンシューマーはトレード ログに切り替えるべきです。 AmmInfo初期化。coin_lot_size、pc_lot_size、およびmin_sizeは現在0に初期化されます。- 削除された依存関係と CPI。
serum_dexクレートはCargo.tomlから削除されます。すべての Serum DEX CPI(invoke_dex_new_order_v3、invoke_dex_cancel_order_v2、invoke_dex_settle_funds、invoke_dex_init_open_orders、…)はinvokers.rsから削除されます。削除されたデータ構造体:LastOrderDistance、SimulateParams、RunCrankData、GetPoolData、GetSwapBaseInData、GetSwapBaseOutData。

