Estoy escuchando un contrato específico en la cadena de bloques y cuando ocurre cierto evento en el contrato, envío un TX. En el mejor de los casos, mi TX se extrae en el siguiente bloque del evento específico que estoy usando como disparador.
En el explorador de blockchain, veo algunas direcciones cuyos TX se extraen exactamente en el mismo bloque que sus eventos desencadenantes.
Mi pregunta es ¿cómo puedo enviar un TX para que se extraiga en el mismo bloque que el evento de contrato emitido que estoy usando como disparador?
Actualmente estoy usando ethers.js de la siguiente manera
filter = {address: "0x...."} // Contract address that I am listening to // Start listening provider.on(filter, async (_event) => { // Do something with _event when a TX is emitted // Sign a raw TX if certain criteria is met await send_tx(tx_data, gasPrice, gasLimit) })