Files
explorer-monorepo/docs/COMPLETE_BRIDGE_FIX_GUIDE.md
defiQUG bdae5a9f6e feat: explorer API, wallet, CCIP scripts, and config refresh
- Backend REST/gateway/track routes, analytics, Blockscout proxy paths.
- Frontend wallet and liquidity surfaces; MetaMask token list alignment.
- Deployment docs, verification scripts, address inventory updates.

Check: go build ./... under backend/ (pass).
Made-with: Cursor
2026-04-07 23:22:12 -07:00

208 lines
5.1 KiB
Markdown

# Complete Bridge Fix Guide
**Date**: $(date)
**Status**: ✅ **All Fix Scripts Created**
---
## Issues Found
### Critical Issues
1. **All Bridge Destinations Missing**
- WETH9 Bridge: 0 destinations configured
- WETH10 Bridge: 0 destinations configured
- **Impact**: Cannot bridge to any chain
2. **Ethereum Mainnet Specifically Missing**
- Required for bridging to Ethereum Mainnet
- **Impact**: Dry run failed for Ethereum Mainnet
---
## Fix Scripts Created
### 1. Check Bridge Configuration ✅
**Script**: `scripts/check-bridge-config.sh`
**Purpose**: Check which destinations are configured and which are missing.
**Usage**:
```bash
./scripts/check-bridge-config.sh
```
**Output**: Shows status of all destinations for both WETH9 and WETH10 bridges.
### 2. Configure All Destinations ✅
**Script**: `scripts/configure-all-bridge-destinations.sh`
**Purpose**: Configure all known bridge destinations (except Ethereum Mainnet which needs address).
**Usage**:
```bash
./scripts/configure-all-bridge-destinations.sh [private_key]
```
**What it configures**:
- BSC
- Polygon
- Avalanche
- Base
- Arbitrum
- Optimism
- Ethereum Mainnet: Skipped (needs address)
### 3. Fix Ethereum Mainnet Only ✅
**Script**: `scripts/fix-bridge-errors.sh`
**Purpose**: Configure Ethereum Mainnet destination specifically.
**Usage**:
```bash
./scripts/fix-bridge-errors.sh [private_key] [ethereum_mainnet_bridge_address]
```
**What it does**:
- Checks current configuration
- Configures WETH9 bridge for Ethereum Mainnet
- Verifies configuration
---
## Step-by-Step Fix Process
### Step 1: Check Current Status
```bash
./scripts/check-bridge-config.sh
```
This will show which destinations are missing.
### Step 2: Configure All Known Destinations
```bash
./scripts/configure-all-bridge-destinations.sh [private_key]
```
This will configure:
- BSC
- Polygon
- Avalanche
- Base
- Arbitrum
- Optimism
**Note**: Ethereum Mainnet will be skipped (needs address).
### Step 3: Configure Ethereum Mainnet
Once you have the Ethereum Mainnet bridge address:
```bash
./scripts/fix-bridge-errors.sh [private_key] [ethereum_mainnet_bridge_address]
```
### Step 4: Verify All Configurations
```bash
./scripts/check-bridge-config.sh
```
All destinations should now show as configured.
### Step 5: Re-run Dry Run
```bash
./scripts/dry-run-bridge-to-ethereum.sh 0.1 [address]
```
All checks should now pass.
---
## Destination Addresses Reference
### WETH9 Bridge Destinations
| Chain | Selector | Bridge Address |
|-------|----------|----------------|
| BSC | 11344663589394136015 | `0x24293CA562aE1100E60a4640FF49bd656cFf93B4` |
| Polygon | 4051577828743386545 | `0xF7736443f02913e7e0773052103296CfE1637448` |
| Avalanche | 6433500567565415381 | `0x24293CA562aE1100E60a4640FF49bd656cFf93B4` |
| Base | 15971525489660198786 | `0x24293CA562aE1100E60a4640FF49bd656cFf93B4` |
| Arbitrum | 4949039107694359620 | `0x937824f2516fa58f25aeAb92E7BFf7D74F463B4c` |
| Optimism | 3734403246176062136 | `0x6e94e53F73893b2a6784Df663920D31043A6dE07` |
| Ethereum Mainnet | 5009297550715157269 | `0xc9901ce2Ddb6490FAA183645147a87496d8b20B6` |
### WETH10 Bridge Destinations
| Chain | Selector | Bridge Address |
|-------|----------|----------------|
| BSC | 11344663589394136015 | `0x937824f2516fa58f25aeAb92E7BFf7D74F463B4c` |
| Polygon | 4051577828743386545 | `0x0CA60e6f8589c540200daC9D9Cb27BC2e48eE66A` |
| Avalanche | 6433500567565415381 | `0x937824f2516fa58f25aeAb92E7BFf7D74F463B4c` |
| Base | 15971525489660198786 | `0x937824f2516fa58f25aeAb92E7BFf7D74F463B4c` |
| Arbitrum | 4949039107694359620 | `0x73376eB92c16977B126dB9112936A20Fa0De3442` |
| Optimism | 3734403246176062136 | `0x24293CA562aE1100E60a4640FF49bd656cFf93B4` |
| Ethereum Mainnet | 5009297550715157269 | `0x04E1e22B0D41e99f4275bd40A50480219bc9A223` |
Note: Arbitrum remains operationally blocked on the current Mainnet hub leg until the `0xc990... -> 42161` WETH9 path is repaired, even though the destination bridge addresses are known.
---
## Quick Fix Commands
### Check Status
```bash
./scripts/check-bridge-config.sh
```
### Configure All (Except Ethereum Mainnet)
```bash
./scripts/configure-all-bridge-destinations.sh [private_key]
```
### Configure Ethereum Mainnet
```bash
./scripts/fix-bridge-errors.sh [private_key] [ethereum_mainnet_bridge_address]
```
### Verify
```bash
./scripts/check-bridge-config.sh
./scripts/dry-run-bridge-to-ethereum.sh 0.1 [address]
```
---
## Summary
### Scripts Created ✅
1.`scripts/check-bridge-config.sh` - Check all destinations
2.`scripts/configure-all-bridge-destinations.sh` - Configure all known destinations
3.`scripts/fix-bridge-errors.sh` - Fix Ethereum Mainnet specifically
4.`scripts/dry-run-bridge-to-ethereum.sh` - Improved dry run
### Documentation Created ✅
1.`docs/FIX_BRIDGE_ERRORS.md` - Fix guide
2.`docs/ALL_ERRORS_FIXED.md` - Error summary
3.`docs/COMPLETE_BRIDGE_FIX_GUIDE.md` - This guide
### Status
- ✅ All fix scripts created
- ✅ All documentation complete
-**Action Required**: Configure destinations (run scripts with private key)
-**Action Required**: Provide Ethereum Mainnet bridge address
---
**Last Updated**: $(date)