Zum Hauptinhalt springen

Documentation Index

Fetch the complete documentation index at: https://docs.raydium.io/llms.txt

Use this file to discover all available pages before exploring further.

Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
LaunchLab stellt eine kompakte Anweisungsmenge bereit: sechs Aufrufe für Benutzer plus einige Admin-Primitive. Das SDK umhüllt alle davon; diese Seite dokumentiert die rohe Oberfläche für Aggregatoren, Überwachungstools und Programme, die CPI benötigen.

Anweisungsübersicht

GruppeAnweisungAufrufbar durch
Globale KonfigurationCreateConfig / UpdateConfigAdmin
StartlebenszyklusInitialize / InitializeV2Beliebig (Ersteller) — SPL Token-Starts; V2 erfasst amm_creator_fee_on für die eventuelle CPMM-Graduierung
StartlebenszyklusInitializeWithToken2022Beliebig (Ersteller) — Token-2022-Start, optionales TransferFeeConfig
HandelBuyExactIn / BuyExactOutBeliebig — exakte-Input / exakte-Output-Kauf auf der Bonding Curve
HandelSellExactIn / SellExactOutBeliebig — exakte-Input / exakte-Output-Verkauf auf der Bonding Curve
GraduierungMigrateToAmmMigrations-Wallet (in GlobalConfig gesetzt) — Graduierung zu AMM v4. Wird verwendet, wenn amm_creator_fee_on = BothToken, damit die Creator-Gebühr auf beiden Seiten erhoben werden kann.
GraduierungMigrateToCpswapMigrations-Wallet — Graduierung zu CPMM. Wird verwendet, wenn amm_creator_fee_on = QuoteToken und erforderlich für Token-2022-Starts. Hüllt InitializeWithPermission auf CPMM ein.
GebührenCollectFeeAdmin — Abruf von Protokollgebühren von einem Start
GebührenCollectMigrateFeeAdmin — Abruf angesammelter Migrationsgebühren
GebührenClaimCreatorFeeErsteller — Abruf angesammelter Creator-Gebühren während der Curve-Phase
VestingCreateVestingAccountErsteller — Zuordnung gesperrter Token an einen Begünstigten, freigegeben nach Graduierung
VestingCreatePlatformVestingAccountPlatform-Admin — Zuordnung gesperrter Token an Plattform-seitige Begünstigte
VestingClaimVestedTokenBegünstigter — Abruf freigegebener Token nach der Cliff-Periode
PlattformkonfigurationCreatePlatformConfig / UpdatePlatformConfigPlatform-Admin
PlattformkonfigurationUpdatePlatformCurveParam / RemovePlatformCurveParamPlatform-Admin — Verwaltung der pro-Plattform-Liste zulässiger Curve-Formen
PlattformgebührenClaimPlatformFee / ClaimPlatformFeeFromVaultPlatform-Admin
PlattformzugriffCreatePlatformGlobalAccess / ClosePlatformGlobalAccessAdmin — Kontrolle, welche Plattformen eine gegebene GlobalConfig verwenden dürfen
Die „ExactIn/ExactOut”-Aufteilung spiegelt CPMMs SwapBaseInput / SwapBaseOutput wider — on-chain sind es separate Anweisungs-Diskriminatoren mit leicht unterschiedlicher Rundung. Graduierungspfadauswahl. migrate_type wird auf PoolState bei Initialize{V2,WithToken2022} erfasst und bestimmt, welche der beiden Graduierungsanweisungen ausgeführt werden kann. Token-2022-Starts migrieren immer zu CPMM. SPL Token-Starts migrieren zu entweder AMM v4 oder CPMM, abhängig von der amm_creator_fee_on-Einstellung:
  • BothTokenMigrateToAmm → AMM v4 Pool (Creator-Gebühr kann von beiden Seiten erhoben werden; AMM v4 hat kein natives Creator-Gebühren-Feld, daher werden Creator-Gebühren stattdessen über den LP-Lock NFT-Mechanismus erfasst).
  • QuoteTokenMigrateToCpswap → CPMM Pool mit creator_fee_on = OnlyQuoteToken (Creator verdient weiterhin Gebühren aus dem CPMM Pool durch den LaunchLab Fee Key NFT — siehe products/launchlab/creator-fees).
