Files
proxmox/docs/archive/status/ETHERSCAN_VERIFICATION_STATUS.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

4.5 KiB

Etherscan Verification Status

Date: $(date)
Contract: 0x89dd12025bfCD38A168455A44B400e913ED33BE2
Status: ⚠️ VERIFICATION ATTEMPTED - BYTECODE MISMATCH


Contract Details

  • Address: 0x89dd12025bfCD38A168455A44B400e913ED33BE2
  • Name: CCIPWETH9Bridge
  • Network: Ethereum Mainnet
  • Source: contracts/ccip/CCIPWETH9Bridge.sol
  • Status on Mainnet: Contract exists (7,041 bytes of bytecode)

📋 Constructor Arguments

The contract was deployed with the following constructor arguments:

  1. CCIP Router: 0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D
  2. WETH9: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
  3. Fee Token (LINK): 0x514910771AF9Ca656af840dff83E8264EcF986CA

Encoded Constructor Args:

0x00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca

⚠️ Verification Issue

Error: Fail - Unable to verify. Compiled contract deployment bytecode does NOT match the transaction deployment bytecode.

Root Cause: The contract was deployed with via-ir enabled, but Etherscan's verification may not support this compiler setting, or the bytecode doesn't match due to:

  • Different compiler settings during deployment vs verification
  • Source code changes since deployment
  • Etherscan's verification system limitations with via-ir

🔧 Verification Command

Use this command to attempt verification:

cd /home/intlc/projects/smom-dbis-138
source .env

forge verify-contract \
  0x89dd12025bfCD38A168455A44B400e913ED33BE2 \
  contracts/ccip/CCIPWETH9Bridge.sol:CCIPWETH9Bridge \
  --chain-id 1 \
  --etherscan-api-key "$ETHERSCAN_API_KEY" \
  --constructor-args 0x00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca \
  --compiler-version 0.8.20 \
  --num-of-optimizations 200 \
  --watch

🎯 Next Steps

Option 1: Manual Verification via Etherscan UI

  1. Go to: https://etherscan.io/address/0x89dd12025bfcd38a168455a44b400e913ed33be2#code
  2. Click "Contract" tab → "Verify and Publish"
  3. Select:
    • Compiler Type: Solidity (Single file) or Standard JSON Input
    • Compiler Version: 0.8.20
    • Open Source License: MIT
    • Optimization: Yes (200 runs)
    • Via IR: Try both with and without
  4. Paste the contract source code
  5. Enter constructor arguments (ABI-encoded)
  6. Submit for verification

Option 2: Standard JSON Input

If single-file verification fails, use Standard JSON Input:

cd /home/intlc/projects/smom-dbis-138
forge build --force
# Then use the standard JSON from out/CCIPWETH9Bridge.sol/CCIPWETH9Bridge.json

Option 3: Check Deployment Settings

Verify the exact compiler settings used during deployment:

  • Check if via-ir was actually used
  • Verify optimizer runs (200)
  • Confirm Solidity version (0.8.20)

📊 Deployment Information

From broadcast file (broadcast/DeployCCIPWETH9Bridge.s.sol/1/run-latest.json):

  • Deployment Transaction: 0x424b51cac9bf78c59629af93b8bcdabe8fee6235458785da32bec933bac1051d
  • Block Number: 0x16afbd0 (23,844,816)
  • Deployer: 0x4a666f96fc8764181194447a7dfdb7d471b301c8
  • Gas Used: 0x1a5c3a (1,723,450)

Note: The broadcast file shows a different contract address (0x3304b747e565a97ec8ac220b0b6a1f6ffdb837e6), which suggests this may be a different deployment or the contract at 0x89dd12025bfCD38A168455A44B400e913ED33BE2 was deployed separately.


🔍 Troubleshooting

  1. Bytecode Mismatch:

    • Ensure source code matches exactly what was deployed
    • Check if any imports or dependencies have changed
    • Verify compiler settings match deployment
  2. Via-IR Issue:

    • Try verification without via-ir flag
    • Etherscan may not support via-ir verification
    • Consider recompiling without via-ir for verification
  3. Constructor Arguments:

    • Double-check all addresses are correct
    • Ensure proper ABI encoding

Verification Script

A verification script has been created at: /home/intlc/projects/proxmox/scripts/verify-contract-etherscan.sh

Run it with:

cd /home/intlc/projects/proxmox
./scripts/verify-contract-etherscan.sh

Last Updated: $(date)
Status: ⚠️ PENDING - BYTECODE MISMATCH