- Submodule pins: dbis_core, cross-chain-pmm-lps, mcp-proxmox (local, push may be pending), metamask-integration, smom-dbis-138 - Atomic swap + cross-chain-pmm-lops-publish, deploy-portal workflow, phoenix deploy-targets, routing/aggregator matrices - Docs, token-lists, forge proxy, phoenix API, runbooks, verify scripts Made-with: Cursor
46 lines
1.6 KiB
Bash
Executable File
46 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
|
|
|
|
# shellcheck source=/home/intlc/projects/proxmox/scripts/lib/load-project-env.sh
|
|
source "${PROJECT_ROOT}/scripts/lib/load-project-env.sh"
|
|
|
|
SNAPSHOT_PY="${PROJECT_ROOT}/scripts/verify/snapshot-mainnet-cwusdc-usdc-preflight.py"
|
|
STAMP="$(date -u +%Y%m%dT%H%M%SZ)"
|
|
OUT_DIR="${PROJECT_ROOT}/reports/status"
|
|
OUT_FILE="${OUT_DIR}/mainnet-cwusdc-usdc-preflight-${STAMP}.json"
|
|
LATEST_FILE="${OUT_DIR}/mainnet-cwusdc-usdc-preflight-latest.json"
|
|
|
|
mkdir -p "${OUT_DIR}"
|
|
|
|
python3 "${SNAPSHOT_PY}" --out "${OUT_FILE}" > "${LATEST_FILE}"
|
|
|
|
echo "Wrote snapshot:"
|
|
echo " ${OUT_FILE}"
|
|
echo "Updated latest pointer:"
|
|
echo " ${LATEST_FILE}"
|
|
echo
|
|
python3 - <<'PY' "${LATEST_FILE}"
|
|
import json, sys
|
|
from pathlib import Path
|
|
|
|
data = json.loads(Path(sys.argv[1]).read_text())
|
|
s = data["summary"]
|
|
print("Summary:")
|
|
print(f" publicPairDeviationBps={s.get('publicPairDeviationBps')}")
|
|
print(f" publicPairBaseReserveUnits={s.get('publicPairBaseReserveUnits')}")
|
|
print(f" publicPairQuoteReserveUnits={s.get('publicPairQuoteReserveUnits')}")
|
|
print(f" defendedMidPrice={s.get('defendedMidPrice')}")
|
|
print(f" managerAvailableQuoteUnits={s.get('managerAvailableQuoteUnits')}")
|
|
print(f" receiverSweepableQuoteUnits={s.get('receiverSweepableQuoteUnits')}")
|
|
print(f" decision={s.get('decisionSeverity')}/{s.get('decisionAction')}")
|
|
print(f" flashQuoteAmountRaw={s.get('flashQuoteAmountRaw')}")
|
|
warnings = data.get("warnings") or []
|
|
if warnings:
|
|
print("Warnings:")
|
|
for warning in warnings:
|
|
print(f" - {warning}")
|
|
PY
|