|
| | addr_check.h |
| | Structural address checks for the config portal.
|
| | assets.h |
| | What each selectable asset IS — one row per pos_chain_t.
|
| | boot.cpp |
| | Bring-up: NVS, panel, reader, wallet, addresses, setup wizard, Wi-Fi and clock — everything before the main loop.
|
| | card_io.cpp |
| | The card on the reader: is it usable, open a channel, sign, read the payout addresses off it.
|
| | card_status.h |
| | What a tapped card is missing, read from its SELECT response.
|
| | chain_icons.c |
| | chain_icons.h |
| | civil_time.cpp |
| | TZ-independent calendar arithmetic and date-string parsing.
|
| | civil_time.h |
| | TZ-independent calendar arithmetic and date-string parsing.
|
| | config_defaults.h |
| | config.h, plus a default for every key added after the first config.h files shipped — so an older config.h still builds.
|
| | eth_addr.cpp |
| | Implementation of the hex Ethereum-address parser, with EIP-55 checksum verification (HARDENING.md §7.1).
|
| | eth_addr.h |
| | Hex Ethereum-address parsing — a pure, dependency-free unit so it can be unit-tested and fuzzed on the host (see fuzz/fuzz_parse_address.cpp).
|
| | eth_json.cpp |
| | Implementation of the JSON-RPC response parsing helpers.
|
| | eth_json.h |
| | JSON-RPC response parsing helpers — kept in their own unit (cJSON + CW_Utils only, no ESP-IDF networking) so they can be fuzzed on the host (see fuzz/fuzz_eth_rpc_json.cpp).
|
| | eth_rlp.cpp |
| | RLP encoder implementation for EIP-1559 (type 2) transactions.
|
| | eth_rlp.h |
| | Minimal RLP encoder for EIP-1559 (type 2) Ethereum transactions.
|
| | eth_rpc.cpp |
| | Ethereum JSON-RPC client implementation (HTTPS). Network bring-up (Wi-Fi, SNTP) lives in net.cpp.
|
| | eth_rpc.h |
| | Ethereum JSON-RPC client over HTTPS (nonce / ecrecover parity / raw-tx broadcast / receipt polling). Network bring-up (Wi-Fi, SNTP) lives in net.h.
|
| | eth_sig.cpp |
| | secp256k1 verification + recovery bit, on mbedTLS's ECP module.
|
| | eth_sig.h |
| | The recovery bit of a secp256k1 signature, computed on the device.
|
| | form_parse.h |
| | application/x-www-form-urlencoded field extraction.
|
| | hardening.cpp |
| | Anomaly handling (§3.3): local fail-closed + persisted counter and a RAM ring buffer for on-site inspection. Never bricks.
|
| | hardening.h |
| | Decision-integrity primitives (see docs/HARDENING.md §3, §4).
|
| | https_post.cpp |
| | HTTPS JSON POST with the authenticated-Date clock cross-check.
|
| | https_post.h |
| | One HTTPS JSON POST, shared by every RPC client in the firmware.
|
| | json_out.h |
| | Escaping for values the config portal puts inside a JSON string.
|
| | keccak256.cpp |
| | Original (pre-NIST) Keccak-256 implementation, 0x01 padding.
|
| | keccak256.h |
| | Original Keccak-256 digest as used by Ethereum.
|
| | logo_mid.c |
| | logo_mid.h |
| | main.cpp |
| | cryptnox-pos entry point: touchscreen USDC payment terminal.
|
| | money.h |
| | The sale's arithmetic: keypad cents, base units, wei, fees, calldata.
|
| | net.cpp |
| | Wi-Fi station bring-up (init/scan/connect/RSSI) and SNTP time sync.
|
| | net.h |
| | Network bring-up: Wi-Fi station (init/scan/connect/RSSI) and SNTP time sync. No application-protocol logic lives here — the Ethereum JSON-RPC client is in eth_rpc.h.
|
| | ota.cpp |
| | Firmware slot handling. See ota.h for the why.
|
| | ota.h |
| | Firmware slot handling: receive an image into the idle slot, verify it, and install it only once somebody accepts it on the panel.
|
| | ota_version.h |
| | Dotted version comparison, for deciding whether an update goes forwards or backwards.
|
| | pay.cpp |
| | What a sale is paid with and to, and the sale between broadcast and verdict.
|
| | pay_evm.cpp |
| | Ethereum and Polygon: endpoint, fees, pre-flight balance, sign and broadcast an EIP-1559 transfer.
|
| | pay_tron.cpp |
| | Tron: pre-flight balance, sign and broadcast a TRX or TRC-20 transfer.
|
| | portal_fonts.h |
| | portal_page.h |
| | The config portal's document — the HTML/CSS half and the script half.
|
| | pos_app.h |
| | Private to the application files (main, boot, card_io, pay, pay_evm, pay_tron): the state they share and the calls between them.
|
| | provision.cpp |
| | The config portal: a SoftAP and a captive portal, for setup and for administration alike, one page for both. See provision.h for the why.
|
| | provision.h |
| | The config portal: one web app for setting a terminal up and for administering it afterwards, in two modes.
|
| | rpc_error.h |
| | Turn a node's JSON-RPC refusal into a line an operator can act on.
|
| | settings.cpp |
| | NVS-backed implementation of the persistent device settings.
|
| | settings.h |
| | Persistent device settings stored in NVS (backlight, Wi-Fi creds).
|
| | settings_rules.h |
| | What a setting may be, apart from where it is stored.
|
| | tap_icon.c |
| | tap_icon.h |
| | touch_cal.h |
| | Touch arithmetic: two-point calibration, and the second-contact guard.
|
| | tron_rpc.cpp |
| | Tron HTTP API client implementation.
|
| | tron_rpc.h |
| | Tron HTTP API client (Nile testnet): build a TRX transfer, broadcast it signed, poll its receipt.
|
| | tron_tx.cpp |
| | Implementation of the Tron transaction hex helpers.
|
| | tron_tx.h |
| | Tron transaction hex helpers — protobuf varints, the TransferContract integrity check and the signed-Transaction envelope.
|
| | ui.cpp |
| | Touchscreen UI implementation built on LVGL 8.x.
|
| | ui.h |
| | Touchscreen UI API: screens, events and transaction states for the CYD (ILI9341 + XPT2046) payment flow.
|
| | ui_admin.cpp |
| | The settings page, touch calibration and the admin-code screens.
|
| | ui_hal.cpp |
| | Panel and touch hardware: TFT_eSPI flush, XPT2046 reads, the LVGL display and input drivers, backlight PWM.
|
| | ui_internal.h |
| | Private to the ui*.cpp files: the state and helpers they share.
|
| | ui_sale.cpp |
| | The sale flow: amount, confirm, PIN, transaction status, and their page chrome.
|
| | ui_setup.cpp |
| | First-run setup on the panel: welcome, the browser hand-off, card reads, Wi-Fi.
|
| | ui_theme.cpp |
| | Colours, the LVGL theme and the shared layout metrics.
|
| | ui_widgets.cpp |
| | Widget helpers shared by every screen, and the Wi-Fi signal mark.
|
| | wdt.h |
| | Task-watchdog feed that is safe to call from any task.
|