- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
DBIS Chain 138 Token Lists
Production-ready token lists for ChainID 138 (DBIS Chain), following the Uniswap Token Lists Specification.
Quick Start
Validate Token List
node scripts/validate-token-list.js lists/dbis-138.tokenlist.json
Verify On-Chain
node scripts/verify-on-chain.js lists/dbis-138.tokenlist.json
Prepare Release
./scripts/release.sh patch # or minor, major
Sign Token List
./scripts/sign-list.sh sign
Directory Structure
token-lists/
├── lists/
│ └── dbis-138.tokenlist.json # Main token list
├── logos/ # Token logos (future)
├── scripts/
│ ├── validate-token-list.js # Schema & validation
│ ├── checksum-addresses.js # EIP-55 checksum validation
│ ├── validate-logos.js # Logo URL validation
│ ├── verify-on-chain.js # On-chain verification
│ ├── release.sh # Release automation
│ └── sign-list.sh # minisign signing
├── docs/
│ ├── TOKEN_LIST_POLICY.md # Inclusion/delisting policy
│ ├── INTEGRATION_GUIDE.md # Integration instructions
│ ├── CHANGELOG.md # Version history
│ └── TOKEN_LIST_AUTHORING_GUIDE.md # Authoring guide
└── minisign.pub # Public key for verification
Token List Contents
Current version: 1.1.0
Tokens
-
WETH (Wrapped Ether)
- Address:
0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 - Decimals: 18
- Category: DeFi, Wrapped
- Address:
-
WETH10 (Wrapped Ether v10)
- Address:
0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9F - Decimals: 18
- Category: DeFi, Wrapped
- Address:
-
ETH/USD Price Feed (Oracle)
- Address:
0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 - Decimals: 8
- Category: Oracle, Price Feed
- Address:
Validation
All token lists are validated against:
- Uniswap Token Lists JSON Schema
- EIP-55 address checksumming
- Chain ID strict validation (must be 138)
- Duplicate detection (addresses and symbols)
- Logo URL accessibility
- On-chain contract verification
Running Validations
# Full validation
node scripts/validate-token-list.js lists/dbis-138.tokenlist.json
# Check address checksums
node scripts/checksum-addresses.js lists/dbis-138.tokenlist.json
# Fix checksummed addresses
node scripts/checksum-addresses.js lists/dbis-138.tokenlist.json --fix
# Validate logos
node scripts/validate-logos.js lists/dbis-138.tokenlist.json
# Verify on-chain
node scripts/verify-on-chain.js lists/dbis-138.tokenlist.json
CI/CD
PR Validation
GitHub Actions automatically validates token lists on pull requests:
- JSON schema validation
- Address checksum validation
- Duplicate detection
- Logo validation (non-blocking)
- On-chain verification (optional, non-blocking)
Release Process
-
Update version using release script:
./scripts/release.sh patch # or minor, major -
Create git tag:
git tag -a v1.2.0 -m "Release v1.2.0" git push --tags -
GitHub Actions release workflow will:
- Run all validations (required)
- Perform on-chain verification (required)
- Generate checksums
- Sign token list
- Create GitHub Release
Hosting
Token lists are hosted at:
- GitHub Pages:
https://{user}.github.io/{repo}/token-lists/lists/dbis-138.tokenlist.json - GitHub Raw:
https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/dbis-138.tokenlist.json - DBIS Domain (if configured):
https://tokens.d-bis.org/lists/dbis-138.tokenlist.json
Integration
See INTEGRATION_GUIDE.md for detailed integration instructions for:
- MetaMask
- Ledger
- dApps
- Explorers/Indexers
- Custom applications
Policy
See TOKEN_LIST_POLICY.md for:
- Inclusion requirements
- Delisting criteria
- Governance process
- Versioning policy
Security
Signature Verification
Token lists are signed with minisign for integrity verification:
# Verify signature
minisign -V -p minisign.pub -m lists/dbis-138.tokenlist.json -x lists/dbis-138.tokenlist.json.sig
Public Key
The public key is included in the repository: minisign.pub
Private key is stored securely in GitHub Secrets for CI/CD signing.
Contributing
Adding Tokens
- Create issue or pull request with token details
- Ensure token meets inclusion requirements
- Code owners review and approve
- Validations run automatically via CI/CD
Updating Tokens
- Update token metadata in
lists/dbis-138.tokenlist.json - Run validations locally
- Create pull request
- CI/CD validates changes
Removing Tokens
- Create issue explaining removal reason
- Code owners review and approve
- Update token list (major version bump)
- Update CHANGELOG.md
Dependencies
- Node.js >= 16.0.0
- pnpm (package manager)
- ethers.js (for address validation and on-chain verification)
- ajv & ajv-formats (for JSON schema validation)
- minisign (for signing, optional for verification)
Install dependencies:
pnpm install
Chainlists Submission
Files for submitting to Chainlists.org are in the chainlists/ directory:
chainlists/chain-138.json- Chain configuration in Chainlists formatchainlists/SUBMISSION_GUIDE.md- Submission instructions
Validate Chain Configuration
node scripts/validate-chainlists.js chainlists/chain-138.json
Submit to Chainlists
See chainlists/SUBMISSION_GUIDE.md for detailed submission instructions.
The chain configuration includes:
- Chain ID: 138
- RPC URLs (primary and fallback)
- Block explorer
- Native currency information
- Chain metadata
Links
- Uniswap Token Lists Specification
- JSON Schema
- Chainlists Repository
- Chainlists Website
- EIP-55: Mixed-case checksum address encoding
- EIP-155: Simple replay attack protection
- Semantic Versioning
Last Updated: 2025-12-22