Documentation Index
Fetch the complete documentation index at: https://docs.raydium.io/llms.txt
Use this file to discover all available pages before exploring further.
Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Disposition des comptes : ATAs utilisateur d’un bout à l’autre
Chaque variante de swap activée route les tokens intermédiaires via des ATAs contrôlés par l’utilisateur. L’utilisateur possède l’ATA d’entrée, chaque ATA intermédiaire et l’ATA de sortie final. Il n’existe pas de compte de token intermédiaire partagé / appartenant au routeur dans la surface active. Propriétés :- L’utilisateur possède un ATA par token intermédiaire.
- L’utilisateur fournit chaque ATA dans la liste de comptes.
- Chaque ATA intermédiaire doit déjà exister (initialisez-le avec
CreateSyncNativepour wSOL, ou via le programme SPL Associated Token Account pour tout autre mint, avant le routage). - Le routeur transfère depuis un ATA et vers le vault du prochain pool à chaque étape.
- Chaque ATA intermédiaire se termine avec le même solde qu’il a commencé — la route consomme ce que l’étape précédente a produit.
USDC → SOL → STEP :
Disposition des comptes par étape
Les comptes de chaque étape sont passés consécutivement. Le routeur identifie le programme enfant en lisant le premier compte de chaque bloc d’étape (l’ID du programme), puis envoie vers le bon gestionnaire. Pour chaque étape, le routeur s’attend à ce que les comptes soient groupés comme :Étape AMM v4
Environ 18 comptes : pool, autorité, vaults, mints, comptes du marché OpenBook (conservés dans la liste des comptes pour la compatibilité ascendante bien que l’intégration OpenBook d’AMM v4 ne soit plus active), programmes de token. Voirproducts/amm-v4/accounts pour la liste complète.
Étape CPMM
Environ 11–13 comptes : état du pool, autorité, vaults (2), mints (2), programmes de token, programme système, programme de token account associé. Voirproducts/cpmm/accounts.
Étape CLMM
Environ 15+ comptes : pool, tableaux de tick, vaults, mints, état d’observation, signataire, programmes de token. Voirproducts/clmm/accounts.
Étape Stable
Similaire à AMM v4. Voirproducts/stable/accounts.
Flux de token et propriété des ATAs
- L’appelant signe avec
user_input_ata. - L’appelant doit posséder tous les ATAs d’entrée, intermédiaires et de sortie. Le routeur rejettera la transaction si le propriétaire d’un ATA intermédiaire n’est pas le signataire.
- Le solde de
user_input_atade l’appelant doit être suffisant pour l’entrée de la première étape (amount_inpour le tag 0 / 8, oumaximum_amount_inpour le tag 1 / 9). - Chaque ATA intermédiaire doit déjà exister on-chain. S’il n’existe pas, créez-le à l’avance — généralement via le programme SPL Associated Token Account, ou avec
CreateSyncNative(tag 5) pour un ATA wSOL.
L’instruction CreateSyncNative
Si vous devez router via du SOL enrobé et ne voulez pas créer et synchroniser manuellement un ATA wSOL, utilisezCreateSyncNative (tag 5) :
amount de SOL dedans via le programme Système, et le synchronise en une seule instruction. Utile pour initialiser un nouvel ATA wSOL avant le routage.
L’instruction CloseTokenAccount
Une fois qu’une route est terminée, vous souhaiterez peut-être fermer un ATA intermédiaire — le plus souvent un ATA wSOL — pour récupérer la rente. UtilisezCloseTokenAccount (tag 6) :
Étapes suivantes
products/routing/instructions— formes d’arguments et ordre de la liste des comptes par instruction.products/routing/code-demos— construire une route en TypeScript.reference/program-addresses— IDs des programmes enfants.


