Saltar al contenido principal

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 →
Esta página complementa products/clmm/accounts (descripción de las cuentas) y products/clmm/math (explicación de la matemática). Es la referencia definitiva para argumentos y orden de cuentas; los layouts de bytes provienen del IDL.

Inventario de instrucciones

GrupoInstrucciónNotas
AdminCreateAmmConfigDefine un nuevo nivel de comisión.
AdminUpdateAmmConfigModifica las tasas en un nivel existente.
AdminUpdatePoolStatusPausa/reanuda las operaciones de un pool.
AdminCreateSupportMintAssociatedAgrega a la lista de permitidos una configuración de extensión de mint Token-2022 para su uso en pools CLMM.
AdminCreateOperationAccountInicializa la cuenta de operaciones del programa (operación única).
AdminUpdateOperationAccountModifica la lista blanca de la cuenta de operaciones.
AdminCreateDynamicFeeConfigCrea un conjunto de parámetros de comisión dinámica reutilizable bajo un índice u16.
AdminUpdateDynamicFeeConfigModifica un DynamicFeeConfig existente. Los pools que ya tomaron una instantánea de él no se ven afectados.
PoolCreatePoolInicializa un pool CLMM vinculado a un AmmConfig. Ruta de comisión estándar FromInput. Coexiste con CreateCustomizablePool.
PoolCreateCustomizablePoolRecomendado para nuevos pools. Tiene la misma forma que CreatePool más collect_fee_on y una bandera enable_dynamic_fee opcional.
PositionOpenPosition / OpenPositionV2 / OpenPositionWithToken22NftAcuña un NFT de posición. OpenPositionV2 reemplaza a V1 (layout de cuentas más nuevo con la ranura de extensión bitmap); OpenPositionWithToken22Nft emite el NFT de posición como Token-2022 en lugar de SPL Token. El código nuevo debería usar V2 o la variante Token-2022.
PositionIncreaseLiquidity / IncreaseLiquidityV2Agrega liquidez a una posición existente.
PositionDecreaseLiquidity / DecreaseLiquidityV2Retira liquidez; cobra las comisiones pendientes.
PositionClosePositionQuema el NFT y cierra el PersonalPositionState.
PositionCloseProtocolPositionSolo para admins: limpieza de PDAs ProtocolPositionState heredadas. El programa actual ya no crea ni lee ProtocolPositionState; esta instrucción existe únicamente para recuperar el alquiler de cuentas creadas por versiones antiguas del programa.
SwapSwap / SwapV2Swap de liquidez constante. Ambas variantes aplican comisión dinámica, enrutamiento de comisión unilateral y coincidencia de órdenes límite; la única diferencia es que SwapV2 acepta mints Token-2022 (la variante V1 requiere que ambos vaults sean SPL Token clásico).
SwapSwapRouterBaseInMulti-hop, utilizado por el router.
Limit orderOpenLimitOrderColoca una orden de venta en un tick. Los tokens sin ejecutar quedan en el tick; el motor de coincidencia los llena a medida que el precio lo atraviesa.
Limit orderIncreaseLimitOrderAgrega monto a una orden abierta existente.
Limit orderDecreaseLimitOrderReduce o cancela una orden abierta; devuelve el remanente sin ejecutar más cualquier output ya liquidado.
Limit orderSettleLimitOrderEnvía los tokens de output ejecutados al dueño de la orden. Puede ser llamado por el dueño o por el keeper operacional.
Limit orderCloseLimitOrderCierra una cuenta de orden completamente consumida. El alquiler siempre regresa al owner de la orden. Puede ser llamado por el dueño o el keeper.
FeesCollectProtocolFeeBarrido de comisiones de protocolo por parte del admin.
FeesCollectFundFeeBarrido de comisiones de fondo por parte del admin.
RewardsInitializeRewardAdjunta un nuevo flujo de recompensas a un pool.
RewardsSetRewardParamsCambia la tasa de emisión o el final de una recompensa existente.
RewardsUpdateRewardInfosLiquida el crecimiento de recompensas hasta ahora (llamado por cualquier swap o cambio de posición).
RewardsTransferRewardOwnerTransfiere la autoridad que puede configurar o recargar un flujo de recompensas.
RewardsCollectRemainingRewardsTras el end_time de un flujo de recompensas, recupera los tokens no asignados para el financiador.
UtilityInitTickArrayInicializa una cuenta de tick array (frecuentemente agrupada con OpenPosition).
La mayoría de las instrucciones solo para admins (CreateAmmConfig, UpdateAmmConfig, UpdatePoolStatus, CreateSupportMintAssociated, CreateOperationAccount, UpdateOperationAccount, CloseProtocolPosition) están protegidas por la clave pública admin codificada en el programa. Las instrucciones de admin de flujos de recompensas (TransferRewardOwner, CollectRemainingRewards) están protegidas por el financiador de la recompensa, no por el admin del programa. El sufijo V2 significa “admite Token-2022 en vaults / NFT, requiere la ranura de extensión bitmap”. El SDK usa V2 por defecto para nuevos pools.

