Esta página fue traducida automáticamente por IA. La versión en inglés es la fuente autorizada.Ver versión en inglés →
Esta entrada cubre una actualización del programa CLMM programada para 2026-10-22. Se verificó contra la rama
feat/create-customizable-pool-v2 de raydium-clmm (head 18f5db1) antes del despliegue. Confirma el programa desplegado antes de confiar en el nuevo nombre de instrucción o lista de cuentas.CreatePermissionedPool, que permite a un llamador crear más de un pool para el mismo (amm_config, token_mint_0, token_mint_1) incorporando un seed_index en el PDA del pool. Estaba controlado: el pagador tenía que poseer un PDA Permission emitido por un administrador.
Este lanzamiento elimina esa compuerta. La instrucción se renombra a CreateCustomizablePoolV2, cualquiera puede llamarla, y toda la maquinaria de permisos se elimina del programa. Las matemáticas del pool, swap, liquidez, órdenes limitadas, comisiones y recompensas no se modifican.
TL;DR para integradores
CreatePermissionedPool→CreateCustomizablePoolV2. Los mismos argumentos (CreateCustomizableParams,seed_index: u16) y la misma derivación de dirección del pool. El discriminador de Anchor cambia con el nombre, por lo que una transacción construida contra la instrucción anterior falla después de la actualización. Reconstruyela contra el nuevo IDL.- La cuenta
permissionse ha eliminado de la lista de cuentas. Estaba en la posición 3, por lo que cada cuenta desdeamm_configen adelante se mueve una posición hacia arriba. Consulta la nueva lista de cuentas. - La creación de múltiples pools ahora es sin permisos. Cualquier pagador puede crear pools adicionales para un par y nivel de comisión con un
seed_indexdistinto de cero. Trata un par como potencialmente teniendo muchos pools CLMM por nivel de comisión, creados por cualquiera. Permission,CreatePermissionPdayClosePermissionPdase eliminan. El programa e IDL ya no conocen el tipoPermission.- Actualiza tu IDL. Elimina dos instrucciones y un tipo de cuenta, para 37 instrucciones y 53 errores.
- Ningún diseño de cuenta cambió y ningún código de error se agregó.
PoolState.seed_indexmantiene su desplazamiento; solo su significado se amplía de “pool con permisos” a “cualquier pool V2”.
Qué cambió en el programa
CreatePermissionedPool renombrado a CreateCustomizablePoolV2
El manejador es el mismo código bajo un nuevo nombre. Todavía:
- requiere
seed_index > 0; - deriva el pool en
["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()]; - toma los mismos
CreateCustomizableParamsqueCreateCustomizablePool, por lo que la comisión de un lado (collect_fee_on) y la opción de comisión dinámica funcionan de la misma manera; - aplica las mismas comprobaciones de soporte de Token-2022 que
CreatePool; - registra
pool_creatorcomopool_state.ownery escribeseed_indexenPoolState; - emite
PoolCreatedEvent.
Permission es el único comportamiento eliminado.
Lista de cuentas de CreateCustomizablePoolV2
remaining_accounts no cambian: los PDAs del registro de mint de soporte cuando un mint de Token-2022 los necesita, y DynamicFeeConfig al final cuando enable_dynamic_fee = true.
Eliminado: Permission, CreatePermissionPda, ClosePermissionPda
- El tipo de cuenta
Permission(["permission", authority], 280 bytes) se elimina del programa. CreatePermissionPdayClosePermissionPdase eliminan, junto con la clave dedicadapermission_pda_adminque podía firmarlas.- Los PDAs de Permission creados antes de la actualización permanecen en la cadena. El programa ya no los lee y ya no tiene una instrucción que los cierre.
Códigos de error
Sin cambios.6000–6052 mantienen sus números. NotApproved (6000) ya no tiene un caso “el firmante no es ni admin ni permission_pda_admin”, porque esas instrucciones se han eliminado.
Notas de migración
- Creadores de pools. Cambia de
CreatePermissionedPoolaCreateCustomizablePoolV2, elimina la cuentapermissiony desplaza las cuentas restantes una posición hacia arriba. Ya no necesitas una concesión de administrador. - Indexadores y enrutadores. Indexa pools CLMM desde
PoolCreatedEvento escaneando cuentasPoolState, no derivando el PDA de cuatro semillas. Almacenaseed_indexpara cualquier pool donde sea distinto de cero, porque lo necesitas para re-derivar la dirección. Espera más pools no canónicos ahora que cualquiera puede crearlos, y no asumas que el pool canónico es el más profundo. - Interfaces de usuario. Un par y nivel de comisión pueden tener muchos pools con diferentes precios iniciales. Muestra la liquidez y la dirección del pool, y no presentes un pool como oficial por su
owner. - Consumidores de IDL. Elimina cualquier código de decodificador o cliente para
Permission,CreatePermissionPdayClosePermissionPda.
Qué no cambió
- Cada diseño de cuenta, incluyendo
PoolState(el camposeed_indexy su desplazamiento son los mismos). CreatePoolyCreateCustomizablePool. Todavía crean el único pool canónico por par y nivel, conseed_index = [0, 0].- Pools creados a través de
CreatePermissionedPoolantes de la actualización. Sus direcciones, estado yseed_indexno cambian. - Códigos de error, comportamiento de swap, liquidez, comisión, comisión dinámica, recompensa y órdenes limitadas.
- ID del programa.
Páginas actualizadas
products/clmm/instructions: banner de actualización; filas de inventario y control administrativo; secciónCreateCustomizablePoolV2con la nueva lista de cuentas.products/clmm/accounts:Permissioneliminado del inventario y documentado como retirado; descripción deseed_index; ayudante de PDA renombrado aderiveCustomizablePoolV2; filas de ciclo de vida.products/clmm/overview: nota “Novedades”.security/admin-and-multisig: rolpermission_pda_admineliminado de la tabla CLMM.reference/error-codes: descripción deNotApproved.reference/token-2022-support: rutas de creación de pools CLMM.sdk-api/anchor-idl: recuento de instrucciones CLMM.protocol-overview/versions-and-migration: viñeta del historial de actualizaciones 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, y los eliminados admin/create_permission_pda.rs, admin/close_permission_pda.rs, states/permission.rs.
