Halaman ini diterjemahkan secara otomatis oleh AI. Versi bahasa Inggris adalah acuan resmi.Lihat versi bahasa Inggris →
OpenPositionV2 atau OpenPositionWithToken22Nft dan salah satu mint vault yang mendasar membawa freeze authority dari daftar restricted-issuer yang dikodekan.
TL;DR untuk integrator
- Mint NFT posisi baru memiliki freeze authority, tetapi tidak dibekukan secara default.
OpenPosition,OpenPositionV2, danOpenPositionWithToken22Nftmenetapkanpool_stateposisi sebagai mint freeze authority. Mint authority masih dihapus setelah NFT tunggal dimint. - Pembekuan memerlukan jalur V2 plus kecocokan issuer.
OpenPositionV2danOpenPositionWithToken22Nftmemeriksavault_0_mint.freeze_authoritydanvault_1_mint.freeze_authority. Akun NFT baru hanya dibekukan jika setidaknya satu cocok dengan daftar program. Tanpa kecocokan, tetap tidak dibekukan dan dapat ditransfer. - Dibekukan berarti terikat pada pemilik. SPL Token menolak transfer NFT dan perubahan pemilik akun token dengan error native
AccountFrozen. Peningkatan/penurunan likuiditas dan pengumpulan biaya/reward terus berfungsi ketika pemilik NFT menandatangani. - Close tetap tersedia.
ClosePositionmendeteksi akun NFT yang dibekukan, menggunakan pool PDA untuk mencairkannya, kemudian membakar NFT dan menutup posisi secara atomik. - Close yang dibekukan memerlukan satu akun sisa. Klien harus menambahkan
personal_position.pool_idsebagai akun sisa pertama. Jika hilang mengembalikan CLMMAccountLack; melewatkan pool yang salah mengembalikanNotApproved. - Posisi yang ada tidak terpengaruh. Update tidak secara retroaktif mengubah mint authority NFT atau membekukan akun token yang ada.
- Tidak ada perubahan layout state CLMM atau daftar akun IDL yang dideklarasikan.
PoolState,PersonalPositionState, dan argumen instruksi tetap kompatibel byte. Persyaratan jalur close dibawa melaluiremaining_accounts.
Logika pemicu
Program mengevaluasi dua mint vault pada waktu open:reference/program-addresses.
Pemeriksaan berjalan di handler open-position bersama hanya ketika akun mint vault disediakan. Ini berarti:
Perubahan authority NFT posisi
Sebelum update ini, mint NFT posisi SPL klasik yang baru dibuat tidak mempertahankan freeze authority. Setelah update, setiap mint NFT posisi baru menamai poolnya sebagai freeze authority, termasuk posisi di pool biasa. Pengaturan authority ini saja tidak membekukan akun token NFT; posisi biasa dan non-matching tetap tidak dibekukan. Menggunakan pool PDA alih-alih kunci admin global atau issuer mempersempit authority ke satu pool. Pihak eksternal tidak dapat menandatangani sebagai PDA, dan CLMM tidak mengekspos instruksi tujuan umum untuk membekukan atau mencairkan akun posisi arbitrer. Kode baru menggunakan authority di dua tempat saja:- Bekukan segera setelah minting ketika pemeriksaan issuer yang mendasar cocok.
- Cairkan selama
ClosePositionsegera sebelum burn.
Migrasi ClosePosition
Enam akun yang dideklarasikan tidak berubah. Untuk NFT yang dibekukan, tambahkan pool sebagai akun sisa pertama:
PoolState, menurunkan seed signer pool, dan melakukan:
Matriks kompatibilitas
Tidak ada varian error custom CLMM baru atau pergeseran numerik yang diperkenalkan. Error native
AccountFrozen SPL Token menolak upaya transfer atau perubahan pemilik.
Halaman yang diperbarui
products/clmm/overview— ringkasan rilis dan caveat transferability terbatas.products/clmm/ticks-and-positions— model authority, pemicu, kemampuan pemilik, dan peringatan migrasi close.products/clmm/accounts— perilaku mint dan lifecycle NFT posisi.products/clmm/instructions— postconditions open dan jalur remaining-accountClosePositionyang dibekukan.products/clmm/code-demos— contoh close Anchor langsung dan peringatan SDK yang disematkan.user-flows/add-remove-liquidity— perilaku posisi restricted yang menghadap pengguna.user-flows/burn-and-earn— posisi yang dibekukan tidak dapat ditransfer ke lock escrow.security/oracle-and-token-risks/security/attack-vectors— batas risiko issuer dan transfer.reference/token-2022-support— perbedaan antara allow-listing pool dan custody posisi.reference/error-codes— penyebabAccountLackdanNotApprovedyang diperluas.reference/program-addresses— kunci match authority restricted-issuer.reference/fee-comparison/reference/glossary— pengecualian transferability.
- Cabang pre-release CLMM
feat/position-nft-freezediecb157760776f83f97507fa78c6e32cfb30d92a9. - Commits
2e95310(pembekuan NFT restricted-issuer) danecb1577(freeze authority scoped-pool), dibandingkan denganmasterdi51fdba2. - Sumber program di bawah
instructions/{open_position,open_position_v2,open_position_with_token22_nft,close_position}.rsdanutil/token.rs. position-nft-freeze.test.ts, mencakup transferability biasa, penolakan transfer/perubahan pemilik yang dibekukan, dan alur thaw-before-close V2 plus Token-2022.

