> ## Documentation Index
> Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 2026-08-17 — CPMM: permissionless creator-fee collection

> CPMM thêm một instruction được ràng buộc đích đến cho phép bất kỳ người trả tiền nào quét phí creator đến các ATA chính tắc của người tạo pool, và ủy quyền tạo Permission PDA mà không ủy quyền thu hồi.

<Info>
  **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 →](/reference/changelog/2026-08-17-cpmm-permissionless-creator-fee-collection)
</Info>

<Info>
  Một mục nhập changelog tài liệu cho bản cập nhật CPMM sắp tới. Để xem danh sách tất cả các bản cập nhật, hãy xem [`reference/changelog`](/vi/reference/changelog). Để xem dòng thời gian lịch sử của giao thức, hãy xem [`introduction/history-and-milestones`](/vi/introduction/history-and-milestones).
</Info>

Bản phát hành này thêm một đường dẫn hoạt động không cần phép cho việc thu thập phí creator. Bất kỳ ai cũng có thể trả tiền để kích hoạt quét, nhưng chương trình sẽ cố định chủ sở hữu nhận là `PoolState.pool_creator` và cố định cả hai đích đến các ATA liên kết token chính tắc của người tạo đó. Instruction hiện có được ký bởi creator vẫn không thay đổi.

Nó cũng cho phép một cơ quan chuyên dụng tạo các PDA `Permission` của CPMM. Ủy quyền này được thiết kế không đối xứng: cơ quan chuyên dụng có thể cấp quyền truy cập vào `InitializeWithPermission`, trong khi chỉ quản trị viên chương trình mới có thể thu hồi một cấp quyền bằng `ClosePermissionPda`.

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

* **Instruction bổ sung mới: `CollectCreatorFeePermissionless`.** Bất kỳ người ký nào cũng có thể là `payer`. Người tạo pool được ghi lại không ký.
* **Người gọi không thể chuyển hướng quỹ.** `creator` phải bằng `pool_state.pool_creator`. `creator_token_0` và `creator_token_1` phải là các ATA chính tắc của người tạo đó cho các mint vault của pool và các chương trình token tương ứng.
* **Người trả tiền bao phủ các ATA bị thiếu.** Cả hai tài khoản nhận sử dụng `init_if_needed`; người trả tiền tài trợ tiền thuê khi bất kỳ tài khoản nào không tồn tại.
* **Thu thập là tất cả hoặc không có gì.** Instruction chuyển cả hai bộ đếm phí creator được tích lũy đầy đủ, đặt cả hai về 0 và cập nhật `recent_epoch`. Nó trả về lỗi `NoFeeCollect` hiện có khi cả hai bộ đếm bằng 0.
* **Các tích hợp hiện có vẫn tương thích.** `CollectCreatorFee` không được sửa đổi hoặc xóa. Không có thay đổi bố cục `PoolState`, `AmmConfig`, `Permission`, sự kiện hoặc mã lỗi.
* **Tạo Permission có chủ sở hữu thứ hai.** `CreatePermissionPda` chấp nhận quản trị viên chương trình hoặc chủ sở hữu create-permission-PDA chuyên dụng. `ClosePermissionPda` vẫn chỉ dành cho quản trị viên.

## Các tài khoản instruction mới

`CollectCreatorFeePermissionless` nhận 14 tài khoản theo thứ tự này:

| #     | Tài khoản                            | Ràng buộc hoặc vai trò                                            |
| ----- | ------------------------------------ | ----------------------------------------------------------------- |
| 1     | `payer`                              | Có thể ghi được, người ký; tài trợ các ATA creator bị thiếu.      |
| 2     | `creator`                            | Phải bằng `pool_state.pool_creator`; không ký.                    |
| 3     | `authority`                          | PDA cơ quan vault toàn cầu CPMM.                                  |
| 4     | `pool_state`                         | Có thể ghi được; giữ các bộ đếm phí creator.                      |
| 5–6   | `token_0_vault`, `token_1_vault`     | Có thể ghi được; phải khớp với các vault được lưu trữ trong pool. |
| 7–8   | `vault_0_mint`, `vault_1_mint`       | Phải khớp với mint vault tương ứng.                               |
| 9–10  | `creator_token_0`, `creator_token_1` | Các ATA creator chính tắc có thể ghi được; được khởi tạo nếu cần. |
| 11–12 | `token_0_program`, `token_1_program` | SPL Token hoặc Token-2022 cho mỗi mint.                           |
| 13    | `associated_token_program`           | Tạo một ATA creator bị thiếu.                                     |
| 14    | `system_program`                     | Hỗ trợ tạo tài khoản được tài trợ bởi người trả tiền.             |

