Zum Hauptinhalt springen
Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Diese Seite dokumentiert das Launch-spezifische Kontengraph: PoolState (das Root-State-Konto für einen Launch), seine zwei Vaults, das Authority-PDA und die Referenzen nach der Graduation, die es erhält, wenn der Launch abgeschlossen ist.Für die Protocol-level-Konfiguration, die jeden Launch begrenzt, siehe products/launchlab/global-config. Für das Platform-level-Overlay siehe products/launchlab/platform-config. Für Vesting-Konten (VestingSchedule auf PoolState, VestingRecord pro Begünstigter) siehe products/launchlab/vesting.

Konto-Übersicht

Das SDK raydium.launchpad.getLaunchById gibt PoolState plus ein Flag zurück, das anzeigt, ob der Launch graduiert ist; wenn ja, ist die Post-Migration Pool-ID enthalten.

PoolState

Der Launch-spezifische Root-State. Feldnamen unten entsprechen der On-Chain Rust-Struktur (states/pool.rs); einige Werte sind aus Gründen der Lesbarkeit vereinfacht — konsultieren Sie die Quelle für das genaue Memory-Layout.
PoolStatus-Werte (aus dem Anchor IDL):
Integrator-relevante Felder:
  • status — drei Werte, monoton (Funding → Migrate → Migrated). Lesezugriffe immer sicher; Schreibzugriffe gated.
  • real_base, real_quote — aktueller Curve-State. In Kombination mit virtual_base / virtual_quote sind sie ausreichend, um den Spotpreis zu berechnen, ohne die Vaults zu berühren. Siehe bonding-curve.
  • total_base_sell vs real_base — „Progress zur Graduation”-Verhältnis für UIs.
  • migrate_type — wählt aus, ob MigrateToAmm oder MigrateToCpswap der gültige Graduation-Pfad ist. Token-2022-Launches müssen CPMM verwenden.
  • amm_creator_fee_on — nur sinnvoll bei Graduation zu CPMM. Wählt creator_fee_on = OnlyQuoteToken (0) oder BothToken (1) auf dem Post-Graduation-CPMM-Pool. Trotz des Namens steuert dieses Enum effektiv auch das Migrationsziel — BothToken ist in der aktuellen operativen Praxis mit MigrateToAmm gepaart; QuoteToken mit MigrateToCpswap. Siehe creator-fees.
  • quote_protocol_fee / platform_fee / migrate_fee — drei unabhängige Gebührenzähler. Jeder hat eine eigene Claim-Instruction; siehe instructions.
  • vesting_schedule — vorhanden auf jedem PoolState aber inaktiv, wenn total_locked_amount == 0. Siehe vesting für den vollständigen Lebenszyklus.

Das Authority-PDA

LaunchLab verwendet ein einzelnes Authority-PDA über alle Launches hinweg, abgeleitet ohne Launch-spezifischen Seed:
Das einzelne PDA ist:
  • Die Authority auf jedem Launch’s base_vault und quote_vault.
  • Die mint_authority auf jedem Launch’s base_mint (Pre-Graduation).
  • Der Signer auf dem Post-Graduation-CPI zu AMM v4 / CPMM (MigrateTo*).
  • Der Signer auf ClaimVestedToken-Transfers aus dem Base-Vault.
Die mint_authority wird unmittelbar nach MigrateToAmm / MigrateToCpswap widerrufen, sodass der Supply permanent festgelegt ist. Zwei zusätzliche PDAs sperren die Fee-Vaults:
Diese signieren den Transfer aus den entsprechenden Fee-Vaults während ClaimCreatorFee und ClaimPlatformFeeFromVault.

Base-Mint

Erstellt inline durch Initialize mit:
  • mint_authority = authority (widerrufen bei Graduation).
  • freeze_authority = None.
  • supply = supply, vollständig in base_vault geprägt.
  • decimals vom Creator bei Initialize gewählt (häufig 6).
Da der vollständige Supply vorher geprägt wird, ist base_mint.supply für die gesamte Lebensdauer des Launches konstant. Curve-Käufe verschieben Token von base_vault zum Käufer, rufen aber mint_to nicht auf. Initialize / InitializeV2 erstellen SPL Token-Launches. Die dedizierte InitializeWithToken2022-Instruction ermöglicht es, dass der Base-Mint ein Token-2022-Mint ist (mit optionaler TransferFeeConfig); der Quote-Mint ist immer noch SPL Token. Token-2022-Launches müssen zu einem CPMM-Pool graduieren, da AMM v4 nur SPL Token-Vaults unterstützt.

Vaults

Sowohl base_vault als auch quote_vault sind Standard-SPL-Token-Konten, die vom LaunchLab authority-PDA besessen werden. Adressen sind auf PoolState gespeichert und können auch abgeleitet werden:
(Überprüfen Sie die genauen Seed-Präfixe aus der Initialize-Accounts-Struktur der Quelle, bevor Sie sich in der Produktion auf eine Ableitung verlassen.)

Fee-Vaults

Zwei PDAs aggregieren Gebühren über Launches hinweg:
  • Creator Fee Vault — PDA bei Seeds [creator, quote_mint]. Jeder Launch, der die gleichen Creator-Gebühren auf dem gleichen Quote-Mint verdient, fließt in den gleichen Vault. Der Creator leert ihn via ClaimCreatorFee.
  • Platform Fee Vault — PDA bei Seeds [platform_config, quote_mint]. Jeder Launch, der durch die gleiche Platform geleitet wird und den gleichen Quote-Mint nutzt, fließt in den gleichen Vault. Die platform_fee_wallet der Platform leert ihn via ClaimPlatformFeeFromVault. Es gibt auch eine Pro-Launch-Leerungs-Variante (ClaimPlatformFee), die direkt aus dem Launch’s quote_vault zieht, ohne den aggregierten Vault zu durchlaufen.
Das aggregierte-Vault-Muster ermöglicht es einem Creator oder einer Platform mit hohem Volumen, die Mietkosten der Gebührenakkumulation über viele Launches zu amortisieren.

Quote Vault ↔ real_quote

quote_vault.balance und PoolState.real_quote sollten synchron bleiben. Sie können um höchstens die Summe der drei ausstehenden Gebührenzähler (quote_protocol_fee, platform_fee, migrate_fee) abweichen, die im Vault sitzen aber zu den Gebührenzählern und nicht zur Curve-Reserve gehören. Die Curve-Mathematik verwendet immer real_quote, niemals den rohen Vault-Saldo. Pre-Graduation-Invariante:

Lebenszyklus-Konto-Übergänge

Nächste Schritte

Quellen:
  • raydium-launch/programs/launchpad/src/states/pool.rsPoolState, PoolStatus, VestingSchedule, AmmCreatorFeeOn.
  • raydium-launch/programs/launchpad/src/lib.rs — PDA-Seed-Konstanten (AUTH_SEED, CREATOR_FEE_VAULT_AUTH_SEED, PLATFORM_FEE_VAULT_AUTH_SEED).
  • Raydium SDK v2 launchpad module.