jcc_wallet 1.1.0 → 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
- /// <reference path="../types/index.d.ts" />
2
1
  /**
3
2
  * check eth secret is valid or not
4
3
  *
package/lib/eth/index.js CHANGED
@@ -1,12 +1,14 @@
1
1
  "use strict";
2
- /// <reference path = "../types/index.ts" />
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
3
5
  Object.defineProperty(exports, "__esModule", { value: true });
4
- var crypto = require("crypto");
5
- var ethereumjsUtil = require("ethereumjs-util");
6
- 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"));
7
9
  var jcc_common_1 = require("jcc_common");
8
- var createKeccakHash = require("keccak");
9
- var scrypt = require("scryptsy");
10
+ var keccak_1 = __importDefault(require("keccak"));
11
+ var scryptsy_1 = __importDefault(require("scryptsy"));
10
12
  var constant_1 = require("../constant");
11
13
  var isObject = function (obj) {
12
14
  return Object.prototype.toString.call(obj) === "[object Object]";
@@ -20,7 +22,7 @@ var isObject = function (obj) {
20
22
  var isValidSecret = function (secret) {
21
23
  secret = jcc_common_1.filterOx(secret);
22
24
  try {
23
- return ethereumjsUtil.isValidPrivate(Buffer.from(secret, "hex"));
25
+ return ethereumjs_util_1.isValidPrivate(Buffer.from(secret, "hex"));
24
26
  }
25
27
  catch (error) {
26
28
  return false;
@@ -34,7 +36,7 @@ exports.isValidSecret = isValidSecret;
34
36
  * @returns {boolean} return true if valid
35
37
  */
36
38
  var isValidAddress = function (address) {
37
- return ethereumjsUtil.isValidAddress(address);
39
+ return ethereumjs_util_1.isValidAddress(address);
38
40
  };
39
41
  exports.isValidAddress = isValidAddress;
40
42
  /**
@@ -47,8 +49,8 @@ var getAddress = function (secret) {
47
49
  if (!isValidSecret(secret)) {
48
50
  return null;
49
51
  }
50
- var buffer = ethereumjsUtil.privateToAddress(Buffer.from(secret, "hex"));
51
- var decodeAddress = ethereumjsUtil.bufferToHex(buffer);
52
+ var buffer = ethereumjs_util_1.privateToAddress(Buffer.from(secret, "hex"));
53
+ var decodeAddress = ethereumjs_util_1.bufferToHex(buffer);
52
54
  return decodeAddress;
53
55
  };
54
56
  exports.getAddress = getAddress;
@@ -70,15 +72,15 @@ var decryptKeystore = function (password, encryptData) {
70
72
  }
71
73
  var iv = Buffer.from(cryptoData.cipherparams.iv, "hex");
72
74
  var kdfparams = cryptoData.kdfparams;
73
- 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);
74
76
  var ciphertext = Buffer.from(cryptoData.ciphertext, "hex");
75
- var mac = createKeccakHash("keccak256")
77
+ var mac = keccak_1.default("keccak256")
76
78
  .update(Buffer.concat([derivedKey.slice(16, 32), ciphertext]))
77
79
  .digest();
78
80
  if (mac.toString("hex") !== cryptoData.mac) {
79
81
  throw new Error(constant_1.ETH_PASSWORD_IS_WRONG);
80
82
  }
81
- 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);
82
84
  var seed = Buffer.concat([decipher.update(ciphertext), decipher.final()]);
83
85
  return seed.toString("hex");
84
86
  };
@@ -89,7 +91,7 @@ exports.decryptKeystore = decryptKeystore;
89
91
  * @returns {IWalletModel}
90
92
  */
91
93
  var createWallet = function () {
92
- var _w = Wallet.generate();
94
+ var _w = ethereumjs_wallet_1.default.generate();
93
95
  return { address: _w.getAddressString(), secret: _w.getPrivateKeyString() };
94
96
  };
95
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
- /// <reference path="../types/index.d.ts" />
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
  *
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- /// <reference path = "../types/index.ts" />
3
2
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
4
3
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
5
4
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -36,18 +35,21 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
35
  if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
37
36
  }
38
37
  };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
39
41
  Object.defineProperty(exports, "__esModule", { value: true });
