Diese Seite wurde mit KI automatisch übersetzt. Maßgeblich ist stets die englische Version.Englische Version ansehen →
OpenPositionV2 oder OpenPositionWithToken22Nft verwendet und mindestens ein zugrunde liegender Vault-Mint eine Freeze-Autorität aus der hardcodierten Liste der beschränkten Emittenten trägt.
TL;DR für Integratoren
- Neue Position-NFT-Mints haben eine Freeze-Autorität, sind aber standardmäßig nicht eingefroren.
OpenPosition,OpenPositionV2undOpenPositionWithToken22Nftsetzen denpool_stateder Position als Mint-Freeze-Autorität. Die Mint-Autorität wird nach dem Prägen des einzelnen NFT immer noch entfernt. - Einfrieren erfordert einen V2-Pfad plus Emittenten-Übereinstimmung.
OpenPositionV2undOpenPositionWithToken22Nftprüfenvault_0_mint.freeze_authorityundvault_1_mint.freeze_authority. Das neue NFT-Konto wird nur eingefroren, wenn mindestens eine mit der Programmliste übereinstimmt. Ohne Übereinstimmung bleibt es aufgetaut und transferierbar. - Eingefroren bedeutet an den Inhaber gebunden. SPL Token lehnt NFT-Transfers und Änderungen des Token-Konto-Inhabers mit seinem nativen
AccountFrozen-Fehler ab. Liquiditätserhöhung/-verringerung und Gebühren-/Reward-Erfassung funktionieren weiterhin, wenn der NFT-Inhaber signiert. - Schließen bleibt verfügbar.
ClosePositionerkennt ein eingefrorenes NFT-Konto, nutzt das Pool-PDA zum Auftauen, brennt dann das NFT und schließt die Position atomar. - Das Schließen eines eingefrorenen Kontos erfordert ein verbleibendes Konto. Der Client muss
personal_position.pool_idals erstes verbleibendes Konto anhängen. Fehlt es, wird CLMMAccountLackzurückgegeben; wird das falsche Pool übergeben, wirdNotApprovedzurückgegeben. - Bestehende Positionen sind nicht betroffen. Das Update ändert nicht rückwirkend NFT-Mint-Autoritäten oder friert bestehende Token-Konten ein.
- Keine CLMM-State-Layout- oder deklarierte IDL-Kontolistenänderung.
PoolState,PersonalPositionStateund Anweisungsargumente bleiben byte-kompatibel. Die Close-Pfad-Anforderung wird durchremaining_accountsübermittelt.
Trigger-Logik
Das Programm wertet die beiden Vault-Mints zum Öffnungszeitpunkt aus:reference/program-addresses.
Die Prüfung wird im gemeinsamen Open-Position-Handler nur ausgeführt, wenn Vault-Mint-Konten bereitgestellt werden. Das bedeutet:
Änderungen der Position-NFT-Autorität
Vor diesem Update behielt ein neu erstellter klassischer SPL-Position-NFT-Mint keine Freeze-Autorität. Nach dem Update benennt jeder neue Position-NFT-Mint seinen Pool als Freeze-Autorität, einschließlich Positionen in gewöhnlichen Pools. Diese Autoritätseinstellung allein friert das NFT-Token-Konto nicht ein; gewöhnliche und nicht übereinstimmende Positionen bleiben aufgetaut. Die Verwendung des Pool-PDA statt eines globalen Admin- oder Emittenten-Keys begrenzt die Autorität auf einen Pool. Eine externe Partei kann nicht als PDA signieren, und CLMM stellt keine allgemeine Anweisung zum Einfrieren oder Auftauen beliebiger Position-Konten bereit. Der neue Code verwendet die Autorität nur an zwei Stellen:- Sofort nach dem Prägen einfrieren, wenn die zugrunde liegende Emittenten-Prüfung übereinstimmt.
- Während
ClosePositionsofort vor dem Brennen auftauen.
ClosePosition-Migration
Die sechs deklarierten Konten ändern sich nicht. Für ein eingefrorenes NFT fügen Sie den Pool als erstes verbleibendes Konto hinzu:
PoolState lädt, leitet die Pool-Signer-Seeds ab und führt aus:
Kompatibilitätsmatrix
Es werden keine neuen CLMM-Custom-Error-Varianten oder numerischen Verschiebungen eingeführt. Der native
AccountFrozen-Fehler von SPL Token lehnt Transfer- oder Inhaberwechsel-Versuche ab.
Aktualisierte Seiten
products/clmm/overview— Release-Zusammenfassung und Caveat zur beschränkten Transferierbarkeit.products/clmm/ticks-and-positions— Autoritätsmodell, Trigger, Inhaber-Fähigkeiten und Close-Migrations-Warnung.products/clmm/accounts— Position-NFT-Mint und Lebenszyklusverhalten.products/clmm/instructions— Open-Nachbedingungen und eingefrorenerClosePosition-Pfad für verbleibende Konten.products/clmm/code-demos— direktes Anchor-Close-Beispiel und gepinnte-SDK-Warnung.user-flows/add-remove-liquidity— benutzerfreundliches Verhalten bei beschränkten Positionen.user-flows/burn-and-earn— eingefrorene Positionen können nicht in Lock-Escrow übertragen werden.security/oracle-and-token-risks/security/attack-vectors— Emittenten- und Transfer-Risiko-Grenzen.reference/token-2022-support— Unterscheidung zwischen Pool-Allowlisting und Position-Verwahrung.reference/error-codes— erweiterteAccountLack- undNotApproved-Ursachen.reference/program-addresses— Match-Keys für beschränkte Emittenten-Autorität.reference/fee-comparison/reference/glossary— Transferierbarkeits-Ausnahmen.
- Pre-Release-CLMM-Branch
feat/position-nft-freezebeiecb157760776f83f97507fa78c6e32cfb30d92a9. - Commits
2e95310(Einfrieren von NFTs mit beschränktem Emittenten) undecb1577(Pool-scoped Freeze-Autorität), verglichen mitmasterbei51fdba2. - Programm-Quellen unter
instructions/{open_position,open_position_v2,open_position_with_token22_nft,close_position}.rsundutil/token.rs. position-nft-freeze.test.ts, abdeckend gewöhnliche Transferierbarkeit, Ablehnung von eingefrorenen Transfers/Inhaberwechseln und V2-Plus-Token-2022-Auftau-vor-Close-Flows.

