Files
smom-dbis-138/docs/deployment/DEPLOYMENT_INSTRUCTIONS.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

1.8 KiB

Deployment Instructions - MainnetTether & TransactionMirror

Date: 2025-12-11 Status: Ready for Deployment


⚠️ Important: Stack Too Deep Issue

The TransactionMirror.sol contract's mirrorBatchTransactions function has 9 calldata array parameters, which may cause a "Stack too deep" compilation error.

Solution: Use the --via-ir flag when compiling and deploying:

forge build --via-ir
forge script script/DeployTransactionMirror.s.sol --via-ir ...

📋 Pre-Deployment Checklist

  • Contracts reviewed for errors
  • Security patterns verified
  • Input validation complete
  • Replay protection implemented
  • Set TETHER_ADMIN in .env (multisig recommended)
  • Set MIRROR_ADMIN in .env (multisig recommended)
  • Verify sufficient ETH balance for gas
  • Verify ETH_MAINNET_RPC_URL is set
  • Verify ETHERSCAN_API_KEY is set

🚀 Deployment Commands

MainnetTether

forge script script/DeployMainnetTether.s.sol \
  --rpc-url $ETH_MAINNET_RPC_URL \
  --private-key $PRIVATE_KEY \
  --broadcast \
  --verify \
  -vvvv

TransactionMirror

# IMPORTANT: Use --via-ir flag to avoid stack too deep error
forge script script/DeployTransactionMirror.s.sol \
  --rpc-url $ETH_MAINNET_RPC_URL \
  --private-key $PRIVATE_KEY \
  --broadcast \
  --verify \
  --via-ir \
  -vvvv

Post-Deployment

  1. Update .env with deployed addresses:

    MAINNET_TETHER_ADDRESS=<deployed_address>
    TRANSACTION_MIRROR_ADDRESS=<deployed_address>
    
  2. Verify contracts on Etherscan

  3. Set up off-chain services:

    • State proof anchoring service (for MainnetTether)
    • Transaction mirroring service (for TransactionMirror)

Last Updated: 2025-12-11