本頁內容由 AI 自動翻譯,所有內容以英文版本為準。查看英文版 →
本項目涵蓋即將推出的 LaunchLab 程式更新。在部署前已針對本地發佈分支進行驗證。在生產環境中啟用新路徑前,請確認已部署的程式和已發佈的 IDL。
GlobalConfig 建立、池初始化、四個交換指令、所有費用領取和 CPMM 遷移——都接受任一代幣程式,且交換指令會計算報價代幣的轉帳費用。
整合者快速摘要
- 報價代幣可以是 Token-2022。
CreateConfig接受 Token-2022quote_token_mint,InitializeV2/InitializeWithToken2022在報價程式槽中接受任一代幣程式。帳戶順序不變——你在該槽中傳遞的值會改變。 - 已棄用的
Initialize仍為舊版專用。 其報價程式帳戶仍被型別化為 SPL Token,因此報價代幣為 Token-2022 的設定只能透過InitializeV2或InitializeWithToken2022啟動。 - 滑點邊界移至付款人實際支付和接收的金額。
minimum_amount_out和maximum_amount_in現在與報價代幣轉帳費用淨額進行比較,而不是與金庫移動的金額進行比較。在費用承擔報價代幣上,現有報價邏輯會低估成本並高估收益。 PoolState.token_program_flag位元 1 變得有意義。 當報價代幣為舊版時,它始終為0。將整個位元組與0進行比較的用戶端,只要報價代幣是 Token-2022,就會將舊版基礎代幣讀取為 Token-2022。這是此版本中最可能的無聲中斷。MigrateToCpswap重新命名其兩個代幣程式帳戶。base_token_program/quote_token_program變為token_program/token_program_2022。兩者始終都是必需的,程式會根據代幣選擇正確的。- 代幣/程式對現在已驗證。 兩個交換代幣都獲得了
mint::token_program約束,ClaimPlatformFee的報價代幣也是如此,因此不匹配的對會還原而不是被忽略。 - 新錯誤
6023CalculateOverflow。 代碼6000–6022保持不變。6023由上一版本空出,現在被重新使用。 - 費用金庫跟隨報價代幣。 建立者和平台費用金庫,以及分享費用接收者的代幣帳戶,位於擁有報價代幣的任何程式上。
哪些帳戶改變了型別
這些都不會改變其帳戶列表中的位置。只有允許的值會改變。
已棄用的
Initialize(V1 路徑)刻意不在此表中。其報價程式帳戶保持型別化為 SPL Token。
其中幾個也加強了其代幣約束,因此不匹配的代幣/程式對現在會還原,而之前是被接受或未檢查的:
- 四個交換指令將
base_token_mint和quote_token_mint都約束到在匹配槽中傳遞的程式。之前都沒有該約束,因此錯誤的基礎程式被無聲接受。 ClaimPlatformFee在quote_mint上添加相同的約束。ClaimPlatformFeeFromVault將其約束從代幣帳戶形式更正為代幣帳戶上的代幣形式。
報價端轉帳費用會計
這是改變數字而不是帳戶列表的部分。在沒有TransferFeeConfig 的報價代幣上,下面的每個公式都會折疊為先前的行為,因此舊版池和無費用 Token-2022 池在位元上完全不變。
兩個值得明確說明的後果:
- 從等效無費用池計算的邊界不再可接受。使用無費用成本作為
maximum_amount_in的BuyExactOut現在以ExceededSlippage還原,SellExactIn使用無費用收益作為minimum_amount_out也是如此。這是預期行為——舊比較讓付款人被扣除轉帳費用,超過他們已同意的邊界。 - 池簿只記錄進入金庫的內容。在 5% 報價代幣上進行
amount_in的BuyExactIn後,real_quote前進amount_in × 0.95,而不是amount_in。
get_transfer_inverse_fee 也放棄了其 100% 費用代幣的特殊情況:它現在在無法計算反向費用時返回新的 CalculateOverflow 錯誤,而不是回退到 maximum_fee。因此 10000 基點的報價代幣會導致精確輸出路徑失敗,而不是無聲地以費用上限進行交易。
token_program_flag 位元 1
PoolState.token_program_flag 是一個位欄位,一直都是:
1,因為報價代幣現在可以是 Token-2022 代幣。四個值是:
使用
(token_program_flag >> bit) & 1 讀取每個代幣的程式。任何將位元組視為基礎代幣布林值的用戶端——flag === 0 ? Token : Token-2022——會將值 2 解析為 Token-2022 基礎代幣,並將針對錯誤的程式建立基礎端代幣帳戶和轉帳。沒有帳戶大小或欄位偏移改變,因此索引器不需要儲存遷移,只需要解碼修復。
CPMM 遷移帳戶重新命名
MigrateToCpswap 之前為每個代幣取一個代幣程式,呼叫者決定哪個是哪個。現在它無條件地取兩個程式,並從代幣本身推導映射:
兩個位置保持不變,因此這是值改變,而不是佈局改變——但值幾乎完全反轉,建立者繼續傳遞其舊對將在任一代幣是 Token-2022 代幣時立即傳遞 Token-2022,其中舊版程式是必需的。
舊版程式仍然無條件地必需,無論任一代幣如何,因為 CPMM LP 代幣和鎖定流動性費用密鑰 NFT 始終位於其上。來自 2026-08-17 版本 的
remaining_accounts 佈局保持不變。
報價代幣僅由管理員自由裁量承認
與 CPMM 和 CLMM 不同,LaunchLab 對報價代幣不執行擴展允許清單。CreateConfig 按原樣接受代幣帳戶,因此唯一的門檻是管理員將哪些代幣綁定到 GlobalConfig。程式的 NoSupportExtension 檢查僅適用於 LaunchLab 自己建立的 Token-2022 基礎代幣,其中只允許 MetadataPointer 和 TransferFeeConfig。
將 Token-2022 報價代幣綁定視為高信任操作,理由與 reference/token-2022-support 中的 CPMM/CLMM 靜態白名單相同。TransferHook 或 PermanentDelegate 報價代幣將在設定建立時被承認,然後將在每個以其報價的池上執行或能夠掃除。
amm_creator_fee_on 時間戳門檛
InitializeV2 放棄了時間戳門檛,該門檛在升級時間戳之前拒絕任何 amm_creator_fee_on 而不是 BothToken。等效的門檛仍存在於 InitializeWithToken2022 中。實際上,兩條路徑在 mainnet-beta 上今天都接受任一值,因為該時間戳(1755522000,2025-08-18 13:00 UTC)早已過去——這是清理,而不是當前呼叫者的行為改變。
錯誤和 IDL 影響
代碼6000–6022 保持不變,包括 6022 InvalidPlatformAllowConfig。
上一版本停用了舊的
6023 並將其留空;此版本重新使用該數字。不要使用早期版本的 IDL 解碼 6023。
在傳遞 Token-2022 報價程式、解碼 token_program_flag 位元 1 或建立重新命名的 MigrateToCpswap 帳戶列表前,刷新 LaunchLab IDL。
SDK 影響
SDK 的啟動板模組的報價端在與程式相同的地方被硬編碼為TOKEN_PROGRAM_ID。伴隨此版本的分支改為解析報價代幣的擁有者,將其穿過代幣帳戶建立、分享費用接收者的 ATA 和指令的報價程式槽,並為四個 Curve 方法添加可選的 transferFeeConfigB,以便報價反映上述公式。Curve 結果獲得 transferFeeB 欄位;amountB 保持其含義——付款人花費或賣方接收的內容——因此無費用報價代幣產生與之前相同的數字。
這些 SDK 改變未發佈。本文件集中代碼演示頁面上的規範釘選保持不變;在依賴新參數前檢查已發佈的版本。
參考實現
新演示透過 Yellowstone gRPC 訂閱 LaunchLab 程式,並為每個GlobalConfig 和 PoolState 更新記錄每個代幣是 Token 還是 Token-2022 代幣:
raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts
它是此版本使必要的兩件事的緊湊參考。池直接從 token_program_flag 分類,使用兩個位元解碼,完全不需要代幣提取——這是上述位元 1 中斷的修復。設定無法以這種方式分類,因為 GlobalConfig 只儲存其報價代幣的地址,沒有程式標誌,因此演示讀取代幣帳戶的擁有者一次並按代幣快取。並排看到兩條路徑是檢查你自己解碼器的最快方式。
請參閱 products/launchlab/code-demos 以取得逐步說明。
更新的頁面
products/launchlab/accounts— 報價代幣程式、token_program_flag位元佈局和金庫所有權。products/launchlab/instructions— 報價程式帳戶、交換滑點語義和重新命名的遷移帳戶。products/launchlab/global-config—quote_mint可能是 Token-2022 代幣,以及什麼會和不會限制它。products/launchlab/code-demos— gRPC 設定/池監視器。reference/token-2022-support— LaunchLab 列和報價代幣部分。reference/error-codes—6023CalculateOverflow。

