Skip to main content
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Cette version ajoute un chemin opérationnel sans permission pour la collecte des frais créateur. N’importe qui peut payer pour déclencher le transfert, mais le programme fixe le propriétaire du destinataire à 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 le payer. Le créateur du pool enregistré ne signe pas.
  • L’appelant ne peut pas rediriger les fonds. creator doit être égal à pool_state.pool_creator. creator_token_0 et creator_token_1 doivent ê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’erreur NoFeeCollect existante quand les deux compteurs sont zéro.
  • Les intégrations existantes restent compatibles. CollectCreatorFee n’est pas modifiée ni supprimée. Aucun changement de disposition PoolState, AmmConfig, Permission, événement ou code d’erreur n’est présent.
  • La création de Permission a un second propriétaire. CreatePermissionPda accepte l’administrateur du programme ou un propriétaire dédié de création de PDA de permission. ClosePermissionPda reste 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 explicitement CollectCreatorFeePermissionless. 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 quel permission_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 CollectCreatorFee existantes 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_0 ou creator_fees_token_1 non-zéro et déclencher la collecte sans garde des clés créateur.
  • Traitez NoFeeCollect comme 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é CreatePermissionPda canoniques.
  • reference/error-codesNoFeeCollect étendu pour couvrir la collecte des frais créateur.
Vérifié 2026-08-13 contre :
Cette vérification couvre la branche source, pas un déploiement mainnet-beta. Confirmez le programme déployé et l’IDL publié avant d’activer le nouveau chemin en production.