Skip to main content
このページは AI による自動翻訳です。すべての内容は英語版を正とします。英語版を表示 →
LaunchLab は厳選されたインストラクションセットを公開しています:ユーザー向けの 6 つの呼び出しと、いくつかの管理プリミティブです。SDK はすべてをラップしていますが、このページではアグリゲーター、監視ツール、CPI が必要なプログラム向けの生のサーフェスを説明しています。

インストラクション一覧

「ExactIn/ExactOut」の分割は CPMM の SwapBaseInput / SwapBaseOutput を反映しています — オンチェーンではわずかに異なるラウンディングを持つ別のインストラクション判別器です。 卒業パス選択。 すべての新しい InitializeInitializeV2InitializeWithToken2022 呼び出しは migrate_type = 1CPSWAP)を設定する必要があります。新しい AMM v4 バウンドプールを初期化しようとすると MigrateTypeNotMatch が返されます。amm_creator_fee_on は、結果の CPMM クリエーター手数料がクォートトークンに適用されるか両方のトークンに適用されるかのみを選択します。ターゲットプログラムを選択しません。 MigrateToAmm は、この制限の前に migrate_type = 0 で初期化された既存の PoolState に対して呼び出し可能なままです。このリリースは既存のプール状態を書き直したり、レガシーインストラクションを削除したりしません。

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 法で base_out を解きます。
  3. require(base_out ≥ minimum_base_out) そうでなければ ExceededSlippage で戻ります。
  4. quote_in をユーザー → ボルトに移動します。base_out をボルト → ユーザーに移動します。
  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 に達したら、ローンチをトレード可能なプールに卒業させます。新しいローンチは CPMM のみです。MigrateToAmm は、保存された migrate_type0 である既存のプール用に保持されます。 署名者
  • 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. 2026-08-17 アップグレード後に実行された CPMM マイグレーションの場合、platform_scale + creator_scale を 1 つのプラットフォーム所有のロック LP シェアに結合し、最大 1 つの Fee Key NFT を platform_nft_wallet にミントします。burn_scale の残りを焼却します。アップグレード前は、creator_scale は別々にロックされ、その Fee Key はトークンクリエーターに行きました。完了した履歴マイグレーションは変更されません。レガシー AMM v4 卒業の場合、LP 配置はそのインストラクションの既存フローに従います。
  6. base_mint.mint_authority を取り消します(None に設定)。
  7. pool_state.status = Migrated に反転させ、vesting_schedule.start_time = block_time + cliff_period を設定します。
事後条件BuyExactInBuyExactOutSellExactInSellExactOut はこの時点から PoolMigrated で拒否されます。結果の AMM プールは正規であり、他の AMM v4 / CPMM プールのようにトレードします。 一般的なエラーPoolFundingPoolMigratedMigrateTypeNotMatchInvalidCpSwapConfigMathOverflow

CPMM マイグレーション残りアカウント

MigrateToCpswap を構築するクライアントは、これらの固定 remaining_accounts インデックスを使用する必要があります: インストラクションはアップグレードされたパスで最低 10 個の残りアカウントが必要です。サポートミントアカウントは読み取り専用 CPI 入力です。ミントに初期化されたサポートレコードがない場合でも、両方のアドレスを派生させます。クリエーターロックアカウントを追加し続けるか、インデックス 8–9 を省略する古いビルダーは更新する必要があります。

プラットフォーム GlobalConfig アローリスト

PlatformConfig.restrict_global_config はチェックを制御します:
  • 0:プラットフォームは有効な GlobalConfig を受け入れます;アローアカウントは必要ありません。
  • 1InitializeInitializeV2InitializeWithToken2022 は、remaining_accounts のどこかに一致する PlatformAllowConfig を含める必要があります。
プラットフォーム管理者は CreatePlatformAllowConfigClosePlatformAllowConfig で PDA を作成または閉じます。そのシードは [b"platform_allow_config", platform_config, global_config] です。以前の管理者管理の PlatformGlobalAccess インストラクションと PDA は廃止されました。

CollectFee

単一のローンチでプロトコルの蓄積されたトレード手数料の管理者回収。 引数 — なし。 アカウント 効果pool_state.quote_protocol_feequote_vault から recipient_token_account に転送し、カウンターをゼロにします。最初の買い後いつでも呼び出し可能です。

CollectMigrateFee

卒業時に蓄積されたマイグレーション手数料の管理者回収。CollectFee と同じアカウント形状で、protocol_fee_owner の代わりに migrate_fee_owner を署名者として、pool_state.migrate_fee をドレインされたカウンターとして使用します。

ClaimCreatorFee

クリエーターが所有するすべてのローンチにわたって蓄積されたクリエーター手数料の、同じクォートミントを使用するクリエーターごとの回収。プール単位のものではなく、クリエーター単位の手数料ボルトをドレインします。 引数 — なし。 アカウント 効果creator_fee_vault の全残高を recipient_token_account に転送します。ボルトが空の場合、ゼロより大きいチェックで戻ります。

ClaimPlatformFee

単一のローンチのクォートボルトを直接ドレインするプラットフォームごとの回収。プラットフォームが集約されたプラットフォームボルトを経由せずに 1 つの特定のローンチのスライスを請求したい場合に使用します。 引数 — なし。 アカウント 効果pool_state.platform_feequote_vault から recipient_token_account に転送し、カウンターをゼロにします。

ClaimPlatformFeeFromVault

プラットフォームごとの集約回収。プラットフォームを通じてルーティングされたすべてのローンチからの手数料を蓄積するプラットフォームのクォートミントごとの手数料ボルトをドレインします。 引数 — なし。 アカウント 効果platform_fee_vault の全残高を recipient_token_account に転送します。ボルトが空の場合は戻ります。

ベスティングおよびプラットフォーム設定インストラクション

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

状態変化マトリックス

次のステップ

ソース: