]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - tests/spec/tests.js
Merge branch 'master' into master
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / tests / spec / tests.js
index 034b50fc805e5407ff0d547c636415b5b2da68d3..0bb56f8ac6affee7b49ddcd9ca4f157a140eae73 100644 (file)
@@ -553,7 +553,7 @@ it('Allows selection of slimcoin testnet', function(done) {
 it('Allows selection of bitcoin cash', function(done) {
     var params = {
         selectText: "BCH - Bitcoin Cash",
-        firstAddress: "1JKvb6wKtsjNoCRxpZ4DGrbniML7z5U16A",
+        firstAddress: "bitcoincash:qzlquk7w4hkudxypl4fgv8x279r754dkvur7jpcsps",
     };
     testNetwork(done, params);
 });
@@ -616,7 +616,7 @@ it('Allows selection of monacoin', function(done) {
 it('Allows selection of AXE', function(done) {
     var params = {
         selectText: "AXE - Axe",
-        firstAddress: "XQ4HLxUVS3egk5ff1o9e2vJFJKSSsUH3B7",
+        firstAddress: "PScwtLUyPiGrqtKXrHF37DGETLXLZdw4up",
     };
     testNetwork(done, params);
 });
@@ -690,10 +690,31 @@ it('Allows selection of Bitcoinplus', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of Bitcoin Private', function(done) {
+    var params = {
+        selectText: "BTCP - Bitcoin Private",
+        firstAddress: "b1M3PbiXXyN6Hdivdw5rJv5VKpLjPzhm4jM",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Bitcoinz', function(done) {
+    var params = {
+        selectText: "BTCZ - Bitcoinz",
+        firstAddress: "t1X2YQoxs8cYRo2oaBYgVEwW5QNjCC59NYc",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of BitCloud', function(done) {
+    var params = {
+        selectText: "BTDX - BitCloud",
+        firstAddress: "BHbWitXCNgTf1BhsRDNMP186EeibuzmrBi",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Bitcore', function(done) {
     var params = {
         selectText: "BTX - Bitcore",
-        firstAddress: "1Dg18EtqhReS11e9h8khkLjWGLHVjPM2AB",
+        firstAddress: "2Rgp5Znhpy34TK4QmPkfCiYs9r4KovfTH9",
     };
     testNetwork(done, params);
 });
@@ -900,6 +921,13 @@ it('Allows selection of Ixcoin', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of Kobocoin', function(done) {
+    var params = {
+        selectText: "KOBO - Kobocoin",
+        firstAddress: "FTVoNJETXDAM8x7MnmdE8RwWndSr9PQWhy",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Landcoin', function(done) {
     var params = {
         selectText: "LDCN - Landcoin",
@@ -935,6 +963,13 @@ it('Allows selection of Lynx', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of Megacoin', function(done) {
+    var params = {
+        selectText: "MEC - Megacoin",
+        firstAddress: "MDfAj9CzkC1HpcUiVGnHp8yKTa7WXgu8AY",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Minexcoin', function(done) {
     var params = {
         selectText: "MNX - Minexcoin",
@@ -1033,10 +1068,17 @@ it('Allows selection of Putincoin', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of Ravencoin', function(done) {
+    var params = {
+        selectText: "RVN - Ravencoin",
+        firstAddress: "RBuDoVNnzvFsEcX8XKPm8ic4mgiCzjUCNk",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Reddcoin', function(done) {
     var params = {
         selectText: "RDD - Reddcoin",
-        firstAddress: "1M4druAcUfkXBaAcQ4cCgCLPHChiaib6kL",
+        firstAddress: "RtgRvXMBng1y51ftteveFqwNfyRG18HpxQ",
     };
     testNetwork(done, params);
 });
@@ -1054,6 +1096,13 @@ it('Allows selection of Rubycoin', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of Salus', function(done) {
+    var params = {
+        selectText: "SLS - Salus",
+        firstAddress: "SNzPi1CafHFm3WWjRo43aMgiaEEj3ogjww",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Smileycoin', function(done) {
     var params = {
         selectText: "SMLY - Smileycoin",
@@ -1068,6 +1117,20 @@ it('Allows selection of Solarcoin', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of stash', function(done) {
+    var params = {
+        selectText: "STASH - Stash",
+        firstAddress: "XxwAsWB7REDKmAvHA85SbEZQQtpxeUDxS3",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of stash testnet', function(done) {
+    var params = {
+        selectText: "STASH - Stash Testnet",
+        firstAddress: "yWQCTSkUst7ddYuebKsqa1kSoXEjpCkGKR",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Stratis', function(done) {
     var params = {
         selectText: "STRAT - Stratis",
@@ -1075,6 +1138,13 @@ it('Allows selection of Stratis', function(done) {
     };
     testNetwork(done, params);
 });
+it('Allows selection of Stratis Test', function(done) {
+    var params = {
+        selectText: "TSTRAT - Stratis Testnet",
+        firstAddress: "TRLWm3dye4FRrDWouwYUSUZP96xb76mBE3",
+    };
+    testNetwork(done, params);
+});
 it('Allows selection of Syscoin', function(done) {
     var params = {
         selectText: "SYS - Syscoin",
@@ -1159,7 +1229,153 @@ it('Allows selection of Zcoin', function(done) {
     };
     testNetwork(done, params);
 });
-
+it('Allows selection of Zcash', function(done) {
+    var params = {
+        selectText: "ZEC - Zcash",
+        firstAddress: "t1Sz8AneMcVuzUg3tPJ8et5AS5LFJ7K2EF9",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Zclassic', function(done) {
+    var params = {
+        selectText: "ZCL - Zclassic",
+        firstAddress: "t1TBMxTvVJRybUbMLGWq8H4A8F4VUL7czEc",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Zencash', function(done) {
+    var params = {
+        selectText: "ZEN - Zencash",
+        firstAddress: "znWh9XASyW2dZq5tck84wFjiwuqVysi7q3p",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Energi', function(done) {
+    var params = {
+        selectText: "NRG - Energi",
+        firstAddress: "EejRy4t4nidzhGGzkJUgFP3z4HYBjhTsRt",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Ethereum Classic', function(done) {
+    var params = {
+        selectText: "ETC - Ethereum Classic",
+        firstAddress: "0x3c05e5556693808367afB62eF3b63e35d6eD249A",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Pirl', function(done) {
+    var params = {
+        selectText: "PIRL - Pirl",
+        firstAddress: "0xe77FC0723dA122B5025CA79193c28563eB47e776",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of MIX', function(done) {
+    var params = {
+        selectText: "MIX - MIX",
+        firstAddress: "0x98BC5e63aeb6A4e82d72850d20710F07E29A29F1",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Musicoin', function(done) {
+    var params = {
+        selectText: "MUSIC - Musicoin",
+        firstAddress: "0xDc060e4A0b0313ea83Cf6B3A39B9db2D29004897",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Poa', function(done) {
+    var params = {
+        selectText: "POA - Poa",
+        firstAddress: "0x53aF28d754e106210C3d0467Dd581eaf7e3C5e60",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Expanse', function(done) {
+    var params = {
+        selectText: "EXP - Expanse",
+        firstAddress: "0xf57FeAbf26582b6E3E666559d3B1Cc6fB2b2c5F6",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Callisto', function(done) {
+    var params = {
+        selectText: "CLO - Callisto",
+        firstAddress: "0x4f9364F7420B317266C51Dc8eB979717D4dE3f4E",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of HUSH', function(done) {
+    var params = {
+        selectText: "HUSH - Hush",
+        firstAddress: "t1g6rLXUnJaiJuu4q4zmJjoa9Gk4fwKpiuA",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of ExchangeCoin', function(done) {
+    var params = {
+        selectText: "EXCC - ExchangeCoin",
+        firstAddress: "22txYKpFN5fwGwdSs2UBf7ywewbLM92YqK7E",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Artax', function(done) {
+    var params = {
+        selectText: "XAX - Artax",
+        firstAddress: "AYxaQPY7XLidG31V7F3yNzwxPYpYzRqG4q",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of BitcoinGreen', function(done) {
+    var params = {
+        selectText: "BITG - Bitcoin Green",
+        firstAddress: "GeNGm9SkEfwbsws3UrrUSE2sJeyWYjzraY",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of ANON', function(done) {
+    var params = {
+        selectText: "ANON - ANON",
+        firstAddress: "AnU6pijpEeUZFWSTyM2qTqZQn996Zq1Xard",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of ProjectCoin', function(done) {
+    var params = {
+        selectText: "PRJ - ProjectCoin",
+        firstAddress: "PXZG97saRseSCftfe1mcFmfAA7pf6qBbaz",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Phore', function(done) {
+    var params = {
+        selectText: "PHR - Phore",
+        firstAddress: "PJThxpoXAG6hqrmdeQQbVDX4TJtFTMMymC",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Safecoin', function(done) {
+     var params = {
+         selectText: "SAFE - Safecoin",
+         firstAddress: "RmV56kPW7jeCmDA8sukHwbR7RZSbg9NFNF",
+     };
+     testNetwork(done, params);
+ });
+it('Allows selection of Blocknode', function(done) {
+    var params = {
+        selectText: "BND - Blocknode",
+        firstAddress: "BG8xZSAur2jYLG9VXt8dYfkKxxeR7w9bSe",
+    };
+    testNetwork(done, params);
+});
+it('Allows selection of Blocknode Testnet', function(done) {
+    var params = {
+        selectText: "tBND - Blocknode Testnet",
+        firstAddress: "bSptsFyDktFSKpWveRywJsDoJA2TC6qfHv",
+    };
+    testNetwork(done, params);
+});
 
 // BIP39 seed is set from phrase
 it('Sets the bip39 seed from the prhase', function(done) {
@@ -2731,7 +2947,7 @@ it('Can change details while old addresses are still being generated', function(
                 });
         });
     });
-}, generateDelay + 5000);
+}, generateDelay + 10000);
 
 // Github issue 49
 // padding for binary should give length with multiple of 256
@@ -2772,6 +2988,13 @@ it('Can set the derivation path on bip32 tab for multibit', function(done) {
         useHardenedAddresses: null,
     });
 });
+it('Can set the derivation path on bip32 tab for coinomi/ledger', function(done) {
+    testClientSelect(done, {
+        selectValue: "3",
+        bip32path: "m/44'/0'/0'",
+        useHardenedAddresses: null,
+    });
+});
 
 // github issue 58
 // https://github.com/iancoleman/bip39/issues/58
@@ -3106,10 +3329,26 @@ it('Warns when entropy is filtered and discarded', function(done) {
     });
 });
 
+// Bitcoin Cash address can be set to use cashaddr format
+it('Can use cashaddr format for bitcoin cash addresses', function(done) {
+    driver.executeScript(function() {
+        $(".use-bch-cashaddr-addresses").prop("checked", true);
+    });
+    driver.findElement(By.css('.phrase'))
+        .sendKeys("abandon abandon ability");
+    selectNetwork("BCH - Bitcoin Cash");
+    driver.sleep(generateDelay).then(function() {
+        getFirstAddress(function(address) {
+            expect(address).toBe("bitcoincash:qzlquk7w4hkudxypl4fgv8x279r754dkvur7jpcsps");
+            done();
+        });
+    });
+});
+
 // Bitcoin Cash address can be set to use bitpay format
 it('Can use bitpay format for bitcoin cash addresses', function(done) {
     driver.executeScript(function() {
-        $(".use-bitpay-addresses").prop("checked", true);
+        $(".use-bch-bitpay-addresses").prop("checked", true);
     });
     driver.findElement(By.css('.phrase'))
         .sendKeys("abandon abandon ability");
@@ -3122,6 +3361,22 @@ it('Can use bitpay format for bitcoin cash addresses', function(done) {
     });
 });
 
+// Bitcoin Cash address can be set to use legacy format
+it('Can use legacy format for bitcoin cash addresses', function(done) {
+    driver.executeScript(function() {
+        $(".use-bch-legacy-addresses").prop("checked", true);
+    });
+    driver.findElement(By.css('.phrase'))
+        .sendKeys("abandon abandon ability");
+    selectNetwork("BCH - Bitcoin Cash");
+    driver.sleep(generateDelay).then(function() {
+        getFirstAddress(function(address) {
+            expect(address).toBe("1JKvb6wKtsjNoCRxpZ4DGrbniML7z5U16A");
+            done();
+        });
+    });
+});
+
 // End of tests ported from old suit, so no more comments above each test now
 
 it('Can generate more addresses from a custom index', function(done) {
@@ -3562,4 +3817,44 @@ it('Does not show a warning if entropy is stronger than mnemonic length', functi
         });
 });
 
+it('Shows litecoin BIP49 addresses', function(done) {
+    driver.findElement(By.css('.phrase'))
+        .sendKeys('abandon abandon ability');
+    selectNetwork("LTC - Litecoin");
+    driver.findElement(By.css('#bip49-tab a'))
+        .click()
+    // bip49 addresses are shown
+    driver.sleep(generateDelay).then(function() {
+        driver.findElement(By.css('#bip49 .available'))
+            .getAttribute("class")
+            .then(function(classes) {
+                expect(classes).not.toContain("hidden");
+                // check first address
+                getFirstAddress(function(address) {
+                    expect(address).toBe("MFwLPhsXoBuSLL8cLmW9uK6tChkzduV8qN");
+                    done();
+                });
+            });
+    });
+});
+
+it('Can use root keys to generate segwit table rows', function(done) {
+    // segwit uses ypub / zpub instead of xpub but the root key should still
+    // be valid regardless of the encoding used to import that key.
+    // Maybe this breaks the reason for the different extended key prefixes, but
+    // since the parsed root key is used behind the scenes anyhow this should be
+    // allowed.
+    driver.findElement(By.css('#root-key'))
+        .sendKeys('xprv9s21ZrQH143K2jkGDCeTLgRewT9F2pH5JZs2zDmmjXes34geVnFiuNa8KTvY5WoYvdn4Ag6oYRoB6cXtc43NgJAEqDXf51xPm6fhiMCKwpi');
+    driver.findElement(By.css('#bip49-tab a'))
+        .click()
+    // bip49 addresses are shown
+    driver.sleep(generateDelay).then(function() {
+        getFirstAddress(function(address) {
+            expect(address).toBe("3QG2Y9AA4xZ846gKHZqNf7mvVKbLqMKxr2");
+            done();
+        });
+    });
+});
+
 });