Hinweis zum AmmCreatorFeeOn-Enum-Namen. Der Rust-Quellcode nennt dieses Enum AmmCreatorFeeOn mit Varianten QuoteToken und BothToken. Der Name ist irreführend: in der aktuellen Betriebspraxis steuert die Variante nicht nur, von welcher Seite die Creator-Gebühr im Post-Graduierungs-CPMM-Pool erhoben wird — sie wählt auch das Graduierungs-Ziel-Programm (AMM v4 vs CPMM) und paart sich mit migrate_type auf der PoolState des Starts. Behandeln Sie das Feld als „Migrationsziel + Post-Graduierungs-Creator-Gebühren-Seite” zusammengefasst. Der On-Chain-Enum-Name wurde nicht umgestaltet, aber das Denken daran als MigrationTarget entspricht der Realität genauer.

Initialize

Erstellen Sie einen neuen Start. Argumente
launch_params: {
    curve_type:                 u8,
    base_supply_max:            u64,
    base_supply_graduation:     u64,
    k:                          u128,              // oder initial_virtual_quote_reserve für curve_type=1
    open_time:                  u64,
    quote_mint:                 Pubkey,
    base_token_metadata: {                         // inline name/symbol/uri; Programm CPIs zu Metaplex
        name:   String,
        symbol: String,
        uri:    String,
    },
    fees: {
        buy_numerator:   u64,
        buy_denominator: u64,
        sell_numerator:  u64,
        sell_denominator: u64,
        lp_share:        u64,
        creator_share:   u64,
        protocol_share:  u64,
        total_share:     u64,
    },
    post_graduation_lp_policy:  u8,                // 0 = Burn, 1 = Lock, 2 = ToCreator
}
Konten (gekürzt)
#NameWSHinweise
1creatorWSZahlt Rent + Base Mint-Erstellung.
2launch_configProtokoll-Konfigurationsbindung.
3launch_stateWNeues Konto.
4launch_authorityPDA.
5base_mintWSFrisches Keypair (oder PDA) — diese Anweisung initialisiert es.
6base_vaultWATA von launch_authority auf base_mint.
7quote_mint
8quote_vaultWATA von launch_authority auf quote_mint.
9metadataWMetaplex Metadaten-PDA.
10metaplex_program
11token_programNur SPL Token.
12system_program
13rent
Vorbedingungen
  • quote_mint ∈ launch_config.allowed_quote_mints.
  • base_supply_graduation ≤ base_supply_max.
  • Gebührenparameter erfüllen launch_config.max_*_fee_rate Checks.
  • open_time ≥ now − slop (SDK erzwingt ≥ now; Programm toleriert leichte Rückdatierung).
  • curve_type ist erkannt.
Nachbedingungen
  • base_mint hat supply = base_supply_max, alles in base_vault.
  • base_mint.mint_authority = launch_authority, freeze_authority = None.
  • LaunchState initialisiert mit status = Active, base_sold = 0, quote_reserve_real = 0.
  • quote_reserve_target berechnet aus Curve-Parametern + base_supply_graduation + buy_numerator (ungefähr).
Häufige FehlerInvalidQuoteMint, FeeRateTooHigh, InvalidCurveParams, MathOverflow.

Buy (kanonische Variante: BuyExactIn)

Benutzer stellt einen festen quote_in bereit; die Curve berechnet base_out. Argumente
quote_in:          u64
minimum_base_out:  u64
Konten
#NameWS
1userWS
2launch_stateW
3launch_authority
4base_vaultW
5quote_vaultW
6user_base_ataW
7user_quote_ataW
8base_mint
9quote_mint
10token_program
11associated_token_program
12system_program
Vorbedingungen
  • launch_state.status == Active.
  • now ≥ open_time.
  • user_quote_ata.balance ≥ quote_in.
  • quote_in > 0.
Effekt
  1. Teilen Sie quote_in in quote_in_after_fee und die Gebührenteile auf.
  2. Newton-Solve der Curve für base_out angesichts des post-Gebühren-Quote.
  3. require(base_out ≥ minimum_base_out) sonst Revert mit ExceededSlippage.
  4. Verschieben Sie quote_in Benutzer → Vault. Verschieben Sie base_out Vault → Benutzer.
  5. Aktualisieren Sie base_sold += base_out, quote_reserve_real += quote_in_after_fee × (lp_share / total_share).
  6. Aktualisieren Sie Gebührenzähler (protocol_fees_quote, creator_fees_quote).
  7. state_data.num_buys += 1.
  8. Wenn quote_reserve_real ≥ quote_reserve_target nach der Aktualisierung, hängt das SDK normalerweise eine Graduate ix in derselben Transaktion an. Das Programm graduiert nicht automatisch innerhalb von Buy — eine nachfolgende Graduate ist erforderlich.

