このページは 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)に初期化されます。バインディングPlatformConfigからのプラットフォームシェアフィーレートを上限とします(platform-configを参照)。プログラムは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)をターゲットにします。protocol_fee_owner—CollectFeeに署名し、この設定にバインドされたすべてのローンチで発生したプロトコルフィーを請求する公開鍵。オンチェーンに保存;管理者はUpdateConfig経由でローテーションできます。migrate_fee_owner—CollectMigrateFeeに署名する公開鍵。
移行ウォレット
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。

