Files
explorer-monorepo/docs/DEPLOYMENT_READY_SUMMARY.md

4.9 KiB

Deployment Ready Summary

Date: 2025-12-24
Status: All Contracts Ready for Deployment


Phase 1: Testing - COMPLETE

All new contracts compile successfully and are ready for deployment.


Phase 2: Deployment - READY (Requires Environment Setup)

Prerequisites

Before deploying, you need to:

  1. Set Environment Variables:

    export PRIVATE_KEY=<your_deployer_private_key>
    export RPC_URL=http://192.168.11.250:8545
    export COMPLIANCE_ADMIN=<admin_address>  # Optional, defaults to deployer
    
  2. Verify Deployer Balance:

    cast balance <deployer_address> --rpc-url $RPC_URL
    # Should have at least 0.1 ETH for deployments
    
  3. Create .env File (if needed):

    cp .env.template .env
    # Edit .env and add your PRIVATE_KEY
    

Deployment Commands

Option A: Automated Scripts (Recommended)

cd /home/intlc/projects/proxmox/smom-dbis-138

# Set environment variables
export PRIVATE_KEY=<your_key>
export RPC_URL=http://192.168.11.250:8545

# Deploy all compliance contracts
./scripts/deploy-all-compliance.sh

# Deploy all utility contracts
./scripts/deploy-all-utilities.sh

Option B: Manual Deployment

# 1. ComplianceRegistry
forge script script/DeployComplianceRegistry.s.sol:DeployComplianceRegistry \
  --rpc-url $RPC_URL --broadcast --legacy --gas-price 20000000000 --via-ir -vv

# 2. CompliantUSDT
forge script script/DeployCompliantUSDT.s.sol:DeployCompliantUSDT \
  --rpc-url $RPC_URL --broadcast --legacy --gas-price 20000000000 --via-ir -vv

# 3. CompliantUSDC
forge script script/DeployCompliantUSDC.s.sol:DeployCompliantUSDC \
  --rpc-url $RPC_URL --broadcast --legacy --gas-price 20000000000 --via-ir -vv

# 4. TokenRegistry
forge script script/DeployTokenRegistry.s.sol:DeployTokenRegistry \
  --rpc-url $RPC_URL --broadcast --legacy --gas-price 20000000000 -vv

# 5. FeeCollector
forge script script/DeployFeeCollector.s.sol:DeployFeeCollector \
  --rpc-url $RPC_URL --broadcast --legacy --gas-price 20000000000 -vv

Phase 3: Integration - READY (After Deployment)

Post-Deployment Steps

  1. Register Contracts in ComplianceRegistry:

    cast send $COMPLIANCE_REGISTRY_ADDRESS \
      "registerContract(address)" \
      $COMPLIANT_USDT_ADDRESS \
      --rpc-url $RPC_URL --private-key $PRIVATE_KEY --legacy
    
    cast send $COMPLIANCE_REGISTRY_ADDRESS \
      "registerContract(address)" \
      $COMPLIANT_USDC_ADDRESS \
      --rpc-url $RPC_URL --private-key $PRIVATE_KEY --legacy
    
  2. Register Tokens in TokenRegistry:

    cast send $TOKEN_REGISTRY_ADDRESS \
      "registerToken(address,string,string,uint8,bool,address)" \
      $COMPLIANT_USDT_ADDRESS \
      "Tether USD (Compliant)" "cUSDT" 6 false 0x0000000000000000000000000000000000000000 \
      --rpc-url $RPC_URL --private-key $PRIVATE_KEY --legacy
    
    cast send $TOKEN_REGISTRY_ADDRESS \
      "registerToken(address,string,string,uint8,bool,address)" \
      $COMPLIANT_USDC_ADDRESS \
      "USD Coin (Compliant)" "cUSDC" 6 false 0x0000000000000000000000000000000000000000 \
      --rpc-url $RPC_URL --private-key $PRIVATE_KEY --legacy
    
  3. Configure FeeCollector (if needed):

    cast send $FEE_COLLECTOR_ADDRESS \
      "addFeeRecipient(address,address,uint256)" \
      0x0000000000000000000000000000000000000000 \
      <recipient_address> 10000 \
      --rpc-url $RPC_URL --private-key $PRIVATE_KEY --legacy
    
  4. Update .env Files:

    • Add all deployed addresses to .env
    • Update service .env files with new addresses

Phase 4: End-to-End Testing - READY (After Integration)

Test Commands

# Test token transfer
cast send $COMPLIANT_USDT_ADDRESS \
  "transfer(address,uint256)" \
  <recipient> 1000000 \
  --rpc-url $RPC_URL --private-key $PRIVATE_KEY --legacy

# Test registry queries
cast call $TOKEN_REGISTRY_ADDRESS \
  "getTokenInfo(address)" \
  $COMPLIANT_USDT_ADDRESS \
  --rpc-url $RPC_URL

# Test compliance status
cast call $COMPLIANCE_REGISTRY_ADDRESS \
  "isContractRegistered(address)" \
  $COMPLIANT_USDT_ADDRESS \
  --rpc-url $RPC_URL

📋 Current Status

Completed

  • All contracts created and compile successfully
  • All deployment scripts ready
  • All documentation complete
  • All test files created
  • All configuration files created

Pending (Requires User Action)

  • Environment variables setup (PRIVATE_KEY)
  • Contract deployment
  • Contract registration
  • Service configuration updates

🚀 Quick Start

  1. Set PRIVATE_KEY:

    export PRIVATE_KEY=<your_private_key>
    
  2. Deploy:

    ./scripts/deploy-all-compliance.sh
    ./scripts/deploy-all-utilities.sh
    
  3. Integrate:

    • Register contracts (see commands above)
    • Update .env files
    • Configure services

Last Updated: 2025-12-24
Status: Ready for Deployment (Requires PRIVATE_KEY)