Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .github/workflows/checks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,44 @@ jobs:

- name: Validate footer links config schema
run: yarn validate:footer-links

- name: Validate DOS Chain token list
shell: bash
run: |
set -euo pipefail
schema_url="https://raw.githubusercontent.com/Uniswap/token-lists/01705f94a307270b6c0fe5f55c7e66f7b92373cc/src/tokenlist.schema.json"
curl --fail --silent --show-error --location "${schema_url}" --output "${RUNNER_TEMP}/tokenlist.schema.json"
npx --yes ajv-cli@5.0.0 validate \
--strict=false \
-s "${RUNNER_TEMP}/tokenlist.schema.json" \
-d configs/token-lists/mainnet.json
jq -e '
(.tokens | length > 0) and
([.tokens[] |
(.chainId == 7979) and
(.logoURI | test("^https://raw\\.githubusercontent\\.com/DOS/DOScan-Frontend-Configs/main/configs/token-icons/[A-Za-z0-9._-]+\\.(svg|png)$"))
] | all)
' configs/token-lists/mainnet.json >/dev/null
icon_prefix="https://raw.githubusercontent.com/DOS/DOScan-Frontend-Configs/main/"
while IFS= read -r icon_url; do
icon_path="${icon_url#${icon_prefix}}"
test -s "${icon_path}"
if [[ "${icon_path}" == *.svg ]]; then
python3 - "${icon_path}" <<'PY'
import sys
import xml.etree.ElementTree as ET

root = ET.parse(sys.argv[1]).getroot()
for element in root.iter():
tag = element.tag.rsplit("}", 1)[-1].lower()
if tag == "script":
raise SystemExit("SVG scripts are not allowed")
for attribute, value in element.attrib.items():
name = attribute.rsplit("}", 1)[-1].lower()
if name.startswith("on"):
raise SystemExit("SVG event handlers are not allowed")
if name == "href" and value and not value.startswith("#"):
raise SystemExit("External SVG references are not allowed")
PY
fi
done < <(jq --raw-output ".tokens[].logoURI" configs/token-lists/mainnet.json)
5 changes: 2 additions & 3 deletions configs/marketplace/dos.json
Original file line number Diff line number Diff line change
Expand Up @@ -106,12 +106,11 @@
"external": true
},
{
"author": "MetaDOS",
"id": "metados",
"title": "MetaDOS",
"logo": "https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/marketplace-logos/metados.png",
"categories": [
"Gaming"
"Games"
],
"shortDescription": "Next-gen battle royale game using TIME-as-currency concept supporting up to 100 players.",
"description": "Next-gen battle royale game using TIME-as-currency concept supporting up to 100 players.",
Expand All @@ -130,7 +129,7 @@
"title": "Heroes & Empires",
"logo": "https://raw.githubusercontent.com/DOSLabs/DOScan-Frontend-Configs/main/configs/marketplace-logos/he.png",
"categories": [
"Gaming"
"Games"
],
"shortDescription": "Idle RPG combined with battle royale gameplay.",
"site": "https://heroesempires.com",
Expand Down
4 changes: 4 additions & 0 deletions configs/token-icons/WDOS.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions configs/token-lists/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# DOS Chain token lists

This directory contains the public Uniswap Token Lists consumed by DOScan
backend deployments through `TOKEN_LIST_URL`.

Blockscout does not ship per-chain token-list files. Each deployment owns and
hosts its list at a stable HTTP(S) URL. Token icons belong in
`configs/token-icons/` and each `logoURI` must use the canonical raw GitHub URL.

## Adding a token

1. Add a permanent SVG or PNG under `configs/token-icons/`.
2. Add the token to the matching network JSON file.
3. Use the checksummed contract address and exact chain ID.
4. Increment the list version and timestamp.
5. Confirm the contract and its on-chain metadata before merging.
19 changes: 19 additions & 0 deletions configs/token-lists/mainnet.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"name": "DOS Chain Token List",
"timestamp": "2026-07-29T00:00:00Z",
"version": {
"major": 1,
"minor": 0,
"patch": 0
},
"tokens": [
{
"chainId": 7979,
"address": "0x1111111111111111111111111111111111111111",
"name": "Wrapped DOS",
"symbol": "WDOS",
"decimals": 18,
"logoURI": "https://raw.githubusercontent.com/DOS/DOScan-Frontend-Configs/main/configs/token-icons/WDOS.svg"
}
]
}
Loading