- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
101 lines
2.7 KiB
Markdown
101 lines
2.7 KiB
Markdown
# Etherscan Verification - FIXED Settings
|
|
|
|
**Error**: "Unable to find matching Contract Bytecode and ABI"
|
|
**Solution**: Use **Via IR: YES**
|
|
|
|
---
|
|
|
|
## ✅ CORRECT Verification Settings
|
|
|
|
### Form Fields
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| **Contract Address** | `0x89dd12025bfcd38a168455a44b400e913ed33be2` |
|
|
| **Compiler Type** | `SINGLE FILE / CONCATENATED METHOD` |
|
|
| **Compiler Version** | `v0.8.20+commit.a1b79de6` |
|
|
| **License** | `MIT License (MIT)` |
|
|
| **Optimization** | `Yes` (200 runs) |
|
|
| **Via IR** | ✅ **YES** ← **CRITICAL!** |
|
|
|
|
---
|
|
|
|
## 🔑 Key Fix
|
|
|
|
**The contract was deployed with `--via-ir` flag**, so verification **MUST** also use **Via IR: YES**.
|
|
|
|
The bytecode mismatch occurred because:
|
|
- ❌ Verification attempted with: Via IR: **No**
|
|
- ✅ Deployment used: Via IR: **Yes**
|
|
|
|
---
|
|
|
|
## 📝 Constructor Arguments
|
|
|
|
**ABI-Encoded**:
|
|
```
|
|
0x00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
|
|
```
|
|
|
|
**Decoded**:
|
|
1. `_ccipRouter`: `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D`
|
|
2. `_weth9`: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`
|
|
3. `_feeToken`: `0x514910771AF9Ca656af840dff83E8264EcF986CA`
|
|
|
|
---
|
|
|
|
## 📄 Contract Source Code
|
|
|
|
**File**: `docs/CCIPWETH9Bridge_flattened.sol`
|
|
**Lines**: 396 lines
|
|
**Ready to paste**: Yes
|
|
|
|
Copy the entire contents and paste into Etherscan's "Enter the Solidity Contract Code below" field.
|
|
|
|
---
|
|
|
|
## 🎯 Step-by-Step Instructions
|
|
|
|
1. **Go to Etherscan**:
|
|
- https://etherscan.io/address/0x89dd12025bfcd38a168455a44b400e913ed33be2#code
|
|
- Click **"Contract"** tab → **"Verify and Publish"**
|
|
|
|
2. **Fill in the form**:
|
|
- Contract Address: `0x89dd12025bfcd38a168455a44b400e913ed33be2`
|
|
- Compiler Type: `SINGLE FILE / CONCATENATED METHOD`
|
|
- Compiler Version: `v0.8.20+commit.a1b79de6`
|
|
- License: `MIT License (MIT)`
|
|
- Optimization: `Yes` (200 runs)
|
|
- **Via IR: ✅ YES** ← **This is the fix!**
|
|
|
|
3. **Paste Contract Code**:
|
|
- Copy from `docs/CCIPWETH9Bridge_flattened.sol`
|
|
- Paste into the code field
|
|
|
|
4. **Enter Constructor Arguments**:
|
|
- Paste the ABI-encoded constructor arguments above
|
|
|
|
5. **Submit**:
|
|
- Click **"Verify and Publish"**
|
|
- Wait for verification (up to 45 seconds)
|
|
|
|
---
|
|
|
|
## ✅ Expected Result
|
|
|
|
With **Via IR: YES**, the bytecode should match and verification should succeed.
|
|
|
|
---
|
|
|
|
## 📚 Reference
|
|
|
|
- **Deployment Script**: Used `--via-ir` flag (confirmed)
|
|
- **Documentation**: `docs/ETHERSCAN_BYTECODE_MISMATCH_FIX.md`
|
|
- **Flattened Contract**: `docs/CCIPWETH9Bridge_flattened.sol`
|
|
|
|
---
|
|
|
|
**Last Updated**: $(date)
|
|
**Status**: ✅ **FIXED - USE VIA IR: YES**
|
|
|