Cette page est traduite automatiquement par IA. La version anglaise fait foi.Voir la version anglaise →
Banneau de version. Tous les exemples ciblent
@raydium-io/raydium-sdk-v2@0.2.42-alpha sur Solana mainnet-beta, vérifiés en 2026-04. ID du programme : 675kPX9MHTjS2zt1qfr1NYHuzeLXfQM9H24wFSUt1Mp8 (voir reference/program-addresses).La création de nouveaux pools n’est pas montrée ici. L’interface Raydium n’offre plus la création de pools AMM v4 — les nouvelles paires utilisent par défaut CPMM. Le programme AMM v4 lui-même accepte toujours
Initialize2 on-chain ; ce n’est simplement pas le chemin recommandé. Les exemples ci-dessous couvrent les opérations sur pools actifs que chaque intégrateur doit connaître : swap, dépôt, retrait.Configuration
Récupérer un pool par ID
poolKeys est la structure que les constructeurs d’instructions consomment. Elle contient tous les comptes AMM v4 et OpenBook dans l’ordre attendu par le programme.
Swap (base-in)
Swap (base-out)
Ajouter de la liquidité
fixedSide: "a" indique au SDK que vous avez fourni l’amountInA exact et que amountInB doit être au maximum maxAnotherAmount. La liquidité on-book du pool est réglée avant le calcul au prorata, de sorte que le ratio de dépôt correspond aux réserves les plus récentes.
Retirer de la liquidité
Ajustement des unités de calcul et des frais de priorité
Les swaps AMM v4 sont lourds en calcul car chaque instruction valide l’état complet d’OpenBook. Un swap typique utilise 180k–250k CU selon le nombre de commandes ouvertes à régler en chemin. Passez toujours une limite d’unités de calcul :computeBudgetConfig, le SDK peut toujours utiliser sa propre valeur par défaut ; inspectez innerTransactions pour confirmer. Voir integration-guides/priority-fee-tuning.
CPI Rust direct
Si vous devez faire un CPI dans AMM v4 depuis votre propre programme Anchor, vous devrez modéliser la liste de comptes deSwapBaseIn exactement. Un esquisse minimale :
Instruction construite manuellement.
L’esquisse CPI ci-dessus utilise la disposition héritée v1
SwapBaseIn (tag 9, 17 comptes) pour lire/reproduire les transactions existantes. Depuis la mise à jour de 2026-07, les comptes de marché sont acceptés mais ignorés. Pour le nouveau code, préférez SwapBaseInV2 / SwapBaseOutV2 (tags 16 / 17), qui suppriment les comptes de marché (et amm_open_orders) entièrement — passez seulement 8 comptes : token_program, amm, amm_authority, les deux coffres du pool, les deux comptes de tokens utilisateur, et user_owner.Pièges
- Mauvais nombre de comptes sur les swaps v1. Les anciens
SwapBaseIn/SwapBaseOutnécessitent toujours la liste complète de 17 comptes (ou 18 comptes) — un nombre mal assorti revient avecWrongAccountsNumber. Le contenu des comptes de marché n’est plus validé, mais vous devez toujours occuper leurs emplacements. Préférez les points d’entrée V2 pour éviter cela. - Lecture des soldes bruts des coffres. Les réserves sont maintenant réservées aux coffres ; soustrayez le PnL accumulé (
need_take_pnl_*). Le devis du SDK ouapi-v3.raydium.io/pools/info/idsgère cela pour vous. - Appel d’instructions supprimées.
MonitorStep,MigrateToOpenBook,WithdrawSrm,SimulateInfo,AdminCancelOrders, et les anciensInitialize/PreInitializereviennent maintenant. UtilisezInitialize2pour la création de pools ; il n’y a pas de crank à appeler. - Mints Token-2022. Non supportés. Un pool AMM v4 ne peut pas être créé contre un mint Token-2022 ; toute paire Token-2022 doit être sur CPMM ou CLMM.
Où aller ensuite
products/amm-v4/instructions— la surface au niveau des instructions derrière ces exemples.user-flows/migrate-amm-v4-to-cpmm— si vous êtes un LP envisageant une migration.integration-guides/priority-fee-tuning— dimensionnement des frais de priorité pour les swaps AMM v4 lourds.

