I am researching the use of the EIP3009 and am noticing that the proposal, though implemented in, say, USDC's smart contracts, is not actually getting used (the functions have never been called in USDC's smart contract.) I have a working theory as to why this is the case, but am not sure if I am correct. It seems like EIP3009 aims to solve for scalability and for the allowance front running attacks, and was supposed to be an improvement on Uniswap's EIP2612. It requires some sort of relayer to listen for the signed messages. I am unsure of whether or not ECRecover contract scheme mitigates the need for a centralized relayer. That being said, with ZKRollups and sharding becoming increasingly popular, EIP3009 has lost its edge as the aforementioned solutions are more robust.
Is the connection between EIP3009 and sharding/ZKRollup alternatives correct? Is this why EIP3009 has basically become dormant?