Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
317
docs/NEXT_STEPS_EXECUTION_GUIDE.md
Normal file
317
docs/NEXT_STEPS_EXECUTION_GUIDE.md
Normal file
@@ -0,0 +1,317 @@
|
||||
# Next Steps Execution Guide
|
||||
|
||||
**Date**: 2025-01-12
|
||||
**Status**: Ready for Execution
|
||||
|
||||
---
|
||||
|
||||
## Overview
|
||||
|
||||
This guide provides step-by-step instructions for executing the remaining runtime tasks to complete the CCIP setup.
|
||||
|
||||
---
|
||||
|
||||
## Current Status
|
||||
|
||||
### ✅ Completed
|
||||
- All verification scripts created
|
||||
- All documentation created
|
||||
- System health checks available
|
||||
- Configuration scripts ready
|
||||
|
||||
### ⏳ Pending (Critical Blockers)
|
||||
|
||||
1. **Bridge Destination Configuration** (Tasks 3, 50, 51)
|
||||
- Status: 0/7 destinations configured for both bridges
|
||||
- Blocker: Requires private key and transaction execution
|
||||
|
||||
2. **Stuck Transaction Resolution** (Task 4)
|
||||
- Status: Transaction may be stuck in mempool
|
||||
- Action: Resolve before configuring destinations
|
||||
|
||||
3. **Fee Calculation Fix** (Task 61)
|
||||
- Status: Fee calculation not accessible
|
||||
- Action: Debug and fix
|
||||
|
||||
---
|
||||
|
||||
## Step-by-Step Execution
|
||||
|
||||
### Step 1: Resolve Stuck Transaction (Task 4)
|
||||
|
||||
**If you have a stuck transaction:**
|
||||
|
||||
```bash
|
||||
# Check transaction status
|
||||
./scripts/resolve-stuck-transaction.sh <address> <nonce>
|
||||
|
||||
# Options:
|
||||
# 1. Wait for timeout (1-2 hours)
|
||||
# 2. Replace with higher gas price
|
||||
# 3. Use different account
|
||||
```
|
||||
|
||||
**If no stuck transaction:**
|
||||
- Proceed to Step 2
|
||||
|
||||
---
|
||||
|
||||
### Step 2: Configure Bridge Destinations (Tasks 3, 50, 51)
|
||||
|
||||
#### Option A: Configure Ethereum Mainnet Only
|
||||
|
||||
```bash
|
||||
# Configure Ethereum Mainnet for both bridges
|
||||
./scripts/configure-ethereum-mainnet-destination.sh <private_key>
|
||||
```
|
||||
|
||||
#### Option B: Configure All Destinations
|
||||
|
||||
```bash
|
||||
# Configure all 7 destinations (including Ethereum Mainnet)
|
||||
./scripts/configure-all-bridge-destinations.sh <private_key> \
|
||||
0x2A0840e5117683b11682ac46f5CF5621E67269E3 \
|
||||
0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03
|
||||
```
|
||||
|
||||
**Verify Configuration:**
|
||||
```bash
|
||||
./scripts/check-bridge-config.sh
|
||||
```
|
||||
|
||||
**Expected Result:**
|
||||
- All 7 destinations configured for WETH9 Bridge
|
||||
- All 7 destinations configured for WETH10 Bridge
|
||||
|
||||
---
|
||||
|
||||
### Step 3: Verify Configuration (Tasks 107, 108)
|
||||
|
||||
```bash
|
||||
# Comprehensive verification
|
||||
./scripts/verify-complete-ccip-setup.sh
|
||||
|
||||
# Health check
|
||||
./scripts/ccip-health-check.sh
|
||||
|
||||
# Generate status report
|
||||
./scripts/generate-ccip-status-report.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 4: Start CCIP Monitor Service (Task 83)
|
||||
|
||||
**On Proxmox Host:**
|
||||
|
||||
```bash
|
||||
# Start container
|
||||
pct start 3501
|
||||
|
||||
# Start service
|
||||
pct exec 3501 -- systemctl start ccip-monitor
|
||||
|
||||
# Enable on boot
|
||||
pct exec 3501 -- systemctl enable ccip-monitor
|
||||
|
||||
# Verify
|
||||
./scripts/check-ccip-monitor-health.sh
|
||||
```
|
||||
|
||||
**Verify Service:**
|
||||
```bash
|
||||
# Check status
|
||||
pct exec 3501 -- systemctl status ccip-monitor
|
||||
|
||||
# Check metrics
|
||||
curl http://localhost:8000/metrics
|
||||
|
||||
# Check logs
|
||||
pct exec 3501 -- journalctl -u ccip-monitor -n 50
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Step 5: Test Bridge Operations (Tasks 115, 116)
|
||||
|
||||
#### Pre-flight Check
|
||||
|
||||
```bash
|
||||
# Run end-to-end test (dry run)
|
||||
./scripts/test-end-to-end-bridge.sh 0.001
|
||||
```
|
||||
|
||||
#### Execute Test Bridge
|
||||
|
||||
```bash
|
||||
# Bridge small amount to Ethereum Mainnet
|
||||
./scripts/wrap-and-bridge-to-ethereum.sh 0.001
|
||||
```
|
||||
|
||||
**Verify on Destination:**
|
||||
- Check Ethereum Mainnet for received tokens
|
||||
- Verify message execution
|
||||
- Confirm token amount
|
||||
|
||||
---
|
||||
|
||||
### Step 6: Fix Fee Calculation (Task 61)
|
||||
|
||||
**Debug Fee Calculation:**
|
||||
```bash
|
||||
# Test fee calculation
|
||||
./scripts/verify-fee-calculation.sh 0.001 5009297550715157269
|
||||
|
||||
# Check Router functions
|
||||
cast call 0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e "getFeeToken()" --rpc-url http://192.168.11.250:8545
|
||||
```
|
||||
|
||||
**If Fee Calculation Fails:**
|
||||
1. Check Router contract ABI
|
||||
2. Verify function signatures
|
||||
3. Check LINK token availability
|
||||
4. Update scripts as needed
|
||||
|
||||
---
|
||||
|
||||
### Step 7: Verify Token Pool Configuration (Tasks 19-21, 28-29)
|
||||
|
||||
```bash
|
||||
# Find TokenAdminRegistry
|
||||
./scripts/verify-token-admin-registry.sh
|
||||
|
||||
# If pool addresses found, verify pools
|
||||
./scripts/verify-token-pool-config.sh <pool_address>
|
||||
```
|
||||
|
||||
**Note**: Pool addresses may need to be retrieved from:
|
||||
- Deployment transactions
|
||||
- Contract storage
|
||||
- Chainlink documentation
|
||||
|
||||
---
|
||||
|
||||
## Additional Tasks
|
||||
|
||||
### Oracle Network Deployment (Tasks 72-76)
|
||||
|
||||
**Only if CCIP message processing is needed:**
|
||||
|
||||
1. **Deploy Commit Oracle Nodes** (16 nodes, VMIDs 5410-5425)
|
||||
2. **Deploy Execute Oracle Nodes** (16 nodes, VMIDs 5440-5455)
|
||||
3. **Deploy RMN Nodes** (5-7 nodes, VMIDs 5470-5474 or 5470-5476)
|
||||
4. **Deploy Ops/Admin Nodes** (2 nodes, VMIDs 5400-5401)
|
||||
5. **Deploy Monitoring Nodes** (2 nodes, VMIDs 5402-5403)
|
||||
|
||||
**Note**: This is a major deployment task. Only proceed if oracle network is required for CCIP message processing.
|
||||
|
||||
---
|
||||
|
||||
### Message Indexing Implementation (Tasks 91-93)
|
||||
|
||||
**If message tracking is needed:**
|
||||
|
||||
1. Complete implementation in `backend/ccip/tracking/tracker.go`
|
||||
2. Index MessageSent events from source chain
|
||||
3. Index MessageExecuted events from destination chains
|
||||
4. Link events by messageId
|
||||
|
||||
---
|
||||
|
||||
## Verification Checklist
|
||||
|
||||
After completing steps above, verify:
|
||||
|
||||
- [ ] All bridge destinations configured (7/7)
|
||||
- [ ] CCIP Monitor service running
|
||||
- [ ] Fee calculation working
|
||||
- [ ] Bridge operations tested successfully
|
||||
- [ ] Token pool configuration verified
|
||||
- [ ] System health checks passing
|
||||
|
||||
**Run comprehensive verification:**
|
||||
```bash
|
||||
./scripts/verify-complete-ccip-setup.sh
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Bridge Configuration Fails
|
||||
|
||||
**Issue**: Transaction fails or gets stuck
|
||||
|
||||
**Solutions**:
|
||||
1. Check nonce: `cast nonce <address> --rpc-url <rpc_url>`
|
||||
2. Increase gas price
|
||||
3. Wait for previous transactions to clear
|
||||
4. Use different account
|
||||
|
||||
### Fee Calculation Fails
|
||||
|
||||
**Issue**: Cannot calculate fees
|
||||
|
||||
**Solutions**:
|
||||
1. Verify Router contract address
|
||||
2. Check function availability
|
||||
3. Verify LINK token configuration
|
||||
4. Check RPC connectivity
|
||||
|
||||
### CCIP Monitor Not Starting
|
||||
|
||||
**Issue**: Service fails to start
|
||||
|
||||
**Solutions**:
|
||||
1. Check container status: `pct status 3501`
|
||||
2. Check service logs: `pct exec 3501 -- journalctl -u ccip-monitor -n 50`
|
||||
3. Verify configuration: `/opt/ccip-monitor/.env`
|
||||
4. Check RPC connectivity from container
|
||||
|
||||
---
|
||||
|
||||
## Quick Reference
|
||||
|
||||
### Essential Commands
|
||||
|
||||
```bash
|
||||
# Health check
|
||||
./scripts/ccip-health-check.sh
|
||||
|
||||
# Bridge configuration
|
||||
./scripts/check-bridge-config.sh
|
||||
|
||||
# Configure Ethereum Mainnet
|
||||
./scripts/configure-ethereum-mainnet-destination.sh <private_key>
|
||||
|
||||
# Comprehensive verification
|
||||
./scripts/verify-complete-ccip-setup.sh
|
||||
|
||||
# Generate status report
|
||||
./scripts/generate-ccip-status-report.sh
|
||||
```
|
||||
|
||||
### Documentation
|
||||
|
||||
- **Operations**: `docs/CCIP_OPERATIONS_RUNBOOK.md`
|
||||
- **Best Practices**: `docs/CCIP_BEST_PRACTICES.md`
|
||||
- **Security**: `docs/CCIP_SECURITY_BEST_PRACTICES.md`
|
||||
- **Verification**: `docs/CCIP_VERIFICATION_CHECKLIST.md`
|
||||
|
||||
---
|
||||
|
||||
## Success Criteria
|
||||
|
||||
System is fully operational when:
|
||||
|
||||
1. ✅ All 7 bridge destinations configured
|
||||
2. ✅ CCIP Monitor service running
|
||||
3. ✅ Bridge operations tested successfully
|
||||
4. ✅ Fee calculation working
|
||||
5. ✅ All health checks passing
|
||||
6. ✅ End-to-end bridge flow verified
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-01-12
|
||||
|
||||
Reference in New Issue
Block a user