Chuyển đến nội dung chính
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 CPMM được lên lịch cho 2026-10-30. Nó đã được xác minh so với nhánh feat/initialize-v2 của raydium-cp-swap (head 40cbd81) 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 hướng dẫn mới.
Mỗi pool CPMM có một cờ enable_creator_fee và một phía creator_fee_on, cả hai đều cố định khi tạo. Cho đến nay, người tạo chỉ có thể đặt chúng thông qua InitializeWithPermission, vốn cần một PDA Permission do quản trị viên cấp. Initialize công khai luôn lưu phí ở trạng thái tắt. Trên thực tế, chỉ các tốt nghiệp LaunchLab và các luồng có cổng khác mới có thể tạo pool tính phí người tạo. Bản phát hành này thêm InitializeV2. Nó là Initialize với một đối số bổ sung, creator_fee_on: Option<CreatorFeeOn>, và bất kỳ ai cũng có thể gọi nó. Toán học pool, swap, thanh khoản, thu thập phí và phần chia cho giao thức của phí người tạo không bị ảnh hưởng.

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

  • Hướng dẫn mới: InitializeV2. Không cần phép. Các đối số là init_amount_0, init_amount_1, open_time và creator_fee_on: Option<CreatorFeeOn>. Discriminator [67, 153, 175, 39, 218, 16, 38, 32].
  • Some(side) bật phí người tạo ở phía đó; None giữ nó tắt. None lưu chính xác những gì Initialize lưu.
  • Cùng tài khoản như Initialize, trừ rent. 19 tài khoản đầu tiên giống hệt nhau và theo cùng thứ tự. Xem danh sách tài khoản.
  • Người tạo là người ký. pool_state.pool_creator là creator đang ký. Không giống InitializeWithPermission, người thụ hưởng không thể được đặt thành địa chỉ khác.
  • Người tạo chọn bật/tắt và phía, không phải tỷ lệ. Pool tính AmmConfig.creator_fee_rate của tầng phí của nó. Tỷ lệ đó mặc định là 0, vì vậy một pool được bật trên tầng như vậy sẽ không tích lũy gì.
  • Không có gì hiện có thay đổi. Initialize và InitializeWithPermission giữ nguyên discriminator, tài khoản, đối số và hành vi. Không có bố cục tài khoản hoặc mã lỗi nào thay đổi.
  • Làm mới IDL của bạn để có hướng dẫn mới. Các client không bao giờ gọi nó không cần thay đổi.

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

Hướng dẫn mới: InitializeV2

InitializeV2 chạy cùng mã tạo như Initialize. Nó:
  • chấp nhận PDA pool chính tắc hoặc một keypair ngẫu nhiên đã ký làm pool_state;
  • áp dụng cùng danh sách cho phép Token-2022 và các kiểm tra SupportMintAssociated, thông qua remaining_accounts;
  • từ chối tạo khi amm_config.disable_create_pool được đặt;
  • tăng open_time lên block_timestamp + 1 khi nó không ở tương lai;
  • khóa 100 đơn vị cơ sở LP và mint phần còn lại cho người tạo;
  • tính amm_config.create_pool_fee.
Khác biệt duy nhất là những gì nó ghi vào PoolState mới: Byte tag hoặc byte biến thể không hợp lệ sẽ làm thất bại quá trình deserialize đối số của Anchor. Không có mã lỗi mới nào liên quan.

So sánh ba đường dẫn tạo

Tái cấu trúc nội bộ

Ba handler giờ đây dùng chung một routine initialize_pool. Việc tái cấu trúc không thay đổi tài khoản, đối số, kiểm tra hoặc giá trị được lưu của Initialize hoặc InitializeWithPermission. Các bài kiểm tra mới cũng kiểm tra rằng một Initialize thông thường trên cùng cấu hình vẫn lưu phí người tạo ở trạng thái tắt.

Những gì người tạo cần biết

  • Kiểm tra tầng phí trước. Tỷ lệ phí người tạo thuộc về AmmConfig, không phải pool. Hãy chọn một tầng có creator_fee_rate là mức bạn muốn tính. Các tỷ lệ được liệt kê trong products/cpmm/fees.
  • Lựa chọn là vĩnh viễn. Không có hướng dẫn nào thay đổi enable_creator_fee hoặc creator_fee_on sau khi tạo. Để thay đổi, bạn phải tạo pool mới.
  • Nhà giao dịch trả nó ngoài phí giao dịch. Phí người tạo là một tỷ lệ riêng được cộng vào swap. Nó không làm giảm phần LP, giao thức hoặc quỹ, nhưng nó làm cho việc giao dịch với pool đắt hơn so với một pool trên cùng tầng có phí bị tắt.
  • Thu thập không thay đổi. Sử dụng CollectCreatorFee hoặc CollectCreatorFeePermissionless. Phần chia cho giao thức từ bản phát hành 2026-09-19 được áp dụng, và bạn không thể từ chối nó khi tạo.

Ghi chú di chuyển

  • Người tạo pool. Chỉ chuyển từ Initialize sang InitializeV2 nếu bạn muốn bật phí người tạo. Truyền Some(side) và bỏ tài khoản rent. Initialize vẫn hoạt động.
  • Người dùng SDK. raydium.cpmm.createPool trong @raydium-io/raydium-sdk-v2@0.2.64-alpha xây dựng Initialize. Cho đến khi một bản phát hành cung cấp trình xây dựng InitializeV2, hãy mã hóa nó từ IDL đã làm mới.
  • Indexer và router. Hãy dự kiến nhiều pool hơn có enable_creator_fee = true, được tạo bởi các ví thông thường thay vì LaunchLab. Báo giá từ enable_creator_fee và creator_fee_on của chính mỗi pool, không bao giờ chỉ từ đường dẫn tạo hoặc tầng phí. Giải mã hướng dẫn mới nếu bạn theo dõi việc tạo pool từ các hướng dẫn. Theo dõi từ các tài khoản PoolState không cần thay đổi.
  • UI. Hiển thị liệu pool có tính phí người tạo hay không và ở tỷ lệ nào, vì hai pool trên cùng tầng giờ đây có thể khác nhau.
  • LaunchLab và các luồng có cấp quyền khác. Không thay đổi. InitializeWithPermission vẫn là đường dẫn khi người trả tiền và người tạo được ghi lại phải khác nhau.

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

  • Mọi bố cục tài khoản, bao gồm PoolState và AmmConfig.
  • Initialize và InitializeWithPermission: discriminator, tài khoản, đối số và giá trị được lưu.
  • Permission, CreatePermissionPda và ClosePermissionPda.
  • Toán học swap, deposit và withdraw, việc tính phí người tạo, và phần chia cho giao thức của phí người tạo.
  • Mã lỗi. 6000–6015 không thay đổi; không có gì được thêm vào.
  • Program ID.

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

  • products/cpmm/instructions: banner nâng cấp; các hàng trong bảng tóm tắt và ma trận thay đổi trạng thái; phần InitializeV2 mới với đối số, mã hóa và danh sách tài khoản; điều kiện sau của Initialize giờ trỏ đến InitializeV2.
  • products/cpmm/fees: phần “Creator fee” liệt kê cả ba đường dẫn tạo và lưu ý rằng việc bật phí không đặt tỷ lệ của nó.
  • products/cpmm/accounts: ghi chú poolState và ID pool; ghi chú trường creator_fee_on / enable_creator_fee; ghi chú Permission; hàng vòng đời tài khoản.
  • products/cpmm/overview: callout “What’s new” và gạch đầu dòng “Predictable fees”.
  • products/cpmm/code-demos: ghi chú rằng createPool xây dựng Initialize và cách tiếp cận InitializeV2.
  • protocol-overview/shared-infrastructure: phí người tạo không còn giới hạn ở các pool đã tốt nghiệp LaunchLab.
  • reference/token-2022-support: các đường dẫn tạo pool CPMM.
Được xác minh dựa trên: nhánh raydium-cp-swap feat/initialize-v2 (40cbd81): programs/cp-swap/src/lib.rs, instructions/initialize_v2.rs, instructions/initialize.rs, instructions/initialize_with_permission.rs, instructions/mod.rs, states/pool.rs, và tests/initialize_v2.test.ts.