#!/usr/bin/env bash
set -euo pipefail

FAKENET_ENDPOINT="127.0.0.1:5555"
FAKENET_WALLET="532AxMqc29thxqonTxkVQ5D1ghfG7a6CN29CDmruQ5HaEVhLqrDqaXQ"

run_step() {
  printf '\n> %s\n' "$*"
  bash -lc "$*"
}

printf 'Nocksperimental local fakenet runbook\n'
printf 'Endpoint: %s\n' "$FAKENET_ENDPOINT"
printf 'Wallet:   %s\n' "$FAKENET_WALLET"

if ! command -v fakenock >/dev/null 2>&1; then
  printf '\nMissing fakenock on PATH. Run this from WSL after installing the local fakenet tooling.\n' >&2
  exit 127
fi

if [[ "${START_FAKENET:-0}" == "1" ]]; then
  printf '\nStarting local fakenet in the background.\n'
  fakenock --start &
fi

printf '\nChecking wallet balance.\n'
fakenock --balance

printf '\nRefreshing Nocksperimental local fakenet report artifacts.\n'
run_step "npm run lab:local"
run_step "npm run lab:local:balance"
run_step "npm run lab:local:chain"
run_step "npm run lab:local:peek"
run_step "npm run lab:local:poke"

printf '\nGenerated report files:\n'
printf '  - %s\n' ".nocklab/local-fakenet-health.report.json and .nocklab/local-fakenet-health.report.md"
printf '  - %s\n' ".nocklab/local-fakenet-balance.report.json and .nocklab/local-fakenet-balance.report.md"
printf '  - %s\n' ".nocklab/local-fakenet-chain.report.json and .nocklab/local-fakenet-chain.report.md"
printf '  - %s\n' ".nocklab/local-fakenet-peek.report.json and .nocklab/local-fakenet-peek.report.md"
printf '  - %s\n' ".nocklab/local-fakenet-poke.report.json and .nocklab/local-fakenet-poke.report.md"

printf '\nCurrent readiness JSON:\n'
curl http://127.0.0.1:3000/api/fakenet
printf '\n'