CreatePool

Argumentos
sqrt_price_x64: u128           // precio inicial
open_time:      u64            // los swaps se rechazan antes de este tiempo
Cuentas (resumen)
#NombreWSNotas
1pool_creatorWS
2amm_configNivel de comisión elegido.
3pool_stateWinit aquí.
4token_mint_0Ordenado.
5token_mint_1
6token_vault_0Winit aquí, propiedad de la PDA de autoridad del pool.
7token_vault_1W
8observation_stateWinit aquí.
9tick_array_bitmap_extensionWinit aquí (V2).
10token_program
11token_program_2022
12system_program, rent
Precondiciones
  • token_mint_0 < token_mint_1 por orden de bytes.
  • amm_config.disable_create_pool == false.
  • Los mints no están rechazados por la lista de permitidos de extensiones Token-2022.
Postcondiciones
  • pool_state.sqrt_price_x64 = sqrt_price_x64, tick_current = floor(log_{1.0001}(price)).
  • pool_state.liquidity = 0 (sin posiciones todavía).
  • pool_state.fee_on = FromInput (valor predeterminado heredado).
  • pool_state.dynamic_fee_info se inicializa en cero (comisión dinámica desactivada).

CreateCustomizablePool

Recomendado para nuevos pools. Tiene el mismo efecto que CreatePool más el modo de cobro de comisiones por pool y una activación opcional de comisión dinámica. Argumentos
pub struct CreateCustomizableParams {
    pub sqrt_price_x64:    u128,
    pub collect_fee_on:    CollectFeeOn,   // FromInput | Token0Only | Token1Only
    pub enable_dynamic_fee: bool,
}
Cuentas (resumen) — iguales a CreatePool más, cuando enable_dynamic_fee = true:
#NombreWSNotas
Ndynamic_fee_configLa configuración compartida de la que se toma la instantánea. Debe existir previamente.
Precondiciones — iguales a CreatePool. Si enable_dynamic_fee = false, dynamic_fee_config se ignora. Postcondiciones
  • pool_state.fee_on se establece según la variante CollectFeeOn elegida.
  • Si se activó la comisión dinámica: pool_state.dynamic_fee_info se inicializa desde el DynamicFeeConfig proporcionado (se copian los cinco parámetros de calibración; los campos de estado se ponen a cero).
  • De lo contrario: pool_state.dynamic_fee_info se pone a cero (= comisión dinámica inactiva permanentemente para este pool).
fee_on y el bit de activación de comisión dinámica se establecen únicamente en la creación del pool. No existe una actualización en el lugar: los pools creados con el CreatePool heredado no pueden obtener retroactivamente comisión dinámica ni comisión unilateral. Los nuevos despliegues deben usar esta instrucción por defecto.

OpenPositionV2 / OpenPositionWithToken22Nft

