Trang này được dịch tự động bằng AI. Phiên bản tiếng Anh là bản chính thức.Xem bản tiếng Anh →
OpenPositionV2 hoặc OpenPositionWithToken22Nft và ít nhất một mint vault cơ bản có freeze authority từ danh sách restricted-issuer được mã hóa cứng.
TL;DR cho các nhà tích hợp
- Các mint position NFT mới có freeze authority, nhưng không bị đóng băng theo mặc định.
OpenPosition,OpenPositionV2, vàOpenPositionWithToken22Nftđặtpool_statecủa position làm mint freeze authority. Mint authority vẫn bị xóa sau khi NFT duy nhất được mint. - Đóng băng yêu cầu đường dẫn V2 cộng với khớp nhà phát hành.
OpenPositionV2vàOpenPositionWithToken22Nftkiểm travault_0_mint.freeze_authorityvàvault_1_mint.freeze_authority. Tài khoản NFT mới chỉ bị đóng băng nếu ít nhất một khớp với danh sách chương trình. Nếu không khớp, nó vẫn không bị đóng băng và có thể chuyển nhượng. - Đóng băng có nghĩa là bị ràng buộc với chủ sở hữu. SPL Token từ chối chuyển NFT và thay đổi chủ sở hữu tài khoản token bằng lỗi
AccountFrozengốc của nó. Tăng/giảm thanh khoản và thu thập phí/phần thưởng tiếp tục hoạt động khi chủ sở hữu NFT ký. - Đóng vẫn khả dụng.
ClosePositionphát hiện tài khoản NFT bị đóng băng, sử dụng pool PDA để thaw nó, sau đó đốt NFT và đóng position một cách nguyên tử. - Đóng bị đóng băng yêu cầu một tài khoản còn lại. Client phải thêm
personal_position.pool_idlàm tài khoản còn lại đầu tiên. Thiếu nó trả về CLMMAccountLack; truyền pool sai trả vềNotApproved. - Các position hiện có không bị ảnh hưởng. Bản cập nhật không thay đổi retroactively mint authorities của NFT hoặc đóng băng các tài khoản token hiện có.
- Không có thay đổi bố cục trạng thái CLMM hoặc danh sách tài khoản IDL được khai báo.
PoolState,PersonalPositionState, và các đối số hướng dẫn vẫn tương thích byte. Yêu cầu đường dẫn đóng được thực hiện thông quaremaining_accounts.
Logic kích hoạt
Chương trình đánh giá hai mint vault tại thời điểm mở:reference/program-addresses.
Kiểm tra chạy trong trình xử lý open-position được chia sẻ chỉ khi các tài khoản mint vault được cung cấp. Điều này có nghĩa là:
Thay đổi authority position NFT
Trước bản cập nhật này, một mint position NFT SPL cổ điển mới tạo không giữ lại freeze authority. Sau bản cập nhật, mọi mint position NFT mới đặt tên pool của nó làm freeze authority, bao gồm các position trong các pool thông thường. Cài đặt authority này một mình không đóng băng tài khoản token NFT; các position thông thường và không khớp vẫn không bị đóng băng. Sử dụng pool PDA thay vì khóa admin hoặc issuer toàn cầu sẽ thu hẹp authority thành một pool. Một bên ngoài không thể ký như PDA, và CLMM không tiếp xúc hướng dẫn mục đích chung để đóng băng hoặc thaw các tài khoản position tùy ý. Mã mới sử dụng authority ở hai nơi chỉ:- Đóng băng ngay sau khi mint khi kiểm tra issuer cơ bản khớp.
- Thaw trong
ClosePositionngay trước khi đốt.
Quá trình di chuyển ClosePosition
Sáu tài khoản được khai báo không thay đổi. Đối với NFT bị đóng băng, thêm pool làm tài khoản còn lại đầu tiên:
PoolState, lấy các seed signer pool, và thực hiện:
Ma trận tương thích
Không có biến thể lỗi tùy chỉnh CLMM mới hoặc dịch chuyển số được giới thiệu. Lỗi
AccountFrozen gốc của SPL Token từ chối các nỗ lực chuyển hoặc thay đổi chủ sở hữu.
Trang được cập nhật
products/clmm/overview— tóm tắt bản phát hành và cảnh báo không chuyển nhượng bị hạn chế.products/clmm/ticks-and-positions— mô hình authority, kích hoạt, khả năng chủ sở hữu, và cảnh báo di chuyển đóng.products/clmm/accounts— mint position NFT và hành vi vòng đời.products/clmm/instructions— postconditions mở và đường dẫn remaining-accountClosePositionbị đóng băng.products/clmm/code-demos— ví dụ đóng Anchor trực tiếp và cảnh báo SDK được ghim.user-flows/add-remove-liquidity— hành vi position bị hạn chế đối mặt với người dùng.user-flows/burn-and-earn— các position bị đóng băng không thể chuyển vào lock escrow.security/oracle-and-token-risks/security/attack-vectors— ranh giới issuer và transfer-risk.reference/token-2022-support— sự phân biệt giữa allow-listing pool và custody position.reference/error-codes— nguyên nhânAccountLackvàNotApprovedđược mở rộng.reference/program-addresses— khóa khớp restricted-issuer authority.reference/fee-comparison/reference/glossary— ngoại lệ chuyển nhượng.
- Nhánh CLMM trước phát hành
feat/position-nft-freezetạiecb157760776f83f97507fa78c6e32cfb30d92a9. - Commits
2e95310(restricted-issuer NFT freezing) vàecb1577(pool-scoped freeze authority), so sánh vớimastertại51fdba2. - Nguồn chương trình dưới
instructions/{open_position,open_position_v2,open_position_with_token22_nft,close_position}.rsvàutil/token.rs. position-nft-freeze.test.ts, bao gồm chuyển nhượng thông thường, từ chối chuyển/thay đổi chủ sở hữu bị đóng băng, và luồng thaw-before-close V2 cộng với Token-2022.

