Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
Dieser Eintrag behandelt ein CPMM-Programm-Upgrade, das für 2026-10-30 geplant ist. Er wurde vor der Bereitstellung gegen den Branch
feat/initialize-v2 von raydium-cp-swap (Head 40cbd81) verifiziert. Bestätigen Sie das bereitgestellte Programm, bevor Sie sich auf die neue Anweisung verlassen.enable_creator_fee-Flag und eine creator_fee_on-Seite, beide bei der Erstellung festgelegt. Bisher konnte ein Creator sie nur über InitializeWithPermission setzen, das eine vom Admin ausgestellte Permission-PDA benötigt. Das öffentliche Initialize speicherte die Gebühr immer als deaktiviert. In der Praxis konnten nur LaunchLab-Graduierungen und andere gated Flows einen Pool erstellen, der eine Creator-Gebühr erhebt.
Dieses Release fügt InitializeV2 hinzu. Es ist Initialize mit einem zusätzlichen Argument, creator_fee_on: Option<CreatorFeeOn>, und jeder kann es aufrufen. Pool-Mathematik, Swap, Liquidität, Gebührenerhebung und der Protokollanteil der Creator-Gebühr sind unberührt.
TL;DR für Integratoren
- Neue Anweisung:
InitializeV2. Berechtigungsfrei. Die Argumente sindinit_amount_0,init_amount_1,open_timeundcreator_fee_on: Option<CreatorFeeOn>. Diskriminator[67, 153, 175, 39, 218, 16, 38, 32]. Some(side)aktiviert die Creator-Gebühr auf dieser Seite;Nonelässt sie deaktiviert.Nonespeichert genau das, wasInitializespeichert.- Dieselben Konten wie
Initialize, ohnerent. Die ersten 19 Konten sind identisch und in derselben Reihenfolge. Siehe die Kontoliste. - Der Creator ist der Unterzeichner.
pool_state.pool_creatorist der signierendecreator. Anders als beiInitializeWithPermissionkann der Begünstigte nicht auf eine andere Adresse gesetzt werden. - Der Creator wählt Ein/Aus und die Seite, nicht den Satz. Der Pool erhebt die
AmmConfig.creator_fee_rateseines Gebührentiers. Dieser Satz ist standardmäßig0, daher sammelt ein aktivierter Pool auf einem solchen Tier nichts an. - Nichts Bestehendes hat sich geändert.
InitializeundInitializeWithPermissionbehalten ihre Diskriminatoren, Konten, Argumente und ihr Verhalten. Kein Account-Layout und kein Fehlercode hat sich geändert. - Aktualisieren Sie Ihre IDL, um die neue Anweisung zu erhalten. Clients, die sie nie aufrufen, benötigen keine Änderung.
Was sich im Programm geändert hat
Neue Anweisung: InitializeV2
InitializeV2 führt denselben Erstellungscode wie Initialize aus. Es:
- akzeptiert entweder die kanonische Pool-PDA oder ein signiertes zufälliges Keypair als
pool_state; - wendet dieselbe Token-2022-Allowlist und dieselben
SupportMintAssociated-Prüfungen überremaining_accountsan; - lehnt die Erstellung ab, wenn
amm_config.disable_create_poolgesetzt ist; - erhöht
open_timeaufblock_timestamp + 1, wenn es nicht in der Zukunft liegt; - sperrt 100 LP-Basiseinheiten und prägt den Rest an den Creator;
- erhebt
amm_config.create_pool_fee.
PoolState schreibt:
Ein ungültiges Tag- oder Varianten-Byte lässt die Argument-Deserialisierung von Anchor fehlschlagen. Es ist kein neuer Fehlercode beteiligt.
Vergleich der drei Erstellungspfade
Internes Refactoring
Die drei Handler teilen sich nun eineinitialize_pool-Routine. Das Refactoring ändert weder die Konten, Argumente, Prüfungen noch die gespeicherten Werte von Initialize oder InitializeWithPermission. Die neuen Tests prüfen außerdem, dass ein einfaches Initialize auf derselben Config die Creator-Gebühr weiterhin als deaktiviert speichert.
Was Creators wissen sollten
- Prüfen Sie zuerst das Gebührentier. Der Creator-Gebührensatz gehört zur
AmmConfig, nicht zum Pool. Wählen Sie ein Tier, dessencreator_fee_ratedem entspricht, was Sie erheben möchten. Die Sätze sind inproducts/cpmm/feesaufgeführt. - Die Wahl ist dauerhaft. Keine Anweisung ändert
enable_creator_feeodercreator_fee_onnach der Erstellung. Um sie zu ändern, müssen Sie einen neuen Pool erstellen. - Trader zahlen sie zusätzlich zur Handelsgebühr. Die Creator-Gebühr ist ein separater Satz, der zum Swap hinzukommt. Sie reduziert nicht die LP-, Protokoll- oder Fonds-Anteile, macht den Pool aber teurer zu handeln als einen Pool auf demselben Tier mit deaktivierter Gebühr.
- Die Erhebung ist unverändert. Verwenden Sie
CollectCreatorFeeoderCollectCreatorFeePermissionless. Der Protokollanteil aus dem Release vom 2026-09-19 gilt, und Sie können ihn bei der Erstellung nicht abwählen.
Migrationsnotizen
- Pool-Creators. Wechseln Sie nur dann von
InitializezuInitializeV2, wenn Sie die Creator-Gebühr aktivieren möchten. Übergeben SieSome(side)und entfernen Sie dasrent-Konto.Initializefunktioniert weiterhin. - SDK-Nutzer.
raydium.cpmm.createPoolin@raydium-io/raydium-sdk-v2@0.2.64-alphabautInitialize. Bis ein Release einenInitializeV2-Builder mitliefert, kodieren Sie es aus der aktualisierten IDL. - Indexer und Router. Rechnen Sie mit mehr Pools mit
enable_creator_fee = true, die von gewöhnlichen Wallets statt von LaunchLab erstellt werden. Quoten Sie anhand vonenable_creator_feeundcreator_fee_ondes jeweiligen Pools, niemals allein anhand des Erstellungspfads oder des Tiers. Dekodieren Sie die neue Anweisung, wenn Sie die Pool-Erstellung anhand von Anweisungen verfolgen. Das Verfolgen überPoolState-Konten erfordert keine Änderung. - UIs. Zeigen Sie an, ob ein Pool eine Creator-Gebühr erhebt und zu welchem Satz, da sich zwei Pools auf demselben Tier nun unterscheiden können.
- LaunchLab und andere berechtigte Flows. Keine Änderung.
InitializeWithPermissionbleibt der Pfad, wenn sich Zahler und aufgezeichneter Creator unterscheiden müssen.
Was sich nicht geändert hat
- Jedes Account-Layout, einschließlich
PoolStateundAmmConfig. InitializeundInitializeWithPermission: Diskriminatoren, Konten, Argumente und gespeicherte Werte.Permission,CreatePermissionPdaundClosePermissionPda.- Swap-, Deposit- und Withdraw-Mathematik, die Erhebung der Creator-Gebühr und der Protokollanteil der Creator-Gebühr.
- Fehlercodes.
6000–6015sind unverändert; nichts angehängt. - Programm-ID.
Aktualisierte Seiten
products/cpmm/instructions: Upgrade-Banner; Zeilen in Übersicht und Zustandsänderungsmatrix; neuerInitializeV2-Abschnitt mit Argumenten, Kodierung und Kontoliste; dieInitialize-Nachbedingung verweist nun aufInitializeV2.products/cpmm/fees: Der Abschnitt „Creator-Gebühr” listet alle drei Erstellungspfade auf und weist darauf hin, dass das Aktivieren der Gebühr nicht ihren Satz festlegt.products/cpmm/accounts:poolState- und Pool-ID-Hinweise; Feldhinweise zucreator_fee_on/enable_creator_fee;Permission-Hinweis; Zeile zum Konto-Lebenszyklus.products/cpmm/overview: „What’s new”-Callout und der Punkt „Vorhersehbare Gebühren”.products/cpmm/code-demos: Hinweis, dasscreatePoolInitializebaut, und wie manInitializeV2erreicht.protocol-overview/shared-infrastructure: Creator-Gebühren sind nicht mehr auf LaunchLab-graduierte Pools beschränkt.reference/token-2022-support: CPMM-Pool-Erstellungspfade.
raydium-cp-swap Branch feat/initialize-v2 (40cbd81): programs/cp-swap/src/lib.rs, instructions/initialize_v2.rs, instructions/initialize.rs, instructions/initialize_with_permission.rs, instructions/mod.rs, states/pool.rs und tests/initialize_v2.test.ts.
