GOOGLE ADS

martes, 19 de abril de 2022

Anule la interacción del contrato gasPrice en ethers.js

¿Cómo puedo configurar gasPrice en una interacción de contrato usando ethers.js? Estoy tratando de anular gasPriceel código a continuación:

let txPromise = contract.populateTransaction.runAdventureVRF(0, false, { gasPrice: 800000 })
walletSigner.sendTransaction(txPromise)

y estoy recibiendo el error transaction underpriced. Si trato de iniciar sesión en txPromise.overrides, no está definido, lo que me hace pensar que el precio del gas nunca se establece.

documentos

código adicional

const provider = new ethers.providers.AlchemyProvider('matic', process.env.ALCHEMY_API_KEY)
const wallet = new ethers.Wallet(process.env.PK)
const abi = '[{"inputs":[{"internalType":"uint256","name":"_teamId","type":"uint256"},{"internalType":"bool","name":"_energy","type":"bool"}],"name":"runAdventureVRF","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"}]'
const contract = new ethers.Contract(address, abi, provider);
let walletSigner = wallet.connect(provider)


Solución del problema

One solution is to add the gas price as an override to your transaction:

walletSigner.sendTransaction(txPromise, {gasPrice: ethers.utils.parseUnits('100', 'gwei'), gasLimit: 1000000});

Esta es la única solución que pude encontrar ya getGasPrice()que estimateGas()devolvía una matriz json vacía. No sé si tiene que ver con el proveedor (alquimia) o por qué están fallando.

La sintaxis específica para anular el precio del gas está aquí:

Los éteres anulan el precio del gas de transacción manualmente

También está en los siguientes documentos de Ethers, pero no tan claro (si no conoce la sintaxis):

Llamadas de función de contrato de éteres

En el momento de esta publicación, el valor de gas predeterminado de todas mis transacciones es de 1,5 gwei, que no es lo suficientemente cerca en la red matic. Esto también colgará la transacción indefinidamente hasta que envíe una nueva transacción con el mismo valor de nonce. Incluso si resuelve su problema de gas, hasta que se ocupe de la transacción colgada, otras transacciones se acumularán detrás de ella.

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...