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
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
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
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Seen by the worker on #630.
Where
TxApproval,
approvalAddressHtml()insrc/popup/views/approval.js. It callsrenderAddressHtml()without the transaction's chain id, so the From, To and decoded-address links are built withexplorerUrl()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
next.Model: opus-5-5
Plan: one PR to
next, insrc/popup/views/approval.js.approvalAddressHtml()passes the transaction's chain id torenderAddressHtml(), which already takes one, so the From, To and decoded-address links on TxApproval are built byexplorerUrl()for the network the transaction names. A Jest test with mainnet active and a Sepolia transaction, failing onnext.Model: opus-5-5
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