<feed xmlns='http://www.w3.org/2005/Atom'>
<title>npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/docs/TOLLGATE_CORE_DESIGN.md, branch feature/tollgate-core-component</title>
<subtitle>[no description]</subtitle>
<id>https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/atom?h=feature%2Ftollgate-core-component</id>
<link rel='self' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/atom?h=feature%2Ftollgate-core-component'/>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/'/>
<updated>2026-05-18T14:25:01+00:00</updated>
<entry>
<title>feat: add E2E test helpers and update checklist for physical board testing</title>
<updated>2026-05-18T14:25:01+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T14:25:01+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=f8a5cffd3fe9d07de52e1688bda9b2975adbb74d'/>
<id>urn:sha1:f8a5cffd3fe9d07de52e1688bda9b2975adbb74d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>feat: extract tollgate_core ESP-IDF component</title>
<updated>2026-05-18T13:20:20+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T13:20:20+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=f6369f5b87f5dab17a03315d82454fdcdd668ec9'/>
<id>urn:sha1:f6369f5b87f5dab17a03315d82454fdcdd668ec9</id>
<content type='text'>
Extract shared TollGate business logic into a reusable ESP-IDF component
that can be consumed by esp-miner via the IDF Component Manager.

Component structure:
  components/tollgate_core/
    include/tollgate_core.h       — public API
    include/tollgate_platform.h   — platform interface (config callbacks)
    src/tollgate_core.c           — orchestrator (init, payment, tick, owner)
    src/tollgate_core_cashu.c/h   — Cashu V3 token decode/verify
    src/tollgate_core_dns.c/h     — per-client DNS hijack/forward
    src/tollgate_core_firewall.c/h — per-client NAT filter
    src/tollgate_core_session.c/h — session lifecycle

Key design decisions:
  - Platform interface pattern: consumers implement tollgate_platform_t
    (config getters + optional spend_proofs wallet hook)
  - Cross-module wiring (session→firewall→dns) stays internal
  - No direct config.h dependency — all config via platform callbacks
  - spend_proofs can be NULL (accepts payment without local wallet)

Standalone app updated:
  - main/tollgate_platform.c implements platform via config singleton
  - main/tollgate_main.c calls tollgate_core_init/tick/dns_start
  - main/tollgate_api.c routes payment through tollgate_core_process_payment
  - Removed cashu.c, dns_server.c, firewall.c, session.c from CMakeLists

Not yet build-verified — blocked on multi-mint, price-discovery,
cvm-integration, and display-fix branches merging to master.
</content>
</entry>
<entry>
<title>docs: add tollgate_core component architecture design plan</title>
<updated>2026-05-18T10:03:12+00:00</updated>
<author>
<name>Your Name</name>
<email>you@example.com</email>
</author>
<published>2026-05-18T10:03:12+00:00</published>
<link rel='alternate' type='text/html' href='https://upleb.uk/npub12m5exm2uk3xa674cc5r0hlyvccs5xxn7qv83ezuteefv5972nquq4j4szl/esp32-tollgate/commit/?id=d8c55d2a072433e16ae5c84b7b7c676587f6f2d9'/>
<id>urn:sha1:d8c55d2a072433e16ae5c84b7b7c676587f6f2d9</id>
<content type='text'>
Design document for extracting core TollGate modules (cashu, dns, firewall,
session) into a reusable ESP-IDF component consumed by esp-miner via the
IDF Component Manager.

Includes platform interface specification, wallet integration design,
dependency analysis, and phased implementation checklist.

Refs: feature/tollgate-core-component
</content>
</entry>
</feed>