Crea una nueva posición dentro de un pool existente. Argumentos
tick_lower_index: i32
tick_upper_index: i32
tick_array_lower_start_index: i32
tick_array_upper_start_index: i32
liquidity:  u128              // L deseado (o 0 para usar los amounts siguientes)
amount_0_max: u64
amount_1_max: u64
with_metadata: bool           // escribir metadatos del NFT (Metaplex)
base_flag: Option<bool>       // true = ajustar a amount0; false = ajustar a amount1
Cuentas (resumen)
#NombreWS
1payerWS
2position_nft_owner
3position_nft_mintWS (keypair)
4position_nft_accountWATA del dueño para el NFT.
5metadata_accountWMetaplex (opcional, si with_metadata).
6pool_stateW
7protocol_position
8tick_array_lowerWSe crea si no está inicializado.
9tick_array_upperWIgual.
10personal_positionWSe crea aquí.
11token_account_0, token_account_1WATAs de origen del usuario.
12token_vault_0, token_vault_1W
13rent, system_program, token_program
14associated_token_program
15metadata_programOpcional.
16token_program_2022V2.
17vault_0_mint, vault_1_mintV2.
18tick_array_bitmap_extensionWV2 (si se toca).
Matemática — ver products/clmm/math. Dado base_flag, el programa resuelve liquidity o (amount_0_max, amount_1_max) para obtener el L real y los amounts de tokens consumidos. Precondiciones
  • tick_lower < tick_upper, ambos múltiplos de pool.tick_spacing, dentro de [MIN_TICK, MAX_TICK].
  • Los tick arrays requeridos se pasan y están inicializados (o se crean aquí vía CPI InitTickArray en la transacción).
  • El usuario tiene al menos amount_0_max y amount_1_max en las ATAs de origen.
Postcondiciones
  • personal_position existe, liquidity establecido, fee_growth_inside_last registrado como instantánea.
  • Las entradas del tick array en tick_lower y tick_upper se actualizan (liquidity_gross += L, liquidity_net ± L, instantáneas de crecimiento de comisiones mantenidas).
  • pool_state.liquidity += L si la posición está en rango (tick_lower ≤ tick_current < tick_upper).
Errores comunesInvalidTickIndex, NotApproved, ZeroAmountSpecified, TransactionTooLarge (si hay demasiados tick arrays).

IncreaseLiquidityV2

Agrega liquidez a una posición ya abierta. Argumentos
liquidity: u128
amount_0_max: u64
amount_1_max: u64
base_flag: Option<bool>
Cuentas — igual que OpenPosition sin el mint del NFT (la posición ya existe; el NFT se pasa como la ATA del dueño que contiene 1 token). Efecto
  • Transfiere amount_0_actual / amount_1_actual del usuario a los vaults.
  • Incrementa personal_position.liquidity y pool_state.liquidity (si está en rango), así como liquidity_gross / liquidity_net de los ticks extremos.
  • Cobra las comisiones y recompensas pendientes desde el último toque y las acredita en tokens_fees_owed_{0,1} / reward_amount_owed. Estos montos solo se pagan en DecreaseLiquidity o CollectReward, no al incrementar.

DecreaseLiquidityV2

Retira liquidez de una posición. Argumentos
liquidity: u128
amount_0_min: u64
amount_1_min: u64
Cuentas — misma forma que IncreaseLiquidity. Efecto
  • Calcula (amount_0, amount_1) para el L retirado dado el sqrt_price_x64 actual.
  • Liquida las comisiones y recompensas acumuladas desde el último toque, igual que IncreaseLiquidity.
  • Transfiere amount_0 + fees_owed_0 y amount_1 + fees_owed_1 de los vaults al usuario.
  • Decrementa los contadores de liquidez; si el nuevo personal_position.liquidity == 0, la posición es elegible para ClosePosition.
Slippageamount_0_min y amount_1_min son los mínimos que el usuario acepta neto de las comisiones de transferencia Token-2022 en el lado de salida.

ClosePosition

Quema el NFT de posición y cierra PersonalPositionState. Precondiciones
  • personal_position.liquidity == 0.
  • tokens_fees_owed_{0,1} == 0.
  • Todos los contadores de recompensas reward_amount_owed == 0.
(Es decir, primero cobra todo y reduce a cero.) Efecto
  • Quema el NFT.
  • Cierra la cuenta del mint del NFT y la cuenta personal_position, devolviendo el alquiler al payer.

SwapV2

Recorre la curva de liquidez; entrada exacta o salida exacta según is_base_input. Argumentos
amount: u64                  // entrada si is_base_input=true, salida en caso contrario
other_amount_threshold: u64  // mínimo de salida o máximo de entrada
sqrt_price_limit_x64: u128   // límite estricto; 0 ⇒ sin límite
is_base_input: bool
Cuentas (resumen)
#NombreWSNotas
1payerS
2amm_config
3pool_stateW
4input_token_accountW
5output_token_accountW
6input_vaultW
7output_vaultW
8observation_stateW
9token_program
10token_program_2022V2.
11memo_programV2 (requerido para algunas rutas Token-2022).
12input_vault_mint, output_vault_mintV2.
13tick_array_bitmap_extension (opcional)WSi el swap entra en la extensión.
14+tick_array (restantes)WSuficientes arrays para cubrir el rango esperado del recorrido.
Los callers pasan una lista ordenada de tick arrays que cubren el recorrido esperado del swap; el programa usa los que necesite. El SDK calcula esta lista mediante PoolUtils.computeAmountOutFormat o el endpoint de cotización de la API. Precondiciones
  • pool_state.status permite el swap.
  • now >= open_time.
  • sqrt_price_limit_x64 está en el lado correcto de sqrt_price_x64 según la dirección.
