603 Commits
Author SHA1 Message Date
zeekay 608243e03a refactor(pchain): Subnet -> Net; add the mainnet explorer ingress
Drops "subnet" from the P-chain surface, which is not our vocabulary:

    useSubnets          -> useNets      (useSubnets.ts deleted)
    PChainSubnet        -> PChainNet
    GetSubnetsResponse  -> GetNetsResponse

One "subnet" deliberately survives — `subnetID` in lib/api/pchain/wire.spec.ts.
That is the UPSTREAM P-chain wire field, read through a raw
Record<string,string> cast, so renaming it would break response parsing. The
rule is about our own language, not about lying to the wire.

Also adds deploy/k8s/explore-fe/ingress-mainnet.yaml. explore.lux.network is
served by the Next.js deployment explore-fe-lux (ghcr.io/luxfi/explore), not
the Go `explorer` binary, which only backs api-explore.lux.network. This
replaces drift where the plain Ingress pointed explore.lux.network at
explorer:80 — the Go binary's embedded, stale build.

Two pre-commit gates had to be satisfied, both legitimate:
- eslint max-len: three className lines (BridgePage 230 chars, ChainRow 188 x2)
  exceeded the 160 limit; wrapped.
- cspell: `platformvm` flagged unknown. It is the P-chain VM's actual name, so
  it is added to cspell.jsonc `words` rather than renamed in code. (Note for
  the next person: .cspell-words.txt is listed under ignorePaths — it is a file
  excluded from checking, NOT the dictionary. Adding a word there does nothing.)

Verified: tsc --noEmit reports ZERO errors in every file this commit touches and
zero stale-symbol errors, so the rename resolves completely. The project's 223
pre-existing errors are all in untouched files and unchanged by this commit.
2026-07-26 09:11:38 -07:00
zeekayandHanzo Dev e53f9cd22f fix(explore): reconcile chainIds to live/canonical + migrate chain RPC to /v1 (v1.1.7)
chainId reconciliation (registry = live chains = genesis LP-018 map, one way):
- Pars mainnet 7070 -> 494949 (live api.pars.network eth_chainId=0x78d65,
  net_version=494949); Pars testnet 7071 -> 494950, devnet 7072 -> 494951
  (matches genesis configs/lp182_chain_id_map.go 4949xx scheme).
- Lux devnet 96370 -> 96367 (live api.lux-dev.network reports 96367).
- chainRegistry.spec.ts now asserts Pars 494949 (was stale-7070 assert).
- Also fixed: configmap-mainnet Pars NETWORK_ID, configmap-testnet Pars
  NETWORK_ID, branded_build.sh, tools/send_test_txs.py, well-known/explore.json
  (regenerated from the fixed registry).

RPC /ext/bc/<alias>/rpc -> /v1/bc/C/rpc (gateway canonical; each sovereign L1
serves its own C-Chain at /v1/bc/C/rpc). Verified returning blocks before switch:
Lux/Zoo/Hanzo/Pars mainnet + Lux testnet. Kept on /ext (their /v1 not up yet):
Lux devnet, brand testnets, local-node compose/test-tool URLs. P-chain proxy
now dials /v1/bc/P. useChainHeights + luxnet/instance no longer strip
/ext/bc/C/rpc; they use the env RPC URL / origin directly so C-chain height +
luxnet SDK work under /v1.

Co-authored-by: Hanzo Dev <[email protected]>
2026-07-14 10:06:17 -07:00
zeekay eac4772aab feat(explore/primary-vms): handle all 10 Lux-primary VM types + route D-Chain to the DEX UI
The Lux primary network is a family of VM-specialized chains (C=EVM, X=UTXO,
D=DEX, P=platform, + A/B/Q/T/Z/G/K/O/R/I/M), mirrored from node/node/vms.go.

