Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
feat/create-customizable-pool-v2 de raydium-clmm (head 18f5db1) avant le déploiement. Confirmez le programme déployé avant de vous fier au nouveau nom d’instruction ou à la liste des comptes.
La version du 2026-07-30 a ajouté CreatePermissionedPool, qui permet à un appelant de créer plus d’un pool pour le même (amm_config, token_mint_0, token_mint_1) en intégrant un seed_index dans le PDA du pool. C’était contrôlé : le payeur devait détenir un PDA Permission émis par un administrateur.
Cette version supprime cette porte. L’instruction est renommée en CreateCustomizablePoolV2, n’importe qui peut l’appeler, et tout le mécanisme de permission est supprimé du programme. Les mathématiques du pool, le swap, la liquidité, les ordres limites, les frais et les récompenses restent inchangés.
TL;DR pour les intégrateurs
CreatePermissionedPool→CreateCustomizablePoolV2. Mêmes arguments (CreateCustomizableParams,seed_index: u16) et même dérivation d’adresse de pool. Le discriminateur Anchor change avec le nom, donc une transaction construite par rapport à l’ancienne instruction échoue après la mise à niveau. Reconstruisez-la par rapport au nouvel IDL.- Le compte
permissiona disparu de la liste des comptes. Il se trouvait à la position 3, donc chaque compte à partir deamm_configremonte d’une position. Voir la nouvelle liste des comptes. - La création multi-pool est maintenant sans permission. N’importe quel payeur peut créer des pools supplémentaires pour une paire et un niveau de frais avec un
seed_indexnon nul. Traitez une paire comme ayant potentiellement de nombreux pools CLMM par niveau de frais, créés par n’importe qui. Permission,CreatePermissionPdaetClosePermissionPdasont supprimés. Le programme et l’IDL ne connaissent plus le typePermission.- Actualisez votre IDL. Il supprime deux instructions et un type de compte, pour 37 instructions et 53 erreurs.
- Aucune disposition de compte n’a changé et aucun code d’erreur n’a été ajouté.
PoolState.seed_indexconserve son décalage ; seule sa signification s’élargit de « pool autorisé » à « n’importe quel pool V2 ».
Ce qui a changé dans le programme
CreatePermissionedPool renommé en CreateCustomizablePoolV2
Le gestionnaire est le même code sous un nouveau nom. Il continue à :
- exiger
seed_index > 0; - dériver le pool à
["pool", amm_config, token_mint_0, token_mint_1, seed_index.to_le_bytes()]; - prendre le même
CreateCustomizableParamsqueCreateCustomizablePool, donc les frais unilatéraux (collect_fee_on) et l’opt-in de frais dynamiques fonctionnent de la même manière ; - appliquer les mêmes vérifications de support de mint Token-2022 que
CreatePool; - enregistrer
pool_creatorcommepool_state.owneret écrireseed_indexdansPoolState; - émettre
PoolCreatedEvent.
Permission est le seul comportement supprimé.
Liste des comptes CreateCustomizablePoolV2
remaining_accounts restent inchangés : les PDAs du registre de support de mint lorsqu’un mint Token-2022 en a besoin, et DynamicFeeConfig en dernier lorsque enable_dynamic_fee = true.
Supprimé : Permission, CreatePermissionPda, ClosePermissionPda
- Le type de compte
Permission(["permission", authority], 280 octets) est supprimé du programme. CreatePermissionPdaetClosePermissionPdasont supprimés, ainsi que la clépermission_pda_admindédiée qui pouvait les signer.- Les PDAs de permission créés avant la mise à niveau restent sur la chaîne. Le programme ne les lit plus et n’a plus d’instruction qui les ferme.
Codes d’erreur
Aucun changement.6000–6052 conservent leurs numéros. NotApproved (6000) n’a plus de cas « le signataire n’est ni admin ni permission_pda_admin », car ces instructions ont disparu.
Notes de migration
- Créateurs de pools. Passez de
CreatePermissionedPoolàCreateCustomizablePoolV2, supprimez le comptepermission, et décalez les comptes restants d’une position. Vous n’avez plus besoin d’une autorisation d’administrateur. - Indexeurs et routeurs. Indexez les pools CLMM à partir de
PoolCreatedEventou en scannant les comptesPoolState, pas en dérivant le PDA à quatre seeds. Stockezseed_indexpour tout pool où il est non nul, car vous en avez besoin pour re-dériver l’adresse. Attendez-vous à plus de pools non canoniques maintenant que n’importe qui peut les créer, et ne supposez pas que le pool canonique est le plus profond. - Interfaces utilisateur. Une paire et un niveau de frais peuvent avoir de nombreux pools avec des prix de départ différents. Affichez la liquidité et l’adresse du pool, et ne présentez pas un pool comme officiel en raison de son
owner. - Consommateurs d’IDL. Supprimez tout code de décodeur ou client pour
Permission,CreatePermissionPdaetClosePermissionPda.
Ce qui n’a pas changé
- Chaque disposition de compte, y compris
PoolState(le champseed_indexet son décalage sont les mêmes). CreatePooletCreateCustomizablePool. Ils créent toujours le pool canonique unique par paire et niveau, avecseed_index = [0, 0].- Pools créés via
CreatePermissionedPoolavant la mise à niveau. Leurs adresses, état etseed_indexrestent inchangés. - Codes d’erreur, swap, liquidité, frais, frais dynamiques, récompenses et comportement des ordres limites.
- ID du programme.
Pages mises à jour
products/clmm/instructions: bannière de mise à niveau ; lignes d’inventaire et de contrôle d’accès administrateur ; sectionCreateCustomizablePoolV2avec la nouvelle liste des comptes.products/clmm/accounts:Permissionsupprimé de l’inventaire et documenté comme retiré ; description deseed_index; assistant PDA renommé enderiveCustomizablePoolV2; lignes de cycle de vie.products/clmm/overview: note « Quoi de neuf ».security/admin-and-multisig: rôlepermission_pda_adminsupprimé du tableau CLMM.reference/error-codes: description deNotApproved.reference/token-2022-support: chemins de création de pools CLMM.sdk-api/anchor-idl: nombre d’instructions CLMM.protocol-overview/versions-and-migration: puce d’historique de mise à niveau 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, et les fichiers supprimés admin/create_permission_pda.rs, admin/close_permission_pda.rs, states/permission.rs.
