jcc_wallet 3.0.2 → 4.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 (96) hide show
  1. package/dist/jcc-wallet.min.js +24 -45
  2. package/lib/{constant/index.js → constant.js} +8 -8
  3. package/lib/constant.js.map +1 -0
  4. package/lib/hd/constant.js +4 -4
  5. package/lib/hd/constant.js.map +1 -1
  6. package/lib/hd/eos.plugin.js +36 -39
  7. package/lib/hd/eos.plugin.js.map +1 -1
  8. package/lib/hd/ethereum.plugin.d.ts +1 -0
  9. package/lib/hd/ethereum.plugin.js +86 -67
  10. package/lib/hd/ethereum.plugin.js.map +1 -1
  11. package/lib/hd/index.d.ts +1 -1
  12. package/lib/hd/index.js +167 -179
  13. package/lib/hd/index.js.map +1 -1
  14. package/lib/hd/plugins.d.ts +9 -0
  15. package/lib/hd/plugins.js +26 -22
  16. package/lib/hd/plugins.js.map +1 -1
  17. package/lib/hd/swtc.plugin.d.ts +1 -5
  18. package/lib/hd/swtc.plugin.js +74 -60
  19. package/lib/hd/swtc.plugin.js.map +1 -1
  20. package/lib/hd/tron.plugin.js +28 -33
  21. package/lib/hd/tron.plugin.js.map +1 -1
  22. package/lib/index.d.ts +3 -4
  23. package/lib/index.js +5 -8
  24. package/lib/index.js.map +1 -1
  25. package/lib/{jingchangWallet/index.d.ts → jingchangWallet.d.ts} +1 -1
  26. package/lib/jingchangWallet.js +531 -0
  27. package/lib/jingchangWallet.js.map +1 -0
  28. package/lib/minify-ethereumjs-util/account.d.ts +1 -0
  29. package/lib/minify-ethereumjs-util/account.js +22 -0
  30. package/lib/minify-ethereumjs-util/account.js.map +1 -0
  31. package/lib/minify-ethereumjs-util/bytes.d.ts +7 -0
  32. package/lib/minify-ethereumjs-util/bytes.js +100 -0
  33. package/lib/minify-ethereumjs-util/bytes.js.map +1 -0
  34. package/lib/minify-ethereumjs-util/constants.d.ts +4 -0
  35. package/lib/minify-ethereumjs-util/constants.js +9 -0
  36. package/lib/minify-ethereumjs-util/constants.js.map +1 -0
  37. package/lib/minify-ethereumjs-util/helper.d.ts +5 -0
  38. package/lib/minify-ethereumjs-util/helper.js +16 -0
  39. package/lib/minify-ethereumjs-util/helper.js.map +1 -0
  40. package/lib/minify-ethereumjs-util/internal.d.ts +8 -0
  41. package/lib/minify-ethereumjs-util/internal.js +33 -0
  42. package/lib/minify-ethereumjs-util/internal.js.map +1 -0
  43. package/lib/minify-ethereumjs-util/signature.d.ts +13 -0
  44. package/lib/minify-ethereumjs-util/signature.js +45 -0
  45. package/lib/minify-ethereumjs-util/signature.js.map +1 -0
  46. package/lib/minify-swtc-keypair/address-codec.d.ts +16 -0
  47. package/lib/minify-swtc-keypair/address-codec.js +166 -0
  48. package/lib/minify-swtc-keypair/address-codec.js.map +1 -0
  49. package/lib/minify-swtc-keypair/index.d.ts +25 -0
  50. package/lib/minify-swtc-keypair/index.js +178 -0
  51. package/lib/minify-swtc-keypair/index.js.map +1 -0
  52. package/lib/minify-swtc-keypair/sha512.d.ts +9 -0
  53. package/lib/minify-swtc-keypair/sha512.js +33 -0
  54. package/lib/minify-swtc-keypair/sha512.js.map +1 -0
  55. package/lib/minify-swtc-keypair/utils.d.ts +13 -0
  56. package/lib/minify-swtc-keypair/utils.js +63 -0
  57. package/lib/minify-swtc-keypair/utils.js.map +1 -0
  58. package/lib/minify-tron/address.d.ts +6 -0
  59. package/lib/minify-tron/address.js +11 -0
  60. package/lib/minify-tron/address.js.map +1 -0
  61. package/lib/minify-tron/base58.d.ts +2 -0
  62. package/lib/minify-tron/base58.js +67 -0
  63. package/lib/minify-tron/base58.js.map +1 -0
  64. package/lib/minify-tron/bytes.d.ts +2 -0
  65. package/lib/minify-tron/bytes.js +23 -0
  66. package/lib/minify-tron/bytes.js.map +1 -0
  67. package/lib/minify-tron/code.d.ts +3 -0
  68. package/lib/minify-tron/code.js +56 -0
  69. package/lib/minify-tron/code.js.map +1 -0
  70. package/lib/minify-tron/crypto.d.ts +7 -0
  71. package/lib/minify-tron/crypto.js +83 -0
  72. package/lib/minify-tron/crypto.js.map +1 -0
  73. package/lib/minify-tron/message.d.ts +4 -0
  74. package/lib/minify-tron/message.js +42 -0
  75. package/lib/minify-tron/message.js.map +1 -0
  76. package/lib/{types/index.d.ts → types.d.ts} +16 -3
  77. package/lib/types.js +16 -0
  78. package/lib/types.js.map +1 -0
  79. package/lib/util/index.js +40 -30
  80. package/lib/util/index.js.map +1 -1
  81. package/package.json +21 -16
  82. package/lib/constant/index.js.map +0 -1
  83. package/lib/eth/index.d.ts +0 -37
  84. package/lib/eth/index.js +0 -98
  85. package/lib/eth/index.js.map +0 -1
  86. package/lib/jingchangWallet/index.js +0 -713
  87. package/lib/jingchangWallet/index.js.map +0 -1
  88. package/lib/moac/index.d.ts +0 -29
  89. package/lib/moac/index.js +0 -58
  90. package/lib/moac/index.js.map +0 -1
  91. package/lib/types/index.js +0 -3
  92. package/lib/types/index.js.map +0 -1
  93. package/lib/x-wallet/index.d.ts +0 -22
  94. package/lib/x-wallet/index.js +0 -86
  95. package/lib/x-wallet/index.js.map +0 -1
  96. /package/lib/{constant/index.d.ts → constant.d.ts} +0 -0
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ // forked from https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/bytes.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.bytesToBigInt = exports.hexToBytes = exports.bytesToHex = exports.setLengthRight = exports.setLengthLeft = exports.concatBytes = exports.zeros = void 0;
5
+ const constants_1 = require("./constants");
6
+ const helper_1 = require("./helper");
7
+ const internal_1 = require("./internal");
8
+ const hexByByte = Array.from({ length: 256 }, (_, i) => i.toString(16).padStart(2, "0"));
9
+ // BigInt cache for the numbers 0 - 256*256-1 (two-byte bytes)
10
+ const BIGINT_CACHE = [];
11
+ for (let i = 0; i <= 256 * 256 - 1; i++) {
12
+ BIGINT_CACHE[i] = BigInt(i);
13
+ }
14
+ const zeros = (bytes) => {
15
+ return new Uint8Array(bytes);
16
+ };
17
+ exports.zeros = zeros;
18
+ const setLength = (msg, length, right) => {
19
+ if (right) {
20
+ if (msg.length < length) {
21
+ return new Uint8Array([...msg, ...(0, exports.zeros)(length - msg.length)]);
22
+ }
23
+ return msg.subarray(0, length);
24
+ }
25
+ else {
26
+ if (msg.length < length) {
27
+ return new Uint8Array([...(0, exports.zeros)(length - msg.length), ...msg]);
28
+ }
29
+ return msg.subarray(-length);
30
+ }
31
+ };
32
+ const concatBytes = (...arrays) => {
33
+ if (arrays.length === 1)
34
+ return arrays[0];
35
+ const length = arrays.reduce((a, arr) => a + arr.length, 0);
36
+ const result = new Uint8Array(length);
37
+ for (let i = 0, pad = 0; i < arrays.length; i++) {
38
+ const arr = arrays[i];
39
+ result.set(arr, pad);
40
+ pad += arr.length;
41
+ }
42
+ return result;
43
+ };
44
+ exports.concatBytes = concatBytes;
45
+ const setLengthLeft = (msg, length) => {
46
+ (0, helper_1.assertIsBytes)(msg);
47
+ return setLength(msg, length, false);
48
+ };
49
+ exports.setLengthLeft = setLengthLeft;
50
+ const setLengthRight = (msg, length) => {
51
+ (0, helper_1.assertIsBytes)(msg);
52
+ return setLength(msg, length, true);
53
+ };
54
+ exports.setLengthRight = setLengthRight;
55
+ const bytesToHex = (bytes) => {
56
+ let hex = "0x";
57
+ if (bytes === undefined || bytes.length === 0)
58
+ return hex;
59
+ for (const byte of bytes) {
60
+ hex += hexByByte[byte];
61
+ }
62
+ return hex;
63
+ };
64
+ exports.bytesToHex = bytesToHex;
65
+ const hexToBytes = (hex) => {
66
+ if (typeof hex !== "string") {
67
+ throw new Error(`hex argument type ${typeof hex} must be of type string`);
68
+ }
69
+ if (!hex.startsWith("0x")) {
70
+ throw new Error(`prefixed hex input should start with 0x, got ${hex.substring(0, 2)}`);
71
+ }
72
+ hex = hex.slice(2);
73
+ if (hex.length % 2 !== 0) {
74
+ hex = (0, internal_1.padToEven)(hex);
75
+ }
76
+ const byteLen = hex.length / 2;
77
+ const bytes = new Uint8Array(byteLen);
78
+ for (let i = 0; i < byteLen; i++) {
79
+ const byte = parseInt(hex.slice(i * 2, (i + 1) * 2), 16);
80
+ bytes[i] = byte;
81
+ }
82
+ return bytes;
83
+ };
84
+ exports.hexToBytes = hexToBytes;
85
+ const bytesToBigInt = (bytes) => {
86
+ const hex = (0, exports.bytesToHex)(bytes);
87
+ if (hex === "0x") {
88
+ return constants_1.BIGINT_0;
89
+ }
90
+ if (hex.length === 4) {
91
+ // If the byte length is 1 (this is faster than checking `bytes.length === 1`)
92
+ return BIGINT_CACHE[bytes[0]];
93
+ }
94
+ if (hex.length === 6) {
95
+ return BIGINT_CACHE[bytes[0] * 256 + bytes[1]];
96
+ }
97
+ return BigInt(hex);
98
+ };
99
+ exports.bytesToBigInt = bytesToBigInt;
100
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/minify-ethereumjs-util/bytes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const BIGINT_0: bigint;
2
+ export declare const BIGINT_1: bigint;
3
+ export declare const BIGINT_2: bigint;
4
+ export declare const BIGINT_27: bigint;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ // forked from https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/constants.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.BIGINT_27 = exports.BIGINT_2 = exports.BIGINT_1 = exports.BIGINT_0 = void 0;
5
+ exports.BIGINT_0 = BigInt(0);
6
+ exports.BIGINT_1 = BigInt(1);
7
+ exports.BIGINT_2 = BigInt(2);
8
+ exports.BIGINT_27 = BigInt(27);
9
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/minify-ethereumjs-util/constants.ts"],"names":[],"mappings":";AAAA,2GAA2G;;;AAE9F,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACrB,QAAA,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Throws if input is not a buffer
3
+ * @param {Buffer} input value to check
4
+ */
5
+ export declare const assertIsBytes: (input: Uint8Array) => void;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ // forked from https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/helper.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.assertIsBytes = void 0;
5
+ /**
6
+ * Throws if input is not a buffer
7
+ * @param {Buffer} input value to check
8
+ */
9
+ const assertIsBytes = function (input) {
10
+ if (!(input instanceof Uint8Array)) {
11
+ const msg = `This method only supports Uint8Array but input was: ${input}`;
12
+ throw new Error(msg);
13
+ }
14
+ };
15
+ exports.assertIsBytes = assertIsBytes;
16
+ //# sourceMappingURL=helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helper.js","sourceRoot":"","sources":["../../src/minify-ethereumjs-util/helper.ts"],"names":[],"mappings":";AAAA,wGAAwG;;;AAExG;;;GAGG;AACI,MAAM,aAAa,GAAG,UAAS,KAAiB;IACrD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,uDAAuD,KAAK,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB"}
@@ -0,0 +1,8 @@
1
+ export declare function padToEven(value: string): string;
2
+ export declare function isHexPrefixed(str: string): boolean;
3
+ /**
4
+ * Removes '0x' from a given `String` if present
5
+ * @param str the string value
6
+ * @returns the string without 0x prefix
7
+ */
8
+ export declare const stripHexPrefix: (str: string) => string;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ // forked from https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/internal.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.stripHexPrefix = void 0;
5
+ exports.padToEven = padToEven;
6
+ exports.isHexPrefixed = isHexPrefixed;
7
+ function padToEven(value) {
8
+ let a = value;
9
+ if (typeof a !== "string") {
10
+ throw new Error(`[padToEven] value must be type 'string', received ${typeof a}`);
11
+ }
12
+ if (a.length % 2)
13
+ a = `0${a}`;
14
+ return a;
15
+ }
16
+ function isHexPrefixed(str) {
17
+ if (typeof str !== "string") {
18
+ throw new Error(`[isHexPrefixed] input must be type 'string', received type ${typeof str}`);
19
+ }
20
+ return str[0] === "0" && str[1] === "x";
21
+ }
22
+ /**
23
+ * Removes '0x' from a given `String` if present
24
+ * @param str the string value
25
+ * @returns the string without 0x prefix
26
+ */
27
+ const stripHexPrefix = (str) => {
28
+ if (typeof str !== "string")
29
+ throw new Error(`[stripHexPrefix] input must be type 'string', received ${typeof str}`);
30
+ return isHexPrefixed(str) ? str.slice(2) : str;
31
+ };
32
+ exports.stripHexPrefix = stripHexPrefix;
33
+ //# sourceMappingURL=internal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internal.js","sourceRoot":"","sources":["../../src/minify-ethereumjs-util/internal.ts"],"names":[],"mappings":";AAAA,0GAA0G;;;AAE1G,8BAUC;AAED,sCAMC;AAlBD,SAAgB,SAAS,CAAC,KAAa;IACrC,IAAI,CAAC,GAAG,KAAK,CAAC;IAEd,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,qDAAqD,OAAO,CAAC,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;QAAE,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;IAE9B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAgB,aAAa,CAAC,GAAW;IACvC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,8DAA8D,OAAO,GAAG,EAAE,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC1C,CAAC;AAED;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,GAAW,EAAU,EAAE;IACpD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,OAAO,GAAG,EAAE,CAAC,CAAC;IAErH,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACjD,CAAC,CAAC;AAJW,QAAA,cAAc,kBAIzB"}
@@ -0,0 +1,13 @@
1
+ export interface ECDSASignature {
2
+ v: bigint;
3
+ r: Uint8Array;
4
+ s: Uint8Array;
5
+ }
6
+ export declare const calculateSigRecovery: (v: bigint, chainId?: bigint) => bigint;
7
+ export declare function ecsign(msgHash: Uint8Array, privateKey: Uint8Array, chainId?: bigint): ECDSASignature;
8
+ /**
9
+ * ECDSA public key recovery from signature.
10
+ * NOTE: Accepts `v === 0 | v === 1` for EIP1559 transactions
11
+ * @returns Recovered public key
12
+ */
13
+ export declare const ecrecover: (msgHash: Uint8Array, v: bigint, r: Uint8Array, s: Uint8Array, chainId?: bigint) => Uint8Array;
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ // forked from https://github.com/ethereumjs/ethereumjs-monorepo/blob/master/packages/util/src/signature.ts
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.ecrecover = exports.calculateSigRecovery = void 0;
5
+ exports.ecsign = ecsign;
6
+ const secp256k1_1 = require("@noble/curves/secp256k1");
7
+ const constants_1 = require("./constants");
8
+ const bytes_1 = require("./bytes");
9
+ const calculateSigRecovery = (v, chainId) => {
10
+ if (v === constants_1.BIGINT_0 || v === constants_1.BIGINT_1)
11
+ return v;
12
+ if (chainId === undefined) {
13
+ return v - constants_1.BIGINT_27;
14
+ }
15
+ return v - (chainId * constants_1.BIGINT_2 + BigInt(35));
16
+ };
17
+ exports.calculateSigRecovery = calculateSigRecovery;
18
+ function isValidSigRecovery(recovery) {
19
+ return recovery === constants_1.BIGINT_0 || recovery === constants_1.BIGINT_1;
20
+ }
21
+ function ecsign(msgHash, privateKey, chainId) {
22
+ const sig = secp256k1_1.secp256k1.sign(msgHash, privateKey);
23
+ const buf = sig.toCompactRawBytes();
24
+ const r = buf.slice(0, 32);
25
+ const s = buf.slice(32, 64);
26
+ const v = chainId === undefined ? BigInt(sig.recovery + 27) : BigInt(sig.recovery + 35) + BigInt(chainId) * constants_1.BIGINT_2;
27
+ return { r, s, v };
28
+ }
29
+ /**
30
+ * ECDSA public key recovery from signature.
31
+ * NOTE: Accepts `v === 0 | v === 1` for EIP1559 transactions
32
+ * @returns Recovered public key
33
+ */
34
+ const ecrecover = function (msgHash, v, r, s, chainId) {
35
+ const signature = (0, bytes_1.concatBytes)((0, bytes_1.setLengthLeft)(r, 32), (0, bytes_1.setLengthLeft)(s, 32));
36
+ const recovery = (0, exports.calculateSigRecovery)(v, chainId);
37
+ if (!isValidSigRecovery(recovery)) {
38
+ throw new Error("Invalid signature v value");
39
+ }
40
+ const sig = secp256k1_1.secp256k1.Signature.fromCompact(signature).addRecoveryBit(Number(recovery));
41
+ const senderPubKey = sig.recoverPublicKey(msgHash);
42
+ return senderPubKey.toRawBytes(false).slice(1);
43
+ };
44
+ exports.ecrecover = ecrecover;
45
+ //# sourceMappingURL=signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.js","sourceRoot":"","sources":["../../src/minify-ethereumjs-util/signature.ts"],"names":[],"mappings":";AAAA,2GAA2G;;;AA0B3G,wBAUC;AAlCD,uDAAoD;AAEpD,2CAAsE;AACtE,mCAAqD;AAQ9C,MAAM,oBAAoB,GAAG,CAAC,CAAS,EAAE,OAAgB,EAAU,EAAE;IAC1E,IAAI,CAAC,KAAK,oBAAQ,IAAI,CAAC,KAAK,oBAAQ;QAAE,OAAO,CAAC,CAAC;IAE/C,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,qBAAS,CAAC;IACvB,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,oBAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC;AAPW,QAAA,oBAAoB,wBAO/B;AAEF,SAAS,kBAAkB,CAAC,QAAgB;IAC1C,OAAO,QAAQ,KAAK,oBAAQ,IAAI,QAAQ,KAAK,oBAAQ,CAAC;AACxD,CAAC;AAED,SAAgB,MAAM,CAAC,OAAmB,EAAE,UAAsB,EAAE,OAAgB;IAClF,MAAM,GAAG,GAAG,qBAAS,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,EAAE,CAAC;IACpC,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAE5B,MAAM,CAAC,GACL,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAS,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,QAAS,GAAG,EAAE,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,oBAAQ,CAAC;IAE/G,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACI,MAAM,SAAS,GAAG,UACvB,OAAmB,EACnB,CAAS,EACT,CAAa,EACb,CAAa,EACb,OAAgB;IAEhB,MAAM,SAAS,GAAG,IAAA,mBAAW,EAAC,IAAA,qBAAa,EAAC,CAAC,EAAE,EAAE,CAAC,EAAE,IAAA,qBAAa,EAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1E,MAAM,QAAQ,GAAG,IAAA,4BAAoB,EAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,GAAG,GAAG,qBAAS,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxF,MAAM,YAAY,GAAG,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,YAAY,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAhBW,QAAA,SAAS,aAgBpB"}
@@ -0,0 +1,16 @@
1
+ export type Sequence = Array<number> | Buffer | Uint8Array;
2
+ export interface IAddressCodec {
3
+ decodeSeed: (seed: string, opts?: {
4
+ versionTypes: string[];
5
+ versions: (number | number[])[];
6
+ expectedLength: number;
7
+ }) => {
8
+ version: Array<number>;
9
+ bytes: Buffer;
10
+ type: string | null;
11
+ };
12
+ isValidAddress: (address: string) => boolean;
13
+ encodeAccountID: (bytes: Buffer) => string;
14
+ encodeSeed: (entropy: Buffer, type?: string) => string;
15
+ }
16
+ export declare const Factory: (alphabet: any) => IAddressCodec;
@@ -0,0 +1,166 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Factory = void 0;
7
+ const sha256_1 = require("@noble/hashes/sha256");
8
+ const base_x_1 = __importDefault(require("base-x"));
9
+ const FAMILY_SEED = 0x21; // 33
10
+ const ED25519_SEED = [0x01, 0xe1, 0x4b]; // [1, 225, 75]
11
+ const ACCOUNT_ID = 0;
12
+ const seqEqual = (arr1, arr2) => {
13
+ if (arr1.length !== arr2.length) {
14
+ return false;
15
+ }
16
+ for (let j = 0; j < arr1.length; j++) {
17
+ if (arr1[j] !== arr2[j]) {
18
+ return false;
19
+ }
20
+ }
21
+ return true;
22
+ };
23
+ function isSequence(val) {
24
+ return val.length !== undefined;
25
+ }
26
+ const concatArgs = (...args) => {
27
+ const ret = [];
28
+ args.forEach((arg) => {
29
+ if (isSequence(arg)) {
30
+ for (const e of arg) {
31
+ ret.push(e);
32
+ }
33
+ }
34
+ else {
35
+ ret.push(arg);
36
+ }
37
+ });
38
+ return ret;
39
+ };
40
+ class Codec {
41
+ constructor(options) {
42
+ this.sha256 = options.sha256;
43
+ this.alphabet = options.alphabet;
44
+ this.codec = (0, base_x_1.default)(this.alphabet);
45
+ this.base = this.alphabet.length;
46
+ }
47
+ /**
48
+ * Decoder.
49
+ *
50
+ * @param base58string Base58Check-encoded string to decode.
51
+ * @param opts Options object including the version byte(s) and the expected length of the data after decoding.
52
+ */
53
+ decode(base58string, opts) {
54
+ const versions = opts.versions;
55
+ const types = opts.versionTypes;
56
+ const withoutSum = this.decodeChecked(base58string);
57
+ if (versions.length > 1 && !opts.expectedLength) {
58
+ throw new Error("expectedLength is required because there are >= 2 possible versions");
59
+ }
60
+ const versionLengthGuess = typeof versions[0] === "number" ? 1 : versions[0].length;
61
+ const payloadLength = opts.expectedLength || withoutSum.length - versionLengthGuess;
62
+ const versionBytes = withoutSum.subarray(0, -payloadLength);
63
+ const payload = withoutSum.subarray(-payloadLength);
64
+ for (let i = 0; i < versions.length; i++) {
65
+ const version = Array.isArray(versions[i])
66
+ ? versions[i]
67
+ : [versions[i]];
68
+ if (seqEqual(versionBytes, version)) {
69
+ return {
70
+ version,
71
+ bytes: payload,
72
+ type: types ? types[i] : null
73
+ };
74
+ }
75
+ }
76
+ throw new Error("version_invalid: version bytes do not match any of the provided version(s)");
77
+ }
78
+ encode(bytes, opts) {
79
+ const versions = opts.versions;
80
+ return this.encodeVersioned(bytes, versions, opts.expectedLength);
81
+ }
82
+ encodeVersioned(bytes, versions, expectedLength) {
83
+ if (expectedLength && bytes.length !== expectedLength) {
84
+ throw new Error("unexpected_payload_length: bytes.length does not match expectedLength");
85
+ }
86
+ return this.encodeChecked(Buffer.from(concatArgs(versions, bytes)));
87
+ }
88
+ encodeChecked(buffer) {
89
+ const check = this.sha256(this.sha256(buffer)).slice(0, 4);
90
+ return this.encodeRaw(Buffer.from(concatArgs(buffer, check)));
91
+ }
92
+ encodeRaw(bytes) {
93
+ return this.codec.encode(bytes);
94
+ }
95
+ decodeChecked(base58string) {
96
+ const buffer = this.decodeRaw(base58string);
97
+ if (buffer.length < 5) {
98
+ throw new Error("invalid_input_size: decoded data must have length >= 5");
99
+ }
100
+ if (!this.verifyCheckSum(buffer)) {
101
+ throw new Error("checksum_invalid");
102
+ }
103
+ return buffer.subarray(0, -4);
104
+ }
105
+ decodeRaw(base58string) {
106
+ return this.codec.decode(base58string);
107
+ }
108
+ verifyCheckSum(bytes) {
109
+ const computed = this.sha256(this.sha256(bytes.subarray(0, -4))).subarray(0, 4);
110
+ const checksum = bytes.subarray(-4);
111
+ return seqEqual(computed, checksum);
112
+ }
113
+ }
114
+ const Factory = (alphabet) => {
115
+ const codecWithAlphabet = new Codec({
116
+ sha256: (bytes) => sha256_1.sha256
117
+ .create()
118
+ .update(bytes)
119
+ .digest(),
120
+ alphabet
121
+ });
122
+ const decodeSeed = (seed, opts = {
123
+ versionTypes: ["ed25519", "secp256k1"],
124
+ versions: [ED25519_SEED, FAMILY_SEED],
125
+ expectedLength: 16
126
+ }) => {
127
+ return codecWithAlphabet.decode(seed, opts);
128
+ };
129
+ const encodeSeed = (entropy, type) => {
130
+ if (entropy.length !== 16) {
131
+ throw new Error("entropy must have length 16");
132
+ }
133
+ const opts = {
134
+ expectedLength: 16,
135
+ // for secp256k1, use `FAMILY_SEED`
136
+ versions: type === "ed25519" ? ED25519_SEED : [FAMILY_SEED]
137
+ };
138
+ // prefixes entropy with version bytes
139
+ return codecWithAlphabet.encode(entropy, opts);
140
+ };
141
+ const decodeAccountID = (accountId) => {
142
+ const opts = { versions: [ACCOUNT_ID], expectedLength: 20 };
143
+ return codecWithAlphabet.decode(accountId, opts).bytes;
144
+ };
145
+ const encodeAccountID = (bytes) => {
146
+ const opts = { versions: [ACCOUNT_ID], expectedLength: 20 };
147
+ return codecWithAlphabet.encode(bytes, opts);
148
+ };
149
+ const isValidAddress = (address) => {
150
+ try {
151
+ decodeAccountID(address);
152
+ }
153
+ catch (_) {
154
+ return false;
155
+ }
156
+ return true;
157
+ };
158
+ return {
159
+ decodeSeed,
160
+ isValidAddress,
161
+ encodeAccountID,
162
+ encodeSeed
163
+ };
164
+ };
165
+ exports.Factory = Factory;
166
+ //# sourceMappingURL=address-codec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address-codec.js","sourceRoot":"","sources":["../../src/minify-swtc-keypair/address-codec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { IAddressCodec } from "./address-codec";
2
+ interface IKeyPair {
3
+ privateKey: string;
4
+ publicKey: string;
5
+ }
6
+ export interface IKeyPairFactory {
7
+ deriveKeyPair: (seed: string, algorithm?: string) => IKeyPair;
8
+ isValidSecret: (secret: string) => boolean;
9
+ isValidAddress: (address: string) => boolean;
10
+ deriveAddress: (pk: string) => string;
11
+ generate: (options: any) => {
12
+ secret: string;
13
+ address: string;
14
+ };
15
+ fromSecret: (secret: string, algorithm?: string) => {
16
+ secret: string;
17
+ address: string;
18
+ };
19
+ addressCodec: IAddressCodec;
20
+ hash: (message: string) => Uint8Array;
21
+ sign: (message: string, privateKey: string) => string;
22
+ verify: (message: string, signature: string, publicKey: string) => boolean;
23
+ }
24
+ declare const Factory: (alphabet: any) => IKeyPairFactory;
25
+ export { Factory };