Dos txns de Uniswap llamando swapExactETHForTokens
que son casi idénticos (incluso la misma marca de tiempo) excepto por el valor y el precio del gas, pero el que tiene un valor y un precio de gas más altos se queda sin gas y usa mucho más gas que el otro . La única otra diferencia es, por supuesto, proporcionalmente diferente amountOutMin
.
Dado que el valor del swap fallido es menor que x2 del otro mientras que el precio del gas es x10, ¿por qué está fallando?
He vinculado arriba, pero estos son los txns:
Esto me ha pasado dos veces ahora. La otra vez fue de mucho menos valor, pero aun así el precio del gas x10 sobre el txn que se extrajo por completo (aunque ese txn falló por una razón diferente: cantidad de producción insuficiente).
¿Alguna idea de qué podría estar causando que los txns defectuosos se queden sin gasolina (e incluso usen mucha más gasolina) dado que son prácticamente idénticos a un intercambio exitoso al mismo tiempo, pero con un precio de gasolina mucho más alto?
Las txn internas también son idénticas entre las txn en cada caso.
Las transacciones tienen un límite de gas y un campo de precio de gas. Si su transacción se está quedando sin combustible, debe aumentar el campo de límite de combustible, no el campo de precio del combustible.
La cantidad de gas consumida por una transacción puede variar según el código que se ejecuta y la cantidad de datos que se escriben o eliminan de la cadena de bloques. Puede encontrar los detalles en el papel amarillo, pero un ejemplo simple: si una transacción anterior establece un valor en cero y su transacción lo establece en un valor distinto de cero, su transacción requerirá 15000 más gasolina que si la transacción anterior no hubiera ocurrido .
Su billetera no puede predecir cómo cambiará el estado del contrato entre el momento en que envía la transacción y el momento en que se confirma, por lo que utiliza el estado actual del contrato para calcular la cantidad de gas requerida.
Si está enviando una transacción a un contrato ocupado con muchos otros usuarios, debe aumentar el límite de gas más allá de lo que sugiere su billetera. Si la transacción termina consumiendo menos gas que su límite de gas, la diferencia se le reembolsará automáticamente. Además de los contratos incumplidos, no hay nada de malo en simplemente aumentar su límite de gasolina en 100k para ayudar a que se confirme su transacción.
espero que esto ayude
buena vibración
Neo
buena vibración
buena vibración
Neo
amountOutMin
precio del gas. ¿Está sugiriendo que esas entradas en particular podrían causar una disparidad tan grande entre dos txns que, por lo demás, son idénticos?buena vibración
Neo