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 aborda uma atualização futura do programa LaunchLab. Foi verificada contra a branch de lançamento local antes da implantação. Confirme o programa implantado antes de depender da retirada de taxas retidas pré-graduação.
InitializeWithToken2022 pode carregar uma TransferFeeConfig. Essa extensão tem duas autoridades: transfer_fee_config_authority, que altera a taxa de taxa e a taxa máxima, e withdraw_withheld_authority, que retira as taxas que Token-2022 retém nas contas de token.
Até este lançamento, o programa colocava a PDA de authority de lançamento em ambas na criação do mint e entregava ambas a PlatformConfig.transfer_fee_extension_auth na graduação. O programa do launchpad não possui instrução de withdraw-withheld ou harvest, portanto, durante toda a fase de curva de ligação, ninguém poderia retirar o saldo retido — a única chave que poderia era uma PDA sem instrução para assinar com ela.
Este lançamento escreve transfer_fee_extension_auth diretamente em withdraw_withheld_authority na criação do mint, para que a plataforma possa coletar taxas retidas desde a primeira negociação. MigrateToCpswap ganha uma proteção para que apenas reatribua essa autoridade quando a PDA ainda a mantém, o que mantém a graduação funcionando para mints de ambas as gerações.
Nada mais mudou. Nenhuma conta cresceu ou encolheu, nenhuma instrução ganhou ou perdeu uma conta, nenhum argumento mudou e nenhum código de erro se moveu.
TL;DR para integradores
- As taxas de transferência retidas são retiráveis durante o lançamento. Em um novo lançamento Token-2022 cuja plataforma tem
transfer_fee_extension_authdefinido, essa chave é awithdraw_withheld_authoritydo mint desde a criação. Chame diretamenteWithdrawWithheldTokensFromAccounts/WithdrawWithheldTokensFromMintdo próprio Token-2022; LaunchLab não possui instrução para isso e nunca teve. - O tempo de
transfer_fee_config_authoritynão mudou. Ainda é a PDA deauthorityde lançamento até a graduação e ainda se move paratransfer_fee_extension_authemMigrateToCpswap. A taxa não pode ser alterada durante o lançamento. - Defina
transfer_fee_extension_authantes de lançar. Quando éPubkey::default()na criação do mint, a autoridade de retirada volta para a PDA deauthority— o comportamento antigo. Definir o campo depois ainda recupera a autoridade na graduação, mas o saldo retido fica preso até então. - Não rotacione o campo durante o lançamento. As duas autoridades são lidas em dois momentos diferentes, portanto um valor que muda entre eles as deixa em chaves diferentes. Detalhes em A rotação divide as duas autoridades.
MigrateToCpswapnão mudou para chamadores. Mesmas contas, mesmos argumentos, mesmos erros. A nova proteção é interna; sem ela, a migração de um mint de nova geração reverteria dentro de Token-2022 porque a PDA não pode mais assinar uma autoridade que não mantém.- Lançamentos existentes não são afetados. Mints já on-chain mantêm a PDA em ambas as autoridades e ainda as recebem na graduação.
- Nenhuma atualização de IDL é necessária. Nenhum layout, conta, argumento ou código de erro mudou.
Quem mantém o quê e quando
Ambas as transferências ainda estão atrás da mesma condição externa que sempre estiveram: o mint base deve carregar
TransferFeeConfig e transfer_fee_extension_auth deve ser não-padrão. Uma plataforma que nunca define o campo mantém ambas as autoridades na PDA de authority para sempre — a taxa nunca pode ser alterada e o saldo retido nunca pode ser retirado.
A rotação divide as duas autoridades
transfer_fee_extension_auth é lido duas vezes por lançamento, em dois momentos que podem estar dias de distância:
- Em
InitializeWithToken2022, parawithdraw_withheld_authority. - Em
MigrateToCpswap, paratransfer_fee_config_authority— e parawithdraw_withheld_authorityapenas quando a PDA ainda a mantém.
UpdatePlatformConfig entre eles e as duas autoridades acabam em chaves diferentes: o lado de retirada mantém a chave que foi configurada na criação, porque a PDA não a mantém mais e a migração pula essa transferência, enquanto o lado de configuração de taxa vai para a nova chave. Nenhuma chamada falha; a divisão é silenciosa. Rotacione entre lançamentos ou reconcilie as chaves depois através de Token-2022 diretamente com a chave antiga assinando.
Por que a proteção é necessária, não apenas defensiva
SetAuthority do Token-2022 requer que a autoridade atual assine. Sob a nova regra de criação, a PDA de authority de lançamento não é a autoridade de withdraw-withheld em um novo mint, portanto o CPI incondicional que o programa costumava fazer falharia — e porque fica dentro de MigrateToCpswap, essa falha teria bloqueado a graduação para cada lançamento Token-2022 com uma taxa de transferência em uma plataforma que tinha configurado o campo. As duas mudanças funcionam apenas como um par.
O que não mudou
- Matemática e contabilidade de taxa de transferência.
MAX_TRANSFER_FEE_RATEainda é500(5%, denominador10_000), a taxa ainda é precificada na curva da mesma forma, e o saldo retido ainda se acumula nas contas de token que Token-2022 coloca. - Interface de
MigrateToCpswap. Mesma lista de contas, mesmos índices deremaining_accounts, mesmos dois programas de token, sem argumentos. - Interface de
InitializeWithToken2022. Mesmas contas, mesmosTransferFeeExtensionParams, mesma rejeição deNoSupportExtensionpara qualquer coisa fora deMetadataPointereTransferFeeConfig. - Manipulação de Token-2022 do lado da cotação. Inalterado desde 2026-08-24.
- Códigos de erro.
6000–6023não mudaram; este lançamento não adiciona nenhum. - Layouts de conta e o IDL. Inalterado.
PlatformConfig.transfer_fee_extension_authmantém seu deslocamento e seu tipo; apenas quando o programa o lê mudou.
Páginas atualizadas
products/launchlab/platform-config— nova seção “Autoridades de taxa de transferência Token-2022” cobrindo ambas as autoridades, ambos os pontos de transferência e a armadilha de rotação; comentário de layout e lista de armadilhas corrigidos.products/launchlab/instructions—MigrateToCpswapganha um bloco “Transferência de autoridade de taxa de transferência Token-2022”; as pós-condições deInitializeregistram as novas autoridades de criação de mint.products/launchlab/accounts— lista de funções de PDA de autoridade e a seção de mint base observam quais autoridades de taxa de transferência a PDA realmente mantém.reference/token-2022-support— entrada de mint base LaunchLab declara quem mantém as autoridades de taxa de transferência e quando.

