Add full monorepo: virtual-banker, backend, frontend, docs, scripts, deployment
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
105
docs/DEPLOYMENT_SCRIPT_FIX.md
Normal file
105
docs/DEPLOYMENT_SCRIPT_FIX.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# Deployment Script Fix
|
||||
|
||||
**Date**: 2025-01-12
|
||||
**Issue**: Deployment scripts running in dry-run mode
|
||||
**Status**: ✅ **FIXED**
|
||||
|
||||
---
|
||||
|
||||
## Problem
|
||||
|
||||
The deployment scripts were reporting "SUCCESS" but no transactions were actually being broadcast to the network. The scripts were running in dry-run/simulation mode by default.
|
||||
|
||||
### Root Cause
|
||||
|
||||
1. **forge script**: Required `--broadcast` flag (was present but may not have been effective)
|
||||
2. **forge create**: Missing `--broadcast` flag entirely
|
||||
3. No verification that broadcast actually occurred
|
||||
|
||||
---
|
||||
|
||||
## Solution
|
||||
|
||||
### Fix 1: Added --broadcast to forge create
|
||||
|
||||
**File**: `scripts/force-deploy-link.sh`
|
||||
|
||||
**Method 2** (forge create) now includes `--broadcast`:
|
||||
|
||||
```bash
|
||||
forge create src/MockLinkToken.sol:MockLinkToken \
|
||||
--rpc-url "$RPC_URL" \
|
||||
--private-key "$PRIVATE_KEY" \
|
||||
--gas-price "$FORCE_GAS" \
|
||||
--legacy \
|
||||
--broadcast \ # ← ADDED
|
||||
2>&1
|
||||
```
|
||||
|
||||
### Fix 2: Added Broadcast Verification
|
||||
|
||||
**Method 1** (forge script) now includes verification:
|
||||
|
||||
```bash
|
||||
# Verify broadcast actually happened
|
||||
if echo "$DEPLOY_OUTPUT" | grep -qi "dry run\|simulation only\|not broadcasting"; then
|
||||
echo "⚠️ WARNING: Script may have run in dry-run mode despite --broadcast flag"
|
||||
echo "Output contains dry-run indicators"
|
||||
fi
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Direct Deployment Command
|
||||
|
||||
For immediate deployment, use:
|
||||
|
||||
```bash
|
||||
forge create src/MockLinkToken.sol:MockLinkToken \
|
||||
--rpc-url $RPC_URL \
|
||||
--private-key $PRIVATE_KEY \
|
||||
--gas-price 20000000000 \
|
||||
--legacy \
|
||||
--broadcast
|
||||
```
|
||||
|
||||
**Required Flags**:
|
||||
- `--rpc-url`: Network RPC endpoint
|
||||
- `--private-key`: Deployer private key
|
||||
- `--gas-price`: Gas price in wei (20 gwei = 20000000000)
|
||||
- `--legacy`: Use legacy transaction format
|
||||
- `--broadcast`: **CRITICAL** - Actually broadcast the transaction
|
||||
|
||||
---
|
||||
|
||||
## Verification
|
||||
|
||||
After deployment, verify:
|
||||
|
||||
1. **Check contract bytecode**:
|
||||
```bash
|
||||
cast code <DEPLOYED_ADDRESS> --rpc-url $RPC_URL
|
||||
```
|
||||
|
||||
2. **Check token functions**:
|
||||
```bash
|
||||
cast call <DEPLOYED_ADDRESS> "name()" --rpc-url $RPC_URL
|
||||
cast call <DEPLOYED_ADDRESS> "symbol()" --rpc-url $RPC_URL
|
||||
```
|
||||
|
||||
3. **Check block explorer**:
|
||||
- Visit: https://explorer.d-bis.org/address/<DEPLOYED_ADDRESS>
|
||||
- Verify contract exists and is confirmed
|
||||
|
||||
---
|
||||
|
||||
## Status
|
||||
|
||||
✅ **Script Fixed**: `force-deploy-link.sh` now includes `--broadcast` for all methods
|
||||
✅ **Verification Added**: Script now checks for dry-run indicators
|
||||
✅ **Direct Command**: Provided for immediate deployment
|
||||
|
||||
---
|
||||
|
||||
**Last Updated**: 2025-01-12
|
||||
|
||||
Reference in New Issue
Block a user