BuyExactOut

Benutzer gibt den exakten base_out an; Programm berechnet quote_in. Argumente
base_out:      u64
maximum_quote_in: u64
Gleiche Konten wie BuyExactIn. Verwendet das geschlossene quadratische Integral (oder CPMM-Inverse für curve_type 1) anstelle von Newton-Iteration.

Sell / SellExactIn / SellExactOut

Spiegel von Buy. Benutzer gibt base_in an die Curve 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 Erträge. Vorbedingungen
  • user_base_ata.balance ≥ base_in.
  • Der Verkauf kann base_sold nicht unter 0 drücken (redundant mit dem obigen, da die Buchhaltung konsistent ist).
  • Start ist Active.
Effekt — symmetrisch zu Buy. base_sold sinkt, quote_reserve_real sinkt. Gebühren fallen weiterhin an.

MigrateToAmm / MigrateToCpswap

Graduieren Sie einen Start in einen handelbaren AMM-Pool, sobald die Curve total_quote_fund_raising erreicht hat. Die beiden Anweisungen entsprechen den zwei Graduierungszielen — AMM v4 und CPMM — und nur eine von ihnen ist für jeden gegebenen Start gültig, bestimmt durch pool_state.migrate_type (bei Initialize-Zeit gesetzt). Wer unterzeichnet
  • MigrateToAmm — das migrate_to_amm_wallet auf der Bindungs-GlobalConfig erfasst.
  • MigrateToCpswap — das migrate_to_cpswap_wallet auf der Bindungs-GlobalConfig erfasst.
Diese Wallets werden normalerweise von der von Raydium betriebenen Graduierungs-Crank gehalten; in der Praxis erfolgt die Graduierung Sekunden nachdem der Schwellwert überschritten wird, unabhängig davon, wer den finalen Kauf ausgelöst hat. Argumente MigrateToAmm benötigt drei (hauptsächlich OpenBook-Marktparameter, die das Programm an AMM v4 weiterleitet):
base_lot_size:               u64
quote_lot_size:              u64
market_vault_signer_nonce:   u8
MigrateToCpswap benötigt keine. Effekt (gemeinsam für beide)
  1. Stellen Sie sicher, dass pool_state.status == Migrate (d.h. quote_reserve_target wurde erreicht). Ansonsten Revert mit PoolMigrated (Status war bereits Migrated) oder PoolFunding (noch in Finanzierung).
  2. Stellen Sie sicher, dass pool_state.migrate_type der Anweisung entspricht (0 für AMM, 1 für CPMM). Ansonsten Revert mit MigrateTypeNotMatch.
  3. Berechnen Sie die Post-Graduierungs-Reserven:
    • 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. CPI in das Ziel-Programm (AMM v4 Initialize2 oder CPMM InitializeWithPermission) mit diesen Reserven, um den Post-Graduierungs-Pool zu erstellen.
  5. Teilen Sie das resultierende LP pro Bindungs-PlatformConfig.{platform_scale, creator_scale, burn_scale} (nur CPMM) — ein Teil wird an platform_nft_wallet geprägt, einer an einen Creator-NFT, der vom LP-Lock-Programm umhüllt wird, einer wird über Burn & Earn verbrannt. Für AMM v4-Graduierung wird die LP-Disposition durch AMM v4s eigene Initialisierungsparameter gesteuert.
  6. Widerrufen Sie base_mint.mint_authority (auf None setzen).
  7. Kippen Sie pool_state.status = Migrated, setzen Sie vesting_schedule.start_time = block_time + cliff_period.
NachbedingungenBuyExactIn, BuyExactOut, SellExactIn, SellExactOut werden von diesem Punkt an mit PoolMigrated ablehnen. Der resultierende AMM-Pool ist kanonisch und handelt wie alle anderen AMM v4 / CPMM Pools. Häufige FehlerPoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.

CollectFee