40
- var assert = require("assert");
41
- var cloneDeep = require("clone-deep");
42
- var crypto = require("crypto");
43
- 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"));
44
46
  var jcc_common_1 = require("jcc_common");
45
- var Lockr = require("lockr");
47
+ var lockr_1 = __importDefault(require("lockr"));
46
48
  var keypairs_1 = require("@swtc/keypairs");
47
49
  var constant_1 = require("../constant");
48
- var jingtum_1 = require("../jingtum");
50
+ var x_wallet_1 = require("../x-wallet");
49
51
  var util_1 = require("../util");
50
- Lockr.prefix = "jingchang_";
52
+ lockr_1.default.prefix = "jingchang_";
51
53
  /**
52
54
  * api of jingchang wallet
53
55
  *
@@ -96,27 +98,28 @@ var JingchangWallet = /** @class */ (function () {
96
98
  * @static
97
99
  * @param {string} password password for keystore
98
100
  * @param {string} [secret] swtc chain's secret
101
+ * @param {string} [alias] wallet name
99
102
  * @returns {Promise<IJingchangWalletModel>} resolve jingchang wallet if success.
100
103
  * @memberof JingchangWallet
101
104
  */
102
- JingchangWallet.generate = function (password, secret) {
105
+ JingchangWallet.generate = function (password, secret, alias) {
103
106
  return new Promise(function (resolve, reject) {
104
107
  var keypairs = {};
105
108
  if (secret === undefined) {
106
- var wallet = jingtum_1.createWallet();
109
+ var wallet = x_wallet_1.jtWallet.createWallet();
107
110
  secret = wallet.secret;
108
111
  keypairs.address = wallet.address;
109
112
  }
110
113
  else {
111
- if (!jingtum_1.isValidSecret(secret)) {
114
+ if (!x_wallet_1.jtWallet.isValidSecret(secret)) {
112
115
  return reject(new Error(constant_1.SECRET_IS_INVALID));
113
116
  }
114
- keypairs.address = jingtum_1.getAddress(secret);
117
+ keypairs.address = x_wallet_1.jtWallet.getAddress(secret);
115
118
  }
116
119
  keypairs.secret = secret;
117
120
  keypairs.type = "swt";
118
121
  keypairs.default = true;
119
- keypairs.alias = "swt wallet";
122
+ keypairs.alias = alias || "swt wallet";
120
123
  var jcWallet = {};
121
124
  var walletObj = util_1.encryptWallet(password, keypairs);
122
125
  jcWallet.version = JingchangWallet.version;
@@ -135,7 +138,7 @@ var JingchangWallet = /** @class */ (function () {
135
138
  * @memberof JingchangWallet
136
139
  */
137
140
  JingchangWallet.get = function () {
138
- var jcWallet = Lockr.get(JingchangWallet._walletID);
141
+ var jcWallet = lockr_1.default.get(JingchangWallet._walletID);
139
142
  if (!JingchangWallet.isValid(jcWallet)) {
140
143
  return null;
141
144
  }
@@ -148,7 +151,7 @@ var JingchangWallet = /** @class */ (function () {
148
151
  * @memberof JingchangWallet
149
152
  */
150
153
  JingchangWallet.clear = function () {
151
- Lockr.set(JingchangWallet._walletID, {});
154
+ lockr_1.default.set(JingchangWallet._walletID, {});
152
155
  };
153
156
  /**
154
157
  * save jingchang wallet to local storage.
@@ -158,7 +161,7 @@ var JingchangWallet = /** @class */ (function () {
158
161
  * @memberof JingchangWallet
159
162
  */
160
163
  JingchangWallet.save = function (wallet) {
161
- Lockr.set(JingchangWallet._walletID, wallet);
164
+ lockr_1.default.set(JingchangWallet._walletID, wallet);
162
165
  };
163
166
  /**
164
167
  * derive key pair with secret
@@ -193,7 +196,7 @@ var JingchangWallet = /** @class */ (function () {
193
196
  var encode;
194
197
  return __generator(this, function (_a) {
195
198
  switch (_a.label) {
196
- 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))];
197
200
  case 1:
198
201
  encode = _a.sent();
199
202
  return [2 /*return*/, {
@@ -227,7 +230,7 @@ var JingchangWallet = /** @class */ (function () {
227
230
  iv: Buffer.from(message.iv, "hex"),
228
231
  mac: Buffer.from(message.mac, "hex")
229
232
  };
230
- return [4 /*yield*/, eccrypto.decrypt(Buffer.from(privateKey, "hex"), encode)];
233
+ return [4 /*yield*/, eccrypto_1.default.decrypt(Buffer.from(privateKey, "hex"), encode)];
231
234
  case 1:
232
235
  decode = _a.sent();
233
236
  return [2 /*return*/, decode.toString()];
@@ -407,8 +410,8 @@ var JingchangWallet = /** @class */ (function () {
407
410
  if (!this._samePassword) {
408
411
  return [2 /*return*/, reject(new Error("the property of _samePassword is false, so please don't call this function!"))];
409
412
  }
410
- jcWallet = cloneDeep(this._jingchangWallet);
411
- assert.notEqual(jcWallet, this._jingchangWallet);
413
+ jcWallet = clone_deep_1.default(this._jingchangWallet);
414
+ assert_1.default.notEqual(jcWallet, this._jingchangWallet);
412
415
  wallets = JingchangWallet.getWallets(jcWallet);
413
416
  _a.label = 1;
414
417
  case 1:
@@ -537,8 +540,8 @@ var JingchangWallet = /** @class */ (function () {
537
540
  JingchangWallet.prototype.removeWalletWithAddress = function (address) {
538
541
  var _this = this;
539
542
  return new Promise(function (resolve, reject) {
540
- var jcWallet = cloneDeep(_this._jingchangWallet);
541
- assert.notEqual(_this._jingchangWallet, jcWallet);
543
+ var jcWallet = clone_deep_1.default(_this._jingchangWallet);
544
+ assert_1.default.notEqual(_this._jingchangWallet, jcWallet);
542
545
  var wallets = JingchangWallet.getWallets(jcWallet);
543
546
  try {
544
547
  var wallet_1 = _this.findWallet(function (w) { return w.address === address; });
@@ -598,10 +601,11 @@ var JingchangWallet = /** @class */ (function () {
598
601
  * @param {string} password
599
602
  * @param {string} type
600
603
  * @param {(secret: string) => string} retriveSecret
604
+ * @param {string} [alias] wallet name
601
605
  * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
602
606
  * @memberof JingchangWallet
603
607
  */
604
- JingchangWallet.prototype.importSecret = function (secret, password, type, retriveSecret) {
608
+ JingchangWallet.prototype.importSecret = function (secret, password, type, retriveSecret, alias) {
605
609
  var _this = this;
606
610
  return new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
607
611
  var address_1, wallets, wallet, keypairs, error_6;
@@ -628,7 +632,7 @@ var JingchangWallet = /** @class */ (function () {
628
632
  }
629
633
  keypairs = {
630
634
  address: address_1,
631
- alias: type + " wallet",
635
+ alias: alias || type + " wallet",
632
636
  secret: secret,
633
637
  type: type
634
638
  };
@@ -693,8 +697,8 @@ var JingchangWallet = /** @class */ (function () {
693
697
  // support type: ethereum, stream, jingtum, call and moac
694
698
  keypairs.default = _this._multiple ? !_this.hasDefault(keypairs.type) : true;
695
699
  var encryptData = _this.getEncryptData(password, keypairs);
696
- var jcWallet = cloneDeep(_this._jingchangWallet);
697
- assert.notEqual(_this._jingchangWallet, jcWallet);
700
+ var jcWallet = clone_deep_1.default(_this._jingchangWallet);
701
+ assert_1.default.notEqual(_this._jingchangWallet, jcWallet);
698
702
  var wallets = jcWallet.wallets;
699
703
  var pre = wallets.findIndex(function (w) { return w.type.toLowerCase() === keypairs.type.toLowerCase(); });
700
704
  if (_this._multiple) {
@@ -713,7 +717,7 @@ var JingchangWallet = /** @class */ (function () {
713
717
  };
714
718
  JingchangWallet.version = "1.0";
715
719
  JingchangWallet._name = "wallets";
716
- JingchangWallet._walletID = crypto
720
+ JingchangWallet._walletID = crypto_1.default
717
721
  .createHash("sha256")
718
722
  .update(JingchangWallet._name.toLowerCase())
719
723
  .digest("hex");