X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=src%2Fjs%2Findex.js;h=41b59c2bb03a1910d212958f588b7f8bb322ae53;hb=3c222e57df566e6d79a0379a2758d34cffdc589e;hp=cd3f7690c709744b54d1d3bb0e4295c767f1532a;hpb=995bc58791ddbb59e9b3d0d75c11c1c058e24071;p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git diff --git a/src/js/index.js b/src/js/index.js index cd3f769..41b59c2 100644 --- a/src/js/index.js +++ b/src/js/index.js @@ -47,6 +47,8 @@ DOM.entropyWeakEntropyOverrideWarning = DOM.entropyContainer.find(".weak-entropy-override-warning"); DOM.entropyFilterWarning = DOM.entropyContainer.find(".filter-warning"); DOM.phrase = $(".phrase"); + DOM.splitMnemonic = $(".splitMnemonic"); + DOM.showSplitMnemonic = $(".showSplitMnemonic"); DOM.phraseSplit = $(".phraseSplit"); DOM.phraseSplitWarn = $(".phraseSplitWarn"); DOM.passphrase = $(".passphrase"); @@ -133,6 +135,7 @@ DOM.entropyMnemonicLength.on("change", entropyChanged); DOM.entropyTypeInputs.on("change", entropyTypeChanged); DOM.phrase.on("input", delayedPhraseChanged); + DOM.showSplitMnemonic.on("change", toggleSplitMnemonic); DOM.passphrase.on("input", delayedPhraseChanged); DOM.generate.on("click", generateClicked); DOM.more.on("click", showMore); @@ -428,6 +431,15 @@ phraseChanged(); } + function toggleSplitMnemonic() { + if (DOM.showSplitMnemonic.prop("checked")) { + DOM.splitMnemonic.removeClass("hidden"); + } + else { + DOM.splitMnemonic.addClass("hidden"); + } + } + function calcForDerivationPath() { clearDerivedKeys(); clearAddressesList(); @@ -1139,6 +1151,17 @@ 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()) { @@ -1186,6 +1209,15 @@ privkey = keypair.secret(); pubkey = address = keypair.publicKey(); } + + // Nano currency + if (networks[DOM.network.val()].name == "NANO - Nano") { + var nanoKeypair = libs.nanoUtil.getKeypair(index, seed); + privkey = nanoKeypair.privKey; + pubkey = nanoKeypair.pubKey; + address = nanoKeypair.address; + } + if ((networks[DOM.network.val()].name == "NAS - Nebulas")) { var privKeyBuffer = keyPair.d.toBuffer(32); var nebulasAccount = libs.nebulas.Account.NewAccount(); @@ -1726,7 +1758,7 @@ var numberOfBits = entropy.binaryStr.length; var timeToCrack = "unknown"; try { - var z = libs.zxcvbn(entropy.base.parts.join("")); + var z = libs.zxcvbn(entropy.base.events.join("")); timeToCrack = z.crack_times_display.offline_fast_hashing_1e10_per_second; if (z.feedback.warning != "") { timeToCrack = timeToCrack + " - " + z.feedback.warning; @@ -1745,7 +1777,7 @@ DOM.entropyFiltered.html(entropy.cleanHtml); DOM.entropyType.text(entropyTypeStr); DOM.entropyCrackTime.text(timeToCrack); - DOM.entropyEventCount.text(entropy.base.ints.length); + DOM.entropyEventCount.text(entropy.base.events.length); DOM.entropyBits.text(numberOfBits); DOM.entropyWordCount.text(wordCount); DOM.entropyBinary.text(spacedBinaryStr); @@ -1770,8 +1802,8 @@ // Detect duplicates var dupes = []; var dupeTracker = {}; - for (var i=0; i