- 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.
3.7 KiB
3.7 KiB
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.20for verification
Open Source License Type
Select: MIT License (MIT)
Source: The contract file contains:
// SPDX-License-Identifier: MIT
🔧 Additional Settings
Optimization
- Enabled: ✅ Yes
- Runs:
200
Via IR
- Enabled: ⚠️ Try both
YesandNo- The contract was deployed with
--via-irflag - Etherscan may not support via-ir verification
- If verification fails with via-ir enabled, try without it
- The contract was deployed with
EVM Version
- Version:
london(default for Solidity 0.8.20)
📝 Constructor Arguments
ABI-Encoded Constructor Arguments:
0x00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
Decoded Arguments:
_ccipRouter:0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D_weth9:0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2_feeToken:0x514910771AF9Ca656af840dff83E8264EcF986CA
🎯 Step-by-Step Verification
Method 1: Solidity (Single file)
- Go to: https://etherscan.io/address/0x89dd12025bfcd38a168455a44b400e913ed33be2#code
- Click "Contract" tab → "Verify and Publish"
- 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
Nofirst, thenYesif it fails
- Compiler Type:
- Paste the contract source code from
contracts/ccip/CCIPWETH9Bridge.sol - Important: You'll need to flatten the contract (include all imports)
- Enter constructor arguments (ABI-encoded)
- Click "Verify and Publish"
Method 2: Standard JSON Input
If single-file verification fails:
- Use the same form but select "Standard JSON Input"
- Generate Standard JSON:
cd /home/intlc/projects/smom-dbis-138 forge build --force # The Standard JSON will be in the build artifacts - Upload the Standard JSON file
- Enter constructor arguments
- Submit
⚠️ Common Issues
Issue: Bytecode Mismatch
Solution:
- Try verification without
via-irfirst - 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)