]> 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 d1073aad0f346c1be51f67f2c9ea6bcc19e5d32f..e4eef0c1a7b9c59aba4db296599e5437ab4ebafd 100644 (file)
@@ -27,7 +27,7 @@ bitcoinjs.bitcoin.networks.clam = {
     private: 0xa8c17826
   },
   pubKeyHash: 0x89,
-  scriptHash: 0x00, // TODO set this correctly
+  scriptHash: 0x0D,
   wif: 0x85
 };
 
@@ -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 = {
@@ -93,7 +113,7 @@ bitcoinjs.bitcoin.networks.namecoin = {
     private: 0x0488ade4
   },
   pubKeyHash: 0x34,
-  scriptHash: 0x00, // TODO set this correctly
+  scriptHash: 0x0D,
   wif: 0x80
 };
 
@@ -104,7 +124,7 @@ bitcoinjs.bitcoin.networks.peercoin = {
     private: 0x0488ade4
   },
   pubKeyHash: 0x37,
-  scriptHash: 0x00, // TODO set this correctly
+  scriptHash: 0x75,
   wif: 0xb7
 };
 
@@ -236,20 +256,32 @@ bitcoinjs.bitcoin.networks.myriadcoin = {
     private: 0x0488ade4
   },
   pubKeyHash: 0x32,
-  scriptHash: 0x00, // TODO set this correctly
+  scriptHash: 0x09,
   wif: 0xb2
 };
 
 
 bitcoinjs.bitcoin.networks.onixcoin = {
-    messagePrefix: 'unused',
+    messagePrefix: 'ONIX Signed Message:\n',
     bip32: {
-      public: 0x049d7cb2,
-      private: 0x049d7878
+      public: 0x0488b21e,
+      private: 0x0488ade4
     },
     pubKeyHash: 0x4B,
     scriptHash: 0x05,
-    wif: 0x80
+    wif: 0xCB
+};
+
+
+bitcoinjs.bitcoin.networks.lkrcoin = {
+    messagePrefix: '\x18LKRcoin Signed Message:\n',
+    bip32: {
+      public: 0x0488b21e,
+      private: 0x0488ade4,
+    },
+    pubKeyHash: 0x30,
+    scriptHash: 0x55,
+    wif: 0xB0
 };
 
 bitcoinjs.bitcoin.networks.pivx = {
@@ -902,6 +934,17 @@ bitcoinjs.bitcoin.networks.neoscoin = {
   wif: 0xb1,
 };
 
+bitcoinjs.bitcoin.networks.nix = {
+  messagePrefix: '\x18Nix Signed Message:\n',
+  bip32: {
+    public: 0x0488b21e,
+    private: 0x0488ade4,
+  },
+  pubKeyHash: 0x26,
+  scriptHash: 0x35,
+  wif: 0x80,
+};
+
 bitcoinjs.bitcoin.networks.neurocoin = {
   messagePrefix: '\x18PPCoin Signed Message:\n',
   bip32: {
@@ -1441,3 +1484,47 @@ bitcoinjs.bitcoin.networks.phore = {
   scriptHash: 0x0D,
   wif:  0xD4,
 };
+
+bitcoinjs.bitcoin.networks.blocknode = {
+  messagePrefix: '\x18Blocknode Signed Message:\n',
+  bip32: {
+       public: 0x0488b21e,
+       private: 0x0488ade4
+  },
+  pubKeyHash: 0x19,
+  scriptHash: 0x3F,
+  wif:  0x4b,
+};
+
+bitcoinjs.bitcoin.networks.blocknode_testnet = {
+  messagePrefix: '\x18Blocknode Testnet Signed Message:\n',
+  bip32: {
+       public: 0x043587cf,
+       private: 0x04358394
+  },
+  pubKeyHash: 0x55,
+  scriptHash: 0x7d,
+  wif:  0x89,
+};
+
+bitcoinjs.bitcoin.networks.litecoinz = {
+  messagePrefix: '\x18LitecoinZ Signed Message:\n',
+  bip32: {
+    public: 0x0488B21E,
+    private: 0x0488ADE3,
+  },
+  pubKeyHash: 0x0AB3,
+  scriptHash: 0x0AB8,
+  wif:  0x80,
+};
+
+bitcoinjs.bitcoin.networks.blockstamp = {
+  messagePrefix: '\x18BlockStamp Signed Message:\n',
+  bip32: {
+    public: 0x0488B21E,
+    private: 0x0488ADE4,
+  },
+  pubKeyHash: 0x00,
+  scriptHash: 0x05,
+  wif:  0x80,
+};
\ No newline at end of file