From 7a5a87a0b9b8ed0b607f5c7aa4bbe03b902c34c1 Mon Sep 17 00:00:00 2001 From: Graham Higgins Date: Fri, 26 May 2017 15:14:12 +0100 Subject: [PATCH] Add Slimcoin --- src/js/bitcoinjs-extensions.js | 20 ++++++++++++ src/js/index.js | 14 ++++++++ tests.js | 60 ++++++++++++++++++++++++++++++++++ 3 files changed, 94 insertions(+) diff --git a/src/js/bitcoinjs-extensions.js b/src/js/bitcoinjs-extensions.js index ed1bb09..dd5069c 100644 --- a/src/js/bitcoinjs-extensions.js +++ b/src/js/bitcoinjs-extensions.js @@ -75,3 +75,23 @@ bitcoin.networks.peercoin = { wif: 0xb7, }; +bitcoin.networks.slimcoin = { + bip32: { + public: 0xef6adf10, + private: 0xef69ea80 + }, + pubKeyHash: 0x3f, + scriptHash: 0x7d, + wif: 0x46, +}; + +bitcoin.networks.slimcointn = { + bip32: { + public: 0x043587CF, + private: 0x04358394 + }, + pubKeyHash: 0x6f, + scriptHash: 0xc4, + wif: 0x57, +}; + diff --git a/src/js/index.js b/src/js/index.js index 8f825f4..8d75637 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -1162,6 +1162,20 @@ DOM.bip44coin.val(1); }, }, + { + name: "Slimcoin", + onSelect: function() { + network = bitcoin.networks.slimcoin; + DOM.bip44coin.val(63); + }, + }, + { + name: "Slimcoin Testnet", + onSelect: function() { + network = bitcoin.networks.slimcointn; + DOM.bip44coin.val(111); + }, + }, { name: "Viacoin", onSelect: function() { diff --git a/tests.js b/tests.js index 49d42c3..2f2c2f1 100644 --- a/tests.js +++ b/tests.js @@ -723,6 +723,66 @@ page.open(url, function(status) { }); }, +// Network can be set to Slimcoin +function() { +page.open(url, function(status) { + // set the phrase and coin + var expected = "SNzPi1CafHFm3WWjRo43aMgiaEEj3ogjww"; + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "Slimcoin"; + }).prop("selected", true); + $(".network").trigger("change"); + }); + // check the address is generated correctly + waitForGenerate(function() { + var actual = page.evaluate(function() { + return $(".address:first").text(); + }); + if (actual != expected) { + console.log("Slimcoin address is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + +// Network can be set to Slimcointn +function() { +page.open(url, function(status) { + // set the phrase and coin + var expected = "n3nMgWufTek5QQAr6uwMhg5xbzj8xqc4Dq"; + page.evaluate(function() { + $(".phrase").val("abandon abandon ability"); + $(".phrase").trigger("input"); + $(".network option[selected]").removeAttr("selected"); + $(".network option").filter(function() { + return $(this).html() == "Slimcoin Testnet"; + }).prop("selected", true); + $(".network").trigger("change"); + }); + // check the address is generated correctly + waitForGenerate(function() { + var actual = page.evaluate(function() { + return $(".address:first").text(); + }); + if (actual != expected) { + console.log("Slimcoin testnet address is incorrect"); + console.log("Expected: " + expected); + console.log("Actual: " + actual); + fail(); + } + next(); + }); +}); +}, + // BIP39 seed is set from phrase function() { page.open(url, function(status) { -- 2.41.0