Skip to main content
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
このエントリは、今後の LaunchLab プログラム更新をカバーしています。デプロイ前にローカル リリース ブランチに対して検証されました。本番環境で新しいパスを有効にする前に、デプロイされたプログラムと公開された IDL を確認してください。
このリリースにより、ローンチを Token-2022 ミントで引用できるようになります。これまで quote 側はレガシー SPL Token プログラムにハードワイヤードされていたため、base ミントのみが Token-2022 になる可能性がありました。quote ミントが触れられるすべての場所(GlobalConfig 作成、プール初期化、4 つのスワップ命令、すべてのフィー請求、CPMM マイグレーション)は、どちらのトークンプログラムも受け入れるようになり、スワップ命令は quote ミントのトランスファーフィーを考慮します。

インテグレーター向け TL;DR

  • Quote mints は Token-2022 になります。 CreateConfig は Token-2022 quote_token_mint を受け入れ、InitializeV2 / InitializeWithToken2022 は quote-program スロットでどちらのトークンプログラムも受け入れます。アカウント順序は変わりません。そのスロットに渡す値が変わります。
  • 非推奨の Initialize はまだレガシーのみです。 その quote-program アカウントは SPL Token に型付けされたままなので、quote ミントが Token-2022 であるコンフィグは InitializeV2 または InitializeWithToken2022 を通じてのみ起動できます。
  • スリッページ境界は支払者が実際に支払い、受け取る金額に移動します。 minimum_amount_outmaximum_amount_in は、vault が移動した金額ではなく、quote ミントのトランスファーフィーを差し引いた金額と比較されるようになりました。フィーを負担する quote ミント上の既存の見積もりロジックは、コストを過小見積もりし、収益を過大見積もりします。
  • PoolState.token_program_flag bit1 が意味を持つようになります。 quote mints がレガシーのみの間は常に 0 でした。バイト全体を 0 と比較するクライアントは、quote ミントが Token-2022 の場合、レガシー base ミントを Token-2022 として読み取ります。これはこのリリースで最も可能性の高いサイレント破損です。
  • MigrateToCpswap は 2 つのトークンプログラム アカウントの名前を変更します。 base_token_program / quote_token_programtoken_program / token_program_2022 になります。両方は常に必須であり、プログラムはミントごとに正しいものを選択します。
  • Mint/program ペアが検証されるようになりました。 両方のスワップ ミントは mint::token_program 制約を取得し、ClaimPlatformFee の quote ミントも同様に取得したため、一致しないペアは無視される代わりに戻ります。
  • 新しいエラー 6023 CalculateOverflow コード 60006022 は変更されていません。6023 は前のリリースで空けられ、現在は再利用されています。
  • フィー vault は quote ミントに従います。 クリエーター フィーと プラットフォーム フィー vault、および share-fee レシーバーのトークン アカウントは、quote ミントを所有するプログラムに存在します。

どのアカウントが型を変更したか

これらのいずれもアカウント リスト内の位置は変わりません。許可される値のみが変わります。 Initialize(非推奨の V1 パス)は意図的にこのテーブルに含まれていません。その quote-program アカウントは SPL Token に型付けされたままです。 これらの多くは、mint 制約も厳しくしたため、一致しない mint/program ペアは以前受け入れられたか未チェックだった場所で戻るようになりました:
  • 4 つのスワップ命令は、base_token_mintquote_token_mint の両方を、一致するスロットで渡されたプログラムに制約します。どちらも以前はその制約を持っていなかったため、間違った base プログラムはサイレントに受け入れられました。
  • ClaimPlatformFeequote_mint に同じ制約を追加します。
  • ClaimPlatformFeeFromVault は、トークン アカウント形式から mint アカウントである mint 形式への制約を修正します。

Quote-side トランスファーフィー会計

これはアカウント リストではなく数値を変更する部分です。TransferFeeConfig がない quote ミント上では、以下のすべての式は前の動作に縮小されるため、レガシー プールとフィーなし Token-2022 プールはビット単位で変更されません。 明確に述べる価値のある 2 つの結果:
  • 同等のフィーなし プールから計算された境界はもはや受け入れられません。フィーなしコストを maximum_amount_in として BuyExactOut を実行すると、ExceededSlippage で戻り、SellExactIn もフィーなし収益を minimum_amount_out として戻ります。これは意図した動作です。古い比較により、支払者は既に同意した境界の上にトランスファーフィーで請求されました。
  • プール帳簿は vault に到達したものだけを記録します。5% quote ミント上で amount_inBuyExactIn の後、real_quoteamount_in × 0.95 ではなく amount_in で進みます。
get_transfer_inverse_fee は 100% フィー ミントの特殊ケースも削除しました。maximum_fee にフォールバックする代わりに、逆フィーを計算できない場合は新しい CalculateOverflow エラーを返すようになりました。したがって、10000 ベーシス ポイントの quote ミントは、フィー キャップで静かにトランザクションするのではなく、正確な出力パスで失敗します。

token_program_flag bit1

PoolState.token_program_flag はビットフィールドであり、常にそうでした:
フィールド、ビット位置、および両方のビットを書き込むコードはすべてこのリリースより前のものです。変わるのは、quote ミントが Token-2022 ミントになる可能性があるため、bit1 が実際に 1 になる可能性があることです。4 つの値は: 各ミントのプログラムを (token_program_flag >> bit) & 1 で読み取ります。バイトを base ミントのブール値として扱うクライアント(flag === 0 ? Token : Token-2022)は、値 2 を Token-2022 base ミントに解決し、base-side トークン アカウントと転送を間違ったプログラムに対して構築します。アカウント サイズまたはフィールド オフセットの変更がないため、インデクサーはストレージ マイグレーションは不要で、デコード修正のみが必要です。