Admin-Abruf der angesammelten Handelsgebühren des Protokolls bei einem einzelnen Start. Argumente — keine. Konten
#NameWSHinweise
1protocol_fee_ownerSMuss gleich global_config.protocol_fee_owner sein.
2authorityPDA [b"vault_auth_seed"]; unterzeichnet die Vault-Übertragung.
3pool_stateWMutiert zu null quote_protocol_fee.
4global_configQuelle der Wahrheit für den Unterzeichner.
5quote_vaultWAbgelassen von quote_protocol_fee.
6recipient_token_accountWATA von protocol_fee_owner auf quote_mint.
7quote_mint
8token_programSPL Token (das Quote Mint ist immer SPL Token).
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-Abruf der Migrationsgebühr, die bei der Graduierung angesammelt wurde. Gleiche Kontenform wie CollectFee mit migrate_fee_owner als Unterzeichner (anstelle von protocol_fee_owner) und pool_state.migrate_fee als abgelasster Zähler.

ClaimCreatorFee

Pro-Creator-Abruf angesammelter Creator-Gebühren über jeden Start, den der Creator besitzt, der das gleiche Quote Mint verwendet. Leert die Pro-Creator-Gebühren-Vault, nicht die Pro-Pool. Argumente — keine. Konten
#NameWSHinweise
1creatorWSDer Pool-Ersteller.
2fee_vault_authorityPDA [b"creator_fee_vault_auth_seed"].
3creator_fee_vaultWPDA an Samen [creator, quote_mint]; die aggregierte Creator-Vault.
4recipient_token_accountWinit_if_needed; ATA von creator auf quote_mint.
5quote_mint
6token_program
7system_programFür ATA-Erstellung wenn nötig.
8associated_token_program
Effekt — Übertragen Sie den gesamten Saldo von creator_fee_vault zu recipient_token_account. Revert mit einem größer-als-Null-Check, wenn die Vault leer ist.

ClaimPlatformFee

Pro-Plattform-Abruf, der eine Start-Quoten-Vault direkt ablässt. Verwenden Sie dies, wenn eine Plattform ihren Anteil für einen bestimmten Start beanspruchen möchte, ohne durch die aggregierte Plattform-Vault zu gehen. Argumente — keine. Konten
#NameWSHinweise
1platform_fee_walletWSMuss gleich platform_config.platform_fee_wallet sein.
2authorityPDA [b"vault_auth_seed"].
3pool_stateWAbgelassen von pool_state.platform_fee.
4platform_configQuelle der Wahrheit für den Unterzeichner.
5quote_vaultWAbgelassen.
6recipient_token_accountWinit_if_needed; ATA von platform_fee_wallet.
7quote_mint
8token_program
9system_program
10associated_token_program
Effekt — Übertragen Sie pool_state.platform_fee von quote_vault zu recipient_token_account, nullen Sie den Zähler.

ClaimPlatformFeeFromVault

Pro-Plattform aggregierter Abruf. Leert die Pro-Quote-Mint-Gebühren-Vault der Plattform, die Gebühren von jedem Start sammelt, der durch die Plattform geleitet wird. Argumente — keine. Konten
#NameWSHinweise
1platform_fee_walletWSMuss gleich platform_config.platform_fee_wallet sein.
2fee_vault_authorityPDA [b"platform_fee_vault_auth_seed"].
3platform_config
4platform_fee_vaultWPDA an Samen [platform_config, quote_mint].
5recipient_token_accountWinit_if_needed; ATA von platform_fee_wallet.
6quote_mint
7token_program
8system_program
9associated_token_program
Effekt — Übertragen Sie den vollen Saldo von platform_fee_vault zu recipient_token_account. Revert, wenn die Vault leer ist.

Vesting und Plattformkonfigurationsanweisungen

Diese sind auf dedizierten Seiten dokumentiert, da jede ihr eigenes State-Modell hat:

State-Change-Matrix

Anweisungstatusreal_basereal_quoteGebührenzählerPost-State Pool
Initialize{V2,WithToken2022}Funding000
BuyExactIn(q_in)Funding+∆+∆q_after_feequote_protocol_fee += ∆, platform_fee += ∆
SellExactIn(b_in)Funding−∆−∆q_before_fee(gleich)
Schwellwert erreicht→ Migrate
MigrateToAmm / MigrateToCpswap→ Migrated(gefroren)(gefroren)migrate_fee gesetzterstellt, LP geteilt per PlatformConfig
CollectFee / CollectMigrateFeebeliebigZähler genullt
ClaimCreatorFee / ClaimPlatformFee*beliebigleert Vault
CreateVestingAccountFundingerhöht allocated_share_amount
ClaimVestedTokenMigratedleert base_vault

Weiterführend

Quellen: