Skip to main content
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 CLMM agendada para 2026-10-22. Foi verificada contra o branch feat/create-customizable-pool-v2 do raydium-clmm (head 18f5db1) antes da implantação. Confirme o programa implantado antes de confiar no novo nome de instrução ou lista de contas.
O lançamento de 2026-07-30 adicionou CreatePermissionedPool, que permite a um chamador criar mais de um pool para o mesmo (amm_config, token_mint_0, token_mint_1) incorporando um seed_index no PDA do pool. Era controlado por gate: o pagador precisava manter um PDA Permission emitido por um administrador. Este lançamento remove esse gate. A instrução é renomeada para CreateCustomizablePoolV2, qualquer pessoa pode chamá-la, e toda a maquinaria de permissão é deletada do programa. A matemática do pool, swap, liquidez, ordens limitadas, taxas e recompensas não são alteradas.

TL;DR para integradores

  • CreatePermissionedPool → CreateCustomizablePoolV2. Mesmos argumentos (CreateCustomizableParams, seed_index: u16) e mesma derivação de endereço do pool. O discriminador Anchor muda com o nome, então uma transação construída contra a instrução antiga falha após a atualização. Reconstrua-a contra o novo IDL.
  • A conta permission foi removida da lista de contas. Ela estava no slot 3, então cada conta de amm_config em diante sobe uma posição. Veja a nova lista de contas.
  • A criação de multi-pool agora é sem permissão. Qualquer pagador pode criar pools adicionais para um par e taxa de comissão com um seed_index diferente de zero. Trate um par como potencialmente tendo muitos pools CLMM por taxa de comissão, criados por qualquer pessoa.
  • Permission, CreatePermissionPda e ClosePermissionPda são removidos. O programa e IDL não conhecem mais o tipo Permission.
  • Atualize seu IDL. Ele remove duas instruções e um tipo de conta, para 37 instruções e 53 erros.
  • Nenhum layout de conta foi alterado e nenhum código de erro foi adicionado. PoolState.seed_index mantém seu offset; apenas seu significado se amplia de “pool com permissão” para “qualquer pool V2”.

O que mudou no programa

CreatePermissionedPool renomeado para CreateCustomizablePoolV2

O handler é o mesmo código sob um novo nome. Ainda:
  • requer seed_index > 0;
  • deriva o pool em ["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()];
  • recebe o mesmo CreateCustomizableParams que CreateCustomizablePool, então a taxa de comissão unilateral (collect_fee_on) e o opt-in de taxa dinâmica funcionam da mesma forma;
  • aplica as mesmas verificações de suporte a Token-2022 que CreatePool;
  • registra pool_creator como pool_state.owner e escreve seed_index em PoolState;
  • emite PoolCreatedEvent.
A verificação de PDA Permission é o único comportamento removido.

Lista de contas CreateCustomizablePoolV2

remaining_accounts não são alteradas: os PDAs do registro de mint de suporte quando um mint Token-2022 precisa deles, e o DynamicFeeConfig por último quando enable_dynamic_fee = true.
pool_creator não é autenticado. Qualquer pagador pode escrever qualquer endereço em pool_state.owner. Esse endereço ganha o direito de chamar InitializeReward no pool, mas não pode ser usado como prova de quem o criou. Não classifique, rotule ou confie em um pool V2 pelo seu campo owner.

Removido: Permission, CreatePermissionPda, ClosePermissionPda

  • O tipo de conta Permission (["permission", authority], 280 bytes) é deletado do programa.
  • CreatePermissionPda e ClosePermissionPda são deletados, junto com a chave dedicada permission_pda_admin que poderia assiná-los.
  • PDAs de Permission criados antes da atualização permanecem on-chain. O programa não os lê mais e não tem mais uma instrução que os fecha.

Códigos de erro

Sem alterações. 6000–6052 mantêm seus números. NotApproved (6000) não tem mais um caso “signatário não é nem admin nem permission_pda_admin”, porque essas instruções foram removidas.

Notas de migração

  • Criadores de pool. Mude de CreatePermissionedPool para CreateCustomizablePoolV2, remova a conta permission e desloque as contas restantes uma posição para cima. Você não precisa mais de uma concessão de administrador.
  • Indexadores e roteadores. Indexe pools CLMM de PoolCreatedEvent ou digitalizando contas PoolState, não derivando o PDA de quatro seeds. Armazene seed_index para qualquer pool onde ele seja diferente de zero, porque você precisa dele para re-derivar o endereço. Espere mais pools não-canônicos agora que qualquer pessoa pode criá-los, e não assuma que o pool canônico é o mais profundo.
  • UIs. Um par e taxa de comissão podem ter muitos pools com preços iniciais diferentes. Mostre liquidez e o endereço do pool, e não apresente um pool como oficial por causa de seu owner.
  • Consumidores de IDL. Remova qualquer código de decodificador ou cliente para Permission, CreatePermissionPda e ClosePermissionPda.

O que não mudou

  • Cada layout de conta, incluindo PoolState (o campo seed_index e seu offset são os mesmos).
  • CreatePool e CreateCustomizablePool. Eles ainda criam o único pool canônico por par e taxa, com seed_index = [0, 0].
  • Pools criados através de CreatePermissionedPool antes da atualização. Seus endereços, estado e seed_index não são alterados.
  • Códigos de erro, comportamento de swap, liquidez, taxa, taxa dinâmica, recompensa e ordem limitada.
  • ID do programa.

Páginas atualizadas

  • products/clmm/instructions: banner de atualização; linhas de inventário e gating administrativo; seção CreateCustomizablePoolV2 com a nova lista de contas.
  • products/clmm/accounts: Permission removido do inventário e documentado como aposentado; descrição de seed_index; auxiliar de PDA renomeado para deriveCustomizablePoolV2; linhas de ciclo de vida.
  • products/clmm/overview: nota “What’s new”.
  • security/admin-and-multisig: função permission_pda_admin removida da tabela CLMM.
  • reference/error-codes: descrição de NotApproved.
  • reference/token-2022-support: caminhos de criação de pool CLMM.
  • sdk-api/anchor-idl: contagem de instruções CLMM.
  • protocol-overview/versions-and-migration: marcador de histórico de atualização CLMM.
Verificado contra: branch raydium-clmm feat/create-customizable-pool-v2 (18f5db1): instructions/create_customizable_pool_v2.rs, instructions/mod.rs, instructions/admin/mod.rs, states/mod.rs, states/pool.rs, lib.rs, e os deletados admin/create_permission_pda.rs, admin/close_permission_pda.rs, states/permission.rs.