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.
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
GlobalConfig est le compte de configuration au niveau du protocole. Il peut y en avoir plusieurs — identifiés par (curve_type, index) — et chaque lancement en choisit exactement un au moment de l’Initialize. Les valeurs du GlobalConfig choisi deviennent alors des limites incontournables pour les paramètres de ce lancement. Pour la personnalisation au niveau de la plateforme (taux de frais par plateforme, formes de courbes autorisées, répartitions NFT à la graduation), consultez products/launchlab/platform-config.Qu’est-ce que c’est
UnGlobalConfig est un PDA singleton-par-(curve_type, index) qui fixe les règles au niveau du protocole que tout lancement doit respecter :
- Le type de courbe de liaison autorisé (
curve_type). - Le taux de frais commerciaux que la courbe prélève sur chaque achat et vente.
- Les frais de migration prélevés à la graduation.
- Des planchers sur la fourniture, le taux de verrouillage, le taux de vente et le taux de migration.
- Le mint de cotation (généralement SOL enrobé ou USDC) — l’actif avec lequel les utilisateurs achètent.
- Trois portefeuilles au niveau du protocole : le propriétaire des frais de protocole, le propriétaire des frais de migration, et les deux portefeuilles de contrôle de migration qui autorisent la graduation vers AMM v4 / CPMM.
- Un drapeau optionnel (
requires_platform_auth) qui limite les plates-formes pouvant utiliser cette configuration.
GlobalConfig sont créés et mis à jour par l’administrateur du programme LaunchLab (la clé publique d’administrateur codée en dur partagée entre les programmes Raydium basés sur Anchor — voir reference/program-addresses).
Disposition
create_config du programme est la source de vérité.)
Sémantique des champs
curve_type et index
Ensemble, ces champs identifient un GlobalConfig de manière unique. Il y a un GlobalConfig par paire (curve_type, index) :
curve_type = 0— Courbe de réserve virtuelle à produit constant. La plus utilisée par défaut.curve_type = 1— Courbe à prix fixe.curve_type = 2— Courbe à prix linéaire.
index est un u16 qui permet à l’administrateur de publier plusieurs configurations par type de courbe (par exemple, une avec des frais plus serrés, une avec un minimum de levée de fonds plus élevé). À l’Initialize, le lancement fournit une paire (curve_type, index) et le programme charge le GlobalConfig correspondant.
Frais
trade_fee_rate— dénominé en1/1_000_000du volume d’échange. Appliqué à chaque achat et vente sur la courbe. Leprotocol_fee_ownerréclame sa part viaCollectFee.migrate_fee— frais fixes en lamports (ou unités de cotation, selon la configuration) prélevés une fois à la graduation. Réclamés parmigrate_fee_ownerviaCollectMigrateFee.max_share_fee_rate— initialisé à10_000(100 bps). Limite le taux de frais de partage de la plateforme provenant duPlatformConfigcontraignant (voirplatform-config). Le programme impose quetrade_fee_rate + max_share_fee_rate < RATE_DENOMINATOR_VALUE.
Planchers de fourniture et de taux
Ces planchers limitent les paramètres de forme de courbe qu’un lancement peut choisir à l’Initialize. Si les CurveParams du créateur les violent, l’Initialize échoue avec InvalidInput.
min_base_supply— lasupplyminimale (sans décimales) que la courbe peut déclarer. La valeur par défaut est10_000_000.max_lock_rate— dénominé en1/1_000_000; valeur par défaut300_000(30%). Limite le verrouillage viatotal_locked_amount <= supply * max_lock_rate / 1_000_000.min_base_sell_rate— dénominé en1/1_000_000; valeur par défaut200_000(20%). Limitebase_supply_graduation / supplypar le bas.min_base_migrate_rate— dénominé en1/1_000_000; valeur par défaut200_000(20%). Limite le nombre de tokens restants pour ensemencer le pool post-graduation.min_quote_fund_raising— minimumquote_reserve_targetqu’un lancement peut déclarer (avec décimales). La valeur par défaut est30_000_000_000unités du mint de cotation.
Mint de cotation et portefeuilles de protocole
quote_mint— l’actif avec lequel les utilisateurs achètent. La plupart des lancements utilisent le SOL enrobé (So111…112) ou l’USDC (EPjF…Dt1v). UnGlobalConfigest lié à un mint de cotation ; les lancements qui ont besoin d’une cible de cotation différente ciblent un(curve_type, index)différent.protocol_fee_owner— clé publique qui signeCollectFeeet réclame les frais de protocole accumulés sur chaque lancement lié à cette configuration. Stockée en chaîne ; l’administrateur peut la faire tourner viaUpdateConfig.migrate_fee_owner— clé publique qui signeCollectMigrateFee.
Portefeuilles de migration
Les deux chemins de graduation nécessitent des signataires différents :migrate_to_amm_wallet— doit signerMigrateToAmm. Utilisé pour les lancements dontmigrate_type = 0(graduation vers AMM v4 + OpenBook).migrate_to_cpswap_wallet— doit signerMigrateToCpswap. Utilisé pourmigrate_type = 1(graduation vers CPMM). Les lancements Token-2022 empruntent toujours ce chemin.
requires_platform_auth
Un drapeau u8 (0 = n’importe qui peut utiliser cette configuration ; non-zéro = seules les plates-formes avec un PDA PlatformGlobalAccess valide peuvent lancer contre elle). Lorsqu’il est défini, chaque Initialize contre ce GlobalConfig doit inclure un compte PlatformGlobalAccess correspondant prouvant que la plateforme a été pré-autorisée via CreatePlatformGlobalAccess (une instruction réservée à l’administrateur). Voir platform-config pour la mécanique côté plateforme.
Valeurs par défaut à l’initialisation
QuandCreateConfig est appelé, le programme initialise de nombreux champs avec des valeurs par défaut codées en dur :
curve_type, index, migrate_fee, trade_fee_rate, quote_mint et les quatre clés publiques du portefeuille au moment de la création ; les valeurs suivantes peuvent être ajustées via UpdateConfig.
Comment un lancement choisit un GlobalConfig
À l’Initialize, le créateur transmet :
(curve_type, index)pour sélectionner quel PDAGlobalConfigcharger.CurveParamsdécrivant la forme de la courbe (supply,total_base_sell,total_quote_fund_raising,migrate_type).VestingParamsdécrivant la fourniture verrouillée.MintParamspour le mint de base.
curve_typecorrespond àglobal_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— c’est-à-dire suffisamment de tokens restants pour ensemencer le pool post-graduation.total_quote_fund_raising >= min_quote_fund_raising.- Si
requires_platform_auth != 0, un PDAPlatformGlobalAccessvalide est inclus.
Initialize, le PoolState du lancement stocke la clé publique global_config directement, de sorte que la liaison est permanente.
Chemin de mise à jour
UpdateConfig est réservé à l’administrateur et prend une paire (param: u8, value: u64). Chaque valeur param sélectionne quel champ muter :
param | Champ modifié |
|---|---|
| 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) prennent une forme d’argument Pubkey séparé ; consultez la source update_config pour la table de dispatch exacte avant de composer une transaction administrative.
requires_platform_auth est basculé via set_requires_platform_auth(bool).
Lire un GlobalConfig depuis un client
getAllGlobalConfigs du SDK ou interrogez le point de terminaison de l’API LaunchLab qui les reflète ; le nombre de comptes en chaîne est petit (quelques unités en pratique).
Pointeurs
products/launchlab/platform-config— superposition par plateforme qui contraint davantage la forme de la courbe.products/launchlab/accounts— graphe de compte complet pour un lancement.products/launchlab/instructions— instructionsInitializeet de mise à jour.reference/program-addresses— clé publique d’administrateur, ID du programme, autorités partagées.
raydium-launch/programs/launchpad/src/states/config.rs— structGlobalConfigetinitialize.raydium-launch/programs/launchpad/src/lib.rs—create_config,update_config.


