Saltar al contenido principal
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 página documenta el gráfico de cuentas por lanzamiento: la PoolState (la cuenta de estado raíz de un lanzamiento), sus dos vaults, el PDA de autoridad, y las referencias posteriores a la graduación que adquiere cuando el lanzamiento se liquida.Para la configuración a nivel de protocolo que limita cada lanzamiento, consulta products/launchlab/global-config. Para la superposición por plataforma, consulta products/launchlab/platform-config. Para cuentas de vesting (VestingSchedule en PoolState, VestingRecord por beneficiario), consulta products/launchlab/vesting.

Inventario de cuentas

El método raydium.launchpad.getLaunchById del SDK devuelve PoolState más una bandera que indica si el lanzamiento se ha graduado; si es así, se incluye el ID del pool posterior a la migración.

PoolState

El estado raíz por lanzamiento. Los nombres de campo a continuación coinciden con la estructura Rust en cadena (states/pool.rs); algunos valores se han simplificado para legibilidad — consulta la fuente para el diseño exacto de memoria.
Valores de PoolStatus (del IDL de Anchor):
Campos orientados al integrador:
  • status — tres valores, monótonos (Funding → Migrate → Migrated). Las lecturas son siempre seguras; las escrituras están controladas.
  • real_base, real_quote — estado actual de la curva. Combinados con virtual_base / virtual_quote son suficientes para calcular el precio spot sin tocar los vaults. Consulta bonding-curve.
  • total_base_sell vs real_base — relación de “progreso hacia la graduación” para interfaces de usuario.
  • migrate_type — selecciona si MigrateToAmm o MigrateToCpswap es la ruta válida de graduación. Los lanzamientos de Token-2022 deben usar CPMM.
  • amm_creator_fee_on — solo significativo cuando se gradúa a CPMM. Elige creator_fee_on = OnlyQuoteToken (0) o BothToken (1) en el pool de CPMM posterior a la graduación. A pesar del nombre, este enum también controla efectivamente el objetivo de migración — BothToken está emparejado con MigrateToAmm en la práctica operacional actual; QuoteToken con MigrateToCpswap. Consulta creator-fees.
  • quote_protocol_fee / platform_fee / migrate_fee — tres contadores de comisión independientes. Cada uno tiene su propia instrucción de reclamación; consulta instructions.
  • vesting_schedule — presente en cada PoolState pero inactivo cuando total_locked_amount == 0. Consulta vesting para el ciclo de vida completo.

El PDA de autoridad

LaunchLab utiliza un único PDA de autoridad en todos los lanzamientos, derivado sin ninguna semilla por lanzamiento:
Ese único PDA es:
  • La autoridad en los base_vault y quote_vault de cada lanzamiento.
  • El mint_authority en el base_mint de cada lanzamiento (pre-graduación).
  • El firmante en el CPI posterior a la graduación a AMM v4 / CPMM (MigrateTo*).
  • El firmante en las transferencias ClaimVestedToken fuera del base vault.
El mint_authority se revoca inmediatamente después de MigrateToAmm / MigrateToCpswap para que el suministro se fije permanentemente. Dos PDAs adicionales controlan los vaults de comisión:
Estos firman la transferencia fuera del vault de comisión correspondiente durante ClaimCreatorFee y ClaimPlatformFeeFromVault.

Mint base

Creado en línea por Initialize con:
  • mint_authority = authority (revocado en la graduación).
  • freeze_authority = None.
  • supply = supply, completamente acuñado en base_vault.
  • decimals elegido por el creador en Initialize (comúnmente 6).
Dado que el suministro completo se acuña previamente, base_mint.supply es constante durante toda la vida del lanzamiento. Las compras en la curva mueven tokens de base_vault al comprador, pero no llaman a mint_to. Initialize / InitializeV2 crean lanzamientos de SPL Token. La instrucción dedicada InitializeWithToken2022 permite que el mint base sea un mint de Token-2022 (con opcional TransferFeeConfig); el mint quote sigue siendo SPL Token. Los lanzamientos de Token-2022 deben graduarse a un pool de CPMM porque AMM v4 solo admite vaults de SPL Token.

Vaults

Tanto base_vault como quote_vault son cuentas SPL Token estándar propiedad del PDA de authority de LaunchLab. Las direcciones se almacenan en PoolState y también pueden derivarse:
(Verifica los prefijos de semilla exactos del struct de cuentas Initialize en la fuente antes de depender de una derivación en producción.)

Vaults de comisión

Dos PDAs agregan comisiones en todos los lanzamientos:
  • Vault de comisión del creador — PDA en las semillas [creator, quote_mint]. Cada lanzamiento que obtiene las mismas comisiones del creador en el mismo quote mint se vierte en el mismo vault. El creador lo barre mediante ClaimCreatorFee.
  • Vault de comisión de plataforma — PDA en las semillas [platform_config, quote_mint]. Cada lanzamiento enrutado a través de la misma plataforma que usa el mismo quote mint se vierte en el mismo vault. El platform_fee_wallet de la plataforma lo barre mediante ClaimPlatformFeeFromVault. También hay una variante de barrida por lanzamiento (ClaimPlatformFee) que extrae del quote_vault del lanzamiento directamente sin pasar por el vault agregado.
El patrón de vault agregado es lo que permite que un creador o plataforma de alto volumen amortice el costo de alquiler de la acumulación de comisiones en muchos lanzamientos.

Quote vault ↔ real_quote

quote_vault.balance y PoolState.real_quote deben mantenerse sincronizados. Pueden desviarse como máximo la suma de los tres contadores de comisión pendientes (quote_protocol_fee, platform_fee, migrate_fee), que se encuentran en el vault pero pertenecen a los contadores de comisión y no a la reserva de la curva. Las matemáticas de la curva siempre usan real_quote, nunca el saldo sin procesar del vault. Invariante pre-graduación:

Transiciones de cuentas del ciclo de vida

A dónde ir a continuación

Fuentes:
  • raydium-launch/programs/launchpad/src/states/pool.rsPoolState, PoolStatus, VestingSchedule, AmmCreatorFeeOn.
  • raydium-launch/programs/launchpad/src/lib.rs — constantes de semilla de PDA (AUTH_SEED, CREATOR_FEE_VAULT_AUTH_SEED, PLATFORM_FEE_VAULT_AUTH_SEED).
  • Módulo launchpad del SDK de Raydium v2.