I’m making batched calls to infura and my own parity nodes. They all worked for a long while, then recently I noticed batched calls to get token symbol for multiple tokens quit working only to infura. The call to get a token symbol will work unbatched. It used to work batched to infura. It still works exactly as is when I make the call directly to my own parity node. It suddenly stopped working recently and the only change I can see is that I’m now pointing to the new infura endpoint with the project ID instead of the old key style.
Here’s payload I send that works to my parity node but not Infura.
[ { 'id': 123, 'jsonrpc': '2.0', 'method': 'eth_call', 'params': [ { 'data': '0x95d89b410000000000000000000000000d8775f648430679a709e98d2b0cb6250d2887ef', 'to': '0x0d8775f648430679a709e98d2b0cb6250d2887ef' } ] } ]
Here’s the response I get when I batch.
[ { 'jsonrpc': '2.0', 'id': 123, 'error': { 'code': -32602, 'message': 'missing value for required argument 1' } } ]
Same call to my parity node gives me this response:
[ { 'jsonrpc': '2.0', 'result': '0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000034241540000000000000000000000000000000000000000000000000000000000', 'id': 123 } ]
Also note that I tested batching eth_getBlockByHash calls to infura and it’s working just fine. I’m not sure why.