Skip to main content
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 próxima actualización del programa LaunchLab. Fue verificada contra la rama de lanzamiento local antes del despliegue. Confirma el programa desplegado e IDL publicado antes de habilitar las nuevas rutas en producción.
Este lanzamiento permite que un launch sea cotizado en un mint Token-2022. Hasta ahora el lado de la cotización estaba cableado al programa SPL Token heredado, por lo que solo el mint base podía ser Token-2022. En cada lugar donde se toca el mint de cotización — creación de GlobalConfig, inicialización de pool, las cuatro instrucciones de swap, todas las reclamaciones de comisiones y migración CPMM — ahora se acepta cualquiera de los dos programas de token, y las instrucciones de swap tienen en cuenta la comisión de transferencia del mint de cotización.

TL;DR para integradores

  • Los mints de cotización pueden ser Token-2022. CreateConfig acepta un quote_token_mint Token-2022, e InitializeV2 / InitializeWithToken2022 aceptan cualquiera de los dos programas de token en la ranura de quote-program. El orden de cuentas no cambia — el valor que pasas en esa ranura sí.
  • El Initialize deprecado sigue siendo solo heredado. Su cuenta quote-program sigue tipada a SPL Token, por lo que una configuración cuyo mint de cotización es Token-2022 solo puede lanzarse a través de InitializeV2 o InitializeWithToken2022.
  • Los límites de slippage se mueven a lo que el pagador realmente paga y recibe. minimum_amount_out y maximum_amount_in ahora se comparan contra la cantidad neta de la comisión de transferencia del mint de cotización, no contra la cantidad que movió el vault. La lógica de cotización existente subestima el costo y sobrestima los ingresos en un mint de cotización que carga comisiones.
  • El bit1 de PoolState.token_program_flag se vuelve significativo. Siempre fue 0 mientras los mints de cotización eran solo heredados. Los clientes que comparan todo el byte contra 0 ahora leerán un mint base heredado como Token-2022 siempre que el mint de cotización sea Token-2022. Este es el quiebre silencioso más probable en este lanzamiento.
  • MigrateToCpswap renombra sus dos cuentas de token-program. base_token_program / quote_token_program se convierten en token_program / token_program_2022. Ambas siempre son requeridas, y el programa elige la correcta por mint.
  • Los pares mint/programa ahora se validan. Ambos mints de swap ganaron una restricción mint::token_program, al igual que el mint de cotización de ClaimPlatformFee, por lo que un par desajustado se revierte en lugar de ser ignorado.
  • Nuevo error 6023 CalculateOverflow. Los códigos 60006022 no cambian. 6023 fue desocupado por el lanzamiento anterior y ahora se reutiliza.
  • Los vaults de comisión siguen el mint de cotización. Los vaults de comisión del creador y la plataforma, y la cuenta de token del receptor de comisión de participación, viven en cualquier programa que sea propietario del mint de cotización.

Qué cuentas cambiaron de tipo

Ninguna de estas cambia de posición en su lista de cuentas. Solo el valor permitido cambia. Initialize (la ruta V1 deprecada) deliberadamente no está en esta tabla. Su cuenta quote-program sigue tipada a SPL Token. Varios de estos también endurecieron sus restricciones de mint, por lo que un par mint/programa desajustado ahora se revierte donde fue previamente aceptado o no verificado:
  • Las cuatro instrucciones de swap restringen tanto base_token_mint como quote_token_mint al programa pasado en la ranura correspondiente. Ninguno llevaba esa restricción antes, por lo que un programa base incorrecto fue silenciosamente aceptado.
  • ClaimPlatformFee añade la misma restricción en quote_mint.
  • ClaimPlatformFeeFromVault corrige su restricción de una forma de cuenta de token a la forma de mint en lo que es una cuenta de mint.

Contabilidad de comisión de transferencia del lado de la cotización

Esta es la parte que cambia números en lugar de listas de cuentas. En un mint de cotización sin TransferFeeConfig cada fórmula abajo colapsa al comportamiento anterior, por lo que los pools heredados y los pools Token-2022 sin comisión son bit-por-bit sin cambios. Dos consecuencias que vale la pena enunciar claramente:
  • Un límite calculado a partir de un pool equivalente sin comisión ya no es aceptable. BuyExactOut con el costo sin comisión como maximum_amount_in ahora se revierte con ExceededSlippage, y lo mismo hace SellExactIn con los ingresos sin comisión como minimum_amount_out. Ese es el comportamiento previsto — la comparación anterior permitía que al pagador se le debitara la comisión de transferencia además de un límite al que ya había acordado.
  • El libro del pool solo registra lo que llegó al vault. Después de un BuyExactIn de amount_in en un mint de cotización del 5%, real_quote avanza por amount_in × 0.95, no amount_in.
get_transfer_inverse_fee también eliminó su caso especial para un mint con comisión del 100%: en lugar de retroceder a maximum_fee, ahora devuelve el nuevo error CalculateOverflow cuando la comisión inversa no puede ser calculada. Un mint de cotización en 10000 puntos base por lo tanto falla las rutas exactas de salida en lugar de transaccionar silenciosamente en el límite de comisión.

Bit1 de token_program_flag

