I’m using ethers.js to poll for contract events and I noticed I’m missing most (if not all) of them when I’m using Infura as my provider.
I made a test program that checks eth_getLogs for my contract on the current block as it comes in, and then again 2 blocks later and again 10 blocks later.
For the current block, I almost never get events back, for 2 blocks ago sometimes and for 10 blocks ago it’s consistently working.
Is this intended behavior?
The funny thing is that if I switch to the Infura websocket, then everything works instantly. Why is the ‘normal’ JSON-RPC eth_getLogs so far behind?