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 による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
LaunchLab は厳選された命令セットを公開しています:6 つのユーザー向け呼び出しと、いくつかの管理者向けプリミティブです。SDK がすべてをラップしていますが、このページではアグリゲータ、監視ツール、CPI が必要なプログラムのために、生の表面を文書化しています。
命令インベントリ
| グループ | 命令 | 呼び出し可能な主体 |
|---|
| グローバル設定 | CreateConfig / UpdateConfig | 管理者 |
| ローンチライフサイクル | Initialize / InitializeV2 | 誰でも(クリエータ) — SPL Token ローンチ。V2 は最終的な CPMM 卒業のための amm_creator_fee_on を記録 |
| ローンチライフサイクル | InitializeWithToken2022 | 誰でも(クリエータ) — Token-2022 ローンチ、オプションの TransferFeeConfig |
| トレード | BuyExactIn / BuyExactOut | 誰でも — ボンディングカーブ上の正確な入力 / 正確な出力買い |
| トレード | SellExactIn / SellExactOut | 誰でも — ボンディングカーブ上の正確な入力 / 正確な出力売り |
| 卒業 | MigrateToAmm | マイグレーションウォレット(GlobalConfig で設定) — AMM v4 に卒業。amm_creator_fee_on = BothToken の場合に使用され、クリエータ手数料が両側で徴収可能 |
| 卒業 | MigrateToCpswap | マイグレーションウォレット — CPMM に卒業。amm_creator_fee_on = QuoteToken の場合に使用され、Token-2022 ローンチに必須。CPMM の InitializeWithPermission をラップ |
| 手数料 | CollectFee | 管理者 — ローンチからプロトコル手数料を回収 |
| 手数料 | CollectMigrateFee | 管理者 — 累積されたマイグレーション手数料を回収 |
| 手数料 | ClaimCreatorFee | クリエータ — カーブフェーズ中に累積されたクリエータ手数料を請求 |
| ベスティング | CreateVestingAccount | クリエータ — ロックされたトークンを受益者に配分、卒業後にアンロック |
| ベスティング | CreatePlatformVestingAccount | プラットフォーム管理者 — プラットフォーム側の受益者にロックされたトークンを配分 |
| ベスティング | ClaimVestedToken | 受益者 — cliff 後にアンロックされたトークンを請求 |
| プラットフォーム設定 | CreatePlatformConfig / UpdatePlatformConfig | プラットフォーム管理者 |
| プラットフォーム設定 | UpdatePlatformCurveParam / RemovePlatformCurveParam | プラットフォーム管理者 — プラットフォーム毎の許可されたカーブ形状のリストを管理 |
| プラットフォーム手数料 | ClaimPlatformFee / ClaimPlatformFeeFromVault | プラットフォーム管理者 |
| プラットフォームアクセス | CreatePlatformGlobalAccess / ClosePlatformGlobalAccess | 管理者 — どのプラットフォームが特定の GlobalConfig を使用できるかをゲート |
「ExactIn/ExactOut」の分割は CPMM の SwapBaseInput / SwapBaseOutput を反映しています — オンチェーン上では異なる命令ディスクリミネータで、丸め処理がわずかに異なります。
卒業パス選択。 migrate_type は Initialize{V2,WithToken2022} の時点で PoolState に記録され、2 つの卒業命令のいずれが実行できるかを決定します。Token-2022 ローンチは常に CPMM にマイグレーションします。SPL Token ローンチは amm_creator_fee_on の設定に応じて AMM v4 または CPMM にマイグレーションします:
BothToken → MigrateToAmm → AMM v4 プール(クリエータ手数料は両側から徴収可能;AMM v4 はネイティブのクリエータ手数料フィールドを持たないため、クリエータ手数料は LP ロック NFT メカニズムで代わりに取得されます)。
QuoteToken → MigrateToCpswap → creator_fee_on = OnlyQuoteToken の CPMM プール(クリエータは LaunchLab Fee Key NFT を通じて CPMM プールから継続して手数料を獲得します — products/launchlab/creator-fees を参照)。
AmmCreatorFeeOn 列挙型名についての注記。 Rust ソースはこの列挙型を AmmCreatorFeeOn と呼び、バリアントは QuoteToken と BothToken です。名前は誤解を招きます:現在の運用では、バリアントはクリエータ手数料が卒業後の CPMM プールのどちら側から徴収されるかを制御するだけでなく、卒業対象プログラム(AMM v4 vs CPMM)を選択し、ローンチの PoolState の migrate_type とペアになります。このフィールドを「マイグレーション対象 + 卒業後のクリエータ手数料側」の組み合わせとして扱ってください。オンチェーンの列挙型名はリファクタリングされていませんが、これを MigrationTarget として推論することがより現実に合致しています。
Initialize
新しいローンチを作成します。
引数
launch_params: {
curve_type: u8,
base_supply_max: u64,
base_supply_graduation: u64,
k: u128, // または curve_type=1 の initial_virtual_quote_reserve
open_time: u64,
quote_mint: Pubkey,
base_token_metadata: { // インライン名/シンボル/URI;プログラムは Metaplex に CPI
name: String,
symbol: String,
uri: String,
},
fees: {
buy_numerator: u64,
buy_denominator: u64,
sell_numerator: u64,
sell_denominator: u64,
lp_share: u64,
creator_share: u64,
protocol_share: u64,
total_share: u64,
},
post_graduation_lp_policy: u8, // 0 = Burn、1 = Lock、2 = ToCreator
}
アカウント(簡略版)
| # | 名前 | W | S | 注記 |
|---|
| 1 | creator | W | S | レント + ベース mint 作成の支払い。 |
| 2 | launch_config | | | プロトコル設定バインディング。 |
| 3 | launch_state | W | | 新規アカウント。 |
| 4 | launch_authority | | | PDA。 |
| 5 | base_mint | W | S | 新規 Keypair(または PDA) — この命令で初期化。 |
| 6 | base_vault | W | | launch_authority の base_mint 上の ATA。 |
| 7 | quote_mint | | | |
| 8 | quote_vault | W | | launch_authority の quote_mint 上の ATA。 |
| 9 | metadata | W | | Metaplex メタデータ PDA。 |
| 10 | metaplex_program | | | |
| 11 | token_program | | | SPL Token のみ。 |
| 12 | system_program | | | |
| 13 | rent | | | |
前提条件
quote_mint ∈ launch_config.allowed_quote_mints。
base_supply_graduation ≤ base_supply_max。
- 手数料パラメータが
launch_config.max_*_fee_rate チェックに合格。
open_time ≥ now − slop(SDK は ≥ now を強制;プログラムはわずかなバックデートを許容)。
curve_type が認識される。
事後条件
base_mint は supply = base_supply_max、すべて base_vault に。
base_mint.mint_authority = launch_authority、freeze_authority = None。
LaunchState は status = Active、base_sold = 0、quote_reserve_real = 0 で初期化。
quote_reserve_target はカーブパラメータ + base_supply_graduation + buy_numerator から計算(おおよそ)。
一般的なエラー — InvalidQuoteMint、FeeRateTooHigh、InvalidCurveParams、MathOverflow。
Buy(標準バリアント:BuyExactIn)
ユーザーは固定の quote_in を提供;カーブは base_out を計算します。
引数
quote_in: u64
minimum_base_out: u64
アカウント
| # | 名前 | W | S |
|---|
| 1 | user | W | S |
| 2 | launch_state | W | |
| 3 | launch_authority | | |
| 4 | base_vault | W | |
| 5 | quote_vault | W | |
| 6 | user_base_ata | W | |
| 7 | user_quote_ata | W | |
| 8 | base_mint | | |
| 9 | quote_mint | | |
| 10 | token_program | | |
| 11 | associated_token_program | | |
| 12 | system_program | | |
前提条件
launch_state.status == Active。
now ≥ open_time。
user_quote_ata.balance ≥ quote_in。
quote_in > 0。
効果
quote_in を quote_in_after_fee と手数料部分に分割。
- ポスト手数料のクォートが与えられたカーブの Newton 法を解く。
require(base_out ≥ minimum_base_out) 否則 ExceededSlippage でリバート。
quote_in をユーザー → vault に移動。base_out を vault → ユーザーに移動。
base_sold += base_out、quote_reserve_real += quote_in_after_fee × (lp_share / total_share) を更新。
- 手数料カウンタを更新(
protocol_fees_quote、creator_fees_quote)。
state_data.num_buys += 1。
- 更新後に
quote_reserve_real ≥ quote_reserve_target の場合、SDK は通常、同じトランザクションで Graduate ix をチェーンします。プログラムは Buy 内で自動卒業しません — 後続の Graduate が必要です。
BuyExactOut
ユーザーは正確な base_out を指定;プログラムは quote_in を計算。
引数
base_out: u64
maximum_quote_in: u64
BuyExactIn と同じアカウント。Newton 反復ではなく、閉形式の二次積分(または curve_type 1 の CPMM 逆関数)を使用。
Sell / SellExactIn / SellExactOut
Buy のミラー。ユーザーは base_in をカーブに返し、quote_out を受け取ります。手数料は quote_out から差し引かれるため、ユーザーは生の統合収益より少なく受け取ります。
前提条件 —
user_base_ata.balance ≥ base_in。
- 販売は
base_sold を 0 より下に押すことはできません(会計が一貫していれば前提と冗長)。
- ローンチは
Active。
効果 — Buy と対称。base_sold は減少、quote_reserve_real は減少。手数料は依然として発生。
MigrateToAmm / MigrateToCpswap
カーブが total_quote_fund_raising に達したら、ローンチを取引可能な AMM プールに卒業させます。2 つの命令は 2 つの卒業対象に対応しています — AMM v4 および CPMM — およびいずれかのローンチに対して1 つのみが有効で、pool_state.migrate_type で決定されます(Initialize 時に設定)。
署名者
MigrateToAmm — バインディング GlobalConfig に記録された migrate_to_amm_wallet。
MigrateToCpswap — バインディング GlobalConfig に記録された migrate_to_cpswap_wallet。
これらのウォレットは通常、Raydium 運営の卒業クランクで保有されます;実際には卒業はしきい値を超える数秒後に実行され、最終購入を誰がトリガーしたかに関わらず。
引数
MigrateToAmm は 3 つを取ります(主に OpenBook マーケットパラメータで、プログラムが AMM v4 に転送):
base_lot_size: u64
quote_lot_size: u64
market_vault_signer_nonce: u8
MigrateToCpswap は何も取りません。
効果(両方に共通)
pool_state.status == Migrate を検証(つまり、quote_reserve_target に達した)。否則、PoolMigrated(ステータスは既に Migrated)または PoolFunding(まだ資金調達中)でリバート。
pool_state.migrate_type が命令にマッチするか検証(AMM の場合 0、CPMM の場合 1)。否則 MigrateTypeNotMatch でリバート。
- 卒業後のリザーブを計算:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amount
quote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- 対象プログラム(
AMM v4 Initialize2 または CPMM InitializeWithPermission)に CPI し、これらのリザーブで卒業後のプールを作成。
- バインディング
PlatformConfig.{platform_scale, creator_scale, burn_scale} に従って結果の LP を分割(CPMM のみ) — 1 ピースを platform_nft_wallet にミント、1 つを LP ロックプログラムでラップされたクリエータ NFT に、1 つを Burn & Earn で焼却。AMM v4 卒業の場合、LP 配分は AMM v4 の独自の初期化パラメータで管理。
base_mint.mint_authority を失効させる(None に設定)。
pool_state.status = Migrated をフリップし、vesting_schedule.start_time = block_time + cliff_period を設定。
事後条件 — この時点から BuyExactIn、BuyExactOut、SellExactIn、SellExactOut は PoolMigrated でリジェクト。結果の AMM プールは正規で、他の AMM v4 / CPMM プールと同様にトレード可能。
一般的なエラー — PoolFunding、PoolMigrated、MigrateTypeNotMatch、InvalidCpSwapConfig、MathOverflow。
CollectFee
単一ローンチのプロトコルの累積トレード手数料の管理者による回収。
引数 — なし。
アカウント
| # | 名前 | W | S | 注記 |
|---|
| 1 | protocol_fee_owner | | S | global_config.protocol_fee_owner と同じである必要があります。 |
| 2 | authority | | | PDA [b"vault_auth_seed"];vault 転送に署名。 |
| 3 | pool_state | W | | quote_protocol_fee をゼロにするために変更。 |
| 4 | global_config | | | 署名者の真実の源。 |
| 5 | quote_vault | W | | quote_protocol_fee でドレイン。 |
| 6 | recipient_token_account | W | | protocol_fee_owner の quote_mint 上の ATA。 |
| 7 | quote_mint | | | |
| 8 | token_program | | | SPL Token(quote mint は常に SPL Token)。 |
効果 — pool_state.quote_protocol_fee を quote_vault から recipient_token_account に転送し、カウンタをゼロにします。最初の購入後いつでも呼び出し可能。
CollectMigrateFee
卒業時に累積されたマイグレーション手数料の管理者による回収。CollectFee と同じアカウント形状で、署名者は protocol_fee_owner ではなく migrate_fee_owner で、ドレイン対象は pool_state.migrate_fee です。
ClaimCreatorFee
クリエータが所有する同じクォート mint を使用するすべてのローンチの累積クリエータ手数料のクリエータ毎の回収。プール毎のものではなく、クリエータ毎のフィー vault をドレイン。
引数 — なし。
アカウント
| # | 名前 | W | S | 注記 |
|---|
| 1 | creator | W | S | プールクリエータ。 |
| 2 | fee_vault_authority | | | PDA [b"creator_fee_vault_auth_seed"]。 |
| 3 | creator_fee_vault | W | | シード [creator, quote_mint] の PDA;集約されたクリエータ vault。 |
| 4 | recipient_token_account | W | | init_if_needed;creator の quote_mint 上の ATA。 |
| 5 | quote_mint | | | |
| 6 | token_program | | | |
| 7 | system_program | | | 必要に応じて ATA 作成用。 |
| 8 | associated_token_program | | | |
効果 — creator_fee_vault の全残高を recipient_token_account に転送。vault が空の場合はゼロ超過チェックでリバート。
ローンチのクォート vault を直接ドレインするプラットフォーム毎の回収。集約されたプラットフォーム vault を経由せずに、特定の単一ローンチのシェアを請求したい場合に使用。
引数 — なし。
アカウント
| # | 名前 | W | S | 注記 |
|---|
| 1 | platform_fee_wallet | W | S | platform_config.platform_fee_wallet と同じである必要があります。 |
| 2 | authority | | | PDA [b"vault_auth_seed"]。 |
| 3 | pool_state | W | | pool_state.platform_fee でドレイン。 |
| 4 | platform_config | | | 署名者の真実の源。 |
| 5 | quote_vault | W | | ドレイン。 |
| 6 | recipient_token_account | W | | init_if_needed;platform_fee_wallet の ATA。 |
| 7 | quote_mint | | | |
| 8 | token_program | | | |
| 9 | system_program | | | |
| 10 | associated_token_program | | | |
効果 — pool_state.platform_fee を quote_vault から recipient_token_account に転送、カウンタをゼロにします。
プラットフォーム毎の集約された回収。プラットフォーム経由でルーティングされたすべてのローンチからの手数料を累積するプラットフォームのクォート mint 毎のフィー vault をドレイン。
引数 — なし。
アカウント
| # | 名前 | W | S | 注記 |
|---|
| 1 | platform_fee_wallet | W | S | platform_config.platform_fee_wallet と同じである必要があります。 |
| 2 | fee_vault_authority | | | PDA [b"platform_fee_vault_auth_seed"]。 |
| 3 | platform_config | | | |
| 4 | platform_fee_vault | W | | シード [platform_config, quote_mint] の PDA。 |
| 5 | recipient_token_account | W | | init_if_needed;platform_fee_wallet の ATA。 |
| 6 | quote_mint | | | |
| 7 | token_program | | | |
| 8 | system_program | | | |
| 9 | associated_token_program | | | |
効果 — platform_fee_vault の全残高を recipient_token_account に転送。vault が空の場合はリバート。
ベスティングおよびプラットフォーム設定命令
これらは専用ページに文書化されています。各々が独自の状態モデルを持つため:
状態変化マトリックス
| 命令 | status | real_base | real_quote | 手数料カウンタ | 事後状態プール |
|---|
Initialize{V2,WithToken2022} | Funding | 0 | 0 | 0 | — |
BuyExactIn(q_in) | Funding | +∆ | +∆q_after_fee | quote_protocol_fee += ∆、platform_fee += ∆ | — |
SellExactIn(b_in) | Funding | −∆ | −∆q_before_fee | (同じ) | — |
| しきい値に達成 | → Migrate | — | — | — | — |
MigrateToAmm / MigrateToCpswap | → Migrated | (凍結) | (凍結) | migrate_fee セット | 作成、PlatformConfig に従って LP 分割 |
CollectFee / CollectMigrateFee | any | — | — | カウンタをゼロ化 | — |
ClaimCreatorFee / ClaimPlatformFee* | any | — | — | vault をドレイン | — |
CreateVestingAccount | Funding | — | — | — | allocated_share_amount をバンプ |
ClaimVestedToken | Migrated | — | — | — | base_vault をドレイン |
次はどこへ
ソース: