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

6.5 KiB

Ethereum Mainnet Contracts - Verification Status

Date: $(date)
Network: Ethereum Mainnet (Chain ID: 1)
Purpose: Complete list of all contracts deployed to Ethereum Mainnet and their verification status


📋 Summary

Total Contracts Verified Pending Verification
1 0 1

Verified and Published Contracts

Status: ⚠️ NO CONTRACTS VERIFIED YET

None of the deployed contracts have been successfully verified on Etherscan.


Pending Verification Contracts

1. CCIPWETH9Bridge

Property Value
Contract Address 0x89dd12025bfCD38A168455A44B400e913ED33BE2
Contract Name CCIPWETH9Bridge
Status ⚠️ NOT VERIFIED - BYTECODE MISMATCH
Etherscan Link https://etherscan.io/address/0x89dd12025bfcd38a168455a44b400e913ed33be2#code
Bytecode Size 7,041 bytes
Deployment Transaction 0x424b51cac9bf78c59629af93b8bcdabe8fee6235458785da32bec933bac1051d
Block Number 23,844,816 (0x16afbd0)
Deployer 0x4a666f96fc8764181194447a7dfdb7d471b301c8
Gas Used 1,723,450

Constructor Arguments

⚠️ CRITICAL CORRECTION: The actual deployment uses ONLY ONE address argument, not three!

Constructor Signature: constructor(address)

Address: 0x4A666F96fC8764181194447A7dFdb7d471b301C8 (deployer/admin)

ABI-Encoded Constructor Args:

0x0000000000000000000000004a666f96fc8764181194447a7dfdb7d471b301c8

Note: The source code shows a 3-argument constructor, but the actual Ethereum Mainnet deployment uses only 1 address. This suggests the deployed contract may be a different version or deployed through a factory pattern.

Verification Details

  • Compiler Version: 0.8.20
  • Optimization: Enabled (200 runs)
  • Via IR: DISABLED (contract was NOT deployed with --via-ir)
  • EVM Version: Default (not forced)
  • License: MIT
  • Source File: contracts/ccip/CCIPWETH9Bridge.sol

⚠️ CRITICAL: The contract was deployed WITHOUT via-ir. The Standard JSON has been corrected to use viaIR: false.

Verification Issue (RESOLVED)

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

Root Cause Identified:

  • FIXED: Standard JSON had viaIR: true but contract was deployed WITHOUT via-ir
  • FIXED: Constructor arguments were wrong (3 addresses vs 1 address)
  • FIXED: EVM version was forced when it should default

Status: All issues corrected in Standard JSON file

Verification Resources

  • Flattened Contract: docs/CCIPWETH9Bridge_flattened.sol
  • Standard JSON: docs/CCIPWETH9Bridge_standard_json.json
  • Verification Guide: docs/ETHERSCAN_VERIFICATION_DETAILS.md
  • Verification Script: scripts/verify-contract-etherscan.sh

Next Steps for Verification

  1. Try Standard JSON Input Method (Recommended):

    • Use docs/CCIPWETH9Bridge_standard_json.json
    • Includes viaIR: true setting
    • Upload to Etherscan via "Standard JSON Input" option
  2. Manual Verification via Etherscan UI:

  3. Alternative: Try verification without via-ir if Standard JSON fails


📊 Verification Status Breakdown

By Status

Status Count Percentage
Verified 0 0%
⚠️ Pending 1 100%
Failed 0 0%

By Contract Type

Contract Type Count Verified Pending
Bridge Contracts 1 0 1

🔍 Additional Notes

Contracts NOT Deployed to Ethereum Mainnet

The following contracts are deployed on Chain 138 (not Ethereum Mainnet):

  • CCIPWETH10Bridge: 0xe0E93247376aa097dB308B92e6Ba36bA015535D0 (Chain 138 only)
  • CCIP Router: 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e (Chain 138 only)
  • CCIP Sender: 0x105F8A15b819948a89153505762444Ee9f324684 (Chain 138 only - empty on Mainnet)
  • Oracle Contracts: Various addresses (Chain 138 only)

Note: Some addresses may appear on Etherscan (Ethereum Mainnet) but have empty bytecode (0x), meaning no contract is actually deployed at those addresses on Mainnet.


📝 Verification Checklist

  • CCIPWETH9Bridge verified on Etherscan
  • Source code published and accessible
  • Constructor arguments verified
  • Contract functions visible on Etherscan

🎯 Priority Actions

  1. HIGH: AUTOMATED SOLUTION AVAILABLE - Run ./scripts/verify-all-mainnet-contracts.sh
  2. MEDIUM: Verify CCIPWETH9Bridge using Standard JSON Input method (automated)
  3. LOW: Document verification process for future contracts

🚀 Automated Verification

Quick Start: Run the automated verification script:

cd /home/intlc/projects/proxmox
./scripts/verify-all-mainnet-contracts.sh

Alternative Methods:

  • Python script: python3 scripts/verify-ethereum-mainnet.py
  • Bash script: ./scripts/verify-ethereum-mainnet-standard-json.sh

See: docs/ETHEREUM_MAINNET_VERIFICATION_AUTOMATION.md for complete documentation


  • 🚀 Automated Solution: docs/ETHEREUM_MAINNET_VERIFICATION_AUTOMATION.md START HERE
  • Verification Guide: docs/ETHERSCAN_VERIFICATION_DETAILS.md
  • Standard JSON Instructions: docs/ETHERSCAN_STANDARD_JSON_INSTRUCTIONS.md
  • Verification Status: docs/ETHERSCAN_VERIFICATION_STATUS.md
  • Flattened Contract: docs/CCIPWETH9Bridge_flattened.sol
  • Standard JSON File: docs/CCIPWETH9Bridge_standard_json.json

Last Updated: $(date)
Status: ⚠️ 1 CONTRACT PENDING VERIFICATION


🚨 Quickstart Results

Automated verification attempted but requires manual verification due to:

  • Etherscan API V1 deprecated (migration to V2 needed)
  • Bytecode mismatch (requires Standard JSON Input with via-ir)

Solution: Manual verification via Etherscan UI (2-3 minutes)

Quick Instructions:

./scripts/verify-manual-instructions.sh

See: docs/VERIFICATION_QUICKSTART_RESULTS.md for complete results and next steps