このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
LaunchLab は厳選された命令セットを公開しています:6 つのユーザー向け呼び出しと、いくつかの管理者向けプリミティブです。SDK がすべてをラップしていますが、このページではアグリゲータ、監視ツール、CPI が必要なプログラムのために、生の表面を文書化しています。
命令インベントリ
「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を参照)。
Initialize
新しいローンチを作成します。
引数
前提条件
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 を計算します。
引数
前提条件
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 は通常、同じトランザクションでGraduateix をチェーンします。プログラムはBuy内で自動卒業しません — 後続のGraduateが必要です。
BuyExactOut
ユーザーは正確な base_out を指定;プログラムは quote_in を計算。
引数
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。
MigrateToAmm は 3 つを取ります(主に OpenBook マーケットパラメータで、プログラムが AMM v4 に転送):
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_amountquote_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
単一ローンチのプロトコルの累積トレード手数料の管理者による回収。
引数 — なし。
アカウント
効果 —
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 をドレイン。
引数 — なし。
アカウント
効果 —
creator_fee_vault の全残高を recipient_token_account に転送。vault が空の場合はゼロ超過チェックでリバート。
ClaimPlatformFee
ローンチのクォート vault を直接ドレインするプラットフォーム毎の回収。集約されたプラットフォーム vault を経由せずに、特定の単一ローンチのシェアを請求したい場合に使用。
引数 — なし。
アカウント
効果 —
pool_state.platform_fee を quote_vault から recipient_token_account に転送、カウンタをゼロにします。
ClaimPlatformFeeFromVault
プラットフォーム毎の集約された回収。プラットフォーム経由でルーティングされたすべてのローンチからの手数料を累積するプラットフォームのクォート mint 毎のフィー vault をドレイン。
引数 — なし。
アカウント
効果 —
platform_fee_vault の全残高を recipient_token_account に転送。vault が空の場合はリバート。
ベスティングおよびプラットフォーム設定命令
これらは専用ページに文書化されています。各々が独自の状態モデルを持つため:CreateVestingAccount、CreatePlatformVestingAccount、ClaimVestedTokenCreatePlatformConfig、UpdatePlatformConfig、UpdatePlatformCurveParam、RemovePlatformCurveParam、CreatePlatformGlobalAccess、ClosePlatformGlobalAccessCreateConfig、UpdateConfig
状態変化マトリックス
次はどこへ
products/launchlab/code-demos— 各命令の TypeScript 例。products/launchlab/accounts— 完全な状態形状。reference/error-codes— LaunchLab エラー列挙型。
- Raydium SDK v2
LaunchLabモジュール - Raydium LaunchLab プログラムソース