- configs/app/primaryChains.ts: single source of truth (PRIMARY_VMS, getPrimaryVm,
  per-VM `view`, hasBespokeView, chainsAwaitingBespokeView). Decomplects the two
  lists that duplicated this — ChainsPage + ChainDetailPage now consume it
  (ChainDetailPage drops ~110 lines of copy).
- D-Chain (DexVM) renders the DEX order-book UI (ui/dex/DexPage) via view:'dex',
  not a generic block list. C-Chain=EVM core, P-Chain=platform/validators,
  X-Chain + the custom VMs render the generic detail fallback (info + indexer DAG
  stats + validators) — graceful, never blank. chainsAwaitingBespokeView() FLAGS
  the backlog: X-Chain (UTXO) + the 11 custom VMs still need a bespoke view.
- These VMs are Lux-primary, so the primary-VM surfaces (Chains/DEX/Bridge/AI
  Compute nav + /chains, /chains/[slug], /dex pages) gate on
  isPrimaryNetworkExplorer(). ui/shared/PrimaryNetworkGuard backstops direct-URL
  access so the VMs never leak onto a brand explorer (Hanzo/Zoo/Pars).
- Tests: configs/app/primaryChains.spec.ts (26 cases) — registry, per-VM view,
  bespoke-view flag, and the lux-only visibility keystone. 38/38 green with the
  existing chainRegistry.spec.ts.
2026-06-28 15:08:34 -07:00
zeekay 72aa6a2ed4 test(explore/registry): prove chain-visibility rule (lux=all, brands=own-only)
12 cases over simulated request hosts: lux primary lists every L1 incl Osage;
hanzo/zoo/pars/osage are registered L2s, never the primary explorer (no
lux-primary / cross-L1 leak), switcher own-only; pars chainId 7070; keystone —
unregistered white-label hosts are never the primary explorer.
2026-06-28 14:40:11 -07:00
zeekay 4b0fd56069 fix(explore/registry): enforce chain-visibility rule — lux=all, brands=own-only
- isPrimaryNetworkExplorer(): require !isWhiteLabelMode() so unregistered
  white-label hosts (explore.zoo.network, explore.pars.network) stop rendering
  the Lux primary-network panels + cross-L1 list (NetworkOverview). Decomplects
  'is this the primary explorer' from 'is the current chain EVM'.
- register explore.zoo.network/.ngo + explore.pars.network as their own L2
  hostnames -> own-scoped chain/network switcher, brand parity with hanzo.
- add Osage L1 (mainnet 1872 / testnet 1871 / devnet 1873) + OSAGE_BRANDING so
  the universal Lux explorer lists it.
- Pars chainId -> deployed truth (env + backend chains.yaml): mainnet
  494949->7070, devnet 494951->7072.
2026-06-28 14:32:50 -07:00
zooqueen c605b213cd fix(explorer): brand explorers show ONLY their own chain; primary-network panels are Lux-only
isPrimaryNetworkExplorer() (getCurrentChain().vm==='EVM') gates the homepage's
validator metrics strip + the Chain-Health grid (15 primary-network chains +
cross-L1 list). Lux primary explorer (explore.lux.network +test/+dev) shows them
all; brand L2 explorers (Hanzo/Zoo/SPC/Pars) show only Hero + Stats + their own
latest blocks/txns. (Blockscout references already brand-driven via NETWORK_NAME.)
2026-06-23 08:39:07 -07:00
zooqueen a0dc379690 fix(hanzo): register explore.hanzo.network hosts + real Hanzo brand; testnet chainId 36962; single header per breakpoint
- Add explore.hanzo.network / explore.hanzo.ai (+ test/dev) to the Hanzo
  chainRegistry hostnames so isWhiteLabelMode()==false on those hosts →
  HANZO_BRANDING (real geometric-H logo) resolves and the network/chain
  selectors enable (the dropdown was empty + showed the generic triangle).
- Hanzo testnet chainId 36964 → 36962 (LP-018; was duplicated with devnet).
- TopBar is desktop-only (hidden lg:block); HeaderMobile already block lg:hidden
  → exactly one header per breakpoint (was a double header < lg).
2026-06-22 22:22:14 -07:00
zeekay 1ff5ac4bf3 brand: audit, rip non-lux references, add .well-known/explore.json
Per the no-crossover rule, explorer source contains only Lux brand data.
Per-chain identity (subnet logo, chain name) preserved as network metadata.

Removed:
- .env.example.{hanzo,zoo,pars} — non-Lux brand build recipes
- Dockerfile.liquidity — regulated US securities brand, must not appear in OSS
- Third-party-domain hostnames from chainRegistry.ts (explore.zoo.ngo etc.)
- Non-Lux hostname suffixes from lib/white-label.ts (.hanzo.ai, .zoo.network, etc.)
- "" mention from lib/requestHost.ts comment

Kept (chain identity on Lux primary network):
- ZOO/HANZO/SPC/PARS_BRANDING constants in chainRegistry.ts
- explore-{org}.lux.network hostnames (Lux-served subnet explorers)
- DeFi terms ( Provider, add) — generic finance vocab

Added:
- public/.well-known/explore.json — federation manifest
- scripts/generate-well-known.js — regenerates manifest from chain registry
- Wired into npm build / build:next scripts
- BRAND-AUDIT.md — survey + decisions
2026-05-29 14:30:23 -07:00
zeekay 4af015fc50 feat(brand): every brand field env-overridable; drop hardcoded "Lux Explorer"
ChainBranding gains a productName field (default "Explorer"). New helper
applyBrandEnvOverrides(b) layers NEXT_PUBLIC_BRAND_* env vars over the
bundled defaults so a deploy can rebrand any field — name, org, URLs,
logo SVG, favicon, product label — without rebuilding the bundle.

Operators set:
  NEXT_PUBLIC_BRAND_NAME            " Network"
  NEXT_PUBLIC_BRAND_PRODUCT_NAME    "Explorer"
  NEXT_PUBLIC_BRAND_ORG_NAME        " Labs"
  NEXT_PUBLIC_BRAND_LOGO_CONTENT    <inline svg>
  ...
to override; empty values fall through.

TopBar now reads chain.branding.productName instead of the hardcoded
"Lux Explorer" string. getCurrentChain() applies env overrides on every
read so a brand can be flipped at runtime via env / k8s ConfigMap.

The bundled LUX, ZOO, HANZO, SPC, PARS defaults stay as-is for OSS
shipping; the white-label "other" path keeps reading from
NEXT_PUBLIC_NETWORK_* (legacy keys) as well.
2026-05-06 10:49:30 -07:00
zeekay b035f605a4 feat: multi-brand build matrix + white-label support
Build the same source four ways from one repo:

- ghcr.io/luxfi/explore         (lux brand, default)
- ghcr.io/luxfi/explore-hanzo   (hanzo brand)
- ghcr.io/luxfi/explore-zoo     (zoo brand)
- ghcr.io/luxfi/explore-pars    (pars brand)

Each is built for linux/amd64 + linux/arm64 in parallel on hanzo ARC
runners (no QEMU), then merged into a multi-arch manifest.

Brand selection at build time via NEXT_PUBLIC_BRAND, with all
brand-specific assets (logo, favicon, theme, IAM URL) loaded from
NEXT_PUBLIC_* env vars — no hardcoded brand strings in source.

External operators set NEXT_PUBLIC_BRAND=other and supply their own
NEXT_PUBLIC_* env vars (see .env.example.external). The repo carries
no third-party trademarks.

Files:
- lib/white-label.ts                             brand detection + helpers
- .env.example.{lux,hanzo,zoo,pars,external}     deploy templates
- .github/workflows/build-lux.yml                4-brand × 2-arch matrix
- Dockerfile                                     accept NEXT_PUBLIC_BRAND
- configs/app/chainRegistry.ts                   add SPC + Pars devnet,
                                                 chainId fields, white-label
                                                 chain builder