Errores comunesExceededSlippage, SqrtPriceLimitOverflow, TickArrayNotFound, LiquidityInsufficient. Lo que SwapV2 hace internamente y que los callers deben saber (versión post-2025):
  1. Recargo por comisión dinámica — si pool.dynamic_fee_info es distinto de cero, el programa actualiza el acumulador de volatilidad usando la distancia en ticks recorrida desde el último swap (con las reglas de filtrado/decaimiento de products/clmm/fees) y suma un dynamic_fee_component sobre AmmConfig.trade_fee_rate. La comisión total está limitada al 10% (MAX_FEE_RATE_NUMERATOR / 1_000_000).
  2. Coincidencia de órdenes límite — cuando el recorrido de precio cruza un tick que tiene órdenes límite abiertas, el programa primero completa la liquidez de las órdenes límite disponibles en ese tick (FIFO por order_phase) y luego continúa por la curva de liquidez LP. Los amounts ejecutados actualizan tick.unfilled_ratio_x64 y tick.part_filled_orders_remaining para liquidación posterior; las órdenes permanecen sin pagar hasta que su dueño llame a SettleLimitOrder.
  3. Enrutamiento de comisión unilateral — cuando pool.fee_on = Token0Only o Token1Only, el paso del swap calcula el mismo intercambio entrada-salida; la comisión se enruta luego al lado configurado. En las direcciones donde el lado de comisión configurado es la salida, la comisión se deduce del output del swap (el usuario recibe out − fee); en las direcciones donde es la entrada, el comportamiento coincide con FromInput. Ver is_fee_on_input(zero_for_one) y is_fee_on_token0(zero_for_one) en PoolState.
Swap (V1) implementa la misma comisión dinámica, enrutamiento de comisión unilateral y coincidencia de órdenes límite que SwapV2; la única característica que le falta es el soporte de Token-2022: ambos vaults deben ser SPL Token clásico. Los pools con cualquier mint Token-2022 deben operarse vía SwapV2. El agregador y el SDK ya prefieren V2 para cada tramo CLMM, por lo que los callers no necesitan ramificar según el tipo de mint.

OpenLimitOrder

Coloca una orden de venta en un tick específico. La orden se sitúa en una cola FIFO por tick y se ejecuta a medida que el precio la atraviesa. Argumentos
nonce_index:    u8       // índice de cuenta-nonce elegido por el usuario (0..255 por wallet)
zero_for_one:   bool     // true: vender token0 por token1; false: vender token1 por token0
tick_index:     i32      // debe ser múltiplo de pool.tick_spacing
amount:         u64      // cantidad del token de entrada
Cuentas (resumen)
#NombreWSNotas
1payerWSDueño de la orden; paga el alquiler.
2pool_stateW
3tick_arrayWEl tick array que contiene tick_index.
4limit_order_nonceWPDA. init_if_needed — se crea en la primera orden del usuario bajo este nonce_index.
5limit_orderWPDA. init aquí.
6input_token_accountWATA de entrada del usuario.
7input_vaultWVault de entrada del pool.
8input_vault_mintManejo de comisiones Token-2022.
9input_token_programSPL o Token-2022.
10system_program, rent
Precondiciones
  • tick_index % pool.tick_spacing == 0 y dentro de [MIN_TICK, MAX_TICK].
  • tick_index está en el lado correcto de pool.tick_current para la dirección elegida (al vender token0 → el tick debe estar por encima del actual, y viceversa). Vender en un tick ya cruzado se ejecutaría de inmediato y es rechazado.
  • pool_state.status permite la operación de orden límite (bit 5).
Postcondiciones
  • limit_order existe, registrando tick.order_phase y tick.unfilled_ratio_x64 al momento de apertura.
  • tick.orders_amount += amount (en la cohorte actual).
  • limit_order_nonce.order_nonce += 1.
  • Se emite OpenLimitOrderEvent.