CPMM マイグレーション アカウント名変更

MigrateToCpswap は以前、ミントごとに 1 つのトークンプログラムを取得し、呼び出し元がどちらであるかを決定しました。現在は両方のプログラムを無条件に取得し、ミント自体からマッピングを導出します: 2 つの位置は変更されていないため、これは値の変更であり、レイアウトの変更ではありません。ただし、値はほぼ反転しており、古いペアを渡し続けるビルダーは、どちらかのミントが Token-2022 ミントになるとすぐに、レガシー プログラムが必須である場所に Token-2022 を渡します。 レガシー プログラムは、CPMM LP ミントとロックされたリクイディティ フィー キー NFT が常にそこに存在するため、どちらのミントに関わらず無条件に必須です。2026-08-17 リリースからの remaining_accounts レイアウトは変更されていません。

Quote mints は管理者の裁量でのみ許可されます

CPMM および CLMM とは異なり、LaunchLab は quote ミントに対して拡張許可リストを実行しませんCreateConfig はミント アカウントをそのまま受け入れるため、唯一のゲートは管理者が GlobalConfig にバインドするミントです。プログラムの NoSupportExtension チェックは、LaunchLab 自体が作成する Token-2022 base ミントにのみ適用され、MetadataPointerTransferFeeConfig のみが許可されます。 Token-2022 quote ミントのバインドを、reference/token-2022-support の CPMM/CLMM 静的ホワイトリストと同じ推論を持つ高信頼アクションとして扱います。TransferHook または PermanentDelegate quote ミントは config 作成時に許可され、その後、それで引用されるすべてのプールで実行されるか、スイープできます。

amm_creator_fee_on タイムスタンプ ゲート

InitializeV2 は、アップグレード タイムスタンプ前に BothToken 以外の amm_creator_fee_on を拒否したタイムスタンプ ゲートを削除します。同等のゲートは InitializeWithToken2022 に存在します。実際には、両方のパスは mainnet-beta で今日どちらの値も受け入れます。そのタイムスタンプ(1755522000、2025-08-18 13:00 UTC)は遠い過去だからです。これはクリーンアップであり、現在の呼び出し元の動作変更ではありません。

エラーと IDL への影響

コード 60006022 は、6022 InvalidPlatformAllowConfig を含めて変更されていません。 前のリリースは古い 6023 を廃止し、それを空けました。このリリースは番号を再利用します。前のいずれかのバージョンの IDL で 6023 をデコードしないでください。 Token-2022 quote プログラムを渡す前に、LaunchLab IDL をリフレッシュしてください。token_program_flag bit1 をデコードするか、名前が変更された MigrateToCpswap アカウント リストを構築します。

SDK への影響

SDK のローンチパッド モジュールの quote 側は、プログラムと同じ場所で TOKEN_PROGRAM_ID にハードコードされていました。このリリースに付属するブランチは、代わりに quote ミントの所有者を解決し、トークン アカウント作成、share-fee レシーバーの ATA、命令の quote-program スロットを通じてスレッド化し、4 つの Curve メソッドにオプションの transferFeeConfigB を追加して、見積もりが上記の式を反映するようにします。Curve 結果は transferFeeB フィールドを取得します。amountB はその意味を保持します。支払者が費やすか売り手が受け取るものです。したがって、フィーなし quote ミントは前と同じ数値を生成します。 これらの SDK 変更はリリースされていません。このドキュメント セットのコード デモ ページの正規ピンは変更されていません。新しいパラメーターに依存する前に、公開されたバージョンを確認してください。

リファレンス実装

新しいデモは Yellowstone gRPC 経由で LaunchLab プログラムをサブスクライブし、すべての GlobalConfig および PoolState 更新について、各ミントが Token または Token-2022 ミントであるかどうかをログに記録します: raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts これはこのリリースが必要にする 2 つのことのコンパクト リファレンスです。プールは token_program_flag から直接分類され、ミント フェッチなしで両方のビットをデコードします。これは上記で説明した bit1 破損の修正です。GlobalConfig はその quote ミントのアドレスのみを格納し、プログラム フラグを格納しないため、コンフィグはそのようには分類できません。デモはミント アカウントの所有者を 1 回読み取り、ミントごとにキャッシュします。両方のパスを並べて見ることは、独自のデコーダーをチェックする最速の方法です。 詳細は products/launchlab/code-demos を参照してください。

更新されたページ

  • products/launchlab/accounts — quote-mint トークンプログラム、token_program_flag ビット レイアウト、および vault 所有権。
  • products/launchlab/instructions — quote-program アカウント、スワップ スリッページ セマンティクス、および名前が変更されたマイグレーション アカウント。
  • products/launchlab/global-configquote_mint は Token-2022 ミントになる可能性があり、何がそれをゲートし、何がゲートしないか。
  • products/launchlab/code-demos — gRPC config/pool ウォッチャー。
  • reference/token-2022-support — LaunchLab 行と quote-mint セクション。
  • reference/error-codes6023 CalculateOverflow