]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - src/js/bitcoinjs-extensions.js
new Crown address format. May not be elegant solution, but bitcoinjs has limitation...
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / js / bitcoinjs-extensions.js
index 59db9a6d61d370499897cf0ab56979bc5538a6db..e4eef0c1a7b9c59aba4db296599e5437ab4ebafd 100644 (file)
@@ -39,7 +39,27 @@ bitcoinjs.bitcoin.networks.crown = {
   },
   pubKeyHash: 0x00,
   scriptHash: 0x05,
-  wif: 0x80
+  wif: 0x80,
+  toNewAddress: function(oldAddress)
+  {
+    var ALPHABET = '123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'
+    var b58 =  basex(ALPHABET);
+
+    var addrBytes = b58.decode(oldAddress);
+
+    var hash160 = new Uint16Array(23); 
+    hash160[0]= 0x01; //C
+    hash160[1]= 0x75; //R
+    hash160[2]= 0x07; //W
+    addrBytes.copy(hash160, 3, 1, 21);
+
+    var checksum = bitcoinjs.bitcoin.crypto.hash256(hash160).subarray(0, 4);
+    var binaryAddr = new Uint16Array(27); 
+    binaryAddr.set(hash160,0);
+    checksum.copy(binaryAddr, 23, 0, 4);
+    var newAddress = b58.encode(binaryAddr);
+    return newAddress;
+  }
 };
 
 bitcoinjs.bitcoin.networks.dash = {
@@ -261,7 +281,7 @@ bitcoinjs.bitcoin.networks.lkrcoin = {
     },
     pubKeyHash: 0x30,
     scriptHash: 0x55,
-    wif: 0x80
+    wif: 0xB0
 };
 
 bitcoinjs.bitcoin.networks.pivx = {