What problem does it solve?
It prevents implementation drift by aligning new code with Ethernauta’s package boundaries, resolver method shapes, and schema-validated invariants for safe Ethereum JSON-RPC and wallet signing.
Core Features & Use Cases
- Package map & dependency direction: keeps
wallet and eip correctly layered on top of transport, avoiding circular dependencies.
- Method-shape mental model: distinguishes
Readable<T> (reads), Writable<T> (writes), and Signable<T> (wallet interaction) so you implement factories instead of executing early.
- Transport dispatch rules: standardizes fallback behavior across multiple transports using
Promise.any() instead of Promise.all() or sequential logic.
- Security and correctness invariants: enforces Valibot validation on every boundary, CAIP-2 chain IDs, strict naming conventions, and safer error handling.
- Extension messaging protocol: defines how signer-provider split and postMessage correlation IDs work for wallet requests.
Quick Start
Ask an AI assistant to help you add a new eth_* method by following Ethernauta’s factory pattern, validating parameters and results with Valibot schemas, dispatching via Promise.any across transports, and exporting it through the correct package index paths.