From f3411163714cf24e943ca0f32b1b5f45ef188299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hern=C3=A2ni=20Marques?= Date: Fri, 10 Jul 2026 20:42:20 +0200 Subject: [PATCH] bank: API for auto-created personal accounts (balance zero) Add GET /intro/auto-account.json on the bank helper (demo-withdraw-api): public registration with generated username/password, balance starts GOA:0, credentials returned once for the client to display. Nginx proxies the new path; install-demo-withdraw-api.sh installs the location. This is separate from the shared explorer demo withdraw. --- configs/bank-landing/index.html | 157 +++++++++++++++++- configs/bank-landing/nginx-landing.conf | 8 + scripts/taler-bank/demo-withdraw-api.py | 101 +++++++++-- .../taler-bank/install-demo-withdraw-api.sh | 15 ++ 4 files changed, 267 insertions(+), 14 deletions(-) diff --git a/configs/bank-landing/index.html b/configs/bank-landing/index.html index 4c1f0e0..d517fa3 100644 --- a/configs/bank-landing/index.html +++ b/configs/bank-landing/index.html @@ -448,6 +448,67 @@ transform: scale(0.92); transform-origin: center top; } + .own-acct-lead { + margin: 0 0 0.85rem; + color: var(--muted); + font-size: 0.95rem; + line-height: 1.45; + } + .own-acct-lead strong { color: #e8c878; } + .own-acct-creds { + margin: 0 0 0.85rem; + padding: 0.75rem 0.85rem; + border-radius: 12px; + background: rgba(94, 234, 212, 0.08); + border: 1px solid rgba(94, 234, 212, 0.35); + text-align: left; + } + .own-acct-warn { + margin: 0 0 0.65rem; + font-size: 0.86rem; + color: #ccfbf1; + line-height: 1.4; + } + .own-acct-warn strong { color: #5eead4; } + .own-acct-dl { + margin: 0; + display: grid; + gap: 0.45rem; + } + .own-acct-dl div { + display: grid; + grid-template-columns: 5.5rem 1fr; + gap: 0.35rem; + align-items: baseline; + } + .own-acct-dl dt { + margin: 0; + font-size: 0.72rem; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--muted); + } + .own-acct-dl dd { + margin: 0; + } + .own-acct-dl code { + font-size: 0.95rem; + font-weight: 700; + color: #f0d090; + word-break: break-all; + user-select: all; + } + #auto-account-btn { + border: 0; + cursor: pointer; + width: 100%; + max-width: 22rem; + } + #auto-account-btn:disabled { + opacity: 0.55; + cursor: wait; + } .stats { background: rgba(18, 28, 28, 0.55); border: 1px solid rgba(62, 207, 191, 0.28); @@ -763,18 +824,43 @@