148 lines
3.2 KiB
Markdown
148 lines
3.2 KiB
Markdown
# Complete Remaining Deployment
|
|
|
|
**Date**: 2025-12-24
|
|
**Status**: 3/5 Complete - 2 Remaining
|
|
|
|
---
|
|
|
|
## ✅ Already Deployed
|
|
|
|
1. ComplianceRegistry: `0xf52504A9c0DAFB0a35dEE0129D6991AA27E734c8`
|
|
2. CompliantUSDT: `0xFe6023265F3893C4cc98CE5Fe7ACBd79DB9cbB2D`
|
|
3. CompliantUSDC: `0x044032f30393c60138445061c941e2FB15fb0af2`
|
|
|
|
---
|
|
|
|
## 🚀 Deploy Remaining Contracts
|
|
|
|
### Step 1: Deploy TokenRegistry (with --via-ir)
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/smom-dbis-138
|
|
source .env
|
|
|
|
forge script script/DeployTokenRegistry.s.sol:DeployTokenRegistry \
|
|
--rpc-url $RPC_URL \
|
|
--broadcast \
|
|
--legacy \
|
|
--gas-price 20000000000 \
|
|
--via-ir \
|
|
-vv
|
|
```
|
|
|
|
**Save the deployed address** from output.
|
|
|
|
### Step 2: Deploy FeeCollector (with --via-ir)
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/smom-dbis-138
|
|
source .env
|
|
|
|
forge script script/DeployFeeCollector.s.sol:DeployFeeCollector \
|
|
--rpc-url $RPC_URL \
|
|
--broadcast \
|
|
--legacy \
|
|
--gas-price 20000000000 \
|
|
--via-ir \
|
|
-vv
|
|
```
|
|
|
|
**Save the deployed address** from output.
|
|
|
|
---
|
|
|
|
## 🔗 Register Contracts
|
|
|
|
After both are deployed, register them:
|
|
|
|
### Register in ComplianceRegistry
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/smom-dbis-138
|
|
source .env
|
|
|
|
# Set addresses (replace with actual from deployment)
|
|
COMPLIANCE_REGISTRY=0xf52504A9c0DAFB0a35dEE0129D6991AA27E734c8
|
|
COMPLIANT_USDT=0xFe6023265F3893C4cc98CE5Fe7ACBd79DB9cbB2D
|
|
COMPLIANT_USDC=0x044032f30393c60138445061c941e2FB15fb0af2
|
|
|
|
# Register CompliantUSDT
|
|
cast send $COMPLIANCE_REGISTRY \
|
|
"registerContract(address)" \
|
|
$COMPLIANT_USDT \
|
|
--rpc-url $RPC_URL \
|
|
--private-key $PRIVATE_KEY \
|
|
--legacy \
|
|
--gas-price 20000000000
|
|
|
|
# Register CompliantUSDC
|
|
cast send $COMPLIANCE_REGISTRY \
|
|
"registerContract(address)" \
|
|
$COMPLIANT_USDC \
|
|
--rpc-url $RPC_URL \
|
|
--private-key $PRIVATE_KEY \
|
|
--legacy \
|
|
--gas-price 20000000000
|
|
```
|
|
|
|
### Register in TokenRegistry
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/smom-dbis-138
|
|
source .env
|
|
|
|
# Set TokenRegistry address (from Step 1)
|
|
TOKEN_REGISTRY=0x... # Replace with actual address
|
|
|
|
# Register CompliantUSDT
|
|
cast send $TOKEN_REGISTRY \
|
|
"registerToken(address,string,string,uint8,bool,address)" \
|
|
$COMPLIANT_USDT \
|
|
"Tether USD (Compliant)" \
|
|
"cUSDT" \
|
|
6 \
|
|
false \
|
|
0x0000000000000000000000000000000000000000 \
|
|
--rpc-url $RPC_URL \
|
|
--private-key $PRIVATE_KEY \
|
|
--legacy \
|
|
--gas-price 20000000000
|
|
|
|
# Register CompliantUSDC
|
|
cast send $TOKEN_REGISTRY \
|
|
"registerToken(address,string,string,uint8,bool,address)" \
|
|
$COMPLIANT_USDC \
|
|
"USD Coin (Compliant)" \
|
|
"cUSDC" \
|
|
6 \
|
|
false \
|
|
0x0000000000000000000000000000000000000000 \
|
|
--rpc-url $RPC_URL \
|
|
--private-key $PRIVATE_KEY \
|
|
--legacy \
|
|
--gas-price 20000000000
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ Verify All Deployments
|
|
|
|
```bash
|
|
cd /home/intlc/projects/proxmox/smom-dbis-138
|
|
source .env
|
|
|
|
# Check all contracts have code
|
|
cast code $COMPLIANCE_REGISTRY_ADDRESS --rpc-url $RPC_URL
|
|
cast code $COMPLIANT_USDT_ADDRESS --rpc-url $RPC_URL
|
|
cast code $COMPLIANT_USDC_ADDRESS --rpc-url $RPC_URL
|
|
cast code $TOKEN_REGISTRY_ADDRESS --rpc-url $RPC_URL
|
|
cast code $FEE_COLLECTOR_ADDRESS --rpc-url $RPC_URL
|
|
```
|
|
|
|
Each should return bytecode (not empty).
|
|
|
|
---
|
|
|
|
**Key Fix**: Use `--via-ir` flag for TokenRegistry and FeeCollector deployments!
|
|
|