このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
GlobalConfig はプロトコルレベルの設定アカウントです。複数存在でき、(curve_type, index) でキーイングされます。すべてのローンチは Initialize 時に正確に 1 つを選択します。選択された GlobalConfig の値は、そのローンチのパラメータの上限となります。プラットフォームレベルのカスタマイズ(プラットフォームごとのフィーレート、許可される曲線形状、卒業時の NFT 分割)については、products/launchlab/platform-config を参照してください。概要
GlobalConfig は (curve_type, index) ごとのシングルトン PDA で、すべてのローンチが従うべきプロトコル側のルールを固定します:
- 許可されるボンディング曲線の種類(
curve_type)。 - 曲線がすべての買いと売りで請求するトレードフィーレート。
- 卒業時に請求される移行フィー。
- 供給量、ロック率、売却率、移行率の下限。
- クォートミント(通常はラップド SOL または USDC)— ユーザーが購入する資産。
- 4 つのプロトコル側ウォレット:プロトコルフィーオーナー、移行フィーオーナー、CPMM とレガシー AMM v4 卒業用に保持される 2 つの移行制御ウォレット。
GlobalConfig アカウントは LaunchLab プログラム管理者または委任された設定作成権限によって作成できます。既存の設定を更新できるのは管理者のみです。正規の権限については reference/program-addresses を参照してください。
レイアウト
create_config 命令が信頼できる情報源です。)
フィールドセマンティクス
curve_type と index
これらは GlobalConfig を一意にキーイングします。(curve_type, index) ペアごとに 1 つの GlobalConfig が存在します:
curve_type = 0— 定数積仮想リザーブ曲線。デフォルトで最も使用されます。curve_type = 1— 固定価格曲線。curve_type = 2— 線形価格曲線。
index は u16 で、管理者が曲線タイプごとに複数の設定を公開できます(例:より厳しいフィーを持つもの、より高い最小クォート調達を持つもの)。Initialize でローンチは (curve_type, index) ペアを指定し、プログラムは一致する GlobalConfig をロードします。
フィー
trade_fee_rate— トレード量の1/1_000_000で表示されます。曲線上のすべての買いと売りに適用されます。protocol_fee_ownerはCollectFee経由でその分を請求します。migrate_fee— 卒業時に 1 回請求される固定フィー(ラムポート単位またはクォート単位、設定による)。migrate_fee_ownerがCollectMigrateFee経由で請求します。max_share_fee_rate—10_000(100 bps)に初期化されます。BuyExactIn、BuyExactOut、SellExactIn、SellExactOutが受け入れるshare_fee_rate引数を上限とします — トレード中に共有受信者に直接支払われるリファーラルフィー。PlatformConfig.fee_rateを制限しません。そのレートには独自の上限があり、platform-configで説明されています。CreateConfigとUpdateConfigの両方がtrade_fee_rate + max_share_fee_rate < RATE_DENOMINATOR_VALUEを強制します。
供給量とレートの下限
これらの下限は、ローンチがInitialize で選択できる曲線形状パラメータを制限します。クリエイターの CurveParams がいずれかに違反する場合、Initialize は InvalidInput で戻ります。
min_base_supply— 曲線が宣言できる最小supply(小数なし)。デフォルトは10_000_000。max_lock_rate—1/1_000_000で表示;デフォルト300_000(30%)。total_locked_amount <= supply * max_lock_rate / 1_000_000経由でベスティングを制限します。min_base_sell_rate—1/1_000_000で表示;デフォルト200_000(20%)。base_supply_graduation / supplyを下から制限します。min_base_migrate_rate—1/1_000_000で表示;デフォルト200_000(20%)。卒業後プールをシードするために残されたトークン数を制限します。min_quote_fund_raising— ローンチが宣言できる最小quote_reserve_target(小数付き)。デフォルトはクォートミントの30_000_000_000ユニット。
クォートミントとプロトコルウォレット
quote_mint— ユーザーが購入する資産。ほとんどのローンチはラップド SOL(So111…112)または USDC(EPjF…Dt1v)を使用します。1 つのGlobalConfigは 1 つのクォートミントにバインドされます。異なるクォートが必要なローンチは異なる(curve_type, index)をターゲットにします。ミントは SPL Token プログラムまたは Token-2022 のいずれかで所有できます — 以下を参照してください。protocol_fee_owner—CollectFeeに署名し、この設定にバインドされたすべてのローンチで発生したプロトコルフィーを請求する公開鍵。オンチェーンに保存;管理者はUpdateConfig経由でローテーションできます。migrate_fee_owner—CollectMigrateFeeに署名する公開鍵。
Token-2022 クォートミント
CreateConfig は Token-2022 quote_mint を受け入れ、そのような設定にバインドされたプールはそれを最後まで実行します:クォートボルト、両方のフィーボルト、共有フィー受信者のトークンアカウントはすべて Token-2022 で作成され、スワップ命令はクォート側の TransferFeeConfig を考慮します。PoolState.token_program_flag bit1 はローンチごとの選択を記録します。
1 つに依存する前に知る価値のある 2 つの制約があります:
- 非推奨の
Initializeはそれに対してローンチできません。InitializeV2とInitializeWithToken2022のみが Token-2022 クォートプログラムを受け入れます。instructionsを参照してください。 - 拡張機能の許可リストは適用されません。 CPMM と CLMM とは異なり、LaunchLab はクォートミントの拡張機能をスクリーニングしません —
CreateConfigはミントをそのまま受け取るため、唯一のゲートは設定にバインドされるミントに対する管理者の裁量です。プログラムのNoSupportExtensionチェックは LaunchLab 自体が作成する Token-2022 ベースミントのみをカバーします。1 つをバインドすることを高信頼アクションとして扱ってください;reference/token-2022-supportを参照してください。
移行ウォレット
2 つの保存された卒業ウォレットは異なる署名者を必要とします:migrate_to_amm_wallet— 保存されたmigrate_type = 0を持つ既存のレガシーローンチのMigrateToAmmに署名します。migrate_to_cpswap_wallet—MigrateToCpswapに署名します。新しく初期化されたすべてのローンチはこのパスを使用します。
プラットフォーム側の許可リスト
GlobalConfig はもう requires_platform_auth を持ちません。その前のバイトはパディングなので、アカウントサイズは変わりません。アクセスは PlatformConfig.restrict_global_config と、そのプラットフォームの管理者によって作成された PlatformAllowConfig アカウントによって制御されます。platform-config を参照してください。
初期化時のデフォルト
CreateConfig が呼び出されると、プログラムは多くのフィールドをハードコードされたデフォルトでシードします:
curve_type、index、migrate_fee、trade_fee_rate、quote_mint、および 4 つのウォレット公開鍵を作成時に明示的に設定します。その後の値は UpdateConfig 経由で調整できます。
ローンチが GlobalConfig を選択する方法
Initialize で、クリエイターは以下を渡します:
(curve_type, index)— ロードするGlobalConfigPDA を選択します。CurveParams— 曲線形状を説明します(supply、total_base_sell、total_quote_fund_raising、migrate_type)。VestingParams— ロック供給を説明します。MintParams— ベースミント用。
curve_typeが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— つまり、卒業後プールをシードするのに十分なトークンが残っています。total_quote_fund_raising >= min_quote_fund_raising。migrate_type == 1(CPSWAP)。- 選択されたプラットフォームが
restrict_global_config == 1を持つ場合、一致するPlatformAllowConfigが含まれます。
Initialize 後、ローンチの PoolState は global_config 公開鍵を直接保存するため、バインディングは永続的です。
更新パス
UpdateConfig は管理者のみで、(param: u8, value: u64) ペアを取ります。各 param 値は変更するフィールドを選択します:
ウォレットローテーション(
protocol_fee_owner、migrate_fee_owner、migrate_to_amm_wallet、migrate_to_cpswap_wallet)は別の Pubkey 引数形状を取ります。管理者トランザクションを構成する前に、正確なディスパッチテーブルについて update_config ソースを確認してください。
プラットフォーム認可の前の UpdateConfig セレクタ 12 は削除されました。プラットフォーム管理者は独自の許可リストを管理するようになりました。
クライアントから GlobalConfig を読む
getAllGlobalConfigs ヘルパーをウォークするか、それらをミラーリングする LaunchLab API エンドポイントをクエリしてください。オンチェーンアカウント数は少ないです(実際には 1 桁)。
ポインタ
products/launchlab/platform-config— 曲線形状をさらに制限するプラットフォームごとのオーバーレイ。products/launchlab/accounts— ローンチの完全なアカウントグラフ。products/launchlab/instructions—Initializeと更新命令。reference/program-addresses— 管理者公開鍵、プログラム ID、共有権限。
raydium-launch/programs/launchpad/src/states/config.rs—GlobalConfig構造体とinitialize。raydium-launch/programs/launchpad/src/lib.rs—create_config、update_config。

