reverse ens lookups don't seem to be working anymore #22

Closed
opened 2026-02-27 23:18:24 +01:00 by sneak · 4 comments
Owner

it's just showing the bare plain address, even though it has a .eth reverse

it's just showing the bare plain address, even though it has a .eth reverse
clawbot was assigned by sneak 2026-02-27 23:18:30 +01:00
Author
Owner

the ens names show for addresses where i typed in the ens name when sending, but not for other addresses that definitely have reverse ens names. please fix.

the ens names show for addresses where i typed in the ens name when sending, but not for other addresses that definitely have reverse ens names. please fix.
Collaborator

Taking this — investigating reverse ENS lookup logic now.

Taking this — investigating reverse ENS lookup logic now.
Collaborator

Root cause found and fixed in PR #25.

In both addressDetail.js and addressToken.js, the ENS reverse lookup code only collected one address per transaction — the counterparty based on send/receive direction. This had two bugs:

  1. For contract interactions, the wrong side was resolved (tx.from instead of tx.to)
  2. When clicking into transaction detail, both tx.fromEns and tx.toEns were read from the ENS map, but only one side was ever looked up

The fix: collect ALL unique from and to addresses for ENS resolution instead of just the counterparty. This ensures every displayed address gets a reverse ENS lookup via provider.lookupAddress().

**Root cause found and fixed in PR #25.** In both `addressDetail.js` and `addressToken.js`, the ENS reverse lookup code only collected one address per transaction — the counterparty based on send/receive direction. This had two bugs: 1. For contract interactions, the wrong side was resolved (`tx.from` instead of `tx.to`) 2. When clicking into transaction detail, both `tx.fromEns` and `tx.toEns` were read from the ENS map, but only one side was ever looked up The fix: collect ALL unique `from` and `to` addresses for ENS resolution instead of just the counterparty. This ensures every displayed address gets a reverse ENS lookup via `provider.lookupAddress()`.
Collaborator

Investigating. The ENS reverse resolution code (src/shared/ens.js) uses ethers.JsonRpcProvider.lookupAddress() which should work. Possible causes:

  1. The RPC endpoint (ethereum-rpc.publicnode.com) may not support eth_call to the ENS reverse registrar
  2. Cache corruption — results are cached for 12h in localStorage; a null result gets cached and blocks retries
  3. getProvider() creates a new provider instance each call, which may cause connection/timeout issues

Will investigate further and test with different RPC endpoints.

Investigating. The ENS reverse resolution code (`src/shared/ens.js`) uses `ethers.JsonRpcProvider.lookupAddress()` which should work. Possible causes: 1. The RPC endpoint (`ethereum-rpc.publicnode.com`) may not support `eth_call` to the ENS reverse registrar 2. Cache corruption — results are cached for 12h in localStorage; a `null` result gets cached and blocks retries 3. `getProvider()` creates a new provider instance each call, which may cause connection/timeout issues Will investigate further and test with different RPC endpoints.
sneak closed this issue 2026-02-28 10:05:04 +01:00
Sign in to join this conversation.
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sneak/AutistMask#22
No description provided.