Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line numberDiff line numberDiff line change
Expand Up@@ -22,8 +22,10 @@ charts/*/Chart.lock
logs/
dist/
build/
.build/
.cache/
.workspace/
.workspace-*/

# Go binary
/obol
Expand Down
20 changes: 18 additions & 2 deletions flows/flow-01-prerequisites.sh
Original file line numberDiff line numberDiff line change
Expand Up@@ -43,10 +43,26 @@ fi

# Python packages required for paid inference (flow-08)
step "Python eth_account + httpx installed"
if python3 -c "import eth_account, httpx" 2>/dev/null; then
if ensure_payment_python_deps; then
pass "eth_account + httpx available"
else
fail "Missing Python packages — run: pip install eth-account httpx"
fail "Missing Python packages and automatic venv setup failed — install eth-account httpx"
fi

# The default OpenClaw deployment depends on the published remote-signer chart.
step "remote-signer Helm chart version is published"
rs_version=$(remote_signer_chart_version)
if [ -z "$rs_version" ]; then
fail "Could not parse remoteSignerChartVersion from internal/openclaw/openclaw.go"
elif remote_signer_chart_available "$rs_version"; then
pass "obol/remote-signer $rs_version is available"
else
helm repo update obol >/dev/null 2>&1 || true
if remote_signer_chart_available "$rs_version"; then
pass "obol/remote-signer $rs_version is available after helm repo update"
else
fail "obol/remote-signer $rs_version is not published in the configured Helm repo"
fi
fi

emit_metrics
9 changes: 5 additions & 4 deletions flows/flow-08-buy.sh
Original file line numberDiff line numberDiff line change
Expand Up@@ -83,10 +83,11 @@ if command -v cast &>/dev/null; then
fi

# §2.3: Paid inference — sign EIP-712 ERC-3009 payment and retry
# Uses eth_account (installed with: pip install eth-account) to sign
# the TransferWithAuthorization payload, matching internal/testutil/eip712_signer.go
# Uses eth_account to sign the TransferWithAuthorization payload, matching
# internal/testutil/eip712_signer.go. If host Python lacks the dependency,
# lib.sh creates an isolated .workspace/venv and puts it on PATH.
step "Paid inference via x402 payment signing"
if python3 -c "import eth_account, httpx" 2>/dev/null; then
if ensure_payment_python_deps; then
paid_out=$(python3 << 'PYEOF' 2>&1
import sys, os, json, base64, secrets, time
import httpx
Expand DownExpand Up@@ -202,7 +203,7 @@ PYEOF
fail "Paid inference failed — ${paid_out:0:400}"
fi
else
fail "eth_account/httpx not installed — run: pip install eth-account httpx"
fail "eth_account/httpx unavailable and automatic venv setup failed"
fi

# §2.4: Balance checks (requires cast/Foundry)
Expand Down
Loading
Loading