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 →
Mục này bao gồm nâng cấp chương trình CLMM được lên lịch cho 2026-10-22. Nó đã được xác minh so với nhánh feat/create-customizable-pool-v2 của raydium-clmm (head 18f5db1) trước khi triển khai. Hãy xác nhận chương trình được triển khai trước khi dựa vào tên hướng dẫn mới hoặc danh sách tài khoản. Bản phát hành 2026-07-30 đã thêm CreatePermissionedPool, cho phép người gọi tạo nhiều hơn một pool cho cùng một (amm_config, token_mint_0, token_mint_1) bằng cách gấp seed_index vào pool PDA. Nó bị kiểm soát: người trả phí phải giữ một Permission PDA được cấp bởi quản trị viên. Bản phát hành này loại bỏ cổng đó. Hướng dẫn được đổi tên thành CreateCustomizablePoolV2, bất kỳ ai cũng có thể gọi nó, và toàn bộ cơ chế quyền hạn bị xóa khỏi chương trình. Toán học pool, swap, thanh khoản, lệnh giới hạn, phí và phần thưởng không thay đổi.

TL;DR cho các nhà tích hợp

  • CreatePermissionedPool → CreateCustomizablePoolV2. Các đối số giống nhau (CreateCustomizableParams, seed_index: u16) và cách lấy địa chỉ pool giống nhau. Bộ phân biệt Anchor thay đổi theo tên, vì vậy giao dịch được xây dựng dựa trên hướng dẫn cũ sẽ thất bại sau khi nâng cấp. Xây dựng lại nó dựa trên IDL mới.
  • Tài khoản permission không còn trong danh sách tài khoản. Nó nằm ở vị trí 3, vì vậy mọi tài khoản từ amm_config trở đi sẽ dịch chuyển lên một vị trí. Xem danh sách tài khoản mới.
  • Tạo multi-pool hiện không cần phép. Bất kỳ người trả phí nào cũng có thể tạo các pool bổ sung cho một cặp và mức phí với seed_index khác không. Coi một cặp là có khả năng có nhiều pool CLMM cho mỗi mức phí, được tạo bởi bất kỳ ai.
  • Permission, CreatePermissionPda và ClosePermissionPda bị xóa. Chương trình và IDL không còn biết loại Permission.
  • Làm mới IDL của bạn. Nó loại bỏ hai hướng dẫn và một loại tài khoản, cho 37 hướng dẫn và 53 lỗi.
  • Không có bố cục tài khoản nào thay đổi và không có mã lỗi nào được thêm. PoolState.seed_index giữ nguyên offset của nó; chỉ ý nghĩa của nó mở rộng từ “pool được phép” thành “bất kỳ pool V2 nào”.

Những gì đã thay đổi trong chương trình

CreatePermissionedPool được đổi tên thành CreateCustomizablePoolV2

