Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 | 4x 4x 4x 4x 4x 8x 8x 8x 4x 6x 6x 4x 4x 1x 1x 1x 4x 1x 1x 4x 1x 1x 1x | /* * Copyright © 2019 Lisk Foundation * * See the LICENSE file at the top-level directory of this distribution * for licensing information. * * Unless otherwise agreed in a custom licensing agreement with the Lisk Foundation, * no part of this software, including this file, may be copied, modified, * propagated, or distributed except according to the terms contained in the * LICENSE file. * * Removal or modification of this copyright notice is prohibited. * */ import { bufferToHex, hexToBuffer } from './buffer'; import { getAddressFromPublicKey } from './convert'; import { hash } from './hash'; import { getKeyPair, getPublicKey } from './nacl'; export interface KeypairBytes { readonly privateKeyBytes: Buffer; readonly publicKeyBytes: Buffer; } export interface Keypair { readonly privateKey: string; readonly publicKey: string; } export const getPrivateAndPublicKeyBytesFromPassphrase = ( passphrase: string, ): KeypairBytes => { const hashed = hash(passphrase, 'utf8'); const { publicKeyBytes, privateKeyBytes } = getKeyPair(hashed); return { privateKeyBytes, publicKeyBytes, }; }; export const getPrivateAndPublicKeyFromPassphrase = ( passphrase: string, ): Keypair => { const { privateKeyBytes, publicKeyBytes, } = getPrivateAndPublicKeyBytesFromPassphrase(passphrase); return { privateKey: bufferToHex(privateKeyBytes), publicKey: bufferToHex(publicKeyBytes), }; }; export const getKeys = getPrivateAndPublicKeyFromPassphrase; export const getAddressAndPublicKeyFromPassphrase = ( passphrase: string, ): { readonly address: string; readonly publicKey: string } => { const { publicKey } = getKeys(passphrase); const address = getAddressFromPublicKey(publicKey); return { address, publicKey, }; }; export const getAddressFromPassphrase = (passphrase: string): string => { const { publicKey } = getKeys(passphrase); return getAddressFromPublicKey(publicKey); }; export const getAddressFromPrivateKey = (privateKey: string): string => { const publicKeyBytes = getPublicKey(hexToBuffer(privateKey)); const publicKey = bufferToHex(publicKeyBytes); return getAddressFromPublicKey(publicKey); }; |