# Complete Bridge Setup Guide **Date**: $(date) **Purpose**: Complete guide for setting up and using the bridge system --- ## Overview This guide covers the complete setup and usage of the WETH9/WETH10 bridging system from ChainID 138 to Ethereum Mainnet and other chains. --- ## Quick Start ### 1. Complete Setup (Recommended) Run the master setup script: ```bash ./scripts/setup-complete-bridge.sh [private_key] [weth9_eth_mainnet] [weth10_eth_mainnet] ``` This will: - ✅ Check all prerequisites - ✅ Verify WETH9/WETH10 contracts - ✅ Configure all bridge destinations - ✅ Verify configuration - ✅ Run dry run test ### 2. Manual Setup If you prefer step-by-step: ```bash # Step 1: Check current status ./scripts/check-bridge-config.sh # Step 2: Configure all destinations ./scripts/configure-all-bridge-destinations.sh [private_key] # Step 3: Configure Ethereum Mainnet (if needed) ./scripts/fix-bridge-errors.sh [private_key] [ethereum_mainnet_bridge_address] # Step 4: Verify ./scripts/check-bridge-config.sh ./scripts/dry-run-bridge-to-ethereum.sh 0.1 [address] ``` --- ## Available Scripts ### Bridge Configuration 1. **`check-bridge-config.sh`** - Check which destinations are configured - No private key needed - Usage: `./scripts/check-bridge-config.sh` 2. **`configure-all-bridge-destinations.sh`** - Configure all known destinations - Requires private key - Usage: `./scripts/configure-all-bridge-destinations.sh [private_key] [weth9_eth] [weth10_eth]` 3. **`fix-bridge-errors.sh`** - Fix Ethereum Mainnet specifically - Requires private key and bridge address - Usage: `./scripts/fix-bridge-errors.sh [private_key] [bridge_address]` ### Bridge Operations 4. **`dry-run-bridge-to-ethereum.sh`** - Simulate bridging without sending transactions - Requires address (or private key) - Usage: `./scripts/dry-run-bridge-to-ethereum.sh [amount] [address_or_key]` 5. **`wrap-and-bridge-to-ethereum.sh`** - Actually wrap ETH and bridge to Ethereum Mainnet - Requires private key - Usage: `./scripts/wrap-and-bridge-to-ethereum.sh [amount] [private_key]` ### Verification 6. **`verify-weth9-ratio.sh`** - Verify 1:1 ratio with real transaction - Requires private key - Usage: `./scripts/verify-weth9-ratio.sh [private_key] [amount]` 7. **`test-weth9-deposit.sh`** - Comprehensive test suite - Requires private key - Usage: `./scripts/test-weth9-deposit.sh [private_key] [amounts...]` ### Contract Inspection 8. **`inspect-weth9-contract.sh`** - Inspect WETH9 contract - No private key needed - Usage: `./scripts/inspect-weth9-contract.sh` 9. **`inspect-weth10-contract.sh`** - Inspect WETH10 contract - No private key needed - Usage: `./scripts/inspect-weth10-contract.sh` 10. **`compare-weth9-standard.sh`** - Compare with standard WETH9 - No private key needed - Usage: `./scripts/compare-weth9-standard.sh` ### Token Information 11. **`get-token-info.sh`** - Get correct token information - No private key needed - Usage: `./scripts/get-token-info.sh [weth9|weth10|both]` 12. **`fix-wallet-display.sh`** - Wallet display fix instructions - No private key needed - Usage: `./scripts/fix-wallet-display.sh [weth9|weth10|both]` ### Master Script 13. **`setup-complete-bridge.sh`** - Complete setup automation - Requires private key - Usage: `./scripts/setup-complete-bridge.sh [private_key] [weth9_eth] [weth10_eth]` --- ## Complete Workflow ### Phase 1: Initial Setup 1. **Check Current Status** ```bash ./scripts/check-bridge-config.sh ``` 2. **Verify Contracts** ```bash ./scripts/inspect-weth9-contract.sh ./scripts/inspect-weth10-contract.sh ``` 3. **Get Token Information** ```bash ./scripts/get-token-info.sh both ``` ### Phase 2: Configure Bridges 1. **Configure All Destinations** ```bash ./scripts/configure-all-bridge-destinations.sh [private_key] ``` 2. **Configure Ethereum Mainnet** (if address available) ```bash ./scripts/fix-bridge-errors.sh [private_key] [ethereum_mainnet_bridge_address] ``` 3. **Verify Configuration** ```bash ./scripts/check-bridge-config.sh ``` ### Phase 3: Test and Verify 1. **Run Dry Run** ```bash ./scripts/dry-run-bridge-to-ethereum.sh 0.1 [address] ``` 2. **Verify 1:1 Ratio** (optional) ```bash ./scripts/verify-weth9-ratio.sh [private_key] 0.001 ``` 3. **Run Test Suite** (optional) ```bash ./scripts/test-weth9-deposit.sh [private_key] 0.001 0.01 0.1 ``` ### Phase 4: Bridge Tokens 1. **Bridge to Ethereum Mainnet** ```bash ./scripts/wrap-and-bridge-to-ethereum.sh 1.0 [private_key] ``` --- ## Contract Addresses Reference ### ChainID 138 (Source) - **WETH9**: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2` - **WETH10**: `0xf4BB2e28688e89fCcE3c0580D37d36A7672E8A9f` - **WETH9 Bridge**: `0x89dd12025bfCD38A168455A44B400e913ED33BE2` - **WETH10 Bridge**: `0xe0E93247376aa097dB308B92e6Ba36bA015535D0` ### Destination Chains | Chain | Selector | WETH9 Bridge | WETH10 Bridge | |-------|----------|--------------|---------------| | BSC | 11344663589394136015 | `0x8078a09637e47fa5ed34f626046ea2094a5cde5e` | `0x105f8a15b819948a89153505762444ee9f324684` | | Polygon | 4051577828743386545 | `0xa780ef19a041745d353c9432f2a7f5a241335ffe` | `0xdab0591e5e89295ffad75a71dcfc30c5625c4fa2` | | Avalanche | 6433500567565415381 | `0x8078a09637e47fa5ed34f626046ea2094a5cde5e` | `0x105f8a15b819948a89153505762444ee9f324684` | | Base | 15971525489660198786 | `0x8078a09637e47fa5ed34f626046ea2094a5cde5e` | `0x105f8a15b819948a89153505762444ee9f324684` | | Arbitrum | 4949039107694359620 | `0x8078a09637e47fa5ed34f626046ea2094a5cde5e` | `0x105f8a15b819948a89153505762444ee9f324684` | | Optimism | 3734403246176062136 | `0x8078a09637e47fa5ed34f626046ea2094a5cde5e` | `0x105f8a15b819948a89153505762444ee9f324684` | | Ethereum Mainnet | 5009297550715157269 | **TBD** | **TBD** | --- ## Troubleshooting ### Issue: All Destinations Missing **Solution**: Run configuration script: ```bash ./scripts/configure-all-bridge-destinations.sh [private_key] ``` ### Issue: Ethereum Mainnet Not Configured **Solution**: Configure with bridge address: ```bash ./scripts/fix-bridge-errors.sh [private_key] [ethereum_mainnet_bridge_address] ``` ### Issue: WETH9 Display Shows Wrong Amount **Solution**: Use token metadata or fix wallet: ```bash ./scripts/fix-wallet-display.sh weth9 ./scripts/get-token-info.sh weth9 ``` ### Issue: Dry Run Shows Errors **Solution**: 1. Check bridge configuration: `./scripts/check-bridge-config.sh` 2. Fix missing destinations: `./scripts/configure-all-bridge-destinations.sh [key]` 3. Re-run dry run: `./scripts/dry-run-bridge-to-ethereum.sh [amount] [address]` --- ## Documentation Index ### Setup and Configuration - [Complete Setup Guide](./COMPLETE_SETUP_GUIDE.md) - This document - [Fix Bridge Errors](./FIX_BRIDGE_ERRORS.md) - Fix guide - [Complete Bridge Fix Guide](./COMPLETE_BRIDGE_FIX_GUIDE.md) - Complete fix guide ### Verification - [WETH9 1:1 Ratio Verification](./WETH9_1_TO_1_RATIO_VERIFICATION.md) - Ratio verification - [Verification Results](./VERIFICATION_RESULTS.md) - Verification results - [Complete Verification Report](./COMPLETE_VERIFICATION_REPORT.md) - Complete report ### Issues and Fixes - [WETH9/WETH10 Issues and Fixes](./WETH9_WETH10_ISSUES_AND_FIXES.md) - Issues guide - [All Issues Fixed](./ALL_ISSUES_FIXED.md) - Issues summary - [Review and Fixes Complete](./REVIEW_AND_FIXES_COMPLETE.md) - Review summary ### Operations - [Wrap and Bridge to Ethereum](./WRAP_AND_BRIDGE_TO_ETHEREUM.md) - Bridge guide - [Quick Reference](./QUICK_REFERENCE_WRAP_BRIDGE.md) - Quick reference - [Dry Run Results](./DRY_RUN_BRIDGE_RESULTS.md) - Dry run results --- ## Summary ### ✅ Complete System - ✅ All scripts created and verified - ✅ All parsing issues fixed - ✅ All configuration scripts ready - ✅ Complete documentation - ✅ Master setup script available ### 🚀 Ready to Use Run the master setup script to configure everything: ```bash ./scripts/setup-complete-bridge.sh [private_key] [weth9_eth_mainnet] [weth10_eth_mainnet] ``` Or use individual scripts for step-by-step setup. --- **Last Updated**: $(date)