#!/usr/bin/env bash set -euo pipefail OUT_DIR="${1:?usage: collect_ledger_verify.sh }" mkdir -p "$OUT_DIR" CANDIDATES=( "ledger" "ledger-cli" "../vm-ledger/target/release/ledger" "../vm-ledger/target/release/ledger-cli" "../vm-ledger/target/debug/ledger" "../vm-ledger/target/debug/ledger-cli" "../vm-ledger/bin/ledger" "../vm-ledger/bin/ledger-cli" "../vm-ledger/ledger" "../vm-ledger/ledger-cli" ) LEDGER_BIN="" for c in "${CANDIDATES[@]}"; do if [[ "$c" == "ledger" || "$c" == "ledger-cli" ]]; then if command -v "$c" >/dev/null 2>&1; then LEDGER_BIN="$c" break fi else if [[ -x "$c" ]]; then LEDGER_BIN="$c" break fi fi done LEDGER_DIR="${VMCC_LEDGER_DIR:-../vm-ledger/log}" if [[ ! -d "$LEDGER_DIR" ]]; then cat > "$OUT_DIR/ledger_verify.json" < "$OUT_DIR/ledger_verify.json" <<'JSON' {"collected": false, "reason": "ledger CLI not found"} JSON exit 0 fi if ! "$LEDGER_BIN" verify --dir "$LEDGER_DIR" --format json > "$OUT_DIR/ledger_verify.json" 2> "$OUT_DIR/ledger_verify.stderr"; then cat > "$OUT_DIR/ledger_verify.json" <