メインコンテンツへスキップ
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
LaunchLab は厳選された命令セットを公開しています:6 つのユーザー向け呼び出しと、いくつかの管理者向けプリミティブです。SDK がすべてをラップしていますが、このページではアグリゲータ、監視ツール、CPI が必要なプログラムのために、生の表面を文書化しています。

命令インベントリ

「ExactIn/ExactOut」の分割は CPMM の SwapBaseInput / SwapBaseOutput を反映しています — オンチェーン上では異なる命令ディスクリミネータで、丸め処理がわずかに異なります。 卒業パス選択。 migrate_typeInitialize{V2,WithToken2022} の時点で PoolState に記録され、2 つの卒業命令のいずれが実行できるかを決定します。Token-2022 ローンチは常に CPMM にマイグレーションします。SPL Token ローンチは amm_creator_fee_on の設定に応じて AMM v4 または CPMM にマイグレーションします:
  • BothTokenMigrateToAmm → AMM v4 プール(クリエータ手数料は両側から徴収可能;AMM v4 はネイティブのクリエータ手数料フィールドを持たないため、クリエータ手数料は LP ロック NFT メカニズムで代わりに取得されます)。
  • QuoteTokenMigrateToCpswapcreator_fee_on = OnlyQuoteToken の CPMM プール(クリエータは LaunchLab Fee Key NFT を通じて CPMM プールから継続して手数料を獲得します — products/launchlab/creator-fees を参照)。
AmmCreatorFeeOn 列挙型名についての注記。 Rust ソースはこの列挙型を AmmCreatorFeeOn と呼び、バリアントは QuoteTokenBothToken です。名前は誤解を招きます:現在の運用では、バリアントはクリエータ手数料が卒業後の CPMM プールのどちら側から徴収されるかを制御するだけでなく、卒業対象プログラム(AMM v4 vs CPMM)を選択し、ローンチの PoolStatemigrate_type とペアになります。このフィールドを「マイグレーション対象 + 卒業後のクリエータ手数料側」の組み合わせとして扱ってください。オンチェーンの列挙型名はリファクタリングされていませんが、これを MigrationTarget として推論することがより現実に合致しています。

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_mintsupply = base_supply_max、すべて base_vault に。
  • base_mint.mint_authority = launch_authorityfreeze_authority = None
  • LaunchStatestatus = Activebase_sold = 0quote_reserve_real = 0 で初期化。
  • quote_reserve_target はカーブパラメータ + base_supply_graduation + buy_numerator から計算(おおよそ)。
一般的なエラーInvalidQuoteMintFeeRateTooHighInvalidCurveParamsMathOverflow

Buy(標準バリアント:BuyExactIn

ユーザーは固定の quote_in を提供;カーブは base_out を計算します。 引数
アカウント 前提条件
  • launch_state.status == Active
  • now ≥ open_time
  • user_quote_ata.balance ≥ quote_in
  • quote_in > 0
効果
  1. quote_inquote_in_after_fee と手数料部分に分割。
  2. ポスト手数料のクォートが与えられたカーブの Newton 法を解く。
  3. require(base_out ≥ minimum_base_out) 否則 ExceededSlippage でリバート。
  4. quote_in をユーザー → vault に移動。base_out を vault → ユーザーに移動。
  5. base_sold += base_outquote_reserve_real += quote_in_after_fee × (lp_share / total_share) を更新。
  6. 手数料カウンタを更新(protocol_fees_quotecreator_fees_quote)。
  7. state_data.num_buys += 1
  8. 更新後に quote_reserve_real ≥ quote_reserve_target の場合、SDK は通常、同じトランザクションで Graduate ix をチェーンします。プログラムは 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
これらのウォレットは通常、Raydium 運営の卒業クランクで保有されます;実際には卒業はしきい値を超える数秒後に実行され、最終購入を誰がトリガーしたかに関わらず。 引数 MigrateToAmm は 3 つを取ります(主に OpenBook マーケットパラメータで、プログラムが AMM v4 に転送):
MigrateToCpswap は何も取りません。 効果(両方に共通)
  1. pool_state.status == Migrate を検証(つまり、quote_reserve_target に達した)。否則、PoolMigrated(ステータスは既に Migrated)または PoolFunding(まだ資金調達中)でリバート。
  2. pool_state.migrate_type が命令にマッチするか検証(AMM の場合 0、CPMM の場合 1)。否則 MigrateTypeNotMatch でリバート。
  3. 卒業後のリザーブを計算:
    • base_amount_out = base_vault.amount − vesting_schedule.total_locked_amount
    • quote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
  4. 対象プログラム(AMM v4 Initialize2 または CPMM InitializeWithPermission)に CPI し、これらのリザーブで卒業後のプールを作成。
  5. バインディング PlatformConfig.{platform_scale, creator_scale, burn_scale} に従って結果の LP を分割(CPMM のみ) — 1 ピースを platform_nft_wallet にミント、1 つを LP ロックプログラムでラップされたクリエータ NFT に、1 つを Burn & Earn で焼却。AMM v4 卒業の場合、LP 配分は AMM v4 の独自の初期化パラメータで管理。
  6. base_mint.mint_authority を失効させる(None に設定)。
  7. pool_state.status = Migrated をフリップし、vesting_schedule.start_time = block_time + cliff_period を設定。
事後条件 — この時点から BuyExactInBuyExactOutSellExactInSellExactOutPoolMigrated でリジェクト。結果の AMM プールは正規で、他の AMM v4 / CPMM プールと同様にトレード可能。 一般的なエラーPoolFundingPoolMigratedMigrateTypeNotMatchInvalidCpSwapConfigMathOverflow

CollectFee

単一ローンチのプロトコルの累積トレード手数料の管理者による回収。 引数 — なし。 アカウント 効果pool_state.quote_protocol_feequote_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_feequote_vault から recipient_token_account に転送、カウンタをゼロにします。

ClaimPlatformFeeFromVault

プラットフォーム毎の集約された回収。プラットフォーム経由でルーティングされたすべてのローンチからの手数料を累積するプラットフォームのクォート mint 毎のフィー vault をドレイン。 引数 — なし。 アカウント 効果platform_fee_vault の全残高を recipient_token_account に転送。vault が空の場合はリバート。

ベスティングおよびプラットフォーム設定命令

これらは専用ページに文書化されています。各々が独自の状態モデルを持つため:

状態変化マトリックス

次はどこへ

ソース: