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.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_timevà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 đó;Nonegiữ nó tắt.Nonelưu chính xác những gìInitializelư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_creatorlàcreatorđang ký. Không giốngInitializeWithPermission, 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_ratecủ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.
InitializevàInitializeWithPermissiongiữ 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 quaremaining_accounts; - từ chối tạo khi
amm_config.disable_create_poolđược đặt; - tăng
open_timelênblock_timestamp + 1khi 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.
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 routineinitialize_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_ratelà mức bạn muốn tính. Các tỷ lệ được liệt kê trongproducts/cpmm/fees. - Lựa chọn là vĩnh viễn. Không có hướng dẫn nào thay đổi
enable_creator_feehoặccreator_fee_onsau 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
CollectCreatorFeehoặcCollectCreatorFeePermissionless. 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ừ
InitializesangInitializeV2nếu bạn muốn bật phí người tạo. TruyềnSome(side)và bỏ tài khoảnrent.Initializevẫn hoạt động. - Người dùng SDK.
raydium.cpmm.createPooltrong@raydium-io/raydium-sdk-v2@0.2.64-alphaxây dựngInitialize. Cho đến khi một bản phát hành cung cấp trình xây dựngInitializeV2, 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_feevàcreator_fee_oncủ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ảnPoolStatekhô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.
InitializeWithPermissionvẫ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
PoolStatevàAmmConfig. InitializevàInitializeWithPermission: discriminator, tài khoản, đối số và giá trị được lưu.Permission,CreatePermissionPdavà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–6015khô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ầnInitializeV2mới với đối số, mã hóa và danh sách tài khoản; điều kiện sau củaInitializegiờ trỏ đếnInitializeV2.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úpoolStatevà ID pool; ghi chú trườngcreator_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ằngcreatePoolxây dựngInitializevà cách tiếp cậnInitializeV2.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.
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.
