Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
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 quand l’un des comptes n’existe pas. - La collecte est tout ou rien. L’instruction transfère les deux compteurs de frais créateur accumulés complets, les met à zéro tous les deux, et met à jour
recent_epoch. Elle retourne l’erreurNoFeeCollectexistante quand les deux compteurs sont zéro. - Les intégrations existantes restent compatibles.
CollectCreatorFeen’est pas modifiée ni supprimée. Aucun changement de dispositionPoolState,AmmConfig,Permission, événement ou code d’erreur n’est présent. - La création de Permission a un second propriétaire.
CreatePermissionPdaaccepte l’administrateur du programme ou un propriétaire dédié de création de PDA de permission.ClosePermissionPdareste réservée à 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 builder.
Impact SDK et IDL
La branche source du programme n’inclut pas de mise à jour SDK ou IDL engagée. Les intégrateurs doivent actualiser l’IDL CPMM déployé ou utiliser une version client qui supporte explicitementCollectCreatorFeePermissionless. L’ensemble de builders @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 les ATA 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 créateur du pool. Le nouveau rôle créateur de PDA de 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 ce changement. Traitez-le comme une autorité d’autorisation déléguée, pas 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-zéro et déclencher la collecte sans garde des clés créateur. - Traitez
NoFeeCollectcomme une course bénigne quand un autre appelant vide les compteurs en premier. - Ne passez pas de comptes de jetons destinataires arbitraires ; dérivez les ATA 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 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 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é SDK et limite de migration client.products/launchlab/platform-config— clarification que le créateur CPMM enregistré reste le bénéficiaire même quand 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— limites d’autorité d’autorisation déléguée et de collecteur sans permission.reference/program-addresses— adresses de propriétaire dédiéCreatePermissionPdacanoniques.reference/error-codes—NoFeeCollectétendu pour couvrir la collecte des frais créateur.
- Branche
raydium-cp-swapfeat/permissionless-collect-creator-fee. - Commits
9585ea1etd99d542, comparés avecmasterà78f254e.

