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 CPMM programada para 2026-10-30. Se verificó contra la rama
feat/initialize-v2 de raydium-cp-swap (head 40cbd81) antes del despliegue. Confirma el programa desplegado antes de confiar en la nueva instrucción.enable_creator_fee y un lado creator_fee_on, ambos fijados en la creación. Hasta ahora, un creador solo podía establecerlos mediante InitializeWithPermission, que necesita un PDA Permission emitido por el administrador. La instrucción pública Initialize siempre almacenaba la comisión como deshabilitada. En la práctica, solo las graduaciones de LaunchLab y otros flujos controlados podían crear un pool que cobrara una comisión del creador.
Este lanzamiento agrega InitializeV2. Es Initialize con un argumento extra, creator_fee_on: Option<CreatorFeeOn>, y cualquiera puede llamarla. La matemática del pool, el swap, la liquidez, la recopilación de comisiones y la parte del protocolo de la comisión del creador no se tocan.
TL;DR para integradores
- Nueva instrucción:
InitializeV2. Sin permisos. Los argumentos soninit_amount_0,init_amount_1,open_timeycreator_fee_on: Option<CreatorFeeOn>. Discriminador[67, 153, 175, 39, 218, 16, 38, 32]. Some(side)habilita la comisión del creador en ese lado;Nonela deja desactivada.Nonealmacena exactamente lo mismo queInitialize.- Mismas cuentas que
Initialize, menosrent. Las primeras 19 cuentas son idénticas y están en el mismo orden. Consulta la lista de cuentas. - El creador es el firmante.
pool_state.pool_creatores elcreatorfirmante. A diferencia deInitializeWithPermission, el beneficiario no se puede establecer en otra dirección. - El creador elige si la activa y el lado, no la tasa. El pool cobra el
AmmConfig.creator_fee_ratede su nivel de comisión. Esa tasa es0por defecto, así que un pool habilitado en un nivel así no acumula nada. - Nada existente cambió.
InitializeeInitializeWithPermissionconservan sus discriminadores, cuentas, argumentos y comportamiento. Ningún diseño de cuenta ni código de error cambió. - Actualiza tu IDL para obtener la nueva instrucción. Los clientes que nunca la llamen no necesitan cambios.
Qué cambió en el programa
Nueva instrucción: InitializeV2
InitializeV2 ejecuta el mismo código de creación que Initialize. Esta instrucción:
- acepta como
pool_statela PDA canónica del pool o un keypair aleatorio firmado; - aplica las mismas verificaciones de la lista de permitidos de Token-2022 y de
SupportMintAssociated, medianteremaining_accounts; - rechaza la creación cuando
amm_config.disable_create_poolestá activado; - aumenta
open_timeablock_timestamp + 1cuando no está en el futuro; - bloquea 100 unidades base de LP y acuña el resto al creador;
- cobra
amm_config.create_pool_fee.
PoolState:
Un byte de etiqueta o de variante no válido falla en la deserialización de argumentos de Anchor. No interviene ningún código de error nuevo.
Cómo se comparan las tres rutas de creación
Refactorización interna
Los tres handlers ahora comparten una única rutinainitialize_pool. La refactorización no cambia las cuentas, argumentos, verificaciones ni valores almacenados de Initialize o InitializeWithPermission. Las nuevas pruebas también verifican que un Initialize simple sobre la misma configuración sigue almacenando la comisión del creador como deshabilitada.
Qué deben saber los creadores
- Revisa primero el nivel de comisión. La tasa de la comisión del creador pertenece a la
AmmConfig, no al pool. Elige un nivel cuyocreator_fee_ratesea lo que quieres cobrar. Las tasas se enumeran enproducts/cpmm/fees. - La elección es permanente. Ninguna instrucción cambia
enable_creator_feenicreator_fee_ondespués de la creación. Para cambiarla, debes crear un nuevo pool. - Los traders la pagan además de la comisión de trading. La comisión del creador es una tasa separada que se suma al swap. No reduce las partes de LP, protocolo o fondo, pero sí hace que operar contra el pool sea más caro que contra un pool del mismo nivel con la comisión desactivada.
- La recopilación no cambia. Usa
CollectCreatorFeeoCollectCreatorFeePermissionless. Se aplica la parte del protocolo del lanzamiento 2026-09-19, y no puedes excluirte de ella en la creación.
Notas de migración
- Creadores de pools. Cambia de
InitializeaInitializeV2solo si quieres activar la comisión del creador. PasaSome(side)y elimina la cuentarent.Initializesigue funcionando. - Usuarios del SDK.
raydium.cpmm.createPoolen@raydium-io/raydium-sdk-v2@0.2.64-alphaconstruyeInitialize. Hasta que una versión incluya un constructor deInitializeV2, codifícala a partir del IDL actualizado. - Indexadores y routers. Espera más pools con
enable_creator_fee = true, creados por wallets comunes en lugar de LaunchLab. Cotiza a partir de los propiosenable_creator_feeycreator_fee_onde cada pool, nunca a partir de la ruta de creación o del nivel por sí solo. Decodifica la nueva instrucción si rastreas la creación de pools a partir de instrucciones. El rastreo a partir de cuentasPoolStateno necesita cambios. - Interfaces. Muestra si un pool cobra una comisión del creador y a qué tasa, ya que dos pools del mismo nivel ahora pueden diferir.
- LaunchLab y otros flujos con permisos. Sin cambios.
InitializeWithPermissionsigue siendo la ruta cuando el pagador y el creador registrado deben ser distintos.
Qué no cambió
- Todos los diseños de cuenta, incluidos
PoolStateyAmmConfig. InitializeeInitializeWithPermission: discriminadores, cuentas, argumentos y valores almacenados.Permission,CreatePermissionPdayClosePermissionPda.- La matemática de swap, depósito y retiro, el cobro de la comisión del creador y la parte del protocolo de la comisión del creador.
- Códigos de error.
6000–6015no cambian; no se añadió nada. - ID del programa.
Páginas actualizadas
products/cpmm/instructions: banner de la actualización; filas del resumen y de la matriz de cambio de estado; nueva secciónInitializeV2con argumentos, codificación y lista de cuentas; la postcondición deInitializeahora apunta aInitializeV2.products/cpmm/fees: la sección “Comisión del creador” enumera las tres rutas de creación y señala que habilitar la comisión no establece su tasa.products/cpmm/accounts: notas sobrepoolStatey el ID del pool; notas de los camposcreator_fee_on/enable_creator_fee; nota sobrePermission; fila del ciclo de vida de cuentas.products/cpmm/overview: el aviso “Novedades” y la viñeta “Comisiones predecibles”.products/cpmm/code-demos: nota de quecreatePoolconstruyeInitializey de cómo llegar aInitializeV2.protocol-overview/shared-infrastructure: las comisiones de creador ya no se limitan a pools graduados de LaunchLab.reference/token-2022-support: rutas de creación de pools de CPMM.
feat/initialize-v2 de raydium-cp-swap (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 y tests/initialize_v2.test.ts.
