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 do programa CPMM agendada para 2026-10-30. Foi verificada contra o branch
feat/initialize-v2 do raydium-cp-swap (head 40cbd81) antes da implantação. Confirme o programa implantado antes de confiar na nova instrução.enable_creator_fee e um lado creator_fee_on, ambos fixados na criação. Até agora, um criador só podia defini-los via InitializeWithPermission, que precisa de um PDA Permission emitido pelo admin. O Initialize público sempre armazenava a taxa como desabilitada. Na prática, apenas graduações do LaunchLab e outros fluxos controlados podiam criar um pool que cobrasse uma taxa de criador.
Esta release adiciona InitializeV2. É Initialize com um argumento extra, creator_fee_on: Option<CreatorFeeOn>, e qualquer um pode chamá-la. A matemática do pool, swap, liquidez, coleta de taxas e a parcela do protocolo da taxa de criador não foram tocados.
TL;DR para integradores
- Nova instrução:
InitializeV2. Sem permissão. Os argumentos sãoinit_amount_0,init_amount_1,open_timeecreator_fee_on: Option<CreatorFeeOn>. Discriminador[67, 153, 175, 39, 218, 16, 38, 32]. Some(side)habilita a taxa de criador nesse lado;Nonea deixa desligada.Nonearmazena exatamente o queInitializearmazena.- Mesmas contas que
Initialize, menosrent. As primeiras 19 contas são idênticas e estão na mesma ordem. Veja a lista de contas. - O criador é o assinante.
pool_state.pool_creatoré ocreatorassinante. Ao contrário deInitializeWithPermission, o beneficiário não pode ser definido para outro endereço. - O criador escolhe ligar/desligar e o lado, não a alíquota. O pool cobra o
AmmConfig.creator_fee_ratedo seu nível de taxa. Essa alíquota tem padrão0, então um pool habilitado em um nível assim não acumula nada. - Nada existente mudou.
InitializeeInitializeWithPermissionmantêm seus discriminadores, contas, argumentos e comportamento. Nenhum layout de conta ou código de erro foi alterado. - Atualize seu IDL para obter a nova instrução. Clientes que nunca a chamam não precisam de mudança.
O que mudou no programa
Nova instrução: InitializeV2
InitializeV2 executa o mesmo código de criação que Initialize. Ela:
- aceita como
pool_stateo PDA canônico do pool ou uma keypair aleatória assinada; - aplica as mesmas verificações da lista de permissões Token-2022 e de
SupportMintAssociated, viaremaining_accounts; - rejeita a criação quando
amm_config.disable_create_poolestá definido; - aumenta
open_timeparablock_timestamp + 1quando ele não está no futuro; - bloqueia 100 unidades base de LP e cunha o restante para o criador;
- cobra
amm_config.create_pool_fee.
PoolState:
Um byte de tag ou de variante inválido falha na desserialização de argumentos do Anchor. Nenhum código de erro novo está envolvido.
Como os três caminhos de criação se comparam
Refatoração interna
Os três handlers agora compartilham uma única rotinainitialize_pool. A refatoração não altera as contas, argumentos, verificações ou valores armazenados de Initialize ou InitializeWithPermission. Os novos testes também verificam que um Initialize simples na mesma configuração ainda armazena a taxa de criador como desabilitada.
O que os criadores devem saber
- Verifique o nível de taxa primeiro. A alíquota da taxa de criador pertence à
AmmConfig, não ao pool. Escolha um nível cujocreator_fee_rateseja o que você quer cobrar. As alíquotas estão listadas emproducts/cpmm/fees. - A escolha é permanente. Nenhuma instrução altera
enable_creator_feeoucreator_fee_onapós a criação. Para mudá-la, você precisa criar um novo pool. - Os traders a pagam além da taxa de negociação. A taxa de criador é uma alíquota separada adicionada ao swap. Ela não reduz as parcelas de LP, protocolo ou fundo, mas torna o pool mais caro para negociar do que um pool no mesmo nível com a taxa desligada.
- A coleta não mudou. Use
CollectCreatorFeeouCollectCreatorFeePermissionless. A parcela do protocolo da release de 2026-09-19 se aplica, e você não pode optar por sair dela na criação.
Notas de migração
- Criadores de pool. Mude de
InitializeparaInitializeV2apenas se quiser a taxa de criador ligada. PasseSome(side)e remova a contarent.Initializecontinua funcionando. - Usuários do SDK.
raydium.cpmm.createPoolem@raydium-io/raydium-sdk-v2@0.2.64-alphaconstróiInitialize. Até que uma release traga um builder deInitializeV2, codifique-a a partir do IDL atualizado. - Indexadores e roteadores. Espere mais pools com
enable_creator_fee = true, criados por carteiras comuns em vez do LaunchLab. Cote a partir dos própriosenable_creator_feeecreator_fee_onde cada pool, nunca apenas a partir do caminho de criação ou do nível. Decodifique a nova instrução se você rastreia a criação de pools a partir de instruções. O rastreamento a partir de contasPoolStatenão precisa de mudança. - UIs. Mostre se um pool cobra uma taxa de criador e com qual alíquota, já que dois pools no mesmo nível agora podem diferir.
- LaunchLab e outros fluxos com permissão. Sem mudança.
InitializeWithPermissioncontinua sendo o caminho quando o pagador e o criador registrado precisam ser diferentes.
O que não mudou
- Todos os layouts de conta, incluindo
PoolStateeAmmConfig. InitializeeInitializeWithPermission: discriminadores, contas, argumentos e valores armazenados.Permission,CreatePermissionPdaeClosePermissionPda.- Matemática de swap, depósito e saque, a cobrança da taxa de criador e a parcela do protocolo da taxa de criador.
- Códigos de erro.
6000–6015permanecem inalterados; nada foi anexado. - ID do programa.
Páginas atualizadas
products/cpmm/instructions: banner da atualização; linhas do resumo e da matriz de mudança de estado; nova seçãoInitializeV2com argumentos, codificação e lista de contas; a pós-condição deInitializeagora aponta paraInitializeV2.products/cpmm/fees: a seção “Taxa de criador” lista os três caminhos de criação e observa que habilitar a taxa não define sua alíquota.products/cpmm/accounts: notas depoolStatee do ID do pool; notas dos camposcreator_fee_on/enable_creator_fee; nota dePermission; linha do ciclo de vida das contas.products/cpmm/overview: o destaque “Novidades” e o item “Taxas previsíveis”.products/cpmm/code-demos: nota de quecreatePoolconstróiInitializee de como chegar aInitializeV2.protocol-overview/shared-infrastructure: as taxas de criador não estão mais limitadas a pools graduados do LaunchLab.reference/token-2022-support: caminhos de criação de pool do CPMM.
feat/initialize-v2 do raydium-cp-swap (40cbd81): programs/cp-swap/src/lib.rs, instructions/initialize_v2.rs, instructions/initialize.rs, instructions/initialize_with_permission.rs, instructions/mod.rs, states/pool.rs e tests/initialize_v2.test.ts.
