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 một bản cập nhật LaunchLab program sắp tới. Nó đã được xác minh so với nhánh phát hành cục bộ trước khi triển khai. Hãy xác nhận program đã triển khai và IDL được công bố trước khi bật các đường dẫn mới trong production.
Bản phát hành này cho phép một launch được định giá bằng Token-2022 mint. Cho đến nay, phía quote được cố định với legacy SPL Token program, vì vậy chỉ base mint có thể là Token-2022. Mọi nơi quote mint được sử dụng — GlobalConfig creation, pool initialization, bốn swap instructions, tất cả fee claims, và CPMM migration — giờ đây chấp nhận bất kỳ token program nào, và swap instructions tính đến transfer fee của quote mint.

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

  • Quote mints có thể là Token-2022. CreateConfig chấp nhận Token-2022 quote_token_mint, và InitializeV2 / InitializeWithToken2022 chấp nhận bất kỳ token program nào trong quote-program slot. Thứ tự account không thay đổi — giá trị bạn truyền vào slot đó thay đổi.
  • Initialize không dùng nữa vẫn chỉ hỗ trợ legacy. Quote-program account của nó vẫn được gõ thành SPL Token, vì vậy config có quote mint là Token-2022 chỉ có thể được khởi chạy thông qua InitializeV2 hoặc InitializeWithToken2022.
  • Slippage bounds chuyển sang những gì người trả thực tế trả và nhận. minimum_amount_outmaximum_amount_in giờ đây được so sánh với số tiền ròng sau transfer fee của quote mint, không phải số tiền vault di chuyển. Logic quoting hiện tại dưới-định giá chi phí và quá-định giá lợi nhuận trên quote mint có phí.
  • PoolState.token_program_flag bit1 trở nên có ý nghĩa. Nó luôn là 0 khi quote mints chỉ là legacy. Các client so sánh toàn bộ byte với 0 sẽ đọc base mint legacy là Token-2022 bất cứ khi nào quote mint là Token-2022. Đây là lỗi im lặng có khả năng xảy ra nhất trong bản phát hành này.
  • MigrateToCpswap đổi tên hai token-program accounts. base_token_program / quote_token_program trở thành token_program / token_program_2022. Cả hai luôn được yêu cầu, và program chọn cái đúng cho mỗi mint.
  • Cặp Mint/program giờ đây được xác thực. Cả hai swap mints đều có mint::token_program constraint, như ClaimPlatformFee’s quote mint, vì vậy cặp không khớp sẽ revert thay vì bị bỏ qua.
  • Error mới 6023 CalculateOverflow. Codes 60006022 không thay đổi. 6023 được giải phóng bởi bản phát hành trước và giờ đây được sử dụng lại.
  • Fee vaults theo quote mint. Creator và platform fee vaults, và token account của share-fee receiver, nằm trên bất kỳ program nào sở hữu quote mint.

Những accounts nào thay đổi type

Không có accounts nào thay đổi vị trí trong danh sách account của chúng. Chỉ giá trị được phép thay đổi. Initialize (đường dẫn V1 không dùng nữa) cố ý không có trong bảng này. Quote-program account của nó vẫn được gõ thành SPL Token. Một số trong số này cũng siết chặt mint constraints của chúng, vì vậy cặp mint/program không khớp giờ đây sẽ revert nơi nó trước đây được chấp nhận hoặc không được kiểm tra:
  • Bốn swap instructions ràng buộc cả base_token_mintquote_token_mint với program được truyền vào slot phù hợp. Không ai trong số đó mang constraint đó trước đây, vì vậy base program sai đã được im lặng chấp nhận.
  • ClaimPlatformFee thêm constraint tương tự trên quote_mint.
  • ClaimPlatformFeeFromVault sửa constraint của nó từ dạng token-account thành dạng mint trên những gì là mint account.

Quote-side transfer-fee accounting

Đây là phần thay đổi số thay vì danh sách account. Trên quote mint không có TransferFeeConfig, mọi công thức dưới đây sẽ sụp đổ thành hành vi trước đây, vì vậy legacy pools và fee-free Token-2022 pools không thay đổi bit-for-bit. Hai hệ quả đáng nêu rõ:
  • Bound được tính từ fee-free pool tương đương không còn được chấp nhận. BuyExactOut với chi phí fee-free như maximum_amount_in giờ đây revert với ExceededSlippage, và SellExactIn với lợi nhuận fee-free như minimum_amount_out cũng vậy. Đó là hành vi dự định — so sánh cũ cho phép người trả được tính phí transfer trên top của bound họ đã đồng ý.
  • Pool chỉ ghi lại những gì đến vault. Sau BuyExactIn của amount_in trên 5% quote mint, real_quote tăng thêm amount_in × 0.95, không phải amount_in.
get_transfer_inverse_fee cũng bỏ trường hợp đặc biệt của nó cho 100%-fee mint: thay vì quay lại maximum_fee, nó giờ đây trả về error CalculateOverflow mới khi inverse fee không thể được tính toán. Quote mint ở 10000 basis points do đó thất bại các exact-out paths thay vì im lặng giao dịch ở fee cap.

token_program_flag bit1

