jcc_wallet 2.0.0 → 3.0.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.
Files changed (43) hide show
  1. package/package.json +29 -25
  2. package/lib/constant/index.d.ts +0 -8
  3. package/lib/constant/index.js +0 -18
  4. package/lib/constant/index.js.map +0 -1
  5. package/lib/eth/index.d.ts +0 -36
  6. package/lib/eth/index.js +0 -98
  7. package/lib/eth/index.js.map +0 -1
  8. package/lib/hd/constant.d.ts +0 -26
  9. package/lib/hd/constant.js +0 -56
  10. package/lib/hd/constant.js.map +0 -1
  11. package/lib/hd/ethereum.plugin.d.ts +0 -4
  12. package/lib/hd/ethereum.plugin.js +0 -101
  13. package/lib/hd/ethereum.plugin.js.map +0 -1
  14. package/lib/hd/index.d.ts +0 -227
  15. package/lib/hd/index.js +0 -394
  16. package/lib/hd/index.js.map +0 -1
  17. package/lib/hd/plugins.d.ts +0 -1
  18. package/lib/hd/plugins.js +0 -33
  19. package/lib/hd/plugins.js.map +0 -1
  20. package/lib/hd/swtc.plugin.d.ts +0 -5
  21. package/lib/hd/swtc.plugin.js +0 -72
  22. package/lib/hd/swtc.plugin.js.map +0 -1
  23. package/lib/hd/tron.plugin.d.ts +0 -4
  24. package/lib/hd/tron.plugin.js +0 -67
  25. package/lib/hd/tron.plugin.js.map +0 -1
  26. package/lib/index.d.ts +0 -26
  27. package/lib/index.js +0 -62
  28. package/lib/index.js.map +0 -1
  29. package/lib/jingchangWallet/index.d.ts +0 -272
  30. package/lib/jingchangWallet/index.js +0 -758
  31. package/lib/jingchangWallet/index.js.map +0 -1
  32. package/lib/moac/index.d.ts +0 -28
  33. package/lib/moac/index.js +0 -58
  34. package/lib/moac/index.js.map +0 -1
  35. package/lib/types/index.d.ts +0 -90
  36. package/lib/types/index.js +0 -1
  37. package/lib/types/index.js.map +0 -1
  38. package/lib/util/index.d.ts +0 -21
  39. package/lib/util/index.js +0 -90
  40. package/lib/util/index.js.map +0 -1
  41. package/lib/x-wallet/index.d.ts +0 -21
  42. package/lib/x-wallet/index.js +0 -84
  43. package/lib/x-wallet/index.js.map +0 -1
