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. It sent each recipient to Etherscan for its label. 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. An answer that lands after the setting went off is dropped. An open popup takes a change another page saved and draws its screens again. While "Use Blockscout" is off, no address keeps an untracked token. ENS lookups ask only the RPC endpoint. Model: opus-5-5
This commit is contained in:
+12
-1
@@ -17,7 +17,11 @@ const { applyChainSwitchFields } = require("../shared/chainSwitchFields");
|
||||
// the same prohibition reported early, not the guarantee.
|
||||
const { getState, updateState } = require("./state");
|
||||
const { StateUnusableError } = require("../shared/stateSchema");
|
||||
const { refreshBalances, getProvider } = require("../shared/balances");
|
||||
const {
|
||||
refreshBalances,
|
||||
dropUntrackedTokens,
|
||||
getProvider,
|
||||
} = require("../shared/balances");
|
||||
const { debugFetch, log } = require("../shared/log");
|
||||
const {
|
||||
verifySignedTx,
|
||||
@@ -1386,6 +1390,10 @@ const RECENT_BALANCE_REFRESH_MS = Math.floor(BALANCE_REFRESH_PERIOD_MS / 2);
|
||||
// back over them (https://git.eeqj.de/sneak/AutistMask/issues/577).
|
||||
// lastBalanceRefresh is left as the switch set it, so the next tick refreshes
|
||||
// the new network.
|
||||
//
|
||||
// Blockscout may have answered before the user turned "Use Blockscout" off. So
|
||||
// when "Use Blockscout" stored NOW is off, the save drops every token the user
|
||||
// has not tracked.
|
||||
async function backgroundRefresh() {
|
||||
const s = await getState();
|
||||
const now = Date.now();
|
||||
@@ -1423,6 +1431,9 @@ async function backgroundRefresh() {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!fresh.useBlockscout) {
|
||||
dropUntrackedTokens(fresh.wallets, fresh.trackedTokens);
|
||||
}
|
||||
fresh.lastBalanceRefresh = now;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user