]> git.immae.eu Git - perso/Immae/Projets/Cryptomonnaies/BIP39.git/blobdiff - src/js/index.js
Modify to use uncompressed public key as keccak256 input for TRX
[perso/Immae/Projets/Cryptomonnaies/BIP39.git] / src / js / index.js
index 2c2e99a2fb6742c316182cb23590bc37497f3e84..e959c58ea288de79e2ff65b8c06893e736c316b5 100644 (file)
                         privkey = libs.ethUtil.bufferToHex(keyPair.d.toBuffer());
                     }
                 }
+                //TRX is different
+                if (networks[DOM.network.val()].name == "TRX - Tron") {
+                    keyPair = new libs.bitcoin.ECPair(keyPair.d, null, { network: network, compressed: false });
+                    var pubkeyBuffer = keyPair.getPublicKeyBuffer();
+                    var ethPubkey = libs.ethUtil.importPublic(pubkeyBuffer);
+                    var addressBuffer = libs.ethUtil.publicToAddress(ethPubkey);
+                    address = libs.bitcoin.address.toBase58Check(addressBuffer, 0x41);
+                    if (hasPrivkey) {
+                        privkey = keyPair.d.toBuffer().toString('hex');
+                    }
+                }
 
                 // RSK values are different
                 if (networkIsRsk()) {
 
               if (networks[DOM.network.val()].name == "EOS - EOSIO") {
                     address = ""
-                    pubkey = eosUtil.bufferToPublic(keyPair.getPublicKeyBuffer());
-                    privkey = eosUtil.bufferToPrivate(keyPair.d.toBuffer(32));
+                    pubkey = EOSbufferToPublic(keyPair.getPublicKeyBuffer());
+                    privkey = EOSbufferToPrivate(keyPair.d.toBuffer(32));
                 }
 
                 if (networks[DOM.network.val()].name == "FIO - Foundation for Interwallet Operability") {
                 setHdCoin(159);
             },
         },
+        {
+            name: "TRX - Tron",
+            onSelect: function() {
+                setHdCoin(195);
+            },
+        },
         {
             name: "TWINS - TWINS",
             onSelect: function() {