Files
proxmox/docs/archive/tests/ETHERSCAN_VERIFICATION_DETAILS.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- 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.
2026-01-06 01:46:25 -08:00

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.20 for 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 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:
    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)