Align E2E profile workflow across scripts and runbooks

This commit is contained in:
defiQUG
2026-03-06 08:46:55 -08:00
parent e4c9dda0fd
commit d38174dc25
18 changed files with 345 additions and 53 deletions

View File

@@ -1,9 +1,13 @@
#!/usr/bin/env bash
# Run all deployment next steps for Chain 138 in order: preflight → mirror+pool (or pool-only) → register c* as GRU → verify.
# Run all deployment next steps for Chain 138 in order:
# preflight → (optional mirror+seed pool) → PMM mesh (default) → register c* as GRU → verify.
#
# Usage: ./scripts/deployment/run-all-next-steps-chain138.sh [--dry-run] [--skip-mirror] [--skip-register-gru] [--skip-verify]
# Usage: ./scripts/deployment/run-all-next-steps-chain138.sh [--dry-run] [--skip-mirror] [--skip-mesh] [--legacy-pools-only] [--mesh-only] [--skip-register-gru] [--skip-verify]
# --dry-run Print steps only; do not run deploy/scripts.
# --skip-mirror Do not deploy TransactionMirror (pool-only; requires TRANSACTION_MIRROR_ADDRESS in smom-dbis-138/.env).
# --skip-mirror Do not deploy TransactionMirror + seed pool step.
# --skip-mesh Do not run full PMM mesh creation script.
# --legacy-pools-only Equivalent to --skip-mesh (keeps legacy mirror+seed behavior only).
# --mesh-only Skip mirror+seed step and run mesh creation only.
# --skip-register-gru Skip RegisterGRUCompliantTokens (e.g. if already registered).
# --skip-verify Skip final on-chain verification.
#
@@ -17,17 +21,22 @@ SMOM="$PROJECT_ROOT/smom-dbis-138"
DRY_RUN=""
SKIP_MIRROR=""
SKIP_MESH=""
MESH_ONLY=""
SKIP_REGISTER_GRU=""
SKIP_VERIFY=""
for a in "$@"; do
[[ "$a" == "--dry-run" ]] && DRY_RUN=1
[[ "$a" == "--skip-mirror" ]] && SKIP_MIRROR=1
[[ "$a" == "--skip-mesh" ]] && SKIP_MESH=1
[[ "$a" == "--legacy-pools-only" ]] && SKIP_MESH=1
[[ "$a" == "--mesh-only" ]] && MESH_ONLY=1 && SKIP_MIRROR=1
[[ "$a" == "--skip-register-gru" ]] && SKIP_REGISTER_GRU=1
[[ "$a" == "--skip-verify" ]] && SKIP_VERIFY=1
done
echo "=== Chain 138 — run all next steps ==="
echo " dry-run: $DRY_RUN skip-mirror: $SKIP_MIRROR skip-register-gru: $SKIP_REGISTER_GRU skip-verify: $SKIP_VERIFY"
echo " dry-run: $DRY_RUN skip-mirror: $SKIP_MIRROR skip-mesh: $SKIP_MESH mesh-only: $MESH_ONLY skip-register-gru: $SKIP_REGISTER_GRU skip-verify: $SKIP_VERIFY"
echo ""
# 1) Preflight
@@ -39,26 +48,37 @@ else
fi
echo ""
# 2) TransactionMirror + PMM pool (or pool-only)
echo "--- Step 2: TransactionMirror + PMM pool ---"
if [[ -n "$DRY_RUN" ]]; then
if [[ -n "$SKIP_MIRROR" ]]; then
echo "[DRY-RUN] $PROJECT_ROOT/scripts/deployment/deploy-transaction-mirror-and-pmm-pool-after-txpool-clear.sh --skip-mirror"
else
# 2) TransactionMirror + seed pool (legacy step; optional)
if [[ -z "$SKIP_MIRROR" ]]; then
echo "--- Step 2: TransactionMirror + seed pool ---"
if [[ -n "$DRY_RUN" ]]; then
echo "[DRY-RUN] $PROJECT_ROOT/scripts/deployment/deploy-transaction-mirror-and-pmm-pool-after-txpool-clear.sh"
fi
else
if [[ -n "$SKIP_MIRROR" ]]; then
"$PROJECT_ROOT/scripts/deployment/deploy-transaction-mirror-and-pmm-pool-after-txpool-clear.sh" --skip-mirror || { echo "Deploy (pool-only) failed." >&2; exit 1; }
else
"$PROJECT_ROOT/scripts/deployment/deploy-transaction-mirror-and-pmm-pool-after-txpool-clear.sh" || { echo "Deploy failed." >&2; exit 1; }
fi
echo ""
else
echo "--- Step 2: TransactionMirror + seed pool (skipped) ---"
echo ""
fi
echo ""
# 3) Register c* as GRU (optional)
# 3) PMM full mesh (default on Chain 138)
if [[ -z "$SKIP_MESH" ]]; then
echo "--- Step 3: PMM full mesh (Chain 138) ---"
if [[ -n "$DRY_RUN" ]]; then
echo "[DRY-RUN] $PROJECT_ROOT/scripts/create-pmm-full-mesh-chain138.sh"
else
"$PROJECT_ROOT/scripts/create-pmm-full-mesh-chain138.sh" || { echo "PMM full mesh failed." >&2; exit 1; }
fi
echo ""
else
echo "--- Step 3: PMM full mesh (skipped; legacy-only mode) ---"
echo ""
fi
# 4) Register c* as GRU (optional)
if [[ -z "$SKIP_REGISTER_GRU" ]]; then
echo "--- Step 3: Register c* as GRU (UniversalAssetRegistry) ---"
echo "--- Step 4: Register c* as GRU (UniversalAssetRegistry) ---"
if [[ -n "$DRY_RUN" ]]; then
echo "[DRY-RUN] cd $SMOM && forge script script/deploy/RegisterGRUCompliantTokens.s.sol --rpc-url \$RPC_URL_138 --broadcast --private-key \$PRIVATE_KEY --with-gas-price 1000000000"
else
@@ -78,13 +98,13 @@ if [[ -z "$SKIP_REGISTER_GRU" ]]; then
fi
echo ""
else
echo "--- Step 3: Register c* as GRU (skipped) ---"
echo "--- Step 4: Register c* as GRU (skipped) ---"
echo ""
fi
# 4) Verify
# 5) Verify
if [[ -z "$SKIP_VERIFY" ]]; then
echo "--- Step 4: On-chain verification ---"
echo "--- Step 5: On-chain verification ---"
if [[ -n "$DRY_RUN" ]]; then
echo "[DRY-RUN] $PROJECT_ROOT/scripts/verify/check-contracts-on-chain-138.sh"
else
@@ -93,7 +113,7 @@ if [[ -z "$SKIP_VERIFY" ]]; then
fi
echo ""
else
echo "--- Step 4: Verify (skipped) ---"
echo "--- Step 5: Verify (skipped) ---"
echo ""
fi

View File

@@ -53,7 +53,7 @@ echo " If using tunnel: add Public Hostname studio.sankofa.nexus → https://1
echo ""
echo "4. Verify:"
echo " curl -s http://${IP}:8000/health"
echo " bash scripts/verify/verify-end-to-end-routing.sh"
echo " bash scripts/verify/verify-end-to-end-routing.sh --profile=public"
echo " https://studio.sankofa.nexus/studio/"
echo ""
echo "Full flow: docs/03-deployment/SANKOFA_STUDIO_E2E_FLOW.md"