Files
zeekayandHanzo Dev a23a81dee7 Brand explorers show only their own chain on validators and DEX
On a Zoo, Hanzo, Pars, SPC or Osage host the validators page listed every L1
in the registry, and /dex rendered the Lux D-Chain markets. The network total
now sums every L1 only on the Lux primary-network explorer, and /dex answers
404 anywhere else. isPrimaryNetworkHost() is the same predicate as
isPrimaryNetworkExplorer(), taking the host from the request.


Co-authored-by: Hanzo Dev <[email protected]>
2026-09-23 16:09:21 -07:00

50 lines
2.7 KiB
TypeScript

import * as guards from './guards';
import { factory } from './utils';
export const base = factory([ ]);
export const block = factory([ guards.notMultichain ]);
export const tx = factory([ guards.notMultichain ]);
export const token = factory([ guards.notMultichain ]);
export const account = factory([ guards.account ]);
export const verifiedAddresses = factory([ guards.account, guards.verifiedAddresses ]);
export const userOps = factory([ guards.userOps ]);
export const marketplace = factory([ guards.marketplace ]);
export const marketplaceEssentialDapp = factory([ guards.marketplaceEssentialDapp ]);
export const apiDocs = factory([ guards.apiDocs ]);
export const csvExport = factory([ guards.csvExport ]);
export const stats = factory([ guards.stats ]);
export const suave = factory([ guards.suave ]);
export const nameServiceEns = factory([ guards.nameServiceEns ]);
export const nameServiceClusters = factory([ guards.nameServiceClusters ]);
export const nameServices = factory([ [ guards.nameServiceEns, guards.nameServiceClusters ] ]);
export const accounts = factory([ guards.accounts ]);
export const accountsLabelSearch = factory([ guards.accountsLabelSearch ]);
export const validators = factory([ guards.validators ]);
export const validatorDetails = factory([ guards.validatorDetails ]);
export const gasTracker = factory([ guards.gasTracker ]);
export const hotContracts = factory([ guards.hotContracts ]);
export const advancedFilter = factory([ guards.advancedFilter ]);
export const dataAvailability = factory([ guards.dataAvailability ]);
export const dev = factory([ guards.dev ]);
export const publicTagsSubmit = factory([ guards.publicTagsSubmit ]);
export const pools = factory([ guards.pools ]);
export const megaEth = factory([ guards.megaEth ]);
export const zetaChainCCTX = factory([ guards.zetaChainCCTX ]);
export const crossChainTxs = factory([ guards.notMultichain, guards.crossChainTxs ]);
export const dex = factory([ guards.primaryNetwork ]);
// ROLLUPS
export const rollup = factory([ guards.rollup ]);
export const deposits = factory([ guards.deposits ]);
export const withdrawals = factory([ guards.withdrawals ]);
export const batch = factory([ guards.batch ]);
export const batchCelestia = factory([ guards.batchCelestia ]);
export const txnWithdrawals = factory([ guards.txnWithdrawals ]);
export const outputRoots = factory([ guards.outputRoots ]);
export const disputeGames = factory([ guards.disputeGames ]);
export const mud = factory([ guards.mud ]);
export const tac = factory([ guards.tac ]);
export const celo = factory([ guards.celo ]);
export const interopMessages = factory([ guards.interopMessages ]);
export const multichain = factory([ guards.multichain ]);