- 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.
103 lines
3.4 KiB
Bash
Executable File
103 lines
3.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Master script to verify all Ethereum Mainnet contracts
|
|
# Tries multiple verification methods automatically
|
|
# Usage: ./verify-all-mainnet-contracts.sh
|
|
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
# Colors
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
CYAN='\033[0;36m'
|
|
NC='\033[0m'
|
|
|
|
log_info() { echo -e "${BLUE}[INFO]${NC} $1"; }
|
|
log_success() { echo -e "${GREEN}[✓]${NC} $1"; }
|
|
log_warn() { echo -e "${YELLOW}[⚠]${NC} $1"; }
|
|
log_error() { echo -e "${RED}[✗]${NC} $1"; }
|
|
log_step() { echo -e "${CYAN}[STEP]${NC} $1"; }
|
|
|
|
log_info "========================================="
|
|
log_info "Ethereum Mainnet Contract Verification"
|
|
log_info "Automated Multi-Method Verification"
|
|
log_info "========================================="
|
|
log_info ""
|
|
|
|
# Method 1: Try Python script (most reliable for Standard JSON)
|
|
log_step "Method 1: Attempting verification with Python script (Standard JSON)..."
|
|
if command -v python3 &> /dev/null; then
|
|
if python3 "$SCRIPT_DIR/verify-ethereum-mainnet.py"; then
|
|
log_success "Verification completed successfully!"
|
|
exit 0
|
|
else
|
|
log_warn "Python script verification failed or incomplete"
|
|
fi
|
|
else
|
|
log_warn "Python3 not available, skipping Python method"
|
|
fi
|
|
|
|
log_info ""
|
|
|
|
# Method 2: Try bash script with Standard JSON
|
|
log_step "Method 2: Attempting verification with bash script (Standard JSON)..."
|
|
if [ -f "$SCRIPT_DIR/verify-ethereum-mainnet-standard-json.sh" ]; then
|
|
if bash "$SCRIPT_DIR/verify-ethereum-mainnet-standard-json.sh"; then
|
|
log_success "Verification completed successfully!"
|
|
exit 0
|
|
else
|
|
log_warn "Bash Standard JSON verification failed or incomplete"
|
|
fi
|
|
else
|
|
log_warn "Standard JSON bash script not found"
|
|
fi
|
|
|
|
log_info ""
|
|
|
|
# Method 3: Try comprehensive bash script
|
|
log_step "Method 3: Attempting verification with comprehensive bash script..."
|
|
if [ -f "$SCRIPT_DIR/verify-all-ethereum-mainnet-contracts.sh" ]; then
|
|
if bash "$SCRIPT_DIR/verify-all-ethereum-mainnet-contracts.sh"; then
|
|
log_success "Verification completed successfully!"
|
|
exit 0
|
|
else
|
|
log_warn "Comprehensive bash script verification failed or incomplete"
|
|
fi
|
|
else
|
|
log_warn "Comprehensive bash script not found"
|
|
fi
|
|
|
|
log_info ""
|
|
|
|
# Method 4: Try original forge verification script
|
|
log_step "Method 4: Attempting verification with Forge (fallback)..."
|
|
if [ -f "$SCRIPT_DIR/verify-contract-etherscan.sh" ]; then
|
|
if bash "$SCRIPT_DIR/verify-contract-etherscan.sh"; then
|
|
log_success "Verification completed successfully!"
|
|
exit 0
|
|
else
|
|
log_warn "Forge verification failed or incomplete"
|
|
fi
|
|
else
|
|
log_warn "Forge verification script not found"
|
|
fi
|
|
|
|
log_info ""
|
|
log_error "All automated verification methods failed or were unavailable"
|
|
log_info ""
|
|
log_info "Please verify contracts manually:"
|
|
log_info "1. Go to: https://etherscan.io/address/0x89dd12025bfcd38a168455a44b400e913ed33be2#code"
|
|
log_info "2. Click 'Contract' tab → 'Verify and Publish'"
|
|
log_info "3. Select 'Standard JSON Input'"
|
|
log_info "4. Upload: $PROJECT_ROOT/docs/CCIPWETH9Bridge_standard_json.json"
|
|
log_info "5. Enter constructor args: 0x00000000000000000000000080226fc0ee2b096224eeac085bb9a8cba1146f7d000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca"
|
|
log_info "6. Submit"
|
|
log_info ""
|
|
|
|
exit 1
|
|
|