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 aceitam qualquer token program, e as instruções de swap levam em conta a taxa de transferência do mint da quote.
TL;DR para integradores
- Quote mints podem ser Token-2022.
CreateConfigaceita umquote_token_mintToken-2022, eInitializeV2/InitializeWithToken2022aceitam qualquer token program 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 da 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 da 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 da quote com taxa. PoolState.token_program_flagbit1 torna-se significativo. Sempre foi0enquanto os mints da quote eram apenas legados. Clientes que comparam o byte inteiro contra0agora lerão um mint base legado como Token-2022 sempre que o mint da 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/program agora são validados. Ambos os mints de swap ganharam uma restrição
mint::token_program, assim como o mint da 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 da 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 da quote.
Quais contas mudaram de tipo
Nenhuma delas 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 destes também aprimoraram suas restrições de mint, então um par mint/program 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 da quote
Esta é a parte que muda números em vez de listas de contas. Em um mint da 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. Este é o comportamento pretendido — a comparação anterior permitia que o pagador fosse 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 da quote de 5%,real_quoteavança poramount_in × 0.95, nãoamount_in.
get_transfer_inverse_fee também removeu 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 da quote em 10000 basis points portanto falha nos caminhos exact-out em vez de transacionar silenciosamente no limite de taxa.
Bit1 de token_program_flag
PoolState.token_program_flag é um campo de bits, e sempre foi:
1, porque um mint da 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 token program 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 serem 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 da 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 aos 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 da quote Token-2022 como uma ação de alta confiança, pela mesma razão que registrar um mint no registro de mint de suporte CPMM/CLMM é — veja reference/token-2022-support. Um mint da 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 remove 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 esse 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 de quote Token-2022, decodificar bit1 de token_program_flag, ou construir a lista de contas MigrateToCpswap renomeada.
Impacto do SDK
O lado da quote do módulo launchpad do SDK era hard-coded paraTOKEN_PROGRAM_ID nos mesmos lugares que o programa era. O branch que acompanha este lançamento resolve o proprietário do mint da 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 quotes 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 da quote sem taxa produz números idênticos a antes.
Estas 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
Código de demonstração para buscar instantaneamente configurações de quote recém-criadas: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 do mint da 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— token program do mint da quote, layout de bit detoken_program_flage propriedade do 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 nele.products/launchlab/code-demos— o observador de config/pool gRPC.reference/token-2022-support— linha LaunchLab e seção de mint da quote.reference/error-codes—6023CalculateOverflow.

