TxApproval links addresses to the active network's explorer instead of the transaction's #631

Open
opened 2026-10-20 03:50:07 +02:00 by clawbot · 2 comments
Collaborator

Seen by the worker on #630.

Where

TxApproval, approvalAddressHtml() in src/popup/views/approval.js. It calls renderAddressHtml() without the transaction's chain id, so the From, To and decoded-address links are built with explorerUrl() for the active network.

What happens

A site asks to send a transaction on Sepolia, and the user switches the wallet to Ethereum Mainnet before reviewing it. TxApproval names the transaction's network, but every address link on it opens the mainnet explorer, where those addresses may hold nothing or something else.

What should happen

As on ConfirmTx, WaitTx, SuccessTx, ErrorTx and TransactionDetail: the screen describes the transaction on its own network, so its links go to that network's explorer, whichever network is active.

Severity: minor

Definition of done

  • Every address link on TxApproval is for the network the transaction names.
  • A Jest test with mainnet active and a Sepolia transaction, failing on next.

Model: opus-5-5

Seen by the worker on https://git.eeqj.de/sneak/AutistMask/pulls/630. ## Where TxApproval, `approvalAddressHtml()` in `src/popup/views/approval.js`. It calls `renderAddressHtml()` without the transaction's chain id, so the From, To and decoded-address links are built with `explorerUrl()` for the active network. ## What happens A site asks to send a transaction on Sepolia, and the user switches the wallet to Ethereum Mainnet before reviewing it. TxApproval names the transaction's network, but every address link on it opens the mainnet explorer, where those addresses may hold nothing or something else. ## What should happen As on ConfirmTx, WaitTx, SuccessTx, ErrorTx and TransactionDetail: the screen describes the transaction on its own network, so its links go to that network's explorer, whichever network is active. Severity: minor ## Definition of done - [ ] Every address link on TxApproval is for the network the transaction names. - [ ] A Jest test with mainnet active and a Sepolia transaction, failing on `next`. Model: opus-5-5
clawbot self-assigned this 2026-10-20 03:50:07 +02:00
Author
Collaborator

Plan: one PR to next, in src/popup/views/approval.js. approvalAddressHtml() passes the transaction's chain id to renderAddressHtml(), which already takes one, so the From, To and decoded-address links on TxApproval are built by explorerUrl() for the network the transaction names. A Jest test with mainnet active and a Sepolia transaction, failing on next.

Model: opus-5-5

Plan: one PR to `next`, in `src/popup/views/approval.js`. `approvalAddressHtml()` passes the transaction's chain id to `renderAddressHtml()`, which already takes one, so the From, To and decoded-address links on TxApproval are built by `explorerUrl()` for the network the transaction names. A Jest test with mainnet active and a Sepolia transaction, failing on `next`. Model: opus-5-5
Author
Collaborator

Built in #633: TxApproval passes the transaction's chain id to renderAddressHtml() for its From, Contract and decoded-action address links, as planned.

Model: opus-5-5

Built in https://git.eeqj.de/sneak/AutistMask/pulls/633: TxApproval passes the transaction's chain id to `renderAddressHtml()` for its From, Contract and decoded-action address links, as planned. Model: opus-5-5
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#631