Socket
Socket
Sign inDemoInstall

@zondax/zemu

Package Overview
Dependencies
Maintainers
3
Versions
166
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zondax/zemu - npm Package Compare versions

Comparing version 0.43.0-beta.3 to 0.43.0

2

dist/constants.d.ts

@@ -17,3 +17,3 @@ /** ******************************************************************************

import { type IDeviceWindow, type IStartOptions } from "./types";
export declare const DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-e737165d37d4a8c761da0aeb6f77f8869fc5dbf9";
export declare const DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-744f56b299d627ac3c0bec136f1e1a21c744450c";
export declare const DEFAULT_MODEL = "nanos";

@@ -20,0 +20,0 @@ export declare const DEFAULT_NANO_START_TEXT = "Ready";

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.WINDOW_STAX = exports.WINDOW_X = exports.WINDOW_S = exports.KEYS = exports.DEFAULT_START_OPTIONS = exports.DEFAULT_STAX_REJECT_KEYWORD = exports.DEFAULT_STAX_APPROVE_KEYWORD = exports.DEFAULT_NANO_REJECT_KEYWORD = exports.DEFAULT_NANO_APPROVE_KEYWORD = exports.DEFAULT_WAIT_TIMEOUT = exports.DEFAULT_METHOD_TIMEOUT = exports.KILL_TIMEOUT = exports.DEFAULT_START_TIMEOUT = exports.BASE_NAME = exports.DEFAULT_HOST = exports.DEFAULT_KEY_DELAY = exports.DEFAULT_START_DELAY = exports.DEFAULT_STAX_START_TEXT = exports.DEFAULT_NANO_START_TEXT = exports.DEFAULT_MODEL = exports.DEFAULT_EMU_IMG = void 0;
exports.DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-e737165d37d4a8c761da0aeb6f77f8869fc5dbf9";
exports.DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-744f56b299d627ac3c0bec136f1e1a21c744450c";
exports.DEFAULT_MODEL = "nanos";

@@ -6,0 +6,0 @@ exports.DEFAULT_NANO_START_TEXT = "Ready";

@@ -22,17 +22,17 @@ /// <reference types="node" />

export default class Zemu {
private startOptions;
startOptions: IStartOptions;
private readonly host;
private transport;
transport: Transport;
private readonly transportProtocol;
private transportPort;
protected speculosApiPort: number;
transportPort: number;
speculosApiPort: number;
private readonly desiredTransportPort?;
private readonly desiredSpeculosApiPort?;
private readonly emuContainer;
private readonly containerName;
private readonly elfPath;
private readonly libElfs;
readonly containerName: string;
readonly elfPath: string;
readonly libElfs: Record<string, string>;
private grpcManager?;
private mainMenuSnapshot;
private initialEvents;
mainMenuSnapshot: ISnapshot;
initialEvents: IEvent[];
constructor(elfPath: string, libElfs?: Record<string, string>, host?: string, desiredTransportPort?: number, desiredSpeculosApiPort?: number, emuImage?: string);

@@ -39,0 +39,0 @@ static LoadPng2RGB(filename: string): PNGWithMetadata;

@@ -5,3 +5,3 @@ {

"license": "Apache-2.0",
"version": "0.43.0-beta.3",
"version": "0.43.0",
"description": "Zemu Testing Framework",

@@ -35,6 +35,6 @@ "main": "./dist/index.js",

"dependencies": {
"@grpc/grpc-js": "^1.8.12",
"@grpc/grpc-js": "^1.8.15",
"@grpc/proto-loader": "^0.7.5",
"@ledgerhq/hw-transport": "^6.28.1",
"@ledgerhq/hw-transport-http": "^6.27.12",
"@ledgerhq/hw-transport": "^6.28.4",
"@ledgerhq/hw-transport-http": "^6.27.15",
"axios": "^1.3.4",

@@ -47,20 +47,20 @@ "axios-retry": "^3.4.0",

"pngjs": "^7.0.0",
"randomstring": "^1.2.3"
"randomstring": "^1.3.0"
},
"devDependencies": {
"@types/dockerode": "^3.3.11",
"@types/dockerode": "^3.3.19",
"@types/fs-extra": "^11.0.1",
"@types/jest": "^29.4.0",
"@types/jest": "^29.5.2",
"@types/node": "^18.14.6",
"@types/pngjs": "^6.0.1",
"@types/randomstring": "^1.1.8",
"@typescript-eslint/eslint-plugin": "^5.54.1",
"@typescript-eslint/parser": "^5.54.1",
"@zondax/ledger-substrate": "^0.40.5",
"@typescript-eslint/eslint-plugin": "^5.60.0",
"@typescript-eslint/parser": "^5.60.0",
"@zondax/ledger-substrate": "^0.41.0",
"copyfiles": "^2.4.1",
"eslint": "^8.35.0",
"eslint": "^8.43.0",
"eslint-config-prettier": "^8.7.0",
"eslint-config-standard-with-typescript": "^34.0.0",
"eslint-config-standard-with-typescript": "^35.0.0",
"eslint-plugin-import": "^2.27.5",
"eslint-plugin-n": "^15.6.1",
"eslint-plugin-n": "^15.0.0",
"eslint-plugin-promise": "^6.0.0",

@@ -72,4 +72,4 @@ "jest": "^29.5.0",

"ts-node": "^10.9.1",
"typescript": "^5.0.2"
"typescript": "5.0.4"
}
}
# Zemu
![zondax_light](docs/assets/zondax_light.png#gh-light-mode-only)
![zondax](docs/assets/zondax_light.png)
![zondax_dark](docs/assets/zondax_dark.png#gh-dark-mode-only)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)

@@ -19,6 +17,6 @@ [![npm version](https://badge.fury.io/js/%40zondax%2Fzemu.svg)](https://badge.fury.io/js/%40zondax%2Fzemu)

Integration and end-to-end testing of Ledger Apps is a manual and time consuming process. We believe that the Ledger
apps ecosystem is lacking an adequate approach with respect to testing. The Zemu Framework is our solution for this
problem. Under the hood, Zemu uses Ledger's project [speculos](https://github.com/ledgerHQ/speculos). It's currently
being used in every Ledger App built by Zondax, among many others (such as Ethereum one built by Ledger team).
Integration and end-to-end testing of Ledger Apps is a manual and time consuming process. We believe that the Ledger apps ecosystem is
lacking an adequate approach with respect to testing. The Zemu Framework is our solution for this problem. Under the hood, Zemu uses
Ledger's project [speculos](https://github.com/ledgerHQ/speculos). It's currently being used in every Ledger App built by Zondax, among many
others (such as Ethereum one built by Ledger team).

@@ -25,0 +23,0 @@ _Zemu is an emulation and testing framework for Ledger Nano S/S+/X devices._

@@ -18,3 +18,3 @@ /** ******************************************************************************

export const DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-e737165d37d4a8c761da0aeb6f77f8869fc5dbf9";
export const DEFAULT_EMU_IMG = "zondax/builder-zemu:speculos-744f56b299d627ac3c0bec136f1e1a21c744450c";

@@ -21,0 +21,0 @@ export const DEFAULT_MODEL = "nanos";

@@ -68,9 +68,9 @@ /** ******************************************************************************

export default class Zemu {
private startOptions!: IStartOptions;
public startOptions!: IStartOptions;
private readonly host: string;
private transport!: Transport;
public transport!: Transport;
private readonly transportProtocol: string = "http";
private transportPort!: number;
protected speculosApiPort!: number;
public transportPort!: number;
public speculosApiPort!: number;
private readonly desiredTransportPort?: number;

@@ -80,10 +80,10 @@ private readonly desiredSpeculosApiPort?: number;

private readonly emuContainer: EmuContainer;
private readonly containerName: string;
public readonly containerName: string;
private readonly elfPath: string;
private readonly libElfs: Record<string, string>;
public readonly elfPath: string;
public readonly libElfs: Record<string, string>;
private grpcManager?: GRPCRouter;
private mainMenuSnapshot!: ISnapshot;
private initialEvents!: IEvent[];
public mainMenuSnapshot!: ISnapshot;
public initialEvents!: IEvent[];

@@ -90,0 +90,0 @@ constructor(

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc