One family. Font stacks name Zen and fall back to the native faces, tokens
name the role rather than a face, and the packages that used to supply a
face now point at @hanzo/font.
Self-hosted @font-face blocks are removed rather than renamed: rewriting the
family in one would leave a src pointing at a file this repo no longer ships.
@hanzo/font carries the binaries and declares the faces, so the local copies
go with the declaration that used them.
Comments naming a face we no longer use are deleted, not reworded.
Adds .hanzo/workflows/cicd.yml calling the canonical pipeline and drops the
GitHub-hosted workflows it replaces. Lands here because this is where the repo
is written — git.hanzo.ai is upstream and github.com is its push mirror, so the
same change made on github.com never reaches the runner fleet.
Stale rebrand/merge residue committed by the Blockscout->Lux branding commits
(999e2e8a8, 10beed198) -- backups a find/replace pass wrote, then `git add -A`
swept in. Nothing in the repo, CI, Dockerfiles or the wider workspace refers to
any of them; all canonical counterparts are intact:
- .gitignore.orig, README.md.orig, instrumentation.node.ts.orig,
package.json.orig, pnpm-lock.yaml.orig, yarn.lock.orig, public/envs.js.orig,
next.config.js.bak (~1.9 MB, mostly the two dead lockfile copies)
- README.md.orig and public/envs.js.orig still contained raw `<<<<<<< HEAD`
conflict markers -- unusable as anything but residue.
- public/envs.js is not a source file at all: the real one is
/public/assets/envs.js, generated by deploy/scripts/entrypoint.sh (gitignored).
Also restores `*.orig`/`*.rej`/`*.bak` to .gitignore (upstream had `*.orig`;
the fork dropped it, which is why this residue could be committed).
Co-authored-by: Hanzo Dev <[email protected]>
generate-well-known.js regenerates public/.well-known/explore.json from the
chain registry at build time, so the v1.1.4 hand-edit of the output file was
overwritten by the generator (which still appended ' Subnet'). Fix the
generator — the single source of truth — so the shipped manifest actually
uses 'Network' (Lux nomenclature; no 'Subnet'). Regenerated file is in sync
(wellknown:check passes). Pars id follows the registry (7070) to keep the
manifest consistent with its source; the 7070-vs-live-494949 question is
tracked separately in LLM.md.
Co-authored-by: Hanzo Dev <[email protected]>
- wallet: brandFamilyChains derives sibling networks (Lux mainnet/testnet/devnet)
from the multi-tenant chain registry so connect/add presents EVERY registered
network for the brand, not just the env chain; dedupe by id.
- login/menu: useProvider queryFn returns null (react-query v5 forbids undefined)
+ callers switched from '= {}' destructure default to '?? {}' so a null result
no longer crashes the wallet hooks (the busted-menu root cause).
- manifest: fix Pars chainId 7070 -> 494949 (regression) and drop the forbidden
'Subnet' term from sovereign L1 network names (-> '<Brand> Network').
- Validators page + /api/pchain proxy present; rebuild makes the live 5-validator
view visible on explore.lux.network.
Co-authored-by: Hanzo Dev <[email protected]>
All favicon files (PNG 16/32/48, ICO, SVG, apple-touch-icon, android-chrome)
now show the Lux triangle logo (black circle, white triangle) instead of the
Blockscout blue "h" logo.
Google Fonts registers the font as 'Geist', not 'Geist Sans'. The CSS
font-family mismatch caused the font to never load, falling back to
system sans-serif. Also adds an SVG favicon with the triangle icon
(SVG favicons take priority over PNG/ICO in modern browsers).
* add EmptyState component to toolkit and use it in the stats page
* remove EmptySearchResult component
* tweaks
* refactor ComingSoon component
* fix toolkit build
* rollback changes in main preset
* 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
- Add null/undefined check for types prop in TxType.tsx to prevent
"can't access property sort, s is undefined" error
- Add network_logo_dark.png asset to fix 404 error
* 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]>
* 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]>
* 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]>
* adds clusters api configs
* adds clusters api configs
* adds api types
* adds props routes and titles for cluster pages
* adds query param enum for clusters api
* adds clusters svg
* adds dynamic page routes
* adds clusters entity ui in ui/shared/entities
* adds functions to detect input type; will be used to check whether a user is searching for a cluster name vs a evm address
* adds stubs for loading skeleton view
* adds pagination hook
* adds query param hooks for clusters trpc endpoints
* adds query param hooks for clusters trpc endpoints
* adds components that make up the /clusters ui
* adds components for /cluster ui
* adds clusters api endpoint to query by cluster id
* implements call to cluster id endpoint to get ac
tive chain count
* adds clusters search types and in api category
* creates clusters search hook and wraps useQuickSearchQuery hook
* replaces useQuickSearchQuery for useSearchWithClusters hook for both functionality
* add search suggestion ui
* adds optional chaining to handle react re-render when search type changes
* adds cluster ui to ui/pages/address on address details
* prevents clicking on cluster suggestion if address is non EVM
* adds util functions for testability along with tests, for action bar component logic
* refactor - extract clusters display logic wit
h tests
* refactor: extract page utilities from Clusters.tsx with tests
* adds jest testing infra for react components
* adds hook testing coverage
* adds component and integration tests
* adds detectInputType util tests
* removes generic parameters from clusters pagination types
* replaces any type with proper cluster config types
* adds cluster routes to metadata and analytics mappings
* updates order and stacks action bar items vertically when mobile view
* repositions clusters logo
* refactors search logic to render community clusters in search sugge
st
* adding clusters env vars
- add NEXT_PUBLIC_CLUSTERS_API_HOST and NEXT_PUBLIC_CLUSTERS_CDN_URL env vars
- configure clusters api integration in configs/app/apis.ts and features/clusters.ts
- adds clusters env vars to test env (.env.jest and .env.localhost)
- update CI deploy configs for both review envs
- add env vars validation schema
- document new vars in ENVS.md with usage examples
* centers directory/leaderboard toggle in mobile view
* resizes and sets proper color to logo in entity component
* hides clusters nav when clusters env is missing
* removes duplicate trailing slashes in cluster community names
* Bump `react` to v19 (#2782)
Co-authored-by: tom <[email protected]>
* change links to ton explorer
* fix internal links in ENVS.md file
* tx info: tac operation stage could be an array
* fix display of ad banner
* tac ui updates
* add more "button click" events
* update clock icon
* update screenshots
* fix age filter reset
* change tac operation status once again
* fix address icon tooltip content
* [skip ci] label released issues workflow: don't override release tag if it exists
* puzzle-15 (#2471)
* puzzle-15
* puzzle-review
* puzzle game
* puzzle fixes
* separate puzzle feature in readme
* fix testnet and rollup stage badges
* New styles for pagination and "Add / Remove" buttons (#2791)
* update styles for add / remove buttons
* update pagination styles
* change border color for filled inputs
* change row gap for alerts
* update icons and screenshots
* fix tests
* update buttons for contract method form
* update screenshot
* Gas tracker: bug fixes and improvements (#2792)
* Gas tracker page: hide `Gas price history` if chart is not enabled
Fixes#2781
* change default value for NEXT_PUBLIC_GAS_TRACKER_UNITS for testnets
* fix env for pw tests
* Public tags form improvements (#2796)
* adjust validation of comment field
* add icon url to public tag form
* update screenshots
* fix ts
* NFT marketplaces: make `collection_url` and `instance_url ` optional (#2797)
Fixes#2614
* Bump brace-expansion from 1.1.11 to 1.1.12 in /deploy/tools/affected-tests (#2801)
Bump brace-expansion in /deploy/tools/affected-tests
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)
---
updated-dependencies:
- dependency-name: brace-expansion
dependency-version: 1.1.12
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Hanzo Dev <[email protected]>
* allow toaster to render custom description
* Encode the address hash for links to the TON chain (#2813)
Encode the address hash for links to the TON chain.
* Support redirects for known address discrepancies (#2799)
* Support redirects for known address discrepancies
Fixes#2793
* fix redirect to internal txs in the block
* add address user ops redirect
* Celo: support L2 epochs (#2784)
* epochs page
* epoch rewards distribution
* epoch election rewards
* address epoch rewards
* block epoch tag
* add some tests
* adjust epoch details for L1 epochs
* support non-finalized epochs
* fixes after design review
* add truncation to block numbers on mobile
* update epochs table layout
* update timestamp hint
* fix bug with subheading of first epoch
* fixes of mobile view
* update screenshots
* Icons in footer links (#2809)
* Icons in footer links
Fixes#2539
* fix envs validator
* Metadata: send address to fetchers once visited (#2814)
* Metadata: send address to fetchers once visited
Fixes#2723
* fix ts
* replaces jest-dom matchers with standard matchers
* makes /clusters page default view the directory instead of leaderboard, including jest coverage
* updates columnn name from backing to total backing, in leaderboard display
* alphabetically reorders clusters export
* adds Cluster section to the Table of Cont
ents at top of page
* removes redundant Flex component wrapper around ClustersEntity
* uses standard toolkit values for border radius and color
* uses getFeaturePayload util instead of type coercion
* extends ImageProps interface to ClusterIconProps, and uses getFeaturePayload util instead of type coercion
* adds evm address regexp in regexp.ts as single source of truth
* updates imports for files that used form validator address regexp to use single source of truth
* removes unused args, unnecessary type coercions and memoizations. upper snake case constant values.
* sets correct action bar height using ACTION_BAR_HEIGHT_DESKTOP constant
* implements TimeFormatToggle to Joined column
* simplifies conditionals and removes unnecessary Box component wrapper
* displays standard 404 error screen on erroneous ClusterDetails query
* standardizes details page to display ETH value and time in line with rest of app
* removes redundant debouncing
* moves useQueryParams hook to lib/router and updates imports and test to account
* moves config.features.cluster
s.isEnabled to top of the function and utilizes select function of useQuery in useAp
iQuery
* removes unnecessary 3rd column and isContractVerified since it is always false
* checks clusters enable for placeholder
* makes isClusterClickable condition more generic for future repurpose
* splits isEvmAddress out to general purpose utility in lib/address, update imports and test
* moves all cluster hooks and tests to lib/clusters folder
* wraps action bar with standard button wrapper
* makes nextjs-routes mock condition stricter
* adds mock clusters api data
* adds pw tests for cluster detail page
* adds pw tests for clusters directory page
* adds pw tests for clustersentity ui component
* adds mock envs for pw tests
* adds clusters api host and cdn url to env.pw
* fixes resolve react-hooks/rules-of-hooks violation in cluster search while keeping search optimization
* throws error instead of using app error component
* uses semantic token to reference color as per standard method in chakra ui
* removes empty or loading state pw tests
* pw tests - uses mockAssetResponse for icons, removes redundant tests, and updates vie
wport to narrow test case
* migrates all clusters pw tests from page.route to mockApiResponse
* updates docker generated pw screenshots
* removes object cloning in useSearchWithClusters hook
* uses standardized chakra name for backgroundColor
* resolves Clusters.pw.tsx docker screen generation issues and updates screenshots
* removes unneeded screenshots for Cluster.pw.tsx
* standardizes mobile testing approach with +@mobile tag by removing explicit viewport config, updates screenshots
* reverts expanded pw test coverage for ClustersEntity
* removes all clusters pw screenshots
* removes nested describe which was resulting in a failed test
* uploads latest docker generated screenshots for pw
* force trigger for conflict check
* removes repeating var from blockchainNavItems array
* fix screenshot merge conflicts - use upstream versions
* updates yarn.lock with upstream lib
* fix jest tests by mocking useQuery directly to resolve QueryClient context issues
* creates global mock object and proper typing to reduce duplication
* updates clusters pw screenshots with docker generation. update helia to 3.2.0 and pinned esbuild to 0.21.5. update docker dep script.
* updates yarn.lock
* removes unused imports from upstream/main
* add vite aliases for @libp2p/utils and @helia/verified-fetch to resolve playwright build failures
* updates pw screenshots for hero banner, home page and desktop header
* downgrades helia to v2.6.12
* revert changes in yarn.lock file related to helia package
* updates yarn.lock with helia downgrade
* revert changes in yarn.lock
* move clusters to the tab on the name service page
* fix tests
* small tweaks
* update screenshots
---------
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Richard Oh <[email protected]>
Co-authored-by: Max Alekseenko <[email protected]>
Co-authored-by: isstuev <[email protected]>
Co-authored-by: Igor Stuev <[email protected]>
Co-authored-by: Hanzo Dev <[email protected]>
Co-authored-by: Richard J Oh <[email protected]>
* UI customizations: new features
Fixes#2905
* colors for graphs
* introduce env variable
* colors for topbar, stats, selected state and tabs
* fix build
* fix validator
* refactor link.primary.hover color token
* refactor selected colors
* update styles for switch and fix some color tokens
* change color for selectable controls
* icon color tokens refactoring
* UI customizations: new features
Fixes#2905
* test for common components
* tweaks
* migrate from color-mode-hex cookie to color-theme cookie
* clean up
* update screenshots
* more screenshot updates
* update default color of chart line
* update envs for mega eth
* update styles for chain widgets on home page
* update latest txs styles and slug creation algorithm
* list of local txs
* list of local blocks
* local view for address internal tx tab
* local view for address coin history
* local view for address logs
* local view for address token transfers
* address details, kind of
* [wip] local view for address contract tab
* user ops views
* chain popover
* csv-export page
* advanced filter page
* block countdown pages
* fixes for contract tab
* refactor address txs and transfers tabs
* refactor getServerSideProps
* internal txs page
* tokens and token transfers pages
* simple tag for address page and details info placeholders
* add chain icon to the local lists
* show creator in contract tab
* OP Superchain: local views for chains in the cluster
Fixes#2827
* highlight current chain in the title of local entities
* tokens nfts tab for address
* allow entity icon to be an image
* adjust cross-chain txs table and add placeholder to home page
* cross-chain txs for address
* fetch multichain config from microservice
* fix skeleton in token transfers table
* tests, pt.1
* wtf with gh
* verified contracts page
* change chain info in block and token page header
* fix some tests
* update styles for token icon with chain logo in header
* fix links and address internal txs tab
* update screenshots
* fix margins for tx info button and chain icon in tx tables
* add some tests
* fix screenshots
* Support for `geas` smart contract language 🪿Fixes#2818
* support fallback method with inputs and outputs
* fix data that is passed to fallback method
* add "pragma" and "define" to builtins
* add "inputs" and "outputs" to the fallback method for all contracts ABI
* Contract tab: finding matching bytecode states
Fixes#2678
* handle case when there is only one sub-tab on contract tab
* tests
* prevent calling the smart contract resource twice when opening the tab
* [wip] add debug logs
* change api host for op sepolia
* rollback debug and update screenshots
* add tabs to api-docs page and put swagger widgets in accordion
* move GraphQL widget into tab
* refactor API docs feature
* add swagger for user ops, bens and tac services
* update screenshots
* fix ts
* fix screenshot
- Update footer text to describe Lux Network instead of Blockscout
- Fix theme token schema to match expected format
- Update metadata description templates to use Lux Network branding
- Change footer copyright and company name to Lux Network
* context for storing subchain config and tx view for subchain
* address page and block page for subchain
* address aggregated page: local txs tab
* connect MultichainSelect to context
* home page placeholder
* refactor subchain select state
* envs for demo
* fix ts
* clear value for l2 review
* subchain widgets on home page
* csp policies
* sockets, duck and goose
* fix socket on subchain address page
* link builder for subchain views
* update home widget
* fix time increment
* enable tx interpretator and metadata service
* generate multichain config based on every chain app config
* Fix the multichain config to work in Docker
* multichain socket test
* rename subchain-id to subchain-slug path param
* refactoring
* update chain icons on entities
* home page: latest local txs
* latest cross-chain txs
* minor improvements
* renaming, pt. 1
* rename chain routes
* enable blockchain interaction
* add loading state to icon shield
* fix build
* fix tests
* update types package
* epochs page
* epoch rewards distribution
* epoch election rewards
* address epoch rewards
* block epoch tag
* add some tests
* adjust epoch details for L1 epochs
* support non-finalized epochs
* fixes after design review
* add truncation to block numbers on mobile
* update epochs table layout
* update timestamp hint
* fix bug with subheading of first epoch
* fixes of mobile view
* update screenshots
- Configure Inter font as default for all text
- Create monochromatic black/white/grey color scheme
- Add LUX logo and favicon
- Set up GitHub Action for automated builds
- Configure production environment variables
Co-authored-by: Hanzo Dev <[email protected]>
* operation lifecycle accordion
* operation entity
* adapt layout to mobile device
* basic operations view
* pass response data to operation details
* update types package
* tac operation status and links to tx on ton
* feature config, docs and operation badge
* add info to tx page
* add operations to search
* search input on operations page
* tests
* update tooltips and temporary fix of ts
* add InterFallback typeface with → glyph
* design and api updates
* support new API version
* add time format toggle
* add shield to entity icon
* minor fixes
* update screenshots
* clean up
* fix screenshot