Skip to content
This repository has been archived by the owner. It is now read-only.

sync v2 #13197

Closed
wants to merge 16 commits into from

refactor sync to use brave-crypto

fix #13782
  • Loading branch information
diracdeltas authored and cezaraugusto committed Apr 9, 2018
commit 3e9365cea0475e99726044e91e9c000d6b995a53
@@ -6,8 +6,7 @@
const React = require('react')
const ImmutableComponent = require('../immutableComponent')
const Immutable = require('immutable')
const niceware = require('niceware')
const bip39 = require('bip39')
const passphraseUtil = require('brave-crypto').passphrase

// Components
const ModalOverlay = require('../common/modalOverlay')
@@ -301,7 +300,7 @@ class SyncTab extends ImmutableComponent {

get passphraseContent () {
const seed = Buffer.from(this.props.syncData.get('seed').toJS())
let passphrase = seed && bip39.entropyToMnemonic(seed.toString('hex'))
let passphrase = seed && passphraseUtil.fromBytesOrHex(seed)
let wordCount = 0

if (passphrase) {
@@ -804,7 +803,9 @@ class SyncTab extends ImmutableComponent {
wordCount = e.target.value.trim().replace(/\s+/gi, ' ').split(' ').length
}
this.setState({wordCount})
this.props.enableSyncRestore(e.target.value && (wordCount === 16 || wordCount === 24))
this.props.enableSyncRestore(e.target.value &&
(wordCount === passphraseUtil.NICEWARE_32_BYTE_WORD_COUNT ||
wordCount === passphraseUtil.BIP39_32_BYTE_WORD_COUNT))
}

reset (needsConfirmDialog = true) {
@@ -858,17 +859,10 @@ class SyncTab extends ImmutableComponent {
restoreSyncProfile () {
if (this.passphraseInput.value) {
const text = this.passphraseInput.value.toLowerCase().replace(/,/g, ' ').replace(/\s+/g, ' ').trim()
const words = text.split(' ')
let inputCode = ''
let inputCode

try {
if (words.length === 24) {
inputCode = Buffer.from(bip39.mnemonicToEntropy(text), 'hex')
} else if (words.length === 16) {
inputCode = niceware.passphraseToBytes(words)
} else {
throw new Error('Expecting 24 or 16 words in passphrase (received ' + words.length + ')')
}
inputCode = passphraseUtil.toBytes32(text)
} catch (e) {
console.error('Could not convert passphrase', e)
}

Some generated files are not rendered by default. Learn more.

@@ -92,8 +92,8 @@
"bat-client": "^2.1.2",
"bat-publisher": "^2.0.15",
"bignumber.js": "^4.0.4",
"bip39": "^2.5.0",
"bloodhound-js": "brave/bloodhound",
"brave-crypto": "^0.1.0",
"brave-ui": "^0.5.0",
"clipboard-copy": "^1.0.0",
"compare-versions": "^3.0.1",
@@ -113,7 +113,6 @@
"l20n": "^3.5.1",
"lru-cache": "^1.0.0",
"nan": "2.8.0",
"niceware": "^1.0.4",
"parse-torrent": "^5.8.1",
"prettier-bytes": "^1.0.3",
"prop-types": "^15.5.6",
@@ -1,5 +1,5 @@
const Immutable = require('immutable')
const niceware = require('niceware')
const {passphrase} = require('brave-crypto')

const addBookmarksN = function (total) {
if (!total || total > 65536) {
@@ -10,7 +10,7 @@ const addBookmarksN = function (total) {
const buffer = Buffer.alloc(2)
for (let n = 0; n < total; n++) {
buffer.writeUInt16BE(n)
const string = niceware.bytesToPassphrase(buffer)[0]
const string = passphrase.fromBytesOrHex(buffer)[0]
data.push({
location: `https://www.${string}.com`,
title: string,
@@ -32,7 +32,7 @@ const addTabsN = function (total) {
const buffer = Buffer.alloc(2)
for (let n = 0; n < total; n++) {
buffer.writeUInt16BE(n)
const string = niceware.bytesToPassphrase(buffer)[0]
const string = passphrase.fromBytesOrHex(buffer)[0]
data.push({
active: false,
discarded: true,
ProTip! Use n and p to navigate between commits in a pull request.
You can’t perform that action at this time.