Podría estar malinterpretando algo sobre la forma en que funciona EVM, pero estoy ejecutando un script que realiza un intercambio de tokens usando el SDK de Uniswap y luego registra los saldos de los 2 tokens después del hecho en una base de datos/en la consola. De forma intermitente, la función balanceOf del contrato ERC20 devolverá 0 después del intercambio, aunque sea exitoso y puedo ver en el explorador que el saldo no es 0.
Según tengo entendido, una vez que se emite el evento de transferencia en el swap y se mina la transacción (estoy esperando esto), el saldo debe actualizarse para la dirección.
Ejemplo de código a continuación:
const swapTx = await routerContract.swapExactTokensForTokens(...params.args); const swapReceipt = await swapTx.wait(); const token1Bal = await token1Contract.balanceOf(myAddress); const token2Bal = await token2Contract.balanceOf(myAddress); console.log(token1Bal); //should be 0 console.log(token2Bal); //should not be 0, but sometimes is returning as 0???Gracias.