OSDN Git Service

update error code
[bytom/Bytom-JS-SDK.git] / src / sdk / wallet.js
1 import { restoreFromKeyStore } from '../utils/account';
2
3 function walletSDK(bytom) {
4     this.http = bytom.serverHttp;
5     this.bytom = bytom;
6 }
7
8 walletSDK.prototype.list = function(pubkey) {
9     let net = this.bytom.net;
10     let pm = {pubkey};
11     return this.http.request('account/wallets', pm, net);
12 };
13
14 /**
15  * Restore wallet.
16  *
17  * @param {String} walletImage
18  */
19 walletSDK.prototype.restore = function(keystore, password) {
20     const walletImage = JSON.parse(keystore);
21     let net = this.bytom.net;
22
23     let keys;
24     if(walletImage.key_images && walletImage.key_images.xkeys){
25         keys = walletImage.key_images.xkeys;
26     }
27
28     // match older version of backups keystore files
29     else{
30         keys = walletImage.keys.map(keyItem => JSON.parse( keyItem.key ) );
31     }
32
33     let promiseList = [];
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;}));
37     }
38     return Promise.all(promiseList).then(resp => resp.guid);
39
40 };
41
42 export default walletSDK;