He estado tratando de ejecutar una transacción en Polygon pero ha fallado con el siguiente error:
reason: 'processing response error', code: 'SERVER_ERROR', body: '{"jsonrpc":"2.0","id":89,"error":{"code":-32000,"message":"transaction underpriced"}}',Este error solo ocurre en Polygon y solo ocurre cuando se usa el SDK de Gnosis. Lo probé usando la interfaz de usuario de Gnosis y se ejecuta con éxito. También lo probé usando Gnosis SDK en rinkeby y funciona también.
Aquí está el código que falla:
const infuraProvider = new ethers.providers.JsonRpcProvider(RPC_PROVIDER); const wallet = new ethers.Wallet(`0x${PRIVATE_KEY}`, infuraProvider); const owner1 = wallet.connect(infuraProvider); const ethAdapterOwner1 = new EthersAdapter({ ethers, signer: owner1 }); const safeSdkInstance = await Safe.create({ ethAdapter: ethAdapterOwner1, safeAddress: GNOSIS_SAFE_ADDR, }); const contract = new ethers.Contract(contractJson.address, contractJson.abi, owner1); const tx = { to: contract.address, value: '0', data: contract.interface.encodeFunctionData('mint', ['[wallet address here]', '[token id here]']), }; const safeTransaction = await safeSdkInstance.createTransaction(tx); const executeTxResponse = await safeSdkInstance.executeTransaction(safeTransaction);Otras cosas que he probado:
Me di cuenta de que incluso al proporcionar un precio de gas, el error que recibo dice que la transacción proporcionada tenía un precio de gas nulo. Pero al registrar el objeto safeTransaction, muestra que la función createTransaction genera un precio de gas. Entonces, algo debe estar yendo mal en la función executeTransaction