All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Initial release of
@metamask/hw-emulator(#TODO)- Hardware wallet emulator lifecycle, transport, and device interaction for E2E testing
- Ledger emulator via Speculos with support for Nano S+, Nano X, Stax, and Flex devices
- Docker and native run modes
SpeculosClientfor APDU exchange and screen eventsApduBridgefor WebSocket-to-APDU bridge (WebHID mocking)DockerManagerfor Docker Compose lifecycle managementProcessManagerfor native Speculos process spawning- Device interaction automation (button presses, touch gestures)
- Resilience utilities (
withRetry,ExponentialBackoff) - Ledger HID framing session utilities
- WebHID mock script generation for E2E tests
- Deterministic accounts with pre-configured seed
- Bundled ELF app binaries for all supported devices
- Docker Compose configuration for Speculos
- JSDoc documentation on all public types, classes, methods, and constants
getElfFilePathutility for resolving ELF binary paths (native mode)startNative()defaults to@metamask/speculos-upmanaged binary when nobinaryoption is provided- Fix Docker mode ignoring custom
apduPort/apiPortby passing host ports todocker-compose - Fix Docker mode ignoring the
seedoption by wiringSPECULOS_SEEDthroughdocker-compose.yml - Fix Docker mode ignoring the
displayoption by wiringSPECULOS_DISPLAYthroughdocker-compose.yml