From 5a27c7bf11d3e4b813592538e809d7176ad81670 Mon Sep 17 00:00:00 2001 From: Keith Date: Wed, 24 Jul 2019 22:12:10 +0800 Subject: [PATCH] feat(neuron-ui): call generate mnemonic method from neuron-wallet in neuron-ui with remote module --- .../src/components/WalletWizard/index.tsx | 21 +++++-------- .../neuron-ui/src/services/remote/index.ts | 10 ++++++ .../neuron-wallet/src/controllers/helpers.ts | 31 ------------------- .../neuron-wallet/src/controllers/index.ts | 2 -- 4 files changed, 17 insertions(+), 47 deletions(-) delete mode 100644 packages/neuron-wallet/src/controllers/helpers.ts diff --git a/packages/neuron-ui/src/components/WalletWizard/index.tsx b/packages/neuron-ui/src/components/WalletWizard/index.tsx index 1e9d80909a..a7265c9cd0 100644 --- a/packages/neuron-ui/src/components/WalletWizard/index.tsx +++ b/packages/neuron-ui/src/components/WalletWizard/index.tsx @@ -7,8 +7,8 @@ import withWizard, { WizardElementProps, WithWizardState } from 'components/with import { MnemonicAction, BUTTON_GAP } from 'utils/const' import { verifyWalletSubmission } from 'utils/validators' -import { helpersCall, walletsCall } from 'services/UILayer' -import { validateMnemonic, showErrorMessage } from 'services/remote' +import { walletsCall } from 'services/UILayer' +import { generateMnemonic, validateMnemonic, showErrorMessage } from 'services/remote' import { registerIcons, buttonGrommetIconStyles } from 'utils/icons' export enum WalletWizardPath { @@ -104,18 +104,11 @@ const Mnemonic = ({ useEffect(() => { if (type === MnemonicAction.Create) { - helpersCall - .generateMnemonic() - .then((res: string) => { - dispatch({ - type: 'generated', - payload: res, - }) - }) - .catch(err => { - console.error(err) - history.goBack() - }) + const mnemonic = generateMnemonic() + dispatch({ + type: 'generated', + payload: mnemonic, + }) } else { dispatch({ type: 'imported', diff --git a/packages/neuron-ui/src/services/remote/index.ts b/packages/neuron-ui/src/services/remote/index.ts index b353acc0ac..14a00e8f1b 100644 --- a/packages/neuron-ui/src/services/remote/index.ts +++ b/packages/neuron-ui/src/services/remote/index.ts @@ -18,6 +18,15 @@ export const validateMnemonic = (mnemonic: string): boolean => { return remoteValidateMnemonic(mnemonic) } +export const generateMnemonic = (): string => { + if (!window.remote) { + console.warn('remote is not supported') + return '' + } + const { generateMnemonic: remoteGenerateMnemonic } = window.remote.require('./models/keys/key') + return remoteGenerateMnemonic() +} + export const showMessage = (options: any, callback: Function) => { if (!window.remote) { console.warn('remote is not supported') @@ -39,6 +48,7 @@ export const showErrorMessage = (title: string, content: string) => { export default { initWindow, validateMnemonic, + generateMnemonic, showMessage, showErrorMessage, } diff --git a/packages/neuron-wallet/src/controllers/helpers.ts b/packages/neuron-wallet/src/controllers/helpers.ts deleted file mode 100644 index e06ef5995d..0000000000 --- a/packages/neuron-wallet/src/controllers/helpers.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { generateMnemonic } from '../models/keys/key' -import { Controller as ControllerDecorator, CatchControllerError } from '../decorators' -import { Channel, ResponseCode } from '../utils/const' -import { FailToCreateMnemonic } from '../exceptions' - -/** - * @class HelpersController - * @description handle messages from helpers channel - */ -@ControllerDecorator(Channel.Helpers) -export default class HelpersController { - @CatchControllerError - public static async generateMnemonic() { - const mnemonic = generateMnemonic() - if (mnemonic) { - return { - status: ResponseCode.Success, - result: mnemonic, - } - } - throw new FailToCreateMnemonic() - } -} - -/* eslint-disable */ -declare global { - module Controller { - type HelpersMethod = Exclude - } -} -/* eslint-enable */ diff --git a/packages/neuron-wallet/src/controllers/index.ts b/packages/neuron-wallet/src/controllers/index.ts index 4ba08e834c..600f3d2981 100644 --- a/packages/neuron-wallet/src/controllers/index.ts +++ b/packages/neuron-wallet/src/controllers/index.ts @@ -2,7 +2,6 @@ import AppController from './app' import NetworksController from './networks' import WalletsController from './wallets' import TransactionsController from './transactions' -import HelpersController from './helpers' import SyncInfoController from './sync-info' export default { @@ -10,6 +9,5 @@ export default { NetworksController, WalletsController, TransactionsController, - HelpersController, SyncInfoController, }