taler-monitoring/ladder/README.md
Hernâni Marques fd5ac80566
fix 1.22.1: pay-wait withdraw board (start order + pendingIncoming)
UX fix: after bank OK_BANK, available is often still 0 while pendingIncoming
ticks up. The silent wait looked hung. Show OK/OK_BANK withdraws in the order
they started, match wallet txs, and update pendingIncoming→done with a timer
on the same wallet DB. Short run-pending only; default wait 90s.
2026-07-19 14:34:47 +02:00

32 lines
1.4 KiB
Markdown

# Amount ladder modules
**Entry:** `../check_amount_ladder.sh` via:
```bash
./taler-monitoring.sh ladder # classic 23-rung withdraw + pay
./taler-monitoring.sh max-ladder # max-search withdraw + pay
./taler-monitoring.sh goa-ladder # legacy phase name = classic ladder
```
| Path | Role |
|------|------|
| `../check_amount_ladder.sh` | Orchestrator: classic / max **withdraw**, then pay phase |
| `lib_pay.sh` | **Pay** module: free-amount template, classic pay list, max **payable** ≤ available |
| `extract_rpubs.py` | Force-select: scrape `reservePub` from wallet dumps |
There is **no** `check_goa_ladder.sh` — removed; use the phases above.
## Modes
- **classic** (default): 23-rung withdraw 0→mids→max-1→max, then matching pay plan (never overspend).
- **max** (`max-ladder`): adaptive max withdraw, then adaptive max pay via public free template (hacktivism: `goa-free`).
## Env (pay)
| Variable | Default | Meaning |
|----------|---------|---------|
| `LADDER_PAY` | `1` | `0` = skip all pays |
| `LADDER_USE_FREE_TEMPLATE` | `1` | public POST template with `{"amount":…}` |
| `LADDER_FREE_TEMPLATE` | `goa-free` | template id (hacktivism) |
| `LADDER_FREE_TEMPLATE_INSTANCE` | merchant instance | e.g. `goa-demo-cp4zqk` |
| `LADDER_PAY_WAIT_AVAILABLE_S` | `90` | after withdraw, wait for spendable **available**>0; logs **withdraw board in start order** (OK/OK_BANK) with live `pendingIncoming``done` + timer (same wallet DB) |