Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
defiQUG
2026-02-10 11:32:49 -08:00
parent aafcd913c2
commit 88bc76da91
815 changed files with 125522 additions and 264 deletions

View File

@@ -0,0 +1,211 @@
# TokenFactory138 Pre-Deployment Checklist
**Date**: 2025-12-24
**Purpose**: Complete checklist before deploying TokenFactory138
---
## ✅ Compilation Test
### Run Compilation Test
```bash
cd /home/intlc/projects/proxmox/smom-dbis-138
# Option 1: Use test script
./scripts/compile-and-test-tokenfactory.sh
# Option 2: Manual compilation
forge build --via-ir --contracts contracts/emoney/TokenFactory138.sol -vv
# Option 3: Full project build
forge build --via-ir -vv
```
### Expected Results
- ✅ Compilation successful
- ✅ No "Stack too deep" errors (when using --via-ir)
- ✅ All imports resolved
- ✅ Bytecode generated in `out/TokenFactory138.sol/TokenFactory138.json`
---
## ✅ Dependency Verification
TokenFactory138 requires these contracts to be deployed first:
1. **ComplianceRegistry** ✅ (Already deployed: `0xf52504A9c0DAFB0a35dEE0129D6991AA27E734c8`)
2. **DebtRegistry** ⏳ (Check if deployed)
3. **PolicyManager** ⏳ (Check if deployed)
4. **eMoneyToken** (implementation) ⏳ (Check if deployed)
### Check Dependencies
```bash
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
# Check if dependencies are deployed
cast code $COMPLIANCE_REGISTRY_ADDRESS --rpc-url $RPC_URL | wc -c
# Check for other dependencies in .env or deployment logs
grep -E "DEBT_REGISTRY|POLICY_MANAGER|EMONEY_TOKEN" .env
```
---
## ✅ Contract Analysis
### TokenFactory138 Constructor Parameters
```solidity
constructor(
address admin, // Governance admin
address implementation_, // eMoneyToken implementation
address policyManager_, // PolicyManager contract
address debtRegistry_, // DebtRegistry contract
address complianceRegistry_ // ComplianceRegistry contract
)
```
### Required Addresses
Before deployment, ensure you have:
- ✅ Admin address (deployer or multisig)
- ⏳ eMoneyToken implementation address
- ⏳ PolicyManager address
- ⏳ DebtRegistry address
- ✅ ComplianceRegistry address: `0xf52504A9c0DAFB0a35dEE0129D6991AA27E734c8`
---
## ✅ Deployment Script Check
The deployment script `DeployChain138.s.sol` deploys in this order:
1. ComplianceRegistry ✅
2. DebtRegistry
3. PolicyManager
4. eMoneyToken (implementation)
5. **TokenFactory138** ← Target
6. BridgeVault138
### Check Script
```bash
cd /home/intlc/projects/proxmox/smom-dbis-138
# Verify script exists and is correct
cat script/emoney/DeployChain138.s.sol | grep -A 20 "TokenFactory138"
```
---
## ✅ Known Issues to Check
### 1. Stack Too Deep Error
**If you see**: `Error: Stack too deep`
**Solution**: Always use `--via-ir` flag:
```bash
forge script script/emoney/DeployChain138.s.sol:DeployChain138 \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
--via-ir \
-vv
```
### 2. Missing Dependencies
**If you see**: `Source "..." not found`
**Solution**:
- Check all dependency contracts exist
- Run `forge build --via-ir` to compile all dependencies first
### 3. Constructor Parameter Mismatch
**If you see**: `Wrong argument count for function call`
**Solution**: Verify constructor parameters match exactly:
- 5 parameters required
- All addresses must be valid (non-zero)
---
## ✅ Pre-Deployment Verification
### 1. Compile Successfully
```bash
forge build --via-ir
```
### 2. Check Bytecode Size
```bash
cat out/TokenFactory138.sol/TokenFactory138.json | jq -r '.bytecode.object' | wc -c
```
Expected: > 1000 bytes
### 3. Verify Dependencies
```bash
# Check all required contracts compile
forge build --via-ir --contracts contracts/emoney/*.sol
```
### 4. Test Deployment Script (Dry Run)
```bash
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
# Dry run (no broadcast)
forge script script/emoney/DeployChain138.s.sol:DeployChain138 \
--rpc-url $RPC_URL \
--via-ir \
-vv
```
---
## 🚀 Deployment Command
Once all checks pass:
```bash
cd /home/intlc/projects/proxmox/smom-dbis-138
source .env
forge script script/emoney/DeployChain138.s.sol:DeployChain138 \
--rpc-url $RPC_URL \
--broadcast \
--legacy \
--gas-price 20000000000 \
--via-ir \
-vv
```
**Note**: This will deploy the entire eMoney system, not just TokenFactory138.
---
## 📋 Checklist
- [ ] TokenFactory138 compiles with `--via-ir`
- [ ] All dependencies compile successfully
- [ ] All required addresses available
- [ ] Deployment script verified
- [ ] Dry run successful
- [ ] Ready for deployment
---
**Last Updated**: 2025-12-24