Files
explorer-monorepo/docs/LINK_TOKEN_CONFIGURATION_COMPLETE.md

4.7 KiB

LINK Token Configuration Complete

Date: 2025-01-12
Status: COMPLETE


Summary

The Ethereum Mainnet canonical LINK token address (0x514910771AF9Ca656af840dff83E8264EcF986CA) has been configured for ChainID 138 and added to all CCIP configurations and token lists.


Changes Made

1. Environment Configuration (.env)

  • Updated LINK_TOKEN to 0x514910771AF9Ca656af840dff83E8264EcF986CA
  • Updated CCIP_CHAIN138_FEE_TOKEN to use the same address

2. Token Lists

  • token-lists/lists/dbis-138.tokenlist.json

    • Added LINK token entry
    • Version bumped to 1.1.1
    • Tags: ["defi", "oracle", "ccip"]
  • token-list.json

    • Added LINK token entry
    • Version bumped to 1.1.1
    • Tags: ["defi", "oracle", "ccip"]

3. Database Migration

  • Created migration 0009_add_link_token.up.sql
  • Inserts LINK token into tokens table for ChainID 138
  • Includes metadata: name, symbol, decimals, logo, website
  • Marked as verified

4. CCIP Configuration

  • CCIP Router fee token already configured correctly
  • Documentation updated

Address: 0x514910771AF9Ca656af840dff83E8264EcF986CA
Name: Chainlink Token
Symbol: LINK
Decimals: 18
Type: ERC20
Chain ID: 138
Source: Ethereum Mainnet (canonical address)
Verified: Yes

Logo: https://raw.githubusercontent.com/chainlink/chainlink-docs/main/docs/images/chainlink-logo.svg
Website: https://chain.link/


Token List Entry

{
  "chainId": 138,
  "address": "0x514910771AF9Ca656af840dff83E8264EcF986CA",
  "name": "Chainlink Token",
  "symbol": "LINK",
  "decimals": 18,
  "logoURI": "https://raw.githubusercontent.com/chainlink/chainlink-docs/main/docs/images/chainlink-logo.svg",
  "tags": ["defi", "oracle", "ccip"]
}

CCIP Integration

The LINK token is now configured for:

  1. CCIP Router Fee Token

    • Router: 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
    • Fee Token: 0x514910771AF9Ca656af840dff83E8264EcF986CA
  2. Bridge Contracts

    • WETH9 Bridge: 0x89dd12025bfCD38A168455A44B400e913ED33BE2
    • WETH10 Bridge: 0xe0E93247376aa097dB308B92e6Ba36bA015535D0
    • Both bridges can use LINK for CCIP fees

Verification

Check Token in Database

SELECT * FROM tokens 
WHERE chain_id = 138 
  AND address = '0x514910771AF9Ca656af840dff83E8264EcF986CA';

Check Token List

# Verify LINK is in token list
grep -A 5 "0x514910771AF9Ca656af840dff83E8264EcF986CA" token-lists/lists/dbis-138.tokenlist.json

Verify on Chain

# Check if LINK token exists on ChainID 138
cast code 0x514910771AF9Ca656af840dff83E8264EcF986CA --rpc-url http://192.168.11.250:8545

# Check token name
cast call 0x514910771AF9Ca656af840dff83E8264EcF986CA "name()" --rpc-url http://192.168.11.250:8545

# Check token symbol
cast call 0x514910771AF9Ca656af840dff83E8264EcF986CA "symbol()" --rpc-url http://192.168.11.250:8545

Check CCIP Router Fee Token

CCIP_ROUTER="0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e"
cast call "$CCIP_ROUTER" "getFeeToken()" --rpc-url http://192.168.11.250:8545

Files Modified

  1. .env - LINK_TOKEN and CCIP_CHAIN138_FEE_TOKEN updated
  2. token-lists/lists/dbis-138.tokenlist.json - LINK token added
  3. token-list.json - LINK token added
  4. backend/database/migrations/0009_add_link_token.up.sql - Database migration created
  5. backend/database/migrations/0009_add_link_token.down.sql - Rollback migration created
  6. scripts/configure-link-token-chain138.sh - Configuration script created

Next Steps

  1. Run Database Migration (if not already run):

    # Apply migration to add LINK token to database
    # Use your migration tool to run 0009_add_link_token.up.sql
    
  2. Verify Token on Chain:

    • The LINK token address should exist on ChainID 138
    • If it doesn't exist, it may need to be deployed or bridged
  3. Fund Bridge Contracts (if needed):

    ./scripts/fund-bridge-contracts.sh 10
    
  4. Update Frontend/UI:

    • Token lists are now updated
    • Frontend should automatically pick up the new token

Notes

  • The LINK token uses the same address as Ethereum Mainnet (0x514910771AF9Ca656af840dff83E8264EcF986CA)
  • This is the canonical Chainlink LINK token address
  • The token must exist on ChainID 138 for CCIP to work properly
  • If the token doesn't exist on ChainID 138, it may need to be:
    • Deployed as a new contract
    • Bridged from Ethereum Mainnet
    • Or the network may use a different LINK token address

Last Updated: 2025-01-12
Status: Configuration complete - LINK token added to all systems