Trình xử lý là cùng một mã dưới một tên mới. Nó vẫn:
  • yêu cầu seed_index > 0;
  • lấy pool tại ["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()];
  • lấy cùng CreateCustomizableParams như CreateCustomizablePool, vì vậy phí một chiều (collect_fee_on) và tùy chọn phí động hoạt động theo cách tương tự;
  • áp dụng các kiểm tra hỗ trợ mint Token-2022 giống như CreatePool;
  • ghi pool_creator dưới dạng pool_state.owner và ghi seed_index vào PoolState;
  • phát ra PoolCreatedEvent.
Kiểm tra PDA Permission là hành vi duy nhất bị xóa.

Danh sách tài khoản CreateCustomizablePoolV2

remaining_accounts không thay đổi: các PDA đăng ký hỗ trợ mint khi một mint Token-2022 cần chúng, và DynamicFeeConfig cuối cùng khi enable_dynamic_fee = true.
pool_creator không được xác thực. Bất kỳ người trả phí nào cũng có thể ghi bất kỳ địa chỉ nào vào pool_state.owner. Địa chỉ đó có quyền gọi InitializeReward trên pool, nhưng nó không thể được sử dụng làm bằng chứng về người tạo nó. Đừng xếp hạng, gắn nhãn hoặc tin tưởng một pool V2 dựa trên trường owner của nó.

Bị xóa: Permission, CreatePermissionPda, ClosePermissionPda

  • Loại tài khoản Permission (["permission", authority], 280 byte) bị xóa khỏi chương trình.
  • CreatePermissionPda và ClosePermissionPda bị xóa, cùng với khóa permission_pda_admin chuyên dụng có thể ký chúng.
  • Các PDA Permission được tạo trước khi nâng cấp vẫn nằm trên chuỗi. Chương trình không còn đọc chúng và không còn có hướng dẫn nào để đóng chúng.

Mã lỗi

Không thay đổi. 6000–6052 giữ nguyên số của chúng. NotApproved (6000) không còn có trường hợp “người ký không phải là admin cũng không phải permission_pda_admin”, vì những hướng dẫn đó đã biến mất.

Ghi chú di chuyển

  • Những người tạo pool. Chuyển từ CreatePermissionedPool sang CreateCustomizablePoolV2, loại bỏ tài khoản permission, và dịch chuyển các tài khoản còn lại lên một vị trí. Bạn không còn cần cấp phép từ quản trị viên.
  • Indexer và router. Lập chỉ mục các pool CLMM từ PoolCreatedEvent hoặc bằng cách quét các tài khoản PoolState, không phải bằng cách lấy PDA bốn seed. Lưu trữ seed_index cho bất kỳ pool nào có giá trị khác không, vì bạn cần nó để lấy lại địa chỉ. Mong đợi nhiều pool không chính tắc hơn bây giờ mà bất kỳ ai cũng có thể tạo chúng, và đừng giả định pool chính tắc là sâu nhất.
  • UI. Một cặp và mức phí có thể có nhiều pool với các giá bắt đầu khác nhau. Hiển thị thanh khoản và địa chỉ pool, và đừng trình bày một pool là chính thức vì owner của nó.
  • Người tiêu dùng IDL. Xóa bất kỳ mã giải mã hoặc mã client nào cho Permission, CreatePermissionPda và ClosePermissionPda.

Những gì không thay đổi

  • Mọi bố cục tài khoản, bao gồm PoolState (trường seed_index và offset của nó giống nhau).
  • CreatePool và CreateCustomizablePool. Chúng vẫn tạo pool chính tắc duy nhất cho mỗi cặp và mức, với seed_index = [0, 0].
  • Các pool được tạo thông qua CreatePermissionedPool trước khi nâng cấp. Địa chỉ, trạng thái và seed_index của chúng không thay đổi.
  • Mã lỗi, hành vi swap, thanh khoản, phí, phí động, phần thưởng và lệnh giới hạn.
  • ID chương trình.

Các trang được cập nhật

  • products/clmm/instructions: biểu ngữ nâng cấp; hàng danh mục và kiểm soát quản trị; phần CreateCustomizablePoolV2 với danh sách tài khoản mới.
  • products/clmm/accounts: Permission bị xóa khỏi danh mục và được ghi lại là đã ngừng hoạt động; mô tả seed_index; trình trợ giúp PDA được đổi tên thành deriveCustomizablePoolV2; hàng vòng đời.
  • products/clmm/overview: ghi chú “Có gì mới”.
  • security/admin-and-multisig: vai trò permission_pda_admin bị xóa khỏi bảng CLMM.
  • reference/error-codes: mô tả NotApproved.
  • reference/token-2022-support: đường dẫn tạo pool CLMM.
  • sdk-api/anchor-idl: số lượng hướng dẫn CLMM.
  • protocol-overview/versions-and-migration: dấu đầu dòng lịch sử nâng cấp CLMM.
Được xác minh dựa trên: nhánh raydium-clmm feat/create-customizable-pool-v2 (18f5db1): instructions/create_customizable_pool_v2.rs, instructions/mod.rs, instructions/admin/mod.rs, states/mod.rs, states/pool.rs, lib.rs, và các tệp đã xóa admin/create_permission_pda.rs, admin/close_permission_pda.rs, states/permission.rs.