From 851801f50f1282ab1db5f8a241dbd245f59e447e Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 23 May 2026 04:10:28 +0530 Subject: Phase 5: Wire main/ shims to components/tollgate_core - session.c/h: thin shim casting session_t* <-> tg_session_t*, delegates to tollgate_core_session_* - firewall.c/h: keeps ESP-specific lwIP hooks, delegates allowlist to tollgate_core_fw_* - cashu.c/h: shim delegates to tollgate_core_cashu_*, multi-mint via config directly - mining_payment.c: shim delegates to tollgate_core_mining_* - tollgate_main.c: calls tollgate_core_init(tollgate_esp_get_platform(), ap_ip) in start_services() - tollgate_esp: removed target_sources for standalone sources, depends on tollgate_core component - tollgate_core component: added tollgate_core_get_platform(), tg_payment_method_t enum - Unit tests: updated Makefile for component source compilation, all 22 tests pass - Hardware verified: Board A boots, AP visible, 5/6 smoke tests pass (internet test needs upstream WiFi) --- tollgate_core/include/tollgate_core.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'tollgate_core/include') diff --git a/tollgate_core/include/tollgate_core.h b/tollgate_core/include/tollgate_core.h index fc20caa..bbae7cf 100644 --- a/tollgate_core/include/tollgate_core.h +++ b/tollgate_core/include/tollgate_core.h @@ -56,8 +56,33 @@ const void *tollgate_core_get_sessions_array(void); int tollgate_core_get_sessions_array_size(void); void *tollgate_core_find_session_by_ip(uint32_t ip); void *tollgate_core_find_session_by_mac(const char *mac); +void *tollgate_core_session_create(uint32_t client_ip, uint64_t allotment_ms); +void *tollgate_core_session_create_bytes(uint32_t client_ip, uint64_t allotment_bytes); void tollgate_core_session_extend(void *session, uint64_t additional_ms); +void tollgate_core_session_revoke(void *session); int tollgate_core_session_add_bytes(uint32_t client_ip, uint64_t bytes); +bool tollgate_core_session_is_expired(const void *session); + +void tollgate_core_firewall_grant(uint32_t client_ip); +void tollgate_core_firewall_revoke(uint32_t client_ip); +int tollgate_core_firewall_get_mac_for_ip(uint32_t client_ip, char *mac_out, int mac_out_size); + +int tollgate_core_cashu_decode(const char *token_str, void *out); +int tollgate_core_cashu_check_states(const char *mint_url, const void *token, + void *states, int *state_count); +uint64_t tollgate_core_cashu_allotment(uint64_t amount, uint64_t price, uint64_t step_size); +bool tollgate_core_cashu_is_mint_accepted(const char *mint_url); +const char *tollgate_core_cashu_token_mint(const void *token); +uint64_t tollgate_core_cashu_token_amount(const void *token); + +void tollgate_core_mining_update_hashrate(uint32_t client_ip, bool accepted); +const void *tollgate_core_mining_get_client_stats(uint32_t client_ip); +double tollgate_core_mining_get_hashprice(void); +uint64_t tollgate_core_mining_shares_to_allotment_ms(double hashrate, double hashprice, + int price, int step_ms); +uint64_t tollgate_core_mining_shares_to_allotment_bytes(double hashrate, double hashprice, + int price, int step_bytes); +void tollgate_core_mining_set_nbits(uint32_t nbits); const tollgate_platform_t *tollgate_core_get_platform(void); uint32_t tollgate_core_get_ap_ip(void); -- cgit v1.2.3