PoolState.token_program_flag là bitfield, và luôn luôn là:
Field, vị trí bit, và code viết cả hai bits đều có từ trước bản phát hành này. Những gì thay đổi là bit1 giờ đây có thể thực sự là 1, vì quote mint giờ đây có thể là Token-2022 mint. Bốn giá trị là: Đọc program của mỗi mint với (token_program_flag >> bit) & 1. Bất kỳ client nào coi byte như boolean cho base mint — flag === 0 ? Token : Token-2022 — giải quyết giá trị 2 thành Token-2022 base mint và sẽ xây dựng base-side token account và transfer chống lại program sai. Không có account size hoặc field offset changes, vì vậy indexers không cần storage migration, chỉ cần decode fix.

CPMM migration account rename

MigrateToCpswap trước đây lấy một token program cho mỗi mint, và caller quyết định cái nào là cái nào. Giờ đây nó lấy cả hai programs vô điều kiện và lấy mapping từ mints: Hai vị trí không thay đổi, vì vậy đây là value change, không phải layout change — nhưng các giá trị gần như bị đảo ngược, và builder giữ truyền cặp cũ của nó sẽ truyền Token-2022 nơi legacy program được yêu cầu ngay khi bất kỳ mint nào là Token-2022 mint. Legacy program vẫn được yêu cầu vô điều kiện bất kể mint nào, vì CPMM LP mint và locked-liquidity Fee Key NFT luôn nằm trên nó. remaining_accounts layout từ bản phát hành 2026-08-17 không thay đổi.

Quote mints được chấp nhận bằng quyết định admin duy nhất

Không giống CPMM và CLMM, LaunchLab chạy không extension allow-list chống lại quote mint. CreateConfig chấp nhận mint account như-là, vì vậy gate duy nhất là mints nào admin ràng buộc với GlobalConfig. NoSupportExtension check của program áp dụng chỉ cho Token-2022 base mints mà LaunchLab tạo ra chính nó, nơi chỉ MetadataPointerTransferFeeConfig được phép. Coi ràng buộc Token-2022 quote mint như hành động high-trust, vì lý do tương tự đăng ký mint trong CPMM/CLMM support-mint registry — xem reference/token-2022-support. Quote mint TransferHook hoặc PermanentDelegate sẽ được chấp nhận tại config-creation time và sau đó sẽ chạy trên, hoặc có thể quét, mọi pool được định giá trong nó.

amm_creator_fee_on timestamp gate

InitializeV2 bỏ timestamp gate từng từ chối bất kỳ amm_creator_fee_on nào khác BothToken trước upgrade timestamp. Gate tương đương vẫn có trong InitializeWithToken2022. Trong thực tế cả hai paths chấp nhận giá trị bất kỳ trên mainnet-beta hôm nay, vì timestamp đó (1755522000, 2025-08-18 13:00 UTC) đã lâu rồi — đây là cleanup, không phải behavior change cho callers hiện tại.

Error và IDL impact

Codes 60006022 không thay đổi, bao gồm 6022 InvalidPlatformAllowConfig. Bản phát hành trước đó đã loại bỏ 6023 cũ và để nó trống; bản phát hành này sử dụng lại số. Không giải mã 6023 với IDL từ bất kỳ phiên bản nào trước đó. Làm mới LaunchLab IDL trước khi truyền Token-2022 quote program, giải mã token_program_flag bit1, hoặc xây dựng danh sách MigrateToCpswap account được đổi tên.

SDK impact

Phía quote của SDK’s launchpad module được hard-coded thành TOKEN_PROGRAM_ID ở những nơi tương tự program. Nhánh đi kèm với bản phát hành này giải quyết chủ sở hữu quote mint thay thế, luồng nó thông qua token-account creation, ATA của share-fee receiver, và quote-program slot của instruction, và thêm transferFeeConfigB tùy chọn vào bốn Curve methods để quotes phản ánh các công thức trên. Curve results đạt được transferFeeB field; amountB giữ ý nghĩa của nó — những gì người trả chi tiêu hoặc người bán nhận — vì vậy fee-free quote mint tạo ra số giống hệt như trước. Những SDK changes này chưa được phát hành. Pin chính tắc trên code-demo pages trong bộ tài liệu này không thay đổi; kiểm tra phiên bản được công bố trước khi dựa vào các parameters mới.

Reference implementation

Demo code để tức thì lấy newly create quote configurations: raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts Nó là reference nhỏ gọn cho hai điều bản phát hành này làm cần thiết. Pools được phân loại thẳng từ token_program_flag, giải mã cả hai bits mà không cần mint fetch cả — đó là fix cho bit1 breakage được mô tả ở trên. Configs không thể được phân loại bằng cách đó, vì GlobalConfig chỉ lưu trữ địa chỉ quote mint của nó và không có program flag, vì vậy demo đọc mint account’s owner một lần và cache nó per mint. Thấy cả hai paths bên cạnh nhau là cách nhanh nhất để kiểm tra decoder của riêng bạn. Xem products/launchlab/code-demos cho walkthrough.

Pages updated

  • products/launchlab/accounts — quote-mint token program, token_program_flag bit layout, và vault ownership.
  • products/launchlab/instructions — quote-program accounts, swap slippage semantics, và renamed migration accounts.
  • products/launchlab/global-configquote_mint có thể là Token-2022 mint, và cái gì gate và không gate nó.
  • products/launchlab/code-demos — gRPC config/pool watcher.
  • reference/token-2022-support — LaunchLab row và quote-mint section.
  • reference/error-codes6023 CalculateOverflow.