From 82f1fc0d5535eda3fc9eab799d81b3e220dbe4ef Mon Sep 17 00:00:00 2001 From: Your Name Date: Wed, 20 May 2026 02:10:01 +0530 Subject: feat: add tollgate_core component + market config wiring - Add tollgate_core ESP-IDF component (skeleton: cashu, dns, firewall, session) - Add tollgate_platform.c with SPIFFS config backend - Wire market_enabled, market_scan_interval_s, client_auto_switch in config.c - Add lwip_tollgate_hooks.h (updated from feature branch) - Add E2E fix plan, tollgate_core design doc, WPA autodetect plan - Add integration test network helpers - Add CONSOLIDATION.md plan Reverts the broken merge (be4788b) that gutted config.c/tollgate_main.c/tollgate_api.c and replaces it with a clean addition on top of intact master. --- main/tollgate_platform.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 main/tollgate_platform.c (limited to 'main/tollgate_platform.c') diff --git a/main/tollgate_platform.c b/main/tollgate_platform.c new file mode 100644 index 0000000..4083c4e --- /dev/null +++ b/main/tollgate_platform.c @@ -0,0 +1,63 @@ +#include "tollgate_platform.h" +#include "tollgate_core.h" +#include "config.h" +#include "esp_log.h" +#include "freertos/FreeRTOS.h" +#include "freertos/task.h" + +static const char *TAG = "tollgate_platform"; + +static uint16_t platform_get_price_sats(void) +{ + const tollgate_config_t *cfg = tollgate_config_get(); + return cfg ? (uint16_t)cfg->price_per_step : 21; +} + +static int32_t platform_get_step_ms(void) +{ + const tollgate_config_t *cfg = tollgate_config_get(); + return cfg ? (int32_t)cfg->step_size_ms : 60000; +} + +static const char *platform_get_mint_url(void) +{ + const tollgate_config_t *cfg = tollgate_config_get(); + return cfg ? cfg->mint_url : "https://testnut.cashu.space"; +} + +static const char *platform_get_metric(void) +{ + const tollgate_config_t *cfg = tollgate_config_get(); + return cfg ? cfg->metric : "milliseconds"; +} + +static int32_t platform_get_step_bytes(void) +{ + const tollgate_config_t *cfg = tollgate_config_get(); + return cfg ? (int32_t)cfg->step_size_bytes : 22020096; +} + +static int64_t platform_get_time_ms(void) +{ + return (int64_t)xTaskGetTickCount() * portTICK_PERIOD_MS; +} + +static bool platform_spend_proofs(const char *raw_token_json) +{ + (void)raw_token_json; + return true; +} + +const tollgate_platform_t *tollgate_get_platform(void) +{ + static const tollgate_platform_t platform = { + .get_price_sats = platform_get_price_sats, + .get_step_ms = platform_get_step_ms, + .get_mint_url = platform_get_mint_url, + .get_metric = platform_get_metric, + .get_step_bytes = platform_get_step_bytes, + .get_time_ms = platform_get_time_ms, + .spend_proofs = platform_spend_proofs, + }; + return &platform; +} -- cgit v1.2.3