- Changed CCIPWETH10Bridge address from `0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e` to `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` in various deployment documents and scripts. - Ensured consistency in bridge configuration and verification steps for ChainID 138 and Mainnet. Made-with: Cursor
135 lines
3.1 KiB
Markdown
135 lines
3.1 KiB
Markdown
# LINK Token Status on ChainID 138
|
|
|
|
**Date**: 2025-01-18
|
|
**Status**: ⚠️ **LINK TOKEN NOT FOUND AT EXPECTED ADDRESS**
|
|
|
|
---
|
|
|
|
## Current Status
|
|
|
|
### ❌ LINK Token Contract Missing
|
|
|
|
**Expected Address**: `0x514910771AF9Ca656af840dff83E8264EcF986CA`
|
|
**ChainID 138**: ❌ **No contract code at this address**
|
|
|
|
**Wallet Address**: `0x4A666F96fC8764181194447A7dFdb7d471b301C8`
|
|
**LINK Balance**: Cannot check (contract doesn't exist)
|
|
|
|
### Impact
|
|
|
|
**CCIP Bridge Operations**:
|
|
- ⚠️ Bridge contracts may not be able to pay CCIP fees
|
|
- ⚠️ Cross-chain transfers may fail without LINK tokens
|
|
- ⚠️ Fee calculations will fail
|
|
|
|
---
|
|
|
|
## Required Actions
|
|
|
|
### Option 1: Deploy LINK Token (Recommended)
|
|
|
|
If ChainID 138 needs its own LINK token:
|
|
|
|
```bash
|
|
# Check for deployment scripts
|
|
find . -name "*deploy*link*" -type f
|
|
|
|
# Or use Foundry to deploy standard ERC20 LINK token
|
|
forge create LinkToken --rpc-url http://192.168.11.211:8545 --private-key $PRIVATE_KEY
|
|
```
|
|
|
|
**LINK Token Specification**:
|
|
- **Name**: "Chainlink Token"
|
|
- **Symbol**: "LINK"
|
|
- **Decimals**: 18
|
|
- **Standard**: ERC20
|
|
|
|
### Option 2: Find Existing LINK Token
|
|
|
|
Check if LINK exists at a different address:
|
|
|
|
```bash
|
|
# Check CCIP Router for fee token reference
|
|
cast call 0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817 "feeToken()" \
|
|
--rpc-url http://192.168.11.211:8545
|
|
|
|
# Check bridge contracts for LINK token reference
|
|
cast call 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 "feeToken()" \
|
|
--rpc-url http://192.168.11.211:8545
|
|
```
|
|
|
|
### Option 3: Bridge LINK from Mainnet
|
|
|
|
If LINK should come from Ethereum Mainnet:
|
|
|
|
1. Use CCIP to bridge LINK tokens from Mainnet
|
|
2. Or use alternative bridge mechanism
|
|
3. Receive LINK tokens on ChainID 138
|
|
|
|
### Option 4: Use Native ETH for Fees
|
|
|
|
If CCIP Router supports native ETH fees:
|
|
|
|
```bash
|
|
# Check if router supports native ETH (address(0) as fee token)
|
|
# Would need to update bridge fee token configuration
|
|
```
|
|
|
|
---
|
|
|
|
## Verification Commands
|
|
|
|
### Check if LINK Contract Exists
|
|
|
|
```bash
|
|
# Expected address
|
|
cast code 0x514910771AF9Ca656af840dff83E8264EcF986CA \
|
|
--rpc-url http://192.168.11.211:8545
|
|
|
|
# If empty, contract doesn't exist
|
|
```
|
|
|
|
### Check Wallet Balance (After LINK Available)
|
|
|
|
```bash
|
|
./scripts/configuration/check-link-balance.sh
|
|
```
|
|
|
|
### Check CCIP Router Fee Token
|
|
|
|
```bash
|
|
cast call 0x42DAb7b888Dd382bD5Adcf9E038dBF1fD03b4817 \
|
|
"feeToken()(address)" \
|
|
--rpc-url http://192.168.11.211:8545
|
|
```
|
|
|
|
---
|
|
|
|
## Documentation References
|
|
|
|
From codebase investigation:
|
|
- `LINK_TOKEN_SEARCH_RESULTS.md`: No existing LINK token found
|
|
- `LINK_TOKEN_SETUP_COMPLETE.md`: Configuration complete but token not deployed
|
|
- `PREREQUISITES_COMPLETION_GUIDE.md`: LINK deployment required
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
**Current State**:
|
|
- ❌ LINK token contract not deployed on ChainID 138
|
|
- ⚠️ Wallet balance cannot be checked
|
|
- ⚠️ CCIP fee payment will fail
|
|
|
|
**Required**:
|
|
1. Deploy LINK token contract, OR
|
|
2. Find existing LINK token at different address, OR
|
|
3. Bridge LINK from Mainnet, OR
|
|
4. Configure CCIP to use native ETH fees
|
|
|
|
**Next Action**: Determine LINK token deployment strategy for ChainID 138.
|
|
|
|
---
|
|
|
|
**Status**: ⚠️ **LINK TOKEN REQUIRED FOR CCIP OPERATIONS**
|