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.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
permissionfoi removida da lista de contas. Ela estava no slot 3, então cada conta deamm_configem 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_indexdiferente de zero. Trate um par como potencialmente tendo muitos pools CLMM por taxa de comissão, criados por qualquer pessoa. Permission,CreatePermissionPdaeClosePermissionPdasão removidos. O programa e IDL não conhecem mais o tipoPermission.- 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_indexmanté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
CreateCustomizableParamsqueCreateCustomizablePool, 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_creatorcomopool_state.ownere escreveseed_indexemPoolState; - emite
PoolCreatedEvent.
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.
Removido: Permission, CreatePermissionPda, ClosePermissionPda
- O tipo de conta
Permission(["permission", authority], 280 bytes) é deletado do programa. CreatePermissionPdaeClosePermissionPdasão deletados, junto com a chave dedicadapermission_pda_adminque 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
CreatePermissionedPoolparaCreateCustomizablePoolV2, remova a contapermissione 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
PoolCreatedEventou digitalizando contasPoolState, não derivando o PDA de quatro seeds. Armazeneseed_indexpara 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,CreatePermissionPdaeClosePermissionPda.
O que não mudou
- Cada layout de conta, incluindo
PoolState(o camposeed_indexe seu offset são os mesmos). CreatePooleCreateCustomizablePool. Eles ainda criam o único pool canônico por par e taxa, comseed_index = [0, 0].- Pools criados através de
CreatePermissionedPoolantes da atualização. Seus endereços, estado eseed_indexnã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çãoCreateCustomizablePoolV2com a nova lista de contas.products/clmm/accounts:Permissionremovido do inventário e documentado como aposentado; descrição deseed_index; auxiliar de PDA renomeado paraderiveCustomizablePoolV2; linhas de ciclo de vida.products/clmm/overview: nota “What’s new”.security/admin-and-multisig: funçãopermission_pda_adminremovida da tabela CLMM.reference/error-codes: descrição deNotApproved.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.
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.
