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 →
LaunchLab cung cấp một bộ lệnh chặt chẽ: sáu lệnh dành cho người dùng cộng với một số lệnh quản trị. SDK bao bọc tất cả chúng; trang này ghi lại bề mặt thô cho các công cụ tổng hợp, công cụ giám sát và các chương trình cần CPI.Nâng cấp chương trình 2026-09 đã xây dựng lại LaunchLab trên Anchor 1.0.2 / Solana 3.1.10 và xóa ba cơ chế chuyển tiếp:
Initialize không dùng nữa hiện luôn thất bại, MigrateToAmm mất ba đối số và mọi tài khoản OpenBook, và cổng get_upgrade_timestamp khiến một số kiểm tra có điều kiện dựa trên đồng hồ đã bị xóa. Nó cũng thêm một lệnh quản trị, CollectExcessLamports. Xem mục nhập nhật ký thay đổi 2026-09-09.Danh sách lệnh
Phân chia “ExactIn/ExactOut” phản ánh
SwapBaseInput / SwapBaseOutput của CPMM — trên chuỗi chúng là các bộ phân biệt lệnh riêng biệt với làm tròn hơi khác nhau.
Lựa chọn đường dẫn tốt độ. Mọi lệnh InitializeV2 và InitializeWithToken2022 mới phải đặt migrate_type = 1 (CPSWAP). Bất kỳ nỗ lực nào để khởi tạo một pool mới được liên kết với AMM v4 sẽ trả về MigrateTypeNotMatch. amm_creator_fee_on chỉ chọn xem phí người tạo CPMM kết quả có áp dụng cho token trích dẫn hay cả hai token; nó không chọn chương trình đích. Initialize kế thừa không thể tạo khởi chạy nữa (xem bên dưới).
MigrateToAmm vẫn có thể gọi được cho một PoolState hiện có được khởi tạo với migrate_type = 0 trước khi hạn chế này. Bản phát hành không viết lại trạng thái pool hiện có hoặc xóa lệnh kế thừa.
Chương trình token phía trích dẫn. Mint trích dẫn có thể được sở hữu bởi chương trình SPL Token hoặc Token-2022. Mọi lệnh chạm vào nó — CreateConfig, InitializeV2, InitializeWithToken2022, cả bốn lệnh giao dịch, CollectFee, CollectMigrateFee, ClaimCreatorFee, ClaimPlatformFee và ClaimPlatformFeeFromVault — lấy chương trình sở hữu trong vị trí tài khoản chương trình trích dẫn của nó. Vị trí tài khoản không thay đổi; chỉ giá trị được chấp nhận mới thay đổi. Chuyển chương trình thực sự sở hữu GlobalConfig.quote_mint, mà bạn có thể đọc từ bit1 PoolState.token_program_flag cho một khởi chạy hiện có (xem accounts) hoặc từ chủ sở hữu tài khoản mint nếu không.
Initialize không dùng nữa là vô ích ở đây: tài khoản chương trình trích dẫn của nó vẫn được nhập vào SPL Token, và kể từ nâng cấp 2026-09 lệnh thất bại trước khi nó đọc bất kỳ tài khoản nào. Khởi chạy thông qua InitializeV2 hoặc InitializeWithToken2022.
MigrateToCpswap là ngoại lệ khác, theo hướng ngược lại — nó lấy cả hai chương trình vô điều kiện thay vì một cho mỗi mint. Xem các tài khoản di chuyển bên dưới.
Initialize
Tạo một lần phát hành mới. InitializeV2 chỉ thêm đối số amm_fee_on so với Initialize không dùng nữa; số lượng tài khoản và thứ tự giống hệt nhau, và sự khác biệt duy nhất ở cấp độ tài khoản là quote_token_program được gõ Interface<TokenInterface> để chấp nhận mint quote Token-2022.
Đối số
Bốn đối số vị trí, không phải một struct. (InitializeWithToken2022 thêm một thứ năm, transfer_fee_extension_param: Option<TransferFeeExtensionParams>; Initialize không dùng nữa bỏ amm_fee_on.)
global_config.curve_type hoặc lệnh sẽ hoàn nguyên với InputNotMatchCurveConfig (6003). Không có open_time, không có đối số quote_mint (nó đến từ global_config), không có struct fees và không có post_graduation_lp_policy — xử lý LP được đặt trên PlatformConfig, không phải cho mỗi lần phát hành.
Tài khoản — 18 tài khoản tổng cộng (16 được khai báo cộng với hai phần phụ #[event_cpi])
Điều kiện tiên quyết
quote_mint ∈ launch_config.allowed_quote_mints.base_supply_graduation ≤ base_supply_max.- Các tham số phí vượt qua kiểm tra
launch_config.max_*_fee_rate. open_time ≥ now − slop(SDK thực thi≥ now; chương trình chấp nhận backdating nhẹ).curve_typeđược công nhận.
base_mintcósupply = curve_param.supply, tất cả trongbase_vault.- Quyền mint được thu hồi trong cùng lệnh này (
set_authority(MintTokens, None)) ngay sau khi cung cấp được mint — không phải tại tốt nghiệp. Do đó, base mint có cung cấp cố định vĩnh viễn, và không có lệnh nào sau này có thể mint thêm. PoolStateđược khởi tạo vớistatus = Fund(0),real_a = 0,real_b = 0.total_fund_raising_bđến trực tiếp từcurve_param.total_quote_fund_raising.- Đối với
InitializeWithToken2022vớiTransferFeeConfigđược đính kèm:transfer_fee_config_authority = launch_authority, vàwithdraw_withheld_authority = PlatformConfig.transfer_fee_extension_authkhi trường đó được đặt, nếu không thìlaunch_authority. Phía rút được viết tại tạo mint chính xác để nền tảng có thể quét các khoản phí bị giữ lại trước khi tốt nghiệp. Xemplatform-config.
NotApproved (6000, vô điều kiện, cho Initialize không dùng nữa), InvalidInput (6002, cung cấp / tỷ lệ / sàn gây quỹ từ GlobalConfig bị vi phạm), InputNotMatchCurveConfig (6003, biến thể curve_param không khớp với global_config.curve_type), MigrateTypeNotMatch (6007, migrate_type != 1), MathOverflow (6008), VestingRatioTooHigh (6010), NoSupportExtension (6017), NotEnoughRemainingAccounts (6018), InvalidPlatformAllowConfig (6022), CurveParamNotMatchPlatformRule (6025). Kiểm tra address = / constraint = của Anchor thất bại xuất hiện dưới dạng mã 2xxx, không phải một trong những mã này — không có InvalidQuoteMint, FeeRateTooHigh hoặc InvalidCurveParams tồn tại trong enum lỗi của chương trình.
Buy (biến thể chính tắc: BuyExactIn)
Người dùng cung cấp một lượng đầu vào cố định; đường cong tính toán đầu ra.
Đối số
Tài khoản còn lại — đường ống phí, được đọc theo thứ tự chính xác này:
share_fee_receiver— chỉ khishare_fee_rate > 0.system_program— luôn luôn; kiểm tra== System::id(), nếu không thìInvalidInput.platform_fee_vault— PDA[platform_config, quote_token_mint]; được tạo khi sử dụng lần đầu.creator_fee_vault— PDA[creator, quote_token_mint]; được tạo khi sử dụng lần đầu.
NotEnoughRemainingAccounts (6018). Không có slot associated_token_program, và system_program là tài khoản còn lại thay vì tài khoản được khai báo.
Điều kiện tiên quyết
launch_state.status == Active.now ≥ open_time.user_quote_ata.balance ≥ quote_in.quote_in > 0.
- Chia
quote_inthànhquote_in_after_feevà các phần phí. - Newton-giải đường cong cho
base_outđược cung cấp quote sau phí. require(base_out ≥ minimum_base_out)nếu không hoàn nguyênExceededSlippage.- Di chuyển
quote_inngười dùng → vault. Di chuyểnbase_outvault → người dùng. - Cập nhật
base_sold += base_out,quote_reserve_real += quote_in_after_fee × (lp_share / total_share). - Cập nhật bộ đếm phí (
protocol_fees_quote,creator_fees_quote). state_data.num_buys += 1.- Nếu
quote_reserve_real ≥ quote_reserve_targetsau khi cập nhật, SDK thường xuyên chuỗi một ixGraduatetrong cùng một giao dịch. Chương trình không tự động tốt nghiệp bên trongBuy— mộtGraduatetiếp theo là bắt buộc.
BuyExactOut
Người dùng chỉ định base_out chính xác; chương trình tính toán quote_in.
Đối số
BuyExactIn. Sử dụng tích phân bậc hai dạng đóng (hoặc CPMM nghịch đảo, cho curve_type 1) thay vì lặp lại Newton.
Sell / SellExactIn / SellExactOut
Đối xứng với Buy. Người dùng trả lại base_in cho đường cong và nhận quote_out. Phí được trừ từ quote_out, vì vậy người dùng nhận được ít hơn lợi suất tích phân thô.
Điều kiện tiên quyết —
user_base_ata.balance ≥ base_in.- Bán không thể đẩy
base_soldxuống dưới 0 (dư thừa với điều trên nếu kế toán nhất quán). - Launch ở trạng thái
Active.
Buy. base_sold giảm, quote_reserve_real giảm. Phí vẫn tích lũy.
Phí chuyển phía quote
Khi quote mint cóTransferFeeConfig, số tiền vault di chuyển và số tiền người trả được ghi nợ hoặc ghi có khác nhau, và giới hạn slippage được kiểm tra so với phía người trả. Trên quote mint không có extension, mọi trường hợp dưới đây giống hệt với mint legacy thông thường.
Hai hệ quả cho quoting:
- Một giới hạn được tính toán như thể mint không có phí bị từ chối. Truyền chi phí không có phí làm
maximum_amount_in, hoặc lợi suất không có phí làmminimum_amount_out, sẽ hoàn nguyên vớiExceededSlippage. real_quotechỉ tiến lên bởi những gì đã đến vault. MộtBuyExactIncủaamount_intrên quote mint 5% di chuyểnreal_quotebởiamount_in × 0.95.
10000 basis points) không thể được đảo ngược và hoàn nguyên với CalculateOverflow trên các đường dẫn exact-out.
Cả hai mint phía trade cũng bị ràng buộc với chương trình được truyền vào slot phù hợp của chúng, vì vậy base_token_program không khớp giờ đây sẽ thất bại thay vì bị bỏ qua. Xem algorithms/token-2022-transfer-fees để tìm hiểu toán học phí cơ bản.
Tài khoản còn lại của trade
Cả bốn instruction trade đều lấy hệ thống phí của chúng thông quaremaining_accounts, theo thứ tự này:
Thay đổi trong 2026-09: ba cái cuối cùng giờ đây là bắt buộc, và
system_program được xác thực. Trước bản phát hành này, chương trình chỉ đọc chúng khi unix_timestamp >= get_upgrade_timestamp(), và bỏ qua toàn bộ phân chia phí platform/creator trước thời điểm đó. Dấu thời gian đã qua lâu, vì vậy hành vi trên mainnet thực tế không thay đổi — nhưng nhánh đã bị xóa khỏi mã, và một builder vẫn còn bỏ qua ba tài khoản giờ đây luôn thất bại với NotEnoughRemainingAccounts (6018) thay vì chỉ sau khi cắt. Slot system_program được kiểm tra thêm so với System::id() và trả về InvalidInput (6002) nếu nó chứa bất cứ thứ gì khác, trong khi trước đây bất kỳ tài khoản nào cũng được chấp nhận ở vị trí đó.MigrateToAmm / MigrateToCpswap
Nâng cấp một launch thành một pool có thể giao dịch sau khi đường cong đạt total_quote_fund_raising. Các launch mới chỉ hỗ trợ CPMM. MigrateToAmm được giữ lại cho các pool hiện có có migrate_type lưu trữ là 0.
Ai ký
MigrateToAmm— vímigrate_to_amm_walletđược ghi lại trênGlobalConfigliên kết.MigrateToCpswap— vímigrate_to_cpswap_walletđược ghi lại trênGlobalConfigliên kết.
- Xác minh
pool_state.status == Migrate(tức làquote_reserve_targetđã được đạt). Nếu không, hoàn nguyên vớiPoolMigrated(trạng thái đã làMigrated) hoặcPoolFunding(vẫn đang tài trợ). - Xác minh
pool_state.migrate_typekhớp với hướng dẫn (0cho AMM,1cho CPMM). Nếu không, hoàn nguyên vớiMigrateTypeNotMatch. - Tính toán dự trữ sau nâng cấp:
base_amount_out = base_vault.amount − vesting_schedule.total_locked_amountquote_amount_out = quote_vault.amount − quote_protocol_fee − migrate_fee − platform_fee
- CPI vào chương trình đích (
AMM v4 Initialize2hoặcCPMM InitializeWithPermission) với những dự trữ đó để tạo pool sau nâng cấp. - Đối với các di chuyển CPMM được thực hiện sau nâng cấp 2026-08-17, kết hợp
platform_scale + creator_scalethành một cổ phần LP bị khóa do nền tảng sở hữu và mint tối đa một NFT Fee Key choplatform_nft_wallet. Đốt phần còn lạiburn_scale. Trước nâng cấp,creator_scalebị khóa riêng biệt và Fee Key của nó đi đến người tạo token. Các di chuyển lịch sử đã hoàn thành không được sửa đổi. Đối với nâng cấp AMM v4 kế thừa, việc xử lý LP tuân theo luồng hiện có của hướng dẫn đó. - (Không có bước mint-authority.
base_mint.mint_authorityđã được đặt thànhNonekhi tạo launch — xem ghi chú dưới đây.) - Lật
pool_state.status = Migrated, đặtvesting_schedule.start_time = block_time + cliff_period.
TransferFeeConfig và PlatformConfig.transfer_fee_extension_auth không phải mặc định, di chuyển cũng tái chỉ định các quyền hạn của phần mở rộng đó cho khóa nền tảng:
transfer_fee_config_authorityluôn được tái chỉ định. PDAauthoritycủa launch giữ nó cho toàn bộ giai đoạn trước nâng cấp, vì vậy luôn có thứ gì đó để di chuyển.WithheldWithdrawđược tái chỉ định chỉ khi PDAauthorityvẫn giữ nó. Các launch được tạo từ 2026-08-27 trở đi đã mangtransfer_fee_extension_authtrên quyền hạn đó từ lúc tạo mint, vì vậy bước này bị bỏ qua. Bảo vệ là những gì ngăn di chuyển không hoàn nguyên trên những mint đó — PDA không thể ký bỏ quyền hạn mà nó không còn giữ.
transfer_fee_extension_auth là Pubkey::default() tại thời điểm di chuyển, không có quyền hạn nào di chuyển và cả hai đều ở lại với PDA authority vĩnh viễn. Xem platform-config.
Cung cấp của base mint được cố định từ lúc tạo, không phải từ lúc nâng cấp.
InitializeV2 và InitializeWithToken2022 mint toàn bộ cung cấp vào base vault và sau đó ngay lập tức thu hồi MintTokens trong cùng một hướng dẫn, vì vậy base_mint.mint_authority là None cho toàn bộ vòng đời của launch. Di chuyển không chạm vào nó. (Các bản sửa đổi trước đây của trang này đặt việc thu hồi tại nâng cấp; điều đó là sai.) Các quyền hạn duy nhất mà di chuyển có thể di chuyển là những quyền hạn transfer-fee Token-2022 được mô tả dưới đây.BuyExactIn, BuyExactOut, SellExactIn, SellExactOut sẽ từ chối từ điểm này trở đi với PoolMigrated. Pool AMM kết quả là chính tắc và giao dịch như bất kỳ pool AMM v4 / CPMM nào khác.
Lỗi phổ biến — PoolFunding, PoolMigrated, MigrateTypeNotMatch, InvalidCpSwapConfig, MathOverflow.
Tài khoản còn lại di chuyển CPMM
Các client xây dựngMigrateToCpswap phải sử dụng các chỉ số remaining_accounts cố định này:
Hướng dẫn yêu cầu ít nhất mười tài khoản còn lại. Các tài khoản support-mint là đầu vào CPI chỉ đọc. Lấy cả hai địa chỉ ngay cả khi mint không có bản ghi support đã khởi tạo. Các builder cũ hơn vẫn nối các tài khoản creator-lock hoặc bỏ qua chỉ số 8–9 phải được cập nhật.
Thay đổi trong 2026-09. Hai dọn dẹp, không cái nào thay đổi một builder chính xác:
- Đường dẫn CPMM được phép giờ đây là đường dẫn duy nhất.
MigrateToCpswaptừng chọn giữaInitializeCpSwapvàInitializeCpSwapWithPermissiondựa trênunix_timestamp >= get_upgrade_timestamp(). Trợ giúp timestamp và CPI kế thừa đều biến mất, vì vậy đường dẫn được phép — và do đó mức tối thiểu mười tài khoản — áp dụng vô điều kiện. - Ba ràng buộc địa chỉ được di chuyển từ struct tài khoản vào phần thân hướng dẫn.
platform_config,base_vault, vàquote_vaultvẫn được yêu cầu khớp với các giá trị được lưu trữ trênPoolState, nhưng sự không khớp hiện được nâng cao bởirequire_keys_eq!thay vì ràng buộcaddress =của Anchor. Kiểm tra tương đương; chỉ bề mặt lỗi khác — bạn nhận đượcRequireKeysEqViolated(2502) chung chung của Anchor thay vìConstraintAddress(2012), và nó được báo cáo mà không có tên tài khoản. Cập nhật bất kỳ xử lý lỗi nào khớp với2012cho ba tài khoản này.
Chương trình token di chuyển CPMM
MigrateToCpswap nhận cả hai chương trình token vô điều kiện và tự xác định chương trình nào sở hữu mỗi mint. Hai tài khoản chương trình token của nó được đổi tên tương ứng:
Chúng thay thế
base_token_program trước đây (chương trình nào sở hữu base mint) và quote_token_program (luôn là kế thừa). Các vị trí không thay đổi, vì vậy đây là thay đổi giá trị chứ không phải thay đổi bố cục — nhưng hai giá trị gần như bị đảo ngược, và một builder giữ cặp cũ của nó sẽ cung cấp Token-2022 nơi chương trình kế thừa được yêu cầu ngay khi một trong hai mint là mint Token-2022.
Chương trình kế thừa được yêu cầu ngay cả khi không mint nào sử dụng nó, vì mint LP CPMM và NFT Fee Key khóa-liquidity luôn sống trên nó.
Danh sách cho phép GlobalConfig nền tảng
PlatformConfig.restrict_global_config kiểm soát kiểm tra:
0: nền tảng chấp nhận bất kỳGlobalConfignào hợp lệ; không cần tài khoản cho phép.1:Initialize,InitializeV2, vàInitializeWithToken2022phải bao gồmPlatformAllowConfigphù hợp ở bất kỳ đâu trongremaining_accounts.
CreatePlatformAllowConfig và ClosePlatformAllowConfig. Các seed của nó là [b"platform_allow_config", platform_config, global_config]. Các hướng dẫn PDA và PlatformGlobalAccess do admin quản lý trước đây đã được loại bỏ.
Quy tắc tham số khởi chạy nền tảng
Bốn hướng dẫn quản lý một tài khoảnPlatformCurveRule. Cả bốn đều được ký bởi PlatformConfig.curve_rule_manager hoặc bởi admin nền tảng — chương trình chấp nhận admin bằng cách lấy lại PDA PlatformConfig từ người ký, vì vậy không có tài khoản riêng biệt chứng minh nó. Một người ký không phải là cả hai trả về InvalidCurveRuleAuthority.
platform_curve_rule là PDA tại [b"platform_curve_rule", platform_config, global_config].
Createcấp phát tài khoản không giữ nhóm nào. Trạng thái đó không hạn chế bất cứ điều gì.Updateupserts nhóm vớigroup_idđó, thay thế nó hoàn toàn nếu nó tồn tại. Nó thay đổi kích thước tài khoản để phù hợp, vì vậy người ký bổ sung tiền thuê nó tăng lên và nhận lại tiền thuê nó giảm xuống. Một nhóm mới vượt quá nhóm thứ mười trả vềCurveRuleGroupsExceeded; hơn 25 ràng buộc, trường không xác định hoặc toán tử, hoặc cặp(field, op)giống nhau hai lần trong một nhóm trả vềInvalidCurveRuleConstraint; bốn trường dẫn xuấtTotalSellAtrên config không phải constant-product trả vềCurveRuleFieldNotSupportedByCurve.Removeloại bỏ một nhóm theo id, thu nhỏ tài khoản và hoàn lại sự khác biệt. Một id không xác định trả vềCurveRuleGroupNotExist.Closetrả lại toàn bộ tiền thuê cho người ký. Config sau đó không bị hạn chế lại ngay cả khirestrict_curve_paramvẫn là1.
UpdatePlatformConfig::RestrictCurveParam(0 | 1), chỉ admin nền tảng mới có thể gọi.
Trên đường dẫn khởi chạy. Trong khi restrict_curve_param là 1, InitializeV2 và InitializeWithToken2022 yêu cầu PDA quy tắc trong remaining_accounts — bao gồm khi nó không tồn tại, vì vậy bỏ qua nó không thể bỏ qua kiểm tra. Một tài khoản bị thiếu là NotEnoughRemainingAccounts; một launch không thỏa mãn nhóm nào là CurveParamNotMatchPlatformRule. Kiểm tra chạy trước các giới hạn của GlobalConfig riêng của nó và chỉ có thể thu hẹp chúng. Mô hình và playbooks: products/launchlab/curve-rules. Cả hai lỗi đều có thể tránh được phía client — SDK phản chiếu kiểm tra này như một hàm thuần túy, xem Kiểm tra trước khi bạn gửi.
CollectFee
Quét phí giao dịch tích lũy của giao thức trên một lần phát hành duy nhất.
Tham số — không có.
Tài khoản
Hiệu ứng — chuyển
pool_state.quote_protocol_fee từ quote_vault đến recipient_token_account, sau đó đặt bộ đếm về không. Có thể gọi bất kỳ lúc nào sau lần mua đầu tiên.
CollectMigrateFee
Quét phí di chuyển tích lũy tại thời điểm hoàn tất. Cùng hình dạng tài khoản với CollectFee nhưng với migrate_fee_owner là người ký (thay vì protocol_fee_owner) và pool_state.migrate_fee là bộ đếm được rút.
ClaimCreatorFee
Quét phí người tạo tích lũy cho mỗi người tạo trên mọi lần phát hành mà người tạo sở hữu sử dụng cùng quote mint. Rút từ vault phí theo người tạo, không phải vault theo pool.
Tham số — không có.
Tài khoản
Hiệu ứng — chuyển toàn bộ số dư của
creator_fee_vault đến recipient_token_account. Hoàn tác với kiểm tra yêu cầu lớn hơn không nếu vault trống.
ClaimPlatformFee
Quét theo nền tảng rút trực tiếp từ vault quote của một lần phát hành. Sử dụng cái này khi một nền tảng muốn yêu cầu phần của nó cho một lần phát hành cụ thể mà không cần đi qua vault nền tảng tổng hợp.
Tham số — không có.
Tài khoản
Hiệu ứng — chuyển
pool_state.platform_fee từ quote_vault đến recipient_token_account, đặt bộ đếm về không.
ClaimPlatformFeeFromVault
Quét tổng hợp theo nền tảng. Rút vault phí theo quote mint của nền tảng tích lũy phí từ mọi lần phát hành được định tuyến qua nền tảng.
Tham số — không có.
Tài khoản
Hiệu ứng — chuyển toàn bộ số dư của
platform_fee_vault đến recipient_token_account. Hoàn tác nếu vault trống.
CollectExcessLamports
Quét lamport của quản trị viên nằm trên mức tối thiểu miễn phí thuê trên các tài khoản mà LaunchLab kiểm soát. Được thêm vào trong bản nâng cấp 2026-09 để giao thức có thể lấy lại quỹ dư thừa mà SIMD-0437 rent reduction để lại trên các tài khoản được tạo trước mỗi bước.
Chỉ phần dư thừa được di chuyển. Số dư token, dữ liệu tài khoản, chủ sở hữu, trạng thái đường cong và vesting không bị ảnh hưởng, và lệnh là không hoạt động đối với tài khoản đã ở mức tối thiểu của nó — vì vậy nó an toàn để chạy lại sau mỗi bước triển khai.
Tham số — không có.
Tài khoản
Chọn
authority
Tài khoản được chuyển mà không kiểm tra và được giải quyết bởi chương trình, chương trình này sẽ lấy lại tất cả ba PDA quyền của LaunchLab và khớp:
Một khóa không khớp với bất kỳ ba cái nào sẽ làm cho toàn bộ lệnh thất bại với
InvalidOwner (6001).
Cách xử lý mỗi tài khoản nguồn
Không thể quét base mint.
InitializeV2 và InitializeWithToken2022 thu hồi MintTokens trên base mint trong cùng lệnh mà nó mint cung cấp, vì vậy không có khóa nào có thể ký WithdrawExcessLamports cho nó — rent của mint ở lại vĩnh viễn.
Lỗi phổ biến — InvalidOwner (6001, người ký sai hoặc authority không phải là một trong ba PDA), LamportsCalculateError (6031, vòng wSOL không kết thúc bằng không), và InsufficientFunds từ đường dẫn được sở hữu bởi chương trình khi tài khoản giữ ít hơn mức tối thiểu rent của chính nó.
Không có SDK builder. @raydium-io/raydium-sdk-v2 không cung cấp builder cho lệnh này, và raydium-sdk-V2-demo repo cũng không — đó là một đường dẫn quản trị viên. Mã hóa nó bằng tay, theo cách mà quét phía ví trong solana-fundamentals/rent-and-reclaimable-rent làm cho lệnh chương trình token.
Lệnh vesting và platform-config
Những cái này được ghi lại trên các trang chuyên dụng vì mỗi cái có mô hình trạng thái riêng:CreateVestingAccount,CreatePlatformVestingAccount,ClaimVestedTokenCreatePlatformConfig,UpdatePlatformConfig,CreatePlatformAllowConfig,ClosePlatformAllowConfigCreatePlatformCurveRule,UpdatePlatformCurveRule,RemovePlatformCurveRule,ClosePlatformCurveRuleCreateConfig,UpdateConfig
Ma trận thay đổi trạng thái
Tiếp theo đi đâu
products/launchlab/code-demos— Ví dụ TypeScript cho mỗi lệnh.products/launchlab/accounts— hình dạng trạng thái đầy đủ.reference/error-codes— enum lỗi LaunchLab.
- Raydium SDK v2
LaunchLabmodule - Raydium LaunchLab program source

