fix: Blockscout and Etherscan lookups are off until the user turns them on (closes #668)
Out of the box the wallet sent the user's addresses to Blockscout and each recipient to Etherscan. Two settings, "Use Blockscout" and "Check recipients on Etherscan", now gate those requests. Both are off in a new install and offered unticked on Welcome and in Settings. While one is off, the screens that relied on it say so in a plain line. Each gated request reads its setting from storage before it asks and when the answer lands, and drops a late answer. An open popup takes another page's change and draws its screens again. While "Use Blockscout" is off, no address keeps an untracked token, and no screen names a token from Blockscout's report. ENS lookups ask only the RPC endpoint. Model: opus-5-5 (implementation); fable-5-1 (prose)
This commit is contained in:
+6
-4
@@ -469,9 +469,11 @@ function mergeNetworkEndpoints(base, ours, theirs) {
|
||||
// exists to remove, just delayed and confined to one page instead of two
|
||||
// (caught by tests/txStatus.test.js). A page's live picture of a field it
|
||||
// does not own goes on being whatever its last loadState() saw, same as
|
||||
// before this fix; only the persisted record is guaranteed current. The
|
||||
// network is the exception: the popup takes a switch another context saved
|
||||
// through `beforeWrite` (followNetworkSwitch() in src/popup/index.js).
|
||||
// before this fix; only the persisted record is guaranteed current. Three
|
||||
// fields are the exceptions: the network, "Use Blockscout" and "Check
|
||||
// recipients on Etherscan". Through `beforeWrite`, the popup takes a change to
|
||||
// any of them that another context saved (followStoredSettings() in
|
||||
// src/popup/index.js).
|
||||
async function saveStateOnce(beforeWrite) {
|
||||
const result = await storageGet("autistmask");
|
||||
// The record in storage right now is about to be merged into and written
|
||||
@@ -603,7 +605,7 @@ function saveState(beforeWrite) {
|
||||
}
|
||||
|
||||
// Give this page the network switch held by `stored`, a record a save of this
|
||||
// page has just read (followNetworkSwitch() in src/popup/index.js calls this
|
||||
// page has just read (followStoredSettings() in src/popup/index.js calls this
|
||||
// from `beforeWrite`), in `state` and in `baseline` alike, as loadState() does
|
||||
// with a whole record. The switch is then not this page's own change, even when
|
||||
// that save fails to write: a later switch back to the previous network still
|
||||
|
||||
Reference in New Issue
Block a user