PoolState.token_program_flag es un campo de bits, y siempre lo ha sido:
El campo, las posiciones de bits y el código que escribe ambos bits todos preceden a este lanzamiento. Lo que cambia es que bit1 ahora puede ser realmente 1, porque un mint de cotización ahora puede ser un mint Token-2022. Los cuatro valores son: Lee el programa de cada mint con (token_program_flag >> bit) & 1. Cualquier cliente que trate el byte como un booleano para el mint base — flag === 0 ? Token : Token-2022 — resuelve el valor 2 a un mint base Token-2022 y construirá la cuenta de token del lado base y la transferencia contra el programa incorrecto. Sin cambios de tamaño de cuenta o desplazamiento de campo, por lo que los indexadores no necesitan migración de almacenamiento, solo una corrección de decodificación.

Renombramiento de cuenta de migración CPMM

MigrateToCpswap previamente tomaba un programa de token por mint, y el llamador decidía cuál era cuál. Ahora toma ambos programas incondicionalmente y deriva el mapeo de los mints mismos: Las dos posiciones no cambian, por lo que este es un cambio de valor, no un cambio de diseño — pero los valores están casi invertidos, y un constructor que siga pasando su par antiguo pasará Token-2022 donde el programa heredado es requerido tan pronto como cualquiera de los mints sea un mint Token-2022. El programa heredado sigue siendo requerido incondicionalmente independientemente de cualquiera de los mints, porque el mint LP de CPMM y el NFT de Fee Key de liquidez bloqueada siempre viven en él. El diseño de remaining_accounts del lanzamiento 2026-08-17 no cambia.

Los mints de cotización son admitidos solo por discreción del administrador

A diferencia de CPMM y CLMM, LaunchLab no ejecuta ninguna lista de permitidos de extensión contra un mint de cotización. CreateConfig acepta la cuenta de mint tal como está, por lo que la única puerta es qué mints un administrador vincula a un GlobalConfig. La verificación NoSupportExtension del programa se aplica únicamente a los mints base Token-2022 que LaunchLab crea por sí mismo, donde solo MetadataPointer y TransferFeeConfig están permitidos. Trata la vinculación de un mint de cotización Token-2022 como una acción de alta confianza con el mismo razonamiento que las listas blancas estáticas CPMM/CLMM en reference/token-2022-support. Un mint de cotización TransferHook o PermanentDelegate sería admitido en el momento de la creación de configuración y luego se ejecutaría en, o sería capaz de barrer, cada pool cotizado en él.

Puerta de marca de tiempo amm_creator_fee_on

InitializeV2 elimina la puerta de marca de tiempo que rechazaba cualquier amm_creator_fee_on que no fuera BothToken antes de la marca de tiempo de actualización. La puerta equivalente sigue presente en InitializeWithToken2022. En la práctica ambas rutas aceptan cualquiera de los dos valores en mainnet-beta hoy, porque esa marca de tiempo (1755522000, 2025-08-18 13:00 UTC) está muy en el pasado — esto es limpieza, no un cambio de comportamiento para los llamadores actuales.

Impacto de error e IDL

Los códigos 60006022 no cambian, incluyendo 6022 InvalidPlatformAllowConfig. El lanzamiento anterior retiró el antiguo 6023 y lo dejó vacante; este lanzamiento reutiliza el número. No decodifiques 6023 con un IDL de ninguna versión anterior. Actualiza el IDL de LaunchLab antes de pasar un programa de cotización Token-2022, decodificar el bit1 de token_program_flag, o construir la lista de cuentas MigrateToCpswap renombrada.

Impacto del SDK

El lado de cotización del módulo launchpad del SDK estaba codificado a TOKEN_PROGRAM_ID en los mismos lugares que el programa. La rama que acompaña este lanzamiento resuelve el propietario del mint de cotización en su lugar, lo hila a través de la creación de cuenta de token, el ATA del receptor de comisión de participación, y la ranura de quote-program de la instrucción, y añade un transferFeeConfigB opcional a los cuatro métodos Curve para que las cotizaciones reflejen las fórmulas anteriores. Los resultados de Curve ganan un campo transferFeeB; amountB mantiene su significado — lo que el pagador gasta o el vendedor recibe — por lo que un mint de cotización sin comisión produce números idénticos a antes. Estos cambios del SDK no están lanzados. El pin canónico en las páginas de demostración de código en este conjunto de documentación no cambia; verifica la versión publicada antes de confiar en los nuevos parámetros.

Implementación de referencia

Una nueva demostración se suscribe al programa LaunchLab sobre gRPC de Yellowstone y registra, para cada actualización de GlobalConfig y PoolState, si cada mint es un mint Token o Token-2022: raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts Es una referencia compacta para dos cosas que este lanzamiento hace necesarias. Los pools se clasifican directamente desde token_program_flag, decodificando ambos bits sin ninguna búsqueda de mint en absoluto — esa es la corrección para el quiebre de bit1 descrito anteriormente. Las configuraciones no pueden ser clasificadas de esa manera, porque un GlobalConfig almacena solo la dirección de su mint de cotización y ninguna bandera de programa, por lo que la demostración lee la cuenta de mint del propietario una vez y la almacena en caché por mint. Ver ambas rutas una al lado de la otra es la forma más rápida de verificar tu propio decodificador. Ver products/launchlab/code-demos para el recorrido.

Páginas actualizadas

  • products/launchlab/accounts — programa de token de mint de cotización, diseño de bits de token_program_flag, y propiedad del vault.
  • products/launchlab/instructions — cuentas de quote-program, semántica de slippage de swap, y cuentas de migración renombradas.
  • products/launchlab/global-configquote_mint puede ser un mint Token-2022, y qué lo controla y qué no.
  • products/launchlab/code-demos — el observador de config/pool de gRPC.
  • reference/token-2022-support — fila de LaunchLab y sección de mint de cotización.
  • reference/error-codes6023 CalculateOverflow.