Files
smom-dbis-138/docs/operations/integrations/METAMASK_PORTFOLIO.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

4.9 KiB

MetaMask Portfolio Compatibility for ChainID 138

Guide for MetaMask Portfolio compatibility with ChainID 138.

Current Status

ChainID 138 is not currently supported in MetaMask Portfolio's native features (Swaps, Bridge, Buy/Sell). However, read-only features (balances, token display) may work if token metadata is properly configured.

Portfolio Read-Only Features

Token Auto-Detection

MetaMask Portfolio can auto-detect tokens when they appear on 2+ reputable token lists. To enable auto-detection:

  1. Official Token List: Maintain an official token list for ChainID 138
  2. Token List Inclusion: Submit token list to reputable aggregators:
    • CoinGecko Token Lists
    • Uniswap Token Lists
    • Other major DEX token lists
  3. Explorer Metadata: Ensure Blockscout returns standard ERC-20 metadata endpoints

Balance Visibility

Portfolio can display token balances if:

  • Token metadata is available on token lists
  • Explorer returns standard ERC-20 metadata
  • Token contract implements standard ERC-20 interface
  • Token balances are queryable via RPC

Token Symbols and Logos

Portfolio displays token symbols and logos from:

  • Token lists (primary source)
  • Explorer metadata (fallback)
  • Contract metadata (if available)

CAIP-2 Identifier

ChainID 138 uses the CAIP-2 identifier: eip155:138

This identifier is used by:

  • Portfolio for chain identification
  • Token lists for chain-specific tokens
  • Indexers for chain-specific data

Blockscout Integration

Required API Endpoints

Blockscout must provide these endpoints for Portfolio compatibility:

  1. Token Metadata: /api/v2/tokens/{address}

    • Returns: name, symbol, decimals, total_supply
  2. Token Holders: /api/v2/tokens/{address}/holders

    • Returns: list of token holders
  3. Token Transfers: /api/v2/tokens/{address}/transfers

    • Returns: token transfer history

CORS Configuration

Blockscout must allow CORS requests from Portfolio:

Access-Control-Allow-Origin: https://portfolio.metamask.io
Access-Control-Allow-Methods: GET, OPTIONS
Access-Control-Allow-Headers: Content-Type

Token Logo Serving

Token logos should be served from Blockscout or CDN:

  • URL format: https://explorer.d-bis.org/images/tokens/{address}.png
  • Fallback: Token logo from token list
  • Standard: 512x512 PNG format

Token List Requirements

Official Token List

The official token list for ChainID 138 must:

  1. Follow Token Lists Schema: Use Uniswap Token Lists JSON schema
  2. Include All Tokens: Include all ecosystem tokens
  3. Provide Logos: Include logo URLs for all tokens
  4. Maintain Accuracy: Keep token metadata up to date
  5. Host Publicly: Host on public URL (HTTPS)

Token List Submission

Submit token list to:

  1. CoinGecko: For token discovery
  2. Uniswap: For DEX integration
  3. Other Aggregators: For wider reach

Limitations

Not Supported (Requires MetaMask Partnership)

  • Swaps: In-wallet swap aggregator
  • Bridge: Portfolio Bridge integration
  • Buy/Sell: Fiat on/off-ramps
  • Advanced Charts: Market data and charts
  • Full Portfolio Features: Complete portfolio functionality

Supported (Read-Only)

  • Token Balances: Display token balances
  • Token Symbols: Display token symbols
  • Token Logos: Display token logos
  • Transaction History: View transaction history (via explorer)
  • Account Overview: Basic account information

Testing Portfolio Compatibility

Checklist

  • Token list is publicly accessible
  • Token list follows Token Lists schema
  • Token logos are accessible
  • Blockscout API endpoints work
  • CORS headers are configured
  • Token metadata is accurate
  • Token balances are queryable
  • CAIP-2 identifier is used correctly

Test Steps

  1. Add Network: Add ChainID 138 to MetaMask
  2. Add Tokens: Add tokens to MetaMask
  3. Check Portfolio: Open MetaMask Portfolio
  4. Verify Balances: Check if token balances display
  5. Verify Symbols: Check if token symbols display
  6. Verify Logos: Check if token logos display
  7. Test Explorer: Verify explorer links work

Future Integration

Path to Full Support

To enable full Portfolio features:

  1. Business Development: Engage with Consensys for partnership
  2. Liquidity Requirements: Ensure sufficient liquidity for swaps
  3. Bridge Integration: Integrate with bridge providers
  4. On-Ramp Partners: Partner with fiat on/ramp providers
  5. Regulatory Compliance: Ensure regulatory compliance

Tracking

  • Monitor MetaMask Portfolio updates
  • Track network support announcements
  • Engage with Consensys for integration
  • Submit feature requests

References