Files
proxmox/scripts/README_WETH_BRIDGE_VERIFICATION.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.0 KiB

WETH → USDT Bridge Verification Scripts

Overview

This directory contains verification scripts for bridging WETH from ChainID 138 to USDT on Ethereum Mainnet via thirdweb Bridge.

Critical Finding

⚠️ WETH is NOT at the canonical address on ChainID 138

  • Canonical Address: 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 (no bytecode)
  • Actual Deployed Address: 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 (has bytecode)

Reason: Cannot recreate CREATE-deployed contracts with CREATE2.

Scripts

1. verify-weth-usdt-bridge.sh

Basic verification script that checks:

  • Bytecode at canonical address
  • ERC-20 compliance
  • thirdweb Bridge route availability

Usage:

./scripts/verify-weth-usdt-bridge.sh

Enhanced verification script that checks:

  • Bytecode at both canonical and actual addresses
  • ERC-20 compliance at actual deployed address
  • thirdweb Bridge route with actual address
  • Alternative routes analysis

Usage:

./scripts/verify-weth-usdt-bridge-enhanced.sh

3. verify-weth-usdt-bridge.js

Node.js verification script using:

  • ethers.js for contract interaction
  • thirdweb SDK for bridge verification
  • Better error handling and reporting

Usage:

node scripts/verify-weth-usdt-bridge.js

Prerequisites:

npm install @thirdweb-dev/sdk ethers

Verification Results

Bytecode Verification

  • Canonical address: No bytecode (expected)
  • ⚠️ Actual address: Verification inconclusive (RPC connectivity issues)

ERC-20 Compliance

  • ⚠️ Inconclusive (depends on bytecode verification)

thirdweb Bridge Route

  • Route verification failed
  • Reasons:
    1. ChainID 138 may not be supported
    2. Non-canonical address may not be recognized
    3. API requires authentication

Recommendation

Use CCIP Bridge instead of thirdweb Bridge

CCIP Bridge Contract (ChainID 138):

  • Address: 0x89dd12025bfCD38A168455A44B400e913ED33BE2
  • Already deployed and configured
  • Supports actual WETH address
  • Secure and audited (Chainlink CCIP)

Documentation

  • Full Report: docs/WETH_USDT_BRIDGE_VERIFICATION_REPORT.md
  • Go/No-Go Summary: docs/WETH_USDT_BRIDGE_GO_NOGO_SUMMARY.md

Quick Start

  1. Run enhanced verification:

    ./scripts/verify-weth-usdt-bridge-enhanced.sh
    
  2. Review results and recommendations

  3. Use CCIP Bridge for actual bridging:

    CCIPWETH9Bridge.bridge(amount, destinationSelector, recipient);
    

Troubleshooting

RPC Connectivity Issues

If scripts fail with RPC errors:

  • Check RPC endpoint: https://rpc-http-pub.d-bis.org
  • Verify network connectivity
  • Try alternative RPC: https://rpc-http-prv.d-bis.org

Missing Dependencies

For Node.js script:

npm install @thirdweb-dev/sdk ethers

For bash scripts:

  • Requires cast (foundry): curl -L https://foundry.paradigm.xyz | bash
  • Requires jq: sudo apt-get install jq

Last Updated: 2025-01-27