fix: tracked tokens are kept per network, and bundled picks are offered on mainnet only (closes #523)
check / check (push) Canceled after 0s
e2e / e2e-chrome (push) Canceled after 0s
e2e / e2e-firefox (push) Canceled after 0s

A network switch puts the outgoing network's tracked tokens away in a new
persisted field, networkTrackedTokens, and brings back the incoming network's
list, or an empty one, as endpoints are kept; the background's switch uses the
same function. The two add-token screens offer their common-token picks on
Ethereum Mainnet only. After a switch in Settings, Back renders the screen it
lands on again, and the stack is cut at the first screen that cannot be
rendered from saved state, or at AddressToken for any token but the native
one; the cut stack is saved with the switch. ConfirmTx drawn again keeps the
network it was reviewed on. A contract lookup that answers after a switch adds
nothing.

Model: opus-5-5
This commit was merged in pull request #572.
This commit is contained in:
2026-10-19 11:50:39 +02:00
parent e0e8de8111
commit 9c67e87ae5
14 changed files with 610 additions and 73 deletions
+3 -3
View File
@@ -647,9 +647,9 @@ function init(_ctx) {
}
// The screen describes the network the transaction was reviewed for,
// which Settings may have switched away from since: with this screen
// open, where Back only unhides it, or before the popup reopened onto
// it.
// which Settings may have switched away from since: "Back" from
// Settings after a switch draws this screen again from the saved
// transaction, as a popup reopened onto it does.
if (currentNetwork().chainId !== pendingTx.chainId) {
showSendError(
"The active network changed after this transaction was" +