cryptnox-pos 1.0.0
Standalone USDC payment terminal firmware (ESP32 + Cryptnox smart card)
Loading...
Searching...
No Matches
Ethereum transaction layer

Address parsing, RLP/keccak encoding and the JSON-RPC client. More...

Files

file  main/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).
file  main/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).
file  main/eth_rlp.h
 Minimal RLP encoder for EIP-1559 (type 2) Ethereum transactions.
file  main/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.
file  main/https_post.h
 One HTTPS JSON POST, shared by every RPC client in the firmware.
file  main/keccak256.h
 Original Keccak-256 digest as used by Ethereum.
file  main/rpc_error.h
 Turn a node's JSON-RPC refusal into a line an operator can act on.

Detailed Description

Address parsing, RLP/keccak encoding and the JSON-RPC client.

The pure, host-testable parsers (eth_addr.h, eth_rlp.h, eth_json.h) plus the Keccak-256 digest (keccak256.h) and the HTTPS JSON-RPC client (eth_rpc.h). The parsers carry libFuzzer harnesses under fuzz/.