Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
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 →
GlobalConfig es la cuenta de configuración a nivel de protocolo. Puede haber varias — indexadas por (curve_type, index) — y cada lanzamiento elige exactamente una al momento de Initialize. Los valores en el GlobalConfig elegido se convierten en límites estrictos para los parámetros de ese lanzamiento. Para personalización a nivel de plataforma (tasa de comisión por plataforma, formas de curva permitidas, divisiones de NFT al graduarse), consulta products/launchlab/platform-config.Qué es
UnGlobalConfig es un PDA único por (curve_type, index) que fija las reglas a nivel de protocolo que todo lanzamiento debe cumplir:
- El tipo de curva de vinculación permitida (
curve_type). - La tasa de comisión comercial que cobra la curva en cada compra y venta.
- La comisión de migración cobrada al graduarse.
- Pisos para el suministro, tasa de bloqueo, tasa de venta y tasa de migración.
- El mint de cotización (típicamente SOL envuelto o USDC) — el activo con el que los usuarios compran.
- Tres billeteras a nivel de protocolo: el propietario de la comisión de protocolo, el propietario de la comisión de migración, y las dos billeteras de control de migración que autorizan la graduación a AMM v4 / CPMM.
- Una bandera opcional (
requires_platform_auth) que controla qué plataformas pueden usar esta configuración.
GlobalConfig son creadas y actualizadas por el admin del programa LaunchLab (la clave pública del admin codificada que se comparte entre los programas de Raydium basados en Anchor — consulta reference/program-addresses).
Estructura
create_config del programa es la fuente de verdad.)
Semántica de campos
curve_type e index
Juntos indexan un GlobalConfig de manera única. Hay un GlobalConfig por cada par (curve_type, index):
curve_type = 0— Curva de reserva virtual de producto constante. La más predeterminada y utilizada.curve_type = 1— Curva de precio fijo.curve_type = 2— Curva de precio lineal.
index es un u16 que permite al admin publicar múltiples configuraciones por tipo de curva (por ejemplo, una con una comisión más ajustada, otra con un mínimo de recaudación de cotización más alto). En Initialize, el lanzamiento proporciona un par (curve_type, index) y el programa carga el GlobalConfig coincidente.
Comisiones
trade_fee_rate— denominada en1/1_000_000del volumen comercial. Se aplica en cada compra y venta de la curva. Elprotocol_fee_ownerreclama su parte a través deCollectFee.migrate_fee— una comisión plana en lamports (o unidades de cotización, según la configuración) cobrada una vez al graduarse. Reclamada pormigrate_fee_ownera través deCollectMigrateFee.max_share_fee_rate— inicializada a10_000(100 bps). Limita la tasa de comisión de participación de la plataforma desde elPlatformConfigvinculante (consultaplatform-config). El programa refuerzatrade_fee_rate + max_share_fee_rate < RATE_DENOMINATOR_VALUE.
Pisos de suministro y tasa
Estos pisos acotan qué parámetros de forma de curva puede elegir un lanzamiento enInitialize. Si los CurveParams del creador violan alguno de ellos, Initialize revierte con InvalidInput.
min_base_supply— elsupplymínimo (sin decimales) que la curva puede declarar. Predeterminado a10_000_000.max_lock_rate— denominada en1/1_000_000; predeterminado300_000(30%). Acota la adquisición de derechos mediantetotal_locked_amount <= supply * max_lock_rate / 1_000_000.min_base_sell_rate— denominada en1/1_000_000; predeterminado200_000(20%). Acotabase_supply_graduation / supplydesde abajo.min_base_migrate_rate— denominada en1/1_000_000; predeterminado200_000(20%). Acota el número de tokens restantes para inicializar el pool posterior a la graduación.min_quote_fund_raising—quote_reserve_targetmínimo que puede declarar un lanzamiento (con decimales). Predeterminado a30_000_000_000unidades del mint de cotización.
Mint de cotización y billeteras de protocolo
quote_mint— el activo con el que los usuarios compran. La mayoría de lanzamientos usan SOL envuelto (So111…112) o USDC (EPjF…Dt1v). UnGlobalConfigestá vinculado a un mint de cotización; los lanzamientos que necesitan un objetivo de cotización diferente apuntan a un(curve_type, index)diferente.protocol_fee_owner— clave pública que firmaCollectFeey reclama las comisiones de protocolo acumuladas en cada lanzamiento vinculado a esta configuración. Almacenada en cadena; el admin puede rotarla a través deUpdateConfig.migrate_fee_owner— clave pública que firmaCollectMigrateFee.
Billeteras de migración
Los dos caminos de graduación requieren firmantes diferentes:migrate_to_amm_wallet— debe firmarMigrateToAmm. Utilizada para lanzamientos cuyomigrate_type = 0(graduarse a AMM v4 + OpenBook).migrate_to_cpswap_wallet— debe firmarMigrateToCpswap. Utilizada paramigrate_type = 1(graduarse a CPMM). Los lanzamientos de Token-2022 siempre toman este camino.
requires_platform_auth
Una bandera u8 (0 = cualquiera puede usar esta configuración; distinto de cero = solo plataformas con un PDA PlatformGlobalAccess válido pueden lanzarse contra ella). Cuando se establece, cada Initialize contra este GlobalConfig debe incluir una cuenta PlatformGlobalAccess coincidente que pruebe que la plataforma ha sido preautorizada a través de CreatePlatformGlobalAccess (una instrucción solo para administrador). Consulta platform-config para la mecánica a nivel de plataforma.
Valores predeterminados en la inicialización
Cuando se llama aCreateConfig, el programa inicializa muchos campos con valores predeterminados codificados:
curve_type, index, migrate_fee, trade_fee_rate, quote_mint, y las cuatro claves públicas de billetera explícitamente en el momento de la creación; los valores posteriores pueden ajustarse a través de UpdateConfig.
Cómo un lanzamiento elige un GlobalConfig
En Initialize, el creador pasa:
(curve_type, index)para seleccionar cuál PDAGlobalConfigcargar.CurveParamsdescribiendo la forma de la curva (supply,total_base_sell,total_quote_fund_raising,migrate_type).VestingParamsdescribiendo el suministro bloqueado.MintParamspara el mint base.
curve_typecoincide conglobal_config.curve_type.supply >= global_config.min_base_supply.total_locked_amount <= supply * max_lock_rate / 1_000_000.total_base_sell >= supply * min_base_sell_rate / 1_000_000.(supply − total_base_sell − total_locked_amount) >= supply * min_base_migrate_rate / 1_000_000— es decir, suficientes tokens restantes para inicializar el pool posterior a la graduación.total_quote_fund_raising >= min_quote_fund_raising.- Si
requires_platform_auth != 0, se incluye un PDAPlatformGlobalAccessválido.
Initialize, el PoolState del lanzamiento almacena la clave pública global_config directamente, por lo que el vínculo es permanente.
Ruta de actualización
UpdateConfig es solo para administrador y toma un par (param: u8, value: u64). Cada valor de param selecciona qué campo mutar:
param | Campo cambiado |
|---|---|
| 0 | migrate_fee |
| 1 | trade_fee_rate |
| 2 | max_share_fee_rate |
| 3 | min_base_supply |
| 4 | max_lock_rate |
| 5 | min_base_sell_rate |
| 6 | min_base_migrate_rate |
| 7 | min_quote_fund_raising |
protocol_fee_owner, migrate_fee_owner, migrate_to_amm_wallet, migrate_to_cpswap_wallet) toman una forma de argumento Pubkey separada; consulta la fuente de update_config para la tabla de despacho exacta antes de componer una transacción de administrador.
requires_platform_auth se alterna a través de set_requires_platform_auth(bool).
Leer un GlobalConfig desde un cliente
getAllGlobalConfigs del SDK o consulta el punto final de la API de LaunchLab que las refleja; el número de cuentas en cadena es pequeño (dígitos únicos en la práctica).
Referencias
products/launchlab/platform-config— superposición por plataforma que limita aún más la forma de la curva.products/launchlab/accounts— gráfico de cuenta completo para un lanzamiento.products/launchlab/instructions— instruccionesInitializey de actualización.reference/program-addresses— clave pública del administrador, ID del programa, autoridades compartidas.
raydium-launch/programs/launchpad/src/states/config.rs— structGlobalConfigeinitialize.raydium-launch/programs/launchpad/src/lib.rs—create_config,update_config.


