X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=tests.js;h=f192f991a9064cf9a9e936422dd369761fea47c9;hb=3abab9b0874904f610cfeb7d136e97ca0ebac1e1;hp=1cf5b2204d573bf891095cceaa57f4eb0f83b48d;hpb=8a9f39137623a5ed364c3e8da7c1d770e63de7c6;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/tests.js b/tests.js index 1cf5b22..f192f99 100644 --- a/tests.js +++ b/tests.js @@ -4185,6 +4185,88 @@ page.open(url, function(status) { }); }, +// Github issue 95 +// error trying to generate addresses from xpub with hardened derivation +function() { +page.open(url, function(status) { + // set the phrase + page.evaluate(function() { + // Use bip32 tab with hardened addresses + $(".hardened-addresses").prop("checked", true); + $("#bip32-tab a").click(); + // set xpub for account 0 of bip44 for 'abandon abandon ability' + var bip44AccountXpub = "xpub6CzDCPbtLrrn4VpVbyyQLHbdSMpZoHN4iuW64VswCyEpfjM2mJGdaHJ2DyuZwtst96E16VvcERb8BBeJdHSCVmAq9RhtRQg6eAZFrTKCNqf"; + $("#root-key").val(bip44AccountXpub); + $("#root-key").trigger("input"); + }); + waitForFeedback(function() { + // check the error message shows + var expected = "Hardened derivation path is invalid with xpub key"; + var actual = page.evaluate(function() { + return $(".feedback").text(); + }); + if (actual != expected) { + console.log("xpub key with hardened addresses does not show feedback"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + +// Litecoin uses xprv by default, and can optionally be set to ltpv +// github issue 96 +// https://github.com/iancoleman/bip39/issues/96 +// Issue with extended keys on Litecoin +function() { +page.open(url, function(status) { + // set the phrase and coin + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "LTC - Litecoin"; + }).prop("selected", true); + $(".network").trigger("change"); + $(".phrase").trigger("input"); + }); + // check the extended key is generated correctly + waitForGenerate(function() { + var expected = "xprv9s21ZrQH143K2jkGDCeTLgRewT9F2pH5JZs2zDmmjXes34geVnFiuNa8KTvY5WoYvdn4Ag6oYRoB6cXtc43NgJAEqDXf51xPm6fhiMCKwpi"; + var actual = page.evaluate(function() { + return $(".root-key").val(); + }); + if (actual != expected) { + console.log("Litecoin root key does not default to xprv"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + // set litecoin to use ltub + page.evaluate(function() { + $(".addresses").empty(); + $(".litecoin-use-ltub").prop("checked", true); + $(".litecoin-use-ltub").trigger("change"); + }); + waitForGenerate(function() { + var expected = "Ltpv71G8qDifUiNesiPqf6h5V6eQ8ic77oxQiYtawiACjBEx3sTXNR2HGDGnHETYxESjqkMLFBkKhWVq67ey1B2MKQXannUqNy1RZVHbmrEjnEU"; + var actual = page.evaluate(function() { + return $(".root-key").val(); + }); + if (actual != expected) { + console.log("Litecoin root key cannot be set to use ltub"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); + }); +}); +}, + // If you wish to add more tests, do so here... // Here is a blank test template