- 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.
148 lines
3.7 KiB
Markdown
148 lines
3.7 KiB
Markdown
# Etherscan Verification Details
|
|
|
|
**Contract**: `0x89dd12025bfCD38A168455A44B400e913ED33BE2`
|
|
**Contract Name**: `CCIPWETH9Bridge`
|
|
**Network**: Ethereum Mainnet
|
|
|
|
---
|
|
|
|
## 📋 Verification Form Fields
|
|
|
|
### Compiler Type
|
|
**Select**: `Solidity (Single file)` or `Standard JSON Input`
|
|
|
|
**Recommendation**: Start with `Solidity (Single file)`. If that fails due to imports, use `Standard JSON Input`.
|
|
|
|
---
|
|
|
|
### Compiler Version
|
|
**Select**: `0.8.20`
|
|
|
|
**Note**:
|
|
- The contract source specifies `pragma solidity ^0.8.19;`
|
|
- The foundry.toml specifies `solc_version = "0.8.20"`
|
|
- The contract was deployed with version `0.8.20`
|
|
- **Use `0.8.20` for verification**
|
|
|
|
---
|
|
|
|
### Open Source License Type
|
|
**Select**: `MIT License (MIT)`
|
|
|
|
**Source**: The contract file contains:
|
|
```solidity
|
|
// SPDX-License-Identifier: MIT
|
|
```
|
|
|
|
---
|
|
|
|
## 🔧 Additional Settings
|
|
|
|
### Optimization
|
|
- **Enabled**: ✅ Yes
|
|
- **Runs**: `200`
|
|
|
|
### Via IR
|
|
- **Enabled**: ⚠️ Try both `Yes` and `No`
|
|
- The contract was deployed with `--via-ir` flag
|
|
- Etherscan may not support via-ir verification
|
|
- If verification fails with via-ir enabled, try without it
|
|
|
|
### EVM Version
|
|
- **Version**: `london` (default for Solidity 0.8.20)
|
|
|
|
---
|
|
|
|
## 📝 Constructor Arguments
|
|
|
|
**ABI-Encoded Constructor Arguments**:
|
|
```
|
|
0x00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
|
|
```
|
|
|
|
**Decoded Arguments**:
|
|
1. `_ccipRouter`: `0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D`
|
|
2. `_weth9`: `0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`
|
|
3. `_feeToken`: `0x514910771AF9Ca656af840dff83E8264EcF986CA`
|
|
|
|
---
|
|
|
|
## 🎯 Step-by-Step Verification
|
|
|
|
### Method 1: Solidity (Single file)
|
|
|
|
1. Go to: https://etherscan.io/address/0x89dd12025bfcd38a168455a44b400e913ed33be2#code
|
|
2. Click **"Contract"** tab → **"Verify and Publish"**
|
|
3. Fill in the form:
|
|
- **Compiler Type**: `Solidity (Single file)`
|
|
- **Compiler Version**: `0.8.20`
|
|
- **License**: `MIT License (MIT)`
|
|
- **Optimization**: `Yes` (200 runs)
|
|
- **Via IR**: Try `No` first, then `Yes` if it fails
|
|
4. Paste the contract source code from `contracts/ccip/CCIPWETH9Bridge.sol`
|
|
5. **Important**: You'll need to flatten the contract (include all imports)
|
|
6. Enter constructor arguments (ABI-encoded)
|
|
7. Click **"Verify and Publish"**
|
|
|
|
### Method 2: Standard JSON Input
|
|
|
|
If single-file verification fails:
|
|
|
|
1. Use the same form but select **"Standard JSON Input"**
|
|
2. Generate Standard JSON:
|
|
```bash
|
|
cd /home/intlc/projects/smom-dbis-138
|
|
forge build --force
|
|
# The Standard JSON will be in the build artifacts
|
|
```
|
|
3. Upload the Standard JSON file
|
|
4. Enter constructor arguments
|
|
5. Submit
|
|
|
|
---
|
|
|
|
## ⚠️ Common Issues
|
|
|
|
### Issue: Bytecode Mismatch
|
|
**Solution**:
|
|
- Try verification without `via-ir` first
|
|
- Ensure all imports are included (flatten the contract)
|
|
- Verify compiler version matches exactly (0.8.20)
|
|
|
|
### Issue: Missing Imports
|
|
**Solution**:
|
|
- Use "Flatten Source Code" feature in Etherscan
|
|
- Or use Standard JSON Input method
|
|
|
|
### Issue: Constructor Arguments Error
|
|
**Solution**:
|
|
- Ensure addresses are in correct format (lowercase or checksummed)
|
|
- Verify ABI encoding is correct
|
|
|
|
---
|
|
|
|
## 📄 Contract Source Location
|
|
|
|
**File**: `/home/intlc/projects/smom-dbis-138/contracts/ccip/CCIPWETH9Bridge.sol`
|
|
|
|
**Dependencies**:
|
|
- `./IRouterClient.sol` (in same directory)
|
|
|
|
---
|
|
|
|
## ✅ Quick Reference
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| **Compiler Type** | Solidity (Single file) |
|
|
| **Compiler Version** | 0.8.20 |
|
|
| **License** | MIT License (MIT) |
|
|
| **Optimization** | Yes (200 runs) |
|
|
| **Via IR** | Try No first, then Yes |
|
|
| **EVM Version** | london |
|
|
|
|
---
|
|
|
|
**Last Updated**: $(date)
|
|
|