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 →
TL;DR para integradores
- Swap / Deposit / Withdraw siguen funcionando sin cambios. Las transacciones construidas con los layouts de cuentas antiguos aún se ejecutan — las cuentas de Serum/market eliminadas simplemente se ignoran. No tienes que enviar una actualización de cliente para mantener los flujos existentes activos.
- Pero deberías migrar a los nuevos layouts más pequeños pronto. Los nuevos layouts eliminan las cuentas de mercado muertas, reduciendo el tamaño de la transacción:
SwapBaseIn/SwapBaseOutvan de 18 → 9 cuentas,Deposit14 → 12,Withdraw21 (+1 opcional) → 12. La ruta de compatibilidad se eliminará en una versión futura. WithdrawPnles un cambio de ruptura dura (solo admin). Va de 16 (+1 opcional) → 10 cuentas sin análisis de compatibilidad. Enviar el layout antiguo falla con errores de validación comoInvalidTokenCoindebido a desalineación de cuentas (el antiguo #3 eraopen_orders). Cualquier herramienta de admin que llame aWithdrawPnldebe actualizarse.- Tarifa de referencia eliminada en
WithdrawyWithdrawPnl. La cuenta opcionalreferrer_pc_walletaún puede pasarse para compatibilidad hacia atrás en el layout antiguo deWithdraw, pero ya no tiene efecto. - Contabilidad de activos del pool simplificada. Los activos totales del pool ahora son
saldos de bóveda − PnL pendiente; el término de orden abierta de OpenBook — ya cero en la práctica — se elimina de la fórmula. Los indexadores y código de cotización que aún agregaban un término de OpenOrders deben eliminarlo. - La mayoría de las instrucciones ahora se eliminan. Solo
SwapBaseIn,SwapBaseOut,Deposit,Withdraw, yWithdrawPnlpermanecen invocables.Initialize,PreInitialize,InitModelData,UpdateModelData,MonitorStep,SetParams,WithdrawSrm, ySimulateInfoya no son invocables.
Por qué esto importa (para traders, LPs e integradores)
- Los traders no ven cambios en el comportamiento del swap o la forma de precios — la curva de tabla de búsqueda no cambia. Los swaps con layout nuevo son más baratos de ejecutar porque la transacción lleva nueve cuentas menos.
- Los LPs mantienen la misma economía de depósito/retiro. La liquidez ha estado completamente en las bóvedas del pool durante mucho tiempo, por lo que el valor del pool está completamente en el pool; esta actualización solo elimina la tubería de mercado obsoleta.
- Los integradores obtienen transacciones más pequeñas y simples y un modelo de cotización con un término menos (ya vestigial). Las integraciones existentes no se rompen (excepto el
WithdrawPnlde admin), pero el shim de compatibilidad es temporal — migra cuando sea conveniente, antes de que se elimine.
Cambios a nivel de instrucción
SwapBaseIn / SwapBaseOut — 18 → 9 cuentas (layout antiguo aún compatible)
Las nueve cuentas de OpenBook (amm_open_orders, serum_program, serum_market, serum_bids, serum_asks, serum_event_queue, serum_coin_vault, serum_pc_vault, serum_vault_signer) se eliminan. Compatibilidad: si la instrucción recibe un número de cuentas distinto de 9, se analiza con el layout antiguo de 18 cuentas; las cuentas de Serum aún deben ocupar sus posiciones pero su contenido ya no se valida ni se utiliza.
Deposit — 14 → 12 cuentas (layout antiguo aún compatible)
amm_open_orders (antiguo #3) y serum_market (antiguo #9) se eliminan. Cuando se pasan 14 cuentas, el layout antiguo se analiza para compatibilidad.
Withdraw — 21 (+1 opcional) → 12 cuentas (layout antiguo aún compatible)
Las nueve cuentas de Serum se eliminan. Los layouts antiguos de 21 o 22 cuentas aún se aceptan, pero la lógica de tarifa de referencia para la 22ª cuenta opcional referrer_pc_wallet se ha eliminado — la cuenta aún puede pasarse pero ya no tiene efecto.
WithdrawPnl — 16 (+1 opcional) → 10 cuentas (⚠️ sin ruta de compatibilidad, ruptura dura)
Layout fijo de 10 cuentas, solo para admin. No hay análisis de compatibilidad para el layout antiguo; enviarlo falla con errores como InvalidTokenCoin debido a desalineación de cuentas. Cambio de lógica: cuando los fondos disponibles del pool son insuficientes para retirar el PnL acumulado, el pool ya no se coloca en CancelAllOrdersState / Disabled; la instrucción devuelve TakePnlError directamente. La cuenta opcional referrer_pc_wallet también se ha eliminado.
Cambio en el cálculo de activos del pool
La fórmula históricamente agregaba los fondos que el pool mantenía como órdenes abiertas en su cuenta OpenOrders de OpenBook. Ese término ha sido cero en la práctica desde que el pool dejó de publicar órdenes; esta actualización lo elimina completamente de la fórmula, dejando el cálculo solo de bóveda:| Fórmula | |
|---|---|
| Antigua | saldos de bóveda + fondos de orden abierta (native_coin_total / native_pc_total) − PnL pendiente (need_take_pnl) |
| Nueva | saldos de bóveda − PnL pendiente (need_take_pnl) |
Páginas actualizadas
products/stable/overview— modelo puro AMM, dependencia de OpenBook eliminada, tablas de comparación y conteo de cuentas actualizadas.products/stable/index— “Qué es” y tabla de hechos clave ya no reclaman una dependencia de OpenBook.products/stable/accounts— cuentas de OpenBook eliminadas del inventario; campos de Serum/open-orders deAmmInfomarcados como heredados/no utilizados; nota de activos del pool agregada.products/stable/instructions— nuevas tablas de cuentas para Swap / Deposit / Withdraw / WithdrawPnl con llamadas de compatibilidad; todas las otras instrucciones (Initialize,PreInitialize,InitModelData,UpdateModelData,MonitorStep,SetParams,WithdrawSrm,SimulateInfo) marcadas como eliminadas / ya no invocables.products/stable/math— actualización de fórmula de activos del pool; secciónMonitorStep/ OpenBook replanteada como hace mucho tiempo retirada.products/stable/fees— sección “PnL from OpenBook” retirada; flujo de recopilación ya no liquida rellenos de OpenBook.products/stable/code-demos— orientación de conteo de cuentas actualizada; SDK aún abstrae la selección de layout.
- fuente del programa
raydium-stable(post-actualizacióninstruction.rs/processor.rs). - Implementación del programa Stable AMM en cadena en Solana mainnet-beta.

