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.
Esta página fue traducida automáticamente por IA. La versión en inglés es la fuente autorizada.Ver versión en inglés →
Diseño de cuentas: ATAs del usuario en todo el camino
Cada variante de swap habilitada enruta tokens intermedios a través de ATAs controladas por el usuario. El usuario es propietario del ATA de entrada, cada ATA intermedio y el ATA de salida final. No hay una cuenta de token intermedio compartida ni propiedad del enrutador en la superficie activa. Propiedades:- El usuario es propietario de un ATA por cada token intermedio.
- El usuario proporciona cada ATA en la lista de cuentas.
- Cada ATA intermedio debe existir (inicialízalo con
CreateSyncNativepara wSOL, o a través del programa de Token de Cuenta Asociada del SPL para cualquier otro mint, antes de enrutar). - El enrutador transfiere desde un ATA al vault del siguiente pool en cada salto.
- Cada ATA intermedio termina cada ruta con el mismo saldo con el que comenzó — la ruta consume lo que produjo el salto anterior.
USDC → SOL → STEP:
Diseño de cuentas por salto
Las cuentas de cada salto se pasan consecutivamente. El enrutador identifica el programa secundario leyendo la primera cuenta en el bloque de cada salto (el ID del programa) y luego distribuye al controlador correcto. Para cada salto, el enrutador espera cuentas agrupadas como:Salto AMM v4
Aproximadamente 18 cuentas: pool, autoridad, vaults, mints, cuentas del mercado OpenBook (mantenidas en la lista de cuentas por compatibilidad hacia atrás aunque la integración de OpenBook de AMM v4 ya no está activa), programas de token. Consultaproducts/amm-v4/accounts para la lista completa.
Salto CPMM
Aproximadamente 11–13 cuentas: estado del pool, autoridad, vaults (2), mints (2), programas de token, programa del sistema, programa de token de cuenta asociada. Consultaproducts/cpmm/accounts.
Salto CLMM
Aproximadamente 15+ cuentas: pool, arrays de tick, vaults, mints, estado de observación, firmante, programas de token. Consultaproducts/clmm/accounts.
Salto Stable
Similar a AMM v4. Consultaproducts/stable/accounts.
Flujo de tokens y propiedad de ATA
- El llamador firma con
user_input_ata. - El llamador debe ser propietario de todos los ATAs de entrada, intermedios y salida. El enrutador rechazará la transacción si el propietario de cualquier ATA intermedio no es el firmante.
- El saldo de
user_input_atadel llamador debe ser suficiente para la entrada del primer salto (amount_inpara etiqueta 0 / 8, omaximum_amount_inpara etiqueta 1 / 9). - Cada ATA intermedio debe existir en la cadena. Si no existe, créalo de antemano — típicamente a través del programa de Token de Cuenta Asociada del SPL, o con
CreateSyncNative(etiqueta 5) para un ATA wSOL.
La instrucción CreateSyncNative
Si necesitas enrutar a través de SOL envuelto y no quieres crear y sincronizar manualmente un ATA wSOL, usaCreateSyncNative (etiqueta 5):
amount de SOL a través del Sistema Program y lo sincroniza en una instrucción. Útil para inicializar un ATA wSOL nuevo antes de enrutar.
La instrucción CloseTokenAccount
Después de que se complete una ruta, es posible que quieras cerrar cualquier ATA intermedio — más comúnmente un ATA wSOL — para recuperar la renta. UsaCloseTokenAccount (etiqueta 6):
Próximos pasos
products/routing/instructions— formas de argumentos y orden de lista de cuentas por instrucción.products/routing/code-demos— construir una ruta en TypeScript.reference/program-addresses— IDs de programas secundarios.


