Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
LaunchLab stellt einen kompakten Anweisungssatz bereit: sechs Aufrufe für Benutzer plus eine Handvoll Admin-Primitiven. Das SDK umhüllt alle; diese Seite dokumentiert die rohe Oberfläche für Aggregatoren, Überwachungstools und Programme, die CPI benötigen.
Anweisungsbestand
Die Aufteilung „ExactIn/ExactOut” spiegelt CPMMs
SwapBaseInput / SwapBaseOutput wider — on-chain sind sie separate Anweisungs-Diskriminatoren mit leicht unterschiedlichem Rounding.
Graduierungspfad-Auswahl. Jeder neue Initialize-, InitializeV2- und InitializeWithToken2022-Aufruf muss migrate_type = 1 (CPSWAP) setzen. Jeder Versuch, einen neuen AMM-v4-gebundenen Pool zu initialisieren, gibt MigrateTypeNotMatch zurück. amm_creator_fee_on wählt nur aus, ob die resultierende CPMM-Ersteller-Gebühr auf das Quote-Token oder beide Token angewendet wird; es wählt nicht das Ziel-Programm aus.
MigrateToAmm bleibt für einen bestehenden PoolState aufrufbar, der mit migrate_type = 0 vor dieser Einschränkung initialisiert wurde. Die Veröffentlichung schreibt den bestehenden Pool-Status nicht um und entfernt die Legacy-Anweisung nicht.
Initialize
Erstellen Sie einen neuen Launch.
Argumente
Vorbedingungen
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- Gebührenparameter bestehen
launch_config.max_*_fee_rate-Prüfungen. open_time ≥ now − slop(SDK erzwingt≥ now; Programm toleriert leichte Rückdatierung).curve_typewird erkannt.
base_minthatsupply = base_supply_max, alles inbase_vault.base_mint.mint_authority = launch_authority,freeze_authority = None.LaunchStateinitialisiert mitstatus = Active,base_sold = 0,quote_reserve_real = 0.quote_reserve_targetberechnet aus Kurvenparametern +base_supply_graduation+buy_numerator(ungefähr).
InvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.
Buy (kanonische Variante: BuyExactIn)
Benutzer stellt ein festes quote_in bereit; die Kurve berechnet base_out.
Argumente
Vorbedingungen
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
- Teilen Sie
quote_ininquote_in_after_feeund die Gebührenteile auf. - Newton-Lösen Sie die Kurve für
base_outgegeben das Post-Gebühren-Quote. require(base_out ≥ minimum_base_out)sonst revertExceededSlippage.- Verschieben Sie
quote_inBenutzer → Vault. Verschieben Siebase_outVault → Benutzer. - Aktualisieren Sie
base_sold += base_out,quote_reserve_real += quote_in_after_fee × (lp_share / total_share). - Aktualisieren Sie Gebührenzähler (
protocol_fees_quote,creator_fees_quote). state_data.num_buys += 1.- Wenn
quote_reserve_real ≥ quote_reserve_targetnach der Aktualisierung, verkettete das SDK typischerweise eineGraduate-Anweisung in derselben Transaktion. Das Programm graduiert nicht automatisch innerhalb vonBuy— eine nachfolgendeGraduateist erforderlich.
BuyExactOut
Benutzer gibt das exakte base_out an; Programm berechnet quote_in.
Argumente
BuyExactIn. Verwendet die geschlossene quadratische Integralform (oder CPMM-Inverse für curve_type 1) statt Newton-Iteration.
Sell / SellExactIn / SellExactOut
Spiegelbild von Buy. Benutzer gibt base_in an die Kurve zurück und erhält quote_out. Die Gebühr wird von quote_out abgezogen, daher erhält der Benutzer weniger als die rohen integrierten Einnahmen.
Vorbedingungen —
user_base_ata.balance ≥ base_in.- Verkauf kann
base_soldnicht unter 0 drücken (redundant mit dem obigen, wenn die Buchhaltung konsistent ist). - Launch ist
Active.
Buy. base_sold sinkt, quote_reserve_real sinkt. Gebühren fallen weiterhin an.
MigrateToAmm / MigrateToCpswap
Graduieren Sie einen Launch in einen handelbaren Pool, sobald die Kurve total_quote_fund_raising erreicht hat. Neue Launches sind nur CPMM. MigrateToAmm wird für bestehende Pools beibehalten, deren gespeicherter migrate_type 0 ist.
Wer unterzeichnet
MigrateToAmm— dasmigrate_to_amm_wallet, das auf der Bindungs-GlobalConfigaufgezeichnet ist.MigrateToCpswap— dasmigrate_to_cpswap_wallet, das auf der Bindungs-GlobalConfigaufgezeichnet ist.
MigrateToAmm nimmt drei (hauptsächlich OpenBook-Marktparameter, die das Programm an AMM v4 weiterleitet):
MigrateToCpswap nimmt keine.
Effekt (gemeinsam für beide)
- Überprüfen Sie
pool_state.status == Migrate(d. h.quote_reserve_targetwurde erreicht). Andernfalls revert mitPoolMigrated(Status war bereitsMigrated) oderPoolFunding(noch in Finanzierung). - Überprüfen Sie, dass
pool_state.migrate_typeder Anweisung entspricht (0für AMM,1für CPMM). Andernfalls revert mitMigrateTypeNotMatch. - Berechnen Sie die Post-Graduierungs-Reserven:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- CPI in das Ziel-Programm (
AMM v4 Initialize2oderCPMM InitializeWithPermission) mit diesen Reserven, um den Post-Graduierungs-Pool zu erstellen. - Für CPMM-Migrationen, die nach dem 2026-08-17-Upgrade ausgeführt werden, kombinieren Sie
platform_scale + creator_scalein einen plattformeigenen gesperrten LP-Anteil und prägen Sie höchstens einen Fee-Key-NFT zuplatform_nft_wallet. Verbrennen Sie denburn_scale-Rest. Vor dem Upgrade warcreator_scaleseparat gesperrt und sein Fee-Key ging an den Token-Ersteller. Abgeschlossene historische Migrationen werden nicht geändert. Für Legacy-AMM-v4-Graduierung folgt die LP-Disposition dem bestehenden Fluss dieser Anweisung. - Widerrufen Sie
base_mint.mint_authority(setzen Sie aufNone). - Kippen Sie
pool_state.status = Migrated, setzen Sievesting_schedule.start_time = block_time + cliff_period.
BuyExactIn, BuyExactOut, SellExactIn, SellExactOut werden von diesem Punkt an mit PoolMigrated ablehnen. Der resultierende AMM-Pool ist kanonisch und handelt wie jeder andere AMM-v4- / CPMM-Pool.
Häufige Fehler — PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.
CPMM-Migrations-Restkonten
Clients, dieMigrateToCpswap erstellen, müssen diese festen remaining_accounts-Indizes verwenden:
Die Anweisung erfordert mindestens zehn Restkonten auf dem aktualisierten Pfad. Die Support-Mint-Konten sind schreibgeschützte CPI-Eingaben. Leiten Sie beide Adressen ab, auch wenn der Mint keinen initialisierten Support-Datensatz hat. Ältere Builder, die immer noch Creator-Lock-Konten anhängen oder Indizes 8–9 weglassen, müssen aktualisiert werden.
Plattform-GlobalConfig-Allowlist
PlatformConfig.restrict_global_config steuert die Prüfung:
0: Die Plattform akzeptiert jede ansonsten gültigeGlobalConfig; kein Allow-Konto ist erforderlich.1:Initialize,InitializeV2undInitializeWithToken2022müssen die passendePlatformAllowConfigirgendwo inremaining_accountsenthalten.
CreatePlatformAllowConfig und ClosePlatformAllowConfig. Ihre Seeds sind [b"platform_allow_config", platform_config, global_config]. Die früheren Admin-verwalteten PlatformGlobalAccess-Anweisungen und PDA sind veraltet.
CollectFee
Admin-Einzug der aufgelaufenen Handelsgebühren des Protokolls auf einem einzelnen Launch.
Argumente — keine.
Konten
Effekt — Übertragen Sie
pool_state.quote_protocol_fee von quote_vault zu recipient_token_account, dann nullen Sie den Zähler. Aufrufbar jederzeit nach dem ersten Kauf.
CollectMigrateFee
Admin-Einzug der bei der Graduierung aufgelaufenen Migrationsgebühr. Gleiche Kontoform wie CollectFee mit migrate_fee_owner als Unterzeichner (statt protocol_fee_owner) und pool_state.migrate_fee als geleerten Zähler.
ClaimCreatorFee
Pro-Ersteller-Einzug aufgelaufener Ersteller-Gebühren über jeden Launch, den der Ersteller besitzt, der das gleiche Quote-Mint verwendet. Leert den Pro-Ersteller-Gebühren-Vault, nicht den Pro-Pool-Vault.
Argumente — keine.
Konten
Effekt — Übertragen Sie den gesamten Saldo von
creator_fee_vault zu recipient_token_account. Revert mit einer Require-Größer-als-Null-Prüfung, wenn der Vault leer ist.
ClaimPlatformFee
Pro-Plattform-Einzug, der einen Launch-Quote-Vault direkt leert. Verwenden Sie dies, wenn eine Plattform ihren Anteil für einen bestimmten Launch einziehen möchte, ohne durch den aggregierten Plattform-Vault zu gehen.
Argumente — keine.
Konten
Effekt — Übertragen Sie
pool_state.platform_fee von quote_vault zu recipient_token_account, nullen Sie den Zähler.
ClaimPlatformFeeFromVault
Pro-Plattform-aggregierter Einzug. Leert den Pro-Quote-Mint-Gebühren-Vault der Plattform, der Gebühren von jedem Launch sammelt, der durch die Plattform geleitet wird.
Argumente — keine.
Konten
Effekt — Übertragen Sie den vollständigen Saldo von
platform_fee_vault zu recipient_token_account. Revert, wenn der Vault leer ist.
Vesting- und Plattformkonfigurationsanweisungen
Diese sind auf dedizierten Seiten dokumentiert, da jede ihr eigenes State-Modell hat:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,UpdatePlatformCurveParam,RemovePlatformCurveParam,CreatePlatformAllowConfig,ClosePlatformAllowConfigCreateConfig,UpdateConfig
State-Änderungsmatrix
Nächste Schritte
products/launchlab/code-demos— TypeScript-Beispiele für jede Anweisung.products/launchlab/accounts— vollständige State-Form.reference/error-codes— LaunchLab-Fehler-Enum.
- Raydium SDK v2
LaunchLabModul - Raydium LaunchLab Programm-Quelle