2026-05-05 20:50:55 -07:00
zeekay 2cef4f310d explore: scrub Avalabs IP + liquidity cross-contamination
Remove  Network chain entries (mainnet/testnet/devnet/localnet)
and LIQUIDITY_BRANDING constant from chainRegistry.ts. Lux explorer must
not register / hostnames. Replace "Liquid EVM Explorer"
top-bar tagline with "Lux Explorer".
2026-05-05 20:50:55 -07:00
zeekay 3813d03918 feat: explorer FE — stateless SSR, chain selector, localnet, registry cleanup 2026-03-01 18:00:00 -08:00
zeekay 84af44a4f5 fix: remove all user-visible Blockscout references
- Issue URL → github.com/luxfi/explore
- API docs links → docs.lux.network
- Contract verification → local route instead of vera.blockscout.com
- Discord link → discord.gg/luxnetwork
- JSON-LD script ID → lux-explorer-product-schema
- RPC API description → Lux Network branding
- Rollbar instance → .lux.network domain support
2026-03-02 10:43:36 -08:00
zeekay 08cddc0fcb brand: remove all Blockscout branding, replace with Lux Explorer
- Gas tracker FAQ: Blockscout → Lux Explorer
- Chain config web3/chains.ts: explorer name → Lux Explorer
- Auth screens: Blockscout account → Lux account
- Contract verification: Blockscout supports → Lux Explorer supports
- API docs: Blockscout core API → Lux Explorer Core API
- Rewards/merits: Blockscout Merits → Lux Explorer Rewards
- Marketplace disclaimer and integration icons
- Address verification: [email protected] → [email protected]
- Chart export filenames: Blockscout chart/stats → Lux Explorer
- OTEL service name: blockscout_frontend → lux_explorer_frontend
- Dev container: blockscout dev → lux explorer dev
2026-02-27 22:17:37 -08:00
zeekay 008ef3d93e fix: SSR branding — use NEXT_PUBLIC_APP_HOST for correct per-chain logo/favicon
- getHostname() reads NEXT_PUBLIC_APP_HOST via getEnvValue during SSR
  so each explorer instance shows its own branding from first paint
