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 NFT vị trí mới có freeze authority, nhưng không bị khóa theo mặc định.
OpenPosition,OpenPositionV2, vàOpenPositionWithToken22Nftđặtpool_statecủa vị trí làm freeze authority của mint. Mint authority vẫn bị xóa sau khi NFT duy nhất được mint. - Khóa 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ị khóa 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ị khóa và có thể chuyển nhượng. - Khóa có nghĩa là gắn 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ị khóa, sử dụng pool PDA để thaw nó, sau đó đốt NFT và đóng vị trí một cách nguyên tử. - Đóng bị khóa 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 vị trí hiện có không bị ảnh hưởng. Bản cập nhật không thay đổi retroactively freeze authorities của NFT mint hoặc khóa 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ở:frozen_position_nft_authorities::IDS và mang một mục nhập duy nhất. Các khóa mainnet-beta và devnet hiện tại nằm trong reference/program-addresses.
Kiểm tra chạy trong trình xử lý vị trí mở chung chỉ khi các tài khoản mint vault được cung cấp. Điều này có nghĩa:
Thay đổi freeze authority của NFT vị trí
Trước bản cập nhật này, một mint NFT vị trí 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 NFT vị trí mới đặt tên pool của nó làm freeze authority, bao gồm các vị trí trong các pool thông thường. Cài đặt freeze authority này một mình không khóa tài khoản token NFT; các vị trí thông thường và không khớp vẫn không bị khóa. Sử dụng pool PDA thay vì khóa admin hoặc nhà phát hành toàn cầu sẽ thu hẹp freeze authority thành một pool. Một bên ngoài không thể ký như PDA, và CLMM không công khai hướng dẫn mục đích chung để khóa hoặc thaw các tài khoản vị trí tùy ý. Mã mới sử dụng freeze authority chỉ ở hai nơi:- Khóa ngay sau khi mint khi kiểm tra nhà phát hành cơ bản khớp.
- Thaw trong
ClosePositionngay trước khi đốt.
Di chuyển ClosePosition
Sáu tài khoản được khai báo không thay đổi. Đối với NFT bị khóa, 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 freeze 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 NFT vị trí và hành vi vòng đời.products/clmm/instructions— postconditions mở và đường dẫn tài khoản còn lạiClosePositionbị khóa.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 vị trí bị hạn chế hướng tới người dùng.user-flows/burn-and-earn— các vị trí bị khóa không thể chuyển vào escrow khóa.security/oracle-and-token-risks/security/attack-vectors— ranh giới rủi ro nhà phát hành và chuyển.reference/token-2022-support— sự phân biệt giữa danh sách cho phép pool và quyền giám sát vị trí.reference/error-codes— nguyên nhânAccountLackvàNotApprovedđược mở rộng.reference/program-addresses— khóa khớp freeze authority restricted-issuer.reference/fee-comparison/reference/glossary— ngoại lệ khả năng chuyển nhượng.
- Nhánh CLMM trước phát hành
feat/position-nft-freezetạiecb157760776f83f97507fa78c6e32cfb30d92a9. - Commits
2e95310(khóa NFT restricted-issuer) vàecb1577(freeze authority có phạm vi pool), 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 khả năng chuyển nhượng thông thường, từ chối chuyển/thay đổi chủ sở hữu bị khóa, và luồng thaw-before-close V2 cộng với Token-2022.

