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 →
LaunchLab expone un conjunto de instrucciones reducido: seis llamadas orientadas al usuario más un puñado de primitivos administrativos. El SDK envuelve todas ellas; esta página documenta la superficie bruta para agregadores, herramientas de monitoreo y programas que necesitan CPI.
Inventario de instrucciones
La división “ExactIn/ExactOut” refleja
SwapBaseInput / SwapBaseOutput de CPMM — en cadena son discriminadores de instrucción separados con redondeo ligeramente diferente.
Selección de ruta de graduación. migrate_type se registra en PoolState en el momento de Initialize{V2,WithToken2022} y determina cuál de las dos instrucciones de graduación puede ejecutarse. Los lanzamientos Token-2022 siempre migran a CPMM. Los lanzamientos SPL Token migran a AMM v4 o CPMM según la configuración amm_creator_fee_on:
BothToken→MigrateToAmm→ grupo AMM v4 (la comisión del creador puede cobrarse de cualquier lado; AMM v4 no tiene campo nativo de comisión del creador, por lo que las comisiones del creador se cobran mediante el mecanismo de bloqueo LP NFT).QuoteToken→MigrateToCpswap→ grupo CPMM concreator_fee_on = OnlyQuoteToken(el creador continúa ganando comisiones del grupo CPMM a través del NFT de Clave de Comisión de LaunchLab — verproducts/launchlab/creator-fees).
Initialize
Crear un nuevo lanzamiento.
Argumentos
Precondiciones
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- Los parámetros de comisión pasan verificaciones de
launch_config.max_*_fee_rate. open_time ≥ now − slop(SDK refuerza≥ now; el programa tolera datación anterior leve).curve_typees reconocido.
base_minttienesupply = base_supply_max, todo enbase_vault.base_mint.mint_authority = launch_authority,freeze_authority = None.LaunchStateinicializado constatus = Active,base_sold = 0,quote_reserve_real = 0.quote_reserve_targetcalculado a partir de parámetros de curva +base_supply_graduation+buy_numerator(aproximadamente).
InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.
Buy (variante canónica: BuyExactIn)
El usuario proporciona un quote_in fijo; la curva calcula base_out.
Argumentos
Precondiciones
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
- Divide
quote_inenquote_in_after_feey las partes de comisión. - Resuelve Newton la curva para
base_outdada la comisión post-comisión. require(base_out ≥ minimum_base_out)si no, revierteExceededSlippage.- Mueve
quote_inusuario → bóveda. Muevebase_outbóveda → usuario. - Actualiza
base_sold += base_out,quote_reserve_real += quote_in_after_fee × (lp_share / total_share). - Actualiza contadores de comisiones (
protocol_fees_quote,creator_fees_quote). state_data.num_buys += 1.- Si
quote_reserve_real ≥ quote_reserve_targetdespués de la actualización, el SDK típicamente encadena una ixGraduateen la misma transacción. El programa no auto-gradúa dentro deBuy— se requiere unGraduateposterior.
BuyExactOut
El usuario especifica el exacto base_out; el programa calcula quote_in.
Argumentos
BuyExactIn. Usa la integral cuadrática de forma cerrada (o inversa CPMM, para curve_type 1) en lugar de iteración Newton.
Sell / SellExactIn / SellExactOut
Espejo de Buy. El usuario retorna base_in a la curva y recibe quote_out. La comisión se deduce de quote_out, por lo que el usuario recibe menos que los ingresos integrados brutos.
Precondiciones —
user_base_ata.balance ≥ base_in.- Vender no puede empujar
base_soldpor debajo de 0 (redundante con lo anterior dado que la contabilidad es consistente). - El lanzamiento es
Active.
Buy. base_sold disminuye, quote_reserve_real disminuye. Las comisiones aún se acumulan.
MigrateToAmm / MigrateToCpswap
Gradúa un lanzamiento en un grupo AMM negociable una vez que la curva ha alcanzado total_quote_fund_raising. Las dos instrucciones corresponden a los dos objetivos de graduación — AMM v4 y CPMM — y solo una de ellas es válida para cualquier lanzamiento dado, determinado por pool_state.migrate_type (establecido en tiempo de Initialize).
Quién firma
MigrateToAmm— lamigrate_to_amm_walletregistrada en elGlobalConfigvinculado.MigrateToCpswap— lamigrate_to_cpswap_walletregistrada en elGlobalConfigvinculado.
MigrateToAmm toma tres (principalmente parámetros de mercado OpenBook que el programa reenvía a AMM v4):
MigrateToCpswap no toma ninguno.
Efecto (común a ambos)
- Verifica
pool_state.status == Migrate(es decir,quote_reserve_targetha sido alcanzado). Si no, revierte conPoolMigrated(el estado ya fueMigrated) oPoolFunding(aún en financiamiento). - Verifica
pool_state.migrate_typecoincida con la instrucción (0para AMM,1para CPMM). Si no, revierte conMigrateTypeNotMatch. - Calcula las reservas posteriores a la graduación:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- CPI al programa objetivo (
AMM v4 Initialize2oCPMM InitializeWithPermission) con esas reservas para crear el grupo posterior a la graduación. - Divide el LP resultante según el
PlatformConfig.{platform_scale, creator_scale, burn_scale}vinculado (solo CPMM) — una parte acuñada aplatform_nft_wallet, una a un NFT de creador envuelto por el programa LP-Lock, una quemada vía Burn & Earn. Para graduación AMM v4, la disposición del LP se rige por los parámetros de inicialización propios de AMM v4. - Revoca
base_mint.mint_authority(establecer aNone). - Voltea
pool_state.status = Migrated, establecevesting_schedule.start_time = block_time + cliff_period.
BuyExactIn, BuyExactOut, SellExactIn, SellExactOut rechazarán desde este punto con PoolMigrated. El grupo AMM resultante es canónico y negocia como cualquier otro grupo AMM v4 / CPMM.
Errores comunes — PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.
CollectFee
Barrido administrativo de las comisiones comerciales acumuladas del protocolo en un único lanzamiento.
Argumentos — ninguno.
Cuentas
Efecto — transferir
pool_state.quote_protocol_fee desde quote_vault a recipient_token_account, luego poner a cero el contador. Invocable en cualquier momento después de la primera compra.
CollectMigrateFee
Barrido administrativo de la comisión de migración acumulada en la graduación. La misma forma de cuenta que CollectFee con migrate_fee_owner como el firmante (en lugar de protocol_fee_owner) y pool_state.migrate_fee como el contador drenado.
ClaimCreatorFee
Barrido por creador de comisiones del creador acumuladas en cada lanzamiento que posee el creador que usa la misma comisión quote. Drena la bóveda de comisión por creador, no la por grupo.
Argumentos — ninguno.
Cuentas
Efecto — transferir el saldo completo de
creator_fee_vault a recipient_token_account. Revierte con una verificación require-mayor-que-cero si la bóveda está vacía.
ClaimPlatformFee
Barrido por plataforma que drena la bóveda de quote de un lanzamiento directamente. Usa esto cuando una plataforma quiere reclamar su porción para un lanzamiento específico sin pasar por la bóveda de plataforma agregada.
Argumentos — ninguno.
Cuentas
Efecto — transferir
pool_state.platform_fee desde quote_vault a recipient_token_account, poner a cero el contador.
ClaimPlatformFeeFromVault
Barrido agregado por plataforma. Drena la bóveda de comisión por mint quote por plataforma que acumula comisiones de cada lanzamiento enrutado a través de la plataforma.
Argumentos — ninguno.
Cuentas
Efecto — transferir el saldo completo de
platform_fee_vault a recipient_token_account. Revierte si la bóveda está vacía.
Instrucciones de vesting y config de plataforma
Estas están documentadas en páginas dedicadas porque cada una tiene su propio modelo de estado:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,UpdatePlatformCurveParam,RemovePlatformCurveParam,CreatePlatformGlobalAccess,ClosePlatformGlobalAccessCreateConfig,UpdateConfig
Matriz de cambio de estado
Hacia dónde ir a continuación
products/launchlab/code-demos— ejemplos de TypeScript para cada instrucción.products/launchlab/accounts— forma de estado completo.reference/error-codes— enum de errores de LaunchLab.
- Módulo
LaunchLabdel SDK Raydium v2 - Código fuente del programa Raydium LaunchLab

