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.
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
PlatformConfig は GlobalConfig の上に位置するプラットフォームレベルのオーバーレイです。GlobalConfig がプロトコル全体のルール(「トレードフィーは 1%、供給量は最低 10M、このウォレットだけがグラデュエーションできる」)を定義するのに対し、PlatformConfig は各ローンチプラットフォーム(pump.fun、Raydium の独自 UI、サードパーティ・ラウンチパッド)がそのフィーを追加し、グラデュエーション後の LP の スライスを請求し、ローンチが使用できるボンディングカーブ形状を制限し、プラットフォームのブランディング(名前、ウェブサイト、画像)をオンチェーンで表示するために使用します。概要
PlatformConfig アカウントはプラットフォームの 4 つの横断的な関心事を管理します。
- ブランディング — 名前、ウェブサイト、画像リンクはすべてインラインで保存されるため、任意のエクスプローラーまたはアグリゲーターがトークンをローンチしたプラットフォームを表示できます。
- プラットフォーム フィー — プロトコルの
trade_fee_rateの上に追加されるトレードフィー(fee_rate)。プラットフォームのplatform_fee_walletに蓄積されます。GlobalConfig.max_share_fee_rateにより 100 bps に上限が設定されています。 - NFT マイグレーション分配 — 3 つの整数(
platform_scale、creator_scale、burn_scale)がRATE_DENOMINATOR_VALUE = 1_000_000に合計され、グラデュエーション後の LP をプラットフォーム NFT ウォレットにミントされるピース、クリエーター NFT ウォレットへのピース、バーン(Burn & Earn)されるピースに分割します。グラデュエーション対象が CPMM(migrate_type = 1)の場合にのみ意味があります。 - ボンディングカーブパラメータ ホワイトリスト — 許可される
(supply, total_base_sell, total_quote_fund_raising, migrate_type, migrate_cpmm_fee_on, vesting_params...)の組み合わせをリストアップするVec<PlatformCurveParam>。ベクトルが空であるか、すべてのエントリが無効である場合、任意の組み合わせが許可されます。そうでなければ、ローンチはエントリのいずれかと正確に一致する必要があります。
create_platform_config を参照してください。)
レイアウト
platform_scale + creator_scale + burn_scale は 1_000_000 に等しい必要があります(MigrateNftInfo::check で検証)。本番環境で見られる一般的な分配:
(0, 100_000, 900_000)— 90% LP がバーン、10% がクリエーターへ。標準的な pump スタイルのフェア・ローンチ。(50_000, 100_000, 850_000)— 小さなプラットフォーム スライス(5%)、10% クリエーター、85% バーン。(0, 0, 1_000_000)— 完全バーン、NFT ミントなし。厳密な「インサイダーなし」ローンチ。
ブランディング フィールド
name、web、img はインラインのバイト配列で、それぞれのサイズ定数までゼロでパディングされています。文字列として読み込むには、最初の \0 までをスライスします。
name: 64、web: 256、img: 256)、プラットフォームがオフチェーン ストレージに触れることなく、エクスプローラーとアグリゲーターに十分なメタデータを含めることができるようにしています。これらのサイズを超えるものは CreatePlatformConfig で InvalidInput でリバートします。
フィー メカニクス
PlatformConfig にバインドされたカーブでのスワップは 3 層のフィーを課金します。
trade_feeはプロトコルのprotocol_fee_ownerに蓄積されます(CollectFeeを介して請求)。platform_feeはプラットフォーム単位のボールトに蓄積されます(ClaimPlatformFeeまたはClaimPlatformFeeFromVaultを介して請求。instructionsを参照)。creator_feeはクリエーターの pubkey + quote mint でキー付けされたクリエーター単位のボールトに蓄積されます(ClaimCreatorFeeを介して請求)。
creator_fee_rate は MAX_CREATOR_FEE_RATE = 5000(50 bps)で上限が設定されています。fee_rate(プラットフォーム フィー)は GlobalConfig.max_share_fee_rate により 10000(100 bps)に上限が設定されています。
NFT マイグレーション分配(CPMM のみ)
ローンチが CPMM にグラデュエーションするとき(migrate_type = 1、migrate_to_cpswap_wallet によって署名)、マイグレーション命令は CPMM::InitializeWithPermission によってミントされた LP トークンを 3 つの方法で分割します。
LockrWmn6K5twhz3y9w1dQERbmgSaRkfnTeTKbpofwE)によって NFT としてラップされます。NFT の保有者は、基礎となるリクイディティを引き出すことができずに、蓄積された CPMM フィーを無期限に請求する権利があります。グラデュエーション後の Fee Key フローについては、products/launchlab/creator-fees を参照してください。
バーン スライスは is_burn = true で Lock プログラムに送信されるため、LP トークンは永久にアクセス不可になります。プールの価格下限を保護しますが、誰にもフィーを払い戻すことはありません。
migrate_type = 0(AMM v4 にグラデュエーション)の場合、NFT 分配フィールドは無視され、LP 全体は別の AMM v4 サイドフロー に従ってロック/バーンされます。
ボンディングカーブ パラメータ ホワイトリスト
curve_params: Vec<PlatformCurveParam> はプラットフォームがそのローンチが使用できるボンディングカーブ形状を制限するメカニズムです。ベクトルが空でなく、少なくとも 1 つのエントリが有効である場合、プログラムは Initialize でローンチのパラメータが少なくとも 1 つのエントリと正確に一致することを強制します。
u64 フィールドの場合は u64::MAX、u8 フィールドの場合は u8::MAX、supply/sell/fundraising フィールドの場合は 0。すべてのセンチネルを持つ BondingCurveParam は「すべてを許可」です。これは空のホワイトリスト動作と同等です。
Initialize でのマッチング アルゴリズム:
curve_paramsをローンチが選択したGlobalConfigと一致するエントリにフィルタリングします。- フィルタリングされたリストが空の場合、任意のパラメータを許可します(プラットフォームはこの
GlobalConfigに対して何もホワイトリストに登録していません)。 - フィルタリングされたリスト内のすべてのエントリが
all_is_invalid()(すべてのフィールドがワイルドカード)である場合、任意のパラメータを許可します。 - そうでなければ、エントリを繰り返します。各エントリについて、ローンチのパラメータをすべての非ワイルドカード フィールドに対してチェックします。すべての非ワイルドカード フィールドが一致する場合、受け入れて返します。
- エントリが一致しない場合、
InvalidInputでリバートします。
MAX_CURVE_PARAMS = 10 はホワイトリスト サイズを上限設定します。
PlatformGlobalAccess — プラットフォームの認可
GlobalConfig が requires_platform_auth = 1 を持つ場合、それに対する各 Initialize はプラットフォームが事前認可されていることを証明する PlatformGlobalAccess PDA を含める必要があります。
[b"platform_global_access", global_config, platform_config]。
プロトコル管理者は CreatePlatformGlobalAccess を介して (GlobalConfig, PlatformConfig) ペアごとに 1 つを作成し、ClosePlatformGlobalAccess を介して失効させます。このアカウントがないと、ローンチはゲーティングされたプラットフォームからその GlobalConfig にバインドできません。
読み取りパス
PoolState.platform_config は元の PlatformConfig を直接指します。一度取得してブランディングをキャッシュしてください。
更新パス
| 命令 | 署名者 | 変更内容 |
|---|---|---|
CreatePlatformConfig | プラットフォーム管理者(1 回限り) | PlatformParams でアカウントを初期化します。 |
UpdatePlatformConfig | プラットフォーム管理者 | 汎用ディスパッチ(param: u8 でキー付け)。呼び出しごとに 1 つのフィールドを変更します。ブランディング フィールド、フィー率、ベスティング ウォレット、様々なウォレットはすべてこれを通じて設定可能です。 |
UpdatePlatformCurveParam | プラットフォーム管理者 | (global_config, index) により 1 つの PlatformCurveParam エントリを追加または置換します。 |
RemovePlatformCurveParam | プラットフォーム管理者 | 1 つのエントリをクリアします(すべてのセンチネル = ワイルドカードに設定)。 |
ClaimPlatformFee | platform_fee_wallet | PoolState.quote_vault からプール単位のプラットフォーム フィーをスイープします。 |
ClaimPlatformFeeFromVault | platform_fee_wallet | プラットフォーム単位のフィー ボールト([platform_config, quote_mint] の PDA)をスイープします。 |
platform_fee_wallet、platform_nft_wallet、platform_vesting_wallet、platform_cp_creator、transfer_fee_extension_auth、cpswap_config)はすべて UpdatePlatformConfig を通じて実行されます。正確な param コードについては、ソースの update_platform_config ディスパッチ テーブルを参照してください。
よくある落とし穴
- ホワイトリスト センチネルの誤設定。
total_locked_amount = 0を持つBondingCurveParamはワイルドカードではなく、ベスティングを明示的にオプトアウトするローンチと一致します。そのフィールドのワイルドカードはu64::MAXです。同じトラップがcliff_periodとunlock_periodにも存在します。clear()(プログラムが公開しているもの)を使用してセンチネルを正しく設定します。 - NFT 分配のラウンディング。 3 つのスケールは正確に
1_000_000に合計される必要があります。CreatePlatformConfigでの 1 の誤差はリバートします。実行時での 1 の誤差は 1 つ追加の LP ユニットをミントまたはバーンするでしょう。これは厳密な等式チェックが防ぐべきものです。 - プラットフォーム ベスティング二重割当。
platform_vesting_scale > 0の場合、プラットフォームはローンチの fundraising が終了した後に 1 回CreatePlatformVestingAccountを呼び出す必要があります。忘れた場合、そのシェアは未割当と休止状態で永遠に残ります(ローンチのtotal_locked_amountバジェットは消費されますが、プラットフォームは決して請求しません)。 platform_cp_creatorの曖昧さ。Pubkey::default()に設定された場合、ローンチ クリエーターがグラデュエーション後の CPMM プールのpool_creatorとして記録されます。実際のキーに設定された場合、そのキーが代わりに記録されます。これは後でCPMM::CollectCreatorFeeを呼び出せるユーザーに影響します。プラットフォーム設定作成時にどのモデルが必要かを決定してください。
ポインタ
products/launchlab/global-config— ローンチが満たさなければならないプロトコル側のルール。products/launchlab/vesting—platform_vesting_scaleメカニクス。products/launchlab/creator-fees— Fee Key NFT、Burn & Earn。products/launchlab/platforms— プラットフォーム インテグレーター向けハウツー。
raydium-launch/programs/launchpad/src/states/platform_config.rs—PlatformConfig、PlatformParams、MigrateNftInfo、PlatformCurveParam、BondingCurveParam、is_valid_curve_param。raydium-launch/programs/launchpad/src/states/platform_global_access.rs—PlatformGlobalAccess。raydium-launch/programs/launchpad/src/lib.rs—create_platform_config、update_platform_config、update_platform_curve_param、remove_platform_curve_param、create_platform_global_access、close_platform_global_access、claim_platform_fee、claim_platform_fee_from_vault。


