<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/main/tollgate_api.h, branch feature/tollgate-core-v2</title>
<subtitle>[no description]</subtitle>
<id>https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/atom?h=feature%2Ftollgate-core-v2</id>
<link rel='self' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/atom?h=feature%2Ftollgate-core-v2'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/'/>
<updated>2026-05-22T23:25:11+00:00</updated>
<entry>
<title>Phase 6e-6f: Break circular dependencies</title>
<updated>2026-05-22T23:25:11+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-22T23:25:11+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=fb8558cbf964fae5a840f8f948b89a0d42045802'/>
<id>urn:sha1:fb8558cbf964fae5a840f8f948b89a0d42045802</id>
<content type='text'>
6e: Extract tls_worker queue from tollgate_api.c into shared tls_worker.c/h
    - mint_health.c no longer includes tollgate_api.h
    - tollgate_api.c no longer defines tls_worker functions
    - Clean circular dependency broken

6f: Move payout_config_t from lightning_payout.h to config.h
    - config.h no longer includes lightning_payout.h
    - lightning_payout.h includes config.h for types
    - Reverse dependency broken

All 21 unit tests pass. ESP-IDF build passes.
</content>
</entry>
<entry>
<title>Wallet receive via health task queue (no separate TLS worker)</title>
<updated>2026-05-21T11:16:51+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-21T11:16:51+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=19e175b1c1dea54efb61e8040ffdfa973fbac5d5'/>
<id>urn:sha1:19e175b1c1dea54efb61e8040ffdfa973fbac5d5</id>
<content type='text'>
- Removed standalone TLS worker task (couldn't allocate 16KB internal stack)
- Added wallet receive queue to mint_health task (already has 16KB stack + working TLS)
- health_task processes wallet tokens between probe intervals (1s poll)
- tls_worker_set_queue() registers queue from mint_health_start()
- Fallback to synchronous receive if queue not available
- Added freertos/queue.h and tollgate_api.h stubs for unit tests
- Added BaseType_t/UBaseType_t/TickType_t/pdFALSE to FreeRTOS stub
- Full payment round-trip confirmed: 2 payments → 41 sat balance
</content>
</entry>
<entry>
<title>Phase 2 WIP: Cashu payment endpoints, session tracking, updated checklist</title>
<updated>2026-05-15T16:57:14+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-15T16:57:14+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=1263d86314fc0760d9be8eea415ccecbc047a5eb'/>
<id>urn:sha1:1263d86314fc0760d9be8eea415ccecbc047a5eb</id>
<content type='text'>
- Add cashu.c/h: Cashu token decode (cashuA/base64url), proof state check via mint API, allotment calculator
- Add session.c/h: time-based session management with allotment/expiry, spent secret tracking
- Add tollgate_api.c/h: HTTP server on :2121 with GET / (kind=10021 discovery), POST / (payment processing), /usage, /whoami
- Update captive portal HTML: replace Grant Free Access with Cashu token paste form + Pay &amp; Connect button
- Update tollgate_main.c: wire in session manager, TollGate API, 1s session tick loop
- Add tests/phase2.mjs: Phase 2 test suite (discovery, invalid token, wrong mint, valid payment)
- Update CHECKLIST.md: reflect Phase 1 complete, Phase 2 in progress with known bugs

Known issues (not yet flashed):
- Stack overflow crash in httpd POST handler (need stack_size=16384 + heap allocations)
- cashu_decode_token uses 2KB stack buffer (needs heap alloc)
- Mint URL should be testnut.cashu.space (nofee.testnut has API compat issues)
</content>
</entry>
</feed>
