Skip to main content
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 →
Bản phát hành này thêm một đường dẫn không chuyển nhượng có điều kiện cho các pool nhà phát hành bị hạn chế KYC được chọn. Nó không đóng băng mọi position mới, không đóng băng tài sản pool, hoặc ngăn chặn chủ sở hữu position quản lý thanh khoản. CLMM pool PDA trở thành freeze authority cho mọi mint position NFT mới, nhưng tài khoản token NFT vẫn không bị đóng băng theo mặc định. Chương trình chỉ đóng băng nó khi position sử dụng 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 đặt pool_state củ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. OpenPositionV2OpenPositionWithToken22Nft kiểm tra vault_0_mint.freeze_authorityvault_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 AccountFrozen gố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. ClosePosition phá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_id làm tài khoản còn lại đầu tiên. Thiếu nó trả về CLMM AccountLack; 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 qua remaining_accounts.

Logic kích hoạt

Chương trình đánh giá hai mint vault tại thời điểm mở:
Freeze authority bị thiếu không khớp. Một bên khớp là đủ. Danh sách ban đầu chứa cùng issuer authority được sử dụng bởi phát hiện tài sản Superstate của CLMM. Các khóa khớp mainnet-beta và devnet hiện tại nằm trong 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ỉ:
  1. Đóng băng ngay sau khi mint khi kiểm tra issuer cơ bản khớp.
  2. Thaw trong ClosePosition ngay 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:
Trình xử lý xác minh khóa trước khi tải PoolState, lấy các seed signer pool, và thực hiện:
Tất cả các bước chạy trong một hướng dẫn Solana và do đó commit hoặc revert cùng nhau. Truyền pool trên mọi lần đóng là an toàn: trình xử lý bỏ qua remaining accounts khi tài khoản NFT không bị đóng băng.
Ngắt client có điều kiện. Một client cũ hơn có thể mở position thành công sau khi nâng cấp vì bố cục tài khoản V2 mở không thay đổi. Nếu position đó bị đóng băng, cùng một client có thể sau đó không thể đóng nó vì trình tạo ClosePosition của nó bỏ qua tài khoản pool còn lại. Cập nhật trình tạo đóng trước khi cho phép người dùng mở position trong các pool bị ảnh hưởng.

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-account ClosePosition bị đó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ân AccountLackNotApproved đượ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.
Xác minh 2026-08-13 so với:
  • Nhánh CLMM trước phát hành feat/position-nft-freeze tại ecb157760776f83f97507fa78c6e32cfb30d92a9.
  • Commits 2e95310 (restricted-issuer NFT freezing) và ecb1577 (pool-scoped freeze authority), so sánh với master tại 51fdba2.
  • Nguồn chương trình dưới instructions/{open_position,open_position_v2,open_position_with_token22_nft,close_position}.rsutil/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.
Xác minh này bao gồm nhánh nguồn trước phát hành, không phải triển khai mainnet-beta hoặc bản phát hành SDK được xuất bản. Xác nhận chương trình được triển khai, danh sách restricted-authority sản xuất, và trình tạo đóng SDK trước khi bật luồng.