@@ -1,72 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.XWallet = void 0;
4
- var wallet_1 = require("@swtc/wallet");
5
- // import { KeyPair } from "@swtc/wallet";
6
- var common_1 = require("@swtc/common");
7
- var XWallet = function (chain) {
8
- return {
9
- wallet: (0, wallet_1.Factory)(chain),
10
- /**
11
- * get address of wallet
12
- *
13
- * @param {IKeyPair | string} key is a keypair object or secret
14
- *
15
- * @returns {string} return address of wallet, return null if failed
16
- */
17
- address: function (key) {
18
- try {
19
- if (typeof key === "string") {
20
- var wallet = this.wallet.fromSecret(key);
21
- return wallet.address;
22
- }
23
- var keypair = this.wallet.KeyPair;
24
- if (key.privateKey) {
25
- return keypair.deriveAddress(keypair.deriveKeyPair(key.privateKey).publicKey);
26
- }
27
- if (key.publicKey) {
28
- return keypair.deriveAddress(key.publicKey);
29
- }
30
- return null;
31
- }
32
- catch (error) {
33
- return null;
34
- }
35
- },
36
- isValidAddress: function (address) {
37
- return this.wallet.isValidAddress(address);
38
- },
39
- isValidSecret: function (secret) {
40
- return this.wallet.isValidSecret(secret);
41
- },
42
- hash: function (message) {
43
- return (0, common_1.funcBytesToHex)(this.wallet.hash(message));
44
- },
45
- sign: function (message, privateKey) {
46
- return this.wallet.KeyPair.sign(message, privateKey);
47
- },
48
- verify: function (message, signature, address, keypair) {
49
- if (address !== this.address(keypair)) {
50
- return false;
51
- }
52
- // check public key
53
- if (!keypair.publicKey) {
54
- keypair = this.wallet.KeyPair.deriveKeyPair(keypair.privateKey);
55
- }
56
- return this.wallet.KeyPair.verify(message, signature, keypair.publicKey);
57
- },
58
- recover: function () {
59
- return "swtclib does not support.";
60
- },
61
- proxy: function (functionName) {
62
- var _a;
63
- var args = [];
64
- for (var _i = 1; _i < arguments.length; _i++) {
65
- args[_i - 1] = arguments[_i];
66
- }
67
- return (_a = this.wallet)[functionName].apply(_a, args);
68
- }
69
- };
70
- };
71
- exports.XWallet = XWallet;
72
- //# sourceMappingURL=swtc.plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swtc.plugin.js","sourceRoot":"","sources":["../../src/hd/swtc.plugin.ts"],"names":[],"mappings":";;;AAAA,uCAAwD;AACxD,0CAA0C;AAC1C,uCAA4D;AAM5D,IAAM,OAAO,GAAG,UAAC,KAAa;IAC5B,OAAO;QACL,MAAM,EAAE,IAAA,gBAAa,EAAC,KAAK,CAAC;QAC5B;;;;;;WAMG;QACH,OAAO,YAAC,GAAsB;YAC5B,IAAI;gBACF,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;oBAC3B,IAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;oBAC3C,OAAO,MAAM,CAAC,OAAO,CAAC;iBACvB;gBAED,IAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBACpC,IAAI,GAAG,CAAC,UAAU,EAAE;oBAClB,OAAO,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;iBAC/E;gBACD,IAAI,GAAG,CAAC,SAAS,EAAE;oBACjB,OAAO,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC7C;gBAED,OAAO,IAAI,CAAC;aACb;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,IAAI,CAAC;aACb;QACH,CAAC;QAED,cAAc,YAAC,OAAe;YAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC;QAED,aAAa,YAAC,MAAc;YAC1B,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,YAAC,OAAe;YAClB,OAAO,IAAA,uBAAU,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/C,CAAC;QAED,IAAI,YAAC,OAAe,EAAE,UAAkB;YACtC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,YAAC,OAAe,EAAE,SAAiB,EAAE,OAAe,EAAE,OAAiB;YAC3E,IAAI,OAAO,KAAK,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBACrC,OAAO,KAAK,CAAC;aACd;YACD,mBAAmB;YACnB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;gBACtB,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;aACjE;YACD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO;YACL,OAAO,2BAA2B,CAAC;QACrC,CAAC;QACD,KAAK,YAAC,YAAY;;YAAE,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,6BAAO;;YACzB,OAAO,CAAA,KAAA,IAAI,CAAC,MAAM,CAAA,CAAC,YAAY,CAAC,WAAI,IAAI,EAAE;QAC5C,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEO,0BAAO"}
@@ -1,4 +0,0 @@
1
- export interface ITronPlugin extends IHDPlugin {
2
- checkPrivateKey(privateKey: string): string;
3
- }
4
- export declare const plugin: ITronPlugin;
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.plugin = void 0;
4
- var TronWeb = require("tronweb");
5
- exports.plugin = {
6
- checkPrivateKey: function (privateKey) {
7
- // check and cut swtc keypair lib add prefix 00
8
- return privateKey.length === 66 ? privateKey.substring(2) : privateKey;
9
- },
10
- address: function (key) {
11
- if (key.privateKey) {
12
- var privateKey = this.checkPrivateKey(key.privateKey);
13
- var wallet = TronWeb.address.fromPrivateKey(privateKey);
14
- return wallet;
15
- }
16
- if (key.publicKey) {
17
- // TODO: length of ethereum publick key of keypaire is 128, but swtc lib keypair is 64
18
- // so, if you want get address from public key, get it from private first
19
- var pubBytes = TronWeb.utils.code.hexStr2byteArray(key.publicKey);
20
- var comCddressBytes = TronWeb.utils.crypto.computeAddress(pubBytes);
21
- return TronWeb.utils.crypto.getBase58CheckAddress(comCddressBytes);
22
- }
23
- return null;
24
- },
25
- isValidAddress: function (address) {
26
- return TronWeb.utils.crypto.isAddressValid(address);
27
- },
28
- isValidSecret: function (secret) {
29
- try {
30
- var comPriKeyBytes = TronWeb.utils.code.hexStr2byteArray(this.checkPrivateKey(secret));
31
- var pubBytes = TronWeb.utils.crypto.getPubKeyFromPriKey(comPriKeyBytes);
32
- var comCddressBytes = TronWeb.utils.crypto.computeAddress(pubBytes);
33
- var address = TronWeb.utils.crypto.getBase58CheckAddress(comCddressBytes);
34
- return this.isValidAddress(address);
35
- }
36
- catch (error) {
37
- return false;
38
- }
39
- },
40
- hash: function (message) {
41
- return TronWeb.utils.message.hashMessage(message);
42
- },
43
- /**
44
- *
45
- * @param message message content, let message is "\x19Ethereum Signed Message:\n" + message.length + message, match web3.accounts.sign function
46
- * @param privateKey private key
47
- * @returns signature string
48
- */
49
- sign: function (message, privateKey) {
50
- var key = this.checkPrivateKey(privateKey).toLowerCase();
51
- return TronWeb.Trx.signMessageV2(message, key);
52
- },
53
- verify: function (message, signature, address) {
54
- return this.recover(message, signature) === address;
55
- },
56
- recover: function (message, signature) {
57
- return TronWeb.Trx.verifyMessageV2(message, signature);
58
- },
59
- proxy: function (functionName) {
60
- var args = [];
61
- for (var _i = 1; _i < arguments.length; _i++) {
62
- args[_i - 1] = arguments[_i];
63
- }
64
- return TronWeb[functionName].apply(TronWeb, args);
65
- }
66
- };
67
- //# sourceMappingURL=tron.plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tron.plugin.js","sourceRoot":"","sources":["../../src/hd/tron.plugin.ts"],"names":[],"mappings":";;;AAAA,IAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAMtB,QAAA,MAAM,GAAgB;IACjC,eAAe,YAAC,UAAkB;QAChC,+CAA+C;QAC/C,OAAO,UAAU,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACzE,CAAC;IACD,OAAO,YAAC,GAAa;QACnB,IAAI,GAAG,CAAC,UAAU,EAAE;YAClB,IAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YACxD,IAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1D,OAAO,MAAM,CAAC;SACf;QACD,IAAI,GAAG,CAAC,SAAS,EAAE;YACjB,sFAAsF;YACtF,yEAAyE;YACzE,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACpE,IAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtE,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;SACpE;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,YAAC,OAAe;QAC5B,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,aAAa,YAAC,MAAc;QAC1B,IAAI;YACF,IAAM,cAAc,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YACzF,IAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;YAC1E,IAAM,eAAe,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACtE,IAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;SACrC;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,KAAK,CAAC;SACd;IACH,CAAC;IACD,IAAI,YAAC,OAAe;QAClB,OAAO,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IACD;;;;;OAKG;IACH,IAAI,YAAC,OAAe,EAAE,UAAkB;QACtC,IAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;QAE3D,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IACD,MAAM,YAAC,OAAe,EAAE,SAAiB,EAAE,OAAe;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,CAAC,KAAK,OAAO,CAAC;IACtD,CAAC;IACD,OAAO,YAAC,OAAe,EAAE,SAAiB;QACxC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IACD,KAAK,YAAC,YAAY;QAAE,cAAO;aAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;YAAP,6BAAO;;QACzB,OAAO,OAAO,CAAC,YAAY,CAAC,OAArB,OAAO,EAAkB,IAAI,EAAE;IACxC,CAAC;CACF,CAAC"}
package/lib/index.d.ts DELETED
@@ -1,26 +0,0 @@
1
- /**
2
- * MIT License
3
- * Copyright (c) 2018 JCC Dex
4
- * Permission is hereby granted, free of charge, to any person obtaining a copy
5
- * of this software and associated documentation files (the "Software"), to deal
6
- * in the Software without restriction, including without limitation the rights
7
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
- * copies of the Software, and to permit persons to whom the Software is
9
- * furnished to do so, subject to the following conditions:
10
- * The above copyright notice and this permission notice shall be included in all
11
- * copies or substantial portions of the Software.
12
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
14
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
15
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
16
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
17
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
18
- * SOFTWARE.
19
- * @author https://github.com/GinMu
20
- */
21
- import * as ethWallet from "./eth";
22
- import JingchangWallet from "./jingchangWallet";
23
- import * as moacWallet from "./moac";
24
- import * as hdWallet from "./hd";
25
- export * from "./x-wallet";
26
- export { ethWallet, JingchangWallet, moacWallet, hdWallet };
package/lib/index.js DELETED
@@ -1,62 +0,0 @@
1
- "use strict";
2
- /**
3
- * MIT License
4
- * Copyright (c) 2018 JCC Dex
5
- * Permission is hereby granted, free of charge, to any person obtaining a copy
6
- * of this software and associated documentation files (the "Software"), to deal
7
- * in the Software without restriction, including without limitation the rights
8
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- * copies of the Software, and to permit persons to whom the Software is
10
- * furnished to do so, subject to the following conditions:
11
- * The above copyright notice and this permission notice shall be included in all
12
- * copies or substantial portions of the Software.
13
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
- * SOFTWARE.
20
- * @author https://github.com/GinMu
21
- */
22
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
23
- if (k2 === undefined) k2 = k;
24
- var desc = Object.getOwnPropertyDescriptor(m, k);
25
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
26
- desc = { enumerable: true, get: function() { return m[k]; } };
27
- }
28
- Object.defineProperty(o, k2, desc);
29
- }) : (function(o, m, k, k2) {
30
- if (k2 === undefined) k2 = k;
31
- o[k2] = m[k];
32
- }));
33
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
- Object.defineProperty(o, "default", { enumerable: true, value: v });
35
- }) : function(o, v) {
36
- o["default"] = v;
37
- });
38
- var __importStar = (this && this.__importStar) || function (mod) {
39
- if (mod && mod.__esModule) return mod;
40
- var result = {};
41
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
- __setModuleDefault(result, mod);
43
- return result;
44
- };
45
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
46
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
47
- };
48
- var __importDefault = (this && this.__importDefault) || function (mod) {
49
- return (mod && mod.__esModule) ? mod : { "default": mod };
50
- };
51
- Object.defineProperty(exports, "__esModule", { value: true });
52
- exports.hdWallet = exports.moacWallet = exports.JingchangWallet = exports.ethWallet = void 0;
53
- var ethWallet = __importStar(require("./eth"));
54
- exports.ethWallet = ethWallet;
55
- var jingchangWallet_1 = __importDefault(require("./jingchangWallet"));
56
- exports.JingchangWallet = jingchangWallet_1.default;
57
- var moacWallet = __importStar(require("./moac"));
58
- exports.moacWallet = moacWallet;
59
- var hdWallet = __importStar(require("./hd"));
60
- exports.hdWallet = hdWallet;
61
- __exportStar(require("./x-wallet"), exports);
62
- //# sourceMappingURL=index.js.map
package/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;GAmBG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,+CAAmC;AAO1B,8BAAS;AANlB,sEAAgD;AAM5B,0BANb,yBAAe,CAMa;AALnC,iDAAqC;AAKA,gCAAU;AAJ/C,6CAAiC;AAIgB,4BAAQ;AAFzD,6CAA2B"}
@@ -1,272 +0,0 @@
1
- /**
2
- * api of jingchang wallet
3
- *
4
- * @export
5
- * @class JingchangWallet
6
- */
7
- export default class JingchangWallet {
8
- static readonly version = "1.0";
9
- private static readonly _name;
10
- private static readonly _walletID;
11
- private _jingchangWallet;
12
- /**
13
- * if the value is true, support save multiple wallet keystore for each type, otherwise only support one.
14
- *
15
- * @private
16
- * @type {boolean}
17
- * @memberof JingchangWallet
18
- */
19
- private _multiple;
20
- /**
21
- * if the value is true, use the default swt keystore's password which be generated in the beginning as password for other type.
22
- *
23
- * @private
24
- * @type {boolean}
25
- * @memberof JingchangWallet
26
- */
27
- private _samePassword;
28
- /**
29
- * Creates an instance of JingchangWallet.
30
- * @param {IJingchangWalletModel} wallet
31
- * @param {boolean} [multiple=false] if the value is true, support save multiple wallet keystore for each type, otherwise only support one.
32
- * @param {boolean} [samePassword=true] if the value is true, use the default swt keystore's password which be generated
33
- * in the beginning as password for other type.
34
- * @memberof JingchangWallet
35
- */
36
- constructor(wallet: IJingchangWalletModel, multiple?: boolean, samePassword?: boolean);
37
- /**
38
- * check jingchang wallet is valid or not
39
- *
40
- * @static
41
- * @param {*} wallet
42
- * @returns {boolean} return true if valid.
43
- * @memberof JingchangWallet
44
- */
45
- static isValid(wallet: any): boolean;
46
- /**
47
- * create a jingchang wallet
48
- *
49
- * @static
50
- * @param {string} password password for keystore
51
- * @param {string} [secret] swtc chain's secret
52
- * @param {string} [alias] wallet name
53
- * @returns {Promise<IJingchangWalletModel>} resolve jingchang wallet if success.
54
- * @memberof JingchangWallet
55
- */
56
- static generate(password: string, secret?: string, alias?: string): Promise<IJingchangWalletModel>;
57
- /**
58
- * get jingchang wallet from local storage
59
- *
60
- * @static
61
- * @returns {(IJingchangWalletModel | null)} return jingchang wallet or null
62
- * @memberof JingchangWallet
63
- */
64
- static get(): IJingchangWalletModel | null;
65
- /**
66
- * clear jingchang wallet from local storage
67
- *
68
- * @static
69
- * @memberof JingchangWallet
70
- */
71
- static clear(): void;
72
- /**
73
- * save jingchang wallet to local storage.
74
- *
75
- * @static
76
- * @param {IJingchangWalletModel} wallet
77
- * @memberof JingchangWallet
78
- */
79
- static save(wallet: IJingchangWalletModel): void;
80
- /**
81
- * derive key pair with secret
82
- *
83
- * @static
84
- * @param {string} secret
85
- * @param {string} [chain="swt"]
86
- * @returns {IKeyPair} for privateKey, it's length should be 64 when call `decryptWithPrivateKey`, but the origin derived
87
- * privateKey's length is 66 that contains prefix `00` for `secp256k1` or `ED` for `ed25519`, so removed it.
88
- * @memberof JingchangWallet
89
- */
90
- static deriveKeyPair(secret: string, chain?: string): IKeyPair;
91
- /**
92
- * encrypt data with public key
93
- *
94
- * @static
95
- * @param {string} message
96
- * @param {string} publicKey
97
- * @returns {Promise<IEncrypt>}
98
- * @memberof JingchangWallet
99
- */
100
- static encryptWithPublicKey(message: string, publicKey: string): Promise<IEncrypt>;
101
- /**
102
- * decrypt data with private key
103
- *
104
- * @static
105
- * @param {IEncrypt} message
106
- * @param {string} privateKey the privateKey's length should be 64
107
- * @returns {Promise<string>}
108
- * @memberof JingchangWallet
109
- */
110
- static decryptWithPrivateKey(message: IEncrypt, privateKey: string): Promise<string>;
111
- /**
112
- * get wallets from jingchang wallet
113
- *
114
- * @static
115
- * @param {IJingchangWalletModel} jcWallet
116
- * @returns {Array<IKeystoreModel>} return wallets if valid, otherwise return empty array.
117
- * @memberof JingchangWallet
118
- */
119
- static getWallets(keystore: IJingchangWalletModel): Array<IKeystoreModel>;
120
- /**
121
- * set property of _jingchangWallet
122
- *
123
- * @param {IJingchangWalletModel} wallet
124
- * @memberof JingchangWallet
125
- */
126
- setJingchangWallet(wallet: IJingchangWalletModel): void;
127
- /**
128
- * get default wallet's keystore address for each type
129
- *
130
- * @param {string} [type="swt"]
131
- * @returns {Promise<string>} resolve address if success
132
- * @memberof JingchangWallet
133
- */
134
- getAddress(type?: string): Promise<string>;
135
- /**
136
- * get default wallet keystore with type
137
- *
138
- * @param {string} [type="swt"]
139
- * @returns {Promise<IKeystoreModel>} resolve default wallet keystore if success.
140
- * @memberof JingchangWallet
141
- */
142
- getWalletWithType(type?: string): Promise<IKeystoreModel>;
143
- /**
144
- * get wallet keystore with address
145
- *
146
- * @param {string} address
147
- * @returns {Promise<IKeystoreModel>} resolve wallet keystore if success.
148
- * @memberof JingchangWallet
149
- */
150
- getWalletWithAddress(address: string): Promise<IKeystoreModel>;
151
- /**
152
- * check if has default wallet for each type
153
- *
154
- * @param {string} [type="swt"]
155
- * @returns {boolean} return true if has default
156
- * @memberof JingchangWallet
157
- */
158
- hasDefault(type?: string): boolean;
159
- /**
160
- * get the default wallet keystore's secret with type.
161
- *
162
- * @param {string} password
163
- * @param {string} [type="swt"]
164
- * @returns {Promise<string>}
165
- * @memberof JingchangWallet
166
- */
167
- getSecretWithType(password: string, type?: string): Promise<string>;
168
- /**
169
- * get the wallet keystore's secret with address.
170
- *
171
- * @param {string} password
172
- * @param {string} address
173
- * @returns {Promise<string>}
174
- * @memberof JingchangWallet resolve secret if success.
175
- */
176
- getSecretWithAddress(password: string, address: string): Promise<string>;
177
- /**
178
- * change the whole jingchang wallet password, if you set property of _samePassword is false, will throw an error
179
- *
180
- * @param {string} oldPassword
181
- * @param {string} newPassword
182
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
183
- * @memberof JingchangWallet
184
- */
185
- changeWholePassword(oldPassword: string, newPassword: string): Promise<IJingchangWalletModel>;
186
- /**
187
- * change the keystore password with address, if you set the property of _samePassword is true, will throw an error
188
- *
189
- * @param {string} address
190
- * @param {string} oldPassword
191
- * @param {string} newPassword
192
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
193
- * @memberof JingchangWallet
194
- */
195
- changePasswordWithAddress(address: string, oldPassword: string, newPassword: string): Promise<IJingchangWalletModel>;
196
- /**
197
- * replace keystore, if forget password
198
- *
199
- * @param {string} secret
200
- * @param {string} password
201
- * @param {(secret: string) => string} retriveSecret
202
- * @returns {Promise<IJingchangWalletModel>}
203
- * @memberof JingchangWallet
204
- */
205
- replaceKeystore(secret: string, password: string, retriveSecret: (secret: string) => string): Promise<IJingchangWalletModel>;
206
- /**
207
- * remove default wallet keystore of the given type
208
- *
209
- * @param {string} [type="swt"]
210
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
211
- * @memberof JingchangWallet
212
- */
213
- removeWalletWithType(type?: string): Promise<IJingchangWalletModel>;
214
- /**
215
- * remove wallet keystore of the given address
216
- *
217
- * @param {string} address
218
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
219
- * @memberof JingchangWallet
220
- */
221
- removeWalletWithAddress(address: string): Promise<IJingchangWalletModel>;
222
- /**
223
- * set defalut wallet keystore for each type
224
- *
225
- * @param {string} address
226
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
227
- * @memberof JingchangWallet
228
- */
229
- setDefaultWallet(address: string): Promise<IJingchangWalletModel>;
230
- /**
231
- * import secret
232
- *
233
- * @param {string} secret
234
- * @param {string} password
235
- * @param {string} type
236
- * @param {(secret: string) => string} retriveSecret
237
- * @param {string} [alias] wallet name
238
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
239
- * @memberof JingchangWallet
240
- */
241
- importSecret(secret: string, password: string, type: string, retriveSecret: (secret: string) => string, alias?: string): Promise<IJingchangWalletModel>;
242
- /**
243
- * find wallet keystore according to filter function
244
- *
245
- * @protected
246
- * @param {(wallet: IKeystoreModel) => boolean} filter
247
- * @returns {IKeystoreModel} return wallet keystore if existent, otherwise throw `keystore is invalid` if the jingchang wallet is invalid
248
- * or throw `wallet is empty` if the wallet isn't existent
249
- * @memberof JingchangWallet
250
- */
251
- protected findWallet(filter: (wallet: IKeystoreModel) => boolean): IKeystoreModel;
252
- /**
253
- * encrypt data
254
- *
255
- * @protected
256
- * @param {string} password
257
- * @param {IKeypairsModel} keypairs
258
- * @returns {IKeystoreModel}
259
- * @memberof JingchangWallet
260
- */
261
- protected getEncryptData(password: string, keypairs: IKeypairsModel): IKeystoreModel;
262
- /**
263
- * save wallet keystore to jingchang wallet
264
- *
265
- * @private
266
- * @param {string} password
267
- * @param {IKeypairsModel} keypairs
268
- * @returns {Promise<IJingchangWalletModel>} resolve new jingchang wallet if success
269
- * @memberof JingchangWallet
270
- */
271
- private saveWallet;
272
- }