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.
32 lines
1.4 KiB
Markdown
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) |
|