Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Une entrée de journal des modifications de documentation pour une mise à jour du programme CPMM à venir. Pour l’index de toutes les mises à jour, consultez
reference/changelog. Pour la chronologie historique du protocole, consultez introduction/history-and-milestones.PoolState.pool_creator et fixe les deux destinations aux comptes de jetons associés canoniques de ce créateur. L’instruction existante signée par le créateur reste inchangée.
Elle permet également à une autorité dédiée de créer des PDA CPMM Permission. Cette délégation est intentionnellement asymétrique : l’autorité dédiée peut accorder l’accès à InitializeWithPermission, tandis que seul l’administrateur du programme peut révoquer une autorisation avec ClosePermissionPda.
TL;DR pour les intégrateurs
- Nouvelle instruction additive :
CollectCreatorFeePermissionless. N’importe quel signataire peut être lepayer. Le créateur du pool enregistré ne signe pas. - L’appelant ne peut pas rediriger les fonds.
creatordoit être égal àpool_state.pool_creator.creator_token_0etcreator_token_1doivent être les ATA canoniques de ce créateur pour les mints des coffres du pool et leurs programmes de jetons respectifs. - Le payeur couvre les ATA manquants. Les deux comptes destinataires utilisent
init_if_needed; le payeur finance le loyer lorsque l’un des comptes n’existe pas. - La collecte est tout ou rien. L’instruction transfère les deux compteurs de frais de créateur accumulés complets, les met à zéro tous les deux, et met à jour
recent_epoch. Elle retourne l’erreurNoFeeCollectexistante lorsque les deux compteurs sont à zéro. - Les intégrations existantes restent compatibles.
CollectCreatorFeen’est pas modifié ni supprimé. Aucune modification de dispositionPoolState,AmmConfig,Permission, événement ou code d’erreur n’est présente. - La création de Permission a un deuxième propriétaire.
CreatePermissionPdaaccepte l’administrateur du programme ou un propriétaire de création de PDA Permission dédié.ClosePermissionPdareste réservé à l’administrateur.
Nouveaux comptes d’instruction
CollectCreatorFeePermissionless prend 14 comptes dans cet ordre :
Contrairement à
CollectCreatorFee, la nouvelle disposition a des comptes payer et creator non-signataire séparés et ne prend pas amm_config. Elle nécessite donc son propre discriminateur et constructeur.
Impact sur le SDK et l’IDL
La branche source du programme n’inclut pas de mise à jour SDK ou IDL validée. Les intégrateurs doivent actualiser l’IDL CPMM déployé ou utiliser une version client qui supporte explicitementCollectCreatorFeePermissionless. L’ensemble de constructeurs @raydium-io/raydium-sdk-v2@0.2.42-alpha épinglé de la documentation couvre uniquement le chemin original signé par le créateur.
Limite de sécurité
L’invocation sans permission ne signifie pas la garde sans permission. L’appelant peut choisir quand collecter et peut dépenser du SOL pour créer des ATA de créateur manquants. L’appelant ne peut pas choisir le bénéficiaire, substituer des comptes de jetons arbitraires, demander un montant partiel, ou modifier la configuration des frais de créateur du pool. Le nouveau rôle de créateur de PDA Permission peut créer une autorisation pour n’importe quelpermission_authority, et il paie le loyer du nouveau compte. Il ne peut pas fermer ce PDA sous cette modification. Traitez-le comme une autorité d’autorisation déléguée, pas comme un administrateur de permission complet.
Notes de migration
- Gardez les transactions
CollectCreatorFeeexistantes inchangées. - Ajoutez l’instruction sans permission uniquement après que le déploiement CPMM cible et l’IDL client l’incluent.
- L’automatisation peut analyser les pools avec
creator_fees_token_0oucreator_fees_token_1non nuls et déclencher la collecte sans garde des clés de créateur. - Traitez
NoFeeCollectcomme une course bénigne lorsqu’un autre appelant vide les compteurs en premier. - Ne passez pas de comptes de jetons destinataires arbitraires ; dérivez les ATA de créateur de
pool_state.pool_creator, de chaque mint de coffre, et du programme de jetons correspondant.
Pages mises à jour
products/cpmm/overview— mise à jour de la collecte des frais de créateur et résumé de la sécurité des destinations.products/cpmm/instructions— résumé de la nouvelle instruction, liste complète des comptes, effets, et matrice de changement d’état.products/cpmm/accounts— chemins de collecte des compteurs de frais de créateur et création de PDA Permission déléguée.products/cpmm/fees— mécaniques de collecte sans permission et flux opérationnel.products/cpmm/code-demos— avertissement de disponibilité du SDK et limite de migration client.products/launchlab/platform-config— clarification que le créateur CPMM enregistré reste le bénéficiaire même lorsqu’un autre payeur déclenche la collecte.protocol-overview/shared-infrastructure— chemins de collecte contrôlés par autorité et contraints par destination.security/admin-and-multisig— autorité d’autorisation déléguée et limites du collecteur sans permission.reference/program-addresses— adresses du propriétaireCreatePermissionPdadédié canonique.reference/error-codes—NoFeeCollectétendu pour couvrir la collecte des frais de créateur.
raydium-cp-swapcommit244e124— Feat/permissionless collect creator fee (#76), la fusion de la branchefeat/permissionless-collect-creator-feesur laquelle cette entrée a été écrite. La branche elle-même a été supprimée après la fusion.- Commits
9585ea1etd99d542, comparés avecmasterà78f254e.

