From eeba74a4a1c011e85e33dea4252b381e35a64ea4 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 19 May 2026 13:21:25 +0530 Subject: feat: multi-mint wallet with health tracking, WPA auto-detect, display gating Squash merge of feature/multi-mint-support (21 commits): Multi-mint wallet: - Accept payments from 4 mints: minibits, coinos, 21mint, lnvoltz - Periodic health probing (300s interval, 3 recovery threshold) - Multi-wallet init with nucula_wallet_init_multi() - /mints and /wallet API endpoints WPA auto-detect: - wifi_auth_mode config field (default WPA2, supports WPA3) - Runtime mapping to wifi_auth_mode_t in STA config Display gating: - display_enabled config field (default true) - Guards display_init/display_update per-board Bug fixes: - 3s delay before service start prevents lwip mem_free assertion - Real npub in discovery (identity_get()->npub_hex) - Health probe interval 300s (production value) - Duplicate services_start_task call removed - UTF-8 arrow replaced with ASCII in log message Tests: 61+14 unit tests passing, firmware builds clean --- main/config.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'main/config.h') diff --git a/main/config.h b/main/config.h index af372af..370e6cc 100644 --- a/main/config.h +++ b/main/config.h @@ -9,7 +9,7 @@ #include "lightning_payout.h" #define TOLLGATE_MAX_WIFI_NETWORKS 5 -#define TOLLGATE_MAX_MINT_URLS 3 +#define TOLLGATE_MAX_MINT_URLS 8 #define TOLLGATE_MAX_AP_SSID_LEN 32 #define TOLLGATE_MAX_AP_PASS_LEN 64 #define TOLLGATE_MAX_RELAYS 4 @@ -41,6 +41,8 @@ typedef struct { char ap_ip_str[16]; char mint_url[256]; + char accepted_mints[TOLLGATE_MAX_MINT_URLS][256]; + int accepted_mint_count; char lnurl_url[256]; int price_per_step; int step_size_ms; @@ -52,6 +54,8 @@ typedef struct { char nostr_relays[TOLLGATE_MAX_RELAYS][128]; int nostr_relay_count; int nostr_publish_interval_s; + int nostr_sync_interval_s; + int nostr_fallback_sync_interval_s; bool identity_initialized; @@ -65,10 +69,11 @@ typedef struct { bool cvm_enabled; char cvm_relays[256]; + char wifi_auth_mode[16]; + bool display_enabled; + char nostr_seed_relays[TOLLGATE_MAX_SEED_RELAYS][128]; int nostr_seed_relay_count; - int nostr_sync_interval_s; - int nostr_fallback_sync_interval_s; bool market_enabled; int market_scan_interval_s; -- cgit v1.2.3