From c7e1af73000414f15acecd464e1ff89c631f1d2f Mon Sep 17 00:00:00 2001 From: tecnovert Date: Thu, 24 Jun 2021 23:16:11 +0200 Subject: [PATCH] Add Particl support --- src/js/bitcoinjs-extensions.js | 12 ++++++++++++ src/js/index.js | 11 +++++++++-- tests/spec/tests.js | 11 +++++++++++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/src/js/bitcoinjs-extensions.js b/src/js/bitcoinjs-extensions.js index cc28677..cdb0d47 100644 --- a/src/js/bitcoinjs-extensions.js +++ b/src/js/bitcoinjs-extensions.js @@ -1876,3 +1876,15 @@ libs.bitcoin.networks.argoneum = { scriptHash: 0x61, wif: 0xbf }; + +libs.bitcoin.networks.particl = { + messagePrefix: '\x18Bitcoin Signed Message:\n', + bech32: 'pw', + bip32: { + public: 0x696e82d1, + private: 0x8f1daeb8, + }, + pubKeyHash: 0x38, + scriptHash: 0x3c, + wif: 0x6c, +}; diff --git a/src/js/index.js b/src/js/index.js index e46c3d5..fb510b2 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -1434,14 +1434,14 @@ pubkey = CosmosBufferToPublic(keyPair.getPublicKeyBuffer(), hrp); privkey = keyPair.d.toBuffer().toString("base64"); } - + if (networks[DOM.network.val()].name == "RUNE - THORChain") { const hrp = "thor"; address = CosmosBufferToAddress(keyPair.getPublicKeyBuffer(), hrp); pubkey = keyPair.getPublicKeyBuffer().toString("hex"); privkey = keyPair.d.toBuffer().toString("hex"); } - + if (networks[DOM.network.val()].name == "XWC - Whitecoin"){ address = XWCbufferToAddress(keyPair.getPublicKeyBuffer()); pubkey = XWCbufferToPublic(keyPair.getPublicKeyBuffer()); @@ -3182,6 +3182,13 @@ setHdCoin(174); }, }, + { + name: "PART - Particl", + onSelect: function() { + network = libs.bitcoin.networks.particl; + setHdCoin(44); + }, + }, { name: "PHR - Phore", onSelect: function() { diff --git a/tests/spec/tests.js b/tests/spec/tests.js index 67e4221..338c545 100644 --- a/tests/spec/tests.js +++ b/tests/spec/tests.js @@ -2409,6 +2409,17 @@ it('Allows selection of ZooBlockchain', function(done) { testNetwork(done, params); }); +it('Allows selection of Particl', function(done) { + var params = { + selectText: "PART - Particl", + phrase: "abandon abandon ability", + firstAddress: "Pjf2jj1E4GLJnyZA6jNN25Ajn4wHDahuL5", + firstPubKey: "039d803bfa8bd30c9e74c14a8785cee64b696b56e10d7545ad3fbf954c40cbfda2", + firstPrivKey: "H79cmSqW1uYVbi14c8VH5eH9UdpjhuvGmXFV8zhkcfR84TEUWfHp", + }; + testNetwork(done, params); +}); + // BIP39 seed is set from phrase it('Sets the bip39 seed from the prhase', function(done) { driver.findElement(By.css('.phrase'))