Errores comunesInvalidLimitOrderAmount (cero o por debajo del mínimo del pool), InvalidTickIndex (fuera de [MIN_TICK, MAX_TICK], o en el lado incorrecto de tick_current para la dirección elegida), TickAndSpacingNotMatch (tick_index % pool.tick_spacing != 0), OrderPhaseSaturated.

IncreaseLimitOrder

Agrega monto a una orden abierta existente. Solo puede ser llamado por el owner de la orden. Argumentos
amount: u64    // cantidad adicional del token de entrada
Cuentas — igual que OpenLimitOrder sin la cuenta nonce; la PDA limit_order se pasa directamente. Precondiciones
  • limit_order.owner == signer.
  • La orden sigue en la misma cohorte (tick.order_phase == limit_order.order_phase). Si la cohorte ya comenzó a ejecutarse, la orden está parcialmente liquidada: el caller debería llamar primero a DecreaseLimitOrder o SettleLimitOrder para avanzar.
Efecto
  • Transfiere amount desde la ATA del dueño al input_vault.
  • limit_order.total_amount += amount; tick.orders_amount += amount.

DecreaseLimitOrder

Reduce o cancela completamente una orden abierta. Devuelve el remanente sin ejecutar al dueño, más cualquier output ya liquidado por ejecuciones parciales anteriores. Argumentos
amount:     u64    // cantidad del token de entrada a retirar (máx. = remanente sin ejecutar)
amount_min: u64    // piso de slippage en el retiro del lado de entrada
Cuentas — ambos lados de token, entrada y salida:
#NombreWS
1ownerS
2pool_stateW
3tick_arrayW
4limit_orderW
5input_token_accountW
6output_token_accountW
7input_vaultW
8output_vaultW
9input_vault_mint, output_vault_mint
10token_program, token_program_2022
Efecto
  • Recalcula el amount ejecutado de la orden a partir del unfilled_ratio_x64 de la cohorte desde la apertura.
  • Envía el output ejecutado a output_token_account.
  • Devuelve amount de la entrada sin ejecutar a input_token_account.
  • Actualiza limit_order en consecuencia. Si el nuevo remanente sin ejecutar es cero, el programa cierra la cuenta y devuelve el alquiler al owner.

SettleLimitOrder

Envía los tokens de output ejecutados al dueño sin cambiar el remanente sin ejecutar de la orden. Útil cuando los keepers de auto_withdraw quieren pagar de forma gradual ejecuciones parciales prolongadas. Caller — el owner de la orden o el limit_order_admin del programa (una billetera caliente operacional fuera de la cadena que ejecuta un bucle de keeper automatizado). El keeper no tiene otra autoridad: no puede mover fondos del usuario más allá de enviar el output ejecutado a la ATA del owner de la orden. Cuentas
#NombreWS
1signerSdueño o limit_order_admin
2pool_state
3tick_array
4limit_orderW
5output_token_accountWATA de salida del dueño.
6output_vaultWVault de salida del pool.
7output_vault_mint
8output_token_program
Efecto
  • Calcula el output acumulado adeudado usando (limit_order.unfilled_ratio_x64, tick.unfilled_ratio_x64).
  • Transfiere el delta a output_token_account.
  • Actualiza limit_order.settled_output.
  • No cierra la orden; sigue abierta frente a cualquier entrada restante.

CloseLimitOrder

Cierra una cuenta de orden completamente consumida. El alquiler siempre se devuelve a limit_order.owner independientemente de quién firme. Caller — el owner o el limit_order_admin. Precondiciones
  • La orden tiene remanente sin ejecutar igual a cero (ya sea porque amount == total_amount fue ejecutado y liquidado, o porque el dueño redujo previamente la orden a cero y olvidó cerrarla).
Efecto
  • Cierra limit_order; el alquiler se envía a limit_order.owner.

CreateDynamicFeeConfig (admin)

