Esta página foi traduzida automaticamente por IA. A versão em inglês é a fonte oficial.Ver versão em inglês →
Esta entrada cobre uma atualização futura do programa LaunchLab. Foi verificada contra o branch de lançamento local antes da implantação. Confirme o programa implantado e o IDL publicado antes de ativar os novos caminhos em produção.
GlobalConfig, inicialização de pool, as quatro instruções de swap, todas as reivindicações de taxa e migração CPMM — agora aceita qualquer programa de token, e as instruções de swap contabilizam a taxa de transferência do mint quote.
TL;DR para integradores
- Quote mints podem ser Token-2022.
CreateConfigaceita umquote_token_mintToken-2022, eInitializeV2/InitializeWithToken2022aceitam qualquer programa de token no slot quote-program. A ordem das contas não muda — o valor que você passa naquele slot é que muda. - O
Initializedescontinuado ainda é apenas legado. Sua conta quote-program ainda é tipada para SPL Token, então uma config cujo mint quote é Token-2022 só pode ser lançada através deInitializeV2ouInitializeWithToken2022. - Os limites de slippage se movem para o que o pagador realmente paga e recebe.
minimum_amount_outemaximum_amount_inagora são comparados contra o valor líquido da taxa de transferência do mint quote, não o valor que o vault moveu. A lógica de cotação existente subestima o custo e superestima o resultado em um mint quote com taxa. PoolState.token_program_flagbit1 torna-se significativo. Era sempre0enquanto os quote mints eram apenas legados. Clientes que comparam o byte inteiro contra0agora lerão um mint base legado como Token-2022 sempre que o mint quote for Token-2022. Esta é a quebra silenciosa mais provável neste lançamento.MigrateToCpswaprenomeia suas duas contas de token-program.base_token_program/quote_token_programtornam-setoken_program/token_program_2022. Ambas são sempre obrigatórias, e o programa escolhe a correta por mint.- Pares mint/programa agora são validados. Ambos os mints de swap ganharam uma restrição
mint::token_program, assim como o mint quote deClaimPlatformFee, então um par incompatível reverte em vez de ser ignorado. - Novo erro
6023CalculateOverflow. Os códigos6000–6022não mudam.6023foi liberado pela versão anterior e agora é reutilizado. - Vaults de taxa seguem o mint quote. Vaults de taxa do criador e plataforma, e a conta de token do receptor de taxa de compartilhamento, vivem em qualquer programa que possua o mint quote.
Quais contas mudaram de tipo
Nenhuma dessas muda de posição em sua lista de contas. Apenas o valor permitido muda.Initialize (o caminho V1 descontinuado) intencionalmente não está nesta tabela. Sua conta quote-program permanece tipada para SPL Token.
Vários desses também aprimoraram suas restrições de mint, então um par mint/programa incompatível agora reverte onde era previamente aceito ou não verificado:
- As quatro instruções de swap restringem tanto
base_token_mintquantoquote_token_mintao programa passado no slot correspondente. Nenhum carregava essa restrição antes, então um programa base errado era silenciosamente aceito. ClaimPlatformFeeadiciona a mesma restrição emquote_mint.ClaimPlatformFeeFromVaultcorrige sua restrição de uma forma de conta de token para a forma de mint no que é uma conta de mint.
Contabilidade de taxa de transferência do lado quote
Esta é a parte que muda números em vez de listas de contas. Em um mint quote semTransferFeeConfig cada fórmula abaixo colapsa para o comportamento anterior, então pools legados e pools Token-2022 sem taxa são bit-por-bit inalterados.
Duas consequências que valem a pena ser declaradas claramente:
- Um limite computado de um pool equivalente sem taxa não é mais aceitável.
BuyExactOutcom o custo sem taxa comomaximum_amount_inagora reverte comExceededSlippage, e o mesmo acontece comSellExactIncom o resultado sem taxa comominimum_amount_out. Esse é o comportamento pretendido — a comparação anterior deixava o pagador ser debitado da taxa de transferência além de um limite que já havia concordado. - O pool registra apenas o que chegou ao vault. Após um
BuyExactIndeamount_inem um mint quote de 5%,real_quoteavança poramount_in × 0.95, nãoamount_in.
get_transfer_inverse_fee também descartou seu caso especial para um mint com taxa de 100%: em vez de voltar para maximum_fee, agora retorna o novo erro CalculateOverflow quando a taxa inversa não pode ser computada. Um mint quote em 10000 basis points portanto falha nos caminhos exact-out em vez de transacionar silenciosamente no limite de taxa.
token_program_flag bit1
PoolState.token_program_flag é um campo de bits, e sempre foi:
1, porque um mint quote agora pode ser um mint Token-2022. Os quatro valores são:
Leia o programa de cada mint com
(token_program_flag >> bit) & 1. Qualquer cliente que trate o byte como um booleano para o mint base — flag === 0 ? Token : Token-2022 — resolve o valor 2 para um mint base Token-2022 e construirá a conta de token do lado base e transferência contra o programa errado. Nenhuma mudança de tamanho de conta ou offset de campo, então indexadores não precisam de migração de armazenamento, apenas uma correção de decodificação.
Renomeação de conta de migração CPMM
MigrateToCpswap anteriormente levava um programa de token por mint, e o chamador decidia qual era qual. Agora leva ambos os programas incondicionalmente e deriva o mapeamento dos próprios mints:
As duas posições não mudam, então esta é uma mudança de valor, não uma mudança de layout — mas os valores estão próximos de invertidos, e um construtor que continua passando seu par antigo passará Token-2022 onde o programa legado é obrigatório assim que qualquer mint for um mint Token-2022.
O programa legado ainda é obrigatório incondicionalmente independentemente de qualquer mint, porque o mint LP CPMM e o NFT Fee Key de liquidez bloqueada sempre vivem nele. O layout
remaining_accounts do lançamento de 2026-08-17 não muda.
Quote mints são admitidos apenas por discrição do admin
Diferentemente de CPMM e CLMM, LaunchLab executa nenhuma lista de permissão de extensão contra um mint quote.CreateConfig aceita a conta de mint como está, então o único portão é quais mints um admin vincula a um GlobalConfig. A verificação NoSupportExtension do programa se aplica apenas a mints base Token-2022 que o LaunchLab cria a si mesmo, onde apenas MetadataPointer e TransferFeeConfig são permitidos.
Trate a vinculação de um mint quote Token-2022 como uma ação de alta confiança com o mesmo raciocínio das listas brancas estáticas CPMM/CLMM em reference/token-2022-support. Um mint quote TransferHook ou PermanentDelegate seria admitido no momento da criação de config e então executaria em, ou seria capaz de varrer, cada pool cotado nele.
Portão de timestamp amm_creator_fee_on
InitializeV2 descarta o portão de timestamp que rejeitava qualquer amm_creator_fee_on diferente de BothToken antes do timestamp de atualização. O portão equivalente ainda está presente em InitializeWithToken2022. Na prática ambos os caminhos aceitam qualquer valor em mainnet-beta hoje, porque aquele timestamp (1755522000, 2025-08-18 13:00 UTC) está muito no passado — isto é limpeza, não uma mudança de comportamento para chamadores atuais.
Impacto de erro e IDL
Os códigos6000–6022 não mudam, incluindo 6022 InvalidPlatformAllowConfig.
O lançamento anterior aposentou o antigo
6023 e o deixou vago; este lançamento reutiliza o número. Não decodifique 6023 com um IDL de qualquer versão anterior.
Atualize o IDL do LaunchLab antes de passar um programa quote Token-2022, decodificar bit1 de token_program_flag, ou construir a lista de contas MigrateToCpswap renomeada.
Impacto do SDK
O lado quote do módulo launchpad do SDK era hard-coded paraTOKEN_PROGRAM_ID nos mesmos lugares que o programa estava. O branch que acompanha este lançamento resolve o proprietário do mint quote em vez disso, o passa através da criação de conta de token, a ATA do receptor de taxa de compartilhamento e o slot quote-program da instrução, e adiciona um transferFeeConfigB opcional aos quatro métodos Curve para que as cotações reflitam as fórmulas acima. Os resultados de Curve ganham um campo transferFeeB; amountB mantém seu significado — o que o pagador gasta ou o vendedor recebe — então um mint quote sem taxa produz números idênticos a antes.
Essas mudanças do SDK não foram lançadas. O pin canônico nas páginas de demonstração de código neste conjunto de documentação não muda; verifique a versão publicada antes de confiar nos novos parâmetros.
Implementação de referência
Uma nova demonstração se inscreve no programa LaunchLab sobre gRPC Yellowstone e registra, para cada atualização deGlobalConfig e PoolState, se cada mint é um mint Token ou Token-2022:
raydium-sdk-V2-demo/src/grpc/launchpadPoolInfo.ts
É uma referência compacta para duas coisas que este lançamento torna necessárias. Pools são classificados diretamente de token_program_flag, decodificando ambos os bits sem nenhuma busca de mint — essa é a correção para a quebra de bit1 descrita acima. Configs não podem ser classificadas dessa forma, porque um GlobalConfig armazena apenas o endereço de seu mint quote e nenhum sinalizador de programa, então a demonstração lê a conta de mint do proprietário uma vez e a armazena em cache por mint. Ver ambos os caminhos lado a lado é a forma mais rápida de verificar seu próprio decodificador.
Veja products/launchlab/code-demos para o passo a passo.
Páginas atualizadas
products/launchlab/accounts— programa de token de mint quote, layout de bit detoken_program_flage propriedade de vault.products/launchlab/instructions— contas quote-program, semântica de slippage de swap e contas de migração renomeadas.products/launchlab/global-config—quote_mintpode ser um mint Token-2022, e o que faz e não faz portão.products/launchlab/code-demos— o observador de config/pool gRPC.reference/token-2022-support— linha LaunchLab e seção de mint quote.reference/error-codes—6023CalculateOverflow.

