- 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.
178 lines
4.7 KiB
Markdown
178 lines
4.7 KiB
Markdown
# 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**
|
|
|
|
- **Address**: `0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619`
|
|
- **Admin**: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` (EOA)
|
|
- **Explorer**: https://etherscan.io/address/0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619
|
|
- **Verification**: ✅ Verified on Etherscan
|
|
|
|
**Features**:
|
|
- State proof anchoring
|
|
- Admin-controlled pause functionality
|
|
- Block hash and state root storage
|
|
- Event emission for indexing
|
|
|
|
**Deployment Command**:
|
|
```bash
|
|
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**
|
|
|
|
- **Address**: `0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9`
|
|
- **Admin**: `0x4A666F96fC8764181194447A7dFdb7d471b301C8` (EOA)
|
|
- **Explorer**: https://etherscan.io/address/0x4CF42c4F1dBa748601b8938be3E7ABD732E87cE9
|
|
- **Verification**: ⚠️ Auto-verification failed (contract is deployed, may need manual verification)
|
|
|
|
**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**:
|
|
```bash
|
|
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`:
|
|
|
|
```bash
|
|
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
|
|
|
|
- [x] Contracts deployed
|
|
- [x] MainnetTether verified on Etherscan
|
|
- [x] 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)
|
|
```bash
|
|
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
|
|
|
|
---
|
|
|
|
## 📄 Related Documentation
|
|
|
|
- `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
|