From fcb16e56bb2c2d349e5e658cda9497808d3d8333 Mon Sep 17 00:00:00 2001 From: pscott Date: Thu, 27 May 2021 21:48:10 +0200 Subject: [PATCH] Add deposit tests --- tests/src/ethereum.test.js | 92 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 89 insertions(+), 3 deletions(-) diff --git a/tests/src/ethereum.test.js b/tests/src/ethereum.test.js index 46dd05d..37b33bf 100644 --- a/tests/src/ethereum.test.js +++ b/tests/src/ethereum.test.js @@ -7,7 +7,7 @@ import { TransportStatusError } from "@ledgerhq/errors"; const {NANOS_PATH, NANOX_PATH, sim_options_nanos, sim_options_nanox} = require("generic.js"); -test("Test nanos", async () => { +test("Transfer nanos", async () => { jest.setTimeout(100000); const sim = new Zemu(NANOS_PATH); @@ -55,7 +55,7 @@ test("Test nanos", async () => { } }); -test("Test nanox", async () => { +test("Transfer nanox", async () => { jest.setTimeout(100000); const sim = new Zemu(NANOX_PATH); @@ -79,7 +79,93 @@ test("Test nanox", async () => { await sim.clickRight(); // Amount await sim.clickRight(); - // Address 1/3 + // Address 1 + await sim.clickRight(); + // Chain ID + await sim.clickRight(); + // Max Fees + await sim.clickRight(); + // Accept + await sim.clickBoth(); + + await expect(tx).resolves.toEqual({ + r: "760c0d133c1095830614736e24c5741dcfcf1c46aeb301c3f213d92eac66c7b8", + s: "0e19d23ef82e04d2a3e77bc24ad036a381a2a12333b8d9228776bedf08092472", + v: "6e" + }); + } finally { + await sim.close(); + } +}); + +test("Deposit nanos", async () => { + jest.setTimeout(100000); + const sim = new Zemu(NANOS_PATH); + + try { + await sim.start(sim_options_nanos); + + let transport = await sim.getTransport(); + const eth = new Eth(transport); + + // Deposit transaction + // https://etherscan.io/tx/0xf2ff5519baafdc46c3b300e03e189a5b45f48552969fd6bc45ed6e3adb0ecb5f + let tx = eth.signTransaction( + "44'/60'/0'/0/0", + "f8eb81958508e534039d8302177594d54f502e184b6b739d7d27a6410a67dc462d69c880b8842505c3d903f33191df6561f0409b39172d41aafe1edef210994ef40957a0a2afc4d9d1ec02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d00000000000000000000000000000000000000000000000000000000000045c90000000000000000000000000000000000000000000000000000000041be71c025a0dd2ca8adf62d74dd023a35695281e9859737fecf3597409915e63bf4297ebf20a022e73752616372ce3cf2e473d951f4063227df1a2ace5a2320314803f6993b72" + ); + + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); + // Review tx + await sim.clickRight(); + // Data Present + await sim.clickRight(); + // Amount + await sim.clickRight(); + // Address 1 + await sim.clickRight(); + // Chain ID + await sim.clickRight(); + // Max Fees + await sim.clickRight(); + // Accept + await sim.clickBoth(); + + await expect(tx).resolves.toEqual({ + r: "760c0d133c1095830614736e24c5741dcfcf1c46aeb301c3f213d92eac66c7b8", + s: "0e19d23ef82e04d2a3e77bc24ad036a381a2a12333b8d9228776bedf08092472", + v: "6e" + }); + } finally { + await sim.close(); + } +}); + +test("Deposit nanox", async () => { + jest.setTimeout(100000); + const sim = new Zemu(NANOX_PATH); + + try { + await sim.start(sim_options_nanox); + + let transport = await sim.getTransport(); + const eth = new Eth(transport); + + // Deposit transaction + // https://etherscan.io/tx/0xf2ff5519baafdc46c3b300e03e189a5b45f48552969fd6bc45ed6e3adb0ecb5f + let tx = eth.signTransaction( + "44'/60'/0'/0/0", + "f8eb81958508e534039d8302177594d54f502e184b6b739d7d27a6410a67dc462d69c880b8842505c3d903f33191df6561f0409b39172d41aafe1edef210994ef40957a0a2afc4d9d1ec02893294412a4c8f915f75892b395ebbf6859ec246ec365c3b1f56f47c3a0a5d00000000000000000000000000000000000000000000000000000000000045c90000000000000000000000000000000000000000000000000000000041be71c025a0dd2ca8adf62d74dd023a35695281e9859737fecf3597409915e63bf4297ebf20a022e73752616372ce3cf2e473d951f4063227df1a2ace5a2320314803f6993b72" + ); + + await sim.waitUntilScreenIsNot(sim.getMainMenuSnapshot()); + // Review tx + await sim.clickRight(); + // Data Present + await sim.clickRight(); + // Amount + await sim.clickRight(); + // Address 1 await sim.clickRight(); // Chain ID await sim.clickRight();