jcc_wallet 1.0.5 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -3,10 +3,8 @@
3
3
  # jcc_wallet
4
4
 
5
5
  ![npm](https://img.shields.io/npm/v/jcc_wallet.svg)
6
- [![Build Status](https://travis-ci.com/JCCDex/jcc_wallet.svg?branch=master)](https://travis-ci.com/JCCDex/jcc_wallet)
7
- [![Codacy Badge](https://api.codacy.com/project/badge/Grade/14616fffd838456c8aaaef650be43dde)](https://www.codacy.com/app/GinMu/jcc_wallet?utm_source=github.com&utm_medium=referral&utm_content=JCCDex/jcc_wallet&utm_campaign=Badge_Grade)
6
+ [![build](https://github.com/JCCDex/jcc_wallet/actions/workflows/node.js.yml/badge.svg)](https://github.com/JCCDex/jcc_wallet/actions/workflows/node.js.yml)
8
7
  [![Coverage Status](https://coveralls.io/repos/github/JCCDex/jcc_wallet/badge.svg?branch=master)](https://coveralls.io/github/JCCDex/jcc_wallet?branch=master)
9
- [![Dependencies](https://img.shields.io/david/JCCDex/jcc_wallet.svg?style=flat-square)](https://david-dm.org/JCCDex/jcc_wallet)
10
8
  [![npm downloads](https://img.shields.io/npm/dm/jcc_wallet.svg)](http://npm-stat.com/charts.html?package=jcc_wallet)
11
9
  [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
12
10
 
@@ -14,9 +12,9 @@
14
12
 
15
13
  [jcc_wallet](https://github.com/JCCDex/jcc_wallet) is a wallet toolkit of JCCDex. At present, it can handle the creation and verification of [jingtum](http://swtc.top/index.html), [moac](https://www.moac.io/), [ethereum](https://ethereum.org/), [stm](https://labs.stream/en/), [call](http://www.callchain.live/) & [bizain](https://bizain.net/) wallet, import and export wallet with keystore file, and set password for wallet.
16
14
 
17
- [jcc_wallet](https://github.com/JCCDex/jcc_wallet)是井畅交换平台的钱包处理工具,目前可以处理[jingtum](http://swtc.top/index.html), [moac](https://www.moac.io/), [ethereum](https://ethereum.org/), [stm](https://labs.stream/en/), [call](http://www.callchain.live/)以及[bizain](https://bizain.net/)钱包的创建和校验,以keystore形式导入和导出钱包,设置钱包交易密码。
15
+ [jcc_wallet](https://github.com/JCCDex/jcc_wallet)是井畅交换平台的钱包处理工具,目前可以处理[jingtum](http://swtc.top/index.html), [moac](https://www.moac.io/), [ethereum](https://ethereum.org/), [stm](https://labs.stream/en/), [call](http://www.callchain.live/)以及[bizain](https://bizain.net/)钱包的创建和校验,以 keystore 形式导入和导出钱包,设置钱包交易密码。
18
16
 
19
- ***[jcc_wallet](https://github.com/JCCDex/jcc_walle) Support running in browsers***
17
+ **_[jcc_wallet](https://github.com/JCCDex/jcc_walle) Support running in browsers_**
20
18
 
21
19
  井畅应用交流群: 557524730
22
20
 
@@ -63,7 +61,7 @@ Support multiple wallet keystore for each type.
63
61
  ### Usage
64
62
 
65
63
  ```javascript
66
- const JingchangWallet = require('jcc_wallet').JingchangWallet
64
+ const JingchangWallet = require("jcc_wallet").JingchangWallet;
67
65
  // import { JingchangWallet } from 'jcc_wallet'
68
66
  ```
69
67
 
@@ -78,7 +76,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
78
76
  * @param {boolean} [samePassword=true] if the value is true, use the default swt keystore's password
79
77
  * which be generated in the beginning as password for other type.
80
78
  * @memberof JingchangWallet
81
- */
79
+ */
82
80
  ```
83
81
 
84
82
  ### generate
@@ -92,7 +90,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
92
90
  * @param {string} [secret] swtc chain's secret
93
91
  * @returns {Promise<IJingchangWalletModel>} resolve jingchang wallet if success.
94
92
  * @memberof JingchangWallet
95
- */
93
+ */
96
94
  ```
97
95
 
98
96
  ### isValid
@@ -105,7 +103,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
105
103
  * @param {*} wallet
106
104
  * @returns {boolean} return true if valid.
107
105
  * @memberof JingchangWallet
108
- */
106
+ */
109
107
  ```
110
108
 
111
109
  ### get
@@ -117,7 +115,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
117
115
  * @static
118
116
  * @returns {(IJingchangWalletModel | null)} return jingchang wallet or null.
119
117
  * @memberof JingchangWallet
120
- */
118
+ */
121
119
  ```
122
120
 
123
121
  ### clear
@@ -128,7 +126,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
128
126
  *
129
127
  * @static
130
128
  * @memberof JingchangWallet
131
- */
129
+ */
132
130
  ```
133
131
 
134
132
  ### save
@@ -140,7 +138,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
140
138
  * @static
141
139
  * @param {IJingchangWalletModel} wallet
142
140
  * @memberof JingchangWallet
143
- */
141
+ */
144
142
  ```
145
143
 
146
144
  ### deriveKeyPair
@@ -196,7 +194,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
196
194
  * @param {IJingchangWalletModel} jcWallet
197
195
  * @returns {Array<IKeystoreModel>} return wallets if valid, otherwise return empty array.
198
196
  * @memberof JingchangWallet
199
- */
197
+ */
200
198
  ```
201
199
 
202
200
  ### setJingchangWallet
@@ -207,7 +205,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
207
205
  *
208
206
  * @param {IJingchangWalletModel} wallet
209
207
  * @memberof JingchangWallet
210
- */
208
+ */
211
209
  ```
212
210
 
213
211
  ### getAddress
@@ -219,7 +217,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
219
217
  * @param {string} [type="swt"]
220
218
  * @returns {Promise<string>} resolve address if success
221
219
  * @memberof JingchangWallet
222
- */
220
+ */
223
221
  ```
224
222
 
225
223
  ### getWalletWithType
@@ -231,7 +229,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
231
229
  * @param {string} [type="swt"]
232
230
  * @returns {Promise<IKeystoreModel>} resolve default wallet keystore if success.
233
231
  * @memberof JingchangWallet
234
- */
232
+ */
235
233
  ```
236
234
 
237
235
  ### getWalletWithAddress
@@ -243,7 +241,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
243
241
  * @param {string} address
244
242
  * @returns {Promise<IKeystoreModel>} resolve wallet keystore if success.
245
243
  * @memberof JingchangWallet
246
- */
244
+ */
247
245
  ```
248
246
 
249
247
  ### hasDefault
@@ -255,7 +253,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
255
253
  * @param {string} [type="swt"]
256
254
  * @returns {boolean} return true if has default.
257
255
  * @memberof JingchangWallet
258
- */
256
+ */
259
257
  ```
260
258
 
261
259
  ### getSecretWithType
@@ -268,7 +266,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
268
266
  * @param {string} [type="swt"]
269
267
  * @returns {Promise<string>} resolve secret if success.
270
268
  * @memberof JingchangWallet
271
- */
269
+ */
272
270
  ```
273
271
 
274
272
  ### getSecretWithAddress
@@ -281,7 +279,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
281
279
  * @param {string} address
282
280
  * @returns {Promise<string>} resolve secret if success.
283
281
  * @memberof JingchangWallet
284
- */
282
+ */
285
283
  ```
286
284
 
287
285
  ### changeWholePassword
@@ -295,7 +293,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
295
293
  * @param {string} newPassword
296
294
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
297
295
  * @memberof JingchangWallet
298
- */
296
+ */
299
297
  ```
300
298
 
301
299
  ### changePasswordWithAddress
@@ -310,7 +308,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
310
308
  * @param {string} newPassword
311
309
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
312
310
  * @memberof JingchangWallet
313
- */
311
+ */
314
312
  ```
315
313
 
316
314
  ### removeWalletWithType
@@ -321,7 +319,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
321
319
  * @param {string} [type="swt"]
322
320
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
323
321
  * @memberof JingchangWallet
324
- */
322
+ */
325
323
  ```
326
324
 
327
325
  ### removeWalletWithAddress
@@ -333,7 +331,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
333
331
  * @param {string} address
334
332
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
335
333
  * @memberof JingchangWallet
336
- */
334
+ */
337
335
  ```
338
336
 
339
337
  ### setDefaultWallet
@@ -345,7 +343,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
345
343
  * @param {string} address
346
344
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
347
345
  * @memberof JingchangWallet
348
- */
346
+ */
349
347
  ```
350
348
 
351
349
  ### importSecret
@@ -360,7 +358,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
360
358
  * @param {(secret: string) => string} retriveSecret
361
359
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
362
360
  * @memberof JingchangWallet
363
- */
361
+ */
364
362
  ```
365
363
 
366
364
  ### findWallet
@@ -374,7 +372,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
374
372
  * @returns {IKeystoreModel} return wallet keystore if existent, otherwise throw `keystore is invalid`
375
373
  * if the jingchang wallet is invalid or throw `wallet is empty` if the wallet isn't existent
376
374
  * @memberof JingchangWallet
377
- */
375
+ */
378
376
  ```
379
377
 
380
378
  ### getEncryptData
@@ -388,7 +386,7 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
388
386
  * @param {IKeypairsModel} keypairs
389
387
  * @returns {IKeystoreModel}
390
388
  * @memberof JingchangWallet
391
- */
389
+ */
392
390
  ```
393
391
 
394
392
  ### saveWallet
@@ -402,11 +400,11 @@ const JingchangWallet = require('jcc_wallet').JingchangWallet
402
400
  * @param {IKeypairsModel} keypairs
403
401
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
404
402
  * @memberof JingchangWallet
405
- */
403
+ */
406
404
  ```
407
405
 
408
406
  ## Deprecated API
409
407
 
410
- ***Deprecated api will be removed after 2020.1.1, please update asap.***
408
+ **_Deprecated api will be removed after 2020.1.1, please update asap._**
411
409
 
412
410
  For more see [deprecatedAPI](https://github.com/JCCDex/jcc_wallet/blob/master/deprecatedAPI.md).
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constant/index.ts"],"names":[],"mappings":";;AAAA,IAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAQsB,oDAAoB;AAP9F,IAAM,eAAe,GAAG,iBAAiB,CAAC;AAO4F,0CAAe;AANrJ,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAMkD,8CAAiB;AALjH,IAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAKG,kDAAmB;AAJxE,IAAM,qBAAqB,GAAG,cAAY,iBAAmB,CAAC;AAIhC,sDAAqB;AAHnD,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAGqE,8CAAiB;AAFpI,IAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAEzC,kDAAmB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constant/index.ts"],"names":[],"mappings":";;AAAA,IAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAYlD,oDAAoB;AAXtB,IAAM,eAAe,GAAG,iBAAiB,CAAC;AAcxC,0CAAe;AAbjB,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAW5C,8CAAiB;AAVnB,IAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAQhD,kDAAmB;AAPrB,IAAM,qBAAqB,GAAG,cAAY,iBAAmB,CAAC;AAM5D,sDAAqB;AALvB,IAAM,iBAAiB,GAAG,mBAAmB,CAAC;AAS5C,8CAAiB;AARnB,IAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAGhD,kDAAmB"}
@@ -1,4 +1,3 @@
1
- import { IWalletModel } from "../types";
2
1
  /**
3
2
  * check eth secret is valid or not
4
3
  *
package/lib/eth/index.js CHANGED
@@ -1,11 +1,14 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- var crypto = require("crypto");
4
- var ethereumjsUtil = require("ethereumjs-util");
5
- var Wallet = require("ethereumjs-wallet");
6
+ var crypto_1 = __importDefault(require("crypto"));
7
+ var ethereumjs_util_1 = require("ethereumjs-util");
8
+ var ethereumjs_wallet_1 = __importDefault(require("ethereumjs-wallet"));
6
9
  var jcc_common_1 = require("jcc_common");
7
- var createKeccakHash = require("keccak");
8
- var scrypt = require("scryptsy");
10
+ var keccak_1 = __importDefault(require("keccak"));
11
+ var scryptsy_1 = __importDefault(require("scryptsy"));
9
12
  var constant_1 = require("../constant");
10
13
  var isObject = function (obj) {
11
14
  return Object.prototype.toString.call(obj) === "[object Object]";
@@ -19,7 +22,7 @@ var isObject = function (obj) {
19
22
  var isValidSecret = function (secret) {
20
23
  secret = jcc_common_1.filterOx(secret);
21
24
  try {
22
- return ethereumjsUtil.isValidPrivate(Buffer.from(secret, "hex"));
25
+ return ethereumjs_util_1.isValidPrivate(Buffer.from(secret, "hex"));
23
26
  }
24
27
  catch (error) {
25
28
  return false;
@@ -33,7 +36,7 @@ exports.isValidSecret = isValidSecret;
33
36
  * @returns {boolean} return true if valid
34
37
  */
35
38
  var isValidAddress = function (address) {
36
- return ethereumjsUtil.isValidAddress(address);
39
+ return ethereumjs_util_1.isValidAddress(address);
37
40
  };
38
41
  exports.isValidAddress = isValidAddress;
39
42
  /**
@@ -46,8 +49,8 @@ var getAddress = function (secret) {
46
49
  if (!isValidSecret(secret)) {
47
50
  return null;
48
51
  }
49
- var buffer = ethereumjsUtil.privateToAddress(Buffer.from(secret, "hex"));
50
- var decodeAddress = ethereumjsUtil.bufferToHex(buffer);
52
+ var buffer = ethereumjs_util_1.privateToAddress(Buffer.from(secret, "hex"));
53
+ var decodeAddress = ethereumjs_util_1.bufferToHex(buffer);
51
54
  return decodeAddress;
52
55
  };
53
56
  exports.getAddress = getAddress;
@@ -69,15 +72,15 @@ var decryptKeystore = function (password, encryptData) {
69
72
  }
70
73
  var iv = Buffer.from(cryptoData.cipherparams.iv, "hex");
71
74
  var kdfparams = cryptoData.kdfparams;
72
- var derivedKey = scrypt(Buffer.from(password), Buffer.from(kdfparams.salt, "hex"), kdfparams.n, kdfparams.r, kdfparams.p, kdfparams.dklen);
75
+ var derivedKey = scryptsy_1.default(Buffer.from(password), Buffer.from(kdfparams.salt, "hex"), kdfparams.n, kdfparams.r, kdfparams.p, kdfparams.dklen);
73
76
  var ciphertext = Buffer.from(cryptoData.ciphertext, "hex");
74
- var mac = createKeccakHash("keccak256")
77
+ var mac = keccak_1.default("keccak256")
75
78
  .update(Buffer.concat([derivedKey.slice(16, 32), ciphertext]))
76
79
  .digest();
77
80
  if (mac.toString("hex") !== cryptoData.mac) {
78
81
  throw new Error(constant_1.ETH_PASSWORD_IS_WRONG);
79
82
  }
80
- var decipher = crypto.createDecipheriv("aes-128-ctr", derivedKey.slice(0, 16), iv);
83
+ var decipher = crypto_1.default.createDecipheriv("aes-128-ctr", derivedKey.slice(0, 16), iv);
81
84
  var seed = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
82
85
  return seed.toString("hex");
83
86
  };
@@ -88,7 +91,7 @@ exports.decryptKeystore = decryptKeystore;
88
91
  * @returns {IWalletModel}
89
92
  */
90
93
  var createWallet = function () {
91
- var _w = Wallet.generate();
94
+ var _w = ethereumjs_wallet_1.default.generate();
92
95
  return { address: _w.getAddressString(), secret: _w.getPrivateKeyString() };
93
96
  };
94
97
  exports.createWallet = createWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eth/index.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -18,12 +18,8 @@
18
18
  * SOFTWARE.
19
19
  * @author https://github.com/GinMu
20
20
  */
21
- import * as bvcadtWallet from "./bvcadt";
22
- import * as callWallet from "./call";
23
21
  import * as ethWallet from "./eth";
24
22
  import JingchangWallet from "./jingchangWallet";
25
- import * as jtWallet from "./jingtum";
26
23
  import * as moacWallet from "./moac";
27
- import * as rippleWallet from "./ripple";
28
- import * as stmWallet from "./stm";
29
- export { bvcadtWallet, callWallet, ethWallet, JingchangWallet, jtWallet, moacWallet, rippleWallet, stmWallet };
24
+ export * from "./x-wallet";
25
+ export { ethWallet, JingchangWallet, moacWallet };
package/lib/index.js CHANGED
@@ -19,21 +19,25 @@
19
19
  * SOFTWARE.
20
20
  * @author https://github.com/GinMu
21
21
  */
22
+ function __export(m) {
23
+ for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
24
+ }
25
+ var __importStar = (this && this.__importStar) || function (mod) {
26
+ if (mod && mod.__esModule) return mod;
27
+ var result = {};
28
+ if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
29
+ result["default"] = mod;
30
+ return result;
31
+ };
32
+ var __importDefault = (this && this.__importDefault) || function (mod) {
33
+ return (mod && mod.__esModule) ? mod : { "default": mod };
34
+ };
22
35
  Object.defineProperty(exports, "__esModule", { value: true });
23
- var bvcadtWallet = require("./bvcadt");
24
- exports.bvcadtWallet = bvcadtWallet;
25
- var callWallet = require("./call");
26
- exports.callWallet = callWallet;
27
- var ethWallet = require("./eth");
36
+ var ethWallet = __importStar(require("./eth"));
28
37
  exports.ethWallet = ethWallet;
29
- var jingchangWallet_1 = require("./jingchangWallet");
38
+ var jingchangWallet_1 = __importDefault(require("./jingchangWallet"));
30
39
  exports.JingchangWallet = jingchangWallet_1.default;
31
- var jtWallet = require("./jingtum");
32
- exports.jtWallet = jtWallet;
33
- var moacWallet = require("./moac");
40
+ var moacWallet = __importStar(require("./moac"));
34
41
  exports.moacWallet = moacWallet;
35
- var rippleWallet = require("./ripple");
36
- exports.rippleWallet = rippleWallet;
37
- var stmWallet = require("./stm");
38
- exports.stmWallet = stmWallet;
42
+ __export(require("./x-wallet"));
39
43
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;AAEH,uCAAyC;AAUrC,oCAAY;AAThB,mCAAqC;AAUjC,gCAAU;AATd,iCAAmC;AAU/B,8BAAS;AATb,qDAAgD;AAU5C,0BAVG,yBAAe,CAUH;AATnB,oCAAsC;AAUlC,4BAAQ;AATZ,mCAAqC;AAUjC,gCAAU;AATd,uCAAyC;AAUrC,oCAAY;AAThB,iCAAmC;AAU/B,8BAAS"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;AAEH,+CAAmC;AAK1B,8BAAS;AAJlB,sEAAgD;AAI5B,0BAJb,yBAAe,CAIa;AAHnC,iDAAqC;AAGA,gCAAU;AAF/C,gCAA2B"}
@@ -1,4 +1,3 @@
1
- import { IEncrypt, IJingchangWalletModel, IKeyPair, IKeypairsModel, IKeystoreModel } from "../types";
2
1
  /**
3
2
  * api of jingchang wallet
4
3
  *
@@ -50,10 +49,11 @@ export default class JingchangWallet {
50
49
  * @static
51
50
  * @param {string} password password for keystore
52
51
  * @param {string} [secret] swtc chain's secret
52
+ * @param {string} [alias] wallet name
53
53
  * @returns {Promise<IJingchangWalletModel>} resolve jingchang wallet if success.
54
54
  * @memberof JingchangWallet
55
55
  */
56
- static generate(password: string, secret?: string): Promise<IJingchangWalletModel>;
56
+ static generate(password: string, secret?: string, alias?: string): Promise<IJingchangWalletModel>;
57
57
  /**
58
58
  * get jingchang wallet from local storage
59
59
  *
@@ -224,10 +224,11 @@ export default class JingchangWallet {
224
224
  * @param {string} password
225
225
  * @param {string} type
226
226
  * @param {(secret: string) => string} retriveSecret
227
+ * @param {string} [alias] wallet name
227
228
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
228
229
  * @memberof JingchangWallet
229
230
  */
230
- importSecret(secret: string, password: string, type: string, retriveSecret: (secret: string) => string): Promise<IJingchangWalletModel>;
231
+ importSecret(secret: string, password: string, type: string, retriveSecret: (secret: string) => string, alias?: string): Promise<IJingchangWalletModel>;
231
232
  /**
232
233
  * find wallet keystore according to filter function
233
234
  *
@@ -35,18 +35,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
36
  }
37
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
38
41
  Object.defineProperty(exports, "__esModule", { value: true });
39
- var assert = require("assert");
40
- var cloneDeep = require("clone-deep");
41
- var crypto = require("crypto");
42
- var eccrypto = require("eccrypto");
42
+ var assert_1 = __importDefault(require("assert"));
43
+ var clone_deep_1 = __importDefault(require("clone-deep"));
44
+ var crypto_1 = __importDefault(require("crypto"));
45
+ var eccrypto_1 = __importDefault(require("eccrypto"));
43
46
  var jcc_common_1 = require("jcc_common");
44
- var Lockr = require("lockr");
47
+ var lockr_1 = __importDefault(require("lockr"));
45
48
  var keypairs_1 = require("@swtc/keypairs");
46
49
  var constant_1 = require("../constant");
47
- var jingtum_1 = require("../jingtum");
50
+ var x_wallet_1 = require("../x-wallet");
48
51
  var util_1 = require("../util");
49
- Lockr.prefix = "jingchang_";
52
+ lockr_1.default.prefix = "jingchang_";
50
53
  /**
51
54
  * api of jingchang wallet
52
55
  *
@@ -95,27 +98,28 @@ var JingchangWallet = /** @class */ (function () {
95
98
  * @static
96
99
  * @param {string} password password for keystore
97
100
  * @param {string} [secret] swtc chain's secret
101
+ * @param {string} [alias] wallet name
98
102
  * @returns {Promise<IJingchangWalletModel>} resolve jingchang wallet if success.
99
103
  * @memberof JingchangWallet
100
104
  */
101
- JingchangWallet.generate = function (password, secret) {
105
+ JingchangWallet.generate = function (password, secret, alias) {
102
106
  return new Promise(function (resolve, reject) {
103
107
  var keypairs = {};
104
108
  if (secret === undefined) {
105
- var wallet = jingtum_1.createWallet();
109
+ var wallet = x_wallet_1.jtWallet.createWallet();
106
110
  secret = wallet.secret;
107
111
  keypairs.address = wallet.address;
108
112
  }
109
113
  else {
110
- if (!jingtum_1.isValidSecret(secret)) {
114
+ if (!x_wallet_1.jtWallet.isValidSecret(secret)) {
111
115
  return reject(new Error(constant_1.SECRET_IS_INVALID));
112
116
  }
113
- keypairs.address = jingtum_1.getAddress(secret);
117
+ keypairs.address = x_wallet_1.jtWallet.getAddress(secret);
114
118
  }
115
119
  keypairs.secret = secret;
116
120
  keypairs.type = "swt";
117
121
  keypairs.default = true;
118
- keypairs.alias = "swt wallet";
122
+ keypairs.alias = alias || "swt wallet";
119
123
  var jcWallet = {};
120
124
  var walletObj = util_1.encryptWallet(password, keypairs);
121
125
  jcWallet.version = JingchangWallet.version;
@@ -134,7 +138,7 @@ var JingchangWallet = /** @class */ (function () {
134
138
  * @memberof JingchangWallet
135
139
  */
136
140
  JingchangWallet.get = function () {
137
- var jcWallet = Lockr.get(JingchangWallet._walletID);
141
+ var jcWallet = lockr_1.default.get(JingchangWallet._walletID);
138
142
  if (!JingchangWallet.isValid(jcWallet)) {
139
143
  return null;
140
144
  }
@@ -147,7 +151,7 @@ var JingchangWallet = /** @class */ (function () {
147
151
  * @memberof JingchangWallet
148
152
  */
149
153
  JingchangWallet.clear = function () {
150
- Lockr.set(JingchangWallet._walletID, {});
154
+ lockr_1.default.set(JingchangWallet._walletID, {});
151
155
  };
152
156
  /**
153
157
  * save jingchang wallet to local storage.
@@ -157,7 +161,7 @@ var JingchangWallet = /** @class */ (function () {
157
161
  * @memberof JingchangWallet
158
162
  */
159
163
  JingchangWallet.save = function (wallet) {
160
- Lockr.set(JingchangWallet._walletID, wallet);
164
+ lockr_1.default.set(JingchangWallet._walletID, wallet);
161
165
  };
162
166
  /**
163
167
  * derive key pair with secret
@@ -192,7 +196,7 @@ var JingchangWallet = /** @class */ (function () {
192
196
  var encode;
193
197
  return __generator(this, function (_a) {
194
198
  switch (_a.label) {
195
- case 0: return [4 /*yield*/, eccrypto.encrypt(Buffer.from(publicKey, "hex"), Buffer.from(message))];
199
+ case 0: return [4 /*yield*/, eccrypto_1.default.encrypt(Buffer.from(publicKey, "hex"), Buffer.from(message))];
196
200
  case 1:
197
201
  encode = _a.sent();
198
202
  return [2 /*return*/, {
@@ -226,7 +230,7 @@ var JingchangWallet = /** @class */ (function () {
226
230
  iv: Buffer.from(message.iv, "hex"),
227
231
  mac: Buffer.from(message.mac, "hex")
228
232
  };
229
- return [4 /*yield*/, eccrypto.decrypt(Buffer.from(privateKey, "hex"), encode)];
233
+ return [4 /*yield*/, eccrypto_1.default.decrypt(Buffer.from(privateKey, "hex"), encode)];
230
234
  case 1:
231
235
  decode = _a.sent();
232
236
  return [2 /*return*/, decode.toString()];
@@ -406,8 +410,8 @@ var JingchangWallet = /** @class */ (function () {
406
410
  if (!this._samePassword) {
407
411
  return [2 /*return*/, reject(new Error("the property of _samePassword is false, so please don't call this function!"))];
408
412
  }
409
- jcWallet = cloneDeep(this._jingchangWallet);
410
- assert.notEqual(jcWallet, this._jingchangWallet);
413
+ jcWallet = clone_deep_1.default(this._jingchangWallet);
414
+ assert_1.default.notEqual(jcWallet, this._jingchangWallet);
411
415
  wallets = JingchangWallet.getWallets(jcWallet);
412
416
  _a.label = 1;
413
417
  case 1:
@@ -536,8 +540,8 @@ var JingchangWallet = /** @class */ (function () {
536
540
  JingchangWallet.prototype.removeWalletWithAddress = function (address) {
537
541
  var _this = this;
538
542
  return new Promise(function (resolve, reject) {
539
- var jcWallet = cloneDeep(_this._jingchangWallet);
540
- assert.notEqual(_this._jingchangWallet, jcWallet);
543
+ var jcWallet = clone_deep_1.default(_this._jingchangWallet);
544
+ assert_1.default.notEqual(_this._jingchangWallet, jcWallet);
541
545
  var wallets = JingchangWallet.getWallets(jcWallet);
542
546
  try {
543
547
  var wallet_1 = _this.findWallet(function (w) { return w.address === address; });
@@ -597,10 +601,11 @@ var JingchangWallet = /** @class */ (function () {
597
601
  * @param {string} password
598
602
  * @param {string} type
599
603
  * @param {(secret: string) => string} retriveSecret
604
+ * @param {string} [alias] wallet name
600
605
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
601
606
  * @memberof JingchangWallet
602
607
  */
603
- JingchangWallet.prototype.importSecret = function (secret, password, type, retriveSecret) {
608
+ JingchangWallet.prototype.importSecret = function (secret, password, type, retriveSecret, alias) {
604
609
  var _this = this;
605
610
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
606
611
  var address_1, wallets, wallet, keypairs, error_6;
@@ -627,7 +632,7 @@ var JingchangWallet = /** @class */ (function () {
627
632
  }
628
633
  keypairs = {
629
634
  address: address_1,
630
- alias: type + " wallet",
635
+ alias: alias || type + " wallet",
631
636
  secret: secret,
632
637
  type: type
633
638
  };
@@ -692,8 +697,8 @@ var JingchangWallet = /** @class */ (function () {
692
697
  // support type: ethereum, stream, jingtum, call and moac
693
698
  keypairs.default = _this._multiple ? !_this.hasDefault(keypairs.type) : true;
694
699
  var encryptData = _this.getEncryptData(password, keypairs);
695
- var jcWallet = cloneDeep(_this._jingchangWallet);
696
- assert.notEqual(_this._jingchangWallet, jcWallet);
700
+ var jcWallet = clone_deep_1.default(_this._jingchangWallet);
701
+ assert_1.default.notEqual(_this._jingchangWallet, jcWallet);
697
702
  var wallets = jcWallet.wallets;
698
703
  var pre = wallets.findIndex(function (w) { return w.type.toLowerCase() === keypairs.type.toLowerCase(); });
699
704
  if (_this._multiple) {
@@ -712,7 +717,7 @@ var JingchangWallet = /** @class */ (function () {
712
717
  };
713
718
  JingchangWallet.version = "1.0";
714
719
  JingchangWallet._name = "wallets";
715
- JingchangWallet._walletID = crypto
720
+ JingchangWallet._walletID = crypto_1.default
716
721
  .createHash("sha256")
717
722
  .update(JingchangWallet._name.toLowerCase())
718
723
  .digest("hex");