Repository navigation
feat(chains): add logos for all enabled lava-specs chains - #53
Merged
Merged
Conversation
Fill the chain-logo gap against the lava-specs chain list. Every enabled, non-infra spec index now resolves to an icon (121 chains, was 34 logos). - Add 29 real/official brand SVGs (celestia, osmosis, injective, scroll, zksync, ton, tezos, ripple, litecoin, dogecoin, casper, iota, juno, secret, stride, mantle, manta-pacific, polkadot, worldchain, canto, agoric, koii, elys, namada, fuel, kakarot, berachain, eth-beacon, side). - Add 27 aliases so testnet/variant indexes reuse their mainnet logo (e.g. celestiata/celestiatm -> celestia, suit -> sui, lav1 -> lava, monadt -> monad, cardanot -> cardano, zksyncsp -> zksync). - Extend chain-icons tests with new-chain and alias cases. No consumer changes: the resolver is convention + alias driven, so adding files and aliases is the intended extension point. Icons still fall back to a lettered chip via onError for any chain not yet covered.
The initial mantle.svg was a spiky-asterisk mark (wrong); casper.svg was a 'CSPR name' wordmark with an odd orbit glyph (wrong). - mantle.svg -> official segmented-aperture mark (SmolDapp tokenAssets, chainId 5000) - casper.svg -> official dotted-C mark (web3icons CSPR) Both visually verified rendered on a dark background.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
apps/web/public/chains/: celestia, osmosis, injective, scroll, zksync, ton, tezos, ripple, litecoin, dogecoin, casper, iota, juno, secret, stride, mantle, manta-pacific, polkadot, worldchain, canto, agoric, koii, elys, namada, fuel, kakarot, berachain, eth-beacon, side.getChainIconFilenameso testnet/variant indexes reuse their mainnet logo (e.g.celestiata/celestiatm→celestia,suit→sui,lav1→lava,monadt→monad,cardanot→cardano,zksyncsp→zksync).Why no consumer changes
The icon resolver (
packages/shared/src/utils/chain-icons.ts) is convention + alias driven — its own doc comment notes "new chains work automatically if a{specId}.svgis added." Every consumer (/chains,/chain/[specid], provider pages,SearchBar,ChainLink,ChainSelect, and the API's/specs//lava/APR routes) flows throughgetChainIcon/getChainIconUrl, and the web<img>tags fall back to a lettered chip viaonError. So this PR only upgrades placeholders to real logos.Sources
Official/widely-used SVGs from cosmos chain-registry, web3icons, spothq/cryptocurrency-icons, and project brand kits. Fuel's wide wordmark was swapped for a square logomark to match the icon grid.
Test plan
pnpm typecheck— clean across all 3 packagespnpm --filter @info/web test chain-icons— 5/5 pass (added new-chain + alias cases)Notes
eth-beaconuses the standard ETH mark (no distinct beacon SVG existed);polkadotassethubuses the Polkadot brand mark.