このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
このエントリは 2026-10-22 に予定されている CLMM プログラムアップグレードについて説明しています。デプロイ前に
raydium-clmm の feat/create-customizable-pool-v2 ブランチ(ヘッド 18f5db1)に対して検証されました。新しい命令名またはアカウントリストに依存する前に、デプロイされたプログラムを確認してください。CreatePermissionedPool が追加され、呼び出し元が seed_index をプール PDA に組み込むことで、同じ (amm_config, token_mint_0, token_mint_1) に対して複数のプールを作成できるようになりました。ただし、ゲートがありました。ペイヤーは管理者が発行した Permission PDA を保有する必要がありました。
このリリースではそのゲートが削除されます。命令は CreateCustomizablePoolV2 に改名され、誰でも呼び出せるようになり、プログラムから権限管理機構全体が削除されます。プール数学、スワップ、リクイディティ、リミットオーダー、フィー、リワードは変更されません。
インテグレーター向け TL;DR
CreatePermissionedPool→CreateCustomizablePoolV2。 同じ引数(CreateCustomizableParams、seed_index: u16)と同じプールアドレス派生。Anchor ディスクリミネータは名前とともに変わるため、古い命令に対して構築されたトランザクションはアップグレード後に失敗します。新しい IDL に対して再構築してください。permissionアカウントはアカウントリストから削除されました。 スロット 3 にありましたので、amm_config以降のすべてのアカウントが 1 つ上に移動します。新しいアカウントリストを参照してください。- 複数プール作成はパーミッションレスになりました。 任意のペイヤーが 0 以外の
seed_indexでペアとフィーティアに対して追加プールを作成できます。ペアはフィーティアごとに多くの CLMM プールを持つ可能性があり、誰でも作成できるものとして扱ってください。 Permission、CreatePermissionPda、ClosePermissionPdaは削除されました。 プログラムと IDL はPermissionタイプを認識しなくなります。- IDL を更新してください。 2 つの命令と 1 つのアカウントタイプが削除され、37 個の命令と 53 個のエラーになります。
- アカウントレイアウトは変更されず、エラーコードも追加されていません。
PoolState.seed_indexはオフセットを保持します。意味は「パーミッション付きプール」から「任意の V2 プール」に拡張されるだけです。
プログラムで変更されたもの
CreatePermissionedPool が CreateCustomizablePoolV2 に改名
ハンドラーは新しい名前の下で同じコードです。以下の処理は変わりません:
seed_index > 0が必須;["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()]でプールを派生;CreateCustomizablePoolと同じCreateCustomizableParamsを取得するため、片側フィー(collect_fee_on)と動的フィーオプトインは同じように機能;CreatePoolと同じ Token-2022 サポートミントチェックを適用;pool_creatorをpool_state.ownerとして記録し、seed_indexをPoolStateに書き込み;PoolCreatedEventを発行。
Permission PDA チェックは削除された唯一の動作です。
CreateCustomizablePoolV2 アカウントリスト
remaining_accounts は変更されません。Token-2022 ミントが必要な場合のサポートミントレジストリ PDA、および enable_dynamic_fee = true の場合の DynamicFeeConfig(最後)です。
削除:Permission、CreatePermissionPda、ClosePermissionPda
Permissionアカウントタイプ(["permission", authority]、280 バイト)はプログラムから削除されました。CreatePermissionPdaとClosePermissionPdaは削除され、それらに署名できる専用のpermission_pda_adminキーも削除されました。- アップグレード前に作成された Permission PDA はチェーン上に残ります。プログラムはそれらを読み込まなくなり、それらを閉じる命令もなくなります。
エラーコード
変更なし。6000–6052 は番号を保持します。NotApproved(6000)は「署名者が admin でも permission_pda_admin でもない」ケースを持たなくなります。これらの命令が削除されたためです。
マイグレーションノート
- プール作成者。
CreatePermissionedPoolからCreateCustomizablePoolV2に切り替え、permissionアカウントを削除し、残りのアカウントを 1 スロット上に移動してください。管理者の許可は不要になります。 - インデクサーとルーター。
PoolCreatedEventから CLMM プールをインデックスするか、4 シード PDA を派生させるのではなくPoolStateアカウントをスキャンしてください。0 以外のseed_indexを持つプールについてはseed_indexを保存してください。アドレスを再派生させるために必要です。誰でもプールを作成できるようになったため、より多くの非正規プールが存在することを予想し、最も深いプールが正規であると仮定しないでください。 - UI。 ペアとフィーティアは異なる開始価格を持つ多くのプールを持つことができます。リクイディティとプールアドレスを表示し、
ownerのためにプールを公式として提示しないでください。 - IDL コンシューマー。
Permission、CreatePermissionPda、ClosePermissionPdaのデコーダーまたはクライアントコードを削除してください。
変更されなかったもの
- すべてのアカウントレイアウト(
PoolStateを含む。seed_indexフィールドとそのオフセットは同じ)。 CreatePoolとCreateCustomizablePool。 引き続き、ペアとティアごとに単一の正規プールを作成し、seed_index = [0, 0]です。- アップグレード前に
CreatePermissionedPoolを通じて作成されたプール。 それらのアドレス、状態、seed_indexは変更されません。 - エラーコード、スワップ、リクイディティ、フィー、動的フィー、リワード、リミットオーダーの動作。
- プログラム ID。
更新されたページ
products/clmm/instructions:アップグレードバナー;インベントリと管理者ゲート行;新しいアカウントリスト付きCreateCustomizablePoolV2セクション。products/clmm/accounts:インベントリからPermissionを削除し、廃止として記録;seed_index説明;PDA ヘルパーをderiveCustomizablePoolV2に改名;ライフサイクル行。products/clmm/overview:「新機能」ノート。security/admin-and-multisig:CLMM テーブルからpermission_pda_adminロールを削除。reference/error-codes:NotApproved説明。reference/token-2022-support:CLMM プール作成パス。sdk-api/anchor-idl:CLMM 命令数。protocol-overview/versions-and-migration:CLMM アップグレード履歴箇条書き。
raydium-clmm ブランチ feat/create-customizable-pool-v2(18f5db1):instructions/create_customizable_pool_v2.rs、instructions/mod.rs、instructions/admin/mod.rs、states/mod.rs、states/pool.rs、lib.rs、および削除された admin/create_permission_pda.rs、admin/close_permission_pda.rs、states/permission.rs。
