Found by a deployability verification of next at 75a5fa9, by grep and by observation in a real browser.
src/shared/networks.js defines nativeCurrency (ETH / SepoliaETH) and nothing reads it — zero call sites. Every native-token label in the UI is a hardcoded "ETH", so on Sepolia the balance, the value and the fee all read ETH rather than SepoliaETH.
Cosmetic, but it is dead config that looks live: the next reader will reasonably assume the label is driven by that field and change it there, with no effect.
Checked and NOT a problem: the worse adjacent risk does not exist — getPrice() returns null on testnet, so testnet funds are never given a bogus USD value.
Definition of done
Either the native-token label is driven by nativeCurrency, or the field is removed. Do not leave config that nothing consumes.
If driven: a Sepolia balance, value and fee all read SepoliaETH, asserted by test.
make check green.
Found by a deployability verification of `next` at `75a5fa9`, by grep and by observation in a real browser.
`src/shared/networks.js` defines `nativeCurrency` (`ETH` / `SepoliaETH`) and **nothing reads it** — zero call sites. Every native-token label in the UI is a hardcoded `"ETH"`, so on Sepolia the balance, the value and the fee all read `ETH` rather than `SepoliaETH`.
Cosmetic, but it is dead config that looks live: the next reader will reasonably assume the label is driven by that field and change it there, with no effect.
Checked and NOT a problem: the worse adjacent risk does not exist — `getPrice()` returns null on testnet, so testnet funds are never given a bogus USD value.
## Definition of done
- [ ] Either the native-token label is driven by `nativeCurrency`, or the field is removed. Do not leave config that nothing consumes.
- [ ] If driven: a Sepolia balance, value and fee all read `SepoliaETH`, asserted by test.
- [ ] `make check` green.
Plan. One PR on a branch cut from next, base next.
Of the issue's two options, drive the label: every place that shows the native token's symbol (balances, value, fee, reserve, send and confirm screens, approval screens, history) reads it from the active network's nativeCurrency through one small helper, instead of a hardcoded "ETH". This holds whichever way #165 (Sepolia, the owner's decision) goes: on mainnet the label stays ETH.
Not touched: token symbols, and swap lines where ETH names the router's native-currency convention rather than the network's coin.
Tests: on Sepolia the balance, value and fee read SepoliaETH; on mainnet they still read ETH.
Model: opus-5-5
Plan. One PR on a branch cut from `next`, base `next`.
- Of the issue's two options, drive the label: every place that shows the native token's symbol (balances, value, fee, reserve, send and confirm screens, approval screens, history) reads it from the active network's `nativeCurrency` through one small helper, instead of a hardcoded `"ETH"`. This holds whichever way https://git.eeqj.de/sneak/AutistMask/issues/165 (Sepolia, the owner's decision) goes: on mainnet the label stays `ETH`.
- Not touched: token symbols, and swap lines where `ETH` names the router's native-currency convention rather than the network's coin.
- Tests: on Sepolia the balance, value and fee read `SepoliaETH`; on mainnet they still read `ETH`.
Model: opus-5-5
Built in #442: the native token's label is now read from the active network's nativeCurrency, so on Sepolia the balance, value, fee and history read SepoliaETH; mainnet still reads ETH. The PR body lists the fixed wording left as ETH.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/AutistMask/pulls/442: the native token's label is now read from the active network's `nativeCurrency`, so on Sepolia the balance, value, fee and history read `SepoliaETH`; mainnet still reads `ETH`. The PR body lists the fixed wording left as `ETH`.
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.
Found by a deployability verification of
nextat75a5fa9, by grep and by observation in a real browser.src/shared/networks.jsdefinesnativeCurrency(ETH/SepoliaETH) and nothing reads it — zero call sites. Every native-token label in the UI is a hardcoded"ETH", so on Sepolia the balance, the value and the fee all readETHrather thanSepoliaETH.Cosmetic, but it is dead config that looks live: the next reader will reasonably assume the label is driven by that field and change it there, with no effect.
Checked and NOT a problem: the worse adjacent risk does not exist —
getPrice()returns null on testnet, so testnet funds are never given a bogus USD value.Definition of done
nativeCurrency, or the field is removed. Do not leave config that nothing consumes.SepoliaETH, asserted by test.make checkgreen.clawbot referenced this issue2026-10-03 14:21:22 +02:00
Plan. One PR on a branch cut from
next, basenext.nativeCurrencythrough one small helper, instead of a hardcoded"ETH". This holds whichever way #165 (Sepolia, the owner's decision) goes: on mainnet the label staysETH.ETHnames the router's native-currency convention rather than the network's coin.SepoliaETH; on mainnet they still readETH.Model: opus-5-5
Built in #442: the native token's label is now read from the active network's
nativeCurrency, so on Sepolia the balance, value, fee and history readSepoliaETH; mainnet still readsETH. The PR body lists the fixed wording left asETH.Model: opus-5-5