Skip to content

[DBIP] Add chain-logo coverage validation for specific-network listings #1945

Description

@jaasieldelgado131

[DBIP] Add chain-logo coverage validation for specific-network listings

Summary

listings/specific-networks/README.md says every network folder must include one PNG per unique chain column value used by that network's CSV files.

Current main has a concrete gap:

  • listings/specific-networks/world-chain/apis.csv uses chain=testnet
  • listings/specific-networks/world-chain/explorers.csv uses chain=testnet
  • listings/specific-networks/world-chain/oracles.csv uses chain=testnet
  • listings/specific-networks/world-chain/ includes mainnet.png
  • listings/specific-networks/world-chain/ does not include testnet.png

This makes the folder internally inconsistent with the documented data rule.

Reproduction

From the repository root, this check shows the missing logo:

Get-ChildItem listings\specific-networks -Directory | ForEach-Object {
  $dir = $_.FullName
  $network = $_.Name
  $chains = New-Object System.Collections.Generic.HashSet[string]

  Get-ChildItem $dir -Filter *.csv | ForEach-Object {
    Import-Csv $_.FullName | ForEach-Object {
      if ($_.chain -and $_.chain.Trim()) {
        [void]$chains.Add($_.chain.Trim())
      }
    }
  }

  foreach ($chain in $chains) {
    if (-not (Test-Path -LiteralPath (Join-Path $dir "$chain.png"))) {
      "$network/$chain.png is missing"
    }
  }
}

Current result:

world-chain/testnet.png is missing

Rows currently using chain=testnet:

listings/specific-networks/world-chain/apis.csv       alchemy-testnet-free-recent-state
listings/specific-networks/world-chain/apis.csv       quicknode-testnet-build-recent-state
listings/specific-networks/world-chain/apis.csv       tenderly-testnet-free-recent-state
listings/specific-networks/world-chain/explorers.csv  worldscan-testnet
listings/specific-networks/world-chain/oracles.csv    pyth-testnet
listings/specific-networks/world-chain/oracles.csv    witnet-testnet

Proposal

Add a repository validation guardrail for listings/specific-networks/<network>/ folders:

  1. collect every non-empty chain value from the folder's CSV files;
  2. require a sibling <chain>.png file for each unique value;
  3. report the exact folder and missing filename.

The immediate data fix is to add listings/specific-networks/world-chain/testnet.png using an official World Chain / World Chain Sepolia logo asset that satisfies the existing PNG rules.

Why this matters

The generated network pages rely on chain values and chain-logo files staying aligned. A missing chain logo can cause inconsistent UI output or silent fallback behavior, and the issue is easy to miss during manual CSV edits unless the invariant is checked automatically.

Rewards address

USDC/USDT on Ethereum / ERC-20:

0xb43d90BB4E22A43D77e9bfbc2f1CA826ec1CaBF1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions