Skip to content

bug: eth_getLogs on rpc.testnet.arc.network times out / fails silently for wide block ranges, breaking indexers and dApp analytics #83

Description

@osr21

https://rpc.testnet.arc.network does not return results for eth_getLogs requests spanning the full chain (current head ~43.3M blocks). Requests hang past 60s and never return, with no limit exceeded style error.

Reproduce (ethers v6):

const p = new ethers.JsonRpcProvider('https://rpc.testnet.arc.network');
// any deployed contract, e.g. our LendingPool 0x4dc7A9BbcB1139cDeDf5274272F541461ef4d20E
await p.getLogs({
  address: '0x4dc7A9BbcB1139cDeDf5274272F541461ef4d20E',
  topics: [ethers.id('Supply(address,address,uint256)')],
  fromBlock: 0,
  toBlock: 'latest',
});   // → hangs > 60s, never resolves

Workarounds we had to use:

  • Chunking to ≤10k blocks — still 4000+ sequential requests to scan history; impractical from a browser
  • Falling back to the Arcscan v2 REST API to list contract activity

Impact:

  • Subgraph/indexer cold-starts require scanning from deploy block — currently not viable against the public RPC
  • Any dApp showing historical events (liquidations feed, position history, leaderboards) can't use the public RPC directly
  • useLogs-style React hooks degrade to "mock data" fallbacks

Asks:

  1. Document the actual eth_getLogs block-range and result-size limits in the RPC docs — currently unstated
  2. Return a clear error (e.g. -32005 limit exceeded) instead of timing out so clients can chunk automatically
  3. Consider raising the limit, or recommend a partner archive node / subgraph endpoint for indexing workloads

Discovered while building ArcLend.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    ELComponent: ELbugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions