---
title: "Presentamos User Operation Overrides"
description: "User Operation Overrides te da control preciso sobre las gas fees. Los mercados de gas fees se mueven rápido en L2s, y cuando eso pasa las UOs pendientes pueden fallar."
---

# Presentamos User Operation Overrides

<ImageBlock
  src="https://media.alchemy.com/1705444621-user-op-overrides.png"
  alt="Lanzamiento de user operation overrides: control granular sobre las comisiones de gas"
  width={2400}
  height={1350}
  priority
/>

[Account Abstraction](/overviews/what-is-account-abstraction) permite a los usuarios usar cuentas de contrato inteligente como wallets en lugar de las tradicionales Externally Owned Accounts \(EOAs\). Al iniciar transacciones desde una cuenta de contrato inteligente, las [User Operations](/overviews/user-operations) \(UserOps o UOs\) contienen los detalles de la transacción de forma similar a las transacciones regulares: `sender`, `to`, `calldata`, `maxFeePerGas`, `maxPriorityFee`, `signature` y `nonce`.

Dado que las cuentas de contrato inteligente dependen de [Bundlers](/overviews/what-is-a-bundler) para ejecutar transacciones en su nombre, las user operations también contienen un nuevo conjunto de campos para estimar el gas y patrocinar el gas con paymasters, incluyendo: `callGasLimit`, `verificationGasLimit`, `preVerificationGas` y `paymasterAndData`.

Hoy lanzamos [User Operation Overrides](https://www.alchemy.com/docs/wallets/resources/types#useroperationoverrides) para darles a los desarrolladores control preciso sobre las tarifas de gas. Los mercados de tarifas de gas se mueven rápido en las L2s, y cuando eso ocurre, las UOs pendientes pueden fallar.

Los UO Overrides permiten sobrescribir las estimaciones de gas para obtener garantías más sólidas de que las UserOps sean minadas, independientemente de [estimaciones de gas](/blog/l2-gas-and-signature-aggregators) que estén desalineadas con los costos de gas reales.

## Qué hacen los user operation overrides:
Al sobrescribir una estimación de tarifa de gas, que incorpora muchas entradas complejas y por lo tanto puede ser difícil de estimar con precisión, puedes obtener garantías más sólidas de que tu UserOp será minada exitosamente sin importar las fluctuaciones de gas, estableciendo valores de override absolutos o basados en multiplicadores.

## ¿Cuáles son los beneficios de los user operation overrides?
Los dos principales beneficios para los desarrolladores de los UO Overrides son simplificar la complejidad de estimar valores de gas y paymaster, y aumentar la probabilidad de que las UOs sean minadas durante períodos de volatilidad en el mercado de tarifas.

### 1. Simplifica la complejidad
Hoy, estimar la tarifa de gas correcta implica incorporar seis tipos diferentes de gas, lo que dificulta obtener una estimación de gas "correcta". Con Fee Overrides, los desarrolladores configuran el parámetro para sobrescribir las estimaciones de gas en un umbral determinado, de modo que las UserOps sean minadas, sin importar qué tan precisa haya sido su estimación.

### 2. Controla tus resultados
Un punto doloroso de usar el [aa-sdk](https://www.alchemy.com/docs/wallets) hasta ahora ha sido que, cuando la red se congestionaba, los equipos le pedían a los ingenieros de Alchemy que se encargaran de la estimación de gas y del éxito de las UserOps por ellos.

Con User Operation Overrides, los equipos ahora pueden elegir qué UserOps son más importantes y establecer valores de override personalizados con mayor control para aumentar la probabilidad de que sus UOs sean minadas exitosamente.

## ¿Cuáles son las características de los user operation overrides?
User Operation Overrides permite especificar valores de override para:

1. `maxFeePerGas`
1. `maxPriorityFeePerGas`
1. `callGasLimit`
1. `preVerificationGas`
1. `verificationGasLimit`
1. `paymasterAndData`

¡Los desarrolladores que construyan con el AA SDK de Alchemy pueden usar User Operation Overrides con cualquier [Bundler](/bundler) o [Paymaster](/gasless-transactions)!

## ¿Cómo funcionan los user operation overrides?
Los valores de override están disponibles en cada middleware del `SmartAccountProvider`. Por ejemplo, el [`middlewares`](https://www.alchemy.com/docs/wallets/concepts/middleware) predeterminado, como `gasEstimator` o `feeDataGetter`, aplica los valores de override a los valores estimados si se proporcionan dichos valores.

A excepción del campo `paymasterAndData`, los campos de override pueden ser ya sea el **valor absoluto** o el **valor multiplicador**. En los middlewares predeterminados, si el valor de override es un valor absoluto, simplemente sobrescribe el valor estimado.

Si el valor de override es un valor multiplicador, el valor estimado se _incrementa_ con el valor multiplicador indicado. Por ejemplo, si el valor de override es `\{ multiplier: 1.1 \}` para el campo `maxPriorityFeePerGas`, entonces se aplica un multiplicador de 1.1, o un incremento del 10%, al `maxPriorityFeePerGas` estimado de la user operation.

Para comenzar, ¡explora la [documentación de User Operation Override](https://www.alchemy.com/docs/wallets/resources/types#useroperationoverrides)!
