From: iancoleman <1281387+iancoleman@users.noreply.github.com> Date: Sun, 10 May 2020 23:05:32 +0000 (+1000) Subject: Merge branch 'master' into feat/rsk-network X-Git-Url: https://git.immae.eu/?p=perso%2FImmae%2FProjets%2FCryptomonnaies%2FBIP39.git;a=commitdiff_plain;h=bf528f65f411daec8735d25ca30e01fc1dd33e6e Merge branch 'master' into feat/rsk-network --- bf528f65f411daec8735d25ca30e01fc1dd33e6e diff --cc src/js/index.js index fa9836a,e8072e4..43c6955 --- a/src/js/index.js +++ b/src/js/index.js @@@ -1140,34 -1140,11 +1140,40 @@@ } } + // RSK values are different + if (networkIsRsk()) { + var pubkeyBuffer = keyPair.getPublicKeyBuffer(); + var ethPubkey = libs.ethUtil.importPublic(pubkeyBuffer); + var addressBuffer = libs.ethUtil.publicToAddress(ethPubkey); + var hexAddress = addressBuffer.toString('hex'); + // Use chainId based on selected network + // Ref: https://developers.rsk.co/rsk/architecture/account-based/#chainid + var chainId; + var rskNetworkName = networks[DOM.network.val()].name; + switch (rskNetworkName) { + case "R-BTC - RSK": + chainId = 30; + break; + case "tR-BTC - RSK Testnet": + chainId = 31; + break; + default: + chainId = null; + } + var checksumAddress = toChecksumAddressForRsk(hexAddress, chainId); + address = libs.ethUtil.addHexPrefix(checksumAddress); + pubkey = libs.ethUtil.addHexPrefix(pubkey); + if (hasPrivkey) { + privkey = libs.ethUtil.bufferToHex(keyPair.d.toBuffer()); + } + } + + // Handshake values are different + if (networks[DOM.network.val()].name == "HNS - Handshake") { + var ring = libs.handshake.KeyRing.fromPublic(keyPair.getPublicKeyBuffer()) + address = ring.getAddress().toString(); + } ++ // Stellar is different if (networks[DOM.network.val()].name == "XLM - Stellar") { var purpose = parseIntNoNaN(DOM.bip44purpose.val(), 44);