Skip to content

Commit

Permalink
fix(recover): address pr comments
Browse files Browse the repository at this point in the history
  • Loading branch information
schnogz committed Feb 19, 2021
1 parent 5f12e4f commit a136ac2
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 25 deletions.
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
// FETCH_METADATA_WALLET_CREDENTIALS
export const FETCH_METADATA_WALLET_CREDENTIALS = '@CORE.FETCH_METADATA_WALLET_CREDENTIALS'
export const FETCH_METADATA_WALLET_CREDENTIALS_LOADING = '@CORE.FETCH_METADATA_WALLET_CREDENTIALS_LOADING'
export const FETCH_METADATA_WALLET_CREDENTIALS_SUCCESS = '@CORE.FETCH_METADATA_WALLET_CREDENTIALS_SUCCESS'
export const FETCH_METADATA_WALLET_CREDENTIALS_FAILURE = '@CORE.FETCH_METADATA_WALLET_CREDENTIALS_FAILURE'
// FETCH
export const FETCH_METADATA_WALLET_CREDENTIALS =
'@CORE.FETCH_METADATA_WALLET_CREDENTIALS'
export const FETCH_METADATA_WALLET_CREDENTIALS_LOADING =
'@CORE.FETCH_METADATA_WALLET_CREDENTIALS_LOADING'
export const FETCH_METADATA_WALLET_CREDENTIALS_SUCCESS =
'@CORE.FETCH_METADATA_WALLET_CREDENTIALS_SUCCESS'
export const FETCH_METADATA_WALLET_CREDENTIALS_FAILURE =
'@CORE.FETCH_METADATA_WALLET_CREDENTIALS_FAILURE'

// UPDATE_METADATA_WALLET_CREDENTIALS
export const UPDATE_METADATA_WALLET_CREDENTIALS = '@CORE.KVSTORE.UPDATE_METADATA_WALLET_CREDENTIALS'
// CREATE/UPDATE
export const UPDATE_METADATA_WALLET_CREDENTIALS =
'@CORE.KVSTORE.UPDATE_METADATA_WALLET_CREDENTIALS'
export const CREATE_METADATA_WALLET_CREDENTIALS =
'@CORE.CREATE_METADATA_WALLET_CREDENTIALS'

// CREATE_METADATA_WALLET_CREDENTIALS
export const CREATE_METADATA_WALLET_CREDENTIALS = '@CORE.CREATE_METADATA_WALLET_CREDENTIALS'

export const SET_TRANSACTION_NOTE_WALLET_CREDENTIALS = '@CORE.SET_TRANSACTION_NOTE_WALLET_CREDENTIALS'
// SET/RESTORE
export const SET_WALLET_CREDENTIALS = '@CORE.SET_WALLET_CREDENTIALS'

export const RESTORE_WALLET_CREDENTIALS = '@CORE.RESTORE_WALLET_CREDENTIALS'
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ import { call, put, select } from 'redux-saga/effects'
import { set } from 'ramda-lens'

import * as A from './actions'
import * as selectors from '../../selectors'
import { callTask } from '../../../utils/functional'
import { derivationMap, WALLET_CREDENTIALS } from '../config'
// import { getKeyPair } from '../../../utils/walletCredentials'
import * as selectors from '../../selectors'
import { getMetadataXpriv } from '../root/selectors'
import { KVStoreEntry } from '../../../types'

export default ({ api, networks } = {}) => {
const createWalletCredentials = function * (kv) {
// internal
const updateWalletCredentialsIfChangedOrMissing = function * (kv) {
const guidT = yield select(selectors.wallet.getGuid)
const passwordT = yield select(selectors.wallet.getMainPassword)
const sharedKeyT = yield select(selectors.wallet.getSharedKey)
Expand Down Expand Up @@ -42,16 +42,13 @@ export default ({ api, networks } = {}) => {
const kv = KVStoreEntry.fromMetadataXpriv(mxpriv, typeId, networks.btc)
yield put(A.fetchMetadataWalletCredentialsLoading())
const newkv = yield callTask(api.fetchKVStore(kv))
yield call(createWalletCredentials, newkv)
yield call(updateWalletCredentialsIfChangedOrMissing, newkv)
} catch (e) {
// eslint-disable-next-line
console.error(e)
yield put(A.fetchMetadataWalletCredentialsFailure(e.message))
}
}

return {
createWalletCredentials,
fetchMetadataWalletCredentials
}
}
11 changes: 5 additions & 6 deletions packages/blockchain-wallet-v4/src/redux/wallet/sagas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -190,8 +190,6 @@ export default ({ api, networks }) => {
KVStoreEntry.deriveMetadataNode,
KVStoreEntry.getMasterHDNode(networks.btc)
)

// TODO why is TS complaining here?
// @ts-ignore
const metadataNode = getMetadataNode(seedHex)
// @ts-ignore
Expand All @@ -216,10 +214,11 @@ export default ({ api, networks }) => {
creds.password
)
const wrapperT = set(Wrapper.password, newPassword, wallet)
// eslint-disable-next-line
const response = yield call(api.saveWallet, wrapperT)
// TODO check response
return true
try {
yield call(api.saveWallet, wrapperT)
} catch (e) {
throw e
}
} catch (e) {
// eslint-disable-next-line
console.error('Unable to restore wallet from metadata', e)
Expand Down

0 comments on commit a136ac2

Please sign in to comment.