# Remaining Next Steps - Complete Checklist **Date**: 2026-01-26 **Status**: All token lists created and validated **Remaining**: Hosting, submission, and distribution --- ## ✅ Completed (Do Not Repeat) - [x] Created all 3 token list files - [x] Validated all token lists - [x] Discovered ALL Mainnet tokens (9 tokens including AUSDT) - [x] Updated ChainID 138 with cUSDT and cUSDC - [x] Created extraction and discovery scripts - [x] Created comprehensive documentation --- ## 📋 Remaining Next Steps ### Phase 1: Hosting Token Lists (Required) #### 1.1 Host on GitHub (Recommended) **For Each Token List**: - [ ] **Commit token lists to repository** ```bash cd /home/intlc/projects/proxmox git add token-lists/lists/*.json git commit -m "Add token lists for Ethereum Mainnet, ChainID 138, and ALL Mainnet" git push ``` - [ ] **Enable GitHub Pages** (if using Pages) - Go to repository Settings → Pages - Select branch (main/master) - Select folder: `/token-lists/lists/` or `/ (root)` - Save - [ ] **Verify GitHub Raw URLs are accessible** - Test: `https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/dbis-138.tokenlist.json` - Test: `https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/ethereum-mainnet.tokenlist.json` - Test: `https://raw.githubusercontent.com/{user}/{repo}/main/token-lists/lists/all-mainnet.tokenlist.json` - [ ] **Verify CORS headers** (if using custom domain) - Ensure `Access-Control-Allow-Origin: *` header is set - Test with: `curl -I ` #### 1.2 Alternative Hosting Options - [ ] **IPFS Hosting** (Optional - Decentralized) - Upload token lists to IPFS (Pinata, Infura, etc.) - Pin files to keep them available - Document IPFS hashes - [ ] **Custom Domain Hosting** (Optional) - Configure `tokens.d-bis.org` or similar domain - Setup nginx/Apache with CORS headers - Mirror GitHub releases --- ### Phase 2: Signing Token Lists (Recommended for Security) #### 2.1 Generate minisign Keypair (If Not Done) - [ ] **Generate keypair** ```bash cd token-lists ./scripts/sign-list.sh --generate-key ``` - [ ] **Store private key securely** - Add to GitHub Secrets (for CI/CD) - Store securely for manual signing - [ ] **Commit public key** ```bash git add minisign.pub git commit -m "Add minisign public key for token list verification" git push ``` #### 2.2 Sign All Token Lists - [ ] **Sign ChainID 138 token list** ```bash cd token-lists ./scripts/sign-list.sh sign lists/dbis-138.tokenlist.json ``` - [ ] **Sign Ethereum Mainnet token list** ```bash ./scripts/sign-list.sh sign lists/ethereum-mainnet.tokenlist.json ``` - [ ] **Sign ALL Mainnet token list** ```bash ./scripts/sign-list.sh sign lists/all-mainnet.tokenlist.json ``` - [ ] **Commit signatures** ```bash git add lists/*.sig git commit -m "Add minisign signatures for token lists" git push ``` --- ### Phase 3: Create GitHub Releases #### 3.1 Release ChainID 138 Token List - [ ] **Update version** (if needed) ```bash cd token-lists ./scripts/release.sh patch # or minor/major ``` - [ ] **Create git tag** ```bash git tag -a v1.2.0 -m "Release v1.2.0: Added cUSDT and cUSDC" git push --tags ``` - [ ] **Verify GitHub Actions release workflow** (if configured) - Check `.github/workflows/release.yml` exists - Verify workflow runs on tag push - Check release artifacts created #### 3.2 Release Ethereum Mainnet Token List - [ ] **Create initial release** ```bash git tag -a ethereum-mainnet-v1.0.0 -m "Release Ethereum Mainnet token list v1.0.0" git push --tags ``` #### 3.3 Release ALL Mainnet Token List - [ ] **Create initial release** ```bash git tag -a all-mainnet-v1.0.0 -m "Release ALL Mainnet token list v1.0.0" git push --tags ``` --- ### Phase 4: Submit to Token List Registries #### 4.1 Uniswap Token Lists Registry **For Each Token List**: - [ ] **Fork Uniswap token-lists repository** - Repository: https://github.com/Uniswap/token-lists - Fork to your GitHub account - [ ] **Clone your fork** ```bash git clone https://github.com/YOUR_USERNAME/token-lists.git cd token-lists ``` - [ ] **Add token list to repository** - Follow their directory structure - Copy token list file to appropriate location - Ensure file naming follows their conventions - [ ] **Create Pull Request** ```bash git checkout -b add-{network}-token-list git add git commit -m "Add {Network Name} token list" git push origin add-{network}-token-list ``` - Then create PR on GitHub - Include description of tokens - Reference token list URL **Specific PRs Needed**: - [ ] PR for ChainID 138 token list - [ ] PR for Ethereum Mainnet token list (if not already in registry) - [ ] PR for ALL Mainnet token list #### 4.2 MetaMask Token Lists - [ ] **Add token list URLs to MetaMask** (Manual) - MetaMask → Settings → Security & Privacy → Token Lists - Add each token list URL - Test token discovery - [ ] **Submit to MetaMask's default registry** (If they have one) - Check MetaMask documentation for submission process - Follow their guidelines #### 4.3 Chainlist Integration - [ ] **Update ChainID 138 chain configuration** - File: `token-lists/chainlists/chain-138.json` - Add `tokenLists` field with token list URL - Submit PR to Chainlist repository - [ ] **Create ALL Mainnet chain configuration** (If not exists) - Create `chainlists/chain-651940.json` - Include token list URL reference - Submit to Chainlist - [ ] **Update Ethereum Mainnet chain config** (If applicable) - Add token list reference if submitting custom list --- ### Phase 5: Update Configuration Files #### 5.1 Update chains.ts (ALL Mainnet) - [ ] **Update USDC address** in `alltra-lifi-settlement/src/config/chains.ts` - Current: `usdcAddress: ''` (empty) - Update to: `usdcAddress: '0xa95EeD79f84E6A0151eaEb9d441F9Ffd50e8e881'` (USDC on ALL Mainnet) - [ ] **Update AUSDT address** (if needed) - Document AUSDT address: `0x015B1897Ed5279930bC2Be46F661894d219292A6` #### 5.2 Update Documentation - [ ] **Update CHAIN138_TOKEN_ADDRESSES.md** - Ensure all tokens are documented - Add explorer links - [ ] **Create ALL_MAINNET_TOKEN_ADDRESSES.md** - Document all 9 tokens found - Include addresses, decimals, explorer links --- ### Phase 6: Logo Management (Optional but Recommended) #### 6.1 Host Token Logos - [ ] **Create logos directory** ```bash mkdir -p token-lists/logos ``` - [ ] **Download/verify logo URLs** - Check all logo URLs are accessible - Download logos for local hosting (optional) - Update logoURI fields if needed - [ ] **Add missing logos** - HYDX, HYBX, CHT, AUDA may need logos - Create or source appropriate logos - Host logos publicly - Update token list with logo URLs --- ### Phase 7: CI/CD Enhancements (Optional) #### 7.1 GitHub Actions Workflows - [ ] **Verify PR validation workflow** - Check `.github/workflows/validate-pr.yml` exists - Test workflow on PR - Ensure it validates all token lists - [ ] **Verify release workflow** - Check `.github/workflows/release.yml` exists - Test workflow on tag push - Verify artifacts created - [ ] **Add workflow for ALL Mainnet** (if needed) - Create workflow to validate ALL Mainnet token list - Add chain ID 651940 validation #### 7.2 Automated Updates - [ ] **Setup automated token discovery** (Optional) - Create scheduled job to scan for new tokens - Auto-update token lists (with manual review) - Notify on new token discoveries --- ### Phase 8: Testing and Verification #### 8.1 Integration Testing - [ ] **Test MetaMask integration** - Add token list URL to MetaMask - Verify tokens appear correctly - Test token metadata display - [ ] **Test Uniswap integration** (If applicable) - Verify token list works in Uniswap interface - Test token selection and display - [ ] **Test dApp integration** - Use token list in sample dApp - Verify token metadata loading - Test token selection #### 8.2 On-Chain Verification - [ ] **Verify ChainID 138 tokens on-chain** ```bash node token-lists/scripts/verify-on-chain.js token-lists/lists/dbis-138.tokenlist.json --required ``` (Requires RPC access) - [ ] **Verify ALL Mainnet tokens on-chain** (If RPC accessible) - Create verification script for ALL Mainnet - Verify all 9 tokens exist and match metadata --- ### Phase 9: Documentation Updates #### 9.1 Update Main README - [ ] **Update token-lists/README.md** - Add ALL Mainnet token list to summary - Update token counts - Add ALL Mainnet discovery information #### 9.2 Create Submission Status Document - [ ] **Create submission tracking document** - Track PR status for each registry - Document submission dates - Track approval status --- ### Phase 10: Public Announcement (Optional) #### 10.1 Community Announcements - [ ] **Announce on social media** (If applicable) - Twitter/X post about token lists - Discord announcement - Community forum post #### 10.2 Documentation Updates - [ ] **Update project documentation** - Add token list URLs to main README - Update integration guides - Add to project website (if applicable) --- ## 📊 Priority Order ### High Priority (Required for Submission) 1. **Host token lists publicly** (GitHub Raw or Pages) 2. **Submit to Uniswap Token Lists registry** 3. **Update chains.ts with ALL Mainnet USDC address** ### Medium Priority (Recommended) 4. **Sign token lists** (minisign) 5. **Create GitHub releases** 6. **Submit to MetaMask token lists** 7. **Update Chainlist with token list references** ### Low Priority (Optional Enhancements) 8. **Logo management** 9. **CI/CD enhancements** 10. **Automated token discovery** --- ## 🎯 Quick Start Commands ### Host on GitHub ```bash cd /home/intlc/projects/proxmox git add token-lists/lists/*.json git commit -m "Add complete token lists for all networks" git push ``` ### Sign Token Lists ```bash cd token-lists ./scripts/sign-list.sh sign lists/dbis-138.tokenlist.json ./scripts/sign-list.sh sign lists/ethereum-mainnet.tokenlist.json ./scripts/sign-list.sh sign lists/all-mainnet.tokenlist.json git add lists/*.sig git commit -m "Add signatures for token lists" git push ``` ### Create Releases ```bash cd token-lists git tag -a v1.2.0 -m "Release ChainID 138 token list v1.2.0" git tag -a ethereum-mainnet-v1.0.0 -m "Release Ethereum Mainnet token list" git tag -a all-mainnet-v1.0.0 -m "Release ALL Mainnet token list" git push --tags ``` --- ## 📝 Notes - **GitHub Raw URLs** work immediately after push (no Pages setup needed) - **Signing** is optional but recommended for security - **Submissions** can be done in parallel for all registries - **Testing** should be done before public announcement --- ## ✅ Completion Checklist Summary **Token Lists**: ✅ Complete (3 files, 16 tokens) **Validation**: ✅ Complete (all validated) **Documentation**: ✅ Complete (18 docs) **Scripts**: ✅ Complete (4 scripts) **Remaining**: - [ ] Hosting (GitHub/IPFS/Custom domain) - [ ] Signing (minisign) - [ ] Releases (GitHub tags) - [ ] Registry submissions (Uniswap, MetaMask, Chainlist) - [ ] Configuration updates (chains.ts) - [ ] Integration testing --- **Last Updated**: 2026-01-26