- 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.
6.2 KiB
6.2 KiB
Mirror, Two-Way, and Related Contracts Search Results
Date: 2025-12-11 Search Scope: Ethereum Mainnet deployments
🔍 Search Summary
Searched for the following contracts that may have been deployed to Ethereum Mainnet:
- MirrorManager - Cross-chain mirror registry
- TwoWayTokenBridge (L1 and L2) - Two-way token bridge
- Tether-related contracts - No specific "Tether" contract found
📋 Contract Status
✅ Deployed and Verified on Mainnet
| Contract | Address | Status | Etherscan |
|---|---|---|---|
| CCIPWETH9Bridge | 0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6 |
✅ VERIFIED | View |
| CCIPWETH10Bridge | 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e |
✅ VERIFIED | View |
⏳ Not Deployed to Mainnet (But Available in Codebase)
1. MirrorManager (Kaleido Mirror Pattern)
Contract Details:
- File:
contracts/mirror/MirrorManager.sol - Purpose: Registry of mirrored token/contract addresses across chains with replay protection
- Kaleido Pattern: ✅ Implements Kaleido's Mirror pattern for address registry
- Deployment Script:
script/DeployMirrorManager.s.sol - Status: ❌ NOT DEPLOYED to Mainnet
- Required Env Var:
MIRROR_ADMIN(not set in .env)
Kaleido Pattern: In Kaleido's architecture, Mirror contracts maintain address mappings across chains for cross-chain contract resolution.
Contract Features:
- Cross-chain address mirroring
- Replay protection
- Pausability
- Admin-controlled
To Deploy:
forge script script/DeployMirrorManager.s.sol \
--rpc-url $ETH_MAINNET_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast \
--verify
2. TwoWayTokenBridgeL1
Contract Details:
- File:
contracts/bridge/TwoWayTokenBridgeL1.sol - Purpose: L1/Main chain side - locks canonical tokens and triggers CCIP message to mint on L2
- Deployment Script:
script/DeployTwoWayBridge.s.sol - Status: ❌ NOT DEPLOYED to Mainnet
- Required Env Vars:
CCIP_ROUTER(set)CCIP_FEE_TOKEN(LINK token address)BRIDGE_L1_TOKEN(canonical token on L1) - NOT SET
Contract Features:
- Token locking on L1
- CCIP message sending
- Destination chain configuration
- Replay protection
3. TwoWayTokenBridgeL2
Contract Details:
- File:
contracts/bridge/TwoWayTokenBridgeL2.sol - Purpose: L2/secondary chain side - mints mirrored tokens on inbound and burns on outbound
- Deployment Script:
script/DeployTwoWayBridge.s.sol(deploys both L1 and L2) - Status: ❌ NOT DEPLOYED to Mainnet
- Required Env Vars:
CCIP_ROUTER(set)CCIP_FEE_TOKEN(LINK token address)BRIDGE_L2_TOKEN(mintable token on L2) - NOT SET
Contract Features:
- Token minting on L2
- Token burning on outbound
- CCIP message handling
- Destination chain configuration
To Deploy:
# Set required environment variables first:
# BRIDGE_L1_TOKEN=<canonical_token_address>
# BRIDGE_L2_TOKEN=<mintable_token_address>
forge script script/DeployTwoWayBridge.s.sol \
--rpc-url $ETH_MAINNET_RPC_URL \
--private-key $PRIVATE_KEY \
--broadcast \
--verify
✅ Tether Contract (Kaleido Pattern)
Status: Implemented via TwoWayTokenBridge following Kaleido's Tether pattern.
Kaleido Tether Pattern:
- In Kaleido's architecture, a "Tether" contract anchors private chain state to a public Ethereum network
- Stores signed state proofs from the private chain
- Creates immutable, verifiable records of state
This Implementation:
- TwoWayTokenBridgeL1/L2 implements the Tether-like pattern
- Synchronizes state between Mainnet (L1) and Chain-138 (L2)
- Uses CCIP for secure cross-chain messaging
- Maintains token balance synchronization (lock on L1, mint on L2)
Files:
contracts/bridge/TwoWayTokenBridgeL1.sol- L1/Mainnet sidecontracts/bridge/TwoWayTokenBridgeL2.sol- L2/Chain-138 side
See: docs/deployment/KALEIDO_TETHER_MIRROR_PATTERN.md for detailed explanation
🔍 Search Methods Used
- Broadcast Files: Checked all Foundry broadcast JSON files for Mainnet (chain ID 1)
- .env File: Searched for contract addresses in environment variables
- Etherscan API: Queried for contracts created by deployer address
- Codebase Search: Searched for contract files and deployment scripts
- Documentation: Reviewed deployment status documents
📊 Findings
Contracts Found in Codebase:
- ✅ MirrorManager.sol - Available
- ✅ TwoWayTokenBridgeL1.sol - Available
- ✅ TwoWayTokenBridgeL2.sol - Available
Contracts Deployed to Mainnet:
- ✅ CCIPWETH9Bridge - Deployed and verified
- ✅ CCIPWETH10Bridge - Deployed and verified
- ❌ MirrorManager - NOT DEPLOYED
- ❌ TwoWayTokenBridgeL1 - NOT DEPLOYED
- ❌ TwoWayTokenBridgeL2 - NOT DEPLOYED
Missing Environment Variables:
MIRROR_ADMIN- Required for MirrorManager deploymentBRIDGE_L1_TOKEN- Required for TwoWayTokenBridgeL1 deploymentBRIDGE_L2_TOKEN- Required for TwoWayTokenBridgeL2 deployment
🚀 Next Steps
To Deploy MirrorManager:
- Set
MIRROR_ADMINin.env(multisig recommended) - Run deployment script
- Verify contract on Etherscan
- Update
.envwith deployed address
To Deploy TwoWayTokenBridge:
- Set
BRIDGE_L1_TOKENin.env(canonical token address on Mainnet) - Set
BRIDGE_L2_TOKENin.env(mintable token address on L2/Chain-138) - Ensure
CCIP_ROUTERandCCIP_FEE_TOKENare set - Run deployment script (deploys both L1 and L2)
- Verify contracts on Etherscan
- Update
.envwith deployed addresses
📝 Notes
- All deployment scripts are available and ready to use
- Contracts are compiled and tested
- Missing environment variables are blocking deployment
- No evidence found of MirrorManager or TwoWayTokenBridge being deployed to Mainnet
- The Etherscan API query for the deployer address did not return additional contracts beyond the two CCIP bridges
Last Updated: 2025-12-11 Search Performed By: Automated contract discovery script