Files
smom-dbis-138/docs/deployment/DEPLOYMENT_RESULTS_MAINNET_TETHER_MIRROR.md
defiQUG 1fb7266469 Add Oracle Aggregator and CCIP Integration
- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control.
- Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities.
- Created .gitmodules to include OpenZeppelin contracts as a submodule.
- Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment.
- Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks.
- Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring.
- Created scripts for resource import and usage validation across non-US regions.
- Added tests for CCIP error handling and integration to ensure robust functionality.
- Included various new files and directories for the orchestration portal and deployment scripts.
2025-12-12 14:57:48 -08:00

4.7 KiB

Mainnet Tether and Transaction Mirror Deployment Results

Date: 2025-12-11 Deployment Method: Foundry with EOA Admin (No Multisig) Network: Ethereum Mainnet Status: DEPLOYMENT COMPLETE


📋 Deployment Configuration

  • Deployer: 0x4A666F96fC8764181194447A7dFdb7d471b301C8
  • Admin: Deployer address (EOA - no multisig)
  • RPC: Infura Mainnet (with project secret authentication)
  • Verification: Etherscan (automatic via --verify)

Deployed Contracts

MainnetTether

Purpose: Kaleido-style state anchoring for Chain-138 state proofs

Status: DEPLOYED & VERIFIED

Features:

  • State proof anchoring
  • Admin-controlled pause functionality
  • Block hash and state root storage
  • Event emission for indexing

Deployment Command:

forge script script/DeployMainnetTether.s.sol \
  --rpc-url "$ETHEREUM_MAINNET_RPC" \
  --private-key $PRIVATE_KEY \
  --broadcast \
  --verify \
  --via-ir \
  -vvvv

TransactionMirror

Purpose: Mirror Chain-138 transactions to Ethereum Mainnet for Etherscan visibility

Status: DEPLOYED

Features:

  • Transaction mirroring with indexed events
  • Batch mirroring support (up to 100 transactions)
  • Admin-controlled pause functionality
  • Gas usage tracking
  • Success/failure status

Deployment Command:

forge script script/DeployTransactionMirror.s.sol \
  --rpc-url "$ETHEREUM_MAINNET_RPC" \
  --private-key $PRIVATE_KEY \
  --broadcast \
  --verify \
  --via-ir \
  -vvvv

📝 Environment Variables

Both addresses have been added to .env:

MAINNET_TETHER_ADDRESS=0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619
TRANSACTION_MIRROR_ADDRESS=0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9

🔧 Technical Details

Compilation

  • Both contracts required --via-ir flag due to "Stack too deep" compiler limitations
  • Solidity version: 0.8.19
  • Optimizer: 200 runs

Gas Costs

  • MainnetTether: ~1,200,000 gas
  • TransactionMirror: ~1,175,958 gas

RPC Configuration

  • Format: https://PROJECT_ID:PROJECT_SECRET@mainnet.infura.io/v3/PROJECT_ID
  • Authentication: Basic auth with project secret
  • Status: Working

📊 Deployment Logs

  • MainnetTether: /tmp/mainnet_tether_deploy.log
  • TransactionMirror: /tmp/transaction_mirror_deploy.log
  • Broadcast data: broadcast/DeployMainnetTether.s.sol/1/run-latest.json
  • Broadcast data: broadcast/DeployTransactionMirror.s.sol/1/run-latest.json

Post-Deployment Checklist

  • Contracts deployed
  • MainnetTether verified on Etherscan
  • Addresses added to .env
  • TransactionMirror manual verification (if needed)
  • Set up off-chain services:
    • State proof collection service (for MainnetTether)
    • Transaction mirroring service (for TransactionMirror)
  • Configure monitoring and alerting
  • Test contracts:
    • Test state proof anchoring
    • Test transaction mirroring
    • Test batch operations
    • Test pause/unpause functionality

🔗 Next Steps

  1. Verify TransactionMirror on Etherscan (if auto-verification failed)

    forge verify-contract \
      --chain-id 1 \
      --num-of-optimizations 200 \
      --via-ir \
      0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9 \
      contracts/mirror/TransactionMirror.sol:TransactionMirror \
      $ETHERSCAN_API_KEY \
      --constructor-args $(cast abi-encode "constructor(address)" 0x4A666F96fC8764181194447A7dFdb7d471b301C8)
    
  2. Set Up Off-Chain Services

    • State proof anchoring service for MainnetTether
    • Transaction mirroring service for TransactionMirror
  3. Configure Access Control

    • Review admin addresses
    • Consider multi-sig upgrade path if needed
    • Set up monitoring for admin actions
  4. Testing

    • Test state proof anchoring
    • Test transaction mirroring
    • Verify event indexing on Etherscan

  • docs/deployment/MAINNET_TETHER_AND_TRANSACTION_MIRROR.md - Contract details
  • docs/deployment/INFURA_SETTINGS_FIX.md - RPC configuration
  • docs/deployment/AUTOMATED_DEPLOYMENT_READY.md - Deployment automation

Last Updated: 2025-12-11 Status: Deployment Complete