From 8a31adcf0e648e555b598d616304f27ee2c58143 Mon Sep 17 00:00:00 2001 From: Yongfeng LI Date: Wed, 17 Jan 2018 17:04:50 +0800 Subject: [PATCH] add export private key --- .../accessControl/components/GrantListItem.jsx | 4 ++-- src/features/mockhsm/components/ListItem.jsx | 26 +++++++++++++++++++++- src/sdk/api/mockHsmKeys.js | 2 ++ 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/src/features/accessControl/components/GrantListItem.jsx b/src/features/accessControl/components/GrantListItem.jsx index 6f2f0a1..a03ff6f 100644 --- a/src/features/accessControl/components/GrantListItem.jsx +++ b/src/features/accessControl/components/GrantListItem.jsx @@ -40,9 +40,9 @@ class GrantListItem extends React.Component { {/*Edit*/} {/**/} - {} + } {/*{item.isEditing && */} {/**/} diff --git a/src/features/mockhsm/components/ListItem.jsx b/src/features/mockhsm/components/ListItem.jsx index 5ae787e..475a570 100644 --- a/src/features/mockhsm/components/ListItem.jsx +++ b/src/features/mockhsm/components/ListItem.jsx @@ -1,6 +1,26 @@ import React from 'react' +import { chainClient } from 'utility/environment' + +const clientApi = () => chainClient().mockHsm.keys class ListItem extends React.Component { + constructor(props) { + super(props) + + this.echo = (item) => clientApi().export(item.xpub).then(resp => { + const privateKey = resp.data.privateKey + + var element = document.createElement('a') + element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(privateKey)) + element.setAttribute('download', item.alias) + element.style.display = 'none' + document.body.appendChild(element) + element.click() + + document.body.removeChild(element) + }) + } + render() { const item = this.props.item @@ -8,7 +28,11 @@ class ListItem extends React.Component { {item.alias} {item.xpub} - + + + ) } diff --git a/src/sdk/api/mockHsmKeys.js b/src/sdk/api/mockHsmKeys.js index a865c7f..69374a5 100644 --- a/src/sdk/api/mockHsmKeys.js +++ b/src/sdk/api/mockHsmKeys.js @@ -20,6 +20,8 @@ const mockHsmKeysAPI = (client) => { }, queryAll: (params, processor, cb) => shared.queryAll(client, 'mockHsm.keys', params, processor, cb), + + export: (xpub) => client.request('/export-private-key', {xpub, password: '123456'}) } } -- 2.11.0