Không giống như `CollectCreatorFee`, bố cục mới có các tài khoản `payer` và `creator` không ký riêng biệt và không lấy `amm_config`. Do đó, nó yêu cầu discriminator và builder riêng của nó.

## Tác động SDK và IDL

Nhánh nguồn chương trình không bao gồm bản cập nhật SDK hoặc IDL được cam kết. Các nhà tích hợp phải làm mới IDL CPMM được triển khai hoặc sử dụng bản phát hành máy khách hỗ trợ rõ ràng `CollectCreatorFeePermissionless`. Bộ builder `@raydium-io/raydium-sdk-v2@0.2.42-alpha` được ghim trong tài liệu chỉ bao gồm đường dẫn được ký bởi creator gốc.

## Ranh giới bảo mật

Gọi không cần phép không có nghĩa là quyền giám sát không cần phép. Người gọi có thể chọn khi nào để thu thập và có thể chi SOL để tạo các ATA creator bị thiếu. Người gọi không thể chọn người thụ hưởng, thay thế các tài khoản token tùy ý, yêu cầu một số tiền một phần hoặc thay đổi cấu hình phí creator của pool.

Vai trò creator PDA permission mới có thể tạo một cấp quyền cho bất kỳ `permission_authority` nào, và nó trả tiền thuê của tài khoản mới. Nó không thể đóng PDA đó theo thay đổi này. Hãy coi nó như một cơ quan cấp quyền được ủy quyền, không phải là quản trị viên permission đầy đủ.

## Ghi chú di chuyển

* Giữ các giao dịch `CollectCreatorFee` hiện có không thay đổi.
* Chỉ thêm instruction không cần phép sau khi triển khai CPMM mục tiêu và IDL máy khách bao gồm nó.
* Tự động hóa có thể quét các pool có `creator_fees_token_0` hoặc `creator_fees_token_1` khác 0 và kích hoạt thu thập mà không cần quyền giám sát các khóa creator.
* Xử lý `NoFeeCollect` như một cuộc đua lành tính khi một người gọi khác làm cạn kiệt các bộ đếm trước.
* Không truyền các tài khoản token nhận tùy ý; lấy các ATA creator từ `pool_state.pool_creator`, mỗi mint vault và chương trình token phù hợp.

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

* `products/cpmm/overview` — cập nhật thu thập phí creator và tóm tắt an toàn đích đến.
* `products/cpmm/instructions` — tóm tắt instruction mới, danh sách tài khoản đầy đủ, hiệu ứng và ma trận thay đổi trạng thái.
* `products/cpmm/accounts` — đường dẫn thu thập bộ đếm phí creator và tạo Permission PDA được ủy quyền.
* `products/cpmm/fees` — cơ chế thu thập không cần phép và luồng hoạt động.
* `products/cpmm/code-demos` — cảnh báo khả dụng SDK và ranh giới di chuyển máy khách.
* `products/launchlab/platform-config` — làm rõ rằng creator CPMM được ghi lại vẫn là người thụ hưởng ngay cả khi một người trả tiền khác kích hoạt thu thập.
* `protocol-overview/shared-infrastructure` — đường dẫn thu thập được gated cơ quan và ràng buộc đích đến.
* `security/admin-and-multisig` — ranh giới cơ quan cấp quyền được ủy quyền và bộ sưu tập không cần phép.
* `reference/program-addresses` — địa chỉ chủ sở hữu `CreatePermissionPda` chuyên dụng chính tắc.
* `reference/error-codes` — mở rộng `NoFeeCollect` để bao gồm thu thập phí creator.

**Xác minh 2026-08-13 so với**:

* [`raydium-cp-swap` nhánh `feat/permissionless-collect-creator-fee`](https://github.com/raydium-io/raydium-cp-swap/tree/feat/permissionless-collect-creator-fee).
* Commits [`9585ea1`](https://github.com/raydium-io/raydium-cp-swap/commit/9585ea1efeb27be7be7eab1ebc033449f9c793b4) và [`d99d542`](https://github.com/raydium-io/raydium-cp-swap/commit/d99d5420c65b973af05d4efa009a2a9d060461f9), so sánh với `master` tại [`78f254e`](https://github.com/raydium-io/raydium-cp-swap/commit/78f254e1023751e706df7dc15c453fc3e046697c).

<Warning>
  Xác minh này bao gồm nhánh nguồn, không phải triển khai mainnet-beta. Xác nhận chương trình được triển khai và IDL được xuất bản trước khi bật đường dẫn mới trong sản xuất.
</Warning>