Crea un conjunto de parámetros reutilizable bajo un índice u16. Argumentos
index:                       u16
filter_period:               u16   // segundos; p. ej. 30
decay_period:                u16   // segundos; p. ej. 600. Debe ser > filter_period
reduction_factor:            u16   // 1..10_000; p. ej. 5_000 = 50% de retención por ventana de decaimiento
dynamic_fee_control:         u32   // 1..100_000; ganancia en la curva volatilidad-comisión
max_volatility_accumulator:  u32   // techo
Cuentas
#NombreWSNotas
1ownerWSClave pública de admin codificada.
2dynamic_fee_configWPDA, init aquí.
3system_program
Errores comunesInvalidDynamicFeeConfigParams si decay_period <= filter_period o algún campo con valor 0 está fuera de los límites.

UpdateDynamicFeeConfig (admin)

Modifica un DynamicFeeConfig existente. Los pools que ya tomaron una instantánea de la configuración en el momento de su creación no se actualizan retroactivamente; solo los pools recién creados que referencien esta configuración obtendrán los nuevos valores. Argumentos — los mismos cinco campos de calibración que CreateDynamicFeeConfig (filter_period, decay_period, reduction_factor, dynamic_fee_control, max_volatility_accumulator); el index se fija en la creación y no se vuelve a pasar aquí.

CollectProtocolFee / CollectFundFee

Tienen la misma forma que CollectProtocolFee / CollectFundFee de CPMM. El firmante debe coincidir con AmmConfig.owner / AmmConfig.fund_owner. Barre las comisiones de protocolo/fondo acumuladas de los vaults del pool hacia un destinatario, poniendo a cero los campos PoolState.protocol_fees_* / fund_fees_* correspondientes.

InitializeReward

Adjunta un nuevo flujo de recompensas a un pool. Pueden estar activos hasta 3 flujos simultáneamente. Argumentos
open_time:     u64
end_time:      u64
emissions_per_second_x64: u128   // Q64.64
Cuentas
#NombreWS
1reward_funderWS
2funder_token_accountW
3amm_config
4pool_stateW
5operation_statePDA de estado de operaciones CLMM que controla la creación de recompensas.
6reward_token_mint
7reward_token_vaultWinit aquí.
8reward_token_program
9system_program, rent
Precondiciones
  • Menos de 3 flujos activos actualmente en el pool.
  • El financiador deposita total_emission = emissions_per_second × (end_time − open_time) en tokens de recompensa en el vault como parte de esta instrucción.
  • Mint de recompensa en la lista blanca según operation_state.

SetRewardParams

Extiende, recarga o cambia la tasa de emisión de un flujo de recompensas existente. Normalmente es llamado por el creador del pool o el multisig de Raydium. Las restricciones están en cadena: generalmente puedes extender end_time o aumentar las emisiones, pero no reducirlas retroactivamente. Consulta la lista de propietarios de operation_state.

UpdateRewardInfos

Contabilidad pura: liquida reward_growth_global_x64 al tiempo actual multiplicando emissions_per_second × Δt / liquidity. Es llamado internamente por cada instrucción que toca la liquidez. Se expone como instrucción independiente porque actores externos (interfaces, cranks) a veces quieren activarla.

CollectReward

El dueño de la posición reclama los tokens de recompensa adeudados. Cuentas
#NombreWS
1nft_ownerS
2nft_accountATA del dueño que contiene el NFT de posición.
3personal_positionW
4pool_stateW
5protocol_position
6reward_token_vaultW
7recipient_token_accountW
8token_program
9token_program_2022
Efecto
  • Liquida el crecimiento de recompensas (mismo patrón que las comisiones).
  • Transfiere el monto adeudado a la ATA destinataria, poniendo reward_amount_owed[i] a cero.

Matriz de cambios de estado

Instrucciónpool.liquiditypool.fee_growth_globalpool.reward_growth_globalpersonal_position.liquidityTick array
CreatePool00
OpenPosition+ si en rangonuevoagrega liquidity_gross/net
IncreaseLiquidity+ si en rangoliquida adeudadoliquida adeudado+ajusta
DecreaseLiquidity− si en rangoliquida adeudadoliquida adeudadoajusta
ClosePositiondestruido
SwapV2± en cruces+cruza y voltea outside; coincide cohortes de órdenes límite
OpenLimitOrderorders_amount += amount en el tick objetivo
IncreaseLimitOrderorders_amount += amount
DecreaseLimitOrderorders_amount -=, puede cerrar cohorte
SettleLimitOrder— (solo lectura en tick)
CloseLimitOrder
CreateCustomizablePool00
UpdateRewardInfos+
CollectRewardliquida adeudado

Siguientes pasos

Fuentes: