upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/main/config.c
diff options
context:
space:
mode:
authorYour Name <you@example.com>2026-05-17 05:27:06 +0530
committerYour Name <you@example.com>2026-05-17 05:27:06 +0530
commitfdf662f8f1a1a3b38fe4d251982fffab8e9bf664 (patch)
tree2413bdc936b757adf4849a522b7df2a5c8eb0aec /main/config.c
parentedd125d0e3fe5fe7c0edf30c429723f3b0120c68 (diff)
Phase 7: MCP handler (25 tests), NIP-04 encrypt/decrypt (15 tests), CVM server skeleton
- mcp_handler.c/h: 4 tools (get_config, set_config, get_balance, wallet_send) - nip04.c/h: AES-256-CBC + ECDH with 0x02 compressed pubkey prefix - Fixed IV copy bug: mbedTLS AES-CBC modifies IV in-place - Base64 encode/decode for ciphertext transport - PKCS7 padding - cvm_server.c/h: Nostr DM listener with FreeRTOS task - config: cvm_enabled, cvm_relays fields - 156 total tests passing across 10 test binaries
Diffstat (limited to 'main/config.c')
-rw-r--r--main/config.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/main/config.c b/main/config.c
index 3e01efc..2ee8637 100644
--- a/main/config.c
+++ b/main/config.c
@@ -33,6 +33,8 @@ esp_err_t tollgate_config_init(void)
33 g_config.payout.check_interval_s = 60; 33 g_config.payout.check_interval_s = 60;
34 g_config.payout.recipient_count = 0; 34 g_config.payout.recipient_count = 0;
35 g_config.payout.mint_count = 0; 35 g_config.payout.mint_count = 0;
36 g_config.cvm_enabled = false;
37 strncpy(g_config.cvm_relays, "wss://relay.damus.io", sizeof(g_config.cvm_relays) - 1);
36 38
37 esp_vfs_spiffs_conf_t conf = { 39 esp_vfs_spiffs_conf_t conf = {
38 .base_path = "/spiffs", 40 .base_path = "/spiffs",
@@ -235,6 +237,16 @@ esp_err_t tollgate_config_init(void)
235 } 237 }
236 } 238 }
237 239
240 cJSON *cvm = cJSON_GetObjectItem(root, "cvm");
241 if (cvm && cJSON_IsObject(cvm)) {
242 cJSON *cvm_en = cJSON_GetObjectItem(cvm, "enabled");
243 if (cvm_en && cJSON_IsBool(cvm_en)) g_config.cvm_enabled = cJSON_IsTrue(cvm_en);
244 cJSON *cvm_relays = cJSON_GetObjectItem(cvm, "relays");
245 if (cvm_relays && cJSON_IsString(cvm_relays)) {
246 strncpy(g_config.cvm_relays, cvm_relays->valuestring, sizeof(g_config.cvm_relays) - 1);
247 }
248 }
249
238 if (g_config.payout.mint_count == 0 && g_config.mint_url[0] != '\0') { 250 if (g_config.payout.mint_count == 0 && g_config.mint_url[0] != '\0') {
239 strncpy(g_config.payout.mints[0].url, g_config.mint_url, 251 strncpy(g_config.payout.mints[0].url, g_config.mint_url,
240 sizeof(g_config.payout.mints[0].url) - 1); 252 sizeof(g_config.payout.mints[0].url) - 1);