1 import { restoreFromKeyStore } from '../utils/account';
3 function walletSDK(bytom) {
4 this.http = bytom.serverHttp;
8 walletSDK.prototype.list = function(pubkey) {
9 let net = this.bytom.net;
11 return this.http.request('account/wallets', pm, net);
17 * @param {String} walletImage
19 walletSDK.prototype.restore = function(keystore, password) {
20 const walletImage = JSON.parse(keystore);
21 let net = this.bytom.net;
24 if(walletImage.key_images && walletImage.key_images.xkeys){
25 keys = walletImage.key_images.xkeys;
28 // match older version of backups keystore files
30 keys = walletImage.keys.map(keyItem => JSON.parse( keyItem.key ) );
34 for (let index = 0; index< keys.length; index++ ){
35 const pubkey = restoreFromKeyStore(keys[index], password[index]);
36 promiseList.push(this.http.request('account/list-wallets', {pubkey}, net).catch(e => {throw e;}));
38 return Promise.all(promiseList).then(resp => resp.guid);
42 export default walletSDK;