メインコンテンツへスキップ
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
このエントリは 2026-10-30 に予定されている CPMM プログラムアップグレードについて説明しています。デプロイ前に raydium-cp-swap の feat/initialize-v2 ブランチ(ヘッド 40cbd81)に対して検証されました。新しい命令に依存する前に、デプロイされたプログラムを確認してください。
すべての CPMM プールには enable_creator_fee フラグと creator_fee_on の側があり、どちらも作成時に固定されます。これまで、クリエイターがこれらを設定できるのは InitializeWithPermission を通じてのみで、それには管理者が発行した Permission PDA が必要でした。公開の Initialize は常にフィーを無効として保存していました。実際には、クリエイターフィーを課金するプールを作成できたのは LaunchLab 卒業およびその他のゲートされたフローだけでした。 このリリースでは InitializeV2 が追加されます。これは追加の引数 creator_fee_on: Option<CreatorFeeOn> を 1 つ持つ Initialize であり、誰でも呼び出せます。プール数学、スワップ、リクイディティ、フィー回収、およびクリエイターフィーのプロトコルシェアは変更されません。

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

  • 新しい命令:InitializeV2。 パーミッションレス。引数は init_amount_0、init_amount_1、open_time、creator_fee_on: Option<CreatorFeeOn> です。ディスクリミネータは [67, 153, 175, 39, 218, 16, 38, 32]。
  • Some(side) はその側でクリエイターフィーを有効にし、None は無効のままにします。 None は Initialize が保存するのとまったく同じ値を保存します。
  • アカウントは Initialize と同じで、rent を除きます。 最初の 19 アカウントは同一で、順序も同じです。アカウントリストを参照してください。
  • クリエイターは署名者です。 pool_state.pool_creator は署名する creator です。InitializeWithPermission とは異なり、受益者を別のアドレスに設定することはできません。
  • クリエイターが選ぶのはオン/オフと側であり、料率ではありません。 プールはそのフィーティアの AmmConfig.creator_fee_rate を課金します。その料率のデフォルトは 0 であるため、そのようなティアで有効化されたプールは何も累積しません。
  • 既存のものは何も変わっていません。 Initialize と InitializeWithPermission は、ディスクリミネータ、アカウント、引数、動作を維持します。アカウントレイアウトやエラーコードは変わりません。
  • 新しい命令を取得するには IDL を更新してください。 これを呼び出さないクライアントは変更不要です。

プログラムで変更されたもの

新しい命令:InitializeV2

InitializeV2 は Initialize と同じ作成コードを実行します。具体的には:
  • 正規プール PDA または署名済みランダムキーペアのいずれかを pool_state として受け入れます。
  • remaining_accounts を通じて、同じ Token-2022 許可リストと SupportMintAssociated チェックを適用します。
  • amm_config.disable_create_pool が設定されている場合は作成を拒否します。
  • open_time が未来でない場合は block_timestamp + 1 にバンプします。
  • 100 LP 基本単位をロックし、残りをクリエイターにミントします。
  • amm_config.create_pool_fee を課金します。
唯一の違いは、新しい PoolState に書き込む内容です: 無効なタグバイトまたはバリアントバイトは、Anchor の引数デシリアライズで失敗します。新しいエラーコードは関与しません。

3 つの作成パスの比較

内部リファクタリング

3 つのハンドラーは、1 つの initialize_pool ルーチンを共有するようになりました。このリファクタリングは、Initialize や InitializeWithPermission のアカウント、引数、チェック、保存される値を変更しません。新しいテストでは、同じコンフィグ上の通常の Initialize が引き続きクリエイターフィーを無効として保存することも確認しています。

クリエイターが知っておくべきこと

  • まずフィーティアを確認してください。 クリエイターフィーの料率はプールではなく AmmConfig に属します。creator_fee_rate が課金したい料率であるティアを選んでください。料率は products/cpmm/fees に記載されています。
  • この選択は永続的です。 作成後に enable_creator_fee や creator_fee_on を変更する命令はありません。変更するには、新しいプールを作成する必要があります。
  • トレーダーはトレードフィーに加えてこれを支払います。 クリエイターフィーはスワップに加算される別の料率です。LP、プロトコル、ファンドのシェアを減らすことはありませんが、同じティアでフィーがオフのプールよりも、そのプールに対するトレードのコストが高くなります。
  • 回収方法は変わりません。 CollectCreatorFee または CollectCreatorFeePermissionless を使用してください。2026-09-19 リリースのプロトコルシェアが適用され、作成時にそれをオプトアウトすることはできません。

マイグレーションノート

  • プールクリエイター。 クリエイターフィーをオンにしたい場合にのみ、Initialize から InitializeV2 に切り替えてください。Some(side) を渡し、rent アカウントを削除します。Initialize は引き続き機能します。
  • SDK ユーザー。 @raydium-io/raydium-sdk-v2@0.2.64-alpha の raydium.cpmm.createPool は Initialize を構築します。InitializeV2 ビルダーを含むリリースが提供されるまでは、更新された IDL からエンコードしてください。
  • インデクサーとルーター。 LaunchLab ではなく通常のウォレットによって作成された、enable_creator_fee = true のプールが増えることを想定してください。作成パスやティアだけからではなく、常に各プール自身の enable_creator_fee と creator_fee_on から見積もってください。命令からプール作成を追跡している場合は、新しい命令をデコードしてください。PoolState アカウントから追跡している場合は変更不要です。
  • UI。 同じティアの 2 つのプールが異なる可能性があるため、プールがクリエイターフィーを課金するかどうか、およびその料率を表示してください。
  • LaunchLab およびその他のパーミッション付きフロー。 変更はありません。ペイヤーと記録されるクリエイターが異なる必要がある場合は、引き続き InitializeWithPermission を使用します。

変更されなかったもの

  • すべてのアカウントレイアウト(PoolState と AmmConfig を含む)。
  • Initialize と InitializeWithPermission:ディスクリミネータ、アカウント、引数、保存される値。
  • Permission、CreatePermissionPda、ClosePermissionPda。
  • スワップ、デポジット、引き出しの数学、クリエイターフィーの課金、およびクリエイターフィーのプロトコルシェア。
  • エラーコード。 6000–6015 は変更されておらず、追加もありません。
  • プログラム ID。

更新されたページ

  • products/cpmm/instructions:アップグレードバナー;概要および状態変更マトリックスの行;引数、エンコーディング、アカウントリストを含む新しい InitializeV2 セクション;Initialize の事後条件が InitializeV2 を案内するように変更。
  • products/cpmm/fees:「クリエイターフィー」セクションで 3 つの作成パスすべてを列挙し、フィーを有効にしても料率は設定されないことを記載。
  • products/cpmm/accounts:poolState とプール ID のノート;creator_fee_on / enable_creator_fee フィールドのノート;Permission のノート;アカウントライフサイクルの行。
  • products/cpmm/overview:「新機能」コールアウトと「予測可能なフィー」の項目。
  • products/cpmm/code-demos:createPool が Initialize を構築することと、InitializeV2 を利用する方法についてのノート。
  • protocol-overview/shared-infrastructure:クリエイターフィーは LaunchLab 卒業プールに限定されなくなりました。
  • reference/token-2022-support:CPMM のプール作成パス。
検証対象:raydium-cp-swap ブランチ feat/initialize-v2(40cbd81):programs/cp-swap/src/lib.rs、instructions/initialize_v2.rs、instructions/initialize.rs、instructions/initialize_with_permission.rs、instructions/mod.rs、states/pool.rs、および tests/initialize_v2.test.ts。