- _document.tsx generates dynamic SVG favicon from chain branding
2026-02-27 14:48:03 -08:00
zeekay cbe3f2adb2 fix: use real brand logos from each project's logo repo
- Lux: triangle from ~/work/lux/logo/
- Zoo: three overlapping circles from ~/work/zoo/logo/
- Hanzo: geometric H from ~/work/hanzo/logo/
- SPC: unicorn emoji per user request
- Pars: 8-pointed star from ~/work/pars/logo/
- Changed branding to multi-path SVGs (logoViewBox + logoContent)
2026-02-27 13:13:13 -08:00
zeekay d6fe894153 feat: per-chain branding — logo, favicon, brand name customizable
- Add ChainBranding interface with logoSvg, faviconSvg, brandName per chain
- Each chain (Lux, Zoo, Hanzo, SPC, Pars) gets distinct icon + brand name
- TopBar renders chain-specific logo and brand name from registry
- ChainSwitcher shows per-chain icons in dropdown items
- Dynamic favicon via useChainFavicon hook (swaps SVG favicon on mount)
- Page title uses chain branding via getNetworkTitle()
2026-02-27 13:04:06 -08:00
zeekay 8bfc8f40bd feat: multi-tenant chain registry with hostname auto-detection
One image serves all chains — ChainSwitcher and NetworkSelector
auto-detect current chain/network from window.location.hostname.
Chain registry at configs/app/chainRegistry.ts defines all chains
across mainnet/testnet/devnet.
2026-02-27 11:33:08 -08:00
tom goriunovandzeekay aa349ab54f Name service: use protocol list instead of chain ID (#3283)
* Name service: use protocol list instead of chain ID

Resolves #3281

* fix envs for demo
2026-02-24 01:12:57 -08:00
zooqueen 6c5d229352 feat(auth): add IAM login via hanzo.id for user accounts
Add OIDC authentication support using hanzo.id as the identity
provider for Lux Explorer user accounts.

- Add 'oidc' auth provider type alongside existing auth0/dynamic
- AuthGuardOidc: redirect-based OIDC login flow with CSRF state
- pages/auth/callback: authorization code exchange, token storage
- useApiFetch: pass Bearer token for OIDC-authenticated API calls
- account feature config: support NEXT_PUBLIC_OIDC_SERVER_URL and
  NEXT_PUBLIC_OIDC_CLIENT_ID environment variables
- .env.production: configure hanzo.id as default OIDC provider
2026-02-22 15:15:24 -08:00
zeekay b5c9960bb2 Merge upstream blockscout/frontend (29 commits)
Sync with upstream blockscout frontend, keeping Lux Network branding
in footer and documentation links. Added llms.txt link from upstream.
2026-02-22 00:59:24 -08:00
tom goriunovandGitHub e6e83ee4e7 Add cross-chain transaction tracking and visualization (#3227)
* envs and feature setup

* home page layout

* cross-chain txs page

* cross-chain transfers page

* cross-chain transfers on tx page

* cross-chain messages on tx page

* cross-chain tx page

* cross-chain tx details token transfers

* stats and counters for lists

* migrate to new API version

* add swagger

* mobile lists

* placeholder views on address page

* tests

* fix adaptive tabs initial state when there is only one tab in the list

* tweaks

* bug fixes

* fix tests

* update screenshots

* migrate to new api version

* add chain label tooltip, copy button to txs in lists and same address highlight

* list views on address page

* fix tests

* fix links to current address in the list views

* update tooltips

* update tables layout

* review fixes

* fix spelling

* update screenshots

* update screenshot
2026-02-19 15:14:32 +01:00
tom goriunovandGitHub 401dc58402 Smart wallet auth (#3220)
* basic login button implementation

* refactoring and add dynamic auth button to the other pages

* connect wallet without authenticating an user

* login and logout user in blockscout account

* refactoring and RPC overrides

* authenticate user with connected wallet

* add ENS to profile button

* override evm chains and fix contract write with waas wallet

* disconnect wallet and fix docker build

* add dynamic imports to components that use web3 wallet packages

* refactor user profile directory

* clean up

* tweaks

* update pw ci script

* fix "connect wallet" button behavior

* handle linking email to profile with dynamic provider

* fix test

* async loading web3 hooks and remove dynamic loading from components that use them

* fix pw tests

* add account navigation in horizontal layout when auth provider is dynamic

* fix address verification modal

* review fixes

* spelling fixes
2026-02-18 19:42:44 +01:00
Igor StuevandGitHub 4608f617c3 My account: API keys section disclaimer (#3249) 2026-02-09 14:57:50 +01:00
2ff074ee3b Release v2.6.1 (#3247)
* essential dapps config: switch to concurrent request and and add worker termination

* fix rollbar error logging and enable it for server errors

* fix for tokens request on address page

* update generator script for multichain config

* fix hot contracts interval select

* update screenshot

* update screenshots

* pass chainId to trackTransaction for essential dapps

* fix vertical alignment in hot contracts table

* bump next.js to v15.5.10

---------

Co-authored-by: isstuev <[email protected]>
Co-authored-by: Max Alekseenko <[email protected]>
2026-02-03 18:05:00 +01:00
zeekay 83375ef557 Rebrand Lux explorer: disable Blockscout title suffix, ads, update footer links
- Disable 'Blockscout' title suffix by default (NEXT_PUBLIC_PROMOTE_BLOCKSCOUT_IN_TITLE)
- Disable banner and text ads by default
- Update footer links to point to Lux Network resources
- Change GitHub links from blockscout to luxfi
2026-01-23 16:02:47 -08:00
tom 290b66bb72 [skip ci] fix essential dapps config for main preset 2026-01-22 12:08:31 +01:00
Max AlekseenkoandGitHub ee248bab90 Support essential dapps in DeFi dropdown (#3218) 2026-01-09 13:08:52 +01:00
Igor StuevandGitHub fa5dbe232a Zilliqa chain type: support for ZRC-2 (#3202)
* Zilliqa chain type: support for ZRC-2

* add zrc-2 address

* add socket support and token select info

* add token types to watchlist notification settings

* add token tag

* add is fungible helper

* aboba

* review fixes
2026-01-05 17:18:37 +01:00
Igor StuevandGitHub 48df793a6e add variable for exit-only consensus (#3207) 2026-01-05 15:53:29 +01:00
Igor StuevandGitHub 152eeb8595 Private mode (#3138)
* Private mode

* review fixes
2026-01-05 13:32:05 +01:00
tom goriunovandGitHub 1c025b26fb Add possibility to change timestamp format (#3201)
* add global setting to change between local and utc time

* add control to change time format on detailed views

* tweaks

* adapt uptime graphs to work with utc time from settings

* fix tests

* add maxDiffPixels for SearchResults test

* fix test
2026-01-05 13:19:47 +01:00
tom goriunovandGitHub 266d167419 Smart contracts: get supported languages for filter from the API instead of ENV (#3200)
* Smart contracts: get supported languages for filter from the API instead of ENV

Resolves #3158

* fix ts and test

* add test.slow() to Block test
2026-01-05 13:19:28 +01:00
Max AlekseenkoandGitHub a1f65b5d36 Move Swap essential dapp to iframe (#3167) 2026-01-02 13:41:10 +01:00
tom goriunovandGitHub d3d2afc903 Fix REST API docs request interceptor URL replacement (#3196)
fix request interceptor for REST API docs snippet
2025-12-23 08:33:41 +01:00
tom goriunovandGitHub dc9f400fa8 Hot contracts table (#3165)
* page layout

* add interval filter

* fix navigation

* value formatting and test

* fix: correct empty state message from 'pools' to 'hot contracts'

* update screenshots

* add disabled state to tag select and fix some bugs

* fix screenshot

* update select texts
2025-12-18 16:02:53 +01:00
tom goriunovandGitHub 5627820db8 Highlights banners on home page (#3175)
* basic implementation

* fix loading state of image

* tests

* try to fix flaky tests
2025-12-18 12:21:53 +01:00
tom goriunovandGitHub 5d337fc555 Migrate from Jest to Vitest (#3173)
* first part of transition

* second part of transition

* remove jest

* bump up node version and playwright version

* update all screenshots because of the new playwright version

* fix tests

* one more screenshot update
2025-12-10 19:21:07 +01:00
tom goriunovandGitHub a8252d54ad Promote Credit Wallet in WalletConnect for all Creditcoin chains (#3166)
Resolves #3162
2025-12-08 19:10:32 +01:00
9a977d191b Fixes for release v2.5.0 (#3142)
* fail the app start if multichain config or essential dapps config were not generated properly

* add timeouts for essential dapps and multichain config generators

* fix "add to wallet" button in address tokens table

* [skip ci] update docs

* fix tx tables when there are no fee and value columns

* add support for promoted multichain provider

* fixes

* change action button logic

* fix tests

* fix

* hide "add network" button for multichain

* shorten the amount of txs on multichain homepage

* change name formatting for multichain button

* add bright color variants and lg size for badges

* fix y-axis margin calculation for chart with custom tick formatter

* superchain bug fixes

* bump versions of react and nextjs

* update screenshot

* bump dappscout-iframe

---------

Co-authored-by: Max Alekseenko <[email protected]>
2025-12-04 18:44:01 +01:00
Igor StuevandGitHub 0622296387 add zetachain swagger (#3155) 2025-12-01 21:35:42 +07:00
edc54514f1 OP Superchain explorer: aggregated views (#3040)
* refactor widgets on home page

* coming soon placeholder component

* top accounts page

* contract data

* address ERC-20 tokens list

* chain filter for address ERC-20 tokens

* token select for address detailed view

* address details fields

* tokens table

* stats widgets on home page

* chain indicators graph on the home page

* quick search

* search results all tab

* tabs and chain select on search results page

* search results mobile view

* add contract info to search and address details

* add text filter for tokens and search improvements

* load all results inside tab on search results page

* token balance info

* add support for domains in the full search

* Multichain explorer

Resolves #2989

* add envs validator for multichain

* add some tests

* fix search bar on search results page on mobile

* home stats fixes

* fix ts

* optimize amount of queries on address page

* add more contract info on address page

* add enter key hint to search input

* fix tests

* fix test

* update bg.primary css-variable on color theme change

* sitemap for multichain

* txs page: render first tab if blob tab is not available on the chain

* filter out in active chains from chain select on address page and user ops page

* add chain icon to advanced filter table

* fix tooltip on entity with shield

* fix ts

* show contract implementations

* fixes

* add chain icon to all lists

* refactor zetachain chains config type

* use chain id as primary option instead of chain slug

* refactor chain config type for multichain and essential dapps

* refactor chain icon and chain select

* rename chain-slug in chain_slug

* change default radius of chain icon and update screenshots for multichain tests

* change conditions for "isContract" and "isVerified"

* test fixes

* make shield optional for external chain entities

* add chain icon to approvals lists

* add stats page for multichain

* add chain postfix to chart .png and .csv assets name

* fix tests

* sync verified contracts language filter and fix loading state in the search results page

* fix sol2uml diagram and csv export

* regcred from helmfile for review

* link fixes

* fix state for unknown address

* fix incorrect chain in the context during spa transition to the same route on different chain

* add links to stats widgets

* add mixpanel to L2 demo values

* show message of on-demand contract verification

* fix screenshots

---------

Co-authored-by: Nick Zenchik <[email protected]>
2025-11-18 09:44:22 +01:00
tom goriunovandGitHub 2205672dd5 Direct OP Withdrawal Claim button (#3123)
* Direct OP Withdrawal Claim button instead of NEXT_PUBLIC_ROLLUP_L2_WITHDRAWAL_URL env

Resolves #3022

* [skip ci] fix envs preset
2025-11-18 07:53:48 +01:00
0c5a297834 "Add chain" button in the header (#3084)
* redesign "add chain" button

* fix wallet detection

* [skip ci] update default value for ENV

* fix tests

* return button to the footer and add source to mixpanel event

* regcred from helmfile for review

* [skip ci] remove wallets env from values for demo stand

* use react-query to cache detection result

* add cookie to hide button in the topbar

* add prefix to svg ids to fix rabby icon

* update screenshot

* remove unnecessary comment

---------

Co-authored-by: Nick Zenchik <[email protected]>
2025-11-17 18:15:21 +01:00
tom goriunovandGitHub 799729cf4d GraphQL: use latest tx hash for example query (#3096)
Resolves #3008
2025-11-17 17:37:20 +01:00
tom goriunovandGitHub c8fd550b2b Add setting to show giga-wei as nano-ETH (#3119)
Resolves #3108
2025-11-17 15:55:23 +01:00
tom goriunovandGitHub cec9182058 Migrate from cookies to headers for scam tokens and bypassing rate li… (#3118)
Migrate from cookies to headers for scam tokens and bypassing rate limits

Resolves #3092
2025-11-17 15:55:08 +01:00
tom 12f43f548a [skip ci] change default value for NEXT_PUBLIC_FEATURED_NETWORKS_MODE 2025-11-17 15:41:01 +01:00
Max AlekseenkoandGitHub dc45b86a64 Marketplace titles and ads (#3109) 2025-11-14 16:57:02 +01:00
tom 2b1c727f23 update dev presets 2025-11-14 15